LibWeb: Only set prototype once for object with IDL interface

Before this change, we were going through the chain of base classes for
each IDL interface object and having them set the prototype to their
prototype.

Instead of doing that, reorder things so that we set the right prototype
immediately in Foo::initialize(), and then don't bother in all the base
class overrides.

This knocks off a ~1% profile item on Speedometer 3.
This commit is contained in:
Andreas Kling 2025-04-20 16:22:57 +02:00 committed by Andreas Kling
commit a6dfc74e93
Notes: github-actions[bot] 2025-04-20 16:44:17 +00:00
417 changed files with 423 additions and 423 deletions

View file

@ -53,8 +53,8 @@ AudioTrack::~AudioTrack()
void AudioTrack::initialize(JS::Realm& realm)
{
Base::initialize(realm);
WEB_SET_PROTOTYPE_FOR_INTERFACE(AudioTrack);
Base::initialize(realm);
auto id = s_audio_track_id_allocator.allocate();
m_id = String::number(id);

View file

@ -22,8 +22,8 @@ AudioTrackList::AudioTrackList(JS::Realm& realm)
void AudioTrackList::initialize(JS::Realm& realm)
{
Base::initialize(realm);
WEB_SET_PROTOTYPE_FOR_INTERFACE(AudioTrackList);
Base::initialize(realm);
}
// https://html.spec.whatwg.org/multipage/media.html#dom-tracklist-item

View file

@ -41,7 +41,7 @@ bool BarProp::visible() const
void BarProp::initialize(JS::Realm& realm)
{
Base::initialize(realm);
WEB_SET_PROTOTYPE_FOR_INTERFACE(BarProp);
Base::initialize(realm);
}
}

View file

@ -26,8 +26,8 @@ BeforeUnloadEvent::~BeforeUnloadEvent() = default;
void BeforeUnloadEvent::initialize(JS::Realm& realm)
{
Base::initialize(realm);
WEB_SET_PROTOTYPE_FOR_INTERFACE(BeforeUnloadEvent);
Base::initialize(realm);
}
}

View file

@ -76,8 +76,8 @@ BroadcastChannel::BroadcastChannel(JS::Realm& realm, FlyString const& name)
void BroadcastChannel::initialize(JS::Realm& realm)
{
Base::initialize(realm);
WEB_SET_PROTOTYPE_FOR_INTERFACE(BroadcastChannel);
Base::initialize(realm);
}
// https://html.spec.whatwg.org/multipage/web-messaging.html#eligible-for-messaging

View file

@ -52,8 +52,8 @@ CanvasGradient::~CanvasGradient() = default;
void CanvasGradient::initialize(JS::Realm& realm)
{
Base::initialize(realm);
WEB_SET_PROTOTYPE_FOR_INTERFACE(CanvasGradient);
Base::initialize(realm);
}
// https://html.spec.whatwg.org/multipage/canvas.html#dom-canvasgradient-addcolorstop

View file

@ -147,8 +147,8 @@ WebIDL::ExceptionOr<GC::Ptr<CanvasPattern>> CanvasPattern::create(JS::Realm& rea
void CanvasPattern::initialize(JS::Realm& realm)
{
Base::initialize(realm);
WEB_SET_PROTOTYPE_FOR_INTERFACE(CanvasPattern);
Base::initialize(realm);
}
}

View file

@ -34,8 +34,8 @@ CloseEvent::~CloseEvent() = default;
void CloseEvent::initialize(JS::Realm& realm)
{
Base::initialize(realm);
WEB_SET_PROTOTYPE_FOR_INTERFACE(CloseEvent);
Base::initialize(realm);
}
}

View file

@ -171,8 +171,8 @@ void CloseWatcher::destroy()
void CloseWatcher::initialize(JS::Realm& realm)
{
Base::initialize(realm);
WEB_SET_PROTOTYPE_FOR_INTERFACE(CloseWatcher);
Base::initialize(realm);
}
void CloseWatcher::set_oncancel(WebIDL::CallbackType* event_handler)

View file

@ -37,8 +37,8 @@ void CommandEvent::visit_edges(Visitor& visitor)
void CommandEvent::initialize(JS::Realm& realm)
{
Base::initialize(realm);
WEB_SET_PROTOTYPE_FOR_INTERFACE(CommandEvent);
Base::initialize(realm);
}
}

View file

@ -32,8 +32,8 @@ CustomElementRegistry::~CustomElementRegistry() = default;
void CustomElementRegistry::initialize(JS::Realm& realm)
{
Base::initialize(realm);
WEB_SET_PROTOTYPE_FOR_INTERFACE(CustomElementRegistry);
Base::initialize(realm);
}
void CustomElementRegistry::visit_edges(Visitor& visitor)

View file

@ -32,8 +32,8 @@ DOMParser::~DOMParser() = default;
void DOMParser::initialize(JS::Realm& realm)
{
Base::initialize(realm);
WEB_SET_PROTOTYPE_FOR_INTERFACE(DOMParser);
Base::initialize(realm);
}
// https://html.spec.whatwg.org/multipage/dynamic-markup-insertion.html#dom-domparser-parsefromstring

View file

