summaryrefslogtreecommitdiffstats
path: root/chrome_frame/chrome_frame_automation.cc
diff options
context:
space:
mode:
authorstoyan@chromium.org <stoyan@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-04-08 16:53:57 +0000
committerstoyan@chromium.org <stoyan@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-04-08 16:53:57 +0000
commit0ce46404deb06c137b2e2c253004c43cf42e8a70 (patch)
tree5a4026ada47051c2af1ccffe105a2d68a38ce77e /chrome_frame/chrome_frame_automation.cc
parent3e59bacae6bff857dfb5e3d3e8359dbde60ccb04 (diff)
downloadchromium_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.cc3
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));
}