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

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

Issue 2954953002: [LayoutNG] Abort a layout once the BFC offset is resolved. (Closed)
Patch Set: rebase. Created 3 years, 5 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_layout_result.h
diff --git a/third_party/WebKit/Source/core/layout/ng/ng_layout_result.h b/third_party/WebKit/Source/core/layout/ng/ng_layout_result.h
index 017b94f4f6bfb11621b8ecca3352960758628503..44e9e59a5896fa3a993161fd7a44f8a4166f098e 100644
--- a/third_party/WebKit/Source/core/layout/ng/ng_layout_result.h
+++ b/third_party/WebKit/Source/core/layout/ng/ng_layout_result.h
@@ -26,9 +26,17 @@ namespace blink {
// NGFragment et al.
class CORE_EXPORT NGLayoutResult : public RefCounted<NGLayoutResult> {
public:
+ enum NGLayoutResultStatus {
+ kSuccess = 0,
+ kBfcOffsetResolved = 1,
+ // When adding new values, make sure the bit size of |status_| is large
+ // enough to store.
+ };
+
RefPtr<NGPhysicalFragment> PhysicalFragment() const {
return physical_fragment_;
}
+
RefPtr<NGPhysicalFragment>& MutablePhysicalFragment() {
return physical_fragment_;
}
@@ -50,6 +58,10 @@ class CORE_EXPORT NGLayoutResult : public RefCounted<NGLayoutResult> {
return unpositioned_floats_;
}
+ NGLayoutResultStatus Status() const {
+ return static_cast<NGLayoutResultStatus>(status_);
+ }
+
const WTF::Optional<NGLogicalOffset>& BfcOffset() const {
return bfc_offset_;
}
@@ -64,7 +76,8 @@ class CORE_EXPORT NGLayoutResult : public RefCounted<NGLayoutResult> {
out_of_flow_positioned_descendants,
Vector<RefPtr<NGUnpositionedFloat>>& unpositioned_floats,
const WTF::Optional<NGLogicalOffset> bfc_offset,
- const NGMarginStrut end_margin_strut);
+ const NGMarginStrut end_margin_strut,
+ NGLayoutResultStatus status);
RefPtr<NGPhysicalFragment> physical_fragment_;
Vector<RefPtr<NGUnpositionedFloat>> unpositioned_floats_;
@@ -72,6 +85,8 @@ class CORE_EXPORT NGLayoutResult : public RefCounted<NGLayoutResult> {
Vector<NGOutOfFlowPositionedDescendant> oof_positioned_descendants_;
const WTF::Optional<NGLogicalOffset> bfc_offset_;
const NGMarginStrut end_margin_strut_;
+
+ unsigned status_ : 1;
};
} // namespace blink

Powered by Google App Engine
This is Rietveld 408576698