Closed Bug 950489 Opened 11 years ago Closed 11 years ago

While changing the range of an input type range the page is moving as well

Categories

(Core :: Panning and Zooming, defect)

ARM
Gonk (Firefox OS)
defect
Not set
normal

Tracking

()

RESOLVED FIXED
mozilla29
blocking-b2g 1.3+
Tracking Status
firefox27 --- unaffected
firefox28 --- fixed
firefox29 --- fixed
b2g-v1.2 --- unaffected
b2g-v1.3 --- fixed

People

(Reporter: vingtetun, Assigned: vingtetun)

References

Details

Attachments

(1 file, 2 obsolete files)

Steps to reproduce:
 - Open UI tests
 - Go to the 'Keyboard' section
 - Pan a to the bottom until you see an input range
 - Try to change the value of the input range

Expected result:
 - The value of the input range change following the finger

Actual result:
 - The value of the input range change following the finger, and the page moves as well.
Seems like input range has changed from consuming the event to using a flag in bug 849552
Attached patch range.pagepanned.patch (obsolete) — Splinter Review
Let's use the flag information.
Attachment #8347774 - Flags: review?(bugmail.mozilla)
Attached patch range.pagepanned.patch (obsolete) — Splinter Review
Oups. I messed up the indentation of the previous patch.
Attachment #8347774 - Attachment is obsolete: true
Attachment #8347774 - Flags: review?(bugmail.mozilla)
Attachment #8347829 - Flags: review?(bugmail.mozilla)
Comment on attachment 8347829 [details] [diff] [review]
range.pagepanned.patch

Review of attachment 8347829 [details] [diff] [review]:
-----------------------------------------------------------------

Minusing because I think this is missing a line in the non-APZ case. See below.

::: dom/ipc/TabChild.cpp
@@ +1816,5 @@
>        return;
>      }
>      if (aStatus == nsEventStatus_eConsumeNoDefault ||
> +        nsIPresShell::gPreventMouseEvents ||
> +        aEvent.mFlags.mMultipleActionsPrevented) {

Does this work? In RecvRealTouchEvent the aEvent passed in is cloned to "localEvent" and that is what is sent to DispatchWidgetEvent, but the event passed to UpdateTapState is the original aEvent. Therefore aEvent.mFlags.mMultipleActionsPrevented is not updated; you have to explicitly do:

aEvent.mFlags.mMultipleActionsPrevented = localEvent.mFlags.mMultipleActionsPrevented;

before calling UpdateTapState in RecvRealTouchEvent.
Attachment #8347829 - Flags: review?(bugmail.mozilla) → review-
Also for reference, this is the B2G equivalent of https://bugzilla.mozilla.org/show_bug.cgi?id=849961
See Also: → 849961
Assignee: nobody → 21
Can't we simply pass localEvent since aEvent.Flags is a read only structure ?
Attachment #8347829 - Attachment is obsolete: true
Attachment #8348690 - Flags: review?(bugmail.mozilla)
Comment on attachment 8348690 [details] [diff] [review]
range.pagepanned.patch

Review of attachment 8348690 [details] [diff] [review]:
-----------------------------------------------------------------

That works too. To be honest though I don't know why we need to check gPreventMouseEvents at all; according to http://mxr.mozilla.org/mozilla-central/source/layout/base/nsPresShell.cpp#7155 we should be able to get that info from the return status. Ah well.
Attachment #8348690 - Flags: review?(bugmail.mozilla) → review+
https://hg.mozilla.org/integration/b2g-inbound/rev/1acc5e2112f2
Status: NEW → ASSIGNED
blocking-b2g: 1.3? → 1.3+
Target Milestone: --- → mozilla28
https://hg.mozilla.org/mozilla-central/rev/1acc5e2112f2
Status: ASSIGNED → RESOLVED
Closed: 11 years ago
Resolution: --- → FIXED
Target Milestone: mozilla28 → mozilla29
Note - this might have caused bug 952170.
Depends on: 952170
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: