Fix unsafe buffer usage in gesture_interpreter_libevdev_cros.cc [chromium/src : main]

0 views
Skip to first unread message

Arthur Sonzogni (Gerrit)

unread,
Dec 2, 2025, 4:26:09 AMDec 2
to Aditi Page, Nate Chapin, Harry Cutts, chromium...@chromium.org, ozone-...@chromium.org
Attention needed from Aditi Page and Harry Cutts

Arthur Sonzogni added 2 comments

Patchset-level comments
File-level comment, Patchset 1 (Latest):
Arthur Sonzogni . resolved

Thanks!

This looks good in general, except for some UNSAFE_TODO that I suspect can't be removed. Unfortunately, the try-jobs might have failed to cover this file.

File ui/events/ozone/evdev/libgestures_glue/gesture_interpreter_libevdev_cros.cc
Line 148, Patchset 1 (Parent): if (duration <= UNSAFE_TODO(ClickDurationMetricBuckets[time_bucket])) {
Arthur Sonzogni . unresolved

I don't think this one can be removed.
It is defined as a C-style array without bound checking:
https://source.chromium.org/chromium/chromium/src/+/main:ui/events/ozone/evdev/libgestures_glue/gesture_interpreter_libevdev_cros.cc;l=50?q=ClickDurationMetricNames&sq=&ss=chromium%2Fchromium%2Fsrc

I think we should turn this into a `std::array`.

I am surprised the CQ try-job did not find it.
I added additional bots to potentially increase coverage.
```
Cq-Include-Trybots: luci.chromium.try:chromeos-octopus-rel;luci.chrome.try:chromeos-octopus-chrome,chromeos-octopus-compile-chrome
```

Maybe @hcu...@chromium.org knows what bots are testing this file.

Open in Gerrit

Related details

Attention is currently required from:
  • Aditi Page
  • Harry Cutts
Submit Requirements:
  • requirement satisfiedCode-Coverage
  • requirement is not satisfiedCode-Owners
  • requirement is not satisfiedCode-Review
  • requirement is not satisfiedNo-Unresolved-Comments
  • requirement is not satisfiedReview-Enforcement
Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. DiffyGerrit
Gerrit-MessageType: comment
Gerrit-Project: chromium/src
Gerrit-Branch: main
Gerrit-Change-Id: Ib67f7ac9dfef3a6bddca3324fc86e6b899bb4750
Gerrit-Change-Number: 7214450
Gerrit-PatchSet: 1
Gerrit-Owner: Aditi Page <adit...@google.com>
Gerrit-Reviewer: Arthur Sonzogni <arthurs...@chromium.org>
Gerrit-Reviewer: Harry Cutts <hcu...@chromium.org>
Gerrit-CC: Nate Chapin <jap...@chromium.org>
Gerrit-Attention: Harry Cutts <hcu...@chromium.org>
Gerrit-Attention: Aditi Page <adit...@google.com>
Gerrit-Comment-Date: Tue, 02 Dec 2025 09:25:50 +0000
Gerrit-HasComments: Yes
Gerrit-Has-Labels: No
satisfied_requirement
unsatisfied_requirement
open
diffy

Harry Cutts (Gerrit)

unread,
Dec 2, 2025, 5:57:34 AMDec 2
to Aditi Page, CrOS Platform Inputs Reviewers, Harry Cutts, Nate Chapin, Arthur Sonzogni, chromium...@chromium.org, ozone-...@chromium.org
Attention needed from Aditi Page and CrOS Platform Inputs Reviewers

Harry Cutts added 1 comment

File ui/events/ozone/evdev/libgestures_glue/gesture_interpreter_libevdev_cros.cc
Line 148, Patchset 1 (Parent): if (duration <= UNSAFE_TODO(ClickDurationMetricBuckets[time_bucket])) {
Arthur Sonzogni . unresolved

I don't think this one can be removed.
It is defined as a C-style array without bound checking:
https://source.chromium.org/chromium/chromium/src/+/main:ui/events/ozone/evdev/libgestures_glue/gesture_interpreter_libevdev_cros.cc;l=50?q=ClickDurationMetricNames&sq=&ss=chromium%2Fchromium%2Fsrc

I think we should turn this into a `std::array`.

I am surprised the CQ try-job did not find it.
I added additional bots to potentially increase coverage.
```
Cq-Include-Trybots: luci.chromium.try:chromeos-octopus-rel;luci.chrome.try:chromeos-octopus-chrome,chromeos-octopus-compile-chrome
```

Maybe @hcu...@chromium.org knows what bots are testing this file.

Harry Cutts

I'm no longer on the ChromeOS input team, adding cros-p12s-reviews@ instead

Open in Gerrit

Related details

Attention is currently required from:
  • Aditi Page
  • CrOS Platform Inputs Reviewers
Submit Requirements:
  • requirement satisfiedCode-Coverage
  • requirement is not satisfiedCode-Owners
  • requirement is not satisfiedCode-Review
  • requirement is not satisfiedNo-Unresolved-Comments
  • requirement is not satisfiedReview-Enforcement
Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. DiffyGerrit
Gerrit-MessageType: comment
Gerrit-Project: chromium/src
Gerrit-Branch: main
Gerrit-Change-Id: Ib67f7ac9dfef3a6bddca3324fc86e6b899bb4750
Gerrit-Change-Number: 7214450
Gerrit-PatchSet: 1
Gerrit-Owner: Aditi Page <adit...@google.com>
Gerrit-Reviewer: Arthur Sonzogni <arthurs...@chromium.org>
Gerrit-Reviewer: CrOS Platform Inputs Reviewers <cros-p12...@google.com>
Gerrit-CC: Harry Cutts <hcu...@chromium.org>
Gerrit-CC: Nate Chapin <jap...@chromium.org>
Gerrit-Attention: CrOS Platform Inputs Reviewers <cros-p12...@google.com>
Gerrit-Attention: Aditi Page <adit...@google.com>
Gerrit-Comment-Date: Tue, 02 Dec 2025 10:57:16 +0000
Gerrit-HasComments: Yes
Gerrit-Has-Labels: No
Comment-In-Reply-To: Arthur Sonzogni <arthurs...@chromium.org>
satisfied_requirement
unsatisfied_requirement
open
diffy

gwsq (Gerrit)

unread,
Dec 2, 2025, 6:01:53 AMDec 2
to Aditi Page, CrOS Platform Inputs Reviewers, Kenneth Albanowski, Henry Barnor, Harry Cutts, Nate Chapin, Arthur Sonzogni, chromium...@chromium.org, ozone-...@chromium.org
Attention needed from Aditi Page, Henry Barnor and Kenneth Albanowski

Message from gwsq

Shadowed: hba...@chromium.org

Reviewer source(s):
hba...@chromium.org, kenalba is from owner(chrome/chromeos/input/config/OWNERS.evdev)

Open in Gerrit

Related details

Attention is currently required from:
  • Aditi Page
  • Henry Barnor
  • Kenneth Albanowski
Submit Requirements:
  • requirement satisfiedCode-Coverage
  • requirement is not satisfiedCode-Owners
  • requirement is not satisfiedCode-Review
  • requirement is not satisfiedNo-Unresolved-Comments
  • requirement is not satisfiedReview-Enforcement
Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. DiffyGerrit
Gerrit-MessageType: comment
Gerrit-Project: chromium/src
Gerrit-Branch: main
Gerrit-Change-Id: Ib67f7ac9dfef3a6bddca3324fc86e6b899bb4750
Gerrit-Change-Number: 7214450
Gerrit-PatchSet: 1
Gerrit-Owner: Aditi Page <adit...@google.com>
Gerrit-Reviewer: Arthur Sonzogni <arthurs...@chromium.org>
Gerrit-Reviewer: Henry Barnor <hba...@chromium.org>
Gerrit-Reviewer: Kenneth Albanowski <ken...@google.com>
Gerrit-CC: CrOS Platform Inputs Reviewers <cros-p12...@google.com>
Gerrit-CC: Harry Cutts <hcu...@chromium.org>
Gerrit-CC: Nate Chapin <jap...@chromium.org>
Gerrit-CC: gwsq
Gerrit-Attention: Kenneth Albanowski <ken...@google.com>
Gerrit-Attention: Aditi Page <adit...@google.com>
Gerrit-Attention: Henry Barnor <hba...@chromium.org>
Gerrit-Comment-Date: Tue, 02 Dec 2025 11:01:20 +0000
Gerrit-HasComments: No
Gerrit-Has-Labels: No
satisfied_requirement
unsatisfied_requirement
open
diffy

Aditi Page (Gerrit)

unread,
Dec 2, 2025, 12:15:38 PMDec 2
to CrOS Platform Inputs Reviewers, Kenneth Albanowski, Henry Barnor, Harry Cutts, Nate Chapin, Arthur Sonzogni, chromium...@chromium.org, ozone-...@chromium.org
Attention needed from Arthur Sonzogni, Harry Cutts, Henry Barnor and Kenneth Albanowski

Aditi Page added 1 comment

File ui/events/ozone/evdev/libgestures_glue/gesture_interpreter_libevdev_cros.cc
Line 148, Patchset 1 (Parent): if (duration <= UNSAFE_TODO(ClickDurationMetricBuckets[time_bucket])) {
Arthur Sonzogni . unresolved

I don't think this one can be removed.
It is defined as a C-style array without bound checking:
https://source.chromium.org/chromium/chromium/src/+/main:ui/events/ozone/evdev/libgestures_glue/gesture_interpreter_libevdev_cros.cc;l=50?q=ClickDurationMetricNames&sq=&ss=chromium%2Fchromium%2Fsrc

I think we should turn this into a `std::array`.

I am surprised the CQ try-job did not find it.
I added additional bots to potentially increase coverage.
```
Cq-Include-Trybots: luci.chromium.try:chromeos-octopus-rel;luci.chrome.try:chromeos-octopus-chrome,chromeos-octopus-compile-chrome
```

Maybe @hcu...@chromium.org knows what bots are testing this file.

Harry Cutts

I'm no longer on the ChromeOS input team, adding cros-p12s-reviews@ instead

Aditi Page

Yes, std::array sounds better for bound checking. I will make this change. Thanks!

Open in Gerrit

Related details

Attention is currently required from:
  • Arthur Sonzogni
  • Harry Cutts
  • Henry Barnor
  • Kenneth Albanowski
Gerrit-Attention: Harry Cutts <hcu...@chromium.org>
Gerrit-Attention: Kenneth Albanowski <ken...@google.com>
Gerrit-Attention: Arthur Sonzogni <arthurs...@chromium.org>
Gerrit-Attention: Henry Barnor <hba...@chromium.org>
Gerrit-Comment-Date: Tue, 02 Dec 2025 17:15:29 +0000
Gerrit-HasComments: Yes
Gerrit-Has-Labels: No
Comment-In-Reply-To: Harry Cutts <hcu...@chromium.org>
Comment-In-Reply-To: Arthur Sonzogni <arthurs...@chromium.org>
satisfied_requirement
unsatisfied_requirement
open
diffy

Vincent Scheib (Gerrit)

unread,
Dec 2, 2025, 2:14:54 PMDec 2
to Aditi Page, Vincent Scheib, CrOS Platform Inputs Reviewers, Kenneth Albanowski, Henry Barnor, Harry Cutts, Nate Chapin, Arthur Sonzogni, chromium...@chromium.org, ozone-...@chromium.org
Attention needed from Aditi Page, Arthur Sonzogni, Henry Barnor and Kenneth Albanowski

Vincent Scheib added 1 comment

File ui/events/ozone/evdev/libgestures_glue/gesture_interpreter_libevdev_cros.cc
Line 671, Patchset 1 (Latest): key_state_diff[i] = new_key_state[i] ^ prev_key_state_[i];
Vincent Scheib . unresolved

These are different arrays, one member, one passed in as parameter, and if code is to be locally certain it is same size bounds checks or sizes should be verified on this line.

Open in Gerrit

Related details

Attention is currently required from:
  • Aditi Page
  • Arthur Sonzogni
  • Henry Barnor
  • Kenneth Albanowski
Submit Requirements:
  • requirement satisfiedCode-Coverage
  • requirement is not satisfiedCode-Owners
  • requirement is not satisfiedCode-Review
  • requirement is not satisfiedNo-Unresolved-Comments
  • requirement is not satisfiedReview-Enforcement
Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. DiffyGerrit
Gerrit-MessageType: comment
Gerrit-Project: chromium/src
Gerrit-Branch: main
Gerrit-Change-Id: Ib67f7ac9dfef3a6bddca3324fc86e6b899bb4750
Gerrit-Change-Number: 7214450
Gerrit-PatchSet: 1
Gerrit-Owner: Aditi Page <adit...@google.com>
Gerrit-Reviewer: Arthur Sonzogni <arthurs...@chromium.org>
Gerrit-Reviewer: Henry Barnor <hba...@chromium.org>
Gerrit-Reviewer: Kenneth Albanowski <ken...@google.com>
Gerrit-CC: CrOS Platform Inputs Reviewers <cros-p12...@google.com>
Gerrit-CC: Harry Cutts <hcu...@chromium.org>
Gerrit-CC: Nate Chapin <jap...@chromium.org>
Gerrit-CC: Vincent Scheib <sch...@chromium.org>
Gerrit-CC: gwsq
Gerrit-Attention: Kenneth Albanowski <ken...@google.com>
Gerrit-Attention: Arthur Sonzogni <arthurs...@chromium.org>
Gerrit-Attention: Aditi Page <adit...@google.com>
Gerrit-Attention: Henry Barnor <hba...@chromium.org>
Gerrit-Comment-Date: Tue, 02 Dec 2025 19:14:45 +0000
Gerrit-HasComments: Yes
Gerrit-Has-Labels: No
satisfied_requirement
unsatisfied_requirement
open
diffy

Vincent Scheib (Gerrit)

unread,
Dec 2, 2025, 2:23:01 PMDec 2
to Aditi Page, Vincent Scheib, CrOS Platform Inputs Reviewers, Kenneth Albanowski, Henry Barnor, Harry Cutts, Nate Chapin, Arthur Sonzogni, chromium...@chromium.org, ozone-...@chromium.org
Attention needed from Aditi Page, Arthur Sonzogni, Harry Cutts, Henry Barnor and Kenneth Albanowski

Vincent Scheib added 1 comment

File ui/events/ozone/evdev/libgestures_glue/gesture_interpreter_libevdev_cros.cc
Line 148, Patchset 1 (Parent): if (duration <= UNSAFE_TODO(ClickDurationMetricBuckets[time_bucket])) {
Arthur Sonzogni . unresolved

I don't think this one can be removed.
It is defined as a C-style array without bound checking:
https://source.chromium.org/chromium/chromium/src/+/main:ui/events/ozone/evdev/libgestures_glue/gesture_interpreter_libevdev_cros.cc;l=50?q=ClickDurationMetricNames&sq=&ss=chromium%2Fchromium%2Fsrc

I think we should turn this into a `std::array`.

I am surprised the CQ try-job did not find it.
I added additional bots to potentially increase coverage.
```
Cq-Include-Trybots: luci.chromium.try:chromeos-octopus-rel;luci.chrome.try:chromeos-octopus-chrome,chromeos-octopus-compile-chrome
```

Maybe @hcu...@chromium.org knows what bots are testing this file.

Harry Cutts

I'm no longer on the ChromeOS input team, adding cros-p12s-reviews@ instead

Aditi Page

Yes, std::array sounds better for bound checking. I will make this change. Thanks!

Attention is currently required from:
  • Aditi Page
  • Arthur Sonzogni
  • Harry Cutts
  • Henry Barnor
  • Kenneth Albanowski
Gerrit-Attention: Harry Cutts <hcu...@chromium.org>
Gerrit-Attention: Kenneth Albanowski <ken...@google.com>
Gerrit-Attention: Arthur Sonzogni <arthurs...@chromium.org>
Gerrit-Attention: Aditi Page <adit...@google.com>
Gerrit-Attention: Henry Barnor <hba...@chromium.org>
Gerrit-Comment-Date: Tue, 02 Dec 2025 19:22:51 +0000
Gerrit-HasComments: Yes
Gerrit-Has-Labels: No
Comment-In-Reply-To: Harry Cutts <hcu...@chromium.org>
Comment-In-Reply-To: Arthur Sonzogni <arthurs...@chromium.org>
Comment-In-Reply-To: Aditi Page <adit...@google.com>
satisfied_requirement
unsatisfied_requirement
open
diffy

Harry Cutts (Gerrit)

unread,
Dec 2, 2025, 2:26:37 PMDec 2
to Aditi Page, Vincent Scheib, CrOS Platform Inputs Reviewers, Kenneth Albanowski, Henry Barnor, Harry Cutts, Nate Chapin, Arthur Sonzogni, chromium...@chromium.org, ozone-...@chromium.org
Attention needed from Aditi Page, Arthur Sonzogni, Henry Barnor and Kenneth Albanowski

Harry Cutts added 1 comment

File ui/events/ozone/evdev/libgestures_glue/gesture_interpreter_libevdev_cros.cc
Line 148, Patchset 1 (Parent): if (duration <= UNSAFE_TODO(ClickDurationMetricBuckets[time_bucket])) {
Arthur Sonzogni . unresolved

I don't think this one can be removed.
It is defined as a C-style array without bound checking:
https://source.chromium.org/chromium/chromium/src/+/main:ui/events/ozone/evdev/libgestures_glue/gesture_interpreter_libevdev_cros.cc;l=50?q=ClickDurationMetricNames&sq=&ss=chromium%2Fchromium%2Fsrc

I think we should turn this into a `std::array`.

I am surprised the CQ try-job did not find it.
I added additional bots to potentially increase coverage.
```
Cq-Include-Trybots: luci.chromium.try:chromeos-octopus-rel;luci.chrome.try:chromeos-octopus-chrome,chromeos-octopus-compile-chrome
```

Maybe @hcu...@chromium.org knows what bots are testing this file.

Harry Cutts

I'm no longer on the ChromeOS input team, adding cros-p12s-reviews@ instead

Aditi Page

Yes, std::array sounds better for bound checking. I will make this change. Thanks!

Vincent Scheib

@hcu...@chromium.org should you be removed from https://source.chromium.org/chromium/chromium/src/+/main:ui/events/ozone/OWNERS
?

Harry Cutts

Potentially, yes — I was kept on there initially since it was anticipated that I'd be doing cross-over work between ChromeOS and Android input, but all of that ended up being in platform/gestures/, which has its own OWNERS file anyway.

Open in Gerrit

Related details

Attention is currently required from:
  • Aditi Page
  • Arthur Sonzogni
  • Henry Barnor
  • Kenneth Albanowski
Gerrit-Attention: Kenneth Albanowski <ken...@google.com>
Gerrit-Attention: Arthur Sonzogni <arthurs...@chromium.org>
Gerrit-Attention: Aditi Page <adit...@google.com>
Gerrit-Attention: Henry Barnor <hba...@chromium.org>
Gerrit-Comment-Date: Tue, 02 Dec 2025 19:26:17 +0000
Gerrit-HasComments: Yes
Gerrit-Has-Labels: No
Comment-In-Reply-To: Harry Cutts <hcu...@chromium.org>
Comment-In-Reply-To: Arthur Sonzogni <arthurs...@chromium.org>
Comment-In-Reply-To: Aditi Page <adit...@google.com>
Comment-In-Reply-To: Vincent Scheib <sch...@chromium.org>
satisfied_requirement
unsatisfied_requirement
open
diffy

Aditi Page (Gerrit)

unread,
Dec 2, 2025, 3:36:14 PMDec 2
to Vincent Scheib, CrOS Platform Inputs Reviewers, Kenneth Albanowski, Henry Barnor, Harry Cutts, Nate Chapin, Arthur Sonzogni, chromium...@chromium.org, ozone-...@chromium.org
Attention needed from Arthur Sonzogni, Henry Barnor, Kenneth Albanowski and Vincent Scheib

Aditi Page added 1 comment

File ui/events/ozone/evdev/libgestures_glue/gesture_interpreter_libevdev_cros.cc
Line 671, Patchset 1: key_state_diff[i] = new_key_state[i] ^ prev_key_state_[i];
Vincent Scheib . unresolved

These are different arrays, one member, one passed in as parameter, and if code is to be locally certain it is same size bounds checks or sizes should be verified on this line.

Aditi Page

Sg! Made these changes here as well as in other places with the same issue.

Open in Gerrit

Related details

Attention is currently required from:
  • Arthur Sonzogni
  • Henry Barnor
  • Kenneth Albanowski
  • Vincent Scheib
Submit Requirements:
  • requirement satisfiedCode-Coverage
  • requirement is not satisfiedCode-Owners
  • requirement is not satisfiedCode-Review
  • requirement is not satisfiedNo-Unresolved-Comments
  • requirement is not satisfiedReview-Enforcement
Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. DiffyGerrit
Gerrit-MessageType: comment
Gerrit-Project: chromium/src
Gerrit-Branch: main
Gerrit-Change-Id: Ib67f7ac9dfef3a6bddca3324fc86e6b899bb4750
Gerrit-Change-Number: 7214450
Gerrit-PatchSet: 2
Gerrit-Owner: Aditi Page <adit...@google.com>
Gerrit-Reviewer: Arthur Sonzogni <arthurs...@chromium.org>
Gerrit-Reviewer: Henry Barnor <hba...@chromium.org>
Gerrit-Reviewer: Kenneth Albanowski <ken...@google.com>
Gerrit-CC: CrOS Platform Inputs Reviewers <cros-p12...@google.com>
Gerrit-CC: Harry Cutts <hcu...@chromium.org>
Gerrit-CC: Nate Chapin <jap...@chromium.org>
Gerrit-CC: Vincent Scheib <sch...@chromium.org>
Gerrit-CC: gwsq
Gerrit-Attention: Kenneth Albanowski <ken...@google.com>
Gerrit-Attention: Arthur Sonzogni <arthurs...@chromium.org>
Gerrit-Attention: Vincent Scheib <sch...@chromium.org>
Gerrit-Attention: Henry Barnor <hba...@chromium.org>
Gerrit-Comment-Date: Tue, 02 Dec 2025 20:36:05 +0000
Gerrit-HasComments: Yes
Gerrit-Has-Labels: No
Comment-In-Reply-To: Vincent Scheib <sch...@chromium.org>
satisfied_requirement
unsatisfied_requirement
open
diffy

Aditi Page (Gerrit)

unread,
Dec 2, 2025, 4:27:18 PMDec 2
to Vincent Scheib, CrOS Platform Inputs Reviewers, Kenneth Albanowski, Henry Barnor, Harry Cutts, Nate Chapin, Arthur Sonzogni, chromium...@chromium.org, ozone-...@chromium.org
Attention needed from Arthur Sonzogni, Henry Barnor, Kenneth Albanowski and Vincent Scheib

Aditi Page added 1 comment

File ui/events/ozone/evdev/libgestures_glue/gesture_interpreter_libevdev_cros.cc
Line 671, Patchset 1: key_state_diff[i] = new_key_state[i] ^ prev_key_state_[i];
Vincent Scheib . resolved

These are different arrays, one member, one passed in as parameter, and if code is to be locally certain it is same size bounds checks or sizes should be verified on this line.

Aditi Page

Sg! Made these changes here as well as in other places with the same issue.

Aditi Page

Done

Gerrit-Comment-Date: Tue, 02 Dec 2025 21:27:09 +0000
Gerrit-HasComments: Yes
Gerrit-Has-Labels: No
satisfied_requirement
unsatisfied_requirement
open
diffy

Vincent Scheib (Gerrit)

unread,
Dec 2, 2025, 5:19:37 PMDec 2
to Aditi Page, Vincent Scheib, CrOS Platform Inputs Reviewers, Kenneth Albanowski, Henry Barnor, Harry Cutts, Nate Chapin, Arthur Sonzogni, chromium...@chromium.org, ozone-...@chromium.org
Attention needed from Aditi Page, Arthur Sonzogni, Henry Barnor and Kenneth Albanowski

Vincent Scheib added 1 comment

File ui/events/ozone/evdev/libgestures_glue/gesture_interpreter_libevdev_cros.cc
Line 671, Patchset 1: key_state_diff[i] = new_key_state[i] ^ prev_key_state_[i];
Vincent Scheib . unresolved

These are different arrays, one member, one passed in as parameter, and if code is to be locally certain it is same size bounds checks or sizes should be verified on this line.

Aditi Page

Sg! Made these changes here as well as in other places with the same issue.

Aditi Page

Done

Vincent Scheib

Thanks, the prev_key_state_ member as well?

Open in Gerrit

Related details

Attention is currently required from:
  • Aditi Page
  • Arthur Sonzogni
  • Henry Barnor
  • Kenneth Albanowski
Gerrit-Attention: Aditi Page <adit...@google.com>
Gerrit-Attention: Henry Barnor <hba...@chromium.org>
Gerrit-Comment-Date: Tue, 02 Dec 2025 22:19:28 +0000
satisfied_requirement
unsatisfied_requirement
open
diffy

Aditi Page (Gerrit)

unread,
Dec 2, 2025, 7:10:05 PMDec 2
to Vincent Scheib, CrOS Platform Inputs Reviewers, Kenneth Albanowski, Henry Barnor, Harry Cutts, Nate Chapin, Arthur Sonzogni, chromium...@chromium.org, ozone-...@chromium.org
Attention needed from Arthur Sonzogni, Henry Barnor, Kenneth Albanowski and Vincent Scheib

Aditi Page added 1 comment

File ui/events/ozone/evdev/libgestures_glue/gesture_interpreter_libevdev_cros.cc
Line 671, Patchset 1: key_state_diff[i] = new_key_state[i] ^ prev_key_state_[i];
Vincent Scheib . resolved

These are different arrays, one member, one passed in as parameter, and if code is to be locally certain it is same size bounds checks or sizes should be verified on this line.

Aditi Page

Sg! Made these changes here as well as in other places with the same issue.

Aditi Page

Done

Vincent Scheib

Thanks, the prev_key_state_ member as well?

Aditi Page

Yes

Open in Gerrit

Related details

Attention is currently required from:
  • Arthur Sonzogni
  • Henry Barnor
  • Kenneth Albanowski
  • Vincent Scheib
Submit Requirements:
  • requirement satisfiedCode-Coverage
  • requirement is not satisfiedCode-Owners
  • requirement is not satisfiedCode-Review
  • requirement is not satisfiedNo-Unresolved-Comments
  • requirement is not satisfiedReview-Enforcement
Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. DiffyGerrit
Gerrit-MessageType: comment
Gerrit-Project: chromium/src
Gerrit-Branch: main
Gerrit-Change-Id: Ib67f7ac9dfef3a6bddca3324fc86e6b899bb4750
Gerrit-Change-Number: 7214450
Gerrit-PatchSet: 4
Gerrit-Owner: Aditi Page <adit...@google.com>
Gerrit-Reviewer: Arthur Sonzogni <arthurs...@chromium.org>
Gerrit-Reviewer: Henry Barnor <hba...@chromium.org>
Gerrit-Reviewer: Kenneth Albanowski <ken...@google.com>
Gerrit-CC: CrOS Platform Inputs Reviewers <cros-p12...@google.com>
Gerrit-CC: Harry Cutts <hcu...@chromium.org>
Gerrit-CC: Nate Chapin <jap...@chromium.org>
Gerrit-CC: Vincent Scheib <sch...@chromium.org>
Gerrit-CC: gwsq
Gerrit-Attention: Kenneth Albanowski <ken...@google.com>
Gerrit-Attention: Arthur Sonzogni <arthurs...@chromium.org>
Gerrit-Attention: Vincent Scheib <sch...@chromium.org>
Gerrit-Attention: Henry Barnor <hba...@chromium.org>
Gerrit-Comment-Date: Wed, 03 Dec 2025 00:09:52 +0000
satisfied_requirement
unsatisfied_requirement
open
diffy

Arthur Sonzogni (Gerrit)

unread,
Dec 3, 2025, 6:00:44 AMDec 3
to Aditi Page, Vincent Scheib, CrOS Platform Inputs Reviewers, Kenneth Albanowski, Henry Barnor, Harry Cutts, Nate Chapin, chromium...@chromium.org, ozone-...@chromium.org
Attention needed from Aditi Page, Henry Barnor, Kenneth Albanowski and Vincent Scheib

Arthur Sonzogni added 9 comments

Patchset-level comments
File-level comment, Patchset 4 (Latest):
Arthur Sonzogni . resolved

Thanks for the cleanup! It looks like the try-jobs didn't cover this file, as there are a couple of compilation errors that slipped through. I also noted a spot where we can simplify the array copying logic. This is much cleaner code overall—happy to land this once those fixes are in.

Commit Message
Line 15, Patchset 4 (Latest):
Arthur Sonzogni . unresolved

It looks like the 4 bots I triggered were enough to find the compile error.
You can add in the commmit description:
```
Cq-Include-Trybots: luci.chromium.try:chromeos-amd64-generic-dbg
Cq-Include-Trybots: luci.chromium.try:chromeos-amd64-generic-rel
Cq-Include-Trybots: luci.chromium.try:chromeos-jacuzzi-rel
Cq-Include-Trybots: luci.chromium.try:chromeos-octopus-rel
```
to have them permanently added.

File ui/events/ozone/evdev/libgestures_glue/gesture_interpreter_libevdev_cros.cc
Line 66, Patchset 4 (Latest):const std::array<const char*, kNumTimeBuckets> kClickDurationMetricNames = {{
Arthur Sonzogni . unresolved

You renamed the global array `ClickDurationMetricNames` to `kClickDurationMetricNames`. So this won't compile.


You are in the unfortunate case where the CQ try-job aren't able to correctly determine which bots must run. I don't know myself, so I guess we can just proceed carefully and hope it won't get reverted. If it gets reverted, we would learn about the bot to use for the next attempt.

I added additional bots.

Line 150, Patchset 4 (Latest):static constexpr std::array<unsigned int, 8> kModifierEvdevCodes = {
{KEY_LEFTALT, KEY_RIGHTALT, KEY_LEFTMETA, KEY_RIGHTMETA, KEY_LEFTCTRL,
KEY_RIGHTCTRL, KEY_LEFTSHIFT, KEY_RIGHTSHIFT}};
Arthur Sonzogni . unresolved

Optional, feel free to skip:

Sometimes, developers want to the size to be deduced. `std::to_array` can be used:
```
static constexpr auto kModifierEvdevCodes = std::to_array<unsigned int>({
KEY_LEFTALT, KEY_RIGHTALT, KEY_LEFTMETA, KEY_RIGHTMETA,
KEY_LEFTCTRL, KEY_RIGHTCTRL, KEY_LEFTSHIFT, KEY_RIGHTSHIFT
});
```
Note that it is sometimes possible (not here) to deduce the type and the size  class template argument deduction:
```
static constexpr std::array kModifierEvdevCodes = {
KEY_LEFTALT, KEY_RIGHTALT, KEY_LEFTMETA, KEY_RIGHTMETA,
KEY_LEFTCTRL, KEY_RIGHTCTRL, KEY_LEFTSHIFT, KEY_RIGHTSHIFT
};
```
but this won't work here, because it wouldn't give `unsigned int`
Line 675, Patchset 4 (Latest): if (EvdevBitIsSet(new_key_state, key)) {
Arthur Sonzogni . unresolved
I don't think that compile given the implementation:
```
static inline bool EvdevBitIsSet(const unsigned long* data, int bit) {
return UNSAFE_TODO(data[bit / EVDEV_LONG_BITS]) &
(1UL << (bit % EVDEV_LONG_BITS));
}
```

I think you can use:
```
EvdevBitIsSet(new_key_state.data(), key)
```

Ideally, we would spanify `EvDevBitIsSet`, remove the UNSAFE_TODO and update all the callsite, but this is likely too much for now, so you can skip this part and let it for someone else in the future.

Line 688, Patchset 4 (Latest): if (EvdevBitIsSet(key_state_diff, key)) {
Arthur Sonzogni . unresolved

ditto

Line 689, Patchset 4 (Latest): bool value = EvdevBitIsSet(new_key_state, key);
Arthur Sonzogni . unresolved

ditto

Line 715, Patchset 4 (Latest): for (unsigned long i = 0; i < EVDEV_BITS_TO_LONGS(KEY_CNT); ++i) {
prev_key_state_[i] = new_key_state[i];
}
Arthur Sonzogni . unresolved
`std::array` has better developer ergonomics. You can simplify and use the copy operator:
```suggestion
prev_key_state_ = new_key_state;
```
Line 759, Patchset 4 (Latest): unsigned long copy_key_state[EVDEV_BITS_TO_LONGS(KEY_CNT)];
static_assert(sizeof(copy_key_state) == sizeof(prev_key_state_));
std::copy(std::begin(prev_key_state_), std::end(prev_key_state_),
std::begin(copy_key_state));
Arthur Sonzogni . unresolved

Since `std::array` has better developers ergonomic, we can use its copy constructor, simplify and remove the assertion.

(Much simpler)
```suggestion
auto copy_key_state = prev_key_state_;
```
Open in Gerrit

Related details

Attention is currently required from:
  • Aditi Page
Gerrit-Attention: Aditi Page <adit...@google.com>
Gerrit-Attention: Vincent Scheib <sch...@chromium.org>
Gerrit-Attention: Henry Barnor <hba...@chromium.org>
Gerrit-Comment-Date: Wed, 03 Dec 2025 11:00:30 +0000
Gerrit-HasComments: Yes
Gerrit-Has-Labels: No
satisfied_requirement
unsatisfied_requirement
open
diffy

Aditi Page (Gerrit)

unread,
Dec 3, 2025, 2:51:06 PMDec 3
to Vincent Scheib, CrOS Platform Inputs Reviewers, Kenneth Albanowski, Henry Barnor, Harry Cutts, Nate Chapin, Arthur Sonzogni, chromium...@chromium.org, ozone-...@chromium.org
Attention needed from Arthur Sonzogni, Harry Cutts, Henry Barnor, Kenneth Albanowski and Vincent Scheib

Aditi Page added 9 comments

Commit Message
Arthur Sonzogni . resolved

It looks like the 4 bots I triggered were enough to find the compile error.
You can add in the commmit description:
```
Cq-Include-Trybots: luci.chromium.try:chromeos-amd64-generic-dbg
Cq-Include-Trybots: luci.chromium.try:chromeos-amd64-generic-rel
Cq-Include-Trybots: luci.chromium.try:chromeos-jacuzzi-rel
Cq-Include-Trybots: luci.chromium.try:chromeos-octopus-rel
```
to have them permanently added.

Aditi Page

Acknowledged

File ui/events/ozone/evdev/libgestures_glue/gesture_interpreter_libevdev_cros.cc
Line 66, Patchset 4 (Latest):const std::array<const char*, kNumTimeBuckets> kClickDurationMetricNames = {{
Arthur Sonzogni . resolved

You renamed the global array `ClickDurationMetricNames` to `kClickDurationMetricNames`. So this won't compile.


You are in the unfortunate case where the CQ try-job aren't able to correctly determine which bots must run. I don't know myself, so I guess we can just proceed carefully and hope it won't get reverted. If it gets reverted, we would learn about the bot to use for the next attempt.

I added additional bots.

Aditi Page

Done

Line 148, Patchset 1 (Parent): if (duration <= UNSAFE_TODO(ClickDurationMetricBuckets[time_bucket])) {
Arthur Sonzogni . resolved

I don't think this one can be removed.
It is defined as a C-style array without bound checking:
https://source.chromium.org/chromium/chromium/src/+/main:ui/events/ozone/evdev/libgestures_glue/gesture_interpreter_libevdev_cros.cc;l=50?q=ClickDurationMetricNames&sq=&ss=chromium%2Fchromium%2Fsrc

I think we should turn this into a `std::array`.

I am surprised the CQ try-job did not find it.
I added additional bots to potentially increase coverage.
```
Cq-Include-Trybots: luci.chromium.try:chromeos-octopus-rel;luci.chrome.try:chromeos-octopus-chrome,chromeos-octopus-compile-chrome
```

Maybe @hcu...@chromium.org knows what bots are testing this file.

Harry Cutts

I'm no longer on the ChromeOS input team, adding cros-p12s-reviews@ instead

Aditi Page

Yes, std::array sounds better for bound checking. I will make this change. Thanks!

Vincent Scheib

@hcu...@chromium.org should you be removed from https://source.chromium.org/chromium/chromium/src/+/main:ui/events/ozone/OWNERS
?

Harry Cutts

Potentially, yes — I was kept on there initially since it was anticipated that I'd be doing cross-over work between ChromeOS and Android input, but all of that ended up being in platform/gestures/, which has its own OWNERS file anyway.

Aditi Page

Acknowledged

Line 150, Patchset 4 (Latest):static constexpr std::array<unsigned int, 8> kModifierEvdevCodes = {
{KEY_LEFTALT, KEY_RIGHTALT, KEY_LEFTMETA, KEY_RIGHTMETA, KEY_LEFTCTRL,
KEY_RIGHTCTRL, KEY_LEFTSHIFT, KEY_RIGHTSHIFT}};
Arthur Sonzogni . resolved

Optional, feel free to skip:

Sometimes, developers want to the size to be deduced. `std::to_array` can be used:
```
static constexpr auto kModifierEvdevCodes = std::to_array<unsigned int>({
KEY_LEFTALT, KEY_RIGHTALT, KEY_LEFTMETA, KEY_RIGHTMETA,
KEY_LEFTCTRL, KEY_RIGHTCTRL, KEY_LEFTSHIFT, KEY_RIGHTSHIFT
});
```
Note that it is sometimes possible (not here) to deduce the type and the size  class template argument deduction:
```
static constexpr std::array kModifierEvdevCodes = {
KEY_LEFTALT, KEY_RIGHTALT, KEY_LEFTMETA, KEY_RIGHTMETA,
KEY_LEFTCTRL, KEY_RIGHTCTRL, KEY_LEFTSHIFT, KEY_RIGHTSHIFT
};
```
but this won't work here, because it wouldn't give `unsigned int`
Aditi Page

Got it. I figured this size won't change so it's safe to assign it to "8" here.
Thank you for the clarification.

Line 675, Patchset 4 (Latest): if (EvdevBitIsSet(new_key_state, key)) {
Arthur Sonzogni . resolved
I don't think that compile given the implementation:
```
static inline bool EvdevBitIsSet(const unsigned long* data, int bit) {
return UNSAFE_TODO(data[bit / EVDEV_LONG_BITS]) &
(1UL << (bit % EVDEV_LONG_BITS));
}
```

I think you can use:
```
EvdevBitIsSet(new_key_state.data(), key)
```

Ideally, we would spanify `EvDevBitIsSet`, remove the UNSAFE_TODO and update all the callsite, but this is likely too much for now, so you can skip this part and let it for someone else in the future.

Aditi Page

Done

Line 688, Patchset 4 (Latest): if (EvdevBitIsSet(key_state_diff, key)) {
Arthur Sonzogni . resolved

ditto

Aditi Page

Done

Line 689, Patchset 4 (Latest): bool value = EvdevBitIsSet(new_key_state, key);
Arthur Sonzogni . resolved

ditto

Aditi Page

Done

Line 715, Patchset 4 (Latest): for (unsigned long i = 0; i < EVDEV_BITS_TO_LONGS(KEY_CNT); ++i) {
prev_key_state_[i] = new_key_state[i];
}
Arthur Sonzogni . resolved
`std::array` has better developer ergonomics. You can simplify and use the copy operator:
```suggestion
prev_key_state_ = new_key_state;
```
Aditi Page

Done

Line 759, Patchset 4 (Latest): unsigned long copy_key_state[EVDEV_BITS_TO_LONGS(KEY_CNT)];
static_assert(sizeof(copy_key_state) == sizeof(prev_key_state_));
std::copy(std::begin(prev_key_state_), std::end(prev_key_state_),
std::begin(copy_key_state));
Arthur Sonzogni . resolved

Since `std::array` has better developers ergonomic, we can use its copy constructor, simplify and remove the assertion.

(Much simpler)
```suggestion
auto copy_key_state = prev_key_state_;
```
Aditi Page

Done

Open in Gerrit

Related details

Attention is currently required from:
  • Arthur Sonzogni
  • Harry Cutts
  • Henry Barnor
  • Kenneth Albanowski
  • Vincent Scheib
    Submit Requirements:
      • requirement satisfiedCode-Coverage
      • requirement is not satisfiedCode-Owners
      • requirement is not satisfiedCode-Review
      • requirement is not satisfiedReview-Enforcement
      Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. DiffyGerrit
      Gerrit-MessageType: comment
      Gerrit-Project: chromium/src
      Gerrit-Branch: main
      Gerrit-Change-Id: Ib67f7ac9dfef3a6bddca3324fc86e6b899bb4750
      Gerrit-Change-Number: 7214450
      Gerrit-PatchSet: 4
      Gerrit-Owner: Aditi Page <adit...@google.com>
      Gerrit-Reviewer: Arthur Sonzogni <arthurs...@chromium.org>
      Gerrit-Reviewer: Henry Barnor <hba...@chromium.org>
      Gerrit-Reviewer: Kenneth Albanowski <ken...@google.com>
      Gerrit-CC: CrOS Platform Inputs Reviewers <cros-p12...@google.com>
      Gerrit-CC: Harry Cutts <hcu...@chromium.org>
      Gerrit-CC: Nate Chapin <jap...@chromium.org>
      Gerrit-CC: Vincent Scheib <sch...@chromium.org>
      Gerrit-CC: gwsq
      Gerrit-Attention: Harry Cutts <hcu...@chromium.org>
      Gerrit-Attention: Kenneth Albanowski <ken...@google.com>
      Gerrit-Attention: Arthur Sonzogni <arthurs...@chromium.org>
      Gerrit-Attention: Vincent Scheib <sch...@chromium.org>
      Gerrit-Attention: Henry Barnor <hba...@chromium.org>
      Gerrit-Comment-Date: Wed, 03 Dec 2025 19:50:56 +0000
      Gerrit-HasComments: Yes
      Gerrit-Has-Labels: No
      Comment-In-Reply-To: Harry Cutts <hcu...@chromium.org>
      Comment-In-Reply-To: Arthur Sonzogni <arthurs...@chromium.org>
      satisfied_requirement
      unsatisfied_requirement
      open
      diffy

      Aditi Page (Gerrit)

      unread,
      Dec 3, 2025, 2:58:32 PMDec 3
      to Harry Cutts, Vincent Scheib, CrOS Platform Inputs Reviewers, Kenneth Albanowski, Henry Barnor, Nate Chapin, Arthur Sonzogni, chromium...@chromium.org, ozone-...@chromium.org
      Attention needed from Arthur Sonzogni, Henry Barnor, Kenneth Albanowski and Vincent Scheib

      Aditi Page removed Harry Cutts from this change

      Deleted Reviewers:
      • Harry Cutts
      Open in Gerrit

      Related details

      Attention is currently required from:
      • Arthur Sonzogni
      • Henry Barnor
      • Kenneth Albanowski
      • Vincent Scheib
      Submit Requirements:
      • requirement satisfiedCode-Coverage
      • requirement is not satisfiedCode-Owners
      • requirement is not satisfiedCode-Review
      • requirement is not satisfiedReview-Enforcement
      Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. DiffyGerrit
      Gerrit-MessageType: deleteReviewer
      Gerrit-Project: chromium/src
      Gerrit-Branch: main
      Gerrit-Change-Id: Ib67f7ac9dfef3a6bddca3324fc86e6b899bb4750
      Gerrit-Change-Number: 7214450
      Gerrit-PatchSet: 5
      Gerrit-Owner: Aditi Page <adit...@google.com>
      Gerrit-Reviewer: Arthur Sonzogni <arthurs...@chromium.org>
      Gerrit-Reviewer: Henry Barnor <hba...@chromium.org>
      Gerrit-Reviewer: Kenneth Albanowski <ken...@google.com>
      Gerrit-CC: CrOS Platform Inputs Reviewers <cros-p12...@google.com>
      Gerrit-CC: Nate Chapin <jap...@chromium.org>
      Gerrit-CC: Vincent Scheib <sch...@chromium.org>
      Gerrit-CC: gwsq
      satisfied_requirement
      unsatisfied_requirement
      open
      diffy

      Vincent Scheib (Gerrit)

      unread,
      Dec 3, 2025, 6:08:31 PMDec 3
      to Aditi Page, Vincent Scheib, CrOS Platform Inputs Reviewers, Kenneth Albanowski, Henry Barnor, Nate Chapin, Arthur Sonzogni, chromium...@chromium.org, ozone-...@chromium.org
      Attention needed from Aditi Page, Arthur Sonzogni, Henry Barnor and Kenneth Albanowski

      Vincent Scheib voted Code-Review+1

      Code-Review+1
      Open in Gerrit

      Related details

      Attention is currently required from:
      • Aditi Page
      • Arthur Sonzogni
      • Henry Barnor
      • Kenneth Albanowski
        Submit Requirements:
          • requirement satisfiedCode-Coverage
          • requirement is not satisfiedCode-Owners
          • requirement is not satisfiedCode-Review
          • requirement satisfiedReview-Enforcement
          Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. DiffyGerrit
          Gerrit-MessageType: comment
          Gerrit-Project: chromium/src
          Gerrit-Branch: main
          Gerrit-Change-Id: Ib67f7ac9dfef3a6bddca3324fc86e6b899bb4750
          Gerrit-Change-Number: 7214450
          Gerrit-PatchSet: 6
          Gerrit-Owner: Aditi Page <adit...@google.com>
          Gerrit-Reviewer: Arthur Sonzogni <arthurs...@chromium.org>
          Gerrit-Reviewer: Henry Barnor <hba...@chromium.org>
          Gerrit-Reviewer: Kenneth Albanowski <ken...@google.com>
          Gerrit-Reviewer: Vincent Scheib <sch...@chromium.org>
          Gerrit-CC: CrOS Platform Inputs Reviewers <cros-p12...@google.com>
          Gerrit-CC: Nate Chapin <jap...@chromium.org>
          Gerrit-CC: gwsq
          Gerrit-Attention: Kenneth Albanowski <ken...@google.com>
          Gerrit-Attention: Arthur Sonzogni <arthurs...@chromium.org>
          Gerrit-Attention: Aditi Page <adit...@google.com>
          Gerrit-Attention: Henry Barnor <hba...@chromium.org>
          Gerrit-Comment-Date: Wed, 03 Dec 2025 23:08:17 +0000
          Gerrit-HasComments: No
          Gerrit-Has-Labels: Yes
          satisfied_requirement
          unsatisfied_requirement
          open
          diffy

          Arthur Sonzogni (Gerrit)

          unread,
          Dec 4, 2025, 5:45:03 AMDec 4
          to Aditi Page, Vincent Scheib, CrOS Platform Inputs Reviewers, Kenneth Albanowski, Henry Barnor, Nate Chapin, chromium...@chromium.org, ozone-...@chromium.org
          Attention needed from Aditi Page, Henry Barnor and Kenneth Albanowski

          Arthur Sonzogni voted and added 1 comment

          Votes added by Arthur Sonzogni

          Code-Review+1

          1 comment

          Patchset-level comments
          File-level comment, Patchset 6 (Latest):
          Arthur Sonzogni . resolved

          Thanks! That a nice cleanup of UNSAFE_TODO and code.

          Open in Gerrit

          Related details

          Attention is currently required from:
          • Aditi Page
          • Henry Barnor
          • Kenneth Albanowski
          Submit Requirements:
            • requirement satisfiedCode-Coverage
            • requirement is not satisfiedCode-Owners
            • requirement satisfiedCode-Review
            • requirement satisfiedReview-Enforcement
            Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. DiffyGerrit
            Gerrit-MessageType: comment
            Gerrit-Project: chromium/src
            Gerrit-Branch: main
            Gerrit-Change-Id: Ib67f7ac9dfef3a6bddca3324fc86e6b899bb4750
            Gerrit-Change-Number: 7214450
            Gerrit-PatchSet: 6
            Gerrit-Owner: Aditi Page <adit...@google.com>
            Gerrit-Reviewer: Arthur Sonzogni <arthurs...@chromium.org>
            Gerrit-Reviewer: Henry Barnor <hba...@chromium.org>
            Gerrit-Reviewer: Kenneth Albanowski <ken...@google.com>
            Gerrit-Reviewer: Vincent Scheib <sch...@chromium.org>
            Gerrit-CC: CrOS Platform Inputs Reviewers <cros-p12...@google.com>
            Gerrit-CC: Nate Chapin <jap...@chromium.org>
            Gerrit-CC: gwsq
            Gerrit-Attention: Kenneth Albanowski <ken...@google.com>
            Gerrit-Attention: Aditi Page <adit...@google.com>
            Gerrit-Attention: Henry Barnor <hba...@chromium.org>
            Gerrit-Comment-Date: Thu, 04 Dec 2025 10:44:47 +0000
            Gerrit-HasComments: Yes
            Gerrit-Has-Labels: Yes
            satisfied_requirement
            unsatisfied_requirement
            open
            diffy

            Mitsuru Oshima (Gerrit)

            unread,
            Dec 9, 2025, 4:51:40 PM (12 days ago) Dec 9
            to Aditi Page, Code Review Nudger, Arthur Sonzogni, Vincent Scheib, CrOS Platform Inputs Reviewers, Kenneth Albanowski, Henry Barnor, Nate Chapin, chromium...@chromium.org, ozone-...@chromium.org
            Attention needed from Aditi Page, Henry Barnor and Kenneth Albanowski

            Mitsuru Oshima voted and added 2 comments

            Votes added by Mitsuru Oshima

            Code-Review+1

            2 comments

            Patchset-level comments
            Mitsuru Oshima . resolved

            lgtm % optional nit

            File ui/events/ozone/evdev/libgestures_glue/gesture_interpreter_libevdev_cros.cc
            Line 157, Patchset 6 (Latest): int time_bucket;
            Mitsuru Oshima . unresolved

            optional nit: size_t

            Open in Gerrit

            Related details

            Attention is currently required from:
            • Aditi Page
            • Henry Barnor
            • Kenneth Albanowski
            Submit Requirements:
            • requirement satisfiedCode-Coverage
            • requirement satisfiedCode-Owners
            • requirement satisfiedCode-Review
            • requirement is not satisfiedNo-Unresolved-Comments
            • requirement satisfiedReview-Enforcement
            Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. DiffyGerrit
            Gerrit-MessageType: comment
            Gerrit-Project: chromium/src
            Gerrit-Branch: main
            Gerrit-Change-Id: Ib67f7ac9dfef3a6bddca3324fc86e6b899bb4750
            Gerrit-Change-Number: 7214450
            Gerrit-PatchSet: 6
            Gerrit-Owner: Aditi Page <adit...@google.com>
            Gerrit-Reviewer: Arthur Sonzogni <arthurs...@chromium.org>
            Gerrit-Reviewer: Henry Barnor <hba...@chromium.org>
            Gerrit-Reviewer: Kenneth Albanowski <ken...@google.com>
            Gerrit-Reviewer: Mitsuru Oshima <osh...@chromium.org>
            Gerrit-Reviewer: Vincent Scheib <sch...@chromium.org>
            Gerrit-CC: Code Review Nudger <android-build...@prod.google.com>
            Gerrit-CC: CrOS Platform Inputs Reviewers <cros-p12...@google.com>
            Gerrit-CC: Nate Chapin <jap...@chromium.org>
            Gerrit-CC: gwsq
            Gerrit-Attention: Kenneth Albanowski <ken...@google.com>
            Gerrit-Attention: Aditi Page <adit...@google.com>
            Gerrit-Attention: Henry Barnor <hba...@chromium.org>
            Gerrit-Comment-Date: Tue, 09 Dec 2025 21:51:27 +0000
            Gerrit-HasComments: Yes
            Gerrit-Has-Labels: Yes
            satisfied_requirement
            unsatisfied_requirement
            open
            diffy

            Aditi Page (Gerrit)

            unread,
            Dec 9, 2025, 5:48:34 PM (12 days ago) Dec 9
            to Mitsuru Oshima, Code Review Nudger, Arthur Sonzogni, Vincent Scheib, CrOS Platform Inputs Reviewers, Kenneth Albanowski, Henry Barnor, Nate Chapin, chromium...@chromium.org, ozone-...@chromium.org
            Attention needed from Henry Barnor and Kenneth Albanowski

            Aditi Page added 1 comment

            File ui/events/ozone/evdev/libgestures_glue/gesture_interpreter_libevdev_cros.cc
            Mitsuru Oshima . resolved

            optional nit: size_t

            Aditi Page

            Acknowledged

            Open in Gerrit

            Related details

            Attention is currently required from:
            • Henry Barnor
            • Kenneth Albanowski
            Submit Requirements:
              • requirement satisfiedCode-Coverage
              • requirement satisfiedCode-Owners
              • requirement satisfiedCode-Review
              • requirement satisfiedReview-Enforcement
              Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. DiffyGerrit
              Gerrit-MessageType: comment
              Gerrit-Project: chromium/src
              Gerrit-Branch: main
              Gerrit-Change-Id: Ib67f7ac9dfef3a6bddca3324fc86e6b899bb4750
              Gerrit-Change-Number: 7214450
              Gerrit-PatchSet: 6
              Gerrit-Owner: Aditi Page <adit...@google.com>
              Gerrit-Reviewer: Arthur Sonzogni <arthurs...@chromium.org>
              Gerrit-Reviewer: Henry Barnor <hba...@chromium.org>
              Gerrit-Reviewer: Kenneth Albanowski <ken...@google.com>
              Gerrit-Reviewer: Mitsuru Oshima <osh...@chromium.org>
              Gerrit-Reviewer: Vincent Scheib <sch...@chromium.org>
              Gerrit-CC: Code Review Nudger <android-build...@prod.google.com>
              Gerrit-CC: CrOS Platform Inputs Reviewers <cros-p12...@google.com>
              Gerrit-CC: Nate Chapin <jap...@chromium.org>
              Gerrit-CC: gwsq
              Gerrit-Attention: Kenneth Albanowski <ken...@google.com>
              Gerrit-Attention: Henry Barnor <hba...@chromium.org>
              Gerrit-Comment-Date: Tue, 09 Dec 2025 22:48:18 +0000
              Gerrit-HasComments: Yes
              Gerrit-Has-Labels: No
              Comment-In-Reply-To: Mitsuru Oshima <osh...@chromium.org>
              satisfied_requirement
              open
              diffy

              Aditi Page (Gerrit)

              unread,
              Dec 9, 2025, 5:48:59 PM (12 days ago) Dec 9
              to Mitsuru Oshima, Code Review Nudger, Arthur Sonzogni, Vincent Scheib, CrOS Platform Inputs Reviewers, Kenneth Albanowski, Henry Barnor, Nate Chapin, chromium...@chromium.org, ozone-...@chromium.org
              Attention needed from Henry Barnor and Kenneth Albanowski

              Aditi Page voted Commit-Queue+2

              Commit-Queue+2
              Open in Gerrit

              Related details

              Attention is currently required from:
              • Henry Barnor
              • Kenneth Albanowski
              Submit Requirements:
              • requirement satisfiedCode-Coverage
              • requirement satisfiedCode-Owners
              • requirement satisfiedCode-Review
              • requirement satisfiedReview-Enforcement
              Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. DiffyGerrit
              Gerrit-MessageType: comment
              Gerrit-Project: chromium/src
              Gerrit-Branch: main
              Gerrit-Change-Id: Ib67f7ac9dfef3a6bddca3324fc86e6b899bb4750
              Gerrit-Change-Number: 7214450
              Gerrit-PatchSet: 6
              Gerrit-Owner: Aditi Page <adit...@google.com>
              Gerrit-Reviewer: Aditi Page <adit...@google.com>
              Gerrit-Reviewer: Arthur Sonzogni <arthurs...@chromium.org>
              Gerrit-Reviewer: Henry Barnor <hba...@chromium.org>
              Gerrit-Reviewer: Kenneth Albanowski <ken...@google.com>
              Gerrit-Reviewer: Mitsuru Oshima <osh...@chromium.org>
              Gerrit-Reviewer: Vincent Scheib <sch...@chromium.org>
              Gerrit-CC: Code Review Nudger <android-build...@prod.google.com>
              Gerrit-CC: CrOS Platform Inputs Reviewers <cros-p12...@google.com>
              Gerrit-CC: Nate Chapin <jap...@chromium.org>
              Gerrit-CC: gwsq
              Gerrit-Attention: Kenneth Albanowski <ken...@google.com>
              Gerrit-Attention: Henry Barnor <hba...@chromium.org>
              Gerrit-Comment-Date: Tue, 09 Dec 2025 22:48:41 +0000
              Gerrit-HasComments: No
              Gerrit-Has-Labels: Yes
              satisfied_requirement
              open
              diffy

              Aditi Page (Gerrit)

              unread,
              Dec 9, 2025, 6:18:25 PM (12 days ago) Dec 9
              to Chromium LUCI CQ, Mitsuru Oshima, Code Review Nudger, Arthur Sonzogni, Vincent Scheib, CrOS Platform Inputs Reviewers, Kenneth Albanowski, Henry Barnor, Nate Chapin, chromium...@chromium.org, ozone-...@chromium.org
              Gerrit-CC: Code Review Nudger <android-build...@prod.google.com>
              Gerrit-CC: CrOS Platform Inputs Reviewers <cros-p12...@google.com>
              Gerrit-CC: Nate Chapin <jap...@chromium.org>
              Gerrit-CC: gwsq
              Gerrit-Attention: Kenneth Albanowski <ken...@google.com>
              Gerrit-Attention: Henry Barnor <hba...@chromium.org>
              Gerrit-Comment-Date: Tue, 09 Dec 2025 23:18:11 +0000
              Gerrit-HasComments: No
              Gerrit-Has-Labels: Yes
              satisfied_requirement
              open
              diffy

              Aditi Page (Gerrit)

              unread,
              Dec 12, 2025, 1:28:54 AM (10 days ago) Dec 12
              to Kenneth Albanowski, Chromium LUCI CQ, Mitsuru Oshima, Code Review Nudger, Arthur Sonzogni, Vincent Scheib, CrOS Platform Inputs Reviewers, Henry Barnor, Nate Chapin, chromium...@chromium.org, ozone-...@chromium.org
              Attention needed from Aditi Page, Arthur Sonzogni, Henry Barnor, Mitsuru Oshima and Vincent Scheib

              Aditi Page removed Kenneth Albanowski from this change

              Deleted Reviewers:
              • Kenneth Albanowski
              Open in Gerrit

              Related details

              Attention is currently required from:
              • Aditi Page
              • Arthur Sonzogni
              • Henry Barnor
              • Mitsuru Oshima
              • Vincent Scheib
              Submit Requirements:
                • requirement satisfiedCode-Coverage
                • requirement satisfiedCode-Owners
                • requirement is not satisfiedCode-Review
                • requirement is not satisfiedReview-Enforcement
                Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. DiffyGerrit
                Gerrit-MessageType: deleteReviewer
                Gerrit-Project: chromium/src
                Gerrit-Branch: main
                Gerrit-Change-Id: Ib67f7ac9dfef3a6bddca3324fc86e6b899bb4750
                Gerrit-Change-Number: 7214450
                Gerrit-PatchSet: 7
                Gerrit-Owner: Aditi Page <adit...@google.com>
                Gerrit-Reviewer: Aditi Page <adit...@google.com>
                Gerrit-Reviewer: Arthur Sonzogni <arthurs...@chromium.org>
                Gerrit-Reviewer: Henry Barnor <hba...@chromium.org>
                Gerrit-Reviewer: Mitsuru Oshima <osh...@chromium.org>
                Gerrit-Reviewer: Vincent Scheib <sch...@chromium.org>
                Gerrit-CC: Code Review Nudger <android-build...@prod.google.com>
                Gerrit-CC: CrOS Platform Inputs Reviewers <cros-p12...@google.com>
                Gerrit-CC: Nate Chapin <jap...@chromium.org>
                Gerrit-CC: gwsq
                Gerrit-Attention: Arthur Sonzogni <arthurs...@chromium.org>
                Gerrit-Attention: Mitsuru Oshima <osh...@chromium.org>
                Gerrit-Attention: Aditi Page <adit...@google.com>
                satisfied_requirement
                unsatisfied_requirement
                open
                diffy

                Aditi Page (Gerrit)

                unread,
                Dec 12, 2025, 1:29:02 AM (10 days ago) Dec 12
                to Henry Barnor, Chromium LUCI CQ, Mitsuru Oshima, Code Review Nudger, Arthur Sonzogni, Vincent Scheib, CrOS Platform Inputs Reviewers, Nate Chapin, chromium...@chromium.org, ozone-...@chromium.org
                Attention needed from Aditi Page, Arthur Sonzogni, Mitsuru Oshima and Vincent Scheib

                Aditi Page removed Henry Barnor from this change

                Deleted Reviewers:
                • Henry Barnor
                Open in Gerrit

                Related details

                Attention is currently required from:
                • Aditi Page
                • Arthur Sonzogni
                • Mitsuru Oshima
                • Vincent Scheib
                Submit Requirements:
                • requirement satisfiedCode-Coverage
                • requirement satisfiedCode-Owners
                • requirement is not satisfiedCode-Review
                • requirement is not satisfiedReview-Enforcement
                Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. DiffyGerrit
                Gerrit-MessageType: deleteReviewer
                Gerrit-Project: chromium/src
                Gerrit-Branch: main
                Gerrit-Change-Id: Ib67f7ac9dfef3a6bddca3324fc86e6b899bb4750
                Gerrit-Change-Number: 7214450
                Gerrit-PatchSet: 7
                Gerrit-Owner: Aditi Page <adit...@google.com>
                Gerrit-Reviewer: Aditi Page <adit...@google.com>
                Gerrit-Reviewer: Arthur Sonzogni <arthurs...@chromium.org>
                satisfied_requirement
                unsatisfied_requirement
                open
                diffy

                Arthur Sonzogni (Gerrit)

                unread,
                Dec 12, 2025, 5:01:26 AM (10 days ago) Dec 12
                to Aditi Page, Henry Barnor, Chromium LUCI CQ, Mitsuru Oshima, Code Review Nudger, Vincent Scheib, CrOS Platform Inputs Reviewers, Nate Chapin, chromium...@chromium.org, ozone-...@chromium.org
                Attention needed from Aditi Page, Mitsuru Oshima and Vincent Scheib

                Arthur Sonzogni voted and added 1 comment

                Votes added by Arthur Sonzogni

                Code-Review+1
                Commit-Queue+1

                1 comment

                File ui/events/ozone/evdev/libgestures_glue/gesture_interpreter_libevdev_cros.h
                Line 17, Patchset 8 (Latest):#include "base/memory/raw_ptr.h"
                Arthur Sonzogni . unresolved

                Add:
                ```
                #include "base/containers/span.h"
                ```

                Open in Gerrit

                Related details

                Attention is currently required from:
                • Aditi Page
                • Mitsuru Oshima
                • Vincent Scheib
                Submit Requirements:
                  • requirement satisfiedCode-Coverage
                  • requirement satisfiedCode-Owners
                  • requirement is not satisfiedCode-Review
                  • requirement is not satisfiedNo-Unresolved-Comments
                  • requirement satisfiedReview-Enforcement
                  Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. DiffyGerrit
                  Gerrit-MessageType: comment
                  Gerrit-Project: chromium/src
                  Gerrit-Branch: main
                  Gerrit-Change-Id: Ib67f7ac9dfef3a6bddca3324fc86e6b899bb4750
                  Gerrit-Change-Number: 7214450
                  Gerrit-PatchSet: 8
                  Gerrit-Owner: Aditi Page <adit...@google.com>
                  Gerrit-Reviewer: Aditi Page <adit...@google.com>
                  Gerrit-Reviewer: Arthur Sonzogni <arthurs...@chromium.org>
                  Gerrit-Reviewer: Mitsuru Oshima <osh...@chromium.org>
                  Gerrit-Reviewer: Vincent Scheib <sch...@chromium.org>
                  Gerrit-CC: Code Review Nudger <android-build...@prod.google.com>
                  Gerrit-CC: CrOS Platform Inputs Reviewers <cros-p12...@google.com>
                  Gerrit-CC: Henry Barnor <hba...@chromium.org>
                  Gerrit-CC: Nate Chapin <jap...@chromium.org>
                  Gerrit-CC: gwsq
                  Gerrit-Attention: Mitsuru Oshima <osh...@chromium.org>
                  Gerrit-Attention: Aditi Page <adit...@google.com>
                  Gerrit-Attention: Vincent Scheib <sch...@chromium.org>
                  Gerrit-Comment-Date: Fri, 12 Dec 2025 10:01:12 +0000
                  Gerrit-HasComments: Yes
                  Gerrit-Has-Labels: Yes
                  satisfied_requirement
                  unsatisfied_requirement
                  open
                  diffy

                  Aditi Page (Gerrit)

                  unread,
                  Dec 12, 2025, 5:06:31 AM (10 days ago) Dec 12
                  to Arthur Sonzogni, Henry Barnor, Chromium LUCI CQ, Mitsuru Oshima, Code Review Nudger, Vincent Scheib, CrOS Platform Inputs Reviewers, Nate Chapin, chromium...@chromium.org, ozone-...@chromium.org
                  Attention needed from Arthur Sonzogni, Mitsuru Oshima and Vincent Scheib

                  Aditi Page added 1 comment

                  File ui/events/ozone/evdev/libgestures_glue/gesture_interpreter_libevdev_cros.h
                  Line 17, Patchset 8:#include "base/memory/raw_ptr.h"
                  Arthur Sonzogni . resolved

                  Add:
                  ```
                  #include "base/containers/span.h"
                  ```

                  Aditi Page

                  Acknowledged

                  Open in Gerrit

                  Related details

                  Attention is currently required from:
                  • Arthur Sonzogni
                  • Mitsuru Oshima
                  • Vincent Scheib
                  Submit Requirements:
                    • requirement satisfiedCode-Coverage
                    • requirement satisfiedCode-Owners
                    • requirement is not satisfiedCode-Review
                    • requirement is not satisfiedReview-Enforcement
                    Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. DiffyGerrit
                    Gerrit-MessageType: comment
                    Gerrit-Project: chromium/src
                    Gerrit-Branch: main
                    Gerrit-Change-Id: Ib67f7ac9dfef3a6bddca3324fc86e6b899bb4750
                    Gerrit-Change-Number: 7214450
                    Gerrit-PatchSet: 9
                    Gerrit-Owner: Aditi Page <adit...@google.com>
                    Gerrit-Reviewer: Aditi Page <adit...@google.com>
                    Gerrit-Reviewer: Arthur Sonzogni <arthurs...@chromium.org>
                    Gerrit-Reviewer: Mitsuru Oshima <osh...@chromium.org>
                    Gerrit-Reviewer: Vincent Scheib <sch...@chromium.org>
                    Gerrit-CC: Code Review Nudger <android-build...@prod.google.com>
                    Gerrit-CC: CrOS Platform Inputs Reviewers <cros-p12...@google.com>
                    Gerrit-CC: Henry Barnor <hba...@chromium.org>
                    Gerrit-CC: Nate Chapin <jap...@chromium.org>
                    Gerrit-CC: gwsq
                    Gerrit-Attention: Arthur Sonzogni <arthurs...@chromium.org>
                    Gerrit-Attention: Mitsuru Oshima <osh...@chromium.org>
                    Gerrit-Attention: Vincent Scheib <sch...@chromium.org>
                    Gerrit-Comment-Date: Fri, 12 Dec 2025 10:06:18 +0000
                    Gerrit-HasComments: Yes
                    Gerrit-Has-Labels: No
                    Comment-In-Reply-To: Arthur Sonzogni <arthurs...@chromium.org>
                    satisfied_requirement
                    unsatisfied_requirement
                    open
                    diffy

                    Mitsuru Oshima (Gerrit)

                    unread,
                    Dec 12, 2025, 6:21:27 PM (9 days ago) Dec 12
                    to Aditi Page, Arthur Sonzogni, Henry Barnor, Chromium LUCI CQ, Code Review Nudger, Vincent Scheib, CrOS Platform Inputs Reviewers, Nate Chapin, chromium...@chromium.org, ozone-...@chromium.org
                    Attention needed from Aditi Page, Arthur Sonzogni and Vincent Scheib

                    Mitsuru Oshima voted Commit-Queue+1

                    Commit-Queue+1
                    Open in Gerrit

                    Related details

                    Attention is currently required from:
                    • Aditi Page
                    • Arthur Sonzogni
                    • Vincent Scheib
                    Gerrit-Attention: Aditi Page <adit...@google.com>
                    Gerrit-Attention: Vincent Scheib <sch...@chromium.org>
                    Gerrit-Comment-Date: Fri, 12 Dec 2025 23:21:15 +0000
                    Gerrit-HasComments: No
                    Gerrit-Has-Labels: Yes
                    satisfied_requirement
                    unsatisfied_requirement
                    open
                    diffy

                    Mitsuru Oshima (Gerrit)

                    unread,
                    Dec 16, 2025, 2:33:35 PM (6 days ago) Dec 16
                    to Aditi Page, Henry Barnor, Arthur Sonzogni, Chromium LUCI CQ, Code Review Nudger, Vincent Scheib, CrOS Platform Inputs Reviewers, Nate Chapin, chromium...@chromium.org, ozone-...@chromium.org
                    Attention needed from Aditi Page, Arthur Sonzogni, Henry Barnor and Vincent Scheib

                    Mitsuru Oshima voted and added 1 comment

                    Votes added by Mitsuru Oshima

                    Code-Review+1

                    1 comment

                    Patchset-level comments
                    File-level comment, Patchset 9 (Latest):
                    Mitsuru Oshima . resolved

                    +hbarnor@ who touched this file recently.
                    hbarnor@ could you please review this too?
                    aditipage@@, please wait for his approval.

                    Open in Gerrit

                    Related details

                    Attention is currently required from:
                    • Aditi Page
                    • Arthur Sonzogni
                    • Henry Barnor
                    • Vincent Scheib
                    Submit Requirements:
                      • requirement satisfiedCode-Coverage
                      • requirement satisfiedCode-Owners
                      • requirement is not satisfiedCode-Review
                      • requirement satisfiedReview-Enforcement
                      Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. DiffyGerrit
                      Gerrit-MessageType: comment
                      Gerrit-Project: chromium/src
                      Gerrit-Branch: main
                      Gerrit-Change-Id: Ib67f7ac9dfef3a6bddca3324fc86e6b899bb4750
                      Gerrit-Change-Number: 7214450
                      Gerrit-PatchSet: 9
                      Gerrit-Owner: Aditi Page <adit...@google.com>
                      Gerrit-Reviewer: Aditi Page <adit...@google.com>
                      Gerrit-Reviewer: Arthur Sonzogni <arthurs...@chromium.org>
                      Gerrit-Reviewer: Henry Barnor <hba...@chromium.org>
                      Gerrit-Reviewer: Mitsuru Oshima <osh...@chromium.org>
                      Gerrit-Reviewer: Vincent Scheib <sch...@chromium.org>
                      Gerrit-CC: Code Review Nudger <android-build...@prod.google.com>
                      Gerrit-CC: CrOS Platform Inputs Reviewers <cros-p12...@google.com>
                      Gerrit-CC: Nate Chapin <jap...@chromium.org>
                      Gerrit-CC: gwsq
                      Gerrit-Attention: Arthur Sonzogni <arthurs...@chromium.org>
                      Gerrit-Attention: Aditi Page <adit...@google.com>
                      Gerrit-Attention: Henry Barnor <hba...@chromium.org>
                      Gerrit-Attention: Vincent Scheib <sch...@chromium.org>
                      Gerrit-Comment-Date: Tue, 16 Dec 2025 19:33:21 +0000
                      Gerrit-HasComments: Yes
                      Gerrit-Has-Labels: Yes
                      satisfied_requirement
                      unsatisfied_requirement
                      open
                      diffy

                      Aditi Page (Gerrit)

                      unread,
                      Dec 17, 2025, 12:56:43 PM (5 days ago) Dec 17
                      to Henry Barnor, Mitsuru Oshima, Arthur Sonzogni, Chromium LUCI CQ, Code Review Nudger, Vincent Scheib, CrOS Platform Inputs Reviewers, Nate Chapin, chromium...@chromium.org, ozone-...@chromium.org
                      Attention needed from Arthur Sonzogni, Henry Barnor and Vincent Scheib

                      Aditi Page added 1 comment

                      Patchset-level comments
                      Mitsuru Oshima . resolved

                      +hbarnor@ who touched this file recently.
                      hbarnor@ could you please review this too?
                      aditipage@@, please wait for his approval.

                      Aditi Page

                      Sure. Thank you for taking a look.

                      Open in Gerrit

                      Related details

                      Attention is currently required from:
                      Gerrit-Attention: Henry Barnor <hba...@chromium.org>
                      Gerrit-Attention: Vincent Scheib <sch...@chromium.org>
                      Gerrit-Comment-Date: Wed, 17 Dec 2025 17:56:26 +0000
                      Gerrit-HasComments: Yes
                      Gerrit-Has-Labels: No
                      Comment-In-Reply-To: Mitsuru Oshima <osh...@chromium.org>
                      satisfied_requirement
                      unsatisfied_requirement
                      open
                      diffy
                      Reply all
                      Reply to author
                      Forward
                      0 new messages