Index: chrome/browser/child_process_security_policy.cc |
=================================================================== |
--- chrome/browser/child_process_security_policy.cc (revision 19905) |
+++ chrome/browser/child_process_security_policy.cc (working copy) |
@@ -98,6 +98,7 @@ |
RegisterPseudoScheme(chrome::kAboutScheme); |
RegisterPseudoScheme(chrome::kJavaScriptScheme); |
RegisterPseudoScheme(chrome::kViewSourceScheme); |
+ RegisterPseudoScheme(chrome::kPrintScheme); |
} |
ChildProcessSecurityPolicy::~ChildProcessSecurityPolicy() { |
@@ -170,10 +171,11 @@ |
return; // The scheme has already been white-listed for every renderer. |
if (IsPseudoScheme(url.scheme())) { |
- // The view-source scheme is a special case of a pseudo URL that eventually |
- // results in requesting its embedded URL. |
- if (url.SchemeIs(chrome::kViewSourceScheme)) { |
- // URLs with the view-source scheme typically look like: |
+ // The view-source and print schemes are a special case of a pseudo URL that |
+ // eventually results in requesting its embedded URL. |
+ if (url.SchemeIs(chrome::kViewSourceScheme) || |
+ url.SchemeIs(chrome::kPrintScheme)) { |
+ // URLs with the view-source and print schemes typically look like: |
// view-source:http://www.google.com/a |
// In order to request these URLs, the renderer needs to be able to |
// request the embedded URL. |
@@ -254,9 +256,10 @@ |
if (IsPseudoScheme(url.scheme())) { |
// There are a number of special cases for pseudo schemes. |
- if (url.SchemeIs(chrome::kViewSourceScheme)) { |
- // A view-source URL is allowed if the renderer is permitted to request |
- // the embedded URL. |
+ if (url.SchemeIs(chrome::kViewSourceScheme) || |
+ url.SchemeIs(chrome::kPrintScheme)) { |
+ // View-source and print URL's are allowed if the renderer is permitted |
+ // to request the embedded URL. |
return CanRequestURL(renderer_id, GURL(url.path())); |
} |