mirror of
				https://github.com/LadybirdBrowser/ladybird.git
				synced 2025-11-01 05:41:01 +00:00 
			
		
		
		
	LibWeb: Split out SimilarOriginWindowAgent from HTML::Agent
To allow for adding the concept of a WorkerAgent to be reused between shared and dedicated workers. An event loop is the commonality between the different agent types, though, there are some differences between those event loops which we customize on the construction of the HTML::EventLoop.
This commit is contained in:
		
							parent
							
								
									939bb10828
								
							
						
					
					
						commit
						084cceab5c
					
				
				
				Notes:
				
					github-actions[bot]
				
				2025-04-25 14:45:55 +00:00 
				
			
			Author: https://github.com/shannonbooth
Commit: 084cceab5c
Pull-request: https://github.com/LadybirdBrowser/ladybird/pull/4453
			
					 11 changed files with 103 additions and 54 deletions
				
			
		
							
								
								
									
										28
									
								
								Libraries/LibWeb/HTML/Scripting/SimilarOriginWindowAgent.cpp
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										28
									
								
								Libraries/LibWeb/HTML/Scripting/SimilarOriginWindowAgent.cpp
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,28 @@ | |||
| /*
 | ||||
|  * Copyright (c) 2025, Shannon Booth <shannon@serenityos.org> | ||||
|  * | ||||
|  * SPDX-License-Identifier: BSD-2-Clause | ||||
|  */ | ||||
| 
 | ||||
| #include <LibWeb/Bindings/MainThreadVM.h> | ||||
| #include <LibWeb/HTML/Scripting/Environments.h> | ||||
| #include <LibWeb/HTML/Scripting/SimilarOriginWindowAgent.h> | ||||
| #include <LibWeb/Platform/EventLoopPlugin.h> | ||||
| 
 | ||||
| namespace Web::HTML { | ||||
| 
 | ||||
| bool SimilarOriginWindowAgent::can_block() const | ||||
| { | ||||
|     // similar-origin window agents can not block, see: https://html.spec.whatwg.org/multipage/webappapis.html#obtain-similar-origin-window-agent
 | ||||
|     return false; | ||||
| } | ||||
| 
 | ||||
| // https://html.spec.whatwg.org/multipage/webappapis.html#relevant-agent
 | ||||
| SimilarOriginWindowAgent& relevant_similar_origin_window_agent(JS::Object const& object) | ||||
| { | ||||
|     // The relevant agent for a platform object platformObject is platformObject's relevant Realm's agent.
 | ||||
|     // Spec Note: This pointer is not yet defined in the JavaScript specification; see tc39/ecma262#1357.
 | ||||
|     return as<SimilarOriginWindowAgent>(*relevant_realm(object).vm().agent()); | ||||
| } | ||||
| 
 | ||||
| } | ||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue
	
	 Shannon Booth
						Shannon Booth