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

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

Issue 2703823002: Record scroll_layer_id instead of scrollbar_animation_controller pointer (Closed)
Patch Set: rebase Created 3 years, 10 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_impl.h ('k') | cc/trees/layer_tree_host_impl_unittest.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_impl.h" 5 #include "cc/trees/layer_tree_host_impl.h"
6 6
7 #include <stddef.h> 7 #include <stddef.h>
8 #include <stdint.h> 8 #include <stdint.h>
9 9
10 #include <algorithm> 10 #include <algorithm>
(...skipping 204 matching lines...) Expand 10 before | Expand all | Expand 10 after
215 content_is_suitable_for_gpu_rasterization_(true), 215 content_is_suitable_for_gpu_rasterization_(true),
216 has_gpu_rasterization_trigger_(false), 216 has_gpu_rasterization_trigger_(false),
217 use_gpu_rasterization_(false), 217 use_gpu_rasterization_(false),
218 use_msaa_(false), 218 use_msaa_(false),
219 gpu_rasterization_status_(GpuRasterizationStatus::OFF_DEVICE), 219 gpu_rasterization_status_(GpuRasterizationStatus::OFF_DEVICE),
220 input_handler_client_(NULL), 220 input_handler_client_(NULL),
221 did_lock_scrolling_layer_(false), 221 did_lock_scrolling_layer_(false),
222 wheel_scrolling_(false), 222 wheel_scrolling_(false),
223 scroll_affects_scroll_handler_(false), 223 scroll_affects_scroll_handler_(false),
224 scroll_layer_id_mouse_currently_over_(Layer::INVALID_ID), 224 scroll_layer_id_mouse_currently_over_(Layer::INVALID_ID),
225 scroll_layer_id_mouse_currently_captured_(Layer::INVALID_ID),
225 tile_priorities_dirty_(false), 226 tile_priorities_dirty_(false),
226 settings_(settings), 227 settings_(settings),
227 visible_(false), 228 visible_(false),
228 cached_managed_memory_policy_(settings.gpu_memory_policy), 229 cached_managed_memory_policy_(settings.gpu_memory_policy),
229 is_synchronous_single_threaded_(!task_runner_provider->HasImplThread() && 230 is_synchronous_single_threaded_(!task_runner_provider->HasImplThread() &&
230 !settings.single_thread_proxy_scheduler), 231 !settings.single_thread_proxy_scheduler),
231 // Must be initialized after is_synchronous_single_threaded_ and 232 // Must be initialized after is_synchronous_single_threaded_ and
232 // task_runner_provider_. 233 // task_runner_provider_.
233 tile_manager_(this, 234 tile_manager_(this,
234 GetTaskRunner(), 235 GetTaskRunner(),
235 std::move(image_worker_task_runner), 236 std::move(image_worker_task_runner),
236 is_synchronous_single_threaded_ 237 is_synchronous_single_threaded_
237 ? std::numeric_limits<size_t>::max() 238 ? std::numeric_limits<size_t>::max()
238 : settings.scheduled_raster_task_limit, 239 : settings.scheduled_raster_task_limit,
239 settings.ToTileManagerSettings()), 240 settings.ToTileManagerSettings()),
240 pinch_gesture_active_(false), 241 pinch_gesture_active_(false),
241 pinch_gesture_end_should_clear_scrolling_layer_(false), 242 pinch_gesture_end_should_clear_scrolling_layer_(false),
242 fps_counter_( 243 fps_counter_(
243 FrameRateCounter::Create(task_runner_provider_->HasImplThread())), 244 FrameRateCounter::Create(task_runner_provider_->HasImplThread())),
244 memory_history_(MemoryHistory::Create()), 245 memory_history_(MemoryHistory::Create()),
245 debug_rect_history_(DebugRectHistory::Create()), 246 debug_rect_history_(DebugRectHistory::Create()),
246 max_memory_needed_bytes_(0), 247 max_memory_needed_bytes_(0),
247 resourceless_software_draw_(false), 248 resourceless_software_draw_(false),
248 mutator_host_(std::move(mutator_host)), 249 mutator_host_(std::move(mutator_host)),
249 captured_scrollbar_animation_controller_(nullptr),
250 rendering_stats_instrumentation_(rendering_stats_instrumentation), 250 rendering_stats_instrumentation_(rendering_stats_instrumentation),
251 micro_benchmark_controller_(this), 251 micro_benchmark_controller_(this),
252 task_graph_runner_(task_graph_runner), 252 task_graph_runner_(task_graph_runner),
253 id_(id), 253 id_(id),
254 requires_high_res_to_draw_(false), 254 requires_high_res_to_draw_(false),
255 is_likely_to_require_a_draw_(false), 255 is_likely_to_require_a_draw_(false),
256 has_valid_compositor_frame_sink_(false), 256 has_valid_compositor_frame_sink_(false),
257 mutator_(nullptr) { 257 mutator_(nullptr) {
258 DCHECK(mutator_host_); 258 DCHECK(mutator_host_);
259 mutator_host_->SetMutatorHostClient(this); 259 mutator_host_->SetMutatorHostClient(this);
(...skipping 2999 matching lines...) Expand 10 before | Expand all | Expand 10 after
3259 3259
3260 return device_viewport_layer_impl_bounds.ManhattanDistanceToPoint( 3260 return device_viewport_layer_impl_bounds.ManhattanDistanceToPoint(
3261 device_viewport_point); 3261 device_viewport_point);
3262 } 3262 }
3263 3263
3264 void LayerTreeHostImpl::MouseDown() { 3264 void LayerTreeHostImpl::MouseDown() {
3265 ScrollbarAnimationController* animation_controller = 3265 ScrollbarAnimationController* animation_controller =
3266 ScrollbarAnimationControllerForId(scroll_layer_id_mouse_currently_over_); 3266 ScrollbarAnimationControllerForId(scroll_layer_id_mouse_currently_over_);
3267 if (animation_controller) { 3267 if (animation_controller) {
3268 animation_controller->DidMouseDown(); 3268 animation_controller->DidMouseDown();
3269 captured_scrollbar_animation_controller_ = animation_controller; 3269 scroll_layer_id_mouse_currently_captured_ =
3270 scroll_layer_id_mouse_currently_over_;
3270 } 3271 }
3271 } 3272 }
3272 3273
3273 void LayerTreeHostImpl::MouseUp() { 3274 void LayerTreeHostImpl::MouseUp() {
3274 if (captured_scrollbar_animation_controller_) { 3275 if (scroll_layer_id_mouse_currently_captured_ != Layer::INVALID_ID) {
3275 captured_scrollbar_animation_controller_->DidMouseUp(); 3276 ScrollbarAnimationController* animation_controller =
3276 captured_scrollbar_animation_controller_ = nullptr; 3277 ScrollbarAnimationControllerForId(
3278 scroll_layer_id_mouse_currently_captured_);
3279
3280 scroll_layer_id_mouse_currently_captured_ = Layer::INVALID_ID;
3281
3282 if (animation_controller)
3283 animation_controller->DidMouseUp();
3277 } 3284 }
3278 } 3285 }
3279 3286
3280 void LayerTreeHostImpl::MouseMoveAt(const gfx::Point& viewport_point) { 3287 void LayerTreeHostImpl::MouseMoveAt(const gfx::Point& viewport_point) {
3281 gfx::PointF device_viewport_point = gfx::ScalePoint( 3288 gfx::PointF device_viewport_point = gfx::ScalePoint(
3282 gfx::PointF(viewport_point), active_tree_->device_scale_factor()); 3289 gfx::PointF(viewport_point), active_tree_->device_scale_factor());
3283 LayerImpl* layer_impl = 3290 LayerImpl* layer_impl =
3284 active_tree_->FindLayerThatIsHitByPoint(device_viewport_point); 3291 active_tree_->FindLayerThatIsHitByPoint(device_viewport_point);
3285 3292
3286 // Check if mouse is over a scrollbar or not. 3293 // Check if mouse is over a scrollbar or not.
(...skipping 829 matching lines...) Expand 10 before | Expand all | Expand 10 after
4116 worker_context_visibility_ = 4123 worker_context_visibility_ =
4117 worker_context->CacheController()->ClientBecameVisible(); 4124 worker_context->CacheController()->ClientBecameVisible();
4118 } else { 4125 } else {
4119 worker_context->CacheController()->ClientBecameNotVisible( 4126 worker_context->CacheController()->ClientBecameNotVisible(
4120 std::move(worker_context_visibility_)); 4127 std::move(worker_context_visibility_));
4121 } 4128 }
4122 } 4129 }
4123 } 4130 }
4124 4131
4125 } // namespace cc 4132 } // namespace cc
OLDNEW
« no previous file with comments | « cc/trees/layer_tree_host_impl.h ('k') | cc/trees/layer_tree_host_impl_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698