mirror of
https://github.com/LadybirdBrowser/ladybird.git
synced 2024-11-22 15:40:19 +00:00
LibWeb: Fix a few "missing visit_edges" warnings from the GC verifier
This commit is contained in:
parent
3c3ead5ff4
commit
aac873fcec
Notes:
sideshowbarker
2024-07-17 02:37:08 +09:00
Author: https://github.com/mattco98 Commit: https://github.com/SerenityOS/serenity/commit/aac873fcec Pull-request: https://github.com/SerenityOS/serenity/pull/23861 Reviewed-by: https://github.com/awesomekling
7 changed files with 36 additions and 7 deletions
|
@ -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;
|
||||
};
|
||||
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue