| OLD | NEW |
| 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 29 matching lines...) Expand all Loading... |
| 40 #include "core/inspector/InspectorFrontendChannel.h" | 40 #include "core/inspector/InspectorFrontendChannel.h" |
| 41 #include "core/inspector/InspectorHeapProfilerAgent.h" | 41 #include "core/inspector/InspectorHeapProfilerAgent.h" |
| 42 #include "core/inspector/InspectorProfilerAgent.h" | 42 #include "core/inspector/InspectorProfilerAgent.h" |
| 43 #include "core/inspector/InspectorState.h" | 43 #include "core/inspector/InspectorState.h" |
| 44 #include "core/inspector/InspectorStateClient.h" | 44 #include "core/inspector/InspectorStateClient.h" |
| 45 #include "core/inspector/InspectorTimelineAgent.h" | 45 #include "core/inspector/InspectorTimelineAgent.h" |
| 46 #include "core/inspector/InstrumentingAgents.h" | 46 #include "core/inspector/InstrumentingAgents.h" |
| 47 #include "core/inspector/WorkerConsoleAgent.h" | 47 #include "core/inspector/WorkerConsoleAgent.h" |
| 48 #include "core/inspector/WorkerDebuggerAgent.h" | 48 #include "core/inspector/WorkerDebuggerAgent.h" |
| 49 #include "core/inspector/WorkerRuntimeAgent.h" | 49 #include "core/inspector/WorkerRuntimeAgent.h" |
| 50 #include "core/workers/WorkerContext.h" | 50 #include "core/workers/WorkerGlobalScope.h" |
| 51 #include "core/workers/WorkerReportingProxy.h" | 51 #include "core/workers/WorkerReportingProxy.h" |
| 52 #include "core/workers/WorkerThread.h" | 52 #include "core/workers/WorkerThread.h" |
| 53 #include <wtf/PassOwnPtr.h> | 53 #include <wtf/PassOwnPtr.h> |
| 54 | 54 |
| 55 namespace WebCore { | 55 namespace WebCore { |
| 56 | 56 |
| 57 namespace { | 57 namespace { |
| 58 | 58 |
| 59 class PageInspectorProxy : public InspectorFrontendChannel { | 59 class PageInspectorProxy : public InspectorFrontendChannel { |
| 60 WTF_MAKE_FAST_ALLOCATED; | 60 WTF_MAKE_FAST_ALLOCATED; |
| 61 public: | 61 public: |
| 62 explicit PageInspectorProxy(WorkerContext* workerContext) : m_workerContext(
workerContext) { } | 62 explicit PageInspectorProxy(WorkerGlobalScope* workerGlobalScope) : m_worker
GlobalScope(workerGlobalScope) { } |
| 63 virtual ~PageInspectorProxy() { } | 63 virtual ~PageInspectorProxy() { } |
| 64 private: | 64 private: |
| 65 virtual bool sendMessageToFrontend(const String& message) | 65 virtual bool sendMessageToFrontend(const String& message) |
| 66 { | 66 { |
| 67 m_workerContext->thread()->workerReportingProxy().postMessageToPageInspe
ctor(message); | 67 m_workerGlobalScope->thread()->workerReportingProxy().postMessageToPageI
nspector(message); |
| 68 return true; | 68 return true; |
| 69 } | 69 } |
| 70 WorkerContext* m_workerContext; | 70 WorkerGlobalScope* m_workerGlobalScope; |
| 71 }; | 71 }; |
| 72 | 72 |
| 73 class WorkerStateClient : public InspectorStateClient { | 73 class WorkerStateClient : public InspectorStateClient { |
| 74 WTF_MAKE_FAST_ALLOCATED; | 74 WTF_MAKE_FAST_ALLOCATED; |
| 75 public: | 75 public: |
| 76 WorkerStateClient(WorkerContext* context) : m_workerContext(context) { } | 76 WorkerStateClient(WorkerGlobalScope* context) : m_workerGlobalScope(context)
{ } |
| 77 virtual ~WorkerStateClient() { } | 77 virtual ~WorkerStateClient() { } |
| 78 | 78 |
| 79 private: | 79 private: |
| 80 virtual void updateInspectorStateCookie(const String& cookie) | 80 virtual void updateInspectorStateCookie(const String& cookie) |
| 81 { | 81 { |
| 82 m_workerContext->thread()->workerReportingProxy().updateInspectorStateCo
okie(cookie); | 82 m_workerGlobalScope->thread()->workerReportingProxy().updateInspectorSta
teCookie(cookie); |
| 83 } | 83 } |
| 84 | 84 |
| 85 WorkerContext* m_workerContext; | 85 WorkerGlobalScope* m_workerGlobalScope; |
| 86 }; | 86 }; |
| 87 | 87 |
| 88 } | 88 } |
| 89 | 89 |
| 90 WorkerInspectorController::WorkerInspectorController(WorkerContext* workerContex
t) | 90 WorkerInspectorController::WorkerInspectorController(WorkerGlobalScope* workerGl
obalScope) |
| 91 : m_workerContext(workerContext) | 91 : m_workerGlobalScope(workerGlobalScope) |
| 92 , m_stateClient(adoptPtr(new WorkerStateClient(workerContext))) | 92 , m_stateClient(adoptPtr(new WorkerStateClient(workerGlobalScope))) |
| 93 , m_state(adoptPtr(new InspectorCompositeState(m_stateClient.get()))) | 93 , m_state(adoptPtr(new InspectorCompositeState(m_stateClient.get()))) |
| 94 , m_instrumentingAgents(InstrumentingAgents::create()) | 94 , m_instrumentingAgents(InstrumentingAgents::create()) |
| 95 , m_injectedScriptManager(InjectedScriptManager::createForWorker()) | 95 , m_injectedScriptManager(InjectedScriptManager::createForWorker()) |
| 96 , m_debugServer(adoptPtr(new WorkerScriptDebugServer(workerContext, WorkerDe
buggerAgent::debuggerTaskMode))) | 96 , m_debugServer(adoptPtr(new WorkerScriptDebugServer(workerGlobalScope, Work
erDebuggerAgent::debuggerTaskMode))) |
| 97 { | 97 { |
| 98 m_agents.append(WorkerRuntimeAgent::create(m_instrumentingAgents.get(), m_st
ate.get(), m_injectedScriptManager.get(), m_debugServer.get(), workerContext)); | 98 m_agents.append(WorkerRuntimeAgent::create(m_instrumentingAgents.get(), m_st
ate.get(), m_injectedScriptManager.get(), m_debugServer.get(), workerGlobalScope
)); |
| 99 | 99 |
| 100 OwnPtr<InspectorConsoleAgent> consoleAgent = WorkerConsoleAgent::create(m_in
strumentingAgents.get(), m_state.get(), m_injectedScriptManager.get()); | 100 OwnPtr<InspectorConsoleAgent> consoleAgent = WorkerConsoleAgent::create(m_in
strumentingAgents.get(), m_state.get(), m_injectedScriptManager.get()); |
| 101 m_agents.append(WorkerDebuggerAgent::create(m_instrumentingAgents.get(), m_s
tate.get(), m_debugServer.get(), workerContext, m_injectedScriptManager.get())); | 101 m_agents.append(WorkerDebuggerAgent::create(m_instrumentingAgents.get(), m_s
tate.get(), m_debugServer.get(), workerGlobalScope, m_injectedScriptManager.get(
))); |
| 102 | 102 |
| 103 m_agents.append(InspectorProfilerAgent::create(m_instrumentingAgents.get(),
consoleAgent.get(), m_state.get(), m_injectedScriptManager.get())); | 103 m_agents.append(InspectorProfilerAgent::create(m_instrumentingAgents.get(),
consoleAgent.get(), m_state.get(), m_injectedScriptManager.get())); |
| 104 m_agents.append(InspectorHeapProfilerAgent::create(m_instrumentingAgents.get
(), m_state.get(), m_injectedScriptManager.get())); | 104 m_agents.append(InspectorHeapProfilerAgent::create(m_instrumentingAgents.get
(), m_state.get(), m_injectedScriptManager.get())); |
| 105 m_agents.append(InspectorTimelineAgent::create(m_instrumentingAgents.get(),
0, 0, 0, m_state.get(), InspectorTimelineAgent::WorkerInspector, 0)); | 105 m_agents.append(InspectorTimelineAgent::create(m_instrumentingAgents.get(),
0, 0, 0, m_state.get(), InspectorTimelineAgent::WorkerInspector, 0)); |
| 106 m_agents.append(consoleAgent.release()); | 106 m_agents.append(consoleAgent.release()); |
| 107 | 107 |
| 108 m_injectedScriptManager->injectedScriptHost()->init(m_instrumentingAgents.ge
t(), m_debugServer.get()); | 108 m_injectedScriptManager->injectedScriptHost()->init(m_instrumentingAgents.ge
t(), m_debugServer.get()); |
| 109 } | 109 } |
| 110 | 110 |
| 111 WorkerInspectorController::~WorkerInspectorController() | 111 WorkerInspectorController::~WorkerInspectorController() |
| 112 { | 112 { |
| 113 m_instrumentingAgents->reset(); | 113 m_instrumentingAgents->reset(); |
| 114 disconnectFrontend(); | 114 disconnectFrontend(); |
| 115 } | 115 } |
| 116 | 116 |
| 117 void WorkerInspectorController::connectFrontend() | 117 void WorkerInspectorController::connectFrontend() |
| 118 { | 118 { |
| 119 ASSERT(!m_frontend); | 119 ASSERT(!m_frontend); |
| 120 m_state->unmute(); | 120 m_state->unmute(); |
| 121 m_frontendChannel = adoptPtr(new PageInspectorProxy(m_workerContext)); | 121 m_frontendChannel = adoptPtr(new PageInspectorProxy(m_workerGlobalScope)); |
| 122 m_frontend = adoptPtr(new InspectorFrontend(m_frontendChannel.get())); | 122 m_frontend = adoptPtr(new InspectorFrontend(m_frontendChannel.get())); |
| 123 m_backendDispatcher = InspectorBackendDispatcher::create(m_frontendChannel.g
et()); | 123 m_backendDispatcher = InspectorBackendDispatcher::create(m_frontendChannel.g
et()); |
| 124 m_agents.registerInDispatcher(m_backendDispatcher.get()); | 124 m_agents.registerInDispatcher(m_backendDispatcher.get()); |
| 125 m_agents.setFrontend(m_frontend.get()); | 125 m_agents.setFrontend(m_frontend.get()); |
| 126 } | 126 } |
| 127 | 127 |
| 128 void WorkerInspectorController::disconnectFrontend() | 128 void WorkerInspectorController::disconnectFrontend() |
| 129 { | 129 { |
| 130 if (!m_frontend) | 130 if (!m_frontend) |
| 131 return; | 131 return; |
| (...skipping 24 matching lines...) Expand all Loading... |
| 156 | 156 |
| 157 void WorkerInspectorController::resume() | 157 void WorkerInspectorController::resume() |
| 158 { | 158 { |
| 159 if (WorkerRuntimeAgent* runtimeAgent = m_instrumentingAgents->workerRuntimeA
gent()) { | 159 if (WorkerRuntimeAgent* runtimeAgent = m_instrumentingAgents->workerRuntimeA
gent()) { |
| 160 ErrorString unused; | 160 ErrorString unused; |
| 161 runtimeAgent->run(&unused); | 161 runtimeAgent->run(&unused); |
| 162 } | 162 } |
| 163 } | 163 } |
| 164 | 164 |
| 165 } | 165 } |
| OLD | NEW |