#ifndef THIRD_PARTY_BLINK_RENDERER_PLATFORM_BINDINGS_DOM_DATA_STORE_H_
#define THIRD_PARTY_BLINK_RENDERER_PLATFORM_BINDINGS_DOM_DATA_STORE_H_
#include "base/containers/contains.h"
#include "third_party/blink/renderer/platform/bindings/dom_wrapper_world.h"
#include "third_party/blink/renderer/platform/bindings/script_state.h"
#include "third_party/blink/renderer/platform/bindings/script_wrappable.h"
#include "third_party/blink/renderer/platform/bindings/trace_wrapper_v8_reference.h"
#include "third_party/blink/renderer/platform/bindings/wrapper_type_info.h"
#include "third_party/blink/renderer/platform/heap/collection_support/heap_hash_map.h"
#include "third_party/blink/renderer/platform/heap/prefinalizer.h"
#include "third_party/blink/renderer/platform/wtf/allocator/allocator.h"
#include "third_party/blink/renderer/platform/wtf/stack_util.h"
#include "third_party/blink/renderer/platform/wtf/std_lib_extras.h"
#include "v8/include/v8.h"
namespace blink {
class DOMDataStore final : public GarbageCollected<DOMDataStore> { … };
bool DOMDataStore::SetReturnValue(v8::ReturnValue<v8::Value> return_value,
ScriptWrappable* value) { … }
bool DOMDataStore::SetReturnValueFromInlineStorage(
v8::ReturnValue<v8::Value> return_value,
const ScriptWrappable* value) { … }
bool DOMDataStore::SetReturnValueFast(v8::ReturnValue<v8::Value> return_value,
ScriptWrappable* object,
v8::Local<v8::Object> v8_receiver,
const ScriptWrappable* blink_receiver) { … }
bool DOMDataStore::SetReturnValueFrom(v8::ReturnValue<v8::Value> return_value,
const ScriptWrappable* value) { … }
v8::MaybeLocal<v8::Object> DOMDataStore::GetWrapper(
v8::Isolate* isolate,
const ScriptWrappable* object) { … }
v8::MaybeLocal<v8::Object> DOMDataStore::GetWrapper(
ScriptState* script_state,
const ScriptWrappable* object) { … }
template <bool entered_context>
v8::MaybeLocal<v8::Object> DOMDataStore::Get(v8::Isolate* isolate,
const ScriptWrappable* object) { … }
bool DOMDataStore::SetWrapper(v8::Isolate* isolate,
ScriptWrappable* object,
const WrapperTypeInfo* wrapper_type_info,
v8::Local<v8::Object>& wrapper) { … }
template <bool entered_context>
bool DOMDataStore::SetWrapperInInlineStorage(
v8::Isolate* isolate,
ScriptWrappable* object,
const WrapperTypeInfo* wrapper_type_info,
v8::Local<v8::Object>& wrapper) { … }
template <bool entered_context>
bool DOMDataStore::Set(v8::Isolate* isolate,
ScriptWrappable* object,
const WrapperTypeInfo* wrapper_type_info,
v8::Local<v8::Object>& wrapper) { … }
bool DOMDataStore::ContainsWrapper(v8::Isolate* isolate,
const ScriptWrappable* object) { … }
bool DOMDataStore::Contains(const ScriptWrappable* object) const { … }
template <typename HandleType>
bool DOMDataStore::ClearWrapperInAnyWorldIfEqualTo(ScriptWrappable* object,
const HandleType& handle) { … }
template <typename HandleType>
bool DOMDataStore::ClearInlineStorageWrapperIfEqualTo(
ScriptWrappable* object,
const HandleType& handle) { … }
template <typename HandleType>
bool DOMDataStore::EqualTo(const ScriptWrappable* object,
const HandleType& handle) { … }
}
#endif