Closed Bug 1739879 Opened 4 years ago Closed 4 years ago

Background color and extension flickering on page navigation

Categories

(Core :: Graphics: Layers, defect, P3)

Firefox 95
Desktop
Windows 10
defect

Tracking

()

RESOLVED DUPLICATE of bug 1740499

People

(Reporter: kael, Unassigned)

Details

Attachments

(2 files)

Recently I've started getting really nasty brief flickering when navigating between pages on certain websites. It's the worst for sites I have the Owl extension enabled on (because it applies a brightness inverting filter for eye comfort), but I've noticed it on regular websites with dark backgrounds where no extensions are active.
It looks like in the Owl case, the page is rendered for a couple frames before the extension is allowed to run and apply any styles - its icon disappears from the address bar.
For the sites without the extension I get a frame or two of a bright (default?) background.
I don't know precisely when this changed, but it was very recent. On my 120fps monitor the bad rendering lasts 2-3 frames, but on my 60fps monitor it's typically one. Sometimes it doesn't happen.

Attaching a video of it, will attach about:support too. NOTE: Photosensitivity warning for this!!!

Attached file about:support

This reproduces on a fresh profile if I immediately install Owl and enable it for Hacker News (like in the video) and browse around.
I tried mozregression, but I find the regression window to be nonsense. I think there's some other factor that causes the bug to not happen on certain runs, on some runs it happened on my very first navigation and on others I couldn't get it to happen after dozens of navs (so I marked those builds as good).

I will note that in the mozregression run I set it to load hacker news at startup, and when it did that I saw a few frames of bright (owl hasn't applied its styles yet) at start every time, which is similar to how in the screen recording it seems like the page renders for a couple frames before the extension is allowed to apply its userstyles.

2021-11-07T18:21:20.046000: INFO : platform_version: 94.0a1
2021-11-07T18:21:42.994000: INFO : Narrowed integration regression window from [fbae5c0c, 4eb8f7b7] (4 builds) to [589c7732, 4eb8f7b7] (2 builds) (~1 steps left)
2021-11-07T18:21:43.006000: DEBUG : Starting merge handling...
2021-11-07T18:21:43.006000: DEBUG : Using url: https://hg.mozilla.org/integration/autoland/json-pushes?changeset=4eb8f7b78caa13d5bc8ce33e94a691c4d0d0f9a6&full=1
2021-11-07T18:21:43.006000: DEBUG : redo: attempt 1/3
2021-11-07T18:21:43.006000: DEBUG : redo: retry: calling _default_get with args: ('https://hg.mozilla.org/integration/autoland/json-pushes?changeset=4eb8f7b78caa13d5bc8ce33e94a691c4d0d0f9a6&full=1',), kwargs: {}, attempt #1
2021-11-07T18:21:43.008000: DEBUG : urllib3.connectionpool: Resetting dropped connection: hg.mozilla.org
2021-11-07T18:21:43.564000: DEBUG : urllib3.connectionpool: https://hg.mozilla.org:443 "GET /integration/autoland/json-pushes?changeset=4eb8f7b78caa13d5bc8ce33e94a691c4d0d0f9a6&full=1 HTTP/1.1" 200 None
2021-11-07T18:21:43.585000: DEBUG : Found commit message:
Bug 1732030 - Fix expectations for WebAssembly.Function tests; r=rhunt

Differential Revision: https://phabricator.services.mozilla.com/D126351

2021-11-07T18:21:43.585000: DEBUG : Did not find a branch, checking all integration branches
2021-11-07T18:21:43.586000: INFO : The bisection is done.
2021-11-07T18:21:43.588000: INFO : Stopped

The severity field is not set for this bug.
:jimm, could you have a look please?

For more information, please visit auto_nag documentation.

Flags: needinfo?(jmathies)

bouncing this to media because I can't view the video.

Blocks: media-triage
Flags: needinfo?(jmathies)

Should I upload the mp4 file to youtube? Or are you just not able to view it due to photosensitivity

The severity field is not set for this bug.
:jimm, could you have a look please?

For more information, please visit auto_nag documentation.

Flags: needinfo?(jmathies)

The video works fine for me. Jimm, can you elaborate what's not working?

Blocks: gfx-triage
No longer blocks: media-triage
Flags: needinfo?(jmathies)

The severity field is not set for this bug.
:jimm, could you have a look please?

For more information, please visit auto_nag documentation.

Flags: needinfo?(jmathies)
Severity: -- → S4
Flags: needinfo?(jmathies)

Perhaps this is our flash of unstyled content not supporting dark mode?

Flags: needinfo?(emilio)

In this case the content isn't dark mode aware period, the Owl extension is applying CSS filters on a per-site basis

I wonder if this is basically bug 1740499 (where we're unsuppressing painting too fast, before the extension has had a chance of injecting content)... Katelyn, does a build from https://treeherder.mozilla.org/#/jobs?repo=try&revision=07076d5246dcd43457213aa474a2d6d933360813 reproduce the issue for you?

Flags: needinfo?(emilio) → needinfo?(kg)

Sorry, I stared at that treeherder page for a while and clicked various links and I cannot figure out how to download a Windows build.

Sorry, totally my fault. Click the "B" task for a given platform, and in the "Artifact and debugging tools" tab there's a bunch of stuff, including a target.{dmg,zip,tar.bz2} which contains the Firefox binary. So for Windows x64 it would be this link: https://firefox-ci-tc.services.mozilla.com/api/queue/v1/task/K0ZlQipfQ-ixvZx_pvUsAg/runs/0/artifacts/public/build/target.zip

Just extract it somewhere and you should be able to run the firefox.exe binary in there.

Hi,

Finally got a chance to test that build out successfully. It doesn't start unless I manually exclude the whole folder from Windows Defender, which is pretty weird. Anyway, it does seem like that build does not have the problem - there's a flash of bright white on the initial load of the website for a couple frames until Owl loads, but after that despite the owl icon flickering in the address bar for ~1 frame, I can't produce any page rendering where the extension styles haven't applied. I browsed around for about 3 minutes and didn't see any flashes. It would certainly be nice if it worked right on that initial load too but that's relatively minor since many users probably just leave Firefox open.

Thanks
-kg

Flags: needinfo?(kg)
No longer blocks: gfx-triage
Priority: -- → P3

Thanks, let's dupe then.

Status: NEW → RESOLVED
Closed: 4 years ago
Resolution: --- → DUPLICATE
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: