Chromium Code Reviews| Index: ash/display/display_controller.cc |
| diff --git a/ash/display/display_controller.cc b/ash/display/display_controller.cc |
| index c8cad9e5eefd300a41947a2541f2d0ad2a8d5e8f..f1bdb813d0dd93aa228e21e7eac95703d5752dcf 100644 |
| --- a/ash/display/display_controller.cc |
| +++ b/ash/display/display_controller.cc |
| @@ -543,15 +543,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()); |
| @@ -605,8 +596,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_METRICS_BOUNDS); |
| } |
| RootWindowController* controller = |
| GetRootWindowController(GetWindow(host_to_delete)); |
| @@ -618,6 +610,19 @@ void DisplayController::OnDisplayRemoved(const gfx::Display& display) { |
| base::MessageLoop::current()->DeleteSoon(FROM_HERE, controller); |
| } |
| +void DisplayController::OnDisplayMetricsChanged(const gfx::Display& display, |
| + DisplayObserver::MetricsType metrics) { |
| + if (!(metrics & DISPLAY_METRICS_BOUNDS)) |
|
oshima
2014/05/08 18:06:50
we need to update this for rotation change as well
mlamouri (slow - plz ping)
2014/05/09 16:11:39
Done.
|
| + 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())); |