Commit graph

96 commits

Author SHA1 Message Date
Sebastian Hengst
603bb53f34 Backed out 210 changesets (bug 1634781, bug 1635593, bug 1636959, bug 1635957, bug 1634942, bug 1629179, bug 1634613, bug 1633868, bug 1636952, bug 1634944, bug 1635539, bug 1636045, bug 1589335, bug 1636575, bug 1635043, bug 1635996, bug 1635643, bug 1635994, bug 1634529, bug 1593063, bug 1635049, bug 1633606, bug 1635808, bug 1636310, bug 1636358, bug 1634070, bug 1635418, bug 1636258, bug 1634622, bug 1625663, bug 1635306, bug 1635004, bug 1634575, bug 1636399, bug 1635086, bug 1626529, bug 1636693, bug 1634136, bug 1635323, bug 1633934, bug 1634249, bug 1636652, bug 1636565, bug 1629063, bug 1633854, bug 1636090, bug 1600404, bug 1634802, bug 1635928, bug 1635425, bug 1633673, bug 1636099, bug 1636345, bug 1635078, bug 1637109, bug 1635342, bug 1635838, bug 1633074, bug 1637101, bug 1635804, bug 1634630, bug 1634774, bug 1632046, bug 1636017, bug 1633690, bug 1635673, bug 1636115, bug 1635138, bug 1636910, bug 1637211, bug 1636462, bug 1634118, bug 1635336, bug 1634161, bug 1636978, bug 1632614, bug 1634581, bug 1636834, bug 1635337, bug 1633787, bug 1633588, bug 1636833, bug 1635702, bug 1634298, bug 1635316, bug 1634725, bug 1475158, bug 1636230, bug 1633441, bug 1635971, bug 1636573, bug 1634157, bug 1634150, bug 1633593, bug 1636020, bug 1635479, bug 1633999, bug 1636532, bug 1634510, bug 1636066, bug 1634718, bug 1637245, bug 1635141, bug 1636475, bug 1635304, bug 1634114, bug 1635782, bug 1635751, bug 1635780, bug 1629089, bug 1636435, bug 1634297, bug 1634697, bug 1636126, bug 1635217, bug 1636000, bug 1635896, bug 1635817, bug 1636527, bug 1635815, bug 1631821, bug 1635813, bug 1634183, bug 1636853, bug 1633594, bug 1635453, bug 1634807, bug 1630901, bug 1635845, bug 1635988, bug 1633611, bug 1635195, bug 1635712, bug 1634067, bug 1636172, bug 1625005, bug 1634214, bug 1633691, bug 1636134, bug 1631998, bug 1634612, bug 1636322, bug 1634794, bug 1634611, bug 1635315, bug 1636605, bug 1636288, bug 1635541, bug 1636875, bug 1636876, bug 1636449, bug 1636448, bug 1630074, bug 1637486, bug 1628246, bug 1633577) for breaking spidermonkey tasks. CLOSED TREE
Backed out changeset 7baa72e0d62c (bug 1637486)
Backed out changeset 24e38d0cf349 (bug 1635702)
Backed out changeset a99469886218 (bug 1635702)
Backed out changeset 0bd06c295951 (bug 1637211)
Backed out changeset 893f40e8ac70 (bug 1637211)
Backed out changeset 7e4449460eee (bug 1636952)
Backed out changeset abc7724f7d24 (bug 1637109)
Backed out changeset 3c4aacfb190a (bug 1637245)
Backed out changeset 525bb6234d13 (bug 1636978)
Backed out changeset 835a90775878 (bug 1636575)
Backed out changeset 4bdd2bf8bfdc (bug 1637101)
Backed out changeset 798fcf5806f2 (bug 1636448)
Backed out changeset b149189f5709 (bug 1636853)
Backed out changeset eaaf46684e6b (bug 1636853)
Backed out changeset bf2c79a02367 (bug 1635643)
Backed out changeset f7490320b8df (bug 1636959)
Backed out changeset 39802676a7be (bug 1633673)
Backed out changeset 7653d8ea2bb1 (bug 1633673)
Backed out changeset 8ff49ccdfaae (bug 1636565)
Backed out changeset b762ce260918 (bug 1636875)
Backed out changeset b51eb4a114f1 (bug 1636910)
Backed out changeset 9be231469888 (bug 1636876)
Backed out changeset 5f31e57991c2 (bug 1636876)
Backed out changeset e7ed97376186 (bug 1636833)
Backed out changeset 15829e9f9a7e (bug 1636834)
Backed out changeset 1f72f3314c56 (bug 1636693)
Backed out changeset dcaef651485b (bug 1636693)
Backed out changeset 6ed863230896 (bug 1636000)
Backed out changeset a78843c7ef14 (bug 1636652)
Backed out changeset d57c402d46bb (bug 1636115)
Backed out changeset 8a0d48c8c1b7 (bug 1636115)
Backed out changeset 11648974ec00 (bug 1636605)
Backed out changeset 0f1c47233fd4 (bug 1635336)
Backed out changeset 89945c20767c (bug 1636345)
Backed out changeset 1507bec4555a (bug 1636310)
Backed out changeset c958b21b4327 (bug 1636310)
Backed out changeset 38b803feeb5d (bug 1636573)
Backed out changeset 51e57a232c52 (bug 1636462)
Backed out changeset 3df317ddf64e (bug 1636475)
Backed out changeset 3558d6cb07cb (bug 1634611)
Backed out changeset eba6ef15a7aa (bug 1636449)
Backed out changeset a3d80f6ec681 (bug 1636322)
Backed out changeset c8af1076f821 (bug 1635928)
Backed out changeset eed3838091a8 (bug 1635928)
Backed out changeset 3dd0ae6d2877 (bug 1636532)
Backed out changeset 6363aded3202 (bug 1636527)
Backed out changeset a91492f9bd3a (bug 1636288)
Backed out changeset e794ef17f710 (bug 1636399)
Backed out changeset 00d3b4351cae (bug 1636399)
Backed out changeset eea7ac7afa28 (bug 1636258)
Backed out changeset 198d06f4a3ac (bug 1636435)
Backed out changeset a9af0e6c6aad (bug 1636435)
Backed out changeset 7d8a478f5229 (bug 1636358)
Backed out changeset b9d805f4ad84 (bug 1625663)
Backed out changeset 3ba9753e432d (bug 1625663)
Backed out changeset 00a302798522 (bug 1634781)
Backed out changeset 61cb70c9acd2 (bug 1634781)
Backed out changeset 1c3f93564684 (bug 1636172)
Backed out changeset f2f9303db917 (bug 1636099)
Backed out changeset ebe454a8398d (bug 1636099)
Backed out changeset 07851273e1f0 (bug 1635996)
Backed out changeset 66b52df06b60 (bug 1636090)
Backed out changeset 283a55f78426 (bug 1636090)
Backed out changeset ba81dc78cf8c (bug 1634630)
Backed out changeset c01d4b24f3d4 (bug 1634630)
Backed out changeset ef9f55092965 (bug 1636230)
Backed out changeset 17bd0106bfa3 (bug 1636134)
Backed out changeset 6a4900721412 (bug 1636134)
Backed out changeset 5ec143514b25 (bug 1636020)
Backed out changeset c95bfc5b1754 (bug 1636126)
Backed out changeset ef83e0b2b667 (bug 1636126)
Backed out changeset 42a3d86a2a35 (bug 1635988)
Backed out changeset 563f9d59de8a (bug 1636066)
Backed out changeset b5023fec8e1b (bug 1636066)
Backed out changeset eed68249208e (bug 1589335)
Backed out changeset 023fc1d6e3ae (bug 1636045)
Backed out changeset 8460a9f97320 (bug 1635195)
Backed out changeset 79bc807ec203 (bug 1635195)
Backed out changeset d94d118c0756 (bug 1475158)
Backed out changeset 77dc3674000e (bug 1475158)
Backed out changeset 4ce227790d3d (bug 1636017)
Backed out changeset 4a9c2c6d4bce (bug 1635804)
Backed out changeset 6875eb73b47b (bug 1635804)
Backed out changeset e42d99fdda4d (bug 1635994)
Backed out changeset b6ec228c3010 (bug 1635994)
Backed out changeset 0f3fcbd7d18a (bug 1635896)
Backed out changeset bda58835c160 (bug 1635971)
Backed out changeset 50d4da5c6410 (bug 1635957)
Backed out changeset 4a41195e5501 (bug 1635957)
Backed out changeset 566871c7c848 (bug 1626529)
Backed out changeset faebee3f4438 (bug 1626529)
Backed out changeset ead62ce864f1 (bug 1633611)
Backed out changeset 580f0a6ef09a (bug 1635673)
Backed out changeset 379915b4d665 (bug 1635845)
Backed out changeset 78843b66d294 (bug 1635780)
Backed out changeset 915823097c24 (bug 1635780)
Backed out changeset 333f3d7e16bd (bug 1635808)
Backed out changeset 8c4300aeeadf (bug 1635808)
Backed out changeset 427c0d23b596 (bug 1635838)
Backed out changeset 912b48052ffb (bug 1635751)
Backed out changeset 7b6728023cd7 (bug 1635751)
Backed out changeset 315ed672866a (bug 1635712)
Backed out changeset 6385d5f5470b (bug 1635712)
Backed out changeset 5de79055b0a3 (bug 1635304)
Backed out changeset 8a4401aa7e89 (bug 1634510)
Backed out changeset 697737336cb3 (bug 1635782)
Backed out changeset 1e3eb5c49723 (bug 1635817)
Backed out changeset 0600b9c3391a (bug 1635815)
Backed out changeset f021dcb83231 (bug 1635813)
Backed out changeset 2cfe4a548db9 (bug 1633999)
Backed out changeset 9c5ed78fdae7 (bug 1634622)
Backed out changeset 4c8c1aae1c9b (bug 1635593)
Backed out changeset 0b8d699ede30 (bug 1634161)
Backed out changeset d90d43b8b0d2 (bug 1634161)
Backed out changeset b183b4ccbbe0 (bug 1634697)
Backed out changeset f329a21efb6a (bug 1635323)
Backed out changeset 5ebe3065955e (bug 1635323)
Backed out changeset 2c48ea79c318 (bug 1633074)
Backed out changeset 5b9c257df30d (bug 1634183)
Backed out changeset 42255f44a64a (bug 1634613)
Backed out changeset 04a37833dbd2 (bug 1635337)
Backed out changeset 4399371f8772 (bug 1629089)
Backed out changeset 0c392fcc97ed (bug 1635342)
Backed out changeset 267d7af3baff (bug 1635342)
Backed out changeset fdaa51024719 (bug 1633606)
Backed out changeset 2b16450fca68 (bug 1635306)
Backed out changeset 81572d467873 (bug 1635541)
Backed out changeset c389789d23c2 (bug 1635541)
Backed out changeset 912dee6ba76e (bug 1635217)
Backed out changeset f1c61d14947a (bug 1635217)
Backed out changeset 8b49336c0021 (bug 1635479)
Backed out changeset 8ee704cc798a (bug 1635315)
Backed out changeset e6a223161a01 (bug 1635316)
Backed out changeset e765268e2111 (bug 1635539)
Backed out changeset 4cdd5e7c02c4 (bug 1634297)
Backed out changeset 7d6082e757cb (bug 1634297)
Backed out changeset 22978f4eca60 (bug 1634942)
Backed out changeset ea32130c91cb (bug 1635418)
Backed out changeset 7497cfcc89b8 (bug 1593063)
Backed out changeset aa30e97ff8f4 (bug 1593063)
Backed out changeset 273397b59609 (bug 1625005)
Backed out changeset 9fb6c336ec14 (bug 1629179)
Backed out changeset 3bea7f4bce08 (bug 1629179)
Backed out changeset 5fa2fa5c4100 (bug 1634118)
Backed out changeset 3c129f771366 (bug 1629063)
Backed out changeset e3f5022d2e98 (bug 1634157)
Backed out changeset 6b4bbb6a1829 (bug 1635043)
Backed out changeset 08f9c82b1cae (bug 1635043)
Backed out changeset a1684145f954 (bug 1634725)
Backed out changeset 1e7a63b8201d (bug 1633854)
Backed out changeset 96e901867dfc (bug 1633854)
Backed out changeset 7e4ddbfd531a (bug 1633593)
Backed out changeset ed206d4e48fb (bug 1635138)
Backed out changeset 56680380cb12 (bug 1635138)
Backed out changeset 128ca965d89e (bug 1635141)
Backed out changeset d6c45563fc0a (bug 1635086)
Backed out changeset 3886f4322f2b (bug 1635086)
Backed out changeset 2c391b283120 (bug 1631821)
Backed out changeset 820195d706c4 (bug 1635049)
Backed out changeset 89395cf3875c (bug 1634581)
Backed out changeset 295488f01cf2 (bug 1634581)
Backed out changeset 07af68b342f0 (bug 1634794)
Backed out changeset 6cfbeef8c071 (bug 1634794)
Backed out changeset 498d0e6754f6 (bug 1635078)
Backed out changeset c8b17acc49d2 (bug 1635004)
Backed out changeset a91930887fa2 (bug 1634944)
Backed out changeset ee2fbd0fd53e (bug 1634802)
Backed out changeset 59894d4cd777 (bug 1634802)
Backed out changeset 780f4e8e09cc (bug 1634807)
Backed out changeset d9d2b3b28bb5 (bug 1634807)
Backed out changeset f6023c604230 (bug 1630074)
Backed out changeset 332ae0b9c362 (bug 1632614)
Backed out changeset cd09a475f4dd (bug 1634774)
Backed out changeset 57540cedac41 (bug 1634136)
Backed out changeset 6c23227d3b6a (bug 1634612)
Backed out changeset dd7ae0531977 (bug 1634575)
Backed out changeset 7088d1301e7a (bug 1634070)
Backed out changeset 5b60b7cf3f2f (bug 1632046)
Backed out changeset 22ed9be42752 (bug 1634529)
Backed out changeset 50af11dcaed0 (bug 1633588)
Backed out changeset 93184a590f46 (bug 1633588)
Backed out changeset 733bc969a32e (bug 1630901)
Backed out changeset 88321df62173 (bug 1633934)
Backed out changeset ebd1dc23636c (bug 1635425)
Backed out changeset 2c37cd98181c (bug 1634114)
Backed out changeset 1c3968f96da6 (bug 1634114)
Backed out changeset 7e65c7d4c10c (bug 1633691)
Backed out changeset ad8618c32984 (bug 1634214)
Backed out changeset da0daa759fdc (bug 1635453)
Backed out changeset 9f6188ac30ce (bug 1633787)
Backed out changeset fb48a1a411b8 (bug 1633787)
Backed out changeset 6c2a0a65eb4f (bug 1634718)
Backed out changeset a8072af57203 (bug 1634718)
Backed out changeset 2a86ee8bf532 (bug 1634298)
Backed out changeset 87cf70157822 (bug 1633690)
Backed out changeset aa5aaef185f4 (bug 1634249)
Backed out changeset 1e8b09009b9c (bug 1633441)
Backed out changeset 7081cf7a95c6 (bug 1633441)
Backed out changeset a2740075b6ea (bug 1628246)
Backed out changeset 7bf043c2f796 (bug 1628246)
Backed out changeset c54d3d641172 (bug 1634150)
Backed out changeset bb9e97bac1f6 (bug 1634150)
Backed out changeset 8bb2e88875a5 (bug 1633594)
Backed out changeset 818305611ebe (bug 1633868)
Backed out changeset 88c0485b7dc3 (bug 1631998)
Backed out changeset 64d14cda8fbd (bug 1633577)
Backed out changeset 417cd0a8f560 (bug 1633577)
Backed out changeset 1952a07d64e3 (bug 1634067)
Backed out changeset bf8634838d26 (bug 1600404)
Backed out changeset 0f565474c9ea (bug 1600404)
2020-05-14 22:39:29 +02:00
Ian Kilpatrick
cfeaca2e02 Bug 1636833 [wpt PR 23496] - [FlexNG] Use fragment order as source of truth within simplified layout, a=testonly
Automatic update from web-platform-tests
[FlexNG] Use fragment order as source of truth within simplified layout

