This bug encompasses the following work: - Initial class definitions of the core layout ng api. - Initial block-of-blocks layout algorithm. - Initial plumbing from old layout tree to internal LayoutNG result.
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/b8d67afb4bd2302bb7c6effb00cbd02389af9020 commit b8d67afb4bd2302bb7c6effb00cbd02389af9020 Author: Aleks Totic <atotic@chromium.org> Date: Wed Mar 21 19:45:45 2018 [LayoutNG] Fix missing image icon Broken image was caused by not positioning of placed floats Bug: 635619 Cq-Include-Trybots: master.tryserver.chromium.linux:linux_layout_tests_layout_ng Change-Id: Ifb60bee7defeaa9e4ca2bacab9c6607b482b5e8f Reviewed-on: https://chromium-review.googlesource.com/973700 Commit-Queue: Aleks Totic <atotic@chromium.org> Reviewed-by: Ian Kilpatrick <ikilpatrick@chromium.org> Cr-Commit-Position: refs/heads/master@{#544805} [modify] https://crrev.com/b8d67afb4bd2302bb7c6effb00cbd02389af9020/third_party/WebKit/LayoutTests/FlagExpectations/enable-blink-features=LayoutNG [modify] https://crrev.com/b8d67afb4bd2302bb7c6effb00cbd02389af9020/third_party/WebKit/Source/core/layout/ng/ng_block_layout_algorithm.cc
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/41daf5352477bf34f9b52748cb37a0751748994f commit 41daf5352477bf34f9b52748cb37a0751748994f Author: Christian Biesinger <cbiesinger@chromium.org> Date: Fri Mar 30 00:47:09 2018 [layoutng] Correctly set the exclusion space when cloning Due to variable shadowing the exclusion space was always null after cloning, causing problems with fragment caching. R=eae@chromium.org BUG=635619 Cq-Include-Trybots: master.tryserver.chromium.linux:linux_layout_tests_layout_ng Change-Id: I5aca88fdc693f1ad64848f43a108953bf1fc8f65 Reviewed-on: https://chromium-review.googlesource.com/986992 Reviewed-by: Emil A Eklund <eae@chromium.org> Commit-Queue: Emil A Eklund <eae@chromium.org> Cr-Commit-Position: refs/heads/master@{#547045} [modify] https://crrev.com/41daf5352477bf34f9b52748cb37a0751748994f/third_party/WebKit/Source/core/layout/ng/ng_layout_result.cc
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/61059b5145039da9c803d031c4208f33c18f280e commit 61059b5145039da9c803d031c4208f33c18f280e Author: Aleks Totic <atotic@chromium.org> Date: Sat Apr 07 01:47:31 2018 [LayoutNG] Refactor kMarginBorderPaddingSize into ResolveMarginBorderPaddingLength Bug: 635619 Cq-Include-Trybots: master.tryserver.chromium.linux:linux_layout_tests_layout_ng Change-Id: I7be19c9a12c52a78eec23f6a7cb06bbe7896593d Reviewed-on: https://chromium-review.googlesource.com/988834 Commit-Queue: Aleks Totic <atotic@chromium.org> Reviewed-by: Morten Stenshorne <mstensho@chromium.org> Reviewed-by: Christian Biesinger <cbiesinger@chromium.org> Reviewed-by: Ian Kilpatrick <ikilpatrick@chromium.org> Cr-Commit-Position: refs/heads/master@{#549011} [modify] https://crrev.com/61059b5145039da9c803d031c4208f33c18f280e/third_party/WebKit/LayoutTests/FlagExpectations/enable-blink-features=LayoutNG [delete] https://crrev.com/e12a8df8568268e56ddc4fc65c44a453980fe1c8/third_party/WebKit/LayoutTests/flag-specific/enable-blink-features=LayoutNG/fast/css/recursive-delay-update-scroll-expected.txt [modify] https://crrev.com/61059b5145039da9c803d031c4208f33c18f280e/third_party/WebKit/Source/core/layout/ng/ng_length_utils.cc [modify] https://crrev.com/61059b5145039da9c803d031c4208f33c18f280e/third_party/WebKit/Source/core/layout/ng/ng_length_utils.h
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/0e87999f80e974ea8320b9ea5c1f8ffad8bec479 commit 0e87999f80e974ea8320b9ea5c1f8ffad8bec479 Author: Aleks Totic <atotic@chromium.org> Date: Tue Apr 17 00:02:56 2018 [LayoutNG] Constraint space should respect OverrideContainingBlockWidth/Height Easy win, additional 72 tests pass. Bug: 635619 Cq-Include-Trybots: master.tryserver.chromium.linux:linux_layout_tests_layout_ng Change-Id: I4c77bafcbce24245bac482c3fb3afe1f064e6f1c Reviewed-on: https://chromium-review.googlesource.com/1014325 Commit-Queue: Aleks Totic <atotic@chromium.org> Reviewed-by: Christian Biesinger <cbiesinger@chromium.org> Reviewed-by: Ian Kilpatrick <ikilpatrick@chromium.org> Cr-Commit-Position: refs/heads/master@{#551177} [modify] https://crrev.com/0e87999f80e974ea8320b9ea5c1f8ffad8bec479/third_party/WebKit/LayoutTests/FlagExpectations/enable-blink-features=LayoutNG [modify] https://crrev.com/0e87999f80e974ea8320b9ea5c1f8ffad8bec479/third_party/blink/renderer/core/layout/ng/ng_constraint_space.cc
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/f7250409d92a41ef4a1ba68a9d8a2bbffc01e590 commit f7250409d92a41ef4a1ba68a9d8a2bbffc01e590 Author: Christian Biesinger <cbiesinger@chromium.org> Date: Tue Apr 17 04:42:56 2018 [layoutng] Re-set the fragment after getting the cloned cached fragment See the comments in the patch for why this is necessary. R=eae@chromium.org, ikilpatrick@chromium.org Bug: 635619 Cq-Include-Trybots: master.tryserver.chromium.linux:linux_layout_tests_layout_ng Change-Id: I0a4042c0782c98fab1bfd27cb3bf6ca29c820542 Reviewed-on: https://chromium-review.googlesource.com/1013306 Reviewed-by: Ian Kilpatrick <ikilpatrick@chromium.org> Commit-Queue: Christian Biesinger <cbiesinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#551237} [modify] https://crrev.com/f7250409d92a41ef4a1ba68a9d8a2bbffc01e590/third_party/blink/renderer/core/layout/ng/ng_block_node.cc
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/3c9786f58aa023cb76bd5b3e8ed999a35c74acae commit 3c9786f58aa023cb76bd5b3e8ed999a35c74acae Author: Christian Biesinger <cbiesinger@chromium.org> Date: Tue Apr 17 14:53:46 2018 [layoutng] Only clear the paint fragment if we get a successful layout That way, we can keep around the old paint fragment while we wait for a final new one. This patch fixes a dcheck failure when enabling fragment caching. R=kojii@chromium.org,eae@chromium.org Bug: 635619 Cq-Include-Trybots: master.tryserver.chromium.linux:linux_layout_tests_layout_ng Change-Id: I763446ab3411c828a636317421fd398f500be67f Reviewed-on: https://chromium-review.googlesource.com/1012499 Reviewed-by: Koji Ishii <kojii@chromium.org> Commit-Queue: Christian Biesinger <cbiesinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#551335} [modify] https://crrev.com/3c9786f58aa023cb76bd5b3e8ed999a35c74acae/third_party/blink/renderer/core/layout/ng/ng_block_node.cc
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/5bdf8f5736c0ef4b5582d2a75c1575e92d4a6866 commit 5bdf8f5736c0ef4b5582d2a75c1575e92d4a6866 Author: Ian Kilpatrick <ikilpatrick@chromium.org> Date: Wed Apr 25 22:04:29 2018 [LayoutNG] Remove unreachable if-stmt in float utils. This if-stmt is now invalid as inside the NGExclusionSpace there is always at least one opportunity which has a block-end offset of LayoutUnit::Max(). Bug: 635619 Cq-Include-Trybots: master.tryserver.chromium.linux:linux_layout_tests_layout_ng Change-Id: I4ca866e38b4aa764b3181c59e642e2a5be422a55 Reviewed-on: https://chromium-review.googlesource.com/1028351 Reviewed-by: Aleks Totic <atotic@chromium.org> Reviewed-by: Morten Stenshorne <mstensho@chromium.org> Commit-Queue: Ian Kilpatrick <ikilpatrick@chromium.org> Cr-Commit-Position: refs/heads/master@{#553780} [modify] https://crrev.com/5bdf8f5736c0ef4b5582d2a75c1575e92d4a6866/third_party/blink/renderer/core/layout/ng/ng_floats_utils.cc
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/44c31170e5593569eed723bf0976a7099ca6e20d commit 44c31170e5593569eed723bf0976a7099ca6e20d Author: Aleks Totic <atotic@chromium.org> Date: Mon Apr 30 14:34:20 2018 [LayoutNG] Anonymous blocks percentage size fix Anonymous blocks were passing indefinite block percentage resolution size to their children. The fix is to handle anonymous blocks like we do anonymous fragments, and use ParentPercentageResolutionSize(). Bug: 635619 Cq-Include-Trybots: master.tryserver.chromium.linux:linux_layout_tests_layout_ng Change-Id: I147e92570a60b84aa0b840201542d98c0517e82e Reviewed-on: https://chromium-review.googlesource.com/1034094 Reviewed-by: Morten Stenshorne <mstensho@chromium.org> Commit-Queue: Aleks Totic <atotic@chromium.org> Cr-Commit-Position: refs/heads/master@{#554745} [modify] https://crrev.com/44c31170e5593569eed723bf0976a7099ca6e20d/third_party/WebKit/LayoutTests/FlagExpectations/enable-blink-features=LayoutNG [modify] https://crrev.com/44c31170e5593569eed723bf0976a7099ca6e20d/third_party/WebKit/LayoutTests/TestExpectations [modify] https://crrev.com/44c31170e5593569eed723bf0976a7099ca6e20d/third_party/blink/renderer/core/layout/ng/ng_block_layout_algorithm.cc [modify] https://crrev.com/44c31170e5593569eed723bf0976a7099ca6e20d/third_party/blink/renderer/core/layout/ng/ng_layout_input_node.cc [modify] https://crrev.com/44c31170e5593569eed723bf0976a7099ca6e20d/third_party/blink/renderer/core/layout/ng/ng_layout_input_node.h
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/8f32b33451c348ed35bd744086537d5cfa4ee0ed commit 8f32b33451c348ed35bd744086537d5cfa4ee0ed Author: Aleks Totic <atotic@chromium.org> Date: Mon Apr 30 23:24:10 2018 [LayoutNG] Remove bad rebaselines, update some newly passing tests Bug: 635619 Cq-Include-Trybots: master.tryserver.chromium.linux:linux_layout_tests_layout_ng Change-Id: Ia67c37adbdfb1799567b27ae348dc3f4204f35bc Reviewed-on: https://chromium-review.googlesource.com/1035615 Reviewed-by: Morten Stenshorne <mstensho@chromium.org> Commit-Queue: Aleks Totic <atotic@chromium.org> Cr-Commit-Position: refs/heads/master@{#554919} [modify] https://crrev.com/8f32b33451c348ed35bd744086537d5cfa4ee0ed/third_party/WebKit/LayoutTests/FlagExpectations/enable-blink-features=LayoutNG [delete] https://crrev.com/585c3f72947e4976c94d92abf347739d9358c8e3/third_party/WebKit/LayoutTests/flag-specific/enable-blink-features=LayoutNG/compositing/overflow/overflow-compositing-descendant-expected.txt [delete] https://crrev.com/585c3f72947e4976c94d92abf347739d9358c8e3/third_party/WebKit/LayoutTests/flag-specific/enable-blink-features=LayoutNG/editing/selection/5131716-1-expected.txt [delete] https://crrev.com/585c3f72947e4976c94d92abf347739d9358c8e3/third_party/WebKit/LayoutTests/flag-specific/enable-blink-features=LayoutNG/fast/html/layout-runs-and-floats-crash-expected.txt [delete] https://crrev.com/585c3f72947e4976c94d92abf347739d9358c8e3/third_party/WebKit/LayoutTests/flag-specific/enable-blink-features=LayoutNG/hdr/video-canvas-alpha-expected.txt [delete] https://crrev.com/585c3f72947e4976c94d92abf347739d9358c8e3/third_party/WebKit/LayoutTests/flag-specific/enable-blink-features=LayoutNG/ietestcenter/css3/bordersbackgrounds/background-color-applied-to-rounded-inline-element-expected.png [delete] https://crrev.com/585c3f72947e4976c94d92abf347739d9358c8e3/third_party/WebKit/LayoutTests/flag-specific/enable-blink-features=LayoutNG/ietestcenter/css3/bordersbackgrounds/border-radius-applies-to-001-expected.png [delete] https://crrev.com/585c3f72947e4976c94d92abf347739d9358c8e3/third_party/WebKit/LayoutTests/flag-specific/enable-blink-features=LayoutNG/paint/invalidation/scroll/repaint-during-scroll-with-zoom-expected.txt
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/d5553be841bed1ca2667cf74ba61ada7966cffda commit d5553be841bed1ca2667cf74ba61ada7966cffda Author: David Grogan <dgrogan@chromium.org> Date: Thu May 03 18:32:58 2018 [LayoutNG] Add caption tests that NG fails There are no existing tests (or any imported that I could find) that verify captions' BFCs behave properly. Cq-Include-Trybots: master.tryserver.chromium.linux:linux_layout_tests_layout_ng Change-Id: I56398bdd1ab6b993eaf8898e09b8aaa4b0ce0100 Bug: 635619 Reviewed-on: https://chromium-review.googlesource.com/1041219 Commit-Queue: David Grogan <dgrogan@chromium.org> Reviewed-by: Morten Stenshorne <mstensho@chromium.org> Cr-Commit-Position: refs/heads/master@{#555822} [modify] https://crrev.com/d5553be841bed1ca2667cf74ba61ada7966cffda/third_party/WebKit/LayoutTests/FlagExpectations/enable-blink-features=LayoutNG [modify] https://crrev.com/d5553be841bed1ca2667cf74ba61ada7966cffda/third_party/WebKit/LayoutTests/TestExpectations [add] https://crrev.com/d5553be841bed1ca2667cf74ba61ada7966cffda/third_party/WebKit/LayoutTests/external/wpt/css/CSS2/floats/floats-in-table-caption-001-ref.html [add] https://crrev.com/d5553be841bed1ca2667cf74ba61ada7966cffda/third_party/WebKit/LayoutTests/external/wpt/css/CSS2/floats/floats-in-table-caption-001.html [add] https://crrev.com/d5553be841bed1ca2667cf74ba61ada7966cffda/third_party/WebKit/LayoutTests/external/wpt/css/CSS2/normal-flow/margin-collapsing-in-table-caption-001.html [add] https://crrev.com/d5553be841bed1ca2667cf74ba61ada7966cffda/third_party/WebKit/LayoutTests/external/wpt/css/CSS2/normal-flow/margin-collapsing-in-table-caption-002.html
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/5196ad73c485b672e567f82975711827873572a6 commit 5196ad73c485b672e567f82975711827873572a6 Author: Christian Biesinger <cbiesinger@chromium.org> Date: Mon May 07 22:59:20 2018 [layoutng] Skip a flexbox optimization in LayoutNG In LayoutNG, HasPercentHeightDescendants() does not produce correct results and it is difficult to get it to produce correct results. Accordingly, let's disable this optimization for now. Bug: 635619, 839661 Change-Id: I766ea2fbea647eb9d0f3767b64788b678d328953 Cq-Include-Trybots: master.tryserver.chromium.linux:linux_layout_tests_layout_ng Reviewed-on: https://chromium-review.googlesource.com/1043009 Commit-Queue: Christian Biesinger <cbiesinger@chromium.org> Reviewed-by: Morten Stenshorne <mstensho@chromium.org> Reviewed-by: Emil A Eklund <eae@chromium.org> Cr-Commit-Position: refs/heads/master@{#556596} [modify] https://crrev.com/5196ad73c485b672e567f82975711827873572a6/third_party/WebKit/LayoutTests/FlagExpectations/enable-blink-features=LayoutNG [modify] https://crrev.com/5196ad73c485b672e567f82975711827873572a6/third_party/blink/renderer/core/layout/layout_flexible_box.cc
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/b7cf33b30d94971a1e8bea2e7805f0a21cc4a3f0 commit b7cf33b30d94971a1e8bea2e7805f0a21cc4a3f0 Author: Christian Biesinger <cbiesinger@chromium.org> Date: Tue May 08 19:19:17 2018 [layoutng] Don't cache fragments that contain abspos boxes If we are a containing block for an abspos descendent, we can't reuse the fragment because we don't know if the list of abspos items has changed -- we need to let them bubble up during layout. This is an unsatisfying solution in the long-term but should work for now, and does fix some crashes/bugs when fragment caching is on. Bug: 635619 Cq-Include-Trybots: master.tryserver.chromium.linux:linux_layout_tests_layout_ng Change-Id: I5ea5a742ed87a8f6546a1405c5935d4d8a7686b0 Reviewed-on: https://chromium-review.googlesource.com/1015327 Commit-Queue: Christian Biesinger <cbiesinger@chromium.org> Reviewed-by: Morten Stenshorne <mstensho@chromium.org> Reviewed-by: Emil A Eklund <eae@chromium.org> Reviewed-by: Aleks Totic <atotic@chromium.org> Cr-Commit-Position: refs/heads/master@{#556919} [modify] https://crrev.com/b7cf33b30d94971a1e8bea2e7805f0a21cc4a3f0/third_party/blink/renderer/core/layout/ng/layout_ng_mixin.cc
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/cfc7e69c51cc5372d95f60e2c5cd1301f2da6ebe commit cfc7e69c51cc5372d95f60e2c5cd1301f2da6ebe Author: Ian Kilpatrick <ikilpatrick@chromium.org> Date: Wed May 09 18:19:31 2018 [LayoutNG] Use StyleRef inside NGBlockNode::GetScrollbarSizes. Small cleanup - there should be no behaviour change. Bug: 635619 Cq-Include-Trybots: master.tryserver.chromium.linux:linux_layout_tests_layout_ng Change-Id: Ife84f116812fc949f039418168b5d005096c46c2 Reviewed-on: https://chromium-review.googlesource.com/1052208 Reviewed-by: Aleks Totic <atotic@chromium.org> Reviewed-by: Christian Biesinger <cbiesinger@chromium.org> Reviewed-by: Morten Stenshorne <mstensho@chromium.org> Commit-Queue: Ian Kilpatrick <ikilpatrick@chromium.org> Cr-Commit-Position: refs/heads/master@{#557247} [modify] https://crrev.com/cfc7e69c51cc5372d95f60e2c5cd1301f2da6ebe/third_party/blink/renderer/core/layout/ng/ng_block_node.cc
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/6e5d92efd2bfb6879835ab0c8859860f69cb1979 commit 6e5d92efd2bfb6879835ab0c8859860f69cb1979 Author: Aleks Totic <atotic@chromium.org> Date: Thu May 10 02:29:13 2018 [LayoutNG] remove unused TriggerScrollbars from ConstraintSpace Unfortunatelly, handling scrollbars in NG is delayed to next milestone. Bug: 635619 Cq-Include-Trybots: master.tryserver.chromium.linux:linux_layout_tests_layout_ng Change-Id: I50ba6eb28ed040da2cbb8857c1b3eb84c3a609a3 Reviewed-on: https://chromium-review.googlesource.com/1053298 Reviewed-by: Christian Biesinger <cbiesinger@chromium.org> Commit-Queue: Aleks Totic <atotic@chromium.org> Cr-Commit-Position: refs/heads/master@{#557432} [modify] https://crrev.com/6e5d92efd2bfb6879835ab0c8859860f69cb1979/third_party/blink/renderer/core/layout/ng/ng_constraint_space.cc [modify] https://crrev.com/6e5d92efd2bfb6879835ab0c8859860f69cb1979/third_party/blink/renderer/core/layout/ng/ng_constraint_space.h [modify] https://crrev.com/6e5d92efd2bfb6879835ab0c8859860f69cb1979/third_party/blink/renderer/core/layout/ng/ng_constraint_space_builder.cc [modify] https://crrev.com/6e5d92efd2bfb6879835ab0c8859860f69cb1979/third_party/blink/renderer/core/layout/ng/ng_constraint_space_builder.h
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/94e9a60557da0ad092e8f1022d5fb16292e9c9c5 commit 94e9a60557da0ad092e8f1022d5fb16292e9c9c5 Author: Ian Kilpatrick <ikilpatrick@chromium.org> Date: Thu May 10 18:55:59 2018 [LayoutNG] Switch LineSegment to using LayoutUnit's instead of floats. There should be no behaviour change. This is done so we can modify the LineSegment in LayoutNG to be in the correct coordinate system. Bug: 635619 Change-Id: I4be2b099fc0731e0927b8a548a960ff00d9ddf9c Reviewed-on: https://chromium-review.googlesource.com/1050487 Commit-Queue: Ian Kilpatrick <ikilpatrick@chromium.org> Reviewed-by: Morten Stenshorne <mstensho@chromium.org> Reviewed-by: Koji Ishii <kojii@chromium.org> Cr-Commit-Position: refs/heads/master@{#557607} [modify] https://crrev.com/94e9a60557da0ad092e8f1022d5fb16292e9c9c5/third_party/WebKit/LayoutTests/fast/shapes/shape-outside-floats/shape-outside-floats-ellipse-margin-left-expected.txt [modify] https://crrev.com/94e9a60557da0ad092e8f1022d5fb16292e9c9c5/third_party/WebKit/LayoutTests/fast/shapes/shape-outside-floats/shape-outside-floats-ellipse-margin-left.html [modify] https://crrev.com/94e9a60557da0ad092e8f1022d5fb16292e9c9c5/third_party/WebKit/LayoutTests/fast/shapes/shape-outside-floats/shape-outside-floats-ellipse-margin-right-expected.txt [modify] https://crrev.com/94e9a60557da0ad092e8f1022d5fb16292e9c9c5/third_party/WebKit/LayoutTests/fast/shapes/shape-outside-floats/shape-outside-floats-ellipse-margin-right.html [modify] https://crrev.com/94e9a60557da0ad092e8f1022d5fb16292e9c9c5/third_party/blink/renderer/core/layout/shapes/box_shape_test.cc [modify] https://crrev.com/94e9a60557da0ad092e8f1022d5fb16292e9c9c5/third_party/blink/renderer/core/layout/shapes/shape.h [modify] https://crrev.com/94e9a60557da0ad092e8f1022d5fb16292e9c9c5/third_party/blink/renderer/core/layout/shapes/shape_outside_info.cc
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/00b2e0c77527fba4e94b7dc3aa5ab99e8a8d4433 commit 00b2e0c77527fba4e94b7dc3aa5ab99e8a8d4433 Author: Ian Kilpatrick <ikilpatrick@chromium.org> Date: Thu May 10 19:11:30 2018 [LayoutNG] Introduce NGLineLayoutOpportunity. There should be no behaviour change in this patch. This introduces the "line layout opportunity concept" which has: - A line size. - A float line size. Bug: 635619 Cq-Include-Trybots: master.tryserver.chromium.linux:linux_layout_tests_layout_ng Change-Id: Ib8667a7c0909116da8e89cb2e20d9df66a2c401d Reviewed-on: https://chromium-review.googlesource.com/1035617 Reviewed-by: Emil A Eklund <eae@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@{#557614} [modify] https://crrev.com/00b2e0c77527fba4e94b7dc3aa5ab99e8a8d4433/third_party/blink/renderer/core/layout/BUILD.gn [modify] https://crrev.com/00b2e0c77527fba4e94b7dc3aa5ab99e8a8d4433/third_party/blink/renderer/core/layout/ng/exclusions/ng_layout_opportunity.h [add] https://crrev.com/00b2e0c77527fba4e94b7dc3aa5ab99e8a8d4433/third_party/blink/renderer/core/layout/ng/exclusions/ng_line_layout_opportunity.h [delete] https://crrev.com/47c575abefd23410eb2b4023a06b171dd3a8b64a/third_party/blink/renderer/core/layout/ng/geometry/ng_edge.h [modify] https://crrev.com/00b2e0c77527fba4e94b7dc3aa5ab99e8a8d4433/third_party/blink/renderer/core/layout/ng/inline/ng_inline_layout_algorithm.cc [modify] https://crrev.com/00b2e0c77527fba4e94b7dc3aa5ab99e8a8d4433/third_party/blink/renderer/core/layout/ng/inline/ng_inline_node.cc [modify] https://crrev.com/00b2e0c77527fba4e94b7dc3aa5ab99e8a8d4433/third_party/blink/renderer/core/layout/ng/inline/ng_line_breaker.cc [modify] https://crrev.com/00b2e0c77527fba4e94b7dc3aa5ab99e8a8d4433/third_party/blink/renderer/core/layout/ng/inline/ng_line_breaker.h [modify] https://crrev.com/00b2e0c77527fba4e94b7dc3aa5ab99e8a8d4433/third_party/blink/renderer/core/layout/ng/inline/ng_line_breaker_test.cc
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/d0578d4aac2f59bb9041e8ccc3c5637bb17c3b78 commit d0578d4aac2f59bb9041e8ccc3c5637bb17c3b78 Author: David Grogan <dgrogan@chromium.org> Date: Thu May 10 19:50:08 2018 [LayoutNG] LayoutNG table-caption implementation New passes fast/writing-mode/table-hit-test.html and tables/mozilla_expected_failures/marvin* had been failing in LayoutNG because the captions were not centered above the table, for some reason. The rebased test fast/table/multiple-captions-display-expected.png failed due to differences on the edges of text inside the caption. New failure accessibility/table-caption.html fails because the js accessibility controller can no longer see the caption as a table child, for some reason. Making tables/mozilla_expected_failures/bugs/bug3166-16.html pass will need some digging. Legacy and NG before this patch centered the caption above the table. But after this patch, it is moved left. Further, hovering over the caption triggers a DCHECK in the hit testing stack, so maybe we need to set an offset after all. ng_physical_fragment.h(144)] Check failed: is_placed_. blink::NGPhysicalFragment::Offset() blink::NGPaintFragment::Offset() blink::NGBoxFragmentPainter::NodeAtPoint() blink::NGBlockFlowPainter::NodeAtPoint() blink::LayoutNGMixin<>::NodeAtPoint() blink::LayoutTable::NodeAtPoint() Bug: 635619 Cq-Include-Trybots: master.tryserver.chromium.linux:linux_layout_tests_layout_ng Change-Id: I7fcb33e791a9f0d812674a5f7f63cb5964c02a6e Reviewed-on: https://chromium-review.googlesource.com/1050414 Commit-Queue: David Grogan <dgrogan@chromium.org> Reviewed-by: Robert Ma <robertma@chromium.org> Reviewed-by: Koji Ishii <kojii@chromium.org> Reviewed-by: Morten Stenshorne <mstensho@chromium.org> Cr-Commit-Position: refs/heads/master@{#557632} [modify] https://crrev.com/d0578d4aac2f59bb9041e8ccc3c5637bb17c3b78/third_party/WebKit/LayoutTests/FlagExpectations/enable-blink-features=LayoutNG [modify] https://crrev.com/d0578d4aac2f59bb9041e8ccc3c5637bb17c3b78/third_party/WebKit/LayoutTests/TestExpectations [add] https://crrev.com/d0578d4aac2f59bb9041e8ccc3c5637bb17c3b78/third_party/WebKit/LayoutTests/external/wpt/css/CSS2/abspos/table-caption-is-containing-block-001.html [add] https://crrev.com/d0578d4aac2f59bb9041e8ccc3c5637bb17c3b78/third_party/WebKit/LayoutTests/external/wpt/css/CSS2/abspos/table-caption-passes-abspos-up-001.html [add] https://crrev.com/d0578d4aac2f59bb9041e8ccc3c5637bb17c3b78/third_party/WebKit/LayoutTests/flag-specific/enable-blink-features=LayoutNG/fast/table/multiple-captions-display-expected.png [modify] https://crrev.com/d0578d4aac2f59bb9041e8ccc3c5637bb17c3b78/third_party/blink/renderer/core/layout/BUILD.gn [modify] https://crrev.com/d0578d4aac2f59bb9041e8ccc3c5637bb17c3b78/third_party/blink/renderer/core/layout/layout_object.cc [modify] https://crrev.com/d0578d4aac2f59bb9041e8ccc3c5637bb17c3b78/third_party/blink/renderer/core/layout/layout_table_caption.h [modify] https://crrev.com/d0578d4aac2f59bb9041e8ccc3c5637bb17c3b78/third_party/blink/renderer/core/layout/ng/layout_ng_mixin.cc [modify] https://crrev.com/d0578d4aac2f59bb9041e8ccc3c5637bb17c3b78/third_party/blink/renderer/core/layout/ng/layout_ng_mixin.h [add] https://crrev.com/d0578d4aac2f59bb9041e8ccc3c5637bb17c3b78/third_party/blink/renderer/core/layout/ng/layout_ng_table_caption.cc [add] https://crrev.com/d0578d4aac2f59bb9041e8ccc3c5637bb17c3b78/third_party/blink/renderer/core/layout/ng/layout_ng_table_caption.h [modify] https://crrev.com/d0578d4aac2f59bb9041e8ccc3c5637bb17c3b78/third_party/blink/tools/blinkpy/web_tests/controllers/single_test_runner.py
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/ca24cdbbdb9e49d2c5ad904bda90dc9de3346e21 commit ca24cdbbdb9e49d2c5ad904bda90dc9de3346e21 Author: Aleks Totic <atotic@chromium.org> Date: Wed May 16 03:24:58 2018 [LayoutNG] Fix flipped block painting NGBlockNode::CopyFragmentDataToLayoutBoxForInlineChildren was not converting physical location to flipped blocks before calling legacy.SetLocation Fixing this exposed a cascade of vrl failures in different places. After some detective work, I finally understood the fundamentals of vrl painting. The big mystery that I kept running into was: Paint(paint_offset), what coordinates was paint_offset in? The answer is that paint_offset is in physical coordinates wrt containing layer, unless parent is in FlippedBlocks writing mode. In FlippedBlocks writing mode, the coordinates are: "whatever value would make child's adjusted_offset physical, if adjusted_offset is computed as adjusted_offset = paint_offset + box.Location()". The coordinates have no other meaning. This means that paint_offset is dependent on writing mode of the container, and not the box itself. In NG, when child gets called with Paint(), there was no way to determine whether paint_offset is FlippedBlocks or not, because child has no access to parents. To fix this, the cleanest way I've come up with was not to pass FlippedBlocks coordinates when painting NG fragments. This only required modifying <10 places where FlippedBlock transforms are made when painting. static bool AdjustPaintOffsetScope::WillUseLegacyLocation(const LayoutBox* child) returns true if block will use box.Location, instead of fragment.Offset(). All callers to Paint that flip blocks have to call this routine, and not flip if it returns true. I've also added utility routine to LayoutBox, FlipForWritingModeForChildForPaint(const LayoutBox* child,LayoutPoint&) const that only flips if child will not be painted with fragment.Offset(). There are also several other changes in existing code where we were not flipping blocks before calling paint. NodeAtPoint might need similar modification. With these changes: - additional 31 failing tests pass, - there are two new crashes because LayoutNGTableCaption does not have an Offset() - there are 2 tests that pass in NG only Bug: 635619 Cq-Include-Trybots: master.tryserver.blink:linux_trusty_blink_rel;master.tryserver.chromium.linux:linux_layout_tests_layout_ng;master.tryserver.chromium.linux:linux_layout_tests_slimming_paint_v2 Change-Id: I8e9d820337a2854871a00d3f0121e3a6f2ee1ebd Reviewed-on: https://chromium-review.googlesource.com/1054002 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@{#558954} [modify] https://crrev.com/ca24cdbbdb9e49d2c5ad904bda90dc9de3346e21/third_party/WebKit/LayoutTests/FlagExpectations/enable-blink-features=LayoutNG [modify] https://crrev.com/ca24cdbbdb9e49d2c5ad904bda90dc9de3346e21/third_party/WebKit/LayoutTests/TestExpectations [modify] https://crrev.com/ca24cdbbdb9e49d2c5ad904bda90dc9de3346e21/third_party/blink/renderer/core/layout/layout_box.cc [modify] https://crrev.com/ca24cdbbdb9e49d2c5ad904bda90dc9de3346e21/third_party/blink/renderer/core/layout/layout_box.h [modify] https://crrev.com/ca24cdbbdb9e49d2c5ad904bda90dc9de3346e21/third_party/blink/renderer/core/layout/ng/layout_ng_mixin.cc [modify] https://crrev.com/ca24cdbbdb9e49d2c5ad904bda90dc9de3346e21/third_party/blink/renderer/core/layout/ng/ng_block_node.cc [modify] https://crrev.com/ca24cdbbdb9e49d2c5ad904bda90dc9de3346e21/third_party/blink/renderer/core/paint/adjust_paint_offset_scope.cc [modify] https://crrev.com/ca24cdbbdb9e49d2c5ad904bda90dc9de3346e21/third_party/blink/renderer/core/paint/adjust_paint_offset_scope.h [modify] https://crrev.com/ca24cdbbdb9e49d2c5ad904bda90dc9de3346e21/third_party/blink/renderer/core/paint/block_painter.cc [modify] https://crrev.com/ca24cdbbdb9e49d2c5ad904bda90dc9de3346e21/third_party/blink/renderer/core/paint/ng/ng_box_fragment_painter.cc [modify] https://crrev.com/ca24cdbbdb9e49d2c5ad904bda90dc9de3346e21/third_party/blink/renderer/core/paint/ng/ng_box_fragment_painter.h [modify] https://crrev.com/ca24cdbbdb9e49d2c5ad904bda90dc9de3346e21/third_party/blink/renderer/core/paint/table_painter.cc [modify] https://crrev.com/ca24cdbbdb9e49d2c5ad904bda90dc9de3346e21/third_party/blink/renderer/core/paint/table_row_painter.cc [modify] https://crrev.com/ca24cdbbdb9e49d2c5ad904bda90dc9de3346e21/third_party/blink/renderer/core/paint/table_section_painter.cc
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/e68f203bf01cb0e78d6a68ed45e3c21834633cd1 commit e68f203bf01cb0e78d6a68ed45e3c21834633cd1 Author: Ian Kilpatrick <ikilpatrick@chromium.org> Date: Wed May 16 17:47:27 2018 [LayoutNG] Fix min/max sizes during layout and intrinsic passes. Essentially this boils down to during min/max auto/percent/calc should be treated the same, either being border+padding or infinity. And during layout they should be taken into account. I added some tests which now match FF/Edge (004,005) which LayoutNG matches, but existing layout fails. The primary difference is change by passing kContent into ResolveBlockLength during the ComputeBlockSizeForFragment function. Bug: 635619 Cq-Include-Trybots: master.tryserver.chromium.linux:linux_layout_tests_layout_ng Change-Id: I4e0c171a0e29ea5d85a742d85df001647813c1f3 Reviewed-on: https://chromium-review.googlesource.com/1056291 Commit-Queue: Ian Kilpatrick <ikilpatrick@chromium.org> Reviewed-by: Christian Biesinger <cbiesinger@chromium.org> Reviewed-by: Morten Stenshorne <mstensho@chromium.org> Cr-Commit-Position: refs/heads/master@{#559171} [modify] https://crrev.com/e68f203bf01cb0e78d6a68ed45e3c21834633cd1/third_party/WebKit/LayoutTests/FlagExpectations/enable-blink-features=LayoutNG [modify] https://crrev.com/e68f203bf01cb0e78d6a68ed45e3c21834633cd1/third_party/WebKit/LayoutTests/TestExpectations [add] https://crrev.com/e68f203bf01cb0e78d6a68ed45e3c21834633cd1/third_party/WebKit/LayoutTests/external/wpt/css/css-sizing/intrinsic-percent-non-replaced-004-ref.html [add] https://crrev.com/e68f203bf01cb0e78d6a68ed45e3c21834633cd1/third_party/WebKit/LayoutTests/external/wpt/css/css-sizing/intrinsic-percent-non-replaced-004.html [add] https://crrev.com/e68f203bf01cb0e78d6a68ed45e3c21834633cd1/third_party/WebKit/LayoutTests/external/wpt/css/css-sizing/intrinsic-percent-non-replaced-005-ref.html [add] https://crrev.com/e68f203bf01cb0e78d6a68ed45e3c21834633cd1/third_party/WebKit/LayoutTests/external/wpt/css/css-sizing/intrinsic-percent-non-replaced-005.html [modify] https://crrev.com/e68f203bf01cb0e78d6a68ed45e3c21834633cd1/third_party/WebKit/LayoutTests/flag-specific/enable-blink-features=LayoutNG/fast/dynamic/012-expected.txt [modify] https://crrev.com/e68f203bf01cb0e78d6a68ed45e3c21834633cd1/third_party/blink/renderer/core/layout/ng/ng_absolute_utils.cc [modify] https://crrev.com/e68f203bf01cb0e78d6a68ed45e3c21834633cd1/third_party/blink/renderer/core/layout/ng/ng_column_layout_algorithm.cc [modify] https://crrev.com/e68f203bf01cb0e78d6a68ed45e3c21834633cd1/third_party/blink/renderer/core/layout/ng/ng_length_utils.cc [modify] https://crrev.com/e68f203bf01cb0e78d6a68ed45e3c21834633cd1/third_party/blink/renderer/core/layout/ng/ng_length_utils.h [modify] https://crrev.com/e68f203bf01cb0e78d6a68ed45e3c21834633cd1/third_party/blink/renderer/core/layout/ng/ng_length_utils_test.cc
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/995d40250c1f2e7092182534bedfc0d134fc9c7b commit 995d40250c1f2e7092182534bedfc0d134fc9c7b Author: Ian Kilpatrick <ikilpatrick@chromium.org> Date: Thu May 17 00:43:28 2018 [LayoutNG] Adds support for shape-outside. This reuses a lot of the existing code for shapes located within core/layout/shape. As a result of this after we perform a layout on a float, we need to copy some additional shape data back into the existing tree so that the ShapeOutsideInfo is up to date. Devtools currently requires the ShapeOutsideInfo object to be up to date for the appropriate LayoutBox object. (This is used to draw the "shape area" when hovering on an element within devtools). In the future (once everything has a NGLayoutResult) we'll likely be able to remove the ShapeOutsideInfo object, and replace it with just a "computed shape" living off the NGLayoutResult. The majority of the work is done within ng_layout_opportunity.cc which calculates a new line-layout-opportunity based on the shape area. The rebaselines in this patch: spec-examples/shape-outside-{010..019}-expected.txt ... are for "change detector tests". We do pass them in LayoutNG but "better". (We place things closer to the shape typically). One LayoutNG has been switched on we can fix/change these tests. Bug: 635619 Cq-Include-Trybots: master.tryserver.chromium.linux:linux_layout_tests_layout_ng Change-Id: I029b1503be74b4a17e0a634ec93c644ff4352358 Reviewed-on: https://chromium-review.googlesource.com/1032884 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@{#559368} [modify] https://crrev.com/995d40250c1f2e7092182534bedfc0d134fc9c7b/third_party/WebKit/LayoutTests/FlagExpectations/enable-blink-features=LayoutNG [add] https://crrev.com/995d40250c1f2e7092182534bedfc0d134fc9c7b/third_party/WebKit/LayoutTests/flag-specific/enable-blink-features=LayoutNG/external/wpt/css/css-shapes/spec-examples/shape-outside-010-expected.txt [add] https://crrev.com/995d40250c1f2e7092182534bedfc0d134fc9c7b/third_party/WebKit/LayoutTests/flag-specific/enable-blink-features=LayoutNG/external/wpt/css/css-shapes/spec-examples/shape-outside-011-expected.txt [add] https://crrev.com/995d40250c1f2e7092182534bedfc0d134fc9c7b/third_party/WebKit/LayoutTests/flag-specific/enable-blink-features=LayoutNG/external/wpt/css/css-shapes/spec-examples/shape-outside-012-expected.txt [add] https://crrev.com/995d40250c1f2e7092182534bedfc0d134fc9c7b/third_party/WebKit/LayoutTests/flag-specific/enable-blink-features=LayoutNG/external/wpt/css/css-shapes/spec-examples/shape-outside-013-expected.txt [add] https://crrev.com/995d40250c1f2e7092182534bedfc0d134fc9c7b/third_party/WebKit/LayoutTests/flag-specific/enable-blink-features=LayoutNG/external/wpt/css/css-shapes/spec-examples/shape-outside-014-expected.txt [add] https://crrev.com/995d40250c1f2e7092182534bedfc0d134fc9c7b/third_party/WebKit/LayoutTests/flag-specific/enable-blink-features=LayoutNG/external/wpt/css/css-shapes/spec-examples/shape-outside-015-expected.txt [add] https://crrev.com/995d40250c1f2e7092182534bedfc0d134fc9c7b/third_party/WebKit/LayoutTests/flag-specific/enable-blink-features=LayoutNG/external/wpt/css/css-shapes/spec-examples/shape-outside-016-expected.txt [add] https://crrev.com/995d40250c1f2e7092182534bedfc0d134fc9c7b/third_party/WebKit/LayoutTests/flag-specific/enable-blink-features=LayoutNG/external/wpt/css/css-shapes/spec-examples/shape-outside-017-expected.txt [add] https://crrev.com/995d40250c1f2e7092182534bedfc0d134fc9c7b/third_party/WebKit/LayoutTests/flag-specific/enable-blink-features=LayoutNG/external/wpt/css/css-shapes/spec-examples/shape-outside-018-expected.txt [add] https://crrev.com/995d40250c1f2e7092182534bedfc0d134fc9c7b/third_party/WebKit/LayoutTests/flag-specific/enable-blink-features=LayoutNG/external/wpt/css/css-shapes/spec-examples/shape-outside-019-expected.txt [modify] https://crrev.com/995d40250c1f2e7092182534bedfc0d134fc9c7b/third_party/blink/renderer/core/layout/BUILD.gn [modify] https://crrev.com/995d40250c1f2e7092182534bedfc0d134fc9c7b/third_party/blink/renderer/core/layout/ng/exclusions/ng_exclusion_space.cc [modify] https://crrev.com/995d40250c1f2e7092182534bedfc0d134fc9c7b/third_party/blink/renderer/core/layout/ng/exclusions/ng_exclusion_space.h [add] https://crrev.com/995d40250c1f2e7092182534bedfc0d134fc9c7b/third_party/blink/renderer/core/layout/ng/exclusions/ng_layout_opportunity.cc [modify] https://crrev.com/995d40250c1f2e7092182534bedfc0d134fc9c7b/third_party/blink/renderer/core/layout/ng/exclusions/ng_layout_opportunity.h [add] https://crrev.com/995d40250c1f2e7092182534bedfc0d134fc9c7b/third_party/blink/renderer/core/layout/ng/exclusions/ng_shape_exclusions.h [modify] https://crrev.com/995d40250c1f2e7092182534bedfc0d134fc9c7b/third_party/blink/renderer/core/layout/ng/geometry/ng_box_strut.h [modify] https://crrev.com/995d40250c1f2e7092182534bedfc0d134fc9c7b/third_party/blink/renderer/core/layout/ng/inline/ng_inline_layout_algorithm.cc [modify] https://crrev.com/995d40250c1f2e7092182534bedfc0d134fc9c7b/third_party/blink/renderer/core/layout/ng/inline/ng_line_breaker.cc [modify] https://crrev.com/995d40250c1f2e7092182534bedfc0d134fc9c7b/third_party/blink/renderer/core/layout/ng/inline/ng_line_breaker.h [modify] https://crrev.com/995d40250c1f2e7092182534bedfc0d134fc9c7b/third_party/blink/renderer/core/layout/ng/ng_block_node.cc [modify] https://crrev.com/995d40250c1f2e7092182534bedfc0d134fc9c7b/third_party/blink/renderer/core/layout/ng/ng_block_node.h [modify] https://crrev.com/995d40250c1f2e7092182534bedfc0d134fc9c7b/third_party/blink/renderer/core/layout/ng/ng_exclusion.h [modify] https://crrev.com/995d40250c1f2e7092182534bedfc0d134fc9c7b/third_party/blink/renderer/core/layout/ng/ng_floats_utils.cc [modify] https://crrev.com/995d40250c1f2e7092182534bedfc0d134fc9c7b/third_party/blink/renderer/core/layout/shapes/shape_outside_info.cc [modify] https://crrev.com/995d40250c1f2e7092182534bedfc0d134fc9c7b/third_party/blink/renderer/core/layout/shapes/shape_outside_info.h
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/3f840d763f0b03b8e1af7c65242f7cf0510aa237 commit 3f840d763f0b03b8e1af7c65242f7cf0510aa237 Author: Christian Biesinger <cbiesinger@chromium.org> Date: Thu May 17 22:56:08 2018 [layoutng] Don't copy data to legacy for intermediate layouts In some places, notably the min/max content calculation, we produce layout results that are just for intermediate use, they are not final fragments for a box. We should avoid creating paint fragments for them or copying data to the legacy tree. This becomes an issue in practice with fragment caching, because we may never reach the code to produce the final fragment and fix up the paint fragment, etc. R=kojii@chromium.org,eae@chromium.org Bug: 635619 Cq-Include-Trybots: master.tryserver.chromium.linux:linux_layout_tests_layout_ng Change-Id: I012b599685a0f67060e6225c195e0e8205afad8e Reviewed-on: https://chromium-review.googlesource.com/1064855 Reviewed-by: Emil A Eklund <eae@chromium.org> Commit-Queue: Christian Biesinger <cbiesinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#559718} [modify] https://crrev.com/3f840d763f0b03b8e1af7c65242f7cf0510aa237/third_party/blink/renderer/core/layout/ng/inline/ng_inline_node.cc [modify] https://crrev.com/3f840d763f0b03b8e1af7c65242f7cf0510aa237/third_party/blink/renderer/core/layout/ng/layout_ng_mixin.cc [modify] https://crrev.com/3f840d763f0b03b8e1af7c65242f7cf0510aa237/third_party/blink/renderer/core/layout/ng/ng_block_node.cc [modify] https://crrev.com/3f840d763f0b03b8e1af7c65242f7cf0510aa237/third_party/blink/renderer/core/layout/ng/ng_constraint_space.cc [modify] https://crrev.com/3f840d763f0b03b8e1af7c65242f7cf0510aa237/third_party/blink/renderer/core/layout/ng/ng_constraint_space.h [modify] https://crrev.com/3f840d763f0b03b8e1af7c65242f7cf0510aa237/third_party/blink/renderer/core/layout/ng/ng_constraint_space_builder.cc [modify] https://crrev.com/3f840d763f0b03b8e1af7c65242f7cf0510aa237/third_party/blink/renderer/core/layout/ng/ng_constraint_space_builder.h
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/e27d5081d374448564dc0a13a4e6286c92872894 commit e27d5081d374448564dc0a13a4e6286c92872894 Author: Christian Biesinger <cbiesinger@chromium.org> Date: Fri May 18 21:25:01 2018 [layoutng] Move IsIntermediateLayout check to IsBlockLayoutComplete Also adds a missing SetIsIntermediateLayout when synthesizing min/max content sizes. Followup to https://chromium-review.googlesource.com/1064855 R=mstensho@chromium.org Bug: 635619 Cq-Include-Trybots: master.tryserver.chromium.linux:linux_layout_tests_layout_ng Change-Id: I857456a10f7c5372f8b83b72e2d6818e76b3dc5a Reviewed-on: https://chromium-review.googlesource.com/1066306 Reviewed-by: Morten Stenshorne <mstensho@chromium.org> Commit-Queue: Christian Biesinger <cbiesinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#560047} [modify] https://crrev.com/e27d5081d374448564dc0a13a4e6286c92872894/third_party/blink/renderer/core/layout/ng/ng_block_node.cc [modify] https://crrev.com/e27d5081d374448564dc0a13a4e6286c92872894/third_party/blink/renderer/core/layout/ng/ng_layout_utils.cc [modify] https://crrev.com/e27d5081d374448564dc0a13a4e6286c92872894/third_party/blink/renderer/core/layout/ng/ng_layout_utils.h
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/af53c613d2f89a026edbdc8b57e9346d45ea6fd8 commit af53c613d2f89a026edbdc8b57e9346d45ea6fd8 Author: Christian Biesinger <cbiesinger@chromium.org> Date: Tue May 22 23:56:34 2018 [layoutng] Refactor min/max content contribution a bit Provide a helper function in ng_length_utils that calls node.ComputeMinMaxContentSizes for you. R=eae@chromium.org,mstensho@chromium.org Bug: 635619 Cq-Include-Trybots: master.tryserver.chromium.linux:linux_layout_tests_layout_ng Change-Id: Id5e559aa1d9991f1e39d74fd84578ca2b7641883 Reviewed-on: https://chromium-review.googlesource.com/1069628 Commit-Queue: Christian Biesinger <cbiesinger@chromium.org> Commit-Queue: Emil A Eklund <eae@chromium.org> Reviewed-by: Emil A Eklund <eae@chromium.org> Cr-Commit-Position: refs/heads/master@{#560840} [modify] https://crrev.com/af53c613d2f89a026edbdc8b57e9346d45ea6fd8/third_party/blink/renderer/core/layout/ng/inline/ng_inline_node.cc [modify] https://crrev.com/af53c613d2f89a026edbdc8b57e9346d45ea6fd8/third_party/blink/renderer/core/layout/ng/inline/ng_line_breaker.cc [modify] https://crrev.com/af53c613d2f89a026edbdc8b57e9346d45ea6fd8/third_party/blink/renderer/core/layout/ng/ng_block_layout_algorithm.cc [modify] https://crrev.com/af53c613d2f89a026edbdc8b57e9346d45ea6fd8/third_party/blink/renderer/core/layout/ng/ng_length_utils.cc [modify] https://crrev.com/af53c613d2f89a026edbdc8b57e9346d45ea6fd8/third_party/blink/renderer/core/layout/ng/ng_length_utils.h
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/698b5ec02d193c504533fbb297299a4bc25f8b6d commit 698b5ec02d193c504533fbb297299a4bc25f8b6d Author: Ian Kilpatrick <ikilpatrick@chromium.org> Date: Fri Jun 01 17:21:14 2018 [LayoutNG] Shape fitting logic based off LineHeight. This changes the fitting logic to be based off the LineHeight calculation, instead of the "BlockSize" it was previously using. This makes us more compatible with existing layout. This was making us infinite loop for a few tests. Additionally this fixes skipping shapes that we were previously considering in the LineOffset computations. Bug: 635619 Cq-Include-Trybots: master.tryserver.chromium.linux:linux_layout_tests_layout_ng Change-Id: I0aaf9bb1c6972648bee8bf73d4bdb21c5b09b9ee Reviewed-on: https://chromium-review.googlesource.com/1081351 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@{#563697} [modify] https://crrev.com/698b5ec02d193c504533fbb297299a4bc25f8b6d/third_party/WebKit/LayoutTests/FlagExpectations/enable-blink-features=LayoutNG [delete] https://crrev.com/a1dee391232d54b3f32cb7db0518bfc84b88352c/third_party/WebKit/LayoutTests/flag-specific/enable-blink-features=LayoutNG/external/wpt/css/css-shapes/spec-examples/shape-outside-010-expected.txt [delete] https://crrev.com/a1dee391232d54b3f32cb7db0518bfc84b88352c/third_party/WebKit/LayoutTests/flag-specific/enable-blink-features=LayoutNG/external/wpt/css/css-shapes/spec-examples/shape-outside-011-expected.txt [delete] https://crrev.com/a1dee391232d54b3f32cb7db0518bfc84b88352c/third_party/WebKit/LayoutTests/flag-specific/enable-blink-features=LayoutNG/external/wpt/css/css-shapes/spec-examples/shape-outside-012-expected.txt [delete] https://crrev.com/a1dee391232d54b3f32cb7db0518bfc84b88352c/third_party/WebKit/LayoutTests/flag-specific/enable-blink-features=LayoutNG/external/wpt/css/css-shapes/spec-examples/shape-outside-013-expected.txt [delete] https://crrev.com/a1dee391232d54b3f32cb7db0518bfc84b88352c/third_party/WebKit/LayoutTests/flag-specific/enable-blink-features=LayoutNG/external/wpt/css/css-shapes/spec-examples/shape-outside-014-expected.txt [delete] https://crrev.com/a1dee391232d54b3f32cb7db0518bfc84b88352c/third_party/WebKit/LayoutTests/flag-specific/enable-blink-features=LayoutNG/external/wpt/css/css-shapes/spec-examples/shape-outside-015-expected.txt [delete] https://crrev.com/a1dee391232d54b3f32cb7db0518bfc84b88352c/third_party/WebKit/LayoutTests/flag-specific/enable-blink-features=LayoutNG/external/wpt/css/css-shapes/spec-examples/shape-outside-016-expected.txt [delete] https://crrev.com/a1dee391232d54b3f32cb7db0518bfc84b88352c/third_party/WebKit/LayoutTests/flag-specific/enable-blink-features=LayoutNG/external/wpt/css/css-shapes/spec-examples/shape-outside-017-expected.txt [delete] https://crrev.com/a1dee391232d54b3f32cb7db0518bfc84b88352c/third_party/WebKit/LayoutTests/flag-specific/enable-blink-features=LayoutNG/external/wpt/css/css-shapes/spec-examples/shape-outside-018-expected.txt [delete] https://crrev.com/a1dee391232d54b3f32cb7db0518bfc84b88352c/third_party/WebKit/LayoutTests/flag-specific/enable-blink-features=LayoutNG/external/wpt/css/css-shapes/spec-examples/shape-outside-019-expected.txt [modify] https://crrev.com/698b5ec02d193c504533fbb297299a4bc25f8b6d/third_party/blink/renderer/core/layout/ng/exclusions/ng_layout_opportunity.cc [modify] https://crrev.com/698b5ec02d193c504533fbb297299a4bc25f8b6d/third_party/blink/renderer/core/layout/ng/inline/ng_inline_layout_algorithm.cc [modify] https://crrev.com/698b5ec02d193c504533fbb297299a4bc25f8b6d/third_party/blink/renderer/core/layout/ng/inline/ng_line_box_fragment_builder.cc [modify] https://crrev.com/698b5ec02d193c504533fbb297299a4bc25f8b6d/third_party/blink/renderer/core/layout/ng/inline/ng_line_box_fragment_builder.h
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/65472d6554b5ae232aa19936dcfd57fe2e15591a commit 65472d6554b5ae232aa19936dcfd57fe2e15591a Author: Aleks Totic <atotic@chromium.org> Date: Mon Jun 04 20:59:39 2018 [LayoutNG] Fix LayoutBox::ComputePercentageLogicalHeight when OverrideContaining This fixes many table tests where table<height:100%> inside body was too tall by margin_border_padding, The cause was that LayoutBox::ComputePercentageLogicalHeight was incorrectly applying root_margin_border_padding_height correction even when OverrideContainingBlockContentLogicalHeight was set. Bug: 635619 Cq-Include-Trybots: master.tryserver.chromium.linux:linux_layout_tests_layout_ng Change-Id: Idf9ccabbb80eecbb10105c8a143deff84d5ef014 Reviewed-on: https://chromium-review.googlesource.com/1084326 Commit-Queue: Aleks Totic <atotic@chromium.org> Reviewed-by: Morten Stenshorne <mstensho@chromium.org> Cr-Commit-Position: refs/heads/master@{#564231} [modify] https://crrev.com/65472d6554b5ae232aa19936dcfd57fe2e15591a/third_party/WebKit/LayoutTests/FlagExpectations/enable-blink-features=LayoutNG [modify] https://crrev.com/65472d6554b5ae232aa19936dcfd57fe2e15591a/third_party/WebKit/LayoutTests/TestExpectations [modify] https://crrev.com/65472d6554b5ae232aa19936dcfd57fe2e15591a/third_party/blink/renderer/core/layout/layout_box.cc
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/c740e9566cecb197774f2f83c18b5759819ef07d commit c740e9566cecb197774f2f83c18b5759819ef07d Author: Koji Ishii <kojii@chromium.org> Date: Wed Jun 13 07:08:24 2018 [LayoutNG] Use legacy fallback for -webkit-box and -webkit-inline-box This patch forces legacy fallback for -webkit-box and -webkit-inline-box. Bug: 635619 Cq-Include-Trybots: master.tryserver.chromium.linux:linux_layout_tests_layout_ng Change-Id: I15c35df5e71c03a2df6b466e2ba2197f48d5e588 Reviewed-on: https://chromium-review.googlesource.com/1089591 Commit-Queue: Koji Ishii <kojii@chromium.org> Reviewed-by: Christian Biesinger <cbiesinger@chromium.org> Reviewed-by: Emil A Eklund <eae@chromium.org> Reviewed-by: Ian Kilpatrick <ikilpatrick@chromium.org> Cr-Commit-Position: refs/heads/master@{#566742} [modify] https://crrev.com/c740e9566cecb197774f2f83c18b5759819ef07d/third_party/WebKit/LayoutTests/FlagExpectations/enable-blink-features=LayoutNG [modify] https://crrev.com/c740e9566cecb197774f2f83c18b5759819ef07d/third_party/WebKit/LayoutTests/flag-specific/enable-blink-features=LayoutNG/fast/deprecated-flexbox/crash-flexbox-no-layout-child-expected.txt [modify] https://crrev.com/c740e9566cecb197774f2f83c18b5759819ef07d/third_party/blink/renderer/core/css/resolver/style_adjuster.cc
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/ab5657b71e199b060c72304b9139e96c6676e9c7 commit ab5657b71e199b060c72304b9139e96c6676e9c7 Author: Koji Ishii <kojii@chromium.org> Date: Wed Jun 13 20:02:09 2018 [LayoutNG] Fix the static position of inline out-of-flow objects to honor text-align This patch fixes the static position of an out-of-flow objects to honor the 'text-align' property, when they have inline-type 'display' property, and their siblings are block-level. Bug: 635619 Cq-Include-Trybots: luci.chromium.try:linux_layout_tests_layout_ng Change-Id: I7c83f241984d079f9d3729e3bfbdb8bd428946a4 Reviewed-on: https://chromium-review.googlesource.com/1098750 Commit-Queue: Koji Ishii <kojii@chromium.org> Reviewed-by: Aleks Totic <atotic@chromium.org> Reviewed-by: Morten Stenshorne <mstensho@chromium.org> Cr-Commit-Position: refs/heads/master@{#566962} [modify] https://crrev.com/ab5657b71e199b060c72304b9139e96c6676e9c7/third_party/WebKit/LayoutTests/FlagExpectations/enable-blink-features=LayoutNG [modify] https://crrev.com/ab5657b71e199b060c72304b9139e96c6676e9c7/third_party/blink/renderer/core/layout/ng/ng_block_layout_algorithm.cc [modify] https://crrev.com/ab5657b71e199b060c72304b9139e96c6676e9c7/third_party/blink/renderer/core/layout/ng/ng_length_utils.cc [modify] https://crrev.com/ab5657b71e199b060c72304b9139e96c6676e9c7/third_party/blink/renderer/core/layout/ng/ng_length_utils.h
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/1115c1a5770956d0c0184920c51990559eff3a74 commit 1115c1a5770956d0c0184920c51990559eff3a74 Author: Aleks Totic <atotic@chromium.org> Date: Fri Jun 15 15:53:34 2018 [LayoutNG] remove obsolete rebaseline Bug: 635619 Cq-Include-Trybots: luci.chromium.try:linux_layout_tests_layout_ng Change-Id: I12d68f1153e78d4ebd8d3e92b7ab83a9f6e2f036 Reviewed-on: https://chromium-review.googlesource.com/1101905 Commit-Queue: Koji Ishii <kojii@chromium.org> Reviewed-by: Koji Ishii <kojii@chromium.org> Cr-Commit-Position: refs/heads/master@{#567666} [modify] https://crrev.com/1115c1a5770956d0c0184920c51990559eff3a74/third_party/WebKit/LayoutTests/FlagExpectations/enable-blink-features=LayoutNG [delete] https://crrev.com/08b5d5225f2b04bfe08e17306f30981cb158bbe0/third_party/WebKit/LayoutTests/flag-specific/enable-blink-features=LayoutNG/fast/inline-block/14498-positionForCoordinates-expected.png
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/17aec1261c54a7bafd2701b85a4f72b3d52072c8 commit 17aec1261c54a7bafd2701b85a4f72b3d52072c8 Author: Koji Ishii <kojii@chromium.org> Date: Wed Jun 20 14:26:51 2018 [LayoutNG] Rebaseline css2.1/t0905-c414-flt-wrap-01-d-g.html This test has a failing baseline baked in the legacy, but passes in NG. Edge and Gecko pass (the same as this rebaseline.) TBR=atotic@chromium.org NOTRY=true Bug: 635619 Cq-Include-Trybots: luci.chromium.try:linux_layout_tests_layout_ng Change-Id: I77f850b929af26a7e7eec9c3fff851476957985a Reviewed-on: https://chromium-review.googlesource.com/1107859 Commit-Queue: Koji Ishii <kojii@chromium.org> Reviewed-by: Koji Ishii <kojii@chromium.org> Cr-Commit-Position: refs/heads/master@{#568833} [modify] https://crrev.com/17aec1261c54a7bafd2701b85a4f72b3d52072c8/third_party/WebKit/LayoutTests/FlagExpectations/enable-blink-features=LayoutNG [add] https://crrev.com/17aec1261c54a7bafd2701b85a4f72b3d52072c8/third_party/WebKit/LayoutTests/flag-specific/enable-blink-features=LayoutNG/css2.1/t0905-c414-flt-wrap-01-d-g-expected.png [add] https://crrev.com/17aec1261c54a7bafd2701b85a4f72b3d52072c8/third_party/WebKit/LayoutTests/flag-specific/enable-blink-features=LayoutNG/css2.1/t0905-c414-flt-wrap-01-d-g-expected.txt
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/ffbb5f57912ddba2c05257ccca5c1e0849eec764 commit ffbb5f57912ddba2c05257ccca5c1e0849eec764 Author: Koji Ishii <kojii@chromium.org> Date: Thu Jun 21 09:07:23 2018 [LayoutNG] Fix dialog element positioning when it is out-of-flow LayoutBlockFlow::UpdateBlockLayout() has a specialized positioning for HTML <dialog> element when it is out-of-flow. This patch implements the logic by sharing the code in LayoutBlockFlow. Bug: 635619 Cq-Include-Trybots: luci.chromium.try:linux_layout_tests_layout_ng Change-Id: I16870f926dc0ad6fbb6bee4787f3f6d5e30b31c7 Reviewed-on: https://chromium-review.googlesource.com/1108240 Commit-Queue: Koji Ishii <kojii@chromium.org> Reviewed-by: Emil A Eklund <eae@chromium.org> Reviewed-by: Aleks Totic <atotic@chromium.org> Cr-Commit-Position: refs/heads/master@{#569195} [modify] https://crrev.com/ffbb5f57912ddba2c05257ccca5c1e0849eec764/third_party/WebKit/LayoutTests/FlagExpectations/enable-blink-features=LayoutNG [modify] https://crrev.com/ffbb5f57912ddba2c05257ccca5c1e0849eec764/third_party/blink/renderer/core/layout/layout_block_flow.cc [modify] https://crrev.com/ffbb5f57912ddba2c05257ccca5c1e0849eec764/third_party/blink/renderer/core/layout/layout_block_flow.h [modify] https://crrev.com/ffbb5f57912ddba2c05257ccca5c1e0849eec764/third_party/blink/renderer/core/layout/ng/ng_out_of_flow_layout_part.cc
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/4ab2b9c8a2931dbd7cb1fb0f0f1c5950cf6b1c82 commit 4ab2b9c8a2931dbd7cb1fb0f0f1c5950cf6b1c82 Author: Aleks Totic <atotic@chromium.org> Date: Fri Jun 22 18:57:35 2018 [LayoutNG] rebaseline failing tests Bug: 635619 Cq-Include-Trybots: luci.chromium.try:linux_layout_tests_layout_ng Change-Id: I1d0d9d290805e0de27d17d3f2cb26e9ecc9cb5b9 Reviewed-on: https://chromium-review.googlesource.com/1112204 Reviewed-by: Ian Kilpatrick <ikilpatrick@chromium.org> Commit-Queue: Aleks Totic <atotic@chromium.org> Cr-Commit-Position: refs/heads/master@{#569717} [modify] https://crrev.com/4ab2b9c8a2931dbd7cb1fb0f0f1c5950cf6b1c82/third_party/WebKit/LayoutTests/flag-specific/enable-blink-features=LayoutNG/fast/borders/inline-mask-overlay-image-outset-expected.png [modify] https://crrev.com/4ab2b9c8a2931dbd7cb1fb0f0f1c5950cf6b1c82/third_party/WebKit/LayoutTests/flag-specific/enable-blink-features=LayoutNG/tables/mozilla/bugs/bug1430-expected.png [modify] https://crrev.com/4ab2b9c8a2931dbd7cb1fb0f0f1c5950cf6b1c82/third_party/WebKit/LayoutTests/flag-specific/enable-blink-features=LayoutNG/tables/mozilla/bugs/bug4427-expected.png
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/29b9eafeffa528388b7a3ed568f3abefd6de0594 commit 29b9eafeffa528388b7a3ed568f3abefd6de0594 Author: Christian Biesinger <cbiesinger@chromium.org> Date: Thu Jun 28 00:02:33 2018 [layoutng] Override computeIntrinsicLogicalWidths so we can use the NG code for it This is mostly straightforward, except that on Mac, we may have to compute intrinsic sizes outside of layout. So this patch also adds special code to avoid layout calls in such cases (for orthogonal flows). However, this also required me to change some tests to have the correct "inside of layout" state. Notes on tests: fast/dynamic/012.html Had an incorrect rebaseline; rendering matches legacy modulo text splitting (positioning is the same) css2.1/20110323/table-height-algorithm-023.htm css2.1/20110323/table-height-algorithm-024.htm Parts of these tests were already using the smaller size due to 1px text rendering differences; this rebaseline just makes us more consistent. tables/mozilla/bugs/bug57828.html Also a trivial 1px difference tables/mozilla/bugs/bug60992.html Probably an issue of bug 40634; legacy takes the whitespace before <br> (here, a linebreak) into account for calculating the width of the cell and NG does not. tables/mozilla_expected_failures/bugs/bug1010.html Also 1px and 2px text rendering difference virtual/layout_ng_experimental/external/wpt/css/css-flexbox/flexbox_stf-table-caption.html Fails for an unrelated reason, see newly filed bug 857185 Bug: 635619 Cq-Include-Trybots: luci.chromium.try:linux_layout_tests_layout_ng Change-Id: Ia11317acd777aec201702fce28ebab74dba99b4f Reviewed-on: https://chromium-review.googlesource.com/508293 Commit-Queue: Christian Biesinger <cbiesinger@chromium.org> Reviewed-by: Emil A Eklund <eae@chromium.org> Cr-Commit-Position: refs/heads/master@{#570953} [modify] https://crrev.com/29b9eafeffa528388b7a3ed568f3abefd6de0594/third_party/WebKit/LayoutTests/FlagExpectations/enable-blink-features=LayoutNG [modify] https://crrev.com/29b9eafeffa528388b7a3ed568f3abefd6de0594/third_party/WebKit/LayoutTests/TestExpectations [modify] https://crrev.com/29b9eafeffa528388b7a3ed568f3abefd6de0594/third_party/WebKit/LayoutTests/flag-specific/enable-blink-features=LayoutNG/css2.1/20110323/table-height-algorithm-023-expected.txt [modify] https://crrev.com/29b9eafeffa528388b7a3ed568f3abefd6de0594/third_party/WebKit/LayoutTests/flag-specific/enable-blink-features=LayoutNG/css2.1/20110323/table-height-algorithm-024-expected.txt [modify] https://crrev.com/29b9eafeffa528388b7a3ed568f3abefd6de0594/third_party/WebKit/LayoutTests/flag-specific/enable-blink-features=LayoutNG/fast/dynamic/012-expected.txt [modify] https://crrev.com/29b9eafeffa528388b7a3ed568f3abefd6de0594/third_party/WebKit/LayoutTests/flag-specific/enable-blink-features=LayoutNG/tables/mozilla/bugs/bug57828-expected.png [add] https://crrev.com/29b9eafeffa528388b7a3ed568f3abefd6de0594/third_party/WebKit/LayoutTests/flag-specific/enable-blink-features=LayoutNG/tables/mozilla/bugs/bug57828-expected.txt [add] https://crrev.com/29b9eafeffa528388b7a3ed568f3abefd6de0594/third_party/WebKit/LayoutTests/flag-specific/enable-blink-features=LayoutNG/tables/mozilla/bugs/bug60992-expected.png [add] https://crrev.com/29b9eafeffa528388b7a3ed568f3abefd6de0594/third_party/WebKit/LayoutTests/flag-specific/enable-blink-features=LayoutNG/tables/mozilla/bugs/bug60992-expected.txt [modify] https://crrev.com/29b9eafeffa528388b7a3ed568f3abefd6de0594/third_party/WebKit/LayoutTests/flag-specific/enable-blink-features=LayoutNG/tables/mozilla_expected_failures/bugs/bug1010-expected.png [add] https://crrev.com/29b9eafeffa528388b7a3ed568f3abefd6de0594/third_party/WebKit/LayoutTests/flag-specific/enable-blink-features=LayoutNG/tables/mozilla_expected_failures/bugs/bug1010-expected.txt [add] https://crrev.com/29b9eafeffa528388b7a3ed568f3abefd6de0594/third_party/WebKit/LayoutTests/virtual/layout_ng_experimental/fast/multicol/flexbox-with-overflow-auto-child-crash-expected.txt [modify] https://crrev.com/29b9eafeffa528388b7a3ed568f3abefd6de0594/third_party/blink/renderer/core/layout/min_max_size.cc [modify] https://crrev.com/29b9eafeffa528388b7a3ed568f3abefd6de0594/third_party/blink/renderer/core/layout/min_max_size.h [modify] https://crrev.com/29b9eafeffa528388b7a3ed568f3abefd6de0594/third_party/blink/renderer/core/layout/ng/layout_ng_block_flow.cc [modify] https://crrev.com/29b9eafeffa528388b7a3ed568f3abefd6de0594/third_party/blink/renderer/core/layout/ng/layout_ng_block_flow.h [modify] https://crrev.com/29b9eafeffa528388b7a3ed568f3abefd6de0594/third_party/blink/renderer/core/layout/ng/ng_base_layout_algorithm_test.cc [modify] https://crrev.com/29b9eafeffa528388b7a3ed568f3abefd6de0594/third_party/blink/renderer/core/layout/ng/ng_base_layout_algorithm_test.h [modify] https://crrev.com/29b9eafeffa528388b7a3ed568f3abefd6de0594/third_party/blink/renderer/core/layout/ng/ng_block_layout_algorithm.cc [modify] https://crrev.com/29b9eafeffa528388b7a3ed568f3abefd6de0594/third_party/blink/renderer/core/layout/ng/ng_block_layout_algorithm_test.cc [modify] https://crrev.com/29b9eafeffa528388b7a3ed568f3abefd6de0594/third_party/blink/renderer/core/layout/ng/ng_block_node.cc [modify] https://crrev.com/29b9eafeffa528388b7a3ed568f3abefd6de0594/third_party/blink/renderer/core/layout/ng/ng_floats_utils.cc [modify] https://crrev.com/29b9eafeffa528388b7a3ed568f3abefd6de0594/third_party/blink/renderer/core/layout/ng/ng_length_utils.cc
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/0b6ec44344fa3dbbabcf195a63854bf9e5465638 commit 0b6ec44344fa3dbbabcf195a63854bf9e5465638 Author: Aleks Totic <atotic@chromium.org> Date: Sat Jun 30 02:22:17 2018 [LayoutNG] Remove stale expectations Bug: 635619 Cq-Include-Trybots: luci.chromium.try:linux_layout_tests_layout_ng Change-Id: I99071670521a938d87a90bb2d1a7e481f7e74bdb Reviewed-on: https://chromium-review.googlesource.com/1121578 Reviewed-by: Emil A Eklund <eae@chromium.org> Commit-Queue: Aleks Totic <atotic@chromium.org> Cr-Commit-Position: refs/heads/master@{#571741} [modify] https://crrev.com/0b6ec44344fa3dbbabcf195a63854bf9e5465638/third_party/WebKit/LayoutTests/FlagExpectations/enable-blink-features=LayoutNG [delete] https://crrev.com/be7e1da3699810b6a73bd1d93069a6fd2163ace4/third_party/WebKit/LayoutTests/flag-specific/enable-blink-features=LayoutNG/fast/forms/text/input-text-scroll-left-on-blur-expected.png [delete] https://crrev.com/be7e1da3699810b6a73bd1d93069a6fd2163ace4/third_party/WebKit/LayoutTests/flag-specific/enable-blink-features=LayoutNG/fast/forms/text/input-text-scroll-left-on-blur-expected.txt
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/367e0cedce5a3a98b84835fcb5b8ab9706322408 commit 367e0cedce5a3a98b84835fcb5b8ab9706322408 Author: Koji Ishii <kojii@chromium.org> Date: Mon Jul 02 12:42:11 2018 [LayoutNG] Force legacy layout for fieldset elements This is one missed LayoutBlockFlow-derived class that were not handled yet, either by implementing LayoutNG counterpart or by forcing legacy. This isn't a big class, but since most form controls forces legacy at its cloest BFC ancestor, it's reasonable to handle when we support form controls. Bug: 635619 Cq-Include-Trybots: luci.chromium.try:linux_layout_tests_layout_ng Change-Id: I9a9bb1788e9fe8367d6ce8d9439aae3f243335de Reviewed-on: https://chromium-review.googlesource.com/1122028 Reviewed-by: Ian Kilpatrick <ikilpatrick@chromium.org> Commit-Queue: Koji Ishii <kojii@chromium.org> Cr-Commit-Position: refs/heads/master@{#571875} [modify] https://crrev.com/367e0cedce5a3a98b84835fcb5b8ab9706322408/third_party/WebKit/LayoutTests/FlagExpectations/enable-blink-features=LayoutNG [delete] https://crrev.com/91ca88a0ea4b2cf820049d9158b0404c24935b47/third_party/WebKit/LayoutTests/flag-specific/enable-blink-features=LayoutNG/fast/css/invalidation/fieldset-disabled-expected.txt [delete] https://crrev.com/91ca88a0ea4b2cf820049d9158b0404c24935b47/third_party/WebKit/LayoutTests/flag-specific/enable-blink-features=LayoutNG/fast/forms/006-expected.png [modify] https://crrev.com/367e0cedce5a3a98b84835fcb5b8ab9706322408/third_party/WebKit/LayoutTests/flag-specific/enable-blink-features=LayoutNG/fast/forms/006-expected.txt [modify] https://crrev.com/367e0cedce5a3a98b84835fcb5b8ab9706322408/third_party/WebKit/LayoutTests/flag-specific/enable-blink-features=LayoutNG/fast/forms/007-expected.txt [delete] https://crrev.com/91ca88a0ea4b2cf820049d9158b0404c24935b47/third_party/WebKit/LayoutTests/flag-specific/enable-blink-features=LayoutNG/svg/custom/inline-svg-in-xhtml-expected.png [modify] https://crrev.com/367e0cedce5a3a98b84835fcb5b8ab9706322408/third_party/WebKit/LayoutTests/flag-specific/enable-blink-features=LayoutNG/svg/custom/inline-svg-in-xhtml-expected.txt [modify] https://crrev.com/367e0cedce5a3a98b84835fcb5b8ab9706322408/third_party/blink/renderer/core/html/forms/html_field_set_element.h
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/ca3e1d157495ffb663b61b2b5834a77df741aac8 commit ca3e1d157495ffb663b61b2b5834a77df741aac8 Author: Aleks Totic <atotic@chromium.org> Date: Tue Jul 03 21:05:21 2018 [LayoutNG] Expectations cleanup Fix "Unexpectedly passing" tests. extend_by_character.html is a testharness test, did not need expectations. Bug: 635619 Cq-Include-Trybots: luci.chromium.try:linux_layout_tests_layout_ng Change-Id: I403480c0766cac166aa9ce2f9ddf778f63fea39e Reviewed-on: https://chromium-review.googlesource.com/1124958 Commit-Queue: Aleks Totic <atotic@chromium.org> Reviewed-by: Morten Stenshorne <mstensho@chromium.org> Reviewed-by: Christian Biesinger <cbiesinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#572350} [modify] https://crrev.com/ca3e1d157495ffb663b61b2b5834a77df741aac8/third_party/WebKit/LayoutTests/FlagExpectations/enable-blink-features=LayoutNG [modify] https://crrev.com/ca3e1d157495ffb663b61b2b5834a77df741aac8/third_party/WebKit/LayoutTests/TestExpectations [delete] https://crrev.com/ab03b92c3aa91811eeb11f332f0a4fa06154c6d3/third_party/WebKit/LayoutTests/platform/linux/editing/selection/modify_extend/extend_by_character-expected.txt [delete] https://crrev.com/ab03b92c3aa91811eeb11f332f0a4fa06154c6d3/third_party/WebKit/LayoutTests/platform/win/editing/selection/modify_extend/extend_by_character-expected.txt
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/f99b2ca3a600a277b2bbd98fc8f9b765d3990a36 commit f99b2ca3a600a277b2bbd98fc8f9b765d3990a36 Author: Ian Kilpatrick <ikilpatrick@chromium.org> Date: Wed Jul 04 08:45:16 2018 [LayoutNG] Make empty block end margins "inherit" quirkiness from start margins. This is amazing. Essentially if an element has "default" quirky start margins, and it is an empty block, the end margin (regardless of if it is quirky or not), becomes quirky. This doesn't propagate to other elements however, see: https://www.software.hixie.ch/utilities/js/live-dom-viewer/?saved=6016 A bigger fix might be to change the default stylesheet to make all of these elements with quirky margins to have quirky margins on each side, then change the logic for the bottom quirkyness. But this is a pretty scary change. (This may however match other browsers better eventually). Cq-Include-Trybots: luci.chromium.try:linux_layout_tests_layout_ng Change-Id: I5895a148211a5a1291e9b0a935fea08e094d4ec0 Bug: 635619 Reviewed-on: https://chromium-review.googlesource.com/1124071 Reviewed-by: Morten Stenshorne <mstensho@chromium.org> Commit-Queue: Morten Stenshorne <mstensho@chromium.org> Cr-Commit-Position: refs/heads/master@{#572513} [modify] https://crrev.com/f99b2ca3a600a277b2bbd98fc8f9b765d3990a36/third_party/WebKit/LayoutTests/FlagExpectations/enable-blink-features=LayoutNG [delete] https://crrev.com/efc54545bfbf3faa42f874156b037f5e2888471f/third_party/WebKit/LayoutTests/flag-specific/enable-blink-features=LayoutNG/fast/invalid/table-residual-style-crash-expected.txt [modify] https://crrev.com/f99b2ca3a600a277b2bbd98fc8f9b765d3990a36/third_party/blink/renderer/core/layout/ng/ng_block_layout_algorithm.cc
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/96e59ecfb9119ef5ca25efcfe2ba9ba12564cff4 commit 96e59ecfb9119ef5ca25efcfe2ba9ba12564cff4 Author: Ian Kilpatrick <ikilpatrick@chromium.org> Date: Wed Jul 04 22:54:21 2018 [LayoutNG] Fix propagating MinMaxInput into children within a BFC. This patch only passes the MinMaxInput struct to "inline" children, (and via. an anonymous block). The test cases which were failing can be simplified to: <float></float> <div> <float></float> </div> The <div> during the min/max calculation creates a new line. Cq-Include-Trybots: luci.chromium.try:linux_layout_tests_layout_ng Change-Id: I8b2842795b509538fbdde857709dfdce6d318ed5 Bug: 635619 Reviewed-on: https://chromium-review.googlesource.com/1125582 Commit-Queue: Ian Kilpatrick <ikilpatrick@chromium.org> Reviewed-by: Morten Stenshorne <mstensho@chromium.org> Cr-Commit-Position: refs/heads/master@{#572670} [modify] https://crrev.com/96e59ecfb9119ef5ca25efcfe2ba9ba12564cff4/third_party/WebKit/LayoutTests/FlagExpectations/enable-blink-features=LayoutNG [modify] https://crrev.com/96e59ecfb9119ef5ca25efcfe2ba9ba12564cff4/third_party/WebKit/LayoutTests/flag-specific/enable-blink-features=LayoutNG/fast/block/float/overhanging-float-remove-from-fixed-position-block-expected.png [modify] https://crrev.com/96e59ecfb9119ef5ca25efcfe2ba9ba12564cff4/third_party/WebKit/LayoutTests/flag-specific/enable-blink-features=LayoutNG/fast/block/float/overhanging-float-remove-from-fixed-position-block2-expected.png [modify] https://crrev.com/96e59ecfb9119ef5ca25efcfe2ba9ba12564cff4/third_party/blink/renderer/core/layout/ng/ng_block_layout_algorithm.cc
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/79f9539d44166b6e85c5e381fe41a526808a0dec commit 79f9539d44166b6e85c5e381fe41a526808a0dec Author: Ian Kilpatrick <ikilpatrick@chromium.org> Date: Thu Jul 05 05:51:49 2018 [LayoutNG] Remove adding out-of-flow children within PositionLeadingItems. Now that we don't early exit if we are an empty linebox we can just rely on the regular out-of-flow children adding pass. Cq-Include-Trybots: luci.chromium.try:linux_layout_tests_layout_ng Change-Id: I397a64e6d1df293d03c317dbfdf1f63a38f54206 Bug: 635619 Reviewed-on: https://chromium-review.googlesource.com/1126681 Reviewed-by: Koji Ishii <kojii@chromium.org> Commit-Queue: Ian Kilpatrick <ikilpatrick@chromium.org> Cr-Commit-Position: refs/heads/master@{#572714} [modify] https://crrev.com/79f9539d44166b6e85c5e381fe41a526808a0dec/third_party/blink/renderer/core/layout/ng/inline/ng_inline_layout_algorithm.cc
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/02a52f516f88d6a2046d38c73957af363f35691c commit 02a52f516f88d6a2046d38c73957af363f35691c Author: Christian Biesinger <cbiesinger@chromium.org> Date: Tue Jul 17 03:55:17 2018 [layoutng] Use the correct layout algorithm to compute min/max sizes This also required adding a check in NGBlockNode::ComputeMinMaxSize for whether we are inside of PerformLayout -- on Mac, we can compute preferred sizes outside of layout; however, we can't do actual layout in that case, so we have to fallback to legacy min/max size in this case (c.f. RenderViewImpl::CheckPreferredSize()) Bug: 635619 Cq-Include-Trybots: luci.chromium.try:linux_layout_tests_layout_ng Change-Id: I0caf0c6c79264074ccaf9f45b83a420950dab715 Reviewed-on: https://chromium-review.googlesource.com/1131562 Commit-Queue: Christian Biesinger <cbiesinger@chromium.org> Reviewed-by: Morten Stenshorne <mstensho@chromium.org> Cr-Commit-Position: refs/heads/master@{#575545} [modify] https://crrev.com/02a52f516f88d6a2046d38c73957af363f35691c/third_party/WebKit/LayoutTests/TestExpectations [add] https://crrev.com/02a52f516f88d6a2046d38c73957af363f35691c/third_party/WebKit/LayoutTests/fast/multicol/intrinsic-width-expected.html [add] https://crrev.com/02a52f516f88d6a2046d38c73957af363f35691c/third_party/WebKit/LayoutTests/fast/multicol/intrinsic-width.html [modify] https://crrev.com/02a52f516f88d6a2046d38c73957af363f35691c/third_party/blink/renderer/core/layout/ng/ng_block_node.cc [modify] https://crrev.com/02a52f516f88d6a2046d38c73957af363f35691c/third_party/blink/renderer/core/layout/ng/ng_block_node.h
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/43df04fe7fe11a69605cfa669226ae74b91c41c2 commit 43df04fe7fe11a69605cfa669226ae74b91c41c2 Author: Mikel Astiz <mastiz@chromium.org> Date: Tue Jul 17 08:11:30 2018 Revert "[layoutng] Use the correct layout algorithm to compute min/max sizes" This reverts commit 02a52f516f88d6a2046d38c73957af363f35691c. Reason for revert: suspect of causing test failures on multiple bots for test flexbox-with-overflow-auto-child-crash.html. Bug: 864402 Original change's description: > [layoutng] Use the correct layout algorithm to compute min/max sizes > > This also required adding a check in NGBlockNode::ComputeMinMaxSize > for whether we are inside of PerformLayout -- on Mac, we can > compute preferred sizes outside of layout; however, we can't do > actual layout in that case, so we have to fallback to legacy > min/max size in this case (c.f. RenderViewImpl::CheckPreferredSize()) > > Bug: 635619 > Cq-Include-Trybots: luci.chromium.try:linux_layout_tests_layout_ng > Change-Id: I0caf0c6c79264074ccaf9f45b83a420950dab715 > Reviewed-on: https://chromium-review.googlesource.com/1131562 > Commit-Queue: Christian Biesinger <cbiesinger@chromium.org> > Reviewed-by: Morten Stenshorne <mstensho@chromium.org> > Cr-Commit-Position: refs/heads/master@{#575545} TBR=cbiesinger@chromium.org,ikilpatrick@chromium.org,mstensho@chromium.org Change-Id: I02d8cbfe883bafb2a3780ec46bd11b9e786678f4 No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: 635619 Cq-Include-Trybots: luci.chromium.try:linux_layout_tests_layout_ng Reviewed-on: https://chromium-review.googlesource.com/1140033 Reviewed-by: Mikel Astiz <mastiz@chromium.org> Commit-Queue: Mikel Astiz <mastiz@chromium.org> Cr-Commit-Position: refs/heads/master@{#575576} [modify] https://crrev.com/43df04fe7fe11a69605cfa669226ae74b91c41c2/third_party/WebKit/LayoutTests/TestExpectations [delete] https://crrev.com/0b46e1db3d88b762411614d6ae7bbe4f1d5cd6e0/third_party/WebKit/LayoutTests/fast/multicol/intrinsic-width-expected.html [delete] https://crrev.com/0b46e1db3d88b762411614d6ae7bbe4f1d5cd6e0/third_party/WebKit/LayoutTests/fast/multicol/intrinsic-width.html [modify] https://crrev.com/43df04fe7fe11a69605cfa669226ae74b91c41c2/third_party/blink/renderer/core/layout/ng/ng_block_node.cc [modify] https://crrev.com/43df04fe7fe11a69605cfa669226ae74b91c41c2/third_party/blink/renderer/core/layout/ng/ng_block_node.h
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/3bd8fefa9ff2719cd99bc26672b20a3ad7ff8666 commit 3bd8fefa9ff2719cd99bc26672b20a3ad7ff8666 Author: Peter Mayo <petermayo@chromium.org> Date: Tue Jul 17 14:53:01 2018 Re-enable 2 layout_ng layout tests https://chromium-review.googlesource.com/1132541 seems to also have fixed these two: layout_ng/fast/block/float/floats-offset-inline-block-strict-line-height.html layout_ng/fast/block/float/floats-offset-image-strict-line-height.html See https://test-results.appspot.com/dashboards/flakiness_dashboard.html#testType=webkit_layout_tests&tests=virtual/layout_ng/fast/block/float/floats-offset-image-strict-line-height.html%20virtual/layout_ng/fast/block/float/floats-offset-inline-block-strict-line-height.html Bisected locally on linux. Bug: 635619, 734554 Change-Id: If679447ec77b8bd41bf5ea6f7f10846751ce5cd8 Reviewed-on: https://chromium-review.googlesource.com/1140276 Reviewed-by: Peter Mayo <petermayo@chromium.org> Reviewed-by: Ian Kilpatrick <ikilpatrick@chromium.org> Commit-Queue: Ian Kilpatrick <ikilpatrick@chromium.org> Cr-Commit-Position: refs/heads/master@{#575639} [modify] https://crrev.com/3bd8fefa9ff2719cd99bc26672b20a3ad7ff8666/third_party/WebKit/LayoutTests/TestExpectations
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/41ba8bb0cfbb0764bb80dad6c6b0fdc5512b5cab commit 41ba8bb0cfbb0764bb80dad6c6b0fdc5512b5cab Author: Christian Biesinger <cbiesinger@chromium.org> Date: Wed Jul 18 00:31:47 2018 Reland "[layoutng] Use the correct layout algorithm to compute min/max sizes" This reverts commit 43df04fe7fe11a69605cfa669226ae74b91c41c2. Looks like there is no need for a flag-specific expectation anymore for virtual/layout_ng_experimental/fast/multicol/flexbox-with-overflow-auto-child-crash.html Original change's description: > [layoutng] Use the correct layout algorithm to compute min/max sizes > > This also required adding a check in NGBlockNode::ComputeMinMaxSize > for whether we are inside of PerformLayout -- on Mac, we can > compute preferred sizes outside of layout; however, we can't do > actual layout in that case, so we have to fallback to legacy > min/max size in this case (c.f. RenderViewImpl::CheckPreferredSize()) > > Bug: 635619 > Cq-Include-Trybots: luci.chromium.try:linux_layout_tests_layout_ng > Change-Id: I0caf0c6c79264074ccaf9f45b83a420950dab715 > Reviewed-on: https://chromium-review.googlesource.com/1131562 > Commit-Queue: Christian Biesinger <cbiesinger@chromium.org> > Reviewed-by: Morten Stenshorne <mstensho@chromium.org> > Cr-Commit-Position: refs/heads/master@{#575545} Bug: 635619 Change-Id: I28ca2367e21327d9f911c75b9f9950d171d48e1b Cq-Include-Trybots: luci.chromium.try:linux_layout_tests_layout_ng Reviewed-on: https://chromium-review.googlesource.com/1140206 Reviewed-by: Emil A Eklund <eae@chromium.org> Commit-Queue: Christian Biesinger <cbiesinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#575872} [modify] https://crrev.com/41ba8bb0cfbb0764bb80dad6c6b0fdc5512b5cab/third_party/WebKit/LayoutTests/TestExpectations [add] https://crrev.com/41ba8bb0cfbb0764bb80dad6c6b0fdc5512b5cab/third_party/WebKit/LayoutTests/fast/multicol/intrinsic-width-expected.html [add] https://crrev.com/41ba8bb0cfbb0764bb80dad6c6b0fdc5512b5cab/third_party/WebKit/LayoutTests/fast/multicol/intrinsic-width.html [delete] https://crrev.com/113cc2d54f97a1384ecc5c3a0b8bcddbd0c3765f/third_party/WebKit/LayoutTests/virtual/layout_ng_experimental/fast/multicol/flexbox-with-overflow-auto-child-crash-expected.txt [modify] https://crrev.com/41ba8bb0cfbb0764bb80dad6c6b0fdc5512b5cab/third_party/blink/renderer/core/layout/ng/ng_block_node.cc [modify] https://crrev.com/41ba8bb0cfbb0764bb80dad6c6b0fdc5512b5cab/third_party/blink/renderer/core/layout/ng/ng_block_node.h
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/9579e5a163b57496c4a09095b3cfe790c56f50e7 commit 9579e5a163b57496c4a09095b3cfe790c56f50e7 Author: Ian Kilpatrick <ikilpatrick@chromium.org> Date: Wed Jul 18 20:37:55 2018 [LayoutNG] Avoid copying a shelf in loop of NGExclusionSpace::Add. Every pass of the ExclusionSpace::Add loop invoked a copy of a shelf optimistically. This isn't needed for every pass, and only needed for the single pass where we are actually going to add the shelf. (there is potential to remove additional copies, but we'll see if that is needed later). Cq-Include-Trybots: luci.chromium.try:linux_layout_tests_layout_ng Change-Id: Ia7cdafc71bf0ea0c657763957ef8c5e0e0953382 Bug: 635619 Reviewed-on: https://chromium-review.googlesource.com/1140521 Reviewed-by: Koji Ishii <kojii@chromium.org> Commit-Queue: Ian Kilpatrick <ikilpatrick@chromium.org> Cr-Commit-Position: refs/heads/master@{#576192} [modify] https://crrev.com/9579e5a163b57496c4a09095b3cfe790c56f50e7/third_party/blink/renderer/core/layout/ng/exclusions/ng_exclusion_space.cc
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/b8407884b68108ac67fc2fcf558fc98e99f527af commit b8407884b68108ac67fc2fcf558fc98e99f527af Author: Ian Kilpatrick <ikilpatrick@chromium.org> Date: Thu Jul 19 17:31:53 2018 [LayoutNG] Reduce the copy cost of NGExclusionSpace to a tiny amount. This changes the NGExclusionSpace to use a re-generatable data-structure called "DerivedGeometry". This contains the representation which is used to perform queries on the exclusion space. At a high level exclusion spaces maintain their immutability by copying each time the information is moved from one algorithm to another (either up or down the tree). As exclusions can *only* be added, we exploit this, by making all exclusion spaces within a "copy-chain" within the same formatting context share same list of exclusions. If an exclusion gets added out-of-order e.g. when we are retrying a layout, the exclusions have a copy-on-write performed. We also exploit the fact that the expensive re-generatable data-structure typically only is used by the last exclusion space in the copy-chain, so within the copy-constructor we always std::move this to the newly created exclusion space. Bug: 635619 Cq-Include-Trybots: luci.chromium.try:linux_layout_tests_layout_ng Change-Id: I82deed9b6147d1facd4429ba48cb5f0e1763c418 Reviewed-on: https://chromium-review.googlesource.com/1142468 Commit-Queue: Ian Kilpatrick <ikilpatrick@chromium.org> Reviewed-by: Emil A Eklund <eae@chromium.org> Reviewed-by: Koji Ishii <kojii@chromium.org> Cr-Commit-Position: refs/heads/master@{#576544} [modify] https://crrev.com/b8407884b68108ac67fc2fcf558fc98e99f527af/third_party/blink/renderer/core/layout/ng/exclusions/ng_exclusion_space.cc [modify] https://crrev.com/b8407884b68108ac67fc2fcf558fc98e99f527af/third_party/blink/renderer/core/layout/ng/exclusions/ng_exclusion_space.h [modify] https://crrev.com/b8407884b68108ac67fc2fcf558fc98e99f527af/third_party/blink/renderer/platform/wtf/ref_vector.h
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/31da4fe3ccb0bf3848c54f4b6523ead2b93b9222 commit 31da4fe3ccb0bf3848c54f4b6523ead2b93b9222 Author: Ian Kilpatrick <ikilpatrick@chromium.org> Date: Fri Jul 20 04:26:35 2018 [LayoutNG] Remove NGConstraintSpace allocation when computing float inline-size. This shouldn't have any behaviour change. Instead of using the ComputeInlineSizeForFragment call directly, we optimistically perform layout on the float to determine this size. This saves an allocation of an NGConstraintSpace (and simplifies the code dramatically), which results in a 25% perf increase in some float benchmarks (see previous pinpoint result). Cq-Include-Trybots: luci.chromium.try:linux_layout_tests_layout_ng Change-Id: I111e62a4c16c206473085ebd309719f017196959 Bug: 635619 Reviewed-on: https://chromium-review.googlesource.com/1143882 Commit-Queue: Ian Kilpatrick <ikilpatrick@chromium.org> Reviewed-by: Koji Ishii <kojii@chromium.org> Cr-Commit-Position: refs/heads/master@{#576778} [modify] https://crrev.com/31da4fe3ccb0bf3848c54f4b6523ead2b93b9222/third_party/blink/renderer/core/layout/ng/inline/ng_line_breaker.cc [modify] https://crrev.com/31da4fe3ccb0bf3848c54f4b6523ead2b93b9222/third_party/blink/renderer/core/layout/ng/ng_floats_utils.cc
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/e59c208d6184b5a4b52272b9900a7177553c707a commit e59c208d6184b5a4b52272b9900a7177553c707a Author: Ian Kilpatrick <ikilpatrick@chromium.org> Date: Sat Jul 21 04:13:52 2018 [LayoutNG] Remove small allocation of NGConstraintSpace for floats. This removes a NGConstraintSpace allocation inside: NGBlockLayoutAlgorithm::CalculateMarings This doesn't have a perf impact, but will make it easier to potentially move margins onto layout results. Cq-Include-Trybots: luci.chromium.try:linux_layout_tests_layout_ng Change-Id: I83d6d1f61e2f9bd8f94eed395e759bd01d6cbe78 Bug: 635619 Reviewed-on: https://chromium-review.googlesource.com/1145460 Reviewed-by: Koji Ishii <kojii@chromium.org> Commit-Queue: Koji Ishii <kojii@chromium.org> Cr-Commit-Position: refs/heads/master@{#577067} [modify] https://crrev.com/e59c208d6184b5a4b52272b9900a7177553c707a/third_party/blink/renderer/core/layout/ng/inline/ng_inline_layout_algorithm.cc [modify] https://crrev.com/e59c208d6184b5a4b52272b9900a7177553c707a/third_party/blink/renderer/core/layout/ng/inline/ng_line_breaker.cc [modify] https://crrev.com/e59c208d6184b5a4b52272b9900a7177553c707a/third_party/blink/renderer/core/layout/ng/ng_block_layout_algorithm.cc [modify] https://crrev.com/e59c208d6184b5a4b52272b9900a7177553c707a/third_party/blink/renderer/core/layout/ng/ng_floats_utils.cc [modify] https://crrev.com/e59c208d6184b5a4b52272b9900a7177553c707a/third_party/blink/renderer/core/layout/ng/ng_floats_utils.h [modify] https://crrev.com/e59c208d6184b5a4b52272b9900a7177553c707a/third_party/blink/renderer/core/layout/ng/ng_length_utils.cc [modify] https://crrev.com/e59c208d6184b5a4b52272b9900a7177553c707a/third_party/blink/renderer/core/layout/ng/ng_length_utils_test.cc [modify] https://crrev.com/e59c208d6184b5a4b52272b9900a7177553c707a/third_party/blink/renderer/core/layout/ng/ng_unpositioned_float.cc [modify] https://crrev.com/e59c208d6184b5a4b52272b9900a7177553c707a/third_party/blink/renderer/core/layout/ng/ng_unpositioned_float.h
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/aaa0f22fb2131e09f8d0146c5d5e0ff6b06494e3 commit aaa0f22fb2131e09f8d0146c5d5e0ff6b06494e3 Author: Ian Kilpatrick <ikilpatrick@chromium.org> Date: Sat Jul 28 04:59:27 2018 [LayoutNG] Make fragmenting floats use util method for ignoring block-start margins. This is just a cleanup and should have no behavioral change. Cq-Include-Trybots: luci.chromium.try:linux_layout_tests_layout_ng Change-Id: If69feb08df2f5247e09654d7ae0d7d1201a2d47a Bug: 635619 Reviewed-on: https://chromium-review.googlesource.com/1150623 Commit-Queue: Koji Ishii <kojii@chromium.org> Reviewed-by: Koji Ishii <kojii@chromium.org> Cr-Commit-Position: refs/heads/master@{#578914} [modify] https://crrev.com/aaa0f22fb2131e09f8d0146c5d5e0ff6b06494e3/third_party/blink/renderer/core/layout/ng/ng_floats_utils.cc
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/baf9180b44d59fe3fe7e48dcd0d9821372f5c611 commit baf9180b44d59fe3fe7e48dcd0d9821372f5c611 Author: Ian Kilpatrick <ikilpatrick@chromium.org> Date: Mon Jul 30 16:36:53 2018 [LayoutNG] Add support for negative margins and new formatting contexts This does two things: 1. Allows a new formatting context to be sized and positioned outside its layout opportunity when negative margins are present. This occurs when a layout opportunity inline dimensions matches the initial child available space (ignoring floats). Additionally when a new formatting context "jumps out" of its layout opportunity it ignores any floats which might impede it. 2. Performs layout inside an opportunity, and then checks if the result can fit within the same opportunity. Previously we were trying to position in an arbitrary layout opportunity, which fails the new-fc-relayout.html test. Cq-Include-Trybots: luci.chromium.try:linux_layout_tests_layout_ng Change-Id: I6b44b6273be5c0f633e39a8875cc54ea0bc54480 Bug: 635619 Reviewed-on: https://chromium-review.googlesource.com/1150849 Commit-Queue: Ian Kilpatrick <ikilpatrick@chromium.org> Reviewed-by: Morten Stenshorne <mstensho@chromium.org> Cr-Commit-Position: refs/heads/master@{#579064} [modify] https://crrev.com/baf9180b44d59fe3fe7e48dcd0d9821372f5c611/third_party/WebKit/LayoutTests/FlagExpectations/enable-blink-features=LayoutNG [add] https://crrev.com/baf9180b44d59fe3fe7e48dcd0d9821372f5c611/third_party/WebKit/LayoutTests/external/wpt/css/CSS2/floats/new-fc-relayout.html [add] https://crrev.com/baf9180b44d59fe3fe7e48dcd0d9821372f5c611/third_party/WebKit/LayoutTests/external/wpt/css/CSS2/floats/zero-width-floats-positioning.html [modify] https://crrev.com/baf9180b44d59fe3fe7e48dcd0d9821372f5c611/third_party/blink/renderer/core/layout/ng/ng_block_layout_algorithm.cc [modify] https://crrev.com/baf9180b44d59fe3fe7e48dcd0d9821372f5c611/third_party/blink/renderer/core/layout/ng/ng_block_layout_algorithm.h
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/efce0626b26a44a65c39b4dbd8bf9a06105be3f5 commit efce0626b26a44a65c39b4dbd8bf9a06105be3f5 Author: Koji Ishii <kojii@chromium.org> Date: Mon Jul 30 19:02:50 2018 [LayoutNG] Exclude SelfPaintingLayer from ContentsInkOverflow This patch excludes SelfPaintingLayer fragments, such as 'visibility: hidden', from ContentsInkOverflow, by following the logic in LayoutBox::AddOverflowFromChild. Seems to fix 10 tests. 2 layer dump rebaselines are no longer needed, but compositing/iframes/floating-self-painting-frame.html starts failing. Somehow we fail to invalidate the self painting layer created by iframe. Bug: 635619 Cq-Include-Trybots: luci.chromium.try:linux_layout_tests_layout_ng Change-Id: I09ab9a5fa2c062acf4d5cd37225e5c8f756ad04b Reviewed-on: https://chromium-review.googlesource.com/1155029 Reviewed-by: Emil A Eklund <eae@chromium.org> Commit-Queue: Emil A Eklund <eae@chromium.org> Cr-Commit-Position: refs/heads/master@{#579107} [modify] https://crrev.com/efce0626b26a44a65c39b4dbd8bf9a06105be3f5/third_party/WebKit/LayoutTests/FlagExpectations/enable-blink-features=LayoutNG [delete] https://crrev.com/8d90752f4de56af3f18685a73d7b9ce23458f698/third_party/WebKit/LayoutTests/flag-specific/enable-blink-features=LayoutNG/compositing/geometry/bounds-ignores-hidden-dynamic-expected.txt [delete] https://crrev.com/8d90752f4de56af3f18685a73d7b9ce23458f698/third_party/WebKit/LayoutTests/flag-specific/enable-blink-features=LayoutNG/compositing/layer-creation/overlap-transformed-preserved-3d-expected.txt [delete] https://crrev.com/8d90752f4de56af3f18685a73d7b9ce23458f698/third_party/WebKit/LayoutTests/flag-specific/enable-blink-features=LayoutNG/paint/invalidation/scroll/overflow-scroll-composited-non-stacking-child-expected.txt [modify] https://crrev.com/efce0626b26a44a65c39b4dbd8bf9a06105be3f5/third_party/blink/renderer/core/layout/ng/ng_physical_fragment.cc
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/a79679f09da5415fe1af2a14549b9c9095f49a61 commit a79679f09da5415fe1af2a14549b9c9095f49a61 Author: Ian Kilpatrick <ikilpatrick@chromium.org> Date: Mon Jul 30 20:24:54 2018 [LayoutNG] Cleanup where we set the new exclusion space. We don't need two separate logic paths to set the exclusion space. We are able to update the exclusion space once we know we have a successful child layout. Cq-Include-Trybots: luci.chromium.try:linux_layout_tests_layout_ng Change-Id: I7aaa7ecfde69c4fedb71bbb77c2ccf4fc21aacf9 Bug: 635619 Reviewed-on: https://chromium-review.googlesource.com/1147331 Commit-Queue: Ian Kilpatrick <ikilpatrick@chromium.org> Reviewed-by: Morten Stenshorne <mstensho@chromium.org> Cr-Commit-Position: refs/heads/master@{#579146} [modify] https://crrev.com/a79679f09da5415fe1af2a14549b9c9095f49a61/third_party/blink/renderer/core/layout/ng/ng_block_layout_algorithm.cc
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/b453c812333bd4e8427975d778b92f3a3b6718e3 commit b453c812333bd4e8427975d778b92f3a3b6718e3 Author: Ian Kilpatrick <ikilpatrick@chromium.org> Date: Wed Aug 01 15:37:56 2018 [LayoutNG] Update BFC (block) offset resolving documentation. This was pretty mechanical, but everything I think still makes sense. Effectively everything that references "resolving a BFC offset" now turns into "resolving a BFC block offset". There should be no behaviour change. Cq-Include-Trybots: luci.chromium.try:linux_layout_tests_layout_ng Change-Id: I1215520ab21eae6fb45b4ab53be08a0fdde232ac Bug: 635619 Reviewed-on: https://chromium-review.googlesource.com/1155266 Reviewed-by: Morten Stenshorne <mstensho@chromium.org> Commit-Queue: Ian Kilpatrick <ikilpatrick@chromium.org> Cr-Commit-Position: refs/heads/master@{#579816} [modify] https://crrev.com/b453c812333bd4e8427975d778b92f3a3b6718e3/third_party/blink/renderer/core/layout/ng/inline/ng_inline_layout_algorithm.cc [modify] https://crrev.com/b453c812333bd4e8427975d778b92f3a3b6718e3/third_party/blink/renderer/core/layout/ng/inline/ng_line_breaker.cc [modify] https://crrev.com/b453c812333bd4e8427975d778b92f3a3b6718e3/third_party/blink/renderer/core/layout/ng/ng_block_layout_algorithm.cc [modify] https://crrev.com/b453c812333bd4e8427975d778b92f3a3b6718e3/third_party/blink/renderer/core/layout/ng/ng_block_layout_algorithm.h [modify] https://crrev.com/b453c812333bd4e8427975d778b92f3a3b6718e3/third_party/blink/renderer/core/layout/ng/ng_floats_utils.h [modify] https://crrev.com/b453c812333bd4e8427975d778b92f3a3b6718e3/third_party/blink/renderer/core/layout/ng/ng_layout_result.h
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/150d1e43b3811b1ddc337532d3f27839e30ad492 commit 150d1e43b3811b1ddc337532d3f27839e30ad492 Author: Christian Biesinger <cbiesinger@chromium.org> Date: Thu Aug 09 02:31:50 2018 [layoutng] Reduce unnecessary recomputation of padding The float->LayoutUnit conversion is surprisingly expensive R=eae@chromium.org Bug: 635619 Cq-Include-Trybots: luci.chromium.try:linux_layout_tests_layout_ng;luci.chromium.try:linux_layout_tests_slimming_paint_v2;master.tryserver.blink:linux_trusty_blink_rel Change-Id: I0aeb88ed69e9324512017cc7b376d2313eaa4b58 Reviewed-on: https://chromium-review.googlesource.com/1168088 Reviewed-by: Emil A Eklund <eae@chromium.org> Commit-Queue: Christian Biesinger <cbiesinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#581768} [modify] https://crrev.com/150d1e43b3811b1ddc337532d3f27839e30ad492/third_party/blink/renderer/core/layout/layout_block_flow.cc [modify] https://crrev.com/150d1e43b3811b1ddc337532d3f27839e30ad492/third_party/blink/renderer/core/layout/ng/inline/ng_inline_layout_algorithm.cc [modify] https://crrev.com/150d1e43b3811b1ddc337532d3f27839e30ad492/third_party/blink/renderer/core/layout/ng/list/ng_unpositioned_list_marker.cc [modify] https://crrev.com/150d1e43b3811b1ddc337532d3f27839e30ad492/third_party/blink/renderer/core/layout/ng/ng_block_node.cc [modify] https://crrev.com/150d1e43b3811b1ddc337532d3f27839e30ad492/third_party/blink/renderer/core/layout/ng/ng_box_fragment.cc [modify] https://crrev.com/150d1e43b3811b1ddc337532d3f27839e30ad492/third_party/blink/renderer/core/layout/ng/ng_box_fragment.h [modify] https://crrev.com/150d1e43b3811b1ddc337532d3f27839e30ad492/third_party/blink/renderer/core/layout/ng/ng_column_layout_algorithm.cc [modify] https://crrev.com/150d1e43b3811b1ddc337532d3f27839e30ad492/third_party/blink/renderer/core/layout/ng/ng_fragment_builder.cc [modify] https://crrev.com/150d1e43b3811b1ddc337532d3f27839e30ad492/third_party/blink/renderer/core/layout/ng/ng_fragmentation_utils.cc [modify] https://crrev.com/150d1e43b3811b1ddc337532d3f27839e30ad492/third_party/blink/renderer/core/layout/ng/ng_page_layout_algorithm.cc [modify] https://crrev.com/150d1e43b3811b1ddc337532d3f27839e30ad492/third_party/blink/renderer/core/layout/ng/ng_physical_box_fragment.cc [modify] https://crrev.com/150d1e43b3811b1ddc337532d3f27839e30ad492/third_party/blink/renderer/core/layout/ng/ng_physical_box_fragment.h [modify] https://crrev.com/150d1e43b3811b1ddc337532d3f27839e30ad492/third_party/blink/renderer/core/paint/ng/ng_box_fragment_painter.cc
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/1c4f51eb4a16077716ad725df84c3fe4a2cd6b86 commit 1c4f51eb4a16077716ad725df84c3fe4a2cd6b86 Author: Christian Biesinger <cbiesinger@chromium.org> Date: Fri Aug 10 18:50:34 2018 [layoutng] Remove an unnecessary duplicate call to ComputePadding Also, makes CalculateBorderScrollbarPadding equivalent to ComputeBorder + ComputePadding + GetScrollbarSizes. This also makes the padding set on the fragment more correct. R=eae@chromium.org Bug: 635619 Cq-Include-Trybots: luci.chromium.try:linux_layout_tests_layout_ng Change-Id: I8db38ca5955d30fa789a636e5c6deb2ec1fd1829 Reviewed-on: https://chromium-review.googlesource.com/1169321 Commit-Queue: Christian Biesinger <cbiesinger@chromium.org> Reviewed-by: Emil A Eklund <eae@chromium.org> Reviewed-by: Ian Kilpatrick <ikilpatrick@chromium.org> Cr-Commit-Position: refs/heads/master@{#582272} [modify] https://crrev.com/1c4f51eb4a16077716ad725df84c3fe4a2cd6b86/third_party/blink/renderer/core/layout/ng/ng_block_layout_algorithm.cc [modify] https://crrev.com/1c4f51eb4a16077716ad725df84c3fe4a2cd6b86/third_party/blink/renderer/core/layout/ng/ng_length_utils.cc [modify] https://crrev.com/1c4f51eb4a16077716ad725df84c3fe4a2cd6b86/third_party/blink/renderer/core/layout/ng/ng_length_utils.h
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/3584222f068fd6c16e2203b8c845945b3aba8f05 commit 3584222f068fd6c16e2203b8c845945b3aba8f05 Author: Christian Biesinger <cbiesinger@chromium.org> Date: Fri Aug 10 21:29:16 2018 [layoutng] Store borders on fragments as well This avoids recomputing them later. Also, changes RunOldLayout to use legacy layout to compute border/padding to store on the fragment, which seems more correct. R=eae@chromium.org Bug: 635619 Cq-Include-Trybots: luci.chromium.try:linux_layout_tests_layout_ng Change-Id: Id659d7c92eae81431d8e75a26ac3973421afc3d0 Reviewed-on: https://chromium-review.googlesource.com/1169634 Commit-Queue: Christian Biesinger <cbiesinger@chromium.org> Reviewed-by: Emil A Eklund <eae@chromium.org> Cr-Commit-Position: refs/heads/master@{#582339} [modify] https://crrev.com/3584222f068fd6c16e2203b8c845945b3aba8f05/third_party/blink/renderer/core/layout/ng/layout_ng_block_flow.cc [modify] https://crrev.com/3584222f068fd6c16e2203b8c845945b3aba8f05/third_party/blink/renderer/core/layout/ng/ng_block_layout_algorithm.cc [modify] https://crrev.com/3584222f068fd6c16e2203b8c845945b3aba8f05/third_party/blink/renderer/core/layout/ng/ng_block_node.cc [modify] https://crrev.com/3584222f068fd6c16e2203b8c845945b3aba8f05/third_party/blink/renderer/core/layout/ng/ng_box_fragment.cc [modify] https://crrev.com/3584222f068fd6c16e2203b8c845945b3aba8f05/third_party/blink/renderer/core/layout/ng/ng_box_fragment.h [modify] https://crrev.com/3584222f068fd6c16e2203b8c845945b3aba8f05/third_party/blink/renderer/core/layout/ng/ng_column_layout_algorithm.cc [modify] https://crrev.com/3584222f068fd6c16e2203b8c845945b3aba8f05/third_party/blink/renderer/core/layout/ng/ng_flex_layout_algorithm.cc [modify] https://crrev.com/3584222f068fd6c16e2203b8c845945b3aba8f05/third_party/blink/renderer/core/layout/ng/ng_fragment_builder.cc [modify] https://crrev.com/3584222f068fd6c16e2203b8c845945b3aba8f05/third_party/blink/renderer/core/layout/ng/ng_fragment_builder.h [modify] https://crrev.com/3584222f068fd6c16e2203b8c845945b3aba8f05/third_party/blink/renderer/core/layout/ng/ng_page_layout_algorithm.cc [modify] https://crrev.com/3584222f068fd6c16e2203b8c845945b3aba8f05/third_party/blink/renderer/core/layout/ng/ng_physical_box_fragment.cc [modify] https://crrev.com/3584222f068fd6c16e2203b8c845945b3aba8f05/third_party/blink/renderer/core/layout/ng/ng_physical_box_fragment.h
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/3b8c952b48cb746a0df77773af77e30a985d93d3 commit 3b8c952b48cb746a0df77773af77e30a985d93d3 Author: Christian Biesinger <cbiesinger@chromium.org> Date: Sat Aug 11 23:43:06 2018 [layoutng] Cache min/max content size in ComputeInlineSizeForFragment This also required fixing the relayout when the scrollbar changes, which fixes css3/flexbox/scrollbars-auto.html (and avoids breaking two tests in external/wpt/css/vendor-imports/mozilla/mozilla-central-reftests/flexbox) Bug: 635619 Cq-Include-Trybots: luci.chromium.try:linux_layout_tests_layout_ng;luci.chromium.try:linux_layout_tests_slimming_paint_v2;master.tryserver.blink:linux_trusty_blink_rel Change-Id: I790f0524b029a3c2340b6b9715c5b3529c75357f Reviewed-on: https://chromium-review.googlesource.com/1162657 Commit-Queue: Christian Biesinger <cbiesinger@chromium.org> Reviewed-by: Emil A Eklund <eae@chromium.org> Cr-Commit-Position: refs/heads/master@{#582464} [modify] https://crrev.com/3b8c952b48cb746a0df77773af77e30a985d93d3/third_party/WebKit/LayoutTests/FlagExpectations/enable-blink-features=LayoutNG [modify] https://crrev.com/3b8c952b48cb746a0df77773af77e30a985d93d3/third_party/blink/renderer/core/layout/ng/ng_block_node.cc [modify] https://crrev.com/3b8c952b48cb746a0df77773af77e30a985d93d3/third_party/blink/renderer/core/layout/ng/ng_length_utils.cc [modify] https://crrev.com/3b8c952b48cb746a0df77773af77e30a985d93d3/third_party/blink/renderer/core/paint/paint_layer_scrollable_area.cc
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/bbe6c164a31b19defc6f01f8e14387cd8f7623d4 commit bbe6c164a31b19defc6f01f8e14387cd8f7623d4 Author: Christian Biesinger <cbiesinger@chromium.org> Date: Mon Aug 20 18:01:27 2018 [layoutng] Handle pre-layout of orthogonal writing modes better This code previously skipped NG layout objects for performance reasons (https://codereview.chromium.org/2666663002 and https://chromium-review.googlesource.com/1073408). However, we do need to prelayout orthogonal roots if their containing block is legacy so that we can correctly compute the intrinsic widths of such containing blocks. This should not cause double layouts because nothing will mark the NG object as needing layout in this case. Bug: 635619 Cq-Include-Trybots: luci.chromium.try:linux_layout_tests_layout_ng Change-Id: I63f8384170fe815780c79510b96e436014c39797 Reviewed-on: https://chromium-review.googlesource.com/1180714 Reviewed-by: Emil A Eklund <eae@chromium.org> Commit-Queue: Christian Biesinger <cbiesinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#584496} [modify] https://crrev.com/bbe6c164a31b19defc6f01f8e14387cd8f7623d4/third_party/WebKit/LayoutTests/FlagExpectations/enable-blink-features=LayoutNG [modify] https://crrev.com/bbe6c164a31b19defc6f01f8e14387cd8f7623d4/third_party/blink/renderer/core/frame/local_frame_view.cc
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/42ecb8546a5d9222427b7462d93d139f4ac63915 commit 42ecb8546a5d9222427b7462d93d139f4ac63915 Author: Christian Biesinger <cbiesinger@chromium.org> Date: Tue Aug 21 15:51:29 2018 [layoutng] Correctly compute min/max content for orthogonal flows When we are a legacy node and computing our min/max content, we need to check if we are an orthogonal writing mode before just returning legacy min/max, so that we return the right dimension (matching container_writing_mode). Bug: 635619 Cq-Include-Trybots: luci.chromium.try:linux_layout_tests_layout_ng Change-Id: I9663bf8a384fe3bfddd457371d6ecf879fcbf03b Reviewed-on: https://chromium-review.googlesource.com/1182142 Reviewed-by: Morten Stenshorne <mstensho@chromium.org> Reviewed-by: Emil A Eklund <eae@chromium.org> Commit-Queue: Christian Biesinger <cbiesinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#584757} [modify] https://crrev.com/42ecb8546a5d9222427b7462d93d139f4ac63915/third_party/WebKit/LayoutTests/FlagExpectations/enable-blink-features=LayoutNG [modify] https://crrev.com/42ecb8546a5d9222427b7462d93d139f4ac63915/third_party/blink/renderer/core/layout/ng/ng_block_node.cc
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/8bfde67eda6e02ab4e7a5abf603b95e53527f04f commit 8bfde67eda6e02ab4e7a5abf603b95e53527f04f Author: Morten Stenshorne <mstensho@chromium.org> Date: Wed Aug 29 21:04:45 2018 [LayoutNG] Remove failure expectations for passing multicol tests. TBR=cbiesinger@chromium.org, kojii@chromium.org Bug: 591099, 635619, 797591, 864156 Change-Id: Ibb3e27415a4b1e32055c9f2d156d3f36ca676085 Reviewed-on: https://chromium-review.googlesource.com/1194368 Reviewed-by: Morten Stenshorne <mstensho@chromium.org> Commit-Queue: Morten Stenshorne <mstensho@chromium.org> Cr-Commit-Position: refs/heads/master@{#587297} [modify] https://crrev.com/8bfde67eda6e02ab4e7a5abf603b95e53527f04f/third_party/WebKit/LayoutTests/TestExpectations
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/480a30e22c991a3b3bb50e7d951d7502bbeccc97 commit 480a30e22c991a3b3bb50e7d951d7502bbeccc97 Author: Ian Kilpatrick <ikilpatrick@chromium.org> Date: Thu Aug 30 11:15:46 2018 [LayoutNG] Set inline capacity (to 1) for unpositioned float vectors. Also remove RefCounted for NGUnpositionedFloat objects. This shows a 2-5% perf improvement of float performance tests. Cq-Include-Trybots: luci.chromium.try:linux_layout_tests_layout_ng Change-Id: I6bf42c7bb076dbdafbc74cf8f7667c5ea5eb6357 Bug: 635619 Reviewed-on: https://chromium-review.googlesource.com/1193881 Commit-Queue: Ian Kilpatrick <ikilpatrick@chromium.org> Reviewed-by: Christian Biesinger <cbiesinger@chromium.org> Reviewed-by: Morten Stenshorne <mstensho@chromium.org> Cr-Commit-Position: refs/heads/master@{#587517} [modify] https://crrev.com/480a30e22c991a3b3bb50e7d951d7502bbeccc97/third_party/blink/renderer/core/layout/BUILD.gn [modify] https://crrev.com/480a30e22c991a3b3bb50e7d951d7502bbeccc97/third_party/blink/renderer/core/layout/ng/inline/ng_inline_layout_algorithm.cc [modify] https://crrev.com/480a30e22c991a3b3bb50e7d951d7502bbeccc97/third_party/blink/renderer/core/layout/ng/inline/ng_inline_layout_algorithm.h [modify] https://crrev.com/480a30e22c991a3b3bb50e7d951d7502bbeccc97/third_party/blink/renderer/core/layout/ng/inline/ng_inline_node.cc [modify] https://crrev.com/480a30e22c991a3b3bb50e7d951d7502bbeccc97/third_party/blink/renderer/core/layout/ng/inline/ng_line_breaker.cc [modify] https://crrev.com/480a30e22c991a3b3bb50e7d951d7502bbeccc97/third_party/blink/renderer/core/layout/ng/inline/ng_line_breaker.h [modify] https://crrev.com/480a30e22c991a3b3bb50e7d951d7502bbeccc97/third_party/blink/renderer/core/layout/ng/inline/ng_line_breaker_test.cc [modify] https://crrev.com/480a30e22c991a3b3bb50e7d951d7502bbeccc97/third_party/blink/renderer/core/layout/ng/ng_block_layout_algorithm.cc [modify] https://crrev.com/480a30e22c991a3b3bb50e7d951d7502bbeccc97/third_party/blink/renderer/core/layout/ng/ng_block_layout_algorithm.h [modify] https://crrev.com/480a30e22c991a3b3bb50e7d951d7502bbeccc97/third_party/blink/renderer/core/layout/ng/ng_floats_utils.cc [modify] https://crrev.com/480a30e22c991a3b3bb50e7d951d7502bbeccc97/third_party/blink/renderer/core/layout/ng/ng_floats_utils.h [modify] https://crrev.com/480a30e22c991a3b3bb50e7d951d7502bbeccc97/third_party/blink/renderer/core/layout/ng/ng_unpositioned_float.h [add] https://crrev.com/480a30e22c991a3b3bb50e7d951d7502bbeccc97/third_party/blink/renderer/core/layout/ng/ng_unpositioned_float_vector.h
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/e73d6a2950a29a72edad1e17d5e834f41f27a9f7 commit e73d6a2950a29a72edad1e17d5e834f41f27a9f7 Author: Ian Kilpatrick <ikilpatrick@chromium.org> Date: Thu Aug 30 13:06:41 2018 [LayoutNG] Slim down the NGUnpositionedFloat struct. This removes all the fields which can be passed in via. PositionFloat(s) There should be no functionality change. Cq-Include-Trybots: luci.chromium.try:linux_layout_tests_layout_ng Change-Id: I1b05c0f58bb2aa1ba17374f6600deda56912408c Bug: 635619 Reviewed-on: https://chromium-review.googlesource.com/1196428 Reviewed-by: Morten Stenshorne <mstensho@chromium.org> Commit-Queue: Ian Kilpatrick <ikilpatrick@chromium.org> Cr-Commit-Position: refs/heads/master@{#587539} [modify] https://crrev.com/e73d6a2950a29a72edad1e17d5e834f41f27a9f7/third_party/blink/renderer/core/layout/ng/inline/ng_inline_layout_algorithm.cc [modify] https://crrev.com/e73d6a2950a29a72edad1e17d5e834f41f27a9f7/third_party/blink/renderer/core/layout/ng/inline/ng_line_breaker.cc [modify] https://crrev.com/e73d6a2950a29a72edad1e17d5e834f41f27a9f7/third_party/blink/renderer/core/layout/ng/ng_block_layout_algorithm.cc [modify] https://crrev.com/e73d6a2950a29a72edad1e17d5e834f41f27a9f7/third_party/blink/renderer/core/layout/ng/ng_floats_utils.cc [modify] https://crrev.com/e73d6a2950a29a72edad1e17d5e834f41f27a9f7/third_party/blink/renderer/core/layout/ng/ng_floats_utils.h [modify] https://crrev.com/e73d6a2950a29a72edad1e17d5e834f41f27a9f7/third_party/blink/renderer/core/layout/ng/ng_unpositioned_float.cc [modify] https://crrev.com/e73d6a2950a29a72edad1e17d5e834f41f27a9f7/third_party/blink/renderer/core/layout/ng/ng_unpositioned_float.h
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/bd89a9920f3bd62627a8741b77fad61360264cf1 commit bd89a9920f3bd62627a8741b77fad61360264cf1 Author: Koji Ishii <kojii@chromium.org> Date: Tue Sep 11 00:35:34 2018 [LayoutNG] Fix scrollWidth/scrollLeft on RTL when box is narrow When the scrollbar is on left and the box is narrower than the scrollbar, the scrollbar overflows to left. LayoutBox::AddLayoutOverflow() expects the overflow adjusted by the amount the scrollbar overflows. This affects a jQuery plugin that detects RTL scroll type[1]. [1] https://github.com/othree/jquery.rtl-scroll-type Bug: 635619 Cq-Include-Trybots: luci.chromium.try:linux_layout_tests_layout_ng Change-Id: I70e7b1ecc20857ff10687afd7d5e3b7d70afb2dc Reviewed-on: https://chromium-review.googlesource.com/1215365 Reviewed-by: Emil A Eklund <eae@chromium.org> Reviewed-by: Morten Stenshorne <mstensho@chromium.org> Reviewed-by: Aleks Totic <atotic@chromium.org> Commit-Queue: Koji Ishii <kojii@chromium.org> Cr-Commit-Position: refs/heads/master@{#590138} [modify] https://crrev.com/bd89a9920f3bd62627a8741b77fad61360264cf1/third_party/WebKit/LayoutTests/FlagExpectations/enable-blink-features=LayoutNG [modify] https://crrev.com/bd89a9920f3bd62627a8741b77fad61360264cf1/third_party/blink/renderer/core/layout/ng/layout_ng_mixin.cc
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/800d47b989ca8294fc63f5a921c26418a98c8b72 commit 800d47b989ca8294fc63f5a921c26418a98c8b72 Author: Koji Ishii <kojii@chromium.org> Date: Wed Sep 12 08:39:49 2018 [LayoutNG] Fix scrollWidth/scrollLeft when children are not inline r590138 (CL:1215365) fixed scrollWidth when box is narrower than the scrollbar width, but the apporach had two problems: 1. It does not fix if children are not inline, because LayoutNGMixin::AddOverflowFromChildren() computes overflow from fragments only when children are inline, but delegates to LayoutObject if otherwise. 2. scrollWidth was fixed, but scrollLeft is still incorrect in some cases. This causes LayoutObject to compute incorrect scrollWidth. Instead of adjusting overflow, this patch adjusts inline offset of fragments by clamping the scrollbar inline size to the content box. This method computes scrollWidth/scrollLeft same as legacy regardless of children. Bug: 635619 Cq-Include-Trybots: luci.chromium.try:linux_layout_tests_layout_ng Change-Id: I401b245400b7a3fb2717bdcb5cdaa8edd34d928e Reviewed-on: https://chromium-review.googlesource.com/1217920 Commit-Queue: Koji Ishii <kojii@chromium.org> Reviewed-by: Emil A Eklund <eae@chromium.org> Reviewed-by: Morten Stenshorne <mstensho@chromium.org> Cr-Commit-Position: refs/heads/master@{#590622} [modify] https://crrev.com/800d47b989ca8294fc63f5a921c26418a98c8b72/third_party/WebKit/LayoutTests/FlagExpectations/enable-blink-features=LayoutNG [modify] https://crrev.com/800d47b989ca8294fc63f5a921c26418a98c8b72/third_party/blink/renderer/core/layout/ng/layout_ng_mixin.cc [modify] https://crrev.com/800d47b989ca8294fc63f5a921c26418a98c8b72/third_party/blink/renderer/core/layout/ng/ng_block_layout_algorithm.cc [modify] https://crrev.com/800d47b989ca8294fc63f5a921c26418a98c8b72/third_party/blink/renderer/core/layout/ng/ng_length_utils.cc [modify] https://crrev.com/800d47b989ca8294fc63f5a921c26418a98c8b72/third_party/blink/renderer/core/layout/ng/ng_length_utils.h
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/7ee26124a10d663346fec5bc82e08590a7ef7465 commit 7ee26124a10d663346fec5bc82e08590a7ef7465 Author: Koji Ishii <kojii@chromium.org> Date: Wed Sep 12 15:52:31 2018 [LayoutNG] Fix marquee to compute min-content inline size to zero The logic is ported from LayoutBlock::ComputeIntrinsicLogicalWidths. Bug: 635619 Cq-Include-Trybots: luci.chromium.try:linux_layout_tests_layout_ng Change-Id: Ifd40df3a3d543554ee0d7f46588418c6cbba7d9e Reviewed-on: https://chromium-review.googlesource.com/1221607 Reviewed-by: Christian Biesinger <cbiesinger@chromium.org> Commit-Queue: Christian Biesinger <cbiesinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#590700} [modify] https://crrev.com/7ee26124a10d663346fec5bc82e08590a7ef7465/third_party/WebKit/LayoutTests/FlagExpectations/enable-blink-features=LayoutNG [modify] https://crrev.com/7ee26124a10d663346fec5bc82e08590a7ef7465/third_party/blink/renderer/core/layout/ng/ng_block_node.cc
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/787c7e6cdbbf2cfb47726a13ccc0fe5d0ca317ef commit 787c7e6cdbbf2cfb47726a13ccc0fe5d0ca317ef Author: Ian Kilpatrick <ikilpatrick@chromium.org> Date: Mon Oct 01 20:10:52 2018 [LayoutNG] Fix shape bug, when inserting a new shelf between others. This fixes an issue, where we didn't copy across any shape exclusion data when inserting a new shelf between two other shelves. Bug: 635619 Cq-Include-Trybots: luci.chromium.try:linux_layout_tests_layout_ng Change-Id: Ib26359ab8ac677034ec4e51f2adf1987dadbd91c Reviewed-on: https://chromium-review.googlesource.com/1255145 Reviewed-by: Christian Biesinger <cbiesinger@chromium.org> Commit-Queue: Ian Kilpatrick <ikilpatrick@chromium.org> Cr-Commit-Position: refs/heads/master@{#595535} [add] https://crrev.com/787c7e6cdbbf2cfb47726a13ccc0fe5d0ca317ef/third_party/WebKit/LayoutTests/external/wpt/css/css-shapes/shape-outside/values/shape-outside-inset-010.html [modify] https://crrev.com/787c7e6cdbbf2cfb47726a13ccc0fe5d0ca317ef/third_party/blink/renderer/core/layout/ng/exclusions/ng_exclusion_space.cc
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/109ba2e5d1ffc3cd079c1d08a62bbe38e2535bfa commit 109ba2e5d1ffc3cd079c1d08a62bbe38e2535bfa Author: Ian Kilpatrick <ikilpatrick@chromium.org> Date: Tue Oct 02 09:49:54 2018 [LayoutNG] Fix call to: ContainingBlock()->AvailableLogicalWidth(); During computing the size of an SVG we may end up calling: ContainingBlock()->AvailableLogicalWidth() This is invalid inside LayoutNG as we should always use the override set by the LayoutNG algorithm. Cq-Include-Trybots: luci.chromium.try:linux_layout_tests_layout_ng Change-Id: Ia9f32ac921726cf3f3f0d76dcccd2a0497cb25cf Bug: 635619 Reviewed-on: https://chromium-review.googlesource.com/1255598 Commit-Queue: Morten Stenshorne <mstensho@chromium.org> Reviewed-by: Morten Stenshorne <mstensho@chromium.org> Cr-Commit-Position: refs/heads/master@{#595778} [modify] https://crrev.com/109ba2e5d1ffc3cd079c1d08a62bbe38e2535bfa/third_party/WebKit/LayoutTests/FlagExpectations/enable-blink-features=LayoutNG [add] https://crrev.com/109ba2e5d1ffc3cd079c1d08a62bbe38e2535bfa/third_party/WebKit/LayoutTests/flag-specific/enable-blink-features=LayoutNG/svg/transforms/text-with-pattern-inside-transformed-html-expected.png [add] https://crrev.com/109ba2e5d1ffc3cd079c1d08a62bbe38e2535bfa/third_party/WebKit/LayoutTests/flag-specific/enable-blink-features=LayoutNG/svg/transforms/text-with-pattern-inside-transformed-html-expected.txt [modify] https://crrev.com/109ba2e5d1ffc3cd079c1d08a62bbe38e2535bfa/third_party/blink/renderer/core/layout/layout_replaced.cc
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/5a2a07e4a46d9fe8a9c1c14af2bf30d601d99304 commit 5a2a07e4a46d9fe8a9c1c14af2bf30d601d99304 Author: Koji Ishii <kojii@chromium.org> Date: Wed Oct 03 18:13:54 2018 [LayoutNG] Mark LayoutNGMixin functions as final when possible Some override functions in LayoutNGMixin are not to be overridden further. This patch marks them as 'final' so that calling them from inside of LayoutNGMixin or its subclasses can make non-virtual calls. No behavior changes. Bug: 635619 Cq-Include-Trybots: luci.chromium.try:linux_layout_tests_layout_ng Change-Id: I97e65d70cbe34b6757ab129c62e37bdaddcda72e Reviewed-on: https://chromium-review.googlesource.com/1258664 Reviewed-by: Yoshifumi Inoue <yosin@chromium.org> Reviewed-by: Morten Stenshorne <mstensho@chromium.org> Commit-Queue: Koji Ishii <kojii@chromium.org> Cr-Commit-Position: refs/heads/master@{#596285} [modify] https://crrev.com/5a2a07e4a46d9fe8a9c1c14af2bf30d601d99304/third_party/blink/renderer/core/layout/ng/layout_ng_mixin.h [modify] https://crrev.com/5a2a07e4a46d9fe8a9c1c14af2bf30d601d99304/third_party/blink/renderer/core/layout/ng/list/layout_ng_list_item.h [modify] https://crrev.com/5a2a07e4a46d9fe8a9c1c14af2bf30d601d99304/third_party/blink/renderer/core/layout/ng/list/layout_ng_list_marker.h
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/944dd0e6749ab63a23d50ddce1fae3ad610c47f3 commit 944dd0e6749ab63a23d50ddce1fae3ad610c47f3 Author: Florent Castelli <orphis@chromium.org> Date: Fri Oct 12 09:14:42 2018 Mark virtual/layout_ng/fast/block/float/nopaint-after-layer-destruction.html as failing TBR=mstensho@chromium.org Bug: 635619 Change-Id: I6dee9c7fd68b317c816216f3a8c521501acce255 No-Try: true Reviewed-on: https://chromium-review.googlesource.com/c/1278785 Reviewed-by: Florent Castelli <orphis@chromium.org> Commit-Queue: Florent Castelli <orphis@chromium.org> Cr-Commit-Position: refs/heads/master@{#599151} [modify] https://crrev.com/944dd0e6749ab63a23d50ddce1fae3ad610c47f3/third_party/WebKit/LayoutTests/TestExpectations
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/248a5a86102d0c024e363f263c2df2894f1f3ff0 commit 248a5a86102d0c024e363f263c2df2894f1f3ff0 Author: Koji Ishii <kojii@chromium.org> Date: Tue Oct 16 20:20:18 2018 [LayoutNG] Change PositionFloats signature This patch changes PositionFloats to have NGPositionedFloatVector* to return the positioned floats, instead of it to return the vector. NGPositionedFloatVector has inline buffer that returning it involves a bit of memory copy overhead. Pinpoint shows slight improvement. We could see them within errors, but mostly positive, and running twice shows similar trends. https://pinpoint-dot-chromeperf.appspot.com/job/11f3134ce40000 Bug: 635619 Cq-Include-Trybots: luci.chromium.try:linux_layout_tests_layout_ng Change-Id: I29c23e370b398f54a9acc1745f37ea9ffcb1b2fc Reviewed-on: https://chromium-review.googlesource.com/c/1282689 Reviewed-by: Ian Kilpatrick <ikilpatrick@chromium.org> Reviewed-by: Christian Biesinger <cbiesinger@chromium.org> Commit-Queue: Koji Ishii <kojii@chromium.org> Cr-Commit-Position: refs/heads/master@{#600101} [modify] https://crrev.com/248a5a86102d0c024e363f263c2df2894f1f3ff0/third_party/blink/renderer/core/layout/ng/inline/ng_inline_layout_algorithm.cc [modify] https://crrev.com/248a5a86102d0c024e363f263c2df2894f1f3ff0/third_party/blink/renderer/core/layout/ng/ng_block_layout_algorithm.cc [modify] https://crrev.com/248a5a86102d0c024e363f263c2df2894f1f3ff0/third_party/blink/renderer/core/layout/ng/ng_floats_utils.cc [modify] https://crrev.com/248a5a86102d0c024e363f263c2df2894f1f3ff0/third_party/blink/renderer/core/layout/ng/ng_floats_utils.h
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/df0181fb5fb4f783e642aaafbd1b9ad86e8ee68c commit df0181fb5fb4f783e642aaafbd1b9ad86e8ee68c Author: Ian Kilpatrick <ikilpatrick@chromium.org> Date: Wed Oct 31 02:44:14 2018 [LayoutNG] Change FindLayoutOpportunity to not create a Vector each time. This lambda-izes AllLayoutOpportunities, so that FindLayoutOpportunity doesn't need to iterate over a Vector to find something that fits. Bug: 635619 Cq-Include-Trybots: luci.chromium.try:linux_layout_tests_layout_ng Change-Id: I0cf9d5ce16608032850e326173a9fb4d501a9181 Reviewed-on: https://chromium-review.googlesource.com/c/1193942 Commit-Queue: Ian Kilpatrick <ikilpatrick@chromium.org> Reviewed-by: Christian Biesinger <cbiesinger@chromium.org> Reviewed-by: Morten Stenshorne <mstensho@chromium.org> Cr-Commit-Position: refs/heads/master@{#604120} [modify] https://crrev.com/df0181fb5fb4f783e642aaafbd1b9ad86e8ee68c/third_party/blink/renderer/core/layout/ng/exclusions/ng_exclusion_space.cc [modify] https://crrev.com/df0181fb5fb4f783e642aaafbd1b9ad86e8ee68c/third_party/blink/renderer/core/layout/ng/exclusions/ng_exclusion_space.h
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/fea62cfdaabcc8130c133ce0b9981921e352dcdf commit fea62cfdaabcc8130c133ce0b9981921e352dcdf Author: Ian Kilpatrick <ikilpatrick@chromium.org> Date: Wed Oct 31 11:39:34 2018 [LayoutNG] Remove optimization that practically does nothing. This was an over-otimization, which realistically probably never gets hit. Bug: 635619 Change-Id: Icac53b8605e56242b8455228d0767b2dafb66b5d Reviewed-on: https://chromium-review.googlesource.com/c/1305133 Commit-Queue: Morten Stenshorne <mstensho@chromium.org> Reviewed-by: Morten Stenshorne <mstensho@chromium.org> Cr-Commit-Position: refs/heads/master@{#604211} [modify] https://crrev.com/fea62cfdaabcc8130c133ce0b9981921e352dcdf/third_party/blink/renderer/core/layout/ng/ng_block_layout_algorithm.cc
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/b75b9de0287f0c8dc57ec6b94de43bb5d808f6c7 commit b75b9de0287f0c8dc57ec6b94de43bb5d808f6c7 Author: Ian Kilpatrick <ikilpatrick@chromium.org> Date: Wed Oct 31 12:01:14 2018 [LayoutNG] Change NGShelf edges to simple tuples, instead of exclusions. This changes the line_left_edges, and line_right_edges to keep a simple tuple instead of a scoped_refptr to an NGExclusion. This speeds up some of the float benchmarks by ~2.5%. Bug: 635619 Change-Id: I2d4801c5e2eecdbdc53e147dc8e9609150bab581 Reviewed-on: https://chromium-review.googlesource.com/c/1308259 Reviewed-by: Christian Biesinger <cbiesinger@chromium.org> Reviewed-by: Morten Stenshorne <mstensho@chromium.org> Commit-Queue: Ian Kilpatrick <ikilpatrick@chromium.org> Cr-Commit-Position: refs/heads/master@{#604217} [modify] https://crrev.com/b75b9de0287f0c8dc57ec6b94de43bb5d808f6c7/third_party/blink/renderer/core/layout/ng/exclusions/ng_exclusion_space.cc [modify] https://crrev.com/b75b9de0287f0c8dc57ec6b94de43bb5d808f6c7/third_party/blink/renderer/core/layout/ng/exclusions/ng_exclusion_space.h
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/a136192915b5308e7dbad18203ff7c4a571b6710 commit a136192915b5308e7dbad18203ff7c4a571b6710 Author: Ian Kilpatrick <ikilpatrick@chromium.org> Date: Wed Oct 31 23:30:02 2018 Revert "[LayoutNG] Remove optimization that practically does nothing." This reverts commit fea62cfdaabcc8130c133ce0b9981921e352dcdf. Reason for revert: Turns out this optimization was important for all the float tests. Original change's description: > [LayoutNG] Remove optimization that practically does nothing. > > This was an over-otimization, which realistically probably never gets > hit. > > Bug: 635619 > Change-Id: Icac53b8605e56242b8455228d0767b2dafb66b5d > Reviewed-on: https://chromium-review.googlesource.com/c/1305133 > Commit-Queue: Morten Stenshorne <mstensho@chromium.org> > Reviewed-by: Morten Stenshorne <mstensho@chromium.org> > Cr-Commit-Position: refs/heads/master@{#604211} TBR=ikilpatrick@chromium.org,mstensho@chromium.org Change-Id: Id842627640dec23519c0b3de88b07958667e54ea No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: 635619 Reviewed-on: https://chromium-review.googlesource.com/c/1311794 Reviewed-by: Ian Kilpatrick <ikilpatrick@chromium.org> Reviewed-by: Morten Stenshorne <mstensho@chromium.org> Reviewed-by: Emil A Eklund <eae@chromium.org> Commit-Queue: Ian Kilpatrick <ikilpatrick@chromium.org> Cr-Commit-Position: refs/heads/master@{#604439} [modify] https://crrev.com/a136192915b5308e7dbad18203ff7c4a571b6710/third_party/blink/renderer/core/layout/ng/ng_block_layout_algorithm.cc
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/739aa26bc184a0e53999e6fdecd3ab11911c5f16 commit 739aa26bc184a0e53999e6fdecd3ab11911c5f16 Author: Ian Kilpatrick <ikilpatrick@chromium.org> Date: Thu Nov 01 18:33:19 2018 [LayoutNG] Avoid bookkeeping shape_exclusions if shapes aren't present. We spend a lot of time collecting floats. This is for an edge-case calculation when shape-outside is specified on another float. Typically this doesn't happen. This change checks if a float is added with shape outside, and invalidates the derived_geometry_ member to indicate it needs to track these objects now. This removes one of the last large allocations in the exclusion space code, and improves micro-benchmarks by 5-10%. Bug: 635619 Change-Id: I32abb143959e28c526c16e779f9e2dc9c0992d56 Reviewed-on: https://chromium-review.googlesource.com/c/1309144 Reviewed-by: Christian Biesinger <cbiesinger@chromium.org> Reviewed-by: Morten Stenshorne <mstensho@chromium.org> Commit-Queue: Ian Kilpatrick <ikilpatrick@chromium.org> Cr-Commit-Position: refs/heads/master@{#604647} [modify] https://crrev.com/739aa26bc184a0e53999e6fdecd3ab11911c5f16/third_party/blink/renderer/core/layout/ng/exclusions/ng_exclusion_space.cc [modify] https://crrev.com/739aa26bc184a0e53999e6fdecd3ab11911c5f16/third_party/blink/renderer/core/layout/ng/exclusions/ng_exclusion_space.h
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/e9d9c388401805d7f2ff3d569ec254c13fbb90ab commit e9d9c388401805d7f2ff3d569ec254c13fbb90ab Author: Koji Ishii <kojii@chromium.org> Date: Fri Nov 02 18:36:51 2018 [LayoutNG] Reorder members of NGConstraintSpace to reduce size This patch reorders members of NGConstraintSpace so that value (non-class/struct) members are placed at the end. Due to byte-align, it reduces the size from 96 bytes to 88 bytes on x64. Bug: 635619 Change-Id: I7d9471343f3c16d91f7534fd98e2b95f1d18f8c5 Reviewed-on: https://chromium-review.googlesource.com/c/1314070 Reviewed-by: Christian Biesinger <cbiesinger@chromium.org> Reviewed-by: Ian Kilpatrick <ikilpatrick@chromium.org> Commit-Queue: Koji Ishii <kojii@chromium.org> Cr-Commit-Position: refs/heads/master@{#604994} [modify] https://crrev.com/e9d9c388401805d7f2ff3d569ec254c13fbb90ab/third_party/blink/renderer/core/layout/ng/ng_constraint_space.cc [modify] https://crrev.com/e9d9c388401805d7f2ff3d569ec254c13fbb90ab/third_party/blink/renderer/core/layout/ng/ng_constraint_space.h
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/0f4ea08c738b030656a74a3b837fdd833d20f308 commit 0f4ea08c738b030656a74a3b837fdd833d20f308 Author: Ian Kilpatrick <ikilpatrick@chromium.org> Date: Mon Nov 05 15:56:14 2018 [LayoutNG] Fix shape-outside-{circle-048,polygon-020}.html tests. This was two subtle bugs in one. 1) We need to copy back data to the ShapeOutsideInfo side data-structure, even if its an "intermediate" layout, (during the min/max pass). This was causing the incorrect size to be calculated for body, as it thought the shape was "empty" (its size was 0,0). Eventually this should be fixed by moving the shape to the layout result, removing this side data-structure. 2) The static-position for vertical-rl was broken. When accounting for flipped-blocks, we need to use the containing block writing-mode, instead of the direct parent. Static position doesn't really work cross writing modes in the existing layout system, so this isn't perfect, is closer to the old system. Bug: 635619 Change-Id: Ia7f8144cc1c9515b161bf3502c58fee66e59f3c3 Reviewed-on: https://chromium-review.googlesource.com/c/1315390 Commit-Queue: Ian Kilpatrick <ikilpatrick@chromium.org> Reviewed-by: Aleks Totic <atotic@chromium.org> Reviewed-by: Morten Stenshorne <mstensho@chromium.org> Reviewed-by: Christian Biesinger <cbiesinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#605345} [modify] https://crrev.com/0f4ea08c738b030656a74a3b837fdd833d20f308/third_party/WebKit/LayoutTests/FlagExpectations/enable-blink-features=LayoutNG [modify] https://crrev.com/0f4ea08c738b030656a74a3b837fdd833d20f308/third_party/blink/renderer/core/layout/ng/layout_ng_block_flow.cc [modify] https://crrev.com/0f4ea08c738b030656a74a3b837fdd833d20f308/third_party/blink/renderer/core/layout/ng/ng_block_node.cc [modify] https://crrev.com/0f4ea08c738b030656a74a3b837fdd833d20f308/third_party/blink/renderer/core/layout/ng/ng_block_node.h
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/58605429dc978099c398d0d183017e9543a26425 commit 58605429dc978099c398d0d183017e9543a26425 Author: Koji Ishii <kojii@chromium.org> Date: Tue Nov 13 02:19:45 2018 [LayoutNG] Reduces the size of NGPhysical{Box|Text}Fragment This patch reduces the size of: * NGPhysicalBoxFragment by a pointer, by removing |style_| from NGPhysicalFragment. This field is used only for line box and for ellipsis, and thus it is moved to each subclasses. * NGPhysicalTextFragment by 16 bytes, by moving |self_ink_overflow_| and |style_| to RareData. Quick investigation shows that |self_ink_overflow_| is different from |LocalRect()| in 10-20% of the time (on Linux, google.com and a few other sites.) Change-Id: I225edd42d6d9488611ffe2fa7ef9b11b7e9da4a1 Bug: 635619, 636993 Reviewed-on: https://chromium-review.googlesource.com/c/1331102 Reviewed-by: Aleks Totic <atotic@chromium.org> Reviewed-by: Ian Kilpatrick <ikilpatrick@chromium.org> Commit-Queue: Koji Ishii <kojii@chromium.org> Cr-Commit-Position: refs/heads/master@{#607444} [modify] https://crrev.com/58605429dc978099c398d0d183017e9543a26425/third_party/blink/renderer/core/layout/ng/geometry/ng_physical_offset_rect.cc [modify] https://crrev.com/58605429dc978099c398d0d183017e9543a26425/third_party/blink/renderer/core/layout/ng/geometry/ng_physical_offset_rect.h [modify] https://crrev.com/58605429dc978099c398d0d183017e9543a26425/third_party/blink/renderer/core/layout/ng/inline/ng_physical_line_box_fragment.cc [modify] https://crrev.com/58605429dc978099c398d0d183017e9543a26425/third_party/blink/renderer/core/layout/ng/inline/ng_physical_line_box_fragment.h [modify] https://crrev.com/58605429dc978099c398d0d183017e9543a26425/third_party/blink/renderer/core/layout/ng/inline/ng_physical_text_fragment.cc [modify] https://crrev.com/58605429dc978099c398d0d183017e9543a26425/third_party/blink/renderer/core/layout/ng/inline/ng_physical_text_fragment.h [modify] https://crrev.com/58605429dc978099c398d0d183017e9543a26425/third_party/blink/renderer/core/layout/ng/ng_physical_fragment.cc [modify] https://crrev.com/58605429dc978099c398d0d183017e9543a26425/third_party/blink/renderer/core/layout/ng/ng_physical_fragment.h
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/f780e9be389aa05e6188f2cb99d12026d47ffd48 commit f780e9be389aa05e6188f2cb99d12026d47ffd48 Author: Koji Ishii <kojii@chromium.org> Date: Tue Nov 13 08:02:59 2018 [LayoutNG] Avoid copying NGOutOfFlowPositionedDescendant Bug: 635619 Change-Id: I5f2992f95f755e56c34ce5a89c5185ae31b6537f Reviewed-on: https://chromium-review.googlesource.com/c/1333010 Reviewed-by: Aleks Totic <atotic@chromium.org> Commit-Queue: Koji Ishii <kojii@chromium.org> Cr-Commit-Position: refs/heads/master@{#607517} [modify] https://crrev.com/f780e9be389aa05e6188f2cb99d12026d47ffd48/third_party/blink/renderer/core/layout/ng/layout_ng_block_flow.cc [modify] https://crrev.com/f780e9be389aa05e6188f2cb99d12026d47ffd48/third_party/blink/renderer/core/layout/ng/ng_block_node.cc [modify] https://crrev.com/f780e9be389aa05e6188f2cb99d12026d47ffd48/third_party/blink/renderer/core/layout/ng/ng_block_node.h
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/89dd45931a0fc2bf4400bdd4739282072fd62f23 commit 89dd45931a0fc2bf4400bdd4739282072fd62f23 Author: Ian Kilpatrick <ikilpatrick@chromium.org> Date: Tue Nov 13 18:40:25 2018 [LayoutNG] Remove logic from NGConstraintSpace constructor. Instead make the NGConstraintSpaceBuilder to directly write into the NGConstraintSpace members. Along with a (very) slight perf win (easier on the stack), it makes it easier for the rare_data_ patch to follow this one. There should be no behaviour change. Bug: 635619 Change-Id: I0f75166df760ed03fb8f0ab3099c5b12760547ed Reviewed-on: https://chromium-review.googlesource.com/c/1321571 Commit-Queue: Ian Kilpatrick <ikilpatrick@chromium.org> Reviewed-by: Morten Stenshorne <mstensho@chromium.org> Cr-Commit-Position: refs/heads/master@{#607668} [modify] https://crrev.com/89dd45931a0fc2bf4400bdd4739282072fd62f23/third_party/blink/renderer/core/layout/ng/inline/ng_baseline.h [modify] https://crrev.com/89dd45931a0fc2bf4400bdd4739282072fd62f23/third_party/blink/renderer/core/layout/ng/inline/ng_inline_layout_algorithm_test.cc [modify] https://crrev.com/89dd45931a0fc2bf4400bdd4739282072fd62f23/third_party/blink/renderer/core/layout/ng/inline/ng_inline_node.cc [modify] https://crrev.com/89dd45931a0fc2bf4400bdd4739282072fd62f23/third_party/blink/renderer/core/layout/ng/inline/ng_inline_node_test.cc [modify] https://crrev.com/89dd45931a0fc2bf4400bdd4739282072fd62f23/third_party/blink/renderer/core/layout/ng/inline/ng_line_breaker_test.cc [modify] https://crrev.com/89dd45931a0fc2bf4400bdd4739282072fd62f23/third_party/blink/renderer/core/layout/ng/ng_absolute_utils_test.cc [modify] https://crrev.com/89dd45931a0fc2bf4400bdd4739282072fd62f23/third_party/blink/renderer/core/layout/ng/ng_base_layout_algorithm_test.cc [modify] https://crrev.com/89dd45931a0fc2bf4400bdd4739282072fd62f23/third_party/blink/renderer/core/layout/ng/ng_block_layout_algorithm.cc [modify] https://crrev.com/89dd45931a0fc2bf4400bdd4739282072fd62f23/third_party/blink/renderer/core/layout/ng/ng_block_node.cc [modify] https://crrev.com/89dd45931a0fc2bf4400bdd4739282072fd62f23/third_party/blink/renderer/core/layout/ng/ng_column_layout_algorithm.cc [modify] https://crrev.com/89dd45931a0fc2bf4400bdd4739282072fd62f23/third_party/blink/renderer/core/layout/ng/ng_constraint_space.cc [modify] https://crrev.com/89dd45931a0fc2bf4400bdd4739282072fd62f23/third_party/blink/renderer/core/layout/ng/ng_constraint_space.h [modify] https://crrev.com/89dd45931a0fc2bf4400bdd4739282072fd62f23/third_party/blink/renderer/core/layout/ng/ng_constraint_space_builder.h [modify] https://crrev.com/89dd45931a0fc2bf4400bdd4739282072fd62f23/third_party/blink/renderer/core/layout/ng/ng_constraint_space_builder_test.cc [modify] https://crrev.com/89dd45931a0fc2bf4400bdd4739282072fd62f23/third_party/blink/renderer/core/layout/ng/ng_fieldset_layout_algorithm.cc [modify] https://crrev.com/89dd45931a0fc2bf4400bdd4739282072fd62f23/third_party/blink/renderer/core/layout/ng/ng_flex_layout_algorithm.cc [modify] https://crrev.com/89dd45931a0fc2bf4400bdd4739282072fd62f23/third_party/blink/renderer/core/layout/ng/ng_floats_utils.cc [modify] https://crrev.com/89dd45931a0fc2bf4400bdd4739282072fd62f23/third_party/blink/renderer/core/layout/ng/ng_inline_layout_test.cc [modify] https://crrev.com/89dd45931a0fc2bf4400bdd4739282072fd62f23/third_party/blink/renderer/core/layout/ng/ng_length_utils.cc [modify] https://crrev.com/89dd45931a0fc2bf4400bdd4739282072fd62f23/third_party/blink/renderer/core/layout/ng/ng_length_utils_test.cc [modify] https://crrev.com/89dd45931a0fc2bf4400bdd4739282072fd62f23/third_party/blink/renderer/core/layout/ng/ng_out_of_flow_layout_part.cc [modify] https://crrev.com/89dd45931a0fc2bf4400bdd4739282072fd62f23/third_party/blink/renderer/core/layout/ng/ng_page_layout_algorithm.cc [modify] https://crrev.com/89dd45931a0fc2bf4400bdd4739282072fd62f23/third_party/blink/renderer/core/layout/ng/ng_space_utils.cc
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/41c1ee8a95439ceb6018ca296858ed417bd5c500 commit 41c1ee8a95439ceb6018ca296858ed417bd5c500 Author: Koji Ishii <kojii@chromium.org> Date: Thu Nov 15 14:32:37 2018 [LayoutNG] Enable fragment caching when BFC block offset changes This patch enables fragment caching when BFC block offset changes, as long as 1) either the cached or new doesn't have floats, and 2) the cached fragment doesn't propagate OOF objects. The latter may not be needed, but helps to simplify. Minor but mostly positive improvements are seen in pinpoint: blink_perf.layout https://pinpoint-dot-chromeperf.appspot.com/job/13a7a7f7e40000 loading.desktop https://pinpoint-dot-chromeperf.appspot.com/job/17a7a7f7e40000 2 block fragmentation tests fail with this change that this change is not enabled for block fragmentation for now. * virtual/layout_ng_experimental/fast/multicol/balance-breakafter-before-nested-block.html * virtual/layout_ng_experimental/fast/multicol/dynamic/spanner-becomes-regular-block.html Bug: 635619 Change-Id: I46826b45defd556c8dadbf861fb1bbf61c5ae658 Reviewed-on: https://chromium-review.googlesource.com/c/1335072 Commit-Queue: Koji Ishii <kojii@chromium.org> Reviewed-by: Morten Stenshorne <mstensho@chromium.org> Reviewed-by: Ian Kilpatrick <ikilpatrick@chromium.org> Cr-Commit-Position: refs/heads/master@{#608360} [modify] https://crrev.com/41c1ee8a95439ceb6018ca296858ed417bd5c500/third_party/blink/renderer/core/layout/ng/layout_ng_mixin.cc [modify] https://crrev.com/41c1ee8a95439ceb6018ca296858ed417bd5c500/third_party/blink/renderer/core/layout/ng/ng_constraint_space.cc [modify] https://crrev.com/41c1ee8a95439ceb6018ca296858ed417bd5c500/third_party/blink/renderer/core/layout/ng/ng_constraint_space.h [modify] https://crrev.com/41c1ee8a95439ceb6018ca296858ed417bd5c500/third_party/blink/renderer/core/layout/ng/ng_layout_result.cc [modify] https://crrev.com/41c1ee8a95439ceb6018ca296858ed417bd5c500/third_party/blink/renderer/core/layout/ng/ng_layout_result.h
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/1c8b66379cbaf6a358164e106351f70b3800514f commit 1c8b66379cbaf6a358164e106351f70b3800514f Author: Ian Kilpatrick <ikilpatrick@chromium.org> Date: Fri Nov 16 23:54:53 2018 [LayoutNG] Introduce NGConstraintSpace::RareData. This moves fields relating to: - Floats clearance - Fragmentation - Margin struts - Weird percentages ... to a rare data member. This decreases partition alloc usage on system_health.memory_desktop by approximately 6-7%, at the cost of 0-6% on most benchmarks. Change-Id: Ifaeaf5d874efcd13ce9eff785d8093d24637de86 Bug: 635619 Reviewed-on: https://chromium-review.googlesource.com/c/1323803 Commit-Queue: 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@{#609030} [modify] https://crrev.com/1c8b66379cbaf6a358164e106351f70b3800514f/third_party/blink/renderer/core/layout/BUILD.gn [modify] https://crrev.com/1c8b66379cbaf6a358164e106351f70b3800514f/third_party/blink/renderer/core/layout/ng/geometry/ng_logical_size.h [modify] https://crrev.com/1c8b66379cbaf6a358164e106351f70b3800514f/third_party/blink/renderer/core/layout/ng/geometry/ng_margin_strut.cc [modify] https://crrev.com/1c8b66379cbaf6a358164e106351f70b3800514f/third_party/blink/renderer/core/layout/ng/ng_absolute_utils.cc [modify] https://crrev.com/1c8b66379cbaf6a358164e106351f70b3800514f/third_party/blink/renderer/core/layout/ng/ng_block_layout_algorithm.cc [modify] https://crrev.com/1c8b66379cbaf6a358164e106351f70b3800514f/third_party/blink/renderer/core/layout/ng/ng_block_node.cc [modify] https://crrev.com/1c8b66379cbaf6a358164e106351f70b3800514f/third_party/blink/renderer/core/layout/ng/ng_constraint_space.cc [modify] https://crrev.com/1c8b66379cbaf6a358164e106351f70b3800514f/third_party/blink/renderer/core/layout/ng/ng_constraint_space.h [add] https://crrev.com/1c8b66379cbaf6a358164e106351f70b3800514f/third_party/blink/renderer/core/layout/ng/ng_constraint_space_builder.cc [modify] https://crrev.com/1c8b66379cbaf6a358164e106351f70b3800514f/third_party/blink/renderer/core/layout/ng/ng_constraint_space_builder.h [modify] https://crrev.com/1c8b66379cbaf6a358164e106351f70b3800514f/third_party/blink/renderer/core/layout/ng/ng_constraint_space_builder_test.cc [modify] https://crrev.com/1c8b66379cbaf6a358164e106351f70b3800514f/third_party/blink/renderer/core/layout/ng/ng_fieldset_layout_algorithm.cc [modify] https://crrev.com/1c8b66379cbaf6a358164e106351f70b3800514f/third_party/blink/renderer/core/layout/ng/ng_floats_utils.cc [modify] https://crrev.com/1c8b66379cbaf6a358164e106351f70b3800514f/third_party/blink/renderer/core/layout/ng/ng_length_utils.cc
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/2f4d85c85aff520cddeb3ba69730e00c99c7ce83 commit 2f4d85c85aff520cddeb3ba69730e00c99c7ce83 Author: Koji Ishii <kojii@chromium.org> Date: Tue Nov 20 14:45:08 2018 [LayoutNG] Allow BFC block offset to differ in MaySkipLayout r608360 enabled fragment caching when BFC block offset changes, but r609030 disabled it when RareData exists, probably due to merge failure. This patch re-enables it. It recovers some of the performance loss seen at go/layoutng-loading-perf: https://pinpoint-dot-chromeperf.appspot.com/job/1605b070140000 Change-Id: I071fd5b4dd177245aa402718ce6f737549aa1b12 Bug: 635619 Reviewed-on: https://chromium-review.googlesource.com/c/1341741 Commit-Queue: Koji Ishii <kojii@chromium.org> Reviewed-by: Morten Stenshorne <mstensho@chromium.org> Cr-Commit-Position: refs/heads/master@{#609694} [modify] https://crrev.com/2f4d85c85aff520cddeb3ba69730e00c99c7ce83/third_party/blink/renderer/core/layout/ng/ng_constraint_space.h
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/fe8e4c91fad3e566ca63e6abc743bf3dad65d670 commit fe8e4c91fad3e566ca63e6abc743bf3dad65d670 Author: Ian Kilpatrick <ikilpatrick@chromium.org> Date: Mon Nov 26 18:56:50 2018 [LayoutNG] Remove ICB size from NGConstraintSpace. This removes another 2xLayoutUnits on the NGConstraintSpace. This should have no behaviour change. Bug: 635619 Change-Id: I765139563ffc9b167fefffe16ed3674c1db5dbf9 Reviewed-on: https://chromium-review.googlesource.com/c/1340585 Commit-Queue: Ian Kilpatrick <ikilpatrick@chromium.org> Reviewed-by: Morten Stenshorne <mstensho@chromium.org> Cr-Commit-Position: refs/heads/master@{#610900} [modify] https://crrev.com/fe8e4c91fad3e566ca63e6abc743bf3dad65d670/third_party/blink/renderer/core/layout/ng/inline/ng_inline_layout_algorithm_test.cc [modify] https://crrev.com/fe8e4c91fad3e566ca63e6abc743bf3dad65d670/third_party/blink/renderer/core/layout/ng/inline/ng_inline_node.cc [modify] https://crrev.com/fe8e4c91fad3e566ca63e6abc743bf3dad65d670/third_party/blink/renderer/core/layout/ng/inline/ng_inline_node_test.cc [modify] https://crrev.com/fe8e4c91fad3e566ca63e6abc743bf3dad65d670/third_party/blink/renderer/core/layout/ng/inline/ng_line_breaker_test.cc [modify] https://crrev.com/fe8e4c91fad3e566ca63e6abc743bf3dad65d670/third_party/blink/renderer/core/layout/ng/layout_ng_mixin.cc [modify] https://crrev.com/fe8e4c91fad3e566ca63e6abc743bf3dad65d670/third_party/blink/renderer/core/layout/ng/ng_absolute_utils_test.cc [modify] https://crrev.com/fe8e4c91fad3e566ca63e6abc743bf3dad65d670/third_party/blink/renderer/core/layout/ng/ng_base_layout_algorithm_test.cc [modify] https://crrev.com/fe8e4c91fad3e566ca63e6abc743bf3dad65d670/third_party/blink/renderer/core/layout/ng/ng_block_layout_algorithm.cc [modify] https://crrev.com/fe8e4c91fad3e566ca63e6abc743bf3dad65d670/third_party/blink/renderer/core/layout/ng/ng_block_node.cc [modify] https://crrev.com/fe8e4c91fad3e566ca63e6abc743bf3dad65d670/third_party/blink/renderer/core/layout/ng/ng_constraint_space.cc [modify] https://crrev.com/fe8e4c91fad3e566ca63e6abc743bf3dad65d670/third_party/blink/renderer/core/layout/ng/ng_constraint_space.h [modify] https://crrev.com/fe8e4c91fad3e566ca63e6abc743bf3dad65d670/third_party/blink/renderer/core/layout/ng/ng_constraint_space_builder.h [modify] https://crrev.com/fe8e4c91fad3e566ca63e6abc743bf3dad65d670/third_party/blink/renderer/core/layout/ng/ng_constraint_space_builder_test.cc [modify] https://crrev.com/fe8e4c91fad3e566ca63e6abc743bf3dad65d670/third_party/blink/renderer/core/layout/ng/ng_fieldset_layout_algorithm.cc [modify] https://crrev.com/fe8e4c91fad3e566ca63e6abc743bf3dad65d670/third_party/blink/renderer/core/layout/ng/ng_flex_layout_algorithm.cc [modify] https://crrev.com/fe8e4c91fad3e566ca63e6abc743bf3dad65d670/third_party/blink/renderer/core/layout/ng/ng_floats_utils.cc [modify] https://crrev.com/fe8e4c91fad3e566ca63e6abc743bf3dad65d670/third_party/blink/renderer/core/layout/ng/ng_inline_layout_test.cc [modify] https://crrev.com/fe8e4c91fad3e566ca63e6abc743bf3dad65d670/third_party/blink/renderer/core/layout/ng/ng_length_utils.cc [modify] https://crrev.com/fe8e4c91fad3e566ca63e6abc743bf3dad65d670/third_party/blink/renderer/core/layout/ng/ng_length_utils.h [modify] https://crrev.com/fe8e4c91fad3e566ca63e6abc743bf3dad65d670/third_party/blink/renderer/core/layout/ng/ng_length_utils_test.cc [modify] https://crrev.com/fe8e4c91fad3e566ca63e6abc743bf3dad65d670/third_party/blink/renderer/core/layout/ng/ng_out_of_flow_layout_part.cc [modify] https://crrev.com/fe8e4c91fad3e566ca63e6abc743bf3dad65d670/third_party/blink/renderer/core/layout/ng/ng_out_of_flow_layout_part.h [modify] https://crrev.com/fe8e4c91fad3e566ca63e6abc743bf3dad65d670/third_party/blink/renderer/core/layout/ng/ng_space_utils.cc [modify] https://crrev.com/fe8e4c91fad3e566ca63e6abc743bf3dad65d670/third_party/blink/renderer/core/layout/ng/ng_space_utils.h
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/08f0ca3d7bf90226e3c6b86de83d3871bfcc73b8 commit 08f0ca3d7bf90226e3c6b86de83d3871bfcc73b8 Author: Ian Kilpatrick <ikilpatrick@chromium.org> Date: Tue Nov 27 22:25:26 2018 [LayoutNG] Remove unused param from PositionFloat{,s}. There should be no behaviour change. Bug: 635619 Change-Id: I0e885c53a27c07a85e64371f3e6edfcbd17d01f8 Reviewed-on: https://chromium-review.googlesource.com/c/1352442 Reviewed-by: Christian Biesinger <cbiesinger@chromium.org> Commit-Queue: Ian Kilpatrick <ikilpatrick@chromium.org> Cr-Commit-Position: refs/heads/master@{#611373} [modify] https://crrev.com/08f0ca3d7bf90226e3c6b86de83d3871bfcc73b8/third_party/blink/renderer/core/layout/ng/inline/ng_inline_layout_algorithm.cc [modify] https://crrev.com/08f0ca3d7bf90226e3c6b86de83d3871bfcc73b8/third_party/blink/renderer/core/layout/ng/inline/ng_line_breaker.cc [modify] https://crrev.com/08f0ca3d7bf90226e3c6b86de83d3871bfcc73b8/third_party/blink/renderer/core/layout/ng/ng_block_layout_algorithm.cc [modify] https://crrev.com/08f0ca3d7bf90226e3c6b86de83d3871bfcc73b8/third_party/blink/renderer/core/layout/ng/ng_floats_utils.cc [modify] https://crrev.com/08f0ca3d7bf90226e3c6b86de83d3871bfcc73b8/third_party/blink/renderer/core/layout/ng/ng_floats_utils.h
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/bbe7750c4012dc0b0a70f9048ee8eaa2c41f2c18 commit bbe7750c4012dc0b0a70f9048ee8eaa2c41f2c18 Author: Aleks Totic <atotic@chromium.org> Date: Tue Dec 04 20:23:10 2018 [LayoutNG] Rebaseline for new image rendering differences Also, rebaseline tests where NG results look good. Bug: 635619 Change-Id: I9f6bd08888bcc505bc5742f5e4bf42c09873372b Reviewed-on: https://chromium-review.googlesource.com/c/1361701 Reviewed-by: Emil A Eklund <eae@chromium.org> Commit-Queue: Aleks Totic <atotic@chromium.org> Cr-Commit-Position: refs/heads/master@{#613675} [add] https://crrev.com/bbe7750c4012dc0b0a70f9048ee8eaa2c41f2c18/third_party/blink/web_tests/flag-specific/enable-blink-features=LayoutNG/fast/inline/continuation-outlines-expected.png [add] https://crrev.com/bbe7750c4012dc0b0a70f9048ee8eaa2c41f2c18/third_party/blink/web_tests/flag-specific/enable-blink-features=LayoutNG/fast/inline/continuation-outlines-with-layers-expected.png [add] https://crrev.com/bbe7750c4012dc0b0a70f9048ee8eaa2c41f2c18/third_party/blink/web_tests/flag-specific/enable-blink-features=LayoutNG/fast/table/dynamic-caption-add-before-child-expected.png [modify] https://crrev.com/bbe7750c4012dc0b0a70f9048ee8eaa2c41f2c18/third_party/blink/web_tests/flag-specific/enable-blink-features=LayoutNG/paint/invalidation/compositing/repaint-via-layout-offset-expected.txt [add] https://crrev.com/bbe7750c4012dc0b0a70f9048ee8eaa2c41f2c18/third_party/blink/web_tests/flag-specific/enable-blink-features=LayoutNG/paint/invalidation/outline/focus-ring-on-child-move-expected.txt [add] https://crrev.com/bbe7750c4012dc0b0a70f9048ee8eaa2c41f2c18/third_party/blink/web_tests/flag-specific/enable-blink-features=LayoutNG/paint/invalidation/outline/outline-change-invalidation-expected.txt [add] https://crrev.com/bbe7750c4012dc0b0a70f9048ee8eaa2c41f2c18/third_party/blink/web_tests/flag-specific/enable-blink-features=LayoutNG/paint/invalidation/position/abspos-shift-image-incorrect-repaint-expected.txt [modify] https://crrev.com/bbe7750c4012dc0b0a70f9048ee8eaa2c41f2c18/third_party/blink/web_tests/flag-specific/enable-blink-features=LayoutNG/paint/invalidation/selection/japanese-rl-selection-clear-expected.txt [modify] https://crrev.com/bbe7750c4012dc0b0a70f9048ee8eaa2c41f2c18/third_party/blink/web_tests/flag-specific/enable-blink-features=LayoutNG/virtual/gpu-rasterization/images/color-profile-image-filter-all-expected.png [delete] https://crrev.com/620efd1d06d880f5371c2e7eac8a034e43ce70d3/third_party/blink/web_tests/flag-specific/enable-blink-features=LayoutNG/virtual/gpu-rasterization/images/color-profile-image-filter-all-expected.txt [add] https://crrev.com/bbe7750c4012dc0b0a70f9048ee8eaa2c41f2c18/third_party/blink/web_tests/flag-specific/enable-blink-features=LayoutNG/virtual/user-activation-v2/fast/events/mouse-cursor-expected.txt
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/fc2cf6285a6994b5c9e151513cd110cd0ef26714 commit fc2cf6285a6994b5c9e151513cd110cd0ef26714 Author: Aleks Totic <atotic@chromium.org> Date: Tue Dec 04 23:59:11 2018 [LayoutNG] More rebaseline fixes Just deleting few stale rebaselines Bug: 635619 Change-Id: I8a82cbef39b49beae7dbf544b67804e5584b7fb7 Reviewed-on: https://chromium-review.googlesource.com/c/1362208 Reviewed-by: Emil A Eklund <eae@chromium.org> Commit-Queue: Aleks Totic <atotic@chromium.org> Cr-Commit-Position: refs/heads/master@{#613770} [delete] https://crrev.com/6d9bc09a9a220ba33492b907a273c6b7d7537510/third_party/blink/web_tests/flag-specific/enable-blink-features=LayoutNG/fast/css/transform-inline-style-remove-expected.txt [delete] https://crrev.com/6d9bc09a9a220ba33492b907a273c6b7d7537510/third_party/blink/web_tests/flag-specific/enable-blink-features=LayoutNG/virtual/user-activation-v2/fast/events/mouse-cursor-expected.txt
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/1f409ab875096837f68663fd2050bf9968860f32 commit 1f409ab875096837f68663fd2050bf9968860f32 Author: Koji Ishii <kojii@chromium.org> Date: Tue Dec 18 05:12:55 2018 [LayoutNG] Make NGBreakToken smaller This patch makes NGBreakToken smaller by: 1. Move bitfields in subclasses to NGBreakToken. 2. Disassemble NGLayoutInputNode and reconstruct when needed, because NGLayoutInputNode needs a pointer and one bit. Also adds size warning to NGBreakToken and its subclasses. Bug: 635619 Change-Id: Iaee700fac962b49be1011ef84cfc712f050254bd Reviewed-on: https://chromium-review.googlesource.com/c/1379625 Commit-Queue: Koji Ishii <kojii@chromium.org> Reviewed-by: Emil A Eklund <eae@chromium.org> Reviewed-by: Christian Biesinger <cbiesinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#617383} [modify] https://crrev.com/1f409ab875096837f68663fd2050bf9968860f32/third_party/blink/renderer/core/layout/ng/inline/ng_inline_break_token.cc [modify] https://crrev.com/1f409ab875096837f68663fd2050bf9968860f32/third_party/blink/renderer/core/layout/ng/inline/ng_inline_break_token.h [modify] https://crrev.com/1f409ab875096837f68663fd2050bf9968860f32/third_party/blink/renderer/core/layout/ng/ng_block_break_token.cc [modify] https://crrev.com/1f409ab875096837f68663fd2050bf9968860f32/third_party/blink/renderer/core/layout/ng/ng_block_break_token.h [modify] https://crrev.com/1f409ab875096837f68663fd2050bf9968860f32/third_party/blink/renderer/core/layout/ng/ng_break_token.cc [modify] https://crrev.com/1f409ab875096837f68663fd2050bf9968860f32/third_party/blink/renderer/core/layout/ng/ng_break_token.h [modify] https://crrev.com/1f409ab875096837f68663fd2050bf9968860f32/third_party/blink/renderer/core/layout/ng/ng_layout_input_node.h
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/0ca007a8321b10d8202adecc774115cb7f9ad6f4 commit 0ca007a8321b10d8202adecc774115cb7f9ad6f4 Author: Aleks Totic <atotic@chromium.org> Date: Tue Dec 18 08:29:59 2018 [LayoutNG] Rebaseline tests that got broken Bug: 635619 Change-Id: I674359fe8aaf9ded2521cf53554f8c4931c3af61 Reviewed-on: https://chromium-review.googlesource.com/c/1381634 Commit-Queue: Aleks Totic <atotic@chromium.org> Commit-Queue: Morten Stenshorne <mstensho@chromium.org> Reviewed-by: Morten Stenshorne <mstensho@chromium.org> Cr-Commit-Position: refs/heads/master@{#617413} [modify] https://crrev.com/0ca007a8321b10d8202adecc774115cb7f9ad6f4/third_party/blink/web_tests/FlagExpectations/enable-blink-features=LayoutNG [modify] https://crrev.com/0ca007a8321b10d8202adecc774115cb7f9ad6f4/third_party/blink/web_tests/flag-specific/enable-blink-features=LayoutNG/fast/gradients/simple-gradients-expected.png [modify] https://crrev.com/0ca007a8321b10d8202adecc774115cb7f9ad6f4/third_party/blink/web_tests/flag-specific/enable-blink-features=LayoutNG/fast/inline/inline-box-background-repeat-y-expected.png [modify] https://crrev.com/0ca007a8321b10d8202adecc774115cb7f9ad6f4/third_party/blink/web_tests/flag-specific/enable-blink-features=LayoutNG/fast/table/backgr_border-table-cell-collapsed-border-expected.png [modify] https://crrev.com/0ca007a8321b10d8202adecc774115cb7f9ad6f4/third_party/blink/web_tests/flag-specific/enable-blink-features=LayoutNG/fast/table/backgr_border-table-cell-expected.png [modify] https://crrev.com/0ca007a8321b10d8202adecc774115cb7f9ad6f4/third_party/blink/web_tests/flag-specific/enable-blink-features=LayoutNG/fast/table/backgr_border-table-collapsed-border-expected.png [modify] https://crrev.com/0ca007a8321b10d8202adecc774115cb7f9ad6f4/third_party/blink/web_tests/flag-specific/enable-blink-features=LayoutNG/fast/table/backgr_border-table-column-collapsed-border-expected.png [modify] https://crrev.com/0ca007a8321b10d8202adecc774115cb7f9ad6f4/third_party/blink/web_tests/flag-specific/enable-blink-features=LayoutNG/fast/table/backgr_border-table-column-expected.png [modify] https://crrev.com/0ca007a8321b10d8202adecc774115cb7f9ad6f4/third_party/blink/web_tests/flag-specific/enable-blink-features=LayoutNG/fast/table/backgr_border-table-column-group-collapsed-border-expected.png [modify] https://crrev.com/0ca007a8321b10d8202adecc774115cb7f9ad6f4/third_party/blink/web_tests/flag-specific/enable-blink-features=LayoutNG/fast/table/backgr_border-table-column-group-expected.png [modify] https://crrev.com/0ca007a8321b10d8202adecc774115cb7f9ad6f4/third_party/blink/web_tests/flag-specific/enable-blink-features=LayoutNG/fast/table/backgr_border-table-expected.png [modify] https://crrev.com/0ca007a8321b10d8202adecc774115cb7f9ad6f4/third_party/blink/web_tests/flag-specific/enable-blink-features=LayoutNG/fast/table/backgr_border-table-row-collapsed-border-expected.png [modify] https://crrev.com/0ca007a8321b10d8202adecc774115cb7f9ad6f4/third_party/blink/web_tests/flag-specific/enable-blink-features=LayoutNG/fast/table/backgr_border-table-row-expected.png [modify] https://crrev.com/0ca007a8321b10d8202adecc774115cb7f9ad6f4/third_party/blink/web_tests/flag-specific/enable-blink-features=LayoutNG/fast/table/backgr_border-table-row-group-collapsed-border-expected.png [modify] https://crrev.com/0ca007a8321b10d8202adecc774115cb7f9ad6f4/third_party/blink/web_tests/flag-specific/enable-blink-features=LayoutNG/fast/table/backgr_border-table-row-group-expected.png [modify] https://crrev.com/0ca007a8321b10d8202adecc774115cb7f9ad6f4/third_party/blink/web_tests/flag-specific/enable-blink-features=LayoutNG/fast/table/backgr_layers-hide-collapsed-border-expected.png [modify] https://crrev.com/0ca007a8321b10d8202adecc774115cb7f9ad6f4/third_party/blink/web_tests/flag-specific/enable-blink-features=LayoutNG/fast/table/backgr_layers-hide-expected.png [modify] https://crrev.com/0ca007a8321b10d8202adecc774115cb7f9ad6f4/third_party/blink/web_tests/flag-specific/enable-blink-features=LayoutNG/fast/table/backgr_position-table-cell-collapsed-border-expected.png [modify] https://crrev.com/0ca007a8321b10d8202adecc774115cb7f9ad6f4/third_party/blink/web_tests/flag-specific/enable-blink-features=LayoutNG/fast/table/backgr_position-table-cell-expected.png [modify] https://crrev.com/0ca007a8321b10d8202adecc774115cb7f9ad6f4/third_party/blink/web_tests/flag-specific/enable-blink-features=LayoutNG/fast/table/backgr_position-table-collapsed-border-expected.png [modify] https://crrev.com/0ca007a8321b10d8202adecc774115cb7f9ad6f4/third_party/blink/web_tests/flag-specific/enable-blink-features=LayoutNG/fast/table/backgr_position-table-column-collapsed-border-expected.png [modify] https://crrev.com/0ca007a8321b10d8202adecc774115cb7f9ad6f4/third_party/blink/web_tests/flag-specific/enable-blink-features=LayoutNG/fast/table/backgr_position-table-column-expected.png [modify] https://crrev.com/0ca007a8321b10d8202adecc774115cb7f9ad6f4/third_party/blink/web_tests/flag-specific/enable-blink-features=LayoutNG/fast/table/backgr_position-table-column-group-collapsed-border-expected.png [modify] https://crrev.com/0ca007a8321b10d8202adecc774115cb7f9ad6f4/third_party/blink/web_tests/flag-specific/enable-blink-features=LayoutNG/fast/table/backgr_position-table-column-group-expected.png [modify] https://crrev.com/0ca007a8321b10d8202adecc774115cb7f9ad6f4/third_party/blink/web_tests/flag-specific/enable-blink-features=LayoutNG/fast/table/backgr_position-table-expected.png [modify] https://crrev.com/0ca007a8321b10d8202adecc774115cb7f9ad6f4/third_party/blink/web_tests/flag-specific/enable-blink-features=LayoutNG/fast/table/backgr_position-table-row-collapsed-border-expected.png [modify] https://crrev.com/0ca007a8321b10d8202adecc774115cb7f9ad6f4/third_party/blink/web_tests/flag-specific/enable-blink-features=LayoutNG/fast/table/backgr_position-table-row-expected.png [modify] https://crrev.com/0ca007a8321b10d8202adecc774115cb7f9ad6f4/third_party/blink/web_tests/flag-specific/enable-blink-features=LayoutNG/fast/table/backgr_position-table-row-group-collapsed-border-expected.png [modify] https://crrev.com/0ca007a8321b10d8202adecc774115cb7f9ad6f4/third_party/blink/web_tests/flag-specific/enable-blink-features=LayoutNG/fast/table/backgr_position-table-row-group-expected.png [modify] https://crrev.com/0ca007a8321b10d8202adecc774115cb7f9ad6f4/third_party/blink/web_tests/flag-specific/enable-blink-features=LayoutNG/fast/table/backgr_simple-table-cell-collapsed-border-expected.png [modify] https://crrev.com/0ca007a8321b10d8202adecc774115cb7f9ad6f4/third_party/blink/web_tests/flag-specific/enable-blink-features=LayoutNG/fast/table/backgr_simple-table-cell-expected.png [modify] https://crrev.com/0ca007a8321b10d8202adecc774115cb7f9ad6f4/third_party/blink/web_tests/flag-specific/enable-blink-features=LayoutNG/fast/table/backgr_simple-table-collapsed-border-expected.png [modify] https://crrev.com/0ca007a8321b10d8202adecc774115cb7f9ad6f4/third_party/blink/web_tests/flag-specific/enable-blink-features=LayoutNG/fast/table/backgr_simple-table-column-collapsed-border-expected.png [modify] https://crrev.com/0ca007a8321b10d8202adecc774115cb7f9ad6f4/third_party/blink/web_tests/flag-specific/enable-blink-features=LayoutNG/fast/table/backgr_simple-table-column-expected.png [modify] https://crrev.com/0ca007a8321b10d8202adecc774115cb7f9ad6f4/third_party/blink/web_tests/flag-specific/enable-blink-features=LayoutNG/fast/table/backgr_simple-table-column-group-collapsed-border-expected.png [modify] https://crrev.com/0ca007a8321b10d8202adecc774115cb7f9ad6f4/third_party/blink/web_tests/flag-specific/enable-blink-features=LayoutNG/fast/table/backgr_simple-table-column-group-expected.png [modify] https://crrev.com/0ca007a8321b10d8202adecc774115cb7f9ad6f4/third_party/blink/web_tests/flag-specific/enable-blink-features=LayoutNG/fast/table/backgr_simple-table-expected.png [modify] https://crrev.com/0ca007a8321b10d8202adecc774115cb7f9ad6f4/third_party/blink/web_tests/flag-specific/enable-blink-features=LayoutNG/fast/table/backgr_simple-table-row-collapsed-border-expected.png [modify] https://crrev.com/0ca007a8321b10d8202adecc774115cb7f9ad6f4/third_party/blink/web_tests/flag-specific/enable-blink-features=LayoutNG/fast/table/backgr_simple-table-row-expected.png [modify] https://crrev.com/0ca007a8321b10d8202adecc774115cb7f9ad6f4/third_party/blink/web_tests/flag-specific/enable-blink-features=LayoutNG/fast/table/backgr_simple-table-row-group-collapsed-border-expected.png [modify] https://crrev.com/0ca007a8321b10d8202adecc774115cb7f9ad6f4/third_party/blink/web_tests/flag-specific/enable-blink-features=LayoutNG/fast/table/backgr_simple-table-row-group-expected.png [modify] https://crrev.com/0ca007a8321b10d8202adecc774115cb7f9ad6f4/third_party/blink/web_tests/flag-specific/enable-blink-features=LayoutNG/virtual/gpu-rasterization/images/color-profile-image-filter-all-expected.png [modify] https://crrev.com/0ca007a8321b10d8202adecc774115cb7f9ad6f4/third_party/blink/web_tests/flag-specific/enable-blink-features=LayoutNG/virtual/gpu/fast/canvas/image-object-in-canvas-expected.png
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/84026b734855aa12557ce796bd38a2cd29aae3dd commit 84026b734855aa12557ce796bd38a2cd29aae3dd Author: Ian Kilpatrick <ikilpatrick@chromium.org> Date: Thu Jan 03 15:14:28 2019 [LayoutNG] Rebaseline width-avoid-floats.html This adds a new test expectation file for the width-avoid-floats.html test. We believe that if/when fill-available does get specified, it should avoid floats similar to 'auto'. Bug: 635619 Change-Id: I1c112952ea70176c55106d9bd396034cbf5ca531 Reviewed-on: https://chromium-review.googlesource.com/c/1393667 Reviewed-by: Morten Stenshorne <mstensho@chromium.org> Commit-Queue: Ian Kilpatrick <ikilpatrick@chromium.org> Cr-Commit-Position: refs/heads/master@{#619638} [modify] https://crrev.com/84026b734855aa12557ce796bd38a2cd29aae3dd/third_party/blink/web_tests/FlagExpectations/enable-blink-features=LayoutNG [add] https://crrev.com/84026b734855aa12557ce796bd38a2cd29aae3dd/third_party/blink/web_tests/flag-specific/enable-blink-features=LayoutNG/fast/css-intrinsic-dimensions/width-avoid-floats-expected.html
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/88f301874fe22403ea3526f695cbe2cbab47f93a commit 88f301874fe22403ea3526f695cbe2cbab47f93a Author: Ian Kilpatrick <ikilpatrick@chromium.org> Date: Fri Jan 04 20:40:49 2019 Remove current layout engine's unbreakable images quirk. This removes the unbreakable images quirk (where there is no break opportunity between an image and a word), during the layout phase of the current layout system. This does not remove the quirk from the min/max contribution phase, as this seems necessary for the web-compat. This now matches FF, Edge, and LayoutNG behaviour. Bug: 635619 Change-Id: I6de59a67a75a0040d4388e2808637c074a71aa25 Reviewed-on: https://chromium-review.googlesource.com/c/1394726 Commit-Queue: Ian Kilpatrick <ikilpatrick@chromium.org> Reviewed-by: Emil A Eklund <eae@chromium.org> Reviewed-by: Morten Stenshorne <mstensho@chromium.org> Cr-Commit-Position: refs/heads/master@{#620052} [modify] https://crrev.com/88f301874fe22403ea3526f695cbe2cbab47f93a/third_party/blink/renderer/core/layout/line/breaking_context_inline_headers.h [modify] https://crrev.com/88f301874fe22403ea3526f695cbe2cbab47f93a/third_party/blink/web_tests/FlagExpectations/enable-blink-features=LayoutNG [modify] https://crrev.com/88f301874fe22403ea3526f695cbe2cbab47f93a/third_party/blink/web_tests/fast/table/unbreakable-images-quirk.html [modify] https://crrev.com/88f301874fe22403ea3526f695cbe2cbab47f93a/third_party/blink/web_tests/platform/linux/fast/table/unbreakable-images-quirk-expected.png [modify] https://crrev.com/88f301874fe22403ea3526f695cbe2cbab47f93a/third_party/blink/web_tests/platform/linux/tables/mozilla/bugs/bug101674-expected.png [modify] https://crrev.com/88f301874fe22403ea3526f695cbe2cbab47f93a/third_party/blink/web_tests/platform/mac/fast/table/unbreakable-images-quirk-expected.png [modify] https://crrev.com/88f301874fe22403ea3526f695cbe2cbab47f93a/third_party/blink/web_tests/platform/mac/tables/mozilla/bugs/bug2973-expected.png [modify] https://crrev.com/88f301874fe22403ea3526f695cbe2cbab47f93a/third_party/blink/web_tests/platform/win/fast/table/unbreakable-images-quirk-expected.png [modify] https://crrev.com/88f301874fe22403ea3526f695cbe2cbab47f93a/third_party/blink/web_tests/platform/win/tables/mozilla/bugs/bug101674-expected.png [modify] https://crrev.com/88f301874fe22403ea3526f695cbe2cbab47f93a/third_party/blink/web_tests/platform/win/tables/mozilla/bugs/bug2973-expected.png
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/7d0e707666e902da33491f05c32258bd71c3d02a commit 7d0e707666e902da33491f05c32258bd71c3d02a Author: Aleks Totic <atotic@chromium.org> Date: Fri Jan 11 18:58:52 2019 [LayoutNG] rebaseline failing test Bug: 635619 Change-Id: Ib1b0bc2b86f80a1758cff6bcb157c26ec76fdf4c Reviewed-on: https://chromium-review.googlesource.com/c/1407270 Reviewed-by: Ian Kilpatrick <ikilpatrick@chromium.org> Reviewed-by: Morten Stenshorne <mstensho@chromium.org> Commit-Queue: Aleks Totic <atotic@chromium.org> Cr-Commit-Position: refs/heads/master@{#622077} [modify] https://crrev.com/7d0e707666e902da33491f05c32258bd71c3d02a/third_party/blink/web_tests/flag-specific/enable-blink-features=LayoutNG/virtual/gpu-rasterization/images/color-profile-image-filter-all-expected.png
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/29440b1ab62aa76d0c15e7e92507da072bf604f2 commit 29440b1ab62aa76d0c15e7e92507da072bf604f2 Author: Ian Kilpatrick <ikilpatrick@chromium.org> Date: Wed Jan 16 21:53:44 2019 [LayoutNG] Tighten when we relayout due to %-resolution-size change. This patch propagates a bit of information up the layout result tree, if a particular child is dependent on the %-resolution size. This has a small improvement (~1%) in desktop loading benchmarks for style. (However this could also be noise :/). This marks all old layout roots as dependant, and doesn't try to make use of LayoutBlock::PercentHeightDescendants Bug: 635619 Change-Id: I9d313f5996de7184b9850c3e324bf9a76e08bb7d Reviewed-on: https://chromium-review.googlesource.com/c/1407086 Commit-Queue: Ian Kilpatrick <ikilpatrick@chromium.org> Reviewed-by: Morten Stenshorne <mstensho@chromium.org> Cr-Commit-Position: refs/heads/master@{#623385} [modify] https://crrev.com/29440b1ab62aa76d0c15e7e92507da072bf604f2/third_party/blink/renderer/core/layout/ng/inline/ng_line_box_fragment_builder.h [modify] https://crrev.com/29440b1ab62aa76d0c15e7e92507da072bf604f2/third_party/blink/renderer/core/layout/ng/layout_ng_mixin.cc [modify] https://crrev.com/29440b1ab62aa76d0c15e7e92507da072bf604f2/third_party/blink/renderer/core/layout/ng/ng_block_node.cc [modify] https://crrev.com/29440b1ab62aa76d0c15e7e92507da072bf604f2/third_party/blink/renderer/core/layout/ng/ng_box_fragment_builder.h [modify] https://crrev.com/29440b1ab62aa76d0c15e7e92507da072bf604f2/third_party/blink/renderer/core/layout/ng/ng_container_fragment_builder.cc [modify] https://crrev.com/29440b1ab62aa76d0c15e7e92507da072bf604f2/third_party/blink/renderer/core/layout/ng/ng_container_fragment_builder.h [modify] https://crrev.com/29440b1ab62aa76d0c15e7e92507da072bf604f2/third_party/blink/renderer/core/layout/ng/ng_layout_result.cc [modify] https://crrev.com/29440b1ab62aa76d0c15e7e92507da072bf604f2/third_party/blink/renderer/core/layout/ng/ng_layout_result.h [modify] https://crrev.com/29440b1ab62aa76d0c15e7e92507da072bf604f2/third_party/blink/renderer/core/layout/ng/ng_length_utils.cc [modify] https://crrev.com/29440b1ab62aa76d0c15e7e92507da072bf604f2/third_party/blink/renderer/core/layout/ng/ng_length_utils.h
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/0c1ff5206e3dbae5910e12118466ef47c95af0df commit 0c1ff5206e3dbae5910e12118466ef47c95af0df Author: Ian Kilpatrick <ikilpatrick@chromium.org> Date: Fri Jan 18 16:15:56 2019 [LayoutNG] Use ForceChildLayout() instead of ForceLayout() ForceLayout was causing additional paint invalidations due to: SetShouldDoFullPaintInvalidation(); ...inside it. Instead this now uses LayoutIfNeeded if the item needs layout (probably from a style change/node removal/etc), and ForceChildLayout() which doesn't perform this invalidation. Fixes a bunch of paint invalidation tests. Bug: 635619 Change-Id: I70301097ffd2fa2512f13ad8e090fa5d61a3a300 Reviewed-on: https://chromium-review.googlesource.com/c/1419342 Commit-Queue: Ian Kilpatrick <ikilpatrick@chromium.org> Reviewed-by: Christian Biesinger <cbiesinger@chromium.org> Reviewed-by: Koji Ishii <kojii@chromium.org> Reviewed-by: Emil A Eklund <eae@chromium.org> Reviewed-by: Morten Stenshorne <mstensho@chromium.org> Cr-Commit-Position: refs/heads/master@{#624149} [modify] https://crrev.com/0c1ff5206e3dbae5910e12118466ef47c95af0df/third_party/blink/renderer/core/layout/ng/ng_block_node.cc [modify] https://crrev.com/0c1ff5206e3dbae5910e12118466ef47c95af0df/third_party/blink/web_tests/FlagExpectations/enable-blink-features=LayoutNG [delete] https://crrev.com/427999cfc3d0da1500edf93898f497ad0e8a91bb/third_party/blink/web_tests/flag-specific/enable-blink-features=LayoutNG/paint/invalidation/clip/control-clip-expected.txt [delete] https://crrev.com/427999cfc3d0da1500edf93898f497ad0e8a91bb/third_party/blink/web_tests/flag-specific/enable-blink-features=LayoutNG/paint/invalidation/css-grid-layout/grid-item-change-column-repaint-expected.txt [delete] https://crrev.com/427999cfc3d0da1500edf93898f497ad0e8a91bb/third_party/blink/web_tests/flag-specific/enable-blink-features=LayoutNG/paint/invalidation/css-grid-layout/grid-item-z-index-change-repaint-expected.txt [delete] https://crrev.com/427999cfc3d0da1500edf93898f497ad0e8a91bb/third_party/blink/web_tests/flag-specific/enable-blink-features=LayoutNG/paint/invalidation/flexbox/align-content-change-expected.txt [delete] https://crrev.com/427999cfc3d0da1500edf93898f497ad0e8a91bb/third_party/blink/web_tests/flag-specific/enable-blink-features=LayoutNG/paint/invalidation/flexbox/align-content-distribution-change-grid-expected.txt [delete] https://crrev.com/427999cfc3d0da1500edf93898f497ad0e8a91bb/third_party/blink/web_tests/flag-specific/enable-blink-features=LayoutNG/paint/invalidation/flexbox/align-items-change-expected.txt [delete] https://crrev.com/427999cfc3d0da1500edf93898f497ad0e8a91bb/third_party/blink/web_tests/flag-specific/enable-blink-features=LayoutNG/paint/invalidation/flexbox/align-self-change-expected.txt [delete] https://crrev.com/427999cfc3d0da1500edf93898f497ad0e8a91bb/third_party/blink/web_tests/flag-specific/enable-blink-features=LayoutNG/paint/invalidation/flexbox/align-self-change-grid-expected.txt [delete] https://crrev.com/427999cfc3d0da1500edf93898f497ad0e8a91bb/third_party/blink/web_tests/flag-specific/enable-blink-features=LayoutNG/paint/invalidation/flexbox/justify-content-change-expected.txt [delete] https://crrev.com/427999cfc3d0da1500edf93898f497ad0e8a91bb/third_party/blink/web_tests/flag-specific/enable-blink-features=LayoutNG/paint/invalidation/flexbox/justify-content-distribution-change-grid-expected.txt [delete] https://crrev.com/427999cfc3d0da1500edf93898f497ad0e8a91bb/third_party/blink/web_tests/flag-specific/enable-blink-features=LayoutNG/paint/invalidation/flexbox/justify-items-change-expected.txt [delete] https://crrev.com/427999cfc3d0da1500edf93898f497ad0e8a91bb/third_party/blink/web_tests/flag-specific/enable-blink-features=LayoutNG/paint/invalidation/flexbox/justify-self-change-expected.txt [delete] https://crrev.com/427999cfc3d0da1500edf93898f497ad0e8a91bb/third_party/blink/web_tests/flag-specific/enable-blink-features=LayoutNG/paint/invalidation/flexbox/repaint-during-resize-no-flex-expected.txt [delete] https://crrev.com/427999cfc3d0da1500edf93898f497ad0e8a91bb/third_party/blink/web_tests/flag-specific/enable-blink-features=LayoutNG/paint/invalidation/multicol/multicol-repaint-expected.txt [delete] https://crrev.com/427999cfc3d0da1500edf93898f497ad0e8a91bb/third_party/blink/web_tests/flag-specific/enable-blink-features=LayoutNG/paint/invalidation/overflow/align-items-overflow-change-expected.txt [delete] https://crrev.com/427999cfc3d0da1500edf93898f497ad0e8a91bb/third_party/blink/web_tests/flag-specific/enable-blink-features=LayoutNG/paint/invalidation/overflow/align-self-overflow-change-expected.txt [delete] https://crrev.com/427999cfc3d0da1500edf93898f497ad0e8a91bb/third_party/blink/web_tests/flag-specific/enable-blink-features=LayoutNG/paint/invalidation/overflow/justify-items-overflow-change-expected.txt [delete] https://crrev.com/427999cfc3d0da1500edf93898f497ad0e8a91bb/third_party/blink/web_tests/flag-specific/enable-blink-features=LayoutNG/paint/invalidation/overflow/justify-self-overflow-change-expected.txt [delete] https://crrev.com/427999cfc3d0da1500edf93898f497ad0e8a91bb/third_party/blink/web_tests/flag-specific/enable-blink-features=LayoutNG/paint/invalidation/position/align-content-position-change-grid-expected.txt [delete] https://crrev.com/427999cfc3d0da1500edf93898f497ad0e8a91bb/third_party/blink/web_tests/flag-specific/enable-blink-features=LayoutNG/paint/invalidation/position/justify-content-position-change-expected.txt [delete] https://crrev.com/427999cfc3d0da1500edf93898f497ad0e8a91bb/third_party/blink/web_tests/flag-specific/enable-blink-features=LayoutNG/paint/invalidation/position/justify-content-position-change-grid-expected.txt
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/ba0bf7f55eed8d5d51788e925c750466e74a0cf3 commit ba0bf7f55eed8d5d51788e925c750466e74a0cf3 Author: Ian Kilpatrick <ikilpatrick@chromium.org> Date: Mon Jan 21 20:53:59 2019 [LayoutNG] Remove positioned float vector & related methods. Now that the line breaker doesn't deal with positioned floats in a vector, we can remove the NGUnpositionedFloatVector type and related classes. There should be no behaviour change. Bug: 635619 Change-Id: I0e2d2dc3ce8258b9363d66ab540c262a51f2d9f9 Reviewed-on: https://chromium-review.googlesource.com/c/1424418 Reviewed-by: Morten Stenshorne <mstensho@chromium.org> Commit-Queue: Ian Kilpatrick <ikilpatrick@chromium.org> Cr-Commit-Position: refs/heads/master@{#624650} [modify] https://crrev.com/ba0bf7f55eed8d5d51788e925c750466e74a0cf3/third_party/blink/renderer/core/layout/BUILD.gn [modify] https://crrev.com/ba0bf7f55eed8d5d51788e925c750466e74a0cf3/third_party/blink/renderer/core/layout/ng/inline/ng_inline_layout_algorithm.h [modify] https://crrev.com/ba0bf7f55eed8d5d51788e925c750466e74a0cf3/third_party/blink/renderer/core/layout/ng/ng_block_layout_algorithm.cc [modify] https://crrev.com/ba0bf7f55eed8d5d51788e925c750466e74a0cf3/third_party/blink/renderer/core/layout/ng/ng_block_layout_algorithm.h [modify] https://crrev.com/ba0bf7f55eed8d5d51788e925c750466e74a0cf3/third_party/blink/renderer/core/layout/ng/ng_floats_utils.cc [modify] https://crrev.com/ba0bf7f55eed8d5d51788e925c750466e74a0cf3/third_party/blink/renderer/core/layout/ng/ng_floats_utils.h [modify] https://crrev.com/ba0bf7f55eed8d5d51788e925c750466e74a0cf3/third_party/blink/renderer/core/layout/ng/ng_layout_result.h [modify] https://crrev.com/ba0bf7f55eed8d5d51788e925c750466e74a0cf3/third_party/blink/renderer/core/layout/ng/ng_unpositioned_float.h [delete] https://crrev.com/04fb00a20bc9758ec846853c5751ab18221869ce/third_party/blink/renderer/core/layout/ng/ng_unpositioned_float_vector.h