Closed
Bug 1190112
Opened 9 years ago
Closed 9 years ago
overflow: auto/scroll; would not scroll on scrollber by mouse wheel when apz enabled on certain condition
Categories
(Core :: Panning and Zooming, defect)
Tracking
()
RESOLVED
FIXED
mozilla44
Tracking | Status | |
---|---|---|
firefox42 | + | unaffected |
firefox43 | --- | unaffected |
firefox44 | --- | fixed |
People
(Reporter: alice0775, Assigned: dvander)
References
Details
(Keywords: regression)
Attachments
(2 files)
(deleted),
text/html
|
Details | |
(deleted),
patch
|
tnikkel
:
review+
|
Details | Diff | Splinter Review |
Steps To Reproduce:
1. Open http://xxsionxx.blog17.fc2.com/
2. Scroll down to the middle of page
3. Attempt to scroll element at the left side of page
mouse over scrollbar and turn mouse wheel
4. Attempt to scroll the other element
mouse over scrollbar and turn mouse wheel
5. Repeat step4
Actual Results:
Sometomes not scroll the element.
It seems transaction scroll timeout is broken
Expected Results:
these element should scroll properly
Updated•9 years ago
|
Status: UNCONFIRMED → NEW
Ever confirmed: true
Reporter | ||
Comment 1•9 years ago
|
||
Reporter | ||
Comment 2•9 years ago
|
||
Force enabled APZ and e10s, first broken pushlog:
https://hg.mozilla.org/integration/mozilla-inbound/pushloghtml?fromchange=c3376e427908&tochange=1b0655f6b110
Regressed by:bug 1147223
Reporter | ||
Comment 3•9 years ago
|
||
[Tracking Requested - why for this release]:
status-firefox42:
--- → affected
tracking-firefox42:
--- → ?
Comment 5•9 years ago
|
||
I can reproduce this on Windows 8.1. A quick investigation seems to indicate badness with the event regions resulting in bad hit-testing in the compositor. I need to do a debug build to investigate further.
Flags: needinfo?(dvander)
Comment 6•9 years ago
|
||
Note that there's a not-yet-landed event regions fix in bug 1177018 (the Part 2 patch); you may want to test with that applied before digging in.
Comment 7•9 years ago
|
||
Hm, I rebuilt with that patch applied and it seems to make the situation worse :( It's kind of intermittent to begin with though so it's hard to tell.
Assignee | ||
Comment 8•9 years ago
|
||
Test case breaks 100% of the time for me, so it looks like bug 1177018 did not affect this particular issue. It looks similar though.
When the page first loads there is a single PaintedLayer covering the content, with individual d-t-c regions for each nested scrollframe. If any of these scrollframes is scrolled, the subframe is layerized, and a new invisible layer appears in front of the other content layers. This invisible layer has a hit region for the entire content area, but is missing a d-t-c region for the now-active subframe. If the wheel transaction ends, the scrollframe can no longer scroll. Attempting to scroll other subframes will similarly work once, and then stop forever, since the d-t-c region is removed and the invisible layer is stealing events.
So it looks like either the invisible layer, or the hit region, or both are a bug in layout.
Comment 9•9 years ago
|
||
Based on the above description the next step is probably to reproduce with the prefs layout.display-list.dump and layers.dump-decision set to true. That will tell us which display items are going into this invisible layer and hopefully that should be sufficient information to determine what the root cause is.
Assignee | ||
Updated•9 years ago
|
Assignee: nobody → dvander
Status: NEW → ASSIGNED
Assignee | ||
Comment 10•9 years ago
|
||
When we add event regions for an inactive scrollframe, we do so by placing a new nsDisplayLayerEventRegions on top of our existing items. The intent is this item only carries a d-t-c region for the frame.
However, the constructor for nsDisplayLayerEventRegions adds the rest of the frame as a hit region. This region may end up overlapping other content, causing the item to get pushed into its own layer, which then incorrectly eats up APZ events.
Assignee | ||
Comment 11•9 years ago
|
||
Assignee | ||
Comment 12•9 years ago
|
||
This patch removes AddFrame() from the nsDisplayLayerEventRegions constructor. AddInactiveSubframe now adds the scrollport as a hit region instead, and other callsites use AddFrame() manually.
Attachment #8670132 -
Flags: review?(tnikkel)
Updated•9 years ago
|
Attachment #8670132 -
Flags: review?(tnikkel) → review+
Comment 13•9 years ago
|
||
Comment 14•9 years ago
|
||
Status: ASSIGNED → RESOLVED
Closed: 9 years ago
status-firefox44:
--- → fixed
Resolution: --- → FIXED
Target Milestone: --- → mozilla44
Comment 15•9 years ago
|
||
David, is APZ enabled in 42 (and 43) by default? I wonder if we should uplift that or not.
Thanks
status-firefox43:
--- → affected
Flags: needinfo?(dvander)
Reporter | ||
Comment 16•9 years ago
|
||
umm,
I can still reproduce the problem on latest m-c tinderbox build and latest m-i tinderbox build .
I do not think this is fixed.
https://hg.mozilla.org/mozilla-central/rev/d01dd42e654b8735d86f9e7c723cc869a3b56798
Mozilla/5.0 (Windows NT 6.1; WOW64; rv:44.0) Gecko/20100101 Firefox/44.0 ID:20151009024347
https://hg.mozilla.org/integration/mozilla-inbound/rev/3188b162ee535793e8a7d8072937bec76f12475f
Mozilla/5.0 (Windows NT 6.1; WOW64; rv:44.0) Gecko/20100101 Firefox/44.0 ID:20151009035448
Reporter | ||
Comment 17•9 years ago
|
||
(In reply to Alice0775 White from comment #16)
> umm,
> I can still reproduce the problem on latest m-c tinderbox build and latest
> m-i tinderbox build .
> I do not think this is fixed.
>
> https://hg.mozilla.org/mozilla-central/rev/
> d01dd42e654b8735d86f9e7c723cc869a3b56798
> Mozilla/5.0 (Windows NT 6.1; WOW64; rv:44.0) Gecko/20100101 Firefox/44.0
> ID:20151009024347
>
> https://hg.mozilla.org/integration/mozilla-inbound/rev/
> 3188b162ee535793e8a7d8072937bec76f12475f
> Mozilla/5.0 (Windows NT 6.1; WOW64; rv:44.0) Gecko/20100101 Firefox/44.0
> ID:20151009035448
Anyway, I've filed Bug 1213324.
Assignee | ||
Comment 18•9 years ago
|
||
(In reply to Sylvestre Ledru [:sylvestre] from comment #15)
> David, is APZ enabled in 42 (and 43) by default? I wonder if we should
> uplift that or not.
> Thanks
No it's still nightly-only.
Flags: needinfo?(dvander)
Comment 19•9 years ago
|
||
OK, thanks. Updating the tracking flags accordingly.
You need to log in
before you can comment on or make changes to this bug.
Description
•