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

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

Issue 1060033002: Implement Request.context for Fetch API (Closed) Base URL: https://chromium.googlesource.com/chromium/blink.git@master
Patch Set: Created 5 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: Source/modules/fetch/Request.cpp
diff --git a/Source/modules/fetch/Request.cpp b/Source/modules/fetch/Request.cpp
index cb98b1a691c9ee5eb766dcdba4199861fa2be400..a6c68e5c5049c24bb68fb8d3fde83a47131e3fd4 100644
--- a/Source/modules/fetch/Request.cpp
+++ b/Source/modules/fetch/Request.cpp
@@ -34,7 +34,7 @@ FetchRequestData* createCopyOfFetchRequestDataForFetch(ExecutionContext* context
// FIXME: Set ForceOriginHeaderFlag.
request->setSameOriginDataURLFlag(true);
request->mutableReferrer()->setClient();
- request->setContext(WebURLRequest::RequestContextFetch);
+ request->setContext(original->context());
hiroshige 2015/04/07 03:56:11 Should this be WebURLRequest::RequestContextUnspec
shiva.jm 2015/04/09 09:16:22 I think we no need to set the context here, it wil
hiroshige 2015/04/09 17:43:21 Then we have to remove the line of
shiva.jm 2015/04/10 09:27:10 The call to setContext() should be present here, n
hiroshige 2015/04/10 11:24:23 I still think we must NOT set context to |original
request->setMode(original->mode());
request->setCredentials(original->credentials());
// FIXME: Set cache mode.
@@ -312,6 +312,83 @@ String Request::mode() const
return "";
}
+String Request::context() const
hiroshige 2015/04/07 03:56:11 Move context() above referrer() to match the order
shiva.jm 2015/04/09 09:16:22 Done.
+{
+ // "The context attribute's getter must return request's context"
+ switch (m_request->context()) {
+ case WebURLRequest::RequestContextUnspecified:
+ return "";
+ case WebURLRequest::RequestContextAudio:
+ return "audio";
+ case WebURLRequest::RequestContextBeacon:
+ return "beacon";
+ case WebURLRequest::RequestContextCSPReport:
+ return "cspreport";
+ case WebURLRequest::RequestContextDownload:
+ return "download";
+ case WebURLRequest::RequestContextEmbed:
+ return "embed";
+ case WebURLRequest::RequestContextEventSource:
+ return "eventsource";
+ case WebURLRequest::RequestContextFavicon:
+ return "favicon";
+ case WebURLRequest::RequestContextFetch:
+ return "fetch";
+ case WebURLRequest::RequestContextFont:
+ return "font";
+ case WebURLRequest::RequestContextForm:
+ return "form";
+ case WebURLRequest::RequestContextFrame:
+ return "frame";
+ case WebURLRequest::RequestContextHyperlink:
+ return "hyperlink";
+ case WebURLRequest::RequestContextIframe:
+ return "iframe";
+ case WebURLRequest::RequestContextImage:
+ return "image";
+ case WebURLRequest::RequestContextImageSet:
+ return "imageset";
+ case WebURLRequest::RequestContextImport:
+ return "import";
+ case WebURLRequest::RequestContextInternal:
+ return "internal";
+ case WebURLRequest::RequestContextLocation:
+ return "location";
+ case WebURLRequest::RequestContextManifest:
+ return "manifest";
+ case WebURLRequest::RequestContextObject:
+ return "object";
+ case WebURLRequest::RequestContextPing:
+ return "ping";
+ case WebURLRequest::RequestContextPlugin:
+ return "plugin";
+ case WebURLRequest::RequestContextPrefetch:
+ return "prefetch";
+ case WebURLRequest::RequestContextScript:
+ return "script";
+ case WebURLRequest::RequestContextServiceWorker:
+ return "serviceworker";
+ case WebURLRequest::RequestContextSharedWorker:
+ return "sharedworker";
+ case WebURLRequest::RequestContextSubresource:
+ return "subresource";
+ case WebURLRequest::RequestContextStyle:
+ return "style";
+ case WebURLRequest::RequestContextTrack:
+ return "track";
+ case WebURLRequest::RequestContextVideo:
+ return "video";
+ case WebURLRequest::RequestContextWorker:
+ return "worker";
+ case WebURLRequest::RequestContextXMLHttpRequest:
+ return "xmlhttprequest";
+ case WebURLRequest::RequestContextXSLT:
+ return "xslt";
+ }
+ ASSERT_NOT_REACHED();
+ return "";
+}
+
String Request::credentials() const
{
// "The credentials attribute's getter must return the value corresponding
@@ -354,6 +431,7 @@ FetchRequestData* Request::passRequestData()
void Request::populateWebServiceWorkerRequest(WebServiceWorkerRequest& webRequest) const
{
webRequest.setMethod(method());
+ webRequest.setRequestContext(m_request->context());
// This strips off the fragment part.
webRequest.setURL(url());

Powered by Google App Engine
This is Rietveld 408576698