This is a reland of 868f6b2621
The original CL didn't actually introduce the failures,
crrev.com/c/3088781 did. See crbug.com/1239355
Original change's description:
> Remove ContentBrowserClient::GetStoragePartitionIdForSite
>
> This removes ContentBrowserClient::GetStoragePartitionIdForSite, its
> overrides, and extensions::util::IsExtensionSiteWithIsolatedStorage,
> which was only used by
> ChromeContentBrowserClient::GetStoragePartitionIdForSite.
>
> Bug: 1229912
> Change-Id: I7ae73c78f8fa1071237b2f2b78b215b6bb48ac0c
> Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3087996
> Commit-Queue: Robbie McElrath <rmcelrath@chromium.org>
> Reviewed-by: Reilly Grant <reillyg@chromium.org>
> Reviewed-by: Alex Moshchuk <alexmos@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#911145}
Bug: 1229912
Change-Id: Ica9efabf9602afd609c52aa846223d04213927e2
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3091829
Reviewed-by: Reilly Grant <reillyg@chromium.org>
Reviewed-by: Alex Moshchuk <alexmos@chromium.org>
Commit-Queue: Robbie McElrath <rmcelrath@chromium.org>
Cr-Commit-Position: refs/heads/master@{#911578}
This removes ContentBrowserClient::GetStoragePartitionIdForSite, its
overrides, and extensions::util::IsExtensionSiteWithIsolatedStorage,
which was only used by
ChromeContentBrowserClient::GetStoragePartitionIdForSite.
Bug: 1229912
Change-Id: I7ae73c78f8fa1071237b2f2b78b215b6bb48ac0c
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3087996
Commit-Queue: Robbie McElrath <rmcelrath@chromium.org>
Reviewed-by: Reilly Grant <reillyg@chromium.org>
Reviewed-by: Alex Moshchuk <alexmos@chromium.org>
Cr-Commit-Position: refs/heads/master@{#911145}
This CL enforces that all SiteInstances in a BrowsingInstance use the
same StoragePartition, and makes all related sites inherit their
StoragePartition rather than always asking the embedder which to use.
More specifically, this CL makes the following changes:
* Updates BrowsingInstance to CHECK that all member SiteInstances have
the same StoragePartitionConfig (SPC).
* Makes BrowsingInstance:: ComputeSiteInfoForURL propagate the existing
SPC into the new SiteInfo. This function is used when creating
related SiteInstances, and ensures that related sites inherit the SPC
of their parent.
* Refactor SiteInstanceImpl::IsNavigationSameSite to reuse some of its
logic in RFHM::ShouldSwapBrowsingInstancesForNavigation's
StoragePartition check to avoid breaking hosted apps.
ShouldSwapBrowsingInstancesForNavigation will now force a
BrowsingInstance swap when navigating a top-level frame to a URL that
requires a different StoragePartition.
Bug: 1212266, 1229912
Change-Id: Id94c1ca09879eed09c20f7c23fec5f5ca2aa4677
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3025080
Commit-Queue: Robbie McElrath <rmcelrath@chromium.org>
Reviewed-by: Alex Moshchuk <alexmos@chromium.org>
Cr-Commit-Position: refs/heads/master@{#908340}
This CL adds a GetConfig() method to StoragePartition, which returns the
config used to create the StoragePartition. It also defines a new
StoragePartitionConfig::CreateForTesting helper to create
StoragePartitionConfig's without a BrowserContext.
Bug: 1212266, 1229912
Change-Id: I05cb1990121828a24c01d1956915b16559496e88
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3027490
Commit-Queue: Robbie McElrath <rmcelrath@chromium.org>
Reviewed-by: Charlie Reis <creis@chromium.org>
Cr-Commit-Position: refs/heads/master@{#903702}