Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(55)

Unified Diff: third_party/WebKit/Source/platform/inspector_protocol/DispatcherBase.cpp

Issue 2238423002: [DevTools] Generate all files in inspector_protocol. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@2240663003
Patch Set: Created 4 years, 4 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: third_party/WebKit/Source/platform/inspector_protocol/DispatcherBase.cpp
diff --git a/third_party/WebKit/Source/platform/inspector_protocol/DispatcherBase.cpp b/third_party/WebKit/Source/platform/inspector_protocol/DispatcherBase.cpp
deleted file mode 100644
index 86ac0582eaf4beb1ee07ca8c4c9ce0119808b921..0000000000000000000000000000000000000000
--- a/third_party/WebKit/Source/platform/inspector_protocol/DispatcherBase.cpp
+++ /dev/null
@@ -1,173 +0,0 @@
-// Copyright 2016 The Chromium Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-#include "platform/inspector_protocol/DispatcherBase.h"
-
-#include "platform/inspector_protocol/FrontendChannel.h"
-#include "platform/inspector_protocol/Parser.h"
-
-namespace blink {
-namespace protocol {
-
-// static
-const char DispatcherBase::kInvalidRequest[] = "Invalid request";
-
-DispatcherBase::WeakPtr::WeakPtr(DispatcherBase* dispatcher) : m_dispatcher(dispatcher) { }
-
-DispatcherBase::WeakPtr::~WeakPtr()
-{
- if (m_dispatcher)
- m_dispatcher->m_weakPtrs.erase(this);
-}
-
-DispatcherBase::Callback::Callback(std::unique_ptr<DispatcherBase::WeakPtr> backendImpl, int callId)
- : m_backendImpl(std::move(backendImpl))
- , m_callId(callId) { }
-
-DispatcherBase::Callback::~Callback() = default;
-
-void DispatcherBase::Callback::dispose()
-{
- m_backendImpl = nullptr;
-}
-
-void DispatcherBase::Callback::sendIfActive(std::unique_ptr<protocol::DictionaryValue> partialMessage, const ErrorString& invocationError)
-{
- if (!m_backendImpl || !m_backendImpl->get())
- return;
- m_backendImpl->get()->sendResponse(m_callId, invocationError, nullptr, std::move(partialMessage));
- m_backendImpl = nullptr;
-}
-
-DispatcherBase::DispatcherBase(FrontendChannel* frontendChannel)
- : m_frontendChannel(frontendChannel) { }
-
-DispatcherBase::~DispatcherBase()
-{
- clearFrontend();
-}
-
-// static
-bool DispatcherBase::getCommandName(const String16& message, String16* result)
-{
- std::unique_ptr<protocol::Value> value = parseJSON(message);
- if (!value)
- return false;
-
- protocol::DictionaryValue* object = DictionaryValue::cast(value.get());
- if (!object)
- return false;
-
- if (!object->getString("method", result))
- return false;
-
- return true;
-}
-
-void DispatcherBase::sendResponse(int callId, const ErrorString& invocationError, ErrorSupport* errors, std::unique_ptr<protocol::DictionaryValue> result)
-{
- if (invocationError.length() || (errors && errors->hasErrors())) {
- reportProtocolError(callId, ServerError, invocationError, errors);
- return;
- }
-
- std::unique_ptr<protocol::DictionaryValue> responseMessage = DictionaryValue::create();
- responseMessage->setInteger("id", callId);
- responseMessage->setObject("result", std::move(result));
- if (m_frontendChannel)
- m_frontendChannel->sendProtocolResponse(callId, responseMessage->toJSONString());
-}
-
-void DispatcherBase::sendResponse(int callId, const ErrorString& invocationError, std::unique_ptr<protocol::DictionaryValue> result)
-{
- sendResponse(callId, invocationError, nullptr, std::move(result));
-}
-
-void DispatcherBase::sendResponse(int callId, const ErrorString& invocationError)
-{
- sendResponse(callId, invocationError, nullptr, DictionaryValue::create());
-}
-
-static void reportProtocolError(FrontendChannel* frontendChannel, int callId, DispatcherBase::CommonErrorCode code, const String16& errorMessage, ErrorSupport* errors)
-{
- std::unique_ptr<protocol::DictionaryValue> error = DictionaryValue::create();
- error->setInteger("code", code);
- error->setString("message", errorMessage);
- DCHECK(error);
- if (errors && errors->hasErrors())
- error->setString("data", errors->errors());
- std::unique_ptr<protocol::DictionaryValue> message = DictionaryValue::create();
- message->setObject("error", std::move(error));
- message->setInteger("id", callId);
- frontendChannel->sendProtocolResponse(callId, message->toJSONString());
-}
-
-void DispatcherBase::reportProtocolError(int callId, CommonErrorCode code, const String16& errorMessage, ErrorSupport* errors)
-{
- if (m_frontendChannel)
- ::blink::protocol::reportProtocolError(m_frontendChannel, callId, code, errorMessage, errors);
-}
-
-void DispatcherBase::clearFrontend()
-{
- m_frontendChannel = nullptr;
- for (auto& weak : m_weakPtrs)
- weak->dispose();
- m_weakPtrs.clear();
-}
-
-std::unique_ptr<DispatcherBase::WeakPtr> DispatcherBase::weakPtr()
-{
- std::unique_ptr<DispatcherBase::WeakPtr> weak(new DispatcherBase::WeakPtr(this));
- m_weakPtrs.insert(weak.get());
- return weak;
-}
-
-UberDispatcher::UberDispatcher(FrontendChannel* frontendChannel)
- : m_frontendChannel(frontendChannel) { }
-
-void UberDispatcher::registerBackend(const String16& name, std::unique_ptr<protocol::DispatcherBase> dispatcher)
-{
- m_dispatchers[name] = std::move(dispatcher);
-}
-
-void UberDispatcher::dispatch(const String16& message)
-{
- std::unique_ptr<protocol::Value> parsedMessage = parseJSON(message);
- if (!parsedMessage)
- return;
- std::unique_ptr<protocol::DictionaryValue> messageObject = DictionaryValue::cast(std::move(parsedMessage));
- if (!messageObject)
- return;
-
- int callId = 0;
- protocol::Value* callIdValue = messageObject->get("id");
- bool success = callIdValue->asInteger(&callId);
- if (!success)
- return;
-
- protocol::Value* methodValue = messageObject->get("method");
- String16 method;
- success = methodValue && methodValue->asString(&method);
- if (!success)
- return;
-
- size_t dotIndex = method.find(".");
- if (dotIndex == String16::kNotFound) {
- reportProtocolError(m_frontendChannel, callId, DispatcherBase::MethodNotFound, "'" + method + "' wasn't found", nullptr);
- return;
- }
- String16 domain = method.substring(0, dotIndex);
- auto it = m_dispatchers.find(domain);
- if (it == m_dispatchers.end()) {
- reportProtocolError(m_frontendChannel, callId, DispatcherBase::MethodNotFound, "'" + method + "' wasn't found", nullptr);
- return;
- }
- it->second->dispatch(callId, method, std::move(messageObject));
-}
-
-UberDispatcher::~UberDispatcher() = default;
-
-} // namespace protocol
-} // namespace blink

Powered by Google App Engine
This is Rietveld 408576698