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

Side by Side Diff: Source/web/WebSharedWorkerImpl.h

Issue 463433002: Oilpan: fix build after r179934. (Closed) Base URL: https://chromium.googlesource.com/chromium/blink.git@master
Patch Set: 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
« no previous file with comments | « Source/web/ServiceWorkerGlobalScopeProxy.cpp ('k') | Source/web/WebSharedWorkerImpl.cpp » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 /* 1 /*
2 * Copyright (C) 2009 Google Inc. All rights reserved. 2 * Copyright (C) 2009 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 30 matching lines...) Expand all
41 #include "public/web/WebContentSecurityPolicy.h" 41 #include "public/web/WebContentSecurityPolicy.h"
42 #include "public/web/WebFrameClient.h" 42 #include "public/web/WebFrameClient.h"
43 #include "public/web/WebSharedWorkerClient.h" 43 #include "public/web/WebSharedWorkerClient.h"
44 #include "wtf/PassOwnPtr.h" 44 #include "wtf/PassOwnPtr.h"
45 #include "wtf/RefPtr.h" 45 #include "wtf/RefPtr.h"
46 #include "wtf/WeakPtr.h" 46 #include "wtf/WeakPtr.h"
47 47
48 namespace blink { 48 namespace blink {
49 class ConsoleMessage; 49 class ConsoleMessage;
50 class ResourceResponse; 50 class ResourceResponse;
51 }
52
53 namespace blink {
54 class WebApplicationCacheHost; 51 class WebApplicationCacheHost;
55 class WebApplicationCacheHostClient; 52 class WebApplicationCacheHostClient;
56 class WebWorkerClient; 53 class WebWorkerClient;
57 class WebSecurityOrigin; 54 class WebSecurityOrigin;
58 class WebString; 55 class WebString;
59 class WebURL; 56 class WebURL;
60 class WebView; 57 class WebView;
61 class WebWorker; 58 class WebWorker;
62 class WebSharedWorkerClient; 59 class WebSharedWorkerClient;
63 60
64 // This class is used by the worker process code to talk to the blink::SharedWor ker implementation. 61 // This class is used by the worker process code to talk to the SharedWorker imp lementation.
65 // It can't use it directly since it uses WebKit types, so this class converts t he data types. 62 // It can't use it directly since it uses WebKit types, so this class converts t he data types.
66 // When the blink::SharedWorker object wants to call blink::WorkerReportingProxy , this class will 63 // When the SharedWorker object wants to call WorkerReportingProxy, this class w ill
67 // convert to Chrome data types first and then call the supplied WebCommonWorker Client. 64 // convert to Chrome data types first and then call the supplied WebCommonWorker Client.
68 class WebSharedWorkerImpl FINAL 65 class WebSharedWorkerImpl FINAL
69 : public blink::WorkerReportingProxy 66 : public WorkerReportingProxy
70 , public blink::WorkerLoaderProxy 67 , public WorkerLoaderProxy
71 , public WebFrameClient 68 , public WebFrameClient
72 , public WebSharedWorker { 69 , public WebSharedWorker {
73 public: 70 public:
74 explicit WebSharedWorkerImpl(WebSharedWorkerClient*); 71 explicit WebSharedWorkerImpl(WebSharedWorkerClient*);
75 72
76 // blink::WorkerReportingProxy methods: 73 // WorkerReportingProxy methods:
77 virtual void reportException( 74 virtual void reportException(
78 const WTF::String&, int, int, const WTF::String&) OVERRIDE; 75 const WTF::String&, int, int, const WTF::String&) OVERRIDE;
79 virtual void reportConsoleMessage(PassRefPtr<blink::ConsoleMessage>) OVERRID E; 76 virtual void reportConsoleMessage(PassRefPtrWillBeRawPtr<ConsoleMessage>) OV ERRIDE;
80 virtual void postMessageToPageInspector(const WTF::String&) OVERRIDE; 77 virtual void postMessageToPageInspector(const WTF::String&) OVERRIDE;
81 virtual void updateInspectorStateCookie(const WTF::String&) OVERRIDE; 78 virtual void updateInspectorStateCookie(const WTF::String&) OVERRIDE;
82 virtual void workerGlobalScopeStarted(blink::WorkerGlobalScope*) OVERRIDE; 79 virtual void workerGlobalScopeStarted(WorkerGlobalScope*) OVERRIDE;
83 virtual void workerGlobalScopeClosed() OVERRIDE; 80 virtual void workerGlobalScopeClosed() OVERRIDE;
84 virtual void workerGlobalScopeDestroyed() OVERRIDE; 81 virtual void workerGlobalScopeDestroyed() OVERRIDE;
85 virtual void willDestroyWorkerGlobalScope() OVERRIDE { } 82 virtual void willDestroyWorkerGlobalScope() OVERRIDE { }
86 83
87 // blink::WorkerLoaderProxy methods: 84 // WorkerLoaderProxy methods:
88 virtual void postTaskToLoader(PassOwnPtr<blink::ExecutionContextTask>) OVERR IDE; 85 virtual void postTaskToLoader(PassOwnPtr<ExecutionContextTask>) OVERRIDE;
89 virtual bool postTaskToWorkerGlobalScope(PassOwnPtr<blink::ExecutionContextT ask>) OVERRIDE; 86 virtual bool postTaskToWorkerGlobalScope(PassOwnPtr<ExecutionContextTask>) O VERRIDE;
90 87
91 // WebFrameClient methods to support resource loading thru the 'shadow page' . 88 // WebFrameClient methods to support resource loading thru the 'shadow page' .
92 virtual WebApplicationCacheHost* createApplicationCacheHost(WebLocalFrame*, WebApplicationCacheHostClient*) OVERRIDE; 89 virtual WebApplicationCacheHost* createApplicationCacheHost(WebLocalFrame*, WebApplicationCacheHostClient*) OVERRIDE;
93 virtual void didFinishDocumentLoad(WebLocalFrame*) OVERRIDE; 90 virtual void didFinishDocumentLoad(WebLocalFrame*) OVERRIDE;
94 91
95 // WebSharedWorker methods: 92 // WebSharedWorker methods:
96 virtual void startWorkerContext(const WebURL&, const WebString& name, const WebString& contentSecurityPolicy, WebContentSecurityPolicyType) OVERRIDE; 93 virtual void startWorkerContext(const WebURL&, const WebString& name, const WebString& contentSecurityPolicy, WebContentSecurityPolicyType) OVERRIDE;
97 virtual void connect(WebMessagePortChannel*) OVERRIDE; 94 virtual void connect(WebMessagePortChannel*) OVERRIDE;
98 virtual void terminateWorkerContext() OVERRIDE; 95 virtual void terminateWorkerContext() OVERRIDE;
99 virtual void clientDestroyed() OVERRIDE; 96 virtual void clientDestroyed() OVERRIDE;
100 97
101 virtual void pauseWorkerContextOnStart() OVERRIDE; 98 virtual void pauseWorkerContextOnStart() OVERRIDE;
102 virtual void resumeWorkerContext() OVERRIDE; 99 virtual void resumeWorkerContext() OVERRIDE;
103 virtual void attachDevTools() OVERRIDE; 100 virtual void attachDevTools() OVERRIDE;
104 virtual void reattachDevTools(const WebString& savedState) OVERRIDE; 101 virtual void reattachDevTools(const WebString& savedState) OVERRIDE;
105 virtual void detachDevTools() OVERRIDE; 102 virtual void detachDevTools() OVERRIDE;
106 virtual void dispatchDevToolsMessage(const WebString&) OVERRIDE; 103 virtual void dispatchDevToolsMessage(const WebString&) OVERRIDE;
107 104
108 private: 105 private:
109 class Loader; 106 class Loader;
110 107
111 virtual ~WebSharedWorkerImpl(); 108 virtual ~WebSharedWorkerImpl();
112 109
113 WebSharedWorkerClient* client() { return m_client->get(); } 110 WebSharedWorkerClient* client() { return m_client->get(); }
114 111
115 void setWorkerThread(PassRefPtr<blink::WorkerThread> thread) { m_workerThrea d = thread; } 112 void setWorkerThread(PassRefPtr<WorkerThread> thread) { m_workerThread = thr ead; }
116 blink::WorkerThread* workerThread() { return m_workerThread.get(); } 113 WorkerThread* workerThread() { return m_workerThread.get(); }
117 114
118 // Shuts down the worker thread. 115 // Shuts down the worker thread.
119 void stopWorkerThread(); 116 void stopWorkerThread();
120 117
121 // Creates the shadow loader used for worker network requests. 118 // Creates the shadow loader used for worker network requests.
122 void initializeLoader(const WebURL&); 119 void initializeLoader(const WebURL&);
123 120
124 void didReceiveScriptLoaderResponse(); 121 void didReceiveScriptLoaderResponse();
125 void onScriptLoaderFinished(); 122 void onScriptLoaderFinished();
126 123
127 static void connectTask(blink::ExecutionContext*, PassOwnPtr<WebMessagePortC hannel>); 124 static void connectTask(ExecutionContext*, PassOwnPtr<WebMessagePortChannel> );
128 // Tasks that are run on the main thread. 125 // Tasks that are run on the main thread.
129 void workerGlobalScopeClosedOnMainThread(); 126 void workerGlobalScopeClosedOnMainThread();
130 void workerGlobalScopeDestroyedOnMainThread(); 127 void workerGlobalScopeDestroyedOnMainThread();
131 128
132 // 'shadow page' - created to proxy loading requests from the worker. 129 // 'shadow page' - created to proxy loading requests from the worker.
133 RefPtrWillBePersistent<blink::ExecutionContext> m_loadingDocument; 130 RefPtrWillBePersistent<ExecutionContext> m_loadingDocument;
134 WebView* m_webView; 131 WebView* m_webView;
135 WebFrame* m_mainFrame; 132 WebFrame* m_mainFrame;
136 bool m_askedToTerminate; 133 bool m_askedToTerminate;
137 134
138 RefPtr<blink::WorkerThread> m_workerThread; 135 RefPtr<WorkerThread> m_workerThread;
139 136
140 // This one's initialized and bound to the main thread. 137 // This one's initialized and bound to the main thread.
141 RefPtr<WeakReference<WebSharedWorkerClient> > m_client; 138 RefPtr<WeakReference<WebSharedWorkerClient> > m_client;
142 139
143 // Usually WeakPtr is created by WeakPtrFactory exposed by Client 140 // Usually WeakPtr is created by WeakPtrFactory exposed by Client
144 // class itself, but here it's implemented by Chrome so we create 141 // class itself, but here it's implemented by Chrome so we create
145 // our own WeakPtr. 142 // our own WeakPtr.
146 WeakPtr<WebSharedWorkerClient> m_clientWeakPtr; 143 WeakPtr<WebSharedWorkerClient> m_clientWeakPtr;
147 144
148 bool m_pauseWorkerContextOnStart; 145 bool m_pauseWorkerContextOnStart;
149 bool m_attachDevToolsOnStart; 146 bool m_attachDevToolsOnStart;
150 147
151 // Kept around only while main script loading is ongoing. 148 // Kept around only while main script loading is ongoing.
152 OwnPtr<Loader> m_mainScriptLoader; 149 OwnPtr<Loader> m_mainScriptLoader;
153 WebURL m_url; 150 WebURL m_url;
154 WebString m_name; 151 WebString m_name;
155 WebString m_contentSecurityPolicy; 152 WebString m_contentSecurityPolicy;
156 WebContentSecurityPolicyType m_policyType; 153 WebContentSecurityPolicyType m_policyType;
157 }; 154 };
158 155
159 } // namespace blink 156 } // namespace blink
160 157
161 #endif 158 #endif
OLDNEW
« no previous file with comments | « Source/web/ServiceWorkerGlobalScopeProxy.cpp ('k') | Source/web/WebSharedWorkerImpl.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698