ITMLKit Inspector: Data Bindings / Associated Data for nodes
[WebKit-https.git] / Source / WebCore / inspector / CommandLineAPIHost.h
index 7bfca53..d890997 100644 (file)
  * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  */
 
-#ifndef CommandLineAPIHost_h
-#define CommandLineAPIHost_h
+#pragma once
 
-#include "ScriptState.h"
-#include <inspector/PerGlobalObjectWrapperWorld.h>
+#include <JavaScriptCore/PerGlobalObjectWrapperWorld.h>
 #include <wtf/RefCounted.h>
 #include <wtf/Vector.h>
 #include <wtf/text/WTFString.h>
 
-namespace Deprecated {
-class ScriptValue;
-}
-
 namespace JSC {
 class JSValue;
 }
@@ -47,8 +41,6 @@ class JSValue;
 namespace Inspector {
 class InspectorAgent;
 class InspectorConsoleAgent;
-class InspectorObject;
-class InspectorValue;
 }
 
 namespace WebCore {
@@ -90,17 +82,25 @@ public:
     class InspectableObject {
         WTF_MAKE_FAST_ALLOCATED;
     public:
-        virtual Deprecated::ScriptValue get(JSC::ExecState*);
-        virtual ~InspectableObject() { }
+        virtual JSC::JSValue get(JSC::ExecState&);
+        virtual ~InspectableObject() = default;
     };
     void addInspectedObject(std::unique_ptr<InspectableObject>);
-    InspectableObject* inspectedObject();
-    void inspectImpl(RefPtr<Inspector::InspectorValue>&& objectToInspect, RefPtr<Inspector::InspectorValue>&& hints);
+    JSC::JSValue inspectedObject(JSC::ExecState&);
+    void inspect(JSC::ExecState&, JSC::JSValue objectToInspect, JSC::JSValue hints);
+
+    struct ListenerEntry {
+        JSC::Strong<JSC::JSObject> listener;
+        bool useCapture;
+        bool passive;
+        bool once;
+    };
 
-    void getEventListenersImpl(Node*, Vector<EventListenerInfo>& listenersArray);
+    using EventListenersRecord = Vector<WTF::KeyValuePair<String, Vector<ListenerEntry>>>;
+    EventListenersRecord getEventListeners(JSC::ExecState&, Node*);
 
-    String databaseIdImpl(Database*);
-    String storageIdImpl(Storage*);
+    String databaseId(Database&);
+    String storageId(Storage&);
 
     JSC::JSValue wrapper(JSC::ExecState*, JSDOMGlobalObject*);
     void clearAllWrappers();
@@ -108,16 +108,14 @@ public:
 private:
     CommandLineAPIHost();
 
-    Inspector::InspectorAgent* m_inspectorAgent {nullptr};
-    Inspector::InspectorConsoleAgent* m_consoleAgent {nullptr};
-    InspectorDOMAgent* m_domAgent {nullptr};
-    InspectorDOMStorageAgent* m_domStorageAgent {nullptr};
-    InspectorDatabaseAgent* m_databaseAgent {nullptr};
+    Inspector::InspectorAgent* m_inspectorAgent { nullptr };
+    Inspector::InspectorConsoleAgent* m_consoleAgent { nullptr };
+    InspectorDOMAgent* m_domAgent { nullptr };
+    InspectorDOMStorageAgent* m_domStorageAgent { nullptr };
+    InspectorDatabaseAgent* m_databaseAgent { nullptr };
 
     std::unique_ptr<InspectableObject> m_inspectedObject; // $0
     Inspector::PerGlobalObjectWrapperWorld m_wrappers;
 };
 
 } // namespace WebCore
-
-#endif // !defined(CommandLineAPIHost_h)