summaryrefslogtreecommitdiffstats
path: root/chrome/browser
diff options
context:
space:
mode:
authorjoshia@google.com <joshia@google.com@0039d316-1c4b-4281-b951-d872f2087c98>2009-01-13 00:02:25 +0000
committerjoshia@google.com <joshia@google.com@0039d316-1c4b-4281-b951-d872f2087c98>2009-01-13 00:02:25 +0000
commitee4ac82f11c373f305f253655cde622f77ef4df4 (patch)
treed7582707ff2b5231f95ba0f2e98bd5835f21e451 /chrome/browser
parent10c64a48c16df08a015bc06a305b589c2932d5a2 (diff)
downloadchromium_src-ee4ac82f11c373f305f253655cde622f77ef4df4.zip
chromium_src-ee4ac82f11c373f305f253655cde622f77ef4df4.tar.gz
chromium_src-ee4ac82f11c373f305f253655cde622f77ef4df4.tar.bz2
Check if the delegate in WebContents::CanTerminate is valid
before invoking on it. not doing this causes a UT test 'VisibleBrowserTest.WindowOpenClose' to crash frequently. Review URL: http://codereview.chromium.org/17366 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@7905 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/browser')
-rw-r--r--chrome/browser/web_contents.cc6
1 files changed, 5 insertions, 1 deletions
diff --git a/chrome/browser/web_contents.cc b/chrome/browser/web_contents.cc
index 3b5b66e..d8c6e42 100644
--- a/chrome/browser/web_contents.cc
+++ b/chrome/browser/web_contents.cc
@@ -1342,6 +1342,9 @@ void WebContents::OnEnterOrSpace() {
}
bool WebContents::CanTerminate() const {
+ if (!delegate())
+ return true;
+
return !delegate()->IsExternalTabContainer();
}
@@ -1358,7 +1361,8 @@ void WebContents::FileSelectionCanceled(void* params) {
void WebContents::BeforeUnloadFiredFromRenderManager(
bool proceed,
bool* proceed_to_fire_unload) {
- delegate()->BeforeUnloadFired(this, proceed, proceed_to_fire_unload);
+ if (delegate())
+ delegate()->BeforeUnloadFired(this, proceed, proceed_to_fire_unload);
}
void WebContents::UpdateRenderViewSizeForRenderManager() {