summaryrefslogtreecommitdiffstats
path: root/chromium/ash/first_run/desktop_cleaner.cc
diff options
context:
space:
mode:
Diffstat (limited to 'chromium/ash/first_run/desktop_cleaner.cc')
-rw-r--r--chromium/ash/first_run/desktop_cleaner.cc118
1 files changed, 0 insertions, 118 deletions
diff --git a/chromium/ash/first_run/desktop_cleaner.cc b/chromium/ash/first_run/desktop_cleaner.cc
deleted file mode 100644
index cf0ffa6f974..00000000000
--- a/chromium/ash/first_run/desktop_cleaner.cc
+++ /dev/null
@@ -1,118 +0,0 @@
-// Copyright 2013 The Chromium Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-#include "ash/first_run/desktop_cleaner.h"
-
-#include "ash/shell.h"
-#include "ash/shell_window_ids.h"
-#include "ui/aura/root_window.h"
-#include "ui/aura/window_observer.h"
-#include "ui/compositor/scoped_layer_animation_settings.h"
-#include "ui/message_center/message_center.h"
-#include "ui/message_center/notification_blocker.h"
-
-namespace ash {
-namespace internal {
-
-namespace {
-
-const int kContainerIdsToHide[] = {
- kShellWindowId_DefaultContainer,
- kShellWindowId_AlwaysOnTopContainer,
- kShellWindowId_PanelContainer,
- // TODO(dzhioev): uncomment this when issue with BrowserView::CanActivate
- // will be fixed.
- // kShellWindowId_SystemModalContainer
-};
-
-} // namespace
-
-class ContainerHider : public aura::WindowObserver,
- public ui::ImplicitAnimationObserver {
- public:
- explicit ContainerHider(aura::Window* container)
- : container_was_hidden_(!container->IsVisible()),
- container_(container) {
- if (container_was_hidden_)
- return;
- ui::Layer* layer = container_->layer();
- ui::ScopedLayerAnimationSettings animation_settings(layer->GetAnimator());
- animation_settings.AddObserver(this);
- layer->SetOpacity(0.0);
- }
-
- virtual ~ContainerHider() {
- if (container_was_hidden_ || !container_)
- return;
- if (!WasAnimationCompletedForProperty(ui::LayerAnimationElement::OPACITY)) {
- // We are in the middle of animation.
- StopObservingImplicitAnimations();
- } else {
- container_->Show();
- }
- ui::Layer* layer = container_->layer();
- ui::ScopedLayerAnimationSettings animation_settings(layer->GetAnimator());
- layer->SetOpacity(1.0);
- }
-
- private:
- // Overriden from ui::ImplicitAnimationObserver.
- virtual void OnImplicitAnimationsCompleted() OVERRIDE {
- container_->Hide();
- }
-
- // Overriden from aura::WindowObserver.
- virtual void OnWindowDestroying(aura::Window* window) OVERRIDE {
- DCHECK(window == container_);
- container_ = NULL;
- }
-
- const bool container_was_hidden_;
- aura::Window* container_;
-
- DISALLOW_COPY_AND_ASSIGN(ContainerHider);
-};
-
-class NotificationBlocker : public message_center::NotificationBlocker {
- public:
- NotificationBlocker()
- : message_center::NotificationBlocker(
- message_center::MessageCenter::Get()) {
- NotifyBlockingStateChanged();
- }
-
- virtual ~NotificationBlocker() {};
-
- private:
- // Overriden from message_center::NotificationBlocker.
- virtual bool ShouldShowNotificationAsPopup(
- const message_center::NotifierId& notifier_id) const OVERRIDE {
- return false;
- }
-
- DISALLOW_COPY_AND_ASSIGN(NotificationBlocker);
-};
-
-DesktopCleaner::DesktopCleaner() {
- // TODO(dzhioev): Add support for secondary displays.
- aura::Window* root_window = Shell::GetInstance()->GetPrimaryRootWindow();
- for (size_t i = 0; i < arraysize(kContainerIdsToHide); ++i) {
- aura::Window* container =
- Shell::GetContainer(root_window, kContainerIdsToHide[i]);
- container_hiders_.push_back(make_linked_ptr(new ContainerHider(container)));
- }
- notification_blocker_.reset(new NotificationBlocker());
-}
-
-DesktopCleaner::~DesktopCleaner() {}
-
-// static
-std::vector<int> DesktopCleaner::GetContainersToHideForTest() {
- return std::vector<int>(kContainerIdsToHide,
- kContainerIdsToHide + arraysize(kContainerIdsToHide));
-}
-
-} // namespace internal
-} // namespace ash
-