Index: ash/wm/system_modal_container_layout_manager.cc |
=================================================================== |
--- ash/wm/system_modal_container_layout_manager.cc (revision 120096) |
+++ ash/wm/system_modal_container_layout_manager.cc (working copy) |
@@ -122,14 +122,22 @@ |
} |
//////////////////////////////////////////////////////////////////////////////// |
-// SystemModalContainerLayoutManager, |
-// ui::ImplicitAnimationObserver implementation: |
+// SystemModalContainerLayoutManager, ui::LayerAnimationObserver implementation: |
-void SystemModalContainerLayoutManager::OnImplicitAnimationsCompleted() { |
+void SystemModalContainerLayoutManager::OnLayerAnimationEnded( |
+ const ui::LayerAnimationSequence* sequence) { |
if (modal_screen_ && !modal_screen_->GetNativeView()->layer()->ShouldDraw()) |
DestroyModalScreen(); |
} |
+void SystemModalContainerLayoutManager::OnLayerAnimationAborted( |
+ const ui::LayerAnimationSequence* sequence) { |
+} |
+ |
+void SystemModalContainerLayoutManager::OnLayerAnimationScheduled( |
+ const ui::LayerAnimationSequence* sequence) { |
+} |
+ |
//////////////////////////////////////////////////////////////////////////////// |
// SystemModalContainerLayoutManager, |
// SystemModalContainerEventFilter::Delegate implementation: |
@@ -178,33 +186,27 @@ |
"SystemModalContainerLayoutManager.ModalScreen"); |
modal_screen_->SetContentsView(new ScreenView); |
modal_screen_->GetNativeView()->layer()->SetOpacity(0.0f); |
+ modal_screen_->GetNativeView()->layer()->GetAnimator()->AddObserver(this); |
Shell::GetInstance()->AddRootWindowEventFilter(modality_filter_.get()); |
- StopObservingImplicitAnimations(); |
- |
ui::ScopedLayerAnimationSettings settings( |
modal_screen_->GetNativeView()->layer()->GetAnimator()); |
- settings.AddObserver(this); |
modal_screen_->Show(); |
modal_screen_->GetNativeView()->layer()->SetOpacity(0.5f); |
container_->StackChildAtTop(modal_screen_->GetNativeView()); |
} |
void SystemModalContainerLayoutManager::DestroyModalScreen() { |
- // Stop observing the modal screen's animations. |
- StopObservingImplicitAnimations(); |
+ modal_screen_->GetNativeView()->layer()->GetAnimator()->RemoveObserver(this); |
modal_screen_->Close(); |
modal_screen_ = NULL; |
} |
void SystemModalContainerLayoutManager::HideModalScreen() { |
- StopObservingImplicitAnimations(); |
- |
Shell::GetInstance()->RemoveRootWindowEventFilter(modality_filter_.get()); |
ui::ScopedLayerAnimationSettings settings( |
modal_screen_->GetNativeView()->layer()->GetAnimator()); |
- settings.AddObserver(this); |
modal_screen_->GetNativeView()->layer()->SetOpacity(0.0f); |
} |