LibJS+LibWeb: Fix a ton of JS_CELL-like macro issues

This commit is contained in:
Matthew Olsson 2024-05-19 13:48:52 -07:00 committed by Andrew Kaster
parent f860763c77
commit 9ea6ab0ad4
Notes: sideshowbarker 2024-07-17 00:23:42 +09:00
30 changed files with 37 additions and 35 deletions

View file

@ -13,7 +13,7 @@
namespace JS {
template<typename T>
class HeapFunction final : public JS::Cell {
class HeapFunction final : public Cell {
JS_CELL(HeapFunction, Cell);
public:

View file

@ -71,7 +71,7 @@ private:
// 27.2.4.1.3 Promise.all Resolve Element Functions, https://tc39.es/ecma262/#sec-promise.all-resolve-element-functions
class PromiseAllResolveElementFunction final : public PromiseResolvingElementFunction {
JS_OBJECT(PromiseAllResolveElementFunction, NativeFunction);
JS_OBJECT(PromiseAllResolveElementFunction, PromiseResolvingElementFunction);
JS_DECLARE_ALLOCATOR(PromiseAllResolveElementFunction);
public:
@ -87,7 +87,7 @@ private:
// 27.2.4.2.2 Promise.allSettled Resolve Element Functions, https://tc39.es/ecma262/#sec-promise.allsettled-resolve-element-functions
class PromiseAllSettledResolveElementFunction final : public PromiseResolvingElementFunction {
JS_OBJECT(PromiseResolvingFunction, NativeFunction);
JS_OBJECT(PromiseAllSettledResolveElementFunction, PromiseResolvingElementFunction);
JS_DECLARE_ALLOCATOR(PromiseAllSettledResolveElementFunction);
public:

View file

@ -16,7 +16,7 @@
namespace JS::Temporal {
class PlainTime final : public Object {
JS_OBJECT(PlainDateTime, Object);
JS_OBJECT(PlainTime, Object);
JS_DECLARE_ALLOCATOR(PlainTime);
public:

View file

@ -69,7 +69,7 @@ private:
// https://w3c.github.io/webcrypto/#ref-for-dfn-CryptoKeyPair-2
class CryptoKeyPair : public JS::Object {
JS_OBJECT(CryptoKeyPair, Object);
JS_OBJECT(CryptoKeyPair, JS::Object);
JS_DECLARE_ALLOCATOR(CryptoKeyPair);
public:

View file

@ -238,7 +238,7 @@ private:
// https://fetch.spec.whatwg.org/#concept-filtered-response-basic
class BasicFilteredResponse final : public FilteredResponse {
JS_CELL(OpaqueRedirectFilteredResponse, FilteredResponse);
JS_CELL(BasicFilteredResponse, FilteredResponse);
JS_DECLARE_ALLOCATOR(BasicFilteredResponse);
public:

View file

@ -13,7 +13,7 @@ namespace Web::Fetch::Infrastructure {
// https://fetch.spec.whatwg.org/#incrementally-read-loop
class IncrementalReadLoopReadRequest : public Streams::ReadRequest {
JS_CELL(IncrementalReadLoopReadRequest, JS::Cell);
JS_CELL(IncrementalReadLoopReadRequest, Streams::ReadRequest);
JS_DECLARE_ALLOCATOR(IncrementalReadLoopReadRequest);
public:

View file

@ -16,7 +16,7 @@ namespace Web::FileAPI {
// https://w3c.github.io/FileAPI/#dfn-filereader
class FileReader : public DOM::EventTarget {
WEB_PLATFORM_OBJECT(FileReader, EventTarget);
WEB_PLATFORM_OBJECT(FileReader, DOM::EventTarget);
JS_DECLARE_ALLOCATOR(FileReader);
public:

View file

@ -15,7 +15,7 @@ namespace Web::Geometry {
// https://drafts.fxtf.org/geometry/#dommatrix
class DOMMatrix : public DOMMatrixReadOnly {
WEB_PLATFORM_OBJECT(DOMMatrix, Bindings::PlatformObject);
WEB_PLATFORM_OBJECT(DOMMatrix, DOMMatrixReadOnly);
JS_DECLARE_ALLOCATOR(DOMMatrix);
public:

View file

@ -125,6 +125,8 @@ protected:
DOMMatrixReadOnly(JS::Realm&, DOMMatrixReadOnly const& other);
explicit DOMMatrixReadOnly(JS::Realm&);
virtual void initialize(JS::Realm&) override;
// NOTE: The matrix used in the spec is column-major (https://drafts.fxtf.org/geometry/#4x4-abstract-matrix) but Gfx::Matrix4x4 is row-major so we need to transpose the values.
Gfx::DoubleMatrix4x4 m_matrix { Gfx::DoubleMatrix4x4::identity() };
@ -133,8 +135,6 @@ protected:
private:
void initialize_from_create_2d_matrix(double m11, double m12, double m21, double m22, double m41, double m42);
void initialize_from_create_3d_matrix(double m11, double m12, double m13, double m14, double m21, double m22, double m23, double m24, double m31, double m32, double m33, double m34, double m41, double m42, double m43, double m44);
virtual void initialize(JS::Realm&) override;
};
WebIDL::ExceptionOr<void> validate_and_fixup_dom_matrix_2d_init(DOMMatrix2DInit& init);

View file

@ -12,7 +12,7 @@
namespace Web::HTML {
class AnimatedBitmapDecodedImageData final : public DecodedImageData {
JS_CELL(AnimatedBitmapDecodedImageData, Cell);
JS_CELL(AnimatedBitmapDecodedImageData, DecodedImageData);
JS_DECLARE_ALLOCATOR(AnimatedBitmapDecodedImageData);
public:

View file

@ -16,7 +16,7 @@
namespace Web::HTML {
class EventLoop : public JS::Cell {
JS_CELL(EventLoop, Cell);
JS_CELL(EventLoop, JS::Cell);
JS_DECLARE_ALLOCATOR(EventLoop);
public:

View file

@ -16,7 +16,7 @@ namespace Web::HTML {
struct UniqueTaskSource;
class Task final : public JS::Cell {
JS_CELL(Task, Cell);
JS_CELL(Task, JS::Cell);
JS_DECLARE_ALLOCATOR(Task);
public:

View file

@ -13,7 +13,7 @@
namespace Web::HTML {
class TaskQueue : public JS::Cell {
JS_CELL(TaskQueue, Cell);
JS_CELL(TaskQueue, JS::Cell);
JS_DECLARE_ALLOCATOR(TaskQueue);
public:

View file

@ -17,7 +17,7 @@ namespace Web::HTML {
// https://html.spec.whatwg.org/multipage/images.html#list-of-available-images
class ListOfAvailableImages : public JS::Cell {
JS_CELL(ListOfAvailableImages, Cell);
JS_CELL(ListOfAvailableImages, JS::Cell);
JS_DECLARE_ALLOCATOR(ListOfAvailableImages);
public:

View file

@ -18,7 +18,7 @@
namespace Web::HTML {
class Location final : public Bindings::PlatformObject {
JS_OBJECT(Location, Bindings::PlatformObject);
WEB_PLATFORM_OBJECT(Location, Bindings::PlatformObject);
JS_DECLARE_ALLOCATOR(Location);
public:

View file

@ -18,7 +18,7 @@ namespace Web::HTML {
class ImportMapParseResult
: public JS::Cell
, public JS::Script::HostDefined {
JS_CELL(Script, JS::Cell);
JS_CELL(ImportMapParseResult, JS::Cell);
JS_DECLARE_ALLOCATOR(ImportMapParseResult);
public:

View file

@ -36,7 +36,7 @@ private:
// https://html.spec.whatwg.org/multipage/webappapis.html#module-map
class ModuleMap final : public JS::Cell {
JS_CELL(ModuleMap, Cell);
JS_CELL(ModuleMap, JS::Cell);
JS_DECLARE_ALLOCATOR(ModuleMap);
public:

View file

@ -43,7 +43,7 @@ private:
// https://html.spec.whatwg.org/multipage/document-sequences.html#tn-session-history-traversal-queue
class SessionHistoryTraversalQueue : public JS::Cell {
JS_CELL(SessionHistoryTraversalQueue, Cell);
JS_CELL(SessionHistoryTraversalQueue, JS::Cell);
JS_DECLARE_ALLOCATOR(SessionHistoryTraversalQueue);
public:

View file

@ -18,7 +18,7 @@
namespace Web::HTML {
class SharedImageRequest final : public JS::Cell {
JS_CELL(ImageRequest, JS::Cell);
JS_CELL(SharedImageRequest, JS::Cell);
JS_DECLARE_ALLOCATOR(SharedImageRequest);
public:

View file

@ -19,7 +19,7 @@ struct WorkerOptions {
};
class WorkerAgent : public JS::Cell {
JS_CELL(Agent, JS::Cell);
JS_CELL(WorkerAgent, JS::Cell);
JS_DECLARE_ALLOCATOR(WorkerAgent);
WorkerAgent(URL::URL url, WorkerOptions const& options, JS::GCPtr<MessagePort> outside_port, JS::NonnullGCPtr<EnvironmentSettingsObject> outside_settings);

View file

@ -11,7 +11,7 @@
namespace Web::IndexedDB {
class IDBRequest : public DOM::EventTarget {
WEB_PLATFORM_OBJECT(IDBRequest, EventTarget);
WEB_PLATFORM_OBJECT(IDBRequest, DOM::EventTarget);
JS_DECLARE_ALLOCATOR(IDBRequest);
public:

View file

@ -13,7 +13,7 @@
namespace Web::Layout {
class SVGMaskBox : public SVGGraphicsBox {
JS_CELL(SVGMaskBox, SVGBox);
JS_CELL(SVGMaskBox, SVGGraphicsBox);
JS_DECLARE_ALLOCATOR(SVGMaskBox);
public:

View file

@ -14,7 +14,7 @@ namespace Web::MathML {
class MathMLElement : public DOM::Element
, public HTML::GlobalEventHandlers {
WEB_PLATFORM_OBJECT(MathMLElement, Element);
WEB_PLATFORM_OBJECT(MathMLElement, DOM::Element);
JS_DECLARE_ALLOCATOR(MathMLElement);
public:

View file

@ -45,7 +45,7 @@ enum class HitTestType {
class Paintable
: public JS::Cell
, public TreeNode<Paintable> {
JS_CELL(Paintable, Cell);
JS_CELL(Paintable, JS::Cell);
public:
virtual ~Paintable();

View file

@ -12,7 +12,7 @@
namespace Web::SVG {
class SVGDecodedImageData final : public HTML::DecodedImageData {
JS_CELL(SVGDecodedImageData, Cell);
JS_CELL(SVGDecodedImageData, HTML::DecodedImageData);
JS_DECLARE_ALLOCATOR(SVGDecodedImageData);
public:

View file

@ -12,7 +12,7 @@
namespace Web::SVG {
class SVGStyleElement final : public SVGElement {
WEB_PLATFORM_OBJECT(HTMLStyleElement, SVGElement);
WEB_PLATFORM_OBJECT(SVGStyleElement, SVGElement);
JS_DECLARE_ALLOCATOR(SVGStyleElement);
public:

View file

@ -350,7 +350,7 @@ WebIDL::ExceptionOr<ReadableStreamPair> readable_stream_tee(JS::Realm& realm, Re
}
struct DefaultStreamTeeParams final : JS::Cell {
JS_CELL(TeeParams, JS::Cell);
JS_CELL(DefaultStreamTeeParams, JS::Cell);
JS_DECLARE_ALLOCATOR(DefaultStreamTeeParams);
virtual void visit_edges(Visitor& visitor) override
@ -378,7 +378,7 @@ JS_DEFINE_ALLOCATOR(DefaultStreamTeeParams);
// https://streams.spec.whatwg.org/#ref-for-read-request③
class DefaultStreamTeeReadRequest final : public ReadRequest {
JS_CELL(DefaultStreamTeeReadRequest, Cell);
JS_CELL(DefaultStreamTeeReadRequest, ReadRequest);
JS_DECLARE_ALLOCATOR(DefaultStreamTeeReadRequest);
public:
@ -651,7 +651,7 @@ WebIDL::ExceptionOr<ReadableStreamPair> readable_stream_default_tee(JS::Realm& r
}
struct ByteStreamTeeParams final : JS::Cell {
JS_CELL(TeeParams, JS::Cell);
JS_CELL(ByteStreamTeeParams, JS::Cell);
JS_DECLARE_ALLOCATOR(ByteStreamTeeParams);
explicit ByteStreamTeeParams(ReadableStreamReader reader)
@ -689,7 +689,7 @@ JS_DEFINE_ALLOCATOR(ByteStreamTeeParams);
// https://streams.spec.whatwg.org/#ref-for-read-request④
class ByteStreamTeeDefaultReadRequest final : public ReadRequest {
JS_CELL(ByteStreamTeeDefaultReadRequest, Cell);
JS_CELL(ByteStreamTeeDefaultReadRequest, ReadRequest);
JS_DECLARE_ALLOCATOR(ByteStreamTeeDefaultReadRequest);
public:
@ -845,7 +845,7 @@ JS_DEFINE_ALLOCATOR(ByteStreamTeeDefaultReadRequest);
// https://streams.spec.whatwg.org/#ref-for-read-into-request②
class ByteStreamTeeBYOBReadRequest final : public ReadIntoRequest {
JS_CELL(ByteStreamTeeBYOBReadRequest, Cell);
JS_CELL(ByteStreamTeeBYOBReadRequest, ReadIntoRequest);
JS_DECLARE_ALLOCATOR(ByteStreamTeeBYOBReadRequest);
public:

View file

@ -119,7 +119,7 @@ void ReadLoopReadRequest::on_error(JS::Value error)
}
class DefaultReaderReadRequest final : public ReadRequest {
JS_CELL(DefaultReaderReadRequest, Cell);
JS_CELL(DefaultReaderReadRequest, ReadRequest);
JS_DECLARE_ALLOCATOR(DefaultReaderReadRequest);
public:

View file

@ -32,7 +32,7 @@ public:
};
class ReadLoopReadRequest final : public ReadRequest {
JS_CELL(ReadLoopReadRequest, JS::Cell);
JS_CELL(ReadLoopReadRequest, ReadRequest);
JS_DECLARE_ALLOCATOR(ReadLoopReadRequest);
public:

View file

@ -445,6 +445,8 @@ static ErrorOr<void> repl(JS::Realm& realm)
}
class ReplConsoleClient final : public JS::ConsoleClient {
JS_CELL(ReplConsoleClient, JS::ConsoleClient);
public:
ReplConsoleClient(JS::Console& console)
: ConsoleClient(console)