summaryrefslogtreecommitdiffstats
path: root/chrome
diff options
context:
space:
mode:
authortwiz@google.com <twiz@google.com@0039d316-1c4b-4281-b951-d872f2087c98>2010-12-10 02:30:52 +0000
committertwiz@google.com <twiz@google.com@0039d316-1c4b-4281-b951-d872f2087c98>2010-12-10 02:30:52 +0000
commit9f0e88f137d37e8befd1f59a517e1227343a850b (patch)
tree23e6c7cb2cb7e7f138c1b8a0fc00bb57c74e15df /chrome
parent094c3e83ffd671ae04b9fdcde2285c5a19235dec (diff)
downloadchromium_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.cc6
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();