From 729d445b6885f69dd2c6355f38707bd42851c791 Mon Sep 17 00:00:00 2001 From: Jarred Sumner <709451+Jarred-Sumner@users.noreply.github.com> Date: Wed, 22 Jun 2022 23:21:48 -0700 Subject: change the directory structure --- src/bun.js/builtins/WebCoreJSBuiltinInternals.cpp | 114 ++++++++++++++++++++++ 1 file changed, 114 insertions(+) create mode 100644 src/bun.js/builtins/WebCoreJSBuiltinInternals.cpp (limited to 'src/bun.js/builtins/WebCoreJSBuiltinInternals.cpp') diff --git a/src/bun.js/builtins/WebCoreJSBuiltinInternals.cpp b/src/bun.js/builtins/WebCoreJSBuiltinInternals.cpp new file mode 100644 index 000000000..159e2f45b --- /dev/null +++ b/src/bun.js/builtins/WebCoreJSBuiltinInternals.cpp @@ -0,0 +1,114 @@ +/* + * Copyright (c) 2015 Igalia + * Copyright (c) 2015 Igalia S.L. + * Copyright (c) 2015 Igalia. + * Copyright (c) 2015, 2016 Canon Inc. All rights reserved. + * Copyright (c) 2015, 2016, 2017 Canon Inc. + * Copyright (c) 2016, 2020 Apple Inc. All rights reserved. + * Copyright (c) 2022 Codeblog Corp. All rights reserved. + * + * 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 + +#include "config.h" +#include "WebCoreJSBuiltinInternals.h" + +#include "JSDOMGlobalObject.h" +#include "WebCoreJSClientData.h" +#include +#include +#include +#include + +namespace WebCore { + +JSBuiltinInternalFunctions::JSBuiltinInternalFunctions(JSC::VM& vm) + : m_vm(vm) + , m_readableByteStreamInternals(m_vm) + , m_readableStreamInternals(m_vm) + , m_streamInternals(m_vm) + , m_transformStreamInternals(m_vm) + , m_writableStreamInternals(m_vm) +{ + UNUSED_PARAM(vm); +} + +template +void JSBuiltinInternalFunctions::visit(Visitor& visitor) +{ + m_readableByteStreamInternals.visit(visitor); + m_readableStreamInternals.visit(visitor); + m_streamInternals.visit(visitor); + m_transformStreamInternals.visit(visitor); + m_writableStreamInternals.visit(visitor); + UNUSED_PARAM(visitor); +} + +template void JSBuiltinInternalFunctions::visit(AbstractSlotVisitor&); +template void JSBuiltinInternalFunctions::visit(SlotVisitor&); + +SUPPRESS_ASAN void JSBuiltinInternalFunctions::initialize(JSDOMGlobalObject& globalObject) +{ + UNUSED_PARAM(globalObject); + m_readableByteStreamInternals.init(globalObject); + m_readableStreamInternals.init(globalObject); + m_streamInternals.init(globalObject); + m_transformStreamInternals.init(globalObject); + m_writableStreamInternals.init(globalObject); + + JSVMClientData& clientData = *static_cast(m_vm.clientData); + JSDOMGlobalObject::GlobalPropertyInfo staticGlobals[] = { +#define DECLARE_GLOBAL_STATIC(name) \ + JSDOMGlobalObject::GlobalPropertyInfo( \ + clientData.builtinFunctions().readableByteStreamInternalsBuiltins().name##PrivateName(), readableByteStreamInternals().m_##name##Function.get() , JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly), + WEBCORE_FOREACH_READABLEBYTESTREAMINTERNALS_BUILTIN_FUNCTION_NAME(DECLARE_GLOBAL_STATIC) +#undef DECLARE_GLOBAL_STATIC +#define DECLARE_GLOBAL_STATIC(name) \ + JSDOMGlobalObject::GlobalPropertyInfo( \ + clientData.builtinFunctions().readableStreamInternalsBuiltins().name##PrivateName(), readableStreamInternals().m_##name##Function.get() , JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly), + WEBCORE_FOREACH_READABLESTREAMINTERNALS_BUILTIN_FUNCTION_NAME(DECLARE_GLOBAL_STATIC) +#undef DECLARE_GLOBAL_STATIC +#define DECLARE_GLOBAL_STATIC(name) \ + JSDOMGlobalObject::GlobalPropertyInfo( \ + clientData.builtinFunctions().streamInternalsBuiltins().name##PrivateName(), streamInternals().m_##name##Function.get() , JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly), + WEBCORE_FOREACH_STREAMINTERNALS_BUILTIN_FUNCTION_NAME(DECLARE_GLOBAL_STATIC) +#undef DECLARE_GLOBAL_STATIC +#define DECLARE_GLOBAL_STATIC(name) \ + JSDOMGlobalObject::GlobalPropertyInfo( \ + clientData.builtinFunctions().transformStreamInternalsBuiltins().name##PrivateName(), transformStreamInternals().m_##name##Function.get() , JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly), + WEBCORE_FOREACH_TRANSFORMSTREAMINTERNALS_BUILTIN_FUNCTION_NAME(DECLARE_GLOBAL_STATIC) +#undef DECLARE_GLOBAL_STATIC +#define DECLARE_GLOBAL_STATIC(name) \ + JSDOMGlobalObject::GlobalPropertyInfo( \ + clientData.builtinFunctions().writableStreamInternalsBuiltins().name##PrivateName(), writableStreamInternals().m_##name##Function.get() , JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly), + WEBCORE_FOREACH_WRITABLESTREAMINTERNALS_BUILTIN_FUNCTION_NAME(DECLARE_GLOBAL_STATIC) +#undef DECLARE_GLOBAL_STATIC + }; + globalObject.addStaticGlobals(staticGlobals, WTF_ARRAY_LENGTH(staticGlobals)); + UNUSED_PARAM(clientData); +} + +} // namespace WebCore -- cgit v1.2.3