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

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

Issue 2693193002: [LayoutNG] A different approach to multi-col. (Closed)
Patch Set: 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_block_break_token.h
diff --git a/third_party/WebKit/Source/core/layout/ng/ng_block_break_token.h b/third_party/WebKit/Source/core/layout/ng/ng_block_break_token.h
index 14e50e420e69bd8f0962acad138585c2f6bfdef5..490cd83fbf2cfc13fbe76b3db8305c717053b0e2 100644
--- a/third_party/WebKit/Source/core/layout/ng/ng_block_break_token.h
+++ b/third_party/WebKit/Source/core/layout/ng/ng_block_break_token.h
@@ -5,6 +5,7 @@
#ifndef NGBlockBreakToken_h
#define NGBlockBreakToken_h
+#include "core/layout/ng/ng_block_node.h"
#include "core/layout/ng/ng_break_token.h"
#include "platform/LayoutUnit.h"
@@ -14,22 +15,37 @@ class NGBlockNode;
class NGBlockBreakToken : public NGBreakToken {
public:
- NGBlockBreakToken(NGBlockNode* node, LayoutUnit break_offset)
- : NGBreakToken(kBlockBreakToken),
- node_(node),
- break_offset_(break_offset) {}
+ NGBlockBreakToken(NGBlockNode* node,
+ LayoutUnit break_offset,
+ LayoutUnit used_block_size,
+ HeapVector<Member<NGBreakToken>>& child_break_tokens)
+ : NGBreakToken(kBlockBreakToken, false, node),
+ break_offset_(break_offset),
+ used_block_size_(used_block_size) {
+ child_break_tokens_.swap(child_break_tokens);
+ }
+
+ // USED FOR PLACEHOLDER TO RESUME FROM?
+ NGBlockBreakToken(NGBlockNode* node)
+ : NGBreakToken(kBlockBreakToken, true, node),
+ break_offset_(),
+ used_block_size_() {}
- NGBlockNode& InputNode() const { return *node_.get(); }
LayoutUnit BreakOffset() const { return break_offset_; }
+ LayoutUnit UsedBlockSize() const { return used_block_size_; }
+ const HeapVector<Member<NGBreakToken>>& ChildBreakTokens() const {
+ return child_break_tokens_;
+ }
DEFINE_INLINE_VIRTUAL_TRACE() {
+ visitor->trace(child_break_tokens_);
NGBreakToken::trace(visitor);
- visitor->trace(node_);
}
private:
- Member<NGBlockNode> node_;
LayoutUnit break_offset_;
+ LayoutUnit used_block_size_;
+ HeapVector<Member<NGBreakToken>> child_break_tokens_;
};
DEFINE_TYPE_CASTS(NGBlockBreakToken,

Powered by Google App Engine
This is Rietveld 408576698