mirror of
https://github.com/RGBCube/serenity
synced 2025-05-31 10:58:12 +00:00
LibWeb: Add the WebAssembly.Module constructor
This commit is contained in:
parent
8acc8339d1
commit
321db0159e
9 changed files with 193 additions and 30 deletions
|
@ -14,6 +14,7 @@
|
|||
namespace Web::Bindings {
|
||||
|
||||
class WebAssemblyMemoryObject;
|
||||
Result<size_t, JS::Value> parse_module(JS::GlobalObject& global_object, JS::Object* buffer);
|
||||
JS::NativeFunction* create_native_function(Wasm::FunctionAddress address, String name, JS::GlobalObject& global_object);
|
||||
JS::Value to_js_value(Wasm::Value& wasm_value, JS::GlobalObject& global_object);
|
||||
Optional<Wasm::Value> to_webassembly_value(JS::Value value, const Wasm::ValueType& type, JS::GlobalObject& global_object);
|
||||
|
@ -64,20 +65,6 @@ private:
|
|||
JS_DECLARE_NATIVE_FUNCTION(instantiate);
|
||||
};
|
||||
|
||||
class WebAssemblyModuleObject final : public JS::Object {
|
||||
JS_OBJECT(WebAssemblyModuleObject, JS::Object);
|
||||
|
||||
public:
|
||||
explicit WebAssemblyModuleObject(JS::GlobalObject&, size_t index);
|
||||
virtual ~WebAssemblyModuleObject() override = default;
|
||||
|
||||
size_t index() const { return m_index; }
|
||||
const Wasm::Module& module() const { return WebAssemblyObject::s_compiled_modules.at(m_index).module; }
|
||||
|
||||
private:
|
||||
size_t m_index { 0 };
|
||||
};
|
||||
|
||||
class WebAssemblyMemoryObject final : public JS::Object {
|
||||
JS_OBJECT(WebAssemblyMemoryObject, JS::Object);
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue