зеркало из https://github.com/mozilla/gecko-dev.git
Bug 1302350 - part5 : modify test to make sure blocked media won't dispatch 'play' event. r=baku
Add test case to make sure the blocked media won't dispatch 'play' event. MozReview-Commit-ID: JXibqgVrKce --HG-- extra : rebase_source : 5cb4d564ddfb366f12560b921e33ffa5c9fb1627
This commit is contained in:
Родитель
a7414dc3e6
Коммит
5476b14a53
|
@ -14,6 +14,31 @@ function wait_for_event(browser, event) {
|
|||
});
|
||||
}
|
||||
|
||||
function check_audio_onplay() {
|
||||
var list = content.document.getElementsByTagName('audio');
|
||||
if (list.length != 1) {
|
||||
ok(false, "There should be only one audio element in page!")
|
||||
}
|
||||
|
||||
var audio = list[0];
|
||||
return new Promise((resolve, reject) => {
|
||||
audio.onplay = () => {
|
||||
ok(needToReceiveOnPlay, "Should not receive play event!");
|
||||
this.onplay = null;
|
||||
reject();
|
||||
};
|
||||
|
||||
audio.pause();
|
||||
audio.play();
|
||||
|
||||
setTimeout(() => {
|
||||
ok(true, "Doesn't receive play event when media was blocked.");
|
||||
audio.onplay = null;
|
||||
resolve();
|
||||
}, 1000)
|
||||
});
|
||||
}
|
||||
|
||||
function check_audio_suspended(suspendedType) {
|
||||
var list = content.document.getElementsByTagName('audio');
|
||||
if (list.length != 1) {
|
||||
|
@ -120,6 +145,8 @@ function* suspended_block(url, browser) {
|
|||
browser.blockMedia();
|
||||
yield ContentTask.spawn(browser, SuspendedType.SUSPENDED_BLOCK,
|
||||
check_audio_suspended);
|
||||
yield ContentTask.spawn(browser, null,
|
||||
check_audio_onplay);
|
||||
|
||||
info("- resume blocked audio -");
|
||||
browser.resumeMedia();
|
||||
|
|
Загрузка…
Ссылка в новой задаче