summaryrefslogtreecommitdiffstats
path: root/content/browser/browsing_instance.cc
diff options
context:
space:
mode:
authordavidben@chromium.org <davidben@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2014-05-15 05:50:18 +0000
committerdavidben@chromium.org <davidben@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2014-05-15 05:50:18 +0000
commitd5072a821b4f9651e1c0a38ffca8ad5a69bf476e (patch)
tree734c5995b7e7e6d025214c7cce27ca6a19d8a58a /content/browser/browsing_instance.cc
parentdd9ce3382723d5b10eaf96bad0fd00e7eb8c2ba0 (diff)
downloadchromium_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.cc4
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