summaryrefslogtreecommitdiffstats
path: root/chrome_frame/urlmon_url_request.cc
diff options
context:
space:
mode:
authorrobertshield@chromium.org <robertshield@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-03-31 23:42:20 +0000
committerrobertshield@chromium.org <robertshield@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-03-31 23:42:20 +0000
commit4638c7d39d1652f7b9363e14dd6f52310f7103c0 (patch)
tree5f91a69f94ddb0c11568e02a7c3b1648fab01313 /chrome_frame/urlmon_url_request.cc
parent8e2f6646eb8ecb8805983f6816af280f214818b0 (diff)
downloadchromium_src-4638c7d39d1652f7b9363e14dd6f52310f7103c0.zip
chromium_src-4638c7d39d1652f7b9363e14dd6f52310f7103c0.tar.gz
chromium_src-4638c7d39d1652f7b9363e14dd6f52310f7103c0.tar.bz2
Fix a crash whereby a non-thread-safe ref-counted net::UploadData is used between threads. This patch does this by wrapping the UploadData structure in a thread-safe container for use between threads.
BUG=39453 TEST=none Review URL: http://codereview.chromium.org/1508012 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@43287 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome_frame/urlmon_url_request.cc')
-rw-r--r--chrome_frame/urlmon_url_request.cc6
1 files changed, 3 insertions, 3 deletions
diff --git a/chrome_frame/urlmon_url_request.cc b/chrome_frame/urlmon_url_request.cc
index 9d6ff10..b0641a5 100644
--- a/chrome_frame/urlmon_url_request.cc
+++ b/chrome_frame/urlmon_url_request.cc
@@ -870,7 +870,7 @@ void UrlmonUrlRequestManager::UseRequestDataForUrl(RequestData* data,
}
void UrlmonUrlRequestManager::StartRequest(int request_id,
- const IPC::AutomationURLRequest& request_info) {
+ const ThreadSafeAutomationUrlRequest& request_info) {
DLOG(INFO) << __FUNCTION__;
RequestDataForUrl* use_request = NULL;
if (request_data_for_url_.get()) {
@@ -888,7 +888,7 @@ void UrlmonUrlRequestManager::StartRequest(int request_id,
}
void UrlmonUrlRequestManager::StartRequestWorker(int request_id,
- const IPC::AutomationURLRequest& request_info,
+ const ThreadSafeAutomationUrlRequest& request_info,
RequestDataForUrl* use_request) {
DCHECK_EQ(worker_thread_.thread_id(), PlatformThread::CurrentId());
scoped_ptr<RequestDataForUrl> request_for_url(use_request);
@@ -907,7 +907,7 @@ void UrlmonUrlRequestManager::StartRequestWorker(int request_id,
request_info.method,
request_info.referrer,
request_info.extra_request_headers,
- request_info.upload_data,
+ request_info.upload_data->get_data(),
enable_frame_busting_);
new_request->set_parent_window(notification_window_);
new_request->set_privileged_mode(privileged_mode_);