summaryrefslogtreecommitdiff
path: root/Source/WebCore/inspector/WorkerInspectorController.h
diff options
context:
space:
mode:
Diffstat (limited to 'Source/WebCore/inspector/WorkerInspectorController.h')
-rw-r--r--Source/WebCore/inspector/WorkerInspectorController.h110
1 files changed, 50 insertions, 60 deletions
diff --git a/Source/WebCore/inspector/WorkerInspectorController.h b/Source/WebCore/inspector/WorkerInspectorController.h
index 7984088b1..f92d5efec 100644
--- a/Source/WebCore/inspector/WorkerInspectorController.h
+++ b/Source/WebCore/inspector/WorkerInspectorController.h
@@ -1,94 +1,84 @@
/*
- * Copyright (C) 2011 Google Inc. All rights reserved.
+ * Copyright (C) 2016 Apple Inc. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
*
- * * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * * Redistributions in binary form must reproduce the above
- * copyright notice, this list of conditions and the following disclaimer
- * in the documentation and/or other materials provided with the
- * distribution.
- * * Neither the name of Google Inc. nor the names of its
- * contributors may be used to endorse or promote products derived from
- * this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
+ * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
+ * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
+ * THE POSSIBILITY OF SUCH DAMAGE.
*/
-#ifndef WorkerInspectorController_h
-#define WorkerInspectorController_h
-
-#if ENABLE(INSPECTOR)
+#pragma once
-#include "InspectorInstrumentationCookie.h"
-#include "InspectorWebAgentBase.h"
+#include "WorkerScriptDebugServer.h"
#include <inspector/InspectorAgentRegistry.h>
#include <inspector/InspectorEnvironment.h>
-#include <wtf/FastMalloc.h>
#include <wtf/Forward.h>
#include <wtf/Noncopyable.h>
-#include <wtf/RefPtr.h>
-#include <wtf/Vector.h>
+#include <wtf/Stopwatch.h>
namespace Inspector {
-class InspectorBackendDispatcher;
-}
+class FrontendChannel;
+class FrontendRouter;
+};
namespace WebCore {
-class InspectorInstrumentation;
class InstrumentingAgents;
-class PageInjectedScriptManager;
+class WebInjectedScriptManager;
class WorkerGlobalScope;
-class WorkerRuntimeAgent;
class WorkerInspectorController final : public Inspector::InspectorEnvironment {
WTF_MAKE_NONCOPYABLE(WorkerInspectorController);
WTF_MAKE_FAST_ALLOCATED;
public:
explicit WorkerInspectorController(WorkerGlobalScope&);
- ~WorkerInspectorController();
+ virtual ~WorkerInspectorController();
+
+ void workerTerminating();
void connectFrontend();
- void disconnectFrontend(Inspector::InspectorDisconnectReason);
+ void disconnectFrontend(Inspector::DisconnectReason);
+
void dispatchMessageFromFrontend(const String&);
- void resume();
- virtual bool developerExtrasEnabled() const override { return true; }
- virtual bool canAccessInspectedScriptState(JSC::ExecState*) const override { return true; }
- virtual Inspector::InspectorFunctionCallHandler functionCallHandler() const override;
- virtual Inspector::InspectorEvaluateHandler evaluateHandler() const override;
- virtual void willCallInjectedScriptFunction(JSC::ExecState*, const String& scriptName, int scriptLine) override;
- virtual void didCallInjectedScriptFunction() override;
+ // InspectorEnvironment
+ bool developerExtrasEnabled() const override { return true; }
+ bool canAccessInspectedScriptState(JSC::ExecState*) const override { return true; }
+ Inspector::InspectorFunctionCallHandler functionCallHandler() const override;
+ Inspector::InspectorEvaluateHandler evaluateHandler() const override;
+ void frontendInitialized() override { }
+ Ref<WTF::Stopwatch> executionStopwatch() override { return m_executionStopwatch.copyRef(); }
+ WorkerScriptDebugServer& scriptDebugServer() override { return m_scriptDebugServer; }
+ JSC::VM& vm() override;
private:
- friend InstrumentingAgents* instrumentationForWorkerGlobalScope(WorkerGlobalScope*);
+ friend class InspectorInstrumentation;
+ Ref<InstrumentingAgents> m_instrumentingAgents;
+ std::unique_ptr<WebInjectedScriptManager> m_injectedScriptManager;
+ Ref<Inspector::FrontendRouter> m_frontendRouter;
+ Ref<Inspector::BackendDispatcher> m_backendDispatcher;
+ Ref<WTF::Stopwatch> m_executionStopwatch;
+ WorkerScriptDebugServer m_scriptDebugServer;
+ Inspector::AgentRegistry m_agents;
WorkerGlobalScope& m_workerGlobalScope;
- RefPtr<InstrumentingAgents> m_instrumentingAgents;
- std::unique_ptr<PageInjectedScriptManager> m_injectedScriptManager;
- WorkerRuntimeAgent* m_runtimeAgent;
- Inspector::InspectorAgentRegistry m_agents;
- std::unique_ptr<InspectorFrontendChannel> m_frontendChannel;
- RefPtr<Inspector::InspectorBackendDispatcher> m_backendDispatcher;
- Vector<InspectorInstrumentationCookie, 2> m_injectedScriptInstrumentationCookies;
+ std::unique_ptr<Inspector::FrontendChannel> m_forwardingChannel;
};
-}
-
-#endif // ENABLE(INSPECTOR)
-
-#endif // !defined(WorkerInspectorController_h)
+} // namespace WebCore