Don't generate a paint when StartPainting is called inside paint cb
This commit is contained in:
		
					parent
					
						
							
								17d85318c3
							
						
					
				
			
			
				commit
				
					
						708cde92cf
					
				
			
		
					 2 changed files with 6 additions and 1 deletions
				
			
		| 
						 | 
				
			
			@ -279,6 +279,7 @@ OffScreenRenderWidgetHostView::OffScreenRenderWidgetHostView(
 | 
			
		|||
      popup_position_(gfx::Rect()),
 | 
			
		||||
      hold_resize_(false),
 | 
			
		||||
      pending_resize_(false),
 | 
			
		||||
      paint_callback_running_(false),
 | 
			
		||||
      renderer_compositor_frame_sink_(nullptr),
 | 
			
		||||
      background_color_(SkColor()),
 | 
			
		||||
      weak_ptr_factory_(this) {
 | 
			
		||||
| 
						 | 
				
			
			@ -999,7 +1000,9 @@ void OffScreenRenderWidgetHostView::OnPaint(
 | 
			
		|||
    }
 | 
			
		||||
 | 
			
		||||
    damage.Intersect(GetViewBounds());
 | 
			
		||||
    paint_callback_running_ = true;
 | 
			
		||||
    callback_.Run(damage, bitmap);
 | 
			
		||||
    paint_callback_running_ = false;
 | 
			
		||||
 | 
			
		||||
    for (size_t i = 0; i < damages.size(); i++) {
 | 
			
		||||
      CopyBitmapTo(bitmap, originals[i], damages[i]);
 | 
			
		||||
| 
						 | 
				
			
			@ -1147,7 +1150,7 @@ void OffScreenRenderWidgetHostView::SetPainting(bool painting) {
 | 
			
		|||
  painting_ = painting;
 | 
			
		||||
 | 
			
		||||
  if (software_output_device_) {
 | 
			
		||||
    software_output_device_->SetActive(painting_, true);
 | 
			
		||||
    software_output_device_->SetActive(painting_, !paint_callback_running_);
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -315,6 +315,8 @@ class OffScreenRenderWidgetHostView
 | 
			
		|||
  bool hold_resize_;
 | 
			
		||||
  bool pending_resize_;
 | 
			
		||||
 | 
			
		||||
  bool paint_callback_running_;
 | 
			
		||||
 | 
			
		||||
  std::unique_ptr<ui::Layer> root_layer_;
 | 
			
		||||
  std::unique_ptr<ui::Compositor> compositor_;
 | 
			
		||||
  std::unique_ptr<content::DelegatedFrameHost> delegated_frame_host_;
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue