Reland "Pass top frame origin to cookie settings"

This is a reland of b21dff94e34c617b52a335ecf531b8010c9a3fa4

This CL wasn't the cause of renderer crashes. crbug.com/994537#c21

Original change's description:
> Pass top frame origin to cookie settings
>
> In order to correctly apply content settings with secondary patterns,
> CookieSettings needs to know the TopFrameOrigin of a request.
> Currently it only has access to SiteForCookies, which can be an empty
> url for cross-origin iframes.
> This CL passes TopFrameOrigin from UrlRequests to CookieSettings and
> uses this value to look up ContentSettings. SiteForOrigin is still
> used to determine whether the cookie is used in a third-party context.
>
> As TopFrameOrigin is not yet always available, this new behavior is
> behind the ImprovedCookieControls flag.
>
> Bug: 988398
> Change-Id: Ibb6180b68ae9f4780046be6fb2a9dcbb39f9ccf4
> Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1698419
> Commit-Queue: Christian Dullweber <[email protected]>
> Reviewed-by: Roger Tawa <[email protected]>
> Reviewed-by: Balazs Engedy <[email protected]>
> Reviewed-by: Mike West <[email protected]>
> Reviewed-by: Sylvain Defresne <[email protected]>
> Reviewed-by: Arthur Sonzogni <[email protected]>
> Reviewed-by: John Rummell <[email protected]>
> Reviewed-by: Nate Fischer <[email protected]>
> Reviewed-by: Maks Orlovich <[email protected]>
> Cr-Commit-Position: refs/heads/master@{#686759}

[email protected],[email protected],[email protected],[email protected],[email protected],[email protected],[email protected],[email protected],[email protected]

Bug: 988398, 994557
Change-Id: I9adf51d62326e75374bc41145e30f377c540f82d
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1760212
Reviewed-by: Christian Dullweber <[email protected]>
Reviewed-by: Balazs Engedy <[email protected]>
Reviewed-by: Sylvain Defresne <[email protected]>
Reviewed-by: Arthur Sonzogni <[email protected]>
Commit-Queue: Christian Dullweber <[email protected]>
Cr-Commit-Position: refs/heads/master@{#688063}
35 files changed