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

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

Issue 2745973002: [LayoutNG] Implement atomic inlines for LayoutNGInline (Closed)
Patch Set: WIP 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 side-by-side diff with in-line comments
Download patch
Index: third_party/WebKit/Source/core/layout/ng/ng_inline_node.h
diff --git a/third_party/WebKit/Source/core/layout/ng/ng_inline_node.h b/third_party/WebKit/Source/core/layout/ng/ng_inline_node.h
index eb61e44a1b60411283825ae0358a5ed33f589430..c19e9df0e847dc2fecb64f78a4913f492696e7c6 100644
--- a/third_party/WebKit/Source/core/layout/ng/ng_inline_node.h
+++ b/third_party/WebKit/Source/core/layout/ng/ng_inline_node.h
@@ -8,6 +8,7 @@
#include "core/CoreExport.h"
#include "core/layout/LayoutBlockFlow.h"
#include "core/layout/ng/ng_layout_input_node.h"
+#include "core/layout/ng/ng_layout_result.h"
#include "platform/fonts/FontFallbackPriority.h"
#include "platform/fonts/shaping/ShapeResult.h"
#include "platform/heap/Handle.h"
@@ -28,7 +29,6 @@ class NGConstraintSpace;
class NGLayoutInlineItem;
class NGLayoutInlineItemRange;
class NGLayoutInlineItemsBuilder;
-class NGLayoutResult;
class NGLineBuilder;
// Represents an anonymous block box to be laid out, that contains consecutive
@@ -85,6 +85,7 @@ class CORE_EXPORT NGInlineNode : public NGLayoutInputNode {
NGLayoutInlineItemsBuilder*);
void SegmentText();
void ShapeText();
+ void LayoutAtomicInlines(const NGConstraintSpace&);
LayoutObject* start_inline_;
LayoutBlockFlow* block_;
@@ -95,9 +96,8 @@ class CORE_EXPORT NGInlineNode : public NGLayoutInputNode {
String text_content_;
Vector<NGLayoutInlineItem> items_;
- // TODO(kojii): This should move to somewhere else when we move PrepareLayout
- // to the correct place.
- bool is_bidi_enabled_ = false;
+ unsigned has_atomic_inlines_ : 1;
+ unsigned is_bidi_enabled_ : 1;
};
// Class representing a single text node or styled inline element with text
@@ -131,6 +131,7 @@ class NGLayoutInlineItem {
UScriptCode Script() const { return script_; }
const ComputedStyle* Style() const { return style_; }
LayoutObject* GetLayoutObject() const { return layout_object_; }
+ const NGLayoutResult* GetLayoutResult() const { return layout_result_.get(); }
void SetEndOffset(unsigned);
@@ -162,6 +163,7 @@ class NGLayoutInlineItem {
const ComputedStyle* style_;
RefPtr<const ShapeResult> shape_result_;
LayoutObject* layout_object_;
+ RefPtr<const NGLayoutResult> layout_result_;
friend class NGInlineNode;
};

Powered by Google App Engine
This is Rietveld 408576698