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

Unified Diff: mash/wm/root_window_controller.cc

Issue 1980593002: Changes container names and adds a couple of more (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: include Created 4 years, 7 months 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
Index: mash/wm/root_window_controller.cc
diff --git a/mash/wm/root_window_controller.cc b/mash/wm/root_window_controller.cc
index c0ec5b7135d845482a90642e138d0ed17e63f722..c0181591b4e05d253e6151deae2a4b0e24f45572 100644
--- a/mash/wm/root_window_controller.cc
+++ b/mash/wm/root_window_controller.cc
@@ -14,6 +14,7 @@
#include "components/mus/public/cpp/window_tree_host_factory.h"
#include "mash/session/public/interfaces/session.mojom.h"
#include "mash/wm/background_layout.h"
+#include "mash/wm/container_ids.h"
#include "mash/wm/fill_layout.h"
#include "mash/wm/screenlock_layout.h"
#include "mash/wm/shadow_controller.h"
@@ -76,7 +77,8 @@ mus::Window* RootWindowController::GetWindowForContainer(
bool RootWindowController::WindowIsContainer(const mus::Window* window) const {
return window &&
- window->local_id() > ContainerToLocalId(mojom::Container::ROOT) &&
+ window->local_id() >
+ ContainerToLocalId(mojom::Container::ROOT_CONTAINER) &&
window->local_id() < ContainerToLocalId(mojom::Container::COUNT);
}
@@ -97,13 +99,14 @@ void RootWindowController::OnAccelerator(uint32_t id, const ui::Event& event) {
ShelfLayoutManager* RootWindowController::GetShelfLayoutManager() {
return static_cast<ShelfLayoutManager*>(
- layout_manager_[GetWindowForContainer(mojom::Container::USER_SHELF)]
+ layout_managers_[GetWindowForContainer(
+ mojom::Container::USER_PRIVATE_SHELF)]
.get());
}
StatusLayoutManager* RootWindowController::GetStatusLayoutManager() {
return static_cast<StatusLayoutManager*>(
- layout_manager_[GetWindowForContainer(mojom::Container::STATUS)].get());
+ layout_managers_[GetWindowForContainer(mojom::Container::STATUS)].get());
}
RootWindowController::RootWindowController(WindowManagerApplication* app)
@@ -123,33 +126,18 @@ void RootWindowController::AddAccelerators() {
void RootWindowController::OnEmbed(mus::Window* root) {
root_ = root;
- root_->set_local_id(ContainerToLocalId(mojom::Container::ROOT));
+ root_->set_local_id(ContainerToLocalId(mojom::Container::ROOT_CONTAINER));
root_->AddObserver(this);
- layout_manager_[root_].reset(new FillLayout(root_));
+ layout_managers_[root_].reset(new FillLayout(root_));
app_->OnRootWindowControllerGotRoot(this);
CreateContainers();
- // Override the default layout managers for certain containers.
- mus::Window* user_background =
- GetWindowForContainer(mojom::Container::USER_BACKGROUND);
- layout_manager_[user_background].reset(new BackgroundLayout(user_background));
- mus::Window* login_app = GetWindowForContainer(mojom::Container::LOGIN_APP);
- layout_manager_[login_app].reset(new ScreenlockLayout(login_app));
- mus::Window* user_shelf = GetWindowForContainer(mojom::Container::USER_SHELF);
- layout_manager_[user_shelf].reset(new ShelfLayoutManager(user_shelf));
- mus::Window* status = GetWindowForContainer(mojom::Container::STATUS);
- layout_manager_[status].reset(new StatusLayoutManager(status));
-
- mus::Window* window = GetWindowForContainer(mojom::Container::USER_WINDOWS);
- layout_manager_[window].reset(new WindowLayout(window));
- window_manager_client()->AddActivationParent(window);
-
- // Bubble windows must be allowed to activate because some of them rely on
- // deactivation to close.
- mus::Window* bubbles = GetWindowForContainer(mojom::Container::BUBBLES);
- window_manager_client()->AddActivationParent(bubbles);
+ for (size_t i = 0; i < kNumActivationContainers; ++i) {
+ window_manager_client()->AddActivationParent(
+ GetWindowForContainer(kActivationContainers[i]));
+ }
AddAccelerators();
@@ -186,10 +174,11 @@ void RootWindowController::CreateContainer(
mash::wm::mojom::Container parent_container) {
mus::Window* window = root_->connection()->NewWindow();
window->set_local_id(ContainerToLocalId(container));
- layout_manager_[window].reset(new FillLayout(window));
+ layout_managers_[window].reset(new FillLayout(window));
+
// User private windows are hidden by default until the window manager learns
// the lock state, so their contents are never accidentally revealed.
- window->SetVisible(container != mojom::Container::USER_PRIVATE);
+ window->SetVisible(container != mojom::Container::USER_PRIVATE_CONTAINER);
mus::Window* parent =
root_->GetChildByLocalId(ContainerToLocalId(parent_container));
parent->AddChild(window);
@@ -197,30 +186,66 @@ void RootWindowController::CreateContainer(
void RootWindowController::CreateContainers() {
CreateContainer(mojom::Container::ALL_USER_BACKGROUND,
- mojom::Container::ROOT);
- CreateContainer(mojom::Container::USER_WORKSPACE, mojom::Container::ROOT);
+ mojom::Container::ROOT_CONTAINER);
+ CreateContainer(mojom::Container::USER_CONTAINER,
+ mojom::Container::ROOT_CONTAINER);
CreateContainer(mojom::Container::USER_BACKGROUND,
- mojom::Container::USER_WORKSPACE);
- CreateContainer(mojom::Container::USER_PRIVATE,
- mojom::Container::USER_WORKSPACE);
- CreateContainer(mojom::Container::USER_WINDOWS,
- mojom::Container::USER_PRIVATE);
- CreateContainer(mojom::Container::USER_ALWAYS_ON_TOP_WINDOWS,
- mojom::Container::USER_PRIVATE);
- CreateContainer(mojom::Container::USER_PRESENTATION_WINDOWS,
- mojom::Container::USER_PRIVATE);
- CreateContainer(mojom::Container::USER_SHELF, mojom::Container::USER_PRIVATE);
- CreateContainer(mojom::Container::LOGIN_WINDOWS, mojom::Container::ROOT);
- CreateContainer(mojom::Container::LOGIN_APP, mojom::Container::LOGIN_WINDOWS);
+ mojom::Container::USER_CONTAINER);
+ CreateContainer(mojom::Container::USER_PRIVATE_CONTAINER,
+ mojom::Container::USER_CONTAINER);
+ CreateContainer(mojom::Container::USER_PRIVATE_WINDOWS,
+ mojom::Container::USER_PRIVATE_CONTAINER);
+ CreateContainer(mojom::Container::USER_PRIVATE_ALWAYS_ON_TOP_WINDOWS,
+ mojom::Container::USER_PRIVATE_CONTAINER);
+ CreateContainer(mojom::Container::USER_PRIVATE_DOCKED_WINDOWS,
+ mojom::Container::USER_PRIVATE_CONTAINER);
+ CreateContainer(mojom::Container::USER_PRIVATE_PRESENTATION_WINDOWS,
+ mojom::Container::USER_PRIVATE_CONTAINER);
+ CreateContainer(mojom::Container::USER_PRIVATE_SHELF,
+ mojom::Container::USER_PRIVATE_CONTAINER);
+ CreateContainer(mojom::Container::USER_PRIVATE_PANELS,
+ mojom::Container::USER_PRIVATE_CONTAINER);
+ CreateContainer(mojom::Container::USER_PRIVATE_APP_LIST,
+ mojom::Container::USER_PRIVATE_CONTAINER);
+ CreateContainer(mojom::Container::USER_PRIVATE_SYSTEM_MODAL,
+ mojom::Container::USER_PRIVATE_CONTAINER);
+ CreateContainer(mojom::Container::LOGIN_CONTAINER,
+ mojom::Container::ROOT_CONTAINER);
+ CreateContainer(mojom::Container::LOGIN_WINDOWS,
+ mojom::Container::LOGIN_CONTAINER);
+ CreateContainer(mojom::Container::LOGIN_APP,
+ mojom::Container::LOGIN_CONTAINER);
CreateContainer(mojom::Container::LOGIN_SHELF,
- mojom::Container::LOGIN_WINDOWS);
- CreateContainer(mojom::Container::STATUS, mojom::Container::ROOT);
- CreateContainer(mojom::Container::BUBBLES, mojom::Container::ROOT);
+ mojom::Container::LOGIN_CONTAINER);
+ CreateContainer(mojom::Container::STATUS, mojom::Container::ROOT_CONTAINER);
+ CreateContainer(mojom::Container::BUBBLES, mojom::Container::ROOT_CONTAINER);
CreateContainer(mojom::Container::SYSTEM_MODAL_WINDOWS,
- mojom::Container::ROOT);
- CreateContainer(mojom::Container::KEYBOARD, mojom::Container::ROOT);
- CreateContainer(mojom::Container::MENUS, mojom::Container::ROOT);
- CreateContainer(mojom::Container::TOOLTIPS, mojom::Container::ROOT);
+ mojom::Container::ROOT_CONTAINER);
+ CreateContainer(mojom::Container::KEYBOARD, mojom::Container::ROOT_CONTAINER);
+ CreateContainer(mojom::Container::MENUS, mojom::Container::ROOT_CONTAINER);
+ CreateContainer(mojom::Container::DRAG_AND_TOOLTIPS,
+ mojom::Container::ROOT_CONTAINER);
+
+ // Override the default layout managers for certain containers.
+ mus::Window* user_background =
+ GetWindowForContainer(mojom::Container::USER_BACKGROUND);
+ layout_managers_[user_background].reset(
+ new BackgroundLayout(user_background));
+
+ mus::Window* login_app = GetWindowForContainer(mojom::Container::LOGIN_APP);
+ layout_managers_[login_app].reset(new ScreenlockLayout(login_app));
+
+ mus::Window* user_shelf =
+ GetWindowForContainer(mojom::Container::USER_PRIVATE_SHELF);
+ layout_managers_[user_shelf].reset(new ShelfLayoutManager(user_shelf));
+
+ mus::Window* status = GetWindowForContainer(mojom::Container::STATUS);
+ layout_managers_[status].reset(new StatusLayoutManager(status));
+
James Cook 2016/05/13 17:14:44 Ah, this is much easier to read with newlines. Hoo
+ mus::Window* user_private_windows =
+ GetWindowForContainer(mojom::Container::USER_PRIVATE_WINDOWS);
+ layout_managers_[user_private_windows].reset(
+ new WindowLayout(user_private_windows));
}
} // namespace wm

Powered by Google App Engine
This is Rietveld 408576698