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

Side by Side Diff: content/renderer/service_worker/embedded_worker_context_client.cc

Issue 139923005: Implement ServiceWorkerVersion::SendMessage() (for dispatching events etc) (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: addressed comments Created 6 years, 10 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 2013 The Chromium Authors. All rights reserved. 1 // Copyright 2013 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/renderer/service_worker/embedded_worker_context_client.h" 5 #include "content/renderer/service_worker/embedded_worker_context_client.h"
6 6
7 #include "base/lazy_instance.h" 7 #include "base/lazy_instance.h"
8 #include "base/message_loop/message_loop_proxy.h" 8 #include "base/message_loop/message_loop_proxy.h"
9 #include "base/pickle.h" 9 #include "base/pickle.h"
10 #include "base/threading/thread_local.h" 10 #include "base/threading/thread_local.h"
(...skipping 57 matching lines...) Expand 10 before | Expand all | Expand 10 after
68 bool handled = true; 68 bool handled = true;
69 IPC_BEGIN_MESSAGE_MAP(EmbeddedWorkerContextClient, msg) 69 IPC_BEGIN_MESSAGE_MAP(EmbeddedWorkerContextClient, msg)
70 IPC_MESSAGE_HANDLER(EmbeddedWorkerContextMsg_SendMessageToWorker, 70 IPC_MESSAGE_HANDLER(EmbeddedWorkerContextMsg_SendMessageToWorker,
71 OnSendMessageToWorker) 71 OnSendMessageToWorker)
72 IPC_MESSAGE_UNHANDLED(handled = false) 72 IPC_MESSAGE_UNHANDLED(handled = false)
73 IPC_END_MESSAGE_MAP() 73 IPC_END_MESSAGE_MAP()
74 return handled; 74 return handled;
75 } 75 }
76 76
77 void EmbeddedWorkerContextClient::SendMessageToBrowser( 77 void EmbeddedWorkerContextClient::SendMessageToBrowser(
78 int request_id,
78 const IPC::Message& message) { 79 const IPC::Message& message) {
79 sender_->Send(new EmbeddedWorkerHostMsg_SendMessageToBrowser( 80 sender_->Send(new EmbeddedWorkerHostMsg_SendMessageToBrowser(
80 embedded_worker_id_, message)); 81 embedded_worker_id_, request_id, message));
81 } 82 }
82 83
83 void EmbeddedWorkerContextClient::workerContextFailedToStart() { 84 void EmbeddedWorkerContextClient::workerContextFailedToStart() {
84 DCHECK(main_thread_proxy_->RunsTasksOnCurrentThread()); 85 DCHECK(main_thread_proxy_->RunsTasksOnCurrentThread());
85 DCHECK(!script_context_); 86 DCHECK(!script_context_);
86 87
87 RenderThreadImpl::current()->embedded_worker_dispatcher()-> 88 RenderThreadImpl::current()->embedded_worker_dispatcher()->
88 WorkerContextDestroyed(embedded_worker_id_); 89 WorkerContextDestroyed(embedded_worker_id_);
89 } 90 }
90 91
(...skipping 24 matching lines...) Expand all
115 script_context_.reset(); 116 script_context_.reset();
116 main_thread_proxy_->PostTask( 117 main_thread_proxy_->PostTask(
117 FROM_HERE, 118 FROM_HERE,
118 base::Bind(&CallWorkerContextDestroyedOnMainThread, 119 base::Bind(&CallWorkerContextDestroyedOnMainThread,
119 embedded_worker_id_)); 120 embedded_worker_id_));
120 } 121 }
121 122
122 void EmbeddedWorkerContextClient::OnSendMessageToWorker( 123 void EmbeddedWorkerContextClient::OnSendMessageToWorker(
123 int thread_id, 124 int thread_id,
124 int embedded_worker_id, 125 int embedded_worker_id,
126 int request_id,
125 const IPC::Message& message) { 127 const IPC::Message& message) {
126 if (!script_context_) 128 if (!script_context_)
127 return; 129 return;
128 DCHECK_EQ(embedded_worker_id_, embedded_worker_id); 130 DCHECK_EQ(embedded_worker_id_, embedded_worker_id);
129 script_context_->OnMessageReceived(message); 131 script_context_->OnMessageReceived(request_id, message);
130 } 132 }
131 133
132 void EmbeddedWorkerContextClient::SendWorkerStarted() { 134 void EmbeddedWorkerContextClient::SendWorkerStarted() {
133 DCHECK(worker_task_runner_->RunsTasksOnCurrentThread()); 135 DCHECK(worker_task_runner_->RunsTasksOnCurrentThread());
134 sender_->Send(new EmbeddedWorkerHostMsg_WorkerStarted( 136 sender_->Send(new EmbeddedWorkerHostMsg_WorkerStarted(
135 WorkerTaskRunner::Instance()->CurrentWorkerId(), 137 WorkerTaskRunner::Instance()->CurrentWorkerId(),
136 embedded_worker_id_)); 138 embedded_worker_id_));
137 } 139 }
138 140
139 } // namespace content 141 } // namespace content
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698