| Index: chrome/renderer/chrome_content_renderer_client.cc
|
| ===================================================================
|
| --- chrome/renderer/chrome_content_renderer_client.cc (revision 112673)
|
| +++ chrome/renderer/chrome_content_renderer_client.cc (working copy)
|
| @@ -573,26 +573,32 @@
|
| // TODO(erikkay) This is happening inside of a check to is_content_initiated
|
| // which means that things like the back button won't trigger it. Is that
|
| // OK?
|
| - if (!CrossesExtensionExtents(frame, url, is_initial_navigation))
|
| - return false;
|
| + if (CrossesExtensionExtents(frame, url, is_initial_navigation)) {
|
| + // Include the referrer in this case since we're going from a hosted web
|
| + // page. (the packaged case is handled previously by the extension
|
| + // navigation test)
|
| + *send_referrer = true;
|
|
|
| - // Include the referrer in this case since we're going from a hosted web
|
| - // page. (the packaged case is handled previously by the extension
|
| - // navigation test)
|
| - *send_referrer = true;
|
| -
|
| - if (is_content_initiated) {
|
| - const Extension* extension =
|
| - extension_dispatcher_->extensions()->GetByURL(ExtensionURLInfo(url));
|
| - if (extension && extension->is_app()) {
|
| - UMA_HISTOGRAM_ENUMERATION(
|
| - extension_misc::kAppLaunchHistogram,
|
| - extension_misc::APP_LAUNCH_CONTENT_NAVIGATION,
|
| - extension_misc::APP_LAUNCH_BUCKET_BOUNDARY);
|
| + if (is_content_initiated) {
|
| + const Extension* extension =
|
| + extension_dispatcher_->extensions()->GetByURL(ExtensionURLInfo(url));
|
| + if (extension && extension->is_app()) {
|
| + UMA_HISTOGRAM_ENUMERATION(
|
| + extension_misc::kAppLaunchHistogram,
|
| + extension_misc::APP_LAUNCH_CONTENT_NAVIGATION,
|
| + extension_misc::APP_LAUNCH_BUCKET_BOUNDARY);
|
| + }
|
| }
|
| + return true;
|
| }
|
|
|
| - return true;
|
| + // Navigating to a new chrome:// scheme (in a new tab) from within a
|
| + // chrome:// page must be a browser navigation so that the browser can
|
| + // register the new associated data source.
|
| + if (is_content_initiated && url.SchemeIs(kChromeUIScheme))
|
| + return true;
|
| +
|
| + return false;
|
| }
|
|
|
| bool ChromeContentRendererClient::WillSendRequest(WebKit::WebFrame* frame,
|
|
|