diff options
author | jar@chromium.org <jar@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-10-08 20:11:21 +0000 |
---|---|---|
committer | jar@chromium.org <jar@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-10-08 20:11:21 +0000 |
commit | 6e43bd6edf596246139b4734de26fdcc8447b63d (patch) | |
tree | 8f5ff7cc8738da2031928e5bd78586262fd5b85c /chrome_frame/urlmon_url_request_private.h | |
parent | 744b50610c1c7bb9c6f9f580c740cf8f5ca23e82 (diff) | |
download | chromium_src-6e43bd6edf596246139b4734de26fdcc8447b63d.zip chromium_src-6e43bd6edf596246139b4734de26fdcc8447b63d.tar.gz chromium_src-6e43bd6edf596246139b4734de26fdcc8447b63d.tar.bz2 |
Revert 61997 - Fix a memory leak in ChromeFrame which is caused by leaking the urlmon transaction objects.
This occurs because we return INET_E_TERMINATED_BIND from our IBindStatusCallback::OnDataAvailable
implementation to keep the transaction around, which leaks.
To ensure that it is freed correctly we issue a dummy BindToObject call on the moniker
which fails and cleans up the transaction.
Fixes bug http://code.google.com/p/chromium/issues/detail?id=57549
Bug=57549
Review URL: http://codereview.chromium.org/3570017
TBR=ananta@chromium.org
Review URL: http://codereview.chromium.org/3619014
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@62002 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome_frame/urlmon_url_request_private.h')
-rw-r--r-- | chrome_frame/urlmon_url_request_private.h | 8 |
1 files changed, 0 insertions, 8 deletions
diff --git a/chrome_frame/urlmon_url_request_private.h b/chrome_frame/urlmon_url_request_private.h index 2d9887c..9f6d823 100644 --- a/chrome_frame/urlmon_url_request_private.h +++ b/chrome_frame/urlmon_url_request_private.h @@ -125,7 +125,6 @@ class UrlmonUrlRequest HRESULT StartAsyncDownload(); void NotifyDelegateAndDie(); - void TerminateTransaction(); static net::Error HresultToNetError(HRESULT hr); private: @@ -242,13 +241,6 @@ class UrlmonUrlRequest bool pending_; scoped_ptr<TerminateBindCallback> terminate_bind_callback_; std::string response_headers_; - // Set to true when Chrome issues a read request for the URL. - bool read_received_from_chrome_; - // Set to true if the Urlmon transaction object needs to be cleaned up - // when this object is destroyed. Happens if we return - // INET_E_TERMINATE_BIND from OnDataAvailable in the last data notification. - bool cleanup_transaction_; - DISALLOW_COPY_AND_ASSIGN(UrlmonUrlRequest); }; |