diff options
author | tommi@chromium.org <tommi@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-03-25 22:02:27 +0000 |
---|---|---|
committer | tommi@chromium.org <tommi@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-03-25 22:02:27 +0000 |
commit | 7ae80749da2e8caa8155984be0970ac20a42a04a (patch) | |
tree | 68aaa7a0af783451f54916bafe39734bbbe18d3e /chrome_frame/plugin_url_request.h | |
parent | 3ca335b4eb7ecbe1fb2de5ecec2742e85d87d096 (diff) | |
download | chromium_src-7ae80749da2e8caa8155984be0970ac20a42a04a.zip chromium_src-7ae80749da2e8caa8155984be0970ac20a42a04a.tar.gz chromium_src-7ae80749da2e8caa8155984be0970ac20a42a04a.tar.bz2 |
Fix for a race issue when chrome decides that a request needs to be downloaded by the host browser.
Before the request could under some circumstances be terminated before we handed it over to the host for download.
In such cases we would just drop the request and not download anything.
TEST=Fixes flakyness of _some_ download scenarios. This is only a part of a fix needed for the related bug.
BUG=36694
Review URL: http://codereview.chromium.org/1240004
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@42673 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome_frame/plugin_url_request.h')
-rw-r--r-- | chrome_frame/plugin_url_request.h | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/chrome_frame/plugin_url_request.h b/chrome_frame/plugin_url_request.h index a2b6ffe..511dea7 100644 --- a/chrome_frame/plugin_url_request.h +++ b/chrome_frame/plugin_url_request.h @@ -21,7 +21,7 @@ class PluginUrlRequest; class PluginUrlRequestDelegate; class PluginUrlRequestManager; -class DECLSPEC_NOVTABLE PluginUrlRequestDelegate { +class DECLSPEC_NOVTABLE PluginUrlRequestDelegate { // NOLINT public: virtual void OnResponseStarted(int request_id, const char* mime_type, const char* headers, int size, base::Time last_modified, @@ -37,7 +37,7 @@ class DECLSPEC_NOVTABLE PluginUrlRequestDelegate { ~PluginUrlRequestDelegate() {} }; -class DECLSPEC_NOVTABLE PluginUrlRequestManager { +class DECLSPEC_NOVTABLE PluginUrlRequestManager { // NOLINT public: PluginUrlRequestManager() : delegate_(NULL), enable_frame_busting_(true) {} virtual ~PluginUrlRequestManager() {} @@ -69,6 +69,10 @@ class DECLSPEC_NOVTABLE PluginUrlRequestManager { EndRequest(request_id); } + void DownloadUrlRequestInHost(int tab, int request_id) { + DownloadRequestInHost(request_id); + } + void StopAllRequests() { StopAll(); } @@ -82,6 +86,7 @@ class DECLSPEC_NOVTABLE PluginUrlRequestManager { const IPC::AutomationURLRequest& request_info) = 0; virtual void ReadRequest(int request_id, int bytes_to_read) = 0; virtual void EndRequest(int request_id) = 0; + virtual void DownloadRequestInHost(int request_id) = 0; virtual void StopAll() = 0; }; |