Index: chrome/browser/ui/views/chrome_browser_main_extra_parts_views.cc |
diff --git a/chrome/browser/ui/views/chrome_browser_main_extra_parts_views.cc b/chrome/browser/ui/views/chrome_browser_main_extra_parts_views.cc |
index b5486da2d5674d4a2886b4c6d77b7eeb0f4ec5f8..04e64603d731ff8a5944f62d56347d6bdb515e84 100644 |
--- a/chrome/browser/ui/views/chrome_browser_main_extra_parts_views.cc |
+++ b/chrome/browser/ui/views/chrome_browser_main_extra_parts_views.cc |
@@ -15,6 +15,9 @@ |
#if defined(USE_AURA) |
#include "base/run_loop.h" |
+#include "components/ui_devtools/devtools_server.h" |
+#include "components/ui_devtools/views/ui_devtools_css_agent.h" |
+#include "components/ui_devtools/views/ui_devtools_dom_agent.h" |
#include "content/public/browser/browser_thread.h" |
#include "content/public/common/service_manager_connection.h" |
#include "services/service_manager/public/cpp/connector.h" |
@@ -102,6 +105,19 @@ void ChromeBrowserMainExtraPartsViews::PreProfileInit() { |
// IME driver must be available at login screen, so initialize before profile. |
if (service_manager::ServiceManagerIsRemote()) |
IMEDriver::Register(); |
+ |
+ // Start devtools server |
+ devtools_server_ = ui_devtools::UiDevToolsServer::Create(nullptr); |
+ if (devtools_server_) { |
+ auto dom_backend = base::MakeUnique<ui_devtools::UIDevToolsDOMAgent>(); |
+ auto css_backend = |
+ base::MakeUnique<ui_devtools::UIDevToolsCSSAgent>(dom_backend.get()); |
+ auto devtools_client = base::MakeUnique<ui_devtools::UiDevToolsClient>( |
+ "UiDevToolsClient", devtools_server_.get()); |
+ devtools_client->AddAgent(std::move(dom_backend)); |
+ devtools_client->AddAgent(std::move(css_backend)); |
+ devtools_server_->AttachClient(std::move(devtools_client)); |
+ } |
#endif |
#if defined(OS_LINUX) && !defined(OS_CHROMEOS) |