Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(501)

Unified Diff: third_party/WebKit/Source/core/layout/ng/README.md

Issue 2406843003: [LayoutNG] Initial README.md file. (Closed)
Patch Set: . Created 4 years, 2 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « no previous file | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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..069ae6621344aeccd67b8de473f068d739ebd9e5
--- /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
+"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).
+
+The original design document can be seen [here](https://docs.google.com/document/d/1uxbDh4uONFQOiGuiumlJBLGgO4KDWB8ZEkp7Rd47fw4/edit).
+
+## 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
+ 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-dev): 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).
+
+### Box Tree ###
+
+TODO(layout-dev): Document with lots of pretty pictures.
+
+### Fragment Tree ###
+
+TODO(layout-dev): Document with lots of pretty pictures.
+
+### Constraint Spaces ###
+
+TODO(layout-dev): Document with lots of pretty pictures.
+
+## Block Flow Algorithm ##
+
+This section contains details specific to the
+[NGBlockLayoutAlgorithm](ng_block_layout_algorithm.h).
+
+### Collapsing Margins ###
+
+TODO(layout-dev): Document with lots of pretty pictures.
+
+### Float Positioning ###
+
+TODO(layout-dev): Document with lots of pretty pictures.
« no previous file with comments | « no previous file | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698