summaryrefslogtreecommitdiff
path: root/chromium/third_party/blink/renderer/platform/weborigin/security_policy.cc
diff options
context:
space:
mode:
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.cc25
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();