| Index: ui/views/widget/widget.cc
|
| diff --git a/ui/views/widget/widget.cc b/ui/views/widget/widget.cc
|
| index 64f5541bb811e63f509079eb3d18a0249a2244ec..d4b16bb769a39863a114f6d8f2104972f99eeb83 100644
|
| --- a/ui/views/widget/widget.cc
|
| +++ b/ui/views/widget/widget.cc
|
| @@ -1127,17 +1127,17 @@ void Widget::OnNativeWidgetSizeChanged(const gfx::Size& new_size) {
|
| focused_view->GetInputMethod()->OnCaretBoundsChanged(focused_view);
|
| }
|
| }
|
| - // Size changed notifications can fire prior to full initialization
|
| - // i.e. during session restore. Avoid saving session state during these
|
| - // startup procedures.
|
| - if (native_widget_initialized_)
|
| - SaveWindowPlacement();
|
| + SaveWindowPlacementIfInitialized();
|
|
|
| FOR_EACH_OBSERVER(WidgetObserver, observers_, OnWidgetBoundsChanged(
|
| this,
|
| GetWindowBoundsInScreen()));
|
| }
|
|
|
| +void Widget::OnNativeWidgetWindowShowStateChanged() {
|
| + SaveWindowPlacementIfInitialized();
|
| +}
|
| +
|
| void Widget::OnNativeWidgetBeginUserBoundsChange() {
|
| widget_delegate_->OnWindowBeginUserBoundsChange();
|
| }
|
| @@ -1426,6 +1426,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;
|
|
|