mirror of
https://github.com/LadybirdBrowser/ladybird.git
synced 2025-09-28 04:09:00 +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: 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_set_prototype_of(JS::Object* prototype) override;
|
||||||
virtual JS::ThrowCompletionOr<bool> internal_prevent_extensions() override;
|
virtual JS::ThrowCompletionOr<bool> internal_prevent_extensions() override;
|
||||||
|
|
||||||
|
virtual void visit_edges(Visitor&) override;
|
||||||
|
|
||||||
JS::NonnullGCPtr<JS::Realm> m_realm; // [[Realm]]
|
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.
|
// Note: this keeps named properties object extensible by making [[PreventExtensions]] fail.
|
||||||
return false;
|
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);
|
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)
|
JS::NonnullGCPtr<RsaKeyAlgorithm> RsaKeyAlgorithm::create(JS::Realm& realm)
|
||||||
{
|
{
|
||||||
return realm.heap().allocate<RsaKeyAlgorithm>(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());
|
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)
|
JS::NonnullGCPtr<RsaHashedKeyAlgorithm> RsaHashedKeyAlgorithm::create(JS::Realm& realm)
|
||||||
{
|
{
|
||||||
return realm.heap().allocate<RsaHashedKeyAlgorithm>(realm, realm);
|
return realm.heap().allocate<RsaHashedKeyAlgorithm>(realm, realm);
|
||||||
|
|
|
@ -17,7 +17,7 @@ namespace Web::Crypto {
|
||||||
|
|
||||||
// https://w3c.github.io/webcrypto/#key-algorithm-dictionary
|
// https://w3c.github.io/webcrypto/#key-algorithm-dictionary
|
||||||
class KeyAlgorithm : public JS::Object {
|
class KeyAlgorithm : public JS::Object {
|
||||||
JS_OBJECT(KeyAlgorithm, Object);
|
JS_OBJECT(KeyAlgorithm, JS::Object);
|
||||||
JS_DECLARE_ALLOCATOR(KeyAlgorithm);
|
JS_DECLARE_ALLOCATOR(KeyAlgorithm);
|
||||||
|
|
||||||
public:
|
public:
|
||||||
|
@ -33,6 +33,7 @@ protected:
|
||||||
KeyAlgorithm(JS::Realm&);
|
KeyAlgorithm(JS::Realm&);
|
||||||
|
|
||||||
virtual void initialize(JS::Realm&) override;
|
virtual void initialize(JS::Realm&) override;
|
||||||
|
virtual void visit_edges(Visitor&) override;
|
||||||
|
|
||||||
private:
|
private:
|
||||||
JS_DECLARE_NATIVE_FUNCTION(name_getter);
|
JS_DECLARE_NATIVE_FUNCTION(name_getter);
|
||||||
|
@ -113,7 +114,6 @@ protected:
|
||||||
EcKeyAlgorithm(JS::Realm&);
|
EcKeyAlgorithm(JS::Realm&);
|
||||||
|
|
||||||
virtual void initialize(JS::Realm&) override;
|
virtual void initialize(JS::Realm&) override;
|
||||||
virtual void visit_edges(Visitor&) override;
|
|
||||||
|
|
||||||
private:
|
private:
|
||||||
JS_DECLARE_NATIVE_FUNCTION(named_curve_getter);
|
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();
|
void build_stacking_context_tree();
|
||||||
|
|
||||||
explicit ViewportPaintable(Layout::Viewport const&);
|
explicit ViewportPaintable(Layout::Viewport const&);
|
||||||
|
|
||||||
|
virtual void visit_edges(Visitor&) override;
|
||||||
};
|
};
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -167,4 +167,11 @@ Optional<CSSPixelFraction> SVGDecodedImageData::intrinsic_aspect_ratio() const
|
||||||
return {};
|
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)
|
: m_host_page(host_page)
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
|
virtual void visit_edges(Visitor&) override;
|
||||||
};
|
};
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue