summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLinus Groh <mail@linusgroh.de>2022-09-21 18:22:16 +0100
committerLinus Groh <mail@linusgroh.de>2022-09-21 23:06:08 +0100
commitedfef8e2f5e27be597642c0d6310521b96ee237d (patch)
treec73bf7b8cac07bf564c70b7b9eaad7108ff18fb1
parent4270ede7c45ca276eae106f0c581c8908ef51fa7 (diff)
downloadserenity-edfef8e2f5e27be597642c0d6310521b96ee237d.zip
Everywhere: Rename WrapperGenerator to BindingsGenerator
This code generator no longer creates JS wrappers for platform objects in the old sense, instead they're JS objects internally themselves. Most of what we generate now are prototypes - which can be seen as bindings for the internal C++ methods implementing getters, setters, and methods - as well as object constructors, i.e. bindings for the internal create_with_global_object() method. Also tweak the naming of various CMake glue code existing around this.
-rw-r--r--AK/Debug.h.in8
-rw-r--r--Documentation/Browser/AddNewIDLFile.md4
-rw-r--r--Meta/CMake/all_the_debug_macros.cmake4
-rw-r--r--Meta/CMake/libweb_generators.cmake14
-rw-r--r--Meta/Lagom/CMakeLists.txt4
-rw-r--r--Meta/Lagom/Tools/CodeGenerators/LibWeb/BindingsGenerator/CMakeLists.txt7
-rw-r--r--Meta/Lagom/Tools/CodeGenerators/LibWeb/BindingsGenerator/IDLGenerators.cpp (renamed from Meta/Lagom/Tools/CodeGenerators/LibWeb/WrapperGenerator/IDLGenerators.cpp)0
-rw-r--r--Meta/Lagom/Tools/CodeGenerators/LibWeb/BindingsGenerator/main.cpp (renamed from Meta/Lagom/Tools/CodeGenerators/LibWeb/WrapperGenerator/main.cpp)4
-rw-r--r--Meta/Lagom/Tools/CodeGenerators/LibWeb/CMakeLists.txt2
-rw-r--r--Meta/Lagom/Tools/CodeGenerators/LibWeb/WrapperGenerator/CMakeLists.txt7
-rw-r--r--Userland/Libraries/LibWeb/CMakeLists.txt4
-rw-r--r--Userland/Libraries/LibWeb/Fetch/Headers.cpp2
-rw-r--r--Userland/Libraries/LibWeb/Tests/HTML/HTMLTableElement.js4
-rw-r--r--Userland/Libraries/LibWeb/idl_files.cmake374
14 files changed, 219 insertions, 219 deletions
diff --git a/AK/Debug.h.in b/AK/Debug.h.in
index df89896591..868faf0370 100644
--- a/AK/Debug.h.in
+++ b/AK/Debug.h.in
@@ -18,6 +18,10 @@
#cmakedefine01 BMP_DEBUG
#endif
+#ifndef BINDINGS_GENERATOR_DEBUG
+#cmakedefine01 BINDINGS_GENERATOR_DEBUG
+#endif
+
#ifndef CACHE_DEBUG
#cmakedefine01 CACHE_DEBUG
#endif
@@ -502,10 +506,6 @@
#cmakedefine01 WINDOWMANAGER_DEBUG
#endif
-#ifndef WRAPPER_GENERATOR_DEBUG
-#cmakedefine01 WRAPPER_GENERATOR_DEBUG
-#endif
-
#ifndef WSMESSAGELOOP_DEBUG
#cmakedefine01 WSMESSAGELOOP_DEBUG
#endif
diff --git a/Documentation/Browser/AddNewIDLFile.md b/Documentation/Browser/AddNewIDLFile.md
index 7a59a34500..7f9609d5d8 100644
--- a/Documentation/Browser/AddNewIDLFile.md
+++ b/Documentation/Browser/AddNewIDLFile.md
@@ -28,7 +28,7 @@ interface CSSRule {
- `#include <LibWeb/Bindings/HTMLDetailsElementPrototype.h>` to the includes list.
- `ADD_WINDOW_OBJECT_INTERFACE(HTMLDetailsElement) \` to the macro at the bottom.
-4. Add a `libweb_js_wrapper(HTML/HTMLDetailsElement)` call to [`LibWeb/idl_files.cmake`](../../Userland/Libraries/LibWeb/idl_files.cmake)
+4. Add a `libweb_js_bindings(HTML/HTMLDetailsElement)` call to [`LibWeb/idl_files.cmake`](../../Userland/Libraries/LibWeb/idl_files.cmake)
5. Forward declare the generated classes in [`LibWeb/Forward.h`](../../Userland/Libraries/LibWeb/Forward.h):
- `HTMLDetailsElement` in its namespace.
@@ -38,5 +38,5 @@ interface CSSRule {
- It must inherit from `public RefCounted<HTMLDetailsElement>` and `public Bindings::Wrappable`
- It must have a public `using WrapperType = Bindings::HTMLDetailsElementWrapper;`
-8. If your type isn't an Event or Element, you will need to add it to [`is_wrappable_type()`](../../Meta/Lagom/Tools/CodeGenerators/LibWeb/WrapperGenerator/IDLGenerators.cpp)
+8. If your type isn't an Event or Element, you will need to add it to [`is_wrappable_type()`](../../Meta/Lagom/Tools/CodeGenerators/LibWeb/BindingsGenerator/IDLGenerators.cpp)
so that it can be accepted as an IDL parameter, attribute or return type.
diff --git a/Meta/CMake/all_the_debug_macros.cmake b/Meta/CMake/all_the_debug_macros.cmake
index 90924fbc33..7af4b6e31a 100644
--- a/Meta/CMake/all_the_debug_macros.cmake
+++ b/Meta/CMake/all_the_debug_macros.cmake
@@ -237,8 +237,8 @@ set(XML_PARSER_DEBUG ON)
# set(DEBUG_STATUS_REGISTER ON)
# False positive: DEFINE_DEBUG_REGISTER is used to define read/write methods for debug registers.
# set(DEFINE_DEBUG_REGISTER ON)
-# Clogs up build: The WrapperGenerator stuff is run at compile time.
-# set(WRAPPER_GENERATOR_DEBUG ON)
+# Clogs up build: The BindingsGenerator stuff is run at compile time.
+# set(BINDINGS_GENERATOR_DEBUG ON)
# Immediately finds violations during boot, shouldn't be discoverable by people who aren't working on fixing.
# set(KMALLOC_VERIFY_NO_SPINLOCK_HELD ON)
# False positive: CONSOLE_OUT_TO_BOCHS_DEBUG_PORT is a flag for ConsoleDevice, not a feature.
diff --git a/Meta/CMake/libweb_generators.cmake b/Meta/CMake/libweb_generators.cmake
index 967d0c9bba..d4c0fec9cf 100644
--- a/Meta/CMake/libweb_generators.cmake
+++ b/Meta/CMake/libweb_generators.cmake
@@ -90,7 +90,7 @@ function (generate_css_implementation)
endfunction()
-function (generate_js_wrappers target)
+function (generate_js_bindings target)
if (CMAKE_CURRENT_BINARY_DIR MATCHES ".*/LibWeb")
# Serenity build
@@ -104,8 +104,8 @@ function (generate_js_wrappers target)
SET(LIBWEB_META_PREFIX "Lagom")
endif()
- function(libweb_js_wrapper class)
- cmake_parse_arguments(PARSE_ARGV 1 LIBWEB_WRAPPER "ITERABLE" "" "")
+ function(libweb_js_bindings class)
+ cmake_parse_arguments(PARSE_ARGV 1 LIBWEB_BINDINGS "ITERABLE" "" "")
get_filename_component(basename "${class}" NAME)
set(BINDINGS_SOURCES
"${LIBWEB_OUTPUT_FOLDER}Bindings/${basename}Constructor.h"
@@ -120,8 +120,8 @@ function (generate_js_wrappers target)
prototype-implementation
)
- # FIXME: Instead of requiring a manual declaration of iterable wrappers, we should ask WrapperGenerator if it's iterable
- if(LIBWEB_WRAPPER_ITERABLE)
+ # FIXME: Instead of requiring a manual declaration of iterable bindings, we should ask BindingsGenerator if it's iterable
+ if(LIBWEB_BINDINGS_ITERABLE)
list(APPEND BINDINGS_SOURCES
"${LIBWEB_OUTPUT_FOLDER}Bindings/${basename}IteratorPrototype.h"
"${LIBWEB_OUTPUT_FOLDER}Bindings/${basename}IteratorPrototype.cpp"
@@ -142,11 +142,11 @@ function (generate_js_wrappers target)
list(TRANSFORM include_paths PREPEND -i)
add_custom_command(
OUTPUT "${bindings_src}"
- COMMAND "$<TARGET_FILE:Lagom::WrapperGenerator>" "--${bindings_type}" ${include_paths} "${LIBWEB_INPUT_FOLDER}/${class}.idl" "${LIBWEB_INPUT_FOLDER}" > "${bindings_src}.tmp"
+ COMMAND "$<TARGET_FILE:Lagom::BindingsGenerator>" "--${bindings_type}" ${include_paths} "${LIBWEB_INPUT_FOLDER}/${class}.idl" "${LIBWEB_INPUT_FOLDER}" > "${bindings_src}.tmp"
COMMAND "${CMAKE_COMMAND}" -E copy_if_different "${bindings_src}.tmp" "${bindings_src}"
COMMAND "${CMAKE_COMMAND}" -E remove "${bindings_src}.tmp"
VERBATIM
- DEPENDS Lagom::WrapperGenerator
+ DEPENDS Lagom::BindingsGenerator
MAIN_DEPENDENCY ${LIBWEB_INPUT_FOLDER}/${class}.idl
)
endforeach()
diff --git a/Meta/Lagom/CMakeLists.txt b/Meta/Lagom/CMakeLists.txt
index 09559b85f9..0fa1b4e62f 100644
--- a/Meta/Lagom/CMakeLists.txt
+++ b/Meta/Lagom/CMakeLists.txt
@@ -292,7 +292,7 @@ lagom_lib(TimeZone timezone
target_compile_definitions(LibTimeZone PRIVATE ENABLE_TIME_ZONE_DATA=$<BOOL:${ENABLE_TIME_ZONE_DATABASE_DOWNLOAD}>)
# LibIDL
-# This is used by the WrapperGenerator so needs to always be built.
+# This is used by the BindingsGenerator so needs to always be built.
file(GLOB LIBIDL_SOURCES CONFIGURE_DEPENDS "../../Userland/Libraries/LibIDL/*.cpp")
lagom_lib(IDL idl
SOURCES ${LIBIDL_SOURCES}
@@ -557,7 +557,7 @@ if (BUILD_LAGOM)
SOURCES ${LIBWEB_SOURCES} ${LIBWEB_SUBDIR_SOURCES} ${LIBWEB_SUBSUBDIR_SOURCES} ${LIBWEB_SUBSUBSUBDIR_SOURCES} ${LIBWEB_GENERATED_SOURCES}
LIBS LibMarkdown LibGemini LibGfx LibGL LibIDL LibJS LibTextCodec LibWasm LibXML
)
- generate_js_wrappers(LibWeb)
+ generate_js_bindings(LibWeb)
endif()
# WebSocket
diff --git a/Meta/Lagom/Tools/CodeGenerators/LibWeb/BindingsGenerator/CMakeLists.txt b/Meta/Lagom/Tools/CodeGenerators/LibWeb/BindingsGenerator/CMakeLists.txt
new file mode 100644
index 0000000000..bfc8a4da0a
--- /dev/null
+++ b/Meta/Lagom/Tools/CodeGenerators/LibWeb/BindingsGenerator/CMakeLists.txt
@@ -0,0 +1,7 @@
+set(SOURCES
+ IDLGenerators.cpp
+ main.cpp
+)
+
+lagom_tool(BindingsGenerator LIBS LibIDL)
+target_compile_options(BindingsGenerator PUBLIC -g)
diff --git a/Meta/Lagom/Tools/CodeGenerators/LibWeb/WrapperGenerator/IDLGenerators.cpp b/Meta/Lagom/Tools/CodeGenerators/LibWeb/BindingsGenerator/IDLGenerators.cpp
index 355234ceac..355234ceac 100644
--- a/Meta/Lagom/Tools/CodeGenerators/LibWeb/WrapperGenerator/IDLGenerators.cpp
+++ b/Meta/Lagom/Tools/CodeGenerators/LibWeb/BindingsGenerator/IDLGenerators.cpp
diff --git a/Meta/Lagom/Tools/CodeGenerators/LibWeb/WrapperGenerator/main.cpp b/Meta/Lagom/Tools/CodeGenerators/LibWeb/BindingsGenerator/main.cpp
index c43d3580a5..72546a958f 100644
--- a/Meta/Lagom/Tools/CodeGenerators/LibWeb/WrapperGenerator/main.cpp
+++ b/Meta/Lagom/Tools/CodeGenerators/LibWeb/BindingsGenerator/main.cpp
@@ -1,6 +1,6 @@
/*
* Copyright (c) 2020-2021, Andreas Kling <kling@serenityos.org>
- * Copyright (c) 2021, Linus Groh <linusg@serenityos.org>
+ * Copyright (c) 2021-2022, Linus Groh <linusg@serenityos.org>
* Copyright (c) 2021, Luke Wilde <lukew@serenityos.org>
* Copyright (c) 2022, Ali Mohammad Pur <mpfard@serenityos.org>
*
@@ -107,7 +107,7 @@ int main(int argc, char** argv)
interface.fully_qualified_name = interface.name;
}
- if constexpr (WRAPPER_GENERATOR_DEBUG) {
+ if constexpr (BINDINGS_GENERATOR_DEBUG) {
dbgln("Attributes:");
for (auto& attribute : interface.attributes) {
dbgln(" {}{}{} {}",
diff --git a/Meta/Lagom/Tools/CodeGenerators/LibWeb/CMakeLists.txt b/Meta/Lagom/Tools/CodeGenerators/LibWeb/CMakeLists.txt
index 49e512ae26..0b9d1f95f6 100644
--- a/Meta/Lagom/Tools/CodeGenerators/LibWeb/CMakeLists.txt
+++ b/Meta/Lagom/Tools/CodeGenerators/LibWeb/CMakeLists.txt
@@ -6,4 +6,4 @@ lagom_tool(GenerateCSSPropertyID SOURCES GenerateCSSPropertyID.cpp LIB
lagom_tool(GenerateCSSTransformFunctions SOURCES GenerateCSSTransformFunctions.cpp LIBS LibMain)
lagom_tool(GenerateCSSValueID SOURCES GenerateCSSValueID.cpp LIBS LibMain)
-add_subdirectory(WrapperGenerator)
+add_subdirectory(BindingsGenerator)
diff --git a/Meta/Lagom/Tools/CodeGenerators/LibWeb/WrapperGenerator/CMakeLists.txt b/Meta/Lagom/Tools/CodeGenerators/LibWeb/WrapperGenerator/CMakeLists.txt
deleted file mode 100644
index 2f06043b2f..0000000000
--- a/Meta/Lagom/Tools/CodeGenerators/LibWeb/WrapperGenerator/CMakeLists.txt
+++ /dev/null
@@ -1,7 +0,0 @@
-set(SOURCES
- IDLGenerators.cpp
- main.cpp
-)
-
-lagom_tool(WrapperGenerator LIBS LibIDL)
-target_compile_options(WrapperGenerator PUBLIC -g)
diff --git a/Userland/Libraries/LibWeb/CMakeLists.txt b/Userland/Libraries/LibWeb/CMakeLists.txt
index 7312fe898f..47983f1cde 100644
--- a/Userland/Libraries/LibWeb/CMakeLists.txt
+++ b/Userland/Libraries/LibWeb/CMakeLists.txt
@@ -436,7 +436,7 @@ serenity_lib(LibWeb web)
target_link_libraries(LibWeb LibCore LibJS LibMarkdown LibGemini LibGL LibGUI LibGfx LibSoftGPU LibTextCodec LibWasm LibXML LibIDL)
link_with_locale_data(LibWeb)
-generate_js_wrappers(LibWeb)
+generate_js_bindings(LibWeb)
-# Note: If you're looking for the calls to "libweb_js_wrapper()",
+# Note: If you're looking for the calls to "libweb_js_bindings()",
# they have been moved to "idl_files.cmake"
diff --git a/Userland/Libraries/LibWeb/Fetch/Headers.cpp b/Userland/Libraries/LibWeb/Fetch/Headers.cpp
index a254be9b45..4195c98aa2 100644
--- a/Userland/Libraries/LibWeb/Fetch/Headers.cpp
+++ b/Userland/Libraries/LibWeb/Fetch/Headers.cpp
@@ -98,7 +98,7 @@ DOM::ExceptionOr<String> Headers::get(String const& name_string)
// 2. Return the result of getting name from thisโ€™s header list.
auto byte_buffer = TRY_OR_RETURN_OOM(global_object(), m_header_list.get(name));
- // FIXME: Teach WrapperGenerator about Optional<String>
+ // FIXME: Teach BindingsGenerator about Optional<String>
return byte_buffer.has_value() ? String { byte_buffer->span() } : String {};
}
diff --git a/Userland/Libraries/LibWeb/Tests/HTML/HTMLTableElement.js b/Userland/Libraries/LibWeb/Tests/HTML/HTMLTableElement.js
index 89c2eaf8df..82d5d317e5 100644
--- a/Userland/Libraries/LibWeb/Tests/HTML/HTMLTableElement.js
+++ b/Userland/Libraries/LibWeb/Tests/HTML/HTMLTableElement.js
@@ -63,7 +63,7 @@ describe("HTMLTableElement", () => {
let table = page.document.createElement("table");
expect(table).not.toBeNull();
- // We hardcode the default value in a few places, due to the WrapperGenerator's bug with default values
+ // We hardcode the default value in a few places, due to the BindingsGenerator's bug with default values
const defaultValue = -1;
expect(table.rows.length).toBe(0);
@@ -96,7 +96,7 @@ describe("HTMLTableElement", () => {
let table = page.document.createElement("table");
expect(table).not.toBeNull();
- // We hardcode the default value in a few places, due to the WrapperGenerator's bug with default values
+ // We hardcode the default value in a few places, due to the BindingsGenerator's bug with default values
const defaultValue = -1;
// deleteRow with an index > number of rows will throw
diff --git a/Userland/Libraries/LibWeb/idl_files.cmake b/Userland/Libraries/LibWeb/idl_files.cmake
index b0ef6c9f05..cf3a00541f 100644
--- a/Userland/Libraries/LibWeb/idl_files.cmake
+++ b/Userland/Libraries/LibWeb/idl_files.cmake
@@ -1,190 +1,190 @@
# This file is included from "Meta/CMake/libweb_data.cmake"
# It is defined here so that there is no need to go to the Meta directory when adding new idl files
-libweb_js_wrapper(Crypto/Crypto)
-libweb_js_wrapper(Crypto/SubtleCrypto)
-libweb_js_wrapper(CSS/CSSConditionRule)
-libweb_js_wrapper(CSS/CSSFontFaceRule)
-libweb_js_wrapper(CSS/CSSGroupingRule)
-libweb_js_wrapper(CSS/CSSImportRule)
-libweb_js_wrapper(CSS/CSSMediaRule)
-libweb_js_wrapper(CSS/CSSRule)
-libweb_js_wrapper(CSS/CSSRuleList)
-libweb_js_wrapper(CSS/CSSStyleDeclaration)
-libweb_js_wrapper(CSS/CSSStyleRule)
-libweb_js_wrapper(CSS/CSSStyleSheet)
-libweb_js_wrapper(CSS/CSSSupportsRule)
-libweb_js_wrapper(CSS/MediaList)
-libweb_js_wrapper(CSS/MediaQueryList)
-libweb_js_wrapper(CSS/MediaQueryListEvent)
-libweb_js_wrapper(CSS/Screen)
-libweb_js_wrapper(CSS/StyleSheet)
-libweb_js_wrapper(CSS/StyleSheetList)
-libweb_js_wrapper(DOM/AbstractRange)
-libweb_js_wrapper(DOM/Attr)
-libweb_js_wrapper(DOM/AbortController)
-libweb_js_wrapper(DOM/AbortSignal)
-libweb_js_wrapper(DOM/CDATASection)
-libweb_js_wrapper(DOM/CharacterData)
-libweb_js_wrapper(DOM/Comment)
-libweb_js_wrapper(DOM/CustomEvent)
-libweb_js_wrapper(DOM/Document)
-libweb_js_wrapper(DOM/DocumentFragment)
-libweb_js_wrapper(DOM/DocumentType)
-libweb_js_wrapper(DOM/DOMException)
-libweb_js_wrapper(DOM/DOMImplementation)
-libweb_js_wrapper(DOM/DOMTokenList)
-libweb_js_wrapper(DOM/Element)
-libweb_js_wrapper(DOM/Event)
-libweb_js_wrapper(DOM/EventTarget)
-libweb_js_wrapper(DOM/HTMLCollection)
-libweb_js_wrapper(DOM/MutationRecord)
-libweb_js_wrapper(DOM/MutationObserver)
-libweb_js_wrapper(DOM/NamedNodeMap)
-libweb_js_wrapper(DOM/Node)
-libweb_js_wrapper(DOM/NodeIterator)
-libweb_js_wrapper(DOM/NodeList)
-libweb_js_wrapper(DOM/ProcessingInstruction)
-libweb_js_wrapper(DOM/Range)
-libweb_js_wrapper(DOM/ShadowRoot)
-libweb_js_wrapper(DOM/StaticRange)
-libweb_js_wrapper(DOM/Text)
-libweb_js_wrapper(DOM/TreeWalker)
-libweb_js_wrapper(DOMParsing/XMLSerializer)
-libweb_js_wrapper(Encoding/TextDecoder)
-libweb_js_wrapper(Encoding/TextEncoder)
-libweb_js_wrapper(Fetch/Headers ITERABLE)
-libweb_js_wrapper(FileAPI/Blob)
-libweb_js_wrapper(FileAPI/File)
-libweb_js_wrapper(Geometry/DOMPoint)
-libweb_js_wrapper(Geometry/DOMPointReadOnly)
-libweb_js_wrapper(Geometry/DOMRect)
-libweb_js_wrapper(Geometry/DOMRectList)
-libweb_js_wrapper(Geometry/DOMRectReadOnly)
-libweb_js_wrapper(HTML/CanvasGradient)
-libweb_js_wrapper(HTML/CanvasRenderingContext2D)
-libweb_js_wrapper(HTML/CloseEvent)
-libweb_js_wrapper(HTML/DOMParser)
-libweb_js_wrapper(HTML/DOMStringMap)
-libweb_js_wrapper(HTML/ErrorEvent)
-libweb_js_wrapper(HTML/History)
-libweb_js_wrapper(HTML/HTMLAnchorElement)
-libweb_js_wrapper(HTML/HTMLAreaElement)
-libweb_js_wrapper(HTML/HTMLAudioElement)
-libweb_js_wrapper(HTML/HTMLBaseElement)
-libweb_js_wrapper(HTML/HTMLBodyElement)
-libweb_js_wrapper(HTML/HTMLBRElement)
-libweb_js_wrapper(HTML/HTMLButtonElement)
-libweb_js_wrapper(HTML/HTMLCanvasElement)
-libweb_js_wrapper(HTML/HTMLDataElement)
-libweb_js_wrapper(HTML/HTMLDataListElement)
-libweb_js_wrapper(HTML/HTMLDetailsElement)
-libweb_js_wrapper(HTML/HTMLDialogElement)
-libweb_js_wrapper(HTML/HTMLDirectoryElement)
-libweb_js_wrapper(HTML/HTMLDivElement)
-libweb_js_wrapper(HTML/HTMLDListElement)
-libweb_js_wrapper(HTML/HTMLElement)
-libweb_js_wrapper(HTML/HTMLEmbedElement)
-libweb_js_wrapper(HTML/HTMLFieldSetElement)
-libweb_js_wrapper(HTML/HTMLFontElement)
-libweb_js_wrapper(HTML/HTMLFormElement)
-libweb_js_wrapper(HTML/HTMLFrameElement)
-libweb_js_wrapper(HTML/HTMLFrameSetElement)
-libweb_js_wrapper(HTML/HTMLHeadElement)
-libweb_js_wrapper(HTML/HTMLHeadingElement)
-libweb_js_wrapper(HTML/HTMLHRElement)
-libweb_js_wrapper(HTML/HTMLHtmlElement)
-libweb_js_wrapper(HTML/HTMLIFrameElement)
-libweb_js_wrapper(HTML/HTMLImageElement)
-libweb_js_wrapper(HTML/HTMLInputElement)
-libweb_js_wrapper(HTML/HTMLLabelElement)
-libweb_js_wrapper(HTML/HTMLLegendElement)
-libweb_js_wrapper(HTML/HTMLLIElement)
-libweb_js_wrapper(HTML/HTMLLinkElement)
-libweb_js_wrapper(HTML/HTMLMapElement)
-libweb_js_wrapper(HTML/HTMLMarqueeElement)
-libweb_js_wrapper(HTML/HTMLMediaElement)
-libweb_js_wrapper(HTML/HTMLMenuElement)
-libweb_js_wrapper(HTML/HTMLMetaElement)
-libweb_js_wrapper(HTML/HTMLMeterElement)
-libweb_js_wrapper(HTML/HTMLModElement)
-libweb_js_wrapper(HTML/HTMLObjectElement)
-libweb_js_wrapper(HTML/HTMLOListElement)
-libweb_js_wrapper(HTML/HTMLOptGroupElement)
-libweb_js_wrapper(HTML/HTMLOptionElement)
-libweb_js_wrapper(HTML/HTMLOptionsCollection)
-libweb_js_wrapper(HTML/HTMLOutputElement)
-libweb_js_wrapper(HTML/HTMLParagraphElement)
-libweb_js_wrapper(HTML/HTMLParamElement)
-libweb_js_wrapper(HTML/HTMLPictureElement)
-libweb_js_wrapper(HTML/HTMLPreElement)
-libweb_js_wrapper(HTML/HTMLProgressElement)
-libweb_js_wrapper(HTML/HTMLQuoteElement)
-libweb_js_wrapper(HTML/HTMLScriptElement)
-libweb_js_wrapper(HTML/HTMLSelectElement)
-libweb_js_wrapper(HTML/HTMLSlotElement)
-libweb_js_wrapper(HTML/HTMLSourceElement)
-libweb_js_wrapper(HTML/HTMLSpanElement)
-libweb_js_wrapper(HTML/HTMLStyleElement)
-libweb_js_wrapper(HTML/HTMLTableCaptionElement)
-libweb_js_wrapper(HTML/HTMLTableCellElement)
-libweb_js_wrapper(HTML/HTMLTableColElement)
-libweb_js_wrapper(HTML/HTMLTableElement)
-libweb_js_wrapper(HTML/HTMLTableRowElement)
-libweb_js_wrapper(HTML/HTMLTableSectionElement)
-libweb_js_wrapper(HTML/HTMLTemplateElement)
-libweb_js_wrapper(HTML/HTMLTextAreaElement)
-libweb_js_wrapper(HTML/HTMLTimeElement)
-libweb_js_wrapper(HTML/HTMLTitleElement)
-libweb_js_wrapper(HTML/HTMLTrackElement)
-libweb_js_wrapper(HTML/HTMLUListElement)
-libweb_js_wrapper(HTML/HTMLUnknownElement)
-libweb_js_wrapper(HTML/HTMLVideoElement)
-libweb_js_wrapper(HTML/ImageData)
-libweb_js_wrapper(HTML/MessageChannel)
-libweb_js_wrapper(HTML/MessageEvent)
-libweb_js_wrapper(HTML/MessagePort)
-libweb_js_wrapper(HTML/PageTransitionEvent)
-libweb_js_wrapper(HTML/Path2D)
-libweb_js_wrapper(HTML/PromiseRejectionEvent)
-libweb_js_wrapper(HTML/Storage)
-libweb_js_wrapper(HTML/SubmitEvent)
-libweb_js_wrapper(HTML/TextMetrics)
-libweb_js_wrapper(HTML/Worker)
-libweb_js_wrapper(HTML/WorkerGlobalScope)
-libweb_js_wrapper(HTML/WorkerLocation)
-libweb_js_wrapper(HTML/WorkerNavigator)
-libweb_js_wrapper(HighResolutionTime/Performance)
-libweb_js_wrapper(IntersectionObserver/IntersectionObserver)
-libweb_js_wrapper(NavigationTiming/PerformanceTiming)
-libweb_js_wrapper(RequestIdleCallback/IdleDeadline)
-libweb_js_wrapper(ResizeObserver/ResizeObserver)
-libweb_js_wrapper(SVG/SVGAnimatedLength)
-libweb_js_wrapper(SVG/SVGClipPathElement)
-libweb_js_wrapper(SVG/SVGDefsElement)
-libweb_js_wrapper(SVG/SVGElement)
-libweb_js_wrapper(SVG/SVGGeometryElement)
-libweb_js_wrapper(SVG/SVGGraphicsElement)
-libweb_js_wrapper(SVG/SVGCircleElement)
-libweb_js_wrapper(SVG/SVGEllipseElement)
-libweb_js_wrapper(SVG/SVGLength)
-libweb_js_wrapper(SVG/SVGLineElement)
-libweb_js_wrapper(SVG/SVGPathElement)
-libweb_js_wrapper(SVG/SVGPolygonElement)
-libweb_js_wrapper(SVG/SVGPolylineElement)
-libweb_js_wrapper(SVG/SVGRectElement)
-libweb_js_wrapper(SVG/SVGSVGElement)
-libweb_js_wrapper(SVG/SVGTextContentElement)
-libweb_js_wrapper(Selection/Selection)
-libweb_js_wrapper(UIEvents/FocusEvent)
-libweb_js_wrapper(UIEvents/KeyboardEvent)
-libweb_js_wrapper(UIEvents/MouseEvent)
-libweb_js_wrapper(UIEvents/UIEvent)
-libweb_js_wrapper(URL/URL)
-libweb_js_wrapper(URL/URLSearchParams ITERABLE)
-libweb_js_wrapper(WebGL/WebGLContextEvent)
-libweb_js_wrapper(WebGL/WebGLRenderingContext)
-libweb_js_wrapper(WebSockets/WebSocket)
-libweb_js_wrapper(XHR/ProgressEvent)
-libweb_js_wrapper(XHR/XMLHttpRequest)
-libweb_js_wrapper(XHR/XMLHttpRequestEventTarget)
+libweb_js_bindings(Crypto/Crypto)
+libweb_js_bindings(Crypto/SubtleCrypto)
+libweb_js_bindings(CSS/CSSConditionRule)
+libweb_js_bindings(CSS/CSSFontFaceRule)
+libweb_js_bindings(CSS/CSSGroupingRule)
+libweb_js_bindings(CSS/CSSImportRule)
+libweb_js_bindings(CSS/CSSMediaRule)
+libweb_js_bindings(CSS/CSSRule)
+libweb_js_bindings(CSS/CSSRuleList)
+libweb_js_bindings(CSS/CSSStyleDeclaration)
+libweb_js_bindings(CSS/CSSStyleRule)
+libweb_js_bindings(CSS/CSSStyleSheet)
+libweb_js_bindings(CSS/CSSSupportsRule)
+libweb_js_bindings(CSS/MediaList)
+libweb_js_bindings(CSS/MediaQueryList)
+libweb_js_bindings(CSS/MediaQueryListEvent)
+libweb_js_bindings(CSS/Screen)
+libweb_js_bindings(CSS/StyleSheet)
+libweb_js_bindings(CSS/StyleSheetList)
+libweb_js_bindings(DOM/AbstractRange)
+libweb_js_bindings(DOM/Attr)
+libweb_js_bindings(DOM/AbortController)
+libweb_js_bindings(DOM/AbortSignal)
+libweb_js_bindings(DOM/CDATASection)
+libweb_js_bindings(DOM/CharacterData)
+libweb_js_bindings(DOM/Comment)
+libweb_js_bindings(DOM/CustomEvent)
+libweb_js_bindings(DOM/Document)
+libweb_js_bindings(DOM/DocumentFragment)
+libweb_js_bindings(DOM/DocumentType)
+libweb_js_bindings(DOM/DOMException)
+libweb_js_bindings(DOM/DOMImplementation)
+libweb_js_bindings(DOM/DOMTokenList)
+libweb_js_bindings(DOM/Element)
+libweb_js_bindings(DOM/Event)
+libweb_js_bindings(DOM/EventTarget)
+libweb_js_bindings(DOM/HTMLCollection)
+libweb_js_bindings(DOM/MutationRecord)
+libweb_js_bindings(DOM/MutationObserver)
+libweb_js_bindings(DOM/NamedNodeMap)
+libweb_js_bindings(DOM/Node)
+libweb_js_bindings(DOM/NodeIterator)
+libweb_js_bindings(DOM/NodeList)
+libweb_js_bindings(DOM/ProcessingInstruction)
+libweb_js_bindings(DOM/Range)
+libweb_js_bindings(DOM/ShadowRoot)
+libweb_js_bindings(DOM/StaticRange)
+libweb_js_bindings(DOM/Text)
+libweb_js_bindings(DOM/TreeWalker)
+libweb_js_bindings(DOMParsing/XMLSerializer)
+libweb_js_bindings(Encoding/TextDecoder)
+libweb_js_bindings(Encoding/TextEncoder)
+libweb_js_bindings(Fetch/Headers ITERABLE)
+libweb_js_bindings(FileAPI/Blob)
+libweb_js_bindings(FileAPI/File)
+libweb_js_bindings(Geometry/DOMPoint)
+libweb_js_bindings(Geometry/DOMPointReadOnly)
+libweb_js_bindings(Geometry/DOMRect)
+libweb_js_bindings(Geometry/DOMRectList)
+libweb_js_bindings(Geometry/DOMRectReadOnly)
+libweb_js_bindings(HTML/CanvasGradient)
+libweb_js_bindings(HTML/CanvasRenderingContext2D)
+libweb_js_bindings(HTML/CloseEvent)
+libweb_js_bindings(HTML/DOMParser)
+libweb_js_bindings(HTML/DOMStringMap)
+libweb_js_bindings(HTML/ErrorEvent)
+libweb_js_bindings(HTML/History)
+libweb_js_bindings(HTML/HTMLAnchorElement)
+libweb_js_bindings(HTML/HTMLAreaElement)
+libweb_js_bindings(HTML/HTMLAudioElement)
+libweb_js_bindings(HTML/HTMLBaseElement)
+libweb_js_bindings(HTML/HTMLBodyElement)
+libweb_js_bindings(HTML/HTMLBRElement)
+libweb_js_bindings(HTML/HTMLButtonElement)
+libweb_js_bindings(HTML/HTMLCanvasElement)
+libweb_js_bindings(HTML/HTMLDataElement)
+libweb_js_bindings(HTML/HTMLDataListElement)
+libweb_js_bindings(HTML/HTMLDetailsElement)
+libweb_js_bindings(HTML/HTMLDialogElement)
+libweb_js_bindings(HTML/HTMLDirectoryElement)
+libweb_js_bindings(HTML/HTMLDivElement)
+libweb_js_bindings(HTML/HTMLDListElement)
+libweb_js_bindings(HTML/HTMLElement)
+libweb_js_bindings(HTML/HTMLEmbedElement)
+libweb_js_bindings(HTML/HTMLFieldSetElement)
+libweb_js_bindings(HTML/HTMLFontElement)
+libweb_js_bindings(HTML/HTMLFormElement)
+libweb_js_bindings(HTML/HTMLFrameElement)
+libweb_js_bindings(HTML/HTMLFrameSetElement)
+libweb_js_bindings(HTML/HTMLHeadElement)
+libweb_js_bindings(HTML/HTMLHeadingElement)
+libweb_js_bindings(HTML/HTMLHRElement)
+libweb_js_bindings(HTML/HTMLHtmlElement)
+libweb_js_bindings(HTML/HTMLIFrameElement)
+libweb_js_bindings(HTML/HTMLImageElement)
+libweb_js_bindings(HTML/HTMLInputElement)
+libweb_js_bindings(HTML/HTMLLabelElement)
+libweb_js_bindings(HTML/HTMLLegendElement)
+libweb_js_bindings(HTML/HTMLLIElement)
+libweb_js_bindings(HTML/HTMLLinkElement)
+libweb_js_bindings(HTML/HTMLMapElement)
+libweb_js_bindings(HTML/HTMLMarqueeElement)
+libweb_js_bindings(HTML/HTMLMediaElement)
+libweb_js_bindings(HTML/HTMLMenuElement)
+libweb_js_bindings(HTML/HTMLMetaElement)
+libweb_js_bindings(HTML/HTMLMeterElement)
+libweb_js_bindings(HTML/HTMLModElement)
+libweb_js_bindings(HTML/HTMLObjectElement)
+libweb_js_bindings(HTML/HTMLOListElement)
+libweb_js_bindings(HTML/HTMLOptGroupElement)
+libweb_js_bindings(HTML/HTMLOptionElement)
+libweb_js_bindings(HTML/HTMLOptionsCollection)
+libweb_js_bindings(HTML/HTMLOutputElement)
+libweb_js_bindings(HTML/HTMLParagraphElement)
+libweb_js_bindings(HTML/HTMLParamElement)
+libweb_js_bindings(HTML/HTMLPictureElement)
+libweb_js_bindings(HTML/HTMLPreElement)
+libweb_js_bindings(HTML/HTMLProgressElement)
+libweb_js_bindings(HTML/HTMLQuoteElement)
+libweb_js_bindings(HTML/HTMLScriptElement)
+libweb_js_bindings(HTML/HTMLSelectElement)
+libweb_js_bindings(HTML/HTMLSlotElement)
+libweb_js_bindings(HTML/HTMLSourceElement)
+libweb_js_bindings(HTML/HTMLSpanElement)
+libweb_js_bindings(HTML/HTMLStyleElement)
+libweb_js_bindings(HTML/HTMLTableCaptionElement)
+libweb_js_bindings(HTML/HTMLTableCellElement)
+libweb_js_bindings(HTML/HTMLTableColElement)
+libweb_js_bindings(HTML/HTMLTableElement)
+libweb_js_bindings(HTML/HTMLTableRowElement)
+libweb_js_bindings(HTML/HTMLTableSectionElement)
+libweb_js_bindings(HTML/HTMLTemplateElement)
+libweb_js_bindings(HTML/HTMLTextAreaElement)
+libweb_js_bindings(HTML/HTMLTimeElement)
+libweb_js_bindings(HTML/HTMLTitleElement)
+libweb_js_bindings(HTML/HTMLTrackElement)
+libweb_js_bindings(HTML/HTMLUListElement)
+libweb_js_bindings(HTML/HTMLUnknownElement)
+libweb_js_bindings(HTML/HTMLVideoElement)
+libweb_js_bindings(HTML/ImageData)
+libweb_js_bindings(HTML/MessageChannel)
+libweb_js_bindings(HTML/MessageEvent)
+libweb_js_bindings(HTML/MessagePort)
+libweb_js_bindings(HTML/PageTransitionEvent)
+libweb_js_bindings(HTML/Path2D)
+libweb_js_bindings(HTML/PromiseRejectionEvent)
+libweb_js_bindings(HTML/Storage)
+libweb_js_bindings(HTML/SubmitEvent)
+libweb_js_bindings(HTML/TextMetrics)
+libweb_js_bindings(HTML/Worker)
+libweb_js_bindings(HTML/WorkerGlobalScope)
+libweb_js_bindings(HTML/WorkerLocation)
+libweb_js_bindings(HTML/WorkerNavigator)
+libweb_js_bindings(HighResolutionTime/Performance)
+libweb_js_bindings(IntersectionObserver/IntersectionObserver)
+libweb_js_bindings(NavigationTiming/PerformanceTiming)
+libweb_js_bindings(RequestIdleCallback/IdleDeadline)
+libweb_js_bindings(ResizeObserver/ResizeObserver)
+libweb_js_bindings(SVG/SVGAnimatedLength)
+libweb_js_bindings(SVG/SVGClipPathElement)
+libweb_js_bindings(SVG/SVGDefsElement)
+libweb_js_bindings(SVG/SVGElement)
+libweb_js_bindings(SVG/SVGGeometryElement)
+libweb_js_bindings(SVG/SVGGraphicsElement)
+libweb_js_bindings(SVG/SVGCircleElement)
+libweb_js_bindings(SVG/SVGEllipseElement)
+libweb_js_bindings(SVG/SVGLength)
+libweb_js_bindings(SVG/SVGLineElement)
+libweb_js_bindings(SVG/SVGPathElement)
+libweb_js_bindings(SVG/SVGPolygonElement)
+libweb_js_bindings(SVG/SVGPolylineElement)
+libweb_js_bindings(SVG/SVGRectElement)
+libweb_js_bindings(SVG/SVGSVGElement)
+libweb_js_bindings(SVG/SVGTextContentElement)
+libweb_js_bindings(Selection/Selection)
+libweb_js_bindings(UIEvents/FocusEvent)
+libweb_js_bindings(UIEvents/KeyboardEvent)
+libweb_js_bindings(UIEvents/MouseEvent)
+libweb_js_bindings(UIEvents/UIEvent)
+libweb_js_bindings(URL/URL)
+libweb_js_bindings(URL/URLSearchParams ITERABLE)
+libweb_js_bindings(WebGL/WebGLContextEvent)
+libweb_js_bindings(WebGL/WebGLRenderingContext)
+libweb_js_bindings(WebSockets/WebSocket)
+libweb_js_bindings(XHR/ProgressEvent)
+libweb_js_bindings(XHR/XMLHttpRequest)
+libweb_js_bindings(XHR/XMLHttpRequestEventTarget)