Collect Gamepad API related metrics
Categories
(Core :: Privacy: Anti-Tracking, task)
Tracking
()
| Tracking | Status | |
|---|---|---|
| firefox128 | --- | fixed |
People
(Reporter: timhuang, Assigned: timhuang)
References
(Blocks 1 open bug, Regressed 1 open bug)
Details
Attachments
(5 files)
| Assignee | ||
Updated•2 years ago
|
| Assignee | ||
Comment 1•1 year ago
|
||
Updated•1 year ago
|
| Assignee | ||
Comment 2•1 year ago
|
||
To collect the gamepad information on the user device, we introduce a
chrome only function called RequestAllGamepads to Navigator. The
function will return a promise which resolves when we get all gamepads
info from the parent process.
Note that we cannot rely on The existing navigator.getGamepads()
function because it cannot allow us collecting gamepads info
without the user interacts with the gamepads.
| Assignee | ||
Comment 3•1 year ago
|
||
We might need to call ChromeOnly functions to collect user
characteristics data. To achieve this, this patches introduces two
functions to UserCharacteristicsChild, collectUserCharacteristicsData()
and collectUserCharacteristicsDataWithDelay() for different collecting
timing.
Depends on D207979
| Assignee | ||
Comment 4•1 year ago
|
||
Depends on D207980
| Assignee | ||
Comment 5•1 year ago
|
||
Depends on D207981
Updated•1 year ago
|
Comment 7•1 year ago
|
||
Backed out for causing for causing bpnu bustages related to Gamepad.
- Backout link
- Push with failures
- Failure Log
- Failure log:
[task 2024-05-15T13:04:37.010Z] 13:04:37 INFO - dom/html/HTMLDetailsElement.obj
[task 2024-05-15T13:04:37.011Z] 13:04:37 INFO - gmake[4]: Leaving directory '/builds/worker/workspace/obj-build/dom/html'
[task 2024-05-15T13:04:37.173Z] 13:04:37 INFO - gmake[4]: Entering directory '/builds/worker/workspace/obj-build/dom/gamepad'
[task 2024-05-15T13:04:37.184Z] 13:04:37 INFO - /builds/worker/fetches/sccache/sccache /builds/worker/fetches/clang/bin/clang-cl -fms-compatibility-version=19.39 -Xclang -std=c++17 -Xclang -ivfsoverlay -Xclang /builds/worker/fetches/vs/overlay.yaml -FoGamepadPlatformService.obj -c -I/builds/worker/workspace/obj-build/dist/stl_wrappers -guard:cf -DNDEBUG=1 -DTRIMMED=1 -DUNICODE -D_UNICODE -D_CRT_RAND_S -DCERT_CHAIN_PARA_HAS_EXTRA_FIELDS -D_SECURE_ATL -DCHROMIUM_BUILD -DU_STATIC_IMPLEMENTATION -DWIN32 -D_WIN32 -D_WINDOWS -DWIN32_LEAN_AND_MEAN -DWINAPI_NO_BUNDLED_LIBRARIES -DMOZ_HAS_MOZGLUE -DMOZILLA_INTERNAL_API -DIMPL_LIBXUL -DSTATIC_EXPORTABLE_JS_API -I/builds/worker/checkouts/gecko/dom/gamepad -I/builds/worker/workspace/obj-build/dom/gamepad -I/builds/worker/checkouts/gecko/dom/gamepad/ipc -I/builds/worker/workspace/obj-build/ipc/ipdl/_ipdlheaders -I/builds/worker/checkouts/gecko/ipc/chromium/src -I/builds/worker/checkouts/gecko/dom/base -I/builds/worker/workspace/obj-build/dist/include -I/builds/worker/workspace/obj-build/dist/include/nspr -I/builds/worker/workspace/obj-build/dist/include/nss -MD -FI /builds/worker/workspace/obj-build/mozilla-config.h -DMOZILLA_CLIENT -fcrash-diagnostics-dir=/builds/worker/artifacts -TP -Zc:sizedDealloc- -D_HAS_EXCEPTIONS=0 -Gy -Zc:inline -Gw -D_SILENCE_TR1_NAMESPACE_DEPRECATION_WARNING -GR- -Z7 -Xclang -load -Xclang /builds/worker/workspace/obj-build/build/clang-plugin/libclang-plugin.so -Xclang -add-plugin -Xclang moz-check -O2 -Oy- -Werror -W3 -Wbitfield-enum-conversion -Wempty-body -Wformat-type-confusion -Wignored-qualifiers -Wpointer-arith -Wshadow-field-in-constructor-modified -Wsign-compare -Wtautological-constant-in-range-compare -Wtype-limits -Wno-error=tautological-type-limit-compare -Wunreachable-code -Wunreachable-code-return -Wunused-but-set-parameter -Wno-invalid-offsetof -Wclass-varargs -Wempty-init-stmt -Wfloat-overflow-conversion -Wfloat-zero-conversion -Wloop-analysis -Wno-range-loop-analysis -Wenum-compare-conditional -Wenum-float-conversion -Wvolatile -Wno-deprecated-anon-enum-enum-conversion -Wno-deprecated-enum-enum-conversion -Wno-deprecated-this-capture -Wcomma -Wimplicit-fallthrough -Wstring-conversion -Wno-inline-new-delete -Wno-error=deprecated-declarations -Wno-error=array-bounds -Wno-error=free-nonheap-object -Wno-error=atomic-alignment -Wno-error=deprecated-builtins -Wno-unknown-pragmas -Wno-ignored-pragmas -Wno-deprecated-declarations -Wno-microsoft-enum-value -Wno-microsoft-include -Wno-invalid-noreturn -Wno-inconsistent-missing-override -Wno-implicit-exception-spec-mismatch -Wno-microsoft-exception-spec -Wno-unused-local-typedef -Wno-ignored-attributes -Wno-used-but-marked-unused -Wno-psabi -Wthread-safety -Wno-error=builtin-macro-redefined -Wno-vla-cxx-extension -Wno-unknown-warning-option -fno-strict-aliasing -Xclang -ffp-contract=off -Xclang -MP -Xclang -dependency-file -Xclang .deps/GamepadPlatformService.obj.pp -Xclang -MT -Xclang GamepadPlatformService.obj /builds/worker/checkouts/gecko/dom/gamepad/GamepadPlatformService.cpp
[task 2024-05-15T13:04:37.184Z] 13:04:37 INFO - In file included from /builds/worker/checkouts/gecko/dom/gamepad/GamepadPlatformService.cpp:7:
[task 2024-05-15T13:04:37.184Z] 13:04:37 INFO - In file included from /builds/worker/workspace/obj-build/dist/include/mozilla/dom/GamepadPlatformService.h:10:
[task 2024-05-15T13:04:37.184Z] 13:04:37 INFO - In file included from /builds/worker/workspace/obj-build/dist/include/mozilla/dom/GamepadBinding.h:6:
[task 2024-05-15T13:04:37.184Z] 13:04:37 INFO - In file included from /builds/worker/workspace/obj-build/dist/include/js/CallAndConstruct.h:15:
[task 2024-05-15T13:04:37.184Z] 13:04:37 INFO - In file included from /builds/worker/workspace/obj-build/dist/include/js/RootingAPI.h:11:
[task 2024-05-15T13:04:37.184Z] 13:04:37 INFO - In file included from /builds/worker/workspace/obj-build/dist/include/mozilla/DebugOnly.h:17:
[task 2024-05-15T13:04:37.184Z] 13:04:37 INFO - In file included from /builds/worker/workspace/obj-build/dist/stl_wrappers/utility:54:
[task 2024-05-15T13:04:37.184Z] 13:04:37 ERROR - /builds/worker/fetches/vs/VC/Tools/MSVC/14.39.33519/include/utility(466,10): error: field has incomplete type 'mozilla::dom::GamepadAdded'
[task 2024-05-15T13:04:37.184Z] 13:04:37 INFO - 466 | _Ty2 second; // the second stored value
[task 2024-05-15T13:04:37.184Z] 13:04:37 INFO - | ^
[task 2024-05-15T13:04:37.184Z] 13:04:37 INFO - /builds/worker/workspace/obj-build/dist/include/mozilla/dom/GamepadPlatformService.h(128,27): note: in instantiation of template class 'std::pair<const mozilla::dom::GamepadHandle, mozilla::dom::GamepadAdded>' requested here
[task 2024-05-15T13:04:37.184Z] 13:04:37 INFO - 128 | for (const auto& elem : mGamepadAdded) {
[task 2024-05-15T13:04:37.184Z] 13:04:37 INFO - | ^
[task 2024-05-15T13:04:37.184Z] 13:04:37 INFO - /builds/worker/workspace/obj-build/dist/include/mozilla/dom/GamepadPlatformService.h(21,7): note: forward declaration of 'mozilla::dom::GamepadAdded'
[task 2024-05-15T13:04:37.184Z] 13:04:37 INFO - 21 | class GamepadAdded;
[task 2024-05-15T13:04:37.184Z] 13:04:37 INFO - | ^
[task 2024-05-15T13:04:37.184Z] 13:04:37 INFO - In file included from /builds/worker/checkouts/gecko/dom/gamepad/GamepadPlatformService.cpp:7:
[task 2024-05-15T13:04:37.184Z] 13:04:37 INFO - In file included from /builds/worker/workspace/obj-build/dist/include/mozilla/dom/GamepadPlatformService.h:13:
[task 2024-05-15T13:04:37.184Z] 13:04:37 INFO - In file included from /builds/worker/workspace/obj-build/dist/stl_wrappers/map:54:
[task 2024-05-15T13:04:37.184Z] 13:04:37 INFO - In file included from /builds/worker/fetches/vs/VC/Tools/MSVC/14.39.33519/include/map:12:
[task 2024-05-15T13:04:37.184Z] 13:04:37 ERROR - /builds/worker/fetches/vs/VC/Tools/MSVC/14.39.33519/include/xtree(1281,16): error: no matching member function for call to '_Freenode'
[task 2024-05-15T13:04:37.184Z] 13:04:37 INFO - 1281 | _Node::_Freenode(_Getal(), _Erasednode); // delete erased node
[task 2024-05-15T13:04:37.184Z] 13:04:37 INFO - | ~~~~~~~^~~~~~~~~
[task 2024-05-15T13:04:37.184Z] 13:04:37 INFO - /builds/worker/fetches/vs/VC/Tools/MSVC/14.39.33519/include/xtree(1295,13): note: in instantiation of member function 'std::_Tree<std::_Tmap_traits<mozilla::dom::GamepadHandle, mozilla::dom::GamepadAdded, std::less<mozilla::dom::GamepadHandle>, std::allocator<std::pair<const mozilla::dom::GamepadHandle, mozilla::dom::GamepadAdded>>, false>>::_Erase_unchecked' requested here
[task 2024-05-15T13:04:37.184Z] 13:04:37 INFO - 1295 | _Erase_unchecked(_First++);
[task 2024-05-15T13:04:37.184Z] 13:04:37 INFO - | ^
[task 2024-05-15T13:04:37.184Z] 13:04:37 INFO - /builds/worker/fetches/vs/VC/Tools/MSVC/14.39.33519/include/xtree(1305,9): note: in instantiation of member function 'std::_Tree<std::_Tmap_traits<mozilla::dom::GamepadHandle, mozilla::dom::GamepadAdded, std::less<mozilla::dom::GamepadHandle>, std::allocator<std::pair<const mozilla::dom::GamepadHandle, mozilla::dom::GamepadAdded>>, false>>::_Erase_unchecked' requested here
[task 2024-05-15T13:04:37.184Z] 13:04:37 INFO - 1305 | _Erase_unchecked(_First, _Last);
[task 2024-05-15T13:04:37.184Z] 13:04:37 INFO - | ^
[task 2024-05-15T13:04:37.184Z] 13:04:37 INFO - /builds/worker/fetches/vs/VC/Tools/MSVC/14.39.33519/include/xtree(1334,16): note: in instantiation of member function 'std::_Tree<std::_Tmap_traits<mozilla::dom::GamepadHandle, mozilla::dom::GamepadAdded, std::less<mozilla::dom::GamepadHandle>, std::allocator<std::pair<const mozilla::dom::GamepadHandle, mozilla::dom::GamepadAdded>>, false>>::_Erase' requested here
[task 2024-05-15T13:04:37.184Z] 13:04:37 INFO - 1334 | return _Erase(_Eqrange(_Keyval));
[task 2024-05-15T13:04:37.184Z] 13:04:37 INFO - | ^
[task 2024-05-15T13:04:37.184Z] 13:04:37 INFO - /builds/worker/checkouts/gecko/dom/gamepad/GamepadPlatformService.cpp(154,17): note: in instantiation of member function 'std::_Tree<std::_Tmap_traits<mozilla::dom::GamepadHandle, mozilla::dom::GamepadAdded, std::less<mozilla::dom::GamepadHandle>, std::allocator<std::pair<const mozilla::dom::GamepadHandle, mozilla::dom::GamepadAdded>>, false>>::erase' requested here
[task 2024-05-15T13:04:37.184Z] 13:04:37 INFO - 154 | mGamepadAdded.erase(aHandle);
[task 2024-05-15T13:04:37.184Z] 13:04:37 INFO - | ^
[task 2024-05-15T13:04:37.184Z] 13:04:37 INFO - /builds/worker/fetches/vs/VC/Tools/MSVC/14.39.33519/include/xtree(379,17): note: candidate template ignored: substitution failure [with _Alloc = _Alnode]
[task 2024-05-15T13:04:37.184Z] 13:04:37 INFO - 379 | static void _Freenode(_Alloc& _Al, _Nodeptr _Ptr) noexcept {
[task 2024-05-15T13:04:37.184Z] 13:04:37 INFO - | ^
[task 2024-05-15T13:04:37.184Z] 13:04:37 INFO - 2 errors generated.
[task 2024-05-15T13:04:37.184Z] 13:04:37 ERROR - gmake[4]: *** [/builds/worker/checkouts/gecko/config/rules.mk:689: GamepadPlatformService.obj] Error 1
[task 2024-05-15T13:04:37.184Z] 13:04:37 INFO - gmake[4]: Leaving directory '/builds/worker/workspace/obj-build/dom/gamepad'
[task 2024-05-15T13:04:37.184Z] 13:04:37 INFO - gmake[4]: Entering directory '/builds/worker/workspace/obj-build/dom/gamepad'
[task 2024-05-15T13:04:37.184Z] 13:04:37 INFO - dom/gamepad/GamepadPose.obj
[task 2024-05-15T13:04:37.184Z] 13:04:37 INFO - gmake[4]: Leaving directory '/builds/worker/workspace/obj-build/dom/gamepad'
[task 2024-05-15T13:04:37.478Z] 13:04:37 INFO - gmake[4]: Entering directory '/builds/worker/workspace/obj-build/dom/filesystem'
[task 2024-05-15T13:04:37.481Z] 13:04:37 INFO - /builds/worker/fetches/sccache/sccache /builds/worker/fetches/clang/bin/clang-cl -fms-compatibility-version=19.39 -Xclang -std=c++17 -Xclang -ivfsoverlay -Xclang /builds/worker/fetches/vs/overlay.yaml -FoPFileSystemRequestParent.obj -c -I/builds/worker/workspace/obj-build/dist/stl_wrappers -guard:cf -DNDEBUG=1 -DTRIMMED=1 -DUNICODE -D_UNICODE -D_CRT_RAND_S -DCERT_CHAIN_PARA_HAS_EXTRA_FIELDS -D_SECURE_ATL -DCHROMIUM_BUILD -DU_STATIC_IMPLEMENTATION -DWIN32 -D_WIN32 -D_WINDOWS -DWIN32_LEAN_AND_MEAN -DWINAPI_NO_BUNDLED_LIBRARIES -DMOZ_HAS_MOZGLUE -DMOZILLA_INTERNAL_API -DIMPL_LIBXUL -DSTATIC_EXPORTABLE_JS_API -I/builds/worker/checkouts/gecko/dom/filesystem -I/builds/worker/workspace/obj-build/dom/filesystem -I/builds/worker/workspace/obj-build/ipc/ipdl/_ipdlheaders -I/builds/worker/checkouts/gecko/ipc/chromium/src -I/builds/worker/checkouts/gecko/dom/base -I/builds/worker/workspace/obj-build/dist/include -I/builds/worker/workspace/obj-build/dist/include/nspr -I/builds/worker/workspace/obj-build/dist/include/nss -MD -FI /builds/worker/workspace/obj-build/mozilla-config.h -DMOZILLA_CLIENT -fcrash-diagnostics-dir=/builds/worker/artifacts -TP -Zc:sizedDealloc- -D_HAS_EXCEPTIONS=0 -Gy -Zc:inline -Gw -D_SILENCE_TR1_NAMESPACE_DEPRECATION_WARNING -GR- -Z7 -Xclang -load -Xclang /builds/worker/workspace/obj-build/build/clang-plugin/libclang-plugin.so -Xclang -add-plugin -Xclang moz-check -O2 -Oy- -Werror -W3 -Wbitfield-enum-conversion -Wempty-body -Wformat-type-confusion -Wignored-qualifiers -Wpointer-arith -Wshadow-field-in-constructor-modified -Wsign-compare -Wtautological-constant-in-range-compare -Wtype-limits -Wno-error=tautological-type-limit-compare -Wunreachable-code -Wunreachable-code-return -Wunused-but-set-parameter -Wno-invalid-offsetof -Wclass-varargs -Wempty-init-stmt -Wfloat-overflow-conversion -Wfloat-zero-conversion -Wloop-analysis -Wno-range-loop-analysis -Wenum-compare-conditional -Wenum-float-conversion -Wvolatile -Wno-deprecated-anon-enum-enum-conversion -Wno-deprecated-enum-enum-conversion -Wno-deprecated-this-capture -Wcomma -Wimplicit-fallthrough -Wstring-conversion -Wno-inline-new-delete -Wno-error=deprecated-declarations -Wno-error=array-bounds -Wno-error=free-nonheap-object -Wno-error=atomic-alignment -Wno-error=deprecated-builtins -Wno-unknown-pragmas -Wno-ignored-pragmas -Wno-deprecated-declarations -Wno-microsoft-enum-value -Wno-microsoft-include -Wno-invalid-noreturn -Wno-inconsistent-missing-override -Wno-implicit-exception-spec-mismatch -Wno-microsoft-exception-spec -Wno-unused-local-typedef -Wno-ignored-attributes -Wno-used-but-marked-unused -Wno-psabi -Wthread-safety -Wno-error=builtin-macro-redefined -Wno-vla-cxx-extension -Wno-unknown-warning-option -fno-strict-aliasing -Xclang -ffp-contract=off -Xclang -MP -Xclang -dependency-file -Xclang .deps/PFileSystemRequestParent.obj.pp -Xclang -MT -Xclang PFileSystemRequestParent.obj /builds/worker/workspace/obj-build/ipc/ipdl/PFileSystemRequestParent.cpp
[task 2024-05-15T13:04:37.482Z] 13:04:37 INFO - gmake[4]: Leaving directory '/builds/worker/workspace/obj-build/dom/filesystem'
[task 2024-05-15T13:04:37.482Z] 13:04:37 INFO - gmake[4]: Entering directory '/builds/worker/workspace/obj-build/dom/filesystem'
[task 2024-05-15T13:04:37.482Z] 13:04:37 INFO - gmake[4]: Leaving directory '/builds/worker/workspace/obj-build/dom/filesystem'
[task 2024-05-15T13:04:37.482Z] 13:04:37 INFO - gmake[4]: Entering directory '/builds/worker/workspace/obj-build/dom/gamepad'
[task 2024-05-15T13:04:37.483Z] 13:04:37 INFO - dom/gamepad/GamepadRemapping.obj
| Assignee | ||
Updated•1 year ago
|
Comment 9•1 year ago
|
||
| bugherder | ||
https://hg.mozilla.org/mozilla-central/rev/ec2fc7cf8802
https://hg.mozilla.org/mozilla-central/rev/70cb77b906b0
https://hg.mozilla.org/mozilla-central/rev/efe99fce4d0a
https://hg.mozilla.org/mozilla-central/rev/6459cc1b5bbf
Description
•