Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(176)

Side by Side Diff: third_party/WebKit/Source/modules/fetch/FetchRequestData.cpp

Issue 1906403002: Revert of Make Response::body return v8-extra based stream behind flag (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@notify-locked-released
Patch Set: Created 4 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 // Copyright 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "modules/fetch/FetchRequestData.h" 5 #include "modules/fetch/FetchRequestData.h"
6 6
7 #include "bindings/core/v8/ScriptState.h"
8 #include "core/dom/ExecutionContext.h" 7 #include "core/dom/ExecutionContext.h"
9 #include "core/fetch/ResourceLoaderOptions.h" 8 #include "core/fetch/ResourceLoaderOptions.h"
10 #include "core/loader/ThreadableLoader.h" 9 #include "core/loader/ThreadableLoader.h"
11 #include "core/streams/ReadableStream.h" 10 #include "core/streams/ReadableStream.h"
12 #include "modules/credentialmanager/PasswordCredential.h" 11 #include "modules/credentialmanager/PasswordCredential.h"
13 #include "modules/fetch/BodyStreamBuffer.h" 12 #include "modules/fetch/BodyStreamBuffer.h"
14 #include "modules/fetch/DataConsumerHandleUtil.h" 13 #include "modules/fetch/DataConsumerHandleUtil.h"
15 #include "modules/fetch/DataConsumerTee.h" 14 #include "modules/fetch/DataConsumerTee.h"
16 #include "modules/fetch/FetchBlobDataConsumerHandle.h" 15 #include "modules/fetch/FetchBlobDataConsumerHandle.h"
17 #include "modules/fetch/FetchHeaderList.h" 16 #include "modules/fetch/FetchHeaderList.h"
18 #include "platform/HTTPNames.h" 17 #include "platform/HTTPNames.h"
19 #include "platform/network/ResourceRequest.h" 18 #include "platform/network/ResourceRequest.h"
20 #include "public/platform/WebURLRequest.h" 19 #include "public/platform/WebURLRequest.h"
21 #include "public/platform/modules/serviceworker/WebServiceWorkerRequest.h" 20 #include "public/platform/modules/serviceworker/WebServiceWorkerRequest.h"
22 21
23 namespace blink { 22 namespace blink {
24 23
25 FetchRequestData* FetchRequestData::create() 24 FetchRequestData* FetchRequestData::create()
26 { 25 {
27 return new FetchRequestData(); 26 return new FetchRequestData();
28 } 27 }
29 28
30 FetchRequestData* FetchRequestData::create(ScriptState* scriptState, const WebSe rviceWorkerRequest& webRequest) 29 FetchRequestData* FetchRequestData::create(ExecutionContext* executionContext, c onst WebServiceWorkerRequest& webRequest)
31 { 30 {
32 FetchRequestData* request = FetchRequestData::create(); 31 FetchRequestData* request = FetchRequestData::create();
33 request->m_url = webRequest.url(); 32 request->m_url = webRequest.url();
34 request->m_method = webRequest.method(); 33 request->m_method = webRequest.method();
35 for (HTTPHeaderMap::const_iterator it = webRequest.headers().begin(); it != webRequest.headers().end(); ++it) 34 for (HTTPHeaderMap::const_iterator it = webRequest.headers().begin(); it != webRequest.headers().end(); ++it)
36 request->m_headerList->append(it->key, it->value); 35 request->m_headerList->append(it->key, it->value);
37 if (webRequest.blobDataHandle()) 36 if (webRequest.blobDataHandle())
38 request->setBuffer(new BodyStreamBuffer(scriptState, FetchBlobDataConsum erHandle::create(scriptState->getExecutionContext(), webRequest.blobDataHandle() ))); 37 request->setBuffer(new BodyStreamBuffer(FetchBlobDataConsumerHandle::cre ate(executionContext, webRequest.blobDataHandle())));
39 request->setContext(webRequest.requestContext()); 38 request->setContext(webRequest.requestContext());
40 request->setReferrer(Referrer(webRequest.referrerUrl().string(), ReferrerPol icyDefault)); 39 request->setReferrer(Referrer(webRequest.referrerUrl().string(), ReferrerPol icyDefault));
41 request->setMode(webRequest.mode()); 40 request->setMode(webRequest.mode());
42 request->setCredentials(webRequest.credentialsMode()); 41 request->setCredentials(webRequest.credentialsMode());
43 request->setRedirect(webRequest.redirectMode()); 42 request->setRedirect(webRequest.redirectMode());
44 request->setMIMEType(request->m_headerList->extractMIMEType()); 43 request->setMIMEType(request->m_headerList->extractMIMEType());
45 return request; 44 return request;
46 } 45 }
47 46
48 FetchRequestData* FetchRequestData::cloneExceptBody() 47 FetchRequestData* FetchRequestData::cloneExceptBody()
(...skipping 10 matching lines...) Expand all
59 request->m_mode = m_mode; 58 request->m_mode = m_mode;
60 request->m_credentials = m_credentials; 59 request->m_credentials = m_credentials;
61 request->m_redirect = m_redirect; 60 request->m_redirect = m_redirect;
62 request->m_responseTainting = m_responseTainting; 61 request->m_responseTainting = m_responseTainting;
63 request->m_mimeType = m_mimeType; 62 request->m_mimeType = m_mimeType;
64 request->m_integrity = m_integrity; 63 request->m_integrity = m_integrity;
65 request->m_attachedCredential = m_attachedCredential; 64 request->m_attachedCredential = m_attachedCredential;
66 return request; 65 return request;
67 } 66 }
68 67
69 FetchRequestData* FetchRequestData::clone(ScriptState* scriptState) 68 FetchRequestData* FetchRequestData::clone(ExecutionContext* executionContext)
70 { 69 {
71 FetchRequestData* request = FetchRequestData::cloneExceptBody(); 70 FetchRequestData* request = FetchRequestData::cloneExceptBody();
72 if (m_buffer) { 71 if (m_buffer) {
73 OwnPtr<FetchDataConsumerHandle> dest1, dest2; 72 OwnPtr<FetchDataConsumerHandle> dest1, dest2;
74 DataConsumerTee::create(scriptState->getExecutionContext(), m_buffer->re leaseHandle(), &dest1, &dest2); 73 DataConsumerTee::create(executionContext, m_buffer->releaseHandle(execut ionContext), &dest1, &dest2);
75 m_buffer = new BodyStreamBuffer(scriptState, dest1.release()); 74 m_buffer = new BodyStreamBuffer(dest1.release());
76 request->m_buffer = new BodyStreamBuffer(scriptState, dest2.release()); 75 request->m_buffer = new BodyStreamBuffer(dest2.release());
77 } 76 }
78 return request; 77 return request;
79 } 78 }
80 79
81 FetchRequestData* FetchRequestData::pass(ScriptState* scriptState) 80 FetchRequestData* FetchRequestData::pass(ExecutionContext* executionContext)
82 { 81 {
83 FetchRequestData* request = FetchRequestData::cloneExceptBody(); 82 FetchRequestData* request = FetchRequestData::cloneExceptBody();
84 if (m_buffer) { 83 if (m_buffer) {
85 request->m_buffer = m_buffer; 84 request->m_buffer = m_buffer;
86 m_buffer = new BodyStreamBuffer(scriptState, createFetchDataConsumerHand leFromWebHandle(createDoneDataConsumerHandle())); 85 m_buffer = new BodyStreamBuffer(createFetchDataConsumerHandleFromWebHand le(createDoneDataConsumerHandle()));
87 m_buffer->setDisturbed(); 86 m_buffer->stream()->setIsDisturbed();
88 } 87 }
89 return request; 88 return request;
90 } 89 }
91 90
92 FetchRequestData::~FetchRequestData() 91 FetchRequestData::~FetchRequestData()
93 { 92 {
94 } 93 }
95 94
96 FetchRequestData::FetchRequestData() 95 FetchRequestData::FetchRequestData()
97 : m_method(HTTPNames::GET) 96 : m_method(HTTPNames::GET)
(...skipping 17 matching lines...) Expand all
115 m_attachedCredential.clear(); 114 m_attachedCredential.clear();
116 } 115 }
117 116
118 DEFINE_TRACE(FetchRequestData) 117 DEFINE_TRACE(FetchRequestData)
119 { 118 {
120 visitor->trace(m_buffer); 119 visitor->trace(m_buffer);
121 visitor->trace(m_headerList); 120 visitor->trace(m_headerList);
122 } 121 }
123 122
124 } // namespace blink 123 } // namespace blink
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698