Skip to content
This repository has been archived by the owner on Jan 4, 2019. It is now read-only.

Commit

Permalink
1. Audio element should also repect auotplay setting
Browse files Browse the repository at this point in the history
fix brave/browser-laptop#11988
fix brave/browser-laptop#11527

2. Don't check user initiated video
fix brave/browser-laptop#12149

3. Default allow muted media
fix brave/browser-laptop#12152

4. Default allow for local files
fix brave/browser-laptop#8929

Auditors: @bridiver, @bbondy, @bsclifton
  • Loading branch information
darkdh committed Dec 18, 2017
1 parent 02ef956 commit 4850c4f
Showing 1 changed file with 10 additions and 17 deletions.
27 changes: 10 additions & 17 deletions patches/master_patch.patch
Original file line number Diff line number Diff line change
Expand Up @@ -1893,22 +1893,10 @@ index 19c7b569f19849f8fbb26c1faf2ac52f8fe7c566..0294416a183a13cd925adf89dd587289
if (GetWebMediaPlayer())
GetWebMediaPlayer()->SetVolume(EffectiveMediaVolume());
diff --git a/third_party/WebKit/Source/core/html/media/AutoplayPolicy.cpp b/third_party/WebKit/Source/core/html/media/AutoplayPolicy.cpp
index 9162bc3ba51153a494aa218007511054cdebbad7..e685ea161db22661d3a643cd37df8924c4439d15 100644
index 9162bc3ba51153a494aa218007511054cdebbad7..5ac1a5971a2d9c767210d350944bbb45c766e208 100644
--- a/third_party/WebKit/Source/core/html/media/AutoplayPolicy.cpp
+++ b/third_party/WebKit/Source/core/html/media/AutoplayPolicy.cpp
@@ -264,6 +264,11 @@ void AutoplayPolicy::UnlockUserGesture() {
}

bool AutoplayPolicy::IsGestureNeededForPlayback() const {
+ // MUON(darkdh): check autoplay setting
+ if (!IsAutoplayAllowedPerSettings()) {
+ return true;
+ }
+
if (!IsLockedPendingUserGesture())
return false;

@@ -280,14 +285,16 @@ bool AutoplayPolicy::IsGestureNeededForPlaybackIfPendingUserGestureIsLocked()
@@ -280,15 +280,20 @@ bool AutoplayPolicy::IsGestureNeededForPlaybackIfPendingUserGestureIsLocked()
// - Data Saver is not enabled;
// - Preload was not disabled (low end devices);
// - Autoplay is enabled in settings;
Expand All @@ -1920,6 +1908,7 @@ index 9162bc3ba51153a494aa218007511054cdebbad7..e685ea161db22661d3a643cd37df8924
- element_->GetDocument()
- .GetSettings()
- ->GetForcePreloadNoneForMediaElements()) &&
- IsAutoplayAllowedPerSettings()) {
+ // if (element_->IsHTMLVideoElement() && element_->muted() &&
+ // RuntimeEnabledFeatures::AutoplayMutedVideosEnabled() &&
+ // !(element_->GetDocument().GetSettings() &&
Expand All @@ -1928,11 +1917,15 @@ index 9162bc3ba51153a494aa218007511054cdebbad7..e685ea161db22661d3a643cd37df8924
+ // element_->GetDocument()
+ // .GetSettings()
+ // ->GetForcePreloadNoneForMediaElements()) &&
+ // MUON(darkdh): only check autoplay setting
+ if (element_->IsHTMLVideoElement() &&
IsAutoplayAllowedPerSettings()) {
+ // MUON(darkdh): default allow muted media and local files
+ // only check autoplay setting for non-muted and non-local one
+ if ((element_->IsHTMLVideoElement() || element_->IsAudioElement()) &&
+ (element_->muted() ||
+ element_->GetDocument().origin() == String("null") ||
+ IsAutoplayAllowedPerSettings())) {
return false;
}

diff --git a/third_party/WebKit/Source/platform/bindings/V8PerIsolateData.cpp b/third_party/WebKit/Source/platform/bindings/V8PerIsolateData.cpp
index 7ee2fa858b93e1dd42ac27f982fb61eaf597aad4..b1c96c229077859865fd5ea03cdbd7747880e216 100644
--- a/third_party/WebKit/Source/platform/bindings/V8PerIsolateData.cpp
Expand Down

0 comments on commit 4850c4f

Please sign in to comment.