Backed out changeset 029a69533eb9 (bug 1841432) for causing wpt perma failures at resource-selection-source-media-env-change.html CLOSED TREE

This commit is contained in:
Cristina Horotan 2023-10-06 00:49:47 +03:00
parent ddf1824cda
commit b6e35dc0f0
2 changed files with 10 additions and 20 deletions

View File

@ -5,20 +5,10 @@
<div id=log></div>
<iframe src="resources/media-min-width.html" width="300"></iframe>
<script>
// promises for the iframed test to resolve
let beforeEnvChange = new Promise((resolve, reject) => {
window[0].resolveBeforeEnvChange = resolve;
});
let afterEnvChange = new Promise((resolve, reject) => {
window[0].resolveAfterEnvChange = resolve;
});
let afterLoadCalled = new Promise((resolve, reject) => {
window[0].resolveAfterLoadCalled = resolve;
});
const t = promise_test(async () => {
[beforeEnvChange, afterEnvChange, afterLoadCalled] = await Promise.all([ beforeEnvChange, afterEnvChange, afterLoadCalled ]);
assert_equals(beforeEnvChange, '#a', 'beforeEnvChange');
assert_equals(afterEnvChange, '#a', 'afterEnvChange');
assert_equals(afterLoadCalled, '#b', 'afterLoadCalled');
await new Promise(resolve => window.onload = resolve);
assert_equals(window[0].beforeEnvChange, '#a', 'beforeEnvChange');
assert_equals(window[0].afterEnvChange, '#a', 'afterEnvChange');
assert_equals(window[0].afterLoadCalled, '#b', 'afterLoadCalled');
});
</script>

View File

@ -1,5 +1,5 @@
<!DOCTYPE html>
<video width="200"></video>
<video></video>
<script>
function createSource(src, media) {
var source = document.createElement('source');
@ -14,18 +14,18 @@ const hash = str => str.substr(str.lastIndexOf('#'));
(async () => {
const v = document.querySelector('video');
v.getBoundingClientRect(); // force layout flush. ensure viewport dimensions are up-to-date
v.append(createSource('/media-source/mp4/test.mp4#a', '(min-width: 200px)'));
v.append(createSource('/media-source/mp4/test.mp4#b'));
v.append(createSource('delayed-broken-video.py#a', '(min-width: 200px)'));
v.append(createSource('delayed-broken-video.py#b'));
await rAF();
await rAF();
window.resolveBeforeEnvChange(hash(v.currentSrc));
window.beforeEnvChange = hash(v.currentSrc);
window.frameElement.width = '150';
await rAF();
await rAF();
window.resolveAfterEnvChange(hash(v.currentSrc));
window.afterEnvChange = hash(v.currentSrc);
v.load()
await rAF();
await rAF();
window.resolveAfterLoadCalled(hash(v.currentSrc));
window.afterLoadCalled = hash(v.currentSrc);
})();
</script>