WebNN: Replace null characters in operand names for ORT backend [chromium/src : main]

0 views
Skip to first unread message

Miao, Bin (Gerrit)

unread,
Dec 23, 2025, 9:50:02 PM12/23/25
to Rafael Cintron, Dwayne Robinson, Aditya Rastogi, Dai, Feng, Hu, Ningxin, AyeAye, Xu, Mingming1, chromium...@chromium.org, Jiewei Qian, blink-revie...@chromium.org, blink-...@chromium.org
Attention needed from Hu, Ningxin, Rafael Cintron and Xu, Mingming1

Miao, Bin added 5 comments

Patchset-level comments
File-level comment, Patchset 5:
Hu, Ningxin . resolved

Please add a WPT with input name starting with null character, such as '\0', '\0input' etc.?

Miao, Bin

Done

File-level comment, Patchset 5:
Miao, Bin . resolved

Updated this CL to reach the comments. Please take another look, thanks a lot!

Commit Message
Line 7, Patchset 5:WebNN: Fix operand name validation for ORT backend
Hu, Ningxin . resolved

This title is not accurate for the latest PS.

Miao, Bin

Updated the title.

Line 9, Patchset 5:Fuzzing discovered that operand names starting with NULL byte (0x00)
Hu, Ningxin . resolved

As I commented in the issue https://issues.chromium.org/issues/470831369, it is not only fuzzer, but also input name starting with '\0' would meet this issue and cause context lost.

Miao, Bin

Updated the commit message.

File services/webnn/ort/graph_builder_ort.cc
Line 170, Patchset 5: if (name.contains(kNullCharacter)) {
base::ReplaceChars(name, kNullCharacter, kUnderscore, &effective_name);
} else {
effective_name = name;
}
Hu, Ningxin . resolved

Just use `base::ReplaceChars`? It does nothing if there is no match.

```suggestion
std::string effective_name(name);
base::ReplaceChars(effective_name, kNullCharacter, kUnderscore, &effective_name);
```
Miao, Bin

Done

Open in Gerrit

Related details

Attention is currently required from:
  • Hu, Ningxin
  • Rafael Cintron
  • Xu, Mingming1
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: I3f833d2398ecd8cd3e5b4f106fb0b7c1b25f2485
Gerrit-Change-Number: 7298368
Gerrit-PatchSet: 5
Gerrit-Owner: Miao, Bin <bin....@intel.com>
Gerrit-Reviewer: Hu, Ningxin <ningx...@intel.com>
Gerrit-Reviewer: Rafael Cintron <rafael....@microsoft.com>
Gerrit-CC: Aditya Rastogi <aditya....@microsoft.com>
Gerrit-CC: Dai, Feng <feng...@intel.com>
Gerrit-CC: Dwayne Robinson <dwa...@microsoft.com>
Gerrit-CC: Jiewei Qian <q...@chromium.org>
Gerrit-CC: Xu, Mingming1 <mingmi...@intel.com>
Gerrit-Attention: Rafael Cintron <rafael....@microsoft.com>
Gerrit-Attention: Xu, Mingming1 <mingmi...@intel.com>
Gerrit-Attention: Hu, Ningxin <ningx...@intel.com>
Gerrit-Comment-Date: Wed, 24 Dec 2025 02:49:50 +0000
Gerrit-HasComments: Yes
Gerrit-Has-Labels: No
Comment-In-Reply-To: Hu, Ningxin <ningx...@intel.com>
satisfied_requirement
unsatisfied_requirement
open
diffy

Hu, Ningxin (Gerrit)

unread,
Dec 23, 2025, 10:20:01 PM12/23/25
to Miao, Bin, Rafael Cintron, Dwayne Robinson, Aditya Rastogi, Dai, Feng, AyeAye, Xu, Mingming1, chromium...@chromium.org, Jiewei Qian, blink-revie...@chromium.org, blink-...@chromium.org
Attention needed from Miao, Bin, Rafael Cintron and Xu, Mingming1

Hu, Ningxin voted and added 2 comments

Votes added by Hu, Ningxin

Code-Review+1

2 comments

Patchset-level comments
File-level comment, Patchset 8 (Latest):
Hu, Ningxin . resolved

LGTM with a nit

Commit Message
Line 9, Patchset 8 (Latest):Input and output operand names containing null characters ('\0') cause
Hu, Ningxin . unresolved

It is due to names starting with null character.
```suggestion
Input and output operand names starting with null character ('\0') cause
```

Open in Gerrit

Related details

