chromium/third_party/blink/renderer/modules/storage/storage_area_map.h

// 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_