Index: chrome/browser/worker_host/worker_process_host.cc |
=================================================================== |
--- chrome/browser/worker_host/worker_process_host.cc (revision 69724) |
+++ chrome/browser/worker_host/worker_process_host.cc (working copy) |
@@ -19,20 +19,18 @@ |
#include "chrome/browser/file_system/file_system_dispatcher_host.h" |
#include "chrome/browser/mime_registry_message_filter.h" |
#include "chrome/browser/net/chrome_url_request_context.h" |
-#include "chrome/browser/profiles/profile.h" |
#include "chrome/browser/renderer_host/blob_message_filter.h" |
#include "chrome/browser/renderer_host/database_message_filter.h" |
#include "chrome/browser/renderer_host/file_utilities_message_filter.h" |
-#include "chrome/browser/renderer_host/render_message_filter.h" |
#include "chrome/browser/renderer_host/render_view_host.h" |
#include "chrome/browser/renderer_host/render_view_host_delegate.h" |
#include "chrome/browser/renderer_host/render_view_host_notification_task.h" |
#include "chrome/browser/renderer_host/socket_stream_dispatcher_host.h" |
-#include "chrome/browser/worker_host/message_port_dispatcher.h" |
+#include "chrome/browser/worker_host/message_port_service.h" |
+#include "chrome/browser/worker_host/worker_message_filter.h" |
#include "chrome/browser/worker_host/worker_service.h" |
#include "chrome/common/chrome_switches.h" |
#include "chrome/common/debug_flags.h" |
-#include "chrome/common/notification_service.h" |
#include "chrome/common/render_messages.h" |
#include "chrome/common/render_messages_params.h" |
#include "chrome/common/result_codes.h" |
@@ -91,20 +89,12 @@ |
WorkerProcessHost::WorkerProcessHost( |
ResourceDispatcherHost* resource_dispatcher_host, |
- ChromeURLRequestContext *request_context) |
+ URLRequestContextGetter* request_context) |
: BrowserChildProcessHost(WORKER_PROCESS, resource_dispatcher_host), |
request_context_(request_context) { |
- next_route_id_callback_.reset(NewCallbackWithReturnValue( |
- WorkerService::GetInstance(), &WorkerService::next_worker_route_id)); |
} |
WorkerProcessHost::~WorkerProcessHost() { |
- // Let interested observers know we are being deleted. |
- NotificationService::current()->Notify( |
- NotificationType::WORKER_PROCESS_HOST_SHUTDOWN, |
- Source<WorkerProcessHost>(this), |
- NotificationService::NoDetails()); |
- |
// If we crashed, tell the RenderViewHosts. |
for (Instances::iterator i = instances_.begin(); i != instances_.end(); ++i) { |
const WorkerDocumentSet::DocumentInfoSet& parents = |
@@ -113,15 +103,15 @@ |
parents.begin(); parent_iter != parents.end(); ++parent_iter) { |
BrowserThread::PostTask( |
BrowserThread::UI, FROM_HERE, |
- new WorkerCrashTask(parent_iter->renderer_id(), |
- parent_iter->render_view_route_id())); |
+ new WorkerCrashTask(parent_iter->render_process_id(), |
+ parent_iter->render_view_id())); |
} |
} |
ChildProcessSecurityPolicy::GetInstance()->Remove(id()); |
} |
-bool WorkerProcessHost::Init() { |
+bool WorkerProcessHost::Init(int render_process_id) { |
if (!CreateChannel()) |
return false; |
@@ -195,7 +185,7 @@ |
// requests them. |
ChildProcessSecurityPolicy::GetInstance()->GrantPermissionsForFile( |
id(), |
- request_context_->file_system_context()-> |
+ GetChromeURLRequestContext()->file_system_context()-> |
path_manager()->base_path(), |
base::PLATFORM_FILE_OPEN | |
base::PLATFORM_FILE_CREATE | |
@@ -210,26 +200,35 @@ |
base::PLATFORM_FILE_WRITE_ATTRIBUTES); |
} |
- CreateMessageFilters(); |
+ CreateMessageFilters(render_process_id); |
return true; |
} |
-void WorkerProcessHost::CreateMessageFilters() { |
- AddFilter(new AppCacheDispatcherHost(request_context_, id())); |
- AddFilter(new FileSystemDispatcherHost(request_context_)); |
+void WorkerProcessHost::CreateMessageFilters(int render_process_id) { |
+ ChromeURLRequestContext* chrome_url_context = GetChromeURLRequestContext(); |
+ |
+ worker_message_filter_= new WorkerMessageFilter( |
+ render_process_id, |
+ request_context_, |
+ resource_dispatcher_host(), |
+ NewCallbackWithReturnValue( |
+ WorkerService::GetInstance(), &WorkerService::next_worker_route_id)); |
+ AddFilter(worker_message_filter_); |
+ AddFilter(new AppCacheDispatcherHost(chrome_url_context, id())); |
+ AddFilter(new FileSystemDispatcherHost(chrome_url_context)); |
AddFilter(new FileUtilitiesMessageFilter(id())); |
AddFilter( |
- new BlobMessageFilter(id(), request_context_->blob_storage_context())); |
+ new BlobMessageFilter(id(), chrome_url_context->blob_storage_context())); |
AddFilter(new MimeRegistryMessageFilter()); |
AddFilter(new DatabaseMessageFilter( |
- request_context_->database_tracker(), |
- request_context_->host_content_settings_map())); |
- |
+ chrome_url_context->database_tracker(), |
+ chrome_url_context->host_content_settings_map())); |
+ |
SocketStreamDispatcherHost* socket_stream_dispatcher_host = |
new SocketStreamDispatcherHost(); |
socket_stream_dispatcher_host->set_url_request_context_override( |
- new URLRequestContextOverride(request_context_)); |
+ new URLRequestContextOverride(chrome_url_context)); |
AddFilter(socket_stream_dispatcher_host); |
} |
@@ -251,22 +250,21 @@ |
UpdateTitle(); |
- // Walk all pending senders and let them know the worker has been created |
+ // Walk all pending filters and let them know the worker has been created |
// (could be more than one in the case where we had to queue up worker |
// creation because the worker process limit was reached). |
- for (WorkerInstance::SenderList::const_iterator i = |
- instance.senders().begin(); |
- i != instance.senders().end(); ++i) { |
+ for (WorkerInstance::FilterList::const_iterator i = |
+ instance.filters().begin(); |
+ i != instance.filters().end(); ++i) { |
i->first->Send(new ViewMsg_WorkerCreated(i->second)); |
} |
} |
bool WorkerProcessHost::FilterMessage(const IPC::Message& message, |
- IPC::Message::Sender* sender) { |
+ WorkerMessageFilter* filter) { |
for (Instances::iterator i = instances_.begin(); i != instances_.end(); ++i) { |
- if (!i->closed() && i->HasSender(sender, message.routing_id())) { |
- RelayMessage( |
- message, this, i->worker_route_id(), next_route_id_callback_.get()); |
+ if (!i->closed() && i->HasFilter(filter, message.routing_id())) { |
+ RelayMessage(message, worker_message_filter_, i->worker_route_id()); |
return true; |
} |
} |
@@ -274,42 +272,18 @@ |
return false; |
} |
-// Sent to notify the browser process when a worker context invokes close(), so |
-// no new connections are sent to shared workers. |
-void WorkerProcessHost::OnWorkerContextClosed(int worker_route_id) { |
- for (Instances::iterator i = instances_.begin(); i != instances_.end(); ++i) { |
- if (i->worker_route_id() == worker_route_id) { |
- // Set the closed flag - this will stop any further messages from |
- // being sent to the worker (messages can still be sent from the worker, |
- // for exception reporting, etc). |
- i->set_closed(true); |
- break; |
- } |
- } |
+void WorkerProcessHost::OnProcessLaunched() { |
} |
void WorkerProcessHost::OnMessageReceived(const IPC::Message& message) { |
bool msg_is_ok = true; |
- bool handled = |
- MessagePortDispatcher::GetInstance()->OnMessageReceived( |
- message, this, next_route_id_callback_.get(), &msg_is_ok); |
- |
- if (!handled) { |
- handled = true; |
- IPC_BEGIN_MESSAGE_MAP_EX(WorkerProcessHost, message, msg_is_ok) |
- IPC_MESSAGE_HANDLER(ViewHostMsg_CreateWorker, OnCreateWorker) |
- IPC_MESSAGE_HANDLER(ViewHostMsg_LookupSharedWorker, OnLookupSharedWorker) |
- IPC_MESSAGE_HANDLER(ViewHostMsg_CancelCreateDedicatedWorker, |
- OnCancelCreateDedicatedWorker) |
- IPC_MESSAGE_HANDLER(WorkerHostMsg_WorkerContextClosed, |
- OnWorkerContextClosed); |
- IPC_MESSAGE_HANDLER(ViewHostMsg_ForwardToWorker, |
- OnForwardToWorker) |
- IPC_MESSAGE_HANDLER_DELAY_REPLY(WorkerProcessHostMsg_AllowDatabase, |
- OnAllowDatabase) |
- IPC_MESSAGE_UNHANDLED(handled = false) |
+ bool handled = true; |
+ IPC_BEGIN_MESSAGE_MAP_EX(WorkerProcessHost, message, msg_is_ok) |
+ IPC_MESSAGE_HANDLER(WorkerHostMsg_WorkerContextClosed, |
+ OnWorkerContextClosed) |
+ IPC_MESSAGE_HANDLER(WorkerProcessHostMsg_AllowDatabase, OnAllowDatabase) |
+ IPC_MESSAGE_UNHANDLED(handled = false) |
IPC_END_MESSAGE_MAP_EX() |
- } |
if (!msg_is_ok) { |
NOTREACHED(); |
@@ -324,10 +298,8 @@ |
if (!i->shared()) { |
// Don't relay messages from shared workers (all communication is via |
// the message port). |
- WorkerInstance::SenderInfo info = i->GetSender(); |
- CallbackWithReturnValue<int>::Type* next_route_id = |
- GetNextRouteIdCallback(info.first); |
- RelayMessage(message, info.first, info.second, next_route_id); |
+ WorkerInstance::FilterInfo info = i->GetFilter(); |
+ RelayMessage(message, info.first, info.second); |
} |
if (message.type() == WorkerHostMsg_WorkerContextDestroyed::ID) { |
@@ -339,31 +311,53 @@ |
} |
} |
-void WorkerProcessHost::OnProcessLaunched() { |
+// Sent to notify the browser process when a worker context invokes close(), so |
+// no new connections are sent to shared workers. |
+void WorkerProcessHost::OnWorkerContextClosed(int worker_route_id) { |
+ for (Instances::iterator i = instances_.begin(); i != instances_.end(); ++i) { |
+ if (i->worker_route_id() == worker_route_id) { |
+ // Set the closed flag - this will stop any further messages from |
+ // being sent to the worker (messages can still be sent from the worker, |
+ // for exception reporting, etc). |
+ i->set_closed(true); |
+ break; |
+ } |
+ } |
} |
-CallbackWithReturnValue<int>::Type* WorkerProcessHost::GetNextRouteIdCallback( |
- IPC::Message::Sender* sender) { |
- // We don't keep callbacks for senders associated with workers, so figure out |
- // what kind of sender this is, and cast it to the correct class to get the |
- // callback. |
- for (BrowserChildProcessHost::Iterator iter(ChildProcessInfo::WORKER_PROCESS); |
- !iter.Done(); ++iter) { |
- WorkerProcessHost* worker = static_cast<WorkerProcessHost*>(*iter); |
- if (static_cast<IPC::Message::Sender*>(worker) == sender) |
- return worker->next_route_id_callback_.get(); |
- } |
+void WorkerProcessHost::OnAllowDatabase(int worker_route_id, |
+ const GURL& url, |
+ const string16& name, |
+ const string16& display_name, |
+ unsigned long estimated_size, |
+ bool* result) { |
+ ContentSetting content_setting = GetChromeURLRequestContext()-> |
+ host_content_settings_map()->GetContentSetting( |
+ url, CONTENT_SETTINGS_TYPE_COOKIES, ""); |
- // Must be a RenderMessageFilter. |
- return static_cast<RenderMessageFilter*>(sender)->next_route_id_callback(); |
+ *result = content_setting != CONTENT_SETTING_BLOCK; |
+ |
+ // Find the worker instance and forward the message to all attached documents. |
+ for (Instances::iterator i = instances_.begin(); i != instances_.end(); ++i) { |
+ if (i->worker_route_id() != worker_route_id) |
+ continue; |
+ const WorkerDocumentSet::DocumentInfoSet& documents = |
+ i->worker_document_set()->documents(); |
+ for (WorkerDocumentSet::DocumentInfoSet::const_iterator doc = |
+ documents.begin(); doc != documents.end(); ++doc) { |
+ CallRenderViewHostContentSettingsDelegate( |
+ doc->render_process_id(), doc->render_view_id(), |
+ &RenderViewHostDelegate::ContentSettings::OnWebDatabaseAccessed, |
+ url, name, display_name, estimated_size, !*result); |
+ } |
+ break; |
+ } |
} |
void WorkerProcessHost::RelayMessage( |
const IPC::Message& message, |
- IPC::Message::Sender* sender, |
- int route_id, |
- CallbackWithReturnValue<int>::Type* next_route_id) { |
- |
+ WorkerMessageFilter* filter, |
+ int route_id) { |
if (message.type() == WorkerMsg_PostMessage::ID) { |
// We want to send the receiver a routing id for the new channel, so |
// crack the message first. |
@@ -378,19 +372,19 @@ |
return; |
for (size_t i = 0; i < sent_message_port_ids.size(); ++i) { |
- new_routing_ids[i] = next_route_id->Run(); |
- MessagePortDispatcher::GetInstance()->UpdateMessagePort( |
- sent_message_port_ids[i], sender, new_routing_ids[i], next_route_id); |
+ new_routing_ids[i] = filter->GetNextRoutingID(); |
+ MessagePortService::GetInstance()->UpdateMessagePort( |
+ sent_message_port_ids[i], filter, new_routing_ids[i]); |
} |
- sender->Send(new WorkerMsg_PostMessage( |
+ filter->Send(new WorkerMsg_PostMessage( |
route_id, msg, sent_message_port_ids, new_routing_ids)); |
// Send any queued messages to the sent message ports. We can only do this |
// after sending the above message, since it's the one that sets up the |
// message port route which the queued messages are sent to. |
for (size_t i = 0; i < sent_message_port_ids.size(); ++i) { |
- MessagePortDispatcher::GetInstance()-> |
+ MessagePortService::GetInstance()-> |
SendQueuedMessagesIfPossible(sent_message_port_ids[i]); |
} |
} else if (message.type() == WorkerMsg_Connect::ID) { |
@@ -401,35 +395,35 @@ |
&message, &sent_message_port_id, &new_routing_id)) { |
return; |
} |
- new_routing_id = next_route_id->Run(); |
- MessagePortDispatcher::GetInstance()->UpdateMessagePort( |
- sent_message_port_id, sender, new_routing_id, next_route_id); |
+ new_routing_id = filter->GetNextRoutingID(); |
+ MessagePortService::GetInstance()->UpdateMessagePort( |
+ sent_message_port_id, filter, new_routing_id); |
// Resend the message with the new routing id. |
- sender->Send(new WorkerMsg_Connect( |
+ filter->Send(new WorkerMsg_Connect( |
route_id, sent_message_port_id, new_routing_id)); |
// Send any queued messages for the sent port. |
- MessagePortDispatcher::GetInstance()->SendQueuedMessagesIfPossible( |
+ MessagePortService::GetInstance()->SendQueuedMessagesIfPossible( |
sent_message_port_id); |
} else { |
IPC::Message* new_message = new IPC::Message(message); |
new_message->set_routing_id(route_id); |
- sender->Send(new_message); |
+ filter->Send(new_message); |
return; |
} |
} |
-void WorkerProcessHost::SenderShutdown(IPC::Message::Sender* sender) { |
+void WorkerProcessHost::FilterShutdown(WorkerMessageFilter* filter) { |
for (Instances::iterator i = instances_.begin(); i != instances_.end();) { |
bool shutdown = false; |
- i->RemoveSenders(sender); |
+ i->RemoveFilters(filter); |
if (i->shared()) { |
- i->worker_document_set()->RemoveAll(sender); |
+ i->worker_document_set()->RemoveAll(filter); |
if (i->worker_document_set()->IsEmpty()) { |
shutdown = true; |
} |
- } else if (i->NumSenders() == 0) { |
+ } else if (i->NumFilters() == 0) { |
shutdown = true; |
} |
if (shutdown) { |
@@ -456,8 +450,7 @@ |
// Check if it's an extension-created worker, in which case we want to use |
// the name of the extension. |
- std::string extension_name = static_cast<ChromeURLRequestContext*>( |
- Profile::GetDefaultRequestContext()->GetURLRequestContext())-> |
+ std::string extension_name = GetChromeURLRequestContext()-> |
extension_info_map()->GetNameForExtension(title); |
if (!extension_name.empty()) { |
titles.insert(extension_name); |
@@ -481,96 +474,19 @@ |
set_name(ASCIIToWide(display_title)); |
} |
-void WorkerProcessHost::OnLookupSharedWorker( |
- const ViewHostMsg_CreateWorker_Params& params, |
- bool* exists, |
- int* route_id, |
- bool* url_mismatch) { |
- *route_id = WorkerService::GetInstance()->next_worker_route_id(); |
- // TODO(atwilson): Add code to pass in the current worker's document set for |
- // these nested workers. Code below will not work for SharedWorkers as it |
- // only looks at a single parent. |
- DCHECK(instances_.front().worker_document_set()->documents().size() == 1); |
- WorkerDocumentSet::DocumentInfoSet::const_iterator first_parent = |
- instances_.front().worker_document_set()->documents().begin(); |
- *exists = WorkerService::GetInstance()->LookupSharedWorker( |
- params.url, params.name, instances_.front().off_the_record(), |
- params.document_id, first_parent->renderer_id(), |
- first_parent->render_view_route_id(), this, *route_id, url_mismatch); |
+ChromeURLRequestContext* WorkerProcessHost::GetChromeURLRequestContext() { |
+ return static_cast<ChromeURLRequestContext*>( |
+ request_context_->GetURLRequestContext()); |
} |
-void WorkerProcessHost::OnCreateWorker( |
- const ViewHostMsg_CreateWorker_Params& params, int* route_id) { |
- DCHECK(instances_.size() == 1); // Only called when one process per worker. |
- // TODO(atwilson): Add code to pass in the current worker's document set for |
- // these nested workers. Code below will not work for SharedWorkers as it |
- // only looks at a single parent. |
- DCHECK(instances_.front().worker_document_set()->documents().size() == 1); |
- WorkerDocumentSet::DocumentInfoSet::const_iterator first_parent = |
- instances_.front().worker_document_set()->documents().begin(); |
- *route_id = params.route_id == MSG_ROUTING_NONE ? |
- WorkerService::GetInstance()->next_worker_route_id() : params.route_id; |
- |
- if (params.is_shared) |
- WorkerService::GetInstance()->CreateSharedWorker( |
- params.url, instances_.front().off_the_record(), |
- params.name, params.document_id, first_parent->renderer_id(), |
- first_parent->render_view_route_id(), this, *route_id, |
- params.script_resource_appcache_id, request_context_); |
- else |
- WorkerService::GetInstance()->CreateDedicatedWorker( |
- params.url, instances_.front().off_the_record(), |
- params.document_id, first_parent->renderer_id(), |
- first_parent->render_view_route_id(), this, *route_id, |
- id(), params.parent_appcache_host_id, request_context_); |
-} |
- |
-void WorkerProcessHost::OnCancelCreateDedicatedWorker(int route_id) { |
- WorkerService::GetInstance()->CancelCreateDedicatedWorker(this, route_id); |
-} |
- |
-void WorkerProcessHost::OnForwardToWorker(const IPC::Message& message) { |
- WorkerService::GetInstance()->ForwardMessage(message, this); |
-} |
- |
-void WorkerProcessHost::OnAllowDatabase(const GURL& url, |
- const string16& name, |
- const string16& display_name, |
- unsigned long estimated_size, |
- IPC::Message* reply_msg) { |
- ContentSetting content_setting = |
- request_context_->host_content_settings_map()->GetContentSetting( |
- url, CONTENT_SETTINGS_TYPE_COOKIES, ""); |
- |
- bool allowed = content_setting != CONTENT_SETTING_BLOCK; |
- |
- // Find the worker instance and forward the message to all attached documents. |
- for (Instances::iterator i = instances_.begin(); i != instances_.end(); ++i) { |
- if (i->worker_route_id() != reply_msg->routing_id()) |
- continue; |
- const WorkerDocumentSet::DocumentInfoSet& documents = |
- i->worker_document_set()->documents(); |
- for (WorkerDocumentSet::DocumentInfoSet::const_iterator doc = |
- documents.begin(); doc != documents.end(); ++doc) { |
- CallRenderViewHostContentSettingsDelegate( |
- doc->renderer_id(), doc->render_view_route_id(), |
- &RenderViewHostDelegate::ContentSettings::OnWebDatabaseAccessed, |
- url, name, display_name, estimated_size, !allowed); |
- } |
- break; |
- } |
- WorkerProcessHostMsg_AllowDatabase::WriteReplyParams(reply_msg, allowed); |
- Send(reply_msg); |
-} |
- |
-void WorkerProcessHost::DocumentDetached(IPC::Message::Sender* parent, |
+void WorkerProcessHost::DocumentDetached(WorkerMessageFilter* filter, |
unsigned long long document_id) { |
// Walk all instances and remove the document from their document set. |
for (Instances::iterator i = instances_.begin(); i != instances_.end();) { |
if (!i->shared()) { |
++i; |
} else { |
- i->worker_document_set()->Remove(parent, document_id); |
+ i->worker_document_set()->Remove(filter, document_id); |
if (i->worker_document_set()->IsEmpty()) { |
// This worker has no more associated documents - shut it down. |
Send(new WorkerMsg_TerminateWorkerContext(i->worker_route_id())); |
@@ -591,7 +507,7 @@ |
int parent_process_id, |
int parent_appcache_host_id, |
int64 main_resource_appcache_id, |
- ChromeURLRequestContext* request_context) |
+ URLRequestContextGetter* request_context) |
: url_(url), |
shared_(shared), |
off_the_record_(off_the_record), |
@@ -603,8 +519,6 @@ |
main_resource_appcache_id_(main_resource_appcache_id), |
request_context_(request_context), |
worker_document_set_(new WorkerDocumentSet()) { |
- DCHECK(!request_context || |
- (off_the_record == request_context->is_off_the_record())); |
} |
WorkerProcessHost::WorkerInstance::~WorkerInstance() { |
@@ -635,65 +549,65 @@ |
return name_ == match_name; |
} |
-void WorkerProcessHost::WorkerInstance::AddSender(IPC::Message::Sender* sender, |
- int sender_route_id) { |
- if (!HasSender(sender, sender_route_id)) { |
- SenderInfo info(sender, sender_route_id); |
- senders_.push_back(info); |
+void WorkerProcessHost::WorkerInstance::AddFilter(WorkerMessageFilter* filter, |
+ int route_id) { |
+ if (!HasFilter(filter, route_id)) { |
+ FilterInfo info(filter, route_id); |
+ filters_.push_back(info); |
} |
- // Only shared workers can have more than one associated sender. |
- DCHECK(shared_ || senders_.size() == 1); |
+ // Only shared workers can have more than one associated filter. |
+ DCHECK(shared_ || filters_.size() == 1); |
} |
-void WorkerProcessHost::WorkerInstance::RemoveSender( |
- IPC::Message::Sender* sender, int sender_route_id) { |
- for (SenderList::iterator i = senders_.begin(); i != senders_.end();) { |
- if (i->first == sender && i->second == sender_route_id) |
- i = senders_.erase(i); |
+void WorkerProcessHost::WorkerInstance::RemoveFilter( |
+ WorkerMessageFilter* filter, int route_id) { |
+ for (FilterList::iterator i = filters_.begin(); i != filters_.end();) { |
+ if (i->first == filter && i->second == route_id) |
+ i = filters_.erase(i); |
else |
++i; |
} |
- // Should not be duplicate copies in the sender set. |
- DCHECK(!HasSender(sender, sender_route_id)); |
+ // Should not be duplicate copies in the filter set. |
+ DCHECK(!HasFilter(filter, route_id)); |
} |
-void WorkerProcessHost::WorkerInstance::RemoveSenders( |
- IPC::Message::Sender* sender) { |
- for (SenderList::iterator i = senders_.begin(); i != senders_.end();) { |
- if (i->first == sender) |
- i = senders_.erase(i); |
+void WorkerProcessHost::WorkerInstance::RemoveFilters( |
+ WorkerMessageFilter* filter) { |
+ for (FilterList::iterator i = filters_.begin(); i != filters_.end();) { |
+ if (i->first == filter) |
+ i = filters_.erase(i); |
else |
++i; |
} |
} |
-bool WorkerProcessHost::WorkerInstance::HasSender( |
- IPC::Message::Sender* sender, int sender_route_id) const { |
- for (SenderList::const_iterator i = senders_.begin(); i != senders_.end(); |
+bool WorkerProcessHost::WorkerInstance::HasFilter( |
+ WorkerMessageFilter* filter, int route_id) const { |
+ for (FilterList::const_iterator i = filters_.begin(); i != filters_.end(); |
++i) { |
- if (i->first == sender && i->second == sender_route_id) |
+ if (i->first == filter && i->second == route_id) |
return true; |
} |
return false; |
} |
bool WorkerProcessHost::WorkerInstance::RendererIsParent( |
- int renderer_id, int render_view_route_id) const { |
+ int render_process_id, int render_view_id) const { |
const WorkerDocumentSet::DocumentInfoSet& parents = |
worker_document_set()->documents(); |
for (WorkerDocumentSet::DocumentInfoSet::const_iterator parent_iter = |
parents.begin(); |
parent_iter != parents.end(); ++parent_iter) { |
- if (parent_iter->renderer_id() == renderer_id && |
- parent_iter->render_view_route_id() == render_view_route_id) { |
+ if (parent_iter->render_process_id() == render_process_id && |
+ parent_iter->render_view_id() == render_view_id) { |
return true; |
} |
} |
return false; |
} |
-WorkerProcessHost::WorkerInstance::SenderInfo |
-WorkerProcessHost::WorkerInstance::GetSender() const { |
- DCHECK(NumSenders() == 1); |
- return *senders_.begin(); |
+WorkerProcessHost::WorkerInstance::FilterInfo |
+WorkerProcessHost::WorkerInstance::GetFilter() const { |
+ DCHECK(NumFilters() == 1); |
+ return *filters_.begin(); |
} |