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

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 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
« no previous file with comments | « cc/trees/layer_tree_host.h ('k') | cc/trees/layer_tree_host_impl.h » ('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.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 165 matching lines...) Expand 10 before | Expand all | Expand 10 after
176 painted_device_scale_factor_(1.f), 176 painted_device_scale_factor_(1.f),
177 visible_(false), 177 visible_(false),
178 page_scale_factor_(1.f), 178 page_scale_factor_(1.f),
179 min_page_scale_factor_(1.f), 179 min_page_scale_factor_(1.f),
180 max_page_scale_factor_(1.f), 180 max_page_scale_factor_(1.f),
181 has_gpu_rasterization_trigger_(false), 181 has_gpu_rasterization_trigger_(false),
182 content_is_suitable_for_gpu_rasterization_(true), 182 content_is_suitable_for_gpu_rasterization_(true),
183 gpu_rasterization_histogram_recorded_(false), 183 gpu_rasterization_histogram_recorded_(false),
184 background_color_(SK_ColorWHITE), 184 background_color_(SK_ColorWHITE),
185 has_transparent_background_(false), 185 has_transparent_background_(false),
186 have_scroll_event_handlers_(false),
186 have_wheel_event_handlers_(false), 187 have_wheel_event_handlers_(false),
187 did_complete_scale_animation_(false), 188 did_complete_scale_animation_(false),
188 in_paint_layer_contents_(false), 189 in_paint_layer_contents_(false),
189 id_(s_layer_tree_host_sequence_number.GetNext() + 1), 190 id_(s_layer_tree_host_sequence_number.GetNext() + 1),
190 next_commit_forces_redraw_(false), 191 next_commit_forces_redraw_(false),
191 shared_bitmap_manager_(params->shared_bitmap_manager), 192 shared_bitmap_manager_(params->shared_bitmap_manager),
192 gpu_memory_buffer_manager_(params->gpu_memory_buffer_manager), 193 gpu_memory_buffer_manager_(params->gpu_memory_buffer_manager),
193 task_graph_runner_(params->task_graph_runner), 194 task_graph_runner_(params->task_graph_runner),
194 surface_id_namespace_(0u), 195 surface_id_namespace_(0u),
195 next_surface_sequence_(1u) { 196 next_surface_sequence_(1u) {
(...skipping 196 matching lines...) Expand 10 before | Expand all | Expand 10 after
392 if (hud_layer_.get()) { 393 if (hud_layer_.get()) {
393 LayerImpl* hud_impl = LayerTreeHostCommon::FindLayerInSubtree( 394 LayerImpl* hud_impl = LayerTreeHostCommon::FindLayerInSubtree(
394 sync_tree->root_layer(), hud_layer_->id()); 395 sync_tree->root_layer(), hud_layer_->id());
395 sync_tree->set_hud_layer(static_cast<HeadsUpDisplayLayerImpl*>(hud_impl)); 396 sync_tree->set_hud_layer(static_cast<HeadsUpDisplayLayerImpl*>(hud_impl));
396 } else { 397 } else {
397 sync_tree->set_hud_layer(NULL); 398 sync_tree->set_hud_layer(NULL);
398 } 399 }
399 400
400 sync_tree->set_background_color(background_color_); 401 sync_tree->set_background_color(background_color_);
401 sync_tree->set_has_transparent_background(has_transparent_background_); 402 sync_tree->set_has_transparent_background(has_transparent_background_);
403 sync_tree->set_have_scroll_event_handlers(have_scroll_event_handlers_);
402 sync_tree->set_have_wheel_event_handlers(have_wheel_event_handlers_); 404 sync_tree->set_have_wheel_event_handlers(have_wheel_event_handlers_);
403 405
404 if (page_scale_layer_.get() && inner_viewport_scroll_layer_.get()) { 406 if (page_scale_layer_.get() && inner_viewport_scroll_layer_.get()) {
405 sync_tree->SetViewportLayersFromIds( 407 sync_tree->SetViewportLayersFromIds(
406 overscroll_elasticity_layer_.get() ? overscroll_elasticity_layer_->id() 408 overscroll_elasticity_layer_.get() ? overscroll_elasticity_layer_->id()
407 : Layer::INVALID_ID, 409 : Layer::INVALID_ID,
408 page_scale_layer_->id(), inner_viewport_scroll_layer_->id(), 410 page_scale_layer_->id(), inner_viewport_scroll_layer_->id(),
409 outer_viewport_scroll_layer_.get() ? outer_viewport_scroll_layer_->id() 411 outer_viewport_scroll_layer_.get() ? outer_viewport_scroll_layer_->id()
410 : Layer::INVALID_ID); 412 : Layer::INVALID_ID);
411 DCHECK(inner_viewport_scroll_layer_->IsContainerForFixedPositionLayers()); 413 DCHECK(inner_viewport_scroll_layer_->IsContainerForFixedPositionLayers());
(...skipping 695 matching lines...) Expand 10 before | Expand all | Expand 10 after
1107 } 1109 }
1108 1110
1109 void LayerTreeHost::RegisterSelection(const LayerSelection& selection) { 1111 void LayerTreeHost::RegisterSelection(const LayerSelection& selection) {
1110 if (selection_ == selection) 1112 if (selection_ == selection)
1111 return; 1113 return;
1112 1114
1113 selection_ = selection; 1115 selection_ = selection;
1114 SetNeedsCommit(); 1116 SetNeedsCommit();
1115 } 1117 }
1116 1118
1119 void LayerTreeHost::SetHaveScrollEventHandlers(bool have_event_handlers) {
1120 if (have_scroll_event_handlers_ == have_event_handlers)
1121 return;
1122
1123 have_scroll_event_handlers_ = have_event_handlers;
1124 SetNeedsCommit();
1125 }
1126
1117 void LayerTreeHost::SetHaveWheelEventHandlers(bool have_event_handlers) { 1127 void LayerTreeHost::SetHaveWheelEventHandlers(bool have_event_handlers) {
1118 if (have_wheel_event_handlers_ == have_event_handlers) 1128 if (have_wheel_event_handlers_ == have_event_handlers)
1119 return; 1129 return;
1120 1130
1121 have_wheel_event_handlers_ = have_event_handlers; 1131 have_wheel_event_handlers_ = have_event_handlers;
1122 SetNeedsCommit(); 1132 SetNeedsCommit();
1123 } 1133 }
1124 1134
1125 int LayerTreeHost::ScheduleMicroBenchmark( 1135 int LayerTreeHost::ScheduleMicroBenchmark(
1126 const std::string& benchmark_name, 1136 const std::string& benchmark_name,
(...skipping 313 matching lines...) Expand 10 before | Expand all | Expand 10 after
1440 proto->set_painted_device_scale_factor(painted_device_scale_factor_); 1450 proto->set_painted_device_scale_factor(painted_device_scale_factor_);
1441 proto->set_page_scale_factor(page_scale_factor_); 1451 proto->set_page_scale_factor(page_scale_factor_);
1442 proto->set_min_page_scale_factor(min_page_scale_factor_); 1452 proto->set_min_page_scale_factor(min_page_scale_factor_);
1443 proto->set_max_page_scale_factor(max_page_scale_factor_); 1453 proto->set_max_page_scale_factor(max_page_scale_factor_);
1444 Vector2dFToProto(elastic_overscroll_, proto->mutable_elastic_overscroll()); 1454 Vector2dFToProto(elastic_overscroll_, proto->mutable_elastic_overscroll());
1445 proto->set_has_gpu_rasterization_trigger(has_gpu_rasterization_trigger_); 1455 proto->set_has_gpu_rasterization_trigger(has_gpu_rasterization_trigger_);
1446 proto->set_content_is_suitable_for_gpu_rasterization( 1456 proto->set_content_is_suitable_for_gpu_rasterization(
1447 content_is_suitable_for_gpu_rasterization_); 1457 content_is_suitable_for_gpu_rasterization_);
1448 proto->set_background_color(background_color_); 1458 proto->set_background_color(background_color_);
1449 proto->set_has_transparent_background(has_transparent_background_); 1459 proto->set_has_transparent_background(has_transparent_background_);
1460 proto->set_have_scroll_event_handlers(have_scroll_event_handlers_);
1450 proto->set_have_wheel_event_handlers(have_wheel_event_handlers_); 1461 proto->set_have_wheel_event_handlers(have_wheel_event_handlers_);
1451 proto->set_in_paint_layer_contents(in_paint_layer_contents_); 1462 proto->set_in_paint_layer_contents(in_paint_layer_contents_);
1452 proto->set_id(id_); 1463 proto->set_id(id_);
1453 proto->set_next_commit_forces_redraw(next_commit_forces_redraw_); 1464 proto->set_next_commit_forces_redraw(next_commit_forces_redraw_);
1454 1465
1455 // Viewport layers. 1466 // Viewport layers.
1456 proto->set_overscroll_elasticity_layer_id( 1467 proto->set_overscroll_elasticity_layer_id(
1457 overscroll_elasticity_layer_ ? overscroll_elasticity_layer_->id() 1468 overscroll_elasticity_layer_ ? overscroll_elasticity_layer_->id()
1458 : Layer::INVALID_ID); 1469 : Layer::INVALID_ID);
1459 proto->set_page_scale_layer_id(page_scale_layer_ ? page_scale_layer_->id() 1470 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
1505 painted_device_scale_factor_ = proto.painted_device_scale_factor(); 1516 painted_device_scale_factor_ = proto.painted_device_scale_factor();
1506 page_scale_factor_ = proto.page_scale_factor(); 1517 page_scale_factor_ = proto.page_scale_factor();
1507 min_page_scale_factor_ = proto.min_page_scale_factor(); 1518 min_page_scale_factor_ = proto.min_page_scale_factor();
1508 max_page_scale_factor_ = proto.max_page_scale_factor(); 1519 max_page_scale_factor_ = proto.max_page_scale_factor();
1509 elastic_overscroll_ = ProtoToVector2dF(proto.elastic_overscroll()); 1520 elastic_overscroll_ = ProtoToVector2dF(proto.elastic_overscroll());
1510 has_gpu_rasterization_trigger_ = proto.has_gpu_rasterization_trigger(); 1521 has_gpu_rasterization_trigger_ = proto.has_gpu_rasterization_trigger();
1511 content_is_suitable_for_gpu_rasterization_ = 1522 content_is_suitable_for_gpu_rasterization_ =
1512 proto.content_is_suitable_for_gpu_rasterization(); 1523 proto.content_is_suitable_for_gpu_rasterization();
1513 background_color_ = proto.background_color(); 1524 background_color_ = proto.background_color();
1514 has_transparent_background_ = proto.has_transparent_background(); 1525 has_transparent_background_ = proto.has_transparent_background();
1526 have_scroll_event_handlers_ = proto.have_scroll_event_handlers();
1515 have_wheel_event_handlers_ = proto.have_wheel_event_handlers(); 1527 have_wheel_event_handlers_ = proto.have_wheel_event_handlers();
1516 in_paint_layer_contents_ = proto.in_paint_layer_contents(); 1528 in_paint_layer_contents_ = proto.in_paint_layer_contents();
1517 id_ = proto.id(); 1529 id_ = proto.id();
1518 next_commit_forces_redraw_ = proto.next_commit_forces_redraw(); 1530 next_commit_forces_redraw_ = proto.next_commit_forces_redraw();
1519 1531
1520 hud_layer_ = static_cast<HeadsUpDisplayLayer*>( 1532 hud_layer_ = static_cast<HeadsUpDisplayLayer*>(
1521 UpdateAndGetLayer(hud_layer_.get(), proto.hud_layer_id(), layer_id_map_)); 1533 UpdateAndGetLayer(hud_layer_.get(), proto.hud_layer_id(), layer_id_map_));
1522 overscroll_elasticity_layer_ = 1534 overscroll_elasticity_layer_ =
1523 UpdateAndGetLayer(overscroll_elasticity_layer_.get(), 1535 UpdateAndGetLayer(overscroll_elasticity_layer_.get(),
1524 proto.overscroll_elasticity_layer_id(), layer_id_map_); 1536 proto.overscroll_elasticity_layer_id(), layer_id_map_);
(...skipping 21 matching lines...) Expand all
1546 LayerTreeHostCommon::CallFunctionForSubtree( 1558 LayerTreeHostCommon::CallFunctionForSubtree(
1547 root_layer(), [seq_num](Layer* layer) { 1559 root_layer(), [seq_num](Layer* layer) {
1548 layer->set_property_tree_sequence_number(seq_num); 1560 layer->set_property_tree_sequence_number(seq_num);
1549 }); 1561 });
1550 1562
1551 surface_id_namespace_ = proto.surface_id_namespace(); 1563 surface_id_namespace_ = proto.surface_id_namespace();
1552 next_surface_sequence_ = proto.next_surface_sequence(); 1564 next_surface_sequence_ = proto.next_surface_sequence();
1553 } 1565 }
1554 1566
1555 } // namespace cc 1567 } // namespace cc
OLDNEW
« no previous file with comments | « cc/trees/layer_tree_host.h ('k') | cc/trees/layer_tree_host_impl.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698