Closed Bug 1540984 Opened 1 year ago Closed 1 year ago

Theme header background image flickers/blinks/flashes when changing/opening window

Categories

(WebExtensions :: Themes, defect, P2)

68 Branch
defect

Tracking

(firefox-esr60 unaffected, firefox66 unaffected, firefox67 wontfix, firefox67.0.1 wontfix, firefox68+ verified)

VERIFIED FIXED
mozilla68
Tracking Status
firefox-esr60 --- unaffected
firefox66 --- unaffected
firefox67 --- wontfix
firefox67.0.1 --- wontfix
firefox68 + verified

People

(Reporter: Virtual, Assigned: kmag)

References

(Regression)

Details

(Keywords: nightly-community, regression)

Attachments

(4 files, 2 obsolete files)

STR:

  1. Install some Theme
  2. Open 2 browser windows
  3. Change between them
    and see that theme flickers/blinks/flashes on black when changing/opening window
Attached file mozregression-gui.txt (obsolete) —

Regression started in Mozilla Firefox Nightly 68.0a1 (2019-03-31).

Maybe it's caused by:
bug #1539026
bug #1525762
bug #1539925

opt and pgo builds searching is broken in mozregression-gui.
Only debug builds works properly.

Regression caused by:

Found commit message:
Bug 1539925: Part 4 - Remove stray mochitest install.rdf file. r=aswan
Differential Revision: https://phabricator.services.mozilla.com/D25292

Blocks: 1539925
Has Regression Range: --- → yes
Flags: needinfo?(kmaglione+bmo)

STR2:

  1. Open this website page:
    https://net-s.pl/produkt/amd-ryzen-7-2700-octo-core-320ghz-20mb-am4-65w-12nm-box-844443
  2. Press CPU image to show bigger image in new window
    and see that theme flickers/blinks/flashes on black on background window when opening new foreground window
Summary: Theme flickers/blinks/flashes on black when changing/opening window → Theme flickers/blinks/flashes on black when changing/opening window after landing patches from bug #1539925
Component: Theme → Add-ons Manager
Product: Firefox → Toolkit
No longer blocks: 1539925
Severity: major → normal
Component: Add-ons Manager → Themes
Flags: needinfo?(kmaglione+bmo)
Product: Toolkit → WebExtensions
Summary: Theme flickers/blinks/flashes on black when changing/opening window after landing patches from bug #1539925 → Restore header image pre-cropping for absurdly large header images
Version: 68 Branch → Firefox 68
Regressed by: 1525762
No longer regressed by: 1539925

Per comment #2 mozregression-gui pointing that this bug regressed by bug #1539925, not by bug #1525762. Is it wrong, that you change it?

Flags: needinfo?(ntim.bugs)

