-
Notifications
You must be signed in to change notification settings - Fork 6.6k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Import wpt@198b52bdc909eae3a9bf9c8fc423e156639787ee
Using wpt-import in Chromium ff16408. Note to sheriffs: This CL imports external tests and adds expectations for those tests; if this CL is large and causes a few new failures, please fix the failures by adding new lines to TestExpectations rather than reverting. See: https://chromium.googlesource.com/chromium/src/+/main/docs/testing/web_platform_tests.md NOAUTOREVERT=true R=rubber-stamper@appspot.gserviceaccount.com No-Export: true Validate-Test-Flakiness: skip Cq-Include-Trybots: luci.chromium.try:linux-wpt-identity-fyi-rel,linux-wpt-input-fyi-rel,linux-blink-rel Change-Id: I91f07a0bce3612091f0ef1bfebdccd721daae6b7 Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/4951982 Commit-Queue: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com> Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com> Auto-Submit: WPT Autoroller <wpt-autoroller@chops-service-accounts.iam.gserviceaccount.com> Cr-Commit-Position: refs/heads/main@{#1212057}
- Loading branch information
Chromium WPT Sync
authored and
Chromium LUCI CQ
committed
Oct 19, 2023
1 parent
6fddbd1
commit c2da585
Showing
3 changed files
with
89 additions
and
10 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
45 changes: 45 additions & 0 deletions
45
...pt/html/semantics/embedded-content/the-iframe-element/iframe-loading-lazy-base-url-3.html
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,45 @@ | ||
<!DOCTYPE html> | ||
<head> | ||
<title>Deferred iframes with loading='lazy' changed to eager later | ||
use the document's base URL computed at parse-time</title> | ||
<link rel="author" title="Oliver Medhurst" href="mailto:omedhurst@mozilla.com"> | ||
<script src="/resources/testharness.js"></script> | ||
<script src="/resources/testharnessreport.js"></script> | ||
<script src="../resources/common.js"></script> | ||
<base href='/html/semantics/embedded-content/the-iframe-element/resources/'> | ||
</head> | ||
|
||
<script> | ||
const below_viewport_iframe = new ElementLoadPromise("below-viewport"); | ||
|
||
let has_window_loaded = false; | ||
|
||
async_test(t => { | ||
// Change the base URL and scroll down to load the deferred iframe. | ||
window.addEventListener("load", t.step_func(() => { | ||
const base = document.querySelector('base'); | ||
base.href = '/invalid-url-where-no-subresources-exist/'; | ||
has_window_loaded = true; | ||
below_viewport_iframe.element().loading = 'eager'; | ||
})); | ||
|
||
below_viewport_iframe.promise.then( | ||
t.step_func_done(() => { | ||
assert_true(has_window_loaded, | ||
"Below-viewport loading=lazy iframes do not block the " + | ||
"window load event"); | ||
assert_true(below_viewport_iframe.element().contentDocument.body. | ||
innerHTML.includes("<p>Subframe</p>"), | ||
"The loading=lazy iframe's content is accessible upon loading"); | ||
})); | ||
|
||
}, "When a loading=lazy iframe is changed to eager later before loading, it loads relative to the " + | ||
"document's base URL computed at parse-time."); | ||
</script> | ||
|
||
<body> | ||
<div style="height:1000vh"></div> | ||
<iframe id="below-viewport" src="subframe.html" loading="lazy" | ||
width="200px" height="100px" onload="below_viewport_iframe.resolve()"> | ||
</iframe> | ||
</body> |