#ifndef THIRD_PARTY_BLINK_RENDERER_PLATFORM_BINDINGS_V8_BINDING_H_
#define THIRD_PARTY_BLINK_RENDERER_PLATFORM_BINDINGS_V8_BINDING_H_
#include "third_party/blink/renderer/platform/bindings/dom_wrapper_world.h"
#include "third_party/blink/renderer/platform/bindings/to_blink_string.h"
#include "third_party/blink/renderer/platform/bindings/v8_per_isolate_data.h"
#include "third_party/blink/renderer/platform/bindings/v8_value_cache.h"
#include "third_party/blink/renderer/platform/bindings/wrapper_type_info.h"
#include "third_party/blink/renderer/platform/platform_export.h"
#include "third_party/blink/renderer/platform/wtf/forward.h"
#include "third_party/blink/renderer/platform/wtf/text/atomic_string.h"
#include "third_party/blink/renderer/platform/wtf/vector.h"
#include "third_party/blink/renderer/platform/wtf/wtf_size_t.h"
#include "v8/include/v8-container.h"
#include "v8/include/v8-forward.h"
#include "v8/include/v8-function-callback.h"
#include "v8/include/v8-isolate.h"
#include "v8/include/v8-local-handle.h"
#include "v8/include/v8-maybe.h"
#include "v8/include/v8-persistent-handle.h"
#include "v8/include/v8-primitive.h"
#include "v8/include/v8-value.h"
namespace blink {
class ExceptionState;
template <typename T>
struct V8TypeOf { … };
inline String ToCoreString(v8::Isolate* isolate, v8::Local<v8::String> value) { … }
inline String ToCoreStringWithNullCheck(v8::Isolate* isolate,
v8::Local<v8::String> value) { … }
inline String ToCoreStringWithUndefinedOrNullCheck(
v8::Isolate* isolate,
v8::Local<v8::String> value) { … }
inline AtomicString ToCoreAtomicString(v8::Isolate* isolate,
v8::Local<v8::String> value) { … }
inline AtomicString ToCoreAtomicString(v8::Isolate* isolate,
v8::Local<v8::Name> value) { … }
inline String ToCoreStringWithUndefinedOrNullCheck(v8::Isolate* isolate,
v8::Local<v8::Value> value) { … }
inline v8::Local<v8::String> V8String(v8::Isolate* isolate,
const String& string) { … }
inline v8::Local<v8::String> V8String(v8::Isolate* isolate,
const AtomicString& string) { … }
inline v8::Local<v8::String> V8String(v8::Isolate* isolate,
const StringView& string) { … }
inline v8::Local<v8::String> V8String(v8::Isolate* isolate,
const char* string) { … }
inline v8::Local<v8::Value> V8StringOrNull(v8::Isolate* isolate,
const AtomicString& string) { … }
inline v8::Local<v8::String> V8String(v8::Isolate* isolate,
const ParkableString& string) { … }
inline v8::Local<v8::String> V8AtomicString(v8::Isolate* isolate,
const StringView& string) { … }
inline v8::Local<v8::String> V8AtomicString(v8::Isolate* isolate,
const char* string) { … }
inline bool IsUndefinedOrNull(v8::Local<v8::Value> value) { … }
PLATFORM_EXPORT v8::Local<v8::Function> GetBoundFunction(
v8::Local<v8::Function>);
PLATFORM_EXPORT v8::Local<v8::Value> FreezeV8Object(v8::Local<v8::Value>,
v8::Isolate*);
enum class IndexedPropertySetterResult { … };
enum class NamedPropertySetterResult { … };
enum class NamedPropertyDeleterResult { … };
constexpr v8::Intercepted BlinkInterceptorResultToV8Intercepted(
IndexedPropertySetterResult value) { … }
constexpr v8::Intercepted BlinkInterceptorResultToV8Intercepted(
NamedPropertySetterResult value) { … }
constexpr v8::Intercepted BlinkInterceptorResultToV8Intercepted(
NamedPropertyDeleterResult value) { … }
PLATFORM_EXPORT String GetCurrentScriptUrl(v8::Isolate* isolate);
PLATFORM_EXPORT Vector<String> GetScriptUrlsFromCurrentStack(
v8::Isolate* isolate,
wtf_size_t unique_url_count);
namespace bindings {
struct V8PropertyDescriptorBag { … };
PLATFORM_EXPORT void V8ObjectToPropertyDescriptor(
v8::Isolate* isolate,
v8::Local<v8::Value> descriptor_object,
V8PropertyDescriptorBag& descriptor_bag,
ExceptionState& exception_state);
}
}
#endif