diff options
author | twiz@google.com <twiz@google.com@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-12-10 02:30:52 +0000 |
---|---|---|
committer | twiz@google.com <twiz@google.com@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-12-10 02:30:52 +0000 |
commit | 9f0e88f137d37e8befd1f59a517e1227343a850b (patch) | |
tree | 23e6c7cb2cb7e7f138c1b8a0fc00bb57c74e15df /chrome | |
parent | 094c3e83ffd671ae04b9fdcde2285c5a19235dec (diff) | |
download | chromium_src-9f0e88f137d37e8befd1f59a517e1227343a850b.zip chromium_src-9f0e88f137d37e8befd1f59a517e1227343a850b.tar.gz chromium_src-9f0e88f137d37e8befd1f59a517e1227343a850b.tar.bz2 |
Simple fix preventing a potential crash location when shifting focus from an experimental extension popup view.
BUG=NONE
TEST=ExtensionApiTest.Popup
Review URL: http://codereview.chromium.org/5733002
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@68814 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome')
-rw-r--r-- | chrome/browser/extensions/extension_popup_api.cc | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/chrome/browser/extensions/extension_popup_api.cc b/chrome/browser/extensions/extension_popup_api.cc index d973ea5..25d3657 100644 --- a/chrome/browser/extensions/extension_popup_api.cc +++ b/chrome/browser/extensions/extension_popup_api.cc @@ -243,6 +243,12 @@ class ExtensionPopupHost : public ExtensionPopup::Observer, // If no view is to be focused, then Chrome was deactivated, so hide the // popup. if (focused_now) { + // On XP, the focus change handler may be invoked when the delegate has + // already been revoked. + // TODO(twiz@chromium.org): Resolve the trigger of this behaviour. + if (!dispatcher_ || !dispatcher_->delegate()) + return; + gfx::NativeView host_view = dispatcher_->delegate()->GetNativeViewOfHost(); |