Open a firewall hole when a TCP server or UDP socket is bound.
This patch implements firewall hole punching when a Chrome App uses
the chrome.socket, chrome.sockets.tcpServer or chrome.sockets.udp APIs
to open a socket to receive packets from the network. Sockets that only
listen on the local loopback device do not open a port.
A primitive FirewallHole class is added that could be reused by the
Pepper sockets API as well.
BUG=
435404
Committed:
https://crrev.com/bed8fdc7a0995427e0af24e63693ad790920b612
Cr-Commit-Position: refs/heads/master@{#320552}