diff options
Diffstat (limited to 'src/core/render_widget_host_view_qt.cpp')
-rw-r--r-- | src/core/render_widget_host_view_qt.cpp | 15 |
1 files changed, 13 insertions, 2 deletions
diff --git a/src/core/render_widget_host_view_qt.cpp b/src/core/render_widget_host_view_qt.cpp index 2918fd8bc..e741962fb 100644 --- a/src/core/render_widget_host_view_qt.cpp +++ b/src/core/render_widget_host_view_qt.cpp @@ -280,6 +280,7 @@ RenderWidgetHostViewQt::RenderWidgetHostViewQt(content::RenderWidgetHost *widget , m_touchMotionStarted(false) , m_enableViz(features::IsVizDisplayCompositorEnabled()) , m_visible(false) + , m_needsBeginFrames(false) , m_loadVisuallyCommittedState(NotCommitted) , m_adapterClient(0) , m_imeInProgress(false) @@ -1741,8 +1742,8 @@ void RenderWidgetHostViewQt::handleFocusEvent(QFocusEvent *ev) void RenderWidgetHostViewQt::SetNeedsBeginFrames(bool needs_begin_frames) { - DCHECK(!m_enableViz); - m_compositor->setNeedsBeginFrames(needs_begin_frames); + m_needsBeginFrames = needs_begin_frames; + UpdateNeedsBeginFramesInternal(); } content::RenderFrameHost *RenderWidgetHostViewQt::getFocusedFrameHost() @@ -1777,6 +1778,8 @@ ui::TextInputType RenderWidgetHostViewQt::getTextInputType() const void RenderWidgetHostViewQt::SetWantsAnimateOnlyBeginFrames() { + if (m_enableViz) + m_delegatedFrameHost->SetWantsAnimateOnlyBeginFrames(); } viz::SurfaceId RenderWidgetHostViewQt::GetCurrentSurfaceId() const @@ -1877,4 +1880,12 @@ std::unique_ptr<content::SyntheticGestureTarget> RenderWidgetHostViewQt::CreateS return nullptr; } +void RenderWidgetHostViewQt::UpdateNeedsBeginFramesInternal() +{ + if (m_enableViz) + m_delegatedFrameHost->SetNeedsBeginFrames(m_needsBeginFrames); + else + m_compositor->setNeedsBeginFrames(m_needsBeginFrames); +} + } // namespace QtWebEngineCore |