Browser process does not try to create RemoteDebuggingServer again if it is already created anymore.

BUG=143890


Review URL: https://chromiumcodereview.appspot.com/10827438

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@153275 0039d316-1c4b-4281-b951-d872f2087c98
diff --git a/chrome/browser/browser_process_impl.cc b/chrome/browser/browser_process_impl.cc
index 42b81c3..7718a0b 100644
--- a/chrome/browser/browser_process_impl.cc
+++ b/chrome/browser/browser_process_impl.cc
@@ -471,14 +471,18 @@
 #endif
 }
 
-void BrowserProcessImpl::InitDevToolsHttpProtocolHandler(
+void BrowserProcessImpl::CreateDevToolsHttpProtocolHandler(
     Profile* profile,
     const std::string& ip,
     int port,
     const std::string& frontend_url) {
   DCHECK(CalledOnValidThread());
-  remote_debugging_server_.reset(
-      new RemoteDebuggingServer(profile, ip, port, frontend_url));
+  // StartupBrowserCreator::LaunchBrowser can be run multiple times when browser
+  // is started with several profiles or existing browser process is reused.
+  if (!remote_debugging_server_.get()) {
+    remote_debugging_server_.reset(
+        new RemoteDebuggingServer(profile, ip, port, frontend_url));
+  }
 }
 
 bool BrowserProcessImpl::IsShuttingDown() {