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

Side by Side Diff: third_party/WebKit/Source/core/layout/ng/ng_inline_node.h

Issue 2714803002: [LayoutNG] Allow block-flow layout to be fragmented using new approach. (Closed)
Patch Set: rebase. Created 3 years, 9 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 unified diff | Download patch
OLDNEW
1 // Copyright 2016 The Chromium Authors. All rights reserved. 1 // Copyright 2016 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #ifndef NGInlineNode_h 5 #ifndef NGInlineNode_h
6 #define NGInlineNode_h 6 #define NGInlineNode_h
7 7
8 #include "core/CoreExport.h" 8 #include "core/CoreExport.h"
9 #include "core/layout/ng/ng_layout_input_node.h" 9 #include "core/layout/ng/ng_layout_input_node.h"
10 #include "platform/fonts/FontFallbackPriority.h" 10 #include "platform/fonts/FontFallbackPriority.h"
(...skipping 19 matching lines...) Expand all
30 class NGLineBuilder; 30 class NGLineBuilder;
31 31
32 // Represents an inline node to be laid out. 32 // Represents an inline node to be laid out.
33 class CORE_EXPORT NGInlineNode : public NGLayoutInputNode { 33 class CORE_EXPORT NGInlineNode : public NGLayoutInputNode {
34 public: 34 public:
35 NGInlineNode(LayoutObject* start_inline, const ComputedStyle* block_style); 35 NGInlineNode(LayoutObject* start_inline, const ComputedStyle* block_style);
36 ~NGInlineNode() override; 36 ~NGInlineNode() override;
37 37
38 const ComputedStyle* BlockStyle() const { return block_style_.get(); } 38 const ComputedStyle* BlockStyle() const { return block_style_.get(); }
39 39
40 RefPtr<NGLayoutResult> Layout(NGConstraintSpace*) override; 40 RefPtr<NGLayoutResult> Layout(NGConstraintSpace*, NGBreakToken*) override;
41 void LayoutInline(NGConstraintSpace*, NGLineBuilder*); 41 void LayoutInline(NGConstraintSpace*, NGLineBuilder*);
42 NGInlineNode* NextSibling() override; 42 NGInlineNode* NextSibling() override;
43 LayoutObject* GetLayoutObject() override; 43 LayoutObject* GetLayoutObject() override;
44 44
45 // Prepare inline and text content for layout. Must be called before 45 // Prepare inline and text content for layout. Must be called before
46 // calling the Layout method. 46 // calling the Layout method.
47 void PrepareLayout(); 47 void PrepareLayout();
48 48
49 const String& Text() const { return text_content_; } 49 const String& Text() const { return text_content_; }
50 String Text(unsigned start_offset, unsigned end_offset) const { 50 String Text(unsigned start_offset, unsigned end_offset) const {
(...skipping 161 matching lines...) Expand 10 before | Expand all | Expand 10 after
212 212
213 private: 213 private:
214 NGLayoutInlineItem* start_item_; 214 NGLayoutInlineItem* start_item_;
215 unsigned size_; 215 unsigned size_;
216 unsigned start_index_; 216 unsigned start_index_;
217 }; 217 };
218 218
219 } // namespace blink 219 } // namespace blink
220 220
221 #endif // NGInlineNode_h 221 #endif // NGInlineNode_h
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698