summaryrefslogtreecommitdiff
path: root/chromium/third_party/blink/renderer/core/layout/ng/inline/ng_inline_items_builder.h
diff options
context:
space:
mode:
authorAllan Sandfeld Jensen <allan.jensen@qt.io>2018-12-10 16:19:40 +0100
committerAllan Sandfeld Jensen <allan.jensen@qt.io>2018-12-10 16:01:50 +0000
commit51f6c2793adab2d864b3d2b360000ef8db1d3e92 (patch)
tree835b3b4446b012c75e80177cef9fbe6972cc7dbe /chromium/third_party/blink/renderer/core/layout/ng/inline/ng_inline_items_builder.h
parent6036726eb981b6c4b42047513b9d3f4ac865daac (diff)
downloadqtwebengine-chromium-51f6c2793adab2d864b3d2b360000ef8db1d3e92.tar.gz
BASELINE: Update Chromium to 71.0.3578.93
Change-Id: I6a32086c33670e1b033f8b10e6bf1fd4da1d105d Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
Diffstat (limited to 'chromium/third_party/blink/renderer/core/layout/ng/inline/ng_inline_items_builder.h')
-rw-r--r--chromium/third_party/blink/renderer/core/layout/ng/inline/ng_inline_items_builder.h22
1 files changed, 22 insertions, 0 deletions
diff --git a/chromium/third_party/blink/renderer/core/layout/ng/inline/ng_inline_items_builder.h b/chromium/third_party/blink/renderer/core/layout/ng/inline/ng_inline_items_builder.h
index 0d5b52ad314..b72fb3970ff 100644
--- a/chromium/third_party/blink/renderer/core/layout/ng/inline/ng_inline_items_builder.h
+++ b/chromium/third_party/blink/renderer/core/layout/ng/inline/ng_inline_items_builder.h
@@ -8,6 +8,7 @@
#include "third_party/blink/renderer/core/core_export.h"
#include "third_party/blink/renderer/core/layout/ng/inline/empty_offset_mapping_builder.h"
#include "third_party/blink/renderer/core/layout/ng/inline/ng_inline_item.h"
+#include "third_party/blink/renderer/core/layout/ng/inline/ng_line_height_metrics.h"
#include "third_party/blink/renderer/core/layout/ng/inline/ng_offset_mapping_builder.h"
#include "third_party/blink/renderer/platform/wtf/allocator.h"
#include "third_party/blink/renderer/platform/wtf/text/string_builder.h"
@@ -119,6 +120,19 @@ class NGInlineItemsBuilderTemplate {
// white space is collapsed.
OffsetMappingBuilder mapping_builder_;
+ // Keep track of inline boxes to compute ShouldCreateBoxFragment.
+ struct BoxInfo {
+ unsigned item_index;
+ bool should_create_box_fragment;
+ const ComputedStyle& style;
+ NGLineHeightMetrics text_metrics;
+
+ BoxInfo(unsigned item_index, const NGInlineItem& item);
+ bool ShouldCreateBoxFragmentForChild(const BoxInfo& child) const;
+ void SetShouldCreateBoxFragment(Vector<NGInlineItem>* items);
+ };
+ Vector<BoxInfo> boxes_;
+
struct BidiContext {
LayoutObject* node;
UChar enter;
@@ -157,6 +171,14 @@ class NGInlineItemsBuilderTemplate {
void RestoreTrailingCollapsibleSpaceIfRemoved();
void RestoreTrailingCollapsibleSpace(NGInlineItem*);
+ void AppendTextItem(const String&,
+ unsigned start,
+ unsigned end,
+ const ComputedStyle* style,
+ LayoutText* layout_object);
+
+ void AppendGeneratedBreakOpportunity(const ComputedStyle*, LayoutObject*);
+
void Exit(LayoutObject*);
};