mirror of
				https://github.com/LadybirdBrowser/ladybird.git
				synced 2025-10-31 13:20:59 +00:00 
			
		
		
		
	 cf730870c5
			
		
	
	
		cf730870c5
		
	
	
	
	
		
			
			This way we could be sure that context object won't be deallocated before any of the objects that belong to it. Having a context pointer is also going to be used in upcoming changes to generate an INVALID_OPERATION error if an object does not belong to the context it's being used in.
		
			
				
	
	
		
			35 lines
		
	
	
	
		
			838 B
		
	
	
	
		
			C++
		
	
	
	
	
	
			
		
		
	
	
			35 lines
		
	
	
	
		
			838 B
		
	
	
	
		
			C++
		
	
	
	
	
	
| /*
 | |
|  * Copyright (c) 2024, Andrew Kaster <andrew@ladybird.org>
 | |
|  *
 | |
|  * SPDX-License-Identifier: BSD-2-Clause
 | |
|  */
 | |
| 
 | |
| #include <LibJS/Runtime/Realm.h>
 | |
| #include <LibWeb/Bindings/Intrinsics.h>
 | |
| #include <LibWeb/Bindings/WebGLSyncPrototype.h>
 | |
| #include <LibWeb/WebGL/WebGLSync.h>
 | |
| 
 | |
| namespace Web::WebGL {
 | |
| 
 | |
| GC_DEFINE_ALLOCATOR(WebGLSync);
 | |
| 
 | |
| GC::Ref<WebGLSync> WebGLSync::create(JS::Realm& realm, WebGLRenderingContextBase& context, GLsyncInternal handle)
 | |
| {
 | |
|     return realm.create<WebGLSync>(realm, context, handle);
 | |
| }
 | |
| 
 | |
| WebGLSync::WebGLSync(JS::Realm& realm, WebGLRenderingContextBase& context, GLsyncInternal handle)
 | |
|     : WebGLObject(realm, context, 0)
 | |
|     , m_sync_handle(handle)
 | |
| {
 | |
| }
 | |
| 
 | |
| WebGLSync::~WebGLSync() = default;
 | |
| 
 | |
| void WebGLSync::initialize(JS::Realm& realm)
 | |
| {
 | |
|     Base::initialize(realm);
 | |
|     WEB_SET_PROTOTYPE_FOR_INTERFACE(WebGLSync);
 | |
| }
 | |
| 
 | |
| }
 |