diff options
author | ben@chromium.org <ben@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2009-03-06 19:19:05 +0000 |
---|---|---|
committer | ben@chromium.org <ben@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2009-03-06 19:19:05 +0000 |
commit | 7237402696b827997b0a1a340a44bdc994ed1403 (patch) | |
tree | 48e488b07cc79ccd3d218647dc4b5a0bcf92280d /chrome/browser/download | |
parent | 5fd3aa4f25bb6c56dcd3069e98cf8f97c709bead (diff) | |
download | chromium_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.cc | 2 | ||||
-rw-r--r-- | chrome/browser/download/download_request_dialog_delegate_win.h | 2 |
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_; |