ServiceWorker: Make FromWebServiceWorkerNetworkProvider() available for workers

FromWebServiceWorkerNetworkProvider takes WebServiceWorkerNetworkProvider as an
argument.

Before this CL, contrary to the function name, the function implicitly assumes
the given network provider is WebServiceWorkerNetworkProviderImplForFrame. This
seems confusing. Actually, in the previous CL[1], I used it with
WebServiceWorkerNetworkProviderImplForWorker in EmbeddedSharedWorkerStub, and it
resulted in type conversion failures from ImplForWorker to ImplForFrame on
static_cast.

To fix it, this CL introduces WebServiceWorkerNetworkProviderBaseImpl as the
base class of both ProviderImplForFrame and ProviderImplForWorker, and makes
FromWebServiceWorkerNetworkProvider() take the base class as the argument. Also,
this CL moves some common functions from the derived classes to the base class.

[1] https://chromium-review.googlesource.com/c/chromium/src/+/1405123

Bug: 906991, 922077
Change-Id: I7f95d41457dc5f68e15b5676fe79f2755d27176a
Reviewed-on: https://chromium-review.googlesource.com/c/1420157
Reviewed-by: Matt Falkenhagen <falken@chromium.org>
Commit-Queue: Hiroki Nakagawa <nhiroki@chromium.org>
Cr-Commit-Position: refs/heads/master@{#624056}
7 files changed