mirror of
				https://github.com/RGBCube/serenity
				synced 2025-10-31 10:32:43 +00:00 
			
		
		
		
	 8cda70c892
			
		
	
	
		8cda70c892
		
	
	
	
	
		
			
			This patch moves the following things to being GC-allocated: - Bindings::CallbackType - HTML::EventHandler - DOM::IDLEventListener - DOM::DOMEventListener - DOM::NodeFilter Note that we only use PlatformObject for things that might be exposed to web content. Anything that is only used internally inherits directly from JS::Cell instead, making them a bit more lightweight.
		
			
				
	
	
		
			28 lines
		
	
	
	
		
			1.3 KiB
		
	
	
	
		
			C++
		
	
	
	
	
	
			
		
		
	
	
			28 lines
		
	
	
	
		
			1.3 KiB
		
	
	
	
		
			C++
		
	
	
	
	
	
| /*
 | |
|  * Copyright (c) 2021, Andreas Kling <kling@serenityos.org>
 | |
|  *
 | |
|  * SPDX-License-Identifier: BSD-2-Clause
 | |
|  */
 | |
| 
 | |
| #include <LibWeb/DOM/EventTarget.h>
 | |
| #include <LibWeb/HTML/EventNames.h>
 | |
| #include <LibWeb/HTML/GlobalEventHandlers.h>
 | |
| #include <LibWeb/UIEvents/EventNames.h>
 | |
| 
 | |
| namespace Web::HTML {
 | |
| 
 | |
| #undef __ENUMERATE
 | |
| #define __ENUMERATE(attribute_name, event_name)                                                           \
 | |
|     void GlobalEventHandlers::set_##attribute_name(Bindings::CallbackType* value)                         \
 | |
|     {                                                                                                     \
 | |
|         global_event_handlers_to_event_target(event_name).set_event_handler_attribute(event_name, value); \
 | |
|     }                                                                                                     \
 | |
|     Bindings::CallbackType* GlobalEventHandlers::attribute_name()                                         \
 | |
|     {                                                                                                     \
 | |
|         return global_event_handlers_to_event_target(event_name).event_handler_attribute(event_name);     \
 | |
|     }
 | |
| ENUMERATE_GLOBAL_EVENT_HANDLERS(__ENUMERATE)
 | |
| #undef __ENUMERATE
 | |
| 
 | |
| GlobalEventHandlers::~GlobalEventHandlers() = default;
 | |
| }
 |