Implementation of DevTools socket tunneling service for remote debugging.

Test APK in addition to instrumentation tests contains launching activity and foreground service what let duplicate ChromeShell debug socket to a differently named socket. If a device with running ChromeShell and DevToolsBridgeTest's service connect to a Desktop chrome (with USB debugging enabled) then chrome://inspect#devices will show 2 ChromeChell items. Both are debuggable (https://codereview.chromium.org/521573002/ should be applied to Desktop chrome to make the process less surprising). It's suitable for manual tests.

This CL doesn't care of a few known issues:
1. Data channel buffer overflow. Data channel automatically closed in this case.
2. Uncontrolled number of pending sockets. DevTools throttles opening sockets and and keeps sockets that exceeds a threshold hanging.
3. Uncontrolled number of threads (it's actually not a problem if #2 solved, thanks to DevTools throttling).

To keep this CL reasonably simple this issues will be addressed later.

TEST=org.chromium.components.devtools_bridge.SocketTunnelServerTest, see description fro manual testing.
BUG=383418

Committed: https://crrev.com/15044609893faf9b2c2a533aa9a136f288ea20a1
Cr-Commit-Position: refs/heads/master@{#296360}

Review URL: https://codereview.chromium.org/517233002

Cr-Original-Commit-Position: refs/heads/master@{#296377}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 6c788d675dba4ec185375863cbc53c0803cc4b3e
This commit is contained in:
serya 2014-09-24 02:54:42 -07:00 коммит произвёл Commit bot
Родитель 31dec7af5c
Коммит e6055f6db8
2 изменённых файлов: 2 добавлений и 0 удалений

Просмотреть файл

@ -800,6 +800,7 @@
'../chrome/chrome.gyp:chrome_shell_uiautomator_tests',
'../chrome/chrome.gyp:unit_tests_apk',
'../components/components_tests.gyp:components_unittests_apk',
'../components/devtools_bridge.gyp:devtools_bridge_tests_apk',
'../content/content_shell_and_tests.gyp:content_browsertests_apk',
'../content/content_shell_and_tests.gyp:content_gl_tests_apk',
'../content/content_shell_and_tests.gyp:content_unittests_apk',

Просмотреть файл

@ -8,6 +8,7 @@
EXPERIMENTAL_TEST_SUITES = [
'content_gl_tests',
'heap_profiler_unittests',
'devtools_bridge_tests',
]
# Do not modify this list without approval of an android owner.