Chromium Code Reviews| Index: ui/views/widget/widget.cc |
| diff --git a/ui/views/widget/widget.cc b/ui/views/widget/widget.cc |
| index 64f5541bb811e63f509079eb3d18a0249a2244ec..0a997ed061f9ba4f02a786b9ba5c2df417a149ff 100644 |
| --- a/ui/views/widget/widget.cc |
| +++ b/ui/views/widget/widget.cc |
| @@ -1128,16 +1128,20 @@ void Widget::OnNativeWidgetSizeChanged(const gfx::Size& new_size) { |
| } |
| } |
| // Size changed notifications can fire prior to full initialization |
|
sky
2014/08/12 13:21:28
1130-1131 and 1140-1141 can now be nuked since cov
jackhou1
2014/08/13 01:57:51
Done.
|
| - // i.e. during session restore. Avoid saving session state during these |
| - // startup procedures. |
| - if (native_widget_initialized_) |
| - SaveWindowPlacement(); |
| + // i.e. during session restore. |
| + SaveWindowPlacementIfInitialized(); |
| FOR_EACH_OBSERVER(WidgetObserver, observers_, OnWidgetBoundsChanged( |
| this, |
| GetWindowBoundsInScreen())); |
| } |
| +void Widget::OnNativeWidgetWindowShowStateChanged() { |
| + // Size changed notifications can fire prior to full initialization |
| + // i.e. during session restore. |
| + SaveWindowPlacementIfInitialized(); |
| +} |
| + |
| void Widget::OnNativeWidgetBeginUserBoundsChange() { |
| widget_delegate_->OnWindowBeginUserBoundsChange(); |
| } |
| @@ -1426,6 +1430,11 @@ void Widget::SaveWindowPlacement() { |
| widget_delegate_->SaveWindowPlacement(bounds, show_state); |
| } |
| +void Widget::SaveWindowPlacementIfInitialized() { |
| + if (native_widget_initialized_) |
| + SaveWindowPlacement(); |
| +} |
| + |
| void Widget::SetInitialBounds(const gfx::Rect& bounds) { |
| if (!non_client_view_) |
| return; |