| 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 c5bdf1e7733b8387e4fe70daa3118ee70a7ece3d..80c1d76293986e00fa93f5fca72bcf46706d51d0 100644
|
| --- a/chrome/renderer/chrome_content_renderer_client.cc
|
| +++ b/chrome/renderer/chrome_content_renderer_client.cc
|
| @@ -439,15 +439,21 @@
|
| if (command_line->HasSwitch(switches::kInstantProcess))
|
| thread->RegisterExtension(extensions_v8::SearchBoxExtension::Get());
|
|
|
| - // chrome-search: and chrome-distiller: pages should not be accessible by
|
| - // normal content, and should also be unable to script anything but themselves
|
| - // (to help limit the damage that a corrupt page could cause).
|
| + // chrome:, chrome-search:, chrome-devtools:, and chrome-distiller: pages
|
| + // should not be accessible by normal content, and should also be unable to
|
| + // script anything but themselves (to help limit the damage that a corrupt
|
| + // page could cause).
|
| + WebString chrome_ui_scheme(ASCIIToUTF16(content::kChromeUIScheme));
|
| + WebSecurityPolicy::registerURLSchemeAsDisplayIsolated(chrome_ui_scheme);
|
| +
|
| WebString chrome_search_scheme(ASCIIToUTF16(chrome::kChromeSearchScheme));
|
| -
|
| // The Instant process can only display the content but not read it. Other
|
| // processes can't display it or read it.
|
| if (!command_line->HasSwitch(switches::kInstantProcess))
|
| WebSecurityPolicy::registerURLSchemeAsDisplayIsolated(chrome_search_scheme);
|
| +
|
| + WebString dev_tools_scheme(ASCIIToUTF16(content::kChromeDevToolsScheme));
|
| + WebSecurityPolicy::registerURLSchemeAsDisplayIsolated(dev_tools_scheme);
|
|
|
| WebString dom_distiller_scheme(
|
| ASCIIToUTF16(dom_distiller::kDomDistillerScheme));
|
| @@ -469,13 +475,16 @@
|
| }
|
| #endif
|
|
|
| - // chrome-search: pages should not be accessible by bookmarklets
|
| + // chrome: and chrome-search: pages should not be accessible by bookmarklets
|
| // or javascript: URLs typed in the omnibox.
|
| WebSecurityPolicy::registerURLSchemeAsNotAllowingJavascriptURLs(
|
| + chrome_ui_scheme);
|
| + WebSecurityPolicy::registerURLSchemeAsNotAllowingJavascriptURLs(
|
| chrome_search_scheme);
|
|
|
| - // chrome-search:, chrome-extension:, and chrome-extension-resource:
|
| + // chrome:, chrome-search:, chrome-extension:, and chrome-extension-resource:
|
| // resources shouldn't trigger insecure content warnings.
|
| + WebSecurityPolicy::registerURLSchemeAsSecure(chrome_ui_scheme);
|
| WebSecurityPolicy::registerURLSchemeAsSecure(chrome_search_scheme);
|
|
|
| WebString extension_scheme(ASCIIToUTF16(extensions::kExtensionScheme));
|
| @@ -487,6 +496,7 @@
|
|
|
| // chrome:, chrome-extension:, chrome-extension-resource: resources should be
|
| // allowed to receive CORS requests.
|
| + WebSecurityPolicy::registerURLSchemeAsCORSEnabled(chrome_ui_scheme);
|
| WebSecurityPolicy::registerURLSchemeAsCORSEnabled(extension_scheme);
|
| WebSecurityPolicy::registerURLSchemeAsCORSEnabled(extension_resource_scheme);
|
|
|
|
|