New issue
Advanced search Search tips

Issue 844146 link

Starred by 5 users

Issue metadata

Status: Fixed
Owner:
Closed: Aug 6
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Linux , Android , Windows , Chrome , Mac
Pri: 1
Type: Feature
Proj-Servicification


Sign in to add a comment

Make WebRTC work with network service

Project Member Reported by xunji...@chromium.org, May 17 2018

Issue description

This is a meta bug to track the work to support WebRTC's networking needs in network service.
Network service is the effort to run chrome network stack out of process. WebRTC currently uses the following features from the network stack. When these features are ported over to network service, WebRTC needs to be migrated to using those.

Features used by WebRTC:
- UDP sockets
- TCP and TLS sockets that respect system proxy settings.
- Asynchronous DNS lookups
- Query the list of local network addresses and get notified when the list changes.

 
Blockedon: 778821
Blockedon: 816634 800212
Some context can be found in an earlier  bug 800212 .
Blockedon: 844181
Blockedon: 821021
WebRTC's DNS needs seem straightforward. In socket_dispatcher_host.cc. It's one call to net::HostResolverImpl::Resolve. I'm adding blocker bug accordingly.
Blockedon: 844187

Comment 6 by dxie@chromium.org, May 18 2018

Labels: OS-Android OS-Chrome OS-Linux OS-Mac OS-Windows
Owner: xunji...@chromium.org
Status: Assigned (was: Available)
Wrote up a doc listing the background and the options: https://docs.google.com/document/d/1PeRCLWgJdiwznysVOGyXJCF7tDsMQgwto1x_6v3dHug/edit

I am working with steveanton@ on it.
Blockedon: -821021
Owner: ----
Status: Available (was: Assigned)
I am taking two weeks off. It's unlikely I will get this done if we are aiming for Canary on 8/6. Marking this as Available.

The remaining work is outlined in the doc in Comment #8.
Step 1. p2p_messages.h needs to be converted to mojo
Step 2. Copy the new p2p mojo interface over to services/network/public/mojom
Step 3. Hook up renderer code to talk to network service's P2P interface
Owner: jam@chromium.org
Status: Assigned (was: Available)
Project Member

Comment 12 by bugdroid1@chromium.org, Aug 4

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/88ba9d16837f9525ecb2773f598a9f2f1169dea5

commit 88ba9d16837f9525ecb2773f598a9f2f1169dea5
Author: John Abd-El-Malek <jam@chromium.org>
Date: Sat Aug 04 20:57:31 2018

Move browser side WebRTC code to services/network so that it can work with the network service.

P2PSocketDispatcherHost is now split into two. The code that owns and manages P2PSocket classes moves to services/network's P2PSocketManager. There are corresponding trusted Mojo interfaces for the two to communicate.

