diff options
author | creis@google.com <creis@google.com@0039d316-1c4b-4281-b951-d872f2087c98> | 2008-11-26 00:16:51 +0000 |
---|---|---|
committer | creis@google.com <creis@google.com@0039d316-1c4b-4281-b951-d872f2087c98> | 2008-11-26 00:16:51 +0000 |
commit | 6705b23f96dc6953abe9911907a8d25d924e5e7f (patch) | |
tree | 01d12f8da8fabc7d541e90fa5a27b8bbe77cc825 /chrome/browser/site_instance.h | |
parent | 8a304074522d7c710298bb24ae55fb4a60143ba6 (diff) | |
download | chromium_src-6705b23f96dc6953abe9911907a8d25d924e5e7f.zip chromium_src-6705b23f96dc6953abe9911907a8d25d924e5e7f.tar.gz chromium_src-6705b23f96dc6953abe9911907a8d25d924e5e7f.tar.bz2 |
Don't create separate SiteInstances for pages from the same domain and scheme
but from different ports. (These pages can still access each other.)
(This is copied from http://codereview.chromium.org/12443, which has already
been reviewed by darin and abarth. Just had to commit from a different
checked out codebase.)
BUG=4792
R=darin,abarth
Review URL: http://codereview.chromium.org/12451
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@6014 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/browser/site_instance.h')
-rw-r--r-- | chrome/browser/site_instance.h | 14 |
1 files changed, 7 insertions, 7 deletions
diff --git a/chrome/browser/site_instance.h b/chrome/browser/site_instance.h index 904d52f..6759fe3 100644 --- a/chrome/browser/site_instance.h +++ b/chrome/browser/site_instance.h @@ -15,7 +15,7 @@ // // A SiteInstance is a data structure that is associated with all pages in a // given instance of a web site. Here, a web site is identified by its -// registered domain name, scheme, and port. An instance includes all pages +// registered domain name and scheme. An instance includes all pages // that are connected (i.e., either a user or a script navigated from one // to the other). We represent instances using the BrowsingInstance class. // @@ -70,8 +70,9 @@ class SiteInstance : public base::RefCounted<SiteInstance> { RenderProcessHost* GetProcess(); // Set / Get the web site that this SiteInstance is rendering pages for. - // This includes the scheme, registered domain, and port. If the URL does - // not have a valid registered domain, then the full hostname is stored. + // This includes the scheme and registered domain, but not the port. If the + // URL does not have a valid registered domain, then the full hostname is + // stored. void SetSite(const GURL& url); const GURL& site() const { return site_; } bool has_site() const { return has_site_; } @@ -100,15 +101,14 @@ class SiteInstance : public base::RefCounted<SiteInstance> { // Darin suggests. static SiteInstance* CreateSiteInstance(Profile* profile); - // Returns the site for the given URL, which includes only the scheme, - // registered domain, and port. Returns an empty GURL if the URL has no - // host. + // Returns the site for the given URL, which includes only the scheme and + // registered domain. Returns an empty GURL if the URL has no host. static GURL GetSiteForURL(const GURL& url); // Return whether both URLs are part of the same web site, for the purpose of // assigning them to processes accordingly. The decision is currently based // on the registered domain of the URLs (google.com, bbc.co.uk), as well as - // the scheme (https, http) and port. This ensures that two pages will be in + // the scheme (https, http). This ensures that two pages will be in // the same process if they can communicate with other via JavaScript. // (e.g., docs.google.com and mail.google.com have DOM access to each other // if they both set their document.domain properties to google.com.) |