mirror of
				https://github.com/RGBCube/serenity
				synced 2025-10-31 05:12:44 +00:00 
			
		
		
		
	 b10fee00eb
			
		
	
	
		b10fee00eb
		
	
	
	
	
		
			
			This aligns Workers and Window and MessagePorts to all use the same mechanism for transferring serialized messages across realms. It also allows transferring more message ports into a worker. Re-enable the Worker-echo test, as none of the MessagePort tests have themselves been flaky, and those are now using the same underlying implementation.
		
			
				
	
	
		
			31 lines
		
	
	
	
		
			686 B
		
	
	
	
		
			C++
		
	
	
	
	
	
			
		
		
	
	
			31 lines
		
	
	
	
		
			686 B
		
	
	
	
		
			C++
		
	
	
	
	
	
| /*
 | |
|  * Copyright (c) 2023, Andrew Kaster <akaster@serenityos.org>
 | |
|  *
 | |
|  * SPDX-License-Identifier: BSD-2-Clause
 | |
|  */
 | |
| 
 | |
| #pragma once
 | |
| 
 | |
| #include <AK/RefCounted.h>
 | |
| #include <AK/URL.h>
 | |
| #include <LibWeb/Bindings/MainThreadVM.h>
 | |
| #include <LibWeb/Forward.h>
 | |
| #include <LibWeb/HTML/StructuredSerialize.h>
 | |
| 
 | |
| namespace WebWorker {
 | |
| 
 | |
| class DedicatedWorkerHost : public RefCounted<DedicatedWorkerHost> {
 | |
| public:
 | |
|     explicit DedicatedWorkerHost(AK::URL url, String type);
 | |
|     ~DedicatedWorkerHost();
 | |
| 
 | |
|     void run(JS::NonnullGCPtr<Web::Page>, Web::HTML::TransferDataHolder message_port_data);
 | |
| 
 | |
| private:
 | |
|     RefPtr<Web::HTML::WorkerDebugConsoleClient> m_console;
 | |
| 
 | |
|     AK::URL m_url;
 | |
|     String m_type;
 | |
| };
 | |
| 
 | |
| }
 |