mirror of
				https://github.com/RGBCube/serenity
				synced 2025-10-31 19:42:43 +00:00 
			
		
		
		
	LibWeb: Start implementing basic JavaScript DOM bindings
This patch introduces the Wrapper and Wrappable classes. Node now inherits from Wrappable, and can be wrapped in a GC-allocated Bindings::NodeWrapper object. The only property we expose right now is the very simple nodeName property. When a Document's JS::Interpreter is first instantiated, we add a "document" property with a DocumentWrapper object to the global object. This is pretty cool! :^)
This commit is contained in:
		
							parent
							
								
									9c9d3f0904
								
							
						
					
					
						commit
						1c406294fc
					
				
					 14 changed files with 196 additions and 1 deletions
				
			
		
							
								
								
									
										29
									
								
								Libraries/LibWeb/Bindings/DocumentWrapper.cpp
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										29
									
								
								Libraries/LibWeb/Bindings/DocumentWrapper.cpp
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,29 @@ | |||
| #include <LibJS/PrimitiveString.h> | ||||
| #include <LibJS/Value.h> | ||||
| #include <LibWeb/Bindings/DocumentWrapper.h> | ||||
| #include <LibWeb/DOM/Document.h> | ||||
| 
 | ||||
| namespace Web { | ||||
| namespace Bindings { | ||||
| 
 | ||||
| DocumentWrapper::DocumentWrapper(Document& document) | ||||
|     : NodeWrapper(document) | ||||
| { | ||||
| } | ||||
| 
 | ||||
| DocumentWrapper::~DocumentWrapper() | ||||
| { | ||||
| } | ||||
| 
 | ||||
| Document& DocumentWrapper::node() | ||||
| { | ||||
|     return static_cast<Document&>(NodeWrapper::node()); | ||||
| } | ||||
| 
 | ||||
| const Document& DocumentWrapper::node() const | ||||
| { | ||||
|     return static_cast<const Document&>(NodeWrapper::node()); | ||||
| } | ||||
| 
 | ||||
| } | ||||
| } | ||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue
	
	 Andreas Kling
						Andreas Kling