Chromium Code Reviews| Index: webkit/media/webmediaplayer_impl.cc |
| diff --git a/webkit/media/webmediaplayer_impl.cc b/webkit/media/webmediaplayer_impl.cc |
| index 84c48c8e53b6d29af3a781c41179c29125393053..441ffb6493ff70e3fdd7a1cc0c2937e3ba1a911e 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::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,11 @@ URLSchemeForHistogram URLScheme(const GURL& url) { |
| } // anonymous namespace |
| void WebMediaPlayerImpl::load(const WebKit::WebURL& url) { |
| + load(url, Unspecified); |
| +} |
| + |
| +void WebMediaPlayerImpl::load(const WebKit::WebURL& url, |
| + CrossOriginAttribute cross_origin_attribute) { |
| DCHECK_EQ(main_loop_, MessageLoop::current()); |
| GURL gurl(url); |
| @@ -215,6 +229,7 @@ void WebMediaPlayerImpl::load(const WebKit::WebURL& url) { |
| if (BuildMediaStreamCollection(url, media_stream_client_, |
| message_loop_factory_.get(), |
| filter_collection_.get())) { |
| + DCHECK_EQ(cross_origin_attribute, Unspecified); |
|
scherkus (not reviewing)
2012/06/06 00:44:36
so adding a crossorigin attribute to a media strea
Ami GONE FROM CHROMIUM
2012/06/06 00:59:29
Done.
|
| StartPipeline(); |
| return; |
| } |
| @@ -225,6 +240,7 @@ void WebMediaPlayerImpl::load(const WebKit::WebURL& url) { |
| message_loop_factory_.get(), |
| filter_collection_.get(), |
| &video_decoder)) { |
| + DCHECK_EQ(cross_origin_attribute, Unspecified); |
| proxy_->set_video_decoder(video_decoder); |
| StartPipeline(); |
| return; |
| @@ -233,9 +249,12 @@ 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::CrossOriginAttribute>( |
| + cross_origin_attribute), |
| + base::Bind( |
| + &WebMediaPlayerImpl::DataSourceInitialized, |
| + base::Unretained(this), gurl)); |
| is_local_source_ = !gurl.SchemeIs("http") && !gurl.SchemeIs("https"); |
| @@ -362,6 +381,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()); |