summaryrefslogtreecommitdiff
path: root/chromium/third_party/blink/renderer/platform/loader/fetch/script_cached_metadata_handler.h
diff options
context:
space:
mode:
Diffstat (limited to 'chromium/third_party/blink/renderer/platform/loader/fetch/script_cached_metadata_handler.h')
-rw-r--r--chromium/third_party/blink/renderer/platform/loader/fetch/script_cached_metadata_handler.h25
1 files changed, 21 insertions, 4 deletions
diff --git a/chromium/third_party/blink/renderer/platform/loader/fetch/script_cached_metadata_handler.h b/chromium/third_party/blink/renderer/platform/loader/fetch/script_cached_metadata_handler.h
index 4d1099b6625..df5ca5535a1 100644
--- a/chromium/third_party/blink/renderer/platform/loader/fetch/script_cached_metadata_handler.h
+++ b/chromium/third_party/blink/renderer/platform/loader/fetch/script_cached_metadata_handler.h
@@ -33,9 +33,9 @@ class PLATFORM_EXPORT ScriptCachedMetadataHandler final
ScriptCachedMetadataHandler(const WTF::TextEncoding&,
std::unique_ptr<CachedMetadataSender>);
~ScriptCachedMetadataHandler() override = default;
- void Trace(blink::Visitor*) override;
- void SetCachedMetadata(uint32_t, const uint8_t*, size_t, CacheType) override;
- void ClearCachedMetadata(CacheType) override;
+ void Trace(Visitor*) override;
+ void SetCachedMetadata(uint32_t, const uint8_t*, size_t) override;
+ void ClearCachedMetadata(ClearCacheType) override;
scoped_refptr<CachedMetadata> GetCachedMetadata(uint32_t) const override;
// This returns the encoding at the time of ResponseReceived(). Therefore this
@@ -56,14 +56,31 @@ class PLATFORM_EXPORT ScriptCachedMetadataHandler final
size_t GetCodeCacheSize() const override;
private:
- void SendToPlatform();
+ friend class ModuleScriptTest;
+
+ void CommitToPersistentStorage();
scoped_refptr<CachedMetadata> cached_metadata_;
+ bool cached_metadata_discarded_ = false;
std::unique_ptr<CachedMetadataSender> sender_;
const WTF::TextEncoding encoding_;
};
+// Describes a few interesting states of the ScriptCachedMetadataHandler when
+// GetCachedMetadata() is called. These values are written to logs. New enum
+// values can be added, but existing enums must never be renumbered or deleted
+// and reused.
+enum class StateOnGet : int {
+ kPresent = 0,
+ kDataTypeMismatch = 1,
+ kWasNeverPresent = 2,
+ kWasDiscarded = 3,
+
+ // Must be equal to the greatest among enumeraiton values.
+ kMaxValue = kWasDiscarded
+};
+
} // namespace blink
#endif // THIRD_PARTY_BLINK_RENDERER_PLATFORM_LOADER_FETCH_SCRIPT_CACHED_METADATA_HANDLER_H_