summaryrefslogtreecommitdiffstats
path: root/toolkit/components/cookiebanners/nsCookieRule.h
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--toolkit/components/cookiebanners/nsCookieRule.h41
1 files changed, 41 insertions, 0 deletions
diff --git a/toolkit/components/cookiebanners/nsCookieRule.h b/toolkit/components/cookiebanners/nsCookieRule.h
new file mode 100644
index 0000000000..e1dd21bcbd
--- /dev/null
+++ b/toolkit/components/cookiebanners/nsCookieRule.h
@@ -0,0 +1,41 @@
+/* This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
+#ifndef mozilla_nsCookieRule_h__
+#define mozilla_nsCookieRule_h__
+
+#include "nsICookieRule.h"
+#include "nsICookie.h"
+#include "nsString.h"
+#include "nsCOMPtr.h"
+#include "mozilla/StaticPrefs_cookiebanners.h"
+
+namespace mozilla {
+
+class nsCookieRule final : public nsICookieRule {
+ NS_DECL_ISUPPORTS
+ NS_DECL_NSICOOKIERULE
+
+ public:
+ nsCookieRule() = default;
+
+ explicit nsCookieRule(bool aIsOptOut, const nsACString& aName,
+ const nsACString& aValue, const nsACString& aHost,
+ const nsACString& aPath, int64_t aExpiryRelative,
+ const nsACString& aUnsetValue, bool aIsSecure,
+ bool aIsHttpOnly, bool aIsSession, int32_t aSameSite,
+ nsICookie::schemeType aSchemeMap);
+
+ private:
+ explicit nsCookieRule(const nsCookieRule& aRule);
+
+ ~nsCookieRule() = default;
+
+ RefPtr<net::Cookie> mCookie;
+ int64_t mExpiryRelative{};
+ nsCString mUnsetValue;
+};
+
+} // namespace mozilla
+
+#endif