| 
									
										
										
										
											2023-08-20 14:41:51 +12:00
										 |  |  | /*
 | 
					
						
							|  |  |  |  * Copyright (c) 2023, Shannon Booth <shannon@serenityos.org> | 
					
						
							|  |  |  |  * | 
					
						
							|  |  |  |  * SPDX-License-Identifier: BSD-2-Clause | 
					
						
							|  |  |  |  */ | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | #pragma once
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | #include <LibWeb/DOM/HTMLCollection.h>
 | 
					
						
							|  |  |  | #include <LibWeb/DOM/RadioNodeList.h>
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | namespace Web::DOM { | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | class HTMLFormControlsCollection : public HTMLCollection { | 
					
						
							|  |  |  |     WEB_PLATFORM_OBJECT(HTMLFormControlsCollection, HTMLCollection); | 
					
						
							| 
									
										
										
										
											2023-11-19 19:47:52 +01:00
										 |  |  |     JS_DECLARE_ALLOCATOR(HTMLFormControlsCollection); | 
					
						
							| 
									
										
										
										
											2023-08-20 14:41:51 +12:00
										 |  |  | 
 | 
					
						
							|  |  |  | public: | 
					
						
							|  |  |  |     [[nodiscard]] static JS::NonnullGCPtr<HTMLFormControlsCollection> create(ParentNode& root, Scope, Function<bool(Element const&)> filter); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     virtual ~HTMLFormControlsCollection() override; | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2023-12-21 22:36:37 +13:00
										 |  |  |     Variant<Empty, Element*, JS::Handle<RadioNodeList>> named_item_or_radio_node_list(FlyString const& name) const; | 
					
						
							| 
									
										
										
										
											2023-08-20 14:41:51 +12:00
										 |  |  | 
 | 
					
						
							|  |  |  | protected: | 
					
						
							|  |  |  |     virtual void initialize(JS::Realm&) override; | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2023-12-21 22:04:26 +13:00
										 |  |  |     virtual WebIDL::ExceptionOr<JS::Value> named_item_value(FlyString const& name) const final; | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2023-08-20 14:41:51 +12:00
										 |  |  | private: | 
					
						
							|  |  |  |     HTMLFormControlsCollection(ParentNode& root, Scope, Function<bool(Element const&)> filter); | 
					
						
							|  |  |  | }; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | } |