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

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

Issue 1895303007: Non passive touch end or touch cancel listeners should not block scroll. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@2704
Patch Set: Created 4 years, 8 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/proto/layer_tree_host.proto ('k') | cc/trees/layer_tree_host_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.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 423 matching lines...) Expand 10 before | Expand all | Expand 10 after
434 LayerImpl* hud_impl = sync_tree->LayerById(hud_layer_->id()); 434 LayerImpl* hud_impl = sync_tree->LayerById(hud_layer_->id());
435 sync_tree->set_hud_layer(static_cast<HeadsUpDisplayLayerImpl*>(hud_impl)); 435 sync_tree->set_hud_layer(static_cast<HeadsUpDisplayLayerImpl*>(hud_impl));
436 } else { 436 } else {
437 sync_tree->set_hud_layer(NULL); 437 sync_tree->set_hud_layer(NULL);
438 } 438 }
439 439
440 sync_tree->set_background_color(background_color_); 440 sync_tree->set_background_color(background_color_);
441 sync_tree->set_has_transparent_background(has_transparent_background_); 441 sync_tree->set_has_transparent_background(has_transparent_background_);
442 sync_tree->set_have_scroll_event_handlers(have_scroll_event_handlers_); 442 sync_tree->set_have_scroll_event_handlers(have_scroll_event_handlers_);
443 sync_tree->set_event_listener_properties( 443 sync_tree->set_event_listener_properties(
444 EventListenerClass::kTouch, 444 EventListenerClass::kTouchStartOrMove,
445 event_listener_properties(EventListenerClass::kTouch)); 445 event_listener_properties(EventListenerClass::kTouchStartOrMove));
446 sync_tree->set_event_listener_properties( 446 sync_tree->set_event_listener_properties(
447 EventListenerClass::kMouseWheel, 447 EventListenerClass::kMouseWheel,
448 event_listener_properties(EventListenerClass::kMouseWheel)); 448 event_listener_properties(EventListenerClass::kMouseWheel));
449 sync_tree->set_event_listener_properties(
450 EventListenerClass::kTouchEndOrCancel,
451 event_listener_properties(EventListenerClass::kTouchEndOrCancel));
449 452
450 if (page_scale_layer_.get() && inner_viewport_scroll_layer_.get()) { 453 if (page_scale_layer_.get() && inner_viewport_scroll_layer_.get()) {
451 sync_tree->SetViewportLayersFromIds( 454 sync_tree->SetViewportLayersFromIds(
452 overscroll_elasticity_layer_.get() ? overscroll_elasticity_layer_->id() 455 overscroll_elasticity_layer_.get() ? overscroll_elasticity_layer_->id()
453 : Layer::INVALID_ID, 456 : Layer::INVALID_ID,
454 page_scale_layer_->id(), inner_viewport_scroll_layer_->id(), 457 page_scale_layer_->id(), inner_viewport_scroll_layer_->id(),
455 outer_viewport_scroll_layer_.get() ? outer_viewport_scroll_layer_->id() 458 outer_viewport_scroll_layer_.get() ? outer_viewport_scroll_layer_->id()
456 : Layer::INVALID_ID); 459 : Layer::INVALID_ID);
457 DCHECK(inner_viewport_scroll_layer_->IsContainerForFixedPositionLayers()); 460 DCHECK(inner_viewport_scroll_layer_->IsContainerForFixedPositionLayers());
458 } else { 461 } else {
(...skipping 1061 matching lines...) Expand 10 before | Expand all | Expand 10 after
1520 proto->set_max_page_scale_factor(max_page_scale_factor_); 1523 proto->set_max_page_scale_factor(max_page_scale_factor_);
1521 Vector2dFToProto(elastic_overscroll_, proto->mutable_elastic_overscroll()); 1524 Vector2dFToProto(elastic_overscroll_, proto->mutable_elastic_overscroll());
1522 proto->set_has_gpu_rasterization_trigger(has_gpu_rasterization_trigger_); 1525 proto->set_has_gpu_rasterization_trigger(has_gpu_rasterization_trigger_);
1523 proto->set_content_is_suitable_for_gpu_rasterization( 1526 proto->set_content_is_suitable_for_gpu_rasterization(
1524 content_is_suitable_for_gpu_rasterization_); 1527 content_is_suitable_for_gpu_rasterization_);
1525 proto->set_background_color(background_color_); 1528 proto->set_background_color(background_color_);
1526 proto->set_has_transparent_background(has_transparent_background_); 1529 proto->set_has_transparent_background(has_transparent_background_);
1527 proto->set_have_scroll_event_handlers(have_scroll_event_handlers_); 1530 proto->set_have_scroll_event_handlers(have_scroll_event_handlers_);
1528 proto->set_wheel_event_listener_properties(static_cast<uint32_t>( 1531 proto->set_wheel_event_listener_properties(static_cast<uint32_t>(
1529 event_listener_properties(EventListenerClass::kMouseWheel))); 1532 event_listener_properties(EventListenerClass::kMouseWheel)));
1530 proto->set_touch_event_listener_properties(static_cast<uint32_t>( 1533 proto->set_touch_start_or_move_event_listener_properties(
1531 event_listener_properties(EventListenerClass::kTouch))); 1534 static_cast<uint32_t>(
1535 event_listener_properties(EventListenerClass::kTouchStartOrMove)));
1536 proto->set_touch_end_or_cancel_event_listener_properties(
1537 static_cast<uint32_t>(
1538 event_listener_properties(EventListenerClass::kTouchEndOrCancel)));
1532 proto->set_in_paint_layer_contents(in_paint_layer_contents_); 1539 proto->set_in_paint_layer_contents(in_paint_layer_contents_);
1533 proto->set_id(id_); 1540 proto->set_id(id_);
1534 proto->set_next_commit_forces_redraw(next_commit_forces_redraw_); 1541 proto->set_next_commit_forces_redraw(next_commit_forces_redraw_);
1535 1542
1536 // Viewport layers. 1543 // Viewport layers.
1537 proto->set_overscroll_elasticity_layer_id( 1544 proto->set_overscroll_elasticity_layer_id(
1538 overscroll_elasticity_layer_ ? overscroll_elasticity_layer_->id() 1545 overscroll_elasticity_layer_ ? overscroll_elasticity_layer_->id()
1539 : Layer::INVALID_ID); 1546 : Layer::INVALID_ID);
1540 proto->set_page_scale_layer_id(page_scale_layer_ ? page_scale_layer_->id() 1547 proto->set_page_scale_layer_id(page_scale_layer_ ? page_scale_layer_->id()
1541 : Layer::INVALID_ID); 1548 : Layer::INVALID_ID);
(...skipping 48 matching lines...) Expand 10 before | Expand all | Expand 10 after
1590 has_gpu_rasterization_trigger_ = proto.has_gpu_rasterization_trigger(); 1597 has_gpu_rasterization_trigger_ = proto.has_gpu_rasterization_trigger();
1591 content_is_suitable_for_gpu_rasterization_ = 1598 content_is_suitable_for_gpu_rasterization_ =
1592 proto.content_is_suitable_for_gpu_rasterization(); 1599 proto.content_is_suitable_for_gpu_rasterization();
1593 background_color_ = proto.background_color(); 1600 background_color_ = proto.background_color();
1594 has_transparent_background_ = proto.has_transparent_background(); 1601 has_transparent_background_ = proto.has_transparent_background();
1595 have_scroll_event_handlers_ = proto.have_scroll_event_handlers(); 1602 have_scroll_event_handlers_ = proto.have_scroll_event_handlers();
1596 event_listener_properties_[static_cast<size_t>( 1603 event_listener_properties_[static_cast<size_t>(
1597 EventListenerClass::kMouseWheel)] = 1604 EventListenerClass::kMouseWheel)] =
1598 static_cast<EventListenerProperties>( 1605 static_cast<EventListenerProperties>(
1599 proto.wheel_event_listener_properties()); 1606 proto.wheel_event_listener_properties());
1600 event_listener_properties_[static_cast<size_t>(EventListenerClass::kTouch)] = 1607 event_listener_properties_[static_cast<size_t>(
1608 EventListenerClass::kTouchStartOrMove)] =
1601 static_cast<EventListenerProperties>( 1609 static_cast<EventListenerProperties>(
1602 proto.touch_event_listener_properties()); 1610 proto.touch_start_or_move_event_listener_properties());
1611 event_listener_properties_[static_cast<size_t>(
1612 EventListenerClass::kTouchEndOrCancel)] =
1613 static_cast<EventListenerProperties>(
1614 proto.touch_end_or_cancel_event_listener_properties());
1603 in_paint_layer_contents_ = proto.in_paint_layer_contents(); 1615 in_paint_layer_contents_ = proto.in_paint_layer_contents();
1604 id_ = proto.id(); 1616 id_ = proto.id();
1605 next_commit_forces_redraw_ = proto.next_commit_forces_redraw(); 1617 next_commit_forces_redraw_ = proto.next_commit_forces_redraw();
1606 1618
1607 hud_layer_ = static_cast<HeadsUpDisplayLayer*>( 1619 hud_layer_ = static_cast<HeadsUpDisplayLayer*>(
1608 UpdateAndGetLayer(hud_layer_.get(), proto.hud_layer_id(), layer_id_map_)); 1620 UpdateAndGetLayer(hud_layer_.get(), proto.hud_layer_id(), layer_id_map_));
1609 overscroll_elasticity_layer_ = 1621 overscroll_elasticity_layer_ =
1610 UpdateAndGetLayer(overscroll_elasticity_layer_.get(), 1622 UpdateAndGetLayer(overscroll_elasticity_layer_.get(),
1611 proto.overscroll_elasticity_layer_id(), layer_id_map_); 1623 proto.overscroll_elasticity_layer_id(), layer_id_map_);
1612 page_scale_layer_ = UpdateAndGetLayer( 1624 page_scale_layer_ = UpdateAndGetLayer(
(...skipping 22 matching lines...) Expand all
1635 [seq_num](Layer* layer) { 1647 [seq_num](Layer* layer) {
1636 layer->set_property_tree_sequence_number(seq_num); 1648 layer->set_property_tree_sequence_number(seq_num);
1637 }, 1649 },
1638 CallFunctionLayerType::ALL_LAYERS); 1650 CallFunctionLayerType::ALL_LAYERS);
1639 1651
1640 surface_id_namespace_ = proto.surface_id_namespace(); 1652 surface_id_namespace_ = proto.surface_id_namespace();
1641 next_surface_sequence_ = proto.next_surface_sequence(); 1653 next_surface_sequence_ = proto.next_surface_sequence();
1642 } 1654 }
1643 1655
1644 } // namespace cc 1656 } // namespace cc
OLDNEW
« no previous file with comments | « cc/proto/layer_tree_host.proto ('k') | cc/trees/layer_tree_host_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698