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/Request.h" | 6 #include "modules/fetch/Request.h" |
7 | 7 |
8 #include "bindings/core/v8/Dictionary.h" | 8 #include "bindings/core/v8/Dictionary.h" |
9 #include "core/dom/Document.h" | 9 #include "core/dom/Document.h" |
10 #include "core/dom/ExecutionContext.h" | 10 #include "core/dom/ExecutionContext.h" |
(...skipping 20 matching lines...) Expand all Loading... |
31 request->setHeaderList(original->headerList()->clone()); | 31 request->setHeaderList(original->headerList()->clone()); |
32 request->setUnsafeRequestFlag(true); | 32 request->setUnsafeRequestFlag(true); |
33 // FIXME: Set client. | 33 // FIXME: Set client. |
34 DOMWrapperWorld& world = scriptState->world(); | 34 DOMWrapperWorld& world = scriptState->world(); |
35 if (world.isIsolatedWorld()) | 35 if (world.isIsolatedWorld()) |
36 request->setOrigin(world.isolatedWorldSecurityOrigin()); | 36 request->setOrigin(world.isolatedWorldSecurityOrigin()); |
37 else | 37 else |
38 request->setOrigin(scriptState->executionContext()->securityOrigin()); | 38 request->setOrigin(scriptState->executionContext()->securityOrigin()); |
39 // FIXME: Set ForceOriginHeaderFlag. | 39 // FIXME: Set ForceOriginHeaderFlag. |
40 request->setSameOriginDataURLFlag(true); | 40 request->setSameOriginDataURLFlag(true); |
| 41 request->setOmitOriginHeaderFlag(original->omitOriginHeaderFlag()); |
41 request->setReferrer(original->referrer()); | 42 request->setReferrer(original->referrer()); |
42 request->setMode(original->mode()); | 43 request->setMode(original->mode()); |
43 request->setCredentials(original->credentials()); | 44 request->setCredentials(original->credentials()); |
44 request->setRedirect(original->redirect()); | 45 request->setRedirect(original->redirect()); |
45 request->setIntegrity(original->integrity()); | 46 request->setIntegrity(original->integrity()); |
46 // FIXME: Set cache mode. | 47 // FIXME: Set cache mode. |
47 // TODO(yhirano): Set redirect mode. | 48 // TODO(yhirano): Set redirect mode. |
48 return request; | 49 return request; |
49 } | 50 } |
50 | 51 |
(...skipping 70 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
121 } | 122 } |
122 | 123 |
123 // "14. If any of |init|'s members are present, run these substeps:" | 124 // "14. If any of |init|'s members are present, run these substeps:" |
124 if (init.areAnyMembersSet) { | 125 if (init.areAnyMembersSet) { |
125 // "1. If |request|'s |mode| is "navigate", throw a TypeError." | 126 // "1. If |request|'s |mode| is "navigate", throw a TypeError." |
126 if (request->mode() == WebURLRequest::FetchRequestModeNavigate) { | 127 if (request->mode() == WebURLRequest::FetchRequestModeNavigate) { |
127 exceptionState.throwTypeError("Cannot construct a Request with a Req
uest whose mode is 'navigate' and a non-empty RequestInit."); | 128 exceptionState.throwTypeError("Cannot construct a Request with a Req
uest whose mode is 'navigate' and a non-empty RequestInit."); |
128 return nullptr; | 129 return nullptr; |
129 } | 130 } |
130 // "2. Unset |request|'s omit-Origin-header flag." | 131 // "2. Unset |request|'s omit-Origin-header flag." |
| 132 request->setOmitOriginHeaderFlag(false); |
131 // "3. Set |request|'s referrer to "client"." | 133 // "3. Set |request|'s referrer to "client"." |
132 // "4. Set |request|'s referrer policy to the empty string." | 134 // "4. Set |request|'s referrer policy to the empty string." |
133 // => RequestInit::RequestInit. | 135 // => RequestInit::RequestInit. |
134 } | 136 } |
135 | 137 |
136 // 15. If |init|'s referrer member is present, run these substeps: | 138 // 15. If |init|'s referrer member is present, run these substeps: |
137 // Note that JS null and undefined are encoded as an empty string and thus | 139 // Note that JS null and undefined are encoded as an empty string and thus |
138 // a null string means referrer member is not set. | 140 // a null string means referrer member is not set. |
139 // 16. If |init|'s referrerPolicy member is present, set |request|'s | 141 // 16. If |init|'s referrerPolicy member is present, set |request|'s |
140 // referrer policy to it. | 142 // referrer policy to it. |
(...skipping 462 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
603 } | 605 } |
604 | 606 |
605 DEFINE_TRACE(Request) | 607 DEFINE_TRACE(Request) |
606 { | 608 { |
607 Body::trace(visitor); | 609 Body::trace(visitor); |
608 visitor->trace(m_request); | 610 visitor->trace(m_request); |
609 visitor->trace(m_headers); | 611 visitor->trace(m_headers); |
610 } | 612 } |
611 | 613 |
612 } // namespace blink | 614 } // namespace blink |
OLD | NEW |