Index: Source/core/fetch/ResourceFetcher.cpp |
diff --git a/Source/core/fetch/ResourceFetcher.cpp b/Source/core/fetch/ResourceFetcher.cpp |
index 97051b5fc721e5936ce260badeb924b58c173a5d..b2324ed371d0cc45417c0664c8392ae8fa48a739 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 ResourceLoadPriorityVeryLow; |
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,17 @@ 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 +407,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 +471,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 +529,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; |