Index: Source/core/fetch/ResourceFetcher.cpp |
diff --git a/Source/core/fetch/ResourceFetcher.cpp b/Source/core/fetch/ResourceFetcher.cpp |
index 22ee93f6544fbbfe3ecb10d376d6e1462eb9b5f2..182217d187a1a77e53580b01004ea781f8866121 100644 |
--- a/Source/core/fetch/ResourceFetcher.cpp |
+++ b/Source/core/fetch/ResourceFetcher.cpp |
@@ -89,6 +89,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); |
@@ -126,6 +127,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; |
@@ -216,6 +219,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; |
@@ -377,6 +382,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)); |
+} |
+ |
void ResourceFetcher::preCacheSubstituteDataForMainResource(const FetchRequest& request, const SubstituteData& substituteData) |
{ |
const KURL& url = request.url(); |
@@ -415,6 +430,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; |
@@ -478,6 +494,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)) { |
@@ -535,6 +552,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; |