Event region for active scrollbar thumb is placed outside its OwnLayer

RESOLVED FIXED in Firefox 40

Status

()

RESOLVED FIXED
4 years ago
4 years ago

People

(Reporter: mstange, Assigned: mstange)

Tracking

Trunk
mozilla40
Points:
---
Dependency tree / graph

Firefox Tracking Flags

(firefox40 fixed)

Details

Attachments

(3 attachments)

(Assignee)

Description

4 years ago
Created attachment 8584698 [details]
testcase

I have an overflow:auto div with active scrolling and with non-overlay scrollbars, so the scrollbar thumb is its own animated geometry root and is additionally getting wrapped in an OwnLayer display item. However, its event regions item ends up outside the OwnLayer:

>     Painting --- after optimization:
>     SolidColor p=0x2aaaccf46328 f=0x2aaad4bb14a8(Viewport(-1)) bounds(0,0,48000,60000) layerBounds(0,0,48000,60000) visible(0,0,48000,60000) componentAlpha(0,0,0,0) clip()  uniform (opaque 0,0,48000,60000) (rgba 255,255,255,255) layer=0x2aaadbdb1400
>     LayerEventRegions p=0x2aaac9bd7820 f=0x2aaad4bb14a8(Viewport(-1)) bounds(0,0,0,0) layerBounds(0,0,0,0) visible(0,0,48000,60000) componentAlpha(0,0,0,0) clip()  (hitRegion < (x=0, y=0, w=48000, h=60000); >)
>     SubDocument p=0x2aaaccf46248 f=0x2aaaded1c4a8(Viewport(-1)) bounds(0,0,48000,60000) layerBounds(0,0,48000,60000) visible(0,0,126000,183000) componentAlpha(0,0,0,0) clip(0,0,48000,60000)  layer=0x2aaaddbb3c00
>       LayerEventRegions p=0x2aaac9bd78f8 f=0x2aaaded1c4a8(Viewport(-1)) bounds(0,0,0,0) layerBounds(0,0,0,0) visible(0,0,47040,183000) componentAlpha(0,0,0,0) clip()  (hitRegion < (x=0, y=0, w=48000, h=60000); >)
>       OwnLayer p=0x2aaac9bd7f28 f=0x2aaaddb64020(ScrollbarFrame(scrollbar)(-1)) bounds(47040,0,960,60000) layerBounds(47040,0,960,60000) visible(47040,0,960,60000) componentAlpha(0,0,0,0) clip(0,0,48000,60000)  (opaque 47040,0,960,60000) layer=0x2aaaddbb4800
>         LayerEventRegions p=0x2aaac9bd79d0 f=0x2aaaddb64020(ScrollbarFrame(scrollbar)(-1)) bounds(0,0,0,0) layerBounds(0,0,0,0) visible(47040,0,960,60000) componentAlpha(0,0,0,0) clip(0,0,48000,60000)  (hitRegion < (x=47040, y=0, w=960, h=60000); >)
>         ThemedBackground p=0x2aaac9bd7ac8 f=0x2aaaddb64020(ScrollbarFrame(scrollbar)(-1)) bounds(47040,0,960,60000) layerBounds(47040,0,960,60000) visible(47040,0,960,60000) componentAlpha(0,0,0,0) clip(0,0,48000,60000)  (opaque 47040,0,960,60000) (themed, appearance:87) layer=0x2aaaddbb6000
>         ThemedBackground p=0x2aaac9bd7b28 f=0x2aaaddb64f20(ButtonBoxFrame(scrollbarbutton)(-1)) bounds(47100,60,840,840) layerBounds(47100,60,840,840) visible(47040,0,960,60000) componentAlpha(0,0,0,0) clip(0,0,48000,60000)  (themed, appearance:82) layer=0x2aaaddbb6000
>         LayerEventRegions p=0x2aaac9bd7c20 f=0x2aaaddb65410(ButtonBoxFrame(thumb)(0)) bounds(0,0,0,0) layerBounds(-47100,-900,0,0) visible(47040,0,960,60000) componentAlpha(0,0,0,0) clip(47100,900,840,58200)  (hitRegion < (x=47100, y=900, w=840, h=18360); >) (dispatchToContentRegion < (x=47100, y=900, w=840, h=18360); >)
>         ThemedBackground p=0x2aaac9bd7e28 f=0x2aaaddb655d0(ButtonBoxFrame(scrollbarbutton)(-1)) bounds(47100,59100,840,840) layerBounds(47100,59100,840,840) visible(47040,0,960,60000) componentAlpha(0,0,0,0) clip(0,0,48000,60000)  (themed, appearance:83) layer=0x2aaaddbb4000
>         OwnLayer p=0x2aaac9bd7d78 f=0x2aaaddb65410(ButtonBoxFrame(thumb)(0)) bounds(47100,900,840,18420) layerBounds(0,0,840,18420) visible(47040,0,960,60000) componentAlpha(0,0,0,0) clip(47100,900,840,58200)  layer=0x2aaaddbb4c00
>           ThemedBackground p=0x2aaac9bd7d18 f=0x2aaaddb65410(ButtonBoxFrame(thumb)(0)) bounds(47100,840,840,18480) layerBounds(0,-60,840,18480) visible(47040,0,960,60000) componentAlpha(0,0,0,0) clip(47100,900,840,58200)  (themed, appearance:89) layer=0x2aaaddbb5c00
>       LayerEventRegions p=0x2aaaccd33020 f=0x2aaaded1d0c0(Canvas(html)(-1)) bounds(0,0,0,0) layerBounds(0,0,0,0) visible(0,0,47040,183000) componentAlpha(0,0,0,0) clip()  (hitRegion < (x=0, y=0, w=47040, h=183000); >)
>       CanvasBackgroundColor p=0x2aaaccd330f8 f=0x2aaaded1d0c0(Canvas(html)(-1)) bounds(0,0,47040,183000) layerBounds(0,0,47040,183000) visible(0,0,47040,183000) componentAlpha(0,0,0,0) clip()  uniform (opaque 0,0,47040,183000) (rgba 255,255,255,255) layer=0x2aaaddbb7800
>       Border p=0x2aaaccd33140 f=0x2aaaddb676e8(Block(div)(0)) bounds(6000,3000,35040,3120) layerBounds(6000,3000,35040,3120) visible(0,0,47040,183000) componentAlpha(0,0,0,0) clip()  layer=0x2aaaddbb7800
>       Border p=0x2aaaccd33188 f=0x2aaaddb679b8(Block(div)(2)) bounds(13200,9120,4920,3120) layerBounds(13200,9120,4920,3120) visible(0,0,47040,183000) componentAlpha(0,0,0,0) clip()  layer=0x2aaaddbb7800
>       Border p=0x2aaaccd331d0 f=0x2aaaddb67b88(HTMLScroll(div)(4)) bounds(6000,10440,35040,9000) layerBounds(6000,10440,35040,9000) visible(0,0,47040,183000) componentAlpha(0,0,0,0) clip()  layer=0x2aaaddbb7800
>       LayerEventRegions p=0x2aaaccd33218 f=0x2aaaddb67f10(ScrollbarFrame(scrollbar)(-1)) bounds(0,0,0,0) layerBounds(0,0,0,0) visible(6060,18420,34920,960) componentAlpha(0,0,0,0) clip()  (hitRegion < (x=6060, y=18420, w=34920, h=960); >)
>       ThemedBackground p=0x2aaaccd332f0 f=0x2aaaddb67f10(ScrollbarFrame(scrollbar)(-1)) bounds(6060,18420,34920,960) layerBounds(6060,18420,34920,960) visible(6060,18420,34920,960) componentAlpha(0,0,0,0) clip()  (opaque 6060,18420,34920,960) (themed, appearance:86) layer=0x2aaaddbb7800
>       ThemedBackground p=0x2aaaccd33350 f=0x2aaaddb6e408(ButtonBoxFrame(scrollbarbutton)(-1)) bounds(6120,18480,840,840) layerBounds(6120,18480,840,840) visible(6060,18420,34920,960) componentAlpha(0,0,0,0) clip()  (themed, appearance:84) layer=0x2aaaddbb7800
>   --> LayerEventRegions p=0x2aaaccd3a820 f=0x2aaaddb6e640(ButtonBoxFrame(thumb)(0)) bounds(0,0,0,0) layerBounds(-7620,-18480,0,0) visible(6060,18420,34920,960) componentAlpha(0,0,0,0) clip(6960,18480,33120,840)  (hitRegion < (x=7620, y=18480, w=3180, h=840); >) (dispatchToContentRegion < (x=7620, y=18480, w=3180, h=840); >)
>       ThemedBackground p=0x2aaaccd3aa28 f=0x2aaaddb6e6e0(ButtonBoxFrame(scrollbarbutton)(-1)) bounds(40080,18480,840,840) layerBounds(40080,18480,840,840) visible(6060,18420,34920,960) componentAlpha(0,0,0,0) clip()  (themed, appearance:85) layer=0x2aaaddbb3000
>   --> OwnLayer p=0x2aaaccd3a978 f=0x2aaaddb6e640(ButtonBoxFrame(thumb)(0)) bounds(7560,18480,3300,840) layerBounds(-60,0,3300,840) visible(6060,18420,34920,960) componentAlpha(0,0,0,0) clip(6960,18480,33120,840)  layer=0x2aaaddbb6c00
>   -->   ThemedBackground p=0x2aaaccd3a918 f=0x2aaaddb6e640(ButtonBoxFrame(thumb)(0)) bounds(7560,18480,3300,840) layerBounds(-60,0,3300,840) visible(6060,18420,34920,960) componentAlpha(0,0,0,0) clip(6960,18480,33120,840)  (themed, appearance:88) layer=0x2aaaddbb7000
>       LayerEventRegions p=0x2aaaccf46020 f=0x2aaaddb6f548(Block(div)(4)) bounds(0,0,0,0) layerBounds(-60,-10500,0,0) visible(6000,10440,120000,12000) componentAlpha(0,0,0,0) clip()  (hitRegion < (x=60, y=10500, w=300000, h=7920); >)
>       Border p=0x2aaaccf460f8 f=0x2aaaddb6fc90(Block(div)(1)) bounds(13260,11100,6120,6120) layerBounds(13200,600,6120,6120) visible(6000,10440,120000,12000) componentAlpha(0,0,0,0) clip()  layer=0x2aaaddbb7400
>       Border p=0x2aaaccf46200 f=0x2aaaddb71020(Block(div)(6)) bounds(6000,22440,35040,3120) layerBounds(6000,22440,35040,3120) visible(0,0,47040,183000) componentAlpha(0,0,0,0) clip()  layer=0x2aaaddbb3000
>       ScrollInfoLayer p=0x2aaaccf46140 f=0x2aaaddb67b88(HTMLScroll(div)(4)) bounds(0,0,0,0) layerBounds(0,0,0,0) visible(0,0,47040,183000) componentAlpha(0,0,0,0) clip()  (scrollframe 0x2aaaddb67b88 scrolledFrame 0x2aaaddb6f548) layer=0x2aaaddbb3000