@ -27,8 +27,8 @@ DOMStringList::DOMStringList(JS::Realm& realm, Vector<String> list)
void DOMStringList::initialize(JS::Realm& realm)
{
Base::initialize(realm);
WEB_SET_PROTOTYPE_FOR_INTERFACE(DOMStringList);
Base::initialize(realm);
}
// https://html.spec.whatwg.org/multipage/common-dom-interfaces.html#dom-domstringlist-length

View file

@ -37,8 +37,8 @@ DOMStringMap::~DOMStringMap() = default;
void DOMStringMap::initialize(JS::Realm& realm)
{
Base::initialize(realm);
WEB_SET_PROTOTYPE_FOR_INTERFACE(DOMStringMap);
Base::initialize(realm);
}
void DOMStringMap::visit_edges(Cell::Visitor& visitor)

View file

@ -65,8 +65,8 @@ DataTransfer::~DataTransfer() = default;
void DataTransfer::initialize(JS::Realm& realm)
{
Base::initialize(realm);
WEB_SET_PROTOTYPE_FOR_INTERFACE(DataTransfer);
Base::initialize(realm);
}
void DataTransfer::visit_edges(JS::Cell::Visitor& visitor)

View file

@ -35,8 +35,8 @@ DataTransferItem::~DataTransferItem() = default;
void DataTransferItem::initialize(JS::Realm& realm)
{
Base::initialize(realm);
WEB_SET_PROTOTYPE_FOR_INTERFACE(DataTransferItem);
Base::initialize(realm);
}
void DataTransferItem::visit_edges(JS::Cell::Visitor& visitor)

View file

@ -33,8 +33,8 @@ DataTransferItemList::~DataTransferItemList() = default;
void DataTransferItemList::initialize(JS::Realm& realm)
{
Base::initialize(realm);
WEB_SET_PROTOTYPE_FOR_INTERFACE(DataTransferItemList);
Base::initialize(realm);
}
void DataTransferItemList::visit_edges(JS::Cell::Visitor& visitor)

View file

@ -32,8 +32,8 @@ DragEvent::~DragEvent() = default;
void DragEvent::initialize(JS::Realm& realm)
{
Base::initialize(realm);
WEB_SET_PROTOTYPE_FOR_INTERFACE(DragEvent);
Base::initialize(realm);
}
void DragEvent::visit_edges(JS::Cell::Visitor& visitor)

View file

@ -48,8 +48,8 @@ GC::Ptr<DOM::ShadowRoot> ElementInternals::shadow_root() const
void ElementInternals::initialize(JS::Realm& realm)
{
Base::initialize(realm);
WEB_SET_PROTOTYPE_FOR_INTERFACE(ElementInternals);
Base::initialize(realm);
}
void ElementInternals::visit_edges(JS::Cell::Visitor& visitor)

View file

@ -38,8 +38,8 @@ ErrorEvent::~ErrorEvent() = default;
void ErrorEvent::initialize(JS::Realm& realm)
{
Base::initialize(realm);
WEB_SET_PROTOTYPE_FOR_INTERFACE(ErrorEvent);
Base::initialize(realm);
}
void ErrorEvent::visit_edges(Cell::Visitor& visitor)

View file

