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

Unified Diff: cc/trees/layer_tree_impl.cc

Issue 2030033003: Replace cc::ViewportSelectionBound with gfx::SelectionBound (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Use gfx::SelectionBound Created 4 years, 6 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: cc/trees/layer_tree_impl.cc
diff --git a/cc/trees/layer_tree_impl.cc b/cc/trees/layer_tree_impl.cc
index 348d1b4d838673d34bbe3524a046fbaf15b767b8..744fa4c36f591138eb4a8767aac0b57322177dd0 100644
--- a/cc/trees/layer_tree_impl.cc
+++ b/cc/trees/layer_tree_impl.cc
@@ -839,7 +839,8 @@ bool LayerTreeImpl::UpdateDrawProperties(bool update_lcd_text) {
"cc", "LayerTreeImpl::UpdateDrawProperties::CalculateDrawProperties",
"IsActive", IsActiveTree(), "SourceFrameNumber", source_frame_number_);
bool can_render_to_separate_surface =
- (!is_in_resourceless_software_draw_mode());
+ (layer_tree_host_impl_->GetDrawMode() !=
+ DRAW_MODE_RESOURCELESS_SOFTWARE);
LayerTreeHostCommon::CalcDrawPropsImplInputs inputs(
root_layer(), DrawViewportSize(),
@@ -951,7 +952,7 @@ bool LayerTreeImpl::UpdateDrawProperties(bool update_lcd_text) {
// Resourceless draw do not need tiles and should not affect existing tile
// priorities.
- if (!is_in_resourceless_software_draw_mode()) {
+ if (layer_tree_host_impl_->GetDrawMode() != DRAW_MODE_RESOURCELESS_SOFTWARE) {
TRACE_EVENT_BEGIN2("cc", "LayerTreeImpl::UpdateDrawProperties::UpdateTiles",
"IsActive", IsActiveTree(), "SourceFrameNumber",
source_frame_number_);
@@ -1620,12 +1621,9 @@ static bool PointIsClippedByAncestorClipNode(
const LayerImpl* target_layer =
layer->layer_tree_impl()->LayerById(transform_node->owner_id);
- DCHECK(transform_node->id == 0 || target_layer->render_surface() ||
- layer->layer_tree_impl()->is_in_resourceless_software_draw_mode());
+ DCHECK(transform_node->id == 0 || target_layer->render_surface());
gfx::Transform surface_screen_space_transform =
- transform_node->id == 0 ||
- (layer->layer_tree_impl()
- ->is_in_resourceless_software_draw_mode())
+ transform_node->id == 0
? gfx::Transform()
: SurfaceScreenSpaceTransform(target_layer, transform_tree);
if (!PointHitsRect(screen_space_point, surface_screen_space_transform,
@@ -1830,14 +1828,15 @@ void LayerTreeImpl::RegisterSelection(const LayerSelection& selection) {
selection_ = selection;
}
-static ViewportSelectionBound ComputeViewportSelectionBound(
+static gfx::SelectionBound ComputeViewportSelectionBound(
const LayerSelectionBound& layer_bound,
LayerImpl* layer,
float device_scale_factor,
const TransformTree& transform_tree,
const ClipTree& clip_tree) {
- ViewportSelectionBound viewport_bound;
- viewport_bound.type = layer_bound.type;
+ gfx::SelectionBound viewport_bound;
+ viewport_bound.set_type(
+ static_cast<gfx::SelectionBound::Type>(layer_bound.type));
if (!layer || layer_bound.type == SELECTION_BOUND_EMPTY)
return viewport_bound;
@@ -1853,16 +1852,16 @@ static ViewportSelectionBound ComputeViewportSelectionBound(
MathUtil::MapPoint(screen_space_transform, layer_bottom, &clipped);
// MapPoint can produce points with NaN components (even when no inputs are
- // NaN). Since consumers of ViewportSelectionBounds may round |edge_top| or
+ // NaN). Since consumers of gfx::SelectionBounds may round |edge_top| or
// |edge_bottom| (and since rounding will crash on NaN), we return an empty
// bound instead.
if (std::isnan(screen_top.x()) || std::isnan(screen_top.y()) ||
std::isnan(screen_bottom.x()) || std::isnan(screen_bottom.y()))
- return ViewportSelectionBound();
+ return gfx::SelectionBound();
const float inv_scale = 1.f / device_scale_factor;
- viewport_bound.edge_top = gfx::ScalePoint(screen_top, inv_scale);
- viewport_bound.edge_bottom = gfx::ScalePoint(screen_bottom, inv_scale);
+ viewport_bound.SetEdgeTop(gfx::ScalePoint(screen_top, inv_scale));
+ viewport_bound.SetEdgeBottom(gfx::ScalePoint(screen_bottom, inv_scale));
// The bottom edge point is used for visibility testing as it is the logical
// focal point for bound selection handles (this may change in the future).
@@ -1878,13 +1877,14 @@ static ViewportSelectionBound ComputeViewportSelectionBound(
MathUtil::MapPoint(screen_space_transform, visibility_point, &clipped);
float intersect_distance = 0.f;
- viewport_bound.visible = PointHitsLayer(
- layer, visibility_point, &intersect_distance, transform_tree, clip_tree);
+ viewport_bound.set_visible(PointHitsLayer(
+ layer, visibility_point, &intersect_distance, transform_tree, clip_tree));
return viewport_bound;
}
-void LayerTreeImpl::GetViewportSelection(ViewportSelection* selection) {
+void LayerTreeImpl::GetViewportSelection(
+ Selection<gfx::SelectionBound>* selection) {
DCHECK(selection);
selection->start = ComputeViewportSelectionBound(
@@ -1894,8 +1894,8 @@ void LayerTreeImpl::GetViewportSelection(ViewportSelection* selection) {
property_trees_.clip_tree);
selection->is_editable = selection_.is_editable;
selection->is_empty_text_form_control = selection_.is_empty_text_form_control;
- if (selection->start.type == SELECTION_BOUND_CENTER ||
- selection->start.type == SELECTION_BOUND_EMPTY) {
+ if (selection->start.type() == gfx::SelectionBound::CENTER ||
+ selection->start.type() == gfx::SelectionBound::EMPTY) {
selection->end = selection->start;
} else {
selection->end = ComputeViewportSelectionBound(

Powered by Google App Engine
This is Rietveld 408576698