| OLD | NEW |
| 1 // Copyright 2017 The Chromium Authors. All rights reserved. | 1 // Copyright 2017 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 NGInlineNodeData_h | 5 #ifndef NGInlineNodeData_h |
| 6 #define NGInlineNodeData_h | 6 #define NGInlineNodeData_h |
| 7 | 7 |
| 8 #include "core/CoreExport.h" | 8 #include "core/CoreExport.h" |
| 9 #include "core/layout/ng/inline/ng_inline_item.h" | 9 #include "core/layout/ng/inline/ng_inline_item.h" |
| 10 #include "platform/wtf/Vector.h" | 10 #include "platform/wtf/Vector.h" |
| 11 | 11 |
| 12 namespace blink { | 12 namespace blink { |
| 13 | 13 |
| 14 class LayoutBox; | 14 class LayoutBox; |
| 15 | 15 |
| 16 // Data which is required for inline nodes. | 16 // Data which is required for inline nodes. |
| 17 struct CORE_EXPORT NGInlineNodeData { | 17 struct CORE_EXPORT NGInlineNodeData { |
| 18 private: | 18 private: |
| 19 friend class NGInlineNode; | 19 friend class NGInlineNode; |
| 20 friend class NGInlineNodeForTest; | 20 friend class NGInlineNodeForTest; |
| 21 friend class NGTextOffsetMap; |
| 21 | 22 |
| 22 // Text content for all inline items represented by a single NGInlineNode. | 23 // Text content for all inline items represented by a single NGInlineNode. |
| 23 // Encoded either as UTF-16 or latin-1 depending on the content. | 24 // Encoded either as UTF-16 or latin-1 depending on the content. |
| 24 String text_content_; | 25 String text_content_; |
| 25 Vector<NGInlineItem> items_; | 26 Vector<NGInlineItem> items_; |
| 26 | 27 |
| 27 // next_sibling_ is only valid after NGInlineNode::PrepareLayout is called. | 28 // next_sibling_ is only valid after NGInlineNode::PrepareLayout is called. |
| 28 // Calling NGInlineNode::NextSibling will trigger this. | 29 // Calling NGInlineNode::NextSibling will trigger this. |
| 29 LayoutBox* next_sibling_; | 30 LayoutBox* next_sibling_; |
| 30 | 31 |
| 31 // start_inline_ must always be reset within the constructor of NGInlineNode. | 32 // start_inline_ must always be reset within the constructor of NGInlineNode. |
| 32 LayoutObject* start_inline_; | 33 LayoutObject* start_inline_; |
| 33 | 34 |
| 34 // TODO(kojii): This should move to somewhere else when we move PrepareLayout | 35 // TODO(kojii): This should move to somewhere else when we move PrepareLayout |
| 35 // to the correct place. | 36 // to the correct place. |
| 36 bool is_bidi_enabled_ = false; | 37 bool is_bidi_enabled_ = false; |
| 37 }; | 38 }; |
| 38 | 39 |
| 39 } // namespace blink | 40 } // namespace blink |
| 40 | 41 |
| 41 #endif // NGInlineNode_h | 42 #endif // NGInlineNode_h |
| OLD | NEW |