@ -173,8 +173,8 @@ EventSource::~EventSource() = default;
void EventSource::initialize(JS::Realm& realm)
{
Base::initialize(realm);
WEB_SET_PROTOTYPE_FOR_INTERFACE(EventSource);
Base::initialize(realm);
auto& relevant_global = as<HTML::WindowOrWorkerGlobalScopeMixin>(HTML::relevant_global_object(*this));
relevant_global.register_event_source({}, *this);

View file

@ -27,8 +27,8 @@ FormDataEvent::~FormDataEvent() = default;
void FormDataEvent::initialize(JS::Realm& realm)
{
Base::initialize(realm);
WEB_SET_PROTOTYPE_FOR_INTERFACE(FormDataEvent);
Base::initialize(realm);
}
void FormDataEvent::visit_edges(Cell::Visitor& visitor)

View file

@ -54,8 +54,8 @@ HTMLAllCollection::~HTMLAllCollection() = default;
void HTMLAllCollection::initialize(JS::Realm& realm)
{
Base::initialize(realm);
WEB_SET_PROTOTYPE_FOR_INTERFACE(HTMLAllCollection);
Base::initialize(realm);
}
void HTMLAllCollection::visit_edges(Cell::Visitor& visitor)

View file

@ -30,8 +30,8 @@ HTMLAnchorElement::~HTMLAnchorElement() = default;
void HTMLAnchorElement::initialize(JS::Realm& realm)
{
Base::initialize(realm);
WEB_SET_PROTOTYPE_FOR_INTERFACE(HTMLAnchorElement);
Base::initialize(realm);
}
void HTMLAnchorElement::visit_edges(Cell::Visitor& visitor)

View file

@ -23,8 +23,8 @@ HTMLAreaElement::~HTMLAreaElement() = default;
void HTMLAreaElement::initialize(JS::Realm& realm)
{
Base::initialize(realm);
WEB_SET_PROTOTYPE_FOR_INTERFACE(HTMLAreaElement);
Base::initialize(realm);
}
void HTMLAreaElement::visit_edges(Cell::Visitor& visitor)

View file

@ -26,8 +26,8 @@ HTMLAudioElement::~HTMLAudioElement() = default;
void HTMLAudioElement::initialize(JS::Realm& realm)
{
Base::initialize(realm);
WEB_SET_PROTOTYPE_FOR_INTERFACE(HTMLAudioElement);
Base::initialize(realm);
}
GC::Ptr<Layout::Node> HTMLAudioElement::create_layout_node(GC::Ref<CSS::ComputedProperties> style)

View file

@ -24,8 +24,8 @@ HTMLBRElement::~HTMLBRElement() = default;
void HTMLBRElement::initialize(JS::Realm& realm)
{
Base::initialize(realm);
WEB_SET_PROTOTYPE_FOR_INTERFACE(HTMLBRElement);
Base::initialize(realm);
}
GC::Ptr<Layout::Node> HTMLBRElement::create_layout_node(GC::Ref<CSS::ComputedProperties> style)

View file

@ -21,8 +21,8 @@ HTMLBaseElement::~HTMLBaseElement() = default;
void HTMLBaseElement::initialize(JS::Realm& realm)
{
Base::initialize(realm);
WEB_SET_PROTOTYPE_FOR_INTERFACE(HTMLBaseElement);
Base::initialize(realm);
}
void HTMLBaseElement::inserted()

View file

@ -37,8 +37,8 @@ void HTMLBodyElement::visit_edges(Visitor& visitor)
void HTMLBodyElement::initialize(JS::Realm& realm)
{
Base::initialize(realm);
WEB_SET_PROTOTYPE_FOR_INTERFACE(HTMLBodyElement);
Base::initialize(realm);
}
bool HTMLBodyElement::is_presentational_hint(FlyString const& name) const

View file

@ -25,8 +25,8 @@ HTMLButtonElement::~HTMLButtonElement() = default;
void HTMLButtonElement::initialize(JS::Realm& realm)
{
Base::initialize(realm);
WEB_SET_PROTOTYPE_FOR_INTERFACE(HTMLButtonElement);
Base::initialize(realm);
}
HTMLButtonElement::TypeAttributeState HTMLButtonElement::type_state() const

View file

@ -45,8 +45,8 @@ HTMLCanvasElement::~HTMLCanvasElement() = default;
void HTMLCanvasElement::initialize(JS::Realm& realm)
{
Base::initialize(realm);
WEB_SET_PROTOTYPE_FOR_INTERFACE(HTMLCanvasElement);
Base::initialize(realm);
}
void HTMLCanvasElement::visit_edges(Cell::Visitor& visitor)

View file

@ -21,8 +21,8 @@ HTMLDListElement::~HTMLDListElement() = default;
void HTMLDListElement::initialize(JS::Realm& realm)
{
Base::initialize(realm);
WEB_SET_PROTOTYPE_FOR_INTERFACE(HTMLDListElement);
Base::initialize(realm);
}
}

View file

@ -21,8 +21,8 @@ HTMLDataElement::~HTMLDataElement() = default;
void HTMLDataElement::initialize(JS::Realm& realm)
{
Base::initialize(realm);
WEB_SET_PROTOTYPE_FOR_INTERFACE(HTMLDataElement);
Base::initialize(realm);
}
}

View file

@ -22,8 +22,8 @@ HTMLDataListElement::~HTMLDataListElement() = default;
void HTMLDataListElement::initialize(JS::Realm& realm)
{
Base::initialize(realm);
WEB_SET_PROTOTYPE_FOR_INTERFACE(HTMLDataListElement);
Base::initialize(realm);
}
void HTMLDataListElement::visit_edges(Cell::Visitor& visitor)

View file

@ -38,8 +38,8 @@ void HTMLDetailsElement::visit_edges(Cell::Visitor& visitor)
void HTMLDetailsElement::initialize(JS::Realm& realm)
{
Base::initialize(realm);
WEB_SET_PROTOTYPE_FOR_INTERFACE(HTMLDetailsElement);
Base::initialize(realm);
}
// https://html.spec.whatwg.org/multipage/interactive-elements.html#the-details-element:html-element-insertion-steps

View file

@ -31,8 +31,8 @@ HTMLDialogElement::~HTMLDialogElement() = default;
void HTMLDialogElement::initialize(JS::Realm& realm)
{
Base::initialize(realm);
WEB_SET_PROTOTYPE_FOR_INTERFACE(HTMLDialogElement);
Base::initialize(realm);
}
void HTMLDialogElement::visit_edges(JS::Cell::Visitor& visitor)

View file

@ -21,8 +21,8 @@ HTMLDirectoryElement::~HTMLDirectoryElement() = default;
void HTMLDirectoryElement::initialize(JS::Realm& realm)
{
Base::initialize(realm);
WEB_SET_PROTOTYPE_FOR_INTERFACE(HTMLDirectoryElement);
Base::initialize(realm);
}
}

View file

@ -48,8 +48,8 @@ void HTMLDivElement::apply_presentational_hints(GC::Ref<CSS::CascadedProperties>
void HTMLDivElement::initialize(JS::Realm& realm)
{
Base::initialize(realm);
WEB_SET_PROTOTYPE_FOR_INTERFACE(HTMLDivElement);
Base::initialize(realm);
}
}

