| Index: views/desktop/desktop_window_view.cc
|
| diff --git a/views/desktop/desktop_window_view.cc b/views/desktop/desktop_window_view.cc
|
| index b2797973e6fcf42c7b32dc13658b387015e094ff..3668c25f4e0e5b2d6288f8cc9f4f6c1cf0dac7ca 100644
|
| --- a/views/desktop/desktop_window_view.cc
|
| +++ b/views/desktop/desktop_window_view.cc
|
| @@ -138,15 +138,10 @@ void DesktopWindowView::ActivateWidget(Widget* widget) {
|
| if (widget && widget->IsActive())
|
| return;
|
|
|
| - if (active_native_widget_)
|
| - active_native_widget_->OnActivate(false);
|
| if (widget) {
|
| - widget->MoveToTop();
|
| - active_native_widget_ =
|
| - static_cast<NativeWidgetViews*>(widget->native_widget());
|
| - active_native_widget_->OnActivate(true);
|
| if (!widget->HasObserver(this))
|
| widget->AddObserver(this);
|
| + widget->Activate();
|
| }
|
| }
|
|
|
| @@ -252,6 +247,14 @@ void DesktopWindowView::OnWidgetVisibilityChanged(Widget* widget,
|
|
|
| void DesktopWindowView::OnWidgetActivationChanged(Widget* widget,
|
| bool active) {
|
| + if (active) {
|
| + if (active_native_widget_)
|
| + active_native_widget_->GetWidget()->Deactivate();
|
| + active_native_widget_ =
|
| + static_cast<NativeWidgetViews*>(widget->native_widget());
|
| + } else if (widget == active_native_widget_->GetWidget()) {
|
| + active_native_widget_ = NULL;
|
| + }
|
| }
|
|
|
| } // namespace desktop
|
|
|