Open Bug 1378779 Opened 7 years ago Updated 2 years ago

Scrolling in the Firefox tab strip causes repaints even if the tab strip has visibility set to hidden

Categories

(Core :: Graphics, defect, P3)

defect

Tracking

()

Tracking Status
firefox57 --- fix-optional

People

(Reporter: mconley, Unassigned)

Details

(Whiteboard: [gfx-noted])

I noticed this while working on bug 1372261.

The tps Talos test explicitly tries to avoid measurement noise caused by animating the tab strip by setting the tab strip containers visibility to hidden:

http://searchfox.org/mozilla-central/rev/e8f4f51cd543f203e9cb861cecb7545ac43c836c/testing/talos/talos/tests/tabswitch/bootstrap.js#393-394

Strangely, with paint flashing on, I can clearly see that even with the tab strip in this state, we continue to paint in the scrollable area.

STR:

0) Turn on paint flashing by setting nglayout.debug.paint_flashing_chrome to true
1) Open a new window, and fill it up with tabs until the tabs scroll
2) Open the Browser Toolbox / Browser Console, and in the console input, type:

gBrowser.tabContainer.style.visibility = "hidden";

and press enter. This should hide the tabs in the tab strip.

3) Press Ctrl/Cmd-T to open up a new tab and scroll the tab strip. Alternatively, try using Ctrl-Tab / Ctrl-Shift-Tab to switch between tabs (particularly the first and last tab for maximum scroll effect).

ER:

No paint flashing in the tab strip area

AR:

Plenty of paint flashing. See this Camtasia recording:

https://www.screencast.com/t/QjkdmCa3v
Just said he was curious about this, so cc'ing.
Whiteboard: [gfx-noted]
Severity: normal → S3
You need to log in before you can comment on or make changes to this bug.