| OLD | NEW | 
|---|
| (Empty) |  | 
|  | 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 | 
|  | 3 // found in the LICENSE file. | 
|  | 4 | 
|  | 5 #ifndef CONTENT_CHILD_SERVICE_WORKER_EMBEDDED_WORKER_CLIENT_H_ | 
|  | 6 #define CONTENT_CHILD_SERVICE_WORKER_EMBEDDED_WORKER_CLIENT_H_ | 
|  | 7 | 
|  | 8 #include "base/memory/ref_counted.h" | 
|  | 9 #include "base/strings/string16.h" | 
|  | 10 #include "ipc/ipc_listener.h" | 
|  | 11 #include "third_party/WebKit/public/web/WebServiceWorkerContextClient.h" | 
|  | 12 #include "url/gurl.h" | 
|  | 13 | 
|  | 14 namespace base { | 
|  | 15 class MessageLoopProxy; | 
|  | 16 } | 
|  | 17 | 
|  | 18 namespace content { | 
|  | 19 | 
|  | 20 class ThreadSafeSender; | 
|  | 21 | 
|  | 22 // This class provides access to/from an embedded worker's WorkerGlobalScope. | 
|  | 23 // All methods other than the constructor (it's created on the main thread) | 
|  | 24 // are called on the worker thread. | 
|  | 25 class ServiceWorkerContextClient | 
|  | 26     : public blink::WebServiceWorkerContextClient { | 
|  | 27  public: | 
|  | 28   // Returns a thread-specific client instance.  This does NOT create a | 
|  | 29   // new instance. | 
|  | 30   static ServiceWorkerContextClient* ThreadSpecificInstance(); | 
|  | 31 | 
|  | 32   ServiceWorkerContextClient(int32 embedded_worker_id, | 
|  | 33                              int64 service_worker_version_id, | 
|  | 34                              const GURL& script_url); | 
|  | 35 | 
|  | 36   virtual ~ServiceWorkerContextClient(); | 
|  | 37 | 
|  | 38   void OnMessageReceived(const IPC::Message& msg); | 
|  | 39 | 
|  | 40   // WebServiceWorkerContextClient overrides. | 
|  | 41   virtual void workerContextStarted(blink::WebServiceWorkerContextProxy* proxy); | 
|  | 42   virtual void workerContextClosed(); | 
|  | 43   virtual void workerContextDestroyed(); | 
|  | 44 | 
|  | 45   // TODO: Implement DevTools related method overrides. | 
|  | 46 | 
|  | 47   int embedded_worker_id() const { return embedded_worker_id_; } | 
|  | 48 | 
|  | 49  private: | 
|  | 50   const int32 embedded_worker_id_; | 
|  | 51   const int64 service_worker_version_id_; | 
|  | 52   const GURL script_url_; | 
|  | 53   scoped_refptr<ThreadSafeSender> sender_; | 
|  | 54   scoped_refptr<base::MessageLoopProxy> main_thread_proxy_; | 
|  | 55 | 
|  | 56   blink::WebServiceWorkerContextProxy* proxy_; | 
|  | 57 | 
|  | 58   DISALLOW_COPY_AND_ASSIGN(ServiceWorkerContextClient); | 
|  | 59 }; | 
|  | 60 | 
|  | 61 }  // namespace content | 
|  | 62 | 
|  | 63 #endif  // CONTENT_CHILD_SERVICE_WORKER_EMBEDDED_WORKER_CLIENT_H_ | 
| OLD | NEW | 
|---|