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

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

Issue 2811623002: Fetch API: Add Request#cache attribute (Closed)
Patch Set: address comments Created 3 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" 7 #include "bindings/core/v8/ScriptState.h"
8 #include "core/dom/ExecutionContext.h" 8 #include "core/dom/ExecutionContext.h"
9 #include "core/loader/ThreadableLoader.h" 9 #include "core/loader/ThreadableLoader.h"
10 #include "modules/credentialmanager/PasswordCredential.h" 10 #include "modules/credentialmanager/PasswordCredential.h"
(...skipping 25 matching lines...) Expand all
36 if (web_request.GetBlobDataHandle()) 36 if (web_request.GetBlobDataHandle())
37 request->SetBuffer(new BodyStreamBuffer( 37 request->SetBuffer(new BodyStreamBuffer(
38 script_state, new BlobBytesConsumer(script_state->GetExecutionContext(), 38 script_state, new BlobBytesConsumer(script_state->GetExecutionContext(),
39 web_request.GetBlobDataHandle()))); 39 web_request.GetBlobDataHandle())));
40 request->SetContext(web_request.GetRequestContext()); 40 request->SetContext(web_request.GetRequestContext());
41 request->SetReferrer( 41 request->SetReferrer(
42 Referrer(web_request.ReferrerUrl().GetString(), 42 Referrer(web_request.ReferrerUrl().GetString(),
43 static_cast<ReferrerPolicy>(web_request.GetReferrerPolicy()))); 43 static_cast<ReferrerPolicy>(web_request.GetReferrerPolicy())));
44 request->SetMode(web_request.Mode()); 44 request->SetMode(web_request.Mode());
45 request->SetCredentials(web_request.CredentialsMode()); 45 request->SetCredentials(web_request.CredentialsMode());
46 request->SetCacheMode(web_request.CacheMode());
46 request->SetRedirect(web_request.RedirectMode()); 47 request->SetRedirect(web_request.RedirectMode());
47 request->SetMIMEType(request->header_list_->ExtractMIMEType()); 48 request->SetMIMEType(request->header_list_->ExtractMIMEType());
48 return request; 49 return request;
49 } 50 }
50 51
51 FetchRequestData* FetchRequestData::CloneExceptBody() { 52 FetchRequestData* FetchRequestData::CloneExceptBody() {
52 FetchRequestData* request = FetchRequestData::Create(); 53 FetchRequestData* request = FetchRequestData::Create();
53 request->url_ = url_; 54 request->url_ = url_;
54 request->method_ = method_; 55 request->method_ = method_;
55 request->header_list_ = header_list_->Clone(); 56 request->header_list_ = header_list_->Clone();
56 request->unsafe_request_flag_ = unsafe_request_flag_; 57 request->unsafe_request_flag_ = unsafe_request_flag_;
57 request->origin_ = origin_; 58 request->origin_ = origin_;
58 request->same_origin_data_url_flag_ = same_origin_data_url_flag_; 59 request->same_origin_data_url_flag_ = same_origin_data_url_flag_;
59 request->context_ = context_; 60 request->context_ = context_;
60 request->referrer_ = referrer_; 61 request->referrer_ = referrer_;
61 request->mode_ = mode_; 62 request->mode_ = mode_;
62 request->credentials_ = credentials_; 63 request->credentials_ = credentials_;
64 request->cache_mode_ = cache_mode_;
63 request->redirect_ = redirect_; 65 request->redirect_ = redirect_;
64 request->response_tainting_ = response_tainting_; 66 request->response_tainting_ = response_tainting_;
65 request->mime_type_ = mime_type_; 67 request->mime_type_ = mime_type_;
66 request->integrity_ = integrity_; 68 request->integrity_ = integrity_;
67 request->attached_credential_ = attached_credential_; 69 request->attached_credential_ = attached_credential_;
68 return request; 70 return request;
69 } 71 }
70 72
71 FetchRequestData* FetchRequestData::Clone(ScriptState* script_state) { 73 FetchRequestData* FetchRequestData::Clone(ScriptState* script_state) {
72 FetchRequestData* request = FetchRequestData::CloneExceptBody(); 74 FetchRequestData* request = FetchRequestData::CloneExceptBody();
(...skipping 21 matching lines...) Expand all
94 96
95 FetchRequestData::FetchRequestData() 97 FetchRequestData::FetchRequestData()
96 : method_(HTTPNames::GET), 98 : method_(HTTPNames::GET),
97 header_list_(FetchHeaderList::Create()), 99 header_list_(FetchHeaderList::Create()),
98 unsafe_request_flag_(false), 100 unsafe_request_flag_(false),
99 context_(WebURLRequest::kRequestContextUnspecified), 101 context_(WebURLRequest::kRequestContextUnspecified),
100 same_origin_data_url_flag_(false), 102 same_origin_data_url_flag_(false),
101 referrer_(Referrer(ClientReferrerString(), kReferrerPolicyDefault)), 103 referrer_(Referrer(ClientReferrerString(), kReferrerPolicyDefault)),
102 mode_(WebURLRequest::kFetchRequestModeNoCORS), 104 mode_(WebURLRequest::kFetchRequestModeNoCORS),
103 credentials_(WebURLRequest::kFetchCredentialsModeOmit), 105 credentials_(WebURLRequest::kFetchCredentialsModeOmit),
106 cache_mode_(WebURLRequest::kFetchRequestCacheModeDefault),
104 redirect_(WebURLRequest::kFetchRedirectModeFollow), 107 redirect_(WebURLRequest::kFetchRedirectModeFollow),
105 response_tainting_(kBasicTainting) {} 108 response_tainting_(kBasicTainting) {}
106 109
107 void FetchRequestData::SetCredentials( 110 void FetchRequestData::SetCredentials(
108 WebURLRequest::FetchCredentialsMode credentials) { 111 WebURLRequest::FetchCredentialsMode credentials) {
109 credentials_ = credentials; 112 credentials_ = credentials;
110 if (credentials_ != WebURLRequest::kFetchCredentialsModePassword) 113 if (credentials_ != WebURLRequest::kFetchCredentialsModePassword)
111 attached_credential_.Clear(); 114 attached_credential_.Clear();
112 } 115 }
113 116
114 DEFINE_TRACE(FetchRequestData) { 117 DEFINE_TRACE(FetchRequestData) {
115 visitor->Trace(buffer_); 118 visitor->Trace(buffer_);
116 visitor->Trace(header_list_); 119 visitor->Trace(header_list_);
117 } 120 }
118 121
119 } // namespace blink 122 } // namespace blink
OLDNEW
« no previous file with comments | « third_party/WebKit/Source/modules/fetch/FetchRequestData.h ('k') | third_party/WebKit/Source/modules/fetch/Request.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698