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

Side by Side Diff: public/web/WebServiceWorkerContextProxy.h

Issue 383063008: Expose the ServiceWorker's v8 context to embedders. (Closed) Base URL: https://chromium.googlesource.com/chromium/blink.git@pinned
Patch Set: Don't #include .cpp files. :-P Created 6 years, 5 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 /* 1 /*
2 * Copyright (C) 2013 Google Inc. All rights reserved. 2 * Copyright (C) 2013 Google Inc. All rights reserved.
3 * 3 *
4 * Redistribution and use in source and binary forms, with or without 4 * Redistribution and use in source and binary forms, with or without
5 * modification, are permitted provided that the following conditions are 5 * modification, are permitted provided that the following conditions are
6 * met: 6 * met:
7 * 7 *
8 * * Redistributions of source code must retain the above copyright 8 * * Redistributions of source code must retain the above copyright
9 * notice, this list of conditions and the following disclaimer. 9 * notice, this list of conditions and the following disclaimer.
10 * * Redistributions in binary form must reproduce the above 10 * * Redistributions in binary form must reproduce the above
(...skipping 15 matching lines...) Expand all
26 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 26 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
27 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 27 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
28 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 28 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
29 */ 29 */
30 30
31 #ifndef WebServiceWorkerContextProxy_h 31 #ifndef WebServiceWorkerContextProxy_h
32 #define WebServiceWorkerContextProxy_h 32 #define WebServiceWorkerContextProxy_h
33 33
34 #include "public/platform/WebMessagePortChannel.h" 34 #include "public/platform/WebMessagePortChannel.h"
35 35
36 namespace v8 {
37 class Context;
38 template <class T>
39 class Handle;
40 }
41
36 namespace blink { 42 namespace blink {
37 43
38 class WebServiceWorkerRequest; 44 class WebServiceWorkerRequest;
39 class WebString; 45 class WebString;
40 46
41 // A proxy interface to talk to the worker's GlobalScope implementation. 47 // A proxy interface to talk to the worker's GlobalScope implementation.
42 // All methods of this class must be called on the worker thread. 48 // All methods of this class must be called on the worker thread.
43 class WebServiceWorkerContextProxy { 49 class WebServiceWorkerContextProxy {
44 public: 50 public:
45 virtual ~WebServiceWorkerContextProxy() { } 51 virtual ~WebServiceWorkerContextProxy() { }
46 52
47 virtual void dispatchActivateEvent(int eventID) = 0; 53 virtual void dispatchActivateEvent(int eventID) = 0;
48 // FIXME: This needs to pass the active service worker info. 54 // FIXME: This needs to pass the active service worker info.
49 virtual void dispatchInstallEvent(int installEventID) = 0; 55 virtual void dispatchInstallEvent(int installEventID) = 0;
50 virtual void dispatchFetchEvent(int fetchEventID, const WebServiceWorkerRequ est& webRequest) = 0; 56 virtual void dispatchFetchEvent(int fetchEventID, const WebServiceWorkerRequ est& webRequest) = 0;
51 57
52 virtual void dispatchMessageEvent(const WebString& message, const WebMessage PortChannelArray& channels) = 0; 58 virtual void dispatchMessageEvent(const WebString& message, const WebMessage PortChannelArray& channels) = 0;
53 59
54 virtual void dispatchPushEvent(int eventID, const WebString& data) = 0; 60 virtual void dispatchPushEvent(int eventID, const WebString& data) = 0;
55 61
56 // Once the ServiceWorker has finished handling the sync event 62 // Once the ServiceWorker has finished handling the sync event
57 // didHandleSyncEvent is called on the context client. 63 // didHandleSyncEvent is called on the context client.
58 virtual void dispatchSyncEvent(int syncEventID) = 0; 64 virtual void dispatchSyncEvent(int syncEventID) = 0;
65
66 // Returns the raw v8 context for the Service Worker. This must be called
67 // with an active HandleScope, and the handle is non-null in non-cleanup
68 // tasks from workerContextStarted() to willDestroyWorkerContext().
69 virtual v8::Handle<v8::Context> v8Context() = 0;
59 }; 70 };
60 71
61 } // namespace blink 72 } // namespace blink
62 73
63 #endif // WebServiceWorkerContextProxy_h 74 #endif // WebServiceWorkerContextProxy_h
OLDNEW
« Source/web/tests/ServiceWorkerGlobalScopeProxyTest.cpp ('K') | « Source/web/web.gypi ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698