OLD | NEW |
1 | 1 |
2 #if !defined(ADBLOCK_PLUS_JS_ENGINE_INTERNAL_H) | 2 #if !defined(ADBLOCK_PLUS_JS_ENGINE_INTERNAL_H) |
3 #define ADBLOCK_PLUS_JS_ENGINE_INTERNAL_H | 3 #define ADBLOCK_PLUS_JS_ENGINE_INTERNAL_H |
4 | 4 |
5 #include <AdblockPlus/JsEngine.h> | 5 #include <AdblockPlus/JsEngine.h> |
6 #include <v8.h> | 6 #include <v8.h> |
7 #include <array> | 7 #include <array> |
8 #include "AllocatedArray.h" | 8 #include "AllocatedArray.h" |
| 9 #include "Event.h" |
9 #include "V8Upgrade.h" | 10 #include "V8Upgrade.h" |
10 | 11 |
11 class PersistentValueArray | 12 class PersistentValueArray |
12 : public AllocatedArray<V8PersistentNG<v8::Value>> | 13 : public AllocatedArray<V8PersistentNG<v8::Value>> |
13 { | 14 { |
14 typedef AllocatedArray<V8PersistentNG<v8::Value>> Base; | 15 typedef AllocatedArray<V8PersistentNG<v8::Value>> Base; |
15 /** | 16 /** |
16 * Copy constructor deleted. Allocation is unique to single object. | 17 * Copy constructor deleted. Allocation is unique to single object. |
17 */ | 18 */ |
18 PersistentValueArray(const PersistentValueArray&); // = delete; | 19 PersistentValueArray(const PersistentValueArray&); // = delete; |
(...skipping 41 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
60 } | 61 } |
61 }; | 62 }; |
62 | 63 |
63 /** | 64 /** |
64 * \par Implementation Notes | 65 * \par Implementation Notes |
65 */ | 66 */ |
66 class JsEngineInternal | 67 class JsEngineInternal |
67 : public AdblockPlus::JsEngine | 68 : public AdblockPlus::JsEngine |
68 { | 69 { |
69 /** | 70 /** |
| 71 * Allows implementations of public API functions to access internal members. |
| 72 */ |
| 73 friend class AdblockPlus::JsEngine; |
| 74 |
| 75 /** |
70 * Unique context associated with this isolate. | 76 * Unique context associated with this isolate. |
71 */ | 77 */ |
72 v8::Persistent<v8::Context> context; | 78 v8::Persistent<v8::Context> context; |
73 | 79 |
| 80 /** |
| 81 * Event manager provides implementation of event set, remove, and trigger. |
| 82 */ |
| 83 EventManager eventMan; |
| 84 |
74 public: | 85 public: |
75 JsEngineInternal(const AdblockPlus::ScopedV8IsolatePtr& isolate); | 86 JsEngineInternal(const AdblockPlus::ScopedV8IsolatePtr& isolate); |
76 | 87 |
77 /** | 88 /** |
78 * Retrieve our persistent v8 context as a local handle. | 89 * Retrieve our persistent v8 context as a local handle. |
79 */ | 90 */ |
80 v8::Local<v8::Context> GetContextAsLocal() const; | 91 v8::Local<v8::Context> GetContextAsLocal() const; |
81 | 92 |
82 /** | 93 /** |
83 * Retrieve the global object of our context. | 94 * Retrieve the global object of our context. |
(...skipping 78 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
162 */ | 173 */ |
163 const v8::HandleScope handleScope; | 174 const v8::HandleScope handleScope; |
164 const v8::Context::Scope contextScope; | 175 const v8::Context::Scope contextScope; |
165 public: | 176 public: |
166 V8ExecutionScope(JsEngineInternal* engine); | 177 V8ExecutionScope(JsEngineInternal* engine); |
167 }; | 178 }; |
168 | 179 |
169 | 180 |
170 | 181 |
171 #endif | 182 #endif |
OLD | NEW |