Skip to content

Commit

Permalink
LibWeb: Avoid FlyString lookups when setting IDL interface prototypes
Browse files Browse the repository at this point in the history
This commit introduces a WEB_SET_PROTOTYPE_FOR_INTERFACE macro that
caches the interface name in a local static FlyString. This means that
we only pay for FlyString-from-literal lookup once per browser lifetime
instead of every time the interface is instantiated.
  • Loading branch information
awesomekling committed Mar 16, 2024
1 parent eb64d09 commit bfbc08e
Show file tree
Hide file tree
Showing 284 changed files with 291 additions and 283 deletions.
2 changes: 1 addition & 1 deletion Userland/Libraries/LibWeb/Animations/Animation.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -1331,7 +1331,7 @@ Animation::Animation(JS::Realm& realm)
void Animation::initialize(JS::Realm& realm)
{
Base::initialize(realm);
set_prototype(&Bindings::ensure_web_prototype<Bindings::AnimationPrototype>(realm, "Animation"_fly_string));
WEB_SET_PROTOTYPE_FOR_INTERFACE(Animation);
}

void Animation::visit_edges(Cell::Visitor& visitor)
Expand Down
2 changes: 1 addition & 1 deletion Userland/Libraries/LibWeb/Animations/AnimationEffect.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -604,7 +604,7 @@ AnimationEffect::AnimationEffect(JS::Realm& realm)
void AnimationEffect::initialize(JS::Realm& realm)
{
Base::initialize(realm);
set_prototype(&Bindings::ensure_web_prototype<Bindings::AnimationEffectPrototype>(realm, "AnimationEffect"_fly_string));
WEB_SET_PROTOTYPE_FOR_INTERFACE(AnimationEffect);
}

}
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,7 @@ AnimationPlaybackEvent::AnimationPlaybackEvent(JS::Realm& realm, FlyString const
void AnimationPlaybackEvent::initialize(JS::Realm& realm)
{
Base::initialize(realm);
set_prototype(&Bindings::ensure_web_prototype<Bindings::AnimationPlaybackEventPrototype>(realm, "AnimationPlaybackEvent"_fly_string));
WEB_SET_PROTOTYPE_FOR_INTERFACE(AnimationPlaybackEvent);
}

}
2 changes: 1 addition & 1 deletion Userland/Libraries/LibWeb/Animations/AnimationTimeline.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -57,7 +57,7 @@ void AnimationTimeline::finalize()
void AnimationTimeline::initialize(JS::Realm& realm)
{
Base::initialize(realm);
set_prototype(&Bindings::ensure_web_prototype<Bindings::AnimationTimelinePrototype>(realm, "AnimationTimeline"_fly_string));
WEB_SET_PROTOTYPE_FOR_INTERFACE(AnimationTimeline);
}

void AnimationTimeline::visit_edges(Cell::Visitor& visitor)
Expand Down
2 changes: 1 addition & 1 deletion Userland/Libraries/LibWeb/Animations/DocumentTimeline.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -77,7 +77,7 @@ DocumentTimeline::DocumentTimeline(JS::Realm& realm, DOM::Document& document, Hi
void DocumentTimeline::initialize(JS::Realm& realm)
{
Base::initialize(realm);
set_prototype(&Bindings::ensure_web_prototype<Bindings::DocumentTimelinePrototype>(realm, "DocumentTimeline"_fly_string));
WEB_SET_PROTOTYPE_FOR_INTERFACE(DocumentTimeline);
}

}
2 changes: 1 addition & 1 deletion Userland/Libraries/LibWeb/Animations/KeyframeEffect.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -860,7 +860,7 @@ KeyframeEffect::KeyframeEffect(JS::Realm& realm)
void KeyframeEffect::initialize(JS::Realm& realm)
{
Base::initialize(realm);
set_prototype(&Bindings::ensure_web_prototype<Bindings::KeyframeEffectPrototype>(realm, "KeyframeEffect"_fly_string));
WEB_SET_PROTOTYPE_FOR_INTERFACE(KeyframeEffect);
}

