Closed Bug 1119497 Opened 10 years ago Closed 10 years ago

With bug 920036 applied, user is able to scroll stuff through the notification tray

Categories

(Core :: Panning and Zooming, defect)

All
Gonk (Firefox OS)
defect
Not set
normal

Tracking

()

RESOLVED FIXED
mozilla37
Tracking Status
b2g-v2.2 --- fixed
b2g-master --- fixed

People

(Reporter: kats, Assigned: kats)

References

Details

Attachments

(2 files, 3 obsolete files)

I was testing the patches from bug 920036 which are pretty much ready to land and found a bug in the APZ hit-testing code. The problem is that if a HitTestingTreeNode returns a hit (i.e. ApzcHitRegion or ApzcContentRegion), there might still be no containing APZC for that node. In other words, when we reach the code at [1] for the notification tray layer, hitResult is ApzcHitRegion but result is still null. Because we check for !result as the termination condition in GetAPZCAtPoint, we continue the search and end up finding the content under notification tray which does have an APZC, and return that. [1] https://hg.mozilla.org/integration/mozilla-inbound/file/9cb763be208e/gfx/layers/apz/src/APZCTreeManager.cpp#l1382
Attached patch Patch (obsolete) (deleted) — Splinter Review
This fixes it but I want to write a test and make sure there's no other fallout.
Attached patch Patch with test (obsolete) (deleted) — Splinter Review
I'm considering renaming the HitTestResult values to not refer to Apzc specifically since it's kind of misleading now that we have nodes without APZCs. Any thoughts on that?
Attachment #8546170 - Attachment is obsolete: true
Attachment #8546196 - Flags: review?(botond)
Comment on attachment 8546196 [details] [diff] [review] Patch with test Review of attachment 8546196 [details] [diff] [review]: ----------------------------------------------------------------- This patch confused me for the longest time because if you trace through the code, you'll find that we still recurse over the subtrees of older siblings after we find a non-APZC hit, we just never get into the block that actually calls HitTest() for them. Unless I'm missing something, this is unnecessary, and we can avoid it by changing the 'if (result)' just below the changes in this patch, to 'if (*aOutHitTestResult != NoApzcHit)'. r+ with that change. > I'm considering renaming the HitTestResult values to not refer to Apzc > specifically since it's kind of misleading now that we have nodes without > APZCs. Any thoughts on that? Yes please. r+.
Attachment #8546196 - Flags: review?(botond) → review+
(In reply to Botond Ballo [:botond] from comment #3) > > Unless I'm missing something, this is unnecessary, and we can avoid it by > changing the 'if (result)' just below the changes in this patch, to 'if > (*aOutHitTestResult != NoApzcHit)'. r+ with that change. Ah good point, I will make that change and land it. > > I'm considering renaming the HitTestResult values to not refer to Apzc > > specifically since it's kind of misleading now that we have nodes without > > APZCs. Any thoughts on that? > > Yes please. r+. Will do.
Attached patch Patch with test (deleted) — Splinter Review
Updated as per review comment. I also changed the nested if condition to check for result, because that code (to skip past scrollinfo layers when event-regions are disabled) assumes result is non-null.
Attachment #8546196 - Attachment is obsolete: true
Attachment #8547061 - Flags: review+
Attached patch Rename enum values (obsolete) (deleted) — Splinter Review
Renamed enum values; rs=botond from comment 3 (but let me know if you don't like the new names).
Attachment #8547062 - Flags: review+
Status: NEW → RESOLVED
Closed: 10 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla37
Backed out this bug for causing the smoketest regression in bug 1121033. https://hg.mozilla.org/integration/b2g-inbound/rev/86bcc35413b4
Status: RESOLVED → REOPENED
Resolution: FIXED → ---
Attached patch Rename enum values (deleted) — Splinter Review
Rebased the "Rename enum values" patch across bug 1117712, which landed after this was backed out. Carrying r+.
Attachment #8547062 - Attachment is obsolete: true
Attachment #8549123 - Flags: review+
(In reply to Botond Ballo [:botond] from comment #10) > Created attachment 8549123 [details] [diff] [review] > Rename enum values > > Rebased the "Rename enum values" patch across bug 1117712, which landed > after this was backed out. Carrying r+. This rebase assumes the Bug1117712 gtest comes first, followed by the Bug1119497 gtest. The rollup patch for 2.2 on bug 1117712 has them in the reverse order. I'm going with the rollup patch version.
Status: REOPENED → RESOLVED
Closed: 10 years ago10 years ago
Resolution: --- → FIXED
Target Milestone: mozilla37 → mozilla38
Target Milestone: mozilla38 → mozilla37
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: