Index: src/inspector/InjectedScriptNative.h |
diff --git a/src/inspector/InjectedScriptNative.h b/src/inspector/InjectedScriptNative.h |
new file mode 100644 |
index 0000000000000000000000000000000000000000..bdbcded71af3eb453a2bf64d9babd31a6dabd26e |
--- /dev/null |
+++ b/src/inspector/InjectedScriptNative.h |
@@ -0,0 +1,45 @@ |
+// Copyright 2015 the V8 project authors. All rights reserved. |
+// Use of this source code is governed by a BSD-style license that can be |
+// found in the LICENSE file. |
+ |
+#ifndef V8_INSPECTOR_INJECTEDSCRIPTNATIVE_H_ |
+#define V8_INSPECTOR_INJECTEDSCRIPTNATIVE_H_ |
+ |
+#include "src/inspector/protocol/Protocol.h" |
+ |
+#include <v8.h> |
+#include <vector> |
+ |
+namespace v8_inspector { |
+ |
+class InjectedScriptNative final { |
+ public: |
+ explicit InjectedScriptNative(v8::Isolate*); |
+ ~InjectedScriptNative(); |
+ |
+ void setOnInjectedScriptHost(v8::Local<v8::Object>); |
+ static InjectedScriptNative* fromInjectedScriptHost(v8::Local<v8::Object>); |
+ |
+ int bind(v8::Local<v8::Value>, const String16& groupName); |
+ void unbind(int id); |
+ v8::Local<v8::Value> objectForId(int id); |
+ |
+ void releaseObjectGroup(const String16& groupName); |
+ String16 groupName(int objectId) const; |
+ |
+ private: |
+ void addObjectToGroup(int objectId, const String16& groupName); |
+ |
+ int m_lastBoundObjectId; |
+ v8::Isolate* m_isolate; |
+ protocol::HashMap<int, std::unique_ptr<v8::Global<v8::Value>>> |
+ m_idToWrappedObject; |
+ typedef protocol::HashMap<int, String16> IdToObjectGroupName; |
+ IdToObjectGroupName m_idToObjectGroupName; |
+ typedef protocol::HashMap<String16, std::vector<int>> NameToObjectGroup; |
+ NameToObjectGroup m_nameToObjectGroup; |
+}; |
+ |
+} // namespace v8_inspector |
+ |
+#endif // V8_INSPECTOR_INJECTEDSCRIPTNATIVE_H_ |