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

Unified Diff: ash/display/window_tree_host_manager.cc

Issue 2840043003: chromeos: Makes mushrome use simplified display management (Closed)
Patch Set: merge Created 3 years, 8 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/mirror_window_controller.cc ('k') | ash/host/transformer_helper.h » ('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 7f11547024ddfca02b103ad16dc651528976d39b..bce98e78e056894aeb9fad3559837a808bcb5f3d 100644
--- a/ash/display/window_tree_host_manager.cc
+++ b/ash/display/window_tree_host_manager.cc
@@ -524,7 +524,9 @@ void WindowTreeHostManager::UpdateMouseLocationAfterDisplayChange() {
// The cursor's native position did not change but its screen position did
// change. This occurs when the scale factor or the rotation of the display
// that the cursor is on changes.
- Shell::Get()->cursor_manager()->SetDisplay(target_display);
+ // TODO: conditional should not be necessary. http://crbug.com/631103.
+ if (Shell::Get()->cursor_manager())
+ Shell::Get()->cursor_manager()->SetDisplay(target_display);
// Update the cursor's root location. This ends up dispatching a synthetic
// mouse move. The synthetic mouse move updates the composited cursor's
@@ -813,22 +815,29 @@ AshWindowTreeHost* WindowTreeHostManager::AddWindowTreeHostForDisplay(
params_with_bounds.initial_bounds = display_info.bounds_in_native();
params_with_bounds.offscreen =
display.id() == display::DisplayManager::kUnifiedDisplayId;
+ params_with_bounds.display_id = display.id();
+ params_with_bounds.device_scale_factor = display.device_scale_factor();
+ params_with_bounds.ui_scale_factor = display_info.configured_ui_scale();
// The AshWindowTreeHost ends up owned by the RootWindowControllers created
// by this class.
AshWindowTreeHost* ash_host =
AshWindowTreeHost::Create(params_with_bounds).release();
aura::WindowTreeHost* host = ash_host->AsWindowTreeHost();
- if (!input_method_) { // Singleton input method instance for Ash.
- input_method_ = ui::CreateInputMethod(this, host->GetAcceleratedWidget());
- // Makes sure the input method is focused by default when created, because
- // Ash uses singleton InputMethod and it won't call OnFocus/OnBlur when the
- // active window changed.
- input_method_->OnFocus();
- input_method_event_handler_.reset(
- new InputMethodEventHandler(input_method_.get()));
+ // TODO: Config::MUS should not install an InputMethod.
+ // http://crbug.com/706913
+ if (!host->has_input_method()) {
+ if (!input_method_) { // Singleton input method instance for Ash.
+ input_method_ = ui::CreateInputMethod(this, host->GetAcceleratedWidget());
+ // Makes sure the input method is focused by default when created, because
+ // Ash uses singleton InputMethod and it won't call OnFocus/OnBlur when
+ // the active window changed.
+ input_method_->OnFocus();
+ input_method_event_handler_.reset(
+ new InputMethodEventHandler(input_method_.get()));
+ }
+ host->SetSharedInputMethod(input_method_.get());
+ ash_host->set_input_method_handler(input_method_event_handler_.get());
}
- host->SetSharedInputMethod(input_method_.get());
- ash_host->set_input_method_handler(input_method_event_handler_.get());
host->window()->SetName(base::StringPrintf(
"%sRootWindow-%d", params_with_bounds.offscreen ? "Offscreen" : "",
« no previous file with comments | « ash/display/mirror_window_controller.cc ('k') | ash/host/transformer_helper.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698