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

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

Issue 1646603004: Move scroll event handlers from layer to layer tree view. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master_cc_listeners
Patch Set: Rebase against scroll blocks on Created 4 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
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.h" 5 #include "cc/trees/layer_tree_host.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 124 matching lines...) Expand 10 before | Expand all | Expand 10 after
135 painted_device_scale_factor_(1.f), 135 painted_device_scale_factor_(1.f),
136 visible_(false), 136 visible_(false),
137 page_scale_factor_(1.f), 137 page_scale_factor_(1.f),
138 min_page_scale_factor_(1.f), 138 min_page_scale_factor_(1.f),
139 max_page_scale_factor_(1.f), 139 max_page_scale_factor_(1.f),
140 has_gpu_rasterization_trigger_(false), 140 has_gpu_rasterization_trigger_(false),
141 content_is_suitable_for_gpu_rasterization_(true), 141 content_is_suitable_for_gpu_rasterization_(true),
142 gpu_rasterization_histogram_recorded_(false), 142 gpu_rasterization_histogram_recorded_(false),
143 background_color_(SK_ColorWHITE), 143 background_color_(SK_ColorWHITE),
144 has_transparent_background_(false), 144 has_transparent_background_(false),
145 have_scroll_event_handlers_(false),
145 have_wheel_event_handlers_(false), 146 have_wheel_event_handlers_(false),
146 did_complete_scale_animation_(false), 147 did_complete_scale_animation_(false),
147 in_paint_layer_contents_(false), 148 in_paint_layer_contents_(false),
148 id_(s_layer_tree_host_sequence_number.GetNext() + 1), 149 id_(s_layer_tree_host_sequence_number.GetNext() + 1),
149 next_commit_forces_redraw_(false), 150 next_commit_forces_redraw_(false),
150 shared_bitmap_manager_(params->shared_bitmap_manager), 151 shared_bitmap_manager_(params->shared_bitmap_manager),
151 gpu_memory_buffer_manager_(params->gpu_memory_buffer_manager), 152 gpu_memory_buffer_manager_(params->gpu_memory_buffer_manager),
152 task_graph_runner_(params->task_graph_runner), 153 task_graph_runner_(params->task_graph_runner),
153 surface_id_namespace_(0u), 154 surface_id_namespace_(0u),
154 next_surface_sequence_(1u) { 155 next_surface_sequence_(1u) {
(...skipping 160 matching lines...) Expand 10 before | Expand all | Expand 10 after
315 if (hud_layer_.get()) { 316 if (hud_layer_.get()) {
316 LayerImpl* hud_impl = LayerTreeHostCommon::FindLayerInSubtree( 317 LayerImpl* hud_impl = LayerTreeHostCommon::FindLayerInSubtree(
317 sync_tree->root_layer(), hud_layer_->id()); 318 sync_tree->root_layer(), hud_layer_->id());
318 sync_tree->set_hud_layer(static_cast<HeadsUpDisplayLayerImpl*>(hud_impl)); 319 sync_tree->set_hud_layer(static_cast<HeadsUpDisplayLayerImpl*>(hud_impl));
319 } else { 320 } else {
320 sync_tree->set_hud_layer(NULL); 321 sync_tree->set_hud_layer(NULL);
321 } 322 }
322 323
323 sync_tree->set_background_color(background_color_); 324 sync_tree->set_background_color(background_color_);
324 sync_tree->set_has_transparent_background(has_transparent_background_); 325 sync_tree->set_has_transparent_background(has_transparent_background_);
326 sync_tree->set_have_scroll_event_handlers(have_scroll_event_handlers_);
325 sync_tree->set_have_wheel_event_handlers(have_wheel_event_handlers_); 327 sync_tree->set_have_wheel_event_handlers(have_wheel_event_handlers_);
326 328
327 if (page_scale_layer_.get() && inner_viewport_scroll_layer_.get()) { 329 if (page_scale_layer_.get() && inner_viewport_scroll_layer_.get()) {
328 sync_tree->SetViewportLayersFromIds( 330 sync_tree->SetViewportLayersFromIds(
329 overscroll_elasticity_layer_.get() ? overscroll_elasticity_layer_->id() 331 overscroll_elasticity_layer_.get() ? overscroll_elasticity_layer_->id()
330 : Layer::INVALID_ID, 332 : Layer::INVALID_ID,
331 page_scale_layer_->id(), inner_viewport_scroll_layer_->id(), 333 page_scale_layer_->id(), inner_viewport_scroll_layer_->id(),
332 outer_viewport_scroll_layer_.get() ? outer_viewport_scroll_layer_->id() 334 outer_viewport_scroll_layer_.get() ? outer_viewport_scroll_layer_->id()
333 : Layer::INVALID_ID); 335 : Layer::INVALID_ID);
334 DCHECK(inner_viewport_scroll_layer_->IsContainerForFixedPositionLayers()); 336 DCHECK(inner_viewport_scroll_layer_->IsContainerForFixedPositionLayers());
(...skipping 694 matching lines...) Expand 10 before | Expand all | Expand 10 after
1029 } 1031 }
1030 1032
1031 void LayerTreeHost::RegisterSelection(const LayerSelection& selection) { 1033 void LayerTreeHost::RegisterSelection(const LayerSelection& selection) {
1032 if (selection_ == selection) 1034 if (selection_ == selection)
1033 return; 1035 return;
1034 1036
1035 selection_ = selection; 1037 selection_ = selection;
1036 SetNeedsCommit(); 1038 SetNeedsCommit();
1037 } 1039 }
1038 1040
1041 void LayerTreeHost::SetHaveScrollEventHandlers(bool have_event_handlers) {
1042 if (have_scroll_event_handlers_ == have_event_handlers)
1043 return;
1044
1045 have_scroll_event_handlers_ = have_event_handlers;
1046 SetNeedsCommit();
1047 }
1048
1039 void LayerTreeHost::SetHaveWheelEventHandlers(bool have_event_handlers) { 1049 void LayerTreeHost::SetHaveWheelEventHandlers(bool have_event_handlers) {
1040 if (have_wheel_event_handlers_ == have_event_handlers) 1050 if (have_wheel_event_handlers_ == have_event_handlers)
1041 return; 1051 return;
1042 1052
1043 have_wheel_event_handlers_ = have_event_handlers; 1053 have_wheel_event_handlers_ = have_event_handlers;
1044 SetNeedsCommit(); 1054 SetNeedsCommit();
1045 } 1055 }
1046 1056
1047 int LayerTreeHost::ScheduleMicroBenchmark( 1057 int LayerTreeHost::ScheduleMicroBenchmark(
1048 const std::string& benchmark_name, 1058 const std::string& benchmark_name,
(...skipping 302 matching lines...) Expand 10 before | Expand all | Expand 10 after
1351 proto->set_painted_device_scale_factor(painted_device_scale_factor_); 1361 proto->set_painted_device_scale_factor(painted_device_scale_factor_);
1352 proto->set_page_scale_factor(page_scale_factor_); 1362 proto->set_page_scale_factor(page_scale_factor_);
1353 proto->set_min_page_scale_factor(min_page_scale_factor_); 1363 proto->set_min_page_scale_factor(min_page_scale_factor_);
1354 proto->set_max_page_scale_factor(max_page_scale_factor_); 1364 proto->set_max_page_scale_factor(max_page_scale_factor_);
1355 Vector2dFToProto(elastic_overscroll_, proto->mutable_elastic_overscroll()); 1365 Vector2dFToProto(elastic_overscroll_, proto->mutable_elastic_overscroll());
1356 proto->set_has_gpu_rasterization_trigger(has_gpu_rasterization_trigger_); 1366 proto->set_has_gpu_rasterization_trigger(has_gpu_rasterization_trigger_);
1357 proto->set_content_is_suitable_for_gpu_rasterization( 1367 proto->set_content_is_suitable_for_gpu_rasterization(
1358 content_is_suitable_for_gpu_rasterization_); 1368 content_is_suitable_for_gpu_rasterization_);
1359 proto->set_background_color(background_color_); 1369 proto->set_background_color(background_color_);
1360 proto->set_has_transparent_background(has_transparent_background_); 1370 proto->set_has_transparent_background(has_transparent_background_);
1371 proto->set_have_scroll_event_handlers(have_scroll_event_handlers_);
1361 proto->set_have_wheel_event_handlers(have_wheel_event_handlers_); 1372 proto->set_have_wheel_event_handlers(have_wheel_event_handlers_);
1362 proto->set_in_paint_layer_contents(in_paint_layer_contents_); 1373 proto->set_in_paint_layer_contents(in_paint_layer_contents_);
1363 proto->set_id(id_); 1374 proto->set_id(id_);
1364 proto->set_next_commit_forces_redraw(next_commit_forces_redraw_); 1375 proto->set_next_commit_forces_redraw(next_commit_forces_redraw_);
1365 1376
1366 // Viewport layers. 1377 // Viewport layers.
1367 proto->set_overscroll_elasticity_layer_id( 1378 proto->set_overscroll_elasticity_layer_id(
1368 overscroll_elasticity_layer_ ? overscroll_elasticity_layer_->id() 1379 overscroll_elasticity_layer_ ? overscroll_elasticity_layer_->id()
1369 : Layer::INVALID_ID); 1380 : Layer::INVALID_ID);
1370 proto->set_page_scale_layer_id(page_scale_layer_ ? page_scale_layer_->id() 1381 proto->set_page_scale_layer_id(page_scale_layer_ ? page_scale_layer_->id()
(...skipping 45 matching lines...) Expand 10 before | Expand all | Expand 10 after
1416 painted_device_scale_factor_ = proto.painted_device_scale_factor(); 1427 painted_device_scale_factor_ = proto.painted_device_scale_factor();
1417 page_scale_factor_ = proto.page_scale_factor(); 1428 page_scale_factor_ = proto.page_scale_factor();
1418 min_page_scale_factor_ = proto.min_page_scale_factor(); 1429 min_page_scale_factor_ = proto.min_page_scale_factor();
1419 max_page_scale_factor_ = proto.max_page_scale_factor(); 1430 max_page_scale_factor_ = proto.max_page_scale_factor();
1420 elastic_overscroll_ = ProtoToVector2dF(proto.elastic_overscroll()); 1431 elastic_overscroll_ = ProtoToVector2dF(proto.elastic_overscroll());
1421 has_gpu_rasterization_trigger_ = proto.has_gpu_rasterization_trigger(); 1432 has_gpu_rasterization_trigger_ = proto.has_gpu_rasterization_trigger();
1422 content_is_suitable_for_gpu_rasterization_ = 1433 content_is_suitable_for_gpu_rasterization_ =
1423 proto.content_is_suitable_for_gpu_rasterization(); 1434 proto.content_is_suitable_for_gpu_rasterization();
1424 background_color_ = proto.background_color(); 1435 background_color_ = proto.background_color();
1425 has_transparent_background_ = proto.has_transparent_background(); 1436 has_transparent_background_ = proto.has_transparent_background();
1437 have_scroll_event_handlers_ = proto.have_scroll_event_handlers();
1426 have_wheel_event_handlers_ = proto.have_wheel_event_handlers(); 1438 have_wheel_event_handlers_ = proto.have_wheel_event_handlers();
1427 in_paint_layer_contents_ = proto.in_paint_layer_contents(); 1439 in_paint_layer_contents_ = proto.in_paint_layer_contents();
1428 id_ = proto.id(); 1440 id_ = proto.id();
1429 next_commit_forces_redraw_ = proto.next_commit_forces_redraw(); 1441 next_commit_forces_redraw_ = proto.next_commit_forces_redraw();
1430 1442
1431 hud_layer_ = static_cast<HeadsUpDisplayLayer*>( 1443 hud_layer_ = static_cast<HeadsUpDisplayLayer*>(
1432 UpdateAndGetLayer(hud_layer_.get(), proto.hud_layer_id(), layer_id_map_)); 1444 UpdateAndGetLayer(hud_layer_.get(), proto.hud_layer_id(), layer_id_map_));
1433 overscroll_elasticity_layer_ = 1445 overscroll_elasticity_layer_ =
1434 UpdateAndGetLayer(overscroll_elasticity_layer_.get(), 1446 UpdateAndGetLayer(overscroll_elasticity_layer_.get(),
1435 proto.overscroll_elasticity_layer_id(), layer_id_map_); 1447 proto.overscroll_elasticity_layer_id(), layer_id_map_);
(...skipping 21 matching lines...) Expand all
1457 LayerTreeHostCommon::CallFunctionForSubtree( 1469 LayerTreeHostCommon::CallFunctionForSubtree(
1458 root_layer(), [seq_num](Layer* layer) { 1470 root_layer(), [seq_num](Layer* layer) {
1459 layer->set_property_tree_sequence_number(seq_num); 1471 layer->set_property_tree_sequence_number(seq_num);
1460 }); 1472 });
1461 1473
1462 surface_id_namespace_ = proto.surface_id_namespace(); 1474 surface_id_namespace_ = proto.surface_id_namespace();
1463 next_surface_sequence_ = proto.next_surface_sequence(); 1475 next_surface_sequence_ = proto.next_surface_sequence();
1464 } 1476 }
1465 1477
1466 } // namespace cc 1478 } // namespace cc
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698