mirror of
				https://github.com/LadybirdBrowser/ladybird.git
				synced 2025-10-31 21:30:58 +00:00 
			
		
		
		
	 f87041bf3a
			
		
	
	
		f87041bf3a
		
	
	
	
	
		
			
			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
		
			
				
	
	
		
			50 lines
		
	
	
	
		
			1.3 KiB
		
	
	
	
		
			C++
		
	
	
	
	
	
			
		
		
	
	
			50 lines
		
	
	
	
		
			1.3 KiB
		
	
	
	
		
			C++
		
	
	
	
	
	
| /*
 | |
|  * Copyright (c) 2021, Luke Wilde <lukew@serenityos.org>
 | |
|  *
 | |
|  * SPDX-License-Identifier: BSD-2-Clause
 | |
|  */
 | |
| 
 | |
| #include <LibGC/Heap.h>
 | |
| #include <LibJS/Runtime/Error.h>
 | |
| #include <LibWeb/DOM/StaticNodeList.h>
 | |
| 
 | |
| namespace Web::DOM {
 | |
| 
 | |
| GC_DEFINE_ALLOCATOR(StaticNodeList);
 | |
| 
 | |
| GC::Ref<NodeList> StaticNodeList::create(JS::Realm& realm, Vector<GC::Root<Node>> static_nodes)
 | |
| {
 | |
|     return realm.create<StaticNodeList>(realm, move(static_nodes));
 | |
| }
 | |
| 
 | |
| StaticNodeList::StaticNodeList(JS::Realm& realm, Vector<GC::Root<Node>> static_nodes)
 | |
|     : NodeList(realm)
 | |
| {
 | |
|     for (auto& node : static_nodes)
 | |
|         m_static_nodes.append(*node);
 | |
| }
 | |
| 
 | |
| StaticNodeList::~StaticNodeList() = default;
 | |
| 
 | |
| void StaticNodeList::visit_edges(Cell::Visitor& visitor)
 | |
| {
 | |
|     Base::visit_edges(visitor);
 | |
|     visitor.visit(m_static_nodes);
 | |
| }
 | |
| 
 | |
| // https://dom.spec.whatwg.org/#dom-nodelist-length
 | |
| u32 StaticNodeList::length() const
 | |
| {
 | |
|     return m_static_nodes.size();
 | |
| }
 | |
| 
 | |
| // https://dom.spec.whatwg.org/#dom-nodelist-item
 | |
| Node const* StaticNodeList::item(u32 index) const
 | |
| {
 | |
|     // The item(index) method must return the indexth node in the collection. If there is no indexth node in the collection, then the method must return null.
 | |
|     if (index >= m_static_nodes.size())
 | |
|         return nullptr;
 | |
|     return m_static_nodes[index];
 | |
| }
 | |
| 
 | |
| }
 |