void KeyframeEffect::visit_edges(Cell::Visitor& visitor)
Expand Down
8 changes: 8 additions & 0 deletions Userland/Libraries/LibWeb/Bindings/Intrinsics.h
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,14 @@
#include <LibJS/Runtime/VM.h>
#include <LibWeb/Bindings/HostDefined.h>

#define WEB_SET_PROTOTYPE_FOR_INTERFACE_WITH_CUSTOM_NAME(interface_class, interface_name) \
do { \
static auto name = #interface_name##_fly_string; \
set_prototype(&Bindings::ensure_web_prototype<Bindings::interface_class##Prototype>(realm, name)); \
} while (0)

#define WEB_SET_PROTOTYPE_FOR_INTERFACE(interface_name) WEB_SET_PROTOTYPE_FOR_INTERFACE_WITH_CUSTOM_NAME(interface_name, interface_name)

namespace Web::Bindings {

class Intrinsics final : public JS::Cell {
Expand Down
2 changes: 1 addition & 1 deletion Userland/Libraries/LibWeb/CSS/AnimationEvent.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@ AnimationEvent::AnimationEvent(JS::Realm& realm, FlyString const& type, Animatio
void AnimationEvent::initialize(JS::Realm& realm)
{
Base::initialize(realm);
set_prototype(&Bindings::ensure_web_prototype<Bindings::AnimationEventPrototype>(realm, "AnimationEvent"_fly_string));
WEB_SET_PROTOTYPE_FOR_INTERFACE(AnimationEvent);
}

}
2 changes: 1 addition & 1 deletion Userland/Libraries/LibWeb/CSS/CSSAnimation.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -73,7 +73,7 @@ CSSAnimation::CSSAnimation(JS::Realm& realm)
void CSSAnimation::initialize(JS::Realm& realm)
{
Base::initialize(realm);
set_prototype(&Bindings::ensure_web_prototype<Bindings::CSSAnimationPrototype>(realm, "CSSAnimation"_fly_string));
WEB_SET_PROTOTYPE_FOR_INTERFACE(CSSAnimation);
}

void CSSAnimation::visit_edges(Cell::Visitor& visitor)
Expand Down
2 changes: 1 addition & 1 deletion Userland/Libraries/LibWeb/CSS/CSSConditionRule.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@ void CSSConditionRule::for_each_effective_keyframes_at_rule(Function<void(CSSKey
void CSSConditionRule::initialize(JS::Realm& realm)
{
Base::initialize(realm);
set_prototype(&Bindings::ensure_web_prototype<Bindings::CSSConditionRulePrototype>(realm, "CSSConditionRule"_fly_string));
WEB_SET_PROTOTYPE_FOR_INTERFACE(CSSConditionRule);
}

}
2 changes: 1 addition & 1 deletion Userland/Libraries/LibWeb/CSS/CSSFontFaceRule.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@ CSSFontFaceRule::CSSFontFaceRule(JS::Realm& realm, FontFace&& font_face)
void CSSFontFaceRule::initialize(JS::Realm& realm)
{
Base::initialize(realm);
set_prototype(&Bindings::ensure_web_prototype<Bindings::CSSFontFaceRulePrototype>(realm, "CSSFontFaceRule"_fly_string));
WEB_SET_PROTOTYPE_FOR_INTERFACE(CSSFontFaceRule);
}

CSSStyleDeclaration* CSSFontFaceRule::style()
Expand Down
2 changes: 1 addition & 1 deletion Userland/Libraries/LibWeb/CSS/CSSGroupingRule.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@ CSSGroupingRule::CSSGroupingRule(JS::Realm& realm, CSSRuleList& rules)
void CSSGroupingRule::initialize(JS::Realm& realm)
{
Base::initialize(realm);
set_prototype(&Bindings::ensure_web_prototype<Bindings::CSSGroupingRulePrototype>(realm, "CSSGroupingRule"_fly_string));
WEB_SET_PROTOTYPE_FOR_INTERFACE(CSSGroupingRule);
}

void CSSGroupingRule::visit_edges(Cell::Visitor& visitor)
Expand Down
2 changes: 1 addition & 1 deletion Userland/Libraries/LibWeb/CSS/CSSImportRule.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -45,7 +45,7 @@ CSSImportRule::CSSImportRule(URL url, DOM::Document& document)
void CSSImportRule::initialize(JS::Realm& realm)
{
Base::initialize(realm);
set_prototype(&Bindings::ensure_web_prototype<Bindings::CSSImportRulePrototype>(realm, "CSSImportRule"_fly_string));
WEB_SET_PROTOTYPE_FOR_INTERFACE(CSSImportRule);
}

void CSSImportRule::visit_edges(Cell::Visitor& visitor)
Expand Down
2 changes: 1 addition & 1 deletion Userland/Libraries/LibWeb/CSS/CSSKeyframeRule.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@ void CSSKeyframeRule::visit_edges(Visitor& visitor)
void CSSKeyframeRule::initialize(JS::Realm& realm)
{
Base::initialize(realm);
set_prototype(&Bindings::ensure_web_prototype<Bindings::CSSKeyframeRulePrototype>(realm, "CSSKeyframeRule"_fly_string));
WEB_SET_PROTOTYPE_FOR_INTERFACE(CSSKeyframeRule);
}

String CSSKeyframeRule::serialized() const
Expand Down
2 changes: 1 addition & 1 deletion Userland/Libraries/LibWeb/CSS/CSSKeyframesRule.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@ void CSSKeyframesRule::visit_edges(Visitor& visitor)
void CSSKeyframesRule::initialize(JS::Realm& realm)
{
Base::initialize(realm);
set_prototype(&Bindings::ensure_web_prototype<Bindings::CSSKeyframesRulePrototype>(realm, "CSSKeyframesRule"_fly_string));
WEB_SET_PROTOTYPE_FOR_INTERFACE(CSSKeyframesRule);
}

String CSSKeyframesRule::serialized() const
Expand Down
2 changes: 1 addition & 1 deletion Userland/Libraries/LibWeb/CSS/CSSMediaRule.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@ CSSMediaRule::CSSMediaRule(JS::Realm& realm, MediaList& media, CSSRuleList& rule
void CSSMediaRule::initialize(JS::Realm& realm)
{
Base::initialize(realm);
set_prototype(&Bindings::ensure_web_prototype<Bindings::CSSMediaRulePrototype>(realm, "CSSMediaRule"_fly_string));
WEB_SET_PROTOTYPE_FOR_INTERFACE(CSSMediaRule);
}

void CSSMediaRule::visit_edges(Cell::Visitor& visitor)
Expand Down
2 changes: 1 addition & 1 deletion Userland/Libraries/LibWeb/CSS/CSSNamespaceRule.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@ JS::NonnullGCPtr<CSSNamespaceRule> CSSNamespaceRule::create(JS::Realm& realm, Op
void CSSNamespaceRule::initialize(JS::Realm& realm)
{
Base::initialize(realm);
set_prototype(&Bindings::ensure_web_prototype<Bindings::CSSNamespaceRulePrototype>(realm, "CSSNamespaceRule"_fly_string));
WEB_SET_PROTOTYPE_FOR_INTERFACE(CSSNamespaceRule);
}

// https://www.w3.org/TR/cssom/#serialize-a-css-rule
Expand Down
2 changes: 1 addition & 1 deletion Userland/Libraries/LibWeb/CSS/CSSRuleList.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -42,7 +42,7 @@ JS::NonnullGCPtr<CSSRuleList> CSSRuleList::create_empty(JS::Realm& realm)
void CSSRuleList::initialize(JS::Realm& realm)
{
Base::initialize(realm);
set_prototype(&Bindings::ensure_web_prototype<Bindings::CSSRuleListPrototype>(realm, "CSSRuleList"_fly_string));
WEB_SET_PROTOTYPE_FOR_INTERFACE(CSSRuleList);
}

void CSSRuleList::visit_edges(Cell::Visitor& visitor)
Expand Down
2 changes: 1 addition & 1 deletion Userland/Libraries/LibWeb/CSS/CSSStyleDeclaration.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@ CSSStyleDeclaration::CSSStyleDeclaration(JS::Realm& realm)
void CSSStyleDeclaration::initialize(JS::Realm& realm)
{
Base::initialize(realm);
set_prototype(&Bindings::ensure_web_prototype<Bindings::CSSStyleDeclarationPrototype>(realm, "CSSStyleDeclaration"_fly_string));
WEB_SET_PROTOTYPE_FOR_INTERFACE(CSSStyleDeclaration);
}

JS::NonnullGCPtr<PropertyOwningCSSStyleDeclaration> PropertyOwningCSSStyleDeclaration::create(JS::Realm& realm, Vector<StyleProperty> properties, HashMap<FlyString, StyleProperty> custom_properties)
Expand Down
2 changes: 1 addition & 1 deletion Userland/Libraries/LibWeb/CSS/CSSStyleRule.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@ CSSStyleRule::CSSStyleRule(JS::Realm& realm, Vector<NonnullRefPtr<Selector>>&& s
void CSSStyleRule::initialize(JS::Realm& realm)
{
Base::initialize(realm);
set_prototype(&Bindings::ensure_web_prototype<Bindings::CSSStyleRulePrototype>(realm, "CSSStyleRule"_fly_string));
WEB_SET_PROTOTYPE_FOR_INTERFACE(CSSStyleRule);
}

void CSSStyleRule::visit_edges(Cell::Visitor& visitor)
Expand Down
2 changes: 1 addition & 1 deletion Userland/Libraries/LibWeb/CSS/CSSStyleSheet.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -111,7 +111,7 @@ CSSStyleSheet::CSSStyleSheet(JS::Realm& realm, CSSRuleList& rules, MediaList& me
void CSSStyleSheet::initialize(JS::Realm& realm)
{
Base::initialize(realm);
set_prototype(&Bindings::ensure_web_prototype<Bindings::CSSStyleSheetPrototype>(realm, "CSSStyleSheet"_fly_string));
WEB_SET_PROTOTYPE_FOR_INTERFACE(CSSStyleSheet);
}

void CSSStyleSheet::visit_edges(Cell::Visitor& visitor)
Expand Down
2 changes: 1 addition & 1 deletion Userland/Libraries/LibWeb/CSS/CSSSupportsRule.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@ CSSSupportsRule::CSSSupportsRule(JS::Realm& realm, NonnullRefPtr<Supports>&& sup
void CSSSupportsRule::initialize(JS::Realm& realm)
{
Base::initialize(realm);
set_prototype(&Bindings::ensure_web_prototype<Bindings::CSSSupportsRulePrototype>(realm, "CSSSupportsRule"_fly_string));
WEB_SET_PROTOTYPE_FOR_INTERFACE(CSSSupportsRule);
}

String CSSSupportsRule::condition_text() const
Expand Down
2 changes: 1 addition & 1 deletion Userland/Libraries/LibWeb/CSS/MediaList.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@ MediaList::MediaList(JS::Realm& realm, Vector<NonnullRefPtr<MediaQuery>>&& media
void MediaList::initialize(JS::Realm& realm)
{
Base::initialize(realm);
set_prototype(&Bindings::ensure_web_prototype<Bindings::MediaListPrototype>(realm, "MediaList"_fly_string));
WEB_SET_PROTOTYPE_FOR_INTERFACE(MediaList);
}

// https://www.w3.org/TR/cssom-1/#dom-medialist-mediatext
Expand Down
2 changes: 1 addition & 1 deletion Userland/Libraries/LibWeb/CSS/MediaQueryList.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@ MediaQueryList::MediaQueryList(DOM::Document& document, Vector<NonnullRefPtr<Med
void MediaQueryList::initialize(JS::Realm& realm)
{
Base::initialize(realm);
set_prototype(&Bindings::ensure_web_prototype<Bindings::MediaQueryListPrototype>(realm, "MediaQueryList"_fly_string));
WEB_SET_PROTOTYPE_FOR_INTERFACE(MediaQueryList);
}

void MediaQueryList::visit_edges(Cell::Visitor& visitor)
Expand Down
2 changes: 1 addition & 1 deletion Userland/Libraries/LibWeb/CSS/MediaQueryListEvent.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@ MediaQueryListEvent::~MediaQueryListEvent() = default;
void MediaQueryListEvent::initialize(JS::Realm& realm)
{
Base::initialize(realm);
set_prototype(&Bindings::ensure_web_prototype<Bindings::MediaQueryListEventPrototype>(realm, "MediaQueryListEvent"_fly_string));
WEB_SET_PROTOTYPE_FOR_INTERFACE(MediaQueryListEvent);
}

}
2 changes: 1 addition & 1 deletion Userland/Libraries/LibWeb/CSS/Screen.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@ Screen::Screen(HTML::Window& window)
void Screen::initialize(JS::Realm& realm)
{
Base::initialize(realm);
set_prototype(&Bindings::ensure_web_prototype<Bindings::ScreenPrototype>(realm, "Screen"_fly_string));
WEB_SET_PROTOTYPE_FOR_INTERFACE(Screen);
}

void Screen::visit_edges(Cell::Visitor& visitor)
Expand Down
2 changes: 1 addition & 1 deletion Userland/Libraries/LibWeb/CSS/StyleSheetList.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -80,7 +80,7 @@ StyleSheetList::StyleSheetList(DOM::Document& document)
void StyleSheetList::initialize(JS::Realm& realm)
{
Base::initialize(realm);
set_prototype(&Bindings::ensure_web_prototype<Bindings::StyleSheetListPrototype>(realm, "StyleSheetList"_fly_string));
WEB_SET_PROTOTYPE_FOR_INTERFACE(StyleSheetList);
}

void StyleSheetList::visit_edges(Cell::Visitor& visitor)
Expand Down
2 changes: 1 addition & 1 deletion Userland/Libraries/LibWeb/CSS/VisualViewport.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@ VisualViewport::VisualViewport(DOM::Document& document)
void VisualViewport::initialize(JS::Realm& realm)
{
Base::initialize(realm);
set_prototype(&Bindings::ensure_web_prototype<Bindings::VisualViewportPrototype>(realm, "VisualViewport"_fly_string));
WEB_SET_PROTOTYPE_FOR_INTERFACE(VisualViewport);
}

void VisualViewport::visit_edges(Cell::Visitor& visitor)
Expand Down
2 changes: 1 addition & 1 deletion Userland/Libraries/LibWeb/Clipboard/Clipboard.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,7 @@ Clipboard::~Clipboard() = default;
void Clipboard::initialize(JS::Realm& realm)
{
Base::initialize(realm);
set_prototype(&Bindings::ensure_web_prototype<Bindings::ClipboardPrototype>(realm, "Clipboard"_fly_string));
WEB_SET_PROTOTYPE_FOR_INTERFACE(Clipboard);
}

// https://w3c.github.io/clipboard-apis/#os-specific-well-known-format
Expand Down
2 changes: 1 addition & 1 deletion Userland/Libraries/LibWeb/Crypto/Crypto.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@ Crypto::~Crypto() = default;
void Crypto::initialize(JS::Realm& realm)
{
Base::initialize(realm);
set_prototype(&Bindings::ensure_web_prototype<Bindings::CryptoPrototype>(realm, "Crypto"_fly_string));
WEB_SET_PROTOTYPE_FOR_INTERFACE(Crypto);
m_subtle = SubtleCrypto::create(realm);
}

Expand Down
2 changes: 1 addition & 1 deletion Userland/Libraries/LibWeb/Crypto/CryptoKey.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,7 @@ CryptoKey::~CryptoKey()
void CryptoKey::initialize(JS::Realm& realm)
{
Base::initialize(realm);
set_prototype(&Bindings::ensure_web_prototype<Bindings::CryptoKeyPrototype>(realm, "CryptoKey"_fly_string));
WEB_SET_PROTOTYPE_FOR_INTERFACE(CryptoKey);
}

void CryptoKey::visit_edges(Visitor& visitor)
Expand Down
2 changes: 1 addition & 1 deletion Userland/Libraries/LibWeb/Crypto/SubtleCrypto.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -44,7 +44,7 @@ SubtleCrypto::~SubtleCrypto() = default;
void SubtleCrypto::initialize(JS::Realm& realm)
{
Base::initialize(realm);
set_prototype(&Bindings::ensure_web_prototype<Bindings::SubtleCryptoPrototype>(realm, "SubtleCrypto"_fly_string));
WEB_SET_PROTOTYPE_FOR_INTERFACE(SubtleCrypto);
}

// https://w3c.github.io/webcrypto/#dfn-normalize-an-algorithm
Expand Down
2 changes: 1 addition & 1 deletion Userland/Libraries/LibWeb/DOM/AbortController.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@ AbortController::~AbortController() = default;
void AbortController::initialize(JS::Realm& realm)
{
Base::initialize(realm);
set_prototype(&Bindings::ensure_web_prototype<Bindings::AbortControllerPrototype>(realm, "AbortController"_fly_string));
WEB_SET_PROTOTYPE_FOR_INTERFACE(AbortController);
}

void AbortController::visit_edges(Cell::Visitor& visitor)
Expand Down
2 changes: 1 addition & 1 deletion Userland/Libraries/LibWeb/DOM/AbortSignal.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@ AbortSignal::AbortSignal(JS::Realm& realm)
void AbortSignal::initialize(JS::Realm& realm)
{
Base::initialize(realm);
set_prototype(&Bindings::ensure_web_prototype<Bindings::AbortSignalPrototype>(realm, "AbortSignal"_fly_string));
WEB_SET_PROTOTYPE_FOR_INTERFACE(AbortSignal);
}

// https://dom.spec.whatwg.org/#abortsignal-add
Expand Down
2 changes: 1 addition & 1 deletion Userland/Libraries/LibWeb/DOM/AbstractRange.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ AbstractRange::~AbstractRange() = default;
void AbstractRange::initialize(JS::Realm& realm)
{
Base::initialize(realm);
set_prototype(&Bindings::ensure_web_prototype<Bindings::AbstractRangePrototype>(realm, "AbstractRange"_fly_string));
WEB_SET_PROTOTYPE_FOR_INTERFACE(AbstractRange);
}

void AbstractRange::visit_edges(Cell::Visitor& visitor)
Expand Down
2 changes: 1 addition & 1 deletion Userland/Libraries/LibWeb/DOM/Attr.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -44,7 +44,7 @@ Attr::Attr(Document& document, QualifiedName qualified_name, String value, Eleme
void Attr::initialize(JS::Realm& realm)
{
Base::initialize(realm);
set_prototype(&Bindings::ensure_web_prototype<Bindings::AttrPrototype>(realm, "Attr"_fly_string));
WEB_SET_PROTOTYPE_FOR_INTERFACE(Attr);
}

void Attr::visit_edges(Cell::Visitor& visitor)
Expand Down
2 changes: 1 addition & 1 deletion Userland/Libraries/LibWeb/DOM/CDATASection.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ CDATASection::~CDATASection() = default;
void CDATASection::initialize(JS::Realm& realm)
{
Base::initialize(realm);
set_prototype(&Bindings::ensure_web_prototype<Bindings::CDATASectionPrototype>(realm, "CDATASection"_fly_string));
WEB_SET_PROTOTYPE_FOR_INTERFACE(CDATASection);
}

}
2 changes: 1 addition & 1 deletion Userland/Libraries/LibWeb/DOM/CharacterData.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@ CharacterData::CharacterData(Document& document, NodeType type, String const& da
void CharacterData::initialize(JS::Realm& realm)
{
Base::initialize(realm);
set_prototype(&Bindings::ensure_web_prototype<Bindings::CharacterDataPrototype>(realm, "CharacterData"_fly_string));
WEB_SET_PROTOTYPE_FOR_INTERFACE(CharacterData);
}

// https://dom.spec.whatwg.org/#dom-characterdata-data
Expand Down
2 changes: 1 addition & 1 deletion Userland/Libraries/LibWeb/DOM/Comment.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@ WebIDL::ExceptionOr<JS::NonnullGCPtr<Comment>> Comment::construct_impl(JS::Realm
void Comment::initialize(JS::Realm& realm)
{
Base::initialize(realm);
set_prototype(&Bindings::ensure_web_prototype<Bindings::CommentPrototype>(realm, "Comment"_fly_string));
WEB_SET_PROTOTYPE_FOR_INTERFACE(Comment);
}

}
2 changes: 1 addition & 1 deletion Userland/Libraries/LibWeb/DOM/CustomEvent.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@ CustomEvent::~CustomEvent() = default;
void CustomEvent::initialize(JS::Realm& realm)
{
Base::initialize(realm);
set_prototype(&Bindings::ensure_web_prototype<Bindings::CustomEventPrototype>(realm, "CustomEvent"_fly_string));
WEB_SET_PROTOTYPE_FOR_INTERFACE(CustomEvent);
}

void CustomEvent::visit_edges(JS::Cell::Visitor& visitor)
Expand Down
2 changes: 1 addition & 1 deletion Userland/Libraries/LibWeb/DOM/DOMImplementation.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,7 @@ DOMImplementation::~DOMImplementation() = default;
void DOMImplementation::initialize(JS::Realm& realm)
{
Base::initialize(realm);
set_prototype(&Bindings::ensure_web_prototype<Bindings::DOMImplementationPrototype>(realm, "DOMImplementation"_fly_string));
WEB_SET_PROTOTYPE_FOR_INTERFACE(DOMImplementation);
}

void DOMImplementation::visit_edges(Cell::Visitor& visitor)
Expand Down
2 changes: 1 addition & 1 deletion Userland/Libraries/LibWeb/DOM/DOMTokenList.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -74,7 +74,7 @@ DOMTokenList::DOMTokenList(Element& associated_element, FlyString associated_att
void DOMTokenList::initialize(JS::Realm& realm)
{
Base::initialize(realm);
set_prototype(&Bindings::ensure_web_prototype<Bindings::DOMTokenListPrototype>(realm, "DOMTokenList"_fly_string));
WEB_SET_PROTOTYPE_FOR_INTERFACE(DOMTokenList);
}

void DOMTokenList::visit_edges(Cell::Visitor& visitor)
Expand Down
2 changes: 1 addition & 1 deletion Userland/Libraries/LibWeb/DOM/Document.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -374,7 +374,7 @@ Document::~Document()
void Document::initialize(JS::Realm& realm)
{
Base::initialize(realm);
set_prototype(&Bindings::ensure_web_prototype<Bindings::DocumentPrototype>(realm, "Document"_fly_string));
WEB_SET_PROTOTYPE_FOR_INTERFACE(Document);

m_selection = heap().allocate<Selection::Selection>(realm, realm, *this);

Expand Down
Loading

0 comments on commit bfbc08e

Please sign in to comment.