OLD | NEW |
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 Loading... |
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 Loading... |
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 |
OLD | NEW |