Index: components/html_viewer/devtools_agent_impl.cc |
diff --git a/components/html_viewer/devtools_agent_impl.cc b/components/html_viewer/devtools_agent_impl.cc |
deleted file mode 100644 |
index d7534288911a38a602c683fc2677cf95bb368104..0000000000000000000000000000000000000000 |
--- a/components/html_viewer/devtools_agent_impl.cc |
+++ /dev/null |
@@ -1,107 +0,0 @@ |
-// Copyright 2015 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 "components/html_viewer/devtools_agent_impl.h" |
- |
-#include <string> |
- |
-#include "base/json/json_reader.h" |
-#include "base/logging.h" |
-#include "base/memory/scoped_ptr.h" |
-#include "base/values.h" |
-#include "mojo/application/public/cpp/connect.h" |
-#include "mojo/application/public/interfaces/shell.mojom.h" |
-#include "third_party/WebKit/public/platform/WebString.h" |
-#include "third_party/WebKit/public/platform/WebURLRequest.h" |
-#include "third_party/WebKit/public/web/WebDevToolsAgent.h" |
-#include "third_party/WebKit/public/web/WebLocalFrame.h" |
- |
-namespace html_viewer { |
- |
-DevToolsAgentImpl::DevToolsAgentImpl(blink::WebLocalFrame* frame, |
- mojo::Shell* shell) |
- : frame_(frame), binding_(this) { |
- DCHECK(frame); |
- DCHECK(shell); |
- |
- mojo::ServiceProviderPtr devtools_service_provider; |
- mojo::URLRequestPtr request(mojo::URLRequest::New()); |
- request->url = "mojo:devtools_service"; |
- shell->ConnectToApplication( |
- request.Pass(), mojo::GetProxy(&devtools_service_provider), nullptr); |
- devtools_service::DevToolsRegistryPtr devtools_registry; |
- mojo::ConnectToService(devtools_service_provider.get(), &devtools_registry); |
- |
- devtools_service::DevToolsAgentPtr agent; |
- binding_.Bind(&agent); |
- devtools_registry->RegisterAgent(agent.Pass()); |
- |
- frame_->setDevToolsAgentClient(this); |
-} |
- |
-DevToolsAgentImpl::~DevToolsAgentImpl() { |
- if (client_) |
- frame_->devToolsAgent()->detach(); |
-} |
- |
-void DevToolsAgentImpl::SetClient( |
- devtools_service::DevToolsAgentClientPtr client, |
- const mojo::String& client_id) { |
- if (client_) |
- frame_->devToolsAgent()->detach(); |
- |
- client_ = client.Pass(); |
- client_.set_error_handler(this); |
- |
- frame_->devToolsAgent()->attach(blink::WebString::fromUTF8(client_id)); |
-} |
- |
-void DevToolsAgentImpl::DispatchProtocolMessage(const mojo::String& message) { |
- // TODO(yzshen): (1) Eventually the handling code for Page.navigate (and some |
- // other commands) should live with the code managing tabs and navigation. |
- // We will need a DevToolsAgent implementation there as well, which handles |
- // some of the commands and relays messages between the DevTools service and |
- // the HTML viewer. |
- // (2) Consider refactoring and reusing the existing DevTools protocol parsing |
- // code. |
- do { |
- scoped_ptr<base::Value> value = base::JSONReader::Read(message.get()); |
- base::DictionaryValue* command = nullptr; |
- if (!value || !value->GetAsDictionary(&command)) |
- break; |
- |
- std::string method; |
- if (!command->GetString("method", &method) || method != "Page.navigate") |
- break; |
- |
- std::string url_string; |
- if (!command->GetString("params.url", &url_string)) |
- break; |
- |
- GURL url(url_string); |
- if (!url.is_valid()) |
- break; |
- |
- frame_->loadRequest(blink::WebURLRequest(url)); |
- |
- // The command should fall through to be handled by frame_->devToolsAgent(). |
- } while (false); |
- |
- frame_->devToolsAgent()->dispatchOnInspectorBackend( |
- blink::WebString::fromUTF8(message)); |
-} |
- |
-void DevToolsAgentImpl::sendProtocolMessage(int call_id, |
- const blink::WebString& response, |
- const blink::WebString& state) { |
- if (client_) |
- client_->DispatchProtocolMessage(response.utf8()); |
-} |
- |
-void DevToolsAgentImpl::OnConnectionError() { |
- client_.reset(); |
- frame_->devToolsAgent()->detach(); |
-} |
- |
-} // namespace html_viewer |