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

Side by Side Diff: cc/trees/layer_tree_host_common.cc

Issue 139383006: Pass allow_delayed_resize in CompositorFrameMetadata (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Pass allow_delayed_resize in CompositorFrameMetadata Created 6 years, 11 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 unified diff | Download patch
« no previous file with comments | « cc/trees/layer_tree_host_common.h ('k') | cc/trees/layer_tree_host_impl.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2011 The Chromium Authors. All rights reserved. 1 // Copyright 2011 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 #include "cc/trees/layer_tree_host_common.h" 5 #include "cc/trees/layer_tree_host_common.h"
6 6
7 #include <algorithm> 7 #include <algorithm>
8 8
9 #include "base/debug/trace_event.h" 9 #include "base/debug/trace_event.h"
10 #include "cc/base/math_util.h" 10 #include "cc/base/math_util.h"
(...skipping 1110 matching lines...) Expand 10 before | Expand all | Expand 10 after
1121 1121
1122 template <typename LayerType> 1122 template <typename LayerType>
1123 struct SubtreeGlobals { 1123 struct SubtreeGlobals {
1124 LayerSorter* layer_sorter; 1124 LayerSorter* layer_sorter;
1125 int max_texture_size; 1125 int max_texture_size;
1126 float device_scale_factor; 1126 float device_scale_factor;
1127 float page_scale_factor; 1127 float page_scale_factor;
1128 const LayerType* page_scale_application_layer; 1128 const LayerType* page_scale_application_layer;
1129 bool can_adjust_raster_scales; 1129 bool can_adjust_raster_scales;
1130 bool can_render_to_separate_surface; 1130 bool can_render_to_separate_surface;
1131 bool* has_fixed_to_bottom_edge_layer;
1131 }; 1132 };
1132 1133
1133 template<typename LayerType> 1134 template<typename LayerType>
1134 struct DataForRecursion { 1135 struct DataForRecursion {
1135 // The accumulated sequence of transforms a layer will use to determine its 1136 // The accumulated sequence of transforms a layer will use to determine its
1136 // own draw transform. 1137 // own draw transform.
1137 gfx::Transform parent_matrix; 1138 gfx::Transform parent_matrix;
1138 1139
1139 // The accumulated sequence of transforms a layer will use to determine its 1140 // The accumulated sequence of transforms a layer will use to determine its
1140 // own screen-space transform. 1141 // own screen-space transform.
(...skipping 278 matching lines...) Expand 10 before | Expand all | Expand 10 after
1419 // The replica draw transform to the root (screen space) origin is: 1420 // The replica draw transform to the root (screen space) origin is:
1420 // M[replica2root] = M[surface2root] * Tr[replica->position()] * 1421 // M[replica2root] = M[surface2root] * Tr[replica->position()] *
1421 // Tr[replica] * Tr[origin2anchor].inverse() 1422 // Tr[replica] * Tr[origin2anchor].inverse()
1422 // 1423 //
1423 1424
1424 // It makes no sense to have a non-unit page_scale_factor without specifying 1425 // It makes no sense to have a non-unit page_scale_factor without specifying
1425 // which layer roots the subtree the scale is applied to. 1426 // which layer roots the subtree the scale is applied to.
1426 DCHECK(globals.page_scale_application_layer || 1427 DCHECK(globals.page_scale_application_layer ||
1427 (globals.page_scale_factor == 1.f)); 1428 (globals.page_scale_factor == 1.f));
1428 1429
1430 if (globals.has_fixed_to_bottom_edge_layer) {
1431 *globals.has_fixed_to_bottom_edge_layer |=
1432 layer->position_constraint().is_fixed_to_bottom_edge();
1433 }
1434
1429 DataForRecursion<LayerType> data_for_children; 1435 DataForRecursion<LayerType> data_for_children;
1430 typename LayerType::RenderSurfaceType* 1436 typename LayerType::RenderSurfaceType*
1431 nearest_occlusion_immune_ancestor_surface = 1437 nearest_occlusion_immune_ancestor_surface =
1432 data_from_ancestor.nearest_occlusion_immune_ancestor_surface; 1438 data_from_ancestor.nearest_occlusion_immune_ancestor_surface;
1433 data_for_children.in_subtree_of_page_scale_application_layer = 1439 data_for_children.in_subtree_of_page_scale_application_layer =
1434 data_from_ancestor.in_subtree_of_page_scale_application_layer; 1440 data_from_ancestor.in_subtree_of_page_scale_application_layer;
1435 data_for_children.subtree_can_use_lcd_text = 1441 data_for_children.subtree_can_use_lcd_text =
1436 data_from_ancestor.subtree_can_use_lcd_text; 1442 data_from_ancestor.subtree_can_use_lcd_text;
1437 1443
1438 // Layers with a copy request are always visible, as well as un-hiding their 1444 // Layers with a copy request are always visible, as well as un-hiding their
(...skipping 707 matching lines...) Expand 10 before | Expand all | Expand 10 after
2146 2152
2147 SubtreeGlobals<Layer> globals; 2153 SubtreeGlobals<Layer> globals;
2148 globals.layer_sorter = NULL; 2154 globals.layer_sorter = NULL;
2149 globals.max_texture_size = inputs->max_texture_size; 2155 globals.max_texture_size = inputs->max_texture_size;
2150 globals.device_scale_factor = inputs->device_scale_factor; 2156 globals.device_scale_factor = inputs->device_scale_factor;
2151 globals.page_scale_factor = inputs->page_scale_factor; 2157 globals.page_scale_factor = inputs->page_scale_factor;
2152 globals.page_scale_application_layer = inputs->page_scale_application_layer; 2158 globals.page_scale_application_layer = inputs->page_scale_application_layer;
2153 globals.can_render_to_separate_surface = 2159 globals.can_render_to_separate_surface =
2154 inputs->can_render_to_separate_surface; 2160 inputs->can_render_to_separate_surface;
2155 globals.can_adjust_raster_scales = inputs->can_adjust_raster_scales; 2161 globals.can_adjust_raster_scales = inputs->can_adjust_raster_scales;
2162 globals.has_fixed_to_bottom_edge_layer =
2163 inputs->has_fixed_to_bottom_edge_layer;
2164 if (globals.has_fixed_to_bottom_edge_layer)
2165 *globals.has_fixed_to_bottom_edge_layer = false;
2156 2166
2157 DataForRecursion<Layer> data_for_recursion; 2167 DataForRecursion<Layer> data_for_recursion;
2158 data_for_recursion.parent_matrix = scaled_device_transform; 2168 data_for_recursion.parent_matrix = scaled_device_transform;
2159 data_for_recursion.full_hierarchy_matrix = identity_matrix; 2169 data_for_recursion.full_hierarchy_matrix = identity_matrix;
2160 data_for_recursion.scroll_compensation_matrix = identity_matrix; 2170 data_for_recursion.scroll_compensation_matrix = identity_matrix;
2161 data_for_recursion.fixed_container = inputs->root_layer; 2171 data_for_recursion.fixed_container = inputs->root_layer;
2162 data_for_recursion.clip_rect_in_target_space = device_viewport_rect; 2172 data_for_recursion.clip_rect_in_target_space = device_viewport_rect;
2163 data_for_recursion.clip_rect_of_target_surface_in_target_space = 2173 data_for_recursion.clip_rect_of_target_surface_in_target_space =
2164 device_viewport_rect; 2174 device_viewport_rect;
2165 data_for_recursion.ancestor_clips_subtree = true; 2175 data_for_recursion.ancestor_clips_subtree = true;
(...skipping 38 matching lines...) Expand 10 before | Expand all | Expand 10 after
2204 2214
2205 SubtreeGlobals<LayerImpl> globals; 2215 SubtreeGlobals<LayerImpl> globals;
2206 globals.layer_sorter = &layer_sorter; 2216 globals.layer_sorter = &layer_sorter;
2207 globals.max_texture_size = inputs->max_texture_size; 2217 globals.max_texture_size = inputs->max_texture_size;
2208 globals.device_scale_factor = inputs->device_scale_factor; 2218 globals.device_scale_factor = inputs->device_scale_factor;
2209 globals.page_scale_factor = inputs->page_scale_factor; 2219 globals.page_scale_factor = inputs->page_scale_factor;
2210 globals.page_scale_application_layer = inputs->page_scale_application_layer; 2220 globals.page_scale_application_layer = inputs->page_scale_application_layer;
2211 globals.can_render_to_separate_surface = 2221 globals.can_render_to_separate_surface =
2212 inputs->can_render_to_separate_surface; 2222 inputs->can_render_to_separate_surface;
2213 globals.can_adjust_raster_scales = inputs->can_adjust_raster_scales; 2223 globals.can_adjust_raster_scales = inputs->can_adjust_raster_scales;
2224 globals.has_fixed_to_bottom_edge_layer =
2225 inputs->has_fixed_to_bottom_edge_layer;
2226 if (globals.has_fixed_to_bottom_edge_layer)
2227 *globals.has_fixed_to_bottom_edge_layer = false;
2214 2228
2215 DataForRecursion<LayerImpl> data_for_recursion; 2229 DataForRecursion<LayerImpl> data_for_recursion;
2216 data_for_recursion.parent_matrix = scaled_device_transform; 2230 data_for_recursion.parent_matrix = scaled_device_transform;
2217 data_for_recursion.full_hierarchy_matrix = identity_matrix; 2231 data_for_recursion.full_hierarchy_matrix = identity_matrix;
2218 data_for_recursion.scroll_compensation_matrix = identity_matrix; 2232 data_for_recursion.scroll_compensation_matrix = identity_matrix;
2219 data_for_recursion.fixed_container = inputs->root_layer; 2233 data_for_recursion.fixed_container = inputs->root_layer;
2220 data_for_recursion.clip_rect_in_target_space = device_viewport_rect; 2234 data_for_recursion.clip_rect_in_target_space = device_viewport_rect;
2221 data_for_recursion.clip_rect_of_target_surface_in_target_space = 2235 data_for_recursion.clip_rect_of_target_surface_in_target_space =
2222 device_viewport_rect; 2236 device_viewport_rect;
2223 data_for_recursion.ancestor_clips_subtree = true; 2237 data_for_recursion.ancestor_clips_subtree = true;
(...skipping 193 matching lines...) Expand 10 before | Expand all | Expand 10 after
2417 // At this point, we think the point does hit the touch event handler region 2431 // At this point, we think the point does hit the touch event handler region
2418 // on the layer, but we need to walk up the parents to ensure that the layer 2432 // on the layer, but we need to walk up the parents to ensure that the layer
2419 // was not clipped in such a way that the hit point actually should not hit 2433 // was not clipped in such a way that the hit point actually should not hit
2420 // the layer. 2434 // the layer.
2421 if (PointIsClippedBySurfaceOrClipRect(screen_space_point, layer_impl)) 2435 if (PointIsClippedBySurfaceOrClipRect(screen_space_point, layer_impl))
2422 return false; 2436 return false;
2423 2437
2424 return true; 2438 return true;
2425 } 2439 }
2426 } // namespace cc 2440 } // namespace cc
OLDNEW
« no previous file with comments | « cc/trees/layer_tree_host_common.h ('k') | cc/trees/layer_tree_host_impl.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698