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 1bb27e5a1a821e95eeaa70784076bc70fdd5a62e..51c4aa3efab9ad5ed374fc0d18adb3442be7d9be 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() { |
@@ -440,6 +440,14 @@ void ImmersiveModeControllerAsh::OnTopContainerBoundsChanged() { |
anchored_widget_manager_->MaybeRepositionAnchoredWidgets(); |
} |
+void ImmersiveModeControllerAsh::AddObserver(Observer* observer) { |
+ observers_.AddObserver(observer); |
+} |
+ |
+void ImmersiveModeControllerAsh::RemoveObserver(Observer* observer) { |
+ observers_.RemoveObserver(observer); |
+} |
+ |
//////////////////////////////////////////////////////////////////////////////// |
// Observers: |
@@ -933,6 +941,10 @@ void ImmersiveModeControllerAsh::MaybeStartReveal(Animate animate) { |
animation_->SetSlideDuration(GetAnimationDuration(animate)); |
animation_->Show(); |
} |
+ |
+ if (previous_reveal_state == CLOSED) { |
+ FOR_EACH_OBSERVER(Observer, observers_, OnStartedImmersiveReveal()); |
+ } |
} |
void ImmersiveModeControllerAsh::EnablePaintToLayer(bool enable) { |