Index: chrome/browser/ui/views/frame/immersive_mode_controller_ash.cc |
diff --git a/chrome/browser/ui/views/frame/immersive_mode_controller_ash.cc b/chrome/browser/ui/views/frame/immersive_mode_controller_ash.cc |
index b7af18671d92a3c7b687f767816182a3ab2a3e61..7c31ac53f02ccff441b8c9257b7ec76ae685c915 100644 |
--- a/chrome/browser/ui/views/frame/immersive_mode_controller_ash.cc |
+++ b/chrome/browser/ui/views/frame/immersive_mode_controller_ash.cc |
@@ -288,11 +288,11 @@ ImmersiveModeControllerAsh::ImmersiveModeControllerAsh() |
revealed_lock_count_(0), |
tab_indicator_visibility_(TAB_INDICATORS_HIDE), |
mouse_x_when_hit_top_(-1), |
+ gesture_begun_(false), |
native_window_(NULL), |
animation_(new ui::SlideAnimation(this)), |
animations_disabled_for_test_(false), |
- weak_ptr_factory_(this), |
- gesture_begun_(false) { |
+ weak_ptr_factory_(this) { |
} |
ImmersiveModeControllerAsh::~ImmersiveModeControllerAsh() { |
@@ -944,8 +944,11 @@ void ImmersiveModeControllerAsh::MaybeStartReveal(Animate animate) { |
// Do not do any more processing if LayoutBrowserView() changed |
// |reveal_state_|. |
- if (reveal_state_ != SLIDING_OPEN) |
+ if (reveal_state_ != SLIDING_OPEN) { |
+ if (reveal_state_ == REVEALED) |
+ FOR_EACH_OBSERVER(Observer, observers_, OnImmersiveRevealStarted()); |
return; |
+ } |
} |
// Slide in the reveal view. |
if (animate == ANIMATE_NO) { |
@@ -955,6 +958,9 @@ void ImmersiveModeControllerAsh::MaybeStartReveal(Animate animate) { |
animation_->SetSlideDuration(GetAnimationDuration(animate)); |
animation_->Show(); |
} |
+ |
+ if (previous_reveal_state == CLOSED) |
+ FOR_EACH_OBSERVER(Observer, observers_, OnImmersiveRevealStarted()); |
} |
void ImmersiveModeControllerAsh::EnablePaintToLayer(bool enable) { |