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

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

Issue 246023007: Chromium-side plumbing for ServiceWorker -> Document postMessage (2/3) (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: message port threading fix Created 6 years, 7 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_EMBEDDED_WORKER_CLIENT_H_ 5 #ifndef CONTENT_CHILD_SERVICE_WORKER_EMBEDDED_WORKER_CLIENT_H_
6 #define CONTENT_CHILD_SERVICE_WORKER_EMBEDDED_WORKER_CLIENT_H_ 6 #define CONTENT_CHILD_SERVICE_WORKER_EMBEDDED_WORKER_CLIENT_H_
7 7
8 #include "base/memory/ref_counted.h" 8 #include "base/memory/ref_counted.h"
9 #include "base/memory/weak_ptr.h" 9 #include "base/memory/weak_ptr.h"
10 #include "base/strings/string16.h" 10 #include "base/strings/string16.h"
(...skipping 75 matching lines...) Expand 10 before | Expand all | Expand 10 after
86 blink::WebServiceWorkerEventResult); 86 blink::WebServiceWorkerEventResult);
87 virtual void didHandleInstallEvent(int request_id, 87 virtual void didHandleInstallEvent(int request_id,
88 blink::WebServiceWorkerEventResult result); 88 blink::WebServiceWorkerEventResult result);
89 virtual void didHandleFetchEvent(int request_id); 89 virtual void didHandleFetchEvent(int request_id);
90 virtual void didHandleFetchEvent( 90 virtual void didHandleFetchEvent(
91 int request_id, 91 int request_id,
92 const blink::WebServiceWorkerResponse& response); 92 const blink::WebServiceWorkerResponse& response);
93 virtual void didHandleSyncEvent(int request_id); 93 virtual void didHandleSyncEvent(int request_id);
94 virtual blink::WebServiceWorkerNetworkProvider* 94 virtual blink::WebServiceWorkerNetworkProvider*
95 createServiceWorkerNetworkProvider(blink::WebDataSource* data_source); 95 createServiceWorkerNetworkProvider(blink::WebDataSource* data_source);
96 virtual void postMessageToClient(
97 int client_id,
98 const blink::WebString& message,
99 blink::WebMessagePortChannelArray* channels);
96 100
97 // TODO: Implement DevTools related method overrides. 101 // TODO: Implement DevTools related method overrides.
98 102
99 int embedded_worker_id() const { return embedded_worker_id_; } 103 int embedded_worker_id() const { return embedded_worker_id_; }
100 base::MessageLoopProxy* main_thread_proxy() const { 104 base::MessageLoopProxy* main_thread_proxy() const {
101 return main_thread_proxy_; 105 return main_thread_proxy_;
102 } 106 }
107 ThreadSafeSender* thread_safe_sender() { return sender_; }
103 108
104 private: 109 private:
105 void OnMessageToWorker(int thread_id, 110 void OnMessageToWorker(int thread_id,
106 int embedded_worker_id, 111 int embedded_worker_id,
107 const IPC::Message& message); 112 const IPC::Message& message);
108 void SendWorkerStarted(); 113 void SendWorkerStarted();
109 114
110 const int embedded_worker_id_; 115 const int embedded_worker_id_;
111 const int64 service_worker_version_id_; 116 const int64 service_worker_version_id_;
112 const GURL service_worker_scope_; 117 const GURL service_worker_scope_;
113 const GURL script_url_; 118 const GURL script_url_;
114 const int worker_devtools_agent_route_id_; 119 const int worker_devtools_agent_route_id_;
115 scoped_refptr<ThreadSafeSender> sender_; 120 scoped_refptr<ThreadSafeSender> sender_;
116 scoped_refptr<base::MessageLoopProxy> main_thread_proxy_; 121 scoped_refptr<base::MessageLoopProxy> main_thread_proxy_;
117 scoped_refptr<base::TaskRunner> worker_task_runner_; 122 scoped_refptr<base::TaskRunner> worker_task_runner_;
118 123
119 scoped_ptr<ServiceWorkerScriptContext> script_context_; 124 scoped_ptr<ServiceWorkerScriptContext> script_context_;
120 125
121 base::WeakPtrFactory<EmbeddedWorkerContextClient> weak_factory_; 126 base::WeakPtrFactory<EmbeddedWorkerContextClient> weak_factory_;
122 127
123 DISALLOW_COPY_AND_ASSIGN(EmbeddedWorkerContextClient); 128 DISALLOW_COPY_AND_ASSIGN(EmbeddedWorkerContextClient);
124 }; 129 };
125 130
126 } // namespace content 131 } // namespace content
127 132
128 #endif // CONTENT_CHILD_SERVICE_WORKER_EMBEDDED_WORKER_CLIENT_H_ 133 #endif // CONTENT_CHILD_SERVICE_WORKER_EMBEDDED_WORKER_CLIENT_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698