Chromium Code Reviews| 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 "modules/fetch/Request.h" | 5 #include "modules/fetch/Request.h" |
| 6 | 6 |
| 7 #include "bindings/core/v8/Dictionary.h" | 7 #include "bindings/core/v8/Dictionary.h" |
| 8 #include "bindings/core/v8/V8PrivateProperty.h" | 8 #include "bindings/core/v8/V8PrivateProperty.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 27 matching lines...) Expand all Loading... | |
| 38 if (world.IsIsolatedWorld()) | 38 if (world.IsIsolatedWorld()) |
| 39 request->SetOrigin(world.IsolatedWorldSecurityOrigin()); | 39 request->SetOrigin(world.IsolatedWorldSecurityOrigin()); |
| 40 else | 40 else |
| 41 request->SetOrigin( | 41 request->SetOrigin( |
| 42 script_state->GetExecutionContext()->GetSecurityOrigin()); | 42 script_state->GetExecutionContext()->GetSecurityOrigin()); |
| 43 // FIXME: Set ForceOriginHeaderFlag. | 43 // FIXME: Set ForceOriginHeaderFlag. |
| 44 request->SetSameOriginDataURLFlag(true); | 44 request->SetSameOriginDataURLFlag(true); |
| 45 request->SetReferrer(original->GetReferrer()); | 45 request->SetReferrer(original->GetReferrer()); |
| 46 request->SetMode(original->Mode()); | 46 request->SetMode(original->Mode()); |
| 47 request->SetCredentials(original->Credentials()); | 47 request->SetCredentials(original->Credentials()); |
| 48 request->SetCache(original->Cache()); | |
| 48 request->SetAttachedCredential(original->AttachedCredential()); | 49 request->SetAttachedCredential(original->AttachedCredential()); |
| 49 request->SetRedirect(original->Redirect()); | 50 request->SetRedirect(original->Redirect()); |
| 50 request->SetIntegrity(original->Integrity()); | 51 request->SetIntegrity(original->Integrity()); |
| 51 // FIXME: Set cache mode. | |
| 52 // TODO(yhirano): Set redirect mode. | |
| 53 return request; | 52 return request; |
| 54 } | 53 } |
| 55 | 54 |
| 56 Request* Request::CreateRequestWithRequestOrString( | 55 Request* Request::CreateRequestWithRequestOrString( |
| 57 ScriptState* script_state, | 56 ScriptState* script_state, |
| 58 Request* input_request, | 57 Request* input_request, |
| 59 const String& input_string, | 58 const String& input_string, |
| 60 RequestInit& init, | 59 RequestInit& init, |
| 61 ExceptionState& exception_state) { | 60 ExceptionState& exception_state) { |
| 62 // - "If |input| is a Request object and it is disturbed, throw a | 61 // - "If |input| is a Request object and it is disturbed, throw a |
| (...skipping 190 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 253 return nullptr; | 252 return nullptr; |
| 254 } | 253 } |
| 255 request->SetCredentials(WebURLRequest::kFetchCredentialsModePassword); | 254 request->SetCredentials(WebURLRequest::kFetchCredentialsModePassword); |
| 256 request->SetAttachedCredential(init.attached_credential); | 255 request->SetAttachedCredential(init.attached_credential); |
| 257 request->SetRedirect(WebURLRequest::kFetchRedirectModeManual); | 256 request->SetRedirect(WebURLRequest::kFetchRedirectModeManual); |
| 258 } else { | 257 } else { |
| 259 if (!input_request) | 258 if (!input_request) |
| 260 request->SetCredentials(WebURLRequest::kFetchCredentialsModeOmit); | 259 request->SetCredentials(WebURLRequest::kFetchCredentialsModeOmit); |
| 261 } | 260 } |
| 262 | 261 |
| 263 // TODO(yhirano): Implement the following step: | 262 if (init.cache == "default") { |
| 264 // "If |init|'s cache member is present, set |request|'s cache mode to | 263 request->SetCache(WebURLRequest::kFetchRequestCacheDefault); |
| 265 // it." | 264 } else if (init.cache == "no-store") { |
| 266 | 265 request->SetCache(WebURLRequest::kFetchRequestCacheNoStore); |
| 267 // "If |init|'s redirect member is present, set |request|'s redirect mode | 266 } else if (init.cache == "reload") { |
| 268 // to it." | 267 request->SetCache(WebURLRequest::kFetchRequestCacheReload); |
| 268 } else if (init.cache == "no-cache") { | |
| 269 request->SetCache(WebURLRequest::kFetchRequestCacheNoCache); | |
| 270 } else if (init.cache == "force-cache") { | |
| 271 request->SetCache(WebURLRequest::kFetchRequestCacheForceCache); | |
| 272 } else if (init.cache == "only-if-cached") { | |
| 273 request->SetCache(WebURLRequest::kFetchRequestCacheOnlyIfCached); | |
| 274 } | |
|
falken
2017/04/11 05:53:59
nit: insert an empty line here?
yiyix
2017/04/11 10:00:06
Done.
| |
| 269 if (init.redirect == "follow") { | 275 if (init.redirect == "follow") { |
| 270 request->SetRedirect(WebURLRequest::kFetchRedirectModeFollow); | 276 request->SetRedirect(WebURLRequest::kFetchRedirectModeFollow); |
| 271 } else if (init.redirect == "error") { | 277 } else if (init.redirect == "error") { |
| 272 request->SetRedirect(WebURLRequest::kFetchRedirectModeError); | 278 request->SetRedirect(WebURLRequest::kFetchRedirectModeError); |
| 273 } else if (init.redirect == "manual") { | 279 } else if (init.redirect == "manual") { |
| 274 request->SetRedirect(WebURLRequest::kFetchRedirectModeManual); | 280 request->SetRedirect(WebURLRequest::kFetchRedirectModeManual); |
| 275 } | 281 } |
| 276 | 282 |
| 277 // "If |init|'s integrity member is present, set |request|'s | 283 // "If |init|'s integrity member is present, set |request|'s |
| 278 // integrity metadata to it." | 284 // integrity metadata to it." |
| (...skipping 359 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 638 return "same-origin"; | 644 return "same-origin"; |
| 639 case WebURLRequest::kFetchCredentialsModeInclude: | 645 case WebURLRequest::kFetchCredentialsModeInclude: |
| 640 return "include"; | 646 return "include"; |
| 641 case WebURLRequest::kFetchCredentialsModePassword: | 647 case WebURLRequest::kFetchCredentialsModePassword: |
| 642 return "password"; | 648 return "password"; |
| 643 } | 649 } |
| 644 ASSERT_NOT_REACHED(); | 650 ASSERT_NOT_REACHED(); |
| 645 return ""; | 651 return ""; |
| 646 } | 652 } |
| 647 | 653 |
| 654 String Request::cache() const { | |
| 655 // "The cache attribute's getter must return request's cache mode." | |
| 656 switch (request_->Cache()) { | |
| 657 case WebURLRequest::kFetchRequestCacheDefault: | |
| 658 return "default"; | |
| 659 case WebURLRequest::kFetchRequestCacheNoStore: | |
| 660 return "no-store"; | |
| 661 case WebURLRequest::kFetchRequestCacheReload: | |
| 662 return "reload"; | |
| 663 case WebURLRequest::kFetchRequestCacheNoCache: | |
| 664 return "no-cache"; | |
| 665 case WebURLRequest::kFetchRequestCacheForceCache: | |
| 666 return "force-cache"; | |
| 667 case WebURLRequest::kFetchRequestCacheOnlyIfCached: | |
| 668 return "only-if-cached"; | |
| 669 } | |
| 670 NOTREACHED(); | |
| 671 return ""; | |
| 672 } | |
| 673 | |
| 648 String Request::redirect() const { | 674 String Request::redirect() const { |
| 649 // "The redirect attribute's getter must return request's redirect mode." | 675 // "The redirect attribute's getter must return request's redirect mode." |
| 650 switch (request_->Redirect()) { | 676 switch (request_->Redirect()) { |
| 651 case WebURLRequest::kFetchRedirectModeFollow: | 677 case WebURLRequest::kFetchRedirectModeFollow: |
| 652 return "follow"; | 678 return "follow"; |
| 653 case WebURLRequest::kFetchRedirectModeError: | 679 case WebURLRequest::kFetchRedirectModeError: |
| 654 return "error"; | 680 return "error"; |
| 655 case WebURLRequest::kFetchRedirectModeManual: | 681 case WebURLRequest::kFetchRedirectModeManual: |
| 656 return "manual"; | 682 return "manual"; |
| 657 } | 683 } |
| (...skipping 78 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 736 .Set(request.As<v8::Object>(), body_buffer); | 762 .Set(request.As<v8::Object>(), body_buffer); |
| 737 } | 763 } |
| 738 | 764 |
| 739 DEFINE_TRACE(Request) { | 765 DEFINE_TRACE(Request) { |
| 740 Body::Trace(visitor); | 766 Body::Trace(visitor); |
| 741 visitor->Trace(request_); | 767 visitor->Trace(request_); |
| 742 visitor->Trace(headers_); | 768 visitor->Trace(headers_); |
| 743 } | 769 } |
| 744 | 770 |
| 745 } // namespace blink | 771 } // namespace blink |
| OLD | NEW |