Index: webkit/media/buffered_resource_loader.cc |
diff --git a/webkit/media/buffered_resource_loader.cc b/webkit/media/buffered_resource_loader.cc |
index c552cba3ec2abb4707e87a0cae1090237f504d2e..17f4d75cf23008da8293053c645004796625e57a 100644 |
--- a/webkit/media/buffered_resource_loader.cc |
+++ b/webkit/media/buffered_resource_loader.cc |
@@ -105,6 +105,7 @@ static void ComputeTargetBufferWindow(float playback_rate, int bitrate, |
BufferedResourceLoader::BufferedResourceLoader( |
const GURL& url, |
+ CrossOriginAttribute cross_origin_attribute, |
int64 first_byte_position, |
int64 last_byte_position, |
DeferStrategy strategy, |
@@ -118,6 +119,7 @@ BufferedResourceLoader::BufferedResourceLoader( |
range_supported_(false), |
saved_forward_capacity_(0), |
url_(url), |
+ cross_origin_attribute_(cross_origin_attribute), |
first_byte_position_(first_byte_position), |
last_byte_position_(last_byte_position), |
single_origin_(true), |
@@ -184,9 +186,15 @@ void BufferedResourceLoader::Start( |
loader = test_loader_.Pass(); |
} else { |
WebURLLoaderOptions options; |
- options.allowCredentials = true; |
- options.crossOriginRequestPolicy = |
- WebURLLoaderOptions::CrossOriginRequestPolicyAllow; |
+ if (cross_origin_attribute_ == kUnspecified) { |
+ options.crossOriginRequestPolicy = |
+ WebURLLoaderOptions::CrossOriginRequestPolicyAllow; |
+ } else { |
+ options.crossOriginRequestPolicy = |
+ WebURLLoaderOptions::CrossOriginRequestPolicyUseAccessControl; |
+ if (cross_origin_attribute_ == kUseCredentials) |
+ options.allowCredentials = true; |
+ } |
loader.reset(frame->createAssociatedURLLoader(options)); |
} |