Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(58)

Side by Side Diff: content/public/browser/content_browser_client.h

Issue 13877028: Renderer initiated navigations from non instant process should not fall into instant. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Address comments & ensure InstantLoader pages start in the right SiteInstance. Created 7 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #ifndef CONTENT_PUBLIC_BROWSER_CONTENT_BROWSER_CLIENT_H_ 5 #ifndef CONTENT_PUBLIC_BROWSER_CONTENT_BROWSER_CLIENT_H_
6 #define CONTENT_PUBLIC_BROWSER_CONTENT_BROWSER_CLIENT_H_ 6 #define CONTENT_PUBLIC_BROWSER_CONTENT_BROWSER_CLIENT_H_
7 7
8 #include <map> 8 #include <map>
9 #include <string> 9 #include <string>
10 #include <utility> 10 #include <utility>
(...skipping 124 matching lines...) Expand 10 before | Expand all | Expand 10 after
135 WebContents* embedder_web_contents) {} 135 WebContents* embedder_web_contents) {}
136 136
137 // Notifies that a RenderProcessHost has been created. This is called before 137 // Notifies that a RenderProcessHost has been created. This is called before
138 // the content layer adds its own BrowserMessageFilters, so that the 138 // the content layer adds its own BrowserMessageFilters, so that the
139 // embedder's IPC filters have priority. 139 // embedder's IPC filters have priority.
140 virtual void RenderProcessHostCreated(RenderProcessHost* host) {} 140 virtual void RenderProcessHostCreated(RenderProcessHost* host) {}
141 141
142 // Notifies that a BrowserChildProcessHost has been created. 142 // Notifies that a BrowserChildProcessHost has been created.
143 virtual void BrowserChildProcessHostCreated(BrowserChildProcessHost* host) {} 143 virtual void BrowserChildProcessHostCreated(BrowserChildProcessHost* host) {}
144 144
145 // Determines whether a navigation from |current_instance| to |url| would be a
146 // valid entry point to a "privileged site," based on whether it
147 // |is_renderer_initiated|. A privileged site requires careful process
148 // isolation to ensure its privileges do not leak, and it can only be entered
149 // via known navigation paths.
150 //
151 // If this is a valid entry to a privileged site, this function should rewrite
152 // the origin of |url| with a non-http(s) origin that represents the
153 // privileged site. This will distinguish the resulting SiteInstance from
154 // other SiteInstances in the process model.
155 virtual GURL GetPossiblyPrivilegedURL(
156 content::BrowserContext* browser_context,
157 const GURL& url,
158 bool is_renderer_initiated,
159 SiteInstance* current_instance);
160
145 // Get the effective URL for the given actual URL, to allow an embedder to 161 // Get the effective URL for the given actual URL, to allow an embedder to
146 // group different url schemes in the same SiteInstance. 162 // group different url schemes in the same SiteInstance.
147 virtual GURL GetEffectiveURL(BrowserContext* browser_context, 163 virtual GURL GetEffectiveURL(BrowserContext* browser_context,
148 const GURL& url); 164 const GURL& url);
149 165
150 // Returns whether all instances of the specified effective URL should be 166 // Returns whether all instances of the specified effective URL should be
151 // rendered by the same process, rather than using process-per-site-instance. 167 // rendered by the same process, rather than using process-per-site-instance.
152 virtual bool ShouldUseProcessPerSite(BrowserContext* browser_context, 168 virtual bool ShouldUseProcessPerSite(BrowserContext* browser_context,
153 const GURL& effective_url); 169 const GURL& effective_url);
154 170
(...skipping 377 matching lines...) Expand 10 before | Expand all | Expand 10 after
532 // This is called on a worker thread. 548 // This is called on a worker thread.
533 virtual 549 virtual
534 crypto::CryptoModuleBlockingPasswordDelegate* GetCryptoPasswordDelegate( 550 crypto::CryptoModuleBlockingPasswordDelegate* GetCryptoPasswordDelegate(
535 const GURL& url); 551 const GURL& url);
536 #endif 552 #endif
537 }; 553 };
538 554
539 } // namespace content 555 } // namespace content
540 556
541 #endif // CONTENT_PUBLIC_BROWSER_CONTENT_BROWSER_CLIENT_H_ 557 #endif // CONTENT_PUBLIC_BROWSER_CONTENT_BROWSER_CLIENT_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698