diff options
author | davidben@chromium.org <davidben@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2014-05-15 05:50:18 +0000 |
---|---|---|
committer | davidben@chromium.org <davidben@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2014-05-15 05:50:18 +0000 |
commit | d5072a821b4f9651e1c0a38ffca8ad5a69bf476e (patch) | |
tree | 734c5995b7e7e6d025214c7cce27ca6a19d8a58a /content/browser/browsing_instance.cc | |
parent | dd9ce3382723d5b10eaf96bad0fd00e7eb8c2ba0 (diff) | |
download | chromium_src-d5072a821b4f9651e1c0a38ffca8ad5a69bf476e.zip chromium_src-d5072a821b4f9651e1c0a38ffca8ad5a69bf476e.tar.gz chromium_src-d5072a821b4f9651e1c0a38ffca8ad5a69bf476e.tar.bz2 |
Check BrowsingInstance before swapping prerenders.
Even if a WebContents does not have an opener, if there is another WebContents
in the BrowsingInstance, swapping processes can break pages which expect script
access.
BUG=118294
Review URL: https://codereview.chromium.org/257083002
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@270581 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'content/browser/browsing_instance.cc')
-rw-r--r-- | content/browser/browsing_instance.cc | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/content/browser/browsing_instance.cc b/content/browser/browsing_instance.cc index c70f38b..1d5f895 100644 --- a/content/browser/browsing_instance.cc +++ b/content/browser/browsing_instance.cc @@ -15,7 +15,8 @@ namespace content { BrowsingInstance::BrowsingInstance(BrowserContext* browser_context) - : browser_context_(browser_context) { + : browser_context_(browser_context), + active_contents_count_(0u) { } bool BrowsingInstance::HasSiteInstance(const GURL& url) { @@ -84,6 +85,7 @@ BrowsingInstance::~BrowsingInstance() { // We should only be deleted when all of the SiteInstances that refer to // us are gone. DCHECK(site_instance_map_.empty()); + DCHECK_EQ(0u, active_contents_count_); } } // namespace content |