New issue
Advanced search Search tips
Note: Color blocks (like or ) mean that a user may not be available. Tooltip shows the reason.

Issue 822442 link

Starred by 3 users

Issue metadata

Status: Fixed
Owner:
Closed: Mar 2018
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: ----
Pri: 1
Type: Bug

Blocking:
issue 672962



Sign in to add a comment

Fallback surface not set after switching away from tab

Project Member Reported by kylec...@chromium.org, Mar 15 2018

Issue description

We can end up without a fallback surface set for a renderer SurfaceLayer. This happens because when switching away from a tab we clear the fallback surface but when switching back to the tab we never set it again. This drops the surface reference from the browser surface to the renderer surface. Without a surface reference the old renderer surface is destroyed as soon as a new one is created, for example on resize.

1. Open tab 1.
2. Open tab 2.
3. Switch to tab 1.
4. Switch to tab 2.
5. Resize the browser window.
6. Observe flicker to background color before showing frame with new size. 

I can reproduce this on Windows canary and Linux ToT. Looks like a side effect from this change https://chromium-review.googlesource.com/c/938678/.
 
I don't have a clear mental model of frame eviction. I was under the impression that we should be allocating a new LocalSurfaceId on show. That sorta happened but got reverted?

Comment 2 by samans@chromium.org, Mar 15 2018

Cc: -samans@chromium.org kylec...@chromium.org
Owner: samans@chromium.org
Status: Started (was: Available)
Project Member

Comment 3 by bugdroid1@chromium.org, Mar 16 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/747b7b5664f539ce4f58f4aba37c462d1d5c834a

commit 747b7b5664f539ce4f58f4aba37c462d1d5c834a
Author: Saman Sami <samans@chromium.org>
Date: Fri Mar 16 21:12:43 2018

content: Only drop fallback if sized changed while hidden

Instead of dropping fallback every time a tab goes hidden, only drop
fallback if size changes when the tab was hidden.

Bug:  822442 
Change-Id: Ib1ac403f9c76cbb406ca5f85d47f6b789ca9b055
Reviewed-on: https://chromium-review.googlesource.com/965016
Reviewed-by: Fady Samuel <fsamuel@chromium.org>
Commit-Queue: Saman Sami <samans@chromium.org>
Cr-Commit-Position: refs/heads/master@{#543830}
[modify] https://crrev.com/747b7b5664f539ce4f58f4aba37c462d1d5c834a/content/browser/renderer_host/delegated_frame_host.cc
[modify] https://crrev.com/747b7b5664f539ce4f58f4aba37c462d1d5c834a/content/browser/renderer_host/render_widget_host_view_aura.h
[modify] https://crrev.com/747b7b5664f539ce4f58f4aba37c462d1d5c834a/content/browser/renderer_host/render_widget_host_view_aura_unittest.cc

Labels: Merge-Request-66
Project Member

Comment 5 by sheriffbot@chromium.org, Mar 17 2018

Labels: -Merge-Request-66 Merge-Review-66 Hotlist-Merge-Review
This bug requires manual review: M66 has already been promoted to the beta branch, so this requires manual review
Please contact the milestone owner if you have questions.
Owners: cmasso@(Android), cmasso@(iOS), josafat@(ChromeOS), abdulsyed@(Desktop)

For more details visit https://www.chromium.org/issue-tracking/autotriage - Your friendly Sheriffbot
Labels: -Merge-Review-66 Merge-Approved-66
Approving merge to M66. Confirmed with fady@ that his is a safe merge, well tested. Branch:3359
Project Member

Comment 7 by bugdroid1@chromium.org, Mar 19 2018

Labels: -merge-approved-66 merge-merged-3359
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/a57cbc5282ad074134ae43438f47c32327ff924e

commit a57cbc5282ad074134ae43438f47c32327ff924e
Author: Saman Sami <samans@chromium.org>
Date: Mon Mar 19 17:06:40 2018

content: Only drop fallback if sized changed while hidden

Instead of dropping fallback every time a tab goes hidden, only drop
fallback if size changes when the tab was hidden.

Bug:  822442 
Change-Id: Ib1ac403f9c76cbb406ca5f85d47f6b789ca9b055
Reviewed-on: https://chromium-review.googlesource.com/965016
Reviewed-by: Fady Samuel <fsamuel@chromium.org>
Commit-Queue: Saman Sami <samans@chromium.org>
Cr-Original-Commit-Position: refs/heads/master@{#543830}(cherry picked from commit 747b7b5664f539ce4f58f4aba37c462d1d5c834a)
Reviewed-on: https://chromium-review.googlesource.com/969181
Reviewed-by: Saman Sami <samans@chromium.org>
Cr-Commit-Position: refs/branch-heads/3359@{#308}
Cr-Branched-From: 66afc5e5d10127546cc4b98b9117aff588b5e66b-refs/heads/master@{#540276}
[modify] https://crrev.com/a57cbc5282ad074134ae43438f47c32327ff924e/content/browser/renderer_host/delegated_frame_host.cc
[modify] https://crrev.com/a57cbc5282ad074134ae43438f47c32327ff924e/content/browser/renderer_host/render_widget_host_view_aura.h
[modify] https://crrev.com/a57cbc5282ad074134ae43438f47c32327ff924e/content/browser/renderer_host/render_widget_host_view_aura_unittest.cc

Comment 8 by samans@chromium.org, Mar 19 2018

Status: Fixed (was: Started)

Sign in to add a comment