diff options
-rw-r--r-- | chrome/browser/ui/views/panels/panel_view.cc | 22 | ||||
-rw-r--r-- | chrome/browser/ui/views/panels/panel_view.h | 6 |
2 files changed, 7 insertions, 21 deletions
diff --git a/chrome/browser/ui/views/panels/panel_view.cc b/chrome/browser/ui/views/panels/panel_view.cc index 1583368..376c9c2 100644 --- a/chrome/browser/ui/views/panels/panel_view.cc +++ b/chrome/browser/ui/views/panels/panel_view.cc @@ -292,8 +292,6 @@ PanelView::PanelView(Panel* panel, const gfx::Rect& bounds, bool always_on_top) panel->profile()->GetPath()), views::HWNDForWidget(window_)); #endif - - views::WidgetFocusManager::GetInstance()->AddFocusChangeListener(this); } PanelView::~PanelView() { @@ -437,8 +435,6 @@ void PanelView::ClosePanel() { return; } - views::WidgetFocusManager::GetInstance()->RemoveFocusChangeListener(this); - panel_->OnNativePanelClosed(); if (window_) window_->Close(); @@ -982,6 +978,13 @@ void PanelView::OnWidgetActivationChanged(views::Widget* widget, bool active) { #endif panel()->OnActiveStateChanged(focused); + + // Give web contents view a chance to set focus to the appropriate element. + if (focused_) { + content::WebContents* web_contents = panel_->GetWebContents(); + if (web_contents) + web_contents->GetView()->RestoreFocus(); + } } void PanelView::OnWidgetBoundsChanged(views::Widget* widget, @@ -990,17 +993,6 @@ void PanelView::OnWidgetBoundsChanged(views::Widget* widget, panel()->collection()->OnPanelResizedByMouse(panel(), new_bounds); } -void PanelView::OnNativeFocusChange(gfx::NativeView focused_before, - gfx::NativeView focused_now) { - if (focused_now != window_->GetNativeView()) - return; - - // Give web contents view a chance to set focus to the appropriate element. - content::WebContents* web_contents = panel_->GetWebContents(); - if (web_contents) - web_contents->GetView()->RestoreFocus(); -} - bool PanelView::OnTitlebarMousePressed(const gfx::Point& mouse_location) { mouse_pressed_ = true; mouse_dragging_state_ = NO_DRAGGING; diff --git a/chrome/browser/ui/views/panels/panel_view.h b/chrome/browser/ui/views/panels/panel_view.h index 54c078c..93cc9fd 100644 --- a/chrome/browser/ui/views/panels/panel_view.h +++ b/chrome/browser/ui/views/panels/panel_view.h @@ -8,7 +8,6 @@ #include "base/memory/scoped_ptr.h" #include "chrome/browser/ui/panels/native_panel.h" #include "ui/base/animation/animation_delegate.h" -#include "ui/views/focus/widget_focus_manager.h" #include "ui/views/widget/widget_delegate.h" #include "ui/views/widget/widget_observer.h" @@ -28,7 +27,6 @@ class WebView; class PanelView : public NativePanel, public views::WidgetObserver, public views::WidgetDelegateView, - public views::WidgetFocusChangeListener, #if defined(OS_WIN) public ui::HWNDMessageFilter, #endif @@ -151,10 +149,6 @@ class PanelView : public NativePanel, virtual void OnWidgetBoundsChanged(views::Widget* widget, const gfx::Rect& new_bounds) OVERRIDE; - // Overridden from views::WidgetFocusChangeListener: - virtual void OnNativeFocusChange(gfx::NativeView focused_before, - gfx::NativeView focused_now) OVERRIDE; - // Overridden from ui::HWNDMessageFilter: #if defined(OS_WIN) virtual bool FilterMessage(HWND hwnd, |