Index: android_webview/browser/render_thread_manager.cc |
diff --git a/android_webview/browser/render_thread_manager.cc b/android_webview/browser/render_thread_manager.cc |
index 08e115fee88c953172eb0aa6115065372ee06043..cf8fdf82c410ef0b18ccafeb46e4fc4968257684 100644 |
--- a/android_webview/browser/render_thread_manager.cc |
+++ b/android_webview/browser/render_thread_manager.cc |
@@ -206,6 +206,12 @@ std::unique_ptr<ChildFrame> RenderThreadManager::GetSynchronousCompositorFrame( |
child_frame->offscreen_pre_raster, child_frame->is_layer); |
} |
+void RenderThreadManager::SetFrameFutureOnUI( |
+ const scoped_refptr<content::SynchronousCompositor::FrameFuture>& |
+ frame_future) { |
+ frame_future_ = std::move(frame_future); |
+} |
+ |
std::unique_ptr<ChildFrame> RenderThreadManager::PassFrameOnRT() { |
base::AutoLock lock(lock_); |
hardware_renderer_has_frame_ = |
@@ -217,6 +223,12 @@ std::unique_ptr<ChildFrame> RenderThreadManager::PassFrameOnRT() { |
return std::move(child_frame_); |
} |
+scoped_refptr<content::SynchronousCompositor::FrameFuture> |
+RenderThreadManager::PassFrameFutureOnRT() { |
+ base::AutoLock lock(lock_); |
+ return std::move(frame_future_); |
+} |
+ |
std::unique_ptr<ChildFrame> RenderThreadManager::PassUncommittedFrameOnUI() { |
base::AutoLock lock(lock_); |
if (async_on_draw_hardware_ && child_frame_.get()) { |