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

Unified Diff: ash/display/window_tree_host_manager.cc

Issue 2445583002: Relocate display_manager from ash to ui (Closed)
Patch Set: fix windows build Created 4 years, 2 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 | « ash/display/window_tree_host_manager.h ('k') | ash/display/window_tree_host_manager_unittest.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: ash/display/window_tree_host_manager.cc
diff --git a/ash/display/window_tree_host_manager.cc b/ash/display/window_tree_host_manager.cc
index a158d60993af9f481ddef7ddbbc9b3244cf1ea3f..d23d5c80493cd26610c8f3db8baa312d5ce38ee1 100644
--- a/ash/display/window_tree_host_manager.cc
+++ b/ash/display/window_tree_host_manager.cc
@@ -13,7 +13,6 @@
#include "ash/common/ash_switches.h"
#include "ash/common/system/tray/system_tray.h"
#include "ash/display/cursor_window_controller.h"
-#include "ash/display/display_manager.h"
#include "ash/display/mirror_window_controller.h"
#include "ash/display/root_window_transformers.h"
#include "ash/host/ash_window_tree_host.h"
@@ -45,6 +44,7 @@
#include "ui/display/display.h"
#include "ui/display/manager/display_layout.h"
#include "ui/display/manager/display_layout_store.h"
+#include "ui/display/manager/display_manager.h"
#include "ui/display/screen.h"
#include "ui/wm/core/coordinate_conversion.h"
#include "ui/wm/public/activation_client.h"
@@ -78,7 +78,7 @@ int64_t primary_display_id = -1;
const float kCursorMultiplierForExternalDisplays = 1.2f;
#endif
-DisplayManager* GetDisplayManager() {
+display::DisplayManager* GetDisplayManager() {
return Shell::GetInstance()->display_manager();
}
@@ -300,7 +300,7 @@ void WindowTreeHostManager::CreatePrimaryHost(
void WindowTreeHostManager::InitHosts() {
RootWindowController::CreateForPrimaryDisplay(
window_tree_hosts_[primary_display_id]);
- DisplayManager* display_manager = GetDisplayManager();
+ display::DisplayManager* display_manager = GetDisplayManager();
for (size_t i = 0; i < display_manager->GetNumDisplays(); ++i) {
const display::Display& display = display_manager->GetDisplayAt(i);
if (primary_display_id != display.id()) {
@@ -412,7 +412,7 @@ void WindowTreeHostManager::SetPrimaryDisplayId(int64_t id) {
return;
}
- DisplayManager* display_manager = GetDisplayManager();
+ display::DisplayManager* display_manager = GetDisplayManager();
DCHECK(new_primary_display.is_valid());
DCHECK(display_manager->GetDisplayForId(new_primary_display.id()).is_valid());
@@ -477,7 +477,7 @@ void WindowTreeHostManager::UpdateMouseLocationAfterDisplayChange() {
display::Screen::GetScreen()->GetCursorScreenPoint();
gfx::Point target_location_in_native;
int64_t closest_distance_squared = -1;
- DisplayManager* display_manager = GetDisplayManager();
+ display::DisplayManager* display_manager = GetDisplayManager();
aura::Window* dst_root_window = nullptr;
for (size_t i = 0; i < display_manager->GetNumDisplays(); ++i) {
@@ -571,8 +571,8 @@ void WindowTreeHostManager::OnDisplayAdded(const display::Display& display) {
// create new WTH for primary display instead of reusing.
if (primary_tree_host_for_replace_ &&
(GetRootWindowSettings(GetWindow(primary_tree_host_for_replace_))
- ->display_id == DisplayManager::kUnifiedDisplayId ||
- display.id() == DisplayManager::kUnifiedDisplayId)) {
+ ->display_id == display::DisplayManager::kUnifiedDisplayId ||
+ display.id() == display::DisplayManager::kUnifiedDisplayId)) {
DCHECK_EQ(display::Display::kInvalidDisplayID, primary_display_id);
primary_display_id = display.id();
@@ -720,7 +720,7 @@ void WindowTreeHostManager::OnHostResized(const aura::WindowTreeHost* host) {
display::Screen::GetScreen()->GetDisplayNearestWindow(
const_cast<aura::Window*>(host->window()));
- DisplayManager* display_manager = GetDisplayManager();
+ display::DisplayManager* display_manager = GetDisplayManager();
if (display_manager->UpdateDisplayBounds(display.id(), host->GetBounds())) {
mirror_window_controller_->UpdateWindow();
cursor_window_controller_->UpdateContainer();
@@ -728,7 +728,7 @@ void WindowTreeHostManager::OnHostResized(const aura::WindowTreeHost* host) {
}
void WindowTreeHostManager::CreateOrUpdateMirroringDisplay(
- const DisplayInfoList& info_list) {
+ const display::DisplayInfoList& info_list) {
if (GetDisplayManager()->IsInMirrorMode() ||
GetDisplayManager()->IsInUnifiedMode()) {
mirror_window_controller_->UpdateWindow(info_list);
@@ -766,10 +766,11 @@ void WindowTreeHostManager::PreDisplayConfigurationChange(bool clear_focus) {
cursor_location_in_native_coords_for_restore_ = point_in_native;
}
-void WindowTreeHostManager::PostDisplayConfigurationChange() {
+void WindowTreeHostManager::PostDisplayConfigurationChange(
+ bool must_clear_window) {
focus_activation_store_->Restore();
- DisplayManager* display_manager = GetDisplayManager();
+ display::DisplayManager* display_manager = GetDisplayManager();
display::DisplayLayoutStore* layout_store = display_manager->layout_store();
if (display_manager->num_connected_displays() > 1) {
display::DisplayIdList list = display_manager->GetCurrentDisplayIdList();
@@ -798,6 +799,11 @@ void WindowTreeHostManager::PostDisplayConfigurationChange() {
for (auto& observer : observers_)
observer.OnDisplayConfigurationChanged();
UpdateMouseLocationAfterDisplayChange();
+
+#if defined(USE_X11) && defined(OS_CHROMEOS)
+ if (must_clear_window)
+ ui::ClearX11DefaultRootWindow();
+#endif
}
#if defined(OS_CHROMEOS)
@@ -834,7 +840,7 @@ AshWindowTreeHost* WindowTreeHostManager::AddWindowTreeHostForDisplay(
AshWindowTreeHostInitParams params_with_bounds(init_params);
params_with_bounds.initial_bounds = display_info.bounds_in_native();
params_with_bounds.offscreen =
- display.id() == DisplayManager::kUnifiedDisplayId;
+ display.id() == display::DisplayManager::kUnifiedDisplayId;
AshWindowTreeHost* ash_host = AshWindowTreeHost::Create(params_with_bounds);
aura::WindowTreeHost* host = ash_host->AsWindowTreeHost();
if (!input_method_) { // Singleton input method instance for Ash.
« no previous file with comments | « ash/display/window_tree_host_manager.h ('k') | ash/display/window_tree_host_manager_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698