land initial preffed off implementation of direct manipulation
Categories
(Core :: Panning and Zooming, enhancement, P3)
Tracking
()
Tracking | Status | |
---|---|---|
firefox78 | --- | fixed |
People
(Reporter: tnikkel, Assigned: tnikkel)
References
(Regressed 1 open bug)
Details
(Whiteboard: [apz:dtz:10:L])
Attachments
(6 files, 1 obsolete file)
Assignee | ||
Comment 1•4 years ago
|
||
Mostly kats' work from https://github.com/staktrace/gecko/commit/241a8b7d30533a6024a92b3adb31497586cce45d
So kats please direct review to someone as appropriate.
Updated•4 years ago
|
Assignee | ||
Comment 2•4 years ago
|
||
I have no idea why I need to do this. Let me know if there is a better way.
Depends on D71303
Assignee | ||
Comment 3•4 years ago
|
||
Depends on D71304
Assignee | ||
Comment 4•4 years ago
|
||
Depends on D71305
Assignee | ||
Comment 5•4 years ago
|
||
We can't just get pinch events, we need to handle both.
This state machine code is basically copied from Chrome's implementation.
Depends on D71306
Updated•4 years ago
|
Updated•4 years ago
|
Updated•4 years ago
|
Updated•4 years ago
|
Updated•4 years ago
|
Updated•4 years ago
|
Assignee | ||
Comment 6•4 years ago
|
||
The old code didn't handle content prevent defaulting the input.
The pinch gesture code doesn't seem to fully work properly, it will allow a little pinch zooming before halting it if content is prevent defaulting it. Not sure what is up yet.
Depends on D71307
Pushed by tnikkel@mozilla.com: https://hg.mozilla.org/integration/autoland/rev/e6cd2ceab183 Add a simple way to observe vsync on the mainthread. r=jrmuizel https://hg.mozilla.org/integration/autoland/rev/f7d9852a3d09 Add PT_TOUCHPAD to touchinjection_sdk80.h. r=aklotz https://hg.mozilla.org/integration/autoland/rev/e202ddeb4e40 Create the necessary direct manipulation objects. r=aklotz https://hg.mozilla.org/integration/autoland/rev/108b1a07929b Hook up direct manipulation object to vsync. r=kats https://hg.mozilla.org/integration/autoland/rev/08a6a1f1c4c7 Add a small state machine and code to send pinch and pan events from direct manipulation. r=kats https://hg.mozilla.org/integration/autoland/rev/21dc02bc12b9 Handle sending Direct Manipulation input events properly. r=kats
Comment 8•4 years ago
|
||
Backed out for build bustages.
Failure log: https://treeherder.mozilla.org/logviewer.html#/jobs?job_id=300820550&repo=autoland&lineNumber=29754
https://treeherder.mozilla.org/logviewer.html#/jobs?job_id=300821951&repo=autoland&lineNumber=341566
Backout: https://hg.mozilla.org/integration/autoland/rev/68ab42d205e5d0746fba7ad9cd5a7e19287ac872
Updated•4 years ago
|
Assignee | ||
Comment 10•4 years ago
|
||
I guess I only tested in non-debug builds until now, here's stack I got.
Hit MOZ_CRASH(DManipEventHandler not thread-safe) at c:/mozilla/src/xpcom/base/nsISupportsImpl.cpp:40
#01: mozilla::widget::DManipEventHandler::QueryInterface (c:\mozilla\src\widget\windows\DirectManipulationOwner.cpp:0)
#02: DllGetActivationFactory[C:\WINDOWS\system32\directmanipulation.dll +0x4f708]
#03: DllGetActivationFactory[C:\WINDOWS\system32\directmanipulation.dll +0x4fae4]
#04: DllGetActivationFactory[C:\WINDOWS\system32\directmanipulation.dll +0x49d0d]
#05: DllGetActivationFactory[C:\WINDOWS\system32\directmanipulation.dll +0x481a8]
#06: DllGetActivationFactory[C:\WINDOWS\system32\directmanipulation.dll +0x4912b]
#07: DllGetActivationFactory[C:\WINDOWS\system32\directmanipulation.dll +0x5823f]
#08: DllGetActivationFactory[C:\WINDOWS\system32\directmanipulation.dll +0x57fb7]
#09: DllGetActivationFactory[C:\WINDOWS\system32\directmanipulation.dll +0x58872]
#10: DllGetActivationFactory[C:\WINDOWS\system32\directmanipulation.dll +0x57df0]
#11: DllGetActivationFactory[C:\WINDOWS\system32\directmanipulation.dll +0x57d53]
#12: DllGetActivationFactory[C:\WINDOWS\system32\directmanipulation.dll +0x5410e]
#13: InitializeDManipHook[C:\WINDOWS\system32\directmanipulation.dll +0x37645]
#14: ???[C:\WINDOWS\system32\directmanipulation.dll +0x1e754]
#15: BaseThreadInitThunk[C:\WINDOWS\System32\KERNEL32.DLL +0x17bd4]
#16: RtlUserThreadStart[C:\WINDOWS\SYSTEM32\ntdll.dll +0x6ce51]
Do I need to change anything else or is this enough?
Depends on D73220
Updated•4 years ago
|
Comment 11•4 years ago
|
||
Pushed by tnikkel@mozilla.com: https://hg.mozilla.org/integration/autoland/rev/f9f85e3ccde7 Add a simple way to observe vsync on the mainthread. r=jrmuizel https://hg.mozilla.org/integration/autoland/rev/b1bd509220e9 Add PT_TOUCHPAD to touchinjection_sdk80.h. r=aklotz https://hg.mozilla.org/integration/autoland/rev/321438a68aab Create the necessary direct manipulation objects. r=aklotz https://hg.mozilla.org/integration/autoland/rev/05015d1e8315 Hook up direct manipulation object to vsync. r=kats https://hg.mozilla.org/integration/autoland/rev/c6a3a55f67a1 Add a small state machine and code to send pinch and pan events from direct manipulation. r=kats https://hg.mozilla.org/integration/autoland/rev/93ab81106303 Handle sending Direct Manipulation input events properly. r=kats
Assignee | ||
Updated•4 years ago
|
Comment 12•4 years ago
|
||
bugherder |
https://hg.mozilla.org/mozilla-central/rev/f9f85e3ccde7
https://hg.mozilla.org/mozilla-central/rev/b1bd509220e9
https://hg.mozilla.org/mozilla-central/rev/321438a68aab
https://hg.mozilla.org/mozilla-central/rev/05015d1e8315
https://hg.mozilla.org/mozilla-central/rev/c6a3a55f67a1
https://hg.mozilla.org/mozilla-central/rev/93ab81106303
Updated•4 years ago
|
Description
•