| Index: Source/core/fetch/ResourceFetcher.cpp
|
| diff --git a/Source/core/fetch/ResourceFetcher.cpp b/Source/core/fetch/ResourceFetcher.cpp
|
| index 317c51716bbcc49523e575de5e26b6843e25d916..72de9cc755ffedee65a79534db4106ed98ab917b 100644
|
| --- a/Source/core/fetch/ResourceFetcher.cpp
|
| +++ b/Source/core/fetch/ResourceFetcher.cpp
|
| @@ -95,15 +95,14 @@ static Resource* createResource(Resource::Type type, const ResourceRequest& requ
|
| case Resource::Raw:
|
| case Resource::TextTrack:
|
| case Resource::Media:
|
| + case Resource::ImportResource:
|
| return new RawResource(request, type);
|
| case Resource::XSLStyleSheet:
|
| return new XSLStyleSheetResource(request, charset);
|
| case Resource::LinkPrefetch:
|
| - return new Resource(request, Resource::LinkPrefetch);
|
| case Resource::LinkSubresource:
|
| - return new Resource(request, Resource::LinkSubresource);
|
| - case Resource::ImportResource:
|
| - return new RawResource(request, type);
|
| + case Resource::Manifest:
|
| + return new Resource(request, type);
|
| }
|
|
|
| ASSERT_NOT_REACHED();
|
| @@ -125,6 +124,7 @@ static ResourceLoadPriority loadPriority(Resource::Type type, const FetchRequest
|
| case Resource::Script:
|
| case Resource::Font:
|
| case Resource::ImportResource:
|
| + case Resource::Manifest:
|
| return ResourceLoadPriorityMedium;
|
| case Resource::Image:
|
| // We'll default images to VeryLow, and promote whatever is visible. This improves
|
| @@ -213,6 +213,8 @@ static WebURLRequest::RequestContext requestContextFromType(const ResourceFetche
|
| return WebURLRequest::RequestContextSubresource;
|
| case Resource::ImportResource:
|
| return WebURLRequest::RequestContextScript;
|
| + case Resource::Manifest:
|
| + return WebURLRequest::RequestContextSubresource;
|
| case Resource::LinkPrefetch:
|
| return WebURLRequest::RequestContextPrefetch;
|
| case Resource::LinkSubresource:
|
| @@ -399,6 +401,13 @@ ResourcePtr<RawResource> ResourceFetcher::fetchTextTrack(FetchRequest& request)
|
| return toRawResource(requestResource(Resource::TextTrack, request));
|
| }
|
|
|
| +ResourcePtr<Resource> ResourceFetcher::fetchManifest(FetchRequest& request)
|
| +{
|
| + ASSERT(request.resourceRequest().frameType() == WebURLRequest::FrameTypeNone);
|
| + request.mutableResourceRequest().setRequestContext(WebURLRequest::RequestContextSubresource);
|
| + return requestResource(Resource::Manifest, request);
|
| +}
|
| +
|
| void ResourceFetcher::preCacheSubstituteDataForMainResource(const FetchRequest& request, const SubstituteData& substituteData)
|
| {
|
| const KURL& url = request.url();
|
| @@ -449,6 +458,7 @@ bool ResourceFetcher::checkInsecureContent(Resource::Type type, const KURL& url,
|
| case Resource::MainResource:
|
| case Resource::LinkPrefetch:
|
| case Resource::LinkSubresource:
|
| + case Resource::Manifest:
|
| // These cannot affect the current document.
|
| treatment = TreatAsAlwaysAllowedContent;
|
| break;
|
| @@ -516,6 +526,7 @@ bool ResourceFetcher::canRequest(Resource::Type type, const KURL& url, const Res
|
| case Resource::TextTrack:
|
| case Resource::ImportResource:
|
| case Resource::Media:
|
| + case Resource::Manifest:
|
| // By default these types of resources can be loaded from any origin.
|
| // FIXME: Are we sure about Resource::Font?
|
| if (originRestriction == FetchRequest::RestrictToSameOrigin && !securityOrigin->canRequest(url)) {
|
| @@ -585,6 +596,7 @@ bool ResourceFetcher::canRequest(Resource::Type type, const KURL& url, const Res
|
| case Resource::Raw:
|
| case Resource::LinkPrefetch:
|
| case Resource::LinkSubresource:
|
| + case Resource::Manifest:
|
| break;
|
| case Resource::Media:
|
| case Resource::TextTrack:
|
|
|