| Index: Source/modules/serviceworkers/Request.cpp | 
| diff --git a/Source/modules/serviceworkers/Request.cpp b/Source/modules/serviceworkers/Request.cpp | 
| index 0dfc4b60438e8d838d2ef40bd90f96e17c112237..51ecaa99b27ed027ec0ca63b25a4cceca5f69c9b 100644 | 
| --- a/Source/modules/serviceworkers/Request.cpp | 
| +++ b/Source/modules/serviceworkers/Request.cpp | 
| @@ -268,8 +268,8 @@ Request::Request(ExecutionContext* context, const WebServiceWorkerRequest& webRe | 
|  | 
| Request::Request(const Request& copy_from) | 
| : Body(copy_from) | 
| -    , m_request(copy_from.m_request) | 
| -    , m_headers(copy_from.m_headers->createCopy()) | 
| +    , m_request(copy_from.m_request->createCopy()) | 
| +    , m_headers(Headers::create(m_request->headerList())) | 
| { | 
| } | 
|  | 
| @@ -342,6 +342,11 @@ Request* Request::clone(ExceptionState& exceptionState) const | 
| exceptionState.throwTypeError("Request body is already used"); | 
| return nullptr; | 
| } | 
| +    if (streamAccessed()) { | 
| +        // FIXME: Support clone() of the stream accessed Request. | 
| +        exceptionState.throwTypeError("clone() of the Request which .body is accessed is not supported."); | 
| +        return nullptr; | 
| +    } | 
| return Request::create(*this); | 
| } | 
|  | 
| @@ -371,11 +376,16 @@ void Request::clearHeaderList() | 
| m_request->headerList()->clearList(); | 
| } | 
|  | 
| -PassRefPtr<BlobDataHandle> Request::blobDataHandle() | 
| +PassRefPtr<BlobDataHandle> Request::blobDataHandle(bool /* internal */) const | 
| { | 
| return m_request->blobDataHandle(); | 
| } | 
|  | 
| +BodyStreamBuffer* Request::buffer(bool /* internal */) const | 
| +{ | 
| +    return nullptr; | 
| +} | 
| + | 
| void Request::trace(Visitor* visitor) | 
| { | 
| Body::trace(visitor); | 
|  |