| Index: Source/modules/fetch/Body.cpp
|
| diff --git a/Source/modules/fetch/Body.cpp b/Source/modules/fetch/Body.cpp
|
| index bb8c6f0576bb5ec63161f8adc19317fb60b14e7e..ba3b261ee538f8ec4359a807c8225e6342b21ac7 100644
|
| --- a/Source/modules/fetch/Body.cpp
|
| +++ b/Source/modules/fetch/Body.cpp
|
| @@ -104,6 +104,9 @@ public:
|
|
|
| ScriptPromise Body::arrayBuffer(ScriptState* scriptState)
|
| {
|
| + if (m_opaque)
|
| + return ScriptPromise::reject(scriptState, V8ThrowException::createTypeError(scriptState->isolate(), "The body is opaque."));
|
| +
|
| if (bodyUsed())
|
| return ScriptPromise::reject(scriptState, V8ThrowException::createTypeError(scriptState->isolate(), "Already read"));
|
|
|
| @@ -124,6 +127,9 @@ ScriptPromise Body::arrayBuffer(ScriptState* scriptState)
|
|
|
| ScriptPromise Body::blob(ScriptState* scriptState)
|
| {
|
| + if (m_opaque)
|
| + return ScriptPromise::reject(scriptState, V8ThrowException::createTypeError(scriptState->isolate(), "The body is opaque."));
|
| +
|
| if (bodyUsed())
|
| return ScriptPromise::reject(scriptState, V8ThrowException::createTypeError(scriptState->isolate(), "Already read"));
|
|
|
| @@ -140,6 +146,9 @@ ScriptPromise Body::blob(ScriptState* scriptState)
|
|
|
| ScriptPromise Body::json(ScriptState* scriptState)
|
| {
|
| + if (m_opaque)
|
| + return ScriptPromise::reject(scriptState, V8ThrowException::createTypeError(scriptState->isolate(), "The body is opaque."));
|
| +
|
| if (bodyUsed())
|
| return ScriptPromise::reject(scriptState, V8ThrowException::createTypeError(scriptState->isolate(), "Already read"));
|
|
|
| @@ -155,6 +164,9 @@ ScriptPromise Body::json(ScriptState* scriptState)
|
|
|
| ScriptPromise Body::text(ScriptState* scriptState)
|
| {
|
| + if (m_opaque)
|
| + return ScriptPromise::reject(scriptState, V8ThrowException::createTypeError(scriptState->isolate(), "The body is opaque."));
|
| +
|
| if (bodyUsed())
|
| return ScriptPromise::reject(scriptState, V8ThrowException::createTypeError(scriptState->isolate(), "Already read"));
|
|
|
| @@ -186,7 +198,10 @@ bool Body::hasPendingActivity() const
|
| return bodyBuffer()->hasPendingActivity();
|
| }
|
|
|
| -Body::Body(ExecutionContext* context) : ActiveDOMObject(context), m_bodyPassed(false)
|
| +Body::Body(ExecutionContext* context)
|
| + : ActiveDOMObject(context)
|
| + , m_bodyPassed(false)
|
| + , m_opaque(false)
|
| {
|
| suspendIfNeeded();
|
| }
|
|
|