Index: services/ui/ws/display_manager.cc |
diff --git a/services/ui/ws/display_manager.cc b/services/ui/ws/display_manager.cc |
index 2cbaa8ebadeae044443241addcdebbd60547d170..06b19e60b73a378a599663cdf2f2de73e314b891 100644 |
--- a/services/ui/ws/display_manager.cc |
+++ b/services/ui/ws/display_manager.cc |
@@ -8,11 +8,11 @@ |
#include "base/memory/ptr_util.h" |
#include "base/trace_event/trace_event.h" |
+#include "services/ui/display/viewport_metrics.h" |
#include "services/ui/ws/cursor_location_manager.h" |
#include "services/ui/ws/display.h" |
#include "services/ui/ws/display_binding.h" |
#include "services/ui/ws/event_dispatcher.h" |
-#include "services/ui/ws/platform_display_init_params.h" |
#include "services/ui/ws/server_window.h" |
#include "services/ui/ws/user_display_manager.h" |
#include "services/ui/ws/user_display_manager_delegate.h" |
@@ -98,9 +98,9 @@ std::set<const Display*> DisplayManager::displays() const { |
return ret_value; |
} |
-void DisplayManager::OnDisplayUpdate(Display* display) { |
+void DisplayManager::OnDisplayUpdate(const display::Display& display) { |
for (const auto& pair : user_display_managers_) |
- pair.second->OnDisplayUpdate(display->ToDisplay()); |
+ pair.second->OnDisplayUpdate(display); |
} |
Display* DisplayManager::GetDisplayContaining(const ServerWindow* window) { |
@@ -181,34 +181,33 @@ void DisplayManager::OnActiveUserIdChanged(const UserId& previously_active_id, |
current_window_manager_state->Activate(mouse_location_on_screen); |
} |
-void DisplayManager::OnDisplayAdded(int64_t id, |
+void DisplayManager::OnDisplayAdded(const display::Display& display, |
const display::ViewportMetrics& metrics) { |
- TRACE_EVENT1("mus-ws", "OnDisplayAdded", "id", id); |
- PlatformDisplayInitParams params; |
- params.display_id = id; |
- params.metrics = metrics; |
+ DVLOG(3) << "OnDisplayAdded: " << display.ToString(); |
- ws::Display* display = new ws::Display(window_server_); |
- display->Init(params, nullptr); |
+ ws::Display* ws_display = new ws::Display(window_server_); |
+ ws_display->SetDisplay(display); |
+ ws_display->Init(metrics, nullptr); |
} |
-void DisplayManager::OnDisplayRemoved(int64_t id) { |
- TRACE_EVENT1("mus-ws", "OnDisplayRemoved", "id", id); |
- Display* display = GetDisplayById(id); |
+void DisplayManager::OnDisplayRemoved(int64_t display_id) { |
+ DVLOG(3) << "OnDisplayRemoved: " << display_id; |
+ Display* display = GetDisplayById(display_id); |
if (display) |
DestroyDisplay(display); |
} |
void DisplayManager::OnDisplayModified( |
- int64_t id, |
+ const display::Display& display, |
const display::ViewportMetrics& metrics) { |
- TRACE_EVENT1("mus-ws", "OnDisplayModified", "id", id); |
+ DVLOG(3) << "OnDisplayModified: " << display.ToString(); |
- Display* display = GetDisplayById(id); |
- DCHECK(display); |
+ Display* ws_display = GetDisplayById(display.id()); |
+ DCHECK(ws_display); |
+ ws_display->SetDisplay(display); |
// Update the platform display and check if anything has actually changed. |
- if (!display->platform_display()->UpdateViewportMetrics(metrics)) |
+ if (!ws_display->platform_display()->UpdateViewportMetrics(metrics)) |
return; |
// Send IPCs to WM clients first with new display information. |
@@ -216,15 +215,16 @@ void DisplayManager::OnDisplayModified( |
window_server_->window_manager_window_tree_factory_set()->GetFactories(); |
for (WindowManagerWindowTreeFactory* factory : factories) { |
if (factory->window_tree()) |
- factory->window_tree()->OnWmDisplayModified(display->ToDisplay()); |
+ factory->window_tree()->OnWmDisplayModified(display); |
} |
// Change the root ServerWindow size after sending IPC to WM. |
- display->OnViewportMetricsChanged(metrics); |
+ ws_display->OnViewportMetricsChanged(metrics); |
OnDisplayUpdate(display); |
} |
void DisplayManager::OnPrimaryDisplayChanged(int64_t primary_display_id) { |
+ DVLOG(3) << "OnPrimaryDisplayChanged: " << primary_display_id; |
// TODO(kylechar): Send IPCs to WM clients first. |
// Send IPCs to any DisplayManagerObservers. |