Introducing URLLoaderFactoryParams::request_initiator_origin_lock.

This CL is a step toward the world where we don't trust the origin
reported by the renderer in network::ResourceRequest::request_initiator
and instead know the request initiator a priori (e.g. it gets computed
by the browser process).

This CL only logs UMA that says whether the newly introduced lock is
compatible with the request initiator requested by the user of the
NetworkService (e.g. by the renderer process).  This CL doesn't yet
enforce the request_initiator_origin_lock - the enforcement will be
enabled in a separate, follow-up CL.

This CL builds upon the fact that in most cases
RenderProcessHostImpl::CreateURLLoaderFactory knows which origin will
use the factory to initiate requests.  In presence of NetworkService,
this knowledge allows locking of URLLoaderFactory to this specific
origin.

The only cases where the origin is not known should eventually disappear
after https://crbug.com/891872 is dealt with.  Note that CL has to deal
with the fact that because of https://crbug.com/888079 sometimes only a
site URL (rather than origin) may be known at the commit time.  This is
why the lock is temporarily called |request_initiator_site_lock| rather
than |request_initiator_origin_lock|.

Bug: 871827
Change-Id: I97cc8285ace65e072bd7780da45522b10cb5ba57
Reviewed-on: https://chromium-review.googlesource.com/c/1351574
Commit-Queue: Ɓukasz Anforowicz <lukasza@chromium.org>
Reviewed-by: Brian White <bcwhite@chromium.org>
Reviewed-by: Devlin <rdevlin.cronin@chromium.org>
Reviewed-by: John Abd-El-Malek <jam@chromium.org>
Reviewed-by: Nasko Oskov <nasko@chromium.org>
Cr-Commit-Position: refs/heads/master@{#614535}
15 files changed