mirror of
https://github.com/LadybirdBrowser/ladybird.git
synced 2025-08-04 23:30:20 +00:00
LibGC+Everywhere: Factor out a LibGC from LibJS
Resulting in a massive rename across almost everywhere! Alongside the namespace change, we now have the following names: * JS::NonnullGCPtr -> GC::Ref * JS::GCPtr -> GC::Ptr * JS::HeapFunction -> GC::Function * JS::CellImpl -> GC::Cell * JS::Handle -> GC::Root
This commit is contained in:
parent
ce23efc5f6
commit
f87041bf3a
Notes:
github-actions[bot]
2024-11-15 13:50:17 +00:00
Author: https://github.com/shannonbooth
Commit: f87041bf3a
Pull-request: https://github.com/LadybirdBrowser/ladybird/pull/2345
1722 changed files with 9939 additions and 9906 deletions
|
@ -8,14 +8,14 @@
|
|||
|
||||
#include <AK/String.h>
|
||||
#include <AK/Variant.h>
|
||||
#include <LibGC/Ptr.h>
|
||||
#include <LibJS/Heap/Cell.h>
|
||||
#include <LibJS/Heap/GCPtr.h>
|
||||
#include <LibWeb/Forward.h>
|
||||
|
||||
namespace Web::DOM {
|
||||
|
||||
// https://dom.spec.whatwg.org/#concept-slotable
|
||||
using Slottable = Variant<JS::NonnullGCPtr<Element>, JS::NonnullGCPtr<Text>>;
|
||||
using Slottable = Variant<GC::Ref<Element>, GC::Ref<Text>>;
|
||||
|
||||
// https://dom.spec.whatwg.org/#mixin-slotable
|
||||
class SlottableMixin {
|
||||
|
@ -25,13 +25,13 @@ public:
|
|||
String const& slottable_name() const { return m_name; } // Not called `name` to distinguish from `Element::name`.
|
||||
void set_slottable_name(String name) { m_name = move(name); }
|
||||
|
||||
JS::GCPtr<HTML::HTMLSlotElement> assigned_slot();
|
||||
GC::Ptr<HTML::HTMLSlotElement> assigned_slot();
|
||||
|
||||
JS::GCPtr<HTML::HTMLSlotElement> assigned_slot_internal() const { return m_assigned_slot; }
|
||||
void set_assigned_slot(JS::GCPtr<HTML::HTMLSlotElement> assigned_slot) { m_assigned_slot = assigned_slot; }
|
||||
GC::Ptr<HTML::HTMLSlotElement> assigned_slot_internal() const { return m_assigned_slot; }
|
||||
void set_assigned_slot(GC::Ptr<HTML::HTMLSlotElement> assigned_slot) { m_assigned_slot = assigned_slot; }
|
||||
|
||||
JS::GCPtr<HTML::HTMLSlotElement> manual_slot_assignment() { return m_manual_slot_assignment; }
|
||||
void set_manual_slot_assignment(JS::GCPtr<HTML::HTMLSlotElement> manual_slot_assignment) { m_manual_slot_assignment = manual_slot_assignment; }
|
||||
GC::Ptr<HTML::HTMLSlotElement> manual_slot_assignment() { return m_manual_slot_assignment; }
|
||||
void set_manual_slot_assignment(GC::Ptr<HTML::HTMLSlotElement> manual_slot_assignment) { m_manual_slot_assignment = manual_slot_assignment; }
|
||||
|
||||
protected:
|
||||
void visit_edges(JS::Cell::Visitor&);
|
||||
|
@ -41,10 +41,10 @@ private:
|
|||
String m_name;
|
||||
|
||||
// https://dom.spec.whatwg.org/#slotable-assigned-slot
|
||||
JS::GCPtr<HTML::HTMLSlotElement> m_assigned_slot;
|
||||
GC::Ptr<HTML::HTMLSlotElement> m_assigned_slot;
|
||||
|
||||
// https://dom.spec.whatwg.org/#slottable-manual-slot-assignment
|
||||
JS::GCPtr<HTML::HTMLSlotElement> m_manual_slot_assignment;
|
||||
GC::Ptr<HTML::HTMLSlotElement> m_manual_slot_assignment;
|
||||
};
|
||||
|
||||
enum class OpenFlag {
|
||||
|
@ -52,14 +52,14 @@ enum class OpenFlag {
|
|||
Unset,
|
||||
};
|
||||
|
||||
JS::GCPtr<HTML::HTMLSlotElement> assigned_slot_for_node(JS::NonnullGCPtr<Node>);
|
||||
bool is_an_assigned_slottable(JS::NonnullGCPtr<Node>);
|
||||
GC::Ptr<HTML::HTMLSlotElement> assigned_slot_for_node(GC::Ref<Node>);
|
||||
bool is_an_assigned_slottable(GC::Ref<Node>);
|
||||
|
||||
JS::GCPtr<HTML::HTMLSlotElement> find_a_slot(Slottable const&, OpenFlag = OpenFlag::Unset);
|
||||
Vector<Slottable> find_slottables(JS::NonnullGCPtr<HTML::HTMLSlotElement>);
|
||||
void assign_slottables(JS::NonnullGCPtr<HTML::HTMLSlotElement>);
|
||||
void assign_slottables_for_a_tree(JS::NonnullGCPtr<Node>);
|
||||
GC::Ptr<HTML::HTMLSlotElement> find_a_slot(Slottable const&, OpenFlag = OpenFlag::Unset);
|
||||
Vector<Slottable> find_slottables(GC::Ref<HTML::HTMLSlotElement>);
|
||||
void assign_slottables(GC::Ref<HTML::HTMLSlotElement>);
|
||||
void assign_slottables_for_a_tree(GC::Ref<Node>);
|
||||
void assign_a_slot(Slottable const&);
|
||||
void signal_a_slot_change(JS::NonnullGCPtr<HTML::HTMLSlotElement>);
|
||||
void signal_a_slot_change(GC::Ref<HTML::HTMLSlotElement>);
|
||||
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue