Closed Bug 1092128 Opened 10 years ago Closed 10 years ago

Make APZ gtests pass when touch-action is enabled

Categories

(Core :: Panning and Zooming, defect)

All
Windows 8.1
defect
Not set
normal

Tracking

()

RESOLVED FIXED
mozilla39
Tracking Status
firefox39 --- fixed

People

(Reporter: alessarik, Assigned: kats)

References

Details

Attachments

(2 files)

User Agent: Mozilla/5.0 (Windows NT 6.2; WOW64; rv:32.0) Gecko/20100101 Firefox/32.0 Build ID: 20140825202822 Steps to reproduce: GTests with enable pointer events on m-c Actual results: Value of: fm.GetZoom().scale Value of: fm.GetScrollOffset().x Value of: fm.GetScrollOffset().y Value of: fm.GetZoom().scale Value of: fm.GetScrollOffset().x Value of: fm.GetScrollOffset().y Actual function call count doesn't match EXPECT_CALL(*mcc, SendAsyncScrollDOMEvent(_,_,_))... Actual function call count doesn't match EXPECT_CALL(*mcc, RequestContentRepaint(_))... Expected results: Test should be passed
Blocks: 1042108
OS: Windows 8 → All
Hardware: x86_64 → All
Product: Firefox → Core
Component: Untriaged → Panning and Zooming
OS: All → Windows 8.1
Summary: TEST-UNEXPECTED-FAIL | APZCPinchGestureDetectorTester.Pinch_UseGestureDetector_NoTouchAction → [pointer-events] TEST-UNEXPECTED-FAIL | APZCPinchGestureDetectorTester.Pinch_UseGestureDetector_NoTouchAction
Version: Trunk → unspecified
This used to pass before, right?
Flags: needinfo?(alessarik)
(In reply to Kartikaya Gupta (email:kats@mozilla.com) from comment #2) > This used to pass before, right? Couple of month ago I didn't see this errors. All was good.
Flags: needinfo?(alessarik)
Can you find a regression window?
Flags: needinfo?(alessarik)
(In reply to Kartikaya Gupta (email:kats@mozilla.com) from comment #5) > Can you find a regression window? Maybe it is the possible. I need some time for this. According with saved build I know that it was happened more than 2 weeks ago.
Mentor: bugmail.mozilla
(In reply to Kartikaya Gupta (email:kats@mozilla.com) from comment #5) > Can you find a regression window? Looks like this errors started happen from start of pointer events implementation. Due to disabling GTEST on Windows, some time we have not seen this error on Windows.
Blocks: 960316
Flags: needinfo?(alessarik)
Ok, it might be easiest to just debug the tests and fix them (or the code, if the code is buggy). Presumably the same failures should reproduce on other desktop platforms as long as the layout.css.touch_action.enabled pref is true, because that's the only relevant pref that the APZ gtests use.
I confirmed that I can reproduce various test failures on OS X desktop build with the layout.css.touch_action.enabled pref set to true.
Status: UNCONFIRMED → NEW
Ever confirmed: true
No longer blocks: 960316
Mentor: botond
Doesn't seem to be much interest from mentees in fixing this, and I'd like to have it done sooner rather than later, so I'm taking this.
Assignee: nobody → bugmail.mozilla
Mentor: botond, bugmail.mozilla
Summary: [pointer-events] TEST-UNEXPECTED-FAIL | APZCPinchGestureDetectorTester.Pinch_UseGestureDetector_NoTouchAction → Make APZ gtests pass when touch-action is enabled
These tests all assume touch-action is disabled. TestRepaintFlushOnNewInputBlock technically could be modified to deal with touch-action but it would be messy and isn't really relevant to the test.
Attachment #8570731 - Flags: review?(botond)
When touch action is enabled, all touch input blocks need to get notified of the allowed touch behaviour in order to be processed.
Attachment #8570732 - Flags: review?(botond)
Attachment #8570731 - Flags: review?(botond) → review+
Comment on attachment 8570732 [details] [diff] [review] Part 2 - Set the default allowed touch behavior for input blocks Review of attachment 8570732 [details] [diff] [review]: ----------------------------------------------------------------- ::: gfx/tests/gtest/TestAsyncPanZoomController.cpp @@ +335,5 @@ > + | mozilla::layers::AllowedTouchBehavior::VERTICAL_PAN > + | mozilla::layers::AllowedTouchBehavior::PINCH_ZOOM > + | mozilla::layers::AllowedTouchBehavior::DOUBLE_TAP_ZOOM); > + } > + aTarget->SetAllowedTouchBehavior(aInputBlockId, defaultBehaviors); Please amend the comment describing InputReceiver (line 293) to say that SetAllowedTouchBehavior() is another method it needs to support.
Attachment #8570732 - Flags: review?(botond) → review+
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: