author | Randall Barker <rbarker@mozilla.com> |
Fri, 19 Jun 2015 17:12:00 +0200 | |
changeset 250241 | bd399cc8c6cab407b6f26931d9fd432275aa63b6 |
parent 250240 | 2d9a98adbac2b3139503e80b5a989789fa9f67d7 |
child 250242 | 39e7b3bc8ff74af268ab8878b57cc48b86ed8e88 |
push id | 28951 |
push user | cbook@mozilla.com |
push date | Fri, 26 Jun 2015 11:19:38 +0000 |
treeherder | mozilla-central@56e207dbb3bd [default view] [failures only] |
perfherder | [talos] [build metrics] [platform microbench] (compared to previous push) |
reviewers | cpearce |
bugs | 1173844 |
milestone | 41.0a1 |
first release with | nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
|
last release without | nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
|
--- a/dom/html/HTMLMediaElement.cpp +++ b/dom/html/HTMLMediaElement.cpp @@ -2196,17 +2196,21 @@ HTMLMediaElement::ResetConnectionState() ChangeReadyState(nsIDOMHTMLMediaElement::HAVE_NOTHING); } void HTMLMediaElement::Play(ErrorResult& aRv) { // Prevent media element from being auto-started by a script when // media.autoplay.enabled=false - if (!IsAutoplayEnabled() && !EventStateManager::IsHandlingUserInput() && !nsContentUtils::IsCallerChrome()) { + nsRefPtr<TimeRanges> played(Played()); + if (played->Length() == 0 + && !IsAutoplayEnabled() + && !EventStateManager::IsHandlingUserInput() + && !nsContentUtils::IsCallerChrome()) { LOG(LogLevel::Debug, ("%p Blocked attempt to autoplay media.", this)); return; } StopSuspendingAfterFirstFrame(); SetPlayedOrSeeked(true); if (mNetworkState == nsIDOMHTMLMediaElement::NETWORK_EMPTY) {