New issue
Advanced search Search tips

Issue 875879 link

Starred by 1 user

Issue metadata

Status: Fixed
Owner:
Closed: Sep 11
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Android
Pri: 1
Type: Bug-Regression


Show other hotlists

Hotlists containing this issue:
Modern-Media-Controls


Sign in to add a comment

Media Controls: overlay pause button stays visible

Project Member Reported by mlamouri@chromium.org, Aug 20

Issue description

Chrome Dev 70.0.3522.0

Steps:
 1. go to m.youtube.com
 2. play a video fullscreen
 3. show the controls
 4. wait for the controls to hide

Expected results: controls no longer visible
Actual results: controls still slightly visible (look like watermark)


It does not appear in Beta.
 
Screenshot_20180818-145520.png
845 KB View Download
Can you still repro? Just looked at 70.0.3525.3 and can't reproduce
Just tried on Canary 70.0.3525.3 and it still reproduces.
Cc: liber...@chromium.org
I can still see this in Canary and Dev but not in Beta and Stable.

+liberato@, because it only happens in fullscreen, could this be some overlay issue?
try setting --disable-features=overlay-fullscreen-video and try then.  that should turn off overlays.

please verify with 'adb shell dumpsys SurfaceFlinger', since it's an old flag.
Cc: -liber...@chromium.org steimel@chromium.org
Owner: liber...@chromium.org
I can confirm that it's disappearing when running without overlay-fullscreen-video flag. Note that I'm running P on this phone.
i'm building ToT to repro now.  it looks like the compositor isn't drawing the very last frame of the fade-out animation.  it tries to avoid drawing when there are only transparent things on top, and the transition from non-opaque to opaque is probably not being handled.

in particular, i suspect that this is marking the video overlay as "not occluded" as soon as the play button transitions to alpha == 0, and then skipping the last draw of the ui:

https://cs.chromium.org/chromium/src/components/viz/service/display/overlay_candidate.cc?rcl=28819f4991e0fca82153589be2ce9e33f6a18155&l=261

i'll see if this is actually what's happening.
Status: Started (was: Assigned)
i don't see it on 3543.  i'm not using P though.

mlamouri@ can you send your build config?  i'd like to rule out differences in that.
I'm able to repro on Canary and Dev so might not be related to my build config. My args.gn is:
```
target_os = "android"
#enable_incremental_javac = true
disable_incremental_isolated_processes = true
#incremental_apk_by_default = true

is_component_build = true
enable_nacl = false
#is_debug = true
is_debug = false
use_goma = true
is_clang = true
use_gold = true
symbol_level = 1

proprietary_codecs = true
ffmpeg_branding = "Chrome"
```

I have no flags manually set on my Chromium build.
with those gn args, i can repro it.  not sure which setting does it, but it sounds like canary and dev use it too.

when i turn off the check for unoccluded overlays, it starts working.  i'll need to improve the check, since we can't just turn it off else power consumption will get worse.
Project Member

Comment 10 by bugdroid1@chromium.org, Sep 10

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

commit e515d7cf0596acfee2e1d23e8e94b2f58c431e97
Author: liberato@chromium.org <liberato@chromium.org>
Date: Mon Sep 10 17:44:59 2018

Delay removing damage rect by one frame for underlays.

When we detect that an underlay is unoccluded, we would previously
consider removing its damage rect if it hadn't moved.  However, this
can cause problems if the underlay was occluded on the previous
frame, since we still need to erase whatever disappeared above it
from the framebuffer.

This CL requires that an underlay is unoccluded for one frame before
removing its damage rect.

Bug:  875879 
Cq-Include-Trybots: luci.chromium.try:android_optional_gpu_tests_rel
Change-Id: I00394c6d6f61c4381a97a6c753c8840485163845
Reviewed-on: https://chromium-review.googlesource.com/1211202
Reviewed-by: Daniele Castagna <dcastagna@chromium.org>
Commit-Queue: Frank Liberato <liberato@chromium.org>
Cr-Commit-Position: refs/heads/master@{#589969}
[modify] https://crrev.com/e515d7cf0596acfee2e1d23e8e94b2f58c431e97/components/viz/service/display/overlay_processor.cc
[modify] https://crrev.com/e515d7cf0596acfee2e1d23e8e94b2f58c431e97/components/viz/service/display/overlay_processor.h
[modify] https://crrev.com/e515d7cf0596acfee2e1d23e8e94b2f58c431e97/components/viz/service/display/overlay_unittest.cc

Labels: Merge-Request-70
Project Member

Comment 12 by sheriffbot@chromium.org, Sep 11

Labels: -Merge-Request-70 Hotlist-Merge-Approved Merge-Approved-70
Your change meets the bar and is auto-approved for M70. Please go ahead and merge the CL to branch 3538 manually. Please contact milestone owner if you have questions.
Owners: benmason@(Android), kariahda@(iOS), geohsu@(ChromeOS), abdulsyed@(Desktop)

For more details visit https://www.chromium.org/issue-tracking/autotriage - Your friendly Sheriffbot
Status: Fixed (was: Started)
Project Member

Comment 14 by bugdroid1@chromium.org, Sep 11

Labels: -merge-approved-70 merge-merged-3538
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/09077db98665847d6e0d40e894a78b31cdbe2444

commit 09077db98665847d6e0d40e894a78b31cdbe2444
Author: liberato@chromium.org <liberato@chromium.org>
Date: Tue Sep 11 18:06:44 2018

Delay removing damage rect by one frame for underlays.

When we detect that an underlay is unoccluded, we would previously
consider removing its damage rect if it hadn't moved.  However, this
can cause problems if the underlay was occluded on the previous
frame, since we still need to erase whatever disappeared above it
from the framebuffer.

This CL requires that an underlay is unoccluded for one frame before
removing its damage rect.

Bug:  875879 
Cq-Include-Trybots: luci.chromium.try:android_optional_gpu_tests_rel
Change-Id: I00394c6d6f61c4381a97a6c753c8840485163845
Reviewed-on: https://chromium-review.googlesource.com/1211202
Reviewed-by: Daniele Castagna <dcastagna@chromium.org>
Commit-Queue: Frank Liberato <liberato@chromium.org>
Cr-Original-Commit-Position: refs/heads/master@{#589969}(cherry picked from commit e515d7cf0596acfee2e1d23e8e94b2f58c431e97)
Reviewed-on: https://chromium-review.googlesource.com/1220094
Reviewed-by: Frank Liberato <liberato@chromium.org>
Cr-Commit-Position: refs/branch-heads/3538@{#279}
Cr-Branched-From: 79f7c91a2b2a2932cd447fa6f865cb6662fa8fa6-refs/heads/master@{#587811}
[modify] https://crrev.com/09077db98665847d6e0d40e894a78b31cdbe2444/components/viz/service/display/overlay_processor.cc
[modify] https://crrev.com/09077db98665847d6e0d40e894a78b31cdbe2444/components/viz/service/display/overlay_processor.h
[modify] https://crrev.com/09077db98665847d6e0d40e894a78b31cdbe2444/components/viz/service/display/overlay_unittest.cc

Sign in to add a comment