diff options
author | msw@chromium.org <msw@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-12-10 03:57:32 +0000 |
---|---|---|
committer | msw@chromium.org <msw@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-12-10 03:57:32 +0000 |
commit | e26cb1a1961966b00644454c23d2c3ad31d04739 (patch) | |
tree | 66280c3cd050bc4cde6260acaf29835c618366b7 /ui/views/focus/widget_focus_manager.cc | |
parent | cce130fece3e4da07faf0908d6028a8970a4b81f (diff) | |
download | chromium_src-e26cb1a1961966b00644454c23d2c3ad31d04739.zip chromium_src-e26cb1a1961966b00644454c23d2c3ad31d04739.tar.gz chromium_src-e26cb1a1961966b00644454c23d2c3ad31d04739.tar.bz2 |
Don't close ExtensionPopups on child window focus (Win, non-Aura).
Fixes crash on JS dialog popups from the extension bubbles.
Check for child HWND in WidgetFocusChangeListener::OnNativeFocusChange.
Code from BubbleWidget in browser_bubble_win.cc (crrev.com/112278)
See Issue 106958 for Aura, the dialog&bubble close early without crashing.
BUG=106723,106958
TEST=The js alert extension attached to the issue doesn't crash, popup works on non-aura.
Review URL: http://codereview.chromium.org/8879045
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@113936 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'ui/views/focus/widget_focus_manager.cc')
-rw-r--r-- | ui/views/focus/widget_focus_manager.cc | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/ui/views/focus/widget_focus_manager.cc b/ui/views/focus/widget_focus_manager.cc index d2b67d7..d50d490 100644 --- a/ui/views/focus/widget_focus_manager.cc +++ b/ui/views/focus/widget_focus_manager.cc @@ -27,7 +27,7 @@ void WidgetFocusManager::RemoveFocusChangeListener( void WidgetFocusManager::OnWidgetFocusEvent(gfx::NativeView focused_before, gfx::NativeView focused_now) { - if (enabled_) { + if (enabled_ && focused_before != focused_now) { FOR_EACH_OBSERVER(WidgetFocusChangeListener, focus_change_listeners_, OnNativeFocusChange(focused_before, focused_now)); } |