Closed Bug 992441 Opened 7 years ago Closed 7 years ago

[B2G][Marketplace] Scrollbar indicators are absent from the side of the scrollable search results / apps list when scrolling in the Marketplace.

Categories

(Core :: Layout, defect)

30 Branch
ARM
Gonk (Firefox OS)
defect
Not set
normal

Tracking

()

RESOLVED DUPLICATE of bug 980500
blocking-b2g 1.4+
Tracking Status
b2g-v1.3 --- unaffected
b2g-v1.4 --- affected

People

(Reporter: jmitchell, Assigned: kats)

References

Details

(Keywords: regression)

Attachments

(4 files)

Attached file logcat.txt
Description:
In the marketplace there are long lists of apps that you can scroll through. In 1.4 Buri there is no indication of scrollable area. Scrollable areas help users know how close they are to the end of a list and can influence the speed at which they scroll.  

Repro Steps:
1) Update a Buri to BuildID: 20140404000202
2) Access the Marketplace
3) Scroll down the list of popular apps
Actual:
Scrollbar indicators are absent
Expected:
Scrollbar indicator will be present to maintain consistency with other areas with scrollable content 

1.4 Environmental Variables:
Device: Buri 1.4 MOZ
BuildID: 20140404000202
Gaia: b4f3b84ec68233a99fd5865c15cfe28aebe26531
Gecko: 3186bbc50050
Version: 30.0a2
Firmware Version: v1.2-device.cfg

Repro frequency: 100%
See attached: logcat.txt, MarketScrollbar.png (shows scrollbar on 1.3)

This issue does NOT repro on 1.3 buri
1.3 Environmental Variables:
Device: buri 1.3 MOZ
BuildID: 20140401164001
Gaia: c5cd3a11e91339163b351d50769eaca0067da860
Gecko: 5045a67b47ed
Version: 28.0
Firmware Version: v1.2-device.cfg
Attached image MarketScrollbar.png
Can see a short video on 1.3 vs. 1.4 comparing scrolling on marketplace?
Component: Gaia → General
Keywords: qawanted
Keywords: regression
QA Contact: demerick
Scrolling Marketplace 1.4:
https://www.youtube.com/watch?v=NxU9Vj8uObg

Scrolling Marketplace 1.3:
https://www.youtube.com/watch?v=M02Cx2MuuHo
Keywords: qawanted
QA Contact: demerick
Jason - Do you know if this is a regression in platform or in the marketplace app specifically? Have you seen missing scrollbars in any other app/interface?
Flags: needinfo?(jsmith)
(In reply to Lawrence Mandel [:lmandel] from comment #4)
> Jason - Do you know if this is a regression in platform or in the
> marketplace app specifically? Have you seen missing scrollbars in any other
> app/interface?

This would be likely an issue in Milan's space - probably APZC.
Component: General → Panning and Zooming
Flags: needinfo?(jsmith)
Product: Firefox OS → Core
Version: unspecified → 30 Branch
blocking-b2g: --- → 1.4?
We don't have scrollbars for any top-level scrollable documents with APZ. The browser hasn't had scrollbars on top-level documents ever, and from 1.3 onwards apps root document don't get scrollbars either. If the marketplace behaviour changed from 1.3 to 1.4 then it's likely a marketplace change that caused it. I'll use the inspector to confirm before I move this back to Gaia.
(In reply to Kartikaya Gupta (email:kats@mozilla.com) from comment #6)
> We don't have scrollbars for any top-level scrollable documents with APZ.
> The browser hasn't had scrollbars on top-level documents ever, and from 1.3
> onwards apps root document don't get scrollbars either. If the marketplace
> behaviour changed from 1.3 to 1.4 then it's likely a marketplace change that
> caused it. I'll use the inspector to confirm before I move this back to Gaia.

This is the same content rendering in this test case on 1.3 vs. 1.4. Those videos were generated on the same day using the latest 1.3 & 1.4 builds, so I don't see how this is a marketplace problem.
After some investigation this appears to be due to changes in the layout code. On 1.3 we would initially get a ScrollInfoLayer and then (after the displayport is set) a OwnLayer for the subdocument. Both of these had associated scrollbar layers. On 1.4 we initially get a ScrollInfoLayer (which is why the scrollbar initially appears) but then after the displayport is set we get a SubDocument and there's no scrollparts for it, so the scrollbar disappears.

I'll attach logs in a sec.
Component: Panning and Zooming → Layout
Attachment #8403393 - Attachment description: dumps14 → Display list dump from 1.4
(In reply to Kartikaya Gupta (email:kats@mozilla.com) from comment #8)
> After some investigation this appears to be due to changes in the layout
> code. On 1.3 we would initially get a ScrollInfoLayer and then (after the
> displayport is set) a OwnLayer for the subdocument. Both of these had
> associated scrollbar layers. On 1.4 we initially get a ScrollInfoLayer
> (which is why the scrollbar initially appears) but then after the
> displayport is set we get a SubDocument and there's no scrollparts for it,
> so the scrollbar disappears.
> 
> I'll attach logs in a sec.

That makes sense. Two options come to mind:
1) clean up the quick hacks from bug 980500
2) add another hack so that we don't hit the early exit in ScrollFrameHelper::BuildDisplayList for subdocuments that aren't root content documents and don't have a resolution change.

2) would make the logic even more complicated here.
1) would get us the bonus of scrollbars everywhere. (But for uplifting to 1.4 I think I'd suggest we just re-enable them to fix the regression, and enable them everywhere for 1.5, due to the trouble that scrollbars can cause.)

I think I'm leaning towards 1). Kats, what do you think?
Pretty sure that bug 959847 is what caused this.
Blocks: 959847
I agree that (1) is probably the right way to go. Let's discuss over in that bug first.
We agreed that it should be pretty straightforward to fix bug 980500 and get this fix for free.
Depends on: 980500
Assignee: nobody → bugmail.mozilla
blocking-b2g: 1.4? → 1.4+
This is fixed on central by bug 980500. I will let it bake on m-c for a few days and then request uplift to 1.4. Duping this bug over to that one, will request carrying over the 1.4+ flag.
Status: NEW → RESOLVED
Closed: 7 years ago
No longer depends on: 980500
Resolution: --- → DUPLICATE
Duplicate of bug: 980500
You need to log in before you can comment on or make changes to this bug.