Chromium Code Reviews| Index: third_party/WebKit/Source/core/layout/ng/README.md |
| diff --git a/third_party/WebKit/Source/core/layout/ng/README.md b/third_party/WebKit/Source/core/layout/ng/README.md |
| new file mode 100644 |
| index 0000000000000000000000000000000000000000..59616b59ba5cd43f13620010893e01c6a6a968bc |
| --- /dev/null |
| +++ b/third_party/WebKit/Source/core/layout/ng/README.md |
| @@ -0,0 +1,63 @@ |
| +# LayoutNG # |
| + |
| +This directory contains the implementation of blink's new layout engine |
|
Gleb Lanbin
2016/10/10 23:07:55
use Blink's instead of blink's?
ikilpatrick
2016/10/11 21:26:33
Done.
|
| +"LayoutNG". |
| + |
| +This README can be viewed in formatted form [here](https://chromium.googlesource.com/chromium/src/+/master/third_party/WebKit/Source/core/layout/ng/README.md). |
|
eae
2016/10/10 23:17:05
I know I suggested it but I'd be very reluctant to
ikilpatrick
2016/10/11 21:26:33
:( Yeah, I like the bug you filed w/ infra. This r
|
| + |
| +The original design document can be seen [here](https://docs.google.com/document/d/1uxbDh4uONFQOiGuiumlJBLGgO4KDWB8ZEkp7Rd47fw4/edit). |
|
eae
2016/10/10 23:17:05
This URL doesn't work.
ikilpatrick
2016/10/11 21:26:32
did you copy the space in the review tool?
|
| + |
| +## High level overview ## |
| + |
| +CSS has many different types of layout modes, controlled by the `display` |
| +property. (In addition to this specific HTML elements have custom layout modes |
| +as well). For each different type of layout, we have a |
| +[NGLayoutAlgorithm](ng_layout_algorithm.h). |
| + |
| +The input to an [NGLayoutAlgorithm](ng_layout_algorithm.h) is the same tuple |
| +for every kind of layout: |
| + |
| + - The [NGBox](ng_box.h) which we are currently performing layout for - the |
|
Gleb Lanbin
2016/10/10 23:07:55
should "- the following" start from a new line?
ikilpatrick
2016/10/11 21:26:33
Acknowledged. Changed to sentence.
|
| + following information is accessed: |
| + |
| + - The [ComputedStyle](../../style/ComputedStyle.h) for the node which we are |
| + currently performing laying for. |
| + |
| + - The list of children [NGBox](ng_box.h)es to perform layout upon, and their |
| + respective style objects. |
| + |
| + - The [NGConstraintSpace](ng_constraint_space.h) which represents the "space" |
| + in which the current layout should produce a |
| + [NGPhysicalFragment](ng_physical_fragment.h). |
| + |
| + - TODO(layout-ng): BreakTokens should go here once implemented. |
| + |
| +The current layout should not access any information outside this set, this |
| +will break invariants in the system. (As a concrete example we intend to cache |
| +[NGPhysicalFragment](ng_physical_fragment.h)s based on this set, accessing |
| +additional information outside this set will break caching behaviour). |
| + |
| +### The Box Tree ### |
| + |
| +TODO(layout-ng): Document with lots of pretty pictures. |
|
Gleb Lanbin
2016/10/10 23:07:55
TODO should be followed by username, bug ID or ema
ikilpatrick
2016/10/11 21:26:33
Done.
|
| + |
| +### The Fragment Tree ### |
| + |
| +TODO(layout-ng): Document with lots of pretty pictures. |
| + |
| +### Contstraint Spaces ### |
|
Gleb Lanbin
2016/10/10 23:07:55
typo. Contstraint -> Constraint
.nit should we dr
ikilpatrick
2016/10/11 21:26:33
Done.
|
| + |
| +TODO(layout-ng): Document with lots of pretty pictures. |
| + |
| +## The Block Flow Algorithm ## |
| + |
| +This section contains details specific to the |
| +[NGBlockLayoutAlgorithm](ng_block_layout_algorithm.h). |
| + |
| +### Margin Collapsing ### |
|
Gleb Lanbin
2016/10/10 23:07:55
it's named Collapsing Margins in https://www.w3.or
ikilpatrick
2016/10/11 21:26:33
Done.
|
| + |
| +TODO(layout-ng): Document with lots of pretty pictures. |
| + |
| +### Float Positioning ### |
| + |
| +TODO(layout-ng): Document with lots of pretty pictures. |