New issue
Advanced search Search tips

Issue 923924 link

Starred by 1 user

Issue metadata

Status: Untriaged
Owner: ----
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: ----
Pri: 3
Type: Bug



Sign in to add a comment

Surface Synchronization Does Not Handle Display Scale Correctly

Project Member Reported by jonr...@chromium.org, Yesterday (35 hours ago)

Issue description

LayerTreeHost::SetViewportSizeAndScale currently has a CHECK that if size or display scale factor changed, that the viz::LocalSurfaceId has changed.

However this is not currently valid for Aura platforms.

We still have paths where the Display Scale Factor changes, but surface ids are not advanced.

One such path which leads to this is:
	cc::LayerTreeHost::SetViewportSizeAndScale(gfx::Size const &,float,viz::LocalSurfaceIdAllocation const &)
        ui::Compositor::SetScaleAndSize(float,gfx::Size const &,viz::LocalSurfaceIdAllocation const &)
        views::DesktopWindowTreeHostWin::HandleWindowScaleFactorChanged(float)
        BrowserDesktopWindowTreeHostWin::HandleWindowScaleFactorChanged(float)

However this can also be hit within the Renderer via normal Surface Sync:
	cc::LayerTreeHost::SetViewportSizeAndScale(gfx::Size const &,float,viz::LocalSurfaceIdAllocation const &)
	content::RenderWidget::UpdateSurfaceAndScreenInfo(viz::LocalSurfaceIdAllocation const &,gfx::Size const &,content::ScreenInfo const &)
	content::RenderWidget::SynchronizeVisualProperties(content::VisualProperties const &)
	content::RenderWidget::OnSynchronizeVisualProperties(content::VisualProperties const &)

Attempts to make this CHECK be enabled on all platforms lead to crashes. See issue 923846 which found the above stacks.
 

Sign in to add a comment