Step 3/4 in getting flex to use the simplified layout pass.

We need to use the fragment order as the source or truth as we use the
fragment order as the correct paint order.

The downside of this approach is that we now iterate twice over the
children, once for the fragments, and again for the nodes.

Adding placeholder fragments for the static-positions for the OOF
will fix this.

Bug: 845235
Change-Id: Idb149a25975885cee389c3bae1dd9021dbb5a467
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2187854
Commit-Queue: Koji Ishii <kojii@chromium.org>
Reviewed-by: Koji Ishii <kojii@chromium.org>
Cr-Commit-Position: refs/heads/master@{#767208}

--

wpt-commits: 9bbbd9e569e4e5533af0ce55ed4b699b715f7ec6
wpt-pr: 23496
2020-05-14 18:55:49 +00:00
Ian Kilpatrick
92f2b020d3 Bug 1636834 [wpt PR 23497] - [FlexNG] Make simplified layout algorithm use static-position from layer, a=testonly
Automatic update from web-platform-tests
[FlexNG] Make simplified layout algorithm use static-position from layer

Step 2/4 in getting flex to use the simplified layout pass.

Instead of re-calculating the static-position within the simplified
layout pass, store this on the paint-layer, and read it back during
the simplified pass.

This isn't ideal. A better way of doing this would be to add
"placeholder" fragments which contain this information instead.

Bug: 845235
Change-Id: I1e8af7f2c487f22c72d657eb1a20b3022329899e
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2185513
Commit-Queue: Koji Ishii <kojii@chromium.org>
Reviewed-by: Koji Ishii <kojii@chromium.org>
Cr-Commit-Position: refs/heads/master@{#767206}

--

wpt-commits: c313d1fe582d0361f3c2165799e0e4ded109f327
wpt-pr: 23497
2020-05-14 18:55:48 +00:00
haozhe
308991cd2c Bug 1628010 [wpt PR 22752] - Add more references to sticky position ref tests, a=testonly
Automatic update from web-platform-tests
Add more references to sticky position ref tests

This is a follow-up patch of
https://chromium-review.googlesource.com/c/chromium/src/+/2105754

This patch adds more reference rectangles to sticky ref-tests to catch
when the main thread position is different from the sticky position.

Bug: 1059272
Change-Id: Ib3101e58a95db134a427b2852bca4c4bd58f805e
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2137828
Reviewed-by: Robert Flack <flackr@chromium.org>
Commit-Queue: Hao Sheng <haozhes@chromium.org>
Cr-Commit-Position: refs/heads/master@{#761027}

--

wpt-commits: 9586cd0785957c1f58c58cc9df9bc7410ffe8aff
wpt-pr: 22752
2020-04-28 11:34:33 +00:00
Arthur Iakab
3ba06c51f6 Backed out 283 changesets (bug 1632885, bug 1631324, bug 1631891, bug 1631973, bug 1631550, bug 1632882, bug 1631654, bug 1630540, bug 1630628, bug 1631482, bug 1631652, bug 1631088, bug 1631120, bug 1631715, bug 1631083, bug 1488323, bug 1632334, bug 1632883, bug 1632238, bug 1632031, bug 1631817, bug 1632233, bug 1632230, bug 1631390, bug 1631126, bug 1630530, bug 1630760, bug 1628956, bug 1630630, bug 1631881, bug 1631648, bug 1632171, bug 1633228, bug 1633385, bug 1633387, bug 1630544, bug 1631034, bug 1633309, bug 1631923, bug 1632172, bug 1632410, bug 1632411, bug 1633435, bug 1632327, bug 1632320, bug 1632328, bug 1632329, bug 1631807, bug 1630889, bug 1631004, bug 1628915, bug 1628916, bug 1631961, bug 1630934, bug 1631732, bug 1627693, bug 1631731, bug 1631100, bug 1630354, bug 1630654, bug 1632860, bug 1630685, bug 1632398, bug 1625889, bug 1632656, bug 1632395, bug 1632258, bug 1632310, bug 1633426, bug 1633427, bug 1633420, bug 1632253, bug 1630955, bug 1631939, bug 1630572, bug 1630973, bug 1610634, bug 1632819, bug 1629485, bug 1632816, bug 1631030, bug 1631033, bug 1631032, bug 1630808, bug 1632382, bug 1632383, bug 1632702, bug 1632703, bug 1631507, bug 1631501, bug 1631989, bug 1633094, bug 1631356, bug 1619698, bug 1623734, bug 1630741, bug 1630749, bug 1630699, bug 1632174, bug 1630745, bug 1630823, bug 1632477, bug 1631900, bug 1628010, bug 1630693, bug 1627202, bug 1630909, bug 1624639, bug 1630938, bug 1630700, bug 1628931, bug 1633643, bug 1630469, bug 1630702, bug 1631513, bug 1633000, bug 1630703, bug 1621081, bug 1633489, bug 1630932, bug 1630931, bug 1630930, bug 1633277, bug 1587902, bug 1630831, bug 1632773, bug 1630689, bug 1630145, bug 1631850, bug 1631985, bug 1627208, bug 1631948, bug 1631115, bug 1631110, bug 1631111, bug 1633364, bug 1632905, bug 1632168, bug 1631470, bug 1632604, bug 1631764, bug 1630768, bug 1632608, bug 1630692, bug 1631485, bug 1632512, bug 1633578, bug 1629688, bug 1632282, bug 1631279, bug 1632041, bug 1632044, bug 1631842, bug 1633704, bug 1630846, bug 1632681, bug 1631967, bug 1630842, bug 1624710, bug 1631286, bug 1632610, bug 1630798, bug 1631777, bug 1631264, bug 1630669, bug 1630711, bug 1630915, bug 1630910, bug 1632506, bug 1632195, bug 1632190, bug 1629196, bug 1631601, bug 1632988, bug 1632596, bug 1632746, bug 1632537, bug 1633114, bug 1622512, bug 1630906, bug 1626150, bug 1633059, bug 1632435, bug 1631098, bug 1631413, bug 1632266, bug 1617988, bug 1630684, bug 1630147, bug 1632106, bug 1631704, bug 1631314, bug 1630709, bug 1633056, bug 1632222, bug 1630861, bug 1632580, bug 1628972, bug 1631148, bug 1632586) for causing web platform failures.
CLOSED TREE

Backed out changeset 2545233d9410 (bug 1633704)
Backed out changeset 60a87bfc559a (bug 1633114)
Backed out changeset 5e9a6c965ed7 (bug 1633114)
Backed out changeset 82fba3a68f28 (bug 1632041)
Backed out changeset eb40eab59089 (bug 1632041)
Backed out changeset c1c2c8827a01 (bug 1633056)
Backed out changeset a21b653891a4 (bug 1633056)
Backed out changeset dcec16f6a03d (bug 1630955)
Backed out changeset 099aa92486bc (bug 1633578)
Backed out changeset e0f5465cc350 (bug 1633489)
Backed out changeset 01615f7b96b2 (bug 1633489)
Backed out changeset d5ab266f6e49 (bug 1632258)
Backed out changeset 68ed94156f5e (bug 1632258)
Backed out changeset 2e504c661c1f (bug 1632282)
Backed out changeset f320781ad562 (bug 1633643)
Backed out changeset d8837618cf7c (bug 1633364)
Backed out changeset f520c9410f2b (bug 1632656)
Backed out changeset ea9e312d445a (bug 1632656)
Backed out changeset bf392ed64d77 (bug 1633426)
Backed out changeset 90bde6d489a7 (bug 1633426)
Backed out changeset 77580d362ab0 (bug 1632435)
Backed out changeset 1d9bb5947f41 (bug 1632435)
Backed out changeset 87fb18deb640 (bug 1622512)
Backed out changeset 2d7efe7a7383 (bug 1622512)
Backed out changeset 4747c9840307 (bug 1633000)
Backed out changeset f7bfbc0992a6 (bug 1633387)
Backed out changeset d679aba86925 (bug 1631482)
Backed out changeset a459441e04e2 (bug 1633277)
Backed out changeset 650ec6f46c2e (bug 1633277)
Backed out changeset 7dc0328ced91 (bug 1633094)
Backed out changeset 4c569b7c9e10 (bug 1633309)
Backed out changeset 29dc91bbd90b (bug 1624639)
Backed out changeset a443c75e0008 (bug 1624639)
Backed out changeset 536c22746d91 (bug 1632860)
Backed out changeset 2e845c540ffa (bug 1633385)
Backed out changeset f220f492cbd7 (bug 1631550)
Backed out changeset 822bd0461851 (bug 1632580)
Backed out changeset 65842dd31fb2 (bug 1632580)
Backed out changeset 96ac9981ce2c (bug 1632773)
Backed out changeset ed6e6a032a82 (bug 1631842)
Backed out changeset 458ce658d824 (bug 1631842)
Backed out changeset cdde438271ee (bug 1632222)
Backed out changeset 77c6b30ce09a (bug 1632222)
Backed out changeset 3d0acbbb6a8b (bug 1633228)
Backed out changeset 7033320aabd2 (bug 1631314)
Backed out changeset a7102debdc09 (bug 1631314)
Backed out changeset ea05ed88009b (bug 1632746)
Backed out changeset 3cf69cff00f8 (bug 1632746)
Backed out changeset 60cea20c32a4 (bug 1632681)
Backed out changeset 2dee4c123245 (bug 1632988)
Backed out changeset 3318c19a1642 (bug 1633059)
Backed out changeset 45cdd5e23485 (bug 1631973)
Backed out changeset d1583c5916b9 (bug 1631939)
Backed out changeset 7b9acbee64f6 (bug 1631939)
Backed out changeset 614b8a80a6a0 (bug 1632883)
Backed out changeset 4ba949f441f9 (bug 1632885)
Backed out changeset f2fe2ea32a80 (bug 1632882)
Backed out changeset d58755c3fd90 (bug 1632703)
Backed out changeset 31e479ea7605 (bug 1632608)
Backed out changeset 9a0cd8abc9b5 (bug 1632905)
Backed out changeset 6b001eb70b33 (bug 1632819)
Backed out changeset 8be3ce5bbf79 (bug 1632816)
Backed out changeset 6483fc7ffd41 (bug 1621081)
Backed out changeset 38fcdb8fde8a (bug 1621081)
Backed out changeset 00be66227a0c (bug 1619698)
Backed out changeset 28d1dd0a877e (bug 1619698)
Backed out changeset ed06ca73fddf (bug 1631900)
Backed out changeset d5aefccd6b07 (bug 1631900)
Backed out changeset 4ef12cfc7a60 (bug 1628916)
Backed out changeset 10e8bc75d539 (bug 1628916)
Backed out changeset feacdb5d1e3f (bug 1632382)
Backed out changeset 5f6680be8c1f (bug 1632382)
Backed out changeset a166a212947a (bug 1632702)
Backed out changeset 1653b1f8fa8c (bug 1632610)
Backed out changeset e751eb6792f9 (bug 1632610)
Backed out changeset ce079604fd80 (bug 1632410)
Backed out changeset 6eed6e94e674 (bug 1632604)
Backed out changeset fe675f691dc3 (bug 1632411)
Backed out changeset c79284fd8660 (bug 1632327)
Backed out changeset 063909b2c95f (bug 1632334)
Backed out changeset 9c528be6bc57 (bug 1631850)
Backed out changeset 8082006b8431 (bug 1631850)
Backed out changeset 6ae235fb8755 (bug 1632233)
Backed out changeset ba73d704edeb (bug 1632233)
Backed out changeset f0ad858be229 (bug 1632168)
Backed out changeset 0c2186154820 (bug 1632596)
Backed out changeset 77fc5d39cd7d (bug 1632537)
Backed out changeset cbbcbc4a0440 (bug 1632586)
Backed out changeset c85de587e30c (bug 1632395)
Backed out changeset 5b4f83a9f54d (bug 1632266)
Backed out changeset 5c1079a1e387 (bug 1632266)
Backed out changeset 6344b4a9d60d (bug 1632398)
Backed out changeset 72fdfa67f9c1 (bug 1631654)
Backed out changeset 55784d6c6ba0 (bug 1631654)
Backed out changeset c997a4fa1ab0 (bug 1632328)
Backed out changeset 38fde477dea9 (bug 1632506)
Backed out changeset c0ea2c6ebf91 (bug 1632506)
Backed out changeset 97d27ac13166 (bug 1631807)
Backed out changeset 5166b022fda8 (bug 1631807)
Backed out changeset 30097d54120c (bug 1632329)
Backed out changeset 3ca5ca3ccd11 (bug 1632320)
Backed out changeset 5dcb12ada2e2 (bug 1632512)
Backed out changeset 7b4d6080f23c (bug 1632512)
Backed out changeset 75c177bcdbda (bug 1632477)
Backed out changeset a870aedf9da0 (bug 1632477)
Backed out changeset 9ea50f4afb57 (bug 1630530)
Backed out changeset fbe9d9c589b3 (bug 1630530)
Backed out changeset 90859eeeacb2 (bug 1631704)
Backed out changeset bf3fe7d7d7f7 (bug 1632383)
Backed out changeset 98d776c34384 (bug 1631513)
Backed out changeset 6f1046cc9a56 (bug 1631513)
Backed out changeset f7498902204d (bug 1632310)
Backed out changeset b4c21d6c137e (bug 1631648)
Backed out changeset 74704c4f3d2d (bug 1632171)
Backed out changeset 9eaceb35934a (bug 1632171)
Backed out changeset 779273edaf95 (bug 1633704)
Backed out changeset d49a0349f0bc (bug 1631985)
Backed out changeset 6a349c347319 (bug 1632253)
Backed out changeset f640897b7f64 (bug 1632172)
Backed out changeset 8236f2312205 (bug 1632172)
Backed out changeset 51094411f815 (bug 1632174)
Backed out changeset e7e2d87f4e19 (bug 1632174)
Backed out changeset 28c38e708ee7 (bug 1632238)
Backed out changeset 22b4c441833a (bug 1632230)
Backed out changeset 77f5099ba866 (bug 1632106)
Backed out changeset 6e66a8368620 (bug 1630540)
Backed out changeset d6ebb1b3f1e4 (bug 1630540)
Backed out changeset 4147a555fd8f (bug 1631356)
Backed out changeset a1a73fefe890 (bug 1631356)
Backed out changeset f73dcfd7eb89 (bug 1631923)
Backed out changeset 2a111b498451 (bug 1631923)
Backed out changeset 1d97827c7f22 (bug 1630628)
Backed out changeset c097bb9806e3 (bug 1633435)
Backed out changeset d5bfa9d7951c (bug 1632190)
Backed out changeset 9867ed789924 (bug 1632044)
Backed out changeset 74aa03678383 (bug 1632044)
Backed out changeset 7e77d1342851 (bug 1632195)
Backed out changeset 5ea36c39a03d (bug 1631967)
Backed out changeset 4cff8dadbe13 (bug 1631967)
Backed out changeset 93c88b1e5e6d (bug 1631652)
Backed out changeset 9dec44cc0695 (bug 1631817)
Backed out changeset 605ffc6b1985 (bug 1631817)
Backed out changeset 10656899d1c3 (bug 1631961)
Backed out changeset f374e85e2585 (bug 1631989)
Backed out changeset c3c4d094f6a4 (bug 1631989)
Backed out changeset 831cf441ac2d (bug 1631413)
Backed out changeset 42c5bfc2fdc5 (bug 1631413)
Backed out changeset 18298abe9dfe (bug 1632031)
Backed out changeset f9cf507fdd2f (bug 1587902)
Backed out changeset 1dec2d9d8ecb (bug 1587902)
Backed out changeset 8cea95a7c155 (bug 1631948)
Backed out changeset 739bf2134673 (bug 1631731)
Backed out changeset 837ce6b45149 (bug 1631731)
Backed out changeset 568df667bb04 (bug 1631100)
Backed out changeset 10e5780fd4f1 (bug 1631115)
Backed out changeset c058567f5299 (bug 1631891)
Backed out changeset c8b5dfce5b59 (bug 1631891)
Backed out changeset fd93207f2bda (bug 1631732)
Backed out changeset 8f60c9938cf2 (bug 1631732)
Backed out changeset 91ca84116f3a (bug 1630709)
Backed out changeset a8adacf0c03c (bug 1630709)
Backed out changeset 0e2c09678d3c (bug 1631148)
Backed out changeset 70ec1e07978c (bug 1631881)
Backed out changeset 8ad29f64900b (bug 1630745)
Backed out changeset 97b1855713ee (bug 1630745)
Backed out changeset da0de5d24686 (bug 1630699)
Backed out changeset e29464cb384f (bug 1628010)
Backed out changeset 44b9e5cf7901 (bug 1628010)
Backed out changeset 806757491bc2 (bug 1631777)
Backed out changeset b245fc8b4d71 (bug 1623734)
Backed out changeset 9e30428fc2e3 (bug 1623734)
Backed out changeset 008c17dba5d3 (bug 1633704)
Backed out changeset 8542291831eb (bug 1631764)
Backed out changeset e32d9e2604d7 (bug 1631715)
Backed out changeset 02f367234e41 (bug 1630910)
Backed out changeset 46d259f127e1 (bug 1631501)
Backed out changeset fd415357cc81 (bug 1630711)
Backed out changeset baafa9da99f9 (bug 1630711)
Backed out changeset 189c0e5e25dc (bug 1631601)
Backed out changeset b4489b28cd64 (bug 1631083)
Backed out changeset 1587b222de8c (bug 1624710)
Backed out changeset 897d8f75940c (bug 1624710)
Backed out changeset 4ccc79413bc0 (bug 1630741)
Backed out changeset eca719b7e4ac (bug 1630798)
Backed out changeset 6c1b091503ab (bug 1631033)
Backed out changeset 437bc728811c (bug 1631033)
Backed out changeset e7a2771142cb (bug 1631032)
Backed out changeset 534578abf597 (bug 1631098)
Backed out changeset 71a431251ea1 (bug 1631034)
Backed out changeset ba97b8d14d26 (bug 1631507)
Backed out changeset 77f430240e24 (bug 1631470)
Backed out changeset a503a9cc4f47 (bug 1627693)
Backed out changeset 4a017c52def6 (bug 1627693)
Backed out changeset e6b00e56c76f (bug 1628931)
Backed out changeset 98cd0a5fb4a5 (bug 1628931)
Backed out changeset c810b8fdfc11 (bug 1610634)
Backed out changeset 31660eba618e (bug 1610634)
Backed out changeset 0ac3b51de8df (bug 1628915)
Backed out changeset 50d5b346dad1 (bug 1628915)
Backed out changeset cd70bfb7cc1b (bug 1631485)
Backed out changeset a6a660a8a88b (bug 1627202)
Backed out changeset 24cfed11a1be (bug 1627202)
Backed out changeset 94234649707e (bug 1625889)
Backed out changeset 34a457166b9b (bug 1625889)
Backed out changeset 57c0636727cf (bug 1633427)
Backed out changeset 02dd60cff6bf (bug 1633427)
Backed out changeset e797ade7daf3 (bug 1631286)
Backed out changeset e7d2903a8933 (bug 1631390)
Backed out changeset 085b151bc364 (bug 1630931)
Backed out changeset 60f8a2c79761 (bug 1630938)
Backed out changeset 4b71669d07a2 (bug 1630846)
Backed out changeset 47a7f5dff41b (bug 1631030)
Backed out changeset 1b478a07a922 (bug 1631030)
Backed out changeset 33e95f7622de (bug 1631279)
Backed out changeset e32697836293 (bug 1630700)
Backed out changeset 89084e284364 (bug 1630630)
Backed out changeset 0f1bec1124c0 (bug 1630630)
Backed out changeset 6d0327c87285 (bug 1628972)
Backed out changeset e47bfc6d0c2c (bug 1628972)
Backed out changeset 88a1aca6b73e (bug 1630915)
Backed out changeset aa7c4db8a7ce (bug 1630915)
Backed out changeset d1301d37a7cf (bug 1631324)
Backed out changeset 11e0ee8c215c (bug 1631004)
Backed out changeset 48759a2692bc (bug 1631004)
Backed out changeset bb84f3d11504 (bug 1629485)
Backed out changeset 25d4a6fe9680 (bug 1629485)
Backed out changeset 4d245aa2dc75 (bug 1631264)
Backed out changeset 47574344aa30 (bug 1633704)
Backed out changeset 5e3aea6b1bee (bug 1633704)
Backed out changeset a9c05f834569 (bug 1633420)
Backed out changeset 9d1358adeb66 (bug 1633420)
Backed out changeset 686a8a990242 (bug 1630909)
Backed out changeset 0c385dd35317 (bug 1631126)
Backed out changeset a76855a3fa75 (bug 1631126)
Backed out changeset 11371c098898 (bug 1630973)
Backed out changeset e7ee59303983 (bug 1630808)
Backed out changeset 51992ac4f82d (bug 1631120)
Backed out changeset 577291b048fc (bug 1631111)
Backed out changeset 8dbdadd036df (bug 1630823)
Backed out changeset 11ac9b756da3 (bug 1630842)
Backed out changeset 52e6ea36e78b (bug 1630831)
Backed out changeset 79fb2ecef9aa (bug 1629196)
Backed out changeset 13f967c35fba (bug 1630768)
Backed out changeset 7396203591ce (bug 1630768)
Backed out changeset 4d72c3d5dbe4 (bug 1631110)
Backed out changeset b7e77a2f76ef (bug 1488323)
Backed out changeset 6c3c1802d829 (bug 1631088)
Backed out changeset 3b491d9e0295 (bug 1631088)
Backed out changeset d05bab8bacbe (bug 1630693)
Backed out changeset 44b8491d0865 (bug 1630749)
Backed out changeset ea1d31eacc76 (bug 1630749)
Backed out changeset 00318c48857e (bug 1630760)
Backed out changeset 9c055abc85ca (bug 1630354)
Backed out changeset 544d90149769 (bug 1630684)
Backed out changeset 244cb1f8877d (bug 1630684)
Backed out changeset 744e5e88b5a5 (bug 1630934)
Backed out changeset 2ade2be7413d (bug 1630934)
Backed out changeset 5d838462f68e (bug 1630654)
Backed out changeset 7c390bedc8c1 (bug 1630930)
Backed out changeset ff10baf1ba9a (bug 1630932)
Backed out changeset 6135277cc7a2 (bug 1630889)
Backed out changeset d3743137234a (bug 1617988)
Backed out changeset d449c0969f7c (bug 1617988)
Backed out changeset 5fb67cebf5d7 (bug 1630906)
Backed out changeset dd3c6f50bab1 (bug 1630692)
Backed out changeset 8fbd29626ef0 (bug 1630689)
Backed out changeset 127321787852 (bug 1629688)
Backed out changeset 6b00e1b45131 (bug 1630669)
Backed out changeset ec000bf96a57 (bug 1630685)
Backed out changeset 8f4100493ce8 (bug 1630544)
Backed out changeset 7b5990b350fc (bug 1630544)
Backed out changeset 117a74332d91 (bug 1627208)
Backed out changeset d5608087349f (bug 1630469)
Backed out changeset ed41748c4ca4 (bug 1630469)
Backed out changeset c15a329569fb (bug 1628956)
Backed out changeset d037c8f1ba65 (bug 1630861)
Backed out changeset 0c924492fd7f (bug 1626150)
Backed out changeset de334bdcbaeb (bug 1630702)
Backed out changeset 6300b31ac015 (bug 1630702)
Backed out changeset f29adf61d493 (bug 1630147)
Backed out changeset 88d8fbbfef80 (bug 1630145)
Backed out changeset 07ba92717056 (bug 1630703)
Backed out changeset fbfa56804efa (bug 1630572)
2020-05-01 07:17:33 +03:00
haozhe
a32f73d435 Bug 1628010 [wpt PR 22752] - Add more references to sticky position ref tests, a=testonly
Automatic update from web-platform-tests
Add more references to sticky position ref tests

This is a follow-up patch of
https://chromium-review.googlesource.com/c/chromium/src/+/2105754

This patch adds more reference rectangles to sticky ref-tests to catch
when the main thread position is different from the sticky position.

Bug: 1059272
Change-Id: Ib3101e58a95db134a427b2852bca4c4bd58f805e
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2137828
Reviewed-by: Robert Flack <flackr@chromium.org>
Commit-Queue: Hao Sheng <haozhes@chromium.org>
Cr-Commit-Position: refs/heads/master@{#761027}

--

wpt-commits: 9586cd0785957c1f58c58cc9df9bc7410ffe8aff
wpt-pr: 22752
2020-04-30 19:03:11 +00:00
haozhe
bdc2b709d0 Bug 1623217 [wpt PR 22312] - Verify layout position of sticky position elements in ref tests, a=testonly
Automatic update from web-platform-tests
Verify layout position of sticky position elements in ref tests

Verify sticky position while composition happens. Catch when the main
thread position is different from the sticky position of ref tests.

Bug: 1059272

Change-Id: I3ec4fa391b42ff3783b2e89347a4bd10ab81faaf
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2105754
Commit-Queue: Hao Sheng <haozhes@chromium.org>
Reviewed-by: Kevin Ellis <kevers@chromium.org>
Reviewed-by: Robert Flack <flackr@chromium.org>
Cr-Commit-Position: refs/heads/master@{#755248}

--

wpt-commits: 211c4a997d7622b034a82ef9b2772401c5fe771f
wpt-pr: 22312
2020-04-06 12:43:44 +00:00
David Bokan
4f921bbb30 Bug 1621725 [wpt PR 22195] - Fix position:sticky when inside fixed subtree, a=testonly
Automatic update from web-platform-tests
Fix position:sticky when inside fixed subtree

In https://crrev.com/4d25b125dae5 I changed the scroll tree parenting
logic so that elements in position:fixed subtrees have the LayoutView's
ScrollNode as the scroll parent. This made sense since scrolling over a
fixed element should cause the document to scroll. However, this is
slightly different from how the transform tree looks. Because scrolling
the document doesn't cause position:fixed eement so translate, these
nodes don't have the LayoutView's ScrollTranslation transform node as an
ancestor.

As a simple example, a scrolling document with a position:fixed <div>
scroller will generate the following scroll and transform trees
(approximately):

      *ScrollTree*                          *TransformTree*

         Root                                    Root
          |                                       |
VisualViewport Translation                 VisualViewport
          |                                  /         \
  LayoutView Translation                    /           \
          |                             Fixed      LayoutView
  Fixed Scroller Translation

The situation above makes sense for what parent-child relationships mean
in each tree: the scroll tree encodes how scrolls chain; scrolling on a
child should bubble up to its parent in this tree. The transform tree
encodes the physical effect of scrolling a node. In the above example,
scrolling from the fixed scroller should bubble up to the LayoutView
(when the scroller is fully scrolled) but scrolling the LayoutView will
not cause movement of the fixed scroller.

The above makes sense but caused sticky code to get confused. A sticky
constraint is attached to the scroll translation node. With the above
situation, this meant that inside a fixed subtree, we'd attach it to the
VisualViewport's scroll translation node. This was unexpected; the
constraints are in "document coordinates", meaning that to translate
them into the viewport space we must apply the scroll offset [1]. The
compositor would use the visual viewport's (typically 0) scroll offset
to adjust these values, leading to incorrect calculations.

This previously worked because the scroll node used in a fixed subtree
would be the visual viewport (before the CL mentioned at the top). In
[2] we check whether the current overflow clip is also our scroller,
prior to the CL this check have failed because "our scroller" was the
visual viewport but our clip was the LayoutView. Now they are both the
LayoutView.

The fix in this CL is to make the check in [2] more stringent; we also
want to make sure that our scroller is the nearest scroller in the
transform tree. That is, if we scroll it, will we cause the current node
to move? If not, we don't need a sticky constraint on the compositor
because user scrolling can't change the sticky's offset relative to its
clip.

[1] https://cs.chromium.org/chromium/src/cc/trees/property_tree.cc?l=321&rcl=628f869d1fda631a85f051ad13b5d278319298fc
[2] https://cs.chromium.org/chromium/src/third_party/blink/renderer/core/paint/paint_property_tree_builder.cc?l=553&rcl=99a5a1266f303ba6ae46174a2b4cbd165ea7e934

Bug: 1019142
Change-Id: I781943ff43514905d399803c780c6081d7d47e8f
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2097542
Reviewed-by: Robert Flack <flackr@chromium.org>
Commit-Queue: David Bokan <bokan@chromium.org>
Cr-Commit-Position: refs/heads/master@{#750264}

--

wpt-commits: 1e6645ce41bc902a4c60d6f90a934f9d6d8a258a
wpt-pr: 22195
2020-03-15 16:54:24 +00:00
Chris Harrelson
1795d587ea Bug 1618421 [wpt PR 22000] - Don't let a CompositingInputsRoot be a contain:strict element if it was dirty., a=testonly
Automatic update from web-platform-tests
Don't let a CompositingInputsRoot be a contain:strict element if it was dirty.

contain:strict elements are stopping points for ancestor recursion when
finding a CompositingInputsRoot, but this should only be for when
*descendants* of the contain:strict element are dirtied, not the
contain:strict element itself.

This problem exhibited in a bug in a case when the contain:strict
element was also position:sticky, causing it to fail to update sticky
position constraints as a result.

Bug: 1051455

Change-Id: If7e9f3d19ce5dc949ee9ba6ab7c0c0c2e03b2f20
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2076546
Reviewed-by: Manuel Rego <rego@igalia.com>
Commit-Queue: Chris Harrelson <chrishtr@chromium.org>
Cr-Commit-Position: refs/heads/master@{#745093}

--

wpt-commits: 859d8a4995e90ac5820ea4ae123aea72996c1a57
wpt-pr: 22000
2020-03-05 10:49:16 +00:00
Aleks Totic
c6f35dbde4 Bug 1609756 [wpt PR 21225] - [TableNG] Fix table's box sizing in UA stylesheet, a=testonly
Automatic update from web-platform-tests
[TableNG] Fix table's box sizing in UA stylesheet

Table width is treated as border-box width, but UA does not specify box-sizing,
so it defaults to content-box. This fixes it.

The fix required rebaseline of several tests.

The only "not clearly better" difference is %ge resolution block
size for captions. Old code resolved against table's border-box size,
new code resolves against content-box size.
FF/Edge/Legacy all disagree on what is the correct answer.

Filed a spec issue, hope to match FF.
https://github.com/w3c/csswg-drafts/issues/4676

Rebaseline details:

Better, passing more tests.
 .../tables/table-ua-stylesheet-expected.txt                     |   2 +-

Test depended on table's default box-sizing being content-box. Made
table's box sizing explicit for the test.
 .../web_tests/fast/borders/border-image-fill-no-border.html     |   3 +

Better. Was testing old bad behavior. Fixed up test also passes in FF.
 .../fast/table/min-width-html-block-table-expected.txt          | 120 ++++++++++++++--------------
 .../fast/table/min-width-html-inline-table-expected.txt         | 120 ++++++++++++++--------------
 .../web_tests/fast/table/script-tests/min-width-helpers.js      |  30 +++----

Better. Table's absolute position was incorrect. Correct now.
 .../platform/linux/tables/mozilla/bugs/bug145572-expected.png   | Bin 4239 -> 4238 bytes

Not better, just different. Different sizes are used to resolve caption
percentage heights.
 .../mozilla_expected_failures/bugs/bug3166-14-expected.png      | Bin 4477 -> 4477 bytes
 .../mozilla_expected_failures/bugs/bug3166-17-expected.png      | Bin 4446 -> 4444 bytes

Bug: 423997
Change-Id: I8e090390970a637713a9e1d4b62dc55114fd944b
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2003810
Reviewed-by: Ian Kilpatrick <ikilpatrick@chromium.org>
Reviewed-by: David Grogan <dgrogan@chromium.org>
Commit-Queue: Aleks Totic <atotic@chromium.org>
Cr-Commit-Position: refs/heads/master@{#733115}

--

wpt-commits: e671d58951e69df89c05fb3eb2a361be3303aa38
wpt-pr: 21225
2020-01-23 11:09:16 +00:00
haozhe
4d86f8b938 Bug 1606699 [wpt PR 21006] - Port css-position related composition tests to external, a=testonly
Automatic update from web-platform-tests
Port css-position related composition tests to external

Chrome and Firefox pass all

Bug: 1034538

Change-Id: I8f7de63e8c10ae3c6730bcd577de82cfce39a0c1
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1985120
Reviewed-by: Xida Chen <xidachen@chromium.org>
Commit-Queue: Hao Sheng <haozhes@chromium.org>
Cr-Commit-Position: refs/heads/master@{#729448}

--

wpt-commits: 57119ba2c3177038126580db1fd19224c4eef771
wpt-pr: 21006


--HG--
rename : testing/web-platform/tests/css/css-position/animation/position-interpolation.html => testing/web-platform/tests/css/css-position/animations/position-interpolation.html
2020-01-14 10:30:05 +00:00
Ting-Yu Lin
955de670f0 Bug 1598112 - Use scrolled frame's overflow rect as a the bounding box for position:sticky elements. r=emilio
This change effectively disallows sticky elements to enlarge overflow
area. That is, the position of a sticky element will be bounded by the
union of scrolled frame's border-box and the overflow area created by
other non-sticky elements within the same block formatting context.

This makes Firefox's position:sticky elements behaves like Google Chrome
in this respect.

Differential Revision: https://phabricator.services.mozilla.com/D54345

--HG--
extra : moz-landing-system : lando
2019-12-21 00:24:57 +00:00
Narcis Beleuzu
943efe9942 Backed out changeset b2e78ee1b18e (bug 1598112) for Linting failure on position-sticky-large-top-2-ref.tentative.html . CLOSED TREE 2019-12-21 02:02:00 +02:00
Ting-Yu Lin
c1ef537e20 Bug 1598112 - Use scrolled frame's overflow rect as a the bounding box for position:sticky elements. r=emilio
This change effectively disallows sticky elements to enlarge overflow
area. That is, the position of a sticky element will be bounded by the
union of scrolled frame's border-box and the overflow area created by
other non-sticky elements within the same block formatting context.

This makes Firefox's position:sticky elements behaves like Google Chrome
in this respect.

Differential Revision: https://phabricator.services.mozilla.com/D54345

--HG--
extra : moz-landing-system : lando
2019-12-20 19:30:05 +00:00
Ian Kilpatrick
c5a0f320f5 Bug 1603382 [wpt PR 20642] - [FlexNG] Add support for OOF-positioned static-positions within FlexNG., a=testonly
Automatic update from web-platform-tests
[FlexNG] Add support for OOF-positioned static-positions within FlexNG.

This builds on previous changes to (finally!) add the correct
static-positions within the NGFlexLayoutAlgorithm.

This takes into account the main-axis, and cross-axis
alignment/justification - and converts it to the correct
inline/block axis.

As we may not know the final block-size when we encounter an
OOF-positioned node, we "adjust" this within the fragment builder once
known.

This is important for block-end/block-center aligned OOF-positioned
nodes.

Bug: 845235
Change-Id: I45c89ae1f676ec06d742b86e4b744cfc3dbe6f75
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1841245
Commit-Queue: Ian Kilpatrick <ikilpatrick@chromium.org>
Reviewed-by: Morten Stenshorne <mstensho@chromium.org>
Reviewed-by: David Grogan <dgrogan@chromium.org>
Cr-Commit-Position: refs/heads/master@{#723411}

--

wpt-commits: d38cc357aae049b305f136d0f0f20e1058008442
wpt-pr: 20642
2019-12-16 17:41:21 +00:00
Ian Kilpatrick
9bdc940427 Bug 1602153 [wpt PR 20667] - Fix invalidation for OOF-positioned objects with a display change., a=testonly
Automatic update from web-platform-tests
Fix invalidation for OOF-positioned objects with a display change.

Previously this branch was too limiting. It was possible for both:
 - Parent() == ContainingBlock() and,
 - OriginalDisplay() == EDisplay::kInline or something else.

This means that we invalidate, and correctly re-calculate the new
static-position.

Change-Id: I045d7cc27c951b3ae0faa5dd14887852b38bc828
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1956373
Commit-Queue: Morten Stenshorne <mstensho@chromium.org>
Reviewed-by: Morten Stenshorne <mstensho@chromium.org>
Cr-Commit-Position: refs/heads/master@{#722798}

--

wpt-commits: e6b40ab46b6bea2dd79bf7365f12c7b0edd5ddf5
wpt-pr: 20667
2019-12-11 10:30:18 +00:00
Ian Kilpatrick
d019d58696 Bug 1595202 [wpt PR 20185] - [LayoutNGFragmentPaint] Fix containing-block of OOF-positioned objects., a=testonly
Automatic update from web-platform-tests
[LayoutNGFragmentPaint] Fix containing-block of OOF-positioned objects.

We had an issue in the existing invalidation code when an object could
contain an OOF-positioned node, but wasn't a LayoutBlock.

This already happens when we have a LayoutInline being a
containing-block, but there are other cases where this is true.

Clusterfuzz found that LayoutTableSection falls into this category.
E.g.
The OOF-positioned node would be inserted into the nearest
containing-block (the anonymous LayoutTable in this case).

When it stopped being a containing-block, the OOF-positioned node was
never removed from the LayoutTable.

This caused a crash when the OOF's layout was invalidated.
The OOF marked itself, and the LayoutView (its new containing block)
for layout.

But the LayoutView didn't know it had this as an OOF-positioned child.

This patch moves the current logic within LayoutBlock into
LayoutBoxModelObject.

Bug: 1021491, 1021676, 1022545
Change-Id: I0f0b4c8aa655fc7edca5d79379205a8d445713d5
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1906708
Reviewed-by: Aleks Totic <atotic@chromium.org>
Reviewed-by: Morten Stenshorne <mstensho@chromium.org>
Reviewed-by: Koji Ishii <kojii@chromium.org>
Commit-Queue: Ian Kilpatrick <ikilpatrick@chromium.org>
Cr-Commit-Position: refs/heads/master@{#714487}

--

wpt-commits: 491cd874e7bb2487829f83df8b25b2b70b4c5e22
wpt-pr: 20185
2019-11-29 10:56:12 +00:00
Ian Kilpatrick
41f5deb644 Bug 1593021 [wpt PR 20021] - [LayoutNG] Disable first-tier OOF-cache when borders/scrollbars are present., a=testonly
Automatic update from web-platform-tests
[LayoutNG] Disable first-tier OOF-cache when borders/scrollbars are present.

The first-tier OOF-cache attempts to skip all the OOF sizing and positioning
work required, as the other cache simply compares the constraint spaces
which can be (relatively) expensive to determine.

This first-tier cache works by comparing the available-size given to the
OOF-positioned descendant. If equal we can skip the OOF-positioned sizing
and positioning steps.

This mostly worked, however had an issue where the containing-block may have
added/removed a borders/scrollbars, but the available-size given remained
the same.

This resulted in an incorrectly positioned OOF-positioned node.

This fix disallows the first-tier cache when borders/scrollbars are present.
This is sufficiently rare that this cache still has a relatively high
hit-rate and is still relative cheap to calculate.

Bug: 1013866
Change-Id: I71d41d2c4b47bcff6412f395db2deabf2f6f3a8f
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1891768
Commit-Queue: Ian Kilpatrick <ikilpatrick@chromium.org>
Reviewed-by: Aleks Totic <atotic@chromium.org>
Reviewed-by: Morten Stenshorne <mstensho@chromium.org>
Cr-Commit-Position: refs/heads/master@{#714394}

--

wpt-commits: 87f0b7482549a035c7bd682f506f6bd88f569b60
wpt-pr: 20021
2019-11-29 10:56:07 +00:00
Aleks Totic
099693bb06 Bug 1591423 [wpt PR 19857] - [LayoutNG] ComputeReplacedSize edge case fix, a=testonly
Automatic update from web-platform-tests
[LayoutNG] ComputeReplacedSize edge case fix

Edge case for "have aspect ratio, but no intrinsic size"
If there was no intrinsic size, we treated it as no size at all.
But, if there is a css size, we should use that instead.

Bug: 1015311
Change-Id: Ia8f12bd23cda5c18b9aae318eee91906840475d3
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1877595
Commit-Queue: Aleks Totic <atotic@chromium.org>
Reviewed-by: Ian Kilpatrick <ikilpatrick@chromium.org>
Cr-Commit-Position: refs/heads/master@{#709134}

--

wpt-commits: cfffd794f8c086ac20c664658738a4dce18462c1
wpt-pr: 19857

Differential Revision: https://phabricator.services.mozilla.com/D53456
2019-11-20 11:18:30 +00:00
Cathie Chen
20bd8265c8 Bug 1566461 [wpt PR 17851] - Translate the scroll coordinate to ScrollOrigin, a=testonly
Automatic update from web-platform-tests
Translate the scroll coordinate to ScrollOrigin

Currently, the value of ScrollLeft / ScrollTop / ScrollTo for a box in
Element is the offset to the origin of ScrollableArea(left-top corner).
This behavior isn't consistent with Document-scroll or the behavior of
other vendors either whose origin is ScrollOrigin. There're compatibility
problems when the box has leftward or upwards scroll overflow direction.
According to the Specification, the scroll x-coordinate of a leftward box
is nonpositive, and the scroll y-coordinate of an upwards box is also
nonpositive. With using the origin of ScrollableArea, the coordinate
is always nonnegative.

In order to fix it, this patch transforms the scroll coordinate of a
box in Element interface to use ScrollOrigin as its origin.

There are a few cases needed to recalculate the scroll coordinate to
meet this change. Since the origin of scroll coordinate transforms
from the ScrollableArea origin to ScrollOrigin(), current_coordinate
is equal to old_coordinate - ScrollOrigin. E.g.
current_scrollLeft = old_scrollLeft - ScrollOrigin().X().

This behavior is guarded by a feature flag.

See intent to ship blink-dev thread:
https://groups.google.com/a/chromium.org/forum/#!topic/blink-dev/7X2CKPGeEa0

Bug: 721759
Change-Id: I0ceed62e6845c6e5cd976e59b36f292d60bb669c
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1700001
Reviewed-by: Jochen Eisinger <jochen@chromium.org>
Reviewed-by: David Bokan <bokan@chromium.org>
Reviewed-by: Frédéric Wang <fwang@igalia.com>
Commit-Queue: cathie chen <cathiechen@igalia.com>
Cr-Commit-Position: refs/heads/master@{#704470}

--

wpt-commits: 3001893957895fe522dee392b50deb6fde64d7d0
wpt-pr: 17851
2019-10-24 18:03:12 +01:00
Aleks Totic
a35ea1b6e4 Bug 1585889 [wpt PR 19487] - [LayoutNG] Fix clusterfuzz crash, a=testonly
Automatic update from web-platform-tests
[LayoutNG] Fix clusterfuzz crash

Using empty Optional<MinMax> to indicate that MinMax value
should not matter caused trouble with ng_length_utils
ResolveInlineLengthInternal, when max-width was fit-content.

Use MinMax(0, LayoutUnitMax) to indicate intrinsic size does
not matter instead. It accomplishes the same goal, computed
size does not get clamped by intrinsic.

I've also tested running it with width:max-content out of
fear that we might end up with too wide OOF, but that did
not happen.

Bug: 1010798
Change-Id: Ife11b3d9637be91cc0648b7f8485af51f07108bb
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1837118
Commit-Queue: Aleks Totic <atotic@chromium.org>
Auto-Submit: Aleks Totic <atotic@chromium.org>
Reviewed-by: Morten Stenshorne <mstensho@chromium.org>
Cr-Commit-Position: refs/heads/master@{#702525}

--

wpt-commits: baf914481d76b25d7d054a23564d5b5418dd9f8b
wpt-pr: 19487
2019-10-14 11:23:45 +00:00
Aleks Totic
518222a445 Bug 1584683 [wpt PR 19383] - [LayoutNG] Fix replaced abspos with no intrinsic size, a=testonly
Automatic update from web-platform-tests
[LayoutNG] Fix replaced abspos with no intrinsic size

One more abspos edge case:
Replaced element, with no intrinsic size, but with
intrinsic aspect ratio.

The example problem here is an SVG with aspect ratio,
but no intinsic size. According to the spec, its
inline size should fill container, and block size
should be derived from inline size and aspect ratio.

Existing code did not handle this case. If element
had no size, its size would be computed and get clamped
by minmax.

A replaced element with no size gets a default minmax of
300x150, so elements would effectively get clamped to minmax.

My fix is a bit of a hack. It uses absence of minmax as a signal
that size should not be clamped.

The intrinsic size handling is surprisingly complex for replaced
elements. I wonder if there  are any other parts of NG that
need a close look in how replaced with aspect ratio/no size
are handled.

FF handles this correctly. Legacy does not.

Bug: 1003545
Change-Id: I1510611ff84a99a26bcade74cace2855e022f997
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1830326
Commit-Queue: Aleks Totic <atotic@chromium.org>
Reviewed-by: Morten Stenshorne <mstensho@chromium.org>
Reviewed-by: Ian Kilpatrick <ikilpatrick@chromium.org>
Cr-Commit-Position: refs/heads/master@{#702150}

--

wpt-commits: 2f0b747361dc9b66b7dfc9e28d91fd84f346dd49
wpt-pr: 19383
2019-10-14 11:23:37 +00:00
Aleks Totic
2a91e1d362 Bug 1580790 [wpt PR 19011] - [LayoutNG] Fix abspos replaced size with margins, a=testonly
Automatic update from web-platform-tests
[LayoutNG] Fix abspos replaced size with margins

NG was computing inline_size of replaced elements
with no intrinsic size (only aspect ratio) incorrectly.
Element's margin was not considered.

The fixes are:
- update code to use margin when computing inline_size
- update wpt exaustive replaced size test to include margins
- remove many stale expectations for position-absolute-replaced-minmax.html

With the updated test, Legacy still fails single test. I might
have to update expectations.

Bug: 1002748
Change-Id: I98b8595ce0e4dc0d19d1d8020e33fe17e125d41d
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1799422
Commit-Queue: Aleks Totic <atotic@chromium.org>
Reviewed-by: Ian Kilpatrick <ikilpatrick@chromium.org>
Reviewed-by: Morten Stenshorne <mstensho@chromium.org>
Reviewed-by: Christian Biesinger <cbiesinger@chromium.org>
Cr-Commit-Position: refs/heads/master@{#696101}

--

wpt-commits: dbf3183cf1e15b216c94aac238268efd84df57ca
wpt-pr: 19011
2019-09-18 23:38:02 +00:00
Ian Kilpatrick
447b8aae23 Bug 1578926 [wpt PR 18859] - [LayoutNG] Simplified layout needs to account for table-cell intrinsic padding., a=testonly
Automatic update from web-platform-tests
[LayoutNG] Simplified layout needs to account for table-cell intrinsic padding.

Previously we didn't account for intrinsic-padding when determining the
static postiion in the simplified layout algorithm.

When using vertical-align: middle (or something which triggers intrinsic
padding) a OOF-position node might "jump".

This was found with the lastpass password manager.

Bug: 1000864
Change-Id: I94831f735a7e0992130ae065b0f6c9c6abb8c37a
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1785898
Reviewed-by: Christian Biesinger <cbiesinger@chromium.org>
Reviewed-by: Aleks Totic <atotic@chromium.org>
Commit-Queue: Ian Kilpatrick <ikilpatrick@chromium.org>
Cr-Commit-Position: refs/heads/master@{#693446}

--

wpt-commits: a6e7e60c55a11c1f12eeaa8384882fb3f70c127d
wpt-pr: 18859
2019-09-09 11:54:55 +01:00
Hiroyuki Ikezoe
aa7c736bad Bug 1563649 - As with display list item and reflow for position:fixed elements, use the adjusted layout viewport size getComputedStyle() r=mstange
Differential Revision: https://phabricator.services.mozilla.com/D41930

--HG--
extra : moz-landing-system : lando
2019-09-05 01:15:05 +00:00
Stephen McGruer
3226b72308 Bug 1576625 [wpt PR 18675] - Port a small collection of basic interpolation tests to WPT, a=testonly
Automatic update from web-platform-tests
Port a small collection of basic interpolation tests to WPT

These are mostly unrelated properties, but are also simple test cases.

Bug: 900581
Change-Id: I2353dbcb6ee733f9c0a9289b46eae4e00ade7c98
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1771576
Reviewed-by: Xida Chen <xidachen@chromium.org>
Commit-Queue: Stephen McGruer <smcgruer@chromium.org>
Cr-Commit-Position: refs/heads/master@{#690597}

--

wpt-commits: 86e33a2375adc1d8c4249b01e92c4af3fc175b9b
wpt-pr: 18675
2019-08-29 09:59:05 +00:00
Aleks Totic
84b3e135d7 Bug 1576251 [wpt PR 18646] - [LayoutNG] Fix DCHECK abspos crash, a=testonly
Automatic update from web-platform-tests
[LayoutNG] Fix DCHECK abspos crash

Do not DCHECK if values are saturated.

Bug: 996085
Change-Id: I1f9b299aef1f8bd5f18d6f4f05d50e33a7c1609d
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1769517
Commit-Queue: Aleks Totic <atotic@chromium.org>
Reviewed-by: Ian Kilpatrick <ikilpatrick@chromium.org>
Cr-Commit-Position: refs/heads/master@{#690402}

--

wpt-commits: 35f4c4c2a0baadbc5419a58750347076988c0e72
wpt-pr: 18646
2019-08-29 09:59:03 +00:00
Stephen McGruer
a9d622cb55 Bug 1574464 [wpt PR 18496] - Port {top, left, right, bottom}-interpolation.html to WPT, a=testonly
Automatic update from web-platform-tests
Port {top, left, right, bottom}-interpolation.html to WPT

Bug: 900581
Change-Id: Ib549a18ca17223ee252b2171194e25357f0ef45f
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1758133
Reviewed-by: Xida Chen <xidachen@chromium.org>
Commit-Queue: Stephen McGruer <smcgruer@chromium.org>
Cr-Commit-Position: refs/heads/master@{#687647}

--

wpt-commits: f47ff91b02764da1fe2ac37e788648f1b1366fcd
wpt-pr: 18496
2019-08-23 16:40:01 +00:00
Emilio Cobos Álvarez
79d6827e07 Bug 1456358 - Inhibit RecomputePosition when descendants depend on the out of flow position. r=dbaron
Differential Revision: https://phabricator.services.mozilla.com/D38194

--HG--
extra : moz-landing-system : lando
2019-07-29 13:43:29 +00:00
Ian Kilpatrick
08610a225f Bug 1565633 [wpt PR 17808] - [LayoutNG] Consider nodes with only floats/OOFs as block-level., a=testonly
Automatic update from web-platform-tests
[LayoutNG] Consider nodes with only floats/OOFs as block-level.

Legacy/WebKit have a "interesting" behaviour for empty-inlines in that
they determine the static position of any (inline-level) OOF-positioned
nodes as if they were in the block-level context.

Other browsers do the following (testcase):
https://www.software.hixie.ch/utilities/js/live-dom-viewer/?saved=7055

FF - all inline-level
Safari/Legacy - all block-level
Edge - block-level for default/block-level
NG (prior to this change) - inline-level for default/inline-level.

This change makes the "default" e.g. a node with just floats/OOFs as
block-level to pick up this static position behaviour.
This matches the EdgeHTML behaviour.

Bug: 980908
Change-Id: Ifb92bf7e34ada669fa16a1ee5f9e9edaf4546768
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1696345
Commit-Queue: Ian Kilpatrick <ikilpatrick@chromium.org>
Commit-Queue: Emil A Eklund <eae@chromium.org>
Reviewed-by: Emil A Eklund <eae@chromium.org>
Cr-Commit-Position: refs/heads/master@{#677105}

--

wpt-commits: 7d2e6ae20d62092517732c76fd8588975b95744e
wpt-pr: 17808
2019-07-24 13:34:24 +01:00
Eric Willigers
e00b0fd235 Bug 1565450 [wpt PR 17799] - [cssom] getComputedStyle not getComputedValue, a=testonly
Automatic update from web-platform-tests
[cssom] getComputedStyle not getComputedValue (#17799)

Fix typo in test titles.
--

wpt-commits: 9daa6ffd6eb28afb0940b7ac304b08e8383fc527
wpt-pr: 17799
2019-07-24 13:34:19 +01:00
Ian Kilpatrick
bb59e07725 Bug 1565544 [wpt PR 17782] - [LayoutNG] Consider inline-level OOF-positioned nodes as "adjoining"., a=testonly
Automatic update from web-platform-tests
[LayoutNG] Consider inline-level OOF-positioned nodes as "adjoining".

"adjoining" objects are used to indicate that a particular node might
need relayout once its BFC block-offset is resolved. Previously we
thought that we just needed to know about "adjoining-floats".

However inline-level OOF-positioned nodes also needs to know its BFC
block-offset as the static-position of these nodes depend on where
floats are.

Previously as we didn't know that we needed to relayout these nodes
we'd get the incorrect static-position. Now these nodes get the
correct static-position.

Bug: 982403, 980908
Change-Id: I89f18298fd7379358a681b98514891d8d35bc38e
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1692627
Reviewed-by: Emil A Eklund <eae@chromium.org>
Reviewed-by: Koji Ishii <kojii@chromium.org>
Commit-Queue: Ian Kilpatrick <ikilpatrick@chromium.org>
Cr-Commit-Position: refs/heads/master@{#676263}

--

wpt-commits: 4f954c15e1dc8cf94f7a2231f648fb640509d9d4
wpt-pr: 17782
2019-07-24 13:34:03 +01:00
Morten Stenshorne
aa82058557 Bug 1564705 [wpt PR 17602] - Don't consider fieldsets as replaced content., a=testonly
Automatic update from web-platform-tests
Don't consider fieldsets as replaced content.

They should be treated as regular block containers, as far as sizing is
concerned. The LayoutNG out-of-flow positioning machinery treated
fieldsets as replaced (since it was told to), and ended up with an
incorrect inline-size.

A "side-effect" of this fix is that now that fieldsets are no longer
treated as replaced content, they can can also fragment inside multicol
containers or paged media - just like any other block-level container.
This is good. There should be no reason to prohibit fragmentainer
breaks inside fieldsets. Added a test for it, to assert the new
behavior.

Bug: 979523
Change-Id: I2fd73f8324d3207c5d12c500b5632f631468ab34
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1685096
Reviewed-by: Ian Kilpatrick <ikilpatrick@chromium.org>
Reviewed-by: Koji Ishii <kojii@chromium.org>
Commit-Queue: Morten Stenshorne <mstensho@chromium.org>
Cr-Commit-Position: refs/heads/master@{#674096}

--

wpt-commits: 727763fa27f9d8d36c1c337dc2ac52ac092c61f0
wpt-pr: 17602
2019-07-24 13:32:31 +01:00
Aleks Totic
9ef4ee35c5 Bug 1564666 [wpt PR 17542] - [LayoutNG] Fix for incorrect Legacy containing block oof removal, a=testonly
Automatic update from web-platform-tests
[LayoutNG] Fix for incorrect Legacy containing block oof removal

When containing block changes from being an OOF container
to not being one, it needs to remove the positioned descendants
from its list of positioned objects.

If an OOF object remains in the positioned objects list,
it will cause NGOutOfLayoutPart::SweepLegacyDescendants
to go into an infinite loop and run out of memory. This
was fixed to just trigger a DCHECK in a recent CL.

LayoutInline::StyleDidChange did not perform OOF descendant
removal correctly. LayoutInline OOF descendants are stored in
first non-anonymous block on parent chain, (container's container)
which is not the same as ContainingBlock().

Added a method that computes container's container to
LayoutObject, and made LayoutInline call it.

This fix also works for fixed, because
fixed containers are always absolute containers.

Bug: 977930
Change-Id: I9f88fe676ec67d9d6751f3502507d773ed978dc8
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1680123
Commit-Queue: Aleks Totic <atotic@chromium.org>
Reviewed-by: Ian Kilpatrick <ikilpatrick@chromium.org>
Cr-Commit-Position: refs/heads/master@{#673156}

--

wpt-commits: a8405825541d608fd26f28b0af36e6b5c42fd70a
wpt-pr: 17542
2019-07-24 13:31:53 +01:00
Ian Kilpatrick
e14ce7c9e8 Bug 1561377 [wpt PR 17504] - [LayoutNG] Don't run the OOFLayoutPart if we have any adjoining floats., a=testonly
Automatic update from web-platform-tests
[LayoutNG] Don't run the OOFLayoutPart if we have any adjoining floats.

If we have adjoining floats we'll revisit the node to correctly place
floats. During the first pass we may not have floats present within
lineboxes, causing NGContainerFragmentBuilder::GetChildOffset to fail.

This makes sure we don't run the OOFLayoutPart for this condition.

There is a followup cleanup patch I'll send out for review later which
speculatively places floats avoiding this condition also:
https://chromium-review.googlesource.com/c/chromium/src/+/1619047

Bug: 976397
Change-Id: I10db8207357572521fc9103134cb6fbf885c4a94
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1676727
Commit-Queue: Morten Stenshorne <mstensho@chromium.org>
Reviewed-by: Morten Stenshorne <mstensho@chromium.org>
Reviewed-by: Koji Ishii <kojii@chromium.org>
Cr-Commit-Position: refs/heads/master@{#672423}

--

wpt-commits: 5a42c001e74045dd9347ce9870fb7a8f17e6286a
wpt-pr: 17504
2019-07-24 13:31:32 +01:00
Aleks Totic
d4f1901d92 Bug 1560889 [wpt PR 17390] - [LayoutNG] Fix DCHECK(NeedsLayout) for inline oof fixed container., a=testonly
Automatic update from web-platform-tests
[LayoutNG] Fix DCHECK(NeedsLayout) for inline oof fixed container.

NGOutOfFlowLayoutDescendant.inline_container was not being set
correctly for an Element if:
- There is an OOF containing block between Element and
its Container(). This can only happens if Element is
position:fixed.

This caused Element not to be laid out after it got dirty (but
its containing block did not).

The fix is to set inline_container when Element's
NGOutOfFlowDesecendantCandidate gets propagated up the OOF
containing block chain.

For a while, I was afraid that this fundamentally broke
the concept of inline_container. I could not come up
with a counterexample that broke this fix.

Bug: 974760
Change-Id: Id16a0057f0aefe183c30c53244dd5c46108f093c
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1666809
Commit-Queue: Aleks Totic <atotic@chromium.org>
Reviewed-by: Emil A Eklund <eae@chromium.org>
Reviewed-by: Koji Ishii <kojii@chromium.org>
Cr-Commit-Position: refs/heads/master@{#670634}

--

wpt-commits: b6343fc17a3035a0c2170f44fb63df2356aa2cb9
wpt-pr: 17390
2019-07-24 13:30:23 +01:00
Aleks Totic
ecb7117cfd Bug 1560856 [wpt PR 17350] - [LayoutNG] Fix for OOF position in simplified layout, a=testonly
Automatic update from web-platform-tests
[LayoutNG] Fix for OOF position in simplified layout

Bug: 970166
Change-Id: Ib85e5b819e5870c1867e6c753d9a250ea4e4a548
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1660205
Commit-Queue: Aleks Totic <atotic@chromium.org>
Reviewed-by: Ian Kilpatrick <ikilpatrick@chromium.org>
Cr-Commit-Position: refs/heads/master@{#669842}

--

wpt-commits: eb662aa07a1e2394169ca26fa6f1376a076c7d55
wpt-pr: 17350
2019-07-24 13:29:58 +01:00
Aleks Totic
9d79ba3d78 Bug 1558985 [wpt PR 17303] - [LayoutNG] the real youtube button fix, a=testonly
Automatic update from web-platform-tests
[LayoutNG] the real youtube button fix

Previous fix worked by eliminating cacheing of OOF Legacy
positioned elements. It was not the right fix.
https://chromium-review.googlesource.com/c/chromium/src/+/1649086

This fix backs out the original fix, and implements the correct fix:

OOF objects positioned by RunLegacyLayout could end up
with a cached layout result that had an old constraint space.
Fix is to force re-cache with new constraint space.

Bug: 970171
Change-Id: Ia9a7faea929083566f406db371ddcef058f2e4ab
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1652653
Commit-Queue: Aleks Totic <atotic@chromium.org>
Reviewed-by: Ian Kilpatrick <ikilpatrick@chromium.org>
Cr-Commit-Position: refs/heads/master@{#668709}

--

wpt-commits: b8eea2d704ec32a88a3b8b46a2d01e96b3a470b5
wpt-pr: 17303
2019-07-24 13:29:28 +01:00
Luke Zielinski
0ce9f7c61a Bug 1556841 [wpt PR 17173] - Load Ahem as a webfont everywhere (part 2), a=testonly
Automatic update from web-platform-tests
 Load Ahem as a webfont everywhere (part 2) (#17173)

This change updates a large number of reftests to link to the
`/fonts/ahem.css` stylesheet. Each file contains a single additional
line before the first `<style>` element:
```
<link rel="stylesheet" type="text/css" href="/fonts/ahem.css" />
```
--

wp5At-commits: 9c780585758acf5e9ac6d17ad9bd03c83404c7e6
wpt-pr: 17173
2019-06-19 11:06:58 -07:00
Aleks Totic
ac04e020fb Bug 1558207 [wpt PR 17234] - [LayoutNG] Minor inline container DCHECK fix, a=testonly
Automatic update from web-platform-tests
[LayoutNG] Minor inline container DCHECK fix

We already had a fix for inline, misssed fixing
it for block.

Bug: 967977
Change-Id: Iad883eca7761f0db203fc6e01d48466d7b09dfd5
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1648299
Reviewed-by: Koji Ishii <kojii@chromium.org>
Commit-Queue: Aleks Totic <atotic@chromium.org>
Cr-Commit-Position: refs/heads/master@{#667249}

--

wp5At-commits: 72d169bb495070a1531d4fac4e8b60d3e5111679
wpt-pr: 17234
2019-06-19 11:06:50 -07:00
Ian Kilpatrick
574604586f Bug 1557365 [wpt PR 16859] - [LayoutNG] Only reset a legacy cached result if OOF-positioned., a=testonly
Automatic update from web-platform-tests
[LayoutNG] Only reset a legacy cached result if OOF-positioned.

We had an issue with our simplified layout algorithm + relayout boundary
roots.

For this to trigger we needed a (legacy) layout object to be marked for
simplified layout which was also a relayout boundary root.

During LocalFrameView::PerformLayout, LayoutBox::UpdateLayout would run
on the legacy LayoutBox, and during LayoutBox::UpdateAfterLayout, this
would clear the LayoutBox::cached_layout_result_.

During another relayout boundary layout, we'd trigger simplified layout
for an NG node. This expects that there is always a cached layout
result associated with a box.
However this now wasn't the case, as the child had previously cleared
it, within LayoutBox::UpdateAfterLayout.

The guard inside LayoutBox::UpdateAfterLayout was designed to protect
against OOF-positioned nodes changing their layout parent, this
modifies that check do only clear the layout result of OOF-positioned
legacy layout objects.

Bug: 	963387, 963433, 963620
Change-Id: Ice1202bdb939689e26e24a8690a52e7d7e82ecbc
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1614082
Reviewed-by: Aleks Totic <atotic@chromium.org>
Commit-Queue: Ian Kilpatrick <ikilpatrick@chromium.org>
Cr-Commit-Position: refs/heads/master@{#660166}

--

wp5At-commits: c40cd30b2d4d686325f3b00403c1c3d0314219e3
wpt-pr: 16859
2019-06-19 11:05:28 -07:00
Ian Kilpatrick
638d6bfaa3 Bug 1551927 [wpt PR 16738] - [LayoutNG] Add the "simplified" layout pass., a=testonly
Automatic update from web-platform-tests
[LayoutNG] Add the "simplified" layout pass.

This introduces the simplified layout algorithm. This is triggered when
 - An OOF descendant has its constraints changed.
 - The block-size of a fragment changes in size.

There are several nuanced details with this algorithm. E.g. determining
the correct static position for an OOF descendant.

Bug: 635619
Change-Id: Iba4c4b82edf873fa4cad9ba28e9fa3849a4a8e8e
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1590237
Commit-Queue: Ian Kilpatrick <ikilpatrick@chromium.org>
Reviewed-by: Koji Ishii <kojii@chromium.org>
Reviewed-by: Morten Stenshorne <mstensho@chromium.org>
Cr-Commit-Position: refs/heads/master@{#659745}

--

wp5At-commits: 20b091dca60176b03c6c6cd8466619dd9cf370e2
wpt-pr: 16738
2019-06-19 11:05:21 -07:00
Morten Stenshorne
e15a3e3515 Bug 1550978 [wpt PR 16693] - Sticky positioning contributes to overflow at in-flow scroll position., a=testonly
Automatic update from web-platform-tests
Sticky positioning contributes to overflow at in-flow scroll position.

Even if a stickily positioned box sticks to the scrollport when
scrolling, that doesn't mean that the current distance to the start of
the scrollable container should make any difference during layout, as
far as overflow contribution from the stickily positioned box is
concerned.

Bug: 958803
Change-Id: I8a268c3ec2d5d62960f1f92322e75f932afe2a91
Cq-Include-Trybots: luci.chromium.try​:linux_layout_tests_layout_ng
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1597588
Reviewed-by: Emil A Eklund <eae@chromium.org>
Reviewed-by: Aleks Totic <atotic@chromium.org>
Reviewed-by: Stephen McGruer <smcgruer@chromium.org>
Commit-Queue: Morten Stenshorne <mstensho@chromium.org>
Cr-Commit-Position: refs/heads/master@{#657467}

--

wpt-commits: 36b5d2e074d7fe19c027c1659640c53212096b53
wpt-pr: 16693
2019-06-05 10:29:24 +01:00
Aleks Totic
223650c3c6 Bug 1550336 [wpt PR 16631] - [LayoutNG] OOF inline containing block continuation cleanup, a=testonly
Automatic update from web-platform-tests
[LayoutNG] OOF inline containing block continuation cleanup

Inline containing block dimensions were computed incorrectly if:
- inline OOF container was split
- OOF Element was inside non-root continuation

This happened because container dimensions were computed by
finding all fragments whose layout object root matched inline_container.
If inline container was not a root, no fragments were found.

Actual fix is simple: ensure that NGOutOfFlowPositionedDescendant
always points to the root.

While fixing this, I also did a little bit of cleanup. Main change was

- change NGOutOfFlowPositionedDescendant.inline_container to LayoutInline*
from LayoutObject*

Bug: 931867
Change-Id: Ibd3c0e9fdeffaf2c63d3f59386bc2ea223ec726b
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1592528
Commit-Queue: Aleks Totic <atotic@chromium.org>
Reviewed-by: Ian Kilpatrick <ikilpatrick@chromium.org>
Reviewed-by: Morten Stenshorne <mstensho@chromium.org>
Cr-Commit-Position: refs/heads/master@{#656269}

--

wpt-commits: e45156b5e558c062a609356905c83a0258c516e3
wpt-pr: 16631
2019-06-05 10:28:37 +01:00
Aleks Totic
b9ea8898f2 Bug 1550303 [wpt PR 16600] - [LayoutNG] Fix GetChildOffset problem, a=testonly
Automatic update from web-platform-tests
[LayoutNG] Fix GetChildOffset problem

Original code was wrong, and worked in many cases
by accident, because Parent() and ContainingBlock()
were the same element.

Bug: 945696
Change-Id: I3dfccdfcb743606856fe5d7d33948409bf89b9fa
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1589119
Reviewed-by: Christian Biesinger <cbiesinger@chromium.org>
Reviewed-by: Morten Stenshorne <mstensho@chromium.org>
Commit-Queue: Aleks Totic <atotic@chromium.org>
Cr-Commit-Position: refs/heads/master@{#655257}

--

wpt-commits: 4f26f67a4eb9aaae3c25beaa9a95b032bdbe68f6
wpt-pr: 16600
2019-06-05 10:28:12 +01:00
Aleks Totic
ade08acb03 Bug 1546942 [wpt PR 16453] - [LayoutNG] Fix OOF layout invalidation, a=testonly
Automatic update from web-platform-tests
[LayoutNG] Fix OOF layout invalidation

MarkParentForOutOfFlowPositionedChange would skip chain invalidation
if elements in chain were already invalidated.

This change makes this occurrence less frequent.

Additional minor optimization I can make because I understand
MarkParentForOutOfFlowPositionedChange call sites:

LayoutBox::StyleWillChange used to call MarkParentForOutOfFlowPositionedChange
This is not necessary, because MarkParentForOutOfFlowPositionedChange is
also called by LayoutObject::StyleDidChange.

Legacy code fails the new test case. Cause of the failure is the same,
insufficient invalidation. But the fix needs to be different, becasue
Legacy does not call MarkParentForOutOfFlowPositionedChange.

Tentative legacy fix is, but I think applying it is not worth the risk.

--- a/third_party/blink/renderer/core/layout/layout_block_flow_line.cc
+++ b/third_party/blink/renderer/core/layout/layout_block_flow_line.cc
@@ -1978,6 +1978,7 @@ void LayoutBlockFlow::LayoutInlineChildren(bool relayout_children,

         if (o->IsOutOfFlowPositioned()) {
           o->ContainingBlock()->InsertPositionedObject(box);
+          o->MarkContainerChainForLayout();

Bug: 952644, 949615
Change-Id: Iaf7114660ae10cb9117b7a8b95e1e86c59d10dec
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1578358
Commit-Queue: Aleks Totic <atotic@chromium.org>
Reviewed-by: Morten Stenshorne <mstensho@chromium.org>
Reviewed-by: Koji Ishii <kojii@chromium.org>
Cr-Commit-Position: refs/heads/master@{#654879}

--

wpt-commits: 30af25af159c0207f02273c93f566b6598ff9e43
wpt-pr: 16453
2019-06-05 10:28:03 +01:00
Mason Freed
62578c4931 Bug 1547665 [wpt PR 16546] - Adding a test for crbug.com/942555, a=testonly
Automatic update from web-platform-tests
Adding a test for crbug.com/942555

Unfortunately, due to crbug.com/895904 and crbug.com/567947,
this test isn't going to run on Android, which is where the original
bug occurs. But if crbug.com/567947 gets resolved, this test
can be enabled in SmokeTests.

Bug: 942555
Change-Id: Ibaa3e63d2f5f472961b30c34d39ab49344c8ecba
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1584849
Auto-Submit: Mason Freed <masonfreed@chromium.org>
Commit-Queue: Stephen Chenney <schenney@chromium.org>
Reviewed-by: Stephen Chenney <schenney@chromium.org>
Cr-Commit-Position: refs/heads/master@{#654939}

--

wpt-commits: a092f6dd48ea7602ed3089a8b0094d299e8360b2
wpt-pr: 16546
2019-06-05 10:27:56 +01:00
Stephen McGruer
ec2c22ef25 Bug 1547569 [wpt PR 16539] - Call SetSubtreePropertyChanged in Layer::SetStickyPositionConstraint, a=testonly
Automatic update from web-platform-tests
Call SetSubtreePropertyChanged in Layer::SetStickyPositionConstraint

Previously, changing the sticky position constraints on a layer (e.g.
changing the element's top value)  would not cause a proper
invalidation. Due to this, the active tree would not realize the
TransformNode had changed nor that it needed to re-calculate the draw
properties.

To fix this, call SetSubtreePropertyChanged in
SetStickyPositionConstraint, similarly to SetTransform.

Bug: 939632
Change-Id: I9d7c68f0fd85d799e9807f7b8cc435d11659f2e3
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1577934
Reviewed-by: Philip Rogers <pdr@chromium.org>
Reviewed-by: Robert Flack <flackr@chromium.org>
Reviewed-by: weiliangc <weiliangc@chromium.org>
Commit-Queue: Stephen McGruer <smcgruer@chromium.org>
Cr-Commit-Position: refs/heads/master@{#654170}

--

wpt-commits: 87e88df2e5073af55c834e99a56b8bc940cc383f
wpt-pr: 16539
2019-06-05 10:27:31 +01:00
Aleks Totic
89f31d4905 Bug 1545525 [wpt PR 16281] - OOF bugfix: mark container chain, a=testonly
Automatic update from web-platform-tests
OOF bugfix: mark container chain

This bug affected NG and Legacy.

If an OOF container was no longer an OOF container,
the new container needs to be marked for relayout.

This did not happen if there was a relayout boundary
between old and new OOF container.

The fix marks new container for relayout.

Bug: 949222
Change-Id: I676ea6d4b4fdbd989cbab08709b4977705250b67
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1555502
Commit-Queue: Aleks Totic <atotic@chromium.org>
Auto-Submit: Aleks Totic <atotic@chromium.org>
Reviewed-by: Ian Kilpatrick <ikilpatrick@chromium.org>
Cr-Commit-Position: refs/heads/master@{#649527}

--

wpt-commits: 2d1cea9fdf329a1d7d03ecd505a8a216e57d85ba
wpt-pr: 16281
2019-06-05 10:25:46 +01:00
Aleks Totic
143cacd04f Bug 1541665 [wpt PR 16158] - [LayoutNG] Fix nested legacy oof descendants, a=testonly
Automatic update from web-platform-tests
[LayoutNG] Fix nested legacy oof descendants

Another fix for "Legacy OOF descendant did not get laid out"

The cause here was:
- if #container had a legacy descendant, and
- legacy descendant had an oof descendant whose containing block was
#container, that oof descendant would get added to #container's list
of legacy oof, but would never get laid out.

This bug was hidden, because it would not happen if layout happened
twice, which we often do.

Seen in the wild at https://www.humblebundle.com/ when scrolling down.

Bug: 946986
Change-Id: I183f3d5dfe79b49c5c6aadad0ee2cfcb8bb6849f
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1546713
Commit-Queue: Aleks Totic <atotic@chromium.org>
Reviewed-by: Ian Kilpatrick <ikilpatrick@chromium.org>
Auto-Submit: Aleks Totic <atotic@chromium.org>
Cr-Commit-Position: refs/heads/master@{#646077}

--

wpt-commits: 94cd32e64d89b561b803355c299c9db5908e0cb1
wpt-pr: 16158
2019-05-03 18:30:26 +01:00