(In reply to comment #5)
> Weird. I hope Zack can track this down ... gDumpPaintList=1 would be a good
> start
The display lists don't seem to provide any clues. When the phantom scrollbar is drawn there are a few extra entries for the scrollbar and scrollbarbutton etc, but that is the only difference.
Here is the relevant display list output from a plain trunk build (where the bug occurs).
(In reply to comment #5)
> Weird. I hope Zack can track this down ... gDumpPaintList=1 would be a good
> start
The display lists don't seem to provide any clues. When the phantom scrollbar is drawn there are a few extra entries for the scrollbar and scrollbarbutton etc, but that is the only difference.
Here is the relevant display list output from a plain trunk build (where the bug occurs).
Painting --- before optimization (dirty 0,0,61440,34800): Viewport( -1)) (0,0,61440,34800) round 0xb0e92690( Canvas( html)(- 1)) (0,0,61440,34800) uniform HTMLScroll( div)(1) ) (480,480,6000,6000) opaque uniform ScrollbarFrame( scrollbar) (-1)) (480,6480,6000,120) ScrollbarFrame( scrollbar) (-1)) (480,6480,6000,120) ButtonBoxFrame( scrollbarbutton )(-1)) (540,6540,840,840) ButtonBoxFrame( scrollbarbutton )(-1)) (5580,6540,840,840)
nsDisplayReflo wCount 0xb0ebba0c(Text(0)) (480,480,540,1140) Viewport( -1)) (0,0,61440,34800) round 0xb0e92690( Canvas( html)(- 1)) (0,0,61440,34800) uniform ScrollbarFrame( scrollbar) (-1)) (480,6480,6000,120) ScrollbarFrame( scrollbar) (-1)) (480,6480,6000,120) ButtonBoxFrame( scrollbarbutton )(-1)) (540,6540,840,840) ButtonBoxFrame( scrollbarbutton )(-1)) (5580,6540,840,840) Viewport( -1)) (0,0,61440,34800) round 0xb0e92690( Canvas( html)(- 1)) (0,0,61440,34800) uniform HTMLScroll( div)(1) ) (480,480,6000,6000) opaque uniform
nsDisplayReflo wCount 0xb0ebba0c(Text(0)) (480,480,540,1140) HTMLScroll( div)(1) ) (480,480,6000,6000) opaque uniform
nsDisplayReflo wCount 0xb0ebba0c(Text(0)) (480,480,540,1140)
SolidColor 0xb0e925b0(
Clip (nil)() (0,0,61440,34800)
CanvasBackg
Clip (nil)() (0,0,61440,34800)
Background 0xb0eb7d10(
Background 0xb0eb7dfc(
Border 0xb0eb7dfc(
Background 0xb0ebb040(
Background 0xb0ebb1fc(
Clip (nil)() (480,480,6000,6000)
Text 0xb0ebba0c(Text(0)) (480,480,540,1140)
Painting --- after optimization:
SolidColor 0xb0e925b0(
Clip (nil)() (0,0,61440,34800)
CanvasBackg
Background 0xb0eb7dfc(
Border 0xb0eb7dfc(
Background 0xb0ebb040(
Background 0xb0ebb1fc(
Painting --- before optimization (dirty 480,480,6000,6000):
SolidColor 0xb0e925b0(
Clip (nil)() (0,0,61440,34800)
CanvasBackg
Clip (nil)() (0,0,61440,34800)
Background 0xb0eb7d10(
Clip (nil)() (480,480,6000,6000)
Text 0xb0ebba0c(Text(0)) (480,480,540,1140)
Painting --- after optimization:
Clip (nil)() (0,0,61440,34800)
Background 0xb0eb7d10(
Clip (nil)() (480,480,6000,6000)
Text 0xb0ebba0c(Text(0)) (480,480,540,1140)
And here is the display list from a build with the change in bug 485030 reverted (the bug does not occur).
Painting --- before optimization (dirty 0,0,61440,34800): Viewport( -1)) (0,0,61440,34800) round 0xaff99690( Canvas( html)(- 1)) (0,0,61440,34800) uniform HTMLScroll( div)(1) ) (480,480,6000,6000) opaque uniform
nsDisplayReflo wCount 0xaffd3a0c(Text(0)) (480,480,540,1140) Viewport( -1)) (0,0,61440,34800) round 0xaff99690( Canvas( html)(- 1)) (0,0,61440,34800) uniform Viewport( -1)) (0,0,61440,34800) round 0xaff99690( Canvas( html)(- 1)) (0,0,61440,34800) uniform HTMLScroll( div)(1) ) (480,480,6000,6000) opaque uniform
nsDisplayReflo wCount 0xaffd3a0c(Text(0)) (480,480,540,1140) HTMLScroll( div)(1) ) (480,480,6000,6000) opaque uniform
nsDisplayReflo wCount 0xaffd3a0c(Text(0)) (480,480,540,1140)
SolidColor 0xaff995b0(
Clip (nil)() (0,0,61440,34800)
CanvasBackg
Clip (nil)() (0,0,61440,34800)
Background 0xaffcbd10(
Clip (nil)() (480,480,6000,6000)
Text 0xaffd3a0c(Text(0)) (480,480,540,1140)
Painting --- after optimization:
SolidColor 0xaff995b0(
Clip (nil)() (0,0,61440,34800)
CanvasBackg
Painting --- before optimization (dirty 480,480,6000,6000):
SolidColor 0xaff995b0(
Clip (nil)() (0,0,61440,34800)
CanvasBackg
Clip (nil)() (0,0,61440,34800)
Background 0xaffcbd10(
Clip (nil)() (480,480,6000,6000)
Text 0xaffd3a0c(Text(0)) (480,480,540,1140)
Painting --- after optimization:
Clip (nil)() (0,0,61440,34800)
Background 0xaffcbd10(
Clip (nil)() (480,480,6000,6000)
Text 0xaffd3a0c(Text(0)) (480,480,540,1140)
I'm continuing to look into this...