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

Side by Side Diff: Source/core/inspector/InspectorWorkerAgent.cpp

Issue 17648006: Rename WorkerContext to WorkerGlobalScope (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: Rebase on master Created 7 years, 6 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 /* 1 /*
2 * Copyright (C) 2011 Google Inc. All rights reserved. 2 * Copyright (C) 2011 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 19 matching lines...) Expand all
30 30
31 #include "config.h" 31 #include "config.h"
32 32
33 #include "core/inspector/InspectorWorkerAgent.h" 33 #include "core/inspector/InspectorWorkerAgent.h"
34 34
35 #include "InspectorFrontend.h" 35 #include "InspectorFrontend.h"
36 #include "core/inspector/InspectorState.h" 36 #include "core/inspector/InspectorState.h"
37 #include "core/inspector/InstrumentingAgents.h" 37 #include "core/inspector/InstrumentingAgents.h"
38 #include "core/inspector/JSONParser.h" 38 #include "core/inspector/JSONParser.h"
39 #include "core/platform/JSONValues.h" 39 #include "core/platform/JSONValues.h"
40 #include "core/workers/WorkerContextProxy.h" 40 #include "core/workers/WorkerGlobalScopeProxy.h"
41 #include "weborigin/KURL.h" 41 #include "weborigin/KURL.h"
42 #include "wtf/PassOwnPtr.h" 42 #include "wtf/PassOwnPtr.h"
43 #include "wtf/RefPtr.h" 43 #include "wtf/RefPtr.h"
44 44
45 namespace WebCore { 45 namespace WebCore {
46 46
47 namespace WorkerAgentState { 47 namespace WorkerAgentState {
48 static const char workerInspectionEnabled[] = "workerInspectionEnabled"; 48 static const char workerInspectionEnabled[] = "workerInspectionEnabled";
49 static const char autoconnectToWorkers[] = "autoconnectToWorkers"; 49 static const char autoconnectToWorkers[] = "autoconnectToWorkers";
50 }; 50 };
51 51
52 class InspectorWorkerAgent::WorkerFrontendChannel : public WorkerContextProxy::P ageInspector { 52 class InspectorWorkerAgent::WorkerFrontendChannel : public WorkerGlobalScopeProx y::PageInspector {
53 WTF_MAKE_FAST_ALLOCATED; 53 WTF_MAKE_FAST_ALLOCATED;
54 public: 54 public:
55 explicit WorkerFrontendChannel(InspectorFrontend* frontend, WorkerContextPro xy* proxy) 55 explicit WorkerFrontendChannel(InspectorFrontend* frontend, WorkerGlobalScop eProxy* proxy)
56 : m_frontend(frontend) 56 : m_frontend(frontend)
57 , m_proxy(proxy) 57 , m_proxy(proxy)
58 , m_id(s_nextId++) 58 , m_id(s_nextId++)
59 , m_connected(false) 59 , m_connected(false)
60 { 60 {
61 } 61 }
62 virtual ~WorkerFrontendChannel() 62 virtual ~WorkerFrontendChannel()
63 { 63 {
64 disconnectFromWorkerContext(); 64 disconnectFromWorkerGlobalScope();
65 } 65 }
66 66
67 int id() const { return m_id; } 67 int id() const { return m_id; }
68 WorkerContextProxy* proxy() const { return m_proxy; } 68 WorkerGlobalScopeProxy* proxy() const { return m_proxy; }
69 69
70 void connectToWorkerContext() 70 void connectToWorkerGlobalScope()
71 { 71 {
72 if (m_connected) 72 if (m_connected)
73 return; 73 return;
74 m_connected = true; 74 m_connected = true;
75 m_proxy->connectToInspector(this); 75 m_proxy->connectToInspector(this);
76 } 76 }
77 77
78 void disconnectFromWorkerContext() 78 void disconnectFromWorkerGlobalScope()
79 { 79 {
80 if (!m_connected) 80 if (!m_connected)
81 return; 81 return;
82 m_connected = false; 82 m_connected = false;
83 m_proxy->disconnectFromInspector(); 83 m_proxy->disconnectFromInspector();
84 } 84 }
85 85
86 private: 86 private:
87 // WorkerContextProxy::PageInspector implementation 87 // WorkerGlobalScopeProxy::PageInspector implementation
88 virtual void dispatchMessageFromWorker(const String& message) 88 virtual void dispatchMessageFromWorker(const String& message)
89 { 89 {
90 RefPtr<JSONValue> value = parseJSON(message); 90 RefPtr<JSONValue> value = parseJSON(message);
91 if (!value) 91 if (!value)
92 return; 92 return;
93 RefPtr<JSONObject> messageObject = value->asObject(); 93 RefPtr<JSONObject> messageObject = value->asObject();
94 if (!messageObject) 94 if (!messageObject)
95 return; 95 return;
96 m_frontend->worker()->dispatchMessageFromWorker(m_id, messageObject); 96 m_frontend->worker()->dispatchMessageFromWorker(m_id, messageObject);
97 } 97 }
98 98
99 InspectorFrontend* m_frontend; 99 InspectorFrontend* m_frontend;
100 WorkerContextProxy* m_proxy; 100 WorkerGlobalScopeProxy* m_proxy;
101 int m_id; 101 int m_id;
102 bool m_connected; 102 bool m_connected;
103 static int s_nextId; 103 static int s_nextId;
104 }; 104 };
105 105
106 int InspectorWorkerAgent::WorkerFrontendChannel::s_nextId = 1; 106 int InspectorWorkerAgent::WorkerFrontendChannel::s_nextId = 1;
107 107
108 PassOwnPtr<InspectorWorkerAgent> InspectorWorkerAgent::create(InstrumentingAgent s* instrumentingAgents, InspectorCompositeState* inspectorState) 108 PassOwnPtr<InspectorWorkerAgent> InspectorWorkerAgent::create(InstrumentingAgent s* instrumentingAgents, InspectorCompositeState* inspectorState)
109 { 109 {
110 return adoptPtr(new InspectorWorkerAgent(instrumentingAgents, inspectorState )); 110 return adoptPtr(new InspectorWorkerAgent(instrumentingAgents, inspectorState ));
(...skipping 47 matching lines...) Expand 10 before | Expand all | Expand 10 after
158 158
159 void InspectorWorkerAgent::canInspectWorkers(ErrorString*, bool* result) 159 void InspectorWorkerAgent::canInspectWorkers(ErrorString*, bool* result)
160 { 160 {
161 *result = true; 161 *result = true;
162 } 162 }
163 163
164 void InspectorWorkerAgent::connectToWorker(ErrorString* error, int workerId) 164 void InspectorWorkerAgent::connectToWorker(ErrorString* error, int workerId)
165 { 165 {
166 WorkerFrontendChannel* channel = m_idToChannel.get(workerId); 166 WorkerFrontendChannel* channel = m_idToChannel.get(workerId);
167 if (channel) 167 if (channel)
168 channel->connectToWorkerContext(); 168 channel->connectToWorkerGlobalScope();
169 else 169 else
170 *error = "Worker is gone"; 170 *error = "Worker is gone";
171 } 171 }
172 172
173 void InspectorWorkerAgent::disconnectFromWorker(ErrorString* error, int workerId ) 173 void InspectorWorkerAgent::disconnectFromWorker(ErrorString* error, int workerId )
174 { 174 {
175 WorkerFrontendChannel* channel = m_idToChannel.get(workerId); 175 WorkerFrontendChannel* channel = m_idToChannel.get(workerId);
176 if (channel) 176 if (channel)
177 channel->disconnectFromWorkerContext(); 177 channel->disconnectFromWorkerGlobalScope();
178 else 178 else
179 *error = "Worker is gone"; 179 *error = "Worker is gone";
180 } 180 }
181 181
182 void InspectorWorkerAgent::sendMessageToWorker(ErrorString* error, int workerId, const RefPtr<JSONObject>& message) 182 void InspectorWorkerAgent::sendMessageToWorker(ErrorString* error, int workerId, const RefPtr<JSONObject>& message)
183 { 183 {
184 WorkerFrontendChannel* channel = m_idToChannel.get(workerId); 184 WorkerFrontendChannel* channel = m_idToChannel.get(workerId);
185 if (channel) 185 if (channel)
186 channel->proxy()->sendMessageToInspector(message->toJSONString()); 186 channel->proxy()->sendMessageToInspector(message->toJSONString());
187 else 187 else
188 *error = "Worker is gone"; 188 *error = "Worker is gone";
189 } 189 }
190 190
191 void InspectorWorkerAgent::setAutoconnectToWorkers(ErrorString*, bool value) 191 void InspectorWorkerAgent::setAutoconnectToWorkers(ErrorString*, bool value)
192 { 192 {
193 m_state->setBoolean(WorkerAgentState::autoconnectToWorkers, value); 193 m_state->setBoolean(WorkerAgentState::autoconnectToWorkers, value);
194 } 194 }
195 195
196 bool InspectorWorkerAgent::shouldPauseDedicatedWorkerOnStart() 196 bool InspectorWorkerAgent::shouldPauseDedicatedWorkerOnStart()
197 { 197 {
198 return m_state->getBoolean(WorkerAgentState::autoconnectToWorkers); 198 return m_state->getBoolean(WorkerAgentState::autoconnectToWorkers);
199 } 199 }
200 200
201 void InspectorWorkerAgent::didStartWorkerContext(WorkerContextProxy* workerConte xtProxy, const KURL& url) 201 void InspectorWorkerAgent::didStartWorkerGlobalScope(WorkerGlobalScopeProxy* wor kerGlobalScopeProxy, const KURL& url)
202 { 202 {
203 m_dedicatedWorkers.set(workerContextProxy, url.string()); 203 m_dedicatedWorkers.set(workerGlobalScopeProxy, url.string());
204 if (m_inspectorFrontend && m_state->getBoolean(WorkerAgentState::workerInspe ctionEnabled)) 204 if (m_inspectorFrontend && m_state->getBoolean(WorkerAgentState::workerInspe ctionEnabled))
205 createWorkerFrontendChannel(workerContextProxy, url.string()); 205 createWorkerFrontendChannel(workerGlobalScopeProxy, url.string());
206 } 206 }
207 207
208 void InspectorWorkerAgent::workerContextTerminated(WorkerContextProxy* proxy) 208 void InspectorWorkerAgent::workerGlobalScopeTerminated(WorkerGlobalScopeProxy* p roxy)
209 { 209 {
210 m_dedicatedWorkers.remove(proxy); 210 m_dedicatedWorkers.remove(proxy);
211 for (WorkerChannels::iterator it = m_idToChannel.begin(); it != m_idToChanne l.end(); ++it) { 211 for (WorkerChannels::iterator it = m_idToChannel.begin(); it != m_idToChanne l.end(); ++it) {
212 if (proxy == it->value->proxy()) { 212 if (proxy == it->value->proxy()) {
213 m_inspectorFrontend->worker()->workerTerminated(it->key); 213 m_inspectorFrontend->worker()->workerTerminated(it->key);
214 delete it->value; 214 delete it->value;
215 m_idToChannel.remove(it); 215 m_idToChannel.remove(it);
216 return; 216 return;
217 } 217 }
218 } 218 }
219 } 219 }
220 220
221 void InspectorWorkerAgent::createWorkerFrontendChannelsForExistingWorkers() 221 void InspectorWorkerAgent::createWorkerFrontendChannelsForExistingWorkers()
222 { 222 {
223 for (DedicatedWorkers::iterator it = m_dedicatedWorkers.begin(); it != m_ded icatedWorkers.end(); ++it) 223 for (DedicatedWorkers::iterator it = m_dedicatedWorkers.begin(); it != m_ded icatedWorkers.end(); ++it)
224 createWorkerFrontendChannel(it->key, it->value); 224 createWorkerFrontendChannel(it->key, it->value);
225 } 225 }
226 226
227 void InspectorWorkerAgent::destroyWorkerFrontendChannels() 227 void InspectorWorkerAgent::destroyWorkerFrontendChannels()
228 { 228 {
229 for (WorkerChannels::iterator it = m_idToChannel.begin(); it != m_idToChanne l.end(); ++it) { 229 for (WorkerChannels::iterator it = m_idToChannel.begin(); it != m_idToChanne l.end(); ++it) {
230 it->value->disconnectFromWorkerContext(); 230 it->value->disconnectFromWorkerGlobalScope();
231 delete it->value; 231 delete it->value;
232 } 232 }
233 m_idToChannel.clear(); 233 m_idToChannel.clear();
234 } 234 }
235 235
236 void InspectorWorkerAgent::createWorkerFrontendChannel(WorkerContextProxy* worke rContextProxy, const String& url) 236 void InspectorWorkerAgent::createWorkerFrontendChannel(WorkerGlobalScopeProxy* w orkerGlobalScopeProxy, const String& url)
237 { 237 {
238 WorkerFrontendChannel* channel = new WorkerFrontendChannel(m_inspectorFronte nd, workerContextProxy); 238 WorkerFrontendChannel* channel = new WorkerFrontendChannel(m_inspectorFronte nd, workerGlobalScopeProxy);
239 m_idToChannel.set(channel->id(), channel); 239 m_idToChannel.set(channel->id(), channel);
240 240
241 ASSERT(m_inspectorFrontend); 241 ASSERT(m_inspectorFrontend);
242 bool autoconnectToWorkers = m_state->getBoolean(WorkerAgentState::autoconnec tToWorkers); 242 bool autoconnectToWorkers = m_state->getBoolean(WorkerAgentState::autoconnec tToWorkers);
243 if (autoconnectToWorkers) 243 if (autoconnectToWorkers)
244 channel->connectToWorkerContext(); 244 channel->connectToWorkerGlobalScope();
245 m_inspectorFrontend->worker()->workerCreated(channel->id(), url, autoconnect ToWorkers); 245 m_inspectorFrontend->worker()->workerCreated(channel->id(), url, autoconnect ToWorkers);
246 } 246 }
247 247
248 } // namespace WebCore 248 } // namespace WebCore
OLDNEW
« no previous file with comments | « Source/core/inspector/InspectorWorkerAgent.h ('k') | Source/core/inspector/WorkerDebuggerAgent.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698