mirror of
				https://github.com/RGBCube/serenity
				synced 2025-10-31 12:12:45 +00:00 
			
		
		
		
	LibWeb: Allow HTMLElement with contenteditable=true to be focusable
This commit is contained in:
		
							parent
							
								
									bcb68eb632
								
							
						
					
					
						commit
						05d5e11966
					
				
					 4 changed files with 25 additions and 0 deletions
				
			
		
							
								
								
									
										1
									
								
								Tests/LibWeb/Text/expected/focus-contenteditable.txt
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										1
									
								
								Tests/LibWeb/Text/expected/focus-contenteditable.txt
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1 @@ | |||
|   contenteditable is focused | ||||
							
								
								
									
										18
									
								
								Tests/LibWeb/Text/input/focus-contenteditable.html
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										18
									
								
								Tests/LibWeb/Text/input/focus-contenteditable.html
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,18 @@ | |||
| <script src="include.js"></script> | ||||
| <style> | ||||
|     #editable { | ||||
|         border: 1px solid black; | ||||
|         width: 100px; | ||||
|         height: 100px; | ||||
|     } | ||||
| </style> | ||||
| <div id="editable" contenteditable="true"></div> | ||||
| <script> | ||||
|     asyncTest((done) => { | ||||
|         document.getElementById("editable").addEventListener("focus", () => { | ||||
|             println("contenteditable is focused"); | ||||
|             done(); | ||||
|         }); | ||||
|         internals.click(50, 50); | ||||
|     }); | ||||
| </script> | ||||
|  | @ -93,6 +93,11 @@ bool HTMLElement::is_editable() const | |||
|     } | ||||
| } | ||||
| 
 | ||||
| bool HTMLElement::is_focusable() const | ||||
| { | ||||
|     return m_content_editable_state == ContentEditableState::True; | ||||
| } | ||||
| 
 | ||||
| StringView HTMLElement::content_editable() const | ||||
| { | ||||
|     switch (m_content_editable_state) { | ||||
|  |  | |||
|  | @ -34,6 +34,7 @@ public: | |||
|     void set_dir(String const&); | ||||
| 
 | ||||
|     virtual bool is_editable() const final; | ||||
|     virtual bool is_focusable() const override; | ||||
|     StringView content_editable() const; | ||||
|     WebIDL::ExceptionOr<void> set_content_editable(StringView); | ||||
| 
 | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue
	
	 Aliaksandr Kalenik
						Aliaksandr Kalenik