diff options
Diffstat (limited to 'chromium/third_party/blink/renderer/platform/weborigin/security_policy.cc')
-rw-r--r-- | chromium/third_party/blink/renderer/platform/weborigin/security_policy.cc | 25 |
1 files changed, 20 insertions, 5 deletions
diff --git a/chromium/third_party/blink/renderer/platform/weborigin/security_policy.cc b/chromium/third_party/blink/renderer/platform/weborigin/security_policy.cc index fa1c15badfc..1147ed188da 100644 --- a/chromium/third_party/blink/renderer/platform/weborigin/security_policy.cc +++ b/chromium/third_party/blink/renderer/platform/weborigin/security_policy.cc @@ -44,6 +44,7 @@ #include "third_party/blink/renderer/platform/wtf/text/string_hash.h" #include "third_party/blink/renderer/platform/wtf/text/string_utf8_adaptor.h" #include "third_party/blink/renderer/platform/wtf/threading.h" +#include "third_party/blink/renderer/platform/wtf/wtf.h" namespace blink { @@ -72,8 +73,8 @@ static void AddOriginAccessEntry(const SecurityOrigin& source_origin, bool allow_destination_subdomains, OriginAccessMap& access_map) { DCHECK(IsMainThread()); - DCHECK(!source_origin.IsUnique()); - if (source_origin.IsUnique()) + DCHECK(!source_origin.IsOpaque()); + if (source_origin.IsOpaque()) return; String source_string = source_origin.ToString(); @@ -94,8 +95,8 @@ static void RemoveOriginAccessEntry(const SecurityOrigin& source_origin, bool allow_destination_subdomains, OriginAccessMap& access_map) { DCHECK(IsMainThread()); - DCHECK(!source_origin.IsUnique()); - if (source_origin.IsUnique()) + DCHECK(!source_origin.IsOpaque()); + if (source_origin.IsOpaque()) return; String source_string = source_origin.ToString(); @@ -118,6 +119,14 @@ static void RemoveOriginAccessEntry(const SecurityOrigin& source_origin, access_map.erase(it); } +static void RemoveAllOriginAccessEntriesForOrigin( + const SecurityOrigin& source_origin, + OriginAccessMap& access_map) { + DCHECK(IsMainThread()); + DCHECK(!source_origin.IsOpaque()); + access_map.erase(source_origin.ToString()); +} + static bool IsOriginPairInAccessMap(const SecurityOrigin* active_origin, const SecurityOrigin* target_origin, const OriginAccessMap& access_map) { @@ -257,7 +266,7 @@ bool SecurityPolicy::IsOriginWhiteListedTrustworthy( const SecurityOrigin& origin) { // Early return if there are no whitelisted origins to avoid unnecessary // allocations, copies, and frees. - if (origin.IsUnique() || TrustworthyOriginSet().IsEmpty()) + if (origin.IsOpaque() || TrustworthyOriginSet().IsEmpty()) return false; if (TrustworthyOriginSet().Contains(origin.ToRawString())) return true; @@ -323,6 +332,12 @@ void SecurityPolicy::RemoveOriginAccessWhitelistEntry( GetOriginAccessWhitelistMap()); } +void SecurityPolicy::RemoveAllOriginAccessWhitelistEntriesForOrigin( + const SecurityOrigin& source_origin) { + RemoveAllOriginAccessEntriesForOrigin(source_origin, + GetOriginAccessWhitelistMap()); +} + void SecurityPolicy::ResetOriginAccessWhitelists() { DCHECK(IsMainThread()); GetOriginAccessWhitelistMap().clear(); |