| Index: ash/display/display_controller.cc
|
| diff --git a/ash/display/display_controller.cc b/ash/display/display_controller.cc
|
| index 99c997f246001f49af953691379c99b688772e87..aebe47c29b974cb45d983d4f98cdacea6d312bc3 100644
|
| --- a/ash/display/display_controller.cc
|
| +++ b/ash/display/display_controller.cc
|
| @@ -549,15 +549,6 @@ bool DisplayController::UpdateWorkAreaOfDisplayNearestWindow(
|
| return GetDisplayManager()->UpdateWorkAreaOfDisplay(id, insets);
|
| }
|
|
|
| -void DisplayController::OnDisplayBoundsChanged(const gfx::Display& display) {
|
| - const DisplayInfo& display_info =
|
| - GetDisplayManager()->GetDisplayInfo(display.id());
|
| - DCHECK(!display_info.bounds_in_native().IsEmpty());
|
| - AshWindowTreeHost* ash_host = window_tree_hosts_[display.id()];
|
| - ash_host->AsWindowTreeHost()->SetBounds(display_info.bounds_in_native());
|
| - SetDisplayPropertiesOnHost(ash_host, display);
|
| -}
|
| -
|
| void DisplayController::OnDisplayAdded(const gfx::Display& display) {
|
| if (primary_tree_host_for_replace_) {
|
| DCHECK(window_tree_hosts_.empty());
|
| @@ -612,8 +603,9 @@ void DisplayController::OnDisplayRemoved(const gfx::Display& display) {
|
| GetRootWindowSettings(GetWindow(primary_host))->display_id =
|
| primary_display_id;
|
|
|
| - OnDisplayBoundsChanged(
|
| - GetDisplayManager()->GetDisplayForId(primary_display_id));
|
| + OnDisplayMetricsChanged(
|
| + GetDisplayManager()->GetDisplayForId(primary_display_id),
|
| + DISPLAY_METRIC_BOUNDS);
|
| }
|
| RootWindowController* controller =
|
| GetRootWindowController(GetWindow(host_to_delete));
|
| @@ -625,6 +617,20 @@ void DisplayController::OnDisplayRemoved(const gfx::Display& display) {
|
| base::MessageLoop::current()->DeleteSoon(FROM_HERE, controller);
|
| }
|
|
|
| +void DisplayController::OnDisplayMetricsChanged(const gfx::Display& display,
|
| + uint32_t metrics) {
|
| + if (!(metrics & (DISPLAY_METRIC_BOUNDS | DISPLAY_METRIC_ROTATION |
|
| + DISPLAY_METRIC_DEVICE_SCALE_FACTOR)))
|
| + return;
|
| +
|
| + const DisplayInfo& display_info =
|
| + GetDisplayManager()->GetDisplayInfo(display.id());
|
| + DCHECK(!display_info.bounds_in_native().IsEmpty());
|
| + AshWindowTreeHost* ash_host = window_tree_hosts_[display.id()];
|
| + ash_host->AsWindowTreeHost()->SetBounds(display_info.bounds_in_native());
|
| + SetDisplayPropertiesOnHost(ash_host, display);
|
| +}
|
| +
|
| void DisplayController::OnHostResized(const aura::WindowTreeHost* host) {
|
| gfx::Display display = Shell::GetScreen()->GetDisplayNearestWindow(
|
| const_cast<aura::Window*>(host->window()));
|
|
|