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..3e8868aa682761c7884170a534fc7bd2b990e928 100644 |
--- a/content/browser/child_process_security_policy_impl.cc |
+++ b/content/browser/child_process_security_policy_impl.cc |
@@ -30,6 +30,7 @@ |
#include "storage/browser/fileapi/isolated_context.h" |
#include "storage/common/fileapi/file_system_util.h" |
#include "url/gurl.h" |
+#include "url/url_util.h" |
namespace content { |
@@ -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 (url::IsAboutBlank(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 |