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

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

Issue 2546353002: Move oof-descendants to NGPhysicalFragmentBase (Closed)
Patch Set: fix win build problem Created 4 years 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_base.h
diff --git a/third_party/WebKit/Source/core/layout/ng/ng_physical_fragment_base.h b/third_party/WebKit/Source/core/layout/ng/ng_physical_fragment_base.h
index 510cc525195bfea8291bce27bcdf70ec869f8f7c..5356b3394c0394d17ad48478d1952feea3cef12d 100644
--- a/third_party/WebKit/Source/core/layout/ng/ng_physical_fragment_base.h
+++ b/third_party/WebKit/Source/core/layout/ng/ng_physical_fragment_base.h
@@ -15,6 +15,8 @@
namespace blink {
+class NGBlockNode;
+
// The NGPhysicalFragmentBase contains the output information from layout. The
// fragment stores all of its information in the physical coordinate system for
// use by paint, hit-testing etc.
@@ -60,26 +62,35 @@ class CORE_EXPORT NGPhysicalFragmentBase
has_been_placed_ = true;
}
- DEFINE_INLINE_TRACE_AFTER_DISPATCH() { visitor->trace(break_token_); }
+ const HeapLinkedHashSet<WeakMember<NGBlockNode>>& OutOfFlowDescendants()
+ const {
+ return out_of_flow_descendants_;
+ }
+
+ const Vector<NGStaticPosition>& OutOfFlowPositions() const {
+ return out_of_flow_positions_;
+ }
+
+ DECLARE_TRACE_AFTER_DISPATCH();
DECLARE_TRACE();
void finalizeGarbageCollectedObject();
protected:
- NGPhysicalFragmentBase(NGPhysicalSize size,
- NGPhysicalSize overflow,
- NGFragmentType type,
- NGBreakToken* break_token = nullptr)
- : size_(size),
- overflow_(overflow),
- break_token_(break_token),
- type_(type),
- has_been_placed_(false) {}
+ NGPhysicalFragmentBase(
+ NGPhysicalSize size,
+ NGPhysicalSize overflow,
+ NGFragmentType type,
+ HeapLinkedHashSet<WeakMember<NGBlockNode>>& out_of_flow_descendants,
+ Vector<NGStaticPosition> out_of_flow_positions,
+ NGBreakToken* break_token = nullptr);
NGPhysicalSize size_;
NGPhysicalSize overflow_;
NGPhysicalOffset offset_;
Member<NGBreakToken> break_token_;
+ HeapLinkedHashSet<WeakMember<NGBlockNode>> out_of_flow_descendants_;
+ Vector<NGStaticPosition> out_of_flow_positions_;
unsigned type_ : 1;
unsigned has_been_placed_ : 1;

Powered by Google App Engine
This is Rietveld 408576698