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

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: Remove API from ChromeClient 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 1063 matching lines...) Expand 10 before | Expand all | Expand 10 after
1522 proto->set_max_page_scale_factor(max_page_scale_factor_); 1525 proto->set_max_page_scale_factor(max_page_scale_factor_);
1523 Vector2dFToProto(elastic_overscroll_, proto->mutable_elastic_overscroll()); 1526 Vector2dFToProto(elastic_overscroll_, proto->mutable_elastic_overscroll());
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_start_or_move_event_listener_properties(
1533 event_listener_properties(EventListenerClass::kTouch))); 1536 static_cast<uint32_t>(
1537 event_listener_properties(EventListenerClass::kTouchStartOrMove)));
1538 proto->set_touch_end_or_cancel_event_listener_properties(
1539 static_cast<uint32_t>(
1540 event_listener_properties(EventListenerClass::kTouchEndOrCancel)));
1534 proto->set_in_paint_layer_contents(in_paint_layer_contents_); 1541 proto->set_in_paint_layer_contents(in_paint_layer_contents_);
1535 proto->set_id(id_); 1542 proto->set_id(id_);
1536 proto->set_next_commit_forces_redraw(next_commit_forces_redraw_); 1543 proto->set_next_commit_forces_redraw(next_commit_forces_redraw_);
1537 1544
1538 // Viewport layers. 1545 // Viewport layers.
1539 proto->set_overscroll_elasticity_layer_id( 1546 proto->set_overscroll_elasticity_layer_id(
1540 overscroll_elasticity_layer_ ? overscroll_elasticity_layer_->id() 1547 overscroll_elasticity_layer_ ? overscroll_elasticity_layer_->id()
1541 : Layer::INVALID_ID); 1548 : Layer::INVALID_ID);
1542 proto->set_page_scale_layer_id(page_scale_layer_ ? page_scale_layer_->id() 1549 proto->set_page_scale_layer_id(page_scale_layer_ ? page_scale_layer_->id()
1543 : Layer::INVALID_ID); 1550 : Layer::INVALID_ID);
(...skipping 48 matching lines...) Expand 10 before | Expand all | Expand 10 after
1592 has_gpu_rasterization_trigger_ = proto.has_gpu_rasterization_trigger(); 1599 has_gpu_rasterization_trigger_ = proto.has_gpu_rasterization_trigger();
1593 content_is_suitable_for_gpu_rasterization_ = 1600 content_is_suitable_for_gpu_rasterization_ =
1594 proto.content_is_suitable_for_gpu_rasterization(); 1601 proto.content_is_suitable_for_gpu_rasterization();
1595 background_color_ = proto.background_color(); 1602 background_color_ = proto.background_color();
1596 has_transparent_background_ = proto.has_transparent_background(); 1603 has_transparent_background_ = proto.has_transparent_background();
1597 have_scroll_event_handlers_ = proto.have_scroll_event_handlers(); 1604 have_scroll_event_handlers_ = proto.have_scroll_event_handlers();
1598 event_listener_properties_[static_cast<size_t>( 1605 event_listener_properties_[static_cast<size_t>(
1599 EventListenerClass::kMouseWheel)] = 1606 EventListenerClass::kMouseWheel)] =
1600 static_cast<EventListenerProperties>( 1607 static_cast<EventListenerProperties>(
1601 proto.wheel_event_listener_properties()); 1608 proto.wheel_event_listener_properties());
1602 event_listener_properties_[static_cast<size_t>(EventListenerClass::kTouch)] = 1609 event_listener_properties_[static_cast<size_t>(
1610 EventListenerClass::kTouchStartOrMove)] =
1603 static_cast<EventListenerProperties>( 1611 static_cast<EventListenerProperties>(
1604 proto.touch_event_listener_properties()); 1612 proto.touch_start_or_move_event_listener_properties());
1613 event_listener_properties_[static_cast<size_t>(
1614 EventListenerClass::kTouchEndOrCancel)] =
1615 static_cast<EventListenerProperties>(
1616 proto.touch_end_or_cancel_event_listener_properties());
1605 in_paint_layer_contents_ = proto.in_paint_layer_contents(); 1617 in_paint_layer_contents_ = proto.in_paint_layer_contents();
1606 id_ = proto.id(); 1618 id_ = proto.id();
1607 next_commit_forces_redraw_ = proto.next_commit_forces_redraw(); 1619 next_commit_forces_redraw_ = proto.next_commit_forces_redraw();
1608 1620
1609 hud_layer_ = static_cast<HeadsUpDisplayLayer*>( 1621 hud_layer_ = static_cast<HeadsUpDisplayLayer*>(
1610 UpdateAndGetLayer(hud_layer_.get(), proto.hud_layer_id(), layer_id_map_)); 1622 UpdateAndGetLayer(hud_layer_.get(), proto.hud_layer_id(), layer_id_map_));
1611 overscroll_elasticity_layer_ = 1623 overscroll_elasticity_layer_ =
1612 UpdateAndGetLayer(overscroll_elasticity_layer_.get(), 1624 UpdateAndGetLayer(overscroll_elasticity_layer_.get(),
1613 proto.overscroll_elasticity_layer_id(), layer_id_map_); 1625 proto.overscroll_elasticity_layer_id(), layer_id_map_);
1614 page_scale_layer_ = UpdateAndGetLayer( 1626 page_scale_layer_ = UpdateAndGetLayer(
(...skipping 22 matching lines...) Expand all
1637 [seq_num](Layer* layer) { 1649 [seq_num](Layer* layer) {
1638 layer->set_property_tree_sequence_number(seq_num); 1650 layer->set_property_tree_sequence_number(seq_num);
1639 }, 1651 },
1640 CallFunctionLayerType::ALL_LAYERS); 1652 CallFunctionLayerType::ALL_LAYERS);
1641 1653
1642 surface_id_namespace_ = proto.surface_id_namespace(); 1654 surface_id_namespace_ = proto.surface_id_namespace();
1643 next_surface_sequence_ = proto.next_surface_sequence(); 1655 next_surface_sequence_ = proto.next_surface_sequence();
1644 } 1656 }
1645 1657
1646 } // namespace cc 1658 } // 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