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

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

Issue 1265133002: [1/3 blink] Support redirect option of Request and "opaqueredirect" response type. (Closed) Base URL: https://chromium.googlesource.com/chromium/blink.git@master
Patch Set: rebase Created 5 years, 4 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
« no previous file with comments | « Source/modules/fetch/FetchRequestData.h ('k') | Source/modules/fetch/FetchResponseData.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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 "config.h" 5 #include "config.h"
6 #include "modules/fetch/FetchRequestData.h" 6 #include "modules/fetch/FetchRequestData.h"
7 7
8 #include "core/dom/ExecutionContext.h" 8 #include "core/dom/ExecutionContext.h"
9 #include "core/fetch/ResourceLoaderOptions.h" 9 #include "core/fetch/ResourceLoaderOptions.h"
10 #include "core/loader/ThreadableLoader.h" 10 #include "core/loader/ThreadableLoader.h"
(...skipping 18 matching lines...) Expand all
29 request->m_url = webRequest.url(); 29 request->m_url = webRequest.url();
30 request->m_method = webRequest.method(); 30 request->m_method = webRequest.method();
31 for (HTTPHeaderMap::const_iterator it = webRequest.headers().begin(); it != webRequest.headers().end(); ++it) 31 for (HTTPHeaderMap::const_iterator it = webRequest.headers().begin(); it != webRequest.headers().end(); ++it)
32 request->m_headerList->append(it->key, it->value); 32 request->m_headerList->append(it->key, it->value);
33 if (webRequest.blobDataHandle()) 33 if (webRequest.blobDataHandle())
34 request->setBuffer(new BodyStreamBuffer(FetchBlobDataConsumerHandle::cre ate(executionContext, webRequest.blobDataHandle()))); 34 request->setBuffer(new BodyStreamBuffer(FetchBlobDataConsumerHandle::cre ate(executionContext, webRequest.blobDataHandle())));
35 request->setContext(webRequest.requestContext()); 35 request->setContext(webRequest.requestContext());
36 request->m_referrer.setURL(webRequest.referrer()); 36 request->m_referrer.setURL(webRequest.referrer());
37 request->setMode(webRequest.mode()); 37 request->setMode(webRequest.mode());
38 request->setCredentials(webRequest.credentialsMode()); 38 request->setCredentials(webRequest.credentialsMode());
39 request->setRedirect(webRequest.redirectMode());
39 request->setMIMEType(request->m_headerList->extractMIMEType()); 40 request->setMIMEType(request->m_headerList->extractMIMEType());
40 return request; 41 return request;
41 } 42 }
42 43
43 FetchRequestData* FetchRequestData::cloneExceptBody() 44 FetchRequestData* FetchRequestData::cloneExceptBody()
44 { 45 {
45 FetchRequestData* request = FetchRequestData::create(); 46 FetchRequestData* request = FetchRequestData::create();
46 request->m_url = m_url; 47 request->m_url = m_url;
47 request->m_method = m_method; 48 request->m_method = m_method;
48 request->m_headerList = m_headerList->clone(); 49 request->m_headerList = m_headerList->clone();
49 request->m_unsafeRequestFlag = m_unsafeRequestFlag; 50 request->m_unsafeRequestFlag = m_unsafeRequestFlag;
50 request->m_origin = m_origin; 51 request->m_origin = m_origin;
51 request->m_sameOriginDataURLFlag = m_sameOriginDataURLFlag; 52 request->m_sameOriginDataURLFlag = m_sameOriginDataURLFlag;
52 request->m_context = m_context; 53 request->m_context = m_context;
53 request->m_referrer = m_referrer; 54 request->m_referrer = m_referrer;
54 request->m_mode = m_mode; 55 request->m_mode = m_mode;
55 request->m_credentials = m_credentials; 56 request->m_credentials = m_credentials;
57 request->m_redirect = m_redirect;
56 request->m_responseTainting = m_responseTainting; 58 request->m_responseTainting = m_responseTainting;
57 request->m_mimeType = m_mimeType; 59 request->m_mimeType = m_mimeType;
58 return request; 60 return request;
59 } 61 }
60 62
61 FetchRequestData* FetchRequestData::clone(ExecutionContext* executionContext) 63 FetchRequestData* FetchRequestData::clone(ExecutionContext* executionContext)
62 { 64 {
63 FetchRequestData* request = FetchRequestData::cloneExceptBody(); 65 FetchRequestData* request = FetchRequestData::cloneExceptBody();
64 if (m_buffer->hasBody()) { 66 if (m_buffer->hasBody()) {
65 OwnPtr<FetchDataConsumerHandle> dest1, dest2; 67 OwnPtr<FetchDataConsumerHandle> dest1, dest2;
(...skipping 20 matching lines...) Expand all
86 } 88 }
87 89
88 FetchRequestData::FetchRequestData() 90 FetchRequestData::FetchRequestData()
89 : m_method("GET") 91 : m_method("GET")
90 , m_headerList(FetchHeaderList::create()) 92 , m_headerList(FetchHeaderList::create())
91 , m_unsafeRequestFlag(false) 93 , m_unsafeRequestFlag(false)
92 , m_context(WebURLRequest::RequestContextUnspecified) 94 , m_context(WebURLRequest::RequestContextUnspecified)
93 , m_sameOriginDataURLFlag(false) 95 , m_sameOriginDataURLFlag(false)
94 , m_mode(WebURLRequest::FetchRequestModeNoCORS) 96 , m_mode(WebURLRequest::FetchRequestModeNoCORS)
95 , m_credentials(WebURLRequest::FetchCredentialsModeOmit) 97 , m_credentials(WebURLRequest::FetchCredentialsModeOmit)
98 , m_redirect(WebURLRequest::FetchRedirectModeFollow)
96 , m_responseTainting(BasicTainting) 99 , m_responseTainting(BasicTainting)
97 , m_buffer(new BodyStreamBuffer) 100 , m_buffer(new BodyStreamBuffer)
98 { 101 {
99 } 102 }
100 103
101 DEFINE_TRACE(FetchRequestData) 104 DEFINE_TRACE(FetchRequestData)
102 { 105 {
103 visitor->trace(m_buffer); 106 visitor->trace(m_buffer);
104 visitor->trace(m_headerList); 107 visitor->trace(m_headerList);
105 } 108 }
106 109
107 } // namespace blink 110 } // namespace blink
OLDNEW
« no previous file with comments | « Source/modules/fetch/FetchRequestData.h ('k') | Source/modules/fetch/FetchResponseData.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698