mirror of
https://github.com/fergalmoran/ladybird.git
synced 2026-01-06 16:45:03 +00:00
LibWeb: Fix a few "missing visit_edges" warnings from the GC verifier
This commit is contained in:
committed by
Andreas Kling
parent
3c3ead5ff4
commit
aac873fcec
@@ -2814,6 +2814,8 @@ private:
|
||||
virtual JS::ThrowCompletionOr<bool> internal_set_prototype_of(JS::Object* prototype) override;
|
||||
virtual JS::ThrowCompletionOr<bool> internal_prevent_extensions() override;
|
||||
|
||||
virtual void visit_edges(Visitor&) override;
|
||||
|
||||
JS::NonnullGCPtr<JS::Realm> m_realm; // [[Realm]]
|
||||
};
|
||||
)~~~");
|
||||
@@ -2953,6 +2955,12 @@ JS::ThrowCompletionOr<bool> @named_properties_class@::internal_prevent_extension
|
||||
// Note: this keeps named properties object extensible by making [[PreventExtensions]] fail.
|
||||
return false;
|
||||
}
|
||||
|
||||
void @named_properties_class@::visit_edges(Visitor& visitor)
|
||||
{
|
||||
Base::visit_edges(visitor);
|
||||
visitor.visit(m_realm);
|
||||
}
|
||||
)~~~");
|
||||
}
|
||||
|
||||
|
||||
@@ -57,6 +57,12 @@ JS_DEFINE_NATIVE_FUNCTION(KeyAlgorithm::name_getter)
|
||||
return JS::PrimitiveString::create(vm, name);
|
||||
}
|
||||
|
||||
void KeyAlgorithm::visit_edges(Visitor& visitor)
|
||||
{
|
||||
Base::visit_edges(visitor);
|
||||
visitor.visit(m_realm);
|
||||
}
|
||||
|
||||
JS::NonnullGCPtr<RsaKeyAlgorithm> RsaKeyAlgorithm::create(JS::Realm& realm)
|
||||
{
|
||||
return realm.heap().allocate<RsaKeyAlgorithm>(realm, realm);
|
||||
@@ -143,11 +149,6 @@ JS_DEFINE_NATIVE_FUNCTION(EcKeyAlgorithm::named_curve_getter)
|
||||
return JS::PrimitiveString::create(vm, impl->named_curve());
|
||||
}
|
||||
|
||||
void EcKeyAlgorithm::visit_edges(Visitor& visitor)
|
||||
{
|
||||
Base::visit_edges(visitor);
|
||||
}
|
||||
|
||||
JS::NonnullGCPtr<RsaHashedKeyAlgorithm> RsaHashedKeyAlgorithm::create(JS::Realm& realm)
|
||||
{
|
||||
return realm.heap().allocate<RsaHashedKeyAlgorithm>(realm, realm);
|
||||
|
||||
@@ -17,7 +17,7 @@ namespace Web::Crypto {
|
||||
|
||||
// https://w3c.github.io/webcrypto/#key-algorithm-dictionary
|
||||
class KeyAlgorithm : public JS::Object {
|
||||
JS_OBJECT(KeyAlgorithm, Object);
|
||||
JS_OBJECT(KeyAlgorithm, JS::Object);
|
||||
JS_DECLARE_ALLOCATOR(KeyAlgorithm);
|
||||
|
||||
public:
|
||||
@@ -33,6 +33,7 @@ protected:
|
||||
KeyAlgorithm(JS::Realm&);
|
||||
|
||||
virtual void initialize(JS::Realm&) override;
|
||||
virtual void visit_edges(Visitor&) override;
|
||||
|
||||
private:
|
||||
JS_DECLARE_NATIVE_FUNCTION(name_getter);
|
||||
@@ -113,7 +114,6 @@ protected:
|
||||
EcKeyAlgorithm(JS::Realm&);
|
||||
|
||||
virtual void initialize(JS::Realm&) override;
|
||||
virtual void visit_edges(Visitor&) override;
|
||||
|
||||
private:
|
||||
JS_DECLARE_NATIVE_FUNCTION(named_curve_getter);
|
||||
|
||||
@@ -513,4 +513,13 @@ void ViewportPaintable::recompute_selection_states()
|
||||
}
|
||||
}
|
||||
|
||||
void ViewportPaintable::visit_edges(Visitor& visitor)
|
||||
{
|
||||
Base::visit_edges(visitor);
|
||||
for (auto it : scroll_state)
|
||||
visitor.visit(it.key);
|
||||
for (auto it : clip_state)
|
||||
visitor.visit(it.key);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -37,6 +37,8 @@ private:
|
||||
void build_stacking_context_tree();
|
||||
|
||||
explicit ViewportPaintable(Layout::Viewport const&);
|
||||
|
||||
virtual void visit_edges(Visitor&) override;
|
||||
};
|
||||
|
||||
}
|
||||
|
||||
@@ -167,4 +167,11 @@ Optional<CSSPixelFraction> SVGDecodedImageData::intrinsic_aspect_ratio() const
|
||||
return {};
|
||||
}
|
||||
|
||||
void SVGDecodedImageData::SVGPageClient::visit_edges(Visitor& visitor)
|
||||
{
|
||||
Base::visit_edges(visitor);
|
||||
visitor.visit(m_host_page);
|
||||
visitor.visit(m_svg_page);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -81,6 +81,8 @@ private:
|
||||
: m_host_page(host_page)
|
||||
{
|
||||
}
|
||||
|
||||
virtual void visit_edges(Visitor&) override;
|
||||
};
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user