| Index: third_party/WebKit/Source/core/inspector/InspectorBaseAgent.h
|
| diff --git a/third_party/WebKit/Source/core/inspector/InspectorBaseAgent.h b/third_party/WebKit/Source/core/inspector/InspectorBaseAgent.h
|
| index 84ca702bc242185ac35b91b7c937eb17c3de68b1..1a77b841d6266c49d524ebbbba0b3f605baad174 100644
|
| --- a/third_party/WebKit/Source/core/inspector/InspectorBaseAgent.h
|
| +++ b/third_party/WebKit/Source/core/inspector/InspectorBaseAgent.h
|
| @@ -34,9 +34,7 @@
|
| #include "core/CoreExport.h"
|
| #include "core/InstrumentingAgents.h"
|
| #include "platform/heap/Handle.h"
|
| -#include "platform/inspector_protocol/Backend.h"
|
| -#include "platform/inspector_protocol/Dispatcher.h"
|
| -#include "platform/inspector_protocol/Frontend.h"
|
| +#include "platform/inspector_protocol/DispatcherBase.h"
|
| #include "platform/inspector_protocol/TypeBuilder.h"
|
| #include "platform/inspector_protocol/Values.h"
|
| #include "wtf/Forward.h"
|
| @@ -54,39 +52,40 @@ public:
|
| virtual ~InspectorAgent() { }
|
| DEFINE_INLINE_VIRTUAL_TRACE() { }
|
|
|
| - virtual void disable(ErrorString*) { }
|
| virtual void restore() { }
|
| virtual void didCommitLoadForLocalFrame(LocalFrame*) { }
|
| virtual void flushPendingProtocolNotifications() { }
|
|
|
| - virtual void init(InstrumentingAgents*, protocol::Frontend*, protocol::Dispatcher*, protocol::DictionaryValue*) = 0;
|
| + virtual void init(InstrumentingAgents*, protocol::UberDispatcher*, protocol::DictionaryValue*) = 0;
|
| virtual void dispose() = 0;
|
| };
|
|
|
| -template<typename AgentClass, typename FrontendClass>
|
| -class InspectorBaseAgent : public InspectorAgent {
|
| +template<typename DomainMetainfo>
|
| +class InspectorBaseAgent : public InspectorAgent, public DomainMetainfo::BackendClass {
|
| public:
|
| ~InspectorBaseAgent() override { }
|
|
|
| - void init(InstrumentingAgents* instrumentingAgents, protocol::Frontend* frontend, protocol::Dispatcher* dispatcher, protocol::DictionaryValue* state) override
|
| + void init(InstrumentingAgents* instrumentingAgents, protocol::UberDispatcher* dispatcher, protocol::DictionaryValue* state) override
|
| {
|
| m_instrumentingAgents = instrumentingAgents;
|
| - m_frontend = FrontendClass::from(frontend);
|
| - dispatcher->registerAgent(static_cast<AgentClass*>(this));
|
| + m_frontend.reset(new typename DomainMetainfo::FrontendClass(dispatcher->channel()));
|
| + DomainMetainfo::DispatcherClass::wire(dispatcher, this);
|
|
|
| - m_state = state->getObject(m_name);
|
| + m_state = state->getObject(DomainMetainfo::domainName);
|
| if (!m_state) {
|
| std::unique_ptr<protocol::DictionaryValue> newState = protocol::DictionaryValue::create();
|
| m_state = newState.get();
|
| - state->setObject(m_name, std::move(newState));
|
| + state->setObject(DomainMetainfo::domainName, std::move(newState));
|
| }
|
| }
|
|
|
| + void disable(ErrorString*) override { }
|
| +
|
| void dispose() override
|
| {
|
| ErrorString error;
|
| disable(&error);
|
| - m_frontend = nullptr;
|
| + m_frontend.reset();
|
| m_state = nullptr;
|
| m_instrumentingAgents = nullptr;
|
| }
|
| @@ -98,20 +97,14 @@ public:
|
| }
|
|
|
| protected:
|
| - explicit InspectorBaseAgent(const String& name)
|
| - : InspectorAgent()
|
| - , m_name(name)
|
| - , m_frontend(nullptr)
|
| - {
|
| - }
|
| + InspectorBaseAgent() { }
|
|
|
| - FrontendClass* frontend() const { return m_frontend; }
|
| + typename DomainMetainfo::FrontendClass* frontend() const { return m_frontend.get(); }
|
| Member<InstrumentingAgents> m_instrumentingAgents;
|
| protocol::DictionaryValue* m_state;
|
|
|
| private:
|
| - String m_name;
|
| - FrontendClass* m_frontend;
|
| + std::unique_ptr<typename DomainMetainfo::FrontendClass> m_frontend;
|
| };
|
|
|
| } // namespace blink
|
|
|