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

Unified Diff: third_party/WebKit/Source/modules/fetch/Request.cpp

Issue 2811623002: Fetch API: Add Request#cache attribute (Closed)
Patch Set: 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 side-by-side diff with in-line comments
Download patch
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()) {

Powered by Google App Engine
This is Rietveld 408576698