In addition, it's strange that the scrollbarbutton's display item is interleaved between the thumb's items.
(Assignee)

Comment 2

4 years ago
Created attachment 8595507 [details] [diff] [review]
patch
Assignee: nobody → mstange
Status: NEW → ASSIGNED
Attachment #8595507 - Flags: review?(tnikkel)
Attachment #8595507 - Flags: review?(tnikkel) → review+
(Assignee)

Comment 4

4 years ago
Created attachment 8595670 [details] [diff] [review]
skip pull-background-5.html with APZ

Looks like I shouldn't have removed the skip-if(asyncPanZoom) annotation for pull-background-5.html - it still fails even with this bug fixed.
However, on inbound this skip-if has already been re-added by the merge from mozilla-central that included bug 1154459. If bug 1154459 is backed out again, we need to make sure that pull-background-5.html stays disabled, for example by landing this patch.
Tomcat, can you land that patch once bug 1154459 gets backed out tonight so that reftest-12 stays green? :)
Flags: needinfo?(cbook)
(In reply to Markus Stange [:mstange] from comment #4)
> Created attachment 8595670 [details] [diff] [review]
> skip pull-background-5.html with APZ
> 
> Looks like I shouldn't have removed the skip-if(asyncPanZoom) annotation for
> pull-background-5.html - it still fails even with this bug fixed.
> However, on inbound this skip-if has already been re-added by the merge from
> mozilla-central that included bug 1154459. If bug 1154459 is backed out
> again, we need to make sure that pull-background-5.html stays disabled, for
> example by landing this patch.

this doesn't apply cleanly to m-c will check with ryan
Flags: needinfo?(cbook)
(In reply to Markus Stange [:mstange] from comment #4)
> Created attachment 8595670 [details] [diff] [review]
> skip pull-background-5.html with APZ
> 
> Looks like I shouldn't have removed the skip-if(asyncPanZoom) annotation for
> pull-background-5.html - it still fails even with this bug fixed.
> However, on inbound this skip-if has already been re-added by the merge from
> mozilla-central that included bug 1154459. If bug 1154459 is backed out
> again, we need to make sure that pull-background-5.html stays disabled, for
> example by landing this patch.

I did the backout using the m-c version of the patch, which didn't touch the reftest for pull-background-5.html. Therefore after the backout pull-background-5.html is still untouched, and has a skip-if(asyncPanZoom), so I didn't need this patch.
(Assignee)

Updated

4 years ago
Depends on: 1157397
https://hg.mozilla.org/mozilla-central/rev/8891a5d7c79c
Status: ASSIGNED → RESOLVED
Last Resolved: 4 years ago
status-firefox40: --- → fixed
Resolution: --- → FIXED
Target Milestone: --- → mozilla40
You need to log in before you can comment on or make changes to this bug.