Index: content/public/browser/site_instance.h |
diff --git a/content/public/browser/site_instance.h b/content/public/browser/site_instance.h |
index 1ab1b5c3c03bab48a4aea0b6c69b9dd17d885f98..708da824c2951d4ccfd64de1e7c9410b77fe9a98 100644 |
--- a/content/public/browser/site_instance.h |
+++ b/content/public/browser/site_instance.h |
@@ -43,7 +43,8 @@ class RenderProcessHost; |
// (which uses the same BrowsingInstance). If the user navigates within a site, |
// the same SiteInstance is used. Caveat: we currently allow renderer-initiated |
// cross-site navigations to stay in the same SiteInstance, to preserve |
-// compatibility in cases like cross-site iframes that open popups. |
+// compatibility in cases like cross-site iframes that open popups. This means |
+// that most SiteInstances will contain pages from multiple sites. |
// |
// SITE PER PROCESS (currently experimental): is the most granular process |
// model and is made possible by our support for out-of-process iframes. A |
@@ -61,7 +62,9 @@ class RenderProcessHost; |
// |
// PROCESS PER SITE: We consolidate all SiteInstances for a given site into the |
// same process, throughout the entire browser context. This ensures that only |
-// one process will be used for each site. |
+// one process will be used for each site. Note that there is no strict process |
+// isolation of sites in this mode, so a given SiteInstance can still contain |
+// pages from multiple sites. |
// |
// Each NavigationEntry for a WebContents points to the SiteInstance that |
// rendered it. Each RenderFrameHost also points to the SiteInstance that it is |
@@ -84,12 +87,12 @@ class CONTENT_EXPORT SiteInstance : public base::RefCounted<SiteInstance> { |
// Returns the current RenderProcessHost being used to render pages for this |
// SiteInstance. If there is no RenderProcessHost (because either none has |
// yet been created or there was one but it was cleanly destroyed (e.g. when |
- // it is not actively being used)), then this method will create a new |
+ // it is not actively being used), then this method will create a new |
// RenderProcessHost (and a new ID). Note that renderer process crashes leave |
// the current RenderProcessHost (and ID) in place. |
// |
// For sites that require process-per-site mode (e.g., WebUI), this will |
- // ensure only one RenderProcessHost for the site exists/ within the |
+ // ensure only one RenderProcessHost for the site exists within the |
// BrowserContext. |
virtual content::RenderProcessHost* GetProcess() = 0; |
@@ -97,8 +100,14 @@ class CONTENT_EXPORT SiteInstance : public base::RefCounted<SiteInstance> { |
// SiteInstances) belongs. |
virtual content::BrowserContext* GetBrowserContext() const = 0; |
- // Get the web site that this SiteInstance is rendering pages for. |
- // This includes the scheme and registered domain, but not the port. |
+ // Get the web site that this SiteInstance is rendering pages for. This |
+ // includes the scheme and registered domain, but not the port. |
+ // |
+ // NOTE: In most cases, this value should not be considered authoritative |
+ // because a SiteInstance can usually host pages from multiple sites. It is |
+ // only an accurate representation of the pages within the SiteInstance in |
+ // the "site per process" process model, or for sites that require process |
+ // isolation (e.g., WebUI, extensions). |
virtual const GURL& GetSiteURL() const = 0; |
// Gets a SiteInstance for the given URL that shares the current |