Closed
Bug 706891
Opened 13 years ago
Closed 12 years ago
Investigate making the axis lock unbreakable in some circumstances
Categories
(Firefox for Android Graveyard :: General, defect, P2)
Tracking
(blocking-fennec1.0 +, fennec11+)
RESOLVED
FIXED
Firefox 13
People
(Reporter: pcwalton, Assigned: cpeterson)
References
Details
(Keywords: uiwanted)
Attachments
(3 files, 7 obsolete files)
6.21 KB,
patch
|
cpeterson
:
review+
|
Details | Diff | Splinter Review |
6.11 KB,
patch
|
cpeterson
:
review+
|
Details | Diff | Splinter Review |
3.90 KB,
patch
|
cpeterson
:
review+
|
Details | Diff | Splinter Review |
mbrubeck tells me that in XUL Fennec we made the axis lock unbreakable after panning more than 200px or so. We should perhaps investigate doing something like this; I tried it and liked the result.
Comment 1•13 years ago
|
||
What do you mean with axis lock?
Updated•13 years ago
|
Assignee: nobody → chrislord.net
Priority: -- → P2
Updated•13 years ago
|
tracking-fennec: --- → 11+
Assignee | ||
Updated•12 years ago
|
Assignee: chrislord.net → cpeterson
Assignee | ||
Comment 2•12 years ago
|
||
Bug 706891 part 1 - Rename Axis setLocked/mLocked to disableScrolling/mScrollingDisabled to clarify meaning.
Attachment #594929 -
Flags: review?
Assignee | ||
Comment 3•12 years ago
|
||
Comment on attachment 594929 [details] [diff] [review] bug-706891-part-1-rename-Axis-Locking.patch Bug 706891 part 1 - Rename Axis setLocked/mLocked to disableScrolling/mScrollingDisabled to clarify meaning.
Attachment #594929 -
Flags: review? → review?(doug.turner)
Assignee | ||
Comment 4•12 years ago
|
||
Bug 706891 part 2 - Reduce PAN_THRESHOLD from 1/10" to 1/16" and change units to dps.
Attachment #594930 -
Flags: review?(doug.turner)
Assignee | ||
Comment 5•12 years ago
|
||
Bug 706891 part 3 - When drag breaks through pan threshold, reposition touch origin and check for axis locking.
Attachment #594931 -
Flags: review?(doug.turner)
Comment 6•12 years ago
|
||
Nice work. Just a couple of comments: 1) I'd prefer renaming disableScrolling to setScrollingDisabled because it takes a boolean and disableScrolling(false) doesn't make much sense when you read it. 2) According to http://knol.google.com/k/suppresswarnings-annotation-in-java# Eclipse uses the fallthrough annotation for different things than javac, so those annotations might still be needed. I don't use eclipse so I can't say for sure but unless you've tried it I would err on the safe side and leave them in. Also I have some WIP that adds a regression test for axis locking. I don't have a bug for it yet and it shouldn't be affected by this change, but just a heads-up.
Updated•12 years ago
|
Attachment #594929 -
Flags: review?(doug.turner) → review?(bugmail.mozilla)
Updated•12 years ago
|
Attachment #594930 -
Flags: review?(doug.turner) → review?(bugmail.mozilla)
Updated•12 years ago
|
Attachment #594931 -
Flags: review?(doug.turner) → review?(bugmail.mozilla)
Comment 7•12 years ago
|
||
I'll r+ these patches if you address the things I noted in comment #6.
Assignee | ||
Comment 8•12 years ago
|
||
* Renamed setLock/disableScrolling to setScrollDisabled.
Attachment #594929 -
Attachment is obsolete: true
Attachment #594929 -
Flags: review?(bugmail.mozilla)
Attachment #596813 -
Flags: review?(bugmail.mozilla)
Assignee | ||
Comment 9•12 years ago
|
||
* Renamed setLock/disableScrolling to setScrollDisabled. * I think it is safe to remove the @SuppressWarnings("fallthrough") annotations because I added those fallthrough annotations when I was fixing Java warnings a few weeks ago. So presumably Eclipse users had not been complaining before then. :) Also, those annotations are no longer necessary because our Makefile.in now suppresses fallthrough warnings.
Attachment #594931 -
Attachment is obsolete: true
Attachment #594931 -
Flags: review?(bugmail.mozilla)
Attachment #596815 -
Flags: review?(bugmail.mozilla)
Updated•12 years ago
|
Attachment #596813 -
Flags: review?(bugmail.mozilla) → review+
Updated•12 years ago
|
Attachment #596815 -
Flags: review?(bugmail.mozilla) → review+
Assignee | ||
Comment 10•12 years ago
|
||
Adding r=kats to patch.
Attachment #596813 -
Attachment is obsolete: true
Assignee | ||
Comment 11•12 years ago
|
||
Comment on attachment 597095 [details] [diff] [review] bug-706891-part-1-rename-Axis-Locking-v2.patch Carry forward r=kats flag.
Attachment #597095 -
Flags: review+
Assignee | ||
Comment 12•12 years ago
|
||
part-2 patch needs review.
Attachment #597098 -
Flags: review?(bugmail.mozilla)
Assignee | ||
Comment 13•12 years ago
|
||
part-2 patch needs review.
Attachment #594930 -
Attachment is obsolete: true
Attachment #597098 -
Attachment is obsolete: true
Attachment #594930 -
Flags: review?(bugmail.mozilla)
Attachment #597098 -
Flags: review?(bugmail.mozilla)
Attachment #597100 -
Flags: review?(bugmail.mozilla)
Assignee | ||
Comment 14•12 years ago
|
||
Adding r=kats to patch. Carry forward r=kats flag.
Attachment #596815 -
Attachment is obsolete: true
Attachment #597102 -
Flags: review+
Comment 15•12 years ago
|
||
Comment on attachment 597100 [details] [diff] [review] bug-706891-part-2-reduce-pan-threshold.patch Review of attachment 597100 [details] [diff] [review]: ----------------------------------------------------------------- r+ with the comment fixed ::: mobile/android/base/ui/PanZoomController.java @@ +82,3 @@ > // The distance the user has to pan before we recognize it as such (e.g. to avoid > + // 1-pixel pans between the touch-down and touch-up of a click). In units of dps. > + public static final float PAN_THRESHOLD = 1/16f * GeckoAppShell.getDpi(); I assume by "dps" you mean "device pixels"? It's a little ambiguous since the code says Dpi which means "dots per inch" so in that context "dp" just means "dots per". Long story short, the comment should be updated to say "pixels" or "device pixels" or something.
Attachment #597100 -
Flags: review?(bugmail.mozilla) → review+
Assignee | ||
Comment 16•12 years ago
|
||
Change "dps" to "density-independent pixels" in comment. Carry forward r=kats flag.
Attachment #597100 -
Attachment is obsolete: true
Attachment #597157 -
Flags: review+
Assignee | ||
Updated•12 years ago
|
Keywords: checkin-needed
Comment 17•12 years ago
|
||
https://hg.mozilla.org/integration/mozilla-inbound/rev/8119075352ef https://hg.mozilla.org/integration/mozilla-inbound/rev/442ad20cca01 https://hg.mozilla.org/integration/mozilla-inbound/rev/21783313b2e1
Keywords: checkin-needed
Comment 18•12 years ago
|
||
Also landed https://hg.mozilla.org/integration/mozilla-inbound/rev/a9393768863d to disable the failing testFlingCorrectness
Comment 19•12 years ago
|
||
I disabled testFlingCorrectness for now because I think the patches are fine and the behaviour change they introduce is correct, but the test should be updated to match the new behaviour and re-enabled as soon as possible. The specific behaviour change I think is causing the test failure is the fact that now when we break out of the panning threshold and starting panning the page, we reset the "start position" of the pan. This means for a 100-pixel motion event, we will only move the page by (100 - pan threshold) pixels. The test is expecting the full 100 pixels and so fails. However IIRC this behaviour should also cause testPanCorrectness to fail and off the top of my head I can't see why it isn't failing. Something to investigate...
Whiteboard: [inbound], [leave open after inbound merge]
Comment 20•12 years ago
|
||
https://hg.mozilla.org/mozilla-central/rev/8119075352ef https://hg.mozilla.org/mozilla-central/rev/442ad20cca01 https://hg.mozilla.org/mozilla-central/rev/21783313b2e1
Whiteboard: [inbound], [leave open after inbound merge]
Target Milestone: --- → Firefox 13
Comment 22•12 years ago
|
||
Wow I must be blind. I only just noticed this changes mLocked from private to public along with the rename.
Assignee | ||
Comment 23•12 years ago
|
||
kats, oops. That is a mistake. I will fix this when I investigate the `testFlingCorrectness` test breakage.
Comment 24•12 years ago
|
||
Awesome, thanks.
Updated•12 years ago
|
Keywords: fennecnative-releaseblocker
Comment 25•12 years ago
|
||
this bug should be marked fixed, right?
Assignee | ||
Comment 26•12 years ago
|
||
This bug has not been closed because it injected a Robocop test failure. That test has been disabled for now. Should we just open a new bug to track test failure separately? Then we can close this feature bug.
Comment 27•12 years ago
|
||
Marking this bug fixed; bug 727351 is open to track the test failure.
Status: NEW → RESOLVED
Closed: 12 years ago
Resolution: --- → FIXED
Updated•12 years ago
|
blocking-fennec1.0: --- → +
Updated•3 years ago
|
Product: Firefox for Android → Firefox for Android Graveyard
You need to log in
before you can comment on or make changes to this bug.
Description
•