Fix Blank Screens When Restarting on Android
Recently on Android, we moved to invalidating the LocalSurfaceId upon frame eviction. This way one can be allocated closer to usage. This has a side effect when Viz Display Compositor is not active. When not active, the browser itself has different logic for connecting to its CompositorFrameSink. Where upon any connection, current frames are evicted. If this occurs while a RenderWidgetHostViewAndroid is showing, then there is no subsequent actions which update the LocalSurfaceId. This leads to us evicting the active frame, without generating a new one. This change updateds RenderWidgetHostViewAndroid::WasEvicted to only invalidate when not showing. Which addresses the frame eviction of background tabs. While returning to generating new ids when showing. Which supports the restarting case. Bug: 909903 Change-Id: I5d5da55a8072f71773e2ceb4331fed4fd3402bf0 Reviewed-on: https://chromium-review.googlesource.com/c/1355845 Commit-Queue: Jonathan Ross <jonross@chromium.org> Reviewed-by:Saman Sami <samans@chromium.org> Cr-Commit-Position: refs/heads/master@{#612894}
Showing
Please register or sign in to comment