diff options
Diffstat (limited to 'src/bun.js/bindings/webcore/JSDOMBindingInternalsBuiltins.h')
-rw-r--r-- | src/bun.js/bindings/webcore/JSDOMBindingInternalsBuiltins.h | 159 |
1 files changed, 159 insertions, 0 deletions
diff --git a/src/bun.js/bindings/webcore/JSDOMBindingInternalsBuiltins.h b/src/bun.js/bindings/webcore/JSDOMBindingInternalsBuiltins.h new file mode 100644 index 000000000..40b698c3a --- /dev/null +++ b/src/bun.js/bindings/webcore/JSDOMBindingInternalsBuiltins.h @@ -0,0 +1,159 @@ +// /* +// * Copyright (c) 2016 Apple Inc. All rights reserved. +// * Copyright (c) 2017 Apple Inc. +// * +// * Redistribution and use in source and binary forms, with or without +// * modification, are permitted provided that the following conditions +// * are met: +// * 1. Redistributions of source code must retain the above copyright +// * notice, this list of conditions and the following disclaimer. +// * 2. Redistributions in binary form must reproduce the above copyright +// * notice, this list of conditions and the following disclaimer in the +// * documentation and/or other materials provided with the distribution. +// * +// * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS'' +// * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, +// * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +// * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS +// * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR +// * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF +// * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS +// * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN +// * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +// * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF +// * THE POSSIBILITY OF SUCH DAMAGE. +// * +// */ + +// // DO NOT EDIT THIS FILE. It is automatically generated from JavaScript files for +// // builtins by the script: Source/JavaScriptCore/Scripts/generate-js-builtins.py + +// #pragma once + +// #include "JavaScriptCore/BuiltinUtils.h" +// #include "JavaScriptCore/Identifier.h" +// #include "JavaScriptCore/JSFunction.h" +// #include "JavaScriptCore/UnlinkedFunctionExecutable.h" + +// namespace JSC { +// class FunctionExecutable; +// } + +// namespace WebCore { + +// /* JSDOMBindingInternals */ +// extern const char* const s_jsDOMBindingInternalsForEachWrapperCode; +// extern const int s_jsDOMBindingInternalsForEachWrapperCodeLength; +// extern const JSC::ConstructAbility s_jsDOMBindingInternalsForEachWrapperCodeConstructAbility; +// extern const JSC::ConstructorKind s_jsDOMBindingInternalsForEachWrapperCodeConstructorKind; +// extern const char* const s_jsDOMBindingInternalsGetUserMediaShimCode; +// extern const int s_jsDOMBindingInternalsGetUserMediaShimCodeLength; +// extern const JSC::ConstructAbility s_jsDOMBindingInternalsGetUserMediaShimCodeConstructAbility; +// extern const JSC::ConstructorKind s_jsDOMBindingInternalsGetUserMediaShimCodeConstructorKind; + +// #define WEBCORE_BUILTIN_JSDOMBINDINGINTERNALS_FOREACHWRAPPER 0 +// #define WEBCORE_BUILTIN_JSDOMBINDINGINTERNALS_GETUSERMEDIASHIM 0 + +// #define WEBCORE_FOREACH_JSDOMBINDINGINTERNALS_BUILTIN_CODE(macro) \ +// macro(jsDOMBindingInternalsForEachWrapperCode, forEachWrapper, static_cast<const char*>(nullptr), s_jsDOMBindingInternalsForEachWrapperCodeLength) \ +// macro(jsDOMBindingInternalsGetUserMediaShimCode, getUserMediaShim, static_cast<const char*>(nullptr), s_jsDOMBindingInternalsGetUserMediaShimCodeLength) + +// #define DECLARE_BUILTIN_GENERATOR(codeName, functionName, overriddenName, argumentCount) \ +// JSC::FunctionExecutable* codeName##Generator(JSC::VM&); + +// WEBCORE_FOREACH_JSDOMBINDINGINTERNALS_BUILTIN_CODE(DECLARE_BUILTIN_GENERATOR) +// #undef DECLARE_BUILTIN_GENERATOR + +// class JSDOMBindingInternalsBuiltinsWrapper : private JSC::WeakHandleOwner { +// public: +// explicit JSDOMBindingInternalsBuiltinsWrapper(JSC::VM& vm) +// : m_vm(vm) +// WEBCORE_FOREACH_JSDOMBINDINGINTERNALS_BUILTIN_FUNCTION_NAME(INITIALIZE_BUILTIN_NAMES) +// #define INITIALIZE_BUILTIN_SOURCE_MEMBERS(name, functionName, overriddenName, length) , m_##name##Source(JSC::makeSource(StringImpl::createFromLiteral(s_##name, length), {})) +// WEBCORE_FOREACH_JSDOMBINDINGINTERNALS_BUILTIN_CODE(INITIALIZE_BUILTIN_SOURCE_MEMBERS) +// #undef INITIALIZE_BUILTIN_SOURCE_MEMBERS +// { +// } + +// #define EXPOSE_BUILTIN_EXECUTABLES(name, functionName, overriddenName, length) \ +// JSC::UnlinkedFunctionExecutable* name##Executable(); \ +// const JSC::SourceCode& name##Source() const { return m_##name##Source; } +// WEBCORE_FOREACH_JSDOMBINDINGINTERNALS_BUILTIN_CODE(EXPOSE_BUILTIN_EXECUTABLES) +// #undef EXPOSE_BUILTIN_EXECUTABLES + +// WEBCORE_FOREACH_JSDOMBINDINGINTERNALS_BUILTIN_FUNCTION_NAME(DECLARE_BUILTIN_IDENTIFIER_ACCESSOR) + +// void exportNames(); + +// private: +// JSC::VM& m_vm; + +// WEBCORE_FOREACH_JSDOMBINDINGINTERNALS_BUILTIN_FUNCTION_NAME(DECLARE_BUILTIN_NAMES) + +// #define DECLARE_BUILTIN_SOURCE_MEMBERS(name, functionName, overriddenName, length) \ +// JSC::SourceCode m_##name##Source; \ +// JSC::Weak<JSC::UnlinkedFunctionExecutable> m_##name##Executable; +// WEBCORE_FOREACH_JSDOMBINDINGINTERNALS_BUILTIN_CODE(DECLARE_BUILTIN_SOURCE_MEMBERS) +// #undef DECLARE_BUILTIN_SOURCE_MEMBERS +// }; + +// #define DEFINE_BUILTIN_EXECUTABLES(name, functionName, overriddenName, length) \ +// inline JSC::UnlinkedFunctionExecutable* JSDOMBindingInternalsBuiltinsWrapper::name##Executable() \ +// { \ +// if (!m_##name##Executable) { \ +// JSC::Identifier executableName = functionName##PublicName(); \ +// if (overriddenName) \ +// executableName = JSC::Identifier::fromString(m_vm, overriddenName); \ +// m_##name##Executable = JSC::Weak<JSC::UnlinkedFunctionExecutable>(JSC::createBuiltinExecutable(m_vm, m_##name##Source, executableName, s_##name##ConstructorKind, s_##name##ConstructAbility), this, &m_##name##Executable); \ +// } \ +// return m_##name##Executable.get(); \ +// } +// WEBCORE_FOREACH_JSDOMBINDINGINTERNALS_BUILTIN_CODE(DEFINE_BUILTIN_EXECUTABLES) +// #undef DEFINE_BUILTIN_EXECUTABLES + +// inline void JSDOMBindingInternalsBuiltinsWrapper::exportNames() +// { +// #define EXPORT_FUNCTION_NAME(name) m_vm.propertyNames->appendExternalName(name##PublicName(), name##PrivateName()); +// WEBCORE_FOREACH_JSDOMBINDINGINTERNALS_BUILTIN_FUNCTION_NAME(EXPORT_FUNCTION_NAME) +// #undef EXPORT_FUNCTION_NAME +// } + +// class JSDOMBindingInternalsBuiltinFunctions { +// public: +// explicit JSDOMBindingInternalsBuiltinFunctions(JSC::VM& vm) +// : m_vm(vm) +// { +// } + +// void init(JSC::JSGlobalObject&); +// template<typename Visitor> void visit(Visitor&); + +// public: +// JSC::VM& m_vm; + +// #define DECLARE_BUILTIN_SOURCE_MEMBERS(functionName) \ +// JSC::WriteBarrier<JSC::JSFunction> m_##functionName##Function; +// WEBCORE_FOREACH_JSDOMBINDINGINTERNALS_BUILTIN_FUNCTION_NAME(DECLARE_BUILTIN_SOURCE_MEMBERS) +// #undef DECLARE_BUILTIN_SOURCE_MEMBERS +// }; + +// inline void JSDOMBindingInternalsBuiltinFunctions::init(JSC::JSGlobalObject& globalObject) +// { +// #define EXPORT_FUNCTION(codeName, functionName, overriddenName, length) \ +// m_##functionName##Function.set(m_vm, &globalObject, JSC::JSFunction::create(m_vm, codeName##Generator(m_vm), &globalObject)); +// WEBCORE_FOREACH_JSDOMBINDINGINTERNALS_BUILTIN_CODE(EXPORT_FUNCTION) +// #undef EXPORT_FUNCTION +// } + +// template<typename Visitor> +// inline void JSDOMBindingInternalsBuiltinFunctions::visit(Visitor& visitor) +// { +// #define VISIT_FUNCTION(name) visitor.append(m_##name##Function); +// WEBCORE_FOREACH_JSDOMBINDINGINTERNALS_BUILTIN_FUNCTION_NAME(VISIT_FUNCTION) +// #undef VISIT_FUNCTION +// } + +// template void JSDOMBindingInternalsBuiltinFunctions::visit(JSC::AbstractSlotVisitor&); +// template void JSDOMBindingInternalsBuiltinFunctions::visit(JSC::SlotVisitor&); + +// } // namespace WebCore |