Index: third_party/WebKit/Source/core/inspector/InspectorWorkerAgent.cpp |
diff --git a/third_party/WebKit/Source/core/inspector/InspectorWorkerAgent.cpp b/third_party/WebKit/Source/core/inspector/InspectorWorkerAgent.cpp |
index 835bc2f2566197d8ca392b94bc14451ca3eb55e6..1230deb4ac77b688d2b89db2f10a995c2c3b07db 100644 |
--- a/third_party/WebKit/Source/core/inspector/InspectorWorkerAgent.cpp |
+++ b/third_party/WebKit/Source/core/inspector/InspectorWorkerAgent.cpp |
@@ -43,7 +43,7 @@ namespace blink { |
namespace WorkerAgentState { |
static const char workerInspectionEnabled[] = "workerInspectionEnabled"; |
-static const char autoconnectToWorkers[] = "autoconnectToWorkers"; |
+static const char pauseWorkersOnStart[] = "pauseWorkersOnStart"; |
}; |
PassOwnPtrWillBeRawPtr<InspectorWorkerAgent> InspectorWorkerAgent::create(PageConsoleAgent* consoleAgent) |
@@ -60,7 +60,7 @@ InspectorWorkerAgent::InspectorWorkerAgent(PageConsoleAgent* consoleAgent) |
InspectorWorkerAgent::~InspectorWorkerAgent() |
{ |
#if !ENABLE(OILPAN) |
- m_instrumentingAgents->setInspectorWorkerAgent(0); |
+ m_instrumentingAgents->setInspectorWorkerAgent(nullptr); |
#endif |
} |
@@ -84,28 +84,10 @@ void InspectorWorkerAgent::enable(ErrorString*) |
void InspectorWorkerAgent::disable(ErrorString*) |
{ |
m_state->setBoolean(WorkerAgentState::workerInspectionEnabled, false); |
- m_state->setBoolean(WorkerAgentState::autoconnectToWorkers, false); |
+ m_state->setBoolean(WorkerAgentState::pauseWorkersOnStart, false); |
destroyWorkerAgentClients(); |
} |
-void InspectorWorkerAgent::connectToWorker(ErrorString* error, const String& workerId) |
-{ |
- WorkerAgentClient* client = m_idToClient.get(workerId); |
- if (client) |
- client->connectToWorker(); |
- else |
- *error = "Worker is gone"; |
-} |
- |
-void InspectorWorkerAgent::disconnectFromWorker(ErrorString* error, const String& workerId) |
-{ |
- WorkerAgentClient* client = m_idToClient.get(workerId); |
- if (client) |
- client->dispose(); |
- else |
- *error = "Worker is gone"; |
-} |
- |
void InspectorWorkerAgent::sendMessageToWorker(ErrorString* error, const String& workerId, const String& message) |
{ |
WorkerAgentClient* client = m_idToClient.get(workerId); |
@@ -115,9 +97,9 @@ void InspectorWorkerAgent::sendMessageToWorker(ErrorString* error, const String& |
*error = "Worker is gone"; |
} |
-void InspectorWorkerAgent::setAutoconnectToWorkers(ErrorString*, bool value) |
+void InspectorWorkerAgent::setPauseWorkersOnStart(ErrorString*, bool value) |
{ |
- m_state->setBoolean(WorkerAgentState::autoconnectToWorkers, value); |
+ m_state->setBoolean(WorkerAgentState::pauseWorkersOnStart, value); |
} |
void InspectorWorkerAgent::setTracingSessionId(const String& sessionId) |
@@ -131,15 +113,15 @@ void InspectorWorkerAgent::setTracingSessionId(const String& sessionId) |
bool InspectorWorkerAgent::shouldPauseDedicatedWorkerOnStart() |
{ |
- return m_state->booleanProperty(WorkerAgentState::autoconnectToWorkers, false); |
+ return m_state->booleanProperty(WorkerAgentState::workerInspectionEnabled, false) && m_state->booleanProperty(WorkerAgentState::pauseWorkersOnStart, false); |
} |
-void InspectorWorkerAgent::didStartWorker(WorkerInspectorProxy* workerInspectorProxy, const KURL& url) |
+void InspectorWorkerAgent::didStartWorker(WorkerInspectorProxy* workerInspectorProxy, const KURL& url, bool pausedOnStart) |
{ |
String id = "dedicated:" + IdentifiersFactory::createIdentifier(); |
m_workerInfos.set(workerInspectorProxy, WorkerInfo(url.string(), id)); |
if (frontend() && m_state->booleanProperty(WorkerAgentState::workerInspectionEnabled, false)) |
- createWorkerAgentClient(workerInspectorProxy, url.string(), id); |
+ createWorkerAgentClient(workerInspectorProxy, url.string(), id, pausedOnStart); |
if (!m_tracingSessionId.isEmpty()) |
workerInspectorProxy->writeTimelineStartedEvent(m_tracingSessionId, id); |
} |
@@ -160,7 +142,7 @@ void InspectorWorkerAgent::workerTerminated(WorkerInspectorProxy* proxy) |
void InspectorWorkerAgent::createWorkerAgentClientsForExistingWorkers() |
{ |
for (auto& info : m_workerInfos) |
- createWorkerAgentClient(info.key, info.value.url, info.value.id); |
+ createWorkerAgentClient(info.key, info.value.url, info.value.id, false); |
} |
void InspectorWorkerAgent::destroyWorkerAgentClients() |
@@ -170,17 +152,15 @@ void InspectorWorkerAgent::destroyWorkerAgentClients() |
m_idToClient.clear(); |
} |
-void InspectorWorkerAgent::createWorkerAgentClient(WorkerInspectorProxy* workerInspectorProxy, const String& url, const String& id) |
+void InspectorWorkerAgent::createWorkerAgentClient(WorkerInspectorProxy* workerInspectorProxy, const String& url, const String& id, bool pausedOnStart) |
{ |
OwnPtrWillBeRawPtr<WorkerAgentClient> client = WorkerAgentClient::create(frontend(), workerInspectorProxy, id, m_consoleAgent); |
WorkerAgentClient* rawClient = client.get(); |
m_idToClient.set(id, client.release()); |
+ rawClient->connectToWorker(); |
ASSERT(frontend()); |
- bool autoconnectToWorkers = m_state->booleanProperty(WorkerAgentState::autoconnectToWorkers, false); |
- if (autoconnectToWorkers) |
- rawClient->connectToWorker(); |
- frontend()->workerCreated(id, url, autoconnectToWorkers); |
+ frontend()->workerCreated(id, url, pausedOnStart); |
} |
DEFINE_TRACE(InspectorWorkerAgent) |