Enable WebSockets over HTTP/2.

Change HttpStreamFactoryImpl::Job to allow secure WebSocket requests to
use an existing HTTP/2 connection if the server has already indicated
support.  If no such connection exists, a new non-HTTP/2 connection is
created for the WebSocket request just like before.

This is a reland of https://crrev.com/c/905344, which got reverted at
https://crrev.com/c/933303, with an additional change in
http_network_session.cc to initialize
HttpNetworkSession::Params::enable_websocket_over_http2 to false.

Bug: 801564
Change-Id: I576a208e4f81b87efb56e116adf93bef9fc661ff
Reviewed-on: https://chromium-review.googlesource.com/933441
Reviewed-by: Adam Rice <ricea@chromium.org>
Commit-Queue: Bence Béky <bnc@chromium.org>
Cr-Commit-Position: refs/heads/master@{#538769}
4 files changed