// Copyright 2018 The Chromium Authors // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. #ifndef THIRD_PARTY_BLINK_RENDERER_MODULES_STORAGE_STORAGE_AREA_MAP_H_ #define THIRD_PARTY_BLINK_RENDERER_MODULES_STORAGE_STORAGE_AREA_MAP_H_ #include "third_party/blink/renderer/modules/modules_export.h" #include "third_party/blink/renderer/platform/wtf/allocator/allocator.h" #include "third_party/blink/renderer/platform/wtf/text/string_hash.h" #include "third_party/blink/renderer/platform/wtf/text/wtf_string.h" namespace blink { // This class is used to represent the in-memory version of the data in a // StorageArea. This class is responsible for enforcing a quota, and for // providing somewhat efficient iteration over all the items in the map via // GetLength/GetKey/GetItem. // Any modifications to the data in the map can cause all items to be reordered. // Nothing is guaranteed about the order of items in the map. // For the purpose of quota each character in the key and value strings is // counted as two bytes, even if the actual in-memory representation of the // string only uses one byte per character. class MODULES_EXPORT StorageAreaMap { … }; } // namespace blink #endif // THIRD_PARTY_BLINK_RENDERER_MODULES_STORAGE_STORAGE_AREA_MAP_H_