Bug:  844146 
Cq-Include-Trybots: luci.chromium.try:linux_mojo
Change-Id: I5bb9265c4eba5a5bc7d4cb0bd0707c7b535e4c1c
Reviewed-on: https://chromium-review.googlesource.com/1161568
Reviewed-by: Nasko Oskov <nasko@chromium.org>
Reviewed-by: Sergey Ulanov <sergeyu@chromium.org>
Commit-Queue: John Abd-El-Malek <jam@chromium.org>
Cr-Commit-Position: refs/heads/master@{#580764}
[modify] https://crrev.com/88ba9d16837f9525ecb2773f598a9f2f1169dea5/content/browser/BUILD.gn
[delete] https://crrev.com/caa5d06bc58b76a07c49106b516bf71db5bd445a/content/browser/renderer_host/p2p/DEPS
[modify] https://crrev.com/88ba9d16837f9525ecb2773f598a9f2f1169dea5/content/browser/renderer_host/p2p/socket_dispatcher_host.cc
[modify] https://crrev.com/88ba9d16837f9525ecb2773f598a9f2f1169dea5/content/browser/renderer_host/p2p/socket_dispatcher_host.h
[delete] https://crrev.com/caa5d06bc58b76a07c49106b516bf71db5bd445a/content/browser/renderer_host/p2p/socket_host.cc
[delete] https://crrev.com/caa5d06bc58b76a07c49106b516bf71db5bd445a/content/browser/renderer_host/p2p/socket_host_tcp.h
[delete] https://crrev.com/caa5d06bc58b76a07c49106b516bf71db5bd445a/content/browser/renderer_host/p2p/socket_host_tcp_server.cc
[delete] https://crrev.com/caa5d06bc58b76a07c49106b516bf71db5bd445a/content/browser/renderer_host/p2p/socket_host_tcp_server.h
[modify] https://crrev.com/88ba9d16837f9525ecb2773f598a9f2f1169dea5/content/browser/renderer_host/render_process_host_impl.cc
[modify] https://crrev.com/88ba9d16837f9525ecb2773f598a9f2f1169dea5/content/browser/renderer_host/render_process_host_impl.h
[modify] https://crrev.com/88ba9d16837f9525ecb2773f598a9f2f1169dea5/content/test/BUILD.gn
[modify] https://crrev.com/88ba9d16837f9525ecb2773f598a9f2f1169dea5/jingle/BUILD.gn
[modify] https://crrev.com/88ba9d16837f9525ecb2773f598a9f2f1169dea5/services/network/BUILD.gn
[modify] https://crrev.com/88ba9d16837f9525ecb2773f598a9f2f1169dea5/services/network/network_context.cc
[modify] https://crrev.com/88ba9d16837f9525ecb2773f598a9f2f1169dea5/services/network/network_context.h
[add] https://crrev.com/88ba9d16837f9525ecb2773f598a9f2f1169dea5/services/network/p2p/DEPS
[add] https://crrev.com/88ba9d16837f9525ecb2773f598a9f2f1169dea5/services/network/p2p/OWNERS
[add] https://crrev.com/88ba9d16837f9525ecb2773f598a9f2f1169dea5/services/network/p2p/socket.cc
[rename] https://crrev.com/88ba9d16837f9525ecb2773f598a9f2f1169dea5/services/network/p2p/socket.h
[add] https://crrev.com/88ba9d16837f9525ecb2773f598a9f2f1169dea5/services/network/p2p/socket_manager.cc
[add] https://crrev.com/88ba9d16837f9525ecb2773f598a9f2f1169dea5/services/network/p2p/socket_manager.h
[rename] https://crrev.com/88ba9d16837f9525ecb2773f598a9f2f1169dea5/services/network/p2p/socket_tcp.cc
[add] https://crrev.com/88ba9d16837f9525ecb2773f598a9f2f1169dea5/services/network/p2p/socket_tcp.h
[add] https://crrev.com/88ba9d16837f9525ecb2773f598a9f2f1169dea5/services/network/p2p/socket_tcp_server.cc
[add] https://crrev.com/88ba9d16837f9525ecb2773f598a9f2f1169dea5/services/network/p2p/socket_tcp_server.h
[rename] https://crrev.com/88ba9d16837f9525ecb2773f598a9f2f1169dea5/services/network/p2p/socket_tcp_server_unittest.cc
[rename] https://crrev.com/88ba9d16837f9525ecb2773f598a9f2f1169dea5/services/network/p2p/socket_tcp_unittest.cc
[rename] https://crrev.com/88ba9d16837f9525ecb2773f598a9f2f1169dea5/services/network/p2p/socket_test_utils.cc
[rename] https://crrev.com/88ba9d16837f9525ecb2773f598a9f2f1169dea5/services/network/p2p/socket_test_utils.h
[rename] https://crrev.com/88ba9d16837f9525ecb2773f598a9f2f1169dea5/services/network/p2p/socket_throttler.cc
[rename] https://crrev.com/88ba9d16837f9525ecb2773f598a9f2f1169dea5/services/network/p2p/socket_throttler.h
[rename] https://crrev.com/88ba9d16837f9525ecb2773f598a9f2f1169dea5/services/network/p2p/socket_udp.cc
[rename] https://crrev.com/88ba9d16837f9525ecb2773f598a9f2f1169dea5/services/network/p2p/socket_udp.h
[rename] https://crrev.com/88ba9d16837f9525ecb2773f598a9f2f1169dea5/services/network/p2p/socket_udp_unittest.cc
[modify] https://crrev.com/88ba9d16837f9525ecb2773f598a9f2f1169dea5/services/network/public/cpp/BUILD.gn
[modify] https://crrev.com/88ba9d16837f9525ecb2773f598a9f2f1169dea5/services/network/public/mojom/BUILD.gn
[modify] https://crrev.com/88ba9d16837f9525ecb2773f598a9f2f1169dea5/services/network/public/mojom/network_context.mojom
[add] https://crrev.com/88ba9d16837f9525ecb2773f598a9f2f1169dea5/services/network/public/mojom/p2p_trusted.mojom
[modify] https://crrev.com/88ba9d16837f9525ecb2773f598a9f2f1169dea5/services/network/test/test_network_context.h

Labels: -Type-Bug Type-Feature
Status: Fixed (was: Assigned)
Labels: M-70

Sign in to add a comment