Index: Source/core/dom/SecurityContext.h |
diff --git a/Source/core/dom/SecurityContext.h b/Source/core/dom/SecurityContext.h |
index 56506812c78539bee582e4631784254e79002b53..a0d55501c486281e4b04318fbf32e0c5b7180632 100644 |
--- a/Source/core/dom/SecurityContext.h |
+++ b/Source/core/dom/SecurityContext.h |
@@ -29,9 +29,11 @@ |
#include "core/CoreExport.h" |
#include "core/dom/SandboxFlags.h" |
+#include "wtf/HashSet.h" |
#include "wtf/Noncopyable.h" |
#include "wtf/PassRefPtr.h" |
#include "wtf/RefPtr.h" |
+#include "wtf/text/StringHash.h" |
#include "wtf/text/WTFString.h" |
namespace blink { |
@@ -43,6 +45,8 @@ class KURL; |
class CORE_EXPORT SecurityContext { |
WTF_MAKE_NONCOPYABLE(SecurityContext); |
public: |
+ using InsecureNavigationsSet = HashSet<unsigned, WTF::AlreadyHashed>; |
+ |
// The ordering here is important: 'Upgrade' overrides 'DoNotUpgrade'. |
enum InsecureRequestsPolicy { |
InsecureRequestsDoNotUpgrade = 0, |
@@ -70,6 +74,9 @@ public: |
void setInsecureRequestsPolicy(InsecureRequestsPolicy policy) { m_insecureRequestsPolicy = policy; } |
InsecureRequestsPolicy insecureRequestsPolicy() const { return m_insecureRequestsPolicy; } |
+ void addInsecureNavigationUpgrade(unsigned hashedHost) { m_insecureNavigationsToUpgrade.add(hashedHost); } |
+ InsecureNavigationsSet* insecureNavigationsToUpgrade() { return &m_insecureNavigationsToUpgrade; } |
+ |
protected: |
SecurityContext(); |
virtual ~SecurityContext(); |
@@ -88,6 +95,7 @@ private: |
bool m_hostedInReservedIPRange; |
InsecureRequestsPolicy m_insecureRequestsPolicy; |
+ InsecureNavigationsSet m_insecureNavigationsToUpgrade; |
}; |
} // namespace blink |