diff options
author | stoyan@chromium.org <stoyan@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-04-08 16:53:57 +0000 |
---|---|---|
committer | stoyan@chromium.org <stoyan@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-04-08 16:53:57 +0000 |
commit | 0ce46404deb06c137b2e2c253004c43cf42e8a70 (patch) | |
tree | 5a4026ada47051c2af1ccffe105a2d68a38ce77e /chrome_frame/chrome_frame_automation.cc | |
parent | 3e59bacae6bff857dfb5e3d3e8359dbde60ccb04 (diff) | |
download | chromium_src-0ce46404deb06c137b2e2c253004c43cf42e8a70.zip chromium_src-0ce46404deb06c137b2e2c253004c43cf42e8a70.tar.gz chromium_src-0ce46404deb06c137b2e2c253004c43cf42e8a70.tar.bz2 |
Move Urlmon network requests to UI thread, thus allowing reusing the bind context (and already fetched data) via INET_E_TERMINATED_BIND error code.
Make caching of data more sensible, so the UI does not freeze (the reason why url request have been moved to a background thread).
Always return INET_E_TERMINATED_BIND on OnDataAvailable when BSCF_LASTDATANOTIFICATION flag is detected, so if a subsequent DownloadToHost request comes from Chrome, bind context and already fetched data can be reused.
BUG=36694
Review URL: http://codereview.chromium.org/1523014
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@43953 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome_frame/chrome_frame_automation.cc')
-rw-r--r-- | chrome_frame/chrome_frame_automation.cc | 3 |
1 files changed, 1 insertions, 2 deletions
diff --git a/chrome_frame/chrome_frame_automation.cc b/chrome_frame/chrome_frame_automation.cc index eed34e5..aa88def 100644 --- a/chrome_frame/chrome_frame_automation.cc +++ b/chrome_frame/chrome_frame_automation.cc @@ -1298,8 +1298,7 @@ void ChromeFrameAutomationClient::OnResponseStarted(int request_id, } void ChromeFrameAutomationClient::OnReadComplete(int request_id, - const void* buffer, int len) { - std::string data(reinterpret_cast<const char*>(buffer), len); + const std::string& data) { automation_server_->Send(new AutomationMsg_RequestData(0, tab_->handle(), request_id, data)); } |