)]}'
{
  "log": [
    {
      "commit": "50e919309c15d73b3d8ef512f793ed84e66e5369",
      "tree": "c7b6ef73c6dc03968a95015845c04d5d9ec560f0",
      "parents": [
        "39bddf9992fbb8fe4d1e08ffec234f845599fa71"
      ],
      "author": {
        "name": "Jingyuan Liang",
        "email": "jingyliang@chromium.org",
        "time": "Fri Aug 21 22:36:33 2026"
      },
      "committer": {
        "name": "chromeos-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "email": "chromeos-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Wed Aug 26 18:55:31 2026"
      },
      "message": "ImmediateInterpreter: Generate swipelift before buttons change\n\nThis applies the same fix to 3-finger and 4-finger swipes as was done\nfor scroll flings in crrev.com/c/7275729.\n\nOn haptic touchpads, pressing a physical button while a 3-finger or\n4-finger swipe is in progress causes UpdateButtons to immediately\nreturn a kGestureButtonsChange event in that sync frame.\n\nIn SyncInterpretImpl, because the local `result` variable is already\npopulated with the button change gesture, FillResultGesture is bypassed\n(`if (!result.has_value())`), causing the corresponding\nkGestureSwipeLift or kGestureFourFingerSwipeLift event to never be\nproduced. Even though the lift gesture was skipped, prev_gesture_type_\nwas still updated, so the lift event was never emitted later either.\n\nTo fix this, produce kGestureSwipeLift and kGestureFourFingerSwipeLift\nimmediately from GenerateFingerLiftGesture via ProduceGesture (matching\nhow kGestureTypeFling is handled), and remove the now-unreachable cases\nfrom FillResultGesture.\n\nBUG\u003db:515247104\nTEST\u003dreplay the evemu recording from the bug on a Lapis and check the\n     cursor moves at the end.\n     Run unit tests:\n     $ atest --host libchrome-gestures_test_host\n     $ atest --host inputflinger_tests:TouchpadInputMapperTest\n\nChange-Id: I2ecf43ece9ff6a6297fd53079e24562ef5d0f9b3\nReviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/gestures/+/8281327\nReviewed-by: Sean O\u0027Brien \u003cseobrien@chromium.org\u003e\nReviewed-by: Harry Cutts \u003chcutts@chromium.org\u003e\nTested-by: Jingyuan Liang \u003cjingyliang@chromium.org\u003e\nCode-Coverage: Sean O\u0027Brien \u003cseobrien@chromium.org\u003e\nCommit-Queue: chromeos-auto-retry@chromeos-bot.iam.gserviceaccount.com \u003cchromeos-auto-retry@chromeos-bot.iam.gserviceaccount.com\u003e\nAuto-Submit: Jingyuan Liang \u003cjingyliang@chromium.org\u003e\n"
    },
    {
      "commit": "39bddf9992fbb8fe4d1e08ffec234f845599fa71",
      "tree": "1e8c085581dfd65e26ce26b1a8d3a6b2937142b1",
      "parents": [
        "2fa2b8b73e26733d92f558e3732997549cf3abc0"
      ],
      "author": {
        "name": "kansalnitin",
        "email": "kansalnitin@google.com",
        "time": "Mon Jun 22 13:13:39 2026"
      },
      "committer": {
        "name": "chromeos-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "email": "chromeos-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Tue Jul 28 22:21:58 2026"
      },
      "message": "Enable haptic button generation by default.\n\nBecause this filter explicitly checks for `is_haptic_pad_`, it is\nsafe to enable it globally by default. It will automatically abort\non non-haptic touchpads.\nBUG\u003db:526562583\nTEST\u003dVerified haptics trigger correctly locally.\n\nChange-Id: Iec6c1c0a6490609062eba86f78d66858bfbcd3a7\nReviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/gestures/+/7973895\nTested-by: Nitin Kansal \u003ckansalnitin@google.com\u003e\nCode-Coverage: Nitin Kansal \u003ckansalnitin@google.com\u003e\nCommit-Queue: Sean O\u0027Brien \u003cseobrien@chromium.org\u003e\nReviewed-by: Akshai Murari \u003cakshaim@google.com\u003e\nReviewed-by: Harry Cutts \u003chcutts@chromium.org\u003e\nReviewed-by: Joel Becker \u003cjoelbecker@google.com\u003e\nReviewed-by: Henry Barnor \u003chbarnor@chromium.org\u003e\n"
    },
    {
      "commit": "2fa2b8b73e26733d92f558e3732997549cf3abc0",
      "tree": "ab5661f6db035db1ecb1e8be924aea789430ae60",
      "parents": [
        "6715c4f23fe4b30c6d204f776eeedfc28681e3ed"
      ],
      "author": {
        "name": "Adrian Ratiu",
        "email": "adrian.ratiu@collabora.com",
        "time": "Thu Apr 02 16:32:44 2026"
      },
      "committer": {
        "name": "chromeos-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "email": "chromeos-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Mon Apr 27 19:39:21 2026"
      },
      "message": "gestures: Makefile: replace legacy -lgcov with --coverage\n\nThis fixes a breakages introduced with GCC 15.x which expects\nthe modern --coverage which works in both clang++ / g++ instead\nof the legacy -lgcov.\n\nSince these tests build with clang++ anyway, this also migrates\nthem to use the proper libclang runtime and avoid depending on\nGCC (we should reduce any unnecessary GCC dependencies).\n\ngestures-9999: ld.lld: error: unable to find library -lgcov\ngestures-9999: clang++: error: linker command failed with exit code 1 (use -v to see invocation)\ngestures-9999: make: *** [Makefile:176: test] Error 1\n\nBUG\u003db:493144630\nTEST\u003dFEATURES\u003dtest emerge-$BOARD gestures; CQ.\n\nChange-Id: Ie324139c362a9000dc664efa530166ff210f8cba\nReviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/gestures/+/7726783\nCode-Coverage: Jordan Abrahams-Whitehead \u003cajordanr@google.com\u003e\nTested-by: Adrian Ratiu \u003cadrian.ratiu@collabora.corp-partner.google.com\u003e\nReviewed-by: Raul Rangel \u003crrangel@chromium.org\u003e\nReviewed-by: Kenneth Albanowski \u003ckenalba@google.com\u003e\nReviewed-by: George Burgess \u003cgbiv@chromium.org\u003e\nCode-Coverage: Adrian Ratiu \u003cadrian.ratiu@collabora.corp-partner.google.com\u003e\nCommit-Queue: Adrian Ratiu \u003cadrian.ratiu@collabora.corp-partner.google.com\u003e\n"
    },
    {
      "commit": "6715c4f23fe4b30c6d204f776eeedfc28681e3ed",
      "tree": "ab291b5e5213f5508c23442a2083ff6d21955ab6",
      "parents": [
        "ac89b8cc80f9ace51bf42551dffbdfd4ba0e0ae1"
      ],
      "author": {
        "name": "Di Wu",
        "email": "diwux@google.com",
        "time": "Fri Mar 27 13:21:38 2026"
      },
      "committer": {
        "name": "Chromeos LUCI",
        "email": "chromeos-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Mon Mar 30 18:47:39 2026"
      },
      "message": "gestures: remove obsolete owners\n\nBUG\u003dNone\nTEST\u003dCQ\n\nChange-Id: Ibe1b166b3d548c6e8937a6ddbe4522028bad5d9e\nReviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/gestures/+/7707315\nCode-Coverage: Di Wu \u003cdiwux@google.com\u003e\nCommit-Queue: Di Wu \u003cdiwux@google.com\u003e\nTested-by: Di Wu \u003cdiwux@google.com\u003e\nReviewed-by: Henry Barnor \u003chbarnor@chromium.org\u003e\nCode-Coverage: Nathan Muggli \u003cnmuggli@google.com\u003e\n"
    },
    {
      "commit": "ac89b8cc80f9ace51bf42551dffbdfd4ba0e0ae1",
      "tree": "0ed40a7088eeac2cc9974728d96cd2cb2c494031",
      "parents": [
        "d95434d292b650295622d341d7191faed496ced7"
      ],
      "author": {
        "name": "Harry Cutts",
        "email": "hcutts@google.com",
        "time": "Thu Feb 26 11:43:09 2026"
      },
      "committer": {
        "name": "Chromeos LUCI",
        "email": "chromeos-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Wed Mar 04 21:44:49 2026"
      },
      "message": "IntegralGestureFilterInterpreter: clean up tests\n\nThe use of incremented iter variables made these harder to read — one\nshouldn\u0027t have to count incrementations to work out which hardware state\nis being sent on which line. Also removed some unused code, explained\nthe one FingerState being used, and replaced a member variable with a\nlocal one.\n\nBUG\u003db:245989146\nTEST\u003d$ atest --host libchrome-gestures_test_host\n\nChange-Id: I2edff43bd1a305dca79e488649c8b5d4b0edea9f\nReviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/gestures/+/7612088\nTested-by: Harry Cutts \u003chcutts@chromium.org\u003e\nReviewed-by: Kenneth Albanowski \u003ckenalba@google.com\u003e\nCode-Coverage: Kenneth Albanowski \u003ckenalba@google.com\u003e\nCommit-Queue: Harry Cutts \u003chcutts@chromium.org\u003e\n"
    },
    {
      "commit": "d95434d292b650295622d341d7191faed496ced7",
      "tree": "9a9e2b18ba02451d5ad9d158cc4f45dbbc55cc2c",
      "parents": [
        "a9095a57348654174299f60c876e26d25774f885"
      ],
      "author": {
        "name": "Harry Cutts",
        "email": "hcutts@google.com",
        "time": "Wed Feb 11 16:51:55 2026"
      },
      "committer": {
        "name": "Chromeos LUCI",
        "email": "chromeos-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Tue Mar 03 19:57:20 2026"
      },
      "message": "IntegralGestureFilterInterpreter: remove HandleGesture declaration\n\nThe definition of this method was removed way back in 2013 [0], but I\nguess Dennis forgot to delete the declaration.\n\n[0]: change Iee1d5fe42138adda055a0e128693932f403433cc\n\nBUG\u003db:245989146\nTEST\u003d$ atest --host libchrome-gestures_test_host\n\nChange-Id: I95a3ce28af4083cdf616d771d69a7a28805e3a54\nReviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/gestures/+/7566586\nTested-by: Harry Cutts \u003chcutts@chromium.org\u003e\nReviewed-by: Prajna Vohra \u003cprajnavohra@google.com\u003e\nCode-Coverage: Sean O\u0027Brien \u003cseobrien@chromium.org\u003e\nCommit-Queue: Harry Cutts \u003chcutts@chromium.org\u003e\nReviewed-by: Sean O\u0027Brien \u003cseobrien@chromium.org\u003e\nCommit-Queue: Sean O\u0027Brien \u003cseobrien@chromium.org\u003e\n"
    },
    {
      "commit": "a9095a57348654174299f60c876e26d25774f885",
      "tree": "6b616f4a3f372ccd5e2c2578a3e17246a26fa9e5",
      "parents": [
        "827e62907b9b732444b67f26bf4759610effb90a"
      ],
      "author": {
        "name": "Harry Cutts",
        "email": "hcutts@google.com",
        "time": "Tue Feb 10 16:27:42 2026"
      },
      "committer": {
        "name": "Chromeos LUCI",
        "email": "chromeos-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Fri Feb 27 14:15:46 2026"
      },
      "message": "Create FilterInterpreterWithTimer for handling timer calls\n\nFlingStopFilterInterpreter, HapticButtonGeneratorFilterInterpreter, and\nIntegralGestureFilterInterpreter all handle timers in the same way: they\nall need a \"local\" timer callback for their own logic, but also need to\npass on timer callbacks for the next interpreter in the stack.\nPreviously, they each had their own copies of this logic, even though\nthey were basically identical, and the logic wasn\u0027t tested as a whole\n(except incidentally by tests looking for other stuff).\n\nCreate a new FilterInterpreterWithTimer class which all three can\nextend, and move the timer logic into it. This dramatically simplifies\neach of the three subclasses, which now simply set local_timer_deadline_\nto the time at which they need to be called back, and then override\nHandleLocalTimer to receive the callback, without having to worry about\njuggling the deadline of the next interpreter.\n\nThis also allows us to write proper unit tests to check this\nfunctionality as a whole, rather than just checking the return values of\na few utility methods.\n\nBUG\u003db:483321024,b:483617477\nTEST\u003dchange the first sleep in the CTS test below to 1ms (from 5ms),\n     then run it 10 times:\n     $ atest --rerun-until-failure\u003d10 \\\n             \u0027CtsInputTestCases:android.input.cts.TouchpadRelativeCaptureModeTest#testClickAndDrag\u0027\n     And run unit tests:\n     $ atest --host libchrome-gestures_test_host\n\nChange-Id: Iee731ac5cbb32ae287526a6fedbf5bf16a65f15e\nReviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/gestures/+/7566945\nCode-Coverage: Akshai Murari \u003cakshaim@google.com\u003e\nCommit-Queue: Harry Cutts \u003chcutts@chromium.org\u003e\nAuto-Submit: Harry Cutts \u003chcutts@chromium.org\u003e\nTested-by: Harry Cutts \u003chcutts@chromium.org\u003e\nReviewed-by: Jingyuan Liang \u003cjingyliang@chromium.org\u003e\nReviewed-by: Jonathan Denose \u003cjdenose@google.com\u003e\n"
    },
    {
      "commit": "827e62907b9b732444b67f26bf4759610effb90a",
      "tree": "c7fbb6b94040bf170e732afdb028f610cd5c11c0",
      "parents": [
        "8dcd323ae9e36573bbde841151faeb0de4312f4a"
      ],
      "author": {
        "name": "Harry Cutts",
        "email": "hcutts@google.com",
        "time": "Thu Feb 05 17:53:29 2026"
      },
      "committer": {
        "name": "Chromeos LUCI",
        "email": "chromeos-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Wed Feb 11 11:58:51 2026"
      },
      "message": "In filter interpreters, call next timer if deadline has passed\n\nIn the timer handling logic for three filter interpreters, the timeout\ncall for the next interpreter wouldn\u0027t be passed on if it triggered\nafter *both* the local deadline (for the current filter interpreter) and\nthe deadline for the next interpreter. In that case, just the local\ntimer was being triggered. On slower systems, where the timeout is more\nlikely to be delayed, this was causing button down events to be dropped\nwhen sent from a CTS test.\n\nThis fix works, but the code for handling timers in this way needs to be\nat least deduplicated and have tests written for it. Ideally the whole\nthing should be refactored to avoid this convoluted system of passing\ntimer callbacks through the interpreter stack. b/483321024 has been\nfiled to track this, but I\u0027m uploading the simple fix first to unblock\nreleases where this test is failing.\n\nBUG\u003db:475664634\nTEST\u003dchange the first sleep in the CTS test below to 1ms (from 5ms),\n     then run it 10 times:\n     $ atest --rerun-until-failure\u003d10 \\\n             \u0027CtsInputTestCases:android.input.cts.TouchpadRelativeCaptureModeTest#testClickAndDrag\u0027\n     And run unit tests:\n     $ atest --host libchrome-gestures_test_host\n\nChange-Id: Ic89380c07cfa2e3a351047c8ca1ca9807889c96c\nReviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/gestures/+/7560511\nCommit-Queue: Harry Cutts \u003chcutts@chromium.org\u003e\nReviewed-by: Sean O\u0027Brien \u003cseobrien@chromium.org\u003e\nTested-by: Harry Cutts \u003chcutts@chromium.org\u003e\nCode-Coverage: Sean O\u0027Brien \u003cseobrien@chromium.org\u003e\n"
    },
    {
      "commit": "8dcd323ae9e36573bbde841151faeb0de4312f4a",
      "tree": "f3552f54506ccc68ad1b4238dd447b97fefa8001",
      "parents": [
        "e5765a0a2e51d5d309be64c636b4410e296ccdfc"
      ],
      "author": {
        "name": "Harry Cutts",
        "email": "hcutts@google.com",
        "time": "Fri Jan 16 17:09:50 2026"
      },
      "committer": {
        "name": "Chromeos LUCI",
        "email": "chromeos-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Sun Jan 25 10:42:09 2026"
      },
      "message": "ImmediateInterpreter: split NoLiftoffScrollTest\n\nThis makes the test code simpler and easier to understand by avoiding\nthe need to reset the interpreter mid-way through.\n\nBUG\u003db:245989146\nTEST\u003d$ atest --host libchrome-gestures_test_host\n\nChange-Id: I9391bafca5206408ac1d04bf7dbce918ad3a8b0a\nReviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/gestures/+/7486901\nAuto-Submit: Harry Cutts \u003chcutts@chromium.org\u003e\nCommit-Queue: Henry Barnor \u003chbarnor@chromium.org\u003e\nTested-by: Harry Cutts \u003chcutts@chromium.org\u003e\nReviewed-by: Henry Barnor \u003chbarnor@chromium.org\u003e\nCode-Coverage: Henry Barnor \u003chbarnor@chromium.org\u003e\n"
    },
    {
      "commit": "e5765a0a2e51d5d309be64c636b4410e296ccdfc",
      "tree": "28fe8c78f74b1a6a35a734beac4dc59a9fe9dff1",
      "parents": [
        "0b35ec99aeb21151f2773ac4df30784437cb2ad1"
      ],
      "author": {
        "name": "Harry Cutts",
        "email": "hcutts@google.com",
        "time": "Fri Dec 19 18:51:42 2025"
      },
      "committer": {
        "name": "Chromeos LUCI",
        "email": "chromeos-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Fri Jan 23 14:31:26 2026"
      },
      "message": "ImmediateInterpreter: replace result_ with local variables\n\nEven though result_ is a member variable of ImmediateInterpreter, it\u0027s\nnever actually used to hold state between calls to SyncInterpretImpl or\nHandleTimerImpl. Replacing it with a local variable within those\nmethods, then having the methods they call return\nstd::optional\u003cGesture\u003es instead of writing to result_, makes the flow of\ndata clearer and also allows us to log a warning when one gesture is\noverwritten by another (as happened in b/433623598).\n\nTEST\u003d$ atest --host libchrome-gestures_test_host\nBUG\u003db:245989146\n\nChange-Id: I731506785dbbffbb206ca95e630a08d6df2fa70f\nReviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/gestures/+/7390219\nTested-by: Harry Cutts \u003chcutts@chromium.org\u003e\nReviewed-by: Jingyuan Liang \u003cjingyliang@chromium.org\u003e\nCode-Coverage: Torsha Banerjee \u003ctorsha@google.com\u003e\nCommit-Queue: Harry Cutts \u003chcutts@chromium.org\u003e\n"
    },
    {
      "commit": "0b35ec99aeb21151f2773ac4df30784437cb2ad1",
      "tree": "d59bbb8a4baaee76808466345ec1eb73714ff439",
      "parents": [
        "83d3915d148fe61efcf8b83413a5e75ff0941ecd"
      ],
      "author": {
        "name": "Harry Cutts",
        "email": "hcutts@google.com",
        "time": "Wed Jan 07 18:21:11 2026"
      },
      "committer": {
        "name": "Chromeos LUCI",
        "email": "chromeos-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Thu Jan 22 11:36:05 2026"
      },
      "message": "logging: remove Assert macro\n\nChange Ibb02e173b8f60199d428ff9e235f5ce85c51261f removed the last use of\nthis macro. It\u0027s probably not a good thing to keep around, as it\u0027s\nmisleading — normally a method called \"assert\" causes a crash or\nsomething similar if it fails, whereas this macro just logged an error\nline and then let everything continue as usual.\n\nBUG\u003db:245989146\nTEST\u003d$ atest --host libchrome-gestures_test_host\n\nChange-Id: Iec992bea1d8858bb3494c861a62e0d815c5332cc\nReviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/gestures/+/7380029\nReviewed-by: Jingyuan Liang \u003cjingyliang@chromium.org\u003e\nCommit-Queue: Harry Cutts \u003chcutts@chromium.org\u003e\nAuto-Submit: Harry Cutts \u003chcutts@chromium.org\u003e\nCode-Coverage: Akshai Murari \u003cakshaim@google.com\u003e\nTested-by: Harry Cutts \u003chcutts@chromium.org\u003e\n"
    },
    {
      "commit": "83d3915d148fe61efcf8b83413a5e75ff0941ecd",
      "tree": "55a6c5b15a33fc6db3b85c4968424948f4221b21",
      "parents": [
        "f7ec8d9c9daa8befa100b374f97cc40d7cea649c"
      ],
      "author": {
        "name": "Harry Cutts",
        "email": "hcutts@google.com",
        "time": "Wed Jan 14 14:37:36 2026"
      },
      "committer": {
        "name": "Chromeos LUCI",
        "email": "chromeos-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Tue Jan 20 12:33:54 2026"
      },
      "message": "ImmediateInterpreter: split AvoidAccidentalPinchTest\n\nThis makes the test code simpler and easier to understand by avoiding\nthe need to reset the interpreter mid-way through.\n\nBUG\u003db:245989146\nTEST\u003d$ atest --host libchrome-gestures_test_host\n\nChange-Id: Iee0757239b273c5fbde1bbb7b290009688ce4187\nReviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/gestures/+/7461035\nCode-Coverage: Henry Barnor \u003chbarnor@chromium.org\u003e\nCommit-Queue: Harry Cutts \u003chcutts@chromium.org\u003e\nReviewed-by: Henry Barnor \u003chbarnor@chromium.org\u003e\nAuto-Submit: Harry Cutts \u003chcutts@chromium.org\u003e\nTested-by: Harry Cutts \u003chcutts@chromium.org\u003e\n"
    },
    {
      "commit": "f7ec8d9c9daa8befa100b374f97cc40d7cea649c",
      "tree": "fafeb8fe75079ce498da09d16cd16f7443f07a3d",
      "parents": [
        "b630b832be80d471a1e2d78a07dbdc225fb44869"
      ],
      "author": {
        "name": "Harry Cutts",
        "email": "hcutts@google.com",
        "time": "Tue Jan 13 10:53:05 2026"
      },
      "committer": {
        "name": "Chromeos LUCI",
        "email": "chromeos-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Tue Jan 20 12:33:51 2026"
      },
      "message": "ImmediateInterpreter: split OneFatFingerScrollTest\n\nThis makes the test code simpler and easier to understand by avoiding\nthe need to reset the interpreter mid-way through.\n\nBUG\u003db:245989146\nTEST\u003d$ atest --host libchrome-gestures_test_host\n\nChange-Id: I3c0985eeaca4809158243152f1867e63a5317c10\nReviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/gestures/+/7461034\nAuto-Submit: Harry Cutts \u003chcutts@chromium.org\u003e\nCommit-Queue: Harry Cutts \u003chcutts@chromium.org\u003e\nReviewed-by: Kenneth Albanowski \u003ckenalba@google.com\u003e\nCode-Coverage: Kenneth Albanowski \u003ckenalba@google.com\u003e\nTested-by: Harry Cutts \u003chcutts@chromium.org\u003e\n"
    },
    {
      "commit": "b630b832be80d471a1e2d78a07dbdc225fb44869",
      "tree": "2f0a5f9ff8ec7a32eb90d35396accc47cb14487a",
      "parents": [
        "02a7079714268d7316ea3d01181c3876a9625f4d"
      ],
      "author": {
        "name": "Roman Didukh",
        "email": "rdidukh@google.com",
        "time": "Tue Jan 13 14:53:51 2026"
      },
      "committer": {
        "name": "Chromeos LUCI",
        "email": "chromeos-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Thu Jan 15 11:01:06 2026"
      },
      "message": "Don\u0027t start pinch gesture when button is down\n\nOtherwise in cases when pinch gets restarted before the Button\nEvaluation Timeout expires it gets abruptly interrupted by a move\ngesture without properly ending the pinch with the `GESTURES_ZOOM_END`\nevent.\n\nThis means that the new logic is never going to produce a pinch gesture\nif a button is down, with the justification being the fact that a pinch\nwith a button down is not a common or a useful gesture and the\nsimplicity and intuitiveness of the fix.\n\nBUG\u003db:461764968\nTEST\u003datest libchrome-gestures_test_host:ImmediateInterpreterTest\n\nChange-Id: Ia667265a27d1c8720e2d48d174c1186a86c80861\nReviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/gestures/+/7415383\nTested-by: Roman Didukh \u003crdidukh@google.com\u003e\nCommit-Queue: Roman Didukh \u003crdidukh@google.com\u003e\nReviewed-by: Harry Cutts \u003chcutts@chromium.org\u003e\nReviewed-by: Siarhei Vishniakou \u003csvv@google.com\u003e\nCode-Coverage: Siarhei Vishniakou \u003csvv@google.com\u003e\n"
    },
    {
      "commit": "02a7079714268d7316ea3d01181c3876a9625f4d",
      "tree": "6b1094bc1878d57ce5f4dcbcd262cc8000413246",
      "parents": [
        "e2ba64b2874bd06fbc1738a14c0f9dabe8bb056a"
      ],
      "author": {
        "name": "Harry Cutts",
        "email": "hcutts@google.com",
        "time": "Thu Dec 18 16:28:00 2025"
      },
      "committer": {
        "name": "Chromeos LUCI",
        "email": "chromeos-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Tue Jan 13 13:13:16 2026"
      },
      "message": "ScrollManager: Return std::optional\u003cGesture\u003e from FillResultFling\n\nThis is clearer than using an output parameter which the method may or\nmay not touch. It also allows us to mark the method with [[nodiscard]],\nwhich helps ensure that any Gesture returned is actually used in some\nway. This is useful because the method has changed some state on the\nassumption that the fling it returns is used.\n\nBUG\u003db:245989146\nTEST\u003drun unit tests: $ atest --host libchrome-gestures_test_host\n\nChange-Id: Id512faef67166834075864dc81b9616d71b727df\nReviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/gestures/+/7274002\nCode-Coverage: Henry Barnor \u003chbarnor@chromium.org\u003e\nReviewed-by: Sean O\u0027Brien \u003cseobrien@chromium.org\u003e\nCommit-Queue: Harry Cutts \u003chcutts@chromium.org\u003e\nTested-by: Harry Cutts \u003chcutts@chromium.org\u003e\n"
    },
    {
      "commit": "e2ba64b2874bd06fbc1738a14c0f9dabe8bb056a",
      "tree": "f669cc3c4c97f87e5b724b393111449ec0f06dc0",
      "parents": [
        "7ba5927f31110ec254c18cb8b124c8ba93488799"
      ],
      "author": {
        "name": "Harry Cutts",
        "email": "hcutts@google.com",
        "time": "Thu Dec 18 19:41:53 2025"
      },
      "committer": {
        "name": "Chromeos LUCI",
        "email": "chromeos-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Fri Jan 09 22:11:00 2026"
      },
      "message": "ImmediateInterpreter: split and name FingerState arrays in tests\n\nThis makes it a bit clearer what\u0027s going on and reduces the need to\ncount indexes.\n\nBUG\u003db:245989146\nTEST\u003drun unit tests:\n    $ atest --host -c src/immediate_interpreter_unittest.cc\n\nChange-Id: Id8f3048522e135fa43efeefd0e8c8ef05aa03cfd\nReviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/gestures/+/7277466\nReviewed-by: Sean O\u0027Brien \u003cseobrien@chromium.org\u003e\nTested-by: Harry Cutts \u003chcutts@chromium.org\u003e\nCommit-Queue: Sean O\u0027Brien \u003cseobrien@chromium.org\u003e\nCode-Coverage: Sean O\u0027Brien \u003cseobrien@chromium.org\u003e\nAuto-Submit: Harry Cutts \u003chcutts@chromium.org\u003e\n"
    },
    {
      "commit": "7ba5927f31110ec254c18cb8b124c8ba93488799",
      "tree": "4704360ffaa05c277ca9bda6dfd543ccea8b2530",
      "parents": [
        "537122edbea7ce80f6de835f8cd4fb9c9668301b"
      ],
      "author": {
        "name": "Harry Cutts",
        "email": "hcutts@google.com",
        "time": "Thu Dec 18 19:11:42 2025"
      },
      "committer": {
        "name": "Chromeos LUCI",
        "email": "chromeos-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Fri Jan 09 22:10:58 2026"
      },
      "message": "ImmediateInterpreter: split up DiagonalSnapTest\n\nThis was really testing four different behaviours, and even creating a\nnew interpreter between each one, all in a for loop with if statements.\nIt\u0027s shorter and easier to understand if split up with a fixture and a\nsimple utility method.\n\nBUG\u003db:245989146\nTEST\u003drun unit tests:\n    $ atest --host -c src/immediate_interpreter_unittest.cc\n\nChange-Id: Ia08ae30aea6ce0044cbd2f3acac135dbd19f03a6\nReviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/gestures/+/7277465\nCommit-Queue: Harry Cutts \u003chcutts@chromium.org\u003e\nTested-by: Harry Cutts \u003chcutts@chromium.org\u003e\nCode-Coverage: Henry Barnor \u003chbarnor@chromium.org\u003e\nReviewed-by: Henry Barnor \u003chbarnor@chromium.org\u003e\n"
    },
    {
      "commit": "537122edbea7ce80f6de835f8cd4fb9c9668301b",
      "tree": "6b1a08b666daabb93bc20f745c45a91af61936d2",
      "parents": [
        "1bb0f3de1ceee7bb6ad0faf536238c96a239ea86"
      ],
      "author": {
        "name": "Harry Cutts",
        "email": "hcutts@google.com",
        "time": "Thu Dec 18 16:55:41 2025"
      },
      "committer": {
        "name": "Chromeos LUCI",
        "email": "chromeos-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Fri Jan 09 22:10:55 2026"
      },
      "message": "ImmediateInterpreter: remove menial arithmetic from tests\n\nTests should be trivial to understand on a quick read-through. Having to\ncount the number of `idx++`s to work out which `HardwareState` is being\npassed to which `SyncInterpret` call, for example, is not conducive to\nthat.\n\nBUG\u003db:245989146\nTEST\u003drun unit tests: $ atest --host libchrome-gestures_test_host\n\nChange-Id: I8ab0dd89bfd5c7db928b75cb4e34bea972778d7e\nReviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/gestures/+/7277464\nReviewed-by: Kenneth Albanowski \u003ckenalba@google.com\u003e\nCode-Coverage: Kenneth Albanowski \u003ckenalba@google.com\u003e\nCommit-Queue: Harry Cutts \u003chcutts@chromium.org\u003e\nTested-by: Harry Cutts \u003chcutts@chromium.org\u003e\n"
    },
    {
      "commit": "1bb0f3de1ceee7bb6ad0faf536238c96a239ea86",
      "tree": "829284cedc0e359ccbe142fec5fc1b57bfef8a4b",
      "parents": [
        "9d93bac98fa52f953b43c48f94ae1add9b9b9fd1"
      ],
      "author": {
        "name": "Harry Cutts",
        "email": "hcutts@google.com",
        "time": "Thu Dec 18 11:16:39 2025"
      },
      "committer": {
        "name": "Chromeos LUCI",
        "email": "chromeos-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Fri Jan 09 19:18:45 2026"
      },
      "message": "ImmediateInterpreter: Fix missing fling before buttons change\n\nA scroll gesture can continue for a time after a button is pressed but\nbefore the button down timeout passes. In this case,\nGenerateFingerLiftGesture was detecting the need to produce a fling\ngesture and setting current_gesture_type_ accordingly, but because\nUpdateButtons had already set result_ to a non-null gesture, this was\nignored, resulting in the fling never being produced. (Even though\ncurrent_gesture_type_ was ignored in favour of result_,\nprev_gesture_type_ was still updated to fling further down in\nSyncInterpretImpl, so the fling was never produced later, either.)\n\nTo fix this, produce the fling immediately from\nGenerateFingerLiftGesture.\n\nI had thought that a similar issue must affect 3- and 4-finger swipes,\nbut I\u0027ve been unable to reproduce it using the second unit test added\nhere. If we do encounter it, we can apply a similar treatment.\n\nBUG\u003db:433623598\nTEST\u003dreplay the evemu recording from the bug on an Android device with\n     event verification enabled and check it doesn\u0027t crash; run tests:\n     $ atest --host libchrome-gestures_test_host\n     $ atest --host inputflinger_tests:TouchpadInputMapperTest\n\nChange-Id: I4a5b8fb1d93f6bad80c89f8efa2e0d2a308da6b3\nReviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/gestures/+/7275729\nAuto-Submit: Harry Cutts \u003chcutts@chromium.org\u003e\nCommit-Queue: Harry Cutts \u003chcutts@chromium.org\u003e\nReviewed-by: Kenneth Albanowski \u003ckenalba@google.com\u003e\nCode-Coverage: Kenneth Albanowski \u003ckenalba@google.com\u003e\nTested-by: Harry Cutts \u003chcutts@chromium.org\u003e\n"
    },
    {
      "commit": "9d93bac98fa52f953b43c48f94ae1add9b9b9fd1",
      "tree": "6dda252b4a462947d67c3111a7e8c8e9736121cf",
      "parents": [
        "f00167d0fb518ef7663396a984f98ebdc0e33200"
      ],
      "author": {
        "name": "George Burgess IV",
        "email": "gbiv@google.com",
        "time": "Wed Dec 17 15:12:20 2025"
      },
      "committer": {
        "name": "Chromeos LUCI",
        "email": "chromeos-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Thu Dec 18 23:46:19 2025"
      },
      "message": "Makefile: prepopulate LINK_FLAGS with LDFLAGS\n\nThis package\u0027s tests are breaking on sanitizer builders, since ldflags\nadded by cros-sanitizers aren\u0027t making their way into linker commands\nhere. Adding global LDFLAGS to LINK_FLAGS fixes this.\n\nBUG\u003db:467136157\nTEST\u003d`FEATURES\u003dtest emerge-amd64-generic chromeos-base/gestures`\nTEST\u003d  (on an amd64-generic board configured for ubsan)\n\nChange-Id: I15024c9b27356c69ddc8a1caf49727690d4b0d5c\nReviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/gestures/+/7268686\nTested-by: George Burgess \u003cgbiv@chromium.org\u003e\nReviewed-by: Henry Barnor \u003chbarnor@chromium.org\u003e\nCode-Coverage: Henry Barnor \u003chbarnor@chromium.org\u003e\nCommit-Queue: George Burgess \u003cgbiv@chromium.org\u003e\n"
    },
    {
      "commit": "f00167d0fb518ef7663396a984f98ebdc0e33200",
      "tree": "b487c3ace6aa7cc7c6ba80cfda32e86ac9317505",
      "parents": [
        "6d70d6d0bbf6e779545309900034c59ef014fe9e"
      ],
      "author": {
        "name": "Harry Cutts",
        "email": "hcutts@google.com",
        "time": "Wed Dec 17 12:29:54 2025"
      },
      "committer": {
        "name": "Chromeos LUCI",
        "email": "chromeos-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Wed Dec 17 22:38:27 2025"
      },
      "message": "Unit tests: allow checking multiple gestures from one SyncInterpret\n\nTo test my fix for b/433623598, I\u0027ll need to be able to assert that a\nsingle call to SyncInterpret produces multiple gestures. To do this,\nintroduce a new TestInterpreterWrapper::SyncInterpretMulti method that\ncan return multiple gestures, and modify ::SyncInterpret to use the same\nmechanism but expect only one gesture to be produced.\n\nThis additional expectation exposes problems with MouseInterpreterTest.\nPreviously, #SimpleTest was only getting the second wheel gesture\nproduced, which was the horizontal one. This means that `EXPECT_GT(1,\ngs-\u003edetails.wheel.dy)` was passing because dy on the horizontal wheel\ngesture was 0. `EXPECT_LT(-1, gs-\u003edetails.wheel.dx)` was passing because\n-1 \u003c 41.5 (the value being produced for the horizontal scroll), but I\nsuspect there was also a sign mistake here.\n\nMouseInterpreterTest#EmulateScrollWheelTest\u0027s [0] assertions on its last\nSyncInterpret call were passing because it was only getting the last of\nfour gestures produced, which happened to be the one with the button\nchanges it was expecting. It was ignoring two mouse wheel gestures\nresulting from the wheel fields being set in the last HardwareState,\nwhich I assume was a mistake and have corrected. However, it was also\nignoring an additional button change gesture reporting the middle button\ngoing down and then up at the same time. This appears to be an actual\nbug in the implementation, which I cannot fix as I do not have a\nChromeOS build set up. In addition, the test is enforcing that mouse\nwheel emulation produces an inconsistent stream of gestures —\nspecifically, only the left button being reported as going down, but\nboth left and right then being reported as lifted. For these reasons,\ndisable that test and add a TODO to fix the implementation.\n\n[0]: Added in I62d993a998997e78f45a3745160a3fffc94df707, crrev.com/c/4873791\n\nBUG\u003db:433623598,b:469726780\nTEST\u003d$ atest --host libchrome-gestures_test_host\n\nChange-Id: Ibb02e173b8f60199d428ff9e235f5ce85c51261f\nReviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/gestures/+/7269128\nCode-Coverage: Henry Barnor \u003chbarnor@chromium.org\u003e\nCommit-Queue: Henry Barnor \u003chbarnor@chromium.org\u003e\nReviewed-by: Sean O\u0027Brien \u003cseobrien@chromium.org\u003e\nTested-by: Harry Cutts \u003chcutts@chromium.org\u003e\n"
    },
    {
      "commit": "6d70d6d0bbf6e779545309900034c59ef014fe9e",
      "tree": "a1a694552e692a86a7f5916a4adaab74dfadf555",
      "parents": [
        "e2195e43b26e679c2e594a4fb93d20d2f9230f83"
      ],
      "author": {
        "name": "Harry Cutts",
        "email": "hcutts@google.com",
        "time": "Wed Dec 17 12:05:02 2025"
      },
      "committer": {
        "name": "Chromeos LUCI",
        "email": "chromeos-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Wed Dec 17 22:38:24 2025"
      },
      "message": "Unit tests: fix HardwareState::fingers length not matching finger_cnt\n\nIn a couple of tests, HardwareStates are created with fewer FingerStates\nthan indicated by finger_cnt. I discovered these because, for debugging,\nI had added a log line to Interpreter::LogHardwareStatePre that called\nHardwareState::String:\n\n    Log(\"HardwareStatePre: %s: %s\", std::string(name).c_str(),\n        hwstate.String().c_str());\n\nThis caused Address Sanitizer errors when running the tests.\n\nBUG\u003db:245989146\nTEST\u003dadd log line as described above, then run the unit tests:\n    $ atest --host libchrome-gestures_test_host\n\nChange-Id: Ie96ff56f0196be9a67e0a8e050166401bf1a35cb\nReviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/gestures/+/7269604\nTested-by: Harry Cutts \u003chcutts@chromium.org\u003e\nReviewed-by: Sean O\u0027Brien \u003cseobrien@chromium.org\u003e\nCode-Coverage: Henry Barnor \u003chbarnor@chromium.org\u003e\nCommit-Queue: Henry Barnor \u003chbarnor@chromium.org\u003e\n"
    },
    {
      "commit": "e2195e43b26e679c2e594a4fb93d20d2f9230f83",
      "tree": "30729a69bb2463b0befb2dccdc4437871b3e76df",
      "parents": [
        "1de54f1edb99e4086b2e270cea8aad08fe3c2c70"
      ],
      "author": {
        "name": "Harry Cutts",
        "email": "hcutts@google.com",
        "time": "Tue Dec 16 19:46:15 2025"
      },
      "committer": {
        "name": "Chromeos LUCI",
        "email": "chromeos-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Wed Dec 17 16:28:56 2025"
      },
      "message": "Unit tests: Use constants for FingerState::flags values\n\nThis should make the tests more readable.\n\nBUG\u003db:245989146\nTEST\u003drun changed unit tests\n\nChange-Id: I76a08d1bc371f05c7bc48d3efba17093a22cd37c\nReviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/gestures/+/7265452\nCode-Coverage: Sean O\u0027Brien \u003cseobrien@chromium.org\u003e\nTested-by: Harry Cutts \u003chcutts@chromium.org\u003e\nAuto-Submit: Harry Cutts \u003chcutts@chromium.org\u003e\nCommit-Queue: Sean O\u0027Brien \u003cseobrien@chromium.org\u003e\nReviewed-by: Sean O\u0027Brien \u003cseobrien@chromium.org\u003e\n"
    },
    {
      "commit": "1de54f1edb99e4086b2e270cea8aad08fe3c2c70",
      "tree": "1428e82d0dc05f557074152a8641cbbf3605ad46",
      "parents": [
        "c4322513a1742cc85554406a9483e1d5ac7f4627"
      ],
      "author": {
        "name": "Harry Cutts",
        "email": "hcutts@google.com",
        "time": "Wed Nov 05 12:01:19 2025"
      },
      "committer": {
        "name": "Chromeos LUCI",
        "email": "chromeos-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Tue Nov 11 11:18:24 2025"
      },
      "message": "ImmediateInterpreter: remove no-op if statement\n\nThis has been there since the original CL that added support for\nfour-finger swipes [0] in 2016. I\u0027m pretty sure it\u0027s a no-op, since\ncurrent_gesture_type_ is a primitive type (therefore without\nconstructors, destructors, or overloaded assignment operators, etc.).\n\n[0]: change I6f157347518defbc80589c25f8320add0b3907f3\n\nBUG\u003db:245989146\nTEST\u003d$ atest --host libchrome-gestures_test_host\n\nChange-Id: Ie0fe85f1c696d960c934fab5f5819115f45865b8\nReviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/gestures/+/7124079\nTested-by: Harry Cutts \u003chcutts@chromium.org\u003e\nReviewed-by: Aseda Aboagye \u003caaboagye@chromium.org\u003e\nCommit-Queue: Harry Cutts \u003chcutts@chromium.org\u003e\nReviewed-by: Henry Barnor \u003chbarnor@chromium.org\u003e\nCode-Coverage: Henry Barnor \u003chbarnor@chromium.org\u003e\n"
    },
    {
      "commit": "c4322513a1742cc85554406a9483e1d5ac7f4627",
      "tree": "3d52ed765a50d31161432479ce479eddafd5c7c2",
      "parents": [
        "6354a505613b161d906c046d559b85cc2ca73f13"
      ],
      "author": {
        "name": "Harry Cutts",
        "email": "hcutts@google.com",
        "time": "Tue Nov 04 19:40:58 2025"
      },
      "committer": {
        "name": "Chromeos LUCI",
        "email": "chromeos-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Wed Nov 05 17:14:50 2025"
      },
      "message": "TraceMarker: do not make assertions about fd number\n\nThis check seems to be testing that an error occurred in opening the\nfile when the test ran, which is an odd thing to assert. It is causing\nflakes when run in the Android test infra, and doesn\u0027t seem to provide\nany meaningful benefit, so let\u0027s remove it.\n\n(This is a speculative fix, as I have been unable to reproduce the flake\nlocally.)\n\nBUG\u003db:456347376\nTEST\u003d$ atest --rerun-until-failure\u003d100 \\\n           libchrome-gestures_test:TraceMarkerTest\n\nChange-Id: I6c3c736ef244a804270c66317852865f23dc1250\nReviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/gestures/+/7120918\nTested-by: Harry Cutts \u003chcutts@chromium.org\u003e\nReviewed-by: Sean O\u0027Brien \u003cseobrien@chromium.org\u003e\nCode-Coverage: Sean O\u0027Brien \u003cseobrien@chromium.org\u003e\nCommit-Queue: Harry Cutts \u003chcutts@chromium.org\u003e\nReviewed-by: Kenneth Albanowski \u003ckenalba@google.com\u003e\n"
    },
    {
      "commit": "6354a505613b161d906c046d559b85cc2ca73f13",
      "tree": "1c4f294d9bb12a338f54f3503d847c2cc1f84a5d",
      "parents": [
        "0bec5bebc7b7cbac6d98ce33a630d3e47eb58c3f"
      ],
      "author": {
        "name": "Harry Cutts",
        "email": "hcutts@google.com",
        "time": "Wed Oct 15 15:46:01 2025"
      },
      "committer": {
        "name": "Chromeos LUCI",
        "email": "chromeos-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Tue Oct 21 19:14:17 2025"
      },
      "message": "ImmediateInterpreter: don\u0027t send lifts when 3/4f swipes are disabled\n\nPreviously, even if the \"Three Finger Swipe Enable\" gesture property was\nfalse, ending a three- or four-finger swipe would still result in a lift\ngesture, even though no swipe gesture had been reported previously. This\nresulted in an inconsistent stream of gesture structs.\n\nBUG\u003db:452326890\nTEST\u003dWith the \"Three Finger Swipe Enable\" property set to false, monitor\n     the gesture structs output. Make three- and four- finger swipes,\n     and check no swipe or lift gestures are reported. Check that flings\n     are still reported when changing from a two- to a three-finger\n     swipe.\n\nChange-Id: I170dac068557b169271e4c7868956c712b3a2849\nReviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/gestures/+/7046317\nCode-Coverage: Kenneth Albanowski \u003ckenalba@google.com\u003e\nTested-by: Harry Cutts \u003chcutts@chromium.org\u003e\nReviewed-by: Sean O\u0027Brien \u003cseobrien@chromium.org\u003e\nCommit-Queue: Harry Cutts \u003chcutts@chromium.org\u003e\n"
    },
    {
      "commit": "0bec5bebc7b7cbac6d98ce33a630d3e47eb58c3f",
      "tree": "9123245babf31a81d2461bfa0a234f47aeb395be",
      "parents": [
        "be5e6fd660c8723eb042ce0af247e990622b57f8"
      ],
      "author": {
        "name": "Harry Cutts",
        "email": "hcutts@google.com",
        "time": "Wed Sep 17 14:11:24 2025"
      },
      "committer": {
        "name": "Chromeos LUCI",
        "email": "chromeos-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Wed Sep 17 19:59:04 2025"
      },
      "message": "AccelFilterInterpreter: replace snake case method names\n\nWe use camel case for methods everywhere else.\n\nBUG\u003db:245989146\nTEST\u003d$ atest --host libchrome-gestures_test_host\n\nChange-Id: Ieda48ebeaa4050f6f26425fdec4435059eabe393\nReviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/gestures/+/6960189\nTested-by: Harry Cutts \u003chcutts@chromium.org\u003e\nReviewed-by: Sean O\u0027Brien \u003cseobrien@chromium.org\u003e\nCode-Coverage: Sean O\u0027Brien \u003cseobrien@chromium.org\u003e\nCommit-Queue: Sean O\u0027Brien \u003cseobrien@chromium.org\u003e\nAuto-Submit: Harry Cutts \u003chcutts@chromium.org\u003e\n"
    },
    {
      "commit": "be5e6fd660c8723eb042ce0af247e990622b57f8",
      "tree": "d1687e2cbb0728b3fa45bc80dfe77a68d2b33f28",
      "parents": [
        "96a898bb950ec4c6061091407c5e02396399ec45"
      ],
      "author": {
        "name": "Sairah Amuthan",
        "email": "sairahamuthan@google.com",
        "time": "Mon Jul 28 23:35:33 2025"
      },
      "committer": {
        "name": "Chromeos LUCI",
        "email": "chromeos-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Mon Aug 11 16:37:12 2025"
      },
      "message": "Introduce Drag-and-Scroll gesture handling\n\nEnable users to scroll with two fingers while a physical button is\nheld down. This allows for navigating scroll-able content after\ninitiating a click.\n\nThe interpreter logic is updated to check for multiple fingers on the\ntouch-pad during a button press. It validates that these fingers\ndisplay a scrolling motion before recognizing the\naction as a Scroll gesture instead of a standard Move. It uses the\ntwo fastest moving fingers to validate whether a scroll gesture\nwas performed.\n\nA user can lift all scrolling fingers to initiate a Fling, mirroring\nnormal scroll behavior. A user can also lift a single scrolling\nfinger to revert the gesture back to a standard drag.\n\nA new `drag_scroll_enable` property is added to control this feature,\nalong with unit tests to cover the new interaction scenarios.\n\nBUG\u003db:322199922\nTEST\u003dcros_sdk cros_workon_make --test --board\u003drex chromeos-base/gestures\nTEST\u003dtouchtests\nTEST\u003dManual testing\n\nChange-Id: Id9a21fb8ce46b18c3e882ffdaffecc98bbf84e9b\nReviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/gestures/+/6795666\nTested-by: Sairah Amuthan \u003csairahamuthan@google.com\u003e\nCommit-Queue: Sairah Amuthan \u003csairahamuthan@google.com\u003e\nReviewed-by: Harry Cutts \u003chcutts@chromium.org\u003e\nCode-Coverage: Zoss \u003czoss-cl-coverage@prod.google.com\u003e\nReviewed-by: Henry Barnor \u003chbarnor@chromium.org\u003e\n"
    },
    {
      "commit": "96a898bb950ec4c6061091407c5e02396399ec45",
      "tree": "a3afffd6661eacd08cd5f9041ca6c72e367d0615",
      "parents": [
        "a07171cf62c8ead5448ce18fb7f2a9c39a5d096f"
      ],
      "author": {
        "name": "Sairah Amuthan",
        "email": "sairahamuthan@google.com",
        "time": "Thu Jul 03 00:13:48 2025"
      },
      "committer": {
        "name": "Chromeos LUCI",
        "email": "chromeos-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Fri Jul 11 23:12:36 2025"
      },
      "message": "screebo: Add unexpected fling touchtest to regression suite\n\nAdd new screebo-1.0/check_unexpected_fling touchtest to regression suite.\n\nBUG\u003db:378586077\nTEST\u003dunittests, manual testing, creating new touchpad\ntest to verify this behaviour as well.\n\nCq-Depend: 6701398\nChange-Id: Icb36dc7ce66a54342e27045077dd9f3acfb65949\nReviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/gestures/+/6700050\nCode-Coverage: Henry Barnor \u003chbarnor@chromium.org\u003e\nTested-by: Sairah Amuthan \u003csairahamuthan@google.com\u003e\nCommit-Queue: Sairah Amuthan \u003csairahamuthan@google.com\u003e\nReviewed-by: Henry Barnor \u003chbarnor@chromium.org\u003e\nReviewed-by: Aseda Aboagye \u003caaboagye@chromium.org\u003e\nReviewed-by: William Mahon \u003cwmahon@google.com\u003e\n"
    },
    {
      "commit": "a07171cf62c8ead5448ce18fb7f2a9c39a5d096f",
      "tree": "678fb74df70e95f35821da383f2a3e18c0353eed",
      "parents": [
        "4099442e5d959896d73162805aa635db2dc6aeea"
      ],
      "author": {
        "name": "Sairah Amuthan",
        "email": "sairahamuthan@google.com",
        "time": "Thu Jun 05 22:34:26 2025"
      },
      "committer": {
        "name": "Chromeos LUCI",
        "email": "chromeos-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Wed Jun 11 22:15:55 2025"
      },
      "message": "Avoid temporary strings when logging activity\n\nThis change replaces function parameters of type `const std::string\u0026`\nwith `std::string_view`. This avoids unnecessary string copies by\neliminating the creation and destruction of temporary `std::string`\nobjects, improving efficiency.\n\nBUG\u003db:402428889\nTEST\u003dunittests, manual testing\n\nChange-Id: I6ca9db1c0b025778e1d77f74aec1dd467a9177fc\nReviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/gestures/+/6626177\nReviewed-by: Henry Barnor \u003chbarnor@chromium.org\u003e\nReviewed-by: Jingyuan Liang \u003cjingyliang@chromium.org\u003e\nTested-by: Sairah Amuthan \u003csairahamuthan@google.com\u003e\nReviewed-by: Harry Cutts \u003chcutts@chromium.org\u003e\nCode-Coverage: Zoss \u003czoss-cl-coverage@prod.google.com\u003e\nCommit-Queue: Sairah Amuthan \u003csairahamuthan@google.com\u003e\n"
    },
    {
      "commit": "4099442e5d959896d73162805aa635db2dc6aeea",
      "tree": "73331c83cfa5851b3c4225cc74ee87edca3234fa",
      "parents": [
        "cc8440479d6d2d6705fcfa30a801c538cdb41e07"
      ],
      "author": {
        "name": "Harry Cutts",
        "email": "hcutts@google.com",
        "time": "Fri Mar 21 16:29:38 2025"
      },
      "committer": {
        "name": "Chromeos LUCI",
        "email": "chromeos-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Tue Mar 25 16:22:01 2025"
      },
      "message": "Android: add test target for running on the host\n\nThere\u0027s no reason that an Android device should be necessary for running\nthe Gestures library unit tests through the Android infrastructure.\n\nBUG\u003db:245989146\nTEST\u003d$ atest libchrome-gestures_test\nTEST\u003d$ atest --host libchrome-gestures_test_host\n\nChange-Id: I9d4964a1b3c34f639cc962980aeea4f11c154c5e\nReviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/gestures/+/6382415\nReviewed-by: Sean O\u0027Brien \u003cseobrien@chromium.org\u003e\nReviewed-by: Siarhei Vishniakou \u003csvv@google.com\u003e\nCode-Coverage: Sean O\u0027Brien \u003cseobrien@chromium.org\u003e\nTested-by: Harry Cutts \u003chcutts@chromium.org\u003e\nCommit-Queue: Harry Cutts \u003chcutts@chromium.org\u003e\n"
    },
    {
      "commit": "cc8440479d6d2d6705fcfa30a801c538cdb41e07",
      "tree": "cfb346711c1236f8f92f49b2e87daf03a5c015b0",
      "parents": [
        "d9f46e231425c47a217b627746da5ecb860d90ea"
      ],
      "author": {
        "name": "Harry Cutts",
        "email": "hcutts@google.com",
        "time": "Fri Mar 21 16:32:46 2025"
      },
      "committer": {
        "name": "Chromeos LUCI",
        "email": "chromeos-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Tue Mar 25 16:21:58 2025"
      },
      "message": "Android: add AndroidTest.xml\n\nThis is needed for\nNonLinearityFilterInterpreterTest#HWstateModificationTest to pass when\nrun from the Android.bp. I\u0027m not sure why it hasn\u0027t been upstreamed yet\nwhen the Android.bp file is.\n\nBUG\u003db:245989146\nTEST\u003d$ atest libchrome-gestures_test\n\nChange-Id: Ied134ce842a1f4699ea89096f9c0c97d4c6abbe0\nReviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/gestures/+/6382414\nReviewed-by: Siarhei Vishniakou \u003csvv@google.com\u003e\nTested-by: Harry Cutts \u003chcutts@chromium.org\u003e\nCode-Coverage: Sean O\u0027Brien \u003cseobrien@chromium.org\u003e\nCommit-Queue: Harry Cutts \u003chcutts@chromium.org\u003e\nReviewed-by: Kenneth Albanowski \u003ckenalba@google.com\u003e\n"
    },
    {
      "commit": "d9f46e231425c47a217b627746da5ecb860d90ea",
      "tree": "885943bb4989775121fea492d3cb4018c18105a9",
      "parents": [
        "a6cd8abf8e306b24c79676be3d014ff02e61f3ac"
      ],
      "author": {
        "name": "Harry Cutts",
        "email": "hcutts@google.com",
        "time": "Thu Mar 20 15:24:16 2025"
      },
      "committer": {
        "name": "Chromeos LUCI",
        "email": "chromeos-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Fri Mar 21 10:33:35 2025"
      },
      "message": "Tap-to-click tests: pass HardwareProperties to run_tests\n\nThis allows some code from the different test running functions to be\ndeduplicated.\n\nBUG\u003db:245989146\nTEST\u003d$ atest libchrome-gestures_test\n\nChange-Id: I7812b8c46e6e978b899c9c62ac786e0cba1db757\nReviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/gestures/+/6375367\nReviewed-by: Jingyuan Liang \u003cjingyliang@chromium.org\u003e\nCode-Coverage: Henry Barnor \u003chbarnor@chromium.org\u003e\nReviewed-by: Kenneth Albanowski \u003ckenalba@google.com\u003e\nCommit-Queue: Harry Cutts \u003chcutts@chromium.org\u003e\nTested-by: Harry Cutts \u003chcutts@chromium.org\u003e\n"
    },
    {
      "commit": "a6cd8abf8e306b24c79676be3d014ff02e61f3ac",
      "tree": "26c6cc44d2667ba433c5a7c4168122a1447db452",
      "parents": [
        "e1328ed6fe8f2a1eb3791aa72cda39067670fed2"
      ],
      "author": {
        "name": "Harry Cutts",
        "email": "hcutts@google.com",
        "time": "Thu Mar 20 14:34:00 2025"
      },
      "committer": {
        "name": "Chromeos LUCI",
        "email": "chromeos-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Fri Mar 21 10:33:34 2025"
      },
      "message": "Tap-to-click: only enter T5R2 mode when touch_cnt \u003e finger_cnt\n\nIn evdev\u0027s multitouch protocol (type B), devices are not required to set\nthe BTN_TOOL_* \"buttons\" according to the number of touches on the\nsurface, unless they are tracking more touches than they can report\n(e.g. in the case of \"Track 5, Report 2\" touchpads). In practice, most\ndrivers do, and the tap-to-click logic had assumed this.\n\nThis means that when a touchpad doesn\u0027t report BTN_TOOL_* correctly\n(i.e. meaning that HardwareState::touch_cnt is wrong), we enter T5R2\nmode because touch_cnt !\u003d finger_cnt, and either don\u0027t detect\ntap-to-click at all or detect it with the wrong number of fingers. (e.g.\nin the case from b/404481667, the driver only uses BTN_TOOL_FINGER, so\nwe always think it\u0027s a single-finger tap.)\n\nThe condition for entering T5R2 mode is too broad — T5R2 pads will\nreport a touch_cnt greater than or equal to finger_cnt, not just\nunequal. We can make the condition narrower to still encompass the T5R2\nscenarios [0] while not falsely triggering on touchpads that don\u0027t use\nBTN_TOOL_*.\n\nAlso update the unit tests to cover this scenario.\n\n[0]: such as the one in the description of change\n     I97f87b8c7841a62a8fd4fbf4addcc60588500ca0\n\nBUG\u003db:404481667\nTEST\u003dreplay evemu recording from the bug on Android, check a\n     3-finger tap is detected\nTEST\u003dcheck 1–3-finger taps are detected correctly with an Apple Magic\n     Trackpad 2 on Android\nTEST\u003d$ atest libchrome-gestures_test\nTEST\u003dtouchpad tests regression check\n\nChange-Id: Ib1ba606693e6a31a60d1881e3d4bdd35e40f50c8\nReviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/gestures/+/6375728\nReviewed-by: Aseda Aboagye \u003caaboagye@chromium.org\u003e\nCommit-Queue: Harry Cutts \u003chcutts@chromium.org\u003e\nReviewed-by: Kenneth Albanowski \u003ckenalba@google.com\u003e\nCode-Coverage: Zoss \u003czoss-cl-coverage@prod.google.com\u003e\nTested-by: Harry Cutts \u003chcutts@chromium.org\u003e\n"
    },
    {
      "commit": "e1328ed6fe8f2a1eb3791aa72cda39067670fed2",
      "tree": "15242f8aadcf75fb8bbdddeb5fac2ed11b2506d8",
      "parents": [
        "4b31997f5d2feb509b17ec13445dd8e9fc9156a6"
      ],
      "author": {
        "name": "seobrien",
        "email": "seobrien@chromium.org",
        "time": "Fri Feb 28 18:18:35 2025"
      },
      "committer": {
        "name": "Chromeos LUCI",
        "email": "chromeos-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Thu Mar 06 13:51:26 2025"
      },
      "message": "Add height limit for right click\n\nWhen right-clicking based on finger position is enabled, limit right\nclicks to the bottom right corner. Previously right clicks worked along\nthe entire right side of the touchpad.\n\nBUG\u003db:352584365\nTEST\u003dunittests, manual testing\n\nChange-Id: Id0cdc81abff3bcb656661f08ced787baefa3fac7\nReviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/gestures/+/6325849\nCommit-Queue: Sean O\u0027Brien \u003cseobrien@chromium.org\u003e\nReviewed-by: Harry Cutts \u003chcutts@chromium.org\u003e\nTested-by: Sean O\u0027Brien \u003cseobrien@chromium.org\u003e\nCode-Coverage: Zoss \u003czoss-cl-coverage@prod.google.com\u003e\nReviewed-by: Aseda Aboagye \u003caaboagye@chromium.org\u003e\n"
    },
    {
      "commit": "4b31997f5d2feb509b17ec13445dd8e9fc9156a6",
      "tree": "ec83ff84d5cf4651cac363bcf794b15014d54e14",
      "parents": [
        "0f3e362a0d0f2d9c50915e349500f92864711704"
      ],
      "author": {
        "name": "Harry Cutts",
        "email": "hcutts@chromium.org",
        "time": "Mon Feb 24 17:18:16 2025"
      },
      "committer": {
        "name": "Chromeos LUCI",
        "email": "chromeos-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Tue Feb 25 13:37:48 2025"
      },
      "message": "Add README\n\nWe\u0027ve had some interest from OEMs in making changes to the library, for\nexample to implement custom gestures. Let\u0027s add a README with a\nhigh-level overview of the library\u0027s code structure.\n\nBUG\u003db:391503918\nTEST\u003dcheck gitiles rendering\n\nChange-Id: If04ab899d4910339733f07474f49da6241ae5cf2\nReviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/gestures/+/6297933\nReviewed-by: Sean O\u0027Brien \u003cseobrien@chromium.org\u003e\nTested-by: Harry Cutts \u003chcutts@chromium.org\u003e\nCommit-Queue: Sean O\u0027Brien \u003cseobrien@chromium.org\u003e\nCode-Coverage: Sean O\u0027Brien \u003cseobrien@chromium.org\u003e\nReviewed-by: Kenneth Albanowski \u003ckenalba@google.com\u003e\n"
    },
    {
      "commit": "0f3e362a0d0f2d9c50915e349500f92864711704",
      "tree": "ad105a30315fbedf1ef076000d570676ed0e019b",
      "parents": [
        "3e416e57e0f66cdf8a1dac8d043b96b12b2988a6"
      ],
      "author": {
        "name": "William Mahon",
        "email": "wmahon@google.com",
        "time": "Wed Jan 22 22:53:50 2025"
      },
      "committer": {
        "name": "Chromeos LUCI",
        "email": "chromeos-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Thu Jan 23 22:14:20 2025"
      },
      "message": "Fix LookaheadFilterInterpreter ConsumeGestureTest\n\nBUG\u003db:380266764\nTEST\u003dFEATURES\u003dtest emerge-amd64-generic gestures -j\n\nChange-Id: I49bd13dc08edfe5ed4e8ee4a81fa406047644f5c\nReviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/gestures/+/6191939\nReviewed-by: Ray Xu \u003crayxu@google.com\u003e\nTested-by: William Mahon \u003cwmahon@google.com\u003e\nReviewed-by: Sean O\u0027Brien \u003cseobrien@chromium.org\u003e\nCode-Coverage: Sean O\u0027Brien \u003cseobrien@chromium.org\u003e\nCommit-Queue: William Mahon \u003cwmahon@google.com\u003e\n"
    },
    {
      "commit": "3e416e57e0f66cdf8a1dac8d043b96b12b2988a6",
      "tree": "64cd25a848bb90021e2d2b50d20fc8b0b35fad2d",
      "parents": [
        "9cd1400773ceccd2cbad3c5d0a2a28015ae1619b"
      ],
      "author": {
        "name": "Harry Cutts",
        "email": "hcutts@google.com",
        "time": "Fri Oct 18 15:03:00 2024"
      },
      "committer": {
        "name": "Chromeos LUCI",
        "email": "chromeos-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Mon Oct 21 11:42:12 2024"
      },
      "message": "Include is_tap when stringifying buttons gestures\n\nTEST\u003dwith an Android device, run\n    $ adb shell \u0027stop \u0026\u0026 setprop log.tag.TouchpadInputMapperGestures DEBUG \u0026\u0026 start\u0027\n    then check InputReader \"Gesture ready\" log messages when\n    three-finger tapping on the touchpad\nBUG\u003db:245989146\n\nChange-Id: Ibbb9d4a9d88c9bb8d911bd70d8081a67d24965ed\nReviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/gestures/+/5938371\nTested-by: Harry Cutts \u003chcutts@chromium.org\u003e\nReviewed-by: Kenneth Albanowski \u003ckenalba@google.com\u003e\nCommit-Queue: Harry Cutts \u003chcutts@chromium.org\u003e\nAuto-Submit: Harry Cutts \u003chcutts@chromium.org\u003e\nCode-Coverage: Zoss \u003czoss-cl-coverage@prod.google.com\u003e\n"
    },
    {
      "commit": "9cd1400773ceccd2cbad3c5d0a2a28015ae1619b",
      "tree": "6d376e20c0cf608f22d6413a3014ad9db450b0a9",
      "parents": [
        "0095adf1024d6bbcf047d8cf20df99dde2ba18d1"
      ],
      "author": {
        "name": "Saketh Pothireddy",
        "email": "spothire@google.com",
        "time": "Wed Sep 18 23:20:27 2024"
      },
      "committer": {
        "name": "Chromeos LUCI",
        "email": "chromeos-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Thu Sep 26 23:28:06 2024"
      },
      "message": "Enable c++20\n\nBUG\u003db:217226507\nTEST\u003dFEATURES\u003dtest emerge-brya gestures\nTEST\u003dDeploy to fleet dut and click around\nTEST\u003dOn Android:\n    $ m libchrome-gestures\n    $ atest libchrome-gestures_test\n\nCq-Depend: 5871998\nChange-Id: If2f80c753227dd22f7f41f78d224fd9a09f85c63\nReviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/gestures/+/5873886\nTested-by: Sean O\u0027Brien \u003cseobrien@chromium.org\u003e\nCommit-Queue: Saketh Pothireddy \u003cspothire@google.com\u003e\nReviewed-by: Sean O\u0027Brien \u003cseobrien@chromium.org\u003e\nTested-by: Harry Cutts \u003chcutts@chromium.org\u003e\nCode-Coverage: Zoss \u003czoss-cl-coverage@prod.google.com\u003e\nCode-Coverage: Saketh Pothireddy \u003cspothire@google.com\u003e\n"
    },
    {
      "commit": "0095adf1024d6bbcf047d8cf20df99dde2ba18d1",
      "tree": "1ad6acf2e47c2ba17c1147dd245116d62b36bc95",
      "parents": [
        "f4e03756d993701f63a3d966873c3db90931ac8b"
      ],
      "author": {
        "name": "seobrien",
        "email": "seobrien@chromium.org",
        "time": "Fri Sep 06 19:58:00 2024"
      },
      "committer": {
        "name": "Chromeos LUCI",
        "email": "chromeos-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Mon Sep 16 20:41:28 2024"
      },
      "message": "Allow finger lock to switch to a new finger\n\nWhen there are multiple fingers on the touchpad and the user is not\nperforming a multi-finger gesture, we will \"lock on\" to a single finger\nto follow for motion tracking. Sometimes, we will accidentally lock on\nto the wrong finger, such as a thumb that seems to be moving quickly,\nbut really isn\u0027t.\n\nThis CL adds a mechanism to change which finger is being tracked after\nthe initial lock, if another finger is moving fast enough.\n\nBUG\u003db:358206010\nTEST\u003dCQ, manual testing, new touchtest regression tests\n\nChange-Id: I96d69fc392231366f0f06a29db98ffc29d021675\nReviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/gestures/+/5841662\nReviewed-by: Henry Barnor \u003chbarnor@chromium.org\u003e\nCode-Coverage: Zoss \u003czoss-cl-coverage@prod.google.com\u003e\nCommit-Queue: Sean O\u0027Brien \u003cseobrien@chromium.org\u003e\nTested-by: Sean O\u0027Brien \u003cseobrien@chromium.org\u003e\n"
    },
    {
      "commit": "f4e03756d993701f63a3d966873c3db90931ac8b",
      "tree": "ea8180d02d553a735be3fba338a9691a63e811e8",
      "parents": [
        "b1640b40fe62f9ae9a991e8a4674ee9e991dbc99"
      ],
      "author": {
        "name": "Harry Cutts",
        "email": "hcutts@google.com",
        "time": "Fri Aug 30 17:15:35 2024"
      },
      "committer": {
        "name": "Chromeos LUCI",
        "email": "chromeos-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Mon Sep 02 10:15:07 2024"
      },
      "message": "Make HardwareState strings nicer to read\n\nPreviously, HardwareState string representations were something of a\nnumber salad, something like this:\n\n    { 1.234567, 0, 1, 1, { { 267.000000, 187.000000, 0.000000, 0.000000,\n    26.000000, 86.000000, 992.000000, 706.000000, 220,\n    GESTURES_FINGER_POSSIBLE_PALM | GESTURES_FINGER_WARP_X_NON_MOVE } } }\n\nYou just had to remember what number meant what. Now they look like\nthis:\n\n    { 1.234567, buttons 0x0, 1 f, 1 t, { { 220: (992.00, 706.00), touch\n    267.00x187.00, width 0.00x0.00, pressure 26.00, orient 86.00,\n    POSSIBLE_PALM | WARP_X_NON_MOVE } } }\n\nChanges:\n\n* Related numbers (e.g. X and Y, touch major and minor) are grouped\n  together\n* Fields are labelled\n* Numbers take up less space by reducing precision (6 decimal places\n  seems a little excessive)\n* Flags no longer have the GESTURES_FINGER_ prefix, which is common to\n  all of them anyway\n\nBUG\u003db:245989146\nTEST\u003dOn Android, run:\n    $ adb shell \u0027stop \u0026\u0026 setprop log.tag.TouchpadInputMapperGestures\n                 DEBUG \u0026\u0026 start\u0027\n    then check the InputReader log tag for the \"New hardware state\"\n    messages. Also run unit tests:\n    $ atest libchrome-gestures_test\n\nChange-Id: I89c72b29cfcbbb11c54c25b9bed59fdf9420b321\nReviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/gestures/+/5829402\nCode-Coverage: Zoss \u003czoss-cl-coverage@prod.google.com\u003e\nTested-by: Harry Cutts \u003chcutts@chromium.org\u003e\nReviewed-by: William Mahon \u003cwmahon@google.com\u003e\nCommit-Queue: Harry Cutts \u003chcutts@chromium.org\u003e\n"
    },
    {
      "commit": "b1640b40fe62f9ae9a991e8a4674ee9e991dbc99",
      "tree": "1860e1d52750203e4bd5bbeb6cb8f823627a553b",
      "parents": [
        "0d78696da9addfcbbe7c0d625af184c23c4c9038"
      ],
      "author": {
        "name": "seobrien",
        "email": "seobrien@chromium.org",
        "time": "Fri Aug 23 20:38:23 2024"
      },
      "committer": {
        "name": "Chromeos LUCI",
        "email": "chromeos-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Thu Aug 29 20:45:05 2024"
      },
      "message": "Fix time delta calculation in scroll buffer\n\nWhen calculating fling velocity, we use the average velocity of the last\nseveral scroll events. However, zero-distance scrolls are not included\nin the buffer, which can skew the velocity, especially if the touchpad\nreports MSC_TIMESTAMP events when no finger has moved.\n\nThis CL addresses that by keeping track of the time delta from the\nlatest scroll event in the scroll buffer for calculating velocity,\ninstead of just the delta between touchpad reports, which will always be\nvery small if the touchpad reports MSC_TIMESTAMP.\n\nBUG\u003db:358209681\nTEST\u003dunittests, touchtests regression suite, manual testing\n\nChange-Id: I41db2867f4d50021f713350470e85f2d453af51e\nReviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/gestures/+/5806234\nTested-by: Sean O\u0027Brien \u003cseobrien@chromium.org\u003e\nReviewed-by: Henry Barnor \u003chbarnor@chromium.org\u003e\nAuto-Submit: Sean O\u0027Brien \u003cseobrien@chromium.org\u003e\nCommit-Queue: Sean O\u0027Brien \u003cseobrien@chromium.org\u003e\nCode-Coverage: Zoss \u003czoss-cl-coverage@prod.google.com\u003e\n"
    },
    {
      "commit": "0d78696da9addfcbbe7c0d625af184c23c4c9038",
      "tree": "54790529032ea559eeb9261c6fb9adb20ac3d962",
      "parents": [
        "37ea1f507f33ed85303a3f66b483f16c04593fcf"
      ],
      "author": {
        "name": "seobrien",
        "email": "seobrien@chromium.org",
        "time": "Wed Aug 07 20:56:51 2024"
      },
      "committer": {
        "name": "Chromeos LUCI",
        "email": "chromeos-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Fri Aug 09 21:41:27 2024"
      },
      "message": "Change clickdown movement timeout to 250ms\n\nEvidence from user studies indicates that 250ms is a good compromise to\nincrease reactivity for click-drag gestures without introducing many\naccidental click-drags.\n\nBUG\u003db:296062250\nTEST\u003dbuild and deploy, touchtest regression suite.\n\nChange-Id: Ie431680778e06e33da5eab11cd7331bfb9be6716\nReviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/gestures/+/5769880\nTested-by: Sean O\u0027Brien \u003cseobrien@chromium.org\u003e\nReviewed-by: Jingyuan Liang \u003cjingyliang@chromium.org\u003e\nCommit-Queue: Sean O\u0027Brien \u003cseobrien@chromium.org\u003e\nCode-Coverage: Zoss \u003czoss-cl-coverage@prod.google.com\u003e\n"
    },
    {
      "commit": "37ea1f507f33ed85303a3f66b483f16c04593fcf",
      "tree": "f3e2569d888136b98bade5dd424b2fa8e99d40be",
      "parents": [
        "57c6e0045e70912a5a0489458b68eb05ec8802e8"
      ],
      "author": {
        "name": "George Burgess IV",
        "email": "gbiv@google.com",
        "time": "Wed Jul 31 21:15:48 2024"
      },
      "committer": {
        "name": "Chromeos LUCI",
        "email": "chromeos-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Fri Aug 02 19:25:45 2024"
      },
      "message": "tests: remove uses of variable length arrays\n\nVLAs are generally discouraged, to the point where Clang now warns about\nthem by default. Since these already have obvious upper-bounds present\nand enforced, leverage those.\n\nBUG\u003db:316021385\nTEST\u003dFEATURES\u003dtest emerge-brya gestures\n\nChange-Id: Iaf3d7ac0198e8ad5894f56fcdf4bcfea3bb45c80\nReviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/gestures/+/5754535\nTested-by: George Burgess \u003cgbiv@chromium.org\u003e\nCode-Coverage: Zoss \u003czoss-cl-coverage@prod.google.com\u003e\nReviewed-by: Kenneth Albanowski \u003ckenalba@google.com\u003e\nCommit-Queue: George Burgess \u003cgbiv@chromium.org\u003e\n"
    },
    {
      "commit": "57c6e0045e70912a5a0489458b68eb05ec8802e8",
      "tree": "b111cda653496bcebbc980db26592ddcae0d2175",
      "parents": [
        "25e77a6998f90e046117b894016304e2b905042c"
      ],
      "author": {
        "name": "Saketh Pothireddy",
        "email": "spothire@google.com",
        "time": "Sat Mar 23 01:06:26 2024"
      },
      "committer": {
        "name": "Chromeos LUCI",
        "email": "chromeos-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Fri May 24 22:28:44 2024"
      },
      "message": "gestures: remove screen_x/y_dpi\n\nRemove deprecated `screen_x_dpi` and `screen_y_dpi` fields from\n`HardwareProperties` struct.\n\nBUG\u003db:260071241\nTEST\u003d`FEATURES\u003dtest emerge-brya gestures`\n\nCq-Depend: 5434142\nChange-Id: I19dbd33c6430f782445cc7737b498b66114c0767\nReviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/gestures/+/5436195\nReviewed-by: Henry Barnor \u003chbarnor@chromium.org\u003e\nCommit-Queue: Saketh Pothireddy \u003cspothire@google.com\u003e\nReviewed-by: Torsha Banerjee \u003ctorsha@google.com\u003e\nCode-Coverage: Zoss \u003czoss-cl-coverage@prod.google.com\u003e\nTested-by: Torsha Banerjee \u003ctorsha@google.com\u003e\nTested-by: Saketh Pothireddy \u003cspothire@google.com\u003e\n"
    },
    {
      "commit": "25e77a6998f90e046117b894016304e2b905042c",
      "tree": "2bde7d8bd999998fe2614336278a9450079220c1",
      "parents": [
        "b824af1e782a4e741fbfe4b0c311de3bc161e2fc"
      ],
      "author": {
        "name": "Saketh Pothireddy",
        "email": "spothire@google.com",
        "time": "Fri Apr 05 20:16:12 2024"
      },
      "committer": {
        "name": "Chromeos LUCI",
        "email": "chromeos-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Mon Apr 08 19:57:31 2024"
      },
      "message": "gestures: fix chroot path to touchpad-tests\n\nCorrect path to touchpad-tests when installing regression tests. In my\nenvironment this path does not exist, causing `pushd` to fail. However,\nthe following `make` commands run in `gestures` dir creating a few\nobjects. Correcting the path afterwards and re-running this script\ncauses linker issues since `make in-place` is called without a clean.\n\nBUG\u003db:325269580\nTEST\u003dCreate and push a new commit on fresh checkout with this change.\n\nChange-Id: Idcbbb5302fdf98e7abf1e9f47634d2bf645698b6\nReviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/gestures/+/5426747\nReviewed-by: Torsha Banerjee \u003ctorsha@google.com\u003e\nCode-Coverage: Saketh Pothireddy \u003cspothire@google.com\u003e\nTested-by: Saketh Pothireddy \u003cspothire@google.com\u003e\nCode-Coverage: William Mahon \u003cwmahon@google.com\u003e\nReviewed-by: William Mahon \u003cwmahon@google.com\u003e\nCommit-Queue: Saketh Pothireddy \u003cspothire@google.com\u003e\n"
    },
    {
      "commit": "b824af1e782a4e741fbfe4b0c311de3bc161e2fc",
      "tree": "324e8e9f95bc24aa75c77bbc58186453367e2a47",
      "parents": [
        "8fa2ecca2f4a5f08f58d9a75dc712dcb1d8ba4c8"
      ],
      "author": {
        "name": "Harry Cutts",
        "email": "hcutts@google.com",
        "time": "Mon Mar 11 15:05:31 2024"
      },
      "committer": {
        "name": "Chromeos LUCI",
        "email": "chromeos-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Wed Mar 13 13:08:50 2024"
      },
      "message": "Upgrade some Log calls to Err\n\nThese all indicate states that we shouldn\u0027t get into, so they should be\nlogged with the higher severity level.\n\nBUG\u003db:314743031\nTEST\u003drun unit tests\nLOW_COVERAGE_REASON\u003donly modifies logging for unexpected cases\n\nChange-Id: If503b726511082d16c52858cf62291cc00926b16\nReviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/gestures/+/5358098\nCommit-Queue: Harry Cutts \u003chcutts@chromium.org\u003e\nCode-Coverage: Zoss \u003czoss-cl-coverage@prod.google.com\u003e\nTested-by: Harry Cutts \u003chcutts@chromium.org\u003e\nReviewed-by: Sean O\u0027Brien \u003cseobrien@chromium.org\u003e\nCode-Coverage: Sean O\u0027Brien \u003cseobrien@chromium.org\u003e\n"
    },
    {
      "commit": "8fa2ecca2f4a5f08f58d9a75dc712dcb1d8ba4c8",
      "tree": "bc48d2af242716637423a6f891f2df48dfac63c1",
      "parents": [
        "04226b4be33db372a735ccff4c10602c7d349a9f"
      ],
      "author": {
        "name": "Harry Cutts",
        "email": "hcutts@google.com",
        "time": "Tue Mar 12 16:55:59 2024"
      },
      "committer": {
        "name": "Chromeos LUCI",
        "email": "chromeos-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Wed Mar 13 13:08:47 2024"
      },
      "message": "NonLinearity: don\u0027t try to load data if path unset\n\nPreviously, if no data file path was set in the gesture property, we\u0027d\ntry to load a file called \"None\" (the default property value), and\n(hopefully) that would fail. If there happened to be a file called\n\"None\" in the current directory we\u0027d try to load it as non-linearity\ncorrection data. Otherwise, we\u0027d log an error because of the file\nloading failure even though we hadn\u0027t expected to find a data file.\n\nBUG\u003db:314743031\nTEST\u003dunit tests; add the NonLinearityFilterInterpreter to the Touchpad2\n     stack in gestures.cc, add a log line when attempting to load a\n     file, and check the line doesn\u0027t appear a touchpad is connected\n\nChange-Id: I010086adbf2b6ca69bda32c8c69fc00a239e5a20\nReviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/gestures/+/5365863\nCommit-Queue: Harry Cutts \u003chcutts@chromium.org\u003e\nReviewed-by: Sean O\u0027Brien \u003cseobrien@chromium.org\u003e\nTested-by: Harry Cutts \u003chcutts@chromium.org\u003e\nCode-Coverage: Zoss \u003czoss-cl-coverage@prod.google.com\u003e\n"
    },
    {
      "commit": "04226b4be33db372a735ccff4c10602c7d349a9f",
      "tree": "4122b0619e7bf3184a5566f1346b6806807abc80",
      "parents": [
        "2ad23eb4021a824dd6ae2ca5d84dfa7701a4a4da"
      ],
      "author": {
        "name": "Harry Cutts",
        "email": "hcutts@google.com",
        "time": "Fri Mar 08 15:03:27 2024"
      },
      "committer": {
        "name": "Chromeos LUCI",
        "email": "chromeos-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Tue Mar 12 16:00:41 2024"
      },
      "message": "ImmediateInterpreter: use range-for loops\n\nThese are less verbose, easier to read, and allow more descriptive\nidentifiers to be used compared to it-\u003efirst and it-\u003esecond.\n\nBUG\u003db:245989146\nTEST\u003dcheck cursor movements and gestures manually; run unit tests\n\nChange-Id: I02d9021faa9818926c8cff4c2d7852f8d416dda0\nReviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/gestures/+/5358097\nCommit-Queue: Harry Cutts \u003chcutts@chromium.org\u003e\nCode-Coverage: Zoss \u003czoss-cl-coverage@prod.google.com\u003e\nReviewed-by: Sean O\u0027Brien \u003cseobrien@chromium.org\u003e\nTested-by: Harry Cutts \u003chcutts@chromium.org\u003e\n"
    },
    {
      "commit": "2ad23eb4021a824dd6ae2ca5d84dfa7701a4a4da",
      "tree": "1fe704bb9cffc5ad4a98918d1dfddc0f7d0ca430",
      "parents": [
        "50caac3b9e1a04ca2c67c2f226657c7f90d687b5"
      ],
      "author": {
        "name": "Harry Cutts",
        "email": "hcutts@chromium.org",
        "time": "Thu Feb 22 17:14:07 2024"
      },
      "committer": {
        "name": "Chromeos LUCI",
        "email": "chromeos-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Mon Mar 04 17:57:38 2024"
      },
      "message": "string_util: simplify TrimWhitespaceASCII\n\nNo callers of the function passed anything other than TRIM_ALL, looked\nat the return value, or needed to pass a pointer for the output, so\nremove those features and improve the tests.\n\nBUG\u003db:245989146\nTEST\u003dcros_sdk env FEATURES\u003d\"test\" emerge-${BOARD} chromeos-base/gestures\n\nChange-Id: Iec25ef20fdafc16bd5e23dc1e6744fdbc439b865\nReviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/gestures/+/5318732\nReviewed-by: Henry Barnor \u003chbarnor@chromium.org\u003e\nReviewed-by: Kenneth Albanowski \u003ckenalba@google.com\u003e\nReviewed-by: Torsha Banerjee \u003ctorsha@google.com\u003e\nTested-by: Harry Cutts \u003chcutts@chromium.org\u003e\nCode-Coverage: Zoss \u003czoss-cl-coverage@prod.google.com\u003e\nCommit-Queue: Harry Cutts \u003chcutts@chromium.org\u003e\n"
    },
    {
      "commit": "50caac3b9e1a04ca2c67c2f226657c7f90d687b5",
      "tree": "613a535e99939037ace6c829739a8a9051d3672a",
      "parents": [
        "8cc26f2e4b77a2abd91db5413453eeed737cad28"
      ],
      "author": {
        "name": "Harry Cutts",
        "email": "hcutts@google.com",
        "time": "Thu Feb 22 16:17:16 2024"
      },
      "committer": {
        "name": "Chromeos LUCI",
        "email": "chromeos-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Mon Mar 04 17:57:35 2024"
      },
      "message": "string_util: Remove StartsWithASCII\n\nThis was used in exactly one location, FingerState::FlagsString, and can\neasily be replaced by a call to std::string::rfind. Also add a new test\ncase to verify the change.\n\nBUG\u003db:245989146\nTEST\u003dcros_sdk env FEATURES\u003d\"test\" emerge-${BOARD} chromeos-base/gestures\n\nChange-Id: I832dd9a7cb61b3a4741d2a3439b4884746274f3b\nReviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/gestures/+/5318731\nCommit-Queue: Harry Cutts \u003chcutts@chromium.org\u003e\nTested-by: Harry Cutts \u003chcutts@chromium.org\u003e\nReviewed-by: Aseda Aboagye \u003caaboagye@chromium.org\u003e\nCode-Coverage: Zoss \u003czoss-cl-coverage@prod.google.com\u003e\nReviewed-by: Henry Barnor \u003chbarnor@chromium.org\u003e\n"
    },
    {
      "commit": "8cc26f2e4b77a2abd91db5413453eeed737cad28",
      "tree": "b4fb7dfa2e42f72940a31e77183ad405a064f990",
      "parents": [
        "fea3ca4ec92fbbe738b2c6f1fc512c08467fc291"
      ],
      "author": {
        "name": "William Mahon",
        "email": "wmahon@google.com",
        "time": "Thu Feb 22 01:45:49 2024"
      },
      "committer": {
        "name": "Chromeos LUCI",
        "email": "chromeos-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Mon Feb 26 22:10:36 2024"
      },
      "message": "gestures: Move metrics finger tracking to std::vector\n\nFingerMetrics currently uses a custom vector with a fixed size to track\ncurrently touching fingers. Replace this customer vector with\nstd::vector to track an indefinite number of fingers.\n\nBUG\u003db:322173064\nTEST\u003dDeployed to DUT and tested with trackpad that would otherwise\ngenerate \"out of space\" error.\n\nChange-Id: I362b75847b6753f2fac9d2e076727cabe129f12a\nReviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/gestures/+/5320049\nReviewed-by: Henry Barnor \u003chbarnor@chromium.org\u003e\nCommit-Queue: William Mahon \u003cwmahon@google.com\u003e\nTested-by: William Mahon \u003cwmahon@google.com\u003e\nCode-Coverage: Zoss \u003czoss-cl-coverage@prod.google.com\u003e\nReviewed-by: Sean O\u0027Brien \u003cseobrien@chromium.org\u003e\n"
    },
    {
      "commit": "fea3ca4ec92fbbe738b2c6f1fc512c08467fc291",
      "tree": "c0bf262d0580af0cfd39fb322442a4466477761d",
      "parents": [
        "51930785d8c96bde83b5a2c6530f793099309449"
      ],
      "author": {
        "name": "Harry Cutts",
        "email": "hcutts@chromium.org",
        "time": "Thu Feb 22 20:09:15 2024"
      },
      "committer": {
        "name": "Chromeos LUCI",
        "email": "chromeos-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Fri Feb 23 17:47:23 2024"
      },
      "message": "Include Address Sanitizer when sanitizers are enabled\n\nIn practice, this is just when running unit tests.\n\nBUG\u003db:318520168\nTEST\u003dadd -fsanitize\u003daddress to compiler flags, run unit tests [0], and\n     check no address sanitization failures are reported\n\n[0]: cros_sdk env FEATURES\u003d\"test\" emerge-${BOARD} chromeos-base/gestures\n\nChange-Id: Ifd8c335413238a1c0477100532a575d049a76261\nReviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/gestures/+/5318358\nTested-by: Harry Cutts \u003chcutts@chromium.org\u003e\nReviewed-by: Sean O\u0027Brien \u003cseobrien@chromium.org\u003e\nCommit-Queue: Harry Cutts \u003chcutts@chromium.org\u003e\nCode-Coverage: Sean O\u0027Brien \u003cseobrien@chromium.org\u003e\n"
    },
    {
      "commit": "51930785d8c96bde83b5a2c6530f793099309449",
      "tree": "f32484b6229d74aa41688657800c3c533dda9d88",
      "parents": [
        "8c21303fa6066e51d9de549817ed1ef66943a510"
      ],
      "author": {
        "name": "Harry Cutts",
        "email": "hcutts@chromium.org",
        "time": "Thu Feb 22 20:07:14 2024"
      },
      "committer": {
        "name": "Chromeos LUCI",
        "email": "chromeos-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Fri Feb 23 17:47:21 2024"
      },
      "message": "immediate_interpreter_unittest: fix memory leaks\n\nA few pointers held in local variables weren\u0027t getting deallocated after\nuse. The objects don\u0027t need to be on the heap anyway, so put them on the\nstack instead.\n\nBUG\u003db:318520168\nTEST\u003dadd -fsanitize\u003daddress to compiler flags, run unit tests [0], and\n     check no address sanitization failures are reported\n\n[0]: cros_sdk env FEATURES\u003d\"test\" emerge-${BOARD} chromeos-base/gestures\n\nChange-Id: I5ec6ef00e2fcc8d050adc9885719d0d1af305c1e\nReviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/gestures/+/5318357\nTested-by: Harry Cutts \u003chcutts@chromium.org\u003e\nCode-Coverage: Sean O\u0027Brien \u003cseobrien@chromium.org\u003e\nReviewed-by: Sean O\u0027Brien \u003cseobrien@chromium.org\u003e\nCommit-Queue: Harry Cutts \u003chcutts@chromium.org\u003e\n"
    },
    {
      "commit": "8c21303fa6066e51d9de549817ed1ef66943a510",
      "tree": "1471361400df0ab33750907d044df9a0304c9ddf",
      "parents": [
        "f735f3e2e18c7f1383a742c1bdeec887ebba5670"
      ],
      "author": {
        "name": "Harry Cutts",
        "email": "hcutts@chromium.org",
        "time": "Thu Feb 22 18:51:12 2024"
      },
      "committer": {
        "name": "Chromeos LUCI",
        "email": "chromeos-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Fri Feb 23 17:47:19 2024"
      },
      "message": "interpreter_unittest: fix memory leaks\n\nExcept for a few manual changes in SimpleTest around base_interpreter2,\nthis CL was is the result of the following Vim substitutions:\n\n    %s/\\([a-zA-Z]\\+\\)\\* base_interpreter \u003d\\n\\?\\s*new \\1(/\\1 base_interpreter(\n    %s/base_interpreter();/base_interpreter;\n    %s/base_interpreter-\u003e/base_interpreter./g\n    %s/TestInterpreterWrapper wrapper(base_interpreter);/TestInterpreterWrapper wrapper(\\\u0026base_interpreter);\n\nBUG\u003db:318520168\nTEST\u003dadd -fsanitize\u003daddress to compiler flags, run unit tests [0], and\n     check no address sanitization failures are reported from\n     interpreter_unittest.cc\n\n[0]: cros_sdk env FEATURES\u003d\"test\" emerge-${BOARD} chromeos-base/gestures\n\nChange-Id: Id4148d8264e6260bce4b0d16c15d5f54ed944ea6\nReviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/gestures/+/5318356\nTested-by: Harry Cutts \u003chcutts@chromium.org\u003e\nReviewed-by: Henry Barnor \u003chbarnor@chromium.org\u003e\nReviewed-by: Kenneth Albanowski \u003ckenalba@google.com\u003e\nCode-Coverage: Henry Barnor \u003chbarnor@chromium.org\u003e\nCommit-Queue: Harry Cutts \u003chcutts@chromium.org\u003e\n"
    },
    {
      "commit": "f735f3e2e18c7f1383a742c1bdeec887ebba5670",
      "tree": "9123a834c99614803e174bff86b517aed4acb53e",
      "parents": [
        "a923bceb79cfac0c4e9ee46482c317c004ee0f32"
      ],
      "author": {
        "name": "Harry Cutts",
        "email": "hcutts@chromium.org",
        "time": "Thu Feb 22 19:47:48 2024"
      },
      "committer": {
        "name": "Chromeos LUCI",
        "email": "chromeos-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Fri Feb 23 17:47:17 2024"
      },
      "message": "prop_registry: fix memory leak of Json::Values\n\nUsing new in BoolArrayProperty::NewValue was allocating the values on\nthe heap but then immediately casting them to a reference that was\nstd::moved into the list, meaning that there was no way to deallocate\nthe Json::Values later. This appears to have been a one-off mistake, as\nthe similar code in DoubleArrayProperty::NewValue and\nIntArrayProperty::NewValue create Json::Values and pass them as r-value\nreferences, which is the fix here also.\n\nThis was detected by Address Sanitizer running PropRegistryTest\nBoolArrayTest.\n\nBUG\u003db:318520168\nTEST\u003dadd -fsanitize\u003daddress to compiler flags, run unit tests [0], and\n     check no address sanitization failures are reported from\n     prop_registry_unittest.cc\n\n[0]: cros_sdk env FEATURES\u003d\"test\" emerge-${BOARD} chromeos-base/gestures\n\nChange-Id: Ifb40b04be26521ebb32caacb22376bd471b25f29\nReviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/gestures/+/5318355\nTested-by: Harry Cutts \u003chcutts@chromium.org\u003e\nCode-Coverage: Zoss \u003czoss-cl-coverage@prod.google.com\u003e\nCommit-Queue: Harry Cutts \u003chcutts@chromium.org\u003e\nReviewed-by: Kenneth Albanowski \u003ckenalba@google.com\u003e\nReviewed-by: Torsha Banerjee \u003ctorsha@google.com\u003e\n"
    },
    {
      "commit": "a923bceb79cfac0c4e9ee46482c317c004ee0f32",
      "tree": "ffa8b2ca6dbcc8cbafe45636612adecf7a7500b4",
      "parents": [
        "89e5629b7f2d92f66b2b15c326355aa7143b8d5f"
      ],
      "author": {
        "name": "Harry Cutts",
        "email": "hcutts@chromium.org",
        "time": "Wed Feb 21 17:23:55 2024"
      },
      "committer": {
        "name": "Chromeos LUCI",
        "email": "chromeos-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Thu Feb 22 22:21:42 2024"
      },
      "message": "Move SplitString util into activity_replay_unittest.cc\n\nThe test for SplitString causes crashes deep within the C++ standard\nlibrary when the address sanitizer is enabled. Since it\u0027s only used in\none (disabled-by-default) test method, just move it into that file so\nthat it\u0027s no longer considered \"production\" code that needs test\ncoverage.\n\nIdeally, if we still need this \"test\" (which appears to actually be code\nfor an old developer tool, tools/replay_log) and the ability to pass the\n--only_honor flag, we\u0027d refactor SplitString to use C++ std::string\nmethods, but since I\u0027m not sure the replay_log tool will actually run at\nthe moment, I don\u0027t think it\u0027s worth investing the time unless we decide\nwe want it. I\u0027ve filed https://issuetracker.google.com/326088876 to\ntrack this issue.\n\nBUG\u003db:318520168\nTEST\u003dcros_sdk env FEATURES\u003d\"test\" emerge-${BOARD} chromeos-base/gestures\n\nChange-Id: I24632c2a78fcdba3fed27eadb981f0af5bb737e9\nReviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/gestures/+/5318730\nCommit-Queue: Harry Cutts \u003chcutts@chromium.org\u003e\nReviewed-by: Sean O\u0027Brien \u003cseobrien@chromium.org\u003e\nCode-Coverage: Zoss \u003czoss-cl-coverage@prod.google.com\u003e\nTested-by: Harry Cutts \u003chcutts@chromium.org\u003e\n"
    },
    {
      "commit": "89e5629b7f2d92f66b2b15c326355aa7143b8d5f",
      "tree": "dc22677f6d7af0007865a04c5e1bb91040bf6da7",
      "parents": [
        "a216de6f779dc917f6f53302c4f353117d6159d2"
      ],
      "author": {
        "name": "Harry Cutts",
        "email": "hcutts@chromium.org",
        "time": "Wed Feb 14 12:21:26 2024"
      },
      "committer": {
        "name": "Chromeos LUCI",
        "email": "chromeos-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Wed Feb 21 13:09:54 2024"
      },
      "message": "Enable Undefined Behaviour Sanitizer when running tests\n\nThis sanitizer is already enabled on Android. When Android upgrades to\nthe latest version of the library, we often discover sanitizer crashes\nand have to fix them all at once before we can upgrade. Enabling more\nsanitizers in the ChromeOS build should detect these crashes before\nthey\u0027re submitted into the ChromeOS tree.\n\nWe\u0027d like to enable the sanitizers in all builds, but because of the\ncrashes that could be caused that\u0027ll take a more considered rollout\nstrategy. For now, enabling them when running unit tests is a good\nstart.\n\nBUG\u003db:318520168\nTEST\u003dAdd an integer overflow problem (int32_t k \u003d 0x7fffffff; k++;) in\n     the DistSq util function, run the unit tests [0], and check the\n     UtilTest DistSqTest crashes with a suitable UBSan error.\n\n[0]: cros_sdk env FEATURES\u003d\"test\" emerge-${BOARD} chromeos-base/gestures\n\nChange-Id: I9677376f5500f5434198e17f540d173e0a9317a9\nReviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/gestures/+/5296935\nTested-by: Harry Cutts \u003chcutts@chromium.org\u003e\nCommit-Queue: Harry Cutts \u003chcutts@chromium.org\u003e\nReviewed-by: Aseda Aboagye \u003caaboagye@chromium.org\u003e\nReviewed-by: Henry Barnor \u003chbarnor@chromium.org\u003e\nCode-Coverage: Henry Barnor \u003chbarnor@chromium.org\u003e\n"
    },
    {
      "commit": "a216de6f779dc917f6f53302c4f353117d6159d2",
      "tree": "c3600206341cc77fd7357838450ed1f3b2c5f0ed",
      "parents": [
        "4e0bb4587f6193814a8c54bfad689e4de11716d5"
      ],
      "author": {
        "name": "Harry Cutts",
        "email": "hcutts@chromium.org",
        "time": "Wed Feb 14 17:16:12 2024"
      },
      "committer": {
        "name": "Chromeos LUCI",
        "email": "chromeos-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Tue Feb 20 16:19:27 2024"
      },
      "message": "Makefile: remove -DXLOGGING compiler flag\n\nThis was added back in 2011 (https://crrev.com/c/4137) in conjunction\nwith moving the library to use the X11 xf86MsgVerb logging function\n(which avoided uses of malloc, a source of issues on X11 at the time).\nWe no longer use this logging function, and the library is no longer\nused with X11 display servers, so we should be able to remove this now.\n\nBUG\u003dNone\nTEST\u003dcros_sdk env FEATURES\u003d\"test\" emerge-${BOARD} chromeos-base/gestures\n\nChange-Id: I24bf883ffde2f488181e767cf0bb4e457f48124b\nReviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/gestures/+/5297055\nCommit-Queue: Sean O\u0027Brien \u003cseobrien@chromium.org\u003e\nReviewed-by: Sean O\u0027Brien \u003cseobrien@chromium.org\u003e\nTested-by: Harry Cutts \u003chcutts@chromium.org\u003e\nAuto-Submit: Harry Cutts \u003chcutts@chromium.org\u003e\nCode-Coverage: Sean O\u0027Brien \u003cseobrien@chromium.org\u003e\n"
    },
    {
      "commit": "4e0bb4587f6193814a8c54bfad689e4de11716d5",
      "tree": "779f927a6df46b95d8abc0e5ed193d660a69e60e",
      "parents": [
        "23b521c6af529a48b8d5d82833cfa2f31ab57219"
      ],
      "author": {
        "name": "seobrien",
        "email": "seobrien@chromium.org",
        "time": "Fri Dec 29 22:37:44 2023"
      },
      "committer": {
        "name": "Chromeos LUCI",
        "email": "chromeos-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Tue Jan 23 15:07:54 2024"
      },
      "message": "Add a buffer to smooth mouse scroll acceleration\n\nSometimes a bluetooth mouse will send multiple scroll events in quick\nsuccession when in reality they were generated more slowly. This can\ncause a large spike in scroll velocity. We already make sure that we use\na minimum time delta between events when calculating scroll velocity,\nbut the issue is still noticieable. Increasing this time delta can help,\nbut degrades scroll acceleration when the user intends to scorll fast.\n\nIn this CL, we add a small buffer of scroll events that we use to\ncalculate scroll velocity for the purpose of scroll acceleration.  This\nallows us to accelerate scrolls appropriately when the user is\nconsistently scrolling quickly, without spurious spikes in acceleration\nwhen we receive batched bluetooth events.\n\nBUG\u003db:232137263\nTEST\u003dmanual testing, check for degredation in unittests and\ntouchpad-tests, add touchpad-tests regression test.\n\nCq-Depend: chromium:5159508\nChange-Id: I4b72fc0a2649dfc6628008668484e624f335a5e6\nReviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/gestures/+/5159108\nReviewed-by: Kenneth Albanowski \u003ckenalba@google.com\u003e\nCommit-Queue: Sean O\u0027Brien \u003cseobrien@chromium.org\u003e\nReviewed-by: Aseda Aboagye \u003caaboagye@chromium.org\u003e\nReviewed-by: Torsha Banerjee \u003ctorsha@google.com\u003e\nTested-by: Sean O\u0027Brien \u003cseobrien@chromium.org\u003e\nCode-Coverage: Zoss \u003czoss-cl-coverage@prod.google.com\u003e\n"
    },
    {
      "commit": "23b521c6af529a48b8d5d82833cfa2f31ab57219",
      "tree": "e3476568a4062f21c589d60f4d8850a7887ec835",
      "parents": [
        "b31ef0adcaff61c045e95158cb9720543b42b531"
      ],
      "author": {
        "name": "Ryan Beltran",
        "email": "ryanbeltran@chromium.org",
        "time": "Wed Jan 03 01:21:29 2024"
      },
      "committer": {
        "name": "Chromeos LUCI",
        "email": "chromeos-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Wed Jan 10 21:23:54 2024"
      },
      "message": "Fix findings of wvla-cxx-extension\n\nThis CL fixes occurances of the wvla-cxx-extension warning in\nplatform/gestures. This is a newly introduced warning in Clang and\nexisting occurances in ChromeOS break compatibility with future releases\nof LLVM.\n\nBUG\u003db:316021385\nTEST\u003demerge-atlas chromeos-base/gestures\n\nChange-Id: If0eb2999d8a5abc3a367dc1c863d53258804d721\nReviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/gestures/+/5160432\nReviewed-by: Harry Cutts \u003chcutts@chromium.org\u003e\nCommit-Queue: Ryan Beltran \u003cryanbeltran@chromium.org\u003e\nCode-Coverage: Sean O\u0027Brien \u003cseobrien@chromium.org\u003e\nTested-by: Ryan Beltran \u003cryanbeltran@chromium.org\u003e\n"
    },
    {
      "commit": "b31ef0adcaff61c045e95158cb9720543b42b531",
      "tree": "9012ca55ccadd34d3db041f79e4b807bedfe4926",
      "parents": [
        "d2ec17e2817001e97841fbab6da708a4183da4e1"
      ],
      "author": {
        "name": "Harry Cutts",
        "email": "hcutts@google.com",
        "time": "Fri Dec 08 16:15:44 2023"
      },
      "committer": {
        "name": "Chromeos LUCI",
        "email": "chromeos-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Wed Dec 13 17:46:28 2023"
      },
      "message": "ImmediateInterpreter: fix UBSan vla-bound check failure\n\nThe fs array in GetGesturingFingers could potentially be given a length\nof 0 (a valid value of HardwareState::finger_cnt). Allocating a\nzero-length array can lead to undefined behaviour in C++, so this is\ncausing a crash due to UBSan\u0027s vla-bound check in Android. While I\u0027m\nunable to reproduce the crash locally, the stack trace points to the\nline declaring fs, and it\u0027s the only variable-length array in the\nmethod, so I think we can be confident that this is the fix.\n\nBUG\u003db:315418482\nTEST\u003dOn Android, run Gestures library and inputflinger tests; install\n     the library on a device and check motions, gestures, etc. perform\n     normally (tested on a Pixel Tablet with an Apple Magic Trackpad 1)\n\nChange-Id: If0bbe7f43ccd761f4a9cb80a55b69cb94e371ba1\nReviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/gestures/+/5106028\nCode-Coverage: Zoss \u003czoss-cl-coverage@prod.google.com\u003e\nAuto-Submit: Harry Cutts \u003chcutts@chromium.org\u003e\nCommit-Queue: Harry Cutts \u003chcutts@chromium.org\u003e\nCode-Coverage: Torsha Banerjee \u003ctorsha@google.com\u003e\nReviewed-by: Henry Barnor \u003chbarnor@chromium.org\u003e\nReviewed-by: Torsha Banerjee \u003ctorsha@google.com\u003e\nTested-by: Harry Cutts \u003chcutts@chromium.org\u003e\n"
    },
    {
      "commit": "d2ec17e2817001e97841fbab6da708a4183da4e1",
      "tree": "2bfa3e2fad950c3061e356718fb841f456611090",
      "parents": [
        "81c9ccb03ad4279d6e9dbc701ad970a2ed8b6ada"
      ],
      "author": {
        "name": "Harry Cutts",
        "email": "hcutts@google.com",
        "time": "Fri Dec 01 14:25:03 2023"
      },
      "committer": {
        "name": "Chromeos LUCI",
        "email": "chromeos-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Fri Dec 01 20:02:05 2023"
      },
      "message": "ImmediateInterpreter: initialize prev_gesture_type_\n\nThe first time SyncInterpretImpl was called after the interpreter was\ncreated, the unitialized value of prev_gesture_type_ would be loaded\ninto memory. This often caused a Clang\u0027s undefined behaviour sanitizer\n(UBSan) to abort with a load-invalid-value error.\n\nBUG\u003db:313902875\nTEST\u003dOn a Pixel Tablet, connect a touchpad and check it doesn\u0027t crash\n     (repeat a few times)\n\nChange-Id: I8f3f588c026d71aee58a0aa5a5adbe20ad6a100a\nReviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/gestures/+/5079347\nTested-by: Harry Cutts \u003chcutts@chromium.org\u003e\nReviewed-by: Sean O\u0027Brien \u003cseobrien@chromium.org\u003e\nCommit-Queue: Sean O\u0027Brien \u003cseobrien@chromium.org\u003e\nAuto-Submit: Harry Cutts \u003chcutts@chromium.org\u003e\nCode-Coverage: Zoss \u003czoss-cl-coverage@prod.google.com\u003e\nCommit-Queue: Harry Cutts \u003chcutts@chromium.org\u003e\n"
    },
    {
      "commit": "81c9ccb03ad4279d6e9dbc701ad970a2ed8b6ada",
      "tree": "5dc035a3a1a04d7d0fa8e635f1e1600af1c5ea40",
      "parents": [
        "e1b20730a2a0cbccb0bc4a1bd98229a33117a407"
      ],
      "author": {
        "name": "Arpit Singh",
        "email": "arpitks@google.com",
        "time": "Mon Nov 27 18:39:28 2023"
      },
      "committer": {
        "name": "Chromeos LUCI",
        "email": "chromeos-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Tue Nov 28 10:49:28 2023"
      },
      "message": "Disable sanitizers for x86_64 explicitly\n\nWe are getting test failures on Android, to unblock upgrade of\ngesturelib on Android disabling sanitizers on x86_64 explicitly\n\nTest\u003datest libchrome-gestures_test\nBug\u003db:311110623\n\nChange-Id: Ie98ad1aff3a5f3d16acd58140b8d3ca86db27a09\nReviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/gestures/+/5062954\nCode-Coverage: Harry Cutts \u003chcutts@chromium.org\u003e\nReviewed-by: Harry Cutts \u003chcutts@chromium.org\u003e\nReviewed-by: Pirama Arumuga Nainar \u003cpirama@google.com\u003e\nCode-Coverage: Arpit Singh \u003carpitks@google.com\u003e\nAuto-Submit: Arpit Singh \u003carpitks@google.com\u003e\nCommit-Queue: Harry Cutts \u003chcutts@chromium.org\u003e\nTested-by: Arpit Singh \u003carpitks@google.com\u003e\n"
    },
    {
      "commit": "e1b20730a2a0cbccb0bc4a1bd98229a33117a407",
      "tree": "788f20ad22b988c1dfbf77a56ec4bd478f8bb426",
      "parents": [
        "705a01132d889586bc816edf2cefb1c541980712"
      ],
      "author": {
        "name": "Harry Cutts",
        "email": "hcutts@google.com",
        "time": "Thu Nov 23 11:45:48 2023"
      },
      "committer": {
        "name": "Chromeos LUCI",
        "email": "chromeos-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Mon Nov 27 21:01:38 2023"
      },
      "message": "Note that HardwareState::fingers can be null\n\nBUG\u003db:245989146\nTEST\u003dnone\n\nChange-Id: Ie80d06b0d2e05be1190c423872465d55285e9d35\nReviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/gestures/+/5056835\nCode-Coverage: Zoss \u003czoss-cl-coverage@prod.google.com\u003e\nCommit-Queue: Henry Barnor \u003chbarnor@chromium.org\u003e\nTested-by: Harry Cutts \u003chcutts@chromium.org\u003e\nCode-Coverage: Henry Barnor \u003chbarnor@chromium.org\u003e\nTested-by: Arpit Singh \u003carpitks@google.com\u003e\nAuto-Submit: Harry Cutts \u003chcutts@chromium.org\u003e\nReviewed-by: Henry Barnor \u003chbarnor@chromium.org\u003e\nReviewed-by: Arpit Singh \u003carpitks@google.com\u003e\n"
    },
    {
      "commit": "705a01132d889586bc816edf2cefb1c541980712",
      "tree": "b152cef8ea688b0f18ba624721d38265fc9ac93e",
      "parents": [
        "9d24d86552e0825e1c262563644ff55bb9bce5c0"
      ],
      "author": {
        "name": "Arpit Singh",
        "email": "arpitks@google.com",
        "time": "Mon Nov 27 10:56:21 2023"
      },
      "committer": {
        "name": "Chromeos LUCI",
        "email": "chromeos-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Mon Nov 27 16:41:37 2023"
      },
      "message": "Disable sanitizers for x86\n\nWe are getting test failures on x86 on Android, to unblock upgrade of\ngesturelib on Android disabling sanitizers on x86\n\nTest\u003datest libchrome-gestures_test\nBug\u003db:311110623\n\nChange-Id: Idd1ee3683d6d787b7b08c099ce04b1b2f25b35ca\nReviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/gestures/+/5059091\nReviewed-by: Harry Cutts \u003chcutts@chromium.org\u003e\nCommit-Queue: Arpit Singh \u003carpitks@google.com\u003e\nTested-by: Arpit Singh \u003carpitks@google.com\u003e\nCode-Coverage: Harry Cutts \u003chcutts@chromium.org\u003e\nCommit-Queue: Harry Cutts \u003chcutts@chromium.org\u003e\n"
    },
    {
      "commit": "9d24d86552e0825e1c262563644ff55bb9bce5c0",
      "tree": "b460eb3e5651dedc8559418740f743627e207417",
      "parents": [
        "40d47ef25760b4d2226f72aefaf591b9f0925cea"
      ],
      "author": {
        "name": "Arpit Singh",
        "email": "arpitks@google.com",
        "time": "Thu Nov 23 07:11:01 2023"
      },
      "committer": {
        "name": "Chromeos LUCI",
        "email": "chromeos-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Fri Nov 24 14:55:16 2023"
      },
      "message": "Avoid calling memcpy with invalid destination\n\nDeep copy of a HardwareState with zero fingers causes memcpy call\nto copy zero bytes to a null destination. This behaviour is undefined\n and UndefinedBehaviorSanitizer on Android complains about it. This\nchange adds a check to avoid this unnecessary call.\n\nBUG\u003db:302505955\nTEST\u003datest libchrome-gestures_test\n\nChange-Id: I037214e42ac9299260f4c4ed7eb09adcd5a7c06c\nReviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/gestures/+/5054360\nCommit-Queue: Harry Cutts \u003chcutts@chromium.org\u003e\nReviewed-by: Harry Cutts \u003chcutts@chromium.org\u003e\nCode-Coverage: Zoss \u003czoss-cl-coverage@prod.google.com\u003e\nTested-by: Arpit Singh \u003carpitks@google.com\u003e\n"
    },
    {
      "commit": "40d47ef25760b4d2226f72aefaf591b9f0925cea",
      "tree": "803e4afeae8045ef6b63aed74c19a3690b84e831",
      "parents": [
        "9eb34c7b68d88a4c773f8f20fc64e57e5b29f988"
      ],
      "author": {
        "name": "Henry Barnor",
        "email": "hbarnor@chromium.org",
        "time": "Thu Nov 09 00:37:32 2023"
      },
      "committer": {
        "name": "Chromeos LUCI",
        "email": "chromeos-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Thu Nov 16 00:49:55 2023"
      },
      "message": "Ensure touchpad stack version is included with logs\n\nUse a pointer instead of a temporary variable to hold the touchpad\nstack version used to initialize the gesture library. This ensures\nthat the touchpad stack version is automatically included when logs\nare generated. The temporary variable was getting destroyed when it\nwent of scope resulting in logs not having the information.\n\nBUG\u003db:283179221\nTEST\u003dCQ\nTEST\u003dDeployed to Brya device, confirmed in submitted feedback report.\n\nChange-Id: I57e7652891c65e747b2c983d459979f08d00539a\nReviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/gestures/+/5015362\nReviewed-by: Sean O\u0027Brien \u003cseobrien@chromium.org\u003e\nTested-by: Henry Barnor \u003chbarnor@chromium.org\u003e\nCommit-Queue: Henry Barnor \u003chbarnor@chromium.org\u003e\nCode-Coverage: Zoss \u003czoss-cl-coverage@prod.google.com\u003e\n"
    },
    {
      "commit": "9eb34c7b68d88a4c773f8f20fc64e57e5b29f988",
      "tree": "1a614c8f51abd751ac3acfaf70f193ddd73e0994",
      "parents": [
        "00d2b6cbb14c971e3976fac3d97ceea4f7e1e116"
      ],
      "author": {
        "name": "George Burgess IV",
        "email": "gbiv@google.com",
        "time": "Wed Nov 08 15:44:20 2023"
      },
      "committer": {
        "name": "Chromeos LUCI",
        "email": "chromeos-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Sat Nov 11 00:42:46 2023"
      },
      "message": "fix -Wmissing-field-initializers warnings\n\nClang\u0027s -Wmissing-field-initializers now complains about missing\ninitializers in structs init\u0027ed using `.designators`. Fix up about 100\ninstances of this.\n\nBUG\u003db:305723283\nTEST\u003dFEATURES\u003dtest emerge-hana\n\nChange-Id: Ida87c19428aebdeee94eaf4a95f2339f8d0e63d7\nReviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/gestures/+/5014383\nCommit-Queue: Henry Barnor \u003chbarnor@chromium.org\u003e\nReviewed-by: Henry Barnor \u003chbarnor@chromium.org\u003e\nTested-by: George Burgess \u003cgbiv@chromium.org\u003e\nCode-Coverage: Henry Barnor \u003chbarnor@chromium.org\u003e\n"
    },
    {
      "commit": "00d2b6cbb14c971e3976fac3d97ceea4f7e1e116",
      "tree": "b5123b0d0bada8a18412578c102e7eff38dc6441",
      "parents": [
        "558a2420ad3d1ac5ac8ef7f6707abc2bf1d8b8e2"
      ],
      "author": {
        "name": "AdityaK",
        "email": "appujee@google.com",
        "time": "Tue Oct 31 18:48:37 2023"
      },
      "committer": {
        "name": "Chromeos LUCI",
        "email": "chromeos-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Thu Nov 02 18:59:39 2023"
      },
      "message": "Fix visitor\n\n```\nexternal/libcxx/include/variant:587:19: error: static assertion failed due to requirement \u0027is_invocable_v\u003c(anonymous namespace)::Visitor (lambda at external/libchrome-gestures/src/activity_replay.cc: `std::visit` requires the visitor to be exhaustive.\n  587 |     static_assert(is_invocable_v\u003c_Visitor, _Values...\u003e,\n\n```\nTest:\nsource build/envsetup.sh\nlunch aosp_x86_64-userdebug\ncd master-plus-llvm/external/libchrome-gestures\nmm\n\nBug: b/308807804\n\nChange-Id: Ia0150688a6715370f3365ee790a8cba0b18ba38c\nReviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/gestures/+/4996084\nAuto-Submit: Aditya Kumar \u003cappujee@google.com\u003e\nCommit-Queue: Aditya Kumar \u003cappujee@google.com\u003e\nReviewed-by: Sean O\u0027Brien \u003cseobrien@chromium.org\u003e\nCode-Coverage: Zoss \u003czoss-cl-coverage@prod.google.com\u003e\nTested-by: Aditya Kumar \u003cappujee@google.com\u003e\n"
    },
    {
      "commit": "558a2420ad3d1ac5ac8ef7f6707abc2bf1d8b8e2",
      "tree": "f1fbb34422e5f969c68c707ccc1dab139d63c1e3",
      "parents": [
        "9e76b2e05a5b6fa723814dfb32e1a6a76aba7a7a"
      ],
      "author": {
        "name": "seobrien",
        "email": "seobrien@chromium.org",
        "time": "Thu Oct 26 21:32:37 2023"
      },
      "committer": {
        "name": "Chromeos LUCI",
        "email": "chromeos-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Fri Oct 27 20:22:55 2023"
      },
      "message": "Set delegate to handle changes to debug logging\n\nChanges to debug logging status was not being applied properly there was\nno delegate to handle changes to the gesture property. This CL makes\nsure the event debug logging property it handled.\n\nBUG\u003db:286851905\nTEST\u003ddeploy and check that IntWasWritten is called.\n\nChange-Id: I7a9c9200e7a21c33b3076858073f9d9d18009d17\nReviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/gestures/+/4979150\nTested-by: Sean O\u0027Brien \u003cseobrien@chromium.org\u003e\nCode-Coverage: Zoss \u003czoss-cl-coverage@prod.google.com\u003e\nReviewed-by: Torsha Banerjee \u003ctorsha@google.com\u003e\nCommit-Queue: Sean O\u0027Brien \u003cseobrien@chromium.org\u003e\nCode-Coverage: Torsha Banerjee \u003ctorsha@google.com\u003e\nReviewed-by: Henry Barnor \u003chbarnor@chromium.org\u003e\n"
    },
    {
      "commit": "9e76b2e05a5b6fa723814dfb32e1a6a76aba7a7a",
      "tree": "ff17c332eb29b0744f0ae185664545e9227ba4f1",
      "parents": [
        "03240a10b06613b645207d875be6b82d63dee02e"
      ],
      "author": {
        "name": "Harry Cutts",
        "email": "hcutts@google.com",
        "time": "Fri Oct 20 17:02:21 2023"
      },
      "committer": {
        "name": "Chromeos LUCI",
        "email": "chromeos-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Thu Oct 26 18:07:40 2023"
      },
      "message": "ImmediateInterpreter: replace origin_timestamps_ with metrics\n\nOrigin timestamps were already being collected by FingerMetrics, so\nremoving origin_timestamps_ reduces duplication and should make it\neasier to separate out the tap-to-click logic later.\n\nBUG\u003db:245989146\nTEST\u003drun unit tests on Android; try tapping to click before and after\n     the change, check there\u0027s no behaviour difference\n\nChange-Id: I5e0afb9e4a640b15de1255e3d3d27a9e9eb12d54\nReviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/gestures/+/4966486\nReviewed-by: Denis Brockus \u003cdbrockus@chromium.org\u003e\nCode-Coverage: Zoss \u003czoss-cl-coverage@prod.google.com\u003e\nTested-by: Harry Cutts \u003chcutts@chromium.org\u003e\nCommit-Queue: Harry Cutts \u003chcutts@chromium.org\u003e\n"
    },
    {
      "commit": "03240a10b06613b645207d875be6b82d63dee02e",
      "tree": "b7e2d3c6544c75a551f482c914b7ffa6bf7baf49",
      "parents": [
        "58beefcfe7b7d67f065d420d3596a12736698720"
      ],
      "author": {
        "name": "Arpit Singh",
        "email": "arpitks@google.com",
        "time": "Tue Oct 10 19:02:39 2023"
      },
      "committer": {
        "name": "Chromeos LUCI",
        "email": "chromeos-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Thu Oct 26 17:43:09 2023"
      },
      "message": "Expose flag to report palm detected by firmware to gestures-lib\n\nWe currently don\u0027t report palms detected by firmware to gestures-lib,\nthis leads to situations where gesture lib consideres a touch to be\nlifted if  its reported as palm by firmware. This can also cause\nunintended tap-to-click, and prevent bottom-right click from working as\nintended.\n\nBUG\u003db:302505955\nTEST\u003datest libchrome-gestures_test\n\nChange-Id: I172af6b3d46997bfefe68b4bede5c80d522bad3d\nReviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/gestures/+/4974106\nCode-Coverage: Zoss \u003czoss-cl-coverage@prod.google.com\u003e\nReviewed-by: Harry Cutts \u003chcutts@chromium.org\u003e\nTested-by: Arpit Singh \u003carpitks@google.com\u003e\nReviewed-by: Sean O\u0027Brien \u003cseobrien@chromium.org\u003e\nCommit-Queue: Harry Cutts \u003chcutts@chromium.org\u003e\n"
    },
    {
      "commit": "58beefcfe7b7d67f065d420d3596a12736698720",
      "tree": "c885008f6b8e1c33e098a788fb48dbcbab51b25d",
      "parents": [
        "eff665b6e8184b98b4139e576d0c0194c84b1937"
      ],
      "author": {
        "name": "David Padlipsky",
        "email": "dpad@google.com",
        "time": "Tue Oct 24 19:25:16 2023"
      },
      "committer": {
        "name": "Chromeos LUCI",
        "email": "chromeos-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Tue Oct 24 22:49:01 2023"
      },
      "message": "gestures: Add support for differentiating BTN_SIDE and BTN_EXTRA\n\nBUG\u003db:241965717\nTEST\u003dUSE\u003d\"coverage\" FEATURES\u003d\"test noclean\" emerge-brya chromeos-base/gestures\n\nChange-Id: I65605f928f8524c9c494a8cea6432f51c084c848\nReviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/gestures/+/4973858\nTested-by: David Padlipsky \u003cdpad@google.com\u003e\nCommit-Queue: David Padlipsky \u003cdpad@google.com\u003e\nReviewed-by: Sean O\u0027Brien \u003cseobrien@chromium.org\u003e\nCode-Coverage: Zoss \u003czoss-cl-coverage@prod.google.com\u003e\n"
    },
    {
      "commit": "eff665b6e8184b98b4139e576d0c0194c84b1937",
      "tree": "dffdea8cb405bbc28dbcd282864158069958b91d",
      "parents": [
        "36467839006b1aef5ae93cb17e7b355fff1b9dd0"
      ],
      "author": {
        "name": "Harry Cutts",
        "email": "hcutts@google.com",
        "time": "Thu Oct 05 14:41:17 2023"
      },
      "committer": {
        "name": "Chromeos LUCI",
        "email": "chromeos-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Wed Oct 18 13:55:48 2023"
      },
      "message": "Android.bp: sanitize tests, enable more sanitizers\n\nSince some of the unit tests are quite complex, I think it\u0027s worth\nenabling sanitizers for them.\n\nBUG\u003db:302041840\nTEST\u003drun unit tests on Android\n\nChange-Id: Id5fea00ff5e633c2d202ef539b03920c4dbf096c\nReviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/gestures/+/4916790\nReviewed-by: Denis Brockus \u003cdbrockus@chromium.org\u003e\nTested-by: Harry Cutts \u003chcutts@chromium.org\u003e\nCode-Coverage: Denis Brockus \u003cdbrockus@chromium.org\u003e\nReviewed-by: Siarhei Vishniakou \u003csvv@google.com\u003e\nCommit-Queue: Denis Brockus \u003cdbrockus@chromium.org\u003e\n"
    },
    {
      "commit": "36467839006b1aef5ae93cb17e7b355fff1b9dd0",
      "tree": "66852921b68406a849d2fb40891bcdd808a0c321",
      "parents": [
        "f658e3cc2ae9ff617a905d810a72b60c7052fcc6"
      ],
      "author": {
        "name": "George Burgess IV",
        "email": "gbiv@google.com",
        "time": "Mon Oct 16 21:49:33 2023"
      },
      "committer": {
        "name": "Chromeos LUCI",
        "email": "chromeos-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Tue Oct 17 00:55:33 2023"
      },
      "message": "gestures: fix ill-formed code\n\nTo resolve ambiguities during overload resolution, `using\nV::operator()...;` is needed here in well-formed C++ code. Clang\nincorrectly let this code pass without diagnostics before. See\ndiscussion on https://reviews.llvm.org/D155387 for more details.\n\nBUG\u003db:305745122\nTEST\u003demerge-jacuzzi gestures\n\nChange-Id: I96dc35d87a0289863adc847a158b62e6f22a655e\nReviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/gestures/+/4944553\nCode-Coverage: Zoss \u003czoss-cl-coverage@prod.google.com\u003e\nTested-by: George Burgess \u003cgbiv@chromium.org\u003e\nReviewed-by: Sean O\u0027Brien \u003cseobrien@chromium.org\u003e\nCommit-Queue: George Burgess \u003cgbiv@chromium.org\u003e\n"
    },
    {
      "commit": "f658e3cc2ae9ff617a905d810a72b60c7052fcc6",
      "tree": "351cac90ed41fba3a69f18eede59bbf3842770e6",
      "parents": [
        "c29490aadfcb87c925c300af5206d5ddfc31b5af"
      ],
      "author": {
        "name": "Harry Cutts",
        "email": "hcutts@google.com",
        "time": "Fri Oct 06 11:19:24 2023"
      },
      "committer": {
        "name": "Chromeos LUCI",
        "email": "chromeos-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Mon Oct 09 23:02:15 2023"
      },
      "message": "LoggingFilterInterpreterTest: use std::tmpnam\n\nThis stops a testlog.dump file from being created in the current\ndirectory when the test gets run, and makes the test pass when run on\nAndroid without an AndroidTest.xml file present (i.e. when developing\noff the upstream main branch without the Android-specific patch that\nadds it).\n\nBUG\u003db:245989146\nTEST\u003drun unit tests on Android\n\nChange-Id: I18f98ea60b259b8e62d522f640419c6d29a71c7f\nReviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/gestures/+/4915780\nCommit-Queue: Torsha Banerjee \u003ctorsha@google.com\u003e\nAuto-Submit: Harry Cutts \u003chcutts@chromium.org\u003e\nCommit-Queue: Henry Barnor \u003chbarnor@chromium.org\u003e\nCode-Coverage: Henry Barnor \u003chbarnor@chromium.org\u003e\nReviewed-by: Torsha Banerjee \u003ctorsha@google.com\u003e\nReviewed-by: Henry Barnor \u003chbarnor@chromium.org\u003e\nTested-by: Harry Cutts \u003chcutts@chromium.org\u003e\n"
    },
    {
      "commit": "c29490aadfcb87c925c300af5206d5ddfc31b5af",
      "tree": "350fb454d9270002dfca3dd327a26aa913df04ec",
      "parents": [
        "835fa04346abda7e1e5eb6bc5d608fc6c6479570"
      ],
      "author": {
        "name": "Harry Cutts",
        "email": "hcutts@google.com",
        "time": "Tue Oct 03 16:50:50 2023"
      },
      "committer": {
        "name": "Chromeos LUCI",
        "email": "chromeos-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Wed Oct 04 10:21:48 2023"
      },
      "message": "ImmediateInterpreter: parameterize TapToClickEnableTest\n\nMaking this a parameterized test makes it a bit clearer what\u0027s going on,\nand allows us to make a couple of other simplifications, like removing\nthe need to reset the interpreter mid-test.\n\nBUG\u003db:245989146\nTEST\u003drun the unit tests on Android; break some expectations and check\n     the failure messages include context (index and test mode)\n\nChange-Id: Ia87e671a7ee6ad2101ccaa61762c50255b6a4f6a\nReviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/gestures/+/4908032\nReviewed-by: Denis Brockus \u003cdbrockus@chromium.org\u003e\nCode-Coverage: Zoss \u003czoss-cl-coverage@prod.google.com\u003e\nReviewed-by: William Mahon \u003cwmahon@google.com\u003e\nTested-by: Harry Cutts \u003chcutts@chromium.org\u003e\nCommit-Queue: Harry Cutts \u003chcutts@chromium.org\u003e\n"
    },
    {
      "commit": "835fa04346abda7e1e5eb6bc5d608fc6c6479570",
      "tree": "d2e1155318ca3cbbb03843c2bc1e9204b0c26900",
      "parents": [
        "bc99649a93831685b4937a77aac148d31eb76204"
      ],
      "author": {
        "name": "Harry Cutts",
        "email": "hcutts@google.com",
        "time": "Fri Sep 15 17:54:18 2023"
      },
      "committer": {
        "name": "Chromeos LUCI",
        "email": "chromeos-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Tue Sep 26 10:57:24 2023"
      },
      "message": "Tidy up HardwareProperties literals in unit tests\n\nSpecifically:\n\n* Use field names in the initializers themselves, rather than comments\n  labelling each value\n  * This reduces the chance of a value getting put in the wrong field by\n    mistake, and allows us to omit values for the points below\n* Remove initialization of deprecated screen_x_dpi and screen_y_dpi\n  fields, except in the activity log tests (where we still want to check\n  they\u0027re recorded correctly)\n* Add default values of 0 for the left and top fields, which allows them\n  to be omitted in most of the literals\n* Add a common constant in the metrics interpreter tests, since they all\n  use the same values and they\u0027re not referenced in assertions etc.\n\nBUG\u003db:245989146\nTEST\u003drun unit tests\n\nChange-Id: Ic1f09aa9f08db914eeb3fdbbbec72ef9f2b90f48\nReviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/gestures/+/4874371\nCommit-Queue: Harry Cutts \u003chcutts@chromium.org\u003e\nTested-by: Harry Cutts \u003chcutts@chromium.org\u003e\nReviewed-by: Denis Brockus \u003cdbrockus@chromium.org\u003e\nCode-Coverage: Zoss \u003czoss-cl-coverage@prod.google.com\u003e\n"
    },
    {
      "commit": "bc99649a93831685b4937a77aac148d31eb76204",
      "tree": "17cd01312a06e8e47962e387456434dea9d79ce4",
      "parents": [
        "ce0611247db0878cba1bc16cf138de88a72ea11f"
      ],
      "author": {
        "name": "Denis Brockus",
        "email": "dbrockus@google.com",
        "time": "Fri Sep 01 15:08:35 2023"
      },
      "committer": {
        "name": "Chromeos LUCI",
        "email": "chromeos-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Wed Sep 20 15:58:51 2023"
      },
      "message": "Remove redundant ActivityLog key string constants\n\nBUG\u003db:286851905\nTEST\u003dUSE\u003d\"coverage\" FEATURES\u003d\"test noclean\" emerge-brya chromeos-base/gesture\nLOW_COVERAGE_REASON\u003dactivity_replay is unit test code only\n\nChange-Id: I68941312f4bd909c9221a3fa3c3c051adc099d08\nReviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/gestures/+/4834762\nReviewed-by: Harry Cutts \u003chcutts@chromium.org\u003e\nCommit-Queue: Denis Brockus \u003cdbrockus@chromium.org\u003e\nCode-Coverage: Zoss \u003czoss-cl-coverage@prod.google.com\u003e\nTested-by: Denis Brockus \u003cdbrockus@chromium.org\u003e\n"
    },
    {
      "commit": "ce0611247db0878cba1bc16cf138de88a72ea11f",
      "tree": "5a9be508206807c5326f52544e76fdfc1765b80c",
      "parents": [
        "fe8fe958c784423ee5f2fca3b5dead10d888ddb3"
      ],
      "author": {
        "name": "Denis Brockus",
        "email": "dbrockus@google.com",
        "time": "Mon Aug 21 20:40:00 2023"
      },
      "committer": {
        "name": "Chromeos LUCI",
        "email": "chromeos-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Wed Sep 20 15:58:49 2023"
      },
      "message": "Add ability to limit activity event debug logging\n\nInstead of having a master switch to turn on event debug\nlogging, I believe due to the static limitations of the\nbuffer that having the ability to reduce to only what\nyou want to see, as an option, makes sense.  The event\ndebugging is reduced to\n    // Base Event Types\n    Gesture, HardwareState, HandleTimer\n    // FilterInterpreter Debug Event Types\n    Accel, Box, ClickWiggle, FingerMerge, FlingStop,\n    HapticButtonGenerator, Iir, IntegratGesture, Logging,\n    Lookahead, Metrics, NonLinearity, PalmClassifying,\n    Scaling, SensorJump, SplitCorrecting, StationaryWiggle,\n    StuckButtonInhibitor, T5R2Correcting, Timestamp,\n    TrendClassifying,\n    // Interpreter Debug Event Types\n    ImmediateInterpreter, MouseInterpreter,\n    MultitouchMouseInterpreter,\nNOTE: As of this CL, all of the Base Event Type options are\nimplemented but the other Debug Event Types only exist for Accel\nand Timestamp.  Since this is being added as a framework, I\nincluded the others so when/if they are added they will have\nbeen consistently included.\n\nBUG\u003db:286851905\nTEST\u003dUSE\u003d\"coverage\" FEATURES\u003d\"test noclean\" emerge-brya chromeos-base/gesture\n\nChange-Id: I620873bcdc5f7533c6aa635c503dd2e37693c057\nReviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/gestures/+/4798937\nTested-by: Denis Brockus \u003cdbrockus@chromium.org\u003e\nCommit-Queue: Denis Brockus \u003cdbrockus@chromium.org\u003e\nReviewed-by: Harry Cutts \u003chcutts@chromium.org\u003e\nCode-Coverage: Zoss \u003czoss-cl-coverage@prod.google.com\u003e\n"
    },
    {
      "commit": "fe8fe958c784423ee5f2fca3b5dead10d888ddb3",
      "tree": "59164998fd68ee17cbdefba44eb29d54e03f843c",
      "parents": [
        "93e15ef0ea3795e6191b27547a9112239a516f39"
      ],
      "author": {
        "name": "Denis Brockus",
        "email": "dbrockus@google.com",
        "time": "Thu Aug 17 16:14:07 2023"
      },
      "committer": {
        "name": "Chromeos LUCI",
        "email": "chromeos-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Wed Sep 20 15:58:47 2023"
      },
      "message": "HapticButtonGeneratorFilterInterpreter instrument event debug\n\nBUG\u003db:286851905\nTEST\u003dUSE\u003d\"coverage\" FEATURES\u003d\"test noclean\" emerge-brya chromeos-base/gesture\n\nChange-Id: I7a54f1b14104704b4a6c146c7d97c33f3f7ec052\nReviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/gestures/+/4789379\nTested-by: Denis Brockus \u003cdbrockus@chromium.org\u003e\nCommit-Queue: Denis Brockus \u003cdbrockus@chromium.org\u003e\nReviewed-by: Harry Cutts \u003chcutts@chromium.org\u003e\nCode-Coverage: Zoss \u003czoss-cl-coverage@prod.google.com\u003e\n"
    },
    {
      "commit": "93e15ef0ea3795e6191b27547a9112239a516f39",
      "tree": "e2c015f30c4977dcdea2cc156638458e6e5243d3",
      "parents": [
        "b41be1ea27d1d4d8a8d4afd90f665fa3538ef15e"
      ],
      "author": {
        "name": "Denis Brockus",
        "email": "dbrockus@google.com",
        "time": "Thu Aug 17 15:19:57 2023"
      },
      "committer": {
        "name": "Chromeos LUCI",
        "email": "chromeos-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Wed Sep 20 15:58:45 2023"
      },
      "message": "T5R2FilterInterpreter instrument event debug\n\nBUG\u003db:286851905\nTEST\u003dUSE\u003d\"coverage\" FEATURES\u003d\"test noclean\" emerge-brya chromeos-base/gesture\n\nChange-Id: Id192cbde1831a3e9059494611e25b1f5282efd56\nReviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/gestures/+/4789378\nReviewed-by: Harry Cutts \u003chcutts@chromium.org\u003e\nCommit-Queue: Denis Brockus \u003cdbrockus@chromium.org\u003e\nTested-by: Denis Brockus \u003cdbrockus@chromium.org\u003e\nCode-Coverage: Zoss \u003czoss-cl-coverage@prod.google.com\u003e\n"
    },
    {
      "commit": "b41be1ea27d1d4d8a8d4afd90f665fa3538ef15e",
      "tree": "a87ec0f3595b9d5702357c3c127fc60d7f926fe6",
      "parents": [
        "5f1024c7a08d8ea97295d00774ea5fc181a09d2e"
      ],
      "author": {
        "name": "Denis Brockus",
        "email": "dbrockus@google.com",
        "time": "Thu Aug 17 15:16:44 2023"
      },
      "committer": {
        "name": "Chromeos LUCI",
        "email": "chromeos-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Wed Sep 20 15:58:43 2023"
      },
      "message": "SplitCorrectingFilterInterpreter instrument event debug\n\nBUG\u003db:286851905\nTEST\u003dUSE\u003d\"coverage\" FEATURES\u003d\"test noclean\" emerge-brya chromeos-base/gesture\n\nChange-Id: I9d6b484861f5a5b59d0894e75afd918ecb787293\nReviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/gestures/+/4789377\nCommit-Queue: Denis Brockus \u003cdbrockus@chromium.org\u003e\nCode-Coverage: Zoss \u003czoss-cl-coverage@prod.google.com\u003e\nReviewed-by: Harry Cutts \u003chcutts@chromium.org\u003e\nTested-by: Denis Brockus \u003cdbrockus@chromium.org\u003e\n"
    },
    {
      "commit": "5f1024c7a08d8ea97295d00774ea5fc181a09d2e",
      "tree": "511b950f4896edf2c789d1c463bd0a2e40c269f7",
      "parents": [
        "601bf9e7f9328f8d455090a677d464ef5f96cfcf"
      ],
      "author": {
        "name": "Denis Brockus",
        "email": "dbrockus@google.com",
        "time": "Thu Aug 17 15:13:21 2023"
      },
      "committer": {
        "name": "Chromeos LUCI",
        "email": "chromeos-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Wed Sep 20 15:58:41 2023"
      },
      "message": "SensorJumpFilterInterpreter instrument event debug\n\nBUG\u003db:286851905\nTEST\u003dUSE\u003d\"coverage\" FEATURES\u003d\"test noclean\" emerge-brya chromeos-base/gesture\n\nChange-Id: Icaa1331cef5828048e3867bf4b94380fd06ad1cf\nReviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/gestures/+/4789376\nReviewed-by: Harry Cutts \u003chcutts@chromium.org\u003e\nTested-by: Denis Brockus \u003cdbrockus@chromium.org\u003e\nCommit-Queue: Denis Brockus \u003cdbrockus@chromium.org\u003e\nCode-Coverage: Zoss \u003czoss-cl-coverage@prod.google.com\u003e\n"
    },
    {
      "commit": "601bf9e7f9328f8d455090a677d464ef5f96cfcf",
      "tree": "3ad0984743e4f06cc47e64df08089381f62dc31c",
      "parents": [
        "72b72d9147203dec6efc2e5e15ef73dc1bde75d8"
      ],
      "author": {
        "name": "Denis Brockus",
        "email": "dbrockus@google.com",
        "time": "Thu Aug 17 15:10:02 2023"
      },
      "committer": {
        "name": "Chromeos LUCI",
        "email": "chromeos-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Wed Sep 20 15:58:40 2023"
      },
      "message": "NonLinearityFilterInterpreter instrument event debug\n\nBUG\u003db:286851905\nTEST\u003dUSE\u003d\"coverage\" FEATURES\u003d\"test noclean\" emerge-brya chromeos-base/gesture\n\nChange-Id: Idec1bfca65e5966690b6ffdbdfa4151dda7e40a1\nReviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/gestures/+/4789375\nReviewed-by: Harry Cutts \u003chcutts@chromium.org\u003e\nTested-by: Denis Brockus \u003cdbrockus@chromium.org\u003e\nCommit-Queue: Denis Brockus \u003cdbrockus@chromium.org\u003e\nCode-Coverage: Zoss \u003czoss-cl-coverage@prod.google.com\u003e\n"
    },
    {
      "commit": "72b72d9147203dec6efc2e5e15ef73dc1bde75d8",
      "tree": "2b02a35951e2318777affb67c688b3bde6b84127",
      "parents": [
        "39b3a852fafa5834c1247feefb1d529e1e4115ee"
      ],
      "author": {
        "name": "Denis Brockus",
        "email": "dbrockus@google.com",
        "time": "Thu Aug 17 15:06:39 2023"
      },
      "committer": {
        "name": "Chromeos LUCI",
        "email": "chromeos-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Wed Sep 20 15:58:38 2023"
      },
      "message": "MultitouchMouseInterpreter instrument event debug\n\nBUG\u003db:286851905\nTEST\u003dUSE\u003d\"coverage\" FEATURES\u003d\"test noclean\" emerge-brya chromeos-base/gesture\n\nChange-Id: Ia98bc7b901ab4362cb170dc4163e281c27a8d0df\nReviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/gestures/+/4789374\nCommit-Queue: Denis Brockus \u003cdbrockus@chromium.org\u003e\nCode-Coverage: Zoss \u003czoss-cl-coverage@prod.google.com\u003e\nReviewed-by: Harry Cutts \u003chcutts@chromium.org\u003e\nTested-by: Denis Brockus \u003cdbrockus@chromium.org\u003e\n"
    },
    {
      "commit": "39b3a852fafa5834c1247feefb1d529e1e4115ee",
      "tree": "81900e05053188b1e1272bf4d25991f9ac8deeef",
      "parents": [
        "aab38f712c45bb708a9115ebec263cce33d60700"
      ],
      "author": {
        "name": "Denis Brockus",
        "email": "dbrockus@google.com",
        "time": "Thu Aug 17 14:59:52 2023"
      },
      "committer": {
        "name": "Chromeos LUCI",
        "email": "chromeos-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Wed Sep 20 15:58:36 2023"
      },
      "message": "MouseInterpreter instrument event debug\n\nBUG\u003db:286851905\nTEST\u003dUSE\u003d\"coverage\" FEATURES\u003d\"test noclean\" emerge-brya chromeos-base/gesture\n\nChange-Id: I7e3c473404997d3f4535a318250f1c6a2c189b44\nReviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/gestures/+/4789373\nCode-Coverage: Zoss \u003czoss-cl-coverage@prod.google.com\u003e\nTested-by: Denis Brockus \u003cdbrockus@chromium.org\u003e\nCommit-Queue: Denis Brockus \u003cdbrockus@chromium.org\u003e\nReviewed-by: Harry Cutts \u003chcutts@chromium.org\u003e\n"
    },
    {
      "commit": "aab38f712c45bb708a9115ebec263cce33d60700",
      "tree": "953187d94ff3c47b5de9bb4c52c8adb2fd6e2c29",
      "parents": [
        "3db9dc6e3bf54bc35cd840de7015c3f8e5650c5a"
      ],
      "author": {
        "name": "Denis Brockus",
        "email": "dbrockus@google.com",
        "time": "Mon Sep 18 15:42:33 2023"
      },
      "committer": {
        "name": "Chromeos LUCI",
        "email": "chromeos-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Wed Sep 20 15:58:34 2023"
      },
      "message": "Add MouseInterpreter emulate scroll wheel for code coverage\n\nBUG\u003db:286851905\nTEST\u003dUSE\u003d\"coverage\" FEATURES\u003d\"test noclean\" emerge-brya chromeos-base/gesture\n\nChange-Id: I62d993a998997e78f45a3745160a3fffc94df707\nReviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/gestures/+/4873791\nReviewed-by: Harry Cutts \u003chcutts@chromium.org\u003e\nCommit-Queue: Denis Brockus \u003cdbrockus@chromium.org\u003e\nTested-by: Denis Brockus \u003cdbrockus@chromium.org\u003e\nCode-Coverage: Zoss \u003czoss-cl-coverage@prod.google.com\u003e\n"
    },
    {
      "commit": "3db9dc6e3bf54bc35cd840de7015c3f8e5650c5a",
      "tree": "8957ad40bd86c834844a22791bba394cfa2e1e2f",
      "parents": [
        "c568bcb5f870ba2e655eb82e63a0135b42bbe7d5"
      ],
      "author": {
        "name": "Denis Brockus",
        "email": "dbrockus@google.com",
        "time": "Thu Aug 17 14:42:02 2023"
      },
      "committer": {
        "name": "Chromeos LUCI",
        "email": "chromeos-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Wed Sep 20 15:58:32 2023"
      },
      "message": "IntegralGestureFilterInterpreter instrument event debug\n\nBUG\u003db:286851905\nTEST\u003dUSE\u003d\"coverage\" FEATURES\u003d\"test noclean\" emerge-brya chromeos-base/gesture\n\nChange-Id: I47a63a33a18c2ff12e5bdd33ebb8406fd825cfe3\nReviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/gestures/+/4789372\nCode-Coverage: Zoss \u003czoss-cl-coverage@prod.google.com\u003e\nCommit-Queue: Denis Brockus \u003cdbrockus@chromium.org\u003e\nReviewed-by: Harry Cutts \u003chcutts@chromium.org\u003e\nTested-by: Denis Brockus \u003cdbrockus@chromium.org\u003e\n"
    },
    {
      "commit": "c568bcb5f870ba2e655eb82e63a0135b42bbe7d5",
      "tree": "762b11c77fa1ab9b7b1c30509780807e206b6c32",
      "parents": [
        "80fad27324241218007f67e427a71c9c69d8e6a6"
      ],
      "author": {
        "name": "Denis Brockus",
        "email": "dbrockus@google.com",
        "time": "Thu Aug 17 14:30:43 2023"
      },
      "committer": {
        "name": "Chromeos LUCI",
        "email": "chromeos-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Wed Sep 20 15:58:30 2023"
      },
      "message": "IirFilterInterpreter instrument event debug\n\nBUG\u003db:286851905\nTEST\u003dUSE\u003d\"coverage\" FEATURES\u003d\"test noclean\" emerge-brya chromeos-base/gesture\n\nChange-Id: Id00e785353de47d5392e103b6ec10d3e2b909524\nReviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/gestures/+/4789371\nCommit-Queue: Denis Brockus \u003cdbrockus@chromium.org\u003e\nReviewed-by: Harry Cutts \u003chcutts@chromium.org\u003e\nTested-by: Denis Brockus \u003cdbrockus@chromium.org\u003e\nCode-Coverage: Zoss \u003czoss-cl-coverage@prod.google.com\u003e\n"
    },
    {
      "commit": "80fad27324241218007f67e427a71c9c69d8e6a6",
      "tree": "5cd19b2b50ca6a82e3c943d75a4d9a4e9ee7e805",
      "parents": [
        "5a32438e65712e026ad2b5925766bafc12f6edee"
      ],
      "author": {
        "name": "Denis Brockus",
        "email": "dbrockus@google.com",
        "time": "Fri Aug 11 16:38:50 2023"
      },
      "committer": {
        "name": "Chromeos LUCI",
        "email": "chromeos-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Wed Sep 20 15:58:28 2023"
      },
      "message": "StuckButtonInhibitorFilterInterpreter instrument event debug\n\nBUG\u003db:286851905\nTEST\u003dUSE\u003d\"coverage\" FEATURES\u003d\"test noclean\" emerge-brya chromeos-base/gesture\n\nChange-Id: I943689d387bf4f7fae086e47555583d1828171f2\nReviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/gestures/+/4775272\nCommit-Queue: Denis Brockus \u003cdbrockus@chromium.org\u003e\nReviewed-by: Harry Cutts \u003chcutts@chromium.org\u003e\nCode-Coverage: Zoss \u003czoss-cl-coverage@prod.google.com\u003e\nTested-by: Denis Brockus \u003cdbrockus@chromium.org\u003e\n"
    },
    {
      "commit": "5a32438e65712e026ad2b5925766bafc12f6edee",
      "tree": "674973e51a4fbe5c1063a0d2eff0be469303466e",
      "parents": [
        "d90cf63a314a0e72ce4f366bdf4486a5d360b5be"
      ],
      "author": {
        "name": "Denis Brockus",
        "email": "dbrockus@google.com",
        "time": "Fri Aug 11 16:28:10 2023"
      },
      "committer": {
        "name": "Chromeos LUCI",
        "email": "chromeos-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Wed Sep 20 15:58:26 2023"
      },
      "message": "FingerMergeFilterInterpreter instrument event debug\n\nBUG\u003db:286851905\nTEST\u003dUSE\u003d\"coverage\" FEATURES\u003d\"test noclean\" emerge-brya chromeos-base/gesture\n\nChange-Id: Id43b91fb9d3fc44856bd220a289c0aea3a533c8d\nReviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/gestures/+/4775271\nReviewed-by: Harry Cutts \u003chcutts@chromium.org\u003e\nCommit-Queue: Denis Brockus \u003cdbrockus@chromium.org\u003e\nTested-by: Denis Brockus \u003cdbrockus@chromium.org\u003e\nCode-Coverage: Zoss \u003czoss-cl-coverage@prod.google.com\u003e\n"
    },
    {
      "commit": "d90cf63a314a0e72ce4f366bdf4486a5d360b5be",
      "tree": "4aba8569b27fad4746e14ad2e95cf51ba98b2b55",
      "parents": [
        "0ac00426758eda989c02b79aca966dd9687c6d47"
      ],
      "author": {
        "name": "Denis Brockus",
        "email": "dbrockus@google.com",
        "time": "Fri Aug 11 16:25:23 2023"
      },
      "committer": {
        "name": "Chromeos LUCI",
        "email": "chromeos-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Wed Sep 20 15:58:23 2023"
      },
      "message": "ScalingFilterInterpreter instrument event debug\n\nBUG\u003db:286851905\nTEST\u003dUSE\u003d\"coverage\" FEATURES\u003d\"test noclean\" emerge-brya chromeos-base/gesture\n\nChange-Id: Ifabe5cbb98417b28e3a8b8d4731d83cbcf5d2ab0\nReviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/gestures/+/4775270\nReviewed-by: Harry Cutts \u003chcutts@chromium.org\u003e\nTested-by: Denis Brockus \u003cdbrockus@chromium.org\u003e\nCode-Coverage: Zoss \u003czoss-cl-coverage@prod.google.com\u003e\nCommit-Queue: Denis Brockus \u003cdbrockus@chromium.org\u003e\n"
    },
    {
      "commit": "0ac00426758eda989c02b79aca966dd9687c6d47",
      "tree": "2b47a0ca0f0172d7ef8d2fb8dbceba3a8f86f067",
      "parents": [
        "1bae9b8cc445ce77d5a402bdae24d49a14937290"
      ],
      "author": {
        "name": "Denis Brockus",
        "email": "dbrockus@google.com",
        "time": "Fri Aug 11 16:20:37 2023"
      },
      "committer": {
        "name": "Chromeos LUCI",
        "email": "chromeos-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Wed Sep 20 15:58:22 2023"
      },
      "message": "MetricsFilterInterpreter instrument event debug\n\nBUG\u003db:286851905\nTEST\u003dUSE\u003d\"coverage\" FEATURES\u003d\"test noclean\" emerge-brya chromeos-base/gesture\n\nChange-Id: I1d2affd9e69e82b381bd1e26011f16becfce000a\nReviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/gestures/+/4775269\nCode-Coverage: Zoss \u003czoss-cl-coverage@prod.google.com\u003e\nTested-by: Denis Brockus \u003cdbrockus@chromium.org\u003e\nReviewed-by: Harry Cutts \u003chcutts@chromium.org\u003e\nCommit-Queue: Denis Brockus \u003cdbrockus@chromium.org\u003e\n"
    },
    {
      "commit": "1bae9b8cc445ce77d5a402bdae24d49a14937290",
      "tree": "21f152dda598c116571f5e8f4eab61fb7e424c6b",
      "parents": [
        "ed076067111db7c832d9e7c43463a9e8f5c70ac8"
      ],
      "author": {
        "name": "Denis Brockus",
        "email": "dbrockus@google.com",
        "time": "Fri Aug 11 16:17:02 2023"
      },
      "committer": {
        "name": "Chromeos LUCI",
        "email": "chromeos-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Wed Sep 20 15:58:20 2023"
      },
      "message": "TrendClassifyingFilterInterpreter instrument event debug\n\nBUG\u003db:286851905\nTEST\u003dUSE\u003d\"coverage\" FEATURES\u003d\"test noclean\" emerge-brya chromeos-base/gesture\n\nChange-Id: I3e00c9ad0e726ef166198d9c0ffb550d51d1ec0b\nReviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/gestures/+/4775268\nTested-by: Denis Brockus \u003cdbrockus@chromium.org\u003e\nReviewed-by: Harry Cutts \u003chcutts@chromium.org\u003e\nCommit-Queue: Denis Brockus \u003cdbrockus@chromium.org\u003e\nCode-Coverage: Zoss \u003czoss-cl-coverage@prod.google.com\u003e\n"
    },
    {
      "commit": "ed076067111db7c832d9e7c43463a9e8f5c70ac8",
      "tree": "b074ad976f8cfacbfb4228847d3bfa2ba05dfe3e",
      "parents": [
        "6971fc26bd2c1600c9396e07086b2115f417ec40"
      ],
      "author": {
        "name": "Denis Brockus",
        "email": "dbrockus@google.com",
        "time": "Fri Aug 11 16:11:14 2023"
      },
      "committer": {
        "name": "Chromeos LUCI",
        "email": "chromeos-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Wed Sep 20 15:58:18 2023"
      },
      "message": "StationaryWiggleFilterInterpreter instrument event debug\n\nBUG\u003db:286851905\nTEST\u003dUSE\u003d\"coverage\" FEATURES\u003d\"test noclean\" emerge-brya chromeos-base/gesture\n\nChange-Id: I86689aed93ce5b5a093acd95871bd85f93bb998e\nReviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/gestures/+/4775267\nTested-by: Denis Brockus \u003cdbrockus@chromium.org\u003e\nCommit-Queue: Denis Brockus \u003cdbrockus@chromium.org\u003e\nReviewed-by: Harry Cutts \u003chcutts@chromium.org\u003e\nCode-Coverage: Zoss \u003czoss-cl-coverage@prod.google.com\u003e\n"
    },
    {
      "commit": "6971fc26bd2c1600c9396e07086b2115f417ec40",
      "tree": "cb692358a934f5ecae67e98c365ec1f26b1a61ac",
      "parents": [
        "19672f166cd189e9f6e65b8c332c5aca46fcaa8a"
      ],
      "author": {
        "name": "Denis Brockus",
        "email": "dbrockus@google.com",
        "time": "Fri Aug 11 16:08:26 2023"
      },
      "committer": {
        "name": "Chromeos LUCI",
        "email": "chromeos-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Wed Sep 20 15:58:16 2023"
      },
      "message": "BoxFilterInterpreter instrument event debug\n\nBUG\u003db:286851905\nTEST\u003dUSE\u003d\"coverage\" FEATURES\u003d\"test noclean\" emerge-brya chromeos-base/gesture\n\nChange-Id: Iabeafc7a415ce80676ccb2bb994c196bedb7058e\nReviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/gestures/+/4775266\nCode-Coverage: Zoss \u003czoss-cl-coverage@prod.google.com\u003e\nReviewed-by: Harry Cutts \u003chcutts@chromium.org\u003e\nTested-by: Denis Brockus \u003cdbrockus@chromium.org\u003e\nCommit-Queue: Denis Brockus \u003cdbrockus@chromium.org\u003e\n"
    },
    {
      "commit": "19672f166cd189e9f6e65b8c332c5aca46fcaa8a",
      "tree": "74d8803a8755b59088353e9642809b51147941ef",
      "parents": [
        "0d9b180dfc73c89a1f72963dc8e2d9bc2c272e3b"
      ],
      "author": {
        "name": "Denis Brockus",
        "email": "dbrockus@google.com",
        "time": "Mon Sep 18 16:15:45 2023"
      },
      "committer": {
        "name": "Chromeos LUCI",
        "email": "chromeos-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Wed Sep 20 15:58:14 2023"
      },
      "message": "Add BoxFilterInterpreter::ZeroSizeBoxTest for coverage\n\nChange-Id: I89655ee23401c4874007f0db1065dc9af0bd99e7\nReviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/gestures/+/4873790\nTested-by: Denis Brockus \u003cdbrockus@chromium.org\u003e\nCode-Coverage: Zoss \u003czoss-cl-coverage@prod.google.com\u003e\nCommit-Queue: Denis Brockus \u003cdbrockus@chromium.org\u003e\nReviewed-by: Harry Cutts \u003chcutts@chromium.org\u003e\n"
    },
    {
      "commit": "0d9b180dfc73c89a1f72963dc8e2d9bc2c272e3b",
      "tree": "799b03ba05fc1f31a7adb33118760b8df5dccdf9",
      "parents": [
        "8d2b4289e72b9bc5085669ac32dd186bcad6faff"
      ],
      "author": {
        "name": "Denis Brockus",
        "email": "dbrockus@google.com",
        "time": "Fri Aug 11 16:04:48 2023"
      },
      "committer": {
        "name": "Chromeos LUCI",
        "email": "chromeos-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Wed Sep 20 15:58:13 2023"
      },
      "message": "LookaheadFilterInterpreter instrument event debug\n\nBUG\u003db:286851905\nTEST\u003dUSE\u003d\"coverage\" FEATURES\u003d\"test noclean\" emerge-brya chromeos-base/gesture\n\nChange-Id: If524a867dfd4f102e4f61663f0777ecd9ecd3a33\nReviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/gestures/+/4775265\nTested-by: Denis Brockus \u003cdbrockus@chromium.org\u003e\nCommit-Queue: Denis Brockus \u003cdbrockus@chromium.org\u003e\nCode-Coverage: Zoss \u003czoss-cl-coverage@prod.google.com\u003e\nReviewed-by: Harry Cutts \u003chcutts@chromium.org\u003e\n"
    }
  ],
  "next": "8d2b4289e72b9bc5085669ac32dd186bcad6faff"
}
