summaryrefslogtreecommitdiffstats
path: root/chrome/browser/download
diff options
context:
space:
mode:
authorben@chromium.org <ben@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2009-03-06 19:19:05 +0000
committerben@chromium.org <ben@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2009-03-06 19:19:05 +0000
commit7237402696b827997b0a1a340a44bdc994ed1403 (patch)
tree48e488b07cc79ccd3d218647dc4b5a0bcf92280d /chrome/browser/download
parent5fd3aa4f25bb6c56dcd3069e98cf8f97c709bead (diff)
downloadchromium_src-7237402696b827997b0a1a340a44bdc994ed1403.zip
chromium_src-7237402696b827997b0a1a340a44bdc994ed1403.tar.gz
chromium_src-7237402696b827997b0a1a340a44bdc994ed1403.tar.bz2
Test to see if we can reduce some crashes by deferring delegate destruction until WM_NCDESTROY. This involves adding a specific method to allow delegates to destroy themselves to WindowDelegate, and moving all delete this calls into implementations of that method (to allow delegates to still respond to WM_DESTROY which is legit).
Review URL: http://codereview.chromium.org/40192 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@11132 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/browser/download')
-rw-r--r--chrome/browser/download/download_request_dialog_delegate_win.cc2
-rw-r--r--chrome/browser/download/download_request_dialog_delegate_win.h2
2 files changed, 2 insertions, 2 deletions
diff --git a/chrome/browser/download/download_request_dialog_delegate_win.cc b/chrome/browser/download/download_request_dialog_delegate_win.cc
index 62d23d5..feae636 100644
--- a/chrome/browser/download/download_request_dialog_delegate_win.cc
+++ b/chrome/browser/download/download_request_dialog_delegate_win.cc
@@ -53,7 +53,7 @@ std::wstring DownloadRequestDialogDelegateWin::GetDialogButtonLabel(
return std::wstring();
}
-void DownloadRequestDialogDelegateWin::WindowClosing() {
+void DownloadRequestDialogDelegateWin::DeleteDelegate() {
DCHECK(!host_);
delete this;
}
diff --git a/chrome/browser/download/download_request_dialog_delegate_win.h b/chrome/browser/download/download_request_dialog_delegate_win.h
index b901483..d720fc0 100644
--- a/chrome/browser/download/download_request_dialog_delegate_win.h
+++ b/chrome/browser/download/download_request_dialog_delegate_win.h
@@ -36,7 +36,7 @@ class DownloadRequestDialogDelegateWin : public DownloadRequestDialogDelegate,
virtual int GetDefaultDialogButton() const {
return DIALOGBUTTON_CANCEL;
}
- virtual void WindowClosing();
+ virtual void DeleteDelegate();
// The TabDownloadState we're displaying the dialog for. May be null.
DownloadRequestManager::TabDownloadState* host_;