Project: chromium Issues People Development process History Sign in
New issue
Advanced search Search tips
Note: Color blocks (like or ) mean that a user may not be available. Tooltip shows the reason.
Issue 591099 [meta] LayoutNG
Starred by 28 users Project Member Reported by e...@chromium.org, Mar 1 2016 Back to list
Status: Started
Owner:
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: All
Pri: 3
Type: Feature


Sign in to add a comment
Meta bug for implementing LayoutNG: A new layout system designed from the ground up to support the requirements of the web as a platform going forward. The plan is to support both the new and old layout systems in parallel and gradually migrate layout types over to the new system. 

Design doc: https://docs.google.com/document/d/1uxbDh4uONFQOiGuiumlJBLGgO4KDWB8ZEkp7Rd47fw4 
Mailing list: blink_layout_ng@chromium.org 

 
Comment 2 by le...@chromium.org, Mar 16 2016
Cc: shans@chromium.org dgro...@chromium.org
Comment 3 by e...@chromium.org, Jun 3 2016
Owner: e...@chromium.org
Summary: [meta] LayoutNG (was: [meta] LayoutNG Experiment)
Comment 4 by e...@chromium.org, Jul 1 2016
Blockedon: 625300
Comment 5 by e...@chromium.org, Jul 6 2016
Description: Show this description
Comment 6 by dk...@chromium.org, Jul 21 2016
Cc: dk...@chromium.org
Project Member Comment 7 by bugdroid1@chromium.org, Aug 1 2016
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/d32fdb7a2428764717bddae953628b07eba2afdd

commit d32fdb7a2428764717bddae953628b07eba2afdd
Author: eae <eae@chromium.org>
Date: Mon Aug 01 20:00:32 2016

[LayoutNG] Add NGConstraintSpace class definition

Define initial outline of the constraint space API for LayoutNG by means
of the NG[Derived]ConstraintSpace & NGLayoutOpportunityIterator classes.

BUG=591099
R=ikilpatrick@chromium.org

