| Index: third_party/inspector_protocol/lib/DispatcherBase_h.template
|
| diff --git a/third_party/inspector_protocol/lib/DispatcherBase_h.template b/third_party/inspector_protocol/lib/DispatcherBase_h.template
|
| index 4fb89efafe9706c333fd786392db0f3ddc5b01f6..9838637c59340ed91dbcc0aad51b7697cf5373bf 100644
|
| --- a/third_party/inspector_protocol/lib/DispatcherBase_h.template
|
| +++ b/third_party/inspector_protocol/lib/DispatcherBase_h.template
|
| @@ -42,6 +42,7 @@ public:
|
| static DispatchResponse OK();
|
| static DispatchResponse Error(const String&);
|
| static DispatchResponse InternalError();
|
| + static DispatchResponse InvalidParams(const String&);
|
| static DispatchResponse FallThrough();
|
|
|
| private:
|
| @@ -67,16 +68,18 @@ public:
|
|
|
| class {{config.lib.export_macro}} Callback {
|
| public:
|
| - Callback(std::unique_ptr<WeakPtr> backendImpl, int callId);
|
| + Callback(std::unique_ptr<WeakPtr> backendImpl, int callId, int callbackId);
|
| virtual ~Callback();
|
| void dispose();
|
|
|
| protected:
|
| void sendIfActive(std::unique_ptr<protocol::DictionaryValue> partialMessage, const DispatchResponse& response);
|
| + void fallThroughIfActive();
|
|
|
| private:
|
| std::unique_ptr<WeakPtr> m_backendImpl;
|
| int m_callId;
|
| + int m_callbackId;
|
| };
|
|
|
| explicit DispatcherBase(FrontendChannel*);
|
| @@ -94,9 +97,15 @@ public:
|
|
|
| std::unique_ptr<WeakPtr> weakPtr();
|
|
|
| + int nextCallbackId();
|
| + void markFallThrough(int callbackId);
|
| + bool lastCallbackFallThrough() { return m_lastCallbackFallThrough; }
|
| +
|
| private:
|
| FrontendChannel* m_frontendChannel;
|
| protocol::HashSet<WeakPtr*> m_weakPtrs;
|
| + int m_lastCallbackId;
|
| + bool m_lastCallbackFallThrough;
|
| };
|
|
|
| class {{config.lib.export_macro}} UberDispatcher {
|
| @@ -106,10 +115,13 @@ public:
|
| void registerBackend(const String& name, std::unique_ptr<protocol::DispatcherBase>);
|
| DispatchResponse::Status dispatch(std::unique_ptr<Value> message);
|
| FrontendChannel* channel() { return m_frontendChannel; }
|
| + bool fallThroughForNotFound() { return m_fallThroughForNotFound; }
|
| + void setFallThroughForNotFound(bool);
|
| virtual ~UberDispatcher();
|
|
|
| private:
|
| FrontendChannel* m_frontendChannel;
|
| + bool m_fallThroughForNotFound;
|
| protocol::HashMap<String, std::unique_ptr<protocol::DispatcherBase>> m_dispatchers;
|
| };
|
|
|
|
|