Remove defunct skydb debugger.

BUG=

Review URL: https://codereview.chromium.org/1533563004 .
diff --git a/services/BUILD.gn b/services/BUILD.gn
index 419c423..50ab043 100644
--- a/services/BUILD.gn
+++ b/services/BUILD.gn
@@ -12,7 +12,6 @@
     "//services/authentication",
     "//services/clipboard",
     "//services/dart",
-    "//services/debugger",
     "//services/fake_surfaces",
     "//services/gles2:lib",
     "//services/http_server",
diff --git a/services/debugger/BUILD.gn b/services/debugger/BUILD.gn
deleted file mode 100644
index ebf0d42..0000000
--- a/services/debugger/BUILD.gn
+++ /dev/null
@@ -1,30 +0,0 @@
-# Copyright 2014 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.
-
-import("//mojo/public/mojo_application.gni")
-
-mojo_native_application("debugger") {
-  output_name = "debugger"
-
-  sources = [
-    "debugger.cc",
-    "trace_collector.cc",
-    "trace_collector.h",
-  ]
-
-  deps = [
-    "//base",
-    "//base/allocator",
-    "//mojo/application",
-    "//mojo/data_pipe_utils",
-    "//mojo/public/cpp/bindings",
-    "//mojo/public/cpp/system",
-    "//mojo/public/cpp/utility",
-    "//mojo/services/http_server/cpp",
-    "//mojo/services/http_server/interfaces",
-    "//mojo/services/network/interfaces",
-    "//mojo/services/tracing/interfaces",
-    "//mojo/services/window_manager/interfaces",
-  ]
-}
diff --git a/services/debugger/debugger.cc b/services/debugger/debugger.cc
deleted file mode 100644
index 059c411..0000000
--- a/services/debugger/debugger.cc
+++ /dev/null
@@ -1,224 +0,0 @@
-// Copyright 2014 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 <algorithm>
-
-#include "base/bind.h"
-#include "base/debug/profiler.h"
-#include "base/strings/string_number_conversions.h"
-#include "base/strings/stringprintf.h"
-#include "mojo/application/application_runner_chromium.h"
-#include "mojo/data_pipe_utils/data_pipe_utils.h"
-#include "mojo/public/c/system/main.h"
-#include "mojo/public/cpp/application/application_delegate.h"
-#include "mojo/public/cpp/application/application_impl.h"
-#include "mojo/public/cpp/bindings/binding.h"
-#include "mojo/services/http_server/cpp/http_server_util.h"
-#include "mojo/services/http_server/interfaces/http_server.mojom.h"
-#include "mojo/services/http_server/interfaces/http_server_factory.mojom.h"
-#include "mojo/services/network/interfaces/net_address.mojom.h"
-#include "mojo/services/tracing/interfaces/tracing.mojom.h"
-#include "mojo/services/window_manager/interfaces/window_manager.mojom.h"
-#include "services/debugger/trace_collector.h"
-
-// Debugger is a Mojo application that exposes an http server and talks to other
-// mojo apps in response to url requests received by the server. Supported
-// actions include tracing and profiling, allowing to interactively inspect how
-// the shell is performing.
-
-namespace debugger {
-
-class Debugger : public mojo::ApplicationDelegate,
-                    public http_server::HttpHandler {
- public:
-  Debugger() : is_tracing_(false), app_(nullptr), handler_binding_(this) {}
-  ~Debugger() override {}
-
- private:
-  // mojo::ApplicationDelegate:
-  void Initialize(mojo::ApplicationImpl* app) override {
-    app_ = app;
-
-    // Format: --args-for="app_url command_port"
-    if (app->args().size() < 2) {
-      LOG(ERROR) << "--args-for required to specify command_port";
-      mojo::ApplicationImpl::Terminate();
-      return;
-    }
-    if (app->args().size() == 3 && app->args()[2] == "--wm") {
-      // Connect to window manager only if requested, as the user might want to
-      // run the debugger without spawning one.
-      app_->ConnectToService("mojo:window_manager", &window_manager_);
-    }
-    base::StringToUint(app->args()[1], &command_port_);
-    http_server::HttpServerFactoryPtr http_server_factory;
-    app->ConnectToService("mojo:http_server", &http_server_factory);
-
-    mojo::NetAddressPtr local_address(mojo::NetAddress::New());
-    local_address->family = mojo::NetAddressFamily::IPV4;
-    local_address->ipv4 = mojo::NetAddressIPv4::New();
-    local_address->ipv4->addr.resize(4);
-    local_address->ipv4->addr[0] = 127;
-    local_address->ipv4->addr[1] = 0;
-    local_address->ipv4->addr[2] = 0;
-    local_address->ipv4->addr[3] = 1;
-    local_address->ipv4->port = command_port_;
-    http_server_factory->CreateHttpServer(GetProxy(&http_server_).Pass(),
-                                          local_address.Pass());
-
-    http_server::HttpHandlerPtr handler_ptr;
-    handler_binding_.Bind(GetProxy(&handler_ptr).Pass());
-    http_server_->SetHandler(".*", handler_ptr.Pass(),
-                             [](bool result) { DCHECK(result); });
-  }
-
-  bool ConfigureIncomingConnection(
-      mojo::ApplicationConnection* connection) override {
-    return true;
-  }
-
-  // http_server::HttpHandler:
-  void HandleRequest(http_server::HttpRequestPtr request,
-                     const HandleRequestCallback& callback) override {
-    // FIXME: We should use use a fancier lookup system more like what
-    // services/http_server/http_server.cc does with AddHandler.
-    if (request->relative_url == "/reload") {
-      Load(callback, url_);
-    } else if (request->relative_url == "/quit") {
-      Exit();
-    } else if (request->relative_url == "/load") {
-      std::string url;
-      mojo::common::BlockingCopyToString(request->body.Pass(), &url);
-      Load(callback, url);
-    } else if (request->relative_url == "/start_profiling") {
-      StartProfiling(callback);
-    } else if (request->relative_url == "/stop_profiling") {
-      StopProfiling(callback);
-    } else if (request->relative_url == "/start_tracing") {
-      StartTracing(callback);
-    } else if (request->relative_url == "/stop_tracing") {
-      StopTracing(callback);
-    } else {
-      Help(callback, request->relative_url);
-    }
-  }
-
-  void Error(const HandleRequestCallback& callback, std::string message) {
-    callback.Run(http_server::CreateHttpResponse(500, message));
-  }
-
-  void Respond(const HandleRequestCallback& callback, std::string response) {
-    callback.Run(http_server::CreateHttpResponse(200, response));
-  }
-
-  void Help(const HandleRequestCallback& callback, std::string path) {
-    std::string help = base::StringPrintf(
-        "Sky Debugger running on port %d\n"
-        "Supported URLs:\n"
-        "/reload           -- Reload the current page\n"
-        "/quit             -- Quit\n"
-        "/load             -- Load a new URL, url in POST body.\n",
-        command_port_);
-    if (path != "/")
-      help = "Unknown path: " + path + "\n\n" + help;
-    Respond(callback, help);
-  }
-
-  void Load(const HandleRequestCallback& callback, std::string url) {
-    url_ = url;
-    Reload();
-    std::string response = std::string("Loaded ") + url + "\n";
-    Respond(callback, response);
-  }
-
-  void Reload() {
-    if (!window_manager_) {
-      // If window_manager_ was not connected to eagerly on startup, we do that
-      // on the first demand.
-      app_->ConnectToService("mojo:window_manager", &window_manager_);
-    }
-
-    // SimpleWindowManager will wire up necessary services on our behalf.
-    window_manager_->Embed(url_, nullptr, nullptr);
-  }
-
-  void Exit() {
-    // TODO(eseidel): We should orderly shutdown once mojo can.
-    exit(0);
-  }
-
-  void StartTracing(const HandleRequestCallback& callback) {
-    if (is_tracing_) {
-      Error(callback, "Already tracing. Use stop_tracing to stop.\n");
-      return;
-    }
-
-    if (!tracing_)
-      app_->ConnectToService("mojo:tracing", &tracing_);
-    is_tracing_ = true;
-    mojo::DataPipe pipe;
-    tracing_->Start(pipe.producer_handle.Pass(), mojo::String("*"));
-    trace_collector_.reset(new TraceCollector(pipe.consumer_handle.Pass()));
-    Respond(callback, "Starting trace (type 'stop_tracing' to stop)\n");
-  }
-
-  void StopTracing(const HandleRequestCallback& callback) {
-    if (!is_tracing_) {
-      Error(callback, "Not tracing yet. Use start_tracing to start.\n");
-      return;
-    }
-
-    is_tracing_ = false;
-    tracing_->StopAndFlush();
-    trace_collector_->GetTrace(base::Bind(&Debugger::OnTraceAvailable,
-                                          base::Unretained(this), callback));
-  }
-
-  void OnTraceAvailable(HandleRequestCallback callback, std::string trace) {
-    trace_collector_.reset();
-    Respond(callback, trace);
-  }
-
-  void StartProfiling(const HandleRequestCallback& callback) {
-#if !defined(NDEBUG) || !defined(ENABLE_PROFILING)
-    Error(callback,
-          "Profiling requires is_debug=false and enable_profiling=true");
-    return;
-#else
-    base::debug::StartProfiling("sky_viewer.pprof");
-    Respond(callback, "Starting profiling (stop with 'stop_profiling')");
-#endif
-  }
-
-  void StopProfiling(const HandleRequestCallback& callback) {
-    if (!base::debug::BeingProfiled()) {
-      Error(callback, "Profiling not started");
-      return;
-    }
-    base::debug::StopProfiling();
-    Respond(callback, "Stopped profiling");
-  }
-
-  bool is_tracing_;
-  mojo::ApplicationImpl* app_;
-  mojo::WindowManagerPtr window_manager_;
-  tracing::TraceCollectorPtr tracing_;
-  std::string url_;
-  uint32_t command_port_;
-
-  http_server::HttpServerPtr http_server_;
-  mojo::Binding<http_server::HttpHandler> handler_binding_;
-
-  scoped_ptr<TraceCollector> trace_collector_;
-
-  DISALLOW_COPY_AND_ASSIGN(Debugger);
-};
-
-}  // namespace debugger
-
-MojoResult MojoMain(MojoHandle application_request) {
-  mojo::ApplicationRunnerChromium runner(new debugger::Debugger);
-  runner.set_message_loop_type(base::MessageLoop::TYPE_IO);
-  return runner.Run(application_request);
-}
diff --git a/services/debugger/trace_collector.cc b/services/debugger/trace_collector.cc
deleted file mode 100644
index 1265619..0000000
--- a/services/debugger/trace_collector.cc
+++ /dev/null
@@ -1,43 +0,0 @@
-// Copyright 2014 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 "services/debugger/trace_collector.h"
-
-namespace debugger {
-
-TraceCollector::TraceCollector(mojo::ScopedDataPipeConsumerHandle source)
-    : drainer_(this, source.Pass()), is_complete_(false) {
-}
-
-TraceCollector::~TraceCollector() {
-}
-
-void TraceCollector::GetTrace(TraceCallback callback) {
-  DCHECK(callback_.is_null());
-  DCHECK(!callback.is_null());
-  if (is_complete_) {
-    callback.Run(GetTraceAsString());
-    return;
-  }
-  callback_ = callback;
-}
-
-void TraceCollector::OnDataAvailable(const void* data, size_t num_bytes) {
-  DCHECK(!is_complete_);
-  const char* chars = static_cast<const char*>(data);
-  trace_.insert(trace_.end(), chars, chars + num_bytes);
-}
-
-void TraceCollector::OnDataComplete() {
-  DCHECK(!is_complete_);
-  is_complete_ = true;
-  if (!callback_.is_null())
-    callback_.Run(GetTraceAsString());
-}
-
-std::string TraceCollector::GetTraceAsString() {
-  return std::string(&trace_.front(), trace_.size());
-}
-
-}  // namespace debugger
diff --git a/services/debugger/trace_collector.h b/services/debugger/trace_collector.h
deleted file mode 100644
index fe9cc8b..0000000
--- a/services/debugger/trace_collector.h
+++ /dev/null
@@ -1,38 +0,0 @@
-// Copyright 2014 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.
-
-#ifndef SERVICES_DEBUGGER_TRACE_COLLECTOR_H_
-#define SERVICES_DEBUGGER_TRACE_COLLECTOR_H_
-
-#include <vector>
-
-#include "base/callback.h"
-#include "mojo/data_pipe_utils/data_pipe_drainer.h"
-
-namespace debugger {
-
-class TraceCollector : public mojo::common::DataPipeDrainer::Client {
- public:
-  typedef base::Callback<void(std::string)> TraceCallback;
-
-  explicit TraceCollector(mojo::ScopedDataPipeConsumerHandle source);
-  ~TraceCollector() override;
-
-  void GetTrace(TraceCallback callback);
-
- private:
-  void OnDataAvailable(const void* data, size_t num_bytes) override;
-  void OnDataComplete() override;
-
-  std::string GetTraceAsString();
-
-  mojo::common::DataPipeDrainer drainer_;
-  std::vector<char> trace_;
-  bool is_complete_;
-  TraceCallback callback_;
-};
-
-}  // namespace debugger
-
-#endif  // SERVICES_DEBUGGER_TRACE_COLLECTOR_H_