Closed Bug 1009679 Opened 10 years ago Closed 10 years ago

Layerize the scrollbar thumb / scroll indicator on Desktop

Categories

(Core :: Graphics: Layers, defect)

defect
Not set
normal

Tracking

()

RESOLVED FIXED
mozilla32

People

(Reporter: mstange, Assigned: mstange)

References

Details

Attachments

(1 file)

Attached patch v1Splinter Review
This was implemented for B2G in bug 813041 but not enabled for Desktop.
Attachment #8421853 - Flags: review?(roc)
Comment on attachment 8421853 [details] [diff] [review]
v1

Review of attachment 8421853 [details] [diff] [review]:
-----------------------------------------------------------------

::: layout/base/nsLayoutUtils.cpp
@@ +1564,2 @@
>      // Treat the slider thumb as being as an active scrolled root
>      // on mobile so that it can move without repainting.

Fix comment
Attachment #8421853 - Flags: review?(roc) → review+
OS: Mac OS X → All
Hardware: x86 → All
https://hg.mozilla.org/integration/mozilla-inbound/rev/83fd85b082d1

I had to make three tests as fuzzy on Linux because Linux has scrollbar thumbs with partially transparent pixels, and they blend differently with the background depending on whether they get painted into the same layer or are blended by the compositor.
https://hg.mozilla.org/mozilla-central/rev/83fd85b082d1
Status: ASSIGNED → RESOLVED
Closed: 10 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla32
Blocks: 1013392
Depends on: 1016437
It turns out that the scrubber of the <video> controls also gets its thumb layerized with these patches. The scrubber is a XUL <scale> which contains a xul:slider element in its anonymous content, just like scrollbars do.

The tbpl failures happened because the additional layers inside the video controls caused the container layer of the opacity effect to require an intermediate surface, and due to the component alpha text inside the controls that forced us to copy up the background into the container layer surface, and the background copying (CompositorOGL::CreateFBOWithTexture) checked the GLContext for errors and picked up an unrelated error left by an earlier test (see bug 1016437).
Blocks: 1016569
https://hg.mozilla.org/mozilla-central/rev/a0586a5ec2da
Status: REOPENED → RESOLVED
Closed: 10 years ago10 years ago
Resolution: --- → FIXED
Depends on: 1017577
Blocks: 1019737
Depends on: 1031655
Depends on: 1066934
Themed scrollbars sometimes fail on Windows with custom themes such as Walnut and Littlefox.
Probably they need the same handdling as on MacOs:
    if ((aWidgetType == NS_THEME_SCROLLBAR ||
         aWidgetType == NS_THEME_SCROLLBAR_SMALL) &&
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: