| Index: mojo/services/view_manager/public/cpp/lib/view.cc
|
| diff --git a/mojo/services/view_manager/public/cpp/lib/view.cc b/mojo/services/view_manager/public/cpp/lib/view.cc
|
| index bfbc67a8cb692ad3c7d81e6f3963d397cca85b0b..9ed458c7ffae0f6eae26d382ab4f4669e1816c76 100644
|
| --- a/mojo/services/view_manager/public/cpp/lib/view.cc
|
| +++ b/mojo/services/view_manager/public/cpp/lib/view.cc
|
| @@ -220,9 +220,7 @@ void View::SetVisible(bool value) {
|
|
|
| if (manager_)
|
| static_cast<ViewManagerClientImpl*>(manager_)->SetVisible(id_, value);
|
| - FOR_EACH_OBSERVER(ViewObserver, observers_, OnViewVisibilityChanging(this));
|
| - visible_ = value;
|
| - NotifyViewVisibilityChanged(this);
|
| + LocalSetVisible(value);
|
| }
|
|
|
| void View::SetSharedProperty(const std::string& name,
|
| @@ -531,6 +529,15 @@ void View::LocalSetDrawn(bool value) {
|
| FOR_EACH_OBSERVER(ViewObserver, observers_, OnViewDrawnChanged(this));
|
| }
|
|
|
| +void View::LocalSetVisible(bool visible) {
|
| + if (visible_ == visible)
|
| + return;
|
| +
|
| + FOR_EACH_OBSERVER(ViewObserver, observers_, OnViewVisibilityChanging(this));
|
| + visible_ = visible;
|
| + NotifyViewVisibilityChanged(this);
|
| +}
|
| +
|
| void View::NotifyViewVisibilityChanged(View* target) {
|
| if (!NotifyViewVisibilityChangedDown(target)) {
|
| return; // |this| has been deleted.
|
|
|