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

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: Created 7 years, 6 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 2b61ebe2f2bce603de2b7dd6011dfe53349e9c97..8b9e5274d858fcb1126862ceb7be4d1a5f8ebaa7 100644
--- a/chrome/renderer/chrome_content_renderer_client.cc
+++ b/chrome/renderer/chrome_content_renderer_client.cc
@@ -587,7 +587,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,
@@ -826,7 +826,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");
@@ -925,7 +925,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
@@ -942,8 +942,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() ?
@@ -1104,11 +1103,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(
+ opener_document.url());
if (!is_extension_url &&
!opener_is_extension_url &&
extension_dispatcher_->is_extension_process() &&
@@ -1127,8 +1125,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