Index: content/browser/child_process_security_policy_impl.cc |
diff --git a/content/browser/child_process_security_policy_impl.cc b/content/browser/child_process_security_policy_impl.cc |
index 3c207c2c185162d81e83cfdc34138da57563d56f..226af1ab37190c7d002ab7a1f24cd3cb599eca12 100644 |
--- a/content/browser/child_process_security_policy_impl.cc |
+++ b/content/browser/child_process_security_policy_impl.cc |
@@ -23,6 +23,7 @@ |
#include "content/public/browser/render_process_host.h" |
#include "content/public/common/bindings_policy.h" |
#include "content/public/common/url_constants.h" |
+#include "content/public/common/url_utils.h" |
#include "net/base/filename_util.h" |
#include "net/url_request/url_request.h" |
#include "storage/browser/fileapi/file_permission_policy.h" |
@@ -626,8 +627,9 @@ bool ChildProcessSecurityPolicyImpl::CanRequestURL( |
return false; // Can't request invalid URLs. |
if (IsPseudoScheme(url.scheme())) { |
- // Every child process can request <about:blank> and <about:srcdoc>. |
- if (url == url::kAboutBlankURL || url == kAboutSrcDocURL) |
+ // Every child process can request <about:blank>, <about:blank?foo>, |
+ // <about:blank/#foo> and <about:srcdoc>. |
+ if (IsAboutBlankURL(url) || url == kAboutSrcDocURL) |
return true; |
// URLs like <about:version>, <about:crash>, <view-source:...> shouldn't be |
// requestable by any child process. Also, this case covers |