mirror of
				https://bitbucket.org/chromiumembedded/cef
				synced 2025-06-05 21:39:12 +02:00 
			
		
		
		
	Linux: Add OSR use_external_begin_frame support (see issue #1006)
This commit is contained in:
		
				
					committed by
					
						 Marshall Greenblatt
						Marshall Greenblatt
					
				
			
			
				
	
			
			
			
						parent
						
							531df6eaba
						
					
				
				
					commit
					a48e072076
				
			| @@ -46,7 +46,7 @@ std::unique_ptr<CefBrowserPlatformDelegateNative> CreateNativeDelegate( | ||||
|       window_info, background_color); | ||||
| #elif defined(OS_LINUX) | ||||
|   return std::make_unique<CefBrowserPlatformDelegateNativeLinux>( | ||||
|       window_info, background_color); | ||||
|       window_info, background_color, use_external_begin_frame); | ||||
| #endif | ||||
| } | ||||
|  | ||||
|   | ||||
| @@ -41,11 +41,12 @@ long GetSystemUptime() { | ||||
|  | ||||
| CefBrowserPlatformDelegateNativeLinux::CefBrowserPlatformDelegateNativeLinux( | ||||
|     const CefWindowInfo& window_info, | ||||
|     SkColor background_color) | ||||
|     SkColor background_color, | ||||
|     bool use_external_begin_frame) | ||||
|     : CefBrowserPlatformDelegateNative(window_info, | ||||
|                                        background_color, | ||||
|                                        false, | ||||
|                                        false), | ||||
|                                        use_external_begin_frame), | ||||
|       host_window_created_(false), | ||||
|       window_widget_(nullptr), | ||||
|       window_x11_(nullptr) {} | ||||
|   | ||||
| @@ -14,7 +14,8 @@ class CefBrowserPlatformDelegateNativeLinux | ||||
|     : public CefBrowserPlatformDelegateNative { | ||||
|  public: | ||||
|   CefBrowserPlatformDelegateNativeLinux(const CefWindowInfo& window_info, | ||||
|                                         SkColor background_color); | ||||
|                                         SkColor background_color, | ||||
|                                         bool use_external_begin_frame); | ||||
|  | ||||
|   // CefBrowserPlatformDelegate methods: | ||||
|   void BrowserDestroyed(CefBrowserHostImpl* browser) override; | ||||
|   | ||||
| @@ -1323,6 +1323,9 @@ void CefRenderWidgetHostViewOSR::SendExternalBeginFrame() { | ||||
|   DCHECK(begin_frame_args.IsValid()); | ||||
|   begin_frame_number_++; | ||||
|  | ||||
|   if (render_widget_host_) | ||||
|     render_widget_host_->ProgressFlingIfNeeded(frame_time); | ||||
|  | ||||
|   if (renderer_compositor_frame_sink_) { | ||||
|     GetCompositor()->context_factory_private()->IssueExternalBeginFrame( | ||||
|         GetCompositor(), begin_frame_args); | ||||
|   | ||||
		Reference in New Issue
	
	Block a user