Attention is currently required from:
  • Miao, Bin
  • Rafael Cintron
  • Xu, Mingming1
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: I3f833d2398ecd8cd3e5b4f106fb0b7c1b25f2485
    Gerrit-Change-Number: 7298368
    Gerrit-PatchSet: 8
    Gerrit-Owner: Miao, Bin <bin....@intel.com>
    Gerrit-Reviewer: Hu, Ningxin <ningx...@intel.com>
    Gerrit-Reviewer: Rafael Cintron <rafael....@microsoft.com>
    Gerrit-CC: Aditya Rastogi <aditya....@microsoft.com>
    Gerrit-CC: Dai, Feng <feng...@intel.com>
    Gerrit-CC: Dwayne Robinson <dwa...@microsoft.com>
    Gerrit-CC: Jiewei Qian <q...@chromium.org>
    Gerrit-CC: Xu, Mingming1 <mingmi...@intel.com>
    Gerrit-Attention: Rafael Cintron <rafael....@microsoft.com>
    Gerrit-Attention: Xu, Mingming1 <mingmi...@intel.com>
    Gerrit-Attention: Miao, Bin <bin....@intel.com>
    Gerrit-Comment-Date: Wed, 24 Dec 2025 03:19:50 +0000
    Gerrit-HasComments: Yes
    Gerrit-Has-Labels: Yes
    satisfied_requirement
    unsatisfied_requirement
    open
    diffy

    Miao, Bin (Gerrit)

    unread,
    Dec 24, 2025, 12:19:37 AM12/24/25
    to Hu, Ningxin, Rafael Cintron, Dwayne Robinson, Aditya Rastogi, Dai, Feng, AyeAye, Xu, Mingming1, chromium...@chromium.org, Jiewei Qian, blink-revie...@chromium.org, blink-...@chromium.org
    Attention needed from Rafael Cintron and Xu, Mingming1

    Miao, Bin added 1 comment

    Commit Message
    Line 9, Patchset 8:Input and output operand names containing null characters ('\0') cause
    Hu, Ningxin . resolved

    It is due to names starting with null character.
    ```suggestion
    Input and output operand names starting with null character ('\0') cause
    ```

    Miao, Bin

    Done

    Open in Gerrit

    Related details

    Attention is currently required from:
    • Rafael Cintron
    • Xu, Mingming1
    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: I3f833d2398ecd8cd3e5b4f106fb0b7c1b25f2485
      Gerrit-Change-Number: 7298368
      Gerrit-PatchSet: 9
      Gerrit-Owner: Miao, Bin <bin....@intel.com>
      Gerrit-Reviewer: Hu, Ningxin <ningx...@intel.com>
      Gerrit-Reviewer: Rafael Cintron <rafael....@microsoft.com>
      Gerrit-CC: Aditya Rastogi <aditya....@microsoft.com>
      Gerrit-CC: Dai, Feng <feng...@intel.com>
      Gerrit-CC: Dwayne Robinson <dwa...@microsoft.com>
      Gerrit-CC: Jiewei Qian <q...@chromium.org>
      Gerrit-CC: Xu, Mingming1 <mingmi...@intel.com>
      Gerrit-Attention: Rafael Cintron <rafael....@microsoft.com>
      Gerrit-Attention: Xu, Mingming1 <mingmi...@intel.com>
      Gerrit-Comment-Date: Wed, 24 Dec 2025 05:19:25 +0000
      satisfied_requirement
      unsatisfied_requirement
      open
      diffy

      Rafael Cintron (Gerrit)

      unread,
      Dec 24, 2025, 4:26:30 PM12/24/25
      to Miao, Bin, Chromium LUCI CQ, Hu, Ningxin, Dwayne Robinson, Aditya Rastogi, Dai, Feng, AyeAye, Xu, Mingming1, chromium...@chromium.org, Jiewei Qian, blink-revie...@chromium.org, blink-...@chromium.org
      Attention needed from Miao, Bin and Xu, Mingming1

      Rafael Cintron added 1 comment

      Commit Message
      Line 19, Patchset 9 (Latest):[1] https://github.com/microsoft/onnxruntime/blob/7b5a93ef5f71ca58a1b6e4ae81b250e767756c68/onnxruntime/core/session/model_editor_c_api.cc#L29
      Rafael Cintron . unresolved

      The ORT code you linked to has a comment which states that it does not allow empty or non-existent strings. However, you code replaces all null characters in non-empty strings with an underscore. This isn't exactly the same thing.

      Does ORT allow null characters in the middle of a string or at the beginning of a non-empty strings? If it accidentally disallows a null character at the beginning of a non-empty string, might be best to replace only the first character with an underscore. Otherwise, we might be introducing name collisions with existing strings in a model.

      Open in Gerrit

      Related details

      Attention is currently required from:
      • Miao, Bin
      • Xu, Mingming1
      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: I3f833d2398ecd8cd3e5b4f106fb0b7c1b25f2485
        Gerrit-Change-Number: 7298368
        Gerrit-PatchSet: 9
        Gerrit-Owner: Miao, Bin <bin....@intel.com>
        Gerrit-Reviewer: Hu, Ningxin <ningx...@intel.com>
        Gerrit-Reviewer: Miao, Bin <bin....@intel.com>
        Gerrit-Reviewer: Rafael Cintron <rafael....@microsoft.com>
        Gerrit-CC: Aditya Rastogi <aditya....@microsoft.com>
        Gerrit-CC: Dai, Feng <feng...@intel.com>
        Gerrit-CC: Dwayne Robinson <dwa...@microsoft.com>
        Gerrit-CC: Jiewei Qian <q...@chromium.org>
        Gerrit-CC: Xu, Mingming1 <mingmi...@intel.com>
        Gerrit-Attention: Xu, Mingming1 <mingmi...@intel.com>
        Gerrit-Attention: Miao, Bin <bin....@intel.com>
        Gerrit-Comment-Date: Wed, 24 Dec 2025 21:26:15 +0000
        Gerrit-HasComments: Yes
        Gerrit-Has-Labels: No
        satisfied_requirement
        unsatisfied_requirement
        open
        diffy

        Miao, Bin (Gerrit)

        unread,
        Dec 25, 2025, 3:29:42 AM12/25/25
        to Chromium LUCI CQ, Hu, Ningxin, Rafael Cintron, Dwayne Robinson, Aditya Rastogi, Dai, Feng, AyeAye, Xu, Mingming1, chromium...@chromium.org, Jiewei Qian, blink-revie...@chromium.org, blink-...@chromium.org
        Attention needed from Hu, Ningxin, Rafael Cintron and Xu, Mingming1

        Miao, Bin added 1 comment

        Rafael Cintron . unresolved

        The ORT code you linked to has a comment which states that it does not allow empty or non-existent strings. However, you code replaces all null characters in non-empty strings with an underscore. This isn't exactly the same thing.

        Does ORT allow null characters in the middle of a string or at the beginning of a non-empty strings? If it accidentally disallows a null character at the beginning of a non-empty string, might be best to replace only the first character with an underscore. Otherwise, we might be introducing name collisions with existing strings in a model.

        Miao, Bin

        Good point! I think name collisions are prevented by the joined unique operand id. `GetOperandName()` always appends the id, so:
        ```
        'input\0a' (id=1) → 'input_a_1'
        'input_a' (id=2) → 'input_a_2'
        'input\0b' (id=3) → 'input_b_3'
        ```
        All the effective name will be unique.

        In fact, replacing all the "\0" characters was also for another reason. ORT's C API truncates at any '\0' and this happens before we append the operand id. Without full replacement, 'input\0a' and 'input\0b' would both become 'input' and it will cause `ORT status error code: 1 error message: Error: Duplicate definition-site for (input)`

        Added a new WPT case with two inputs ('input\0a' and 'input\0b') to validate this scenario.

        Similarly, this situation might occur when generating node names, because it uses the label provided by the user. I am designing a new WPT test case to verify this hypothesis. If it proves correct, I plan to fix this issue in the following CL. WDYT?

        Open in Gerrit

        Related details

        Attention is currently required from:
        • Hu, Ningxin
        • Rafael Cintron
        • Xu, Mingming1
        Gerrit-Attention: Rafael Cintron <rafael....@microsoft.com>
        Gerrit-Attention: Xu, Mingming1 <mingmi...@intel.com>
        Gerrit-Attention: Hu, Ningxin <ningx...@intel.com>
        Gerrit-Comment-Date: Thu, 25 Dec 2025 08:29:32 +0000
        Gerrit-HasComments: Yes
        Gerrit-Has-Labels: No
        Comment-In-Reply-To: Rafael Cintron <rafael....@microsoft.com>
        satisfied_requirement
        unsatisfied_requirement
        open
        diffy

        Hu, Ningxin (Gerrit)

        unread,
        Jan 3, 2026, 8:14:21 PMJan 3
        to Miao, Bin, Chromium LUCI CQ, Rafael Cintron, Dwayne Robinson, Aditya Rastogi, Dai, Feng, AyeAye, Xu, Mingming1, chromium...@chromium.org, Jiewei Qian, blink-revie...@chromium.org, blink-...@chromium.org
        Attention needed from Miao, Bin, Rafael Cintron and Xu, Mingming1

        Hu, Ningxin voted and added 2 comments

        Votes added by Hu, Ningxin

        Code-Review+1

        2 comments

        Patchset-level comments
        Hu, Ningxin . resolved

        LGTM

        Commit Message
        Rafael Cintron . unresolved

        The ORT code you linked to has a comment which states that it does not allow empty or non-existent strings. However, you code replaces all null characters in non-empty strings with an underscore. This isn't exactly the same thing.

        Does ORT allow null characters in the middle of a string or at the beginning of a non-empty strings? If it accidentally disallows a null character at the beginning of a non-empty string, might be best to replace only the first character with an underscore. Otherwise, we might be introducing name collisions with existing strings in a model.

        Miao, Bin

        Good point! I think name collisions are prevented by the joined unique operand id. `GetOperandName()` always appends the id, so:
        ```
        'input\0a' (id=1) → 'input_a_1'
        'input_a' (id=2) → 'input_a_2'
        'input\0b' (id=3) → 'input_b_3'
        ```
        All the effective name will be unique.

        In fact, replacing all the "\0" characters was also for another reason. ORT's C API truncates at any '\0' and this happens before we append the operand id. Without full replacement, 'input\0a' and 'input\0b' would both become 'input' and it will cause `ORT status error code: 1 error message: Error: Duplicate definition-site for (input)`

        Added a new WPT case with two inputs ('input\0a' and 'input\0b') to validate this scenario.

        Similarly, this situation might occur when generating node names, because it uses the label provided by the user. I am designing a new WPT test case to verify this hypothesis. If it proves correct, I plan to fix this issue in the following CL. WDYT?

        Hu, Ningxin

        I think name collisions are prevented by the joined unique operand id.

        +1, the operand id is guaranteed to be unique by mojo.

        Similarly, this situation might occur when generating node names, because it uses the label provided by the user.

        Having a separate issue makes sense to me.

        Open in Gerrit

        Related details

        Attention is currently required from:
        • Miao, Bin
        • Rafael Cintron
        • Xu, Mingming1
        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: I3f833d2398ecd8cd3e5b4f106fb0b7c1b25f2485
        Gerrit-Change-Number: 7298368
        Gerrit-PatchSet: 10
        Gerrit-Owner: Miao, Bin <bin....@intel.com>
        Gerrit-Reviewer: Hu, Ningxin <ningx...@intel.com>
        Gerrit-Reviewer: Miao, Bin <bin....@intel.com>
        Gerrit-Reviewer: Rafael Cintron <rafael....@microsoft.com>
        Gerrit-CC: Aditya Rastogi <aditya....@microsoft.com>
        Gerrit-CC: Dai, Feng <feng...@intel.com>
        Gerrit-CC: Dwayne Robinson <dwa...@microsoft.com>
        Gerrit-CC: Jiewei Qian <q...@chromium.org>
        Gerrit-CC: Xu, Mingming1 <mingmi...@intel.com>
        Gerrit-Attention: Rafael Cintron <rafael....@microsoft.com>
        Gerrit-Attention: Xu, Mingming1 <mingmi...@intel.com>
        Gerrit-Attention: Miao, Bin <bin....@intel.com>
        Gerrit-Comment-Date: Sun, 04 Jan 2026 01:14:07 +0000
        Gerrit-HasComments: Yes
        Gerrit-Has-Labels: Yes
        Comment-In-Reply-To: Rafael Cintron <rafael....@microsoft.com>
        Comment-In-Reply-To: Miao, Bin <bin....@intel.com>
        satisfied_requirement
        unsatisfied_requirement
        open
        diffy

        Rafael Cintron (Gerrit)

        unread,
        Jan 5, 2026, 4:10:41 PMJan 5
        to Miao, Bin, Hu, Ningxin, Chromium LUCI CQ, Dwayne Robinson, Aditya Rastogi, Dai, Feng, AyeAye, Xu, Mingming1, chromium...@chromium.org, Jiewei Qian, blink-revie...@chromium.org, blink-...@chromium.org
        Attention needed from Miao, Bin and Xu, Mingming1

        Rafael Cintron added 1 comment

        Commit Message
        Rafael Cintron . unresolved

        The ORT code you linked to has a comment which states that it does not allow empty or non-existent strings. However, you code replaces all null characters in non-empty strings with an underscore. This isn't exactly the same thing.

        Does ORT allow null characters in the middle of a string or at the beginning of a non-empty strings? If it accidentally disallows a null character at the beginning of a non-empty string, might be best to replace only the first character with an underscore. Otherwise, we might be introducing name collisions with existing strings in a model.

        Miao, Bin

        Good point! I think name collisions are prevented by the joined unique operand id. `GetOperandName()` always appends the id, so:
        ```
        'input\0a' (id=1) → 'input_a_1'
        'input_a' (id=2) → 'input_a_2'
        'input\0b' (id=3) → 'input_b_3'
        ```
        All the effective name will be unique.

        In fact, replacing all the "\0" characters was also for another reason. ORT's C API truncates at any '\0' and this happens before we append the operand id. Without full replacement, 'input\0a' and 'input\0b' would both become 'input' and it will cause `ORT status error code: 1 error message: Error: Duplicate definition-site for (input)`

        Added a new WPT case with two inputs ('input\0a' and 'input\0b') to validate this scenario.

        Similarly, this situation might occur when generating node names, because it uses the label provided by the user. I am designing a new WPT test case to verify this hypothesis. If it proves correct, I plan to fix this issue in the following CL. WDYT?

        Hu, Ningxin

        I think name collisions are prevented by the joined unique operand id.

        +1, the operand id is guaranteed to be unique by mojo.

        Similarly, this situation might occur when generating node names, because it uses the label provided by the user.

        Having a separate issue makes sense to me.

        Rafael Cintron

        OK. Can you please update the CL description and comment to reflect what's really happening?

        Open in Gerrit

        Related details

        Attention is currently required from:
        • Miao, Bin
        • Xu, Mingming1
        Gerrit-Attention: Xu, Mingming1 <mingmi...@intel.com>
        Gerrit-Attention: Miao, Bin <bin....@intel.com>
        Gerrit-Comment-Date: Mon, 05 Jan 2026 21:10:30 +0000
        Gerrit-HasComments: Yes
        Gerrit-Has-Labels: No
        Comment-In-Reply-To: Rafael Cintron <rafael....@microsoft.com>
        Comment-In-Reply-To: Hu, Ningxin <ningx...@intel.com>
        Comment-In-Reply-To: Miao, Bin <bin....@intel.com>
        satisfied_requirement
        unsatisfied_requirement
        open
        diffy

        Miao, Bin (Gerrit)

        unread,
        Jan 6, 2026, 12:18:38 AMJan 6
        to Hu, Ningxin, Chromium LUCI CQ, Rafael Cintron, Dwayne Robinson, Aditya Rastogi, Dai, Feng, AyeAye, Xu, Mingming1, chromium...@chromium.org, Jiewei Qian, blink-revie...@chromium.org, blink-...@chromium.org
        Attention needed from Rafael Cintron and Xu, Mingming1

        Miao, Bin added 1 comment

        Commit Message
        Rafael Cintron . resolved

        The ORT code you linked to has a comment which states that it does not allow empty or non-existent strings. However, you code replaces all null characters in non-empty strings with an underscore. This isn't exactly the same thing.

        Does ORT allow null characters in the middle of a string or at the beginning of a non-empty strings? If it accidentally disallows a null character at the beginning of a non-empty string, might be best to replace only the first character with an underscore. Otherwise, we might be introducing name collisions with existing strings in a model.

        Miao, Bin

        Good point! I think name collisions are prevented by the joined unique operand id. `GetOperandName()` always appends the id, so:
        ```
        'input\0a' (id=1) → 'input_a_1'
        'input_a' (id=2) → 'input_a_2'
        'input\0b' (id=3) → 'input_b_3'
        ```
        All the effective name will be unique.

        In fact, replacing all the "\0" characters was also for another reason. ORT's C API truncates at any '\0' and this happens before we append the operand id. Without full replacement, 'input\0a' and 'input\0b' would both become 'input' and it will cause `ORT status error code: 1 error message: Error: Duplicate definition-site for (input)`

        Added a new WPT case with two inputs ('input\0a' and 'input\0b') to validate this scenario.

        Similarly, this situation might occur when generating node names, because it uses the label provided by the user. I am designing a new WPT test case to verify this hypothesis. If it proves correct, I plan to fix this issue in the following CL. WDYT?

        Hu, Ningxin

        I think name collisions are prevented by the joined unique operand id.

        +1, the operand id is guaranteed to be unique by mojo.

        Similarly, this situation might occur when generating node names, because it uses the label provided by the user.

        Having a separate issue makes sense to me.

        Rafael Cintron

        OK. Can you please update the CL description and comment to reflect what's really happening?

        Miao, Bin

        Done and please take another look, thanks a lot!

        Open in Gerrit

        Related details

        Attention is currently required from:
        • Rafael Cintron
        • Xu, Mingming1
        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: I3f833d2398ecd8cd3e5b4f106fb0b7c1b25f2485
          Gerrit-Change-Number: 7298368
          Gerrit-PatchSet: 11
          Gerrit-Owner: Miao, Bin <bin....@intel.com>
          Gerrit-Reviewer: Hu, Ningxin <ningx...@intel.com>
          Gerrit-Reviewer: Miao, Bin <bin....@intel.com>
          Gerrit-Reviewer: Rafael Cintron <rafael....@microsoft.com>
          Gerrit-CC: Aditya Rastogi <aditya....@microsoft.com>
          Gerrit-CC: Dai, Feng <feng...@intel.com>
          Gerrit-CC: Dwayne Robinson <dwa...@microsoft.com>
          Gerrit-CC: Jiewei Qian <q...@chromium.org>
          Gerrit-CC: Xu, Mingming1 <mingmi...@intel.com>
          Gerrit-Attention: Rafael Cintron <rafael....@microsoft.com>
          Gerrit-Attention: Xu, Mingming1 <mingmi...@intel.com>
          Gerrit-Comment-Date: Tue, 06 Jan 2026 05:18:26 +0000
          satisfied_requirement
          unsatisfied_requirement
          open
          diffy

          Dwayne Robinson (Gerrit)

          unread,
          Jan 6, 2026, 1:33:21 AMJan 6
          to Miao, Bin, Hu, Ningxin, Chromium LUCI CQ, Rafael Cintron, Aditya Rastogi, Dai, Feng, AyeAye, Xu, Mingming1, chromium...@chromium.org, Jiewei Qian, blink-revie...@chromium.org, blink-...@chromium.org
          Attention needed from Miao, Bin, Rafael Cintron and Xu, Mingming1

          Dwayne Robinson added 1 comment

          Patchset-level comments
          File-level comment, Patchset 11 (Latest):
          Dwayne Robinson . resolved

          👍

          Open in Gerrit

          Related details

          Attention is currently required from:
          • Miao, Bin
          • Rafael Cintron
          • Xu, Mingming1
          Gerrit-Attention: Miao, Bin <bin....@intel.com>
          Gerrit-Comment-Date: Tue, 06 Jan 2026 06:33:09 +0000
          Gerrit-HasComments: Yes
          Gerrit-Has-Labels: No
          satisfied_requirement
          unsatisfied_requirement
          open
          diffy

          Rafael Cintron (Gerrit)

          unread,
          Jan 6, 2026, 3:35:07 PMJan 6
          to Miao, Bin, Hu, Ningxin, Chromium LUCI CQ, Dwayne Robinson, Aditya Rastogi, Dai, Feng, AyeAye, Xu, Mingming1, chromium...@chromium.org, Jiewei Qian, blink-revie...@chromium.org, blink-...@chromium.org
          Attention needed from Miao, Bin and Xu, Mingming1

          Rafael Cintron voted Code-Review+1

          Code-Review+1
          Open in Gerrit

          Related details

          Attention is currently required from:
          • Miao, Bin
          • Xu, Mingming1
          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: I3f833d2398ecd8cd3e5b4f106fb0b7c1b25f2485
            Gerrit-Change-Number: 7298368
            Gerrit-PatchSet: 11
            Gerrit-Owner: Miao, Bin <bin....@intel.com>
            Gerrit-Reviewer: Hu, Ningxin <ningx...@intel.com>
            Gerrit-Reviewer: Miao, Bin <bin....@intel.com>
            Gerrit-Reviewer: Rafael Cintron <rafael....@microsoft.com>
            Gerrit-CC: Aditya Rastogi <aditya....@microsoft.com>
            Gerrit-CC: Dai, Feng <feng...@intel.com>
            Gerrit-CC: Dwayne Robinson <dwa...@microsoft.com>
            Gerrit-CC: Jiewei Qian <q...@chromium.org>
            Gerrit-CC: Xu, Mingming1 <mingmi...@intel.com>
            Gerrit-Attention: Xu, Mingming1 <mingmi...@intel.com>
            Gerrit-Attention: Miao, Bin <bin....@intel.com>
            Gerrit-Comment-Date: Tue, 06 Jan 2026 20:34:56 +0000
            Gerrit-HasComments: No
            Gerrit-Has-Labels: Yes
            satisfied_requirement
            open
            diffy

            Blink W3C Test Autoroller (Gerrit)

            unread,
            Jan 6, 2026, 4:12:17 PMJan 6
            to Miao, Bin, Rafael Cintron, Hu, Ningxin, Chromium LUCI CQ, Dwayne Robinson, Aditya Rastogi, Dai, Feng, AyeAye, Xu, Mingming1, chromium...@chromium.org, Jiewei Qian, blink-revie...@chromium.org, blink-...@chromium.org
            Attention needed from Miao, Bin and Xu, Mingming1

            Message from Blink W3C Test Autoroller

            Exportable changes to web-platform-tests were detected in this CL and a pull request in the upstream repo has been made: https://github.com/web-platform-tests/wpt/pull/57024.

            When this CL lands, the bot will automatically merge the PR on GitHub if the required GitHub checks pass; otherwise, ecosystem-infra@ team will triage the failures and may contact you.

            WPT Export docs:
            https://chromium.googlesource.com/chromium/src/+/main/docs/testing/web_platform_tests.md#Automatic-export-process

            Open in Gerrit

            Related details

            Attention is currently required from:
            • Miao, Bin
            • Xu, Mingming1
            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: I3f833d2398ecd8cd3e5b4f106fb0b7c1b25f2485
            Gerrit-Change-Number: 7298368
            Gerrit-PatchSet: 11
            Gerrit-Owner: Miao, Bin <bin....@intel.com>
            Gerrit-Reviewer: Hu, Ningxin <ningx...@intel.com>
            Gerrit-Reviewer: Miao, Bin <bin....@intel.com>
            Gerrit-Reviewer: Rafael Cintron <rafael....@microsoft.com>
            Gerrit-CC: Aditya Rastogi <aditya....@microsoft.com>
            Gerrit-CC: Blink W3C Test Autoroller <blink-w3c-te...@chromium.org>
            Gerrit-CC: Dai, Feng <feng...@intel.com>
            Gerrit-CC: Dwayne Robinson <dwa...@microsoft.com>
            Gerrit-CC: Jiewei Qian <q...@chromium.org>
            Gerrit-CC: Xu, Mingming1 <mingmi...@intel.com>
            Gerrit-Attention: Xu, Mingming1 <mingmi...@intel.com>
            Gerrit-Attention: Miao, Bin <bin....@intel.com>
            Gerrit-Comment-Date: Tue, 06 Jan 2026 21:12:09 +0000
            Gerrit-HasComments: No
            Gerrit-Has-Labels: No
            satisfied_requirement
            open
            diffy

            Miao, Bin (Gerrit)

            unread,
            Jan 6, 2026, 8:47:30 PMJan 6
            to Blink W3C Test Autoroller, Rafael Cintron, Hu, Ningxin, Chromium LUCI CQ, Dwayne Robinson, Aditya Rastogi, Dai, Feng, AyeAye, Xu, Mingming1, chromium...@chromium.org, Jiewei Qian, blink-revie...@chromium.org, blink-...@chromium.org
            Attention needed from Xu, Mingming1

            Miao, Bin voted Commit-Queue+2

            Commit-Queue+2
            Open in Gerrit

            Related details

            Attention is currently required from:
            • Xu, Mingming1
            Gerrit-Comment-Date: Wed, 07 Jan 2026 01:47:18 +0000
            Gerrit-HasComments: No
            Gerrit-Has-Labels: Yes
            satisfied_requirement
            open
            diffy

            Chromium LUCI CQ (Gerrit)

            unread,
            Jan 6, 2026, 9:41:37 PMJan 6
            to Miao, Bin, Blink W3C Test Autoroller, Rafael Cintron, Hu, Ningxin, Dwayne Robinson, Aditya Rastogi, Dai, Feng, AyeAye, Xu, Mingming1, chromium...@chromium.org, Jiewei Qian, blink-revie...@chromium.org, blink-...@chromium.org

            Chromium LUCI CQ submitted the change

            Change information

            Commit message:
            WebNN: Replace null characters in operand names for ORT backend

            Input and output operand names starting with null characters ('\0')
            cause ORT's CreateValueInfo API to fail with "name cannot be null or
            empty string" error [1], leading to context lost.

            Furthermore, ORT's C API truncates at any '\0' and this happens before
            we append the operand id. For example, both 'input\0a_1' and
            'input\0b_2' would become 'input', which will lead to “Duplicate
            definition-site for (input)” error.

            This CL replaces all '\0' characters with '_' in operand names to ensure
            compatibility with ORT's C API (name collisions are prevented by the
            joined unique operand id).

            This CL also adds WPT tests to cover null characters in different
            positions.

            [1] https://github.com/microsoft/onnxruntime/blob/7b5a93ef5f71ca58a1b6e4ae81b250e767756c68/onnxruntime/core/session/model_editor_c_api.cc#L29
            Bug: 470831369
            Change-Id: I3f833d2398ecd8cd3e5b4f106fb0b7c1b25f2485
            Reviewed-by: Rafael Cintron <rafael....@microsoft.com>
            Commit-Queue: Miao, Bin <bin....@intel.com>
            Reviewed-by: Hu, Ningxin <ningx...@intel.com>
            Cr-Commit-Position: refs/heads/main@{#1565393}
            Files:
            • M services/webnn/ort/graph_builder_ort.cc
            • M third_party/blink/web_tests/external/wpt/webnn/conformance_tests/inputs-with-special-names.https.any.js
            Change size: S
            Delta: 2 files changed, 39 insertions(+), 1 deletion(-)
            Branch: refs/heads/main
            Submit Requirements:
            • requirement satisfiedCode-Review: +1 by Hu, Ningxin, +1 by Rafael Cintron
            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: I3f833d2398ecd8cd3e5b4f106fb0b7c1b25f2485
            Gerrit-Change-Number: 7298368
            Gerrit-PatchSet: 12
            Gerrit-Owner: Miao, Bin <bin....@intel.com>
            Gerrit-Reviewer: Chromium LUCI CQ <chromiu...@luci-project-accounts.iam.gserviceaccount.com>
            Gerrit-Reviewer: Hu, Ningxin <ningx...@intel.com>
            Gerrit-Reviewer: Miao, Bin <bin....@intel.com>
            Gerrit-Reviewer: Rafael Cintron <rafael....@microsoft.com>
            Gerrit-CC: Aditya Rastogi <aditya....@microsoft.com>
            Gerrit-CC: Blink W3C Test Autoroller <blink-w3c-te...@chromium.org>
            open
            diffy
            satisfied_requirement

            Blink W3C Test Autoroller (Gerrit)

            unread,
            Jan 6, 2026, 11:06:44 PMJan 6
            to Chromium LUCI CQ, Miao, Bin, Rafael Cintron, Hu, Ningxin, Dwayne Robinson, Aditya Rastogi, Dai, Feng, AyeAye, Xu, Mingming1, chromium...@chromium.org, Jiewei Qian, blink-revie...@chromium.org, blink-...@chromium.org

            Message from Blink W3C Test Autoroller

            The WPT PR for this CL has been merged upstream! https://github.com/web-platform-tests/wpt/pull/57024

            Open in Gerrit

            Related details

            Attention set is empty
            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: I3f833d2398ecd8cd3e5b4f106fb0b7c1b25f2485
            Gerrit-Change-Number: 7298368
            Gerrit-PatchSet: 12
            Gerrit-Owner: Miao, Bin <bin....@intel.com>
            Gerrit-Reviewer: Chromium LUCI CQ <chromiu...@luci-project-accounts.iam.gserviceaccount.com>
            Gerrit-Reviewer: Hu, Ningxin <ningx...@intel.com>
            Gerrit-Reviewer: Miao, Bin <bin....@intel.com>
            Gerrit-Reviewer: Rafael Cintron <rafael....@microsoft.com>
            Gerrit-CC: Aditya Rastogi <aditya....@microsoft.com>
            Gerrit-CC: Blink W3C Test Autoroller <blink-w3c-te...@chromium.org>
            Gerrit-CC: Dai, Feng <feng...@intel.com>
            Gerrit-CC: Dwayne Robinson <dwa...@microsoft.com>
            Gerrit-CC: Jiewei Qian <q...@chromium.org>
            Gerrit-CC: Xu, Mingming1 <mingmi...@intel.com>
            Gerrit-Comment-Date: Wed, 07 Jan 2026 04:06:36 +0000
            Gerrit-HasComments: No
            Gerrit-Has-Labels: No
            satisfied_requirement
            open
            diffy
            Reply all
            Reply to author
            Forward
            0 new messages