Index: webkit/media/webmediaplayer_impl.cc |
diff --git a/webkit/media/webmediaplayer_impl.cc b/webkit/media/webmediaplayer_impl.cc |
index 84c48c8e53b6d29af3a781c41179c29125393053..262eb28486f519048753d9ebe5091573e137bab0 100644 |
--- a/webkit/media/webmediaplayer_impl.cc |
+++ b/webkit/media/webmediaplayer_impl.cc |
@@ -81,6 +81,15 @@ const float kMaxRate = 16.0f; |
namespace webkit_media { |
+#define COMPILE_ASSERT_MATCHING_ENUM(name) \ |
+ COMPILE_ASSERT(static_cast<int>(WebKit::WebMediaPlayer::CORSMode ## name) == \ |
+ static_cast<int>(BufferedResourceLoader::k ## name), \ |
+ mismatching_enums) |
+COMPILE_ASSERT_MATCHING_ENUM(Unspecified); |
+COMPILE_ASSERT_MATCHING_ENUM(Anonymous); |
+COMPILE_ASSERT_MATCHING_ENUM(UseCredentials); |
+#undef COMPILE_ASSERT_MATCHING_ENUM |
+ |
WebMediaPlayerImpl::WebMediaPlayerImpl( |
WebKit::WebFrame* frame, |
WebKit::WebMediaPlayerClient* client, |
@@ -198,6 +207,10 @@ URLSchemeForHistogram URLScheme(const GURL& url) { |
} // anonymous namespace |
void WebMediaPlayerImpl::load(const WebKit::WebURL& url) { |
+ load(url, CORSModeUnspecified); |
+} |
+ |
+void WebMediaPlayerImpl::load(const WebKit::WebURL& url, CORSMode cors_mode) { |
DCHECK_EQ(main_loop_, MessageLoop::current()); |
GURL gurl(url); |
@@ -233,9 +246,11 @@ void WebMediaPlayerImpl::load(const WebKit::WebURL& url) { |
// Otherwise it's a regular request which requires resolving the URL first. |
proxy_->set_data_source( |
new BufferedDataSource(main_loop_, frame_, media_log_)); |
- proxy_->data_source()->Initialize(url, base::Bind( |
- &WebMediaPlayerImpl::DataSourceInitialized, |
- base::Unretained(this), gurl)); |
+ proxy_->data_source()->Initialize( |
+ url, static_cast<BufferedResourceLoader::CORSMode>(cors_mode), |
+ base::Bind( |
+ &WebMediaPlayerImpl::DataSourceInitialized, |
+ base::Unretained(this), gurl)); |
is_local_source_ = !gurl.SchemeIs("http") && !gurl.SchemeIs("https"); |
@@ -362,6 +377,7 @@ void WebMediaPlayerImpl::setVisible(bool visible) { |
COMPILE_ASSERT_MATCHING_ENUM(PreloadNone, NONE); |
COMPILE_ASSERT_MATCHING_ENUM(PreloadMetaData, METADATA); |
COMPILE_ASSERT_MATCHING_ENUM(PreloadAuto, AUTO); |
+#undef COMPILE_ASSERT_MATCHING_ENUM |
void WebMediaPlayerImpl::setPreload(WebMediaPlayer::Preload preload) { |
DCHECK_EQ(main_loop_, MessageLoop::current()); |