diff options
author | sadrul@chromium.org <sadrul@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2013-10-22 03:36:43 +0000 |
---|---|---|
committer | sadrul@chromium.org <sadrul@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2013-10-22 03:36:43 +0000 |
commit | 59a7d55a7116325891f2a25329041d9e657d2a6a (patch) | |
tree | 5bff7b5fc26c17ba98b6069584244d97dd35461c /cc/layers/layer.cc | |
parent | f02ebd33700c53251c0e86662a91390170950477 (diff) | |
download | chromium_src-59a7d55a7116325891f2a25329041d9e657d2a6a.zip chromium_src-59a7d55a7116325891f2a25329041d9e657d2a6a.tar.gz chromium_src-59a7d55a7116325891f2a25329041d9e657d2a6a.tar.bz2 |
cc: Do not allow gesture-scrolling 'overflow[-{x|y}]:hidden' layers.
BUG=175502
R=jamesr@chromium.org
Review URL: https://codereview.chromium.org/30793002
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@230032 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'cc/layers/layer.cc')
-rw-r--r-- | cc/layers/layer.cc | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/cc/layers/layer.cc b/cc/layers/layer.cc index 15de223..80fad6a 100644 --- a/cc/layers/layer.cc +++ b/cc/layers/layer.cc @@ -41,6 +41,8 @@ Layer::Layer() scrollable_(false), should_scroll_on_main_thread_(false), have_wheel_event_handlers_(false), + user_scrollable_horizontal_(true), + user_scrollable_vertical_(true), anchor_point_(0.5f, 0.5f), background_color_(0), compositing_reasons_(kCompositingReasonUnknown), @@ -646,6 +648,16 @@ void Layer::SetScrollable(bool scrollable) { SetNeedsCommit(); } +void Layer::SetUserScrollable(bool horizontal, bool vertical) { + DCHECK(IsPropertyChangeAllowed()); + if (user_scrollable_horizontal_ == horizontal && + user_scrollable_vertical_ == vertical) + return; + user_scrollable_horizontal_ = horizontal; + user_scrollable_vertical_ = vertical; + SetNeedsCommit(); +} + void Layer::SetShouldScrollOnMainThread(bool should_scroll_on_main_thread) { DCHECK(IsPropertyChangeAllowed()); if (should_scroll_on_main_thread_ == should_scroll_on_main_thread) @@ -833,6 +845,8 @@ void Layer::PushPropertiesTo(LayerImpl* layer) { DCHECK(!(TransformIsAnimating() && layer->TransformIsAnimatingOnImplOnly())); layer->SetScrollable(scrollable_); + layer->set_user_scrollable_horizontal(user_scrollable_horizontal_); + layer->set_user_scrollable_vertical(user_scrollable_vertical_); layer->SetMaxScrollOffset(max_scroll_offset_); LayerImpl* scroll_parent = NULL; |