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.