22#define SRC_INSPECTOR_DOM_STORAGE_AGENT_H_
33
44#include < string>
5+ #include < unordered_map>
56#include " env.h"
67#include " node/inspector/protocol/DOMStorage.h"
7- #include " notification_emitter.h"
88#include " v8.h"
99
1010namespace node {
1111namespace inspector {
1212
13- class DOMStorageAgent : public protocol ::DOMStorage::Backend,
14- public NotificationEmitter {
13+ class DOMStorageAgent : public protocol ::DOMStorage::Backend {
1514 public:
15+ using EventKey = std::string;
16+ using EventNotifier =
17+ void (DOMStorageAgent::*)(v8::Local<v8::Context> context,
18+ v8::Local<v8::Object> params);
1619 explicit DOMStorageAgent (Environment* env);
1720 ~DOMStorageAgent () override ;
1821
1922 void Wire (protocol::UberDispatcher* dispatcher);
2023
24+ void emitNotification (v8::Local<v8::Context> context,
25+ const EventKey& event,
26+ v8::Local<v8::Object> params);
27+
2128 protocol::DispatchResponse enable () override ;
2229 protocol::DispatchResponse disable () override ;
2330 protocol::DispatchResponse getDOMStorageItems (
@@ -44,16 +51,18 @@ class DOMStorageAgent : public protocol::DOMStorage::Backend,
4451 v8::Local<v8::Object> params);
4552 void registerStorage (v8::Local<v8::Context> context,
4653 v8::Local<v8::Object> params);
47- bool canEmit (const std::string& domain) override ;
54+ bool canEmit (const std::string& domain);
4855
4956 DOMStorageAgent (const DOMStorageAgent&) = delete ;
5057 DOMStorageAgent& operator =(const DOMStorageAgent&) = delete ;
5158
5259 private:
60+ void addEventNotifier (const EventKey& event, EventNotifier notifier);
5361 std::unique_ptr<protocol::DOMStorage::Frontend> frontend_;
54- std::unordered_map<std::string, std::string> local_storage_map_;
55- std::unordered_map<std::string, std::string> session_storage_map_;
56- bool enabled_;
62+ std::unordered_map<std::string, std::string> local_storage_map_ = {};
63+ std::unordered_map<std::string, std::string> session_storage_map_ = {};
64+ std::unordered_map<EventKey, EventNotifier> event_notifier_map_ = {};
65+ bool enabled_ = false ;
5766 Environment* env_;
5867};
5968
0 commit comments