diff options
Diffstat (limited to '')
-rw-r--r-- | netwerk/cookie/CookiePrivateStorage.h | 58 |
1 files changed, 58 insertions, 0 deletions
diff --git a/netwerk/cookie/CookiePrivateStorage.h b/netwerk/cookie/CookiePrivateStorage.h new file mode 100644 index 0000000000..02c26571e2 --- /dev/null +++ b/netwerk/cookie/CookiePrivateStorage.h @@ -0,0 +1,58 @@ +/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ +/* 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_net_CookiePrivateStorage_h +#define mozilla_net_CookiePrivateStorage_h + +#include "CookieStorage.h" + +class nsICookieTransactionCallback; + +namespace mozilla { +namespace net { + +class CookiePrivateStorage final : public CookieStorage { + public: + static already_AddRefed<CookiePrivateStorage> Create(); + + void StaleCookies(const nsTArray<Cookie*>& aCookieList, + int64_t aCurrentTimeInUsec) override; + + void Close() override{}; + + void EnsureInitialized() override{}; + + nsresult RunInTransaction(nsICookieTransactionCallback* aCallback) override { + // It might make sense for this to be a no-op, or to return + // `NS_ERROR_NOT_AVAILABLE`, or to evalute `aCallback` (in case it has + // side-effects), but for now, just crash. + MOZ_CRASH("RunInTransaction is not supported for private storage"); + }; + + protected: + const char* NotificationTopic() const override { + return "private-cookie-changed"; + } + + void NotifyChangedInternal(nsISupports* aSubject, const char16_t* aData, + bool aOldCookieIsSession) override {} + + void RemoveAllInternal() override {} + + void RemoveCookieFromDB(const CookieListIter& aIter) override {} + + already_AddRefed<nsIArray> PurgeCookies(int64_t aCurrentTimeInUsec, + uint16_t aMaxNumberOfCookies, + int64_t aCookiePurgeAge) override; + + void StoreCookie(const nsACString& aBaseDomain, + const OriginAttributes& aOriginAttributes, + Cookie* aCookie) override {} +}; + +} // namespace net +} // namespace mozilla + +#endif // mozilla_net_CookiePrivateStorage_h |