mirror of
https://github.com/mozilla/gecko-dev.git
synced 2024-10-19 08:15:31 +00:00
Bug 1592889 [wpt PR 20013] - Don't look for property containers with multiple fragments., a=testonly
Automatic update from web-platform-tests Don't look for property containers with multiple fragments. The MapToVisualRectInAncestorSpace fast-path needs a LayoutObject with LocalBorderBoxProperties set, so that it can call into GeometryMapper. If the start LayoutObject does not have one, it proceeds up the containing block chain until it finds one, and uses the FirstFragment() of the resulting LayoutObject. This is wrong in cases where there multiple fragments on the LayoutObject, because we don't know which one to choose. In such cases, fall back to the slow path. Bug: 999551 Change-Id: I887c15c3acbe41432b2ca64e5a1551f3765a5043 Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1892058 Commit-Queue: Xianzhu Wang <wangxianzhu@chromium.org> Reviewed-by: Xianzhu Wang <wangxianzhu@chromium.org> Cr-Commit-Position: refs/heads/master@{#711263} -- wpt-commits: af0a7431ab977b1c169075a10fd44944b05079f9 wpt-pr: 20013 Differential Revision: https://phabricator.services.mozilla.com/D53587
This commit is contained in:
parent
39901d5542
commit
67b9391f70
@ -0,0 +1,48 @@
|
||||
<!DOCTYPE html>
|
||||
<head>
|
||||
<title>Images with loading='lazy' load when in the viewport</title>
|
||||
<link rel="author" title="Chris Harrelson" href="mailto:chrishtr@chromium.org">
|
||||
<link rel="help" href="https://github.com/scott-little/lazyload">
|
||||
<script src="/resources/testharness.js"></script>
|
||||
<script src="/resources/testharnessreport.js"></script>
|
||||
</head>
|
||||
|
||||
<!--
|
||||
Marked as tentative until https://github.com/whatwg/html/pull/3752 is landed.
|
||||
-->
|
||||
|
||||
<script>
|
||||
const t = async_test("Test that images with loading='lazy' under multicol load once they enter the viewport.");
|
||||
|
||||
let has_in_viewport_loaded = false;
|
||||
let has_window_loaded = false;
|
||||
|
||||
const in_viewport_img_onload = t.step_func(function() {
|
||||
assert_false(has_in_viewport_loaded, "The in_viewport element should load only once.");
|
||||
has_in_viewport_loaded = true;
|
||||
});
|
||||
|
||||
window.addEventListener("load", t.step_func_done(function() {
|
||||
assert_true(has_in_viewport_loaded, "The in_viewport element should have loaded before window.load().");
|
||||
assert_false(has_window_loaded, "The window.load() event should only fire once.");
|
||||
has_window_loaded = true;
|
||||
}));
|
||||
|
||||
</script>
|
||||
|
||||
<div class=texty style="column-count: 2; height: 300px">
|
||||
<div style="border: 1px solid black">
|
||||
<h2 style="column-span: all"></h2>
|
||||
<img loading="lazy" src="resources/image.png?first" width="160" height="120"
|
||||
onload="in_viewport_img_onload()">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!--
|
||||
This async script loads very slowly in order to ensure that, if the
|
||||
below_viewport element has started loading, it has a chance to finish
|
||||
loading before window.load() happens, so that the test will dependably fail
|
||||
in that case instead of potentially passing depending on how long different
|
||||
resource fetches take.
|
||||
-->
|
||||
<script async src="/common/slow.py"></script>
|
Loading…
Reference in New Issue
Block a user