Bug 1657224 - add a pref to control stopping media after media reaches to the end. r=chunmin

In bug1654045, we would stop controlling media once media reaches to the end. Considering some user might still want to control media by pressing media keys even if it has ended, so adding a pref to control this abilitiy.

Differential Revision: https://phabricator.services.mozilla.com/D85930
This commit is contained in:
alwu 2020-08-05 23:12:16 +00:00
parent 405d662683
commit 96afc7c19e
3 changed files with 16 additions and 1 deletions

View File

@ -5678,7 +5678,9 @@ void HTMLMediaElement::PlaybackEnded() {
mAutoplaying = true; mAutoplaying = true;
} }
mMediaControlKeyListener->StopIfNeeded(); if (StaticPrefs::media_mediacontrol_stopcontrol_aftermediaends()) {
mMediaControlKeyListener->StopIfNeeded();
}
DispatchAsyncEvent(u"ended"_ns); DispatchAsyncEvent(u"ended"_ns);
} }

View File

@ -2,6 +2,12 @@
const PAGE_URL = const PAGE_URL =
"https://example.com/browser/dom/media/mediacontrol/tests/file_non_looping_media.html"; "https://example.com/browser/dom/media/mediacontrol/tests/file_non_looping_media.html";
add_task(async function setupTestingPref() {
await SpecialPowers.pushPrefEnv({
set: [["media.mediacontrol.stopcontrol.aftermediaends", true]],
});
});
/** /**
* This test is used to ensure that we would stop controlling media after it * This test is used to ensure that we would stop controlling media after it
* reaches to the end. * reaches to the end.

View File

@ -7565,6 +7565,13 @@
value: 60000 value: 60000
mirror: always mirror: always
# If this pref is on, we would stop controlling media after it reaches to the
# end.
- name: media.mediacontrol.stopcontrol.aftermediaends
type: bool
value: true
mirror: always
# We would only use media control to control media which duration is longer # We would only use media control to control media which duration is longer
# than this value. # than this value.
- name: media.mediacontrol.eligible.media.duration.s - name: media.mediacontrol.eligible.media.duration.s