summaryrefslogtreecommitdiffstats
path: root/chromium/media/blink/webmediaplayer_impl.cc
diff options
context:
space:
mode:
Diffstat (limited to 'chromium/media/blink/webmediaplayer_impl.cc')
-rw-r--r--chromium/media/blink/webmediaplayer_impl.cc8
1 files changed, 8 insertions, 0 deletions
diff --git a/chromium/media/blink/webmediaplayer_impl.cc b/chromium/media/blink/webmediaplayer_impl.cc
index 8628760d4d0..590b94b4f16 100644
--- a/chromium/media/blink/webmediaplayer_impl.cc
+++ b/chromium/media/blink/webmediaplayer_impl.cc
@@ -1110,6 +1110,12 @@ bool WebMediaPlayerImpl::DidGetOpaqueResponseFromServiceWorker() const {
}
bool WebMediaPlayerImpl::HasSingleSecurityOrigin() const {
+ if (demuxer_found_hls_) {
+ // HLS manifests might pull segments from a different origin. We can't know
+ // for sure, so we conservatively say no here.
+ return false;
+ }
+
if (data_source_)
return data_source_->HasSingleOrigin();
return true;
@@ -1472,6 +1478,8 @@ void WebMediaPlayerImpl::OnError(PipelineStatus status) {
#if defined(OS_ANDROID)
if (status == PipelineStatus::DEMUXER_ERROR_DETECTED_HLS) {
+ demuxer_found_hls_ = true;
+
renderer_factory_selector_->SetUseMediaPlayer(true);
pipeline_controller_.Stop();