2020-05-12 00:12:20 +02:00
|
|
|
diff --git content/browser/child_process_security_policy_impl.cc content/browser/child_process_security_policy_impl.cc
|
2021-03-04 23:36:57 +01:00
|
|
|
index 52ebdbbc7c2e..822f2e41afec 100644
|
2020-05-12 00:12:20 +02:00
|
|
|
--- content/browser/child_process_security_policy_impl.cc
|
|
|
|
+++ content/browser/child_process_security_policy_impl.cc
|
2021-03-04 23:36:57 +01:00
|
|
|
@@ -1706,6 +1706,16 @@ bool ChildProcessSecurityPolicyImpl::CanAccessDataForOrigin(
|
2020-12-02 23:31:49 +01:00
|
|
|
// DeclarativeApiTest.PersistRules.
|
|
|
|
if (actual_process_lock.matches_scheme(url::kDataScheme))
|
|
|
|
return true;
|
2020-05-12 00:12:20 +02:00
|
|
|
+
|
2020-12-02 23:31:49 +01:00
|
|
|
+ // Allow other schemes that are non-standard, non-local and WebSafe.
|
|
|
|
+ if (lock_url.is_valid() &&
|
|
|
|
+ !lock_url.IsStandard() &&
|
|
|
|
+ !base::Contains(url::GetLocalSchemes(),
|
|
|
|
+ lock_url.scheme_piece()) &&
|
|
|
|
+ base::Contains(schemes_okay_to_request_in_any_process_,
|
2021-01-28 00:13:12 +01:00
|
|
|
+ lock_url.scheme())) {
|
2020-12-02 23:31:49 +01:00
|
|
|
+ return true;
|
|
|
|
+ }
|
|
|
|
}
|
2020-05-12 00:12:20 +02:00
|
|
|
|
2020-12-02 23:31:49 +01:00
|
|
|
// TODO(wjmaclean): We should update the ProcessLock comparison API
|