mirror of
				https://github.com/LadybirdBrowser/ladybird.git
				synced 2025-10-31 05:10:57 +00:00 
			
		
		
		
	LibWeb: Implement [SameObject] behavior for HTMLTableSectionElement.rows
This commit is contained in:
		
							parent
							
								
									d7c58aa58d
								
							
						
					
					
						commit
						ad36bc72f4
					
				
				
				Notes:
				
					sideshowbarker
				
				2024-07-17 06:38:11 +09:00 
				
			
			Author: https://github.com/awesomekling
Commit: ad36bc72f4
Pull-request: https://github.com/SerenityOS/serenity/pull/16175
Reviewed-by: https://github.com/ADKaster
			
					 2 changed files with 17 additions and 6 deletions
				
			
		|  | @ -22,17 +22,24 @@ HTMLTableSectionElement::HTMLTableSectionElement(DOM::Document& document, DOM::Q | |||
| 
 | ||||
| HTMLTableSectionElement::~HTMLTableSectionElement() = default; | ||||
| 
 | ||||
| void HTMLTableSectionElement::visit_edges(Cell::Visitor& visitor) | ||||
| { | ||||
|     Base::visit_edges(visitor); | ||||
|     visitor.visit(m_rows); | ||||
| } | ||||
| 
 | ||||
| // https://html.spec.whatwg.org/multipage/tables.html#dom-tbody-rows
 | ||||
| JS::NonnullGCPtr<DOM::HTMLCollection> HTMLTableSectionElement::rows() const | ||||
| { | ||||
|     // The rows attribute must return an HTMLCollection rooted at this element,
 | ||||
|     // whose filter matches only tr elements that are children of this element.
 | ||||
|     // FIXME: This should return the same HTMLCollection object every time,
 | ||||
|     //        but that would cause a reference cycle since HTMLCollection refs the root.
 | ||||
|     return DOM::HTMLCollection::create(const_cast<HTMLTableSectionElement&>(*this), [this](Element const& element) { | ||||
|         return element.parent() == this | ||||
|             && is<HTMLTableRowElement>(element); | ||||
|     }); | ||||
|     if (!m_rows) { | ||||
|         m_rows = DOM::HTMLCollection::create(const_cast<HTMLTableSectionElement&>(*this), [this](Element const& element) { | ||||
|             return element.parent() == this | ||||
|                 && is<HTMLTableRowElement>(element); | ||||
|         }); | ||||
|     } | ||||
|     return *m_rows; | ||||
| } | ||||
| 
 | ||||
| // https://html.spec.whatwg.org/multipage/tables.html#dom-tbody-insertrow
 | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue
	
	 Andreas Kling
						Andreas Kling