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

Side by Side Diff: content/child/service_worker/service_worker_dispatcher.h

Issue 165373004: Move WorkerTaskRunner to content/child. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: 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 #ifndef CONTENT_CHILD_SERVICE_WORKER_SERVICE_WORKER_DISPATCHER_H_ 5 #ifndef CONTENT_CHILD_SERVICE_WORKER_SERVICE_WORKER_DISPATCHER_H_
6 #define CONTENT_CHILD_SERVICE_WORKER_SERVICE_WORKER_DISPATCHER_H_ 6 #define CONTENT_CHILD_SERVICE_WORKER_SERVICE_WORKER_DISPATCHER_H_
7 7
8 #include "base/id_map.h" 8 #include "base/id_map.h"
9 #include "base/memory/ref_counted.h" 9 #include "base/memory/ref_counted.h"
10 #include "base/strings/string16.h" 10 #include "base/strings/string16.h"
11 #include "content/child/worker_task_runner.h"
11 #include "third_party/WebKit/public/platform/WebServiceWorkerError.h" 12 #include "third_party/WebKit/public/platform/WebServiceWorkerError.h"
12 #include "third_party/WebKit/public/platform/WebServiceWorkerProvider.h" 13 #include "third_party/WebKit/public/platform/WebServiceWorkerProvider.h"
13 #include "webkit/child/worker_task_runner.h"
14 14
15 class GURL; 15 class GURL;
16 16
17 namespace blink { 17 namespace blink {
18 class WebURL; 18 class WebURL;
19 } 19 }
20 20
21 namespace IPC { 21 namespace IPC {
22 class Message; 22 class Message;
23 } 23 }
24 24
25 namespace content { 25 namespace content {
26 class ServiceWorkerMessageFilter; 26 class ServiceWorkerMessageFilter;
27 class ThreadSafeSender; 27 class ThreadSafeSender;
28 class WebServiceWorkerImpl; 28 class WebServiceWorkerImpl;
29 29
30 // This class manages communication with the browser process about 30 // This class manages communication with the browser process about
31 // registration of the service worker, exposed to renderer and worker 31 // registration of the service worker, exposed to renderer and worker
32 // scripts through methods like navigator.registerServiceWorker(). 32 // scripts through methods like navigator.registerServiceWorker().
33 class ServiceWorkerDispatcher : public webkit_glue::WorkerTaskRunner::Observer { 33 class ServiceWorkerDispatcher : public WorkerTaskRunner::Observer {
34 public: 34 public:
35 explicit ServiceWorkerDispatcher(ThreadSafeSender* thread_safe_sender); 35 explicit ServiceWorkerDispatcher(ThreadSafeSender* thread_safe_sender);
36 virtual ~ServiceWorkerDispatcher(); 36 virtual ~ServiceWorkerDispatcher();
37 37
38 void OnMessageReceived(const IPC::Message& msg); 38 void OnMessageReceived(const IPC::Message& msg);
39 bool Send(IPC::Message* msg); 39 bool Send(IPC::Message* msg);
40 40
41 // Corresponds to navigator.registerServiceWorker() 41 // Corresponds to navigator.registerServiceWorker()
42 void RegisterServiceWorker( 42 void RegisterServiceWorker(
43 const GURL& pattern, 43 const GURL& pattern,
44 const GURL& script_url, 44 const GURL& script_url,
45 blink::WebServiceWorkerProvider::WebServiceWorkerCallbacks* callbacks); 45 blink::WebServiceWorkerProvider::WebServiceWorkerCallbacks* callbacks);
46 // Corresponds to navigator.unregisterServiceWorker() 46 // Corresponds to navigator.unregisterServiceWorker()
47 void UnregisterServiceWorker( 47 void UnregisterServiceWorker(
48 const GURL& pattern, 48 const GURL& pattern,
49 blink::WebServiceWorkerProvider::WebServiceWorkerCallbacks* callbacks); 49 blink::WebServiceWorkerProvider::WebServiceWorkerCallbacks* callbacks);
50 50
51 // |thread_safe_sender| needs to be passed in because if the call leads to 51 // |thread_safe_sender| needs to be passed in because if the call leads to
52 // construction it will be needed. 52 // construction it will be needed.
53 static ServiceWorkerDispatcher* ThreadSpecificInstance( 53 static ServiceWorkerDispatcher* ThreadSpecificInstance(
54 ThreadSafeSender* thread_safe_sender); 54 ThreadSafeSender* thread_safe_sender);
55 55
56 private: 56 private:
57 // webkit_glue::WorkerTaskRunner::Observer implementation. 57 // WorkerTaskRunner::Observer implementation.
58 virtual void OnWorkerRunLoopStopped() OVERRIDE; 58 virtual void OnWorkerRunLoopStopped() OVERRIDE;
59 59
60 // The asynchronous success response to RegisterServiceWorker. 60 // The asynchronous success response to RegisterServiceWorker.
61 void OnRegistered(int32 thread_id, int32 request_id, int64 registration_id); 61 void OnRegistered(int32 thread_id, int32 request_id, int64 registration_id);
62 // The asynchronous success response to UregisterServiceWorker. 62 // The asynchronous success response to UregisterServiceWorker.
63 void OnUnregistered(int32 thread_id, 63 void OnUnregistered(int32 thread_id,
64 int32 request_id); 64 int32 request_id);
65 void OnRegistrationError(int32 thread_id, 65 void OnRegistrationError(int32 thread_id,
66 int32 request_id, 66 int32 request_id,
67 blink::WebServiceWorkerError::ErrorType error_type, 67 blink::WebServiceWorkerError::ErrorType error_type,
68 const base::string16& message); 68 const base::string16& message);
69 69
70 IDMap<blink::WebServiceWorkerProvider::WebServiceWorkerCallbacks, 70 IDMap<blink::WebServiceWorkerProvider::WebServiceWorkerCallbacks,
71 IDMapOwnPointer> pending_callbacks_; 71 IDMapOwnPointer> pending_callbacks_;
72 72
73 scoped_refptr<ThreadSafeSender> thread_safe_sender_; 73 scoped_refptr<ThreadSafeSender> thread_safe_sender_;
74 74
75 DISALLOW_COPY_AND_ASSIGN(ServiceWorkerDispatcher); 75 DISALLOW_COPY_AND_ASSIGN(ServiceWorkerDispatcher);
76 }; 76 };
77 77
78 } // namespace content 78 } // namespace content
79 79
80 #endif // CONTENT_CHILD_SERVICE_WORKER_SERVICE_WORKER_DISPATCHER_H_ 80 #endif // CONTENT_CHILD_SERVICE_WORKER_SERVICE_WORKER_DISPATCHER_H_
OLDNEW
« no previous file with comments | « content/child/quota_dispatcher.cc ('k') | content/child/service_worker/service_worker_dispatcher.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698