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

Side by Side Diff: cc/layers/layer.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/layers/layer.h ('k') | cc/layers/layer_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 2010 The Chromium Authors. All rights reserved. 1 // Copyright 2010 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/layers/layer.h" 5 #include "cc/layers/layer.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 53 matching lines...) Expand 10 before | Expand all | Expand 10 after
64 transform_tree_index_(-1), 64 transform_tree_index_(-1),
65 effect_tree_index_(-1), 65 effect_tree_index_(-1),
66 clip_tree_index_(-1), 66 clip_tree_index_(-1),
67 scroll_tree_index_(-1), 67 scroll_tree_index_(-1),
68 property_tree_sequence_number_(-1), 68 property_tree_sequence_number_(-1),
69 element_id_(0), 69 element_id_(0),
70 mutable_properties_(MutableProperty::kNone), 70 mutable_properties_(MutableProperty::kNone),
71 main_thread_scrolling_reasons_( 71 main_thread_scrolling_reasons_(
72 MainThreadScrollingReason::kNotScrollingOnMain), 72 MainThreadScrollingReason::kNotScrollingOnMain),
73 should_flatten_transform_from_property_tree_(false), 73 should_flatten_transform_from_property_tree_(false),
74 have_scroll_event_handlers_(false),
75 user_scrollable_horizontal_(true), 74 user_scrollable_horizontal_(true),
76 user_scrollable_vertical_(true), 75 user_scrollable_vertical_(true),
77 is_root_for_isolated_group_(false), 76 is_root_for_isolated_group_(false),
78 is_container_for_fixed_position_layers_(false), 77 is_container_for_fixed_position_layers_(false),
79 is_drawable_(false), 78 is_drawable_(false),
80 draws_content_(false), 79 draws_content_(false),
81 hide_layer_and_subtree_(false), 80 hide_layer_and_subtree_(false),
82 masks_to_bounds_(false), 81 masks_to_bounds_(false),
83 contents_opaque_(false), 82 contents_opaque_(false),
84 double_sided_(true), 83 double_sided_(true),
(...skipping 878 matching lines...) Expand 10 before | Expand all | Expand 10 after
963 962
964 void Layer::ClearMainThreadScrollingReasons() { 963 void Layer::ClearMainThreadScrollingReasons() {
965 DCHECK(IsPropertyChangeAllowed()); 964 DCHECK(IsPropertyChangeAllowed());
966 if (!main_thread_scrolling_reasons_) 965 if (!main_thread_scrolling_reasons_)
967 return; 966 return;
968 main_thread_scrolling_reasons_ = 967 main_thread_scrolling_reasons_ =
969 MainThreadScrollingReason::kNotScrollingOnMain; 968 MainThreadScrollingReason::kNotScrollingOnMain;
970 SetNeedsCommit(); 969 SetNeedsCommit();
971 } 970 }
972 971
973 void Layer::SetHaveScrollEventHandlers(bool have_scroll_event_handlers) {
974 DCHECK(IsPropertyChangeAllowed());
975 if (have_scroll_event_handlers_ == have_scroll_event_handlers)
976 return;
977 have_scroll_event_handlers_ = have_scroll_event_handlers;
978 SetNeedsCommit();
979 }
980
981 void Layer::SetNonFastScrollableRegion(const Region& region) { 972 void Layer::SetNonFastScrollableRegion(const Region& region) {
982 DCHECK(IsPropertyChangeAllowed()); 973 DCHECK(IsPropertyChangeAllowed());
983 if (non_fast_scrollable_region_ == region) 974 if (non_fast_scrollable_region_ == region)
984 return; 975 return;
985 non_fast_scrollable_region_ = region; 976 non_fast_scrollable_region_ = region;
986 SetNeedsCommit(); 977 SetNeedsCommit();
987 } 978 }
988 979
989 void Layer::SetTouchEventHandlerRegion(const Region& region) { 980 void Layer::SetTouchEventHandlerRegion(const Region& region) {
990 DCHECK(IsPropertyChangeAllowed()); 981 DCHECK(IsPropertyChangeAllowed());
(...skipping 215 matching lines...) Expand 10 before | Expand all | Expand 10 after
1206 layer->SetDrawsContent(DrawsContent()); 1197 layer->SetDrawsContent(DrawsContent());
1207 layer->SetHideLayerAndSubtree(hide_layer_and_subtree_); 1198 layer->SetHideLayerAndSubtree(hide_layer_and_subtree_);
1208 layer->SetHasRenderSurface(has_render_surface_); 1199 layer->SetHasRenderSurface(has_render_surface_);
1209 layer->SetForceRenderSurface(force_render_surface_); 1200 layer->SetForceRenderSurface(force_render_surface_);
1210 if (!layer->FilterIsAnimatingOnImplOnly() && !FilterIsAnimating()) 1201 if (!layer->FilterIsAnimatingOnImplOnly() && !FilterIsAnimating())
1211 layer->SetFilters(filters_); 1202 layer->SetFilters(filters_);
1212 DCHECK(!(FilterIsAnimating() && layer->FilterIsAnimatingOnImplOnly())); 1203 DCHECK(!(FilterIsAnimating() && layer->FilterIsAnimatingOnImplOnly()));
1213 layer->SetBackgroundFilters(background_filters()); 1204 layer->SetBackgroundFilters(background_filters());
1214 layer->SetMasksToBounds(masks_to_bounds_); 1205 layer->SetMasksToBounds(masks_to_bounds_);
1215 layer->set_main_thread_scrolling_reasons(main_thread_scrolling_reasons_); 1206 layer->set_main_thread_scrolling_reasons(main_thread_scrolling_reasons_);
1216 layer->SetHaveScrollEventHandlers(have_scroll_event_handlers_);
1217 layer->SetNonFastScrollableRegion(non_fast_scrollable_region_); 1207 layer->SetNonFastScrollableRegion(non_fast_scrollable_region_);
1218 layer->SetTouchEventHandlerRegion(touch_event_handler_region_); 1208 layer->SetTouchEventHandlerRegion(touch_event_handler_region_);
1219 layer->SetContentsOpaque(contents_opaque_); 1209 layer->SetContentsOpaque(contents_opaque_);
1220 if (!layer->OpacityIsAnimatingOnImplOnly() && !OpacityIsAnimating()) 1210 if (!layer->OpacityIsAnimatingOnImplOnly() && !OpacityIsAnimating())
1221 layer->SetOpacity(opacity_); 1211 layer->SetOpacity(opacity_);
1222 DCHECK(!(OpacityIsAnimating() && layer->OpacityIsAnimatingOnImplOnly())); 1212 DCHECK(!(OpacityIsAnimating() && layer->OpacityIsAnimatingOnImplOnly()));
1223 layer->SetBlendMode(blend_mode_); 1213 layer->SetBlendMode(blend_mode_);
1224 layer->SetIsRootForIsolatedGroup(is_root_for_isolated_group_); 1214 layer->SetIsRootForIsolatedGroup(is_root_for_isolated_group_);
1225 layer->SetPosition(position_); 1215 layer->SetPosition(position_);
1226 layer->SetIsContainerForFixedPositionLayers( 1216 layer->SetIsContainerForFixedPositionLayers(
(...skipping 248 matching lines...) Expand 10 before | Expand all | Expand 10 after
1475 base->set_double_sided(double_sided_); 1465 base->set_double_sided(double_sided_);
1476 base->set_draws_content(draws_content_); 1466 base->set_draws_content(draws_content_);
1477 base->set_hide_layer_and_subtree(hide_layer_and_subtree_); 1467 base->set_hide_layer_and_subtree(hide_layer_and_subtree_);
1478 base->set_has_render_surface(has_render_surface_); 1468 base->set_has_render_surface(has_render_surface_);
1479 1469
1480 // TODO(nyquist): Add support for serializing FilterOperations for 1470 // TODO(nyquist): Add support for serializing FilterOperations for
1481 // |filters_| and |background_filters_|. See crbug.com/541321. 1471 // |filters_| and |background_filters_|. See crbug.com/541321.
1482 1472
1483 base->set_masks_to_bounds(masks_to_bounds_); 1473 base->set_masks_to_bounds(masks_to_bounds_);
1484 base->set_main_thread_scrolling_reasons(main_thread_scrolling_reasons_); 1474 base->set_main_thread_scrolling_reasons(main_thread_scrolling_reasons_);
1485 base->set_have_scroll_event_handlers(have_scroll_event_handlers_);
1486 RegionToProto(non_fast_scrollable_region_, 1475 RegionToProto(non_fast_scrollable_region_,
1487 base->mutable_non_fast_scrollable_region()); 1476 base->mutable_non_fast_scrollable_region());
1488 RegionToProto(touch_event_handler_region_, 1477 RegionToProto(touch_event_handler_region_,
1489 base->mutable_touch_event_handler_region()); 1478 base->mutable_touch_event_handler_region());
1490 base->set_contents_opaque(contents_opaque_); 1479 base->set_contents_opaque(contents_opaque_);
1491 base->set_opacity(opacity_); 1480 base->set_opacity(opacity_);
1492 base->set_blend_mode(SkXfermodeModeToProto(blend_mode_)); 1481 base->set_blend_mode(SkXfermodeModeToProto(blend_mode_));
1493 base->set_is_root_for_isolated_group(is_root_for_isolated_group_); 1482 base->set_is_root_for_isolated_group(is_root_for_isolated_group_);
1494 PointFToProto(position_, base->mutable_position()); 1483 PointFToProto(position_, base->mutable_position());
1495 base->set_is_container_for_fixed_position_layers( 1484 base->set_is_container_for_fixed_position_layers(
(...skipping 64 matching lines...) Expand 10 before | Expand all | Expand 10 after
1560 clip_tree_index_ = base.clip_tree_index(); 1549 clip_tree_index_ = base.clip_tree_index();
1561 scroll_tree_index_ = base.scroll_tree_index(); 1550 scroll_tree_index_ = base.scroll_tree_index();
1562 offset_to_transform_parent_ = 1551 offset_to_transform_parent_ =
1563 ProtoToVector2dF(base.offset_to_transform_parent()); 1552 ProtoToVector2dF(base.offset_to_transform_parent());
1564 double_sided_ = base.double_sided(); 1553 double_sided_ = base.double_sided();
1565 draws_content_ = base.draws_content(); 1554 draws_content_ = base.draws_content();
1566 hide_layer_and_subtree_ = base.hide_layer_and_subtree(); 1555 hide_layer_and_subtree_ = base.hide_layer_and_subtree();
1567 has_render_surface_ = base.has_render_surface(); 1556 has_render_surface_ = base.has_render_surface();
1568 masks_to_bounds_ = base.masks_to_bounds(); 1557 masks_to_bounds_ = base.masks_to_bounds();
1569 main_thread_scrolling_reasons_ = base.main_thread_scrolling_reasons(); 1558 main_thread_scrolling_reasons_ = base.main_thread_scrolling_reasons();
1570 have_scroll_event_handlers_ = base.have_scroll_event_handlers();
1571 non_fast_scrollable_region_ = 1559 non_fast_scrollable_region_ =
1572 RegionFromProto(base.non_fast_scrollable_region()); 1560 RegionFromProto(base.non_fast_scrollable_region());
1573 touch_event_handler_region_ = 1561 touch_event_handler_region_ =
1574 RegionFromProto(base.touch_event_handler_region()); 1562 RegionFromProto(base.touch_event_handler_region());
1575 contents_opaque_ = base.contents_opaque(); 1563 contents_opaque_ = base.contents_opaque();
1576 opacity_ = base.opacity(); 1564 opacity_ = base.opacity();
1577 blend_mode_ = SkXfermodeModeFromProto(base.blend_mode()); 1565 blend_mode_ = SkXfermodeModeFromProto(base.blend_mode());
1578 is_root_for_isolated_group_ = base.is_root_for_isolated_group(); 1566 is_root_for_isolated_group_ = base.is_root_for_isolated_group();
1579 position_ = ProtoToPointF(base.position()); 1567 position_ = ProtoToPointF(base.position());
1580 is_container_for_fixed_position_layers_ = 1568 is_container_for_fixed_position_layers_ =
(...skipping 442 matching lines...) Expand 10 before | Expand all | Expand 10 after
2023 this, layer_tree_host_->property_trees()->transform_tree); 2011 this, layer_tree_host_->property_trees()->transform_tree);
2024 } 2012 }
2025 2013
2026 gfx::Transform Layer::screen_space_transform() const { 2014 gfx::Transform Layer::screen_space_transform() const {
2027 DCHECK_NE(transform_tree_index_, -1); 2015 DCHECK_NE(transform_tree_index_, -1);
2028 return ScreenSpaceTransformFromPropertyTrees( 2016 return ScreenSpaceTransformFromPropertyTrees(
2029 this, layer_tree_host_->property_trees()->transform_tree); 2017 this, layer_tree_host_->property_trees()->transform_tree);
2030 } 2018 }
2031 2019
2032 } // namespace cc 2020 } // namespace cc
OLDNEW
« no previous file with comments | « cc/layers/layer.h ('k') | cc/layers/layer_impl.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698