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

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

Issue 1884863003: Non passive touch end or touch cancel listeners should not block scroll. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
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
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 428 matching lines...) Expand 10 before | Expand all | Expand 10 after
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::kTouch,
445 event_listener_properties(EventListenerClass::kTouch)); 445 event_listener_properties(EventListenerClass::kTouch));
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 1065 matching lines...) Expand 10 before | Expand all | Expand 10 after
1524 proto->set_has_gpu_rasterization_trigger(has_gpu_rasterization_trigger_); 1527 proto->set_has_gpu_rasterization_trigger(has_gpu_rasterization_trigger_);
1525 proto->set_content_is_suitable_for_gpu_rasterization( 1528 proto->set_content_is_suitable_for_gpu_rasterization(
1526 content_is_suitable_for_gpu_rasterization_); 1529 content_is_suitable_for_gpu_rasterization_);
1527 proto->set_background_color(background_color_); 1530 proto->set_background_color(background_color_);
1528 proto->set_has_transparent_background(has_transparent_background_); 1531 proto->set_has_transparent_background(has_transparent_background_);
1529 proto->set_have_scroll_event_handlers(have_scroll_event_handlers_); 1532 proto->set_have_scroll_event_handlers(have_scroll_event_handlers_);
1530 proto->set_wheel_event_listener_properties(static_cast<uint32_t>( 1533 proto->set_wheel_event_listener_properties(static_cast<uint32_t>(
1531 event_listener_properties(EventListenerClass::kMouseWheel))); 1534 event_listener_properties(EventListenerClass::kMouseWheel)));
1532 proto->set_touch_event_listener_properties(static_cast<uint32_t>( 1535 proto->set_touch_event_listener_properties(static_cast<uint32_t>(
1533 event_listener_properties(EventListenerClass::kTouch))); 1536 event_listener_properties(EventListenerClass::kTouch)));
1537 proto->set_touch_end_or_cancel_event_listener_properties(
1538 static_cast<uint32_t>(
1539 event_listener_properties(EventListenerClass::kTouchEndOrCancel)));
1534 proto->set_in_paint_layer_contents(in_paint_layer_contents_); 1540 proto->set_in_paint_layer_contents(in_paint_layer_contents_);
1535 proto->set_id(id_); 1541 proto->set_id(id_);
1536 proto->set_next_commit_forces_redraw(next_commit_forces_redraw_); 1542 proto->set_next_commit_forces_redraw(next_commit_forces_redraw_);
1537 1543
1538 // Viewport layers. 1544 // Viewport layers.
1539 proto->set_overscroll_elasticity_layer_id( 1545 proto->set_overscroll_elasticity_layer_id(
1540 overscroll_elasticity_layer_ ? overscroll_elasticity_layer_->id() 1546 overscroll_elasticity_layer_ ? overscroll_elasticity_layer_->id()
1541 : Layer::INVALID_ID); 1547 : Layer::INVALID_ID);
1542 proto->set_page_scale_layer_id(page_scale_layer_ ? page_scale_layer_->id() 1548 proto->set_page_scale_layer_id(page_scale_layer_ ? page_scale_layer_->id()
1543 : Layer::INVALID_ID); 1549 : Layer::INVALID_ID);
(...skipping 51 matching lines...) Expand 10 before | Expand all | Expand 10 after
1595 background_color_ = proto.background_color(); 1601 background_color_ = proto.background_color();
1596 has_transparent_background_ = proto.has_transparent_background(); 1602 has_transparent_background_ = proto.has_transparent_background();
1597 have_scroll_event_handlers_ = proto.have_scroll_event_handlers(); 1603 have_scroll_event_handlers_ = proto.have_scroll_event_handlers();
1598 event_listener_properties_[static_cast<size_t>( 1604 event_listener_properties_[static_cast<size_t>(
1599 EventListenerClass::kMouseWheel)] = 1605 EventListenerClass::kMouseWheel)] =
1600 static_cast<EventListenerProperties>( 1606 static_cast<EventListenerProperties>(
1601 proto.wheel_event_listener_properties()); 1607 proto.wheel_event_listener_properties());
1602 event_listener_properties_[static_cast<size_t>(EventListenerClass::kTouch)] = 1608 event_listener_properties_[static_cast<size_t>(EventListenerClass::kTouch)] =
1603 static_cast<EventListenerProperties>( 1609 static_cast<EventListenerProperties>(
1604 proto.touch_event_listener_properties()); 1610 proto.touch_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());
1605 in_paint_layer_contents_ = proto.in_paint_layer_contents(); 1615 in_paint_layer_contents_ = proto.in_paint_layer_contents();
1606 id_ = proto.id(); 1616 id_ = proto.id();
1607 next_commit_forces_redraw_ = proto.next_commit_forces_redraw(); 1617 next_commit_forces_redraw_ = proto.next_commit_forces_redraw();
1608 1618
1609 hud_layer_ = static_cast<HeadsUpDisplayLayer*>( 1619 hud_layer_ = static_cast<HeadsUpDisplayLayer*>(
1610 UpdateAndGetLayer(hud_layer_.get(), proto.hud_layer_id(), layer_id_map_)); 1620 UpdateAndGetLayer(hud_layer_.get(), proto.hud_layer_id(), layer_id_map_));
1611 overscroll_elasticity_layer_ = 1621 overscroll_elasticity_layer_ =
1612 UpdateAndGetLayer(overscroll_elasticity_layer_.get(), 1622 UpdateAndGetLayer(overscroll_elasticity_layer_.get(),
1613 proto.overscroll_elasticity_layer_id(), layer_id_map_); 1623 proto.overscroll_elasticity_layer_id(), layer_id_map_);
1614 page_scale_layer_ = UpdateAndGetLayer( 1624 page_scale_layer_ = UpdateAndGetLayer(
(...skipping 22 matching lines...) Expand all
1637 [seq_num](Layer* layer) { 1647 [seq_num](Layer* layer) {
1638 layer->set_property_tree_sequence_number(seq_num); 1648 layer->set_property_tree_sequence_number(seq_num);
1639 }, 1649 },
1640 CallFunctionLayerType::ALL_LAYERS); 1650 CallFunctionLayerType::ALL_LAYERS);
1641 1651
1642 surface_id_namespace_ = proto.surface_id_namespace(); 1652 surface_id_namespace_ = proto.surface_id_namespace();
1643 next_surface_sequence_ = proto.next_surface_sequence(); 1653 next_surface_sequence_ = proto.next_surface_sequence();
1644 } 1654 }
1645 1655
1646 } // namespace cc 1656 } // namespace cc
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698