Skip to content

Commit

Permalink
Browse files Browse the repository at this point in the history
Add support for FetchRequest.body
https://bugs.webkit.org/show_bug.cgi?id=176066
<rdar://problem/34148373>

Patch by Youenn Fablet <youenn@apple.com> on 2017-08-30
Reviewed by Sam Weinig and Alex Christensen.

Follow-up to https://trac.webkit.org/r221329 as per post landing comments.
Returning a RefPtr<ReadableStream> so as to to not specialize ReadableStream converter.

* Modules/fetch/FetchBodyOwner.cpp:
(WebCore::FetchBodyOwner::readableStream):
* Modules/fetch/FetchBodyOwner.h:
* bindings/js/ReadableStream.h:
(WebCore::toJS):
(WebCore::JSConverter<IDLInterface<ReadableStream>>::convert): Deleted.

Canonical link: https://commits.webkit.org/192799@main
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@221395 268f45cc-cd09-0410-ab3c-d52691b4dbfc
  • Loading branch information
youennf authored and webkit-commit-queue committed Aug 30, 2017
1 parent 51ccdd5 commit 2b95fc5
Show file tree
Hide file tree
Showing 4 changed files with 24 additions and 13 deletions.
18 changes: 18 additions & 0 deletions Source/WebCore/ChangeLog
@@ -1,3 +1,21 @@
2017-08-30 Youenn Fablet <youenn@apple.com>

Add support for FetchRequest.body
https://bugs.webkit.org/show_bug.cgi?id=176066
<rdar://problem/34148373>

Reviewed by Sam Weinig and Alex Christensen.

Follow-up to https://trac.webkit.org/r221329 as per post landing comments.
Returning a RefPtr<ReadableStream> so as to to not specialize ReadableStream converter.

* Modules/fetch/FetchBodyOwner.cpp:
(WebCore::FetchBodyOwner::readableStream):
* Modules/fetch/FetchBodyOwner.h:
* bindings/js/ReadableStream.h:
(WebCore::toJS):
(WebCore::JSConverter<IDLInterface<ReadableStream>>::convert): Deleted.

2017-08-30 Per Arne Vollan <pvollan@apple.com>

[Win] Crash in MathML layout test.
Expand Down
2 changes: 1 addition & 1 deletion Source/WebCore/Modules/fetch/FetchBodyOwner.cpp
Expand Up @@ -288,7 +288,7 @@ void FetchBodyOwner::BlobLoader::didFail(const ResourceError&)
owner.blobLoadingFailed();
}

ReadableStream* FetchBodyOwner::readableStream(JSC::ExecState& state)
RefPtr<ReadableStream> FetchBodyOwner::readableStream(JSC::ExecState& state)
{
if (isBodyNull())
return nullptr;
Expand Down
2 changes: 1 addition & 1 deletion Source/WebCore/Modules/fetch/FetchBodyOwner.h
Expand Up @@ -57,7 +57,7 @@ class FetchBodyOwner : public RefCounted<FetchBodyOwner>, public ActiveDOMObject

bool isActive() const { return !!m_blobLoader; }

ReadableStream* readableStream(JSC::ExecState&);
RefPtr<ReadableStream> readableStream(JSC::ExecState&);
virtual bool hasReadableStreamBody() const { return m_body && m_body->hasReadableStream(); }

protected:
Expand Down
15 changes: 4 additions & 11 deletions Source/WebCore/bindings/js/ReadableStream.h
Expand Up @@ -68,16 +68,9 @@ template<> struct JSDOMWrapperConverterTraits<ReadableStream> {
static constexpr bool needsState = true;
};

template<> struct JSConverter<IDLInterface<ReadableStream>> {
static constexpr bool needsState = false;
static constexpr bool needsGlobalObject = false;

static JSC::JSValue convert(ReadableStream* value)
{
if (!value)
return JSC::jsNull();
return value->readableStream();
}
};
inline JSC::JSValue toJS(JSC::ExecState*, JSC::JSGlobalObject*, ReadableStream* stream)
{
return stream ? stream->readableStream() : JSC::jsUndefined();
}

}

0 comments on commit 2b95fc5

Please sign in to comment.