Revert accidental console.cc changes from 23538d3c49dfaff28e4d88b3254b7ab8cf1b6e35

Somehow davemoore@ reverted a change to services/console/console.cc as
part of adding new functionality to the shell. This reverts the revert.

TBR=davemoore@chromium.org

Review URL: https://codereview.chromium.org/937863004
diff --git a/services/console/console.cc b/services/console/console.cc
index 06ff2ac..ad1fc9c 100644
--- a/services/console/console.cc
+++ b/services/console/console.cc
@@ -11,14 +11,15 @@
 #include "mojo/public/cpp/application/application_connection.h"
 #include "mojo/public/cpp/application/application_delegate.h"
 #include "mojo/public/cpp/application/interface_factory.h"
-#include "mojo/public/cpp/bindings/interface_ptr.h"
+#include "mojo/public/cpp/bindings/strong_binding.h"
 #include "mojo/services/console/public/interfaces/console.mojom.h"
 
 namespace mojo {
 
-class ConsoleImpl : public InterfaceImpl<Console> {
+class ConsoleImpl : public Console {
  public:
-  explicit ConsoleImpl(const std::string& app_name) : app_name_(app_name) {}
+  ConsoleImpl(const std::string& app_name, InterfaceRequest<Console> request)
+      : app_name_(app_name), binding_(this, request.Pass()) {}
   ~ConsoleImpl() override {}
 
   void ReadLine(const Callback<void(bool, String)>& callback) override {
@@ -47,6 +48,7 @@
 
  private:
   const std::string app_name_;
+  StrongBinding<Console> binding_;
 
   DISALLOW_COPY_AND_ASSIGN(ConsoleImpl);
 };
@@ -66,8 +68,7 @@
   // InterfaceFactory<Console> implementation.
   void Create(ApplicationConnection* connection,
               InterfaceRequest<Console> request) override {
-    BindToRequest(new ConsoleImpl(connection->GetRemoteApplicationURL()),
-                  &request);
+    new ConsoleImpl(connection->GetRemoteApplicationURL(), request.Pass());
   }
 
  private: