Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(19)

Issue 517233002: DevTools socket tunnel. (Closed)

Created:
6 years, 3 months ago by SeRya
Modified:
6 years, 3 months ago
CC:
chromium-reviews, vsevik, yurys, paulirish+reviews_chromium.org, devtools-reviews_chromium.org, aandrey+blink_chromium.org, pfeldman
Base URL:
https://chromium.googlesource.com/chromium/src.git@glue
Project:
chromium
Visibility:
Public.

Description

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} Committed: https://crrev.com/6c788d675dba4ec185375863cbc53c0803cc4b3e Cr-Commit-Position: refs/heads/master@{#296377}

Patch Set 1 : #

Patch Set 2 : #

Patch Set 3 : Added abstraction over WebRTC's data channel. #

Patch Set 4 : Using ReadWriteLock instead low level synchronization. #

Total comments: 16

Patch Set 5 : #

Total comments: 9

Patch Set 6 : Code review coments addressed. #

Total comments: 21

Patch Set 7 : New comments addressed. #

Total comments: 10

Patch Set 8 : Style nits addressed + extracting classed needed in further patches. #

Total comments: 2

Patch Set 9 : OWNERS+README #

Patch Set 10 : #

Total comments: 4

Patch Set 11 : NITs + android_clang_dbg_recipe fixes #

Patch Set 12 : #

Unified diffs Side-by-side diffs Delta from patch set Stats (+2352 lines, -16 lines) Patch
M build/all.gyp View 1 2 3 4 5 6 7 8 9 10 11 1 chunk +1 line, -0 lines 0 comments Download
M build/android/pylib/gtest/gtest_config.py View 1 2 1 chunk +1 line, -0 lines 0 comments Download
M chrome/android/shell/java/AndroidManifest.xml View 1 2 3 4 5 1 chunk +5 lines, -0 lines 0 comments Download
M chrome/android/shell/java/src/org/chromium/chrome/shell/ChromeShellActivity.java View 1 2 3 4 5 6 7 8 1 chunk +2 lines, -1 line 0 comments Download
M components/OWNERS View 1 2 3 4 5 6 7 8 9 10 1 chunk +3 lines, -0 lines 0 comments Download
A components/devtools_bridge.gyp View 1 2 3 4 5 6 1 chunk +42 lines, -0 lines 0 comments Download
A + components/devtools_bridge/OWNERS View 1 2 3 4 5 6 7 8 9 10 1 chunk +1 line, -1 line 0 comments Download
A components/devtools_bridge/README View 1 2 3 4 5 6 7 8 1 chunk +2 lines, -0 lines 0 comments Download
A components/devtools_bridge/android/java/src/org/chromium/components/devtools_bridge/AbstractDataChannel.java View 1 2 3 4 5 6 7 1 chunk +77 lines, -0 lines 0 comments Download
A components/devtools_bridge/android/java/src/org/chromium/components/devtools_bridge/SocketTunnelBase.java View 1 2 3 4 5 6 7 8 9 1 chunk +396 lines, -0 lines 0 comments Download
A components/devtools_bridge/android/java/src/org/chromium/components/devtools_bridge/SocketTunnelServer.java View 1 2 3 4 5 6 7 1 chunk +135 lines, -0 lines 0 comments Download
A + components/devtools_bridge/android/javatests/AndroidManifest.xml View 1 2 3 4 5 6 1 chunk +19 lines, -14 lines 0 comments Download
A components/devtools_bridge/android/javatests/src/org/chromium/components/devtools_bridge/LocalTunnelBridgeTest.java View 1 2 3 4 5 6 7 8 9 10 1 chunk +111 lines, -0 lines 0 comments Download
A components/devtools_bridge/android/javatests/src/org/chromium/components/devtools_bridge/SocketTunnelServerTest.java View 1 2 3 4 5 6 7 8 9 10 11 1 chunk +305 lines, -0 lines 0 comments Download
A components/devtools_bridge/android/javatests/src/org/chromium/components/devtools_bridge/tests/DebugActivity.java View 1 2 3 4 5 6 1 chunk +71 lines, -0 lines 0 comments Download
A components/devtools_bridge/android/javatests/src/org/chromium/components/devtools_bridge/tests/DebugService.java View 1 2 3 4 5 6 7 1 chunk +111 lines, -0 lines 0 comments Download
A components/devtools_bridge/test/android/javatests/src/org/chromium/components/devtools_bridge/DataChannelMock.java View 1 2 3 4 5 1 chunk +135 lines, -0 lines 0 comments Download
A components/devtools_bridge/test/android/javatests/src/org/chromium/components/devtools_bridge/DataPipe.java View 1 2 3 4 5 6 7 1 chunk +79 lines, -0 lines 0 comments Download
A components/devtools_bridge/test/android/javatests/src/org/chromium/components/devtools_bridge/LocalTunnelBridge.java View 1 2 3 4 5 6 7 8 9 10 1 chunk +190 lines, -0 lines 0 comments Download
A components/devtools_bridge/test/android/javatests/src/org/chromium/components/devtools_bridge/PacketDecoder.java View 1 2 3 4 5 6 7 8 9 10 1 chunk +67 lines, -0 lines 0 comments Download
A components/devtools_bridge/test/android/javatests/src/org/chromium/components/devtools_bridge/SignalingThreadMock.java View 1 2 3 4 5 6 7 8 9 10 1 chunk +162 lines, -0 lines 0 comments Download
A components/devtools_bridge/test/android/javatests/src/org/chromium/components/devtools_bridge/SocketTunnelClient.java View 1 2 3 4 5 6 7 8 9 10 1 chunk +303 lines, -0 lines 0 comments Download
A components/devtools_bridge/test/android/javatests/src/org/chromium/components/devtools_bridge/TestUtils.java View 1 2 3 4 5 6 7 8 9 10 1 chunk +134 lines, -0 lines 0 comments Download

