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

Unified Diff: components/mus/ws/display.cc

Issue 2072343002: Changes how window manager obtains WindowTree from mus (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: include Created 4 years, 6 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
« no previous file with comments | « components/mus/ws/display.h ('k') | components/mus/ws/display_unittest.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: components/mus/ws/display.cc
diff --git a/components/mus/ws/display.cc b/components/mus/ws/display.cc
index 879c19aadf19b1de5e7dae183b43826e2ebe8e79..45d116dd7fbb45415d494f5915788101c89eb5b1 100644
--- a/components/mus/ws/display.cc
+++ b/components/mus/ws/display.cc
@@ -15,8 +15,8 @@
#include "components/mus/ws/focus_controller.h"
#include "components/mus/ws/platform_display.h"
#include "components/mus/ws/platform_display_init_params.h"
-#include "components/mus/ws/window_manager_factory_service.h"
#include "components/mus/ws/window_manager_state.h"
+#include "components/mus/ws/window_manager_window_tree_factory.h"
#include "components/mus/ws/window_server.h"
#include "components/mus/ws/window_server_delegate.h"
#include "components/mus/ws/window_tree.h"
@@ -36,14 +36,15 @@ Display::Display(WindowServer* window_server,
last_cursor_(ui::kCursorNone) {
platform_display_->Init(this);
- window_server_->window_manager_factory_registry()->AddObserver(this);
+ window_server_->window_manager_window_tree_factory_set()->AddObserver(this);
window_server_->user_id_tracker()->AddObserver(this);
}
Display::~Display() {
window_server_->user_id_tracker()->RemoveObserver(this);
- window_server_->window_manager_factory_registry()->RemoveObserver(this);
+ window_server_->window_manager_window_tree_factory_set()->RemoveObserver(
+ this);
if (!focus_controller_) {
focus_controller_->RemoveObserver(this);
@@ -231,31 +232,31 @@ void Display::InitWindowManagersIfNecessary() {
window_manager_state_map_[shell::mojom::kRootUserID] = std::move(wms_ptr);
wms->tree_ = binding_->CreateWindowTree(wms->root());
} else {
- CreateWindowManagerStatesFromRegistry();
+ CreateWindowManagerStatesFromFactories();
}
}
-void Display::CreateWindowManagerStatesFromRegistry() {
- std::vector<WindowManagerFactoryService*> services =
- window_server_->window_manager_factory_registry()->GetServices();
- for (WindowManagerFactoryService* service : services) {
- if (service->window_manager_factory())
- CreateWindowManagerStateFromService(service);
+void Display::CreateWindowManagerStatesFromFactories() {
+ std::vector<WindowManagerWindowTreeFactory*> factories =
+ window_server_->window_manager_window_tree_factory_set()->GetFactories();
+ for (WindowManagerWindowTreeFactory* factory : factories) {
+ if (factory->window_tree())
+ CreateWindowManagerStateFromFactory(factory);
}
}
-void Display::CreateWindowManagerStateFromService(
- WindowManagerFactoryService* service) {
+void Display::CreateWindowManagerStateFromFactory(
+ WindowManagerWindowTreeFactory* factory) {
std::unique_ptr<WindowManagerState> wms_ptr(new WindowManagerState(
- this, platform_display_.get(), service->user_id()));
+ this, platform_display_.get(), factory->user_id()));
WindowManagerState* wms = wms_ptr.get();
- window_manager_state_map_[service->user_id()] = std::move(wms_ptr);
- wms->tree_ = window_server_->CreateTreeForWindowManager(
- this, service->window_manager_factory(), wms->root(), service->user_id());
+ window_manager_state_map_[factory->user_id()] = std::move(wms_ptr);
+ wms->tree_ = factory->window_tree();
if (!binding_) {
const bool is_active =
- service->user_id() == window_server_->user_id_tracker()->active_id();
+ factory->user_id() == window_server_->user_id_tracker()->active_id();
wms->root()->SetVisible(is_active);
+ wms->tree_->AddRootForWindowManager(wms->root());
}
}
@@ -444,9 +445,10 @@ void Display::OnUserIdRemoved(const UserId& id) {
DCHECK_EQ(0u, window_manager_state_map_.count(id));
}
-void Display::OnWindowManagerFactorySet(WindowManagerFactoryService* service) {
+void Display::OnWindowManagerWindowTreeFactoryReady(
+ WindowManagerWindowTreeFactory* factory) {
if (!binding_)
- CreateWindowManagerStateFromService(service);
+ CreateWindowManagerStateFromFactory(factory);
}
} // namespace ws
« no previous file with comments | « components/mus/ws/display.h ('k') | components/mus/ws/display_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698