diff --git a/libcef/browser/browser_platform_delegate_create.cc b/libcef/browser/browser_platform_delegate_create.cc index da0bd5845..75c05f42a 100644 --- a/libcef/browser/browser_platform_delegate_create.cc +++ b/libcef/browser/browser_platform_delegate_create.cc @@ -46,7 +46,7 @@ std::unique_ptr CreateNativeDelegate( window_info, background_color); #elif defined(OS_LINUX) return std::make_unique( - window_info, background_color); + window_info, background_color, use_external_begin_frame); #endif } diff --git a/libcef/browser/native/browser_platform_delegate_native_linux.cc b/libcef/browser/native/browser_platform_delegate_native_linux.cc index 8eff5fe6b..b325cbf0c 100644 --- a/libcef/browser/native/browser_platform_delegate_native_linux.cc +++ b/libcef/browser/native/browser_platform_delegate_native_linux.cc @@ -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) {} diff --git a/libcef/browser/native/browser_platform_delegate_native_linux.h b/libcef/browser/native/browser_platform_delegate_native_linux.h index d7a54eef3..771d15134 100644 --- a/libcef/browser/native/browser_platform_delegate_native_linux.h +++ b/libcef/browser/native/browser_platform_delegate_native_linux.h @@ -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; diff --git a/libcef/browser/osr/render_widget_host_view_osr.cc b/libcef/browser/osr/render_widget_host_view_osr.cc index 0967189ed..11e7b2184 100644 --- a/libcef/browser/osr/render_widget_host_view_osr.cc +++ b/libcef/browser/osr/render_widget_host_view_osr.cc @@ -1317,6 +1317,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);