diff --git a/Userland/Libraries/LibWeb/Origin.h b/Userland/Libraries/LibWeb/Origin.h index 3595e791a3..d224b0d734 100644 --- a/Userland/Libraries/LibWeb/Origin.h +++ b/Userland/Libraries/LibWeb/Origin.h @@ -33,6 +33,9 @@ public: && port() == other.port(); } + bool operator==(Origin const& other) const { return is_same(other); } + bool operator!=(Origin const& other) const { return !is_same(other); } + private: String m_protocol; String m_host; @@ -40,3 +43,13 @@ private: }; } + +namespace AK { +template<> +struct Traits : public GenericTraits { + static unsigned hash(Web::Origin const& origin) + { + return pair_int_hash(origin.protocol().hash(), pair_int_hash(int_hash(origin.port()), origin.host().hash())); + } +}; +} // namespace AK