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

Unified Diff: chrome/renderer/chrome_content_renderer_client.cc

Issue 16625012: Remove ExtensionURLInfo, make security decisions in render process (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: fix nacl Created 7 years, 5 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 side-by-side diff with in-line comments
Download patch
Index: chrome/renderer/chrome_content_renderer_client.cc
diff --git a/chrome/renderer/chrome_content_renderer_client.cc b/chrome/renderer/chrome_content_renderer_client.cc
index 7a68264fbab94d920725f2fd78e9ea5e7832adb4..df1fcd88c0541b77e6b21d4036cb57ef0dfe4df7 100644
--- a/chrome/renderer/chrome_content_renderer_client.cc
+++ b/chrome/renderer/chrome_content_renderer_client.cc
@@ -618,7 +618,7 @@ WebPlugin* ChromeContentRendererClient::CreatePlugin(
}
const Extension* extension =
g_current_client->extension_dispatcher_->extensions()->
- GetExtensionOrAppByURL(ExtensionURLInfo(manifest_url));
+ GetExtensionOrAppByURL(manifest_url);
if (!IsNaClAllowed(manifest_url,
app_url,
is_nacl_unrestricted,
@@ -861,7 +861,7 @@ void ChromeContentRendererClient::GetNavigationErrorStrings(
if (failed_url.is_valid() &&
!failed_url.SchemeIs(extensions::kExtensionScheme)) {
extension = extension_dispatcher_->extensions()->GetExtensionOrAppByURL(
- ExtensionURLInfo(failed_url));
+ failed_url);
}
bool is_post = EqualsASCII(failed_request.httpMethod(), "POST");
@@ -960,7 +960,7 @@ bool ChromeContentRendererClient::ShouldFork(WebFrame* frame,
// Determine if the new URL is an extension (excluding bookmark apps).
const Extension* new_url_extension = extensions::GetNonBookmarkAppExtension(
- *extensions, ExtensionURLInfo(url));
+ *extensions, url);
bool is_extension_url = !!new_url_extension;
// If the navigation would cross an app extent boundary, we also need
@@ -977,8 +977,7 @@ bool ChromeContentRendererClient::ShouldFork(WebFrame* frame,
*send_referrer = true;
const Extension* extension =
- extension_dispatcher_->extensions()->GetExtensionOrAppByURL(
- ExtensionURLInfo(url));
+ extension_dispatcher_->extensions()->GetExtensionOrAppByURL(url);
if (extension && extension->is_app()) {
UMA_HISTOGRAM_ENUMERATION(
extension->is_platform_app() ?
@@ -1139,11 +1138,10 @@ bool ChromeContentRendererClient::CrossesExtensionExtents(
// in an extension process, we want to keep it in process to allow the
// opener to script it.
WebDocument opener_document = frame->opener()->document();
- GURL opener_url = opener_document.url();
- WebSecurityOrigin opener_origin = opener_document.securityOrigin();
- bool opener_is_extension_url = !!extensions.GetExtensionOrAppByURL(
- ExtensionURLInfo(opener_origin, opener_url));
WebSecurityOrigin opener = frame->opener()->document().securityOrigin();
+ bool opener_is_extension_url =
+ !opener.isUnique() && !!extensions.GetExtensionOrAppByURL(
Nico 2013/07/14 00:12:41 I assume abarth has checked that !opener.isUnique(
jamesr 2013/07/15 19:31:12 The previous code passed the opener to GetExtensio
+ opener_document.url());
if (!is_extension_url &&
!opener_is_extension_url &&
extension_dispatcher_->is_extension_process() &&
@@ -1162,8 +1160,7 @@ bool ChromeContentRendererClient::CrossesExtensionExtents(
bool should_consider_workaround = !!frame->opener();
return extensions::CrossesExtensionProcessBoundary(
- extensions, ExtensionURLInfo(old_url), ExtensionURLInfo(new_url),
- should_consider_workaround);
+ extensions, old_url, new_url, should_consider_workaround);
}
void ChromeContentRendererClient::SetSpellcheck(SpellCheck* spellcheck) {

Powered by Google App Engine
This is Rietveld 408576698