Index: cc/layers/layer.cc |
diff --git a/cc/layers/layer.cc b/cc/layers/layer.cc |
index 1abdaebf90676feafe9cbd9c35e7bb2ff0ff947d..b54b136ab8f555457a028b54ad25a1b26f97b5d1 100644 |
--- a/cc/layers/layer.cc |
+++ b/cc/layers/layer.cc |
@@ -97,6 +97,7 @@ Layer::Layer() |
force_render_surface_for_testing_(false), |
subtree_property_changed_(false), |
may_contain_video_(false), |
+ scrollbars_hidden_(false), |
aelias_OOO_until_Jul13
2016/10/26 19:01:03
This state is redundant with the one in Scrollable
bokan
2016/10/27 20:56:46
Done.
|
safe_opaque_background_color_(0), |
draw_blend_mode_(SkXfermode::kSrcOver_Mode), |
num_unclipped_descendants_(0) {} |
@@ -825,6 +826,7 @@ void Layer::SetScrollOffsetFromImplSide( |
if (!inputs_.did_scroll_callback.is_null()) |
inputs_.did_scroll_callback.Run(); |
+ |
aelias_OOO_until_Jul13
2016/10/26 19:01:03
nit: unnecessary newline
bokan
2016/10/27 20:56:46
Done.
|
// The callback could potentially change the layer structure: |
// "this" may have been destroyed during the process. |
} |
@@ -1391,6 +1393,7 @@ void Layer::LayerSpecificPropertiesToProto(proto::LayerProperties* proto, |
base->mutable_offset_to_transform_parent()); |
base->set_draws_content(draws_content_); |
base->set_may_contain_video(may_contain_video_); |
+ // TODO(bokan): Should we serialize the scrollbars_enabled flag? |
base->set_hide_layer_and_subtree(inputs_.hide_layer_and_subtree); |
base->set_subtree_property_changed(subtree_property_changed_); |
@@ -1454,6 +1457,7 @@ void Layer::FromLayerSpecificPropertiesProto( |
inputs_.double_sided = base.double_sided(); |
draws_content_ = base.draws_content(); |
may_contain_video_ = base.may_contain_video(); |
+ // TODO(bokan): scrollbars_hidden_ |
inputs_.hide_layer_and_subtree = base.hide_layer_and_subtree(); |
subtree_property_changed_ = base.subtree_property_changed(); |
inputs_.masks_to_bounds = base.masks_to_bounds(); |
@@ -1607,6 +1611,15 @@ void Layer::SetMayContainVideo(bool yes) { |
SetNeedsPushProperties(); |
} |
+void Layer::SetScrollbarsHiddenFromImplSide(bool hidden) { |
+ if (scrollbars_hidden_ == hidden) |
+ return; |
+ |
+ scrollbars_hidden_ = hidden; |
+ if (inputs_.client) |
+ inputs_.client->didChangeScrollbarsHidden(hidden); |
+} |
+ |
bool Layer::FilterIsAnimating() const { |
return GetAnimationHost()->IsAnimatingFilterProperty( |
element_id(), GetElementTypeForAnimation()); |