| OLD | NEW | 
|---|
| 1 // Copyright 2016 The Chromium Authors. All rights reserved. | 1 // Copyright 2016 The Chromium Authors. All rights reserved. | 
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be | 
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. | 
| 4 | 4 | 
| 5 namespace blink { | 5 namespace blink { | 
| 6 namespace protocol { | 6 namespace protocol { | 
| 7 | 7 | 
| 8 // static | 8 // static | 
| 9 const char DispatcherBase::kInvalidRequest[] = "Invalid request"; | 9 const char DispatcherBase::kInvalidRequest[] = "Invalid request"; | 
| 10 | 10 | 
| (...skipping 109 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 120 } | 120 } | 
| 121 | 121 | 
| 122 UberDispatcher::UberDispatcher(FrontendChannel* frontendChannel) | 122 UberDispatcher::UberDispatcher(FrontendChannel* frontendChannel) | 
| 123     : m_frontendChannel(frontendChannel) { } | 123     : m_frontendChannel(frontendChannel) { } | 
| 124 | 124 | 
| 125 void UberDispatcher::registerBackend(const String16& name, std::unique_ptr<proto
     col::DispatcherBase> dispatcher) | 125 void UberDispatcher::registerBackend(const String16& name, std::unique_ptr<proto
     col::DispatcherBase> dispatcher) | 
| 126 { | 126 { | 
| 127     m_dispatchers[name] = std::move(dispatcher); | 127     m_dispatchers[name] = std::move(dispatcher); | 
| 128 } | 128 } | 
| 129 | 129 | 
| 130 void UberDispatcher::dispatch(const String16& message) | 130 void UberDispatcher::dispatch(std::unique_ptr<Value> parsedMessage) | 
| 131 { | 131 { | 
| 132     std::unique_ptr<protocol::Value> parsedMessage = parseJSON(message); |  | 
| 133     if (!parsedMessage) | 132     if (!parsedMessage) | 
| 134         return; | 133         return; | 
| 135     std::unique_ptr<protocol::DictionaryValue> messageObject = DictionaryValue::
     cast(std::move(parsedMessage)); | 134     std::unique_ptr<protocol::DictionaryValue> messageObject = DictionaryValue::
     cast(std::move(parsedMessage)); | 
| 136     if (!messageObject) | 135     if (!messageObject) | 
| 137         return; | 136         return; | 
| 138 | 137 | 
| 139     int callId = 0; | 138     int callId = 0; | 
| 140     protocol::Value* callIdValue = messageObject->get("id"); | 139     protocol::Value* callIdValue = messageObject->get("id"); | 
| 141     bool success = callIdValue->asInteger(&callId); | 140     bool success = callIdValue->asInteger(&callId); | 
| 142     if (!success) | 141     if (!success) | 
| (...skipping 16 matching lines...) Expand all  Loading... | 
| 159         reportProtocolError(m_frontendChannel, callId, DispatcherBase::MethodNot
     Found, "'" + method + "' wasn't found", nullptr); | 158         reportProtocolError(m_frontendChannel, callId, DispatcherBase::MethodNot
     Found, "'" + method + "' wasn't found", nullptr); | 
| 160         return; | 159         return; | 
| 161     } | 160     } | 
| 162     it->second->dispatch(callId, method, std::move(messageObject)); | 161     it->second->dispatch(callId, method, std::move(messageObject)); | 
| 163 } | 162 } | 
| 164 | 163 | 
| 165 UberDispatcher::~UberDispatcher() = default; | 164 UberDispatcher::~UberDispatcher() = default; | 
| 166 | 165 | 
| 167 } // namespace protocol | 166 } // namespace protocol | 
| 168 } // namespace blink | 167 } // namespace blink | 
| OLD | NEW | 
|---|