Review-Url: https://codereview.chromium.org/2176343006
Cr-Commit-Position: refs/heads/master@{#409035}

[modify] https://crrev.com/d32fdb7a2428764717bddae953628b07eba2afdd/third_party/WebKit/Source/core/core.gypi
[add] https://crrev.com/d32fdb7a2428764717bddae953628b07eba2afdd/third_party/WebKit/Source/core/layout/ng/NGConstraintSpace.cpp
[add] https://crrev.com/d32fdb7a2428764717bddae953628b07eba2afdd/third_party/WebKit/Source/core/layout/ng/NGConstraintSpace.h

Project Member Comment 8 by bugdroid1@chromium.org, Aug 1 2016
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/8bc705f472c4d11b50b6186a3f057a6b2e45c0f3

commit 8bc705f472c4d11b50b6186a3f057a6b2e45c0f3
Author: ikilpatrick <ikilpatrick@chromium.org>
Date: Mon Aug 01 20:46:10 2016

[LayoutNG] Add blink runtime feature flag for LayoutNG.

BUG=591099

Review-Url: https://codereview.chromium.org/2197843002
Cr-Commit-Position: refs/heads/master@{#409048}

[modify] https://crrev.com/8bc705f472c4d11b50b6186a3f057a6b2e45c0f3/third_party/WebKit/Source/platform/RuntimeEnabledFeatures.in

Project Member Comment 9 by bugdroid1@chromium.org, Aug 4 2016
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/98af4a7f6e0cb62818f95c5e37818eb4d447f681

commit 98af4a7f6e0cb62818f95c5e37818eb4d447f681
Author: eae <eae@chromium.org>
Date: Thu Aug 04 17:41:25 2016

[LayoutNG] Change size members on NGConstraintSpace

Update the NGConstraintSpace class to clarify naming and description of
the various size members and methods.

BUG=591099
R=ikilpatrick@chromium.org

Review-Url: https://codereview.chromium.org/2214483002
Cr-Commit-Position: refs/heads/master@{#409824}

[modify] https://crrev.com/98af4a7f6e0cb62818f95c5e37818eb4d447f681/third_party/WebKit/Source/core/layout/ng/NGConstraintSpace.cpp
[modify] https://crrev.com/98af4a7f6e0cb62818f95c5e37818eb4d447f681/third_party/WebKit/Source/core/layout/ng/NGConstraintSpace.h

Blockedon: 635619
Project Member Comment 11 by bugdroid1@chromium.org, Aug 8 2016
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/585b50077748e8a19221d736e307a3cf0c18e0e2

commit 585b50077748e8a19221d736e307a3cf0c18e0e2
Author: ikilpatrick <ikilpatrick@chromium.org>
Date: Mon Aug 08 20:40:32 2016

[LayoutNG] Add NGFragment class definition.

Define initial fragment placeholder. Initially just contains the
inline/block size, and inline/block offset.

BUG=591099

Review-Url: https://codereview.chromium.org/2229583002
Cr-Commit-Position: refs/heads/master@{#410446}

[modify] https://crrev.com/585b50077748e8a19221d736e307a3cf0c18e0e2/third_party/WebKit/Source/core/core.gypi
[add] https://crrev.com/585b50077748e8a19221d736e307a3cf0c18e0e2/third_party/WebKit/Source/core/layout/ng/NGFragment.cpp
[add] https://crrev.com/585b50077748e8a19221d736e307a3cf0c18e0e2/third_party/WebKit/Source/core/layout/ng/NGFragment.h

Project Member Comment 12 by bugdroid1@chromium.org, Aug 8 2016
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/70f373450652eb701351c3a7562ea2c13f737990

commit 70f373450652eb701351c3a7562ea2c13f737990
Author: cbiesinger <cbiesinger@chromium.org>
Date: Mon Aug 08 20:52:13 2016

[layoutng] Rename exclusion types to avoid conflicts with ComputedStyleConstants.h

R=ikilpatrick@chromium.org
BUG=591099

Review-Url: https://codereview.chromium.org/2223163002
Cr-Commit-Position: refs/heads/master@{#410453}

[modify] https://crrev.com/70f373450652eb701351c3a7562ea2c13f737990/third_party/WebKit/Source/core/layout/ng/NGConstraintSpace.h

Comment 13 by e...@chromium.org, Aug 11 2016
Blockedon: 6122
Comment 14 by e...@chromium.org, Aug 11 2016
Blockedon: 636993
Comment 15 by e...@chromium.org, Aug 25 2016
Description: Show this description
Project Member Comment 16 by bugdroid1@chromium.org, Sep 9 2016
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/ac9d3f8a067654f9059e6ab00051be9102ff471e

commit ac9d3f8a067654f9059e6ab00051be9102ff471e
Author: eae <eae@chromium.org>
Date: Fri Sep 09 12:23:04 2016

Initial exclusion aware layout opportunities implementation

Implement exclusion aware layout opportunities algorithm. At the moment
it only handles opportunities for a fixed starting point, sorted by the
width of the opportunities, widest first. Next step is to recompute for
the next exclusion once all current opportunities have been exhausted.

BUG=591099
R=ikilpatrick@chromium.org

Review-Url: https://codereview.chromium.org/2298273002
Cr-Commit-Position: refs/heads/master@{#417562}

[modify] https://crrev.com/ac9d3f8a067654f9059e6ab00051be9102ff471e/third_party/WebKit/Source/core/layout/ng/ng_constraint_space.cc
[modify] https://crrev.com/ac9d3f8a067654f9059e6ab00051be9102ff471e/third_party/WebKit/Source/core/layout/ng/ng_constraint_space.h
[modify] https://crrev.com/ac9d3f8a067654f9059e6ab00051be9102ff471e/third_party/WebKit/Source/core/layout/ng/ng_constraint_space_test.cc
[modify] https://crrev.com/ac9d3f8a067654f9059e6ab00051be9102ff471e/third_party/WebKit/Source/core/layout/ng/ng_physical_constraint_space.cc
[modify] https://crrev.com/ac9d3f8a067654f9059e6ab00051be9102ff471e/third_party/WebKit/Source/core/layout/ng/ng_physical_constraint_space.h

Project Member Comment 17 by bugdroid1@chromium.org, Sep 9 2016
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/1a379b6ecf0b694e1dfe17e9364f3b3ca19bcc0d

commit 1a379b6ecf0b694e1dfe17e9364f3b3ca19bcc0d
Author: eae <eae@chromium.org>
Date: Fri Sep 09 12:58:47 2016

[LayoutNG] Update NGLayoutInputText

Update NGLayoutInputText to include further fields for run segmentation.

BUG=591099
R=drott@chromium.org

Review-Url: https://codereview.chromium.org/2323283002
Cr-Commit-Position: refs/heads/master@{#417567}

[modify] https://crrev.com/1a379b6ecf0b694e1dfe17e9364f3b3ca19bcc0d/third_party/WebKit/Source/core/layout/ng/ng_layout_input_text.h

Blocking: 638156
Cc: sadrul@chromium.org rbyers@chromium.org mustaq@chromium.org bokan@chromium.org vollick@chromium.org
Issue 417560 has been merged into this issue.
Project Member Comment 20 by bugdroid1@chromium.org, Dec 8
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/2c7035b91f520b1d73bce8cb4fe8f72a37560284

commit 2c7035b91f520b1d73bce8cb4fe8f72a37560284
Author: glebl <glebl@chromium.org>
Date: Thu Dec 08 02:01:17 2016

Add W3C CSS 2.1 virtual test suite for LayoutNG.

This patch adds W3C virtual test suite for LayoutNG.

See https://www.w3.org/Style/CSS/Test/Overview.en.html for more information about
Cascading Style Sheets Official W3C Test Suites

BUG=591099

Review-Url: https://codereview.chromium.org/2555963004
Cr-Commit-Position: refs/heads/master@{#437138}

[modify] https://crrev.com/2c7035b91f520b1d73bce8cb4fe8f72a37560284/third_party/WebKit/LayoutTests/TestExpectations
[modify] https://crrev.com/2c7035b91f520b1d73bce8cb4fe8f72a37560284/third_party/WebKit/LayoutTests/VirtualTestSuites
[add] https://crrev.com/2c7035b91f520b1d73bce8cb4fe8f72a37560284/third_party/WebKit/LayoutTests/virtual/layout_ng/css2.1/20110323/README.txt

Comment 21 Deleted
Project Member Comment 22 by bugdroid1@chromium.org, Dec 8
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/17c9aaca8957853d7582f77eed0e29bb5b837679

commit 17c9aaca8957853d7582f77eed0e29bb5b837679
Author: mstensho <mstensho@opera.com>
Date: Thu Dec 08 09:00:17 2016

[LayoutNG] Remove unnecessary #includes

NOTRY=true
BUG=591099

Review-Url: https://codereview.chromium.org/2561553002
Cr-Commit-Position: refs/heads/master@{#437217}

[modify] https://crrev.com/17c9aaca8957853d7582f77eed0e29bb5b837679/third_party/WebKit/Source/core/layout/ng/layout_ng_block_flow.cc
[modify] https://crrev.com/17c9aaca8957853d7582f77eed0e29bb5b837679/third_party/WebKit/Source/core/layout/ng/ng_block_layout_algorithm.h
[modify] https://crrev.com/17c9aaca8957853d7582f77eed0e29bb5b837679/third_party/WebKit/Source/core/layout/ng/ng_block_node.cc
[modify] https://crrev.com/17c9aaca8957853d7582f77eed0e29bb5b837679/third_party/WebKit/Source/core/layout/ng/ng_block_node.h
[modify] https://crrev.com/17c9aaca8957853d7582f77eed0e29bb5b837679/third_party/WebKit/Source/core/layout/ng/ng_constraint_space.cc
[modify] https://crrev.com/17c9aaca8957853d7582f77eed0e29bb5b837679/third_party/WebKit/Source/core/layout/ng/ng_constraint_space.h
[modify] https://crrev.com/17c9aaca8957853d7582f77eed0e29bb5b837679/third_party/WebKit/Source/core/layout/ng/ng_constraint_space_builder.h
[modify] https://crrev.com/17c9aaca8957853d7582f77eed0e29bb5b837679/third_party/WebKit/Source/core/layout/ng/ng_fragment.h
[modify] https://crrev.com/17c9aaca8957853d7582f77eed0e29bb5b837679/third_party/WebKit/Source/core/layout/ng/ng_fragment_base.cc
[modify] https://crrev.com/17c9aaca8957853d7582f77eed0e29bb5b837679/third_party/WebKit/Source/core/layout/ng/ng_fragment_base.h
[modify] https://crrev.com/17c9aaca8957853d7582f77eed0e29bb5b837679/third_party/WebKit/Source/core/layout/ng/ng_fragment_builder.cc
[modify] https://crrev.com/17c9aaca8957853d7582f77eed0e29bb5b837679/third_party/WebKit/Source/core/layout/ng/ng_fragment_builder.h
[modify] https://crrev.com/17c9aaca8957853d7582f77eed0e29bb5b837679/third_party/WebKit/Source/core/layout/ng/ng_inline_layout_algorithm.cc
[modify] https://crrev.com/17c9aaca8957853d7582f77eed0e29bb5b837679/third_party/WebKit/Source/core/layout/ng/ng_inline_layout_algorithm.h
[modify] https://crrev.com/17c9aaca8957853d7582f77eed0e29bb5b837679/third_party/WebKit/Source/core/layout/ng/ng_inline_node.cc
[modify] https://crrev.com/17c9aaca8957853d7582f77eed0e29bb5b837679/third_party/WebKit/Source/core/layout/ng/ng_layout_coordinator.cc
[modify] https://crrev.com/17c9aaca8957853d7582f77eed0e29bb5b837679/third_party/WebKit/Source/core/layout/ng/ng_layout_inline_items_builder.cc
[modify] https://crrev.com/17c9aaca8957853d7582f77eed0e29bb5b837679/third_party/WebKit/Source/core/layout/ng/ng_layout_opportunity_iterator.h
[modify] https://crrev.com/17c9aaca8957853d7582f77eed0e29bb5b837679/third_party/WebKit/Source/core/layout/ng/ng_layout_opportunity_tree_node.cc
[modify] https://crrev.com/17c9aaca8957853d7582f77eed0e29bb5b837679/third_party/WebKit/Source/core/layout/ng/ng_length_utils.cc
[modify] https://crrev.com/17c9aaca8957853d7582f77eed0e29bb5b837679/third_party/WebKit/Source/core/layout/ng/ng_physical_fragment.cc
[modify] https://crrev.com/17c9aaca8957853d7582f77eed0e29bb5b837679/third_party/WebKit/Source/core/layout/ng/ng_physical_fragment_base.cc
[modify] https://crrev.com/17c9aaca8957853d7582f77eed0e29bb5b837679/third_party/WebKit/Source/core/layout/ng/ng_physical_fragment_base.h
[modify] https://crrev.com/17c9aaca8957853d7582f77eed0e29bb5b837679/third_party/WebKit/Source/core/layout/ng/ng_physical_text_fragment.h
[modify] https://crrev.com/17c9aaca8957853d7582f77eed0e29bb5b837679/third_party/WebKit/Source/core/layout/ng/ng_text_fragment.h
[modify] https://crrev.com/17c9aaca8957853d7582f77eed0e29bb5b837679/third_party/WebKit/Source/core/layout/ng/ng_text_layout_algorithm.cc
[modify] https://crrev.com/17c9aaca8957853d7582f77eed0e29bb5b837679/third_party/WebKit/Source/core/layout/ng/ng_text_layout_algorithm.h
[modify] https://crrev.com/17c9aaca8957853d7582f77eed0e29bb5b837679/third_party/WebKit/Source/core/layout/ng/ng_units.cc
[modify] https://crrev.com/17c9aaca8957853d7582f77eed0e29bb5b837679/third_party/WebKit/Source/core/layout/ng/ng_units_test.cc
[modify] https://crrev.com/17c9aaca8957853d7582f77eed0e29bb5b837679/third_party/WebKit/Source/core/layout/ng/ng_writing_mode.cc

Blockedon: 677839
Cc: surma@chromium.org
Cc: eco...@igalia.com
Blocking: 700919
Blockedon: 707656
Cc: skobes@chromium.org pdr@chromium.org mmcnulty@chromium.org esprehn@chromium.org chrishtr@chromium.org dglazkov@chromium.org
Issue 422162 has been merged into this issue.
Project Member Comment 29 by bugdroid1@chromium.org, Apr 23 (2 days ago)
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/5d44f961b168a6cff0f822455b03cbca3eb44855

commit 5d44f961b168a6cff0f822455b03cbca3eb44855
Author: kojii <kojii@chromium.org>
Date: Sun Apr 23 23:54:02 2017

[LayoutNG] Add FlagExpectations for LayoutNG 1/3

This patch adds the FlagExpectations file for LayoutNG.

The patch is split into 3 CLs because it hits the max limit of CQ.

There are many flaky tests that may need multiple passes until it is
stabilized.

BUG=591099

Review-Url: https://codereview.chromium.org/2827643004
Cr-Commit-Position: refs/heads/master@{#466571}

[add] https://crrev.com/5d44f961b168a6cff0f822455b03cbca3eb44855/third_party/WebKit/LayoutTests/FlagExpectations/enable-blink-features=LayoutNG

Project Member Comment 30 by bugdroid1@chromium.org, Apr 24 (2 days ago)
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/0a5b389d935f65c3f328ac71dedef9d5699cf49b

commit 0a5b389d935f65c3f328ac71dedef9d5699cf49b
Author: kojii <kojii@chromium.org>
Date: Mon Apr 24 00:50:09 2017

[LayoutNG] Add FlagExpectations for LayoutNG 2/3

This patch adds the FlagExpectations file for LayoutNG.

The patch is split into 3 CLs because it hits the max limit of CQ.

There are many flaky tests that may need multiple passes until it is
stabilized.

BUG=591099

Review-Url: https://codereview.chromium.org/2832393002
Cr-Commit-Position: refs/heads/master@{#466572}

[modify] https://crrev.com/0a5b389d935f65c3f328ac71dedef9d5699cf49b/third_party/WebKit/LayoutTests/FlagExpectations/enable-blink-features=LayoutNG

Project Member Comment 31 by bugdroid1@chromium.org, Apr 24 (2 days ago)
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/7808a9b3588b505c51a35aedde04bfe6bc39fe49

commit 7808a9b3588b505c51a35aedde04bfe6bc39fe49
Author: kojii <kojii@chromium.org>
Date: Mon Apr 24 02:11:25 2017

[LayoutNG] Add FlagExpectations for LayoutNG 3/3

This patch adds the FlagExpectations file for LayoutNG.

The patch is split into 3 CLs because it hits the max limit of CQ.

There are many flaky tests that may need multiple passes until it is
stabilized.

BUG=591099

Review-Url: https://codereview.chromium.org/2838483002
Cr-Commit-Position: refs/heads/master@{#466578}

[modify] https://crrev.com/7808a9b3588b505c51a35aedde04bfe6bc39fe49/third_party/WebKit/LayoutTests/FlagExpectations/enable-blink-features=LayoutNG

Project Member Comment 32 by bugdroid1@chromium.org, Today (20 hours ago)
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/854591636767ea4f9d8076fe0be440cf3a7c0643

commit 854591636767ea4f9d8076fe0be440cf3a7c0643
Author: kojii <kojii@chromium.org>
Date: Tue Apr 25 05:33:00 2017

[LayoutNG] Add flaky results to FlagExpectations for LayoutNG

This patch adds flaky results from 5-6 iterations of running tests.

I will run a few more iterations and see how it stabilizes.

BUG=591099

Review-Url: https://codereview.chromium.org/2836883002
Cr-Commit-Position: refs/heads/master@{#466894}

[modify] https://crrev.com/854591636767ea4f9d8076fe0be440cf3a7c0643/third_party/WebKit/LayoutTests/FlagExpectations/enable-blink-features=LayoutNG

Sign in to add a comment