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

Side by Side Diff: content/browser/worker_host/worker_message_filter.cc

Issue 292443004: Remove IPC_BEGIN_MESSAGE_MAP_EX macro since r270839 made all bad IPCs kill their child processes. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src/
Patch Set: Created 6 years, 7 months 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 unified diff | Download patch | Annotate | Revision Log
OLDNEW
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
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
OLDNEW
« no previous file with comments | « content/browser/worker_host/worker_message_filter.h ('k') | content/browser/worker_host/worker_process_host.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698