summaryrefslogtreecommitdiffstats
path: root/chrome/browser/renderer_host
diff options
context:
space:
mode:
authorjam@chromium.org <jam@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2009-11-02 21:44:37 +0000
committerjam@chromium.org <jam@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2009-11-02 21:44:37 +0000
commitd83d03aa8eea8f6173e161f134816746f8384e47 (patch)
tree10208e844592117a7d65fc3557a49e9126997a27 /chrome/browser/renderer_host
parentb3f541017baf3eaaf4fc52d392630f9f040bae5e (diff)
downloadchromium_src-d83d03aa8eea8f6173e161f134816746f8384e47.zip
chromium_src-d83d03aa8eea8f6173e161f134816746f8384e47.tar.gz
chromium_src-d83d03aa8eea8f6173e161f134816746f8384e47.tar.bz2
Fourth patch in getting rid of caching MessageLoop pointers.
BUG=25354 Review URL: http://codereview.chromium.org/348037 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@30751 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/browser/renderer_host')
-rw-r--r--chrome/browser/renderer_host/resource_dispatcher_host.cc49
-rw-r--r--chrome/browser/renderer_host/resource_dispatcher_host.h1
-rw-r--r--chrome/browser/renderer_host/save_file_resource_handler.cc10
3 files changed, 35 insertions, 25 deletions
diff --git a/chrome/browser/renderer_host/resource_dispatcher_host.cc b/chrome/browser/renderer_host/resource_dispatcher_host.cc
index b1c7129..77d71c4 100644
--- a/chrome/browser/renderer_host/resource_dispatcher_host.cc
+++ b/chrome/browser/renderer_host/resource_dispatcher_host.cc
@@ -257,7 +257,7 @@ ResourceDispatcherHost::ResourceDispatcherHost(MessageLoop* io_loop)
download_file_manager_(new DownloadFileManager(this))),
download_request_manager_(new DownloadRequestManager(io_loop, ui_loop_)),
ALLOW_THIS_IN_INITIALIZER_LIST(
- save_file_manager_(new SaveFileManager(ui_loop_, io_loop, this))),
+ save_file_manager_(new SaveFileManager(this))),
ALLOW_THIS_IN_INITIALIZER_LIST(user_script_listener_(
new UserScriptListener(this))),
safe_browsing_(new SafeBrowsingService),
@@ -295,16 +295,16 @@ ResourceDispatcherHost::~ResourceDispatcherHost() {
}
void ResourceDispatcherHost::Initialize() {
- DCHECK(MessageLoop::current() == ui_loop_);
- safe_browsing_->Initialize(io_loop_);
- io_loop_->PostTask(
- FROM_HERE,
+ DCHECK(ChromeThread::CurrentlyOn(ChromeThread::UI));
+ safe_browsing_->Initialize();
+ ChromeThread::PostTask(
+ ChromeThread::IO, FROM_HERE,
NewRunnableFunction(&appcache::AppCacheInterceptor::EnsureRegistered));
}
void ResourceDispatcherHost::Shutdown() {
- DCHECK(MessageLoop::current() == ui_loop_);
- io_loop_->PostTask(FROM_HERE, new ShutdownTask(this));
+ DCHECK(ChromeThread::CurrentlyOn(ChromeThread::UI));
+ ChromeThread::PostTask(ChromeThread::IO, FROM_HERE, new ShutdownTask(this));
}
void ResourceDispatcherHost::SetRequestInfo(
@@ -314,7 +314,7 @@ void ResourceDispatcherHost::SetRequestInfo(
}
void ResourceDispatcherHost::OnShutdown() {
- DCHECK(MessageLoop::current() == io_loop_);
+ DCHECK(ChromeThread::CurrentlyOn(ChromeThread::IO));
is_shutdown_ = true;
STLDeleteValues(&pending_requests_);
// Make sure we shutdown the timer now, otherwise by the time our destructor
@@ -332,8 +332,10 @@ bool ResourceDispatcherHost::HandleExternalProtocol(int request_id,
if (!ResourceType::IsFrame(type) || URLRequest::IsHandledURL(url))
return false;
- ui_loop_->PostTask(FROM_HERE, NewRunnableFunction(
- &ExternalProtocolHandler::LaunchUrl, url, child_id, route_id));
+ ChromeThread::PostTask(
+ ChromeThread::UI, FROM_HERE,
+ NewRunnableFunction(
+ &ExternalProtocolHandler::LaunchUrl, url, child_id, route_id));
handler->OnResponseCompleted(request_id, URLRequestStatus(
URLRequestStatus::FAILED,
@@ -677,8 +679,8 @@ void ResourceDispatcherHost::OnClosePageACK(
// This is a tab close, so just forward the message to close it.
DCHECK(params.new_render_process_host_id == -1);
DCHECK(params.new_request_id == -1);
- ui_loop_->PostTask(
- FROM_HERE,
+ ChromeThread::PostTask(
+ ChromeThread::UI, FROM_HERE,
new RVHCloseNotificationTask(params.closing_process_id,
params.closing_route_id));
}
@@ -1517,9 +1519,8 @@ void ResourceDispatcherHost::RemoveObserver(Observer* obs) {
URLRequest* ResourceDispatcherHost::GetURLRequest(
GlobalRequestID request_id) const {
- // This should be running in the IO loop. io_loop_ can be NULL during the
- // unit_tests.
- DCHECK(MessageLoop::current() == io_loop_ && io_loop_);
+ // This should be running in the IO loop.
+ DCHECK(ChromeThread::CurrentlyOn(ChromeThread::IO));
PendingRequestList::const_iterator i = pending_requests_.find(request_id);
if (i == pending_requests_.end())
@@ -1551,9 +1552,12 @@ void ResourceDispatcherHost::NotifyResponseStarted(URLRequest* request,
FOR_EACH_OBSERVER(Observer, observer_list_, OnRequestStarted(this, request));
// Notify the observers on the UI thread.
- ui_loop_->PostTask(FROM_HERE, new RVHDelegateNotificationTask(request,
- &RenderViewHostDelegate::Resource::DidStartReceivingResourceResponse,
- new ResourceRequestDetails(request, GetCertID(request, child_id))));
+ ChromeThread::PostTask(
+ ChromeThread::UI, FROM_HERE,
+ new RVHDelegateNotificationTask(
+ request,
+ &RenderViewHostDelegate::Resource::DidStartReceivingResourceResponse,
+ new ResourceRequestDetails(request, GetCertID(request, child_id))));
}
void ResourceDispatcherHost::NotifyResponseCompleted(URLRequest* request,
@@ -1573,9 +1577,10 @@ void ResourceDispatcherHost::NotifyReceivedRedirect(URLRequest* request,
int cert_id = GetCertID(request, child_id);
// Notify the observers on the UI thread.
- ui_loop_->PostTask(FROM_HERE,
- new RVHDelegateNotificationTask(request,
- &RenderViewHostDelegate::Resource::DidRedirectResource,
+ ChromeThread::PostTask(
+ ChromeThread::UI, FROM_HERE,
+ new RVHDelegateNotificationTask(
+ request, &RenderViewHostDelegate::Resource::DidRedirectResource,
new ResourceRedirectDetails(request, cert_id, new_url)));
}
@@ -1696,7 +1701,7 @@ void ResourceDispatcherHost::UpdateLoadStates() {
LoadInfoUpdateTask* task = new LoadInfoUpdateTask;
task->info_map.swap(info_map);
- ui_loop_->PostTask(FROM_HERE, task);
+ ChromeThread::PostTask(ChromeThread::UI, FROM_HERE, task);
}
// Calls the ResourceHandler to send upload progress messages to the renderer.
diff --git a/chrome/browser/renderer_host/resource_dispatcher_host.h b/chrome/browser/renderer_host/resource_dispatcher_host.h
index 1cfe9a8..147a7f9 100644
--- a/chrome/browser/renderer_host/resource_dispatcher_host.h
+++ b/chrome/browser/renderer_host/resource_dispatcher_host.h
@@ -105,6 +105,7 @@ class ResourceDispatcherHost : public URLRequest::Delegate {
}
};
+ // TODO(jam): take the parameter out once 25354 is done.
explicit ResourceDispatcherHost(MessageLoop* io_loop);
~ResourceDispatcherHost();
diff --git a/chrome/browser/renderer_host/save_file_resource_handler.cc b/chrome/browser/renderer_host/save_file_resource_handler.cc
index bb426ce..b6584f0 100644
--- a/chrome/browser/renderer_host/save_file_resource_handler.cc
+++ b/chrome/browser/renderer_host/save_file_resource_handler.cc
@@ -7,6 +7,7 @@
#include "base/logging.h"
#include "base/message_loop.h"
#include "base/string_util.h"
+#include "chrome/browser/chrome_thread.h"
#include "chrome/browser/download/save_file_manager.h"
#include "net/base/io_buffer.h"
@@ -44,7 +45,8 @@ bool SaveFileResourceHandler::OnResponseStarted(int request_id,
info->request_id = request_id;
info->content_disposition = content_disposition_;
info->save_source = SaveFileCreateInfo::SAVE_FILE_FROM_NET;
- save_manager_->file_loop()->PostTask(FROM_HERE,
+ ChromeThread::PostTask(
+ ChromeThread::FILE, FROM_HERE,
NewRunnableMethod(save_manager_,
&SaveFileManager::StartSave,
info));
@@ -69,7 +71,8 @@ bool SaveFileResourceHandler::OnReadCompleted(int request_id, int* bytes_read) {
// We are passing ownership of this buffer to the save file manager.
net::IOBuffer* buffer = NULL;
read_buffer_.swap(&buffer);
- save_manager_->file_loop()->PostTask(FROM_HERE,
+ ChromeThread::PostTask(
+ ChromeThread::FILE, FROM_HERE,
NewRunnableMethod(save_manager_,
&SaveFileManager::UpdateSaveProgress,
save_id_,
@@ -82,7 +85,8 @@ bool SaveFileResourceHandler::OnResponseCompleted(
int request_id,
const URLRequestStatus& status,
const std::string& security_info) {
- save_manager_->file_loop()->PostTask(FROM_HERE,
+ ChromeThread::PostTask(
+ ChromeThread::FILE, FROM_HERE,
NewRunnableMethod(save_manager_,
&SaveFileManager::SaveFinished,
save_id_,