Index: third_party/WebKit/Source/modules/fetch/Request.cpp |
diff --git a/third_party/WebKit/Source/modules/fetch/Request.cpp b/third_party/WebKit/Source/modules/fetch/Request.cpp |
index 46eea38c21112f0118111705f015f9d7e066487e..aa5b7f98a3121a35c3075cba6ebc7e2594fe8f03 100644 |
--- a/third_party/WebKit/Source/modules/fetch/Request.cpp |
+++ b/third_party/WebKit/Source/modules/fetch/Request.cpp |
@@ -45,11 +45,10 @@ FetchRequestData* CreateCopyOfFetchRequestDataForFetch( |
request->SetReferrer(original->GetReferrer()); |
request->SetMode(original->Mode()); |
request->SetCredentials(original->Credentials()); |
+ request->SetCache(original->Cache()); |
request->SetAttachedCredential(original->AttachedCredential()); |
request->SetRedirect(original->Redirect()); |
request->SetIntegrity(original->Integrity()); |
- // FIXME: Set cache mode. |
- // TODO(yhirano): Set redirect mode. |
return request; |
} |
@@ -260,12 +259,19 @@ Request* Request::CreateRequestWithRequestOrString( |
request->SetCredentials(WebURLRequest::kFetchCredentialsModeOmit); |
} |
- // TODO(yhirano): Implement the following step: |
- // "If |init|'s cache member is present, set |request|'s cache mode to |
- // it." |
- |
- // "If |init|'s redirect member is present, set |request|'s redirect mode |
- // to it." |
+ if (init.cache == "default") { |
+ request->SetCache(WebURLRequest::kFetchRequestCacheDefault); |
+ } else if (init.cache == "no-store") { |
+ request->SetCache(WebURLRequest::kFetchRequestCacheNoStore); |
+ } else if (init.cache == "reload") { |
+ request->SetCache(WebURLRequest::kFetchRequestCacheReload); |
+ } else if (init.cache == "no-cache") { |
+ request->SetCache(WebURLRequest::kFetchRequestCacheNoCache); |
+ } else if (init.cache == "force-cache") { |
+ request->SetCache(WebURLRequest::kFetchRequestCacheForceCache); |
+ } else if (init.cache == "only-if-cached") { |
+ request->SetCache(WebURLRequest::kFetchRequestCacheOnlyIfCached); |
+ } |
falken
2017/04/11 05:53:59
nit: insert an empty line here?
yiyix
2017/04/11 10:00:06
Done.
|
if (init.redirect == "follow") { |
request->SetRedirect(WebURLRequest::kFetchRedirectModeFollow); |
} else if (init.redirect == "error") { |
@@ -645,6 +651,26 @@ String Request::credentials() const { |
return ""; |
} |
+String Request::cache() const { |
+ // "The cache attribute's getter must return request's cache mode." |
+ switch (request_->Cache()) { |
+ case WebURLRequest::kFetchRequestCacheDefault: |
+ return "default"; |
+ case WebURLRequest::kFetchRequestCacheNoStore: |
+ return "no-store"; |
+ case WebURLRequest::kFetchRequestCacheReload: |
+ return "reload"; |
+ case WebURLRequest::kFetchRequestCacheNoCache: |
+ return "no-cache"; |
+ case WebURLRequest::kFetchRequestCacheForceCache: |
+ return "force-cache"; |
+ case WebURLRequest::kFetchRequestCacheOnlyIfCached: |
+ return "only-if-cached"; |
+ } |
+ NOTREACHED(); |
+ return ""; |
+} |
+ |
String Request::redirect() const { |
// "The redirect attribute's getter must return request's redirect mode." |
switch (request_->Redirect()) { |