summaryrefslogtreecommitdiffstats
path: root/src/core/compositor.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/core/compositor.cpp')
-rw-r--r--src/core/compositor.cpp10
1 files changed, 10 insertions, 0 deletions
diff --git a/src/core/compositor.cpp b/src/core/compositor.cpp
index 20d956ab4..5dd053718 100644
--- a/src/core/compositor.cpp
+++ b/src/core/compositor.cpp
@@ -135,6 +135,10 @@ QSGNode *Compositor::updatePaintNode(QSGNode *oldNode)
content::BrowserThread::UI, FROM_HERE,
base::BindOnce(&Compositor::notifyFrameCommitted, m_weakPtrFactory.GetWeakPtr()));
}
+ if (m_chromiumCompositorData->frameData.metadata.request_presentation_feedback)
+ content::BrowserThread::PostTask(
+ content::BrowserThread::UI, FROM_HERE,
+ base::BindOnce(&Compositor::sendPresentationFeedback, m_weakPtrFactory.GetWeakPtr(), m_chromiumCompositorData->frameData.metadata.frame_token));
return frameNode;
}
@@ -149,6 +153,12 @@ void Compositor::notifyFrameCommitted()
m_resourcesToRelease.clear();
}
+void Compositor::sendPresentationFeedback(uint frame_token)
+{
+ gfx::PresentationFeedback dummyFeedback(base::TimeTicks::Now(), base::TimeDelta(), gfx::PresentationFeedback::Flags::kVSync);
+ m_frameSinkClient->DidPresentCompositorFrame(frame_token, dummyFeedback);
+}
+
bool Compositor::OnBeginFrameDerivedImpl(const viz::BeginFrameArgs &args)
{
DCHECK_CURRENTLY_ON(content::BrowserThread::UI);