Messages

Total messages: 32 (8 generated)
SeRya
6 years, 3 months ago (2014-09-11 17:32:24 UTC) #3
mnaganov (inactive)
Here are the issues I have noticed so far. As the patch is quite big, ...
6 years, 3 months ago (2014-09-12 13:37:30 UTC) #4
SeRya
Comments addressed, looking forward for the next portion of comments. https://codereview.chromium.org/517233002/diff/100001/chrome/android/shell/java/AndroidManifest.xml File chrome/android/shell/java/AndroidManifest.xml (right): https://codereview.chromium.org/517233002/diff/100001/chrome/android/shell/java/AndroidManifest.xml#newcode36 ...
6 years, 3 months ago (2014-09-15 15:20:01 UTC) #5
mnaganov (inactive)
Looks better! Some more comments. https://codereview.chromium.org/517233002/diff/100001/components/devtools_bridge/android/java/src/org/chromium/components/devtools_bridge/SocketTunnelServer.java File components/devtools_bridge/android/java/src/org/chromium/components/devtools_bridge/SocketTunnelServer.java (right): https://codereview.chromium.org/517233002/diff/100001/components/devtools_bridge/android/java/src/org/chromium/components/devtools_bridge/SocketTunnelServer.java#newcode52 components/devtools_bridge/android/java/src/org/chromium/components/devtools_bridge/SocketTunnelServer.java:52: boolean hasConnections() { On ...
6 years, 3 months ago (2014-09-15 16:35:22 UTC) #6
SeRya
Comments addressed. https://codereview.chromium.org/517233002/diff/100001/components/devtools_bridge/android/java/src/org/chromium/components/devtools_bridge/SocketTunnelServer.java File components/devtools_bridge/android/java/src/org/chromium/components/devtools_bridge/SocketTunnelServer.java (right): https://codereview.chromium.org/517233002/diff/100001/components/devtools_bridge/android/java/src/org/chromium/components/devtools_bridge/SocketTunnelServer.java#newcode52 components/devtools_bridge/android/java/src/org/chromium/components/devtools_bridge/SocketTunnelServer.java:52: boolean hasConnections() { On 2014/09/15 16:35:21, mnaganov ...
6 years, 3 months ago (2014-09-15 18:16:22 UTC) #7
mnaganov (inactive)
LGTM
6 years, 3 months ago (2014-09-16 11:30:18 UTC) #8
SeRya
tedchoc@chromium.org: Please review changes in chrome/android/... Review of other android related stuffs (what's everithing in ...
6 years, 3 months ago (2014-09-16 11:50:30 UTC) #10
Ted C
lgtm for chrome/android No idea if you care about the style nits, but just some ...
6 years, 3 months ago (2014-09-18 01:39:53 UTC) #11
SeRya
Tad, thank you for reviewing java code. I do care about style nits. It's my ...
6 years, 3 months ago (2014-09-18 07:04:42 UTC) #12
Ted C
lgtm https://codereview.chromium.org/517233002/diff/180001/components/devtools_bridge/android/java/src/org/chromium/components/devtools_bridge/SocketTunnelBase.java File components/devtools_bridge/android/java/src/org/chromium/components/devtools_bridge/SocketTunnelBase.java (right): https://codereview.chromium.org/517233002/diff/180001/components/devtools_bridge/android/java/src/org/chromium/components/devtools_bridge/SocketTunnelBase.java#newcode68 components/devtools_bridge/android/java/src/org/chromium/components/devtools_bridge/SocketTunnelBase.java:68: // data channel automatically. TODO: WebRTC limit supposed ...
6 years, 3 months ago (2014-09-19 22:59:53 UTC) #13
erikwright (departed)
On 2014/09/19 22:59:53, Ted C wrote: > lgtm > > https://codereview.chromium.org/517233002/diff/180001/components/devtools_bridge/android/java/src/org/chromium/components/devtools_bridge/SocketTunnelBase.java > File > components/devtools_bridge/android/java/src/org/chromium/components/devtools_bridge/SocketTunnelBase.java ...
6 years, 3 months ago (2014-09-23 13:56:55 UTC) #14
mnaganov (inactive)
On 2014/09/23 13:56:55, erikwright wrote: > On 2014/09/19 22:59:53, Ted C wrote: > > lgtm ...
6 years, 3 months ago (2014-09-23 14:41:01 UTC) #15
SeRya
OWNERS and README added https://codereview.chromium.org/517233002/diff/180001/components/devtools_bridge/android/java/src/org/chromium/components/devtools_bridge/SocketTunnelBase.java File components/devtools_bridge/android/java/src/org/chromium/components/devtools_bridge/SocketTunnelBase.java (right): https://codereview.chromium.org/517233002/diff/180001/components/devtools_bridge/android/java/src/org/chromium/components/devtools_bridge/SocketTunnelBase.java#newcode68 components/devtools_bridge/android/java/src/org/chromium/components/devtools_bridge/SocketTunnelBase.java:68: // data channel automatically. TODO: ...
6 years, 3 months ago (2014-09-23 18:20:59 UTC) #17
erikwright (departed)
LGTM with two nits. https://codereview.chromium.org/517233002/diff/240001/components/OWNERS File components/OWNERS (right): https://codereview.chromium.org/517233002/diff/240001/components/OWNERS#newcode34 components/OWNERS:34: per-file devtools_bridge.gyp=serya@chromium.org alphabetize this section ...
6 years, 3 months ago (2014-09-23 19:31:03 UTC) #18
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/517233002/300001
6 years, 3 months ago (2014-09-24 06:59:57 UTC) #22
SeRya
https://codereview.chromium.org/517233002/diff/240001/components/OWNERS File components/OWNERS (right): https://codereview.chromium.org/517233002/diff/240001/components/OWNERS#newcode34 components/OWNERS:34: per-file devtools_bridge.gyp=serya@chromium.org On 2014/09/23 19:31:03, erikwright wrote: > alphabetize ...
6 years, 3 months ago (2014-09-24 07:04:21 UTC) #23
commit-bot: I haz the power
Committed patchset #11 (id:300001) as 9a1c1763431d8aa91f560f047077e244ddca99d5
6 years, 3 months ago (2014-09-24 07:13:52 UTC) #24
commit-bot: I haz the power
Patchset 11 (id:??) landed as https://crrev.com/15044609893faf9b2c2a533aa9a136f288ea20a1 Cr-Commit-Position: refs/heads/master@{#296360}
6 years, 3 months ago (2014-09-24 07:14:30 UTC) #25
phoglund_chromium
A revert of this CL (patchset #11 id:300001) has been created in https://codereview.chromium.org/597063002/ by phoglund@chromium.org. ...
6 years, 3 months ago (2014-09-24 07:31:33 UTC) #26
mnaganov (inactive)
On 2014/09/24 07:31:33, phoglund wrote: > A revert of this CL (patchset #11 id:300001) has ...
6 years, 3 months ago (2014-09-24 07:34:41 UTC) #27
SeRya
On 2014/09/24 07:34:41, mnaganov (cr) wrote: > On 2014/09/24 07:31:33, phoglund wrote: > > A ...
6 years, 3 months ago (2014-09-24 08:22:51 UTC) #28
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/517233002/320001
6 years, 3 months ago (2014-09-24 09:48:29 UTC) #30
commit-bot: I haz the power
Committed patchset #12 (id:320001) as fb4d6e742f921daa8b1258bb420e2e420866913d
6 years, 3 months ago (2014-09-24 09:54:49 UTC) #31
commit-bot: I haz the power
6 years, 3 months ago (2014-09-24 09:55:27 UTC) #32
Message was sent while issue was closed.
Patchset 12 (id:??) landed as
https://crrev.com/6c788d675dba4ec185375863cbc53c0803cc4b3e
Cr-Commit-Position: refs/heads/master@{#296377}

Powered by Google App Engine
This is Rietveld 408576698