Bug 1907009 - Part 1: Add CacheExpirationTime type. r=emilio

Differential Revision: https://phabricator.services.mozilla.com/D217957
This commit is contained in:
Tooru Fujisawa
2024-08-06 05:38:23 +00:00
parent fd8f7ab7b5
commit adec9d4fda
14 changed files with 139 additions and 79 deletions

View File

@@ -13,6 +13,7 @@
#include "js/TypeDecls.h"
#include "mozilla/Atomics.h"
#include "mozilla/Assertions.h"
#include "mozilla/dom/CacheExpirationTime.h"
#include "mozilla/dom/SRIMetadata.h"
#include "mozilla/LinkedList.h"
#include "mozilla/Maybe.h"
@@ -114,17 +115,10 @@ class ScriptLoadRequest : public nsISupports,
bool IsCacheable() const;
uint32_t ExpirationTime() const { return mExpirationTime; }
CacheExpirationTime ExpirationTime() const { return mExpirationTime; }
void SetMinimumExpirationTime(uint32_t aExpirationTime) {
// 0 means "doesn't expire".
// Otherwise, calculate the minimum value.
if (aExpirationTime == 0) {
return;
}
if (mExpirationTime == 0 || aExpirationTime < mExpirationTime) {
mExpirationTime = aExpirationTime;
}
void SetMinimumExpirationTime(const CacheExpirationTime& aExpirationTime) {
mExpirationTime.SetMinimum(aExpirationTime);
}
virtual bool IsTopLevel() const { return true; };
@@ -284,7 +278,7 @@ class ScriptLoadRequest : public nsISupports,
// imported modules
enum mozilla::dom::ReferrerPolicy mReferrerPolicy;
uint32_t mExpirationTime = 0;
CacheExpirationTime mExpirationTime = CacheExpirationTime::Never();
RefPtr<ScriptFetchOptions> mFetchOptions;
const SRIMetadata mIntegrity;