View file

@ -30,8 +30,8 @@ GC::Ref<HTMLDocument> HTMLDocument::create(JS::Realm& realm, URL::URL const& url
void HTMLDocument::initialize(JS::Realm& realm)
{
Base::initialize(realm);
WEB_SET_PROTOTYPE_FOR_INTERFACE(HTMLDocument);
Base::initialize(realm);
}
}

View file

@ -58,8 +58,8 @@ HTMLElement::~HTMLElement() = default;
void HTMLElement::initialize(JS::Realm& realm)
{
Base::initialize(realm);
WEB_SET_PROTOTYPE_FOR_INTERFACE(HTMLElement);
Base::initialize(realm);
}
void HTMLElement::visit_edges(Cell::Visitor& visitor)

View file

@ -25,8 +25,8 @@ HTMLEmbedElement::~HTMLEmbedElement() = default;
void HTMLEmbedElement::initialize(JS::Realm& realm)
{
Base::initialize(realm);
WEB_SET_PROTOTYPE_FOR_INTERFACE(HTMLEmbedElement);
Base::initialize(realm);
}
bool HTMLEmbedElement::is_presentational_hint(FlyString const& name) const

View file

@ -29,8 +29,8 @@ HTMLFieldSetElement::~HTMLFieldSetElement() = default;
void HTMLFieldSetElement::initialize(JS::Realm& realm)
{
Base::initialize(realm);
WEB_SET_PROTOTYPE_FOR_INTERFACE(HTMLFieldSetElement);
Base::initialize(realm);
}
void HTMLFieldSetElement::visit_edges(Cell::Visitor& visitor)

View file

@ -107,8 +107,8 @@ HTMLFontElement::~HTMLFontElement() = default;
void HTMLFontElement::initialize(JS::Realm& realm)
{
Base::initialize(realm);
WEB_SET_PROTOTYPE_FOR_INTERFACE(HTMLFontElement);
Base::initialize(realm);
}
bool HTMLFontElement::is_presentational_hint(FlyString const& name) const

View file

@ -30,8 +30,8 @@ HTMLFormControlsCollection::~HTMLFormControlsCollection() = default;
void HTMLFormControlsCollection::initialize(JS::Realm& realm)
{
Base::initialize(realm);
WEB_SET_PROTOTYPE_FOR_INTERFACE(HTMLFormControlsCollection);
Base::initialize(realm);
}
// https://html.spec.whatwg.org/multipage/common-dom-interfaces.html#dom-htmlformcontrolscollection-nameditem

View file

@ -54,8 +54,8 @@ HTMLFormElement::~HTMLFormElement() = default;
void HTMLFormElement::initialize(JS::Realm& realm)
{
Base::initialize(realm);
WEB_SET_PROTOTYPE_FOR_INTERFACE(HTMLFormElement);
Base::initialize(realm);
}
void HTMLFormElement::visit_edges(Cell::Visitor& visitor)

View file

@ -31,8 +31,8 @@ HTMLFrameElement::~HTMLFrameElement() = default;
void HTMLFrameElement::initialize(JS::Realm& realm)
{
Base::initialize(realm);
WEB_SET_PROTOTYPE_FOR_INTERFACE(HTMLFrameElement);
Base::initialize(realm);
}
// https://html.spec.whatwg.org/multipage/obsolete.html#frames:html-element-insertion-steps

View file

@ -31,8 +31,8 @@ void HTMLFrameSetElement::adjust_computed_style(CSS::ComputedProperties& style)
void HTMLFrameSetElement::initialize(JS::Realm& realm)
{
Base::initialize(realm);
WEB_SET_PROTOTYPE_FOR_INTERFACE(HTMLFrameSetElement);
Base::initialize(realm);
}
void HTMLFrameSetElement::attribute_changed(FlyString const& name, Optional<String> const& old_value, Optional<String> const& value, Optional<FlyString> const& namespace_)

View file

@ -27,8 +27,8 @@ HTMLHRElement::~HTMLHRElement() = default;
void HTMLHRElement::initialize(JS::Realm& realm)
{
Base::initialize(realm);
WEB_SET_PROTOTYPE_FOR_INTERFACE(HTMLHRElement);
Base::initialize(realm);
}
bool HTMLHRElement::is_presentational_hint(FlyString const& name) const

View file

@ -21,8 +21,8 @@ HTMLHeadElement::~HTMLHeadElement() = default;
void HTMLHeadElement::initialize(JS::Realm& realm)
{
Base::initialize(realm);
WEB_SET_PROTOTYPE_FOR_INTERFACE(HTMLHeadElement);
Base::initialize(realm);
}
}

View file

@ -23,8 +23,8 @@ HTMLHeadingElement::~HTMLHeadingElement() = default;
void HTMLHeadingElement::initialize(JS::Realm& realm)
{
Base::initialize(realm);
WEB_SET_PROTOTYPE_FOR_INTERFACE(HTMLHeadingElement);
Base::initialize(realm);
}
bool HTMLHeadingElement::is_presentational_hint(FlyString const& name) const

