WebSocket: Teach parent frame's id to DedicatedWorkerHost

This is a preparation CL for the off-main-thread WebSocket.

After this CL, DedicatedWorkerHost is created from RenderFrameHostImpl, not from
RendererInterfaceBinders, so that DedicatedWorkerHost can get its parent frame's
id. This may not work for nested workers, but probably we can add an interface
for creating DedicatedWorkerHost to DedicatedWorkerHost for that case.

<Motivation>

DedicatedWorkerHost needs to know the parent frame id in order to share a user
decision on the SSL certificate warning interstitial among the parent document
and dedicated workers. When the off-main-thread WebSocket is disabled, the
decision is naturally shared among them because the dedicated workers depend on
their parent document's loader. Once the off-main-thread WebSocket is enabled,
the dedicated workers need to annotate requests as permitted using their parent
frame's id.

<Notes>

This CL renames private WebSocketManager::CreateWebSocket() overloaded by public
CreateWebSocket() to DoCreateWebSocketInternal() because the overload makes
base::BindRepeating() confused.

Bug: 825740
Change-Id: I9c2b07bea60cce315b94a4776b1d163e4330a208
Reviewed-on: https://chromium-review.googlesource.com/1025497
Reviewed-by: Kinuko Yasuda <kinuko@chromium.org>
Reviewed-by: Matt Falkenhagen <falken@chromium.org>
Reviewed-by: Yutaka Hirano <yhirano@chromium.org>
Commit-Queue: Hiroki Nakagawa <nhiroki@chromium.org>
Cr-Commit-Position: refs/heads/master@{#554280}
8 files changed