summaryrefslogtreecommitdiffstats
path: root/chrome_frame/urlmon_url_request.h
diff options
context:
space:
mode:
authorstoyan@chromium.org <stoyan@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-02-02 01:43:41 +0000
committerstoyan@chromium.org <stoyan@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-02-02 01:43:41 +0000
commitc21a502e9a25710f456e6240fc3455d8a98713d0 (patch)
tree186b2ce6bdbb77fb3fe855e58f4d53064cf4178a /chrome_frame/urlmon_url_request.h
parentf884f2a323456f31486f9dd33d704ee086475355 (diff)
downloadchromium_src-c21a502e9a25710f456e6240fc3455d8a98713d0.zip
chromium_src-c21a502e9a25710f456e6240fc3455d8a98713d0.tar.gz
chromium_src-c21a502e9a25710f456e6240fc3455d8a98713d0.tar.bz2
Bring the lock in UrlmonUrlRequestManager back. We need it to access worker thread's message loop.
Added the unsafe redirect handling. Review URL: http://codereview.chromium.org/568004 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@37782 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome_frame/urlmon_url_request.h')
-rw-r--r--chrome_frame/urlmon_url_request.h4
1 files changed, 4 insertions, 0 deletions
diff --git a/chrome_frame/urlmon_url_request.h b/chrome_frame/urlmon_url_request.h
index e47edcc..325edb8 100644
--- a/chrome_frame/urlmon_url_request.h
+++ b/chrome_frame/urlmon_url_request.h
@@ -10,6 +10,7 @@
#include <atlcom.h>
#include <string>
+#include "base/lock.h"
#include "base/scoped_comptr_win.h"
#include "base/thread.h"
#include "base/waitable_event.h"
@@ -60,6 +61,8 @@ class UrlmonUrlRequestManager :
virtual void OnReadComplete(int request_id, const void* buffer, int len);
virtual void OnResponseEnd(int request_id, const URLRequestStatus& status);
+ bool ExecuteInWorkerThread(const tracked_objects::Location& from_here,
+ Task* task);
// Methods executed in worker thread.
void StartRequestWorker(int request_id,
const IPC::AutomationURLRequest& request_info,
@@ -79,6 +82,7 @@ class UrlmonUrlRequestManager :
STAThread worker_thread_;
base::WaitableEvent map_empty_;
bool stopping_;
+ Lock worker_thread_access_;
};
#endif // CHROME_FRAME_URLMON_URL_REQUEST_H_