View file

@ -24,8 +24,8 @@ HTMLHtmlElement::~HTMLHtmlElement() = default;
void HTMLHtmlElement::initialize(JS::Realm& realm)
{
Base::initialize(realm);
WEB_SET_PROTOTYPE_FOR_INTERFACE(HTMLHtmlElement);
Base::initialize(realm);
}
bool HTMLHtmlElement::should_use_body_background_properties() const

View file

@ -33,8 +33,8 @@ HTMLIFrameElement::~HTMLIFrameElement() = default;
void HTMLIFrameElement::initialize(JS::Realm& realm)
{
Base::initialize(realm);
WEB_SET_PROTOTYPE_FOR_INTERFACE(HTMLIFrameElement);
Base::initialize(realm);
}
GC::Ptr<Layout::Node> HTMLIFrameElement::create_layout_node(GC::Ref<CSS::ComputedProperties> style)

View file

@ -64,8 +64,8 @@ void HTMLImageElement::finalize()
void HTMLImageElement::initialize(JS::Realm& realm)
{
Base::initialize(realm);
WEB_SET_PROTOTYPE_FOR_INTERFACE(HTMLImageElement);
Base::initialize(realm);
m_current_request = ImageRequest::create(realm, document().page());
}

View file

@ -73,8 +73,8 @@ HTMLInputElement::~HTMLInputElement() = default;
void HTMLInputElement::initialize(JS::Realm& realm)
{
Base::initialize(realm);
WEB_SET_PROTOTYPE_FOR_INTERFACE(HTMLInputElement);
Base::initialize(realm);
}
void HTMLInputElement::visit_edges(Cell::Visitor& visitor)

View file

@ -23,8 +23,8 @@ HTMLLIElement::~HTMLLIElement() = default;
void HTMLLIElement::initialize(JS::Realm& realm)
{
Base::initialize(realm);
WEB_SET_PROTOTYPE_FOR_INTERFACE(HTMLLIElement);
Base::initialize(realm);
}
// https://html.spec.whatwg.org/multipage/grouping-content.html#dom-li-value

View file

@ -23,8 +23,8 @@ HTMLLabelElement::~HTMLLabelElement() = default;
void HTMLLabelElement::initialize(JS::Realm& realm)
{
Base::initialize(realm);
WEB_SET_PROTOTYPE_FOR_INTERFACE(HTMLLabelElement);
Base::initialize(realm);
}
GC::Ptr<Layout::Node> HTMLLabelElement::create_layout_node(GC::Ref<CSS::ComputedProperties> style)

View file

@ -23,8 +23,8 @@ HTMLLegendElement::~HTMLLegendElement() = default;
void HTMLLegendElement::initialize(JS::Realm& realm)
{
Base::initialize(realm);
WEB_SET_PROTOTYPE_FOR_INTERFACE(HTMLLegendElement);
Base::initialize(realm);
}
// https://html.spec.whatwg.org/multipage/form-elements.html#dom-legend-form

View file

@ -48,8 +48,8 @@ HTMLLinkElement::~HTMLLinkElement() = default;
void HTMLLinkElement::initialize(JS::Realm& realm)
{
Base::initialize(realm);
WEB_SET_PROTOTYPE_FOR_INTERFACE(HTMLLinkElement);
Base::initialize(realm);
}
void HTMLLinkElement::removed_from(Node* old_parent, Node& old_root)

View file

@ -22,8 +22,8 @@ HTMLMapElement::~HTMLMapElement() = default;
void HTMLMapElement::initialize(JS::Realm& realm)
{
Base::initialize(realm);
WEB_SET_PROTOTYPE_FOR_INTERFACE(HTMLMapElement);
Base::initialize(realm);
}
void HTMLMapElement::visit_edges(Cell::Visitor& visitor)

View file

@ -26,8 +26,8 @@ HTMLMarqueeElement::~HTMLMarqueeElement() = default;
void HTMLMarqueeElement::initialize(JS::Realm& realm)
{
Base::initialize(realm);
WEB_SET_PROTOTYPE_FOR_INTERFACE(HTMLMarqueeElement);
Base::initialize(realm);
}
bool HTMLMarqueeElement::is_presentational_hint(FlyString const& name) const

View file

@ -53,8 +53,8 @@ HTMLMediaElement::~HTMLMediaElement() = default;
void HTMLMediaElement::initialize(JS::Realm& realm)
{
Base::initialize(realm);
WEB_SET_PROTOTYPE_FOR_INTERFACE(HTMLMediaElement);
Base::initialize(realm);
m_audio_tracks = realm.create<AudioTrackList>(realm);
m_video_tracks = realm.create<VideoTrackList>(realm);

View file

@ -21,8 +21,8 @@ HTMLMenuElement::~HTMLMenuElement() = default;
void HTMLMenuElement::initialize(JS::Realm& realm)
{
Base::initialize(realm);
WEB_SET_PROTOTYPE_FOR_INTERFACE(HTMLMenuElement);
Base::initialize(realm);
}
}

View file

