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

Side by Side Diff: content/browser/service_worker/service_worker_dispatcher_host.cc

Issue 2396273002: ServiceWorker: Mojofication of ServiceWorkerDispatcherHost (Closed)
Patch Set: Removed GetWeakPtr and moved a method to private Created 4 years, 2 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
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/browser/service_worker/service_worker_dispatcher_host.h" 5 #include "content/browser/service_worker/service_worker_dispatcher_host.h"
6 6
7 #include <utility> 7 #include <utility>
8 8
9 #include "base/debug/crash_logging.h" 9 #include "base/debug/crash_logging.h"
10 #include "base/logging.h" 10 #include "base/logging.h"
(...skipping 83 matching lines...) Expand 10 before | Expand all | Expand 10 after
94 94
95 ServiceWorkerDispatcherHost::ServiceWorkerDispatcherHost( 95 ServiceWorkerDispatcherHost::ServiceWorkerDispatcherHost(
96 int render_process_id, 96 int render_process_id,
97 MessagePortMessageFilter* message_port_message_filter, 97 MessagePortMessageFilter* message_port_message_filter,
98 ResourceContext* resource_context) 98 ResourceContext* resource_context)
99 : BrowserMessageFilter(kFilteredMessageClasses, 99 : BrowserMessageFilter(kFilteredMessageClasses,
100 arraysize(kFilteredMessageClasses)), 100 arraysize(kFilteredMessageClasses)),
101 render_process_id_(render_process_id), 101 render_process_id_(render_process_id),
102 message_port_message_filter_(message_port_message_filter), 102 message_port_message_filter_(message_port_message_filter),
103 resource_context_(resource_context), 103 resource_context_(resource_context),
104 channel_ready_(false) { 104 channel_ready_(false),
105 weak_factory_(this) {
106 AddAssociatedInterface(
107 mojom::ServiceWorkerDispatcherHost::Name_,
108 base::Bind(&ServiceWorkerDispatcherHost::AddMojoBinding,
109 base::Unretained(this)));
105 } 110 }
106 111
107 ServiceWorkerDispatcherHost::~ServiceWorkerDispatcherHost() { 112 ServiceWorkerDispatcherHost::~ServiceWorkerDispatcherHost() {
108 if (GetContext()) { 113 if (GetContext()) {
109 GetContext()->RemoveAllProviderHostsForProcess(render_process_id_); 114 GetContext()->RemoveAllProviderHostsForProcess(render_process_id_);
110 GetContext()->embedded_worker_registry()->RemoveChildProcessSender( 115 GetContext()->embedded_worker_registry()->RemoveChildProcessSender(
111 render_process_id_); 116 render_process_id_);
112 } 117 }
113 } 118 }
114 119
(...skipping 97 matching lines...) Expand 10 before | Expand all | Expand 10 after
212 if (!handled && GetContext()) { 217 if (!handled && GetContext()) {
213 handled = GetContext()->embedded_worker_registry()->OnMessageReceived( 218 handled = GetContext()->embedded_worker_registry()->OnMessageReceived(
214 message, render_process_id_); 219 message, render_process_id_);
215 if (!handled) 220 if (!handled)
216 bad_message::ReceivedBadMessage(this, bad_message::SWDH_NOT_HANDLED); 221 bad_message::ReceivedBadMessage(this, bad_message::SWDH_NOT_HANDLED);
217 } 222 }
218 223
219 return handled; 224 return handled;
220 } 225 }
221 226
227 void ServiceWorkerDispatcherHost::AddMojoBinding(
228 mojo::ScopedInterfaceEndpointHandle handle) {
229 bindings_.AddBinding(
230 this, mojo::MakeAssociatedRequest<mojom::ServiceWorkerDispatcherHost>(
231 std::move(handle)));
232 }
233
222 bool ServiceWorkerDispatcherHost::Send(IPC::Message* message) { 234 bool ServiceWorkerDispatcherHost::Send(IPC::Message* message) {
223 if (channel_ready_) { 235 if (channel_ready_) {
224 BrowserMessageFilter::Send(message); 236 BrowserMessageFilter::Send(message);
225 // Don't bother passing through Send()'s result: it's not reliable. 237 // Don't bother passing through Send()'s result: it's not reliable.
226 return true; 238 return true;
227 } 239 }
228 240
229 pending_messages_.push_back(base::WrapUnique(message)); 241 pending_messages_.push_back(base::WrapUnique(message));
230 return true; 242 return true;
231 } 243 }
(...skipping 1223 matching lines...) Expand 10 before | Expand all | Expand 10 after
1455 if (!handle) { 1467 if (!handle) {
1456 bad_message::ReceivedBadMessage(this, 1468 bad_message::ReceivedBadMessage(this,
1457 bad_message::SWDH_TERMINATE_BAD_HANDLE); 1469 bad_message::SWDH_TERMINATE_BAD_HANDLE);
1458 return; 1470 return;
1459 } 1471 }
1460 handle->version()->StopWorker( 1472 handle->version()->StopWorker(
1461 base::Bind(&ServiceWorkerUtils::NoOpStatusCallback)); 1473 base::Bind(&ServiceWorkerUtils::NoOpStatusCallback));
1462 } 1474 }
1463 1475
1464 } // namespace content 1476 } // namespace content
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698