chromium/third_party/blink/renderer/bindings/core/v8/v8_custom_element_constructor_hash.h

// Copyright 2023 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_BINDINGS_CORE_V8_V8_CUSTOM_ELEMENT_CONSTRUCTOR_HASH_H_
#define THIRD_PARTY_BLINK_RENDERER_BINDINGS_CORE_V8_V8_CUSTOM_ELEMENT_CONSTRUCTOR_HASH_H_

#include "third_party/blink/renderer/bindings/core/v8/v8_custom_element_constructor.h"
#include "third_party/blink/renderer/platform/heap/member.h"

namespace blink {

// Hashes V8CustomElementConstructor pointers by their v8 callback objects.
struct V8CustomElementConstructorHashTraits
    : WTF::MemberHashTraits<V8CustomElementConstructor> {};

// Hash translator for custom element constructors in two forms:
// V8CustomElementConstructor or v8 object.
struct V8CustomElementConstructorHashTranslator {};

}  // namespace blink

#endif  // THIRD_PARTY_BLINK_RENDERER_BINDINGS_CORE_V8_V8_CUSTOM_ELEMENT_CONSTRUCTOR_HASH_H_