mirror of
https://github.com/LadybirdBrowser/ladybird
synced 2026-04-26 09:45:06 +02:00
LibJS: Generate FFI header using cbindgen instead of hand-rolling
Replace the BytecodeFactory header with cbindgen. This will help ensure that types and enums and constants are kept in sync between the C++ and Rust code. It's also a step in exporting more Rust enums directly rather than relying on magic constants for switch statements. The FFI functions are now all placed in the JS::FFI namespace, which is the cause for all the churn in the scripting parts of LibJS and LibWeb.
This commit is contained in:
committed by
Andreas Kling
parent
c381cd7d68
commit
92e4c20ad5
Notes:
github-actions[bot]
2026-03-18 01:50:46 +00:00
Author: https://github.com/ADKaster Commit: https://github.com/LadybirdBrowser/ladybird/commit/92e4c20ad5b Pull-request: https://github.com/LadybirdBrowser/ladybird/pull/8476
@@ -10,7 +10,11 @@
|
||||
#include <LibWeb/Export.h>
|
||||
#include <LibWeb/HTML/Scripting/Script.h>
|
||||
|
||||
struct RustParsedProgram;
|
||||
namespace JS::FFI {
|
||||
|
||||
struct ParsedProgram;
|
||||
|
||||
}
|
||||
|
||||
namespace Web::HTML {
|
||||
|
||||
@@ -36,7 +40,7 @@ public:
|
||||
virtual ~JavaScriptModuleScript() override;
|
||||
|
||||
static WebIDL::ExceptionOr<GC::Ptr<JavaScriptModuleScript>> create(ByteString const& filename, StringView source, JS::Realm&, URL::URL base_url);
|
||||
static WebIDL::ExceptionOr<GC::Ptr<JavaScriptModuleScript>> create_from_pre_parsed(ByteString const& filename, NonnullRefPtr<JS::SourceCode const> source_code, JS::Realm&, URL::URL base_url, RustParsedProgram* parsed);
|
||||
static WebIDL::ExceptionOr<GC::Ptr<JavaScriptModuleScript>> create_from_pre_parsed(ByteString const& filename, NonnullRefPtr<JS::SourceCode const> source_code, JS::Realm&, URL::URL base_url, JS::FFI::ParsedProgram* parsed);
|
||||
|
||||
enum class PreventErrorReporting {
|
||||
Yes,
|
||||
|
||||
Reference in New Issue
Block a user