mirror of
				https://github.com/RGBCube/serenity
				synced 2025-10-31 16:02:45 +00:00 
			
		
		
		
	Ladybird+LibWebView: Move most of paint handling to LibWebView
Storing the backup bitmap is the same across Browser and Ladybird. Just peform that work in LibWebView, and handle only the implementation- specific nuances within the browsers.
This commit is contained in:
		
							parent
							
								
									15da77f4c4
								
							
						
					
					
						commit
						ea7e1b5f53
					
				
					 10 changed files with 34 additions and 63 deletions
				
			
		|  | @ -112,26 +112,6 @@ void WebViewBridge::notify_server_did_layout(Badge<WebView::WebContentClient>, G | |||
|     } | ||||
| } | ||||
| 
 | ||||
| void WebViewBridge::notify_server_did_paint(Badge<WebView::WebContentClient>, i32 bitmap_id, Gfx::IntSize size) | ||||
| { | ||||
|     if (m_client_state.back_bitmap.id == bitmap_id) { | ||||
|         m_client_state.has_usable_bitmap = true; | ||||
|         m_client_state.back_bitmap.pending_paints--; | ||||
|         m_client_state.back_bitmap.last_painted_size = size; | ||||
|         swap(m_client_state.back_bitmap, m_client_state.front_bitmap); | ||||
|         // We don't need the backup bitmap anymore, so drop it.
 | ||||
|         m_backup_bitmap = nullptr; | ||||
| 
 | ||||
|         if (on_ready_to_paint) | ||||
|             on_ready_to_paint(); | ||||
| 
 | ||||
|         if (m_client_state.got_repaint_requests_while_painting) { | ||||
|             m_client_state.got_repaint_requests_while_painting = false; | ||||
|             request_repaint(); | ||||
|         } | ||||
|     } | ||||
| } | ||||
| 
 | ||||
| void WebViewBridge::notify_server_did_invalidate_content_rect(Badge<WebView::WebContentClient>, Gfx::IntRect const&) | ||||
| { | ||||
|     request_repaint(); | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue
	
	 Timothy Flynn
						Timothy Flynn