Commit b8d03518 authored by Yoichi Osato's avatar Yoichi Osato Committed by Commit Bot

[LayoutNG] Move a local function to resolve forward declaration.

This patch moves PositionInGraphicsLayerBacking() after IsVisible().

Bug: 789870
Change-Id: Ia4c7bcd590ea36cfefc97ae3f92eca01142304f8
Reviewed-on: https://chromium-review.googlesource.com/885665Reviewed-by: default avatarYoshifumi Inoue <yosin@chromium.org>
Commit-Queue: Yoshifumi Inoue <yosin@chromium.org>
Cr-Commit-Position: refs/heads/master@{#531824}
parent 88931be9
...@@ -327,34 +327,6 @@ std::pair<LayoutPoint, LayoutPoint> static GetLocalSelectionEndpoints( ...@@ -327,34 +327,6 @@ std::pair<LayoutPoint, LayoutPoint> static GetLocalSelectionEndpoints(
return {edge_top_in_layer, edge_bottom_in_layer}; return {edge_top_in_layer, edge_bottom_in_layer};
} }
// TODO(yoichio): Move the function body here to avoid forward declaration.
static bool IsVisible(bool, const LocalCaretRect&);
static CompositedSelectionBound PositionInGraphicsLayerBacking(
bool selection_start,
const PositionWithAffinity& position) {
const LocalCaretRect& local_caret_rect = LocalCaretRectOfPosition(position);
const LayoutObject* const layout_object = local_caret_rect.layout_object;
if (!layout_object)
return CompositedSelectionBound();
CompositedSelectionBound bound;
// Flipped blocks writing mode is not only vertical but also right to left.
if (!layout_object->Style()->IsHorizontalWritingMode()) {
bound.is_text_direction_rtl = layout_object->HasFlippedBlocksWritingMode();
}
LayoutPoint edge_top_in_layer, edge_bottom_in_layer;
std::tie(edge_top_in_layer, edge_bottom_in_layer) =
GetLocalSelectionEndpoints(selection_start, local_caret_rect);
bound.edge_top_in_layer =
LocalToInvalidationBackingPoint(edge_top_in_layer, *layout_object);
bound.edge_bottom_in_layer =
LocalToInvalidationBackingPoint(edge_bottom_in_layer, *layout_object);
bound.layer = GetGraphicsLayerBacking(*layout_object);
bound.hidden = !IsVisible(selection_start, local_caret_rect);
return bound;
}
static LayoutPoint GetSamplePointForVisibility( static LayoutPoint GetSamplePointForVisibility(
const LayoutPoint& edge_top_in_layer, const LayoutPoint& edge_top_in_layer,
const LayoutPoint& edge_bottom_in_layer) { const LayoutPoint& edge_bottom_in_layer) {
...@@ -404,6 +376,32 @@ static bool IsVisible(bool selection_start, ...@@ -404,6 +376,32 @@ static bool IsVisible(bool selection_start,
return true; return true;
} }
static CompositedSelectionBound PositionInGraphicsLayerBacking(
bool selection_start,
const PositionWithAffinity& position) {
const LocalCaretRect& local_caret_rect = LocalCaretRectOfPosition(position);
const LayoutObject* const layout_object = local_caret_rect.layout_object;
if (!layout_object)
return CompositedSelectionBound();
CompositedSelectionBound bound;
// Flipped blocks writing mode is not only vertical but also right to left.
if (!layout_object->Style()->IsHorizontalWritingMode()) {
bound.is_text_direction_rtl = layout_object->HasFlippedBlocksWritingMode();
}
LayoutPoint edge_top_in_layer, edge_bottom_in_layer;
std::tie(edge_top_in_layer, edge_bottom_in_layer) =
GetLocalSelectionEndpoints(selection_start, local_caret_rect);
bound.edge_top_in_layer =
LocalToInvalidationBackingPoint(edge_top_in_layer, *layout_object);
bound.edge_bottom_in_layer =
LocalToInvalidationBackingPoint(edge_bottom_in_layer, *layout_object);
bound.layer = GetGraphicsLayerBacking(*layout_object);
bound.hidden = !IsVisible(selection_start, local_caret_rect);
return bound;
}
bool LayoutObjectContainsPosition(LayoutObject* target, bool LayoutObjectContainsPosition(LayoutObject* target,
const Position& position) { const Position& position) {
for (LayoutObject* layout_object = LayoutObjectFromPosition(position); for (LayoutObject* layout_object = LayoutObjectFromPosition(position);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment