Closed Bug 939239 Opened 11 years ago Closed 9 years ago

Actively scrolled div with displayport sometimes gets flattened into the parent layer, making it not async-scrollable

Categories

(Core :: Layout, defect, P3)

28 Branch
defect

Tracking

()

RESOLVED FIXED

People

(Reporter: nl, Unassigned)

References

Details

(Whiteboard: [defect] p=0)

Attachments

(3 files)

User Agent: Mozilla/5.0 (Windows NT 6.2; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/31.0.1650.57 Safari/537.36

Steps to reproduce:

Opened a page, tried to pan (horizontall or vertically) the content withing scrolled div.


Actual results:

Scrolling happened only with the first move and scrolling content moved just a little. With the second/third attempt to scroll the div isn't scrolled at all.


Expected results:

Div is scrolled with any move and fully.
Attaching the similar html sample that doesn't have this bug. The main difference between these sample is that this one has a lot of nested <p> tags instead of nested <div>.
Blocks: metro-apzc
Status: UNCONFIRMED → NEW
Ever confirmed: true
Summary: Scrolling of div with another nested div doesn't work → Touch scrolling of div with another nested div doesn't work
Whiteboard: [triage]
One more interesting thing:
Adding background image to the inner div makes scrolling work well. For example take the first attachment add change the .scrollable css class to this one.

.scrollable {
  height: 1000px;
  width: 1000px;
  color: black;
  /* newly added background property */
  background-image: url(http://www.picomazing.com/wp-content/uploads/2013/05/Vector-design-wallpaper-background-large-new-9.jpg);
}
Very likely this issue is happening due to the ticket "Bug 918288 - Implement improved apz hit testing" (https://bugzilla.mozilla.org/show_bug.cgi?id=918288).

The nested div in the provided html sample doesn't have background specified and so has it transparent (And inherits it from the parent div). According to the mentioned ticket FF doesn't handle scrolling over the (semi-)transparent elements well and therefore hit testing and scrolling don't happen properly.

Sorry if I filed duplicate issue.
Whiteboard: [triage] → [block28]
I can repro this on B2G as well. I suspect it is related to bug 933264 because as soon as the "scroll me" text is outside the visible part of the div, the scroll layer for the div disappears; the content seems to be getting flattened into the main layer for the document. The fact that this happens when the text goes outside the visible seems to imply that the display item for the text is what is preventing the items from getting flattened together.
Depends on: 933264
Component: Pan and Zoom → Layout
Product: Firefox for Metro → Core
Summary: Touch scrolling of div with another nested div doesn't work → Actively scrolled div with displayport sometimes gets flattened into the parent layer, making it not async-scrollable
Whiteboard: [block28]
Blocks: metrobacklog
No longer blocks: metro-apzc
I can't reproduce the issue on the revision cf2d1bd796ea. Very likely it was fixed by the changes made for bug 933264.
Status: NEW → RESOLVED
Closed: 10 years ago
Resolution: --- → WORKSFORME
No longer blocks: metrobacklog
(In reply to Nick Lebedev (MS) from comment #6)
> I can't reproduce the issue on the revision cf2d1bd796ea. Very likely it was
> fixed by the changes made for bug 933264.

Bug 933264 fixed a clipping issue, and probably also allowed the frame to be scrolled at all, but it definitely did not allow all scrollable elements to be async scrollable (I checked after my patch). There is a remaining issue here. The remaining issue however is much less severe than the original issue however.
Status: RESOLVED → REOPENED
Resolution: WORKSFORME → ---
Blocks: metrobacklog
Whiteboard: [defect] p=0
Did bug 950301 fix/improve the remaining issues by any chance?
Flags: needinfo?(tnikkel)
Priority: -- → P3
(In reply to Mats Palmgren (:mats) from comment #8)
> Did bug 950301 fix/improve the remaining issues by any chance?

It might help on different testcases, but not for cases like the testcase in this bug.

We will probably need bug 967844 to handle every case of not being able to create a scrollable layer.
Flags: needinfo?(tnikkel)
Bug 967844 has been fixed for a while. This should be fixed now. If not please reopen.
Status: REOPENED → RESOLVED
Closed: 10 years ago9 years ago
Depends on: multi-layer-apz
Resolution: --- → FIXED
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: