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()); |