(In reply to Virtual_ManPL [:Virtual] - (please needinfo? me - so I will see your comment/reply/question/etc.) from comment #6)

Per comment #2 mozregression-gui pointing that this bug regressed by bug #1539925, not by bug #1525762. Is it wrong, that you change it?

From Kris’ new summary, bug 1525762 sounds more likely since that one actually removed the image cropper.

Flags: needinfo?(ntim.bugs)

Does this happen on Windows between windows only, or between tabs as well?

Flags: needinfo?(kraj)

cosmin, can you take a look?

Flags: needinfo?(kraj) → needinfo?(cbadescu)

@ David Durst [:ddurst] - Issue is reproducible for me only when I switch between windows, switching between tabs are unaffected.

Attached video Bug1540984.mp4

I can reproduce this issue on Firefox 68.0a1 (20190416220148) under Win 7 64-bit and Mac OS X 10.14.1

Please see the attached video.

(In reply to David Durst [:ddurst] from comment #9)

Does this happen on Windows between windows only, or between tabs as well?

This issue happens only between windows.

I did a regression window and observed that Bug 1525762 is the one that caused this regression.

INFO: Last good revision: 9b129ff965d75b364c9bdb4d737542cb4d1c40d1
INFO: First bad revision: c06dfc552c647a6ce96f35cd84c32a589dc85608
INFO: Pushlog:
https://hg.mozilla.org/mozilla-central/pushloghtml?fromchange=9b129ff965d75b364c9bdb4d737542cb4d1c40d1&tochange=c06dfc552c647a6ce96f35cd84c32a589dc85608

Flags: needinfo?(cbadescu)

I think we should try to fix this in 68 if possible.

Mike, can we find someone to work on this?

Flags: needinfo?(mdeboer)

A backout of https://hg.mozilla.org/mozilla-central/rev/ba1529f7fd78 would suffice, but maybe Kris had something different in mind.

(In reply to Tim Nguyen :ntim from comment #15)

A backout of https://hg.mozilla.org/mozilla-central/rev/ba1529f7fd78 would suffice, but maybe Kris had something different in mind.

Oh wait, it will not work with static themes, since they use moz-extension:// images which are not covered by the image cropper. I'll leave this to someone else, since I don't have time or Windows 7 to test this.

I also see this on Ubuntu 19.04 when switching between multiple Firefox windows, so all platforms are affected.

Interestingly it does not happen when switching between private and non-private windows.

OS: Windows 7 → All

(In reply to Kestrel from comment #18)

I also see this on Ubuntu 19.04 when switching between multiple Firefox windows, so all platforms are affected.

Interestingly it does not happen when switching between private and non-private windows.

I can't reproduce this on macOS, but presumably because it's ok with higher resolution images.

(In reply to Tim Nguyen :ntim from comment #19)

I can't reproduce this on macOS, but presumably because it's ok with higher resolution images.

Comment 12 mentions it occurring on Mac OS X 10.14.1.

@ Tim Nguyen :ntim - Please retry with updated STRs, maybe issue will finally be reproducible for you too.

Updated STRs:

STR1:

  1. Install "Virtualfox" Theme ( https://addons.mozilla.org/addon/virtualfox/ )
  2. Open 2 browser windows
  3. Change between them
    and see that theme flickers/blinks/flashes on black when changing/opening window

STR2:

  1. Install "Virtualfox" Theme ( https://addons.mozilla.org/addon/virtualfox/ )
  2. Open this website page:
    https://net-s.pl/produkt/amd-ryzen-7-2700-octo-core-320ghz-20mb-am4-65w-12nm-box-844443
  3. Press CPU image to show bigger image in new window
    and see that theme flickers/blinks/flashes on black on background window when opening new foreground window
Flags: needinfo?(ntim.bugs)

Yeah, I can reproduce now, thanks. I'm busy with other things though, so I'm not planning to take this.

Flags: needinfo?(ntim.bugs)
Attached video MacOS.mov

Mac OS X 10.14.1

(In reply to Tim Nguyen :ntim from comment #15)

A backout of https://hg.mozilla.org/mozilla-central/rev/ba1529f7fd78 would suffice, but maybe Kris had something different in mind.

It would not.

Since this was clearly regressed by bug 1525762, I think it'd be a good start for Kris to take a look to see if the image cropper can be re-jigged in a different way.
Or perhaps redirect top :aswan, who reviewed the patches(?)

Flags: needinfo?(mdeboer) → needinfo?(kmaglione+bmo)

I've asked for this side-effect to try to be fixed in 68. Product isn't that worried about it, and it's ultimately their call.

I've updated the summary because how to fix it should be up to the fixer; what to solve for is the requirement.

Assignee: nobody → kmaglione+bmo
Flags: needinfo?(kmaglione+bmo)
Summary: Restore header image pre-cropping for absurdly large header images → Theme header background image flickers/blinks/flashes when changing/opening window
Priority: -- → P2

For large header images, built-in memory caching does not work correctly, and
we wind up seeing a flicker any time a new window is opened or becomes active.
This patch caches the header image in an Image element at startup, and uses
that element as the backing for the header image in all browser windows.

https://hg.mozilla.org/integration/mozilla-inbound/rev/6159d01c9341088edcabb318259c8ce6201c61ac
Bug 1540984: Pre-load theme header image and share across all windows. r=aswan

Backed out for assertion failures on Allocator.cpp:157

backout: https://hg.mozilla.org/integration/mozilla-inbound/rev/a722a039fb671037fa7570efb855c81ea9e3312e

push: https://treeherder.mozilla.org/#/jobs?repo=mozilla-inbound&revision=6159d01c9341088edcabb318259c8ce6201c61ac&group_state=expanded&selectedJob=244350089

failure log: https://treeherder.mozilla.org/logviewer.html#/jobs?job_id=244350066&repo=mozilla-inbound&lineNumber=54907

00:33:05 INFO - TEST-START | devtools/shared/webconsole/test/test_cached_messages.html
00:33:05 INFO - GECKO(2211) | ++DOMWINDOW == 43 (0x13074b800) [pid = 2211] [serial = 43] [outer = 0x131105020]
00:33:05 INFO - GECKO(2211) | console.log: "foobarBaz-log" (void 0)
00:33:05 INFO - GECKO(2211) | console.info: "foobarBaz-info" null
00:33:05 INFO - GECKO(2211) | console.warn: "foobarBaz-warn" ({})
00:33:05 INFO - GECKO(2211) | [2211, Main Thread] WARNING: Windowless browser was not closed prior to destruction: file /builds/worker/workspace/build/src/xpfe/appshell/nsAppShellService.cpp, line 410
00:33:05 INFO - GECKO(2211) | Assertion failure: cx->isNurseryAllocAllowed(), at /builds/worker/workspace/build/src/js/src/gc/Allocator.cpp:157
00:33:06 INFO - TEST-INFO | Main app process: exit 1
00:33:06 INFO - Buffered messages finished
00:33:06 ERROR - TEST-UNEXPECTED-FAIL | devtools/shared/webconsole/test/test_cached_messages.html | application terminated with exit code 1
00:33:06 INFO - runtests.py | Application ran for: 0:00:13.447991
00:33:06 INFO - zombiecheck | Reading PID log: /var/folders/61/88b5s4517kg5b0_xk4q4ylk000000x/T/tmpTZutOSpidlog
00:33:06 INFO - mozcrash Copy/paste: /Users/cltbld/tasks/task_1556842754/build/macosx64-minidump_stackwalk /var/folders/61/88b5s4517kg5b0_xk4q4ylk000000x/T/tmpPJmSLs.mozrunner/minidumps/568928C2-BD8A-48B8-9AD1-C57EA4339694.dmp /Users/cltbld/tasks/task_1556842754/build/symbols
00:33:13 INFO - mozcrash Saved minidump as /Users/cltbld/tasks/task_1556842754/build/blobber_upload_dir/568928C2-BD8A-48B8-9AD1-C57EA4339694.dmp
00:33:13 INFO - mozcrash Saved app info as /Users/cltbld/tasks/task_1556842754/build/blobber_upload_dir/568928C2-BD8A-48B8-9AD1-C57EA4339694.extra
00:33:13 INFO - PROCESS-CRASH | devtools/shared/webconsole/test/test_cached_messages.html | application crashed [@ JSString* js::gc::GCRuntime::tryNewNurseryString<(js::AllowGC)1>(JSContext*, unsigned long, js::gc::AllocKind)]

Flags: needinfo?(kmaglione+bmo)
https://hg.mozilla.org/integration/mozilla-inbound/rev/e330d90e540084087b6a9c155eabe069ec690c49
Bug 1540984: Pre-load theme header image and share across all windows. r=aswan
Status: ASSIGNED → RESOLVED
Closed: 1 year ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla68

I'm confirming that bug is fixed, starting in Mozilla Firefox Nightly 68.0a1 (2019-05-04), so I'm marking this bug as VERIFIED.
Thank you very much! \o/

Status: RESOLVED → VERIFIED
Attachment #9060026 - Attachment is obsolete: true
See Also: → 1553923

(In reply to Emilio Cobos Álvarez (:emilio) from comment #34)

This apparently also broke animated themes (https://www.reddit.com/r/firefox/comments/cbwkzv/animated_themes_arent_animated_since_v68/)

Breaking animated themes is not part of the problem set, as far as I'm concerned. At least not until we actually handle image animations on the compositor thread.

Flags: needinfo?(kmaglione+bmo)
Version: Firefox 68 → 68 Branch
You need to log in before you can comment on or make changes to this bug.