summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authormpcomplete@chromium.org <mpcomplete@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-06-07 21:59:10 +0000
committermpcomplete@chromium.org <mpcomplete@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-06-07 21:59:10 +0000
commit475c21f11e685c4222cda748f77daba9beb8400b (patch)
tree497147c5269637cc2a11b456867f8be6e6526678
parentc61870842d8b24bca42bb1b4cc5d8629ae22e83c (diff)
downloadchromium_src-475c21f11e685c4222cda748f77daba9beb8400b.zip
chromium_src-475c21f11e685c4222cda748f77daba9beb8400b.tar.gz
chromium_src-475c21f11e685c4222cda748f77daba9beb8400b.tar.bz2
Add some NULL-checks for ExtensionHost::extension to fix a crash bug.
BUG=131401 TEST=no Review URL: https://chromiumcodereview.appspot.com/10538041 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@141090 0039d316-1c4b-4281-b951-d872f2087c98
-rw-r--r--chrome/browser/extensions/extension_event_router.cc3
-rw-r--r--chrome/browser/extensions/extension_host.cc4
2 files changed, 5 insertions, 2 deletions
diff --git a/chrome/browser/extensions/extension_event_router.cc b/chrome/browser/extensions/extension_event_router.cc
index ab07200..f7050e4 100644
--- a/chrome/browser/extensions/extension_event_router.cc
+++ b/chrome/browser/extensions/extension_event_router.cc
@@ -431,6 +431,9 @@ void ExtensionEventRouter::OnEventAck(
// The event ACK is routed to the background host, so this should never be
// NULL.
CHECK(host);
+ if (!host->extension())
+ return;
+
CHECK(host->extension()->has_lazy_background_page());
pm->DecrementLazyKeepaliveCount(host->extension());
}
diff --git a/chrome/browser/extensions/extension_host.cc b/chrome/browser/extensions/extension_host.cc
index fd3a2a3..32a5e25 100644
--- a/chrome/browser/extensions/extension_host.cc
+++ b/chrome/browser/extensions/extension_host.cc
@@ -159,7 +159,7 @@ ExtensionHost::ExtensionHost(const extensions::Extension* extension,
ExtensionHost::~ExtensionHost() {
if (extension_host_type_ == chrome::VIEW_TYPE_EXTENSION_BACKGROUND_PAGE &&
- extension_->has_lazy_background_page()) {
+ extension_ && extension_->has_lazy_background_page()) {
UMA_HISTOGRAM_LONG_TIMES("Extensions.EventPageActiveTime",
since_created_.Elapsed());
}
@@ -350,7 +350,7 @@ void ExtensionHost::DidStopLoading() {
}
if (notify) {
if (extension_host_type_ == chrome::VIEW_TYPE_EXTENSION_BACKGROUND_PAGE) {
- if (extension_->has_lazy_background_page()) {
+ if (extension_ && extension_->has_lazy_background_page()) {
UMA_HISTOGRAM_TIMES("Extensions.EventPageLoadTime",
since_created_.Elapsed());
} else {