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

Unified Diff: third_party/WebKit/Source/core/layout/ng/ng_physical_fragment.h

Issue 2702403003: [layoutng] Split NGLayoutResult out of NGPhysicalFragment (Closed)
Patch Set: rebased Created 3 years, 10 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
Index: third_party/WebKit/Source/core/layout/ng/ng_physical_fragment.h
diff --git a/third_party/WebKit/Source/core/layout/ng/ng_physical_fragment.h b/third_party/WebKit/Source/core/layout/ng/ng_physical_fragment.h
index 2ccd3e5eb70743247be4501e0d623c5b77675332..2d014c50f6b72a3384905ae00a27bb834b8f4765 100644
--- a/third_party/WebKit/Source/core/layout/ng/ng_physical_fragment.h
+++ b/third_party/WebKit/Source/core/layout/ng/ng_physical_fragment.h
@@ -14,11 +14,9 @@
namespace blink {
class LayoutObject;
-class NGBlockNode;
class NGBreakToken;
-struct NGFloatingObject;
-// The NGPhysicalFragment contains the output information from layout. The
+// The NGPhysicalFragment contains the output geometry from layout. The
// fragment stores all of its information in the physical coordinate system for
// use by paint, hit-testing etc.
//
@@ -26,8 +24,8 @@ struct NGFloatingObject;
// Once we have transitioned fully to LayoutNG it should be a const pointer
// such that paint/hit-testing/etc don't modify it.
//
-// Layout code should only access output layout information through the
-// NGFragmentBase classes which transforms information into the logical
+// Layout code should only access geometry information through the
+// NGFragment wrapper classes which transforms information into the logical
// coordinate system.
class CORE_EXPORT NGPhysicalFragment : public RefCounted<NGPhysicalFragment> {
public:
@@ -82,46 +80,13 @@ class CORE_EXPORT NGPhysicalFragment : public RefCounted<NGPhysicalFragment> {
LayoutObject* GetLayoutObject() const { return layout_object_; }
- const HeapLinkedHashSet<WeakMember<NGBlockNode>>& OutOfFlowDescendants()
- const {
- return out_of_flow_descendants_;
- }
-
- const Vector<NGStaticPosition>& OutOfFlowPositions() const {
- return out_of_flow_positions_;
- }
-
bool IsPlaced() const { return is_placed_; }
- // List of floats that need to be positioned by the next in-flow child that
- // can determine its position in space.
- // Use case example where it may be needed:
- // <div><float></div>
- // <div style="margin-top: 10px; height: 20px"></div>
- // The float cannot be positioned right away inside of the 1st div because
- // the vertical position is not known at that moment. It will be known only
- // after the 2nd div collapses its margin with its parent.
- const Vector<Persistent<NGFloatingObject>>& UnpositionedFloats() const {
- return unpositioned_floats_;
- }
-
- // List of positioned float that need to be copied to the old layout tree.
- // TODO(layout-ng): remove this once we change painting code to handle floats
- // differently.
- const Vector<Persistent<NGFloatingObject>>& PositionedFloats() const {
- return positioned_floats_;
- }
-
protected:
NGPhysicalFragment(LayoutObject* layout_object,
NGPhysicalSize size,
NGPhysicalSize overflow,
NGFragmentType type,
- PersistentHeapLinkedHashSet<WeakMember<NGBlockNode>>&
- out_of_flow_descendants,
- Vector<NGStaticPosition> out_of_flow_positions,
- Vector<Persistent<NGFloatingObject>>& unpositioned_floats,
- Vector<Persistent<NGFloatingObject>>& positioned_floats,
NGBreakToken* break_token = nullptr);
LayoutObject* layout_object_;
@@ -129,10 +94,6 @@ class CORE_EXPORT NGPhysicalFragment : public RefCounted<NGPhysicalFragment> {
NGPhysicalSize overflow_;
NGPhysicalOffset offset_;
Persistent<NGBreakToken> break_token_;
- PersistentHeapLinkedHashSet<WeakMember<NGBlockNode>> out_of_flow_descendants_;
- Vector<NGStaticPosition> out_of_flow_positions_;
- Vector<Persistent<NGFloatingObject>> unpositioned_floats_;
- Vector<Persistent<NGFloatingObject>> positioned_floats_;
unsigned type_ : 1;
unsigned is_placed_ : 1;

Powered by Google App Engine
This is Rietveld 408576698