OLD | NEW |
1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #include "content/browser/worker_host/worker_message_filter.h" | 5 #include "content/browser/worker_host/worker_message_filter.h" |
6 | 6 |
7 #include "content/browser/message_port_message_filter.h" | 7 #include "content/browser/message_port_message_filter.h" |
8 #include "content/browser/worker_host/worker_service_impl.h" | 8 #include "content/browser/worker_host/worker_service_impl.h" |
9 #include "content/common/view_messages.h" | 9 #include "content/common/view_messages.h" |
10 #include "content/common/worker_messages.h" | 10 #include "content/common/worker_messages.h" |
(...skipping 16 matching lines...) Expand all Loading... |
27 } | 27 } |
28 | 28 |
29 WorkerMessageFilter::~WorkerMessageFilter() { | 29 WorkerMessageFilter::~WorkerMessageFilter() { |
30 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::IO)); | 30 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::IO)); |
31 } | 31 } |
32 | 32 |
33 void WorkerMessageFilter::OnChannelClosing() { | 33 void WorkerMessageFilter::OnChannelClosing() { |
34 WorkerServiceImpl::GetInstance()->OnWorkerMessageFilterClosing(this); | 34 WorkerServiceImpl::GetInstance()->OnWorkerMessageFilterClosing(this); |
35 } | 35 } |
36 | 36 |
37 bool WorkerMessageFilter::OnMessageReceived(const IPC::Message& message, | 37 bool WorkerMessageFilter::OnMessageReceived(const IPC::Message& message) { |
38 bool* message_was_ok) { | |
39 bool handled = true; | 38 bool handled = true; |
40 IPC_BEGIN_MESSAGE_MAP_EX(WorkerMessageFilter, message, *message_was_ok) | 39 IPC_BEGIN_MESSAGE_MAP(WorkerMessageFilter, message) |
41 // Worker messages. | 40 // Worker messages. |
42 // Only sent from renderer for now, until we have nested workers. | 41 // Only sent from renderer for now, until we have nested workers. |
43 IPC_MESSAGE_HANDLER(ViewHostMsg_CreateWorker, OnCreateWorker) | 42 IPC_MESSAGE_HANDLER(ViewHostMsg_CreateWorker, OnCreateWorker) |
44 IPC_MESSAGE_HANDLER(ViewHostMsg_ForwardToWorker, OnForwardToWorker) | 43 IPC_MESSAGE_HANDLER(ViewHostMsg_ForwardToWorker, OnForwardToWorker) |
45 // Only sent from renderer. | 44 // Only sent from renderer. |
46 IPC_MESSAGE_HANDLER(ViewHostMsg_DocumentDetached, OnDocumentDetached) | 45 IPC_MESSAGE_HANDLER(ViewHostMsg_DocumentDetached, OnDocumentDetached) |
47 IPC_MESSAGE_UNHANDLED(handled = false) | 46 IPC_MESSAGE_UNHANDLED(handled = false) |
48 IPC_END_MESSAGE_MAP_EX() | 47 IPC_END_MESSAGE_MAP() |
49 | 48 |
50 return handled; | 49 return handled; |
51 } | 50 } |
52 | 51 |
53 int WorkerMessageFilter::GetNextRoutingID() { | 52 int WorkerMessageFilter::GetNextRoutingID() { |
54 return message_port_message_filter_->GetNextRoutingID(); | 53 return message_port_message_filter_->GetNextRoutingID(); |
55 } | 54 } |
56 | 55 |
57 void WorkerMessageFilter::OnCreateWorker( | 56 void WorkerMessageFilter::OnCreateWorker( |
58 const ViewHostMsg_CreateWorker_Params& params, | 57 const ViewHostMsg_CreateWorker_Params& params, |
59 int* route_id) { | 58 int* route_id) { |
60 bool url_error = false; | 59 bool url_error = false; |
61 *route_id = GetNextRoutingID(); | 60 *route_id = GetNextRoutingID(); |
62 WorkerServiceImpl::GetInstance()->CreateWorker( | 61 WorkerServiceImpl::GetInstance()->CreateWorker( |
63 params, *route_id, this, resource_context_, partition_, &url_error); | 62 params, *route_id, this, resource_context_, partition_, &url_error); |
64 if (url_error) | 63 if (url_error) |
65 *route_id = MSG_ROUTING_NONE; | 64 *route_id = MSG_ROUTING_NONE; |
66 } | 65 } |
67 | 66 |
68 void WorkerMessageFilter::OnForwardToWorker(const IPC::Message& message) { | 67 void WorkerMessageFilter::OnForwardToWorker(const IPC::Message& message) { |
69 WorkerServiceImpl::GetInstance()->ForwardToWorker(message, this); | 68 WorkerServiceImpl::GetInstance()->ForwardToWorker(message, this); |
70 } | 69 } |
71 | 70 |
72 void WorkerMessageFilter::OnDocumentDetached(unsigned long long document_id) { | 71 void WorkerMessageFilter::OnDocumentDetached(unsigned long long document_id) { |
73 WorkerServiceImpl::GetInstance()->DocumentDetached(document_id, this); | 72 WorkerServiceImpl::GetInstance()->DocumentDetached(document_id, this); |
74 } | 73 } |
75 | 74 |
76 } // namespace content | 75 } // namespace content |
OLD | NEW |