mirror of
				https://github.com/RGBCube/serenity
				synced 2025-10-31 19:12:43 +00:00 
			
		
		
		
	LibWeb+LibJS: Make the EventTarget hierarchy (incl. DOM) GC-allocated
This is a monster patch that turns all EventTargets into GC-allocated PlatformObjects. Their C++ wrapper classes are removed, and the LibJS garbage collector is now responsible for their lifetimes. There's a fair amount of hacks and band-aids in this patch, and we'll have a lot of cleanup to do after this.
This commit is contained in:
		
							parent
							
								
									bb547ce1c4
								
							
						
					
					
						commit
						6f433c8656
					
				
					 445 changed files with 4797 additions and 4268 deletions
				
			
		|  | @ -5,7 +5,7 @@ | |||
|  */ | ||||
| 
 | ||||
| #include <LibJS/Runtime/GlobalObject.h> | ||||
| #include <LibWeb/Bindings/WindowObject.h> | ||||
| #include <LibWeb/HTML/Window.h> | ||||
| #include <LibWeb/WebAssembly/WebAssemblyInstanceConstructor.h> | ||||
| #include <LibWeb/WebAssembly/WebAssemblyInstanceObject.h> | ||||
| #include <LibWeb/WebAssembly/WebAssemblyInstanceObjectPrototype.h> | ||||
|  | @ -42,7 +42,7 @@ JS::ThrowCompletionOr<JS::Object*> WebAssemblyInstanceConstructor::construct(Fun | |||
| void WebAssemblyInstanceConstructor::initialize(JS::Realm& realm) | ||||
| { | ||||
|     auto& vm = this->vm(); | ||||
|     auto& window = static_cast<WindowObject&>(realm.global_object()); | ||||
|     auto& window = verify_cast<HTML::Window>(realm.global_object()); | ||||
| 
 | ||||
|     NativeFunction::initialize(realm); | ||||
|     define_direct_property(vm.names.prototype, &window.ensure_web_prototype<WebAssemblyInstancePrototype>("WebAssemblyInstancePrototype"), 0); | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue
	
	 Andreas Kling
						Andreas Kling