@ -30,8 +30,8 @@ HTMLMetaElement::~HTMLMetaElement() = default;
void HTMLMetaElement::initialize(JS::Realm& realm)
{
Base::initialize(realm);
WEB_SET_PROTOTYPE_FOR_INTERFACE(HTMLMetaElement);
Base::initialize(realm);
}
Optional<HTMLMetaElement::HttpEquivAttributeState> HTMLMetaElement::http_equiv_state() const

View file

@ -28,8 +28,8 @@ HTMLMeterElement::~HTMLMeterElement() = default;
void HTMLMeterElement::initialize(JS::Realm& realm)
{
Base::initialize(realm);
WEB_SET_PROTOTYPE_FOR_INTERFACE(HTMLMeterElement);
Base::initialize(realm);
}
void HTMLMeterElement::visit_edges(Cell::Visitor& visitor)

View file

@ -22,8 +22,8 @@ HTMLModElement::~HTMLModElement() = default;
void HTMLModElement::initialize(JS::Realm& realm)
{
Base::initialize(realm);
WEB_SET_PROTOTYPE_FOR_INTERFACE(HTMLModElement);
Base::initialize(realm);
}
Optional<ARIA::Role> HTMLModElement::default_role() const

View file

@ -24,8 +24,8 @@ HTMLOListElement::~HTMLOListElement() = default;
void HTMLOListElement::initialize(JS::Realm& realm)
{
Base::initialize(realm);
WEB_SET_PROTOTYPE_FOR_INTERFACE(HTMLOListElement);
Base::initialize(realm);
}
// https://html.spec.whatwg.org/multipage/grouping-content.html#dom-ol-start

View file

@ -55,8 +55,8 @@ HTMLObjectElement::~HTMLObjectElement() = default;
void HTMLObjectElement::initialize(JS::Realm& realm)
{
Base::initialize(realm);
WEB_SET_PROTOTYPE_FOR_INTERFACE(HTMLObjectElement);
Base::initialize(realm);
m_document_observer = realm.create<DOM::DocumentObserver>(realm, document());

View file

@ -22,8 +22,8 @@ HTMLOptGroupElement::~HTMLOptGroupElement() = default;
void HTMLOptGroupElement::initialize(JS::Realm& realm)
{
Base::initialize(realm);
WEB_SET_PROTOTYPE_FOR_INTERFACE(HTMLOptGroupElement);
Base::initialize(realm);
}
void HTMLOptGroupElement::inserted()

View file

@ -34,8 +34,8 @@ HTMLOptionElement::~HTMLOptionElement() = default;
void HTMLOptionElement::initialize(JS::Realm& realm)
{
Base::initialize(realm);
WEB_SET_PROTOTYPE_FOR_INTERFACE(HTMLOptionElement);
Base::initialize(realm);
}
// FIXME: This needs to be called any time a descendant's text is modified.

View file

@ -34,8 +34,8 @@ HTMLOptionsCollection::~HTMLOptionsCollection() = default;
void HTMLOptionsCollection::initialize(JS::Realm& realm)
{
Base::initialize(realm);
WEB_SET_PROTOTYPE_FOR_INTERFACE(HTMLOptionsCollection);
Base::initialize(realm);
}
// https://html.spec.whatwg.org/multipage/common-dom-interfaces.html#dom-htmloptionscollection-length

View file

@ -22,8 +22,8 @@ HTMLOutputElement::~HTMLOutputElement() = default;
void HTMLOutputElement::initialize(JS::Realm& realm)
{
Base::initialize(realm);
WEB_SET_PROTOTYPE_FOR_INTERFACE(HTMLOutputElement);
Base::initialize(realm);
}
void HTMLOutputElement::visit_edges(Cell::Visitor& visitor)

View file

@ -23,8 +23,8 @@ HTMLParagraphElement::~HTMLParagraphElement() = default;
void HTMLParagraphElement::initialize(JS::Realm& realm)
{
Base::initialize(realm);
WEB_SET_PROTOTYPE_FOR_INTERFACE(HTMLParagraphElement);
Base::initialize(realm);
}
bool HTMLParagraphElement::is_presentational_hint(FlyString const& name) const

View file

@ -21,8 +21,8 @@ HTMLParamElement::~HTMLParamElement() = default;
void HTMLParamElement::initialize(JS::Realm& realm)
{
Base::initialize(realm);
WEB_SET_PROTOTYPE_FOR_INTERFACE(HTMLParamElement);
Base::initialize(realm);
}
}

View file

@ -21,8 +21,8 @@ HTMLPictureElement::~HTMLPictureElement() = default;
void HTMLPictureElement::initialize(JS::Realm& realm)
{
Base::initialize(realm);
WEB_SET_PROTOTYPE_FOR_INTERFACE(HTMLPictureElement);
Base::initialize(realm);
}
}

View file

@ -24,8 +24,8 @@ HTMLPreElement::~HTMLPreElement() = default;
void HTMLPreElement::initialize(JS::Realm& realm)
{
Base::initialize(realm);
WEB_SET_PROTOTYPE_FOR_INTERFACE(HTMLPreElement);
Base::initialize(realm);
}
bool HTMLPreElement::is_presentational_hint(FlyString const& name) const

View file

