ptal.
Some of the names are now a little misleading (eg. EnclosingNGBlockFlow), suggestions are welcome.
The coding style allows for explicit instantiation of the template classes instead of defining all methods in the header files, which I preferred for LayoutNGMixin, but MSVC throws a warning for this, which fails the build. To prevent this, I disabled the specific warning, but I'm not sure if this is kosher. If moving the definitions to the header file is preferred, please let me know.
To view, visit change 725346. To unsubscribe, or for help writing mail filters, visit settings.
Looks good to me but please allow Ian to comment before landing.
Thank you!
Patch set 12:Code-Review +1
1 comment:
File third_party/WebKit/Source/core/layout/LayoutBlockFlow.h:
Patch Set #12, Line 63: NGPaintFragment
sort this list please
To view, visit change 725346. To unsubscribe, or for help writing mail filters, visit settings.
The coding style allows for explicit instantiation of the template classes instead of defining all methods in the header files, which I preferred for LayoutNGMixin, but MSVC throws a warning for this, which fails the build. To prevent this, I disabled the specific warning, but I'm not sure if this is kosher. If moving the definitions to the header file is preferred, please let me know.
ng_inline_items_builder.cc also uses explicit instantiation pattern, and compiles without the #pragma.
File third_party/WebKit/Source/core/layout/ng/layout_ng_block_flow.cc:
Patch Set #12, Line 26: UpdateBlockLayout
will some/most of this also be shared in the mixin for table cells?
To view, visit change 725346. To unsubscribe, or for help writing mail filters, visit settings.
Patch Set 12:
The coding style allows for explicit instantiation of the template classes instead of defining all methods in the header files, which I preferred for LayoutNGMixin, but MSVC throws a warning for this, which fails the build. To prevent this, I disabled the specific warning, but I'm not sure if this is kosher. If moving the definitions to the header file is preferred, please let me know.
ng_inline_items_builder.cc also uses explicit instantiation pattern, and compiles without the #pragma.
Thanks, Aleks, that's exactly what I needed. #pragma removed!
2 comments:
sort this list please
Done
File third_party/WebKit/Source/core/layout/ng/layout_ng_block_flow.cc:
will some/most of this also be shared in the mixin for table cells?
Yes, some of this can be shared with table cells and captions. I skipped over that part for this patch.
To view, visit change 725346. To unsubscribe, or for help writing mail filters, visit settings.
Karl Anders Øygard uploaded patch set #15 to this change.
[LayoutNG] Introduce LayoutNGMixin in preparation for LayoutNGTableCell.
This class holds code shared between LayoutNG subclasses of
LayoutBlockFlow. Inheritance is parameterized, but only valid
for LayoutBlockFlow and subclasses.
Cq-Include-Trybots: master.tryserver.chromium.linux:linux_layout_tests_layout_ng;master.tryserver.chromium.linux:linux_layout_tests_slimming_paint_v2
Change-Id: I973193718d046ec6e8aa1a9bf548c5fef45aa149
---
M third_party/WebKit/Source/core/layout/BUILD.gn
M third_party/WebKit/Source/core/layout/LayoutBlockFlow.h
M third_party/WebKit/Source/core/layout/LayoutObject.cpp
M third_party/WebKit/Source/core/layout/LayoutObject.h
M third_party/WebKit/Source/core/layout/LayoutText.cpp
M third_party/WebKit/Source/core/layout/ng/NGInlineLayoutTest.cpp
M third_party/WebKit/Source/core/layout/ng/inline/ng_inline_layout_algorithm_test.cc
M third_party/WebKit/Source/core/layout/ng/inline/ng_inline_node.cc
M third_party/WebKit/Source/core/layout/ng/inline/ng_inline_node.h
M third_party/WebKit/Source/core/layout/ng/inline/ng_inline_node_offset_mapping_test.cc
M third_party/WebKit/Source/core/layout/ng/inline/ng_inline_node_test.cc
M third_party/WebKit/Source/core/layout/ng/layout_ng_block_flow.cc
M third_party/WebKit/Source/core/layout/ng/layout_ng_block_flow.h
A third_party/WebKit/Source/core/layout/ng/layout_ng_mixin.cc
A third_party/WebKit/Source/core/layout/ng/layout_ng_mixin.h
M third_party/WebKit/Source/core/layout/ng/legacy_layout_tree_walking.cc
M third_party/WebKit/Source/core/layout/ng/legacy_layout_tree_walking.h
M third_party/WebKit/Source/core/layout/ng/ng_base_layout_algorithm_test.cc
M third_party/WebKit/Source/core/layout/ng/ng_base_layout_algorithm_test.h
M third_party/WebKit/Source/core/layout/ng/ng_block_layout_algorithm_test.cc
M third_party/WebKit/Source/core/layout/ng/ng_block_node.cc
M third_party/WebKit/Source/core/layout/ng/ng_out_of_flow_layout_part_test.cc
M third_party/WebKit/Source/core/paint/ng/ng_block_flow_painter.h
23 files changed, 378 insertions(+), 274 deletions(-)
To view, visit change 725346. To unsubscribe, or for help writing mail filters, visit settings.
Patch set 15:Commit-Queue +2
CQ is trying da patch.
Note: The patchset sent to CQ was uploaded after this CL was approved.
"Edit commit message" https://chromium-review.googlesource.com/c/725346/15
Follow status at: https://chromium-cq-status.appspot.com/v2/patch-status/chromium-review.googlesource.com/725346/15
Bot data: {"action": "start", "triggered_at": "2017-10-23T07:45:46.0Z", "cq_cfg_revision": "573b6c39d3de239a70e8fa672647b63bf0bd1f89", "revision": "4b4811996f17b5a12158abeff681f4a002bc4618"}
Commit Bot merged this change.
[LayoutNG] Introduce LayoutNGMixin in preparation for LayoutNGTableCell.
This class holds code shared between LayoutNG subclasses of
LayoutBlockFlow. Inheritance is parameterized, but only valid
for LayoutBlockFlow and subclasses.
Cq-Include-Trybots: master.tryserver.chromium.linux:linux_layout_tests_layout_ng;master.tryserver.chromium.linux:linux_layout_tests_slimming_paint_v2
Change-Id: I973193718d046ec6e8aa1a9bf548c5fef45aa149
Reviewed-on: https://chromium-review.googlesource.com/725346
Commit-Queue: Karl Anders Øygard <ka...@opera.com>
Reviewed-by: Emil A Eklund <e...@chromium.org>
Reviewed-by: Ian Kilpatrick <ikilp...@chromium.org>
Cr-Commit-Position: refs/heads/master@{#510749}