diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-19 00:47:55 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-19 00:47:55 +0000 |
commit | 26a029d407be480d791972afb5975cf62c9360a6 (patch) | |
tree | f435a8308119effd964b339f76abb83a57c29483 /testing/web-platform/tests/html/semantics/embedded-content/the-img-element/source-media-outside-doc.html | |
parent | Initial commit. (diff) | |
download | firefox-26a029d407be480d791972afb5975cf62c9360a6.tar.xz firefox-26a029d407be480d791972afb5975cf62c9360a6.zip |
Adding upstream version 124.0.1.upstream/124.0.1
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'testing/web-platform/tests/html/semantics/embedded-content/the-img-element/source-media-outside-doc.html')
-rw-r--r-- | testing/web-platform/tests/html/semantics/embedded-content/the-img-element/source-media-outside-doc.html | 50 |
1 files changed, 50 insertions, 0 deletions
diff --git a/testing/web-platform/tests/html/semantics/embedded-content/the-img-element/source-media-outside-doc.html b/testing/web-platform/tests/html/semantics/embedded-content/the-img-element/source-media-outside-doc.html new file mode 100644 index 0000000000..5997e14e4b --- /dev/null +++ b/testing/web-platform/tests/html/semantics/embedded-content/the-img-element/source-media-outside-doc.html @@ -0,0 +1,50 @@ +<!DOCTYPE html> +<title>Image source selection using media queries is performed for img elements outside the document</title> +<link rel="help" href="https://html.spec.whatwg.org/#reacting-to-environment-changes"> +<link rel="help" href="https://html.spec.whatwg.org/#reacting-to-dom-mutations"> +<script src="/resources/testharness.js"></script> +<script src="/resources/testharnessreport.js"></script> +<iframe width="350" height="100" onload="async_test(this.contentWindow.run)" srcdoc=" +<!DOCTYPE html> +<script> +const { assert_equals } = parent; +const iframe = parent.document.querySelector('iframe'); + +function run(t) { + const picture = document.createElement('picture'); + + const source1 = document.createElement('source'); + source1.setAttribute('media', '(min-width: 300px)'); + source1.setAttribute('srcset', 'data:,a'); + picture.append(source1); + + const source2 = document.createElement('source'); + source2.setAttribute('media', '(min-width: 200px)'); + source2.setAttribute('srcset', 'data:,b'); + picture.append(source2); + + const img = document.createElement('img'); + img.src = 'data:,c'; + picture.append(img); + + queueMicrotask(t.step_func(function() { + assert_equals(img.currentSrc, 'data:,a', 'Initial currentSrc value'); + matchMedia(source1.media).addEventListener( + 'change', + function() { + queueMicrotask(t.step_func(function() { + assert_equals(img.currentSrc, 'data:,b', 'After MQ change'); + img.remove(); + queueMicrotask(t.step_func(function() { + assert_equals(img.currentSrc, 'data:,c', 'After removing img'); + t.done(); + })); + })); + }, + { once: true } + ); + iframe.width = 250; + })); +} +</script> +"></iframe> |