[Android] Use a "unique" remote debugging socket name on bind failure
commita0dea2e79b8859f996235eb28115efdef7d82112
authormnaganov@chromium.org <mnaganov@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>
Thu, 30 May 2013 12:38:39 +0000 (30 12:38 +0000)
committermnaganov@chromium.org <mnaganov@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>
Thu, 30 May 2013 12:38:39 +0000 (30 12:38 +0000)
treefe2c7e17cd37a1038f780d666dbbbf5f483ee131
parent004df8a5ff4d12fb47673a212867ad454c5381c5
[Android] Use a "unique" remote debugging socket name on bind failure

When socket bind failure happens on enabling remote web debugging,
retry using a socket name with PID suffix to ensure uniquiness.
This allows several channels of Chrome to have remote web debugging
enabled simultaneously. Also, this preserves backwards compatibility,
as in the case of the single Chrome instance on a device, remote
debugging socket name is unchanged.

It seems easier to add retry functionality to UnixDomainSocket,
as DevToolsHttpHandler creation is heavily asynchronous.

BUG=222338

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@203132 0039d316-1c4b-4281-b951-d872f2087c98
android_webview/browser/aw_devtools_delegate.cc
chrome/browser/android/dev_tools_server.cc
content/shell/shell_devtools_delegate.cc
net/socket/unix_domain_socket_posix.cc
net/socket/unix_domain_socket_posix.h
net/socket/unix_domain_socket_posix_unittest.cc