| Index: Source/core/fetch/ResourceFetcher.cpp
|
| diff --git a/Source/core/fetch/ResourceFetcher.cpp b/Source/core/fetch/ResourceFetcher.cpp
|
| index 97051b5fc721e5936ce260badeb924b58c173a5d..3b291957d64e29bc305b2ee1da984d085bb237a6 100644
|
| --- a/Source/core/fetch/ResourceFetcher.cpp
|
| +++ b/Source/core/fetch/ResourceFetcher.cpp
|
| @@ -87,6 +87,7 @@ static Resource* createResource(Resource::Type type, const ResourceRequest& requ
|
| case Resource::MainResource:
|
| case Resource::Raw:
|
| case Resource::TextTrack:
|
| + case Resource::Media:
|
| return new RawResource(request, type);
|
| case Resource::XSLStyleSheet:
|
| return new XSLStyleSheetResource(request);
|
| @@ -124,6 +125,8 @@ static ResourceLoadPriority loadPriority(Resource::Type type, const FetchRequest
|
| // We'll default images to VeryLow, and promote whatever is visible. This improves
|
| // speed-index by ~5% on average, ~14% at the 99th percentile.
|
| return ResourceLoadPriorityVeryLow;
|
| + case Resource::Media:
|
| + return ResourceLoadPriorityLow;
|
| case Resource::XSLStyleSheet:
|
| ASSERT(RuntimeEnabledFeatures::xsltEnabled());
|
| return ResourceLoadPriorityHigh;
|
| @@ -209,6 +212,8 @@ static ResourceRequest::TargetType requestTargetType(const ResourceFetcher* fetc
|
| return ResourceRequest::TargetIsTextTrack;
|
| case Resource::SVGDocument:
|
| return ResourceRequest::TargetIsImage;
|
| + case Resource::Media:
|
| + return ResourceRequest::TargetIsMedia;
|
| }
|
| ASSERT_NOT_REACHED();
|
| return ResourceRequest::TargetIsSubresource;
|
| @@ -371,6 +376,16 @@ ResourcePtr<RawResource> ResourceFetcher::fetchMainResource(FetchRequest& reques
|
| return toRawResource(requestResource(Resource::MainResource, request));
|
| }
|
|
|
| +ResourcePtr<RawResource> ResourceFetcher::fetchMedia(FetchRequest& request)
|
| +{
|
| + return toRawResource(requestResource(Resource::Media, request));
|
| +}
|
| +
|
| +ResourcePtr<RawResource> ResourceFetcher::fetchTextTrack(FetchRequest& request)
|
| +{
|
| + return toRawResource(requestResource(Resource::TextTrack, request));
|
| +}
|
| +
|
| bool ResourceFetcher::checkInsecureContent(Resource::Type type, const KURL& url, MixedContentBlockingTreatment treatment) const
|
| {
|
| if (treatment == TreatAsDefaultForType) {
|
| @@ -391,6 +406,7 @@ bool ResourceFetcher::checkInsecureContent(Resource::Type type, const KURL& url,
|
| case Resource::Raw:
|
| case Resource::Image:
|
| case Resource::Font:
|
| + case Resource::Media:
|
| // These resources can corrupt only the frame's pixels.
|
| treatment = TreatAsPassiveContent;
|
| break;
|
| @@ -454,6 +470,7 @@ bool ResourceFetcher::canRequest(Resource::Type type, const KURL& url, const Res
|
| case Resource::TextTrack:
|
| case Resource::Shader:
|
| case Resource::ImportResource:
|
| + case Resource::Media:
|
| // 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)) {
|
| @@ -511,6 +528,7 @@ bool ResourceFetcher::canRequest(Resource::Type type, const KURL& url, const Res
|
| case Resource::LinkPrefetch:
|
| case Resource::LinkSubresource:
|
| break;
|
| + case Resource::Media:
|
| case Resource::TextTrack:
|
| if (!shouldBypassMainWorldContentSecurityPolicy && !m_document->contentSecurityPolicy()->allowMediaFromSource(url))
|
| return false;
|
|
|