removed bpp (it can be calculated)
fixed buffer size calculation (we actually send the whole image, not just the dirty part) removed the unnecessary resets and const now we use Copy instead of New
This commit is contained in:
		
					parent
					
						
							
								ca16132268
							
						
					
				
			
			
				commit
				
					
						1b0af6f6f1
					
				
			
		
					 2 changed files with 4 additions and 12 deletions
				
			
		|  | @ -1345,16 +1345,15 @@ bool WebContents::IsOffScreen() const { | ||||||
| 
 | 
 | ||||||
| void WebContents::OnPaint(const gfx::Rect& dirty_rect, | void WebContents::OnPaint(const gfx::Rect& dirty_rect, | ||||||
|                           const gfx::Size& bitmap_size, |                           const gfx::Size& bitmap_size, | ||||||
|                           const int pixel_size, |                           int pixel_size, | ||||||
|                           void* bitmap_pixels) { |                           void* bitmap_pixels) { | ||||||
|   v8::MaybeLocal<v8::Object> buffer = node::Buffer::New( |   v8::MaybeLocal<v8::Object> buffer = node::Buffer::Copy( | ||||||
|       isolate(), reinterpret_cast<char*>(bitmap_pixels), |       isolate(), reinterpret_cast<char*>(bitmap_pixels), | ||||||
|       pixel_size * dirty_rect.width() * dirty_rect.height()); |       pixel_size * bitmap_size.width() * bitmap_size.height()); | ||||||
| 
 | 
 | ||||||
|   mate::Dictionary dict = mate::Dictionary::CreateEmpty(isolate()); |   mate::Dictionary dict = mate::Dictionary::CreateEmpty(isolate()); | ||||||
|   dict.Set("width", bitmap_size.width()); |   dict.Set("width", bitmap_size.width()); | ||||||
|   dict.Set("height", bitmap_size.height()); |   dict.Set("height", bitmap_size.height()); | ||||||
|   dict.Set("bytesPerPixel", pixel_size); |  | ||||||
| 
 | 
 | ||||||
|   if (!buffer.IsEmpty()) |   if (!buffer.IsEmpty()) | ||||||
|     Emit("paint", dirty_rect, buffer.ToLocalChecked(), dict); |     Emit("paint", dirty_rect, buffer.ToLocalChecked(), dict); | ||||||
|  | @ -1367,8 +1366,8 @@ void WebContents::StartPainting() { | ||||||
|   auto* osr_rwhv = static_cast<OffScreenRenderWidgetHostView*>( |   auto* osr_rwhv = static_cast<OffScreenRenderWidgetHostView*>( | ||||||
|       web_contents()->GetRenderWidgetHostView()); |       web_contents()->GetRenderWidgetHostView()); | ||||||
|   if (osr_rwhv) { |   if (osr_rwhv) { | ||||||
|     osr_rwhv->SetPainting(true); |  | ||||||
|     osr_rwhv->Show(); |     osr_rwhv->Show(); | ||||||
|  |     osr_rwhv->SetPainting(true); | ||||||
|   } |   } | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
|  |  | ||||||
|  | @ -379,13 +379,6 @@ OffScreenRenderWidgetHostView::~OffScreenRenderWidgetHostView() { | ||||||
| #if defined(OS_MACOSX) | #if defined(OS_MACOSX) | ||||||
|   DestroyPlatformWidget(); |   DestroyPlatformWidget(); | ||||||
| #endif | #endif | ||||||
| 
 |  | ||||||
|   if (copy_frame_generator_.get()) |  | ||||||
|     copy_frame_generator_.reset(nullptr); |  | ||||||
| 
 |  | ||||||
|   delegated_frame_host_.reset(nullptr); |  | ||||||
|   compositor_.reset(nullptr); |  | ||||||
|   root_layer_.reset(nullptr); |  | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| void OffScreenRenderWidgetHostView::OnBeginFrameTimerTick() { | void OffScreenRenderWidgetHostView::OnBeginFrameTimerTick() { | ||||||
|  |  | ||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue
	
	 Heilig Benedek
				Heilig Benedek