diff options
Diffstat (limited to 'webkit/media/webmediaplayer_impl.cc')
-rw-r--r-- | webkit/media/webmediaplayer_impl.cc | 22 |
1 files changed, 19 insertions, 3 deletions
diff --git a/webkit/media/webmediaplayer_impl.cc b/webkit/media/webmediaplayer_impl.cc index d42a359..8e335a6 100644 --- a/webkit/media/webmediaplayer_impl.cc +++ b/webkit/media/webmediaplayer_impl.cc @@ -82,6 +82,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, @@ -201,6 +210,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); @@ -237,9 +250,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"); @@ -367,6 +382,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()); |