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

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

Issue 379303002: Content blink::WebServiceWorkerCacheStorage implementation. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: self review for style Created 6 years, 4 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 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 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/service_worker_script_context.h" 5 #include "content/renderer/service_worker/service_worker_script_context.h"
6 6
7 #include <map> 7 #include <map>
8 8
9 #include "base/logging.h" 9 #include "base/logging.h"
10 #include "content/child/thread_safe_sender.h" 10 #include "content/child/thread_safe_sender.h"
(...skipping 21 matching lines...) Expand all
32 sender->Send(new ServiceWorkerHostMsg_PostMessageToDocument( 32 sender->Send(new ServiceWorkerHostMsg_PostMessageToDocument(
33 routing_id, client_id, message, 33 routing_id, client_id, message,
34 WebMessagePortChannelImpl::ExtractMessagePortIDs(channels.release()))); 34 WebMessagePortChannelImpl::ExtractMessagePortIDs(channels.release())));
35 } 35 }
36 36
37 } // namespace 37 } // namespace
38 38
39 ServiceWorkerScriptContext::ServiceWorkerScriptContext( 39 ServiceWorkerScriptContext::ServiceWorkerScriptContext(
40 EmbeddedWorkerContextClient* embedded_context, 40 EmbeddedWorkerContextClient* embedded_context,
41 blink::WebServiceWorkerContextProxy* proxy) 41 blink::WebServiceWorkerContextProxy* proxy)
42 : embedded_context_(embedded_context), 42 : cache_storage_dispatcher_(new ServiceWorkerCacheStorageDispatcher(this)),
43 embedded_context_(embedded_context),
43 proxy_(proxy) { 44 proxy_(proxy) {
44 } 45 }
45 46
46 ServiceWorkerScriptContext::~ServiceWorkerScriptContext() {} 47 ServiceWorkerScriptContext::~ServiceWorkerScriptContext() {}
47 48
48 void ServiceWorkerScriptContext::OnMessageReceived( 49 void ServiceWorkerScriptContext::OnMessageReceived(
49 const IPC::Message& message) { 50 const IPC::Message& message) {
50 bool handled = true; 51 bool handled = true;
51 IPC_BEGIN_MESSAGE_MAP(ServiceWorkerScriptContext, message) 52 IPC_BEGIN_MESSAGE_MAP(ServiceWorkerScriptContext, message)
52 IPC_MESSAGE_HANDLER(ServiceWorkerMsg_ActivateEvent, OnActivateEvent) 53 IPC_MESSAGE_HANDLER(ServiceWorkerMsg_ActivateEvent, OnActivateEvent)
53 IPC_MESSAGE_HANDLER(ServiceWorkerMsg_FetchEvent, OnFetchEvent) 54 IPC_MESSAGE_HANDLER(ServiceWorkerMsg_FetchEvent, OnFetchEvent)
54 IPC_MESSAGE_HANDLER(ServiceWorkerMsg_InstallEvent, OnInstallEvent) 55 IPC_MESSAGE_HANDLER(ServiceWorkerMsg_InstallEvent, OnInstallEvent)
55 IPC_MESSAGE_HANDLER(ServiceWorkerMsg_SyncEvent, OnSyncEvent) 56 IPC_MESSAGE_HANDLER(ServiceWorkerMsg_SyncEvent, OnSyncEvent)
56 IPC_MESSAGE_HANDLER(ServiceWorkerMsg_PushEvent, OnPushEvent) 57 IPC_MESSAGE_HANDLER(ServiceWorkerMsg_PushEvent, OnPushEvent)
57 IPC_MESSAGE_HANDLER(ServiceWorkerMsg_MessageToWorker, OnPostMessage) 58 IPC_MESSAGE_HANDLER(ServiceWorkerMsg_MessageToWorker, OnPostMessage)
58 IPC_MESSAGE_HANDLER(ServiceWorkerMsg_DidGetClientDocuments, 59 IPC_MESSAGE_HANDLER(ServiceWorkerMsg_DidGetClientDocuments,
59 OnDidGetClientDocuments) 60 OnDidGetClientDocuments)
60 IPC_MESSAGE_UNHANDLED(handled = false) 61 IPC_MESSAGE_UNHANDLED(handled = false)
61 IPC_END_MESSAGE_MAP() 62 IPC_END_MESSAGE_MAP()
63
64 // TODO(gavinp): Would it be preferable to put an AddListener() method to
65 // EmbeddedWorkerContextClient?
66 if (!handled)
67 handled = cache_storage_dispatcher_->OnMessageReceived(message);
68
62 DCHECK(handled); 69 DCHECK(handled);
63 } 70 }
64 71
65 void ServiceWorkerScriptContext::DidHandleActivateEvent( 72 void ServiceWorkerScriptContext::DidHandleActivateEvent(
66 int request_id, 73 int request_id,
67 blink::WebServiceWorkerEventResult result) { 74 blink::WebServiceWorkerEventResult result) {
68 Send(new ServiceWorkerHostMsg_ActivateEventFinished( 75 Send(new ServiceWorkerHostMsg_ActivateEventFinished(
69 GetRoutingID(), request_id, result)); 76 GetRoutingID(), request_id, result));
70 } 77 }
71 78
(...skipping 37 matching lines...) Expand 10 before | Expand all | Expand 10 after
109 FROM_HERE, 116 FROM_HERE,
110 base::Bind(&SendPostMessageToDocumentOnMainThread, 117 base::Bind(&SendPostMessageToDocumentOnMainThread,
111 make_scoped_refptr(embedded_context_->thread_safe_sender()), 118 make_scoped_refptr(embedded_context_->thread_safe_sender()),
112 GetRoutingID(), client_id, message, base::Passed(&channels))); 119 GetRoutingID(), client_id, message, base::Passed(&channels)));
113 } 120 }
114 121
115 void ServiceWorkerScriptContext::Send(IPC::Message* message) { 122 void ServiceWorkerScriptContext::Send(IPC::Message* message) {
116 embedded_context_->Send(message); 123 embedded_context_->Send(message);
117 } 124 }
118 125
126 int ServiceWorkerScriptContext::GetRoutingID() const {
127 return embedded_context_->embedded_worker_id();
128 }
129
130 class WebServiceWorkerCacheStorage;
falken 2014/07/28 04:48:59 this is not meant to be here?
gavinp 2014/07/28 04:55:27 Done.
119 void ServiceWorkerScriptContext::OnActivateEvent(int request_id) { 131 void ServiceWorkerScriptContext::OnActivateEvent(int request_id) {
120 proxy_->dispatchActivateEvent(request_id); 132 proxy_->dispatchActivateEvent(request_id);
121 } 133 }
122 134
123 void ServiceWorkerScriptContext::OnInstallEvent(int request_id, 135 void ServiceWorkerScriptContext::OnInstallEvent(int request_id,
124 int active_version_id) { 136 int active_version_id) {
125 proxy_->dispatchInstallEvent(request_id); 137 proxy_->dispatchInstallEvent(request_id);
126 } 138 }
127 139
128 void ServiceWorkerScriptContext::OnFetchEvent( 140 void ServiceWorkerScriptContext::OnFetchEvent(
(...skipping 51 matching lines...) Expand 10 before | Expand all | Expand 10 after
180 NOTREACHED() << "Got stray response: " << request_id; 192 NOTREACHED() << "Got stray response: " << request_id;
181 return; 193 return;
182 } 194 }
183 scoped_ptr<blink::WebServiceWorkerClientsInfo> info( 195 scoped_ptr<blink::WebServiceWorkerClientsInfo> info(
184 new blink::WebServiceWorkerClientsInfo); 196 new blink::WebServiceWorkerClientsInfo);
185 info->clientIDs = client_ids; 197 info->clientIDs = client_ids;
186 callbacks->onSuccess(info.release()); 198 callbacks->onSuccess(info.release());
187 pending_clients_callbacks_.Remove(request_id); 199 pending_clients_callbacks_.Remove(request_id);
188 } 200 }
189 201
190 int ServiceWorkerScriptContext::GetRoutingID() const {
191 return embedded_context_->embedded_worker_id();
192 }
193
194 } // namespace content 202 } // namespace content
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698