Line data Source code
1 : // Copyright 2015 the V8 project authors. All rights reserved.
2 : // Use of this source code is governed by a BSD-style license that can be
3 : // found in the LICENSE file.
4 :
5 : #ifndef V8_INSPECTOR_REMOTE_OBJECT_ID_H_
6 : #define V8_INSPECTOR_REMOTE_OBJECT_ID_H_
7 :
8 : #include "src/inspector/protocol/Forward.h"
9 :
10 : namespace v8_inspector {
11 :
12 : using protocol::Response;
13 :
14 : class RemoteObjectIdBase {
15 : public:
16 93864 : int contextId() const { return m_injectedScriptId; }
17 :
18 : protected:
19 : RemoteObjectIdBase();
20 : ~RemoteObjectIdBase() = default;
21 :
22 : std::unique_ptr<protocol::DictionaryValue> parseInjectedScriptId(
23 : const String16&);
24 :
25 : int m_injectedScriptId;
26 : };
27 :
28 : class RemoteObjectId final : public RemoteObjectIdBase {
29 : public:
30 : static Response parse(const String16&, std::unique_ptr<RemoteObjectId>*);
31 : ~RemoteObjectId() = default;
32 : int id() const { return m_id; }
33 :
34 : private:
35 : RemoteObjectId();
36 :
37 : int m_id;
38 : };
39 :
40 : class RemoteCallFrameId final : public RemoteObjectIdBase {
41 : public:
42 : static Response parse(const String16&, std::unique_ptr<RemoteCallFrameId>*);
43 : ~RemoteCallFrameId() = default;
44 :
45 : int frameOrdinal() const { return m_frameOrdinal; }
46 :
47 : static String16 serialize(int injectedScriptId, int frameOrdinal);
48 :
49 : private:
50 : RemoteCallFrameId();
51 :
52 : int m_frameOrdinal;
53 : };
54 :
55 : } // namespace v8_inspector
56 :
57 : #endif // V8_INSPECTOR_REMOTE_OBJECT_ID_H_
|