Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(7844)

Unified Diff: chrome/browser/worker_host/worker_process_host.cc

Issue 6055002: Create a message filter for message port messages. This allows a nice cleanu... (Closed) Base URL: svn://chrome-svn/chrome/trunk/src/
Patch Set: '' Created 10 years ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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();
}

Powered by Google App Engine
This is Rietveld 408576698