mirror of
https://github.com/mozilla/gecko-dev.git
synced 2024-10-24 18:55:30 +00:00
Bug 1581767 [wpt PR 19115] - [LayoutNG] Correct overflow inside anonymous blocks inside %-insets., a=testonly
Automatic update from web-platform-tests [LayoutNG] Correct overflow inside anonymous blocks inside %-insets. NGPhysicalLineBoxFragment::ScrollableOverflow() compared the computed style passed as container_style to the computed style of each child, and it would calculate the child's relative offset only if they differed. All element nodes have their own computed style, so this only mattered for text nodes. However, if the container was an anonymous block, they'd always differ, since the computed style of a text node is the same as that of the parent DOM node. This is an implementation detail; we save some memory by letting text nodes share computed style objects with their containing DOM node. But that also means that extra care is required when working with ComputedStyle objects associated with text nodes: basically, treat all non-inherited-by-default properties (such as 'position', 'top' and 'left') as if they were set to their initial value. Bug: 1002485 Change-Id: If77d79e45c2aa55ac30dc239c738e2a40f8326f9 Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1807813 Reviewed-by: Aleks Totic <atotic@chromium.org> Commit-Queue: Morten Stenshorne <mstensho@chromium.org> Cr-Commit-Position: refs/heads/master@{#697324} -- wpt-commits: 3472889e27404a9b3c893845156848a0c5fbda9b wpt-pr: 19115
This commit is contained in:
parent
2144d6511c
commit
994e8be1bd
@ -0,0 +1,23 @@
|
||||
<!DOCTYPE html>
|
||||
<link rel="author" title="Morten Stenshorne" href="mailto:mstensho@chromium.org">
|
||||
<link rel="help" href="https://www.w3.org/TR/CSS22/visuren.html#propdef-left">
|
||||
<link rel="help" href="https://www.w3.org/TR/CSS22/visuren.html#relative-positioning">
|
||||
<link rel="help" href="https://www.w3.org/TR/CSS22/visuren.html#anonymous-block-level">
|
||||
<link rel="help" href="https://bugs.chromium.org/p/chromium/issues/detail?id=1002485">
|
||||
<p>There should be no red, and no scrollbar.</p>
|
||||
<div id="container" style="overflow:auto; width:500px; background:red;">
|
||||
<div style="padding-right:90%; background:yellow;">
|
||||
<div style="position:relative; left:900%; background:cyan;">
|
||||
<div></div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<script src="/resources/testharness.js"></script>
|
||||
<script src="/resources/testharnessreport.js"></script>
|
||||
<script>
|
||||
container.scrollLeft = 123456;
|
||||
test(()=> {
|
||||
assert_equals(container.scrollLeft, 0);
|
||||
}, "Left percentage resolved correctly for overflow contribution");
|
||||
</script>
|
Loading…
Reference in New Issue
Block a user