Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(613)

Unified Diff: ui/aura_shell/stacking_controller.cc

Issue 9026017: Move some more files into ash... this time seed the window manager dir. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src/
Patch Set: '' Created 9 years ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « ui/aura_shell/stacking_controller.h ('k') | ui/aura_shell/window_util.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: ui/aura_shell/stacking_controller.cc
===================================================================
--- ui/aura_shell/stacking_controller.cc (revision 115643)
+++ ui/aura_shell/stacking_controller.cc (working copy)
@@ -1,94 +0,0 @@
-// Copyright (c) 2011 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 "ui/aura_shell/stacking_controller.h"
-
-#include "ui/aura/client/aura_constants.h"
-#include "ui/aura/root_window.h"
-#include "ui/aura/window.h"
-#include "ui/aura_shell/always_on_top_controller.h"
-#include "ui/aura_shell/shell.h"
-#include "ui/aura_shell/shell_window_ids.h"
-
-namespace aura_shell {
-namespace internal {
-namespace {
-
-aura::Window* GetContainer(int id) {
- return Shell::GetInstance()->GetContainer(id);
-}
-
-bool IsWindowModal(aura::Window* window) {
- return window->transient_parent() &&
- window->GetIntProperty(aura::client::kModalKey);
-}
-
-} // namespace
-
-////////////////////////////////////////////////////////////////////////////////
-// StackingController, public:
-
-StackingController::StackingController() {
- aura::client::SetStackingClient(this);
- always_on_top_controller_.reset(new internal::AlwaysOnTopController);
- always_on_top_controller_->SetContainers(
- GetContainer(internal::kShellWindowId_DefaultContainer),
- GetContainer(internal::kShellWindowId_AlwaysOnTopContainer));
-}
-
-StackingController::~StackingController() {
-}
-
-////////////////////////////////////////////////////////////////////////////////
-// StackingController, aura::StackingClient implementation:
-
-aura::Window* StackingController::GetDefaultParent(aura::Window* window) {
- switch (window->type()) {
- case aura::client::WINDOW_TYPE_NORMAL:
- case aura::client::WINDOW_TYPE_POPUP:
- if (IsWindowModal(window))
- return GetModalContainer(window);
- return always_on_top_controller_->GetContainer(window);
- case aura::client::WINDOW_TYPE_MENU:
- case aura::client::WINDOW_TYPE_TOOLTIP:
- return GetContainer(internal::kShellWindowId_MenusAndTooltipsContainer);
- default:
- NOTREACHED() << "Window " << window->id()
- << " has unhandled type " << window->type();
- break;
- }
- return NULL;
-}
-
-////////////////////////////////////////////////////////////////////////////////
-// StackingController, private:
-
-aura::Window* StackingController::GetModalContainer(
- aura::Window* window) const {
- if (!IsWindowModal(window))
- return NULL;
-
- // If screen lock is not active, all modal windows are placed into the
- // normal modal container.
- aura::Window* lock_container =
- GetContainer(internal::kShellWindowId_LockScreenContainer);
- if (!lock_container->children().size())
- return GetContainer(internal::kShellWindowId_ModalContainer);
-
- // Otherwise those that originate from LockScreen container and above are
- // placed in the screen lock modal container.
- int lock_container_id = lock_container->id();
- int window_container_id = window->transient_parent()->parent()->id();
-
- aura::Window* container = NULL;
- if (window_container_id < lock_container_id)
- container = GetContainer(internal::kShellWindowId_ModalContainer);
- else
- container = GetContainer(internal::kShellWindowId_LockModalContainer);
-
- return container;
-}
-
-} // namespace internal
-} // namespace aura_shell
« no previous file with comments | « ui/aura_shell/stacking_controller.h ('k') | ui/aura_shell/window_util.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698