| Index: content/browser/shared_worker/shared_worker_message_filter.cc
|
| diff --git a/content/browser/worker_host/worker_message_filter.cc b/content/browser/shared_worker/shared_worker_message_filter.cc
|
| similarity index 22%
|
| copy from content/browser/worker_host/worker_message_filter.cc
|
| copy to content/browser/shared_worker/shared_worker_message_filter.cc
|
| index b3320947e923072cf70ba1a3c9a0467714ee8fc6..1269ac3ddcb949ba6b62e7ac040d077d9c0b4ec1 100644
|
| --- a/content/browser/worker_host/worker_message_filter.cc
|
| +++ b/content/browser/shared_worker/shared_worker_message_filter.cc
|
| @@ -1,18 +1,19 @@
|
| -// Copyright (c) 2011 The Chromium Authors. All rights reserved.
|
| +// Copyright 2014 The Chromium Authors. All rights reserved.
|
| // Use of this source code is governed by a BSD-style license that can be
|
| // found in the LICENSE file.
|
|
|
| -#include "content/browser/worker_host/worker_message_filter.h"
|
| +#include "content/browser/shared_worker/shared_worker_message_filter.h"
|
|
|
| +#include "content/browser/devtools/worker_devtools_manager.h"
|
| #include "content/browser/message_port_message_filter.h"
|
| -#include "content/browser/worker_host/worker_service_impl.h"
|
| +#include "content/browser/shared_worker/shared_worker_service_impl.h"
|
| +#include "content/common/devtools_messages.h"
|
| #include "content/common/view_messages.h"
|
| #include "content/common/worker_messages.h"
|
| -#include "content/public/browser/resource_context.h"
|
|
|
| namespace content {
|
|
|
| -WorkerMessageFilter::WorkerMessageFilter(
|
| +SharedWorkerMessageFilter::SharedWorkerMessageFilter(
|
| int render_process_id,
|
| ResourceContext* resource_context,
|
| const WorkerStoragePartition& partition,
|
| @@ -21,55 +22,134 @@ WorkerMessageFilter::WorkerMessageFilter(
|
| resource_context_(resource_context),
|
| partition_(partition),
|
| message_port_message_filter_(message_port_message_filter) {
|
| - // Note: This constructor is called on both IO or UI thread.
|
| - DCHECK(resource_context);
|
| + DCHECK(BrowserThread::CurrentlyOn(BrowserThread::IO));
|
| }
|
|
|
| -WorkerMessageFilter::~WorkerMessageFilter() {
|
| +SharedWorkerMessageFilter::~SharedWorkerMessageFilter() {
|
| DCHECK(BrowserThread::CurrentlyOn(BrowserThread::IO));
|
| }
|
|
|
| -void WorkerMessageFilter::OnChannelClosing() {
|
| - WorkerServiceImpl::GetInstance()->OnWorkerMessageFilterClosing(this);
|
| +void SharedWorkerMessageFilter::OnChannelClosing() {
|
| + SharedWorkerServiceImpl::GetInstance()->OnSharedWorkerMessageFilterClosing(
|
| + this);
|
| }
|
|
|
| -bool WorkerMessageFilter::OnMessageReceived(const IPC::Message& message,
|
| - bool* message_was_ok) {
|
| +bool SharedWorkerMessageFilter::OnMessageReceived(const IPC::Message& message,
|
| + bool* message_was_ok) {
|
| bool handled = true;
|
| - IPC_BEGIN_MESSAGE_MAP_EX(WorkerMessageFilter, message, *message_was_ok)
|
| - // Worker messages.
|
| + IPC_BEGIN_MESSAGE_MAP_EX(SharedWorkerMessageFilter, message, *message_was_ok)
|
| // Only sent from renderer for now, until we have nested workers.
|
| IPC_MESSAGE_HANDLER(ViewHostMsg_CreateWorker, OnCreateWorker)
|
| IPC_MESSAGE_HANDLER(ViewHostMsg_ForwardToWorker, OnForwardToWorker)
|
| // Only sent from renderer.
|
| IPC_MESSAGE_HANDLER(ViewHostMsg_DocumentDetached, OnDocumentDetached)
|
| + // Only sent from SharedWorker in renderer.
|
| + IPC_MESSAGE_HANDLER(WorkerHostMsg_WorkerContextClosed,
|
| + OnWorkerContextClosed)
|
| + IPC_MESSAGE_HANDLER(WorkerHostMsg_WorkerContextDestroyed,
|
| + OnWorkerContextDestroyed)
|
| + IPC_MESSAGE_HANDLER(WorkerHostMsg_WorkerScriptLoaded,
|
| + OnWorkerScriptLoaded)
|
| + IPC_MESSAGE_HANDLER(WorkerHostMsg_WorkerScriptLoadFailed,
|
| + OnWorkerScriptLoadFailed)
|
| + IPC_MESSAGE_HANDLER(WorkerHostMsg_WorkerConnected,
|
| + OnWorkerConnected)
|
| + IPC_MESSAGE_HANDLER(WorkerProcessHostMsg_AllowDatabase, OnAllowDatabase)
|
| + IPC_MESSAGE_HANDLER(WorkerProcessHostMsg_AllowFileSystem, OnAllowFileSystem)
|
| + IPC_MESSAGE_HANDLER(WorkerProcessHostMsg_AllowIndexedDB, OnAllowIndexedDB)
|
| IPC_MESSAGE_UNHANDLED(handled = false)
|
| IPC_END_MESSAGE_MAP_EX()
|
| -
|
| return handled;
|
| }
|
|
|
| -int WorkerMessageFilter::GetNextRoutingID() {
|
| +int SharedWorkerMessageFilter::GetNextRoutingID() {
|
| return message_port_message_filter_->GetNextRoutingID();
|
| }
|
|
|
| -void WorkerMessageFilter::OnCreateWorker(
|
| +void SharedWorkerMessageFilter::OnCreateWorker(
|
| const ViewHostMsg_CreateWorker_Params& params,
|
| int* route_id) {
|
| bool url_error = false;
|
| *route_id = GetNextRoutingID();
|
| - WorkerServiceImpl::GetInstance()->CreateWorker(
|
| + SharedWorkerServiceImpl::GetInstance()->CreateWorker(
|
| params, *route_id, this, resource_context_, partition_, &url_error);
|
| if (url_error)
|
| *route_id = MSG_ROUTING_NONE;
|
| }
|
|
|
| -void WorkerMessageFilter::OnForwardToWorker(const IPC::Message& message) {
|
| - WorkerServiceImpl::GetInstance()->ForwardToWorker(message, this);
|
| +void SharedWorkerMessageFilter::OnForwardToWorker(const IPC::Message& message) {
|
| + SharedWorkerServiceImpl::GetInstance()->ForwardToWorker(message, this);
|
| +}
|
| +
|
| +void SharedWorkerMessageFilter::OnDocumentDetached(
|
| + unsigned long long document_id) {
|
| + SharedWorkerServiceImpl::GetInstance()->DocumentDetached(document_id, this);
|
| +}
|
| +
|
| +void SharedWorkerMessageFilter::OnWorkerContextClosed(int worker_route_id) {
|
| + SharedWorkerServiceImpl::GetInstance()->WorkerContextClosed(worker_route_id,
|
| + this);
|
| +}
|
| +
|
| +void SharedWorkerMessageFilter::OnWorkerContextDestroyed(int worker_route_id) {
|
| + SharedWorkerServiceImpl::GetInstance()->WorkerContextDestroyed(
|
| + worker_route_id,
|
| + this);
|
| +}
|
| +
|
| +void SharedWorkerMessageFilter::OnWorkerScriptLoaded(int worker_route_id) {
|
| + SharedWorkerServiceImpl::GetInstance()->WorkerScriptLoaded(worker_route_id,
|
| + this);
|
| +}
|
| +
|
| +void SharedWorkerMessageFilter::OnWorkerScriptLoadFailed(int worker_route_id) {
|
| + SharedWorkerServiceImpl::GetInstance()->WorkerScriptLoadFailed(
|
| + worker_route_id,
|
| + this);
|
| +}
|
| +
|
| +void SharedWorkerMessageFilter::OnWorkerConnected(int message_port_id,
|
| + int worker_route_id) {
|
| + SharedWorkerServiceImpl::GetInstance()->WorkerConnected(
|
| + message_port_id,
|
| + worker_route_id,
|
| + this);
|
| +}
|
| +
|
| +void SharedWorkerMessageFilter::OnAllowDatabase(
|
| + int worker_route_id,
|
| + const GURL& url,
|
| + const base::string16& name,
|
| + const base::string16& display_name,
|
| + unsigned long estimated_size,
|
| + bool* result) {
|
| + SharedWorkerServiceImpl::GetInstance()->AllowDatabase(worker_route_id,
|
| + url,
|
| + name,
|
| + display_name,
|
| + estimated_size,
|
| + result,
|
| + this);
|
| +}
|
| +
|
| +void SharedWorkerMessageFilter::OnAllowFileSystem(int worker_route_id,
|
| + const GURL& url,
|
| + bool* result) {
|
| + SharedWorkerServiceImpl::GetInstance()->AllowFileSystem(worker_route_id,
|
| + url,
|
| + result,
|
| + this);
|
| }
|
|
|
| -void WorkerMessageFilter::OnDocumentDetached(unsigned long long document_id) {
|
| - WorkerServiceImpl::GetInstance()->DocumentDetached(document_id, this);
|
| +void SharedWorkerMessageFilter::OnAllowIndexedDB(int worker_route_id,
|
| + const GURL& url,
|
| + const base::string16& name,
|
| + bool* result) {
|
| + SharedWorkerServiceImpl::GetInstance()->AllowIndexedDB(worker_route_id,
|
| + url,
|
| + name,
|
| + result,
|
| + this);
|
| }
|
|
|
| } // namespace content
|
|
|