@ -31,8 +31,8 @@ HTMLProgressElement::~HTMLProgressElement() = default;
void HTMLProgressElement::initialize(JS::Realm& realm)
{
Base::initialize(realm);
WEB_SET_PROTOTYPE_FOR_INTERFACE(HTMLProgressElement);
Base::initialize(realm);
}
void HTMLProgressElement::visit_edges(Cell::Visitor& visitor)

View file

@ -23,8 +23,8 @@ HTMLQuoteElement::~HTMLQuoteElement() = default;
void HTMLQuoteElement::initialize(JS::Realm& realm)
{
Base::initialize(realm);
WEB_SET_PROTOTYPE_FOR_INTERFACE(HTMLQuoteElement);
Base::initialize(realm);
}
Optional<ARIA::Role> HTMLQuoteElement::default_role() const

View file

@ -37,8 +37,8 @@ HTMLScriptElement::~HTMLScriptElement() = default;
void HTMLScriptElement::initialize(JS::Realm& realm)
{
Base::initialize(realm);
WEB_SET_PROTOTYPE_FOR_INTERFACE(HTMLScriptElement);
Base::initialize(realm);
}
void HTMLScriptElement::visit_edges(Cell::Visitor& visitor)

View file

@ -42,8 +42,8 @@ HTMLSelectElement::~HTMLSelectElement() = default;
void HTMLSelectElement::initialize(JS::Realm& realm)
{
Base::initialize(realm);
WEB_SET_PROTOTYPE_FOR_INTERFACE(HTMLSelectElement);
Base::initialize(realm);
}
void HTMLSelectElement::visit_edges(Cell::Visitor& visitor)

View file

@ -24,8 +24,8 @@ HTMLSlotElement::~HTMLSlotElement() = default;
void HTMLSlotElement::initialize(JS::Realm& realm)
{
Base::initialize(realm);
WEB_SET_PROTOTYPE_FOR_INTERFACE(HTMLSlotElement);
Base::initialize(realm);
}
void HTMLSlotElement::visit_edges(JS::Cell::Visitor& visitor)

View file

@ -23,8 +23,8 @@ HTMLSourceElement::~HTMLSourceElement() = default;
void HTMLSourceElement::initialize(JS::Realm& realm)
{
Base::initialize(realm);
WEB_SET_PROTOTYPE_FOR_INTERFACE(HTMLSourceElement);
Base::initialize(realm);
}
// https://html.spec.whatwg.org/multipage/embedded-content.html#the-source-element:html-element-insertion-steps

View file

@ -21,8 +21,8 @@ HTMLSpanElement::~HTMLSpanElement() = default;
void HTMLSpanElement::initialize(JS::Realm& realm)
{
Base::initialize(realm);
WEB_SET_PROTOTYPE_FOR_INTERFACE(HTMLSpanElement);
Base::initialize(realm);
}
}

View file

@ -24,8 +24,8 @@ HTMLStyleElement::~HTMLStyleElement() = default;
void HTMLStyleElement::initialize(JS::Realm& realm)
{
Base::initialize(realm);
WEB_SET_PROTOTYPE_FOR_INTERFACE(HTMLStyleElement);
Base::initialize(realm);
}
void HTMLStyleElement::visit_edges(Cell::Visitor& visitor)

View file

@ -23,8 +23,8 @@ HTMLTableCaptionElement::~HTMLTableCaptionElement() = default;
void HTMLTableCaptionElement::initialize(JS::Realm& realm)
{
Base::initialize(realm);
WEB_SET_PROTOTYPE_FOR_INTERFACE(HTMLTableCaptionElement);
Base::initialize(realm);
}
bool HTMLTableCaptionElement::is_presentational_hint(FlyString const& name) const

View file

@ -33,8 +33,8 @@ HTMLTableCellElement::~HTMLTableCellElement() = default;
void HTMLTableCellElement::initialize(JS::Realm& realm)
{
Base::initialize(realm);
WEB_SET_PROTOTYPE_FOR_INTERFACE(HTMLTableCellElement);
Base::initialize(realm);
}
bool HTMLTableCellElement::is_presentational_hint(FlyString const& name) const

View file

@ -24,8 +24,8 @@ HTMLTableColElement::~HTMLTableColElement() = default;
void HTMLTableColElement::initialize(JS::Realm& realm)
{
Base::initialize(realm);
WEB_SET_PROTOTYPE_FOR_INTERFACE(HTMLTableColElement);
Base::initialize(realm);
}
// https://html.spec.whatwg.org/multipage/tables.html#dom-colgroup-span

View file

@ -37,8 +37,8 @@ HTMLTableElement::~HTMLTableElement() = default;
void HTMLTableElement::initialize(JS::Realm& realm)
{
Base::initialize(realm);
WEB_SET_PROTOTYPE_FOR_INTERFACE(HTMLTableElement);
Base::initialize(realm);
}
void HTMLTableElement::visit_edges(Cell::Visitor& visitor)

View file

@ -34,8 +34,8 @@ HTMLTableRowElement::~HTMLTableRowElement() = default;
void HTMLTableRowElement::initialize(JS::Realm& realm)
{
Base::initialize(realm);
WEB_SET_PROTOTYPE_FOR_INTERFACE(HTMLTableRowElement);
Base::initialize(realm);
}
bool HTMLTableRowElement::is_presentational_hint(FlyString const& name) const

View file

@ -31,8 +31,8 @@ HTMLTableSectionElement::~HTMLTableSectionElement() = default;
void HTMLTableSectionElement::initialize(JS::Realm& realm)
{
Base::initialize(realm);
WEB_SET_PROTOTYPE_FOR_INTERFACE(HTMLTableSectionElement);
Base::initialize(realm);
}
void HTMLTableSectionElement::visit_edges(Cell::Visitor& visitor)

View file

@ -22,8 +22,8 @@ HTMLTemplateElement::~HTMLTemplateElement() = default;
void HTMLTemplateElement::initialize(JS::Realm& realm)
{
Base::initialize(realm);
WEB_SET_PROTOTYPE_FOR_INTERFACE(HTMLTemplateElement);
Base::initialize(realm);
m_content = realm.create<DOM::DocumentFragment>(m_document->appropriate_template_contents_owner_document());
m_content->set_host(this);

View file

@ -60,8 +60,8 @@ void HTMLTextAreaElement::adjust_computed_style(CSS::ComputedProperties& style)
void HTMLTextAreaElement::initialize(JS::Realm& realm)
{
Base::initialize(realm);
WEB_SET_PROTOTYPE_FOR_INTERFACE(HTMLTextAreaElement);
Base::initialize(realm);
}
void HTMLTextAreaElement::visit_edges(Cell::Visitor& visitor)

View file

@ -19,8 +19,8 @@ HTMLTimeElement::HTMLTimeElement(DOM::Document& document, DOM::QualifiedName qua
void HTMLTimeElement::initialize(JS::Realm& realm)
{
Base::initialize(realm);
WEB_SET_PROTOTYPE_FOR_INTERFACE(HTMLTimeElement);
Base::initialize(realm);
}
HTMLTimeElement::~HTMLTimeElement() = default;

View file

@ -23,8 +23,8 @@ HTMLTitleElement::~HTMLTitleElement() = default;
void HTMLTitleElement::initialize(JS::Realm& realm)
{
Base::initialize(realm);
WEB_SET_PROTOTYPE_FOR_INTERFACE(HTMLTitleElement);
Base::initialize(realm);
}
void HTMLTitleElement::children_changed(ChildrenChangedMetadata const* metadata)

View file

@ -34,8 +34,8 @@ HTMLTrackElement::~HTMLTrackElement() = default;
void HTMLTrackElement::initialize(JS::Realm& realm)
{
Base::initialize(realm);
WEB_SET_PROTOTYPE_FOR_INTERFACE(HTMLTrackElement);
Base::initialize(realm);
}
void HTMLTrackElement::visit_edges(Cell::Visitor& visitor)

View file

@ -22,8 +22,8 @@ HTMLUListElement::~HTMLUListElement() = default;
void HTMLUListElement::initialize(JS::Realm& realm)
{
Base::initialize(realm);
WEB_SET_PROTOTYPE_FOR_INTERFACE(HTMLUListElement);
Base::initialize(realm);
}
bool HTMLUListElement::is_presentational_hint(FlyString const& name) const

View file

@ -21,8 +21,8 @@ HTMLUnknownElement::~HTMLUnknownElement() = default;
void HTMLUnknownElement::initialize(JS::Realm& realm)
{
Base::initialize(realm);
WEB_SET_PROTOTYPE_FOR_INTERFACE(HTMLUnknownElement);
Base::initialize(realm);
}
}

View file

@ -37,8 +37,8 @@ HTMLVideoElement::~HTMLVideoElement() = default;
void HTMLVideoElement::initialize(JS::Realm& realm)
{
Base::initialize(realm);
WEB_SET_PROTOTYPE_FOR_INTERFACE(HTMLVideoElement);
Base::initialize(realm);
}
void HTMLVideoElement::finalize()

View file

@ -33,8 +33,8 @@ HashChangeEvent::HashChangeEvent(JS::Realm& realm, FlyString const& event_name,
void HashChangeEvent::initialize(JS::Realm& realm)
{
Base::initialize(realm);
WEB_SET_PROTOTYPE_FOR_INTERFACE(HashChangeEvent);
Base::initialize(realm);
}
void HashChangeEvent::visit_edges(JS::Cell::Visitor& visitor)

View file

@ -32,8 +32,8 @@ History::~History() = default;
void History::initialize(JS::Realm& realm)
{
Base::initialize(realm);
WEB_SET_PROTOTYPE_FOR_INTERFACE(History);
Base::initialize(realm);
}
void History::visit_edges(Cell::Visitor& visitor)

View file

@ -24,8 +24,8 @@ ImageBitmap::ImageBitmap(JS::Realm& realm)
void ImageBitmap::initialize(JS::Realm& realm)
{
Base::initialize(realm);
WEB_SET_PROTOTYPE_FOR_INTERFACE(ImageBitmap);
Base::initialize(realm);
}
void ImageBitmap::visit_edges(Cell::Visitor& visitor)

Some files were not shown because too many files have changed in this diff Show more