mirror of
https://github.com/LadybirdBrowser/ladybird.git
synced 2025-07-30 12:49:19 +00:00
LibJS+LibWeb: Use new Cell::Visitor helpers to avoid manual iteration
This commit is contained in:
parent
1a6d025793
commit
53d0dd4a2e
Notes:
sideshowbarker
2024-07-17 20:58:35 +09:00
Author: https://github.com/awesomekling
Commit: 53d0dd4a2e
Pull-request: https://github.com/SerenityOS/serenity/pull/23971
Reviewed-by: https://github.com/trflynn89
63 changed files with 98 additions and 213 deletions
|
@ -53,8 +53,7 @@ void Executable::dump() const
|
||||||
void Executable::visit_edges(Visitor& visitor)
|
void Executable::visit_edges(Visitor& visitor)
|
||||||
{
|
{
|
||||||
Base::visit_edges(visitor);
|
Base::visit_edges(visitor);
|
||||||
for (auto constant : constants)
|
visitor.visit(constants);
|
||||||
visitor.visit(constant);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -26,10 +26,8 @@ struct CallFrame {
|
||||||
|
|
||||||
void visit_edges(Cell::Visitor& visitor)
|
void visit_edges(Cell::Visitor& visitor)
|
||||||
{
|
{
|
||||||
for (auto const& value : registers())
|
visitor.visit(registers());
|
||||||
visitor.visit(value);
|
visitor.visit(saved_lexical_environments);
|
||||||
for (auto const& environment : saved_lexical_environments)
|
|
||||||
visitor.visit(environment);
|
|
||||||
for (auto& context : unwind_contexts) {
|
for (auto& context : unwind_contexts) {
|
||||||
visitor.visit(context.lexical_environment);
|
visitor.visit(context.lexical_environment);
|
||||||
}
|
}
|
||||||
|
|
|
@ -29,8 +29,7 @@ void CyclicModule::visit_edges(Cell::Visitor& visitor)
|
||||||
Base::visit_edges(visitor);
|
Base::visit_edges(visitor);
|
||||||
visitor.visit(m_cycle_root);
|
visitor.visit(m_cycle_root);
|
||||||
visitor.visit(m_top_level_capability);
|
visitor.visit(m_top_level_capability);
|
||||||
for (auto const& module : m_async_parent_modules)
|
visitor.visit(m_async_parent_modules);
|
||||||
visitor.visit(module);
|
|
||||||
for (auto const& loaded_module : m_loaded_modules)
|
for (auto const& loaded_module : m_loaded_modules)
|
||||||
visitor.visit(loaded_module.module);
|
visitor.visit(loaded_module.module);
|
||||||
}
|
}
|
||||||
|
@ -40,8 +39,7 @@ void GraphLoadingState::visit_edges(Cell::Visitor& visitor)
|
||||||
Base::visit_edges(visitor);
|
Base::visit_edges(visitor);
|
||||||
visitor.visit(promise_capability);
|
visitor.visit(promise_capability);
|
||||||
visitor.visit(host_defined);
|
visitor.visit(host_defined);
|
||||||
for (auto module : visited)
|
visitor.visit(visited);
|
||||||
visitor.visit(module);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// 16.2.1.5.1 LoadRequestedModules ( [ hostDefined ] ), https://tc39.es/ecma262/#sec-LoadRequestedModules
|
// 16.2.1.5.1 LoadRequestedModules ( [ hostDefined ] ), https://tc39.es/ecma262/#sec-LoadRequestedModules
|
||||||
|
|
|
@ -102,8 +102,7 @@ void BoundFunction::visit_edges(Visitor& visitor)
|
||||||
|
|
||||||
visitor.visit(m_bound_target_function);
|
visitor.visit(m_bound_target_function);
|
||||||
visitor.visit(m_bound_this);
|
visitor.visit(m_bound_this);
|
||||||
for (auto argument : m_bound_arguments)
|
visitor.visit(m_bound_arguments);
|
||||||
visitor.visit(argument);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -537,8 +537,7 @@ void ECMAScriptFunctionObject::visit_edges(Visitor& visitor)
|
||||||
visitor.visit(m_name_string);
|
visitor.visit(m_name_string);
|
||||||
|
|
||||||
visitor.visit(m_bytecode_executable);
|
visitor.visit(m_bytecode_executable);
|
||||||
for (auto& executable : m_default_parameter_bytecode_executables)
|
visitor.visit(m_default_parameter_bytecode_executables);
|
||||||
visitor.visit(executable);
|
|
||||||
|
|
||||||
for (auto& field : m_fields) {
|
for (auto& field : m_fields) {
|
||||||
if (auto* property_key_ptr = field.name.get_pointer<PropertyKey>(); property_key_ptr && property_key_ptr->is_symbol())
|
if (auto* property_key_ptr = field.name.get_pointer<PropertyKey>(); property_key_ptr && property_key_ptr->is_symbol())
|
||||||
|
|
|
@ -59,10 +59,8 @@ void ExecutionContext::visit_edges(Cell::Visitor& visitor)
|
||||||
if (instruction_stream_iterator.has_value())
|
if (instruction_stream_iterator.has_value())
|
||||||
visitor.visit(const_cast<Bytecode::Executable*>(instruction_stream_iterator.value().executable()));
|
visitor.visit(const_cast<Bytecode::Executable*>(instruction_stream_iterator.value().executable()));
|
||||||
visitor.visit(function_name);
|
visitor.visit(function_name);
|
||||||
for (auto argument : arguments)
|
visitor.visit(arguments);
|
||||||
visitor.visit(argument);
|
visitor.visit(locals);
|
||||||
for (auto local : locals)
|
|
||||||
visitor.visit(local);
|
|
||||||
script_or_module.visit(
|
script_or_module.visit(
|
||||||
[](Empty) {},
|
[](Empty) {},
|
||||||
[&](auto& script_or_module) {
|
[&](auto& script_or_module) {
|
||||||
|
|
|
@ -1394,9 +1394,7 @@ void Object::visit_edges(Cell::Visitor& visitor)
|
||||||
{
|
{
|
||||||
Base::visit_edges(visitor);
|
Base::visit_edges(visitor);
|
||||||
visitor.visit(m_shape);
|
visitor.visit(m_shape);
|
||||||
|
visitor.visit(m_storage);
|
||||||
for (auto& value : m_storage)
|
|
||||||
visitor.visit(value);
|
|
||||||
|
|
||||||
m_indexed_properties.for_each_value([&visitor](auto& value) {
|
m_indexed_properties.for_each_value([&visitor](auto& value) {
|
||||||
visitor.visit(value);
|
visitor.visit(value);
|
||||||
|
|
|
@ -395,10 +395,8 @@ void Promise::visit_edges(Cell::Visitor& visitor)
|
||||||
{
|
{
|
||||||
Base::visit_edges(visitor);
|
Base::visit_edges(visitor);
|
||||||
visitor.visit(m_result);
|
visitor.visit(m_result);
|
||||||
for (auto& reaction : m_fulfill_reactions)
|
visitor.visit(m_fulfill_reactions);
|
||||||
visitor.visit(reaction);
|
visitor.visit(m_reject_reactions);
|
||||||
for (auto& reaction : m_reject_reactions)
|
|
||||||
visitor.visit(reaction);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -24,8 +24,7 @@ JS_DEFINE_ALLOCATOR(PromiseAnyRejectElementFunction);
|
||||||
void PromiseValueList::visit_edges(Visitor& visitor)
|
void PromiseValueList::visit_edges(Visitor& visitor)
|
||||||
{
|
{
|
||||||
Base::visit_edges(visitor);
|
Base::visit_edges(visitor);
|
||||||
for (auto& val : m_values)
|
visitor.visit(m_values);
|
||||||
visitor.visit(val);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
PromiseResolvingElementFunction::PromiseResolvingElementFunction(size_t index, PromiseValueList& values, NonnullGCPtr<PromiseCapability const> capability, RemainingElements& remaining_elements, Object& prototype)
|
PromiseResolvingElementFunction::PromiseResolvingElementFunction(size_t index, PromiseValueList& values, NonnullGCPtr<PromiseCapability const> capability, RemainingElements& remaining_elements, Object& prototype)
|
||||||
|
|
|
@ -96,8 +96,7 @@ void Animatable::disassociate_with_animation(JS::NonnullGCPtr<Animation> animati
|
||||||
|
|
||||||
void Animatable::visit_edges(JS::Cell::Visitor& visitor)
|
void Animatable::visit_edges(JS::Cell::Visitor& visitor)
|
||||||
{
|
{
|
||||||
for (auto const& animation : m_associated_animations)
|
visitor.visit(m_associated_animations);
|
||||||
visitor.visit(animation);
|
|
||||||
visitor.visit(m_cached_animation_name_source);
|
visitor.visit(m_cached_animation_name_source);
|
||||||
visitor.visit(m_cached_animation_name_animation);
|
visitor.visit(m_cached_animation_name_animation);
|
||||||
}
|
}
|
||||||
|
|
|
@ -64,8 +64,7 @@ void AnimationTimeline::visit_edges(Cell::Visitor& visitor)
|
||||||
{
|
{
|
||||||
Base::visit_edges(visitor);
|
Base::visit_edges(visitor);
|
||||||
visitor.visit(m_associated_document);
|
visitor.visit(m_associated_document);
|
||||||
for (auto const& animation : m_associated_animations)
|
visitor.visit(m_associated_animations);
|
||||||
visitor.visit(animation);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -873,8 +873,7 @@ void KeyframeEffect::visit_edges(Cell::Visitor& visitor)
|
||||||
{
|
{
|
||||||
Base::visit_edges(visitor);
|
Base::visit_edges(visitor);
|
||||||
visitor.visit(m_target_element);
|
visitor.visit(m_target_element);
|
||||||
for (auto const& keyframe : m_keyframe_objects)
|
visitor.visit(m_keyframe_objects);
|
||||||
visitor.visit(keyframe);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
static CSS::RequiredInvalidationAfterStyleChange compute_required_invalidation(HashMap<CSS::PropertyID, NonnullRefPtr<CSS::StyleValue const>> const& old_properties, HashMap<CSS::PropertyID, NonnullRefPtr<CSS::StyleValue const>> const& new_properties)
|
static CSS::RequiredInvalidationAfterStyleChange compute_required_invalidation(HashMap<CSS::PropertyID, NonnullRefPtr<CSS::StyleValue const>> const& old_properties, HashMap<CSS::PropertyID, NonnullRefPtr<CSS::StyleValue const>> const& new_properties)
|
||||||
|
|
|
@ -17,13 +17,9 @@ JS_DEFINE_ALLOCATOR(Intrinsics);
|
||||||
void Intrinsics::visit_edges(JS::Cell::Visitor& visitor)
|
void Intrinsics::visit_edges(JS::Cell::Visitor& visitor)
|
||||||
{
|
{
|
||||||
Base::visit_edges(visitor);
|
Base::visit_edges(visitor);
|
||||||
|
visitor.visit(m_namespaces);
|
||||||
for (auto& it : m_namespaces)
|
visitor.visit(m_prototypes);
|
||||||
visitor.visit(it.value);
|
visitor.visit(m_constructors);
|
||||||
for (auto& it : m_prototypes)
|
|
||||||
visitor.visit(it.value);
|
|
||||||
for (auto& it : m_constructors)
|
|
||||||
visitor.visit(it.value);
|
|
||||||
visitor.visit(m_realm);
|
visitor.visit(m_realm);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -20,8 +20,7 @@ JS::NonnullGCPtr<CSSKeyframesRule> CSSKeyframesRule::create(JS::Realm& realm, Fl
|
||||||
void CSSKeyframesRule::visit_edges(Visitor& visitor)
|
void CSSKeyframesRule::visit_edges(Visitor& visitor)
|
||||||
{
|
{
|
||||||
Base::visit_edges(visitor);
|
Base::visit_edges(visitor);
|
||||||
for (auto& keyframe : m_keyframes)
|
visitor.visit(m_keyframes);
|
||||||
visitor.visit(keyframe);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void CSSKeyframesRule::initialize(JS::Realm& realm)
|
void CSSKeyframesRule::initialize(JS::Realm& realm)
|
||||||
|
|
|
@ -48,8 +48,7 @@ void CSSRuleList::initialize(JS::Realm& realm)
|
||||||
void CSSRuleList::visit_edges(Cell::Visitor& visitor)
|
void CSSRuleList::visit_edges(Cell::Visitor& visitor)
|
||||||
{
|
{
|
||||||
Base::visit_edges(visitor);
|
Base::visit_edges(visitor);
|
||||||
for (auto& rule : m_rules)
|
visitor.visit(m_rules);
|
||||||
visitor.visit(rule);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
bool CSSRuleList::is_supported_property_index(u32 index) const
|
bool CSSRuleList::is_supported_property_index(u32 index) const
|
||||||
|
|
|
@ -122,8 +122,7 @@ void CSSStyleSheet::visit_edges(Cell::Visitor& visitor)
|
||||||
visitor.visit(m_owner_css_rule);
|
visitor.visit(m_owner_css_rule);
|
||||||
visitor.visit(m_default_namespace_rule);
|
visitor.visit(m_default_namespace_rule);
|
||||||
visitor.visit(m_constructor_document);
|
visitor.visit(m_constructor_document);
|
||||||
for (auto& [key, namespace_rule] : m_namespace_rules)
|
visitor.visit(m_namespace_rules);
|
||||||
visitor.visit(namespace_rule);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// https://www.w3.org/TR/cssom/#dom-cssstylesheet-insertrule
|
// https://www.w3.org/TR/cssom/#dom-cssstylesheet-insertrule
|
||||||
|
|
|
@ -87,8 +87,7 @@ void StyleSheetList::visit_edges(Cell::Visitor& visitor)
|
||||||
{
|
{
|
||||||
Base::visit_edges(visitor);
|
Base::visit_edges(visitor);
|
||||||
visitor.visit(m_document);
|
visitor.visit(m_document);
|
||||||
for (auto sheet : m_sheets)
|
visitor.visit(m_sheets);
|
||||||
visitor.visit(sheet);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// https://www.w3.org/TR/cssom/#ref-for-dfn-supported-property-indices%E2%91%A1
|
// https://www.w3.org/TR/cssom/#ref-for-dfn-supported-property-indices%E2%91%A1
|
||||||
|
|
|
@ -98,14 +98,9 @@ void AbortSignal::visit_edges(JS::Cell::Visitor& visitor)
|
||||||
{
|
{
|
||||||
Base::visit_edges(visitor);
|
Base::visit_edges(visitor);
|
||||||
visitor.visit(m_abort_reason);
|
visitor.visit(m_abort_reason);
|
||||||
for (auto& algorithm : m_abort_algorithms)
|
visitor.visit(m_abort_algorithms);
|
||||||
visitor.visit(algorithm);
|
visitor.visit(m_source_signals);
|
||||||
|
visitor.visit(m_dependent_signals);
|
||||||
for (auto& source_signal : m_source_signals)
|
|
||||||
visitor.visit(source_signal);
|
|
||||||
|
|
||||||
for (auto& dependent_signal : m_dependent_signals)
|
|
||||||
visitor.visit(dependent_signal);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// https://dom.spec.whatwg.org/#dom-abortsignal-abort
|
// https://dom.spec.whatwg.org/#dom-abortsignal-abort
|
||||||
|
|
|
@ -76,8 +76,7 @@ void AccessibilityTreeNode::visit_edges(Visitor& visitor)
|
||||||
{
|
{
|
||||||
Base::visit_edges(visitor);
|
Base::visit_edges(visitor);
|
||||||
visitor.visit(m_value);
|
visitor.visit(m_value);
|
||||||
for (auto const& child : m_children)
|
visitor.visit(m_children);
|
||||||
visitor.visit(child);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -445,44 +445,25 @@ void Document::visit_edges(Cell::Visitor& visitor)
|
||||||
visitor.visit(m_visual_viewport);
|
visitor.visit(m_visual_viewport);
|
||||||
visitor.visit(m_latest_entry);
|
visitor.visit(m_latest_entry);
|
||||||
visitor.visit(m_default_timeline);
|
visitor.visit(m_default_timeline);
|
||||||
|
visitor.visit(m_scripts_to_execute_when_parsing_has_finished);
|
||||||
|
visitor.visit(m_scripts_to_execute_in_order_as_soon_as_possible);
|
||||||
|
visitor.visit(m_scripts_to_execute_as_soon_as_possible);
|
||||||
|
visitor.visit(m_node_iterators);
|
||||||
|
visitor.visit(m_document_observers);
|
||||||
|
visitor.visit(m_pending_scroll_event_targets);
|
||||||
|
visitor.visit(m_pending_scrollend_event_targets);
|
||||||
|
visitor.visit(m_intersection_observers);
|
||||||
|
visitor.visit(m_resize_observers);
|
||||||
|
|
||||||
for (auto& script : m_scripts_to_execute_when_parsing_has_finished)
|
visitor.visit(m_shared_image_requests);
|
||||||
visitor.visit(script);
|
|
||||||
for (auto& script : m_scripts_to_execute_in_order_as_soon_as_possible)
|
|
||||||
visitor.visit(script);
|
|
||||||
for (auto& script : m_scripts_to_execute_as_soon_as_possible)
|
|
||||||
visitor.visit(script);
|
|
||||||
|
|
||||||
for (auto& node_iterator : m_node_iterators)
|
|
||||||
visitor.visit(node_iterator);
|
|
||||||
|
|
||||||
for (auto& document_observer : m_document_observers)
|
|
||||||
visitor.visit(document_observer);
|
|
||||||
|
|
||||||
for (auto& target : m_pending_scroll_event_targets)
|
|
||||||
visitor.visit(target);
|
|
||||||
for (auto& target : m_pending_scrollend_event_targets)
|
|
||||||
visitor.visit(target);
|
|
||||||
|
|
||||||
for (auto& observer : m_intersection_observers)
|
|
||||||
visitor.visit(observer);
|
|
||||||
|
|
||||||
for (auto& observer : m_resize_observers)
|
|
||||||
visitor.visit(observer);
|
|
||||||
|
|
||||||
for (auto& image : m_shared_image_requests)
|
|
||||||
visitor.visit(image.value);
|
|
||||||
|
|
||||||
for (auto& timeline : m_associated_animation_timelines)
|
|
||||||
visitor.visit(timeline);
|
|
||||||
|
|
||||||
|
visitor.visit(m_associated_animation_timelines);
|
||||||
visitor.visit(m_list_of_available_images);
|
visitor.visit(m_list_of_available_images);
|
||||||
|
|
||||||
for (auto* form_associated_element : m_form_associated_elements_with_form_attribute)
|
for (auto* form_associated_element : m_form_associated_elements_with_form_attribute)
|
||||||
visitor.visit(form_associated_element->form_associated_element_to_html_element());
|
visitor.visit(form_associated_element->form_associated_element_to_html_element());
|
||||||
|
|
||||||
for (auto& element : m_potentially_named_elements)
|
visitor.visit(m_potentially_named_elements);
|
||||||
visitor.visit(element);
|
|
||||||
|
|
||||||
for (auto& event : m_pending_animation_event_queue) {
|
for (auto& event : m_pending_animation_event_queue) {
|
||||||
visitor.visit(event.event);
|
visitor.visit(event.event);
|
||||||
|
@ -491,14 +472,10 @@ void Document::visit_edges(Cell::Visitor& visitor)
|
||||||
|
|
||||||
visitor.visit(m_adopted_style_sheets);
|
visitor.visit(m_adopted_style_sheets);
|
||||||
|
|
||||||
for (auto& shadow_root : m_shadow_roots)
|
visitor.visit(m_shadow_roots);
|
||||||
visitor.visit(shadow_root);
|
|
||||||
|
|
||||||
for (auto& element : m_top_layer_elements)
|
visitor.visit(m_top_layer_elements);
|
||||||
visitor.visit(element);
|
visitor.visit(m_top_layer_pending_removals);
|
||||||
|
|
||||||
for (auto& element : m_top_layer_pending_removals)
|
|
||||||
visitor.visit(element);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// https://w3c.github.io/selection-api/#dom-document-getselection
|
// https://w3c.github.io/selection-api/#dom-document-getselection
|
||||||
|
|
|
@ -99,8 +99,7 @@ void Element::visit_edges(Cell::Visitor& visitor)
|
||||||
visitor.visit(m_shadow_root);
|
visitor.visit(m_shadow_root);
|
||||||
visitor.visit(m_custom_element_definition);
|
visitor.visit(m_custom_element_definition);
|
||||||
if (m_pseudo_element_nodes) {
|
if (m_pseudo_element_nodes) {
|
||||||
for (auto& pseudo_element_layout_node : *m_pseudo_element_nodes)
|
visitor.visit(m_pseudo_element_nodes->span());
|
||||||
visitor.visit(pseudo_element_layout_node);
|
|
||||||
}
|
}
|
||||||
if (m_registered_intersection_observers) {
|
if (m_registered_intersection_observers) {
|
||||||
for (auto& registered_intersection_observers : *m_registered_intersection_observers)
|
for (auto& registered_intersection_observers : *m_registered_intersection_observers)
|
||||||
|
|
|
@ -64,11 +64,9 @@ void Event::visit_edges(Visitor& visitor)
|
||||||
visitor.visit(it.invocation_target);
|
visitor.visit(it.invocation_target);
|
||||||
visitor.visit(it.shadow_adjusted_target);
|
visitor.visit(it.shadow_adjusted_target);
|
||||||
visitor.visit(it.related_target);
|
visitor.visit(it.related_target);
|
||||||
for (auto& itit : it.touch_target_list)
|
visitor.visit(it.touch_target_list);
|
||||||
visitor.visit(itit);
|
|
||||||
}
|
}
|
||||||
for (auto& it : m_touch_target_list)
|
visitor.visit(m_touch_target_list);
|
||||||
visitor.visit(it);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// https://dom.spec.whatwg.org/#concept-event-path-append
|
// https://dom.spec.whatwg.org/#concept-event-path-append
|
||||||
|
|
|
@ -69,11 +69,8 @@ void EventTarget::visit_edges(Cell::Visitor& visitor)
|
||||||
Base::visit_edges(visitor);
|
Base::visit_edges(visitor);
|
||||||
|
|
||||||
if (auto const* data = m_data.ptr()) {
|
if (auto const* data = m_data.ptr()) {
|
||||||
for (auto& event_listener : data->event_listener_list)
|
visitor.visit(data->event_listener_list);
|
||||||
visitor.visit(event_listener);
|
visitor.visit(data->event_handler_map);
|
||||||
|
|
||||||
for (auto& it : data->event_handler_map)
|
|
||||||
visitor.visit(it.value);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -46,8 +46,7 @@ void HTMLCollection::visit_edges(Cell::Visitor& visitor)
|
||||||
{
|
{
|
||||||
Base::visit_edges(visitor);
|
Base::visit_edges(visitor);
|
||||||
visitor.visit(m_root);
|
visitor.visit(m_root);
|
||||||
for (auto& element : m_cached_elements)
|
visitor.visit(m_cached_elements);
|
||||||
visitor.visit(element);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void HTMLCollection::update_cache_if_needed() const
|
void HTMLCollection::update_cache_if_needed() const
|
||||||
|
|
|
@ -50,8 +50,7 @@ void MutationObserver::visit_edges(Cell::Visitor& visitor)
|
||||||
{
|
{
|
||||||
Base::visit_edges(visitor);
|
Base::visit_edges(visitor);
|
||||||
visitor.visit(m_callback);
|
visitor.visit(m_callback);
|
||||||
for (auto& record : m_record_queue)
|
visitor.visit(m_record_queue);
|
||||||
visitor.visit(record);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// https://dom.spec.whatwg.org/#dom-mutationobserver-observe
|
// https://dom.spec.whatwg.org/#dom-mutationobserver-observe
|
||||||
|
|
|
@ -43,8 +43,7 @@ void NamedNodeMap::visit_edges(Cell::Visitor& visitor)
|
||||||
{
|
{
|
||||||
Base::visit_edges(visitor);
|
Base::visit_edges(visitor);
|
||||||
visitor.visit(m_element);
|
visitor.visit(m_element);
|
||||||
for (auto& attribute : m_attributes)
|
visitor.visit(m_attributes);
|
||||||
visitor.visit(attribute);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// https://dom.spec.whatwg.org/#ref-for-dfn-supported-property-indices%E2%91%A3
|
// https://dom.spec.whatwg.org/#ref-for-dfn-supported-property-indices%E2%91%A3
|
||||||
|
|
|
@ -106,8 +106,7 @@ void Node::visit_edges(Cell::Visitor& visitor)
|
||||||
visitor.visit(m_paintable);
|
visitor.visit(m_paintable);
|
||||||
|
|
||||||
if (m_registered_observer_list) {
|
if (m_registered_observer_list) {
|
||||||
for (auto& registered_observer : *m_registered_observer_list)
|
visitor.visit(*m_registered_observer_list);
|
||||||
visitor.visit(registered_observer);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -29,8 +29,7 @@ StaticNodeList::~StaticNodeList() = default;
|
||||||
void StaticNodeList::visit_edges(Cell::Visitor& visitor)
|
void StaticNodeList::visit_edges(Cell::Visitor& visitor)
|
||||||
{
|
{
|
||||||
Base::visit_edges(visitor);
|
Base::visit_edges(visitor);
|
||||||
for (auto& node : m_static_nodes)
|
visitor.visit(m_static_nodes);
|
||||||
visitor.visit(node);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// https://dom.spec.whatwg.org/#dom-nodelist-length
|
// https://dom.spec.whatwg.org/#dom-nodelist-length
|
||||||
|
|
|
@ -34,8 +34,7 @@ void Request::visit_edges(JS::Cell::Visitor& visitor)
|
||||||
m_window.visit(
|
m_window.visit(
|
||||||
[&](JS::GCPtr<HTML::EnvironmentSettingsObject> const& value) { visitor.visit(value); },
|
[&](JS::GCPtr<HTML::EnvironmentSettingsObject> const& value) { visitor.visit(value); },
|
||||||
[](auto const&) {});
|
[](auto const&) {});
|
||||||
for (auto const& pending_response : m_pending_responses)
|
visitor.visit(m_pending_responses);
|
||||||
visitor.visit(pending_response);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
JS::NonnullGCPtr<Request> Request::create(JS::VM& vm)
|
JS::NonnullGCPtr<Request> Request::create(JS::VM& vm)
|
||||||
|
|
|
@ -66,8 +66,7 @@ WebIDL::ExceptionOr<JS::Value> FileList::item_value(size_t index) const
|
||||||
void FileList::visit_edges(Cell::Visitor& visitor)
|
void FileList::visit_edges(Cell::Visitor& visitor)
|
||||||
{
|
{
|
||||||
Base::visit_edges(visitor);
|
Base::visit_edges(visitor);
|
||||||
for (auto file : m_files)
|
visitor.visit(m_files);
|
||||||
visitor.visit(file);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
WebIDL::ExceptionOr<void> FileList::serialization_steps(HTML::SerializationRecord& serialized, bool for_storage, HTML::SerializationMemory& memory)
|
WebIDL::ExceptionOr<void> FileList::serialization_steps(HTML::SerializationRecord& serialized, bool for_storage, HTML::SerializationMemory& memory)
|
||||||
|
|
|
@ -40,8 +40,7 @@ void DOMRectList::initialize(JS::Realm& realm)
|
||||||
void DOMRectList::visit_edges(Cell::Visitor& visitor)
|
void DOMRectList::visit_edges(Cell::Visitor& visitor)
|
||||||
{
|
{
|
||||||
Base::visit_edges(visitor);
|
Base::visit_edges(visitor);
|
||||||
for (auto& rect : m_rects)
|
visitor.visit(m_rects);
|
||||||
visitor.visit(rect);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// https://drafts.fxtf.org/geometry-1/#dom-domrectlist-length
|
// https://drafts.fxtf.org/geometry-1/#dom-domrectlist-length
|
||||||
|
|
|
@ -122,8 +122,7 @@ WebIDL::CallbackType* AudioTrackList::onremovetrack()
|
||||||
void AudioTrackList::visit_edges(JS::Cell::Visitor& visitor)
|
void AudioTrackList::visit_edges(JS::Cell::Visitor& visitor)
|
||||||
{
|
{
|
||||||
Base::visit_edges(visitor);
|
Base::visit_edges(visitor);
|
||||||
for (auto const& track : m_audio_tracks)
|
visitor.visit(m_audio_tracks);
|
||||||
visitor.visit(track);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -35,8 +35,7 @@ void BrowsingContextGroup::visit_edges(Cell::Visitor& visitor)
|
||||||
{
|
{
|
||||||
Base::visit_edges(visitor);
|
Base::visit_edges(visitor);
|
||||||
visitor.visit(m_page);
|
visitor.visit(m_page);
|
||||||
for (auto& context : m_browsing_context_set)
|
visitor.visit(m_browsing_context_set);
|
||||||
visitor.visit(context);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// https://html.spec.whatwg.org/multipage/document-sequences.html#creating-a-new-browsing-context-group-and-document
|
// https://html.spec.whatwg.org/multipage/document-sequences.html#creating-a-new-browsing-context-group-and-document
|
||||||
|
|
|
@ -12,8 +12,7 @@ void CustomElementDefinition::visit_edges(Visitor& visitor)
|
||||||
{
|
{
|
||||||
Base::visit_edges(visitor);
|
Base::visit_edges(visitor);
|
||||||
visitor.visit(m_constructor);
|
visitor.visit(m_constructor);
|
||||||
for (auto& callback : m_lifecycle_callbacks)
|
visitor.visit(m_lifecycle_callbacks);
|
||||||
visitor.visit(callback.value);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -39,10 +39,8 @@ void CustomElementRegistry::initialize(JS::Realm& realm)
|
||||||
void CustomElementRegistry::visit_edges(Visitor& visitor)
|
void CustomElementRegistry::visit_edges(Visitor& visitor)
|
||||||
{
|
{
|
||||||
Base::visit_edges(visitor);
|
Base::visit_edges(visitor);
|
||||||
for (auto& definition : m_custom_element_definitions)
|
visitor.visit(m_custom_element_definitions);
|
||||||
visitor.visit(definition);
|
visitor.visit(m_when_defined_promise_map);
|
||||||
for (auto& [name, promise] : m_when_defined_promise_map)
|
|
||||||
visitor.visit(promise);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// https://webidl.spec.whatwg.org/#es-callback-function
|
// https://webidl.spec.whatwg.org/#es-callback-function
|
||||||
|
|
|
@ -39,9 +39,7 @@ void DocumentState::visit_edges(Cell::Visitor& visitor)
|
||||||
Base::visit_edges(visitor);
|
Base::visit_edges(visitor);
|
||||||
visitor.visit(m_document);
|
visitor.visit(m_document);
|
||||||
for (auto& nested_history : m_nested_histories) {
|
for (auto& nested_history : m_nested_histories) {
|
||||||
for (auto& entry : nested_history.entries) {
|
visitor.visit(nested_history.entries);
|
||||||
visitor.visit(entry);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -37,9 +37,7 @@ void EventLoop::visit_edges(Visitor& visitor)
|
||||||
visitor.visit(m_task_queue);
|
visitor.visit(m_task_queue);
|
||||||
visitor.visit(m_microtask_queue);
|
visitor.visit(m_microtask_queue);
|
||||||
visitor.visit(m_currently_running_task);
|
visitor.visit(m_currently_running_task);
|
||||||
|
visitor.visit(m_backup_incumbent_settings_object_stack);
|
||||||
for (auto& settings : m_backup_incumbent_settings_object_stack)
|
|
||||||
visitor.visit(settings);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void EventLoop::schedule()
|
void EventLoop::schedule()
|
||||||
|
|
|
@ -23,8 +23,7 @@ void TaskQueue::visit_edges(Visitor& visitor)
|
||||||
{
|
{
|
||||||
Base::visit_edges(visitor);
|
Base::visit_edges(visitor);
|
||||||
visitor.visit(m_event_loop);
|
visitor.visit(m_event_loop);
|
||||||
for (auto& task : m_tasks)
|
visitor.visit(m_tasks);
|
||||||
visitor.visit(task);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void TaskQueue::add(JS::NonnullGCPtr<Task> task)
|
void TaskQueue::add(JS::NonnullGCPtr<Task> task)
|
||||||
|
|
|
@ -59,8 +59,7 @@ void HTMLFormElement::visit_edges(Cell::Visitor& visitor)
|
||||||
{
|
{
|
||||||
Base::visit_edges(visitor);
|
Base::visit_edges(visitor);
|
||||||
visitor.visit(m_elements);
|
visitor.visit(m_elements);
|
||||||
for (auto& element : m_associated_elements)
|
visitor.visit(m_associated_elements);
|
||||||
visitor.visit(element);
|
|
||||||
visitor.visit(m_planned_navigation);
|
visitor.visit(m_planned_navigation);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -90,8 +90,7 @@ void HTMLMediaElement::visit_edges(Cell::Visitor& visitor)
|
||||||
visitor.visit(m_document_observer);
|
visitor.visit(m_document_observer);
|
||||||
visitor.visit(m_source_element_selector);
|
visitor.visit(m_source_element_selector);
|
||||||
visitor.visit(m_fetch_controller);
|
visitor.visit(m_fetch_controller);
|
||||||
for (auto& promise : m_pending_play_promises)
|
visitor.visit(m_pending_play_promises);
|
||||||
visitor.visit(promise);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void HTMLMediaElement::attribute_changed(FlyString const& name, Optional<String> const& value)
|
void HTMLMediaElement::attribute_changed(FlyString const& name, Optional<String> const& value)
|
||||||
|
|
|
@ -35,8 +35,7 @@ Location::~Location() = default;
|
||||||
void Location::visit_edges(Cell::Visitor& visitor)
|
void Location::visit_edges(Cell::Visitor& visitor)
|
||||||
{
|
{
|
||||||
Base::visit_edges(visitor);
|
Base::visit_edges(visitor);
|
||||||
for (auto& property : m_default_properties)
|
visitor.visit(m_default_properties);
|
||||||
visitor.visit(property);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void Location::initialize(JS::Realm& realm)
|
void Location::initialize(JS::Realm& realm)
|
||||||
|
|
|
@ -49,8 +49,7 @@ void MessageEvent::visit_edges(Cell::Visitor& visitor)
|
||||||
Base::visit_edges(visitor);
|
Base::visit_edges(visitor);
|
||||||
visitor.visit(m_data);
|
visitor.visit(m_data);
|
||||||
visitor.visit(m_ports_array);
|
visitor.visit(m_ports_array);
|
||||||
for (auto& port : m_ports)
|
visitor.visit(m_ports);
|
||||||
visitor.visit(port);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
Variant<JS::Handle<WindowProxy>, JS::Handle<MessagePort>, Empty> MessageEvent::source() const
|
Variant<JS::Handle<WindowProxy>, JS::Handle<MessagePort>, Empty> MessageEvent::source() const
|
||||||
|
|
|
@ -56,8 +56,7 @@ void NavigateEvent::initialize(JS::Realm& realm)
|
||||||
void NavigateEvent::visit_edges(JS::Cell::Visitor& visitor)
|
void NavigateEvent::visit_edges(JS::Cell::Visitor& visitor)
|
||||||
{
|
{
|
||||||
Base::visit_edges(visitor);
|
Base::visit_edges(visitor);
|
||||||
for (auto& handler : m_navigation_handler_list)
|
visitor.visit(m_navigation_handler_list);
|
||||||
visitor.visit(handler);
|
|
||||||
visitor.visit(m_abort_controller);
|
visitor.visit(m_abort_controller);
|
||||||
visitor.visit(m_destination);
|
visitor.visit(m_destination);
|
||||||
visitor.visit(m_signal);
|
visitor.visit(m_signal);
|
||||||
|
|
|
@ -83,14 +83,12 @@ void Navigation::initialize(JS::Realm& realm)
|
||||||
void Navigation::visit_edges(JS::Cell::Visitor& visitor)
|
void Navigation::visit_edges(JS::Cell::Visitor& visitor)
|
||||||
{
|
{
|
||||||
Base::visit_edges(visitor);
|
Base::visit_edges(visitor);
|
||||||
for (auto& entry : m_entry_list)
|
visitor.visit(m_entry_list);
|
||||||
visitor.visit(entry);
|
|
||||||
visitor.visit(m_transition);
|
visitor.visit(m_transition);
|
||||||
visitor.visit(m_ongoing_navigate_event);
|
visitor.visit(m_ongoing_navigate_event);
|
||||||
visitor.visit(m_ongoing_api_method_tracker);
|
visitor.visit(m_ongoing_api_method_tracker);
|
||||||
visitor.visit(m_upcoming_non_traverse_api_method_tracker);
|
visitor.visit(m_upcoming_non_traverse_api_method_tracker);
|
||||||
for (auto& key_and_tracker : m_upcoming_traverse_api_method_trackers)
|
visitor.visit(m_upcoming_traverse_api_method_trackers);
|
||||||
visitor.visit(key_and_tracker.value);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// https://html.spec.whatwg.org/multipage/nav-history-apis.html#dom-navigation-entries
|
// https://html.spec.whatwg.org/multipage/nav-history-apis.html#dom-navigation-entries
|
||||||
|
|
|
@ -16,8 +16,7 @@ StackOfOpenElements::~StackOfOpenElements() = default;
|
||||||
|
|
||||||
void StackOfOpenElements::visit_edges(JS::Cell::Visitor& visitor)
|
void StackOfOpenElements::visit_edges(JS::Cell::Visitor& visitor)
|
||||||
{
|
{
|
||||||
for (auto& element : m_elements)
|
visitor.visit(m_elements);
|
||||||
visitor.visit(element);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
bool StackOfOpenElements::has_in_scope_impl(FlyString const& tag_name, Vector<FlyString> const& list) const
|
bool StackOfOpenElements::has_in_scope_impl(FlyString const& tag_name, Vector<FlyString> const& list) const
|
||||||
|
|
|
@ -17,8 +17,7 @@ void ModuleMap::visit_edges(Visitor& visitor)
|
||||||
visitor.visit(it.value.module_script);
|
visitor.visit(it.value.module_script);
|
||||||
|
|
||||||
for (auto const& it : m_callbacks)
|
for (auto const& it : m_callbacks)
|
||||||
for (auto const& callback : it.value)
|
visitor.visit(it.value);
|
||||||
visitor.visit(callback);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
bool ModuleMap::is_fetching(URL::URL const& url, ByteString const& type) const
|
bool ModuleMap::is_fetching(URL::URL const& url, ByteString const& type) const
|
||||||
|
|
|
@ -43,9 +43,7 @@ SessionHistoryTraversalQueue::SessionHistoryTraversalQueue()
|
||||||
void SessionHistoryTraversalQueue::visit_edges(JS::Cell::Visitor& visitor)
|
void SessionHistoryTraversalQueue::visit_edges(JS::Cell::Visitor& visitor)
|
||||||
{
|
{
|
||||||
Base::visit_edges(visitor);
|
Base::visit_edges(visitor);
|
||||||
for (auto const& entry : m_queue) {
|
visitor.visit(m_queue);
|
||||||
visitor.visit(entry);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void SessionHistoryTraversalQueue::append(Function<void()> steps)
|
void SessionHistoryTraversalQueue::append(Function<void()> steps)
|
||||||
|
|
|
@ -34,8 +34,7 @@ void TraversableNavigable::visit_edges(Cell::Visitor& visitor)
|
||||||
{
|
{
|
||||||
Base::visit_edges(visitor);
|
Base::visit_edges(visitor);
|
||||||
visitor.visit(m_page);
|
visitor.visit(m_page);
|
||||||
for (auto& entry : m_session_history_entries)
|
visitor.visit(m_session_history_entries);
|
||||||
visitor.visit(entry);
|
|
||||||
visitor.visit(m_session_history_traversal_queue);
|
visitor.visit(m_session_history_traversal_queue);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -129,8 +129,7 @@ WebIDL::CallbackType* VideoTrackList::onremovetrack()
|
||||||
void VideoTrackList::visit_edges(JS::Cell::Visitor& visitor)
|
void VideoTrackList::visit_edges(JS::Cell::Visitor& visitor)
|
||||||
{
|
{
|
||||||
Base::visit_edges(visitor);
|
Base::visit_edges(visitor);
|
||||||
for (auto const& track : m_video_tracks)
|
visitor.visit(m_video_tracks);
|
||||||
visitor.visit(track);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -126,10 +126,8 @@ void Window::visit_edges(JS::Cell::Visitor& visitor)
|
||||||
visitor.visit(m_navigator);
|
visitor.visit(m_navigator);
|
||||||
visitor.visit(m_navigation);
|
visitor.visit(m_navigation);
|
||||||
visitor.visit(m_custom_element_registry);
|
visitor.visit(m_custom_element_registry);
|
||||||
for (auto& plugin_object : m_pdf_viewer_plugin_objects)
|
visitor.visit(m_pdf_viewer_plugin_objects);
|
||||||
visitor.visit(plugin_object);
|
visitor.visit(m_pdf_viewer_mime_type_objects);
|
||||||
for (auto& mime_type_object : m_pdf_viewer_mime_type_objects)
|
|
||||||
visitor.visit(mime_type_object);
|
|
||||||
visitor.visit(m_count_queuing_strategy_size_function);
|
visitor.visit(m_count_queuing_strategy_size_function);
|
||||||
visitor.visit(m_byte_length_queuing_strategy_size_function);
|
visitor.visit(m_byte_length_queuing_strategy_size_function);
|
||||||
}
|
}
|
||||||
|
|
|
@ -65,10 +65,8 @@ void WindowOrWorkerGlobalScopeMixin::visit_edges(JS::Cell::Visitor& visitor)
|
||||||
{
|
{
|
||||||
visitor.visit(m_performance);
|
visitor.visit(m_performance);
|
||||||
visitor.visit(m_supported_entry_types_array);
|
visitor.visit(m_supported_entry_types_array);
|
||||||
for (auto& it : m_timers)
|
visitor.visit(m_timers);
|
||||||
visitor.visit(it.value);
|
visitor.visit(m_registered_performance_observer_objects);
|
||||||
for (auto& observer : m_registered_performance_observer_objects)
|
|
||||||
visitor.visit(observer);
|
|
||||||
for (auto& entry : m_performance_entry_buffer_map)
|
for (auto& entry : m_performance_entry_buffer_map)
|
||||||
entry.value.visit_edges(visitor);
|
entry.value.visit_edges(visitor);
|
||||||
}
|
}
|
||||||
|
|
|
@ -78,10 +78,8 @@ void IntersectionObserver::visit_edges(JS::Cell::Visitor& visitor)
|
||||||
Base::visit_edges(visitor);
|
Base::visit_edges(visitor);
|
||||||
visitor.visit(m_root);
|
visitor.visit(m_root);
|
||||||
visitor.visit(m_callback);
|
visitor.visit(m_callback);
|
||||||
for (auto& entry : m_queued_entries)
|
visitor.visit(m_queued_entries);
|
||||||
visitor.visit(entry);
|
visitor.visit(m_observation_targets);
|
||||||
for (auto& target : m_observation_targets)
|
|
||||||
visitor.visit(target);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// https://w3c.github.io/IntersectionObserver/#dom-intersectionobserver-observe
|
// https://w3c.github.io/IntersectionObserver/#dom-intersectionobserver-observe
|
||||||
|
|
|
@ -518,10 +518,8 @@ void ViewportPaintable::recompute_selection_states()
|
||||||
void ViewportPaintable::visit_edges(Visitor& visitor)
|
void ViewportPaintable::visit_edges(Visitor& visitor)
|
||||||
{
|
{
|
||||||
Base::visit_edges(visitor);
|
Base::visit_edges(visitor);
|
||||||
for (auto it : scroll_state)
|
visitor.visit(scroll_state);
|
||||||
visitor.visit(it.key);
|
visitor.visit(clip_state);
|
||||||
for (auto it : clip_state)
|
|
||||||
visitor.visit(it.key);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -48,8 +48,7 @@ struct PerformanceEntryTuple {
|
||||||
|
|
||||||
void visit_edges(JS::Cell::Visitor& visitor)
|
void visit_edges(JS::Cell::Visitor& visitor)
|
||||||
{
|
{
|
||||||
for (auto& entry : performance_entry_buffer)
|
visitor.visit(performance_entry_buffer);
|
||||||
visitor.visit(entry);
|
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -41,8 +41,7 @@ void PerformanceObserver::visit_edges(Cell::Visitor& visitor)
|
||||||
{
|
{
|
||||||
Base::visit_edges(visitor);
|
Base::visit_edges(visitor);
|
||||||
visitor.visit(m_callback);
|
visitor.visit(m_callback);
|
||||||
for (auto& entry : m_observer_buffer)
|
visitor.visit(m_observer_buffer);
|
||||||
visitor.visit(entry);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// https://w3c.github.io/performance-timeline/#dom-performanceobserver-observe
|
// https://w3c.github.io/performance-timeline/#dom-performanceobserver-observe
|
||||||
|
|
|
@ -32,8 +32,7 @@ void PerformanceObserverEntryList::initialize(JS::Realm& realm)
|
||||||
void PerformanceObserverEntryList::visit_edges(Cell::Visitor& visitor)
|
void PerformanceObserverEntryList::visit_edges(Cell::Visitor& visitor)
|
||||||
{
|
{
|
||||||
Base::visit_edges(visitor);
|
Base::visit_edges(visitor);
|
||||||
for (auto& entry : m_entry_list)
|
visitor.visit(m_entry_list);
|
||||||
visitor.visit(entry);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// https://www.w3.org/TR/performance-timeline/#dfn-filter-buffer-by-name-and-type
|
// https://www.w3.org/TR/performance-timeline/#dfn-filter-buffer-by-name-and-type
|
||||||
|
|
|
@ -33,8 +33,7 @@ void ResizeObservation::visit_edges(JS::Cell::Visitor& visitor)
|
||||||
Base::visit_edges(visitor);
|
Base::visit_edges(visitor);
|
||||||
visitor.visit(m_realm);
|
visitor.visit(m_realm);
|
||||||
visitor.visit(m_target);
|
visitor.visit(m_target);
|
||||||
for (auto& size : m_last_reported_sizes)
|
visitor.visit(m_last_reported_sizes);
|
||||||
visitor.visit(size);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// https://drafts.csswg.org/resize-observer-1/#dom-resizeobservation-isactive
|
// https://drafts.csswg.org/resize-observer-1/#dom-resizeobservation-isactive
|
||||||
|
|
|
@ -43,12 +43,9 @@ void ResizeObserver::visit_edges(JS::Cell::Visitor& visitor)
|
||||||
{
|
{
|
||||||
Base::visit_edges(visitor);
|
Base::visit_edges(visitor);
|
||||||
visitor.visit(m_callback);
|
visitor.visit(m_callback);
|
||||||
for (auto& observation : m_observation_targets)
|
visitor.visit(m_observation_targets);
|
||||||
visitor.visit(observation);
|
visitor.visit(m_active_targets);
|
||||||
for (auto& observation : m_active_targets)
|
visitor.visit(m_skipped_targets);
|
||||||
visitor.visit(observation);
|
|
||||||
for (auto& observation : m_skipped_targets)
|
|
||||||
visitor.visit(observation);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void ResizeObserver::finalize()
|
void ResizeObserver::finalize()
|
||||||
|
|
|
@ -68,12 +68,9 @@ void ResizeObserverEntry::visit_edges(JS::Cell::Visitor& visitor)
|
||||||
{
|
{
|
||||||
Base::visit_edges(visitor);
|
Base::visit_edges(visitor);
|
||||||
visitor.visit(m_target);
|
visitor.visit(m_target);
|
||||||
for (auto& size : m_content_box_size)
|
visitor.visit(m_content_box_size);
|
||||||
visitor.visit(size);
|
visitor.visit(m_border_box_size);
|
||||||
for (auto& size : m_border_box_size)
|
visitor.visit(m_device_pixel_content_box_size);
|
||||||
visitor.visit(size);
|
|
||||||
for (auto& size : m_device_pixel_content_box_size)
|
|
||||||
visitor.visit(size);
|
|
||||||
visitor.visit(m_content_rect);
|
visitor.visit(m_content_rect);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -56,8 +56,7 @@ void ReadableStreamBYOBReader::visit_edges(Cell::Visitor& visitor)
|
||||||
{
|
{
|
||||||
Base::visit_edges(visitor);
|
Base::visit_edges(visitor);
|
||||||
ReadableStreamGenericReaderMixin::visit_edges(visitor);
|
ReadableStreamGenericReaderMixin::visit_edges(visitor);
|
||||||
for (auto& request : m_read_into_requests)
|
visitor.visit(m_read_into_requests);
|
||||||
visitor.visit(request);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
class BYOBReaderReadIntoRequest : public ReadIntoRequest {
|
class BYOBReaderReadIntoRequest : public ReadIntoRequest {
|
||||||
|
|
|
@ -90,10 +90,8 @@ void AudioContext::initialize(JS::Realm& realm)
|
||||||
void AudioContext::visit_edges(Cell::Visitor& visitor)
|
void AudioContext::visit_edges(Cell::Visitor& visitor)
|
||||||
{
|
{
|
||||||
Base::visit_edges(visitor);
|
Base::visit_edges(visitor);
|
||||||
for (auto& promise : m_pending_promises)
|
visitor.visit(m_pending_promises);
|
||||||
visitor.visit(promise);
|
visitor.visit(m_pending_resume_promises);
|
||||||
for (auto& promise : m_pending_resume_promises)
|
|
||||||
visitor.visit(promise);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// https://www.w3.org/TR/webaudio/#dom-audiocontext-getoutputtimestamp
|
// https://www.w3.org/TR/webaudio/#dom-audiocontext-getoutputtimestamp
|
||||||
|
|
|
@ -192,9 +192,7 @@ struct WaitForAllResults : JS::Cell {
|
||||||
{
|
{
|
||||||
Base::visit_edges(visitor);
|
Base::visit_edges(visitor);
|
||||||
visitor.visit(success_steps);
|
visitor.visit(success_steps);
|
||||||
for (auto& value : result) {
|
visitor.visit(result);
|
||||||
visitor.visit(value);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
JS::NonnullGCPtr<JS::HeapFunction<void(Vector<JS::Value> const&)>> success_steps;
|
JS::NonnullGCPtr<JS::HeapFunction<void(Vector<JS::Value> const&)>> success_steps;
|
||||||
|
|
|
@ -126,8 +126,7 @@ void PageClient::visit_edges(JS::Cell::Visitor& visitor)
|
||||||
{
|
{
|
||||||
Base::visit_edges(visitor);
|
Base::visit_edges(visitor);
|
||||||
visitor.visit(m_page);
|
visitor.visit(m_page);
|
||||||
for (auto document : m_console_clients.keys())
|
visitor.visit(m_console_clients);
|
||||||
visitor.visit(document);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
ConnectionFromClient& PageClient::client() const
|
ConnectionFromClient& PageClient::client() const
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue