Sub ASCII digits for Arabic-Indic for Arabic keyboards on Windows [chromium/src : main]

0 views
Skip to first unread message

John An (Gerrit)

unread,
Sep 23, 2025, 6:26:33 PMSep 23
to Mustaq Ahmed, Rahul Arakeri, Olga Gerchikov, Claire Chambers, Wangsong Jin, Gaston Rodriguez, Eain Chen, chromium...@chromium.org, James Su, alexmo...@chromium.org, creis...@chromium.org, jbauma...@chromium.org, keithle...@chromium.org, navigation...@chromium.org, nona+...@chromium.org, shuche...@chromium.org, tranbaod...@chromium.org, yhanad...@chromium.org
Attention needed from Mustaq Ahmed and Rahul Arakeri

John An added 3 comments

File content/browser/renderer_host/render_widget_host_view_aura.cc
Line 1449, Patchset 7:#if BUILDFLAG(IS_WIN)
Mustaq Ahmed . resolved

Nit: wouldn't it be easier to follow if the variable is set unconditionally false outside the `#if`, then set it again inside?

John An

Yes agreed.

John An

Done

Line 1456, Patchset 7: 0 /* idThread = Current Thread */)))) == LANG_ARABIC &&
Mustaq Ahmed . resolved

Not sure if the use of "eastern" (see below) calls for a specific sub-language. I see a bunch of `SUBLANG_ARABIC_*` too.

John An

Sublanguages didn't end up being relevant here, but your comment made me revise to scoping this behavior to Arabic 101. There are 3 Arabic keyboard layouts and the layouts/input are mostly independent of sublanguage. The other 2 layouts - 102 and 102 AZERTY - already have altgr characters in the top row digit keys. Thanks!

Line 1466, Patchset 7: kEasternArabicZeroUnicode)
Mustaq Ahmed . resolved

Wondering why `Eastern`? It seems U+0660 is simply described as "Arabic-Indic Digit Zero".

John An

Looking into this made me realize there are distinct Arabic-Indic 066x and Extended Arabic-Indic 06Fx. I thought Arabic-Indic and Eastern-Arabic were interchangeable terms. I'll look into what language should support which digits and make some changes. Thanks

John An

Based on unicode docs there are 2 Eastern Arabic digit sets where Arabic-Indic is used in Arabic languages and Eastern Arabic-Indic are used with Arabic-script languages of Iran, Pakistan, and India eg. Persian, Urdu. I've revised a bunch of comments and naming to reflect this.

Open in Gerrit

Related details

Attention is currently required from:
  • Mustaq Ahmed
  • Rahul Arakeri
Submit Requirements:
  • requirement satisfiedCode-Coverage
  • requirement is not satisfiedCode-Owners
  • requirement is not satisfiedCode-Review
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: Iac822f5fe4437c3efe3ed620b31faa70ae7042b8
Gerrit-Change-Number: 6941614
Gerrit-PatchSet: 10
Gerrit-Owner: John An <jo...@microsoft.com>
Gerrit-Reviewer: Claire Chambers <clcha...@microsoft.com>
Gerrit-Reviewer: Eain Chen <eain...@microsoft.com>
Gerrit-Reviewer: Gaston Rodriguez <gas...@microsoft.com>
Gerrit-Reviewer: Mustaq Ahmed <mus...@chromium.org>
Gerrit-Reviewer: Olga Gerchikov <gerc...@microsoft.com>
Gerrit-Reviewer: Rahul Arakeri <ara...@microsoft.com>
Gerrit-CC: James Su <su...@chromium.org>
Gerrit-CC: Wangsong Jin <wangs...@microsoft.com>
Gerrit-Attention: Mustaq Ahmed <mus...@chromium.org>
Gerrit-Attention: Rahul Arakeri <ara...@microsoft.com>
Gerrit-Comment-Date: Tue, 23 Sep 2025 22:26:22 +0000
Gerrit-HasComments: Yes
Gerrit-Has-Labels: No
Comment-In-Reply-To: Mustaq Ahmed <mus...@chromium.org>
Comment-In-Reply-To: John An <jo...@microsoft.com>
satisfied_requirement
unsatisfied_requirement
open
diffy

Mustaq Ahmed (Gerrit)

unread,
Sep 24, 2025, 10:06:08 AMSep 24
to John An, Rahul Arakeri, Olga Gerchikov, Claire Chambers, Wangsong Jin, Gaston Rodriguez, Eain Chen, chromium...@chromium.org, James Su, alexmo...@chromium.org, creis...@chromium.org, jbauma...@chromium.org, keithle...@chromium.org, navigation...@chromium.org, nona+...@chromium.org, shuche...@chromium.org, tranbaod...@chromium.org, yhanad...@chromium.org
Attention needed from John An and Rahul Arakeri

Mustaq Ahmed voted and added 1 comment

Votes added by Mustaq Ahmed

Code-Review+1

1 comment

Patchset-level comments
File-level comment, Patchset 11 (Latest):
Mustaq Ahmed . resolved

Thanks for looking into my language questions. Still LGTM (as a non-owner).

Open in Gerrit

Related details

Attention is currently required from:
  • John An
  • Rahul Arakeri
Submit Requirements:
  • requirement satisfiedCode-Coverage
  • requirement is not satisfiedCode-Owners
  • requirement is not satisfiedCode-Review
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: Iac822f5fe4437c3efe3ed620b31faa70ae7042b8
Gerrit-Change-Number: 6941614
Gerrit-PatchSet: 11
Gerrit-Owner: John An <jo...@microsoft.com>
Gerrit-Reviewer: Claire Chambers <clcha...@microsoft.com>
Gerrit-Reviewer: Eain Chen <eain...@microsoft.com>
Gerrit-Reviewer: Gaston Rodriguez <gas...@microsoft.com>
Gerrit-Reviewer: Mustaq Ahmed <mus...@chromium.org>
Gerrit-Reviewer: Olga Gerchikov <gerc...@microsoft.com>
Gerrit-Reviewer: Rahul Arakeri <ara...@microsoft.com>
Gerrit-CC: James Su <su...@chromium.org>
Gerrit-CC: Wangsong Jin <wangs...@microsoft.com>
Gerrit-Attention: John An <jo...@microsoft.com>
Gerrit-Attention: Rahul Arakeri <ara...@microsoft.com>
Gerrit-Comment-Date: Wed, 24 Sep 2025 14:06:00 +0000
Gerrit-HasComments: Yes
Gerrit-Has-Labels: Yes
satisfied_requirement
unsatisfied_requirement
open
diffy

John An (Gerrit)

unread,
Sep 25, 2025, 1:51:56 PMSep 25
to Kartar Singh, Jonathan Ross, Mustaq Ahmed, Rahul Arakeri, Olga Gerchikov, Claire Chambers, Wangsong Jin, Gaston Rodriguez, Eain Chen, chromium...@chromium.org, James Su, alexmo...@chromium.org, creis...@chromium.org, jbauma...@chromium.org, keithle...@chromium.org, navigation...@chromium.org, nona+...@chromium.org, shuche...@chromium.org, tranbaod...@chromium.org, yhanad...@chromium.org
Attention needed from Jonathan Ross, Kartar Singh, Nasko Oskov and Rahul Arakeri

John An added 1 comment

Patchset-level comments
John An . resolved

Hello! I'd appreciate a review of this CL when you can. If you feel there is someone better to review, I will try and find different folks.

Open in Gerrit

Related details

Attention is currently required from:
  • Jonathan Ross
  • Kartar Singh
  • Nasko Oskov
  • Rahul Arakeri
Submit Requirements:
  • requirement satisfiedCode-Coverage
  • requirement is not satisfiedCode-Owners
  • requirement is not satisfiedCode-Review
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: Iac822f5fe4437c3efe3ed620b31faa70ae7042b8
Gerrit-Change-Number: 6941614
Gerrit-PatchSet: 11
Gerrit-Owner: John An <jo...@microsoft.com>
Gerrit-Reviewer: Claire Chambers <clcha...@microsoft.com>
Gerrit-Reviewer: Eain Chen <eain...@microsoft.com>
Gerrit-Reviewer: Gaston Rodriguez <gas...@microsoft.com>
Gerrit-Reviewer: Jonathan Ross <jon...@chromium.org>
Gerrit-Reviewer: Kartar Singh <karta...@google.com>
Gerrit-Reviewer: Mustaq Ahmed <mus...@chromium.org>
Gerrit-Reviewer: Nasko Oskov <na...@chromium.org>
Gerrit-Reviewer: Olga Gerchikov <gerc...@microsoft.com>
Gerrit-Reviewer: Rahul Arakeri <ara...@microsoft.com>
Gerrit-CC: James Su <su...@chromium.org>
Gerrit-CC: Wangsong Jin <wangs...@microsoft.com>
Gerrit-Attention: Jonathan Ross <jon...@chromium.org>
Gerrit-Attention: Nasko Oskov <na...@chromium.org>
Gerrit-Attention: Kartar Singh <karta...@google.com>
Gerrit-Attention: Rahul Arakeri <ara...@microsoft.com>
Gerrit-Comment-Date: Thu, 25 Sep 2025 17:51:42 +0000
Gerrit-HasComments: Yes
Gerrit-Has-Labels: No
satisfied_requirement
unsatisfied_requirement
open
diffy

Daniel Cheng (Gerrit)

unread,
Sep 26, 2025, 2:55:11 PMSep 26
to John An, Daniel Cheng, Kartar Singh, Jonathan Ross, Mustaq Ahmed, Rahul Arakeri, Olga Gerchikov, Claire Chambers, Wangsong Jin, Gaston Rodriguez, Eain Chen, chromium...@chromium.org, James Su, alexmo...@chromium.org, creis...@chromium.org, jbauma...@chromium.org, keithle...@chromium.org, navigation...@chromium.org, nona+...@chromium.org, shuche...@chromium.org, tranbaod...@chromium.org, yhanad...@chromium.org
Attention needed from John An, Jonathan Ross, Nasko Oskov and Rahul Arakeri

Daniel Cheng added 3 comments

File content/browser/renderer_host/render_widget_host_view_aura.cc
Line 167, Patchset 11 (Latest):const char kArabic101KeyboardLayoutName[] = "00000401";
Daniel Cheng . unresolved

```suggestion
const std::wstring_view kArabic101KeyboardLayoutName = "00000401";
```

Line 1467, Patchset 11 (Latest): base::EqualsASCII(base::WideToUTF16(std::wstring_view(kl_name)),
kArabic101KeyboardLayoutName) &&
Daniel Cheng . unresolved

This is written somewhat awkwardly. My suggestion (in combination with the above change):

```suggestion
kl_name == kArabic101KeyboardLayoutName &&
```

Which requires no string conversions at all.
(In general, it's better to "convert" WCHAR/wchar_t on Windows using `AsStringPiece16()` or similar; however, we don't need to do that at all here)

Line 1475, Patchset 11 (Latest): ? static_cast<char16_t>(event.GetCharacter() - u'0' +
Daniel Cheng . unresolved

Is this cast needed?

Open in Gerrit

Related details

Attention is currently required from:
  • John An
  • Jonathan Ross
  • Nasko Oskov
  • Rahul Arakeri
Submit Requirements:
    • requirement satisfiedCode-Coverage
    • requirement is not satisfiedCode-Owners
    • requirement is not satisfiedCode-Review
    • requirement is not satisfiedNo-Unresolved-Comments
    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: Iac822f5fe4437c3efe3ed620b31faa70ae7042b8
    Gerrit-Change-Number: 6941614
    Gerrit-PatchSet: 11
    Gerrit-Owner: John An <jo...@microsoft.com>
    Gerrit-Reviewer: Claire Chambers <clcha...@microsoft.com>
    Gerrit-Reviewer: Eain Chen <eain...@microsoft.com>
    Gerrit-Reviewer: Gaston Rodriguez <gas...@microsoft.com>
    Gerrit-Reviewer: Jonathan Ross <jon...@chromium.org>
    Gerrit-Reviewer: Mustaq Ahmed <mus...@chromium.org>
    Gerrit-Reviewer: Nasko Oskov <na...@chromium.org>
    Gerrit-Reviewer: Olga Gerchikov <gerc...@microsoft.com>
    Gerrit-Reviewer: Rahul Arakeri <ara...@microsoft.com>
    Gerrit-CC: Daniel Cheng <dch...@chromium.org>
    Gerrit-CC: James Su <su...@chromium.org>
    Gerrit-CC: Kartar Singh <karta...@google.com>
    Gerrit-CC: Wangsong Jin <wangs...@microsoft.com>
    Gerrit-Attention: Jonathan Ross <jon...@chromium.org>
    Gerrit-Attention: Nasko Oskov <na...@chromium.org>
    Gerrit-Attention: John An <jo...@microsoft.com>
    Gerrit-Attention: Rahul Arakeri <ara...@microsoft.com>
    Gerrit-Comment-Date: Fri, 26 Sep 2025 18:54:58 +0000
    Gerrit-HasComments: Yes
    Gerrit-Has-Labels: No
    satisfied_requirement
    unsatisfied_requirement
    open
    diffy

    Nasko Oskov (Gerrit)

    unread,
    Sep 26, 2025, 7:29:19 PMSep 26
    to John An, Dave Tapuska, Daniel Cheng, Kartar Singh, Jonathan Ross, Mustaq Ahmed, Rahul Arakeri, Olga Gerchikov, Claire Chambers, Wangsong Jin, Gaston Rodriguez, Eain Chen, chromium...@chromium.org, James Su, alexmo...@chromium.org, creis...@chromium.org, jbauma...@chromium.org, keithle...@chromium.org, navigation...@chromium.org, nona+...@chromium.org, shuche...@chromium.org, tranbaod...@chromium.org, yhanad...@chromium.org
    Attention needed from Dave Tapuska, John An, Jonathan Ross and Rahul Arakeri

    Nasko Oskov added 5 comments

    Patchset-level comments
    Nasko Oskov . resolved

    Adding dtapuska@ for an extra pair of eyes, as he knows the input code.

    File content/browser/renderer_host/render_widget_host_view_aura.cc
    Line 1466, Patchset 11 (Latest): GetKeyboardLayoutName(kl_name) &&
    Nasko Oskov . unresolved

    nit: Prefix Win32 API calls with `::`.

    Line 1466, Patchset 11 (Latest): GetKeyboardLayoutName(kl_name) &&
    Nasko Oskov . unresolved

    Does the keyboard name change often? If not, can we cache the returned value and maybe observe changes instead of making a function call on each character insertion?

    File ui/events/test/keyboard_layout.h
    Line 30, Patchset 11 (Latest): KEYBOARD_LAYOUT_ARABIC,
    Nasko Oskov . unresolved

    Can we keep the list alphabetically sorted? I think it is fine if it is sorted just within the IS_WIN define, so it doesn't become harder to read with multiple #if statements.

    File ui/events/test/keyboard_layout_win.cc
    Line 35, Patchset 11 (Latest): case KEYBOARD_LAYOUT_ARABIC:
    Nasko Oskov . unresolved

    Let's keep them alphabetically ordered.

    Open in Gerrit

    Related details

    Attention is currently required from:
    • Dave Tapuska
    • John An
    • Jonathan Ross
    • Rahul Arakeri
    Submit Requirements:
    • requirement satisfiedCode-Coverage
    • requirement is not satisfiedCode-Owners
    • requirement is not satisfiedCode-Review
    • requirement is not satisfiedNo-Unresolved-Comments
    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: Iac822f5fe4437c3efe3ed620b31faa70ae7042b8
    Gerrit-Change-Number: 6941614
    Gerrit-PatchSet: 11
    Gerrit-Owner: John An <jo...@microsoft.com>
    Gerrit-Reviewer: Claire Chambers <clcha...@microsoft.com>
    Gerrit-Reviewer: Dave Tapuska <dtap...@chromium.org>
    Gerrit-Reviewer: Eain Chen <eain...@microsoft.com>
    Gerrit-Reviewer: Gaston Rodriguez <gas...@microsoft.com>
    Gerrit-Reviewer: Jonathan Ross <jon...@chromium.org>
    Gerrit-Reviewer: Mustaq Ahmed <mus...@chromium.org>
    Gerrit-Reviewer: Nasko Oskov <na...@chromium.org>
    Gerrit-Reviewer: Olga Gerchikov <gerc...@microsoft.com>
    Gerrit-Reviewer: Rahul Arakeri <ara...@microsoft.com>
    Gerrit-CC: Daniel Cheng <dch...@chromium.org>
    Gerrit-CC: James Su <su...@chromium.org>
    Gerrit-CC: Kartar Singh <karta...@google.com>
    Gerrit-CC: Wangsong Jin <wangs...@microsoft.com>
    Gerrit-Attention: Jonathan Ross <jon...@chromium.org>
    Gerrit-Attention: John An <jo...@microsoft.com>
    Gerrit-Attention: Rahul Arakeri <ara...@microsoft.com>
    Gerrit-Attention: Dave Tapuska <dtap...@chromium.org>
    Gerrit-Comment-Date: Fri, 26 Sep 2025 23:29:06 +0000
    Gerrit-HasComments: Yes
    Gerrit-Has-Labels: No
    satisfied_requirement
    unsatisfied_requirement
    open
    diffy

    Jonathan Ross (Gerrit)

    unread,
    Sep 29, 2025, 2:01:50 PMSep 29
    to John An, Dave Tapuska, Daniel Cheng, Kartar Singh, Mustaq Ahmed, Rahul Arakeri, Olga Gerchikov, Claire Chambers, Wangsong Jin, Gaston Rodriguez, Eain Chen, chromium...@chromium.org, James Su, alexmo...@chromium.org, creis...@chromium.org, jbauma...@chromium.org, keithle...@chromium.org, navigation...@chromium.org, nona+...@chromium.org, shuche...@chromium.org, tranbaod...@chromium.org, yhanad...@chromium.org
    Attention needed from Dave Tapuska, John An and Rahul Arakeri

    Jonathan Ross added 1 comment

    File content/browser/renderer_host/render_widget_host_view_aura.cc
    Line 1465, Patchset 11 (Latest): base::FeatureList::IsEnabled(features::kArabicDigitSubstitution) &&
    Jonathan Ross . unresolved

    We should probably cache this as a member variable of the class. There is overhead to feature lookup, so we try to not check it more than once per VSync.

    If the keyboard changes can be observed, as per nasko@ recommendation. Then we could just cache the entire `should_substitute_digit`

    Open in Gerrit

    Related details

    Attention is currently required from:
    • Dave Tapuska
    • John An
    • Rahul Arakeri
    Gerrit-Attention: John An <jo...@microsoft.com>
    Gerrit-Attention: Rahul Arakeri <ara...@microsoft.com>
    Gerrit-Attention: Dave Tapuska <dtap...@chromium.org>
    Gerrit-Comment-Date: Mon, 29 Sep 2025 18:01:31 +0000
    Gerrit-HasComments: Yes
    Gerrit-Has-Labels: No
    satisfied_requirement
    unsatisfied_requirement
    open
    diffy

    Daniel Cheng (Gerrit)

    unread,
    Sep 29, 2025, 2:49:23 PMSep 29
    to John An, Dave Tapuska, Daniel Cheng, Kartar Singh, Jonathan Ross, Mustaq Ahmed, Rahul Arakeri, Olga Gerchikov, Claire Chambers, Wangsong Jin, Gaston Rodriguez, Eain Chen, chromium...@chromium.org, James Su, alexmo...@chromium.org, creis...@chromium.org, jbauma...@chromium.org, keithle...@chromium.org, navigation...@chromium.org, nona+...@chromium.org, shuche...@chromium.org, tranbaod...@chromium.org, yhanad...@chromium.org
    Attention needed from Dave Tapuska, John An and Rahul Arakeri

    Daniel Cheng added 1 comment

    File content/browser/renderer_host/render_widget_host_view_aura.cc
    Line 1465, Patchset 11 (Latest): base::FeatureList::IsEnabled(features::kArabicDigitSubstitution) &&
    Jonathan Ross . unresolved

    We should probably cache this as a member variable of the class. There is overhead to feature lookup, so we try to not check it more than once per VSync.

    If the keyboard changes can be observed, as per nasko@ recommendation. Then we could just cache the entire `should_substitute_digit`

    Daniel Cheng

    `base::Feature` caches the lookup result internally. This has been the case for some time now. Do we really need another layer of caching?

    https://source.chromium.org/chromium/chromium/src/+/main:base/feature_list.h;l=283;drc=fed91f87610dd4a454aa85711abe818e5fbe2da9

    Gerrit-Comment-Date: Mon, 29 Sep 2025 18:49:09 +0000
    Gerrit-HasComments: Yes
    Gerrit-Has-Labels: No
    Comment-In-Reply-To: Jonathan Ross <jon...@chromium.org>
    satisfied_requirement
    unsatisfied_requirement
    open
    diffy

    Jonathan Ross (Gerrit)

    unread,
    Sep 29, 2025, 3:55:01 PMSep 29
    to John An, Dave Tapuska, Daniel Cheng, Kartar Singh, Mustaq Ahmed, Rahul Arakeri, Olga Gerchikov, Claire Chambers, Wangsong Jin, Gaston Rodriguez, Eain Chen, chromium...@chromium.org, James Su, alexmo...@chromium.org, creis...@chromium.org, jbauma...@chromium.org, keithle...@chromium.org, navigation...@chromium.org, nona+...@chromium.org, shuche...@chromium.org, tranbaod...@chromium.org, yhanad...@chromium.org
    Attention needed from Dave Tapuska, John An and Rahul Arakeri

    Jonathan Ross added 1 comment

    File content/browser/renderer_host/render_widget_host_view_aura.cc
    Line 1465, Patchset 11 (Latest): base::FeatureList::IsEnabled(features::kArabicDigitSubstitution) &&
    Jonathan Ross . unresolved

    We should probably cache this as a member variable of the class. There is overhead to feature lookup, so we try to not check it more than once per VSync.

    If the keyboard changes can be observed, as per nasko@ recommendation. Then we could just cache the entire `should_substitute_digit`

    Daniel Cheng

    `base::Feature` caches the lookup result internally. This has been the case for some time now. Do we really need another layer of caching?

    https://source.chromium.org/chromium/chromium/src/+/main:base/feature_list.h;l=283;drc=fed91f87610dd4a454aa85711abe818e5fbe2da9

    Jonathan Ross

    The internal cache certainly helps, but there's still some overhead to ` base::FeatureList::IsEnabled`. We've seen it in before in stack sampled profiling when a given feature was checked multiple times within a single frame production.

    Gerrit-Comment-Date: Mon, 29 Sep 2025 19:54:53 +0000
    Gerrit-HasComments: Yes
    Gerrit-Has-Labels: No
    Comment-In-Reply-To: Jonathan Ross <jon...@chromium.org>
    Comment-In-Reply-To: Daniel Cheng <dch...@chromium.org>
    satisfied_requirement
    unsatisfied_requirement
    open
    diffy

    John An (Gerrit)

    unread,
    Oct 1, 2025, 12:04:40 AMOct 1
    to Dave Tapuska, Daniel Cheng, Kartar Singh, Jonathan Ross, Mustaq Ahmed, Rahul Arakeri, Olga Gerchikov, Claire Chambers, Wangsong Jin, Gaston Rodriguez, Eain Chen, chromium...@chromium.org, James Su, alexmo...@chromium.org, creis...@chromium.org, jbauma...@chromium.org, keithle...@chromium.org, navigation...@chromium.org, nona+...@chromium.org, shuche...@chromium.org, tranbaod...@chromium.org, yhanad...@chromium.org
    Attention needed from Daniel Cheng, Dave Tapuska, Jonathan Ross, Mustaq Ahmed, Nasko Oskov and Rahul Arakeri

    John An added 9 comments

    Patchset-level comments
    File-level comment, Patchset 11:
    John An . resolved

    Thanks for the comments all! I've uploaded a patchset to address them

    File content/browser/renderer_host/render_widget_host_view_aura.cc
    Line 167, Patchset 11:const char kArabic101KeyboardLayoutName[] = "00000401";
    Daniel Cheng . resolved

    ```suggestion
    const std::wstring_view kArabic101KeyboardLayoutName = "00000401";
    ```

    John An

    Acknowledged

    Line 1465, Patchset 11: base::FeatureList::IsEnabled(features::kArabicDigitSubstitution) &&
    Jonathan Ross . resolved

    We should probably cache this as a member variable of the class. There is overhead to feature lookup, so we try to not check it more than once per VSync.

    If the keyboard changes can be observed, as per nasko@ recommendation. Then we could just cache the entire `should_substitute_digit`

    Daniel Cheng

    `base::Feature` caches the lookup result internally. This has been the case for some time now. Do we really need another layer of caching?

    https://source.chromium.org/chromium/chromium/src/+/main:base/feature_list.h;l=283;drc=fed91f87610dd4a454aa85711abe818e5fbe2da9

    Jonathan Ross

    The internal cache certainly helps, but there's still some overhead to ` base::FeatureList::IsEnabled`. We've seen it in before in stack sampled profiling when a given feature was checked multiple times within a single frame production.

    John An

    Ok. I decided to cache the state in a static struct. Keyboard layout is per-thread so it doesn't make sense for every RWHVA instance to have a member.

    Line 1466, Patchset 11: GetKeyboardLayoutName(kl_name) &&
    Nasko Oskov . resolved

    nit: Prefix Win32 API calls with `::`.

    John An

    Acknowledged

    Line 1466, Patchset 11: GetKeyboardLayoutName(kl_name) &&
    Nasko Oskov . resolved

    Does the keyboard name change often? If not, can we cache the returned value and maybe observe changes instead of making a function call on each character insertion?

    John An

    yes this would be better

    Line 1467, Patchset 11: base::EqualsASCII(base::WideToUTF16(std::wstring_view(kl_name)),
    kArabic101KeyboardLayoutName) &&
    Daniel Cheng . resolved

    This is written somewhat awkwardly. My suggestion (in combination with the above change):

    ```suggestion
    kl_name == kArabic101KeyboardLayoutName &&
    ```

    Which requires no string conversions at all.
    (In general, it's better to "convert" WCHAR/wchar_t on Windows using `AsStringPiece16()` or similar; however, we don't need to do that at all here)

    John An

    This does look cleaner. Still learning the cleanest ways to do string comparison in Chromium. Thanks!

    Line 1475, Patchset 11: ? static_cast<char16_t>(event.GetCharacter() - u'0' +
    Daniel Cheng . resolved

    Is this cast needed?

    John An

    Nope

    File ui/events/test/keyboard_layout.h
    Line 30, Patchset 11: KEYBOARD_LAYOUT_ARABIC,
    Nasko Oskov . resolved

    Can we keep the list alphabetically sorted? I think it is fine if it is sorted just within the IS_WIN define, so it doesn't become harder to read with multiple #if statements.

    John An

    Acknowledged

    File ui/events/test/keyboard_layout_win.cc
    Line 35, Patchset 11: case KEYBOARD_LAYOUT_ARABIC:
    Nasko Oskov . resolved

    Let's keep them alphabetically ordered.

    John An

    Acknowledged

    Open in Gerrit

    Related details

    Attention is currently required from:
    • Daniel Cheng
    • Dave Tapuska
    • Jonathan Ross
    • Mustaq Ahmed
    • Nasko Oskov
    • Rahul Arakeri
    Submit Requirements:
    • requirement satisfiedCode-Coverage
    • requirement is not satisfiedCode-Owners
    • requirement is not satisfiedCode-Review
    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: Iac822f5fe4437c3efe3ed620b31faa70ae7042b8
    Gerrit-Change-Number: 6941614
    Gerrit-PatchSet: 11
    Gerrit-Owner: John An <jo...@microsoft.com>
    Gerrit-Reviewer: Claire Chambers <clcha...@microsoft.com>
    Gerrit-Reviewer: Dave Tapuska <dtap...@chromium.org>
    Gerrit-Reviewer: Eain Chen <eain...@microsoft.com>
    Gerrit-Reviewer: Gaston Rodriguez <gas...@microsoft.com>
    Gerrit-Reviewer: Jonathan Ross <jon...@chromium.org>
    Gerrit-Reviewer: Mustaq Ahmed <mus...@chromium.org>
    Gerrit-Reviewer: Nasko Oskov <na...@chromium.org>
    Gerrit-Reviewer: Olga Gerchikov <gerc...@microsoft.com>
    Gerrit-Reviewer: Rahul Arakeri <ara...@microsoft.com>
    Gerrit-CC: Daniel Cheng <dch...@chromium.org>
    Gerrit-CC: James Su <su...@chromium.org>
    Gerrit-CC: Kartar Singh <karta...@google.com>
    Gerrit-CC: Wangsong Jin <wangs...@microsoft.com>
    Gerrit-Attention: Jonathan Ross <jon...@chromium.org>
    Gerrit-Attention: Nasko Oskov <na...@chromium.org>
    Gerrit-Attention: Mustaq Ahmed <mus...@chromium.org>
    Gerrit-Attention: Rahul Arakeri <ara...@microsoft.com>
    Gerrit-Attention: Dave Tapuska <dtap...@chromium.org>
    Gerrit-Attention: Daniel Cheng <dch...@chromium.org>
    Gerrit-Comment-Date: Wed, 01 Oct 2025 04:04:28 +0000
    Gerrit-HasComments: Yes
    Gerrit-Has-Labels: No
    Comment-In-Reply-To: Jonathan Ross <jon...@chromium.org>
    Comment-In-Reply-To: Nasko Oskov <na...@chromium.org>
    Comment-In-Reply-To: Daniel Cheng <dch...@chromium.org>
    satisfied_requirement
    unsatisfied_requirement
    open
    diffy

    Nasko Oskov (Gerrit)

    unread,
    Oct 8, 2025, 4:42:26 PM (12 days ago) Oct 8
    to John An, Dave Tapuska, Daniel Cheng, Kartar Singh, Jonathan Ross, Mustaq Ahmed, Rahul Arakeri, Olga Gerchikov, Claire Chambers, Wangsong Jin, Gaston Rodriguez, Eain Chen, chromium...@chromium.org, James Su, alexmo...@chromium.org, creis...@chromium.org, jbauma...@chromium.org, keithle...@chromium.org, navigation...@chromium.org, nona+...@chromium.org, shuche...@chromium.org, tranbaod...@chromium.org, yhanad...@chromium.org
    Attention needed from Daniel Cheng, Dave Tapuska, John An, Jonathan Ross and Rahul Arakeri

    Nasko Oskov voted and added 2 comments

    Votes added by Nasko Oskov

    Code-Review+1

    2 comments

    Patchset-level comments
    File-level comment, Patchset 13 (Latest):
    Nasko Oskov . resolved

    Overall, codewise it looks fine to me now. Still happy to defer to dtapuska@ on input matters.

    File content/browser/renderer_host/render_widget_host_view_aura.cc
    Line 176, Patchset 13 (Latest):// This state helps relieve unnecessary calls to GetKeyboardLayoutName() and
    Nasko Oskov . unresolved

    nit: I'd move this comment above the struct, as it applies both to the definition and the declaration.

    Open in Gerrit

    Related details

    Attention is currently required from:
    • Daniel Cheng
    • Dave Tapuska
    • John An
    • Jonathan Ross
    • Rahul Arakeri
    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: Iac822f5fe4437c3efe3ed620b31faa70ae7042b8
      Gerrit-Change-Number: 6941614
      Gerrit-PatchSet: 13
      Gerrit-Owner: John An <jo...@microsoft.com>
      Gerrit-Reviewer: Claire Chambers <clcha...@microsoft.com>
      Gerrit-Reviewer: Dave Tapuska <dtap...@chromium.org>
      Gerrit-Reviewer: Eain Chen <eain...@microsoft.com>
      Gerrit-Reviewer: Gaston Rodriguez <gas...@microsoft.com>
      Gerrit-Reviewer: Jonathan Ross <jon...@chromium.org>
      Gerrit-Reviewer: Mustaq Ahmed <mus...@chromium.org>
      Gerrit-Reviewer: Nasko Oskov <na...@chromium.org>
      Gerrit-Reviewer: Olga Gerchikov <gerc...@microsoft.com>
      Gerrit-Reviewer: Rahul Arakeri <ara...@microsoft.com>
      Gerrit-CC: Daniel Cheng <dch...@chromium.org>
      Gerrit-CC: James Su <su...@chromium.org>
      Gerrit-CC: Kartar Singh <karta...@google.com>
      Gerrit-CC: Wangsong Jin <wangs...@microsoft.com>
      Gerrit-Attention: Jonathan Ross <jon...@chromium.org>
      Gerrit-Attention: John An <jo...@microsoft.com>
      Gerrit-Attention: Rahul Arakeri <ara...@microsoft.com>
      Gerrit-Attention: Dave Tapuska <dtap...@chromium.org>
      Gerrit-Attention: Daniel Cheng <dch...@chromium.org>
      Gerrit-Comment-Date: Wed, 08 Oct 2025 20:39:49 +0000
      Gerrit-HasComments: Yes
      Gerrit-Has-Labels: Yes
      satisfied_requirement
      unsatisfied_requirement
      open
      diffy

      John An (Gerrit)

      unread,
      Oct 8, 2025, 10:29:57 PM (12 days ago) Oct 8
      to Dave Tapuska, Daniel Cheng, Kartar Singh, Jonathan Ross, Mustaq Ahmed, Rahul Arakeri, Olga Gerchikov, Claire Chambers, Wangsong Jin, Gaston Rodriguez, Eain Chen, chromium...@chromium.org, James Su, alexmo...@chromium.org, creis...@chromium.org, jbauma...@chromium.org, keithle...@chromium.org, navigation...@chromium.org, nona+...@chromium.org, shuche...@chromium.org, tranbaod...@chromium.org, yhanad...@chromium.org
      Attention needed from Daniel Cheng, Dave Tapuska, Jonathan Ross and Nasko Oskov

      John An added 3 comments

      Patchset-level comments
      File-level comment, Patchset 13:
      John An . resolved

      Would appreciate another look at this CL. I've addressed the comments and it seems close!

      File content/browser/renderer_host/render_widget_host_view_aura.cc
      File-level comment, Patchset 13:
      John An . resolved

      Please fix this WARNING reported by ClangTidy: warning: building this file or its dependencies failed; no diagnostics will be i...

      warning: building this file or its dependencies failed; no diagnostics will be issued.

      (Lint observed on `linux-clang-tidy-rel`, but not on `android-clang-tidy-rel`)

      Line 176, Patchset 13:// This state helps relieve unnecessary calls to GetKeyboardLayoutName() and
      Nasko Oskov . resolved

      nit: I'd move this comment above the struct, as it applies both to the definition and the declaration.

      John An

      Done

      Open in Gerrit

      Related details

      Attention is currently required from:
      • Daniel Cheng
      • Dave Tapuska
      • Jonathan Ross
      • Nasko Oskov
      Submit Requirements:
        • requirement satisfiedCode-Coverage
        • requirement is not satisfiedCode-Owners
        • requirement is not satisfiedCode-Review
        Gerrit-Attention: Nasko Oskov <na...@chromium.org>
        Gerrit-Attention: Dave Tapuska <dtap...@chromium.org>
        Gerrit-Attention: Daniel Cheng <dch...@chromium.org>
        Gerrit-Comment-Date: Thu, 09 Oct 2025 02:29:31 +0000
        Gerrit-HasComments: Yes
        Gerrit-Has-Labels: No
        Comment-In-Reply-To: Nasko Oskov <na...@chromium.org>
        satisfied_requirement
        unsatisfied_requirement
        open
        diffy

        Jonathan Ross (Gerrit)

        unread,
        Oct 15, 2025, 8:35:29 PM (5 days ago) Oct 15
        to John An, Dave Tapuska, Daniel Cheng, Kartar Singh, Mustaq Ahmed, Rahul Arakeri, Olga Gerchikov, Claire Chambers, Wangsong Jin, Gaston Rodriguez, Eain Chen, chromium...@chromium.org, James Su, alexmo...@chromium.org, creis...@chromium.org, jbauma...@chromium.org, keithle...@chromium.org, navigation...@chromium.org, nona+...@chromium.org, shuche...@chromium.org, tranbaod...@chromium.org, yhanad...@chromium.org
        Attention needed from Daniel Cheng, Dave Tapuska, John An and Nasko Oskov

        Jonathan Ross voted and added 2 comments

        Votes added by Jonathan Ross

        Code-Review+1

        2 comments

        Patchset-level comments
        File-level comment, Patchset 14 (Latest):
        Jonathan Ross . resolved

        LGTM with nit

        File content/browser/renderer_host/render_widget_host_view_aura.cc
        Line 182, Patchset 14 (Latest): if (!arabic_digit_sub_state.feature_initialized) {
        Jonathan Ross . unresolved

        Nit: set this to true as we init here

        Open in Gerrit

        Related details

        Attention is currently required from:
        • Daniel Cheng
        • Dave Tapuska
        • John An
        • Nasko Oskov
        Submit Requirements:
        • requirement satisfiedCode-Coverage
        • requirement 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: Iac822f5fe4437c3efe3ed620b31faa70ae7042b8
        Gerrit-Change-Number: 6941614
        Gerrit-PatchSet: 14
        Gerrit-Owner: John An <jo...@microsoft.com>
        Gerrit-Reviewer: Claire Chambers <clcha...@microsoft.com>
        Gerrit-Reviewer: Dave Tapuska <dtap...@chromium.org>
        Gerrit-Reviewer: Eain Chen <eain...@microsoft.com>
        Gerrit-Reviewer: Gaston Rodriguez <gas...@microsoft.com>
        Gerrit-Reviewer: Jonathan Ross <jon...@chromium.org>
        Gerrit-Reviewer: Mustaq Ahmed <mus...@chromium.org>
        Gerrit-Reviewer: Nasko Oskov <na...@chromium.org>
        Gerrit-Reviewer: Olga Gerchikov <gerc...@microsoft.com>
        Gerrit-Reviewer: Rahul Arakeri <ara...@microsoft.com>
        Gerrit-CC: Daniel Cheng <dch...@chromium.org>
        Gerrit-CC: James Su <su...@chromium.org>
        Gerrit-CC: Kartar Singh <karta...@google.com>
        Gerrit-CC: Wangsong Jin <wangs...@microsoft.com>
        Gerrit-Attention: Nasko Oskov <na...@chromium.org>
        Gerrit-Attention: John An <jo...@microsoft.com>
        Gerrit-Attention: Dave Tapuska <dtap...@chromium.org>
        Gerrit-Attention: Daniel Cheng <dch...@chromium.org>
        Gerrit-Comment-Date: Thu, 16 Oct 2025 00:35:24 +0000
        Gerrit-HasComments: Yes
        Gerrit-Has-Labels: Yes
        satisfied_requirement
        unsatisfied_requirement
        open
        diffy

        John An (Gerrit)

        unread,
        Oct 16, 2025, 12:54:00 AM (5 days ago) Oct 16
        to Jonathan Ross, Dave Tapuska, Daniel Cheng, Kartar Singh, Mustaq Ahmed, Rahul Arakeri, Olga Gerchikov, Claire Chambers, Wangsong Jin, Gaston Rodriguez, Eain Chen, chromium...@chromium.org, James Su, alexmo...@chromium.org, creis...@chromium.org, jbauma...@chromium.org, keithle...@chromium.org, navigation...@chromium.org, nona+...@chromium.org, shuche...@chromium.org, tranbaod...@chromium.org, yhanad...@chromium.org
        Attention needed from Daniel Cheng, Dave Tapuska, Jonathan Ross and Nasko Oskov

        John An added 1 comment

        File content/browser/renderer_host/render_widget_host_view_aura.cc
        Line 182, Patchset 14: if (!arabic_digit_sub_state.feature_initialized) {
        Jonathan Ross . resolved

        Nit: set this to true as we init here

        John An

        oops. thank you

        Open in Gerrit

        Related details

        Attention is currently required from:
        • Daniel Cheng
        • Dave Tapuska
        • Jonathan Ross
        • Nasko Oskov
        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: Iac822f5fe4437c3efe3ed620b31faa70ae7042b8
          Gerrit-Change-Number: 6941614
          Gerrit-PatchSet: 15
          Gerrit-Owner: John An <jo...@microsoft.com>
          Gerrit-Reviewer: Claire Chambers <clcha...@microsoft.com>
          Gerrit-Reviewer: Dave Tapuska <dtap...@chromium.org>
          Gerrit-Reviewer: Eain Chen <eain...@microsoft.com>
          Gerrit-Reviewer: Gaston Rodriguez <gas...@microsoft.com>
          Gerrit-Reviewer: Jonathan Ross <jon...@chromium.org>
          Gerrit-Reviewer: Mustaq Ahmed <mus...@chromium.org>
          Gerrit-Reviewer: Nasko Oskov <na...@chromium.org>
          Gerrit-Reviewer: Olga Gerchikov <gerc...@microsoft.com>
          Gerrit-Reviewer: Rahul Arakeri <ara...@microsoft.com>
          Gerrit-CC: Daniel Cheng <dch...@chromium.org>
          Gerrit-CC: James Su <su...@chromium.org>
          Gerrit-CC: Kartar Singh <karta...@google.com>
          Gerrit-CC: Wangsong Jin <wangs...@microsoft.com>
          Gerrit-Attention: Jonathan Ross <jon...@chromium.org>
          Gerrit-Attention: Nasko Oskov <na...@chromium.org>
          Gerrit-Attention: Dave Tapuska <dtap...@chromium.org>
          Gerrit-Attention: Daniel Cheng <dch...@chromium.org>
          Gerrit-Comment-Date: Thu, 16 Oct 2025 04:53:36 +0000
          Gerrit-HasComments: Yes
          Gerrit-Has-Labels: No
          Comment-In-Reply-To: Jonathan Ross <jon...@chromium.org>
          satisfied_requirement
          unsatisfied_requirement
          open
          diffy

          Dave Tapuska (Gerrit)

          unread,
          Oct 16, 2025, 11:21:01 AM (4 days ago) Oct 16
          to John An, Chromium LUCI CQ, Jonathan Ross, Daniel Cheng, Kartar Singh, Mustaq Ahmed, Rahul Arakeri, Olga Gerchikov, Claire Chambers, Wangsong Jin, Gaston Rodriguez, Eain Chen, chromium...@chromium.org, James Su, alexmo...@chromium.org, creis...@chromium.org, jbauma...@chromium.org, keithle...@chromium.org, navigation...@chromium.org, nona+...@chromium.org, shuche...@chromium.org, tranbaod...@chromium.org, yhanad...@chromium.org
          Attention needed from Daniel Cheng, John An, Jonathan Ross and Nasko Oskov

          Dave Tapuska added 1 comment

          File content/browser/renderer_host/render_widget_host_view_aura_unittest.cc
          Line 125, Patchset 16 (Latest):#include "ui/events/keycodes/keyboard_codes_win.h"
          Dave Tapuska . unresolved

          You need to include this only for Windows

          Open in Gerrit

          Related details

          Attention is currently required from:
          • Daniel Cheng
          • John An
          • Jonathan Ross
          • Nasko Oskov
          Submit Requirements:
            • requirement satisfiedCode-Coverage
            • requirement 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: Iac822f5fe4437c3efe3ed620b31faa70ae7042b8
            Gerrit-Change-Number: 6941614
            Gerrit-PatchSet: 16
            Gerrit-Owner: John An <jo...@microsoft.com>
            Gerrit-Reviewer: Claire Chambers <clcha...@microsoft.com>
            Gerrit-Reviewer: Dave Tapuska <dtap...@chromium.org>
            Gerrit-Reviewer: Eain Chen <eain...@microsoft.com>
            Gerrit-Reviewer: Gaston Rodriguez <gas...@microsoft.com>
            Gerrit-Reviewer: John An <jo...@microsoft.com>
            Gerrit-Reviewer: Jonathan Ross <jon...@chromium.org>
            Gerrit-Reviewer: Mustaq Ahmed <mus...@chromium.org>
            Gerrit-Reviewer: Nasko Oskov <na...@chromium.org>
            Gerrit-Reviewer: Olga Gerchikov <gerc...@microsoft.com>
            Gerrit-Reviewer: Rahul Arakeri <ara...@microsoft.com>
            Gerrit-CC: Daniel Cheng <dch...@chromium.org>
            Gerrit-CC: James Su <su...@chromium.org>
            Gerrit-CC: Kartar Singh <karta...@google.com>
            Gerrit-CC: Wangsong Jin <wangs...@microsoft.com>
            Gerrit-Attention: Jonathan Ross <jon...@chromium.org>
            Gerrit-Attention: Nasko Oskov <na...@chromium.org>
            Gerrit-Attention: John An <jo...@microsoft.com>
            Gerrit-Attention: Daniel Cheng <dch...@chromium.org>
            Gerrit-Comment-Date: Thu, 16 Oct 2025 15:20:55 +0000
            Gerrit-HasComments: Yes
            Gerrit-Has-Labels: No
            satisfied_requirement
            unsatisfied_requirement
            open
            diffy

            John An (Gerrit)

            unread,
            Oct 16, 2025, 8:34:05 PM (4 days ago) Oct 16
            to Chromium LUCI CQ, Jonathan Ross, Dave Tapuska, Daniel Cheng, Kartar Singh, Mustaq Ahmed, Rahul Arakeri, Olga Gerchikov, Claire Chambers, Wangsong Jin, Gaston Rodriguez, Eain Chen, chromium...@chromium.org, James Su, alexmo...@chromium.org, creis...@chromium.org, jbauma...@chromium.org, keithle...@chromium.org, navigation...@chromium.org, nona+...@chromium.org, shuche...@chromium.org, tranbaod...@chromium.org, yhanad...@chromium.org
            Attention needed from Jonathan Ross and Nasko Oskov

            John An added 1 comment

            File content/browser/renderer_host/render_widget_host_view_aura_unittest.cc
            Line 125, Patchset 16:#include "ui/events/keycodes/keyboard_codes_win.h"
            Dave Tapuska . resolved

            You need to include this only for Windows

            John An

            Done

            Open in Gerrit

            Related details

            Attention is currently required from:
            • Jonathan Ross
            • Nasko Oskov
            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: Iac822f5fe4437c3efe3ed620b31faa70ae7042b8
              Gerrit-Change-Number: 6941614
              Gerrit-PatchSet: 17
              Gerrit-Owner: John An <jo...@microsoft.com>
              Gerrit-Reviewer: Claire Chambers <clcha...@microsoft.com>
              Gerrit-Reviewer: Dave Tapuska <dtap...@chromium.org>
              Gerrit-Reviewer: Eain Chen <eain...@microsoft.com>
              Gerrit-Reviewer: Gaston Rodriguez <gas...@microsoft.com>
              Gerrit-Reviewer: John An <jo...@microsoft.com>
              Gerrit-Reviewer: Jonathan Ross <jon...@chromium.org>
              Gerrit-Reviewer: Mustaq Ahmed <mus...@chromium.org>
              Gerrit-Reviewer: Nasko Oskov <na...@chromium.org>
              Gerrit-Reviewer: Olga Gerchikov <gerc...@microsoft.com>
              Gerrit-Reviewer: Rahul Arakeri <ara...@microsoft.com>
              Gerrit-CC: Daniel Cheng <dch...@chromium.org>
              Gerrit-CC: James Su <su...@chromium.org>
              Gerrit-CC: Kartar Singh <karta...@google.com>
              Gerrit-CC: Wangsong Jin <wangs...@microsoft.com>
              Gerrit-Attention: Jonathan Ross <jon...@chromium.org>
              Gerrit-Attention: Nasko Oskov <na...@chromium.org>
              Gerrit-Comment-Date: Fri, 17 Oct 2025 00:33:56 +0000
              Gerrit-HasComments: Yes
              Gerrit-Has-Labels: No
              Comment-In-Reply-To: Dave Tapuska <dtap...@chromium.org>
              satisfied_requirement
              unsatisfied_requirement
              open
              diffy

              Jonathan Ross (Gerrit)

              unread,
              Oct 17, 2025, 9:25:19 AM (3 days ago) Oct 17
              to John An, Chromium LUCI CQ, Dave Tapuska, Daniel Cheng, Kartar Singh, Mustaq Ahmed, Rahul Arakeri, Olga Gerchikov, Claire Chambers, Wangsong Jin, Gaston Rodriguez, Eain Chen, chromium...@chromium.org, James Su, alexmo...@chromium.org, creis...@chromium.org, jbauma...@chromium.org, keithle...@chromium.org, navigation...@chromium.org, nona+...@chromium.org, shuche...@chromium.org, tranbaod...@chromium.org, yhanad...@chromium.org
              Attention needed from John An and Nasko Oskov

              Jonathan Ross voted Code-Review+1

              Code-Review+1
              Open in Gerrit

              Related details

              Attention is currently required from:
              • John An
              • Nasko Oskov
              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: Iac822f5fe4437c3efe3ed620b31faa70ae7042b8
              Gerrit-Change-Number: 6941614
              Gerrit-PatchSet: 18
              Gerrit-Owner: John An <jo...@microsoft.com>
              Gerrit-Reviewer: Claire Chambers <clcha...@microsoft.com>
              Gerrit-Reviewer: Dave Tapuska <dtap...@chromium.org>
              Gerrit-Reviewer: Eain Chen <eain...@microsoft.com>
              Gerrit-Reviewer: Gaston Rodriguez <gas...@microsoft.com>
              Gerrit-Reviewer: John An <jo...@microsoft.com>
              Gerrit-Reviewer: Jonathan Ross <jon...@chromium.org>
              Gerrit-Reviewer: Mustaq Ahmed <mus...@chromium.org>
              Gerrit-Reviewer: Nasko Oskov <na...@chromium.org>
              Gerrit-Reviewer: Olga Gerchikov <gerc...@microsoft.com>
              Gerrit-Reviewer: Rahul Arakeri <ara...@microsoft.com>
              Gerrit-CC: Daniel Cheng <dch...@chromium.org>
              Gerrit-CC: James Su <su...@chromium.org>
              Gerrit-CC: Kartar Singh <karta...@google.com>
              Gerrit-CC: Wangsong Jin <wangs...@microsoft.com>
              Gerrit-Attention: Nasko Oskov <na...@chromium.org>
              Gerrit-Attention: John An <jo...@microsoft.com>
              Gerrit-Comment-Date: Fri, 17 Oct 2025 13:25:10 +0000
              Gerrit-HasComments: No
              Gerrit-Has-Labels: Yes
              satisfied_requirement
              unsatisfied_requirement
              open
              diffy

              Dave Tapuska (Gerrit)

              unread,
              Oct 17, 2025, 10:28:57 AM (3 days ago) Oct 17
              to John An, Jonathan Ross, Chromium LUCI CQ, Daniel Cheng, Kartar Singh, Mustaq Ahmed, Rahul Arakeri, Olga Gerchikov, Claire Chambers, Wangsong Jin, Gaston Rodriguez, Eain Chen, chromium...@chromium.org, James Su, alexmo...@chromium.org, creis...@chromium.org, jbauma...@chromium.org, keithle...@chromium.org, navigation...@chromium.org, nona+...@chromium.org, shuche...@chromium.org, tranbaod...@chromium.org, yhanad...@chromium.org
              Attention needed from John An and Nasko Oskov

              Dave Tapuska voted Code-Review+1

              Code-Review+1
              Open in Gerrit

              Related details

              Attention is currently required from:
              • John An
              • Nasko Oskov
              Submit Requirements:
                • requirement satisfiedCode-Coverage
                • requirement satisfiedCode-Owners
                • requirement satisfiedCode-Review
                • requirement satisfiedReview-Enforcement
                Gerrit-Comment-Date: Fri, 17 Oct 2025 14:28:51 +0000
                Gerrit-HasComments: No
                Gerrit-Has-Labels: Yes
                satisfied_requirement
                open
                diffy

                John An (Gerrit)

                unread,
                2:45 PM (5 hours ago) 2:45 PM
                to Dave Tapuska, Jonathan Ross, Chromium LUCI CQ, Daniel Cheng, Kartar Singh, Mustaq Ahmed, Rahul Arakeri, Olga Gerchikov, Claire Chambers, Wangsong Jin, Gaston Rodriguez, Eain Chen, chromium...@chromium.org, James Su, alexmo...@chromium.org, creis...@chromium.org, jbauma...@chromium.org, keithle...@chromium.org, navigation...@chromium.org, nona+...@chromium.org, shuche...@chromium.org, tranbaod...@chromium.org, yhanad...@chromium.org
                Attention needed from Nasko Oskov

                John An voted Commit-Queue+2

                Commit-Queue+2
                Open in Gerrit

                Related details

                Attention is currently required from:
                • Nasko Oskov
                Gerrit-Comment-Date: Mon, 20 Oct 2025 18:45:38 +0000
                Gerrit-HasComments: No
                Gerrit-Has-Labels: Yes
                satisfied_requirement
                open
                diffy

                Chromium LUCI CQ (Gerrit)

                unread,
                4:20 PM (4 hours ago) 4:20 PM
                to John An, Dave Tapuska, Jonathan Ross, Daniel Cheng, Kartar Singh, Mustaq Ahmed, Rahul Arakeri, Olga Gerchikov, Claire Chambers, Wangsong Jin, Gaston Rodriguez, Eain Chen, chromium...@chromium.org, James Su, alexmo...@chromium.org, creis...@chromium.org, jbauma...@chromium.org, keithle...@chromium.org, navigation...@chromium.org, nona+...@chromium.org, shuche...@chromium.org, tranbaod...@chromium.org, yhanad...@chromium.org

                Chromium LUCI CQ submitted the change

                Change information

                Commit message:
                Sub ASCII digits for Arabic-Indic for Arabic keyboards on Windows

                Windows Arabic keyboard layouts do not natively support Arabic-Indic
                digit input. This means on Windows there is no way to input
                Arabic-Indic digits into a web page text form. Any fix from Windows
                will still leave browser instances on older Windows version without
                this capability.

                The proposed fix is to implement Arabic-Indic digit input in a
                faux-AltGr layer. The browser can detect when Ctrl+Alt or right-Alt are
                held and input Arabic-Indic digits for top-row digit input.

                This is an initial, feature flag gated check-in for unconditional
                Arabic-Indic digit substitution for Arabic keyboard layouts. The
                implementation works by substituting ASCII digit characters for
                Arabic-Indic digit characters in key events that the
                RenderWidgetHostViewAura forwards to the renderer process.

                The substituted input on Ctrl+Alt and right-Alt hold will be checked in
                later. The decision to promote this to a browser setting will also come
                later and be based on customer feedback.
                Bug: 440381284
                Change-Id: Iac822f5fe4437c3efe3ed620b31faa70ae7042b8
                Commit-Queue: John An <jo...@microsoft.com>
                Reviewed-by: Dave Tapuska <dtap...@chromium.org>
                Reviewed-by: Jonathan Ross <jon...@chromium.org>
                Cr-Commit-Position: refs/heads/main@{#1532496}
                Files:
                • M content/browser/renderer_host/render_widget_host_view_aura.cc
                • M content/browser/renderer_host/render_widget_host_view_aura.h
                • M content/browser/renderer_host/render_widget_host_view_aura_unittest.cc
                • M content/common/features.cc
                • M content/common/features.h
                • M ui/events/test/keyboard_layout.h
                • M ui/events/test/keyboard_layout_win.cc
                Change size: M
                Delta: 7 files changed, 149 insertions(+), 2 deletions(-)
                Branch: refs/heads/main
                Submit Requirements:
                • requirement satisfiedCode-Review: +1 by Jonathan Ross, +1 by Dave Tapuska
                Open in Gerrit
                Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. DiffyGerrit
                Gerrit-MessageType: merged
                Gerrit-Project: chromium/src
                Gerrit-Branch: main
                Gerrit-Change-Id: Iac822f5fe4437c3efe3ed620b31faa70ae7042b8
                Gerrit-Change-Number: 6941614
                Gerrit-PatchSet: 19
                Gerrit-Owner: John An <jo...@microsoft.com>
                Gerrit-Reviewer: Chromium LUCI CQ <chromiu...@luci-project-accounts.iam.gserviceaccount.com>
                Gerrit-Reviewer: Claire Chambers <clcha...@microsoft.com>
                Gerrit-Reviewer: Dave Tapuska <dtap...@chromium.org>
                Gerrit-Reviewer: Eain Chen <eain...@microsoft.com>
                Gerrit-Reviewer: Gaston Rodriguez <gas...@microsoft.com>
                Gerrit-Reviewer: John An <jo...@microsoft.com>
                Gerrit-Reviewer: Jonathan Ross <jon...@chromium.org>
                Gerrit-Reviewer: Mustaq Ahmed <mus...@chromium.org>
                Gerrit-Reviewer: Nasko Oskov <na...@chromium.org>
                Gerrit-Reviewer: Olga Gerchikov <gerc...@microsoft.com>
                Gerrit-Reviewer: Rahul Arakeri <ara...@microsoft.com>
                open
                diffy
                satisfied_requirement
                Reply all
                Reply to author
                Forward
                0 new messages