Index: third_party/WebKit/Source/core/fetch/ResourceFetcher.cpp |
diff --git a/third_party/WebKit/Source/core/fetch/ResourceFetcher.cpp b/third_party/WebKit/Source/core/fetch/ResourceFetcher.cpp |
index 4f63ece7f63ceceb57ed50d1d1c235aeb163cbbb..2c9479b901cec751c5ad484ead903f63ebf5a095 100644 |
--- a/third_party/WebKit/Source/core/fetch/ResourceFetcher.cpp |
+++ b/third_party/WebKit/Source/core/fetch/ResourceFetcher.cpp |
@@ -194,6 +194,23 @@ static WebURLRequest::RequestContext requestContextFromType(bool isMainFrame, Re |
return WebURLRequest::RequestContextSubresource; |
} |
+static void addAcceptHeader(ResourceRequest& request, Resource::Type type) |
+{ |
+ if (type == Resource::CSSStyleSheet) { |
+ DEFINE_STATIC_LOCAL(const AtomicString, acceptCSS, ("text/css,*/*;q=0.1", AtomicString::ConstructFromLiteral)); |
+ request.setHTTPAccept(acceptCSS); |
+ } else if (type == Resource::Script) { |
+ DEFINE_STATIC_LOCAL(const AtomicString, acceptScripts, ("*/*", AtomicString::ConstructFromLiteral)); |
+ request.setHTTPAccept(acceptScripts); |
+ } else if (type == Resource::Image) { |
+ DEFINE_STATIC_LOCAL(const AtomicString, acceptImages, ("image/webp,image/*,*/*;q=0.8", AtomicString::ConstructFromLiteral)); |
+ request.setHTTPAccept(acceptImages); |
+ } else if (type == Resource::XSLStyleSheet) { |
+ DEFINE_STATIC_LOCAL(const AtomicString, acceptXSLT, ("text/xml, application/xml, application/xhtml+xml, text/xsl, application/rss+xml, application/atom+xml", AtomicString::ConstructFromLiteral)); |
+ request.setHTTPAccept(acceptXSLT); |
+ } |
Yoav Weiss
2016/03/30 06:18:58
What about other Resource::Types? Where are they s
|
+} |
+ |
ResourceFetcher::ResourceFetcher(FetchContext* newContext) |
: m_context(newContext) |
, m_archive(context().isMainFrame() ? nullptr : context().archive()) |
@@ -533,6 +550,7 @@ void ResourceFetcher::initializeResourceRequest(ResourceRequest& request, Resour |
determineRequestContext(request, type); |
if (type == Resource::LinkPrefetch) |
request.setHTTPHeaderField(HTTPNames::Purpose, "prefetch"); |
+ addAcceptHeader(request, type); |
context().addAdditionalRequestHeaders(request, (type == Resource::MainResource) ? FetchMainResource : FetchSubresource); |
} |