| 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());
|
|
|