Create renderer side code for ai taxonomy API [chromium/src : main]

0 views
Skip to first unread message

AI Code Reviewer (Gerrit)

unread,
Feb 11, 2026, 2:05:14 PMFeb 11
to Devin Cabillo, chromium...@chromium.org, Kentaro Hara, Raphael Kubo da Costa, blink-re...@chromium.org, blink-revie...@chromium.org, blink-...@chromium.org, ipc-securi...@chromium.org, jmedle...@chromium.org, kinuko...@chromium.org

AI Code Reviewer added 1 comment

File third_party/blink/renderer/modules/ai/taxonomy.h
Line 29, Patchset 1 (Latest): Taxonomy(ScriptState* script_state,
AI Code Reviewer . unresolved

Blink Style Guide: Don't mix Create () factory methods and public constructors in one class. Since this class has a `create()` factory method, the constructor should be private or protected. If `MakeGarbageCollected` needs access, consider using the PassKey pattern or friendship.

To keep this interaction as brief and non-intrusive as possible, please consider responding with one of following options:
**Done** | **OK But Won't Fix**: reason | **Later**: b/<bug_id> | **Invalid:** reason


_This comment was generated by [Experimental Blink C++ Code Review Agent](http://go/blink-c++-code-review-agent)._
_AI reviews can sometimes be inaccurate; We appreciate your 🙏 feedback 🙏 to help us improve._
_[File a bug](http://go/blink-c++-code-review-agent-feedback) | [Provide feedback on chat](https://chat.google.com/room/AAQA0zhQHe0?cls=4) | [Opt-out](https://ganpati2.corp.google.com/group/peep-genai-blink-agent-optout.prod)_

Open in Gerrit

Related details

Attention set is empty
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: I93f53ebb5d06c86a84a21f104b2e53ff78d8dedf
Gerrit-Change-Number: 7568249
Gerrit-PatchSet: 1
Gerrit-Owner: Devin Cabillo <devinc...@google.com>
Gerrit-CC: AI Code Reviewer <peep-gen...@system.gserviceaccount.com>
Gerrit-CC: Kentaro Hara <har...@chromium.org>
Gerrit-CC: Raphael Kubo da Costa <ku...@igalia.com>
Gerrit-Comment-Date: Wed, 11 Feb 2026 19:05:10 +0000
Gerrit-HasComments: Yes
Gerrit-Has-Labels: No
satisfied_requirement
unsatisfied_requirement
open
diffy

Devin Cabillo (Gerrit)

unread,
Feb 12, 2026, 1:11:52 PMFeb 12
to AI Code Reviewer, chromium...@chromium.org, Kentaro Hara, Raphael Kubo da Costa, blink-re...@chromium.org, blink-revie...@chromium.org, blink-...@chromium.org, ipc-securi...@chromium.org, jmedle...@chromium.org, kinuko...@chromium.org

Devin Cabillo added 1 comment

File third_party/blink/renderer/modules/ai/taxonomy.h
Line 29, Patchset 1: Taxonomy(ScriptState* script_state,
AI Code Reviewer . resolved

Blink Style Guide: Don't mix Create () factory methods and public constructors in one class. Since this class has a `create()` factory method, the constructor should be private or protected. If `MakeGarbageCollected` needs access, consider using the PassKey pattern or friendship.

To keep this interaction as brief and non-intrusive as possible, please consider responding with one of following options:
**Done** | **OK But Won't Fix**: reason | **Later**: b/<bug_id> | **Invalid:** reason


_This comment was generated by [Experimental Blink C++ Code Review Agent](http://go/blink-c++-code-review-agent)._
_AI reviews can sometimes be inaccurate; We appreciate your 🙏 feedback 🙏 to help us improve._
_[File a bug](http://go/blink-c++-code-review-agent-feedback) | [Provide feedback on chat](https://chat.google.com/room/AAQA0zhQHe0?cls=4) | [Opt-out](https://ganpati2.corp.google.com/group/peep-genai-blink-agent-optout.prod)_

Devin Cabillo

OK But Won't Fix: The constructor must remain public because it is instantiated via std::make_unique<ContextBoundObjectType> within the AIManager template methods. Making it private breaks these instantiations.

Open in Gerrit

Related details

Attention set is empty
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: I93f53ebb5d06c86a84a21f104b2e53ff78d8dedf
    Gerrit-Change-Number: 7568249
    Gerrit-PatchSet: 2
    Gerrit-Owner: Devin Cabillo <devinc...@google.com>
    Gerrit-CC: AI Code Reviewer <peep-gen...@system.gserviceaccount.com>
    Gerrit-CC: Kentaro Hara <har...@chromium.org>
    Gerrit-CC: Raphael Kubo da Costa <ku...@igalia.com>
    Gerrit-Comment-Date: Thu, 12 Feb 2026 18:11:43 +0000
    Gerrit-HasComments: Yes
    Gerrit-Has-Labels: No
    Comment-In-Reply-To: AI Code Reviewer <peep-gen...@system.gserviceaccount.com>
    satisfied_requirement
    unsatisfied_requirement
    open
    diffy

    Nathan Memmott (Gerrit)

    unread,
    Feb 12, 2026, 2:48:45 PMFeb 12
    to Devin Cabillo, AI Code Reviewer, chromium...@chromium.org, Kentaro Hara, Raphael Kubo da Costa, blink-re...@chromium.org, blink-revie...@chromium.org, blink-...@chromium.org, ipc-securi...@chromium.org, jmedle...@chromium.org, kinuko...@chromium.org
    Attention needed from Devin Cabillo

    Nathan Memmott added 14 comments

    Patchset-level comments
    File-level comment, Patchset 2 (Latest):
    Nathan Memmott . resolved

    Thanks for doing this! This mostly looks good despite all my nit picking. It really is just some minor things.

    Don't forget to do a dry run.

    File third_party/blink/public/mojom/ai/ai_taxonomy.mojom
    Line 9, Patchset 2 (Latest):
    Nathan Memmott . unresolved

    Nit: Add a comment that links to the explainer similar to the other mojom files in this directory.

    Line 27, Patchset 2 (Latest):// Interface for AITaxonomy that can output a IAB category
    Nathan Memmott . unresolved

    My understanding is that IAB is just the default but there may be more taxonomies in the future.

    Line 29, Patchset 2 (Latest): // classifies text to IAB taxonomy categories
    Nathan Memmott . unresolved

    Nit: Capitalize

    Line 30, Patchset 2 (Latest): Classify(string input, string context, pending_remote<ModelStreamingResponder> pending_responder);
    Nathan Memmott . unresolved

    Nit: Don't exceed 80chars

    Line 33, Patchset 2 (Latest): MeasureUsage(string input, string context) => (uint32? number_of_tokens);
    Nathan Memmott . unresolved

    Remove

    File third_party/blink/renderer/modules/ai/taxonomy.h
    Line 43, Patchset 2 (Latest): static ScriptPromise<Taxonomy> create(ScriptState* script_state,
    const TaxonomyCreateOptions* options,
    ExceptionState& exception_state);
    Nathan Memmott . unresolved

    I believe this can be removed since its defined on the base class. Same with destroy.

    File third_party/blink/renderer/modules/ai/taxonomy.cc
    Line 30, Patchset 2 (Latest): // INTENTIONALLY EMPTY: Do not want linking errors with the browser.
    Nathan Memmott . unresolved

    For all these comments marking remaining work, add TODO comments. Either filing individual bugs using an umbrella bug.

    Line 34, Patchset 2 (Latest):// Availability currently set to unavailable
    Nathan Memmott . unresolved

    Nit: Comments should end with punctuation.

    Line 47, Patchset 2 (Latest):AIMetrics::AISessionType TaxonomyBase::GetSessionType() {
    Nathan Memmott . unresolved

    Optional nit: So I'm used to putting `// static` before all static functions in the source file. But I checked whether this is recommended and found http://go/c-readability-advice#static-comments. It says to prefer not to use them but be consistent with surrounding code. I'm not sure how to interpret that, but our "surrounding code" might include all the files in this folder which do this. Personally I see the value in having them.

    File third_party/blink/renderer/modules/ai/taxonomy.idl
    Line 21, Patchset 2 (Latest): DOMString context;
    Nathan Memmott . unresolved

    Do you know if we want to have a context option? Or a TaxonomyCreateOptions sharedContext option?

    Line 31, Patchset 2 (Latest): [
    Nathan Memmott . unresolved

    Can you file a bug to add use counter metrics to these functions? That way we can keep track of remaining work.

    Line 49, Patchset 2 (Latest): Promise<DOMString> classify(
    Nathan Memmott . unresolved

    The explainer has this as categorize?

    File third_party/blink/renderer/platform/runtime_enabled_features.json5
    Line 477, Patchset 2 (Latest): {
    name: "AITaxonomyAPIForWorkers",
    public: true,
    },
    Nathan Memmott . unresolved

    I think we can leave it out for now until we know its needed.

    Open in Gerrit

    Related details

    Attention is currently required from:
    • Devin Cabillo
    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: I93f53ebb5d06c86a84a21f104b2e53ff78d8dedf
      Gerrit-Change-Number: 7568249
      Gerrit-PatchSet: 2
      Gerrit-Owner: Devin Cabillo <devinc...@google.com>
      Gerrit-CC: AI Code Reviewer <peep-gen...@system.gserviceaccount.com>
      Gerrit-CC: Kentaro Hara <har...@chromium.org>
      Gerrit-CC: Nathan Memmott <mem...@chromium.org>
      Gerrit-CC: Raphael Kubo da Costa <ku...@igalia.com>
      Gerrit-Attention: Devin Cabillo <devinc...@google.com>
      Gerrit-Comment-Date: Thu, 12 Feb 2026 19:48:33 +0000
      Gerrit-HasComments: Yes
      Gerrit-Has-Labels: No
      satisfied_requirement
      unsatisfied_requirement
      open
      diffy

      Devin Cabillo (Gerrit)

      unread,
      Feb 12, 2026, 5:23:46 PMFeb 12
      to Nathan Memmott, AI Code Reviewer, chromium...@chromium.org, Kentaro Hara, Raphael Kubo da Costa, blink-re...@chromium.org, blink-revie...@chromium.org, blink-...@chromium.org, ipc-securi...@chromium.org, jmedle...@chromium.org, kinuko...@chromium.org
      Attention needed from Nathan Memmott

      Devin Cabillo added 13 comments

      File third_party/blink/public/mojom/ai/ai_taxonomy.mojom
      Line 9, Patchset 2:
      Nathan Memmott . resolved

      Nit: Add a comment that links to the explainer similar to the other mojom files in this directory.

      Devin Cabillo

      Done

      Line 27, Patchset 2:// Interface for AITaxonomy that can output a IAB category
      Nathan Memmott . resolved

      My understanding is that IAB is just the default but there may be more taxonomies in the future.

      Devin Cabillo

      Done

      Line 29, Patchset 2: // classifies text to IAB taxonomy categories
      Nathan Memmott . resolved

      Nit: Capitalize

      Devin Cabillo

      Done

      Line 30, Patchset 2: Classify(string input, string context, pending_remote<ModelStreamingResponder> pending_responder);
      Nathan Memmott . resolved

      Nit: Don't exceed 80chars

      Devin Cabillo

      Done

      Line 33, Patchset 2: MeasureUsage(string input, string context) => (uint32? number_of_tokens);
      Nathan Memmott . resolved

      Remove

      Devin Cabillo

      Done

      File third_party/blink/renderer/modules/ai/taxonomy.h
      Line 43, Patchset 2: static ScriptPromise<Taxonomy> create(ScriptState* script_state,

      const TaxonomyCreateOptions* options,
      ExceptionState& exception_state);
      Nathan Memmott . resolved

      I believe this can be removed since its defined on the base class. Same with destroy.

      Devin Cabillo

      Done

      File third_party/blink/renderer/modules/ai/taxonomy.cc
      Line 30, Patchset 2: // INTENTIONALLY EMPTY: Do not want linking errors with the browser.
      Nathan Memmott . resolved

      For all these comments marking remaining work, add TODO comments. Either filing individual bugs using an umbrella bug.

      Devin Cabillo

      Done

      Line 34, Patchset 2:// Availability currently set to unavailable
      Nathan Memmott . resolved

      Nit: Comments should end with punctuation.

      Devin Cabillo

      Done

      Line 47, Patchset 2:AIMetrics::AISessionType TaxonomyBase::GetSessionType() {
      Nathan Memmott . resolved

      Optional nit: So I'm used to putting `// static` before all static functions in the source file. But I checked whether this is recommended and found http://go/c-readability-advice#static-comments. It says to prefer not to use them but be consistent with surrounding code. I'm not sure how to interpret that, but our "surrounding code" might include all the files in this folder which do this. Personally I see the value in having them.

      Devin Cabillo

      Done

      File third_party/blink/renderer/modules/ai/taxonomy.idl
      Line 21, Patchset 2: DOMString context;
      Nathan Memmott . resolved

      Do you know if we want to have a context option? Or a TaxonomyCreateOptions sharedContext option?

      Devin Cabillo

      Done

      Line 31, Patchset 2: [
      Nathan Memmott . resolved

      Can you file a bug to add use counter metrics to these functions? That way we can keep track of remaining work.

      Devin Cabillo

      Done

      Line 49, Patchset 2: Promise<DOMString> classify(
      Nathan Memmott . resolved

      The explainer has this as categorize?

      Devin Cabillo

      Done

      File third_party/blink/renderer/platform/runtime_enabled_features.json5

      name: "AITaxonomyAPIForWorkers",
      public: true,
      },
      Nathan Memmott . resolved

      I think we can leave it out for now until we know its needed.

      Devin Cabillo

      Done

      Open in Gerrit

      Related details

      Attention is currently required from:
      • Nathan Memmott
      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: I93f53ebb5d06c86a84a21f104b2e53ff78d8dedf
        Gerrit-Change-Number: 7568249
        Gerrit-PatchSet: 3
        Gerrit-Owner: Devin Cabillo <devinc...@google.com>
        Gerrit-CC: AI Code Reviewer <peep-gen...@system.gserviceaccount.com>
        Gerrit-CC: Kentaro Hara <har...@chromium.org>
        Gerrit-CC: Nathan Memmott <mem...@chromium.org>
        Gerrit-CC: Raphael Kubo da Costa <ku...@igalia.com>
        Gerrit-Attention: Nathan Memmott <mem...@chromium.org>
        Gerrit-Comment-Date: Thu, 12 Feb 2026 22:23:39 +0000
        Gerrit-HasComments: Yes
        Gerrit-Has-Labels: No
        Comment-In-Reply-To: Nathan Memmott <mem...@chromium.org>
        satisfied_requirement
        unsatisfied_requirement
        open
        diffy

        Jingyun Liu (Gerrit)

        unread,
        Feb 12, 2026, 6:31:42 PMFeb 12
        to Devin Cabillo, Chromium LUCI CQ, Nathan Memmott, AI Code Reviewer, chromium...@chromium.org, Kentaro Hara, Raphael Kubo da Costa, blink-re...@chromium.org, blink-revie...@chromium.org, blink-...@chromium.org, ipc-securi...@chromium.org, jmedle...@chromium.org, kinuko...@chromium.org
        Attention needed from Devin Cabillo and Nathan Memmott

        Jingyun Liu added 5 comments

        Patchset-level comments
        File-level comment, Patchset 3 (Latest):
        Jingyun Liu . resolved

        Thanks for working on this!

        File third_party/blink/renderer/modules/ai/taxonomizer.cc
        Line 46, Patchset 3 (Latest):// Return kWriter to avoid modifying ai_metrics.h (renderer-only hack)
        Jingyun Liu . unresolved

        nit: since you're reusing stuff from other API, can you add a TODO here and in GetPermissionsPolicy, so we don't forget later to update those?

        File third_party/blink/renderer/modules/ai/taxonomizer.idl
        Line 8, Patchset 3 (Latest):dictionary TaxonomizerCreateCoreOptions {
        sequence<DOMString> expectedInputLanguages;
        sequence<DOMString> expectedContextLanguages;
        DOMString outputLanguage;
        };
        Jingyun Liu . unresolved

        let's remove these and keep options minimal since we're unclear what this API will look like in the future?

        For now we only need CreateOptions with ` AbortSignal signal; CreateMonitorCallback monitor;` ( sharedContext might be needed in the next iteration so it's okay to keep, as long as we know it's not actually implemented yet)

        Line 17, Patchset 3 (Latest): DOMString sharedContext;
        Jingyun Liu . unresolved

        nit: sharedContext and context are not needed for dev trial. Maybe it's clearer if we don't include them in the *Options at all (vs. declare them but acutally no-op)

        Line 50, Patchset 3 (Latest): Promise<DOMString> categorize(
        Jingyun Liu . unresolved
        the output would be an array of structured output. e.g,
        ```
        [
        { id: "602", confidence: 0.98 }, // Represents "Consumer Electronics"
        { id: "597", confidence: 0.95 }, // Represents "Technology & Computing"
        { id: "45", confidence: 0.82 } // Represents "Automotive"
        ]
        ```

        But that requires some work on the ModelStreamingResponder to parse the buffered outputs into a json object and return.

        So I think for dev trial perhaps it's okay to simply add a note saying the output will be a json string, and ask the client manually do `JSON.parse()` over the output. For OT we might want to parse and return the object on our side.

        Open in Gerrit

        Related details

        Attention is currently required from:
        • Devin Cabillo
        • Nathan Memmott
        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: I93f53ebb5d06c86a84a21f104b2e53ff78d8dedf
          Gerrit-Change-Number: 7568249
          Gerrit-PatchSet: 3
          Gerrit-Owner: Devin Cabillo <devinc...@google.com>
          Gerrit-Reviewer: Devin Cabillo <devinc...@google.com>
          Gerrit-CC: AI Code Reviewer <peep-gen...@system.gserviceaccount.com>
          Gerrit-CC: Jingyun Liu <jin...@google.com>
          Gerrit-CC: Kentaro Hara <har...@chromium.org>
          Gerrit-CC: Nathan Memmott <mem...@chromium.org>
          Gerrit-CC: Raphael Kubo da Costa <ku...@igalia.com>
          Gerrit-Attention: Nathan Memmott <mem...@chromium.org>
          Gerrit-Attention: Devin Cabillo <devinc...@google.com>
          Gerrit-Comment-Date: Thu, 12 Feb 2026 23:31:34 +0000
          Gerrit-HasComments: Yes
          Gerrit-Has-Labels: No
          satisfied_requirement
          unsatisfied_requirement
          open
          diffy

          Nathan Memmott (Gerrit)

          unread,
          Feb 12, 2026, 6:46:12 PMFeb 12
          to Devin Cabillo, Jingyun Liu, Chromium LUCI CQ, AI Code Reviewer, chromium...@chromium.org, Kentaro Hara, Raphael Kubo da Costa, blink-re...@chromium.org, blink-revie...@chromium.org, blink-...@chromium.org, ipc-securi...@chromium.org, jmedle...@chromium.org, kinuko...@chromium.org
          Attention needed from Devin Cabillo

          Nathan Memmott voted and added 5 comments

          Votes added by Nathan Memmott

          Code-Review+1

          5 comments

          Patchset-level comments
          Nathan Memmott . resolved

          It looks like you'll need to update webexposed/global-interface-listing-expected.txt to get the CQ to pass.

          File third_party/blink/public/mojom/ai/ai_taxonomizer.mojom
          Line 21, Patchset 3 (Latest):// Defined locally to avoid touching ai_manager.mojom for now
          Nathan Memmott . unresolved

          Nit: End sentences with punctuation here and elsewhere.

          Line 26, Patchset 3 (Latest): // `quota_error_info` may provide additional info for k an AITaxonomizer.
          Nathan Memmott . unresolved

          Nit: Copy mistake? Looks like others have this as `kInitialInputTooLarge`.

          File third_party/blink/renderer/modules/ai/taxonomizer.cc
          Line 35, Patchset 3 (Latest):// Availability currently set to unavailable.
          Nathan Memmott . unresolved

          Nit: Add a TODO here and for the other comments in this file that mark remaining work.

          File third_party/blink/renderer/modules/ai/taxonomizer.idl
          Nathan Memmott . unresolved

          Nit: Capitalize

          Related details

          Attention is currently required from:
          • Devin Cabillo
          Submit Requirements:
            • requirement satisfiedCode-Coverage
            • requirement is not 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: I93f53ebb5d06c86a84a21f104b2e53ff78d8dedf
            Gerrit-Change-Number: 7568249
            Gerrit-PatchSet: 3
            Gerrit-Owner: Devin Cabillo <devinc...@google.com>
            Gerrit-Reviewer: Devin Cabillo <devinc...@google.com>
            Gerrit-Reviewer: Nathan Memmott <mem...@chromium.org>
            Gerrit-CC: AI Code Reviewer <peep-gen...@system.gserviceaccount.com>
            Gerrit-CC: Jingyun Liu <jin...@google.com>
            Gerrit-CC: Kentaro Hara <har...@chromium.org>
            Gerrit-CC: Raphael Kubo da Costa <ku...@igalia.com>
            Gerrit-Attention: Devin Cabillo <devinc...@google.com>
            Gerrit-Comment-Date: Thu, 12 Feb 2026 23:46:04 +0000
            Gerrit-HasComments: Yes
            Gerrit-Has-Labels: Yes
            satisfied_requirement
            unsatisfied_requirement
            open
            diffy

            Jingyun Liu (Gerrit)

            unread,
            Feb 12, 2026, 6:54:40 PMFeb 12
            to Devin Cabillo, Nathan Memmott, Chromium LUCI CQ, AI Code Reviewer, chromium...@chromium.org, Kentaro Hara, Raphael Kubo da Costa, blink-re...@chromium.org, blink-revie...@chromium.org, blink-...@chromium.org, ipc-securi...@chromium.org, jmedle...@chromium.org, kinuko...@chromium.org
            Attention needed from Devin Cabillo

            Jingyun Liu added 1 comment

            File third_party/blink/public/mojom/ai/ai_taxonomizer.mojom
            Line 14, Patchset 3 (Latest):struct AITaxonomizerCreateOptions {
            Jingyun Liu . unresolved

            if you're adding this file, might as well update third_party/blink/public/mojom/ai/ai_manager.mojom to include CanCreateTaxonomizer and CreateTaxonomizer.

            Gerrit-Comment-Date: Thu, 12 Feb 2026 23:54:28 +0000
            Gerrit-HasComments: Yes
            Gerrit-Has-Labels: No
            satisfied_requirement
            unsatisfied_requirement
            open
            diffy

            Devin Cabillo (Gerrit)

            unread,
            Feb 18, 2026, 1:24:16 PMFeb 18
            to Nathan Memmott, Jingyun Liu, Chromium LUCI CQ, AI Code Reviewer, chromium...@chromium.org, Kentaro Hara, Raphael Kubo da Costa, blink-re...@chromium.org, blink-revie...@chromium.org, blink-...@chromium.org, ipc-securi...@chromium.org, jmedle...@chromium.org, kinuko...@chromium.org
            Attention needed from Jingyun Liu and Nathan Memmott

            Devin Cabillo added 9 comments

            File third_party/blink/public/mojom/ai/ai_taxonomizer.mojom
            Line 14, Patchset 3:struct AITaxonomizerCreateOptions {
            Jingyun Liu . resolved

            if you're adding this file, might as well update third_party/blink/public/mojom/ai/ai_manager.mojom to include CanCreateTaxonomizer and CreateTaxonomizer.

            Devin Cabillo

            I am not doing that in the scope of this cl since that would trigger tests that require the browser side code.

            Line 21, Patchset 3:// Defined locally to avoid touching ai_manager.mojom for now
            Nathan Memmott . resolved

            Nit: End sentences with punctuation here and elsewhere.

            Devin Cabillo

            Done

            Line 26, Patchset 3: // `quota_error_info` may provide additional info for k an AITaxonomizer.
            Nathan Memmott . resolved

            Nit: Copy mistake? Looks like others have this as `kInitialInputTooLarge`.

            Devin Cabillo

            Done

            File third_party/blink/renderer/modules/ai/taxonomizer.cc
            Line 35, Patchset 3:// Availability currently set to unavailable.
            Nathan Memmott . resolved

            Nit: Add a TODO here and for the other comments in this file that mark remaining work.

            Devin Cabillo

            Done

            Line 46, Patchset 3:// Return kWriter to avoid modifying ai_metrics.h (renderer-only hack)
            Jingyun Liu . resolved

            nit: since you're reusing stuff from other API, can you add a TODO here and in GetPermissionsPolicy, so we don't forget later to update those?

            Devin Cabillo

            Done

            File third_party/blink/renderer/modules/ai/taxonomizer.idl
            Line 8, Patchset 3:dictionary TaxonomizerCreateCoreOptions {

            sequence<DOMString> expectedInputLanguages;
            sequence<DOMString> expectedContextLanguages;
            DOMString outputLanguage;
            };
            Jingyun Liu . resolved

            let's remove these and keep options minimal since we're unclear what this API will look like in the future?

            For now we only need CreateOptions with ` AbortSignal signal; CreateMonitorCallback monitor;` ( sharedContext might be needed in the next iteration so it's okay to keep, as long as we know it's not actually implemented yet)

            Devin Cabillo

            Since we are currently using the AIWritingAssistantBase, all of these createOptions are necessary for creating a Taxonomizer instance.

            Line 17, Patchset 3: DOMString sharedContext;
            Jingyun Liu . resolved

            nit: sharedContext and context are not needed for dev trial. Maybe it's clearer if we don't include them in the *Options at all (vs. declare them but acutally no-op)

            Devin Cabillo

            Acknowledged

            Line 30, Patchset 3:// TODO(crbug.com/484080220): create api metrics.
            Nathan Memmott . resolved

            Nit: Capitalize

            Devin Cabillo

            Done

            Line 50, Patchset 3: Promise<DOMString> categorize(
            Jingyun Liu . resolved
            the output would be an array of structured output. e.g,
            ```
            [
            { id: "602", confidence: 0.98 }, // Represents "Consumer Electronics"
            { id: "597", confidence: 0.95 }, // Represents "Technology & Computing"
            { id: "45", confidence: 0.82 } // Represents "Automotive"
            ]
            ```

            But that requires some work on the ModelStreamingResponder to parse the buffered outputs into a json object and return.

            So I think for dev trial perhaps it's okay to simply add a note saying the output will be a json string, and ask the client manually do `JSON.parse()` over the output. For OT we might want to parse and return the object on our side.

            Devin Cabillo

            Acknowledged

            Open in Gerrit

            Related details

            Attention is currently required from:
            • Jingyun Liu
            • Nathan Memmott
            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: I93f53ebb5d06c86a84a21f104b2e53ff78d8dedf
              Gerrit-Change-Number: 7568249
              Gerrit-PatchSet: 4
              Gerrit-Owner: Devin Cabillo <devinc...@google.com>
              Gerrit-Reviewer: Devin Cabillo <devinc...@google.com>
              Gerrit-Reviewer: Nathan Memmott <mem...@chromium.org>
              Gerrit-CC: AI Code Reviewer <peep-gen...@system.gserviceaccount.com>
              Gerrit-CC: Jingyun Liu <jin...@google.com>
              Gerrit-CC: Kentaro Hara <har...@chromium.org>
              Gerrit-CC: Raphael Kubo da Costa <ku...@igalia.com>
              Gerrit-Attention: Nathan Memmott <mem...@chromium.org>
              Gerrit-Attention: Jingyun Liu <jin...@google.com>
              Gerrit-Comment-Date: Wed, 18 Feb 2026 18:24:07 +0000
              Gerrit-HasComments: Yes
              Gerrit-Has-Labels: No
              Comment-In-Reply-To: Nathan Memmott <mem...@chromium.org>
              Comment-In-Reply-To: Jingyun Liu <jin...@google.com>
              satisfied_requirement
              unsatisfied_requirement
              open
              diffy

              Nathan Memmott (Gerrit)

              unread,
              Feb 18, 2026, 2:12:14 PMFeb 18
              to Devin Cabillo, Jingyun Liu, Chromium LUCI CQ, AI Code Reviewer, chromium...@chromium.org, Kentaro Hara, Raphael Kubo da Costa, blink-re...@chromium.org, blink-revie...@chromium.org, blink-...@chromium.org, ipc-securi...@chromium.org, jmedle...@chromium.org, kinuko...@chromium.org
              Attention needed from Devin Cabillo and Jingyun Liu

              Nathan Memmott added 3 comments

              File third_party/blink/renderer/modules/ai/taxonomizer.cc
              Line 35, Patchset 4 (Latest):// Availability currently set to unavailable.
              Nathan Memmott . unresolved

              Nit: This comment would be removed once the TODO below is resolved, so we don't need it.

              The TODO is also inaccurate since our goal isn't to set it to available, it's to report the correct availability status.

              Similarly for the permissions TODO below.

              File third_party/blink/renderer/modules/ai/taxonomizer.idl
              Line 8, Patchset 3:dictionary TaxonomizerCreateCoreOptions {
              sequence<DOMString> expectedInputLanguages;
              sequence<DOMString> expectedContextLanguages;
              DOMString outputLanguage;
              };
              Jingyun Liu . unresolved

              let's remove these and keep options minimal since we're unclear what this API will look like in the future?

              For now we only need CreateOptions with ` AbortSignal signal; CreateMonitorCallback monitor;` ( sharedContext might be needed in the next iteration so it's okay to keep, as long as we know it's not actually implemented yet)

              Devin Cabillo

              Since we are currently using the AIWritingAssistantBase, all of these createOptions are necessary for creating a Taxonomizer instance.

              Nathan Memmott

              Hmm then that might mean that we shouldn't be using the `AIWritingAssistantBase` or we need to revise it so that these aren't required.

              Line 17, Patchset 3: DOMString sharedContext;
              Jingyun Liu . unresolved

              nit: sharedContext and context are not needed for dev trial. Maybe it's clearer if we don't include them in the *Options at all (vs. declare them but acutally no-op)

              Devin Cabillo

              Acknowledged

              Nathan Memmott

              Can you address this comment? I think it would make sense to remove it as well.

              Open in Gerrit

              Related details

              Attention is currently required from:
              • Devin Cabillo
              • Jingyun Liu
              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: I93f53ebb5d06c86a84a21f104b2e53ff78d8dedf
                Gerrit-Change-Number: 7568249
                Gerrit-PatchSet: 4
                Gerrit-Owner: Devin Cabillo <devinc...@google.com>
                Gerrit-Reviewer: Devin Cabillo <devinc...@google.com>
                Gerrit-Reviewer: Nathan Memmott <mem...@chromium.org>
                Gerrit-CC: AI Code Reviewer <peep-gen...@system.gserviceaccount.com>
                Gerrit-CC: Jingyun Liu <jin...@google.com>
                Gerrit-CC: Kentaro Hara <har...@chromium.org>
                Gerrit-CC: Raphael Kubo da Costa <ku...@igalia.com>
                Gerrit-Attention: Jingyun Liu <jin...@google.com>
                Gerrit-Attention: Devin Cabillo <devinc...@google.com>
                Gerrit-Comment-Date: Wed, 18 Feb 2026 19:12:03 +0000
                Gerrit-HasComments: Yes
                Gerrit-Has-Labels: No
                Comment-In-Reply-To: Jingyun Liu <jin...@google.com>
                Comment-In-Reply-To: Devin Cabillo <devinc...@google.com>
                satisfied_requirement
                unsatisfied_requirement
                open
                diffy

                Devin Cabillo (Gerrit)

                unread,
                Feb 18, 2026, 2:16:36 PMFeb 18
                to Nathan Memmott, Jingyun Liu, Chromium LUCI CQ, AI Code Reviewer, chromium...@chromium.org, Kentaro Hara, Raphael Kubo da Costa, blink-re...@chromium.org, blink-revie...@chromium.org, blink-...@chromium.org, ipc-securi...@chromium.org, jmedle...@chromium.org, kinuko...@chromium.org
                Attention needed from Jingyun Liu and Nathan Memmott

                Devin Cabillo added 1 comment

                File third_party/blink/renderer/modules/ai/taxonomizer.idl
                Line 17, Patchset 3: DOMString sharedContext;
                Jingyun Liu . unresolved

                nit: sharedContext and context are not needed for dev trial. Maybe it's clearer if we don't include them in the *Options at all (vs. declare them but acutally no-op)

                Devin Cabillo

                Acknowledged

                Nathan Memmott

                Can you address this comment? I think it would make sense to remove it as well.

                Devin Cabillo

                It is the same as the comment above. It is required if we are using the AIWritingAssistantBase

                Open in Gerrit

                Related details

                Attention is currently required from:
                • Jingyun Liu
                • Nathan Memmott
                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: I93f53ebb5d06c86a84a21f104b2e53ff78d8dedf
                Gerrit-Change-Number: 7568249
                Gerrit-PatchSet: 4
                Gerrit-Owner: Devin Cabillo <devinc...@google.com>
                Gerrit-Reviewer: Devin Cabillo <devinc...@google.com>
                Gerrit-Reviewer: Nathan Memmott <mem...@chromium.org>
                Gerrit-CC: AI Code Reviewer <peep-gen...@system.gserviceaccount.com>
                Gerrit-CC: Jingyun Liu <jin...@google.com>
                Gerrit-CC: Kentaro Hara <har...@chromium.org>
                Gerrit-CC: Raphael Kubo da Costa <ku...@igalia.com>
                Gerrit-Attention: Nathan Memmott <mem...@chromium.org>
                Gerrit-Attention: Jingyun Liu <jin...@google.com>
                Gerrit-Comment-Date: Wed, 18 Feb 2026 19:16:25 +0000
                Gerrit-HasComments: Yes
                Gerrit-Has-Labels: No
                Comment-In-Reply-To: Nathan Memmott <mem...@chromium.org>
                satisfied_requirement
                unsatisfied_requirement
                open
                diffy

                Jingyun Liu (Gerrit)

                unread,
                Feb 18, 2026, 4:02:02 PMFeb 18
                to Devin Cabillo, Nathan Memmott, Chromium LUCI CQ, AI Code Reviewer, chromium...@chromium.org, Kentaro Hara, Raphael Kubo da Costa, blink-re...@chromium.org, blink-revie...@chromium.org, blink-...@chromium.org, ipc-securi...@chromium.org, jmedle...@chromium.org, kinuko...@chromium.org
                Attention needed from Devin Cabillo and Nathan Memmott

                Jingyun Liu added 1 comment

                File third_party/blink/renderer/modules/ai/taxonomizer.idl
                Line 17, Patchset 3: DOMString sharedContext;
                Jingyun Liu . unresolved

                nit: sharedContext and context are not needed for dev trial. Maybe it's clearer if we don't include them in the *Options at all (vs. declare them but acutally no-op)

                Devin Cabillo

                Acknowledged

                Nathan Memmott

                Can you address this comment? I think it would make sense to remove it as well.

                Devin Cabillo

                It is the same as the comment above. It is required if we are using the AIWritingAssistantBase

                Jingyun Liu

                hmm now I'm starting to wonder if we should stick to WritingAssistantBase at all.

                Alternatively, we could do smth similar to what [Proofreader](https://crsrc.org/c/third_party/blink/public/mojom/ai/ai_proofreader.mojom?q=third_party%2Fblink%2Fpublic%2Fmojom%2Fai%2Fai_proofreader.mojom&ss=chromium%2Fchromium%2Fsrc) does (still uses streamResponder, [parse text into dict in blink](https://crsrc.org/c/third_party/blink/renderer/modules/ai/proofreader.cc;drc=9014449dead52c636db6ca4a4e5b8a62be883e45;l=540), and doesn't use WritingAssistantBase)

                Open in Gerrit

                Related details

                Attention is currently required from:
                • Devin Cabillo
                • Nathan Memmott
                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: I93f53ebb5d06c86a84a21f104b2e53ff78d8dedf
                Gerrit-Change-Number: 7568249
                Gerrit-PatchSet: 6
                Gerrit-Owner: Devin Cabillo <devinc...@google.com>
                Gerrit-Reviewer: Devin Cabillo <devinc...@google.com>
                Gerrit-Reviewer: Nathan Memmott <mem...@chromium.org>
                Gerrit-CC: AI Code Reviewer <peep-gen...@system.gserviceaccount.com>
                Gerrit-CC: Jingyun Liu <jin...@google.com>
                Gerrit-CC: Kentaro Hara <har...@chromium.org>
                Gerrit-CC: Raphael Kubo da Costa <ku...@igalia.com>
                Gerrit-Attention: Nathan Memmott <mem...@chromium.org>
                Gerrit-Attention: Devin Cabillo <devinc...@google.com>
                Gerrit-Comment-Date: Wed, 18 Feb 2026 21:01:53 +0000
                satisfied_requirement
                unsatisfied_requirement
                open
                diffy

                Jingyun Liu (Gerrit)

                unread,
                Feb 18, 2026, 4:19:29 PMFeb 18
                to Devin Cabillo, Nathan Memmott, Chromium LUCI CQ, AI Code Reviewer, chromium...@chromium.org, Kentaro Hara, Raphael Kubo da Costa, blink-re...@chromium.org, blink-revie...@chromium.org, blink-...@chromium.org, ipc-securi...@chromium.org, jmedle...@chromium.org, kinuko...@chromium.org
                Attention needed from Devin Cabillo and Nathan Memmott

                Jingyun Liu added 1 comment

                File third_party/blink/renderer/modules/ai/taxonomizer.idl
                Line 8, Patchset 3:dictionary TaxonomizerCreateCoreOptions {
                sequence<DOMString> expectedInputLanguages;
                sequence<DOMString> expectedContextLanguages;
                DOMString outputLanguage;
                };
                Jingyun Liu . unresolved

                let's remove these and keep options minimal since we're unclear what this API will look like in the future?

                For now we only need CreateOptions with ` AbortSignal signal; CreateMonitorCallback monitor;` ( sharedContext might be needed in the next iteration so it's okay to keep, as long as we know it's not actually implemented yet)

                Devin Cabillo

                Since we are currently using the AIWritingAssistantBase, all of these createOptions are necessary for creating a Taxonomizer instance.

                Nathan Memmott

                Hmm then that might mean that we shouldn't be using the `AIWritingAssistantBase` or we need to revise it so that these aren't required.

                Jingyun Liu

                +1, we could start with not using it, then if after dev trial or OT we need to support those common parameters/functionalities, we can come back and refactor WritingAssistantBase to support taxonomy.

                `AIWritingAssistanceCreateClient` and `CreateModelExecutionResponder` can still be reused I think.

                Gerrit-Comment-Date: Wed, 18 Feb 2026 21:19:20 +0000
                satisfied_requirement
                unsatisfied_requirement
                open
                diffy

                Devin Cabillo (Gerrit)

                unread,
                Feb 18, 2026, 5:56:11 PMFeb 18
                to Nathan Memmott, Jingyun Liu, Chromium LUCI CQ, AI Code Reviewer, chromium...@chromium.org, Kentaro Hara, Raphael Kubo da Costa, blink-re...@chromium.org, blink-revie...@chromium.org, blink-...@chromium.org, ipc-securi...@chromium.org, jmedle...@chromium.org, kinuko...@chromium.org
                Attention needed from Jingyun Liu and Nathan Memmott

                Devin Cabillo added 3 comments

                File third_party/blink/renderer/modules/ai/taxonomizer.cc
                Line 35, Patchset 4:// Availability currently set to unavailable.
                Nathan Memmott . resolved

                Nit: This comment would be removed once the TODO below is resolved, so we don't need it.

                The TODO is also inaccurate since our goal isn't to set it to available, it's to report the correct availability status.

                Similarly for the permissions TODO below.

                Devin Cabillo

                Done

                File third_party/blink/renderer/modules/ai/taxonomizer.idl
                Line 8, Patchset 3:dictionary TaxonomizerCreateCoreOptions {
                sequence<DOMString> expectedInputLanguages;
                sequence<DOMString> expectedContextLanguages;
                DOMString outputLanguage;
                };
                Jingyun Liu . unresolved

                let's remove these and keep options minimal since we're unclear what this API will look like in the future?

                For now we only need CreateOptions with ` AbortSignal signal; CreateMonitorCallback monitor;` ( sharedContext might be needed in the next iteration so it's okay to keep, as long as we know it's not actually implemented yet)

                Devin Cabillo

                Since we are currently using the AIWritingAssistantBase, all of these createOptions are necessary for creating a Taxonomizer instance.

                Nathan Memmott

                Hmm then that might mean that we shouldn't be using the `AIWritingAssistantBase` or we need to revise it so that these aren't required.

                Jingyun Liu

                +1, we could start with not using it, then if after dev trial or OT we need to support those common parameters/functionalities, we can come back and refactor WritingAssistantBase to support taxonomy.

                `AIWritingAssistanceCreateClient` and `CreateModelExecutionResponder` can still be reused I think.

                Devin Cabillo

                What is your opinion of the new changes? I was able to take out the unnecessary language configurations and stub out the core options for the AIWritingAssistant template

                Line 17, Patchset 3: DOMString sharedContext;
                Jingyun Liu . unresolved

                nit: sharedContext and context are not needed for dev trial. Maybe it's clearer if we don't include them in the *Options at all (vs. declare them but acutally no-op)

                Devin Cabillo

                Acknowledged

                Nathan Memmott

                Can you address this comment? I think it would make sense to remove it as well.

                Devin Cabillo

                It is the same as the comment above. It is required if we are using the AIWritingAssistantBase

                Jingyun Liu

                hmm now I'm starting to wonder if we should stick to WritingAssistantBase at all.

                Alternatively, we could do smth similar to what [Proofreader](https://crsrc.org/c/third_party/blink/public/mojom/ai/ai_proofreader.mojom?q=third_party%2Fblink%2Fpublic%2Fmojom%2Fai%2Fai_proofreader.mojom&ss=chromium%2Fchromium%2Fsrc) does (still uses streamResponder, [parse text into dict in blink](https://crsrc.org/c/third_party/blink/renderer/modules/ai/proofreader.cc;drc=9014449dead52c636db6ca4a4e5b8a62be883e45;l=540), and doesn't use WritingAssistantBase)

                Devin Cabillo

                I was able to remove unnecessary options

                Open in Gerrit

                Related details

                Attention is currently required from:
                • Jingyun Liu
                • Nathan Memmott
                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: I93f53ebb5d06c86a84a21f104b2e53ff78d8dedf
                Gerrit-Change-Number: 7568249
                Gerrit-PatchSet: 7
                Gerrit-Owner: Devin Cabillo <devinc...@google.com>
                Gerrit-Reviewer: Devin Cabillo <devinc...@google.com>
                Gerrit-Reviewer: Nathan Memmott <mem...@chromium.org>
                Gerrit-CC: AI Code Reviewer <peep-gen...@system.gserviceaccount.com>
                Gerrit-CC: Jingyun Liu <jin...@google.com>
                Gerrit-CC: Kentaro Hara <har...@chromium.org>
                Gerrit-CC: Raphael Kubo da Costa <ku...@igalia.com>
                Gerrit-Attention: Nathan Memmott <mem...@chromium.org>
                Gerrit-Attention: Jingyun Liu <jin...@google.com>
                Gerrit-Comment-Date: Wed, 18 Feb 2026 22:56:01 +0000
                satisfied_requirement
                unsatisfied_requirement
                open
                diffy

                Jingyun Liu (Gerrit)

                unread,
                Feb 19, 2026, 12:42:39 PMFeb 19
                to Devin Cabillo, Nathan Memmott, Chromium LUCI CQ, AI Code Reviewer, chromium...@chromium.org, Kentaro Hara, Raphael Kubo da Costa, blink-re...@chromium.org, blink-revie...@chromium.org, blink-...@chromium.org, ipc-securi...@chromium.org, jmedle...@chromium.org, kinuko...@chromium.org
                Attention needed from Devin Cabillo and Nathan Memmott

                Jingyun Liu added 3 comments

                Patchset-level comments
                File-level comment, Patchset 7 (Latest):
                Jingyun Liu . unresolved

                thank you! lgtm, minus the extra blink mojo options,

                RE API renaming (https://github.com/explainers-by-googlers/taxonomy-api/issues/4)
                once confirmed with Kenji i think we can s/taxonomizer/classifier everywhere including the filenames?

                File third_party/blink/public/mojom/ai/ai_taxonomizer.mojom
                Line 15, Patchset 7 (Latest): string? shared_context;
                array<AILanguageCode> expected_input_languages;
                array<AILanguageCode> expected_context_languages;
                Jingyun Liu . unresolved

                do we still need these, now that they're removed from IDL?

                File third_party/blink/renderer/modules/ai/taxonomizer.idl
                Line 17, Patchset 3: DOMString sharedContext;
                Jingyun Liu . resolved

                nit: sharedContext and context are not needed for dev trial. Maybe it's clearer if we don't include them in the *Options at all (vs. declare them but acutally no-op)

                Devin Cabillo

                Acknowledged

                Nathan Memmott

                Can you address this comment? I think it would make sense to remove it as well.

                Devin Cabillo

                It is the same as the comment above. It is required if we are using the AIWritingAssistantBase

                Jingyun Liu

                hmm now I'm starting to wonder if we should stick to WritingAssistantBase at all.

                Alternatively, we could do smth similar to what [Proofreader](https://crsrc.org/c/third_party/blink/public/mojom/ai/ai_proofreader.mojom?q=third_party%2Fblink%2Fpublic%2Fmojom%2Fai%2Fai_proofreader.mojom&ss=chromium%2Fchromium%2Fsrc) does (still uses streamResponder, [parse text into dict in blink](https://crsrc.org/c/third_party/blink/renderer/modules/ai/proofreader.cc;drc=9014449dead52c636db6ca4a4e5b8a62be883e45;l=540), and doesn't use WritingAssistantBase)

                Devin Cabillo

                I was able to remove unnecessary options

                Jingyun Liu

                Thanks, lgtm then!

                Open in Gerrit

                Related details

                Attention is currently required from:
                • Devin Cabillo
                • Nathan Memmott
                Gerrit-Attention: Devin Cabillo <devinc...@google.com>
                Gerrit-Comment-Date: Thu, 19 Feb 2026 17:42:21 +0000
                satisfied_requirement
                unsatisfied_requirement
                open
                diffy

                Nathan Memmott (Gerrit)

                unread,
                Feb 19, 2026, 1:30:04 PMFeb 19
                to Devin Cabillo, Jingyun Liu, Chromium LUCI CQ, AI Code Reviewer, chromium...@chromium.org, Kentaro Hara, Raphael Kubo da Costa, blink-re...@chromium.org, blink-revie...@chromium.org, blink-...@chromium.org, ipc-securi...@chromium.org, jmedle...@chromium.org, kinuko...@chromium.org
                Attention needed from Devin Cabillo

                Nathan Memmott added 7 comments

                File third_party/blink/renderer/modules/ai/taxonomizer.h
                Line 23, Patchset 7 (Latest):class MODULES_EXPORT Taxonomizer final
                Nathan Memmott . unresolved

                Why is this needed?

                File third_party/blink/renderer/modules/ai/taxonomizer.cc
                Line 83, Patchset 7 (Latest): TaxonomizerCreateCoreOptionsStub* unused_options,
                Line 95, Patchset 7 (Latest): if (!execution_context->IsFeatureEnabled(GetPermissionsPolicy())) {
                Nathan Memmott . unresolved

                Add `// Return unavailable if the Permission Policy is not enabled.` back.

                Line 146, Patchset 7 (Latest): if (!execution_context->IsFeatureEnabled(GetPermissionsPolicy())) {
                Nathan Memmott . unresolved

                Add back comment `// Block access if the Permission Policy is not enabled.`

                File third_party/blink/renderer/modules/ai/taxonomizer.idl
                Line 19, Patchset 7 (Latest): Exposed=(Window,Worker),
                Nathan Memmott . unresolved

                Remove Worker.

                Line 30, Patchset 7 (Latest): optional TaxonomizerCreateOptions options = {}
                Nathan Memmott . unresolved

                I would just get rid of `options` altogether. We don't want to pass `TaxonomizerCreateOptions` cause it has an abort signal which allows you to abort the operation, and a monitor which tracks the download progress. Neither apply to checking availability.

                File third_party/blink/web_tests/webexposed/global-interface-listing-expected.txt
                Open in Gerrit

                Related details

                Attention is currently required from:
                • Devin Cabillo
                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: I93f53ebb5d06c86a84a21f104b2e53ff78d8dedf
                Gerrit-Change-Number: 7568249
                Gerrit-PatchSet: 7
                Gerrit-Owner: Devin Cabillo <devinc...@google.com>
                Gerrit-Reviewer: Devin Cabillo <devinc...@google.com>
                Gerrit-Reviewer: Nathan Memmott <mem...@chromium.org>
                Gerrit-CC: AI Code Reviewer <peep-gen...@system.gserviceaccount.com>
                Gerrit-CC: Jingyun Liu <jin...@google.com>
                Gerrit-CC: Kentaro Hara <har...@chromium.org>
                Gerrit-CC: Raphael Kubo da Costa <ku...@igalia.com>
                Gerrit-Attention: Devin Cabillo <devinc...@google.com>
                Gerrit-Comment-Date: Thu, 19 Feb 2026 18:29:54 +0000
                Gerrit-HasComments: Yes
                Gerrit-Has-Labels: No
                satisfied_requirement
                unsatisfied_requirement
                open
                diffy

                Devin Cabillo (Gerrit)

                unread,
                Feb 20, 2026, 5:43:58 PMFeb 20
                to Nathan Memmott, Jingyun Liu, Chromium LUCI CQ, AI Code Reviewer, chromium...@chromium.org, Kentaro Hara, Raphael Kubo da Costa, blink-re...@chromium.org, blink-revie...@chromium.org, blink-...@chromium.org, ipc-securi...@chromium.org, jmedle...@chromium.org, kinuko...@chromium.org
                Attention needed from Jingyun Liu and Nathan Memmott

                Devin Cabillo added 8 comments

                File third_party/blink/public/mojom/ai/ai_taxonomizer.mojom
                Line 15, Patchset 7: string? shared_context;

                array<AILanguageCode> expected_input_languages;
                array<AILanguageCode> expected_context_languages;
                Jingyun Liu . resolved

                do we still need these, now that they're removed from IDL?

                Devin Cabillo

                Done

                File third_party/blink/renderer/modules/ai/taxonomizer.h
                Line 23, Patchset 7:class MODULES_EXPORT Taxonomizer final
                Nathan Memmott . resolved

                Why is this needed?

                Devin Cabillo

                Done

                File third_party/blink/renderer/modules/ai/taxonomizer.cc
                Line 83, Patchset 7: TaxonomizerCreateCoreOptionsStub* unused_options,
                Nathan Memmott . resolved
                Devin Cabillo

                Done

                Line 95, Patchset 7: if (!execution_context->IsFeatureEnabled(GetPermissionsPolicy())) {
                Nathan Memmott . resolved

                Add `// Return unavailable if the Permission Policy is not enabled.` back.

                Devin Cabillo

                Done

                Line 146, Patchset 7: if (!execution_context->IsFeatureEnabled(GetPermissionsPolicy())) {
                Nathan Memmott . resolved

                Add back comment `// Block access if the Permission Policy is not enabled.`

                Devin Cabillo

                Done

                File third_party/blink/renderer/modules/ai/taxonomizer.idl
                Line 19, Patchset 7: Exposed=(Window,Worker),
                Nathan Memmott . resolved

                Remove Worker.

                Devin Cabillo

                Done

                Line 30, Patchset 7: optional TaxonomizerCreateOptions options = {}
                Nathan Memmott . resolved

                I would just get rid of `options` altogether. We don't want to pass `TaxonomizerCreateOptions` cause it has an abort signal which allows you to abort the operation, and a monitor which tracks the download progress. Neither apply to checking availability.

                Devin Cabillo

                Done

                File third_party/blink/web_tests/webexposed/global-interface-listing-expected.txt
                Open in Gerrit

                Related details

                Attention is currently required from:
                • Jingyun Liu
                • Nathan Memmott
                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: I93f53ebb5d06c86a84a21f104b2e53ff78d8dedf
                Gerrit-Change-Number: 7568249
                Gerrit-PatchSet: 9
                Gerrit-Owner: Devin Cabillo <devinc...@google.com>
                Gerrit-Reviewer: Devin Cabillo <devinc...@google.com>
                Gerrit-Reviewer: Nathan Memmott <mem...@chromium.org>
                Gerrit-CC: AI Code Reviewer <peep-gen...@system.gserviceaccount.com>
                Gerrit-CC: Jingyun Liu <jin...@google.com>
                Gerrit-CC: Kentaro Hara <har...@chromium.org>
                Gerrit-CC: Raphael Kubo da Costa <ku...@igalia.com>
                Gerrit-Attention: Nathan Memmott <mem...@chromium.org>
                Gerrit-Attention: Jingyun Liu <jin...@google.com>
                Gerrit-Comment-Date: Fri, 20 Feb 2026 22:43:51 +0000
                Gerrit-HasComments: Yes
                Gerrit-Has-Labels: No
                satisfied_requirement
                unsatisfied_requirement
                open
                diffy

                Devin Cabillo (Gerrit)

                unread,
                Feb 20, 2026, 5:44:11 PMFeb 20
                to Nathan Memmott, Jingyun Liu, Chromium LUCI CQ, AI Code Reviewer, chromium...@chromium.org, Kentaro Hara, Raphael Kubo da Costa, blink-re...@chromium.org, blink-revie...@chromium.org, blink-...@chromium.org, ipc-securi...@chromium.org, jmedle...@chromium.org, kinuko...@chromium.org
                Attention needed from Jingyun Liu and Nathan Memmott

                Devin Cabillo added 2 comments

                Patchset-level comments
                File-level comment, Patchset 7:
                Jingyun Liu . resolved

                thank you! lgtm, minus the extra blink mojo options,

                RE API renaming (https://github.com/explainers-by-googlers/taxonomy-api/issues/4)
                once confirmed with Kenji i think we can s/taxonomizer/classifier everywhere including the filenames?

                Devin Cabillo

                Done

                File third_party/blink/renderer/modules/ai/taxonomizer.idl
                Line 8, Patchset 3:dictionary TaxonomizerCreateCoreOptions {
                sequence<DOMString> expectedInputLanguages;
                sequence<DOMString> expectedContextLanguages;
                DOMString outputLanguage;
                };
                Jingyun Liu . resolved

                let's remove these and keep options minimal since we're unclear what this API will look like in the future?

                For now we only need CreateOptions with ` AbortSignal signal; CreateMonitorCallback monitor;` ( sharedContext might be needed in the next iteration so it's okay to keep, as long as we know it's not actually implemented yet)

                Devin Cabillo

                Since we are currently using the AIWritingAssistantBase, all of these createOptions are necessary for creating a Taxonomizer instance.

                Nathan Memmott

                Hmm then that might mean that we shouldn't be using the `AIWritingAssistantBase` or we need to revise it so that these aren't required.

                Jingyun Liu

                +1, we could start with not using it, then if after dev trial or OT we need to support those common parameters/functionalities, we can come back and refactor WritingAssistantBase to support taxonomy.

                `AIWritingAssistanceCreateClient` and `CreateModelExecutionResponder` can still be reused I think.

                Devin Cabillo

                What is your opinion of the new changes? I was able to take out the unnecessary language configurations and stub out the core options for the AIWritingAssistant template

                Devin Cabillo

                Done

                Open in Gerrit

                Related details

                Attention is currently required from:
                • Jingyun Liu
                • Nathan Memmott
                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: I93f53ebb5d06c86a84a21f104b2e53ff78d8dedf
                  Gerrit-Change-Number: 7568249
                  Gerrit-PatchSet: 9
                  Gerrit-Owner: Devin Cabillo <devinc...@google.com>
                  Gerrit-Reviewer: Devin Cabillo <devinc...@google.com>
                  Gerrit-Reviewer: Nathan Memmott <mem...@chromium.org>
                  Gerrit-CC: AI Code Reviewer <peep-gen...@system.gserviceaccount.com>
                  Gerrit-CC: Jingyun Liu <jin...@google.com>
                  Gerrit-CC: Kentaro Hara <har...@chromium.org>
                  Gerrit-CC: Raphael Kubo da Costa <ku...@igalia.com>
                  Gerrit-Attention: Nathan Memmott <mem...@chromium.org>
                  Gerrit-Attention: Jingyun Liu <jin...@google.com>
                  Gerrit-Comment-Date: Fri, 20 Feb 2026 22:44:04 +0000
                  Gerrit-HasComments: Yes
                  Gerrit-Has-Labels: No
                  Comment-In-Reply-To: Nathan Memmott <mem...@chromium.org>
                  Comment-In-Reply-To: Jingyun Liu <jin...@google.com>
                  Comment-In-Reply-To: Devin Cabillo <devinc...@google.com>
                  satisfied_requirement
                  unsatisfied_requirement
                  open
                  diffy

                  Nathan Memmott (Gerrit)

                  unread,
                  Feb 20, 2026, 5:58:33 PMFeb 20
                  to Devin Cabillo, Jingyun Liu, Chromium LUCI CQ, AI Code Reviewer, chromium...@chromium.org, Kentaro Hara, Raphael Kubo da Costa, blink-re...@chromium.org, blink-revie...@chromium.org, blink-...@chromium.org, ipc-securi...@chromium.org, jmedle...@chromium.org, kinuko...@chromium.org
                  Attention needed from Devin Cabillo and Jingyun Liu

                  Nathan Memmott voted and added 1 comment

                  Votes added by Nathan Memmott

                  Code-Review+1

                  1 comment

                  Patchset-level comments
                  File-level comment, Patchset 9 (Latest):
                  Nathan Memmott . resolved

                  LGTM Thank you!

                  Open in Gerrit

                  Related details

                  Attention is currently required from:
                  • Devin Cabillo
                  • Jingyun Liu
                  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: I93f53ebb5d06c86a84a21f104b2e53ff78d8dedf
                    Gerrit-Change-Number: 7568249
                    Gerrit-PatchSet: 9
                    Gerrit-Owner: Devin Cabillo <devinc...@google.com>
                    Gerrit-Reviewer: Devin Cabillo <devinc...@google.com>
                    Gerrit-Reviewer: Nathan Memmott <mem...@chromium.org>
                    Gerrit-CC: AI Code Reviewer <peep-gen...@system.gserviceaccount.com>
                    Gerrit-CC: Jingyun Liu <jin...@google.com>
                    Gerrit-CC: Kentaro Hara <har...@chromium.org>
                    Gerrit-CC: Raphael Kubo da Costa <ku...@igalia.com>
                    Gerrit-Attention: Jingyun Liu <jin...@google.com>
                    Gerrit-Attention: Devin Cabillo <devinc...@google.com>
                    Gerrit-Comment-Date: Fri, 20 Feb 2026 22:58:25 +0000
                    Gerrit-HasComments: Yes
                    Gerrit-Has-Labels: Yes
                    satisfied_requirement
                    unsatisfied_requirement
                    open
                    diffy

                    Nathan Memmott (Gerrit)

                    unread,
                    Feb 23, 2026, 8:04:19 PMFeb 23
                    to Devin Cabillo, Jerome Jiang, Mirko Bonadei, AyeAye, Jingyun Liu, Chromium LUCI CQ, AI Code Reviewer, chromium...@chromium.org, Kentaro Hara, Raphael Kubo da Costa, cblume...@chromium.org, jz...@chromium.org, mar...@chromium.org, browser-comp...@chromium.org, feature-me...@chromium.org, chromotin...@chromium.org, fgal...@chromium.org, devtools...@chromium.org, chrome-intelligence-te...@google.com, penghuan...@chromium.org, grt+...@chromium.org, net-r...@chromium.org, fuzzin...@chromium.org, chrome-intell...@chromium.org, blink-revie...@chromium.org, blink-re...@chromium.org, blink-revie...@chromium.org, blink-...@chromium.org, ipc-securi...@chromium.org, jmedle...@chromium.org, kinuko...@chromium.org
                    Attention needed from Devin Cabillo and Jingyun Liu

                    Nathan Memmott added 5 comments

                    File third_party/blink/web_tests/external/wpt/ai/classifier/classifier-availability.tentative.https.window.js
                    Line 10, Patchset 14 (Latest): assert_equals(availability, 'unavailable');
                    Nathan Memmott . unresolved

                    Assert that `availability` is one of the valid return values instead of asserting that it is unavailable.

                    Line 11, Patchset 14 (Latest):}, 'Classifier.availability() is callable and returns "unavailable" in the stub implementation');
                    Nathan Memmott . unresolved

                    Don't call out the implementation in the WPT names. These test the API.

                    File third_party/blink/web_tests/external/wpt/ai/classifier/classifier-create.tentative.https.window.js
                    Line 9, Patchset 14 (Latest): try {
                    await Classifier.create({
                    signal: AbortSignal.timeout(1000)
                    });
                    assert_unreached('create() should not resolve because the backend is a stub.');
                    } catch (e) {
                    }
                    Nathan Memmott . unresolved

                    So since you always return a `unavailable`, you should update your `create` function to return [a rejected promise](https://webmachinelearning.github.io/writing-assistance-apis/#create-an-ai-model-object). Then for this test, you should get the availability and assert that create should reject if it is unavailable. Also use [`promise_rejects_dom`](https://web-platform-tests.org/writing-tests/testharness-api.html#promise-rejection).

                    Line 16, Patchset 14 (Latest):}, 'Classifier.create() executes the C++ layer without crashing');
                    Nathan Memmott . unresolved

                    The implementation might not necessarily be written in C++.

                    File third_party/blink/web_tests/external/wpt/ai/classifier/resources/iframe-helper.html
                    Line 1, Patchset 14 (Latest):<!DOCTYPE HTML>
                    <meta charset="utf-8">
                    <script src="/resources/testdriver.js"></script>
                    <script src="/resources/testdriver-vendor.js"></script>

                    <body></body>
                    <script>
                    test_driver.set_test_context(parent);

                    window.onmessage = async message => {
                    const { id, type } = message.data;
                    try {
                    switch (type) {
                    case 'ClassifierCreate':
                    await test_driver.bless('Classifier.create', Classifier.create, window);
                    parent.postMessage({ id, success: 'Success' }, '*');
                    break;
                    case 'ClassifierAvailability':
                    const availability = await Classifier.availability();
                    parent.postMessage({ id, success: availability }, '*');
                    break;
                    }
                    } catch (err) {
                    parent.postMessage({ id, err: err }, '*');
                    }
                    };
                    </script>
                    Nathan Memmott . unresolved

                    This is unused?

                    Open in Gerrit

                    Related details

                    Attention is currently required from:
                    • Devin Cabillo
                    • Jingyun Liu
                    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: I93f53ebb5d06c86a84a21f104b2e53ff78d8dedf
                      Gerrit-Change-Number: 7568249
                      Gerrit-PatchSet: 14
                      Gerrit-Owner: Devin Cabillo <devinc...@google.com>
                      Gerrit-Reviewer: Devin Cabillo <devinc...@google.com>
                      Gerrit-Reviewer: Nathan Memmott <mem...@chromium.org>
                      Gerrit-CC: AI Code Reviewer <peep-gen...@system.gserviceaccount.com>
                      Gerrit-CC: Jerome Jiang <ji...@chromium.org>
                      Gerrit-CC: Jingyun Liu <jin...@google.com>
                      Gerrit-CC: Kentaro Hara <har...@chromium.org>
                      Gerrit-CC: Mirko Bonadei <mbon...@chromium.org>
                      Gerrit-CC: Raphael Kubo da Costa <ku...@igalia.com>
                      Gerrit-Attention: Jingyun Liu <jin...@google.com>
                      Gerrit-Attention: Devin Cabillo <devinc...@google.com>
                      Gerrit-Comment-Date: Tue, 24 Feb 2026 01:04:10 +0000
                      Gerrit-HasComments: Yes
                      Gerrit-Has-Labels: No
                      satisfied_requirement
                      unsatisfied_requirement
                      open
                      diffy

                      Devin Cabillo (Gerrit)

                      unread,
                      Feb 23, 2026, 11:42:32 PMFeb 23
                      to Jerome Jiang, Mirko Bonadei, AyeAye, Nathan Memmott, Jingyun Liu, Chromium LUCI CQ, AI Code Reviewer, chromium...@chromium.org, Kentaro Hara, Raphael Kubo da Costa, cblume...@chromium.org, jz...@chromium.org, mar...@chromium.org, browser-comp...@chromium.org, feature-me...@chromium.org, chromotin...@chromium.org, fgal...@chromium.org, devtools...@chromium.org, chrome-intelligence-te...@google.com, penghuan...@chromium.org, grt+...@chromium.org, net-r...@chromium.org, fuzzin...@chromium.org, chrome-intell...@chromium.org, blink-revie...@chromium.org, blink-re...@chromium.org, blink-revie...@chromium.org, blink-...@chromium.org, ipc-securi...@chromium.org, jmedle...@chromium.org, kinuko...@chromium.org
                      Attention needed from Jingyun Liu and Nathan Memmott

                      Devin Cabillo added 5 comments

                      File third_party/blink/web_tests/external/wpt/ai/classifier/classifier-availability.tentative.https.window.js
                      Line 10, Patchset 14: assert_equals(availability, 'unavailable');
                      Nathan Memmott . resolved

                      Assert that `availability` is one of the valid return values instead of asserting that it is unavailable.

                      Devin Cabillo

                      Done

                      Line 11, Patchset 14:}, 'Classifier.availability() is callable and returns "unavailable" in the stub implementation');
                      Nathan Memmott . resolved

                      Don't call out the implementation in the WPT names. These test the API.

                      Devin Cabillo

                      Done

                      File third_party/blink/web_tests/external/wpt/ai/classifier/classifier-create.tentative.https.window.js

                      await Classifier.create({
                      signal: AbortSignal.timeout(1000)
                      });
                      assert_unreached('create() should not resolve because the backend is a stub.');
                      } catch (e) {
                      }
                      Nathan Memmott . resolved

                      So since you always return a `unavailable`, you should update your `create` function to return [a rejected promise](https://webmachinelearning.github.io/writing-assistance-apis/#create-an-ai-model-object). Then for this test, you should get the availability and assert that create should reject if it is unavailable. Also use [`promise_rejects_dom`](https://web-platform-tests.org/writing-tests/testharness-api.html#promise-rejection).

                      Devin Cabillo

                      Done

                      Line 16, Patchset 14:}, 'Classifier.create() executes the C++ layer without crashing');
                      Nathan Memmott . resolved

                      The implementation might not necessarily be written in C++.

                      Devin Cabillo

                      Done

                      File third_party/blink/web_tests/external/wpt/ai/classifier/resources/iframe-helper.html
                      Line 1, Patchset 14:<!DOCTYPE HTML>

                      <meta charset="utf-8">
                      <script src="/resources/testdriver.js"></script>
                      <script src="/resources/testdriver-vendor.js"></script>

                      <body></body>
                      <script>
                      test_driver.set_test_context(parent);

                      window.onmessage = async message => {
                      const { id, type } = message.data;
                      try {
                      switch (type) {
                      case 'ClassifierCreate':
                      await test_driver.bless('Classifier.create', Classifier.create, window);
                      parent.postMessage({ id, success: 'Success' }, '*');
                      break;
                      case 'ClassifierAvailability':
                      const availability = await Classifier.availability();
                      parent.postMessage({ id, success: availability }, '*');
                      break;
                      }
                      } catch (err) {
                      parent.postMessage({ id, err: err }, '*');
                      }
                      };
                      </script>
                      Nathan Memmott . resolved

                      This is unused?

                      Devin Cabillo

                      Done

                      Open in Gerrit

                      Related details

                      Attention is currently required from:
                      • Jingyun Liu
                      • Nathan Memmott
                      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: I93f53ebb5d06c86a84a21f104b2e53ff78d8dedf
                        Gerrit-Change-Number: 7568249
                        Gerrit-PatchSet: 15
                        Gerrit-Owner: Devin Cabillo <devinc...@google.com>
                        Gerrit-Reviewer: Devin Cabillo <devinc...@google.com>
                        Gerrit-Reviewer: Nathan Memmott <mem...@chromium.org>
                        Gerrit-CC: AI Code Reviewer <peep-gen...@system.gserviceaccount.com>
                        Gerrit-CC: Jerome Jiang <ji...@chromium.org>
                        Gerrit-CC: Jingyun Liu <jin...@google.com>
                        Gerrit-CC: Kentaro Hara <har...@chromium.org>
                        Gerrit-CC: Mirko Bonadei <mbon...@chromium.org>
                        Gerrit-CC: Raphael Kubo da Costa <ku...@igalia.com>
                        Gerrit-Attention: Nathan Memmott <mem...@chromium.org>
                        Gerrit-Attention: Jingyun Liu <jin...@google.com>
                        Gerrit-Comment-Date: Tue, 24 Feb 2026 04:42:24 +0000
                        Gerrit-HasComments: Yes
                        Gerrit-Has-Labels: No
                        Comment-In-Reply-To: Nathan Memmott <mem...@chromium.org>
                        satisfied_requirement
                        unsatisfied_requirement
                        open
                        diffy

                        Nathan Memmott (Gerrit)

                        unread,
                        Feb 24, 2026, 12:32:25 PMFeb 24
                        to Devin Cabillo, Jerome Jiang, Mirko Bonadei, AyeAye, Jingyun Liu, Chromium LUCI CQ, AI Code Reviewer, chromium...@chromium.org, Kentaro Hara, Raphael Kubo da Costa, cblume...@chromium.org, jz...@chromium.org, mar...@chromium.org, browser-comp...@chromium.org, feature-me...@chromium.org, chromotin...@chromium.org, fgal...@chromium.org, devtools...@chromium.org, chrome-intelligence-te...@google.com, penghuan...@chromium.org, grt+...@chromium.org, net-r...@chromium.org, fuzzin...@chromium.org, chrome-intell...@chromium.org, blink-revie...@chromium.org, blink-re...@chromium.org, blink-revie...@chromium.org, blink-...@chromium.org, ipc-securi...@chromium.org, jmedle...@chromium.org, kinuko...@chromium.org
                        Attention needed from Devin Cabillo and Jingyun Liu

                        Nathan Memmott added 4 comments

                        File third_party/blink/web_tests/external/wpt/ai/classifier/classifier-create.tentative.https.window.js
                        Line 13, Patchset 15 (Latest): 'NotAllowedError',
                        Nathan Memmott . unresolved

                        This should be 'NotSupportedError'.

                        Line 14, Patchset 15 (Latest): Classifier.create({ signal: AbortSignal.timeout(1000) })
                        Nathan Memmott . unresolved

                        Remove this signal and return a rejected promise from create().

                        Line 17, Patchset 15 (Latest): const classifier = await Classifier.create({ signal: AbortSignal.timeout(1000) });
                        assert_true(!!classifier, 'Classifier was successfully created');
                        Nathan Memmott . unresolved

                        Remove the else case.

                        Line 20, Patchset 15 (Latest):}, 'Classifier.create() behavior depends on availability');
                        Nathan Memmott . unresolved

                        How about 'Classifier.create() rejects when unavailable'?

                        Open in Gerrit

                        Related details

                        Attention is currently required from:
                        • Devin Cabillo
                        • Jingyun Liu
                        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: I93f53ebb5d06c86a84a21f104b2e53ff78d8dedf
                          Gerrit-Change-Number: 7568249
                          Gerrit-PatchSet: 15
                          Gerrit-Owner: Devin Cabillo <devinc...@google.com>
                          Gerrit-Reviewer: Devin Cabillo <devinc...@google.com>
                          Gerrit-Reviewer: Nathan Memmott <mem...@chromium.org>
                          Gerrit-CC: AI Code Reviewer <peep-gen...@system.gserviceaccount.com>
                          Gerrit-CC: Jerome Jiang <ji...@chromium.org>
                          Gerrit-CC: Jingyun Liu <jin...@google.com>
                          Gerrit-CC: Kentaro Hara <har...@chromium.org>
                          Gerrit-CC: Mirko Bonadei <mbon...@chromium.org>
                          Gerrit-CC: Raphael Kubo da Costa <ku...@igalia.com>
                          Gerrit-Attention: Jingyun Liu <jin...@google.com>
                          Gerrit-Attention: Devin Cabillo <devinc...@google.com>
                          Gerrit-Comment-Date: Tue, 24 Feb 2026 17:32:18 +0000
                          Gerrit-HasComments: Yes
                          Gerrit-Has-Labels: No
                          satisfied_requirement
                          unsatisfied_requirement
                          open
                          diffy

                          Devin Cabillo (Gerrit)

                          unread,
                          Feb 24, 2026, 12:59:56 PMFeb 24
                          to Jerome Jiang, Mirko Bonadei, AyeAye, Nathan Memmott, Jingyun Liu, Chromium LUCI CQ, AI Code Reviewer, chromium...@chromium.org, Kentaro Hara, Raphael Kubo da Costa, cblume...@chromium.org, jz...@chromium.org, mar...@chromium.org, browser-comp...@chromium.org, feature-me...@chromium.org, chromotin...@chromium.org, fgal...@chromium.org, devtools...@chromium.org, chrome-intelligence-te...@google.com, penghuan...@chromium.org, grt+...@chromium.org, net-r...@chromium.org, fuzzin...@chromium.org, chrome-intell...@chromium.org, blink-revie...@chromium.org, blink-re...@chromium.org, blink-revie...@chromium.org, blink-...@chromium.org, ipc-securi...@chromium.org, jmedle...@chromium.org, kinuko...@chromium.org
                          Attention needed from Jingyun Liu and Nathan Memmott

                          Devin Cabillo added 4 comments

                          File third_party/blink/web_tests/external/wpt/ai/classifier/classifier-create.tentative.https.window.js
                          Line 13, Patchset 15: 'NotAllowedError',
                          Nathan Memmott . resolved

                          This should be 'NotSupportedError'.

                          Devin Cabillo

                          Done

                          Line 14, Patchset 15: Classifier.create({ signal: AbortSignal.timeout(1000) })
                          Nathan Memmott . resolved

                          Remove this signal and return a rejected promise from create().

                          Devin Cabillo

                          Done

                          Line 17, Patchset 15: const classifier = await Classifier.create({ signal: AbortSignal.timeout(1000) });

                          assert_true(!!classifier, 'Classifier was successfully created');
                          Nathan Memmott . resolved

                          Remove the else case.

                          Devin Cabillo

                          Done

                          Line 20, Patchset 15:}, 'Classifier.create() behavior depends on availability');
                          Nathan Memmott . resolved

                          How about 'Classifier.create() rejects when unavailable'?

                          Devin Cabillo

                          Done

                          Open in Gerrit

                          Related details

                          Attention is currently required from:
                          • Jingyun Liu
                          • Nathan Memmott
                          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: I93f53ebb5d06c86a84a21f104b2e53ff78d8dedf
                            Gerrit-Change-Number: 7568249
                            Gerrit-PatchSet: 16
                            Gerrit-Owner: Devin Cabillo <devinc...@google.com>
                            Gerrit-Reviewer: Devin Cabillo <devinc...@google.com>
                            Gerrit-Reviewer: Nathan Memmott <mem...@chromium.org>
                            Gerrit-CC: AI Code Reviewer <peep-gen...@system.gserviceaccount.com>
                            Gerrit-CC: Jerome Jiang <ji...@chromium.org>
                            Gerrit-CC: Jingyun Liu <jin...@google.com>
                            Gerrit-CC: Kentaro Hara <har...@chromium.org>
                            Gerrit-CC: Mirko Bonadei <mbon...@chromium.org>
                            Gerrit-CC: Raphael Kubo da Costa <ku...@igalia.com>
                            Gerrit-Attention: Nathan Memmott <mem...@chromium.org>
                            Gerrit-Attention: Jingyun Liu <jin...@google.com>
                            Gerrit-Comment-Date: Tue, 24 Feb 2026 17:59:49 +0000
                            Gerrit-HasComments: Yes
                            Gerrit-Has-Labels: No
                            Comment-In-Reply-To: Nathan Memmott <mem...@chromium.org>
                            satisfied_requirement
                            unsatisfied_requirement
                            open
                            diffy

                            Nathan Memmott (Gerrit)

                            unread,
                            Feb 24, 2026, 1:04:03 PMFeb 24
                            to Devin Cabillo, Jerome Jiang, Mirko Bonadei, AyeAye, Jingyun Liu, Chromium LUCI CQ, AI Code Reviewer, chromium...@chromium.org, Kentaro Hara, Raphael Kubo da Costa, cblume...@chromium.org, jz...@chromium.org, mar...@chromium.org, browser-comp...@chromium.org, feature-me...@chromium.org, chromotin...@chromium.org, fgal...@chromium.org, devtools...@chromium.org, chrome-intelligence-te...@google.com, penghuan...@chromium.org, grt+...@chromium.org, net-r...@chromium.org, fuzzin...@chromium.org, chrome-intell...@chromium.org, blink-revie...@chromium.org, blink-re...@chromium.org, blink-revie...@chromium.org, blink-...@chromium.org, ipc-securi...@chromium.org, jmedle...@chromium.org, kinuko...@chromium.org
                            Attention needed from Devin Cabillo and Jingyun Liu

                            Nathan Memmott voted and added 1 comment

                            Votes added by Nathan Memmott

                            Code-Review+1

                            1 comment

                            File third_party/blink/web_tests/external/wpt/ai/classifier/classifier-create.tentative.https.window.js
                            Line 9, Patchset 16 (Latest): await promise_rejects_dom(
                            Nathan Memmott . unresolved

                            Sorry by remove the else case, I meant to keep the true case. So check availability and if 'unavailable', assert that it rejects with a DOM error. Also can you add a TODO comment to update this to NotSupportedError with bug http://crbug.com/487291285.

                            Open in Gerrit

                            Related details

                            Attention is currently required from:
                            • Devin Cabillo
                            • Jingyun Liu
                            Submit Requirements:
                              • requirement satisfiedCode-Coverage
                              • requirement is not 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: I93f53ebb5d06c86a84a21f104b2e53ff78d8dedf
                              Gerrit-Change-Number: 7568249
                              Gerrit-PatchSet: 16
                              Gerrit-Owner: Devin Cabillo <devinc...@google.com>
                              Gerrit-Reviewer: Devin Cabillo <devinc...@google.com>
                              Gerrit-Reviewer: Nathan Memmott <mem...@chromium.org>
                              Gerrit-CC: AI Code Reviewer <peep-gen...@system.gserviceaccount.com>
                              Gerrit-CC: Jerome Jiang <ji...@chromium.org>
                              Gerrit-CC: Jingyun Liu <jin...@google.com>
                              Gerrit-CC: Kentaro Hara <har...@chromium.org>
                              Gerrit-CC: Mirko Bonadei <mbon...@chromium.org>
                              Gerrit-CC: Raphael Kubo da Costa <ku...@igalia.com>
                              Gerrit-Attention: Jingyun Liu <jin...@google.com>
                              Gerrit-Attention: Devin Cabillo <devinc...@google.com>
                              Gerrit-Comment-Date: Tue, 24 Feb 2026 18:03:53 +0000
                              Gerrit-HasComments: Yes
                              Gerrit-Has-Labels: Yes
                              satisfied_requirement
                              unsatisfied_requirement
                              open
                              diffy

                              Devin Cabillo (Gerrit)

                              unread,
                              Feb 24, 2026, 3:15:56 PMFeb 24
                              to Nathan Memmott, Jerome Jiang, Mirko Bonadei, AyeAye, Jingyun Liu, Chromium LUCI CQ, AI Code Reviewer, chromium...@chromium.org, Kentaro Hara, Raphael Kubo da Costa, cblume...@chromium.org, jz...@chromium.org, mar...@chromium.org, browser-comp...@chromium.org, feature-me...@chromium.org, chromotin...@chromium.org, fgal...@chromium.org, devtools...@chromium.org, chrome-intelligence-te...@google.com, penghuan...@chromium.org, grt+...@chromium.org, net-r...@chromium.org, fuzzin...@chromium.org, chrome-intell...@chromium.org, blink-revie...@chromium.org, blink-re...@chromium.org, blink-revie...@chromium.org, blink-...@chromium.org, ipc-securi...@chromium.org, jmedle...@chromium.org, kinuko...@chromium.org
                              Attention needed from Jingyun Liu and Nathan Memmott

                              Devin Cabillo added 1 comment

                              File third_party/blink/web_tests/external/wpt/ai/classifier/classifier-create.tentative.https.window.js
                              Line 9, Patchset 16: await promise_rejects_dom(
                              Nathan Memmott . resolved

                              Sorry by remove the else case, I meant to keep the true case. So check availability and if 'unavailable', assert that it rejects with a DOM error. Also can you add a TODO comment to update this to NotSupportedError with bug http://crbug.com/487291285.

                              Devin Cabillo

                              Done

                              Open in Gerrit

                              Related details

                              Attention is currently required from:
                              • Jingyun Liu
                              • Nathan Memmott
                              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: I93f53ebb5d06c86a84a21f104b2e53ff78d8dedf
                                Gerrit-Change-Number: 7568249
                                Gerrit-PatchSet: 17
                                Gerrit-Owner: Devin Cabillo <devinc...@google.com>
                                Gerrit-Reviewer: Devin Cabillo <devinc...@google.com>
                                Gerrit-Reviewer: Nathan Memmott <mem...@chromium.org>
                                Gerrit-CC: AI Code Reviewer <peep-gen...@system.gserviceaccount.com>
                                Gerrit-CC: Jerome Jiang <ji...@chromium.org>
                                Gerrit-CC: Jingyun Liu <jin...@google.com>
                                Gerrit-CC: Kentaro Hara <har...@chromium.org>
                                Gerrit-CC: Mirko Bonadei <mbon...@chromium.org>
                                Gerrit-CC: Raphael Kubo da Costa <ku...@igalia.com>
                                Gerrit-Attention: Nathan Memmott <mem...@chromium.org>
                                Gerrit-Attention: Jingyun Liu <jin...@google.com>
                                Gerrit-Comment-Date: Tue, 24 Feb 2026 20:15:48 +0000
                                satisfied_requirement
                                unsatisfied_requirement
                                open
                                diffy

                                Nathan Memmott (Gerrit)

                                unread,
                                Feb 24, 2026, 4:34:20 PMFeb 24
                                to Devin Cabillo, Jerome Jiang, Mirko Bonadei, AyeAye, Jingyun Liu, Chromium LUCI CQ, AI Code Reviewer, chromium...@chromium.org, Kentaro Hara, Raphael Kubo da Costa, cblume...@chromium.org, jz...@chromium.org, mar...@chromium.org, browser-comp...@chromium.org, feature-me...@chromium.org, chromotin...@chromium.org, fgal...@chromium.org, devtools...@chromium.org, chrome-intelligence-te...@google.com, penghuan...@chromium.org, grt+...@chromium.org, net-r...@chromium.org, fuzzin...@chromium.org, chrome-intell...@chromium.org, blink-revie...@chromium.org, blink-re...@chromium.org, blink-revie...@chromium.org, blink-...@chromium.org, ipc-securi...@chromium.org, jmedle...@chromium.org, kinuko...@chromium.org
                                Attention needed from Devin Cabillo and Jingyun Liu

                                Nathan Memmott voted Code-Review+1

                                Code-Review+1
                                Open in Gerrit

                                Related details

                                Attention is currently required from:
                                • Devin Cabillo
                                • Jingyun Liu
                                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: I93f53ebb5d06c86a84a21f104b2e53ff78d8dedf
                                  Gerrit-Change-Number: 7568249
                                  Gerrit-PatchSet: 17
                                  Gerrit-Owner: Devin Cabillo <devinc...@google.com>
                                  Gerrit-Reviewer: Devin Cabillo <devinc...@google.com>
                                  Gerrit-Reviewer: Nathan Memmott <mem...@chromium.org>
                                  Gerrit-CC: AI Code Reviewer <peep-gen...@system.gserviceaccount.com>
                                  Gerrit-CC: Jerome Jiang <ji...@chromium.org>
                                  Gerrit-CC: Jingyun Liu <jin...@google.com>
                                  Gerrit-CC: Kentaro Hara <har...@chromium.org>
                                  Gerrit-CC: Mirko Bonadei <mbon...@chromium.org>
                                  Gerrit-CC: Raphael Kubo da Costa <ku...@igalia.com>
                                  Gerrit-Attention: Jingyun Liu <jin...@google.com>
                                  Gerrit-Attention: Devin Cabillo <devinc...@google.com>
                                  Gerrit-Comment-Date: Tue, 24 Feb 2026 21:34:13 +0000
                                  Gerrit-HasComments: No
                                  Gerrit-Has-Labels: Yes
                                  satisfied_requirement
                                  unsatisfied_requirement
                                  open
                                  diffy

                                  gwsq (Gerrit)

                                  unread,
                                  Feb 24, 2026, 4:44:10 PMFeb 24
                                  to Devin Cabillo, Chromium IPC Reviews, Elly FJ, Nico Weber, Jeremy Roman, Nathan Memmott, Jerome Jiang, Mirko Bonadei, AyeAye, Jingyun Liu, Chromium LUCI CQ, AI Code Reviewer, chromium...@chromium.org, Kentaro Hara, Raphael Kubo da Costa, cblume...@chromium.org, jz...@chromium.org, mar...@chromium.org, browser-comp...@chromium.org, feature-me...@chromium.org, chromotin...@chromium.org, fgal...@chromium.org, devtools...@chromium.org, chrome-intelligence-te...@google.com, penghuan...@chromium.org, grt+...@chromium.org, net-r...@chromium.org, fuzzin...@chromium.org, chrome-intell...@chromium.org, blink-revie...@chromium.org, blink-re...@chromium.org, blink-revie...@chromium.org, blink-...@chromium.org, ipc-securi...@chromium.org, jmedle...@chromium.org, kinuko...@chromium.org
                                  Attention needed from Elly FJ, Jeremy Roman, Jingyun Liu and Nico Weber

                                  Message from gwsq

                                  From googleclient/chrome/chromium_gwsq/ipc/config.gwsq:
                                  IPC: elly...@chromium.org

                                  📎 It looks like you’re making a possibly security-sensitive change! 📎 IPC security review isn’t a rubberstamp, so your friendly security reviewer will need a fair amount of context to review your CL effectively. Please review your CL description and code comments to make sure they provide context for someone unfamiliar with your project/area. Pay special attention to where data comes from and which processes it flows between (and their privilege levels). Feel free to point your security reviewer at design docs, bugs, or other links if you can’t reasonably make a self-contained CL description. (Also see https://cbea.ms/git-commit/).

                                  IPC reviewer(s): elly...@chromium.org


                                  Reviewer source(s):
                                  elly...@chromium.org is from context(googleclient/chrome/chromium_gwsq/ipc/config.gwsq)

                                  Open in Gerrit

                                  Related details

                                  Attention is currently required from:
                                  • Elly FJ
                                  • Jeremy Roman
                                  • Jingyun Liu
                                  • Nico Weber
                                  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: I93f53ebb5d06c86a84a21f104b2e53ff78d8dedf
                                  Gerrit-Change-Number: 7568249
                                  Gerrit-PatchSet: 17
                                  Gerrit-Owner: Devin Cabillo <devinc...@google.com>
                                  Gerrit-Reviewer: Devin Cabillo <devinc...@google.com>
                                  Gerrit-Reviewer: Elly FJ <elly...@chromium.org>
                                  Gerrit-Reviewer: Jeremy Roman <jbr...@chromium.org>
                                  Gerrit-Reviewer: Nathan Memmott <mem...@chromium.org>
                                  Gerrit-Reviewer: Nico Weber <tha...@chromium.org>
                                  Gerrit-CC: AI Code Reviewer <peep-gen...@system.gserviceaccount.com>
                                  Gerrit-CC: Chromium IPC Reviews <chrome-ip...@google.com>
                                  Gerrit-CC: Jerome Jiang <ji...@chromium.org>
                                  Gerrit-CC: Jingyun Liu <jin...@google.com>
                                  Gerrit-CC: Kentaro Hara <har...@chromium.org>
                                  Gerrit-CC: Mirko Bonadei <mbon...@chromium.org>
                                  Gerrit-CC: Raphael Kubo da Costa <ku...@igalia.com>
                                  Gerrit-CC: gwsq
                                  Gerrit-Attention: Nico Weber <tha...@chromium.org>
                                  Gerrit-Attention: Elly FJ <elly...@chromium.org>
                                  Gerrit-Attention: Jeremy Roman <jbr...@chromium.org>
                                  Gerrit-Attention: Jingyun Liu <jin...@google.com>
                                  Gerrit-Comment-Date: Tue, 24 Feb 2026 21:44:02 +0000
                                  Gerrit-HasComments: No
                                  Gerrit-Has-Labels: No
                                  satisfied_requirement
                                  unsatisfied_requirement
                                  open
                                  diffy

                                  Jingyun Liu (Gerrit)

                                  unread,
                                  Feb 24, 2026, 5:10:31 PMFeb 24
                                  to Devin Cabillo, Chromium IPC Reviews, Elly FJ, Nico Weber, Jeremy Roman, Nathan Memmott, Jerome Jiang, Mirko Bonadei, AyeAye, Chromium LUCI CQ, AI Code Reviewer, chromium...@chromium.org, Kentaro Hara, Raphael Kubo da Costa, cblume...@chromium.org, jz...@chromium.org, mar...@chromium.org, browser-comp...@chromium.org, feature-me...@chromium.org, chromotin...@chromium.org, fgal...@chromium.org, devtools...@chromium.org, chrome-intelligence-te...@google.com, penghuan...@chromium.org, grt+...@chromium.org, net-r...@chromium.org, fuzzin...@chromium.org, chrome-intell...@chromium.org, blink-revie...@chromium.org, blink-re...@chromium.org, blink-revie...@chromium.org, blink-...@chromium.org, ipc-securi...@chromium.org, jmedle...@chromium.org, kinuko...@chromium.org
                                  Attention needed from Devin Cabillo, Elly FJ, Jeremy Roman and Nico Weber

                                  Jingyun Liu voted Code-Review+1

                                  Code-Review+1
                                  Open in Gerrit

                                  Related details

                                  Attention is currently required from:
                                  • Devin Cabillo
                                  • Elly FJ
                                  • Jeremy Roman
                                  • Nico Weber
                                  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: I93f53ebb5d06c86a84a21f104b2e53ff78d8dedf
                                    Gerrit-Change-Number: 7568249
                                    Gerrit-PatchSet: 17
                                    Gerrit-Owner: Devin Cabillo <devinc...@google.com>
                                    Gerrit-Reviewer: Devin Cabillo <devinc...@google.com>
                                    Gerrit-Reviewer: Elly FJ <elly...@chromium.org>
                                    Gerrit-Reviewer: Jeremy Roman <jbr...@chromium.org>
                                    Gerrit-Reviewer: Jingyun Liu <jin...@google.com>
                                    Gerrit-Reviewer: Nathan Memmott <mem...@chromium.org>
                                    Gerrit-Reviewer: Nico Weber <tha...@chromium.org>
                                    Gerrit-CC: AI Code Reviewer <peep-gen...@system.gserviceaccount.com>
                                    Gerrit-CC: Chromium IPC Reviews <chrome-ip...@google.com>
                                    Gerrit-CC: Jerome Jiang <ji...@chromium.org>
                                    Gerrit-CC: Kentaro Hara <har...@chromium.org>
                                    Gerrit-CC: Mirko Bonadei <mbon...@chromium.org>
                                    Gerrit-CC: Raphael Kubo da Costa <ku...@igalia.com>
                                    Gerrit-CC: gwsq
                                    Gerrit-Attention: Nico Weber <tha...@chromium.org>
                                    Gerrit-Attention: Elly FJ <elly...@chromium.org>
                                    Gerrit-Attention: Jeremy Roman <jbr...@chromium.org>
                                    Gerrit-Attention: Devin Cabillo <devinc...@google.com>
                                    Gerrit-Comment-Date: Tue, 24 Feb 2026 22:10:23 +0000
                                    Gerrit-HasComments: No
                                    Gerrit-Has-Labels: Yes
                                    satisfied_requirement
                                    unsatisfied_requirement
                                    open
                                    diffy

                                    Jeremy Roman (Gerrit)

                                    unread,
                                    Feb 24, 2026, 7:44:44 PMFeb 24
                                    to Devin Cabillo, Jeremy Roman, Jingyun Liu, Chromium IPC Reviews, Elly FJ, Nico Weber, Nathan Memmott, Jerome Jiang, Mirko Bonadei, AyeAye, Chromium LUCI CQ, AI Code Reviewer, chromium...@chromium.org, Kentaro Hara, Raphael Kubo da Costa, cblume...@chromium.org, jz...@chromium.org, mar...@chromium.org, browser-comp...@chromium.org, feature-me...@chromium.org, chromotin...@chromium.org, fgal...@chromium.org, devtools...@chromium.org, chrome-intelligence-te...@google.com, penghuan...@chromium.org, grt+...@chromium.org, net-r...@chromium.org, fuzzin...@chromium.org, chrome-intell...@chromium.org, blink-revie...@chromium.org, blink-re...@chromium.org, blink-revie...@chromium.org, blink-...@chromium.org, ipc-securi...@chromium.org, jmedle...@chromium.org, kinuko...@chromium.org
                                    Attention needed from Devin Cabillo, Elly FJ and Nico Weber

                                    Jeremy Roman voted Code-Review+1

                                    Code-Review+1
                                    Open in Gerrit

                                    Related details

                                    Attention is currently required from:
                                    • Devin Cabillo
                                    • Elly FJ
                                    • Nico Weber
                                    Gerrit-Attention: Devin Cabillo <devinc...@google.com>
                                    Gerrit-Comment-Date: Wed, 25 Feb 2026 00:44:36 +0000
                                    Gerrit-HasComments: No
                                    Gerrit-Has-Labels: Yes
                                    satisfied_requirement
                                    unsatisfied_requirement
                                    open
                                    diffy

                                    Elly FJ (Gerrit)

                                    unread,
                                    Feb 25, 2026, 10:56:16 AMFeb 25
                                    to Devin Cabillo, Jeremy Roman, Jingyun Liu, Chromium IPC Reviews, Elly FJ, Nico Weber, Nathan Memmott, Jerome Jiang, Mirko Bonadei, AyeAye, Chromium LUCI CQ, AI Code Reviewer, chromium...@chromium.org, Kentaro Hara, Raphael Kubo da Costa, cblume...@chromium.org, jz...@chromium.org, mar...@chromium.org, browser-comp...@chromium.org, feature-me...@chromium.org, chromotin...@chromium.org, fgal...@chromium.org, devtools...@chromium.org, chrome-intelligence-te...@google.com, penghuan...@chromium.org, grt+...@chromium.org, net-r...@chromium.org, fuzzin...@chromium.org, chrome-intell...@chromium.org, blink-revie...@chromium.org, blink-re...@chromium.org, blink-revie...@chromium.org, blink-...@chromium.org, ipc-securi...@chromium.org, jmedle...@chromium.org, kinuko...@chromium.org
                                    Attention needed from Devin Cabillo and Nico Weber

                                    Elly FJ added 3 comments

                                    Patchset-level comments
                                    File-level comment, Patchset 17 (Latest):
                                    Elly FJ . resolved

                                    hi!

                                    for ipc review we generally prefer to see the interface and its browser-side implementation together - it's often impossible to assess the security impact of an IPC method without knowing at least roughly how it's going to work.

                                    Commit Message
                                    Line 7, Patchset 17 (Latest):Create renderer side code for ai taxonomy API

                                    Feature currently disabled and returns an empty promise
                                    pending browser side implementation and link
                                    Elly FJ . unresolved

                                    there isn't enough info either here or on the linked bug for me to do a meaningful IPC review. In particular:

                                    • What is this API supposed to do?
                                    • Who will call it and who will implement it?
                                    • What data will be passed where and by whom?
                                    • If text is being parsed (it sounds like it is), where does that occur?
                                    File third_party/blink/public/mojom/ai/ai_classifier.mojom
                                    Line 13, Patchset 17 (Latest):// Defined locally to avoid touching ai_manager.mojom for now.
                                    Elly FJ . unresolved

                                    why is it desirable to avoid touching ai_manager.mojom?

                                    Open in Gerrit

                                    Related details

                                    Attention is currently required from:
                                    • Devin Cabillo
                                    • Nico Weber
                                    Submit Requirements:
                                      • requirement satisfiedCode-Coverage
                                      • requirement is not satisfiedCode-Owners
                                      • requirement satisfiedCode-Review
                                      • requirement is not satisfiedNo-Unresolved-Comments
                                      • requirement satisfiedReview-Enforcement
                                      Gerrit-Attention: Devin Cabillo <devinc...@google.com>
                                      Gerrit-Comment-Date: Wed, 25 Feb 2026 15:56:07 +0000
                                      Gerrit-HasComments: Yes
                                      Gerrit-Has-Labels: No
                                      satisfied_requirement
                                      unsatisfied_requirement
                                      open
                                      diffy

                                      Devin Cabillo (Gerrit)

                                      unread,
                                      Feb 25, 2026, 11:33:25 AMFeb 25
                                      to Jeremy Roman, Jingyun Liu, Chromium IPC Reviews, Elly FJ, Nico Weber, Nathan Memmott, Jerome Jiang, Mirko Bonadei, AyeAye, Chromium LUCI CQ, AI Code Reviewer, chromium...@chromium.org, Kentaro Hara, Raphael Kubo da Costa, cblume...@chromium.org, jz...@chromium.org, mar...@chromium.org, browser-comp...@chromium.org, feature-me...@chromium.org, chromotin...@chromium.org, fgal...@chromium.org, devtools...@chromium.org, chrome-intelligence-te...@google.com, penghuan...@chromium.org, grt+...@chromium.org, net-r...@chromium.org, fuzzin...@chromium.org, chrome-intell...@chromium.org, blink-revie...@chromium.org, blink-re...@chromium.org, blink-revie...@chromium.org, blink-...@chromium.org, ipc-securi...@chromium.org, jmedle...@chromium.org, kinuko...@chromium.org
                                      Attention needed from Elly FJ and Nico Weber

                                      Devin Cabillo added 2 comments

                                      Commit Message
                                      Line 7, Patchset 17 (Latest):Create renderer side code for ai taxonomy API

                                      Feature currently disabled and returns an empty promise
                                      pending browser side implementation and link
                                      Elly FJ . unresolved

                                      there isn't enough info either here or on the linked bug for me to do a meaningful IPC review. In particular:

                                      • What is this API supposed to do?
                                      • Who will call it and who will implement it?
                                      • What data will be passed where and by whom?
                                      • If text is being parsed (it sounds like it is), where does that occur?

                                      What is this API supposed to do?

                                      • It will be used as in devTrial for adds to perform Taxonomy on Webpages

                                      Who will call it and who will implement it?

                                      • It should be an open endpoint eventually for developers, but for now it will be a built in API to pass text to and provide IAB Taxonomies. Most of the logic will is stubbed out right now. I am working in parallel with some pending work and will begin implementing the browser process which will then pass the logic to optimization_guide

                                      What data will be passed where and by whom?

                                      • For the DevTrial we will be focused on the developer(Ads) passing a simple text string (the input to be classified) and an optional dictionary of settings

                                      If text is being parsed (it sounds like it is), where does that occur?

                                      • In the Blink (Renderer) layer, the text is treated strictly as a string. No linguistic parsing or tokenization occurs in the rendering engine. The string is serialized and passed across the Mojo IPC boundary to the Browser process. The actual "parsing" (tokenization, embedding, and model inference) happens safely inside the underlying AI execution engine
                                      File third_party/blink/public/mojom/ai/ai_classifier.mojom
                                      Line 13, Patchset 17 (Latest):// Defined locally to avoid touching ai_manager.mojom for now.
                                      Elly FJ . unresolved

                                      why is it desirable to avoid touching ai_manager.mojom?

                                      Devin Cabillo

                                      The goal is to keep this CL strictly scoped to the Blink/Renderer API surface (IDL and bindings) and land the feature incrementally.

                                      Touching ai_manager.mojom requires crossing the IPC boundary, which would force us to introduce browser-process boilerplate and stub implementations for the AIManager receivers just to satisfy the compiler. By keeping the stub entirely within Blink for now, we can land the web-facing API shape and unblock the Web Platform Tests independently. The Mojom changes and browser-process plumbing will be introduced in a focused follow-up cl alongside the actual backend integration.

                                      Open in Gerrit

                                      Related details

                                      Attention is currently required from:
                                      • Elly FJ
                                      • Nico Weber
                                      Gerrit-Attention: Elly FJ <elly...@chromium.org>
                                      Gerrit-Comment-Date: Wed, 25 Feb 2026 16:33:14 +0000
                                      Gerrit-HasComments: Yes
                                      Gerrit-Has-Labels: No
                                      Comment-In-Reply-To: Elly FJ <elly...@chromium.org>
                                      satisfied_requirement
                                      unsatisfied_requirement
                                      open
                                      diffy

                                      Elly FJ (Gerrit)

                                      unread,
                                      Feb 25, 2026, 3:30:54 PMFeb 25
                                      to Devin Cabillo, Jeremy Roman, Jingyun Liu, Chromium IPC Reviews, Elly FJ, Nico Weber, Nathan Memmott, Jerome Jiang, Mirko Bonadei, AyeAye, Chromium LUCI CQ, AI Code Reviewer, chromium...@chromium.org, Kentaro Hara, Raphael Kubo da Costa, cblume...@chromium.org, jz...@chromium.org, mar...@chromium.org, browser-comp...@chromium.org, feature-me...@chromium.org, chromotin...@chromium.org, fgal...@chromium.org, devtools...@chromium.org, chrome-intelligence-te...@google.com, penghuan...@chromium.org, grt+...@chromium.org, net-r...@chromium.org, fuzzin...@chromium.org, chrome-intell...@chromium.org, blink-revie...@chromium.org, blink-re...@chromium.org, blink-revie...@chromium.org, blink-...@chromium.org, ipc-securi...@chromium.org, jmedle...@chromium.org, kinuko...@chromium.org
                                      Attention needed from Devin Cabillo and Nico Weber

                                      Elly FJ added 1 comment

                                      File third_party/blink/public/mojom/ai/ai_classifier.mojom
                                      Line 13, Patchset 17:// Defined locally to avoid touching ai_manager.mojom for now.
                                      Elly FJ . unresolved

                                      why is it desirable to avoid touching ai_manager.mojom?

                                      Devin Cabillo

                                      The goal is to keep this CL strictly scoped to the Blink/Renderer API surface (IDL and bindings) and land the feature incrementally.

                                      Touching ai_manager.mojom requires crossing the IPC boundary, which would force us to introduce browser-process boilerplate and stub implementations for the AIManager receivers just to satisfy the compiler. By keeping the stub entirely within Blink for now, we can land the web-facing API shape and unblock the Web Platform Tests independently. The Mojom changes and browser-process plumbing will be introduced in a focused follow-up cl alongside the actual backend integration.

                                      Elly FJ

                                      Okay - this is fine, but please mark the methods with:

                                      ```
                                      [RuntimeFeature=mojo_base.mojom.kMojomWorkInProgress]
                                      ```

                                      so that there is no chance this code will become callable without another IPC review once it's implemented.

                                      Open in Gerrit

                                      Related details

                                      Attention is currently required from:
                                      • Devin Cabillo
                                      • Nico Weber
                                      Submit Requirements:
                                      • requirement satisfiedCode-Coverage
                                      • requirement is not 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: I93f53ebb5d06c86a84a21f104b2e53ff78d8dedf
                                      Gerrit-Change-Number: 7568249
                                      Gerrit-PatchSet: 18
                                      Gerrit-Owner: Devin Cabillo <devinc...@google.com>
                                      Gerrit-Reviewer: Devin Cabillo <devinc...@google.com>
                                      Gerrit-Reviewer: Elly FJ <elly...@chromium.org>
                                      Gerrit-Reviewer: Jeremy Roman <jbr...@chromium.org>
                                      Gerrit-Reviewer: Jingyun Liu <jin...@google.com>
                                      Gerrit-Reviewer: Nathan Memmott <mem...@chromium.org>
                                      Gerrit-Reviewer: Nico Weber <tha...@chromium.org>
                                      Gerrit-CC: AI Code Reviewer <peep-gen...@system.gserviceaccount.com>
                                      Gerrit-CC: Chromium IPC Reviews <chrome-ip...@google.com>
                                      Gerrit-CC: Jerome Jiang <ji...@chromium.org>
                                      Gerrit-CC: Kentaro Hara <har...@chromium.org>
                                      Gerrit-CC: Mirko Bonadei <mbon...@chromium.org>
                                      Gerrit-CC: Raphael Kubo da Costa <ku...@igalia.com>
                                      Gerrit-CC: gwsq
                                      Gerrit-Attention: Nico Weber <tha...@chromium.org>
                                      Gerrit-Attention: Devin Cabillo <devinc...@google.com>
                                      Gerrit-Comment-Date: Wed, 25 Feb 2026 20:30:43 +0000
                                      Gerrit-HasComments: Yes
                                      Gerrit-Has-Labels: No
                                      Comment-In-Reply-To: Elly FJ <elly...@chromium.org>
                                      Comment-In-Reply-To: Devin Cabillo <devinc...@google.com>
                                      satisfied_requirement
                                      unsatisfied_requirement
                                      open
                                      diffy

                                      Devin Cabillo (Gerrit)

                                      unread,
                                      Feb 27, 2026, 2:04:18 PMFeb 27
                                      to Jeremy Roman, Jingyun Liu, Chromium IPC Reviews, Elly FJ, Nico Weber, Nathan Memmott, Jerome Jiang, Mirko Bonadei, AyeAye, Chromium LUCI CQ, AI Code Reviewer, chromium...@chromium.org, Kentaro Hara, Raphael Kubo da Costa, cblume...@chromium.org, jz...@chromium.org, mar...@chromium.org, browser-comp...@chromium.org, feature-me...@chromium.org, chromotin...@chromium.org, fgal...@chromium.org, devtools...@chromium.org, chrome-intelligence-te...@google.com, penghuan...@chromium.org, grt+...@chromium.org, net-r...@chromium.org, fuzzin...@chromium.org, chrome-intell...@chromium.org, blink-revie...@chromium.org, blink-re...@chromium.org, blink-revie...@chromium.org, blink-...@chromium.org, ipc-securi...@chromium.org, jmedle...@chromium.org, kinuko...@chromium.org
                                      Attention needed from Elly FJ, Jeremy Roman, Jingyun Liu, Nathan Memmott and Nico Weber

                                      Devin Cabillo added 2 comments

                                      Commit Message
                                      Line 7, Patchset 17:Create renderer side code for ai taxonomy API


                                      Feature currently disabled and returns an empty promise
                                      pending browser side implementation and link
                                      Elly FJ . resolved

                                      there isn't enough info either here or on the linked bug for me to do a meaningful IPC review. In particular:

                                      • What is this API supposed to do?
                                      • Who will call it and who will implement it?
                                      • What data will be passed where and by whom?
                                      • If text is being parsed (it sounds like it is), where does that occur?
                                      Devin Cabillo

                                      Hey Elly, here is the PRD and the Design:
                                      https://docs.google.com/document/d/1O9bLaEjw2yPHJbaCj3hpJEsJv6AyG4ImoZ7GS1n_PZU/edit?resourcekey=0-inRjASFWJ8TQJitvYB3pmg&tab=t.8apz1rfusva5#heading=h.kfr7kq8gx8kd

                                      https://docs.google.com/document/d/1S7sgrzWfa6gYM3FlsDkDOiBX2_DxvgGoBg0DvbbpJIk/edit?tab=t.0#heading=h.zb0ykjxj32vk

                                      What is this API supposed to do?

                                      • It will be used as in devTrial for adds to perform Taxonomy on Webpages

                                      Who will call it and who will implement it?

                                      • It should be an open endpoint eventually for developers, but for now it will be a built in API to pass text to and provide IAB Taxonomies. Most of the logic will is stubbed out right now. I am working in parallel with some pending work and will begin implementing the browser process which will then pass the logic to optimization_guide

                                      What data will be passed where and by whom?

                                      • For the DevTrial we will be focused on the developer(Ads) passing a simple text string (the input to be classified) and an optional dictionary of settings

                                      If text is being parsed (it sounds like it is), where does that occur?

                                      • In the Blink (Renderer) layer, the text is treated strictly as a string. No linguistic parsing or tokenization occurs in the rendering engine. The string is serialized and passed across the Mojo IPC boundary to the Browser process. The actual "parsing" (tokenization, embedding, and model inference) happens safely inside the underlying AI execution engine
                                      Devin Cabillo

                                      Done

                                      File third_party/blink/public/mojom/ai/ai_classifier.mojom
                                      Line 13, Patchset 17:// Defined locally to avoid touching ai_manager.mojom for now.
                                      Elly FJ . resolved

                                      why is it desirable to avoid touching ai_manager.mojom?

                                      Devin Cabillo

                                      The goal is to keep this CL strictly scoped to the Blink/Renderer API surface (IDL and bindings) and land the feature incrementally.

                                      Touching ai_manager.mojom requires crossing the IPC boundary, which would force us to introduce browser-process boilerplate and stub implementations for the AIManager receivers just to satisfy the compiler. By keeping the stub entirely within Blink for now, we can land the web-facing API shape and unblock the Web Platform Tests independently. The Mojom changes and browser-process plumbing will be introduced in a focused follow-up cl alongside the actual backend integration.

                                      Elly FJ

                                      Okay - this is fine, but please mark the methods with:

                                      ```
                                      [RuntimeFeature=mojo_base.mojom.kMojomWorkInProgress]
                                      ```

                                      so that there is no chance this code will become callable without another IPC review once it's implemented.

                                      Devin Cabillo

                                      Done

                                      Open in Gerrit

                                      Related details

                                      Attention is currently required from:
                                      • Elly FJ
                                      • Jeremy Roman
                                      • Jingyun Liu
                                      • Nathan Memmott
                                      • Nico Weber
                                      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: I93f53ebb5d06c86a84a21f104b2e53ff78d8dedf
                                        Gerrit-Change-Number: 7568249
                                        Gerrit-PatchSet: 21
                                        Gerrit-Owner: Devin Cabillo <devinc...@google.com>
                                        Gerrit-Reviewer: Devin Cabillo <devinc...@google.com>
                                        Gerrit-Reviewer: Elly FJ <elly...@chromium.org>
                                        Gerrit-Reviewer: Jeremy Roman <jbr...@chromium.org>
                                        Gerrit-Reviewer: Jingyun Liu <jin...@google.com>
                                        Gerrit-Reviewer: Nathan Memmott <mem...@chromium.org>
                                        Gerrit-Reviewer: Nico Weber <tha...@chromium.org>
                                        Gerrit-CC: AI Code Reviewer <peep-gen...@system.gserviceaccount.com>
                                        Gerrit-CC: Chromium IPC Reviews <chrome-ip...@google.com>
                                        Gerrit-CC: Jerome Jiang <ji...@chromium.org>
                                        Gerrit-CC: Kentaro Hara <har...@chromium.org>
                                        Gerrit-CC: Mirko Bonadei <mbon...@chromium.org>
                                        Gerrit-CC: Raphael Kubo da Costa <ku...@igalia.com>
                                        Gerrit-CC: gwsq
                                        Gerrit-Attention: Nico Weber <tha...@chromium.org>
                                        Gerrit-Attention: Nathan Memmott <mem...@chromium.org>
                                        Gerrit-Attention: Elly FJ <elly...@chromium.org>
                                        Gerrit-Attention: Jeremy Roman <jbr...@chromium.org>
                                        Gerrit-Attention: Jingyun Liu <jin...@google.com>
                                        Gerrit-Comment-Date: Fri, 27 Feb 2026 19:04:09 +0000
                                        satisfied_requirement
                                        unsatisfied_requirement
                                        open
                                        diffy

                                        gwsq (Gerrit)

                                        unread,
                                        Feb 27, 2026, 2:07:55 PMFeb 27
                                        to Devin Cabillo, Chromium IPC Reviews, Daniel Cheng, Jeremy Roman, Jingyun Liu, Elly FJ, Nico Weber, Nathan Memmott, Jerome Jiang, Mirko Bonadei, AyeAye, Chromium LUCI CQ, AI Code Reviewer, chromium...@chromium.org, Kentaro Hara, Raphael Kubo da Costa, cblume...@chromium.org, jz...@chromium.org, mar...@chromium.org, browser-comp...@chromium.org, feature-me...@chromium.org, chromotin...@chromium.org, fgal...@chromium.org, devtools...@chromium.org, chrome-intelligence-te...@google.com, penghuan...@chromium.org, grt+...@chromium.org, net-r...@chromium.org, fuzzin...@chromium.org, chrome-intell...@chromium.org, blink-revie...@chromium.org, blink-re...@chromium.org, blink-revie...@chromium.org, blink-...@chromium.org, ipc-securi...@chromium.org, jmedle...@chromium.org, kinuko...@chromium.org
                                        Attention needed from Daniel Cheng, Elly FJ, Jeremy Roman, Jingyun Liu, Nathan Memmott and Nico Weber

                                        Message from gwsq

                                        From googleclient/chrome/chromium_gwsq/ipc/config.gwsq:
                                        IPC: dch...@chromium.org, elly...@chromium.org

                                        📎 It looks like you’re making a possibly security-sensitive change! 📎 IPC security review isn’t a rubberstamp, so your friendly security reviewer will need a fair amount of context to review your CL effectively. Please review your CL description and code comments to make sure they provide context for someone unfamiliar with your project/area. Pay special attention to where data comes from and which processes it flows between (and their privilege levels). Feel free to point your security reviewer at design docs, bugs, or other links if you can’t reasonably make a self-contained CL description. (Also see https://cbea.ms/git-commit/).

                                        IPC reviewer(s): dch...@chromium.org, elly...@chromium.org


                                        Reviewer source(s):
                                        dch...@chromium.org is from context(googleclient/chrome/chromium_gwsq/ipc/config.gwsq)

                                        Open in Gerrit

                                        Related details

                                        Attention is currently required from:
                                        • Daniel Cheng
                                        • Elly FJ
                                        • Jeremy Roman
                                        • Jingyun Liu
                                        • Nathan Memmott
                                        • Nico Weber
                                        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: I93f53ebb5d06c86a84a21f104b2e53ff78d8dedf
                                        Gerrit-Change-Number: 7568249
                                        Gerrit-PatchSet: 21
                                        Gerrit-Owner: Devin Cabillo <devinc...@google.com>
                                        Gerrit-Reviewer: Daniel Cheng <dch...@chromium.org>
                                        Gerrit-Reviewer: Devin Cabillo <devinc...@google.com>
                                        Gerrit-Reviewer: Elly FJ <elly...@chromium.org>
                                        Gerrit-Reviewer: Jeremy Roman <jbr...@chromium.org>
                                        Gerrit-Reviewer: Jingyun Liu <jin...@google.com>
                                        Gerrit-Reviewer: Nathan Memmott <mem...@chromium.org>
                                        Gerrit-Reviewer: Nico Weber <tha...@chromium.org>
                                        Gerrit-CC: AI Code Reviewer <peep-gen...@system.gserviceaccount.com>
                                        Gerrit-CC: Chromium IPC Reviews <chrome-ip...@google.com>
                                        Gerrit-CC: Jerome Jiang <ji...@chromium.org>
                                        Gerrit-CC: Kentaro Hara <har...@chromium.org>
                                        Gerrit-CC: Mirko Bonadei <mbon...@chromium.org>
                                        Gerrit-CC: Raphael Kubo da Costa <ku...@igalia.com>
                                        Gerrit-CC: gwsq
                                        Gerrit-Attention: Nico Weber <tha...@chromium.org>
                                        Gerrit-Attention: Nathan Memmott <mem...@chromium.org>
                                        Gerrit-Attention: Elly FJ <elly...@chromium.org>
                                        Gerrit-Attention: Jeremy Roman <jbr...@chromium.org>
                                        Gerrit-Attention: Jingyun Liu <jin...@google.com>
                                        Gerrit-Attention: Daniel Cheng <dch...@chromium.org>
                                        Gerrit-Comment-Date: Fri, 27 Feb 2026 19:07:46 +0000
                                        Gerrit-HasComments: No
                                        Gerrit-Has-Labels: No
                                        satisfied_requirement
                                        unsatisfied_requirement
                                        open
                                        diffy

                                        Elly FJ (Gerrit)

                                        unread,
                                        Feb 27, 2026, 4:17:20 PMFeb 27
                                        to Devin Cabillo, Elly FJ, Chromium IPC Reviews, Daniel Cheng, Jeremy Roman, Jingyun Liu, Nico Weber, Nathan Memmott, Jerome Jiang, Mirko Bonadei, AyeAye, Chromium LUCI CQ, AI Code Reviewer, chromium...@chromium.org, Kentaro Hara, Raphael Kubo da Costa, cblume...@chromium.org, jz...@chromium.org, mar...@chromium.org, browser-comp...@chromium.org, feature-me...@chromium.org, chromotin...@chromium.org, fgal...@chromium.org, devtools...@chromium.org, chrome-intelligence-te...@google.com, penghuan...@chromium.org, grt+...@chromium.org, net-r...@chromium.org, fuzzin...@chromium.org, chrome-intell...@chromium.org, blink-revie...@chromium.org, blink-re...@chromium.org, blink-revie...@chromium.org, blink-...@chromium.org, ipc-securi...@chromium.org, jmedle...@chromium.org, kinuko...@chromium.org
                                        Attention needed from Daniel Cheng, Devin Cabillo, Jeremy Roman, Jingyun Liu, Nathan Memmott and Nico Weber

                                        Elly FJ voted and added 1 comment

                                        Votes added by Elly FJ

                                        Code-Review+1

                                        1 comment

                                        Patchset-level comments
                                        Open in Gerrit

                                        Related details

                                        Attention is currently required from:
                                        • Daniel Cheng
                                        • Devin Cabillo
                                        • Jeremy Roman
                                        • Jingyun Liu
                                        • Nathan Memmott
                                        • Nico Weber
                                          Submit Requirements:
                                          • requirement satisfiedCode-Coverage
                                          • requirement satisfiedCode-Owners
                                          • requirement is not satisfiedCode-Review
                                          • requirement satisfiedReview-Enforcement
                                          Gerrit-Attention: Jeremy Roman <jbr...@chromium.org>
                                          Gerrit-Attention: Jingyun Liu <jin...@google.com>
                                          Gerrit-Attention: Devin Cabillo <devinc...@google.com>
                                          Gerrit-Attention: Daniel Cheng <dch...@chromium.org>
                                          Gerrit-Comment-Date: Fri, 27 Feb 2026 21:17:09 +0000
                                          Gerrit-HasComments: Yes
                                          Gerrit-Has-Labels: Yes
                                          satisfied_requirement
                                          unsatisfied_requirement
                                          open
                                          diffy

                                          Nathan Memmott (Gerrit)

                                          unread,
                                          Feb 27, 2026, 4:21:51 PMFeb 27
                                          to Devin Cabillo, Elly FJ, Chromium IPC Reviews, Daniel Cheng, Jeremy Roman, Jingyun Liu, Nico Weber, Jerome Jiang, Mirko Bonadei, AyeAye, Chromium LUCI CQ, AI Code Reviewer, chromium...@chromium.org, Kentaro Hara, Raphael Kubo da Costa, cblume...@chromium.org, jz...@chromium.org, mar...@chromium.org, browser-comp...@chromium.org, feature-me...@chromium.org, chromotin...@chromium.org, fgal...@chromium.org, devtools...@chromium.org, chrome-intelligence-te...@google.com, penghuan...@chromium.org, grt+...@chromium.org, net-r...@chromium.org, fuzzin...@chromium.org, chrome-intell...@chromium.org, blink-revie...@chromium.org, blink-re...@chromium.org, blink-revie...@chromium.org, blink-...@chromium.org, ipc-securi...@chromium.org, jmedle...@chromium.org, kinuko...@chromium.org
                                          Attention needed from Daniel Cheng, Devin Cabillo, Jeremy Roman, Jingyun Liu and Nico Weber

                                          Nathan Memmott voted Code-Review+1

                                          Code-Review+1
                                          Open in Gerrit

                                          Related details

                                          Attention is currently required from:
                                          • Daniel Cheng
                                          • Devin Cabillo
                                          • Jeremy Roman
                                          • Jingyun Liu
                                          • Nico Weber
                                          Submit Requirements:
                                            • requirement satisfiedCode-Coverage
                                            • requirement satisfiedCode-Owners
                                            • requirement satisfiedCode-Review
                                            • requirement satisfiedReview-Enforcement
                                            Gerrit-Attention: Jeremy Roman <jbr...@chromium.org>
                                            Gerrit-Attention: Jingyun Liu <jin...@google.com>
                                            Gerrit-Attention: Devin Cabillo <devinc...@google.com>
                                            Gerrit-Attention: Daniel Cheng <dch...@chromium.org>
                                            Gerrit-Comment-Date: Fri, 27 Feb 2026 21:21:44 +0000
                                            Gerrit-HasComments: No
                                            Gerrit-Has-Labels: Yes
                                            satisfied_requirement
                                            open
                                            diffy

                                            Devin Cabillo (Gerrit)

                                            unread,
                                            Feb 27, 2026, 4:22:19 PMFeb 27
                                            to Nathan Memmott, Elly FJ, Chromium IPC Reviews, Daniel Cheng, Jeremy Roman, Jingyun Liu, Nico Weber, Jerome Jiang, Mirko Bonadei, AyeAye, Chromium LUCI CQ, AI Code Reviewer, chromium...@chromium.org, Kentaro Hara, Raphael Kubo da Costa, cblume...@chromium.org, jz...@chromium.org, mar...@chromium.org, browser-comp...@chromium.org, feature-me...@chromium.org, chromotin...@chromium.org, fgal...@chromium.org, devtools...@chromium.org, chrome-intelligence-te...@google.com, penghuan...@chromium.org, grt+...@chromium.org, net-r...@chromium.org, fuzzin...@chromium.org, chrome-intell...@chromium.org, blink-revie...@chromium.org, blink-re...@chromium.org, blink-revie...@chromium.org, blink-...@chromium.org, ipc-securi...@chromium.org, jmedle...@chromium.org, kinuko...@chromium.org
                                            Attention needed from Daniel Cheng, Jeremy Roman, Jingyun Liu and Nico Weber

                                            Devin Cabillo voted Commit-Queue+2

                                            Commit-Queue+2
                                            Open in Gerrit

                                            Related details

                                            Attention is currently required from:
                                            • Daniel Cheng
                                            Gerrit-Attention: Daniel Cheng <dch...@chromium.org>
                                            Gerrit-Comment-Date: Fri, 27 Feb 2026 21:22:12 +0000
                                            Gerrit-HasComments: No
                                            Gerrit-Has-Labels: Yes
                                            satisfied_requirement
                                            open
                                            diffy

                                            Blink W3C Test Autoroller (Gerrit)

                                            unread,
                                            Feb 27, 2026, 4:29:25 PMFeb 27
                                            to Devin Cabillo, Nathan Memmott, Elly FJ, Chromium IPC Reviews, Daniel Cheng, Jeremy Roman, Jingyun Liu, Nico Weber, Jerome Jiang, Mirko Bonadei, AyeAye, Chromium LUCI CQ, AI Code Reviewer, chromium...@chromium.org, Kentaro Hara, Raphael Kubo da Costa, cblume...@chromium.org, jz...@chromium.org, mar...@chromium.org, browser-comp...@chromium.org, feature-me...@chromium.org, chromotin...@chromium.org, fgal...@chromium.org, devtools...@chromium.org, chrome-intelligence-te...@google.com, penghuan...@chromium.org, grt+...@chromium.org, net-r...@chromium.org, fuzzin...@chromium.org, chrome-intell...@chromium.org, blink-revie...@chromium.org, blink-re...@chromium.org, blink-revie...@chromium.org, blink-...@chromium.org, ipc-securi...@chromium.org, jmedle...@chromium.org, kinuko...@chromium.org
                                            Attention needed from Daniel Cheng, Jeremy Roman, Jingyun Liu and Nico Weber

                                            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/58120.

                                            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

                                            Gerrit-CC: Blink W3C Test Autoroller <blink-w3c-te...@chromium.org>
                                            Gerrit-CC: Chromium IPC Reviews <chrome-ip...@google.com>
                                            Gerrit-CC: Jerome Jiang <ji...@chromium.org>
                                            Gerrit-CC: Kentaro Hara <har...@chromium.org>
                                            Gerrit-CC: Mirko Bonadei <mbon...@chromium.org>
                                            Gerrit-CC: Raphael Kubo da Costa <ku...@igalia.com>
                                            Gerrit-CC: gwsq
                                            Gerrit-Attention: Nico Weber <tha...@chromium.org>
                                            Gerrit-Attention: Jeremy Roman <jbr...@chromium.org>
                                            Gerrit-Attention: Jingyun Liu <jin...@google.com>
                                            Gerrit-Attention: Daniel Cheng <dch...@chromium.org>
                                            Gerrit-Comment-Date: Fri, 27 Feb 2026 21:29:16 +0000
                                            Gerrit-HasComments: No
                                            Gerrit-Has-Labels: No
                                            satisfied_requirement
                                            open
                                            diffy

                                            Daniel Cheng (Gerrit)

                                            unread,
                                            Feb 27, 2026, 4:32:03 PMFeb 27
                                            to Devin Cabillo, Blink W3C Test Autoroller, Nathan Memmott, Elly FJ, Chromium IPC Reviews, Daniel Cheng, Jeremy Roman, Jingyun Liu, Nico Weber, Jerome Jiang, Mirko Bonadei, AyeAye, Chromium LUCI CQ, AI Code Reviewer, chromium...@chromium.org, Kentaro Hara, Raphael Kubo da Costa, cblume...@chromium.org, jz...@chromium.org, mar...@chromium.org, browser-comp...@chromium.org, feature-me...@chromium.org, chromotin...@chromium.org, fgal...@chromium.org, devtools...@chromium.org, chrome-intelligence-te...@google.com, penghuan...@chromium.org, grt+...@chromium.org, net-r...@chromium.org, fuzzin...@chromium.org, chrome-intell...@chromium.org, blink-revie...@chromium.org, blink-re...@chromium.org, blink-revie...@chromium.org, blink-...@chromium.org, ipc-securi...@chromium.org, jmedle...@chromium.org, kinuko...@chromium.org
                                            Attention needed from Devin Cabillo, Jeremy Roman, Jingyun Liu and Nico Weber

                                            Daniel Cheng added 8 comments

                                            File third_party/blink/renderer/modules/ai/classifier.h
                                            Line 53, Patchset 21 (Latest): void remoteExecute(
                                            Daniel Cheng . unresolved

                                            Is this actually an IDL-exposed method? Its naming suggests that it is... but it seems like it's an implementation detail (in which case the proper name is `RemoteExecute`).

                                            Line 25, Patchset 21 (Latest): AIWritingAssistanceBase<Classifier,
                                            Daniel Cheng . unresolved

                                            Not introduced by this CL, but this class could benefit from some high-level comments. I had to do a lot of background reading to start to understand the Blink plumbing.

                                            File third_party/blink/renderer/modules/ai/classifier.cc
                                            Line 22, Patchset 21 (Latest): // TODO(crbug.com/483707607): INTENTIONALLY EMPTY, Browser side code for
                                            Daniel Cheng . unresolved

                                            I don't quite understand why this references the browser here; this code is in the renderer?

                                            Line 57, Patchset 21 (Latest): std::string function_name) {
                                            Daniel Cheng . unresolved

                                            Don't pass std::string by value unless you're planning on taking ownership of the std::string here.

                                            Unfortunately it's really hard to figure out what the right thing is here because so much of the functionality is missing in this CL...

                                            Line 58, Patchset 21 (Latest): // No-op
                                            Daniel Cheng . unresolved

                                            I can't tell–is this a no-op because it's not implemented yet, or because it's always going to be a no-op?

                                            Line 149, Patchset 21 (Latest): if (!ai_manager_remote.is_connected()) {
                                            Daniel Cheng . unresolved

                                            How can this happen? It's not clear to me why other places in Blink are checking if this is connected either. Mojo message pipes don't just randomly become disconnected.

                                            Line 167, Patchset 21 (Latest): task_runner,
                                            Daniel Cheng . unresolved
                                            Nit:
                                            ```suggestion
                                            std::move(task_runner),
                                            ```
                                            Line 182, Patchset 21 (Latest): // Intentionally empty.
                                            Daniel Cheng . unresolved

                                            Similarly here: is this empty because it's a "to implement" kind of thing, or something else?

                                            Open in Gerrit

                                            Related details

                                            Attention is currently required from:
                                            • Devin Cabillo
                                            • Jeremy Roman
                                            • Jingyun Liu
                                            • Nico Weber
                                              Submit Requirements:
                                                • requirement satisfiedCode-Coverage
                                                • requirement satisfiedCode-Owners
                                                • requirement satisfiedCode-Review
                                                • requirement is not satisfiedNo-Unresolved-Comments
                                                • requirement satisfiedReview-Enforcement
                                                Gerrit-Attention: Devin Cabillo <devinc...@google.com>
                                                Gerrit-Comment-Date: Fri, 27 Feb 2026 21:31:55 +0000
                                                Gerrit-HasComments: Yes
                                                Gerrit-Has-Labels: No
                                                satisfied_requirement
                                                unsatisfied_requirement
                                                open
                                                diffy

                                                Daniel Cheng (Gerrit)

                                                unread,
                                                Feb 27, 2026, 5:29:39 PMFeb 27
                                                to Devin Cabillo, Blink W3C Test Autoroller, Nathan Memmott, Elly FJ, Chromium IPC Reviews, Daniel Cheng, Jeremy Roman, Jingyun Liu, Nico Weber, Jerome Jiang, Mirko Bonadei, AyeAye, Chromium LUCI CQ, AI Code Reviewer, chromium...@chromium.org, Kentaro Hara, Raphael Kubo da Costa, cblume...@chromium.org, jz...@chromium.org, mar...@chromium.org, browser-comp...@chromium.org, feature-me...@chromium.org, chromotin...@chromium.org, fgal...@chromium.org, devtools...@chromium.org, chrome-intelligence-te...@google.com, penghuan...@chromium.org, grt+...@chromium.org, net-r...@chromium.org, fuzzin...@chromium.org, chrome-intell...@chromium.org, blink-revie...@chromium.org, blink-re...@chromium.org, blink-revie...@chromium.org, blink-...@chromium.org, ipc-securi...@chromium.org, jmedle...@chromium.org, kinuko...@chromium.org
                                                Attention needed from Devin Cabillo, Jeremy Roman, Jingyun Liu and Nico Weber

                                                Daniel Cheng added 2 comments

                                                Patchset-level comments
                                                Daniel Cheng . unresolved

                                                Also, is there an intent to experiment/prototype/et cetera given that this is a web-exposed change?

                                                File third_party/blink/renderer/modules/ai/classifier.cc
                                                Line 199, Patchset 21 (Latest): const_cast<ClassifierCreateOptions*>(options),
                                                Daniel Cheng . unresolved

                                                Just don't mark the parameter const so we don't need to cast away constness.

                                                Gerrit-Comment-Date: Fri, 27 Feb 2026 22:29:31 +0000
                                                Gerrit-HasComments: Yes
                                                Gerrit-Has-Labels: No
                                                satisfied_requirement
                                                unsatisfied_requirement
                                                open
                                                diffy

                                                Devin Cabillo (Gerrit)

                                                unread,
                                                Feb 27, 2026, 6:56:33 PMFeb 27
                                                to Blink W3C Test Autoroller, Nathan Memmott, Elly FJ, Chromium IPC Reviews, Daniel Cheng, Jeremy Roman, Jingyun Liu, Nico Weber, Jerome Jiang, Mirko Bonadei, AyeAye, Chromium LUCI CQ, AI Code Reviewer, chromium...@chromium.org, Kentaro Hara, Raphael Kubo da Costa, cblume...@chromium.org, jz...@chromium.org, mar...@chromium.org, browser-comp...@chromium.org, feature-me...@chromium.org, chromotin...@chromium.org, fgal...@chromium.org, devtools...@chromium.org, chrome-intelligence-te...@google.com, penghuan...@chromium.org, grt+...@chromium.org, net-r...@chromium.org, fuzzin...@chromium.org, chrome-intell...@chromium.org, blink-revie...@chromium.org, blink-re...@chromium.org, blink-revie...@chromium.org, blink-...@chromium.org, ipc-securi...@chromium.org, jmedle...@chromium.org, kinuko...@chromium.org
                                                Attention needed from Daniel Cheng, Elly FJ, Jeremy Roman, Jingyun Liu, Nathan Memmott and Nico Weber

                                                Devin Cabillo added 10 comments

                                                Patchset-level comments
                                                File-level comment, Patchset 21:
                                                Daniel Cheng . resolved

                                                Also, is there an intent to experiment/prototype/et cetera given that this is a web-exposed change?

                                                Devin Cabillo

                                                There is no Intent to Prototype (I2P) thread yet. Right now, we are strictly in an early technical exploration phase. The immediate goal is just to land the foundational plumbing behind a disabled-by-default runtime flag so we can plug in a model, evaluate its performance/viability locally, and finalize the API shape. Once we have validated the model and are actually ready to propose this for wider experimentation or an Origin Trial, we will absolutely send out the formal I2P to blink-dev.

                                                File third_party/blink/renderer/modules/ai/classifier.h
                                                Line 53, Patchset 21: void remoteExecute(
                                                Daniel Cheng . resolved

                                                Is this actually an IDL-exposed method? Its naming suggests that it is... but it seems like it's an implementation detail (in which case the proper name is `RemoteExecute`).

                                                Devin Cabillo

                                                This is a virtual method inherited from AIWritingAssistanceBase. I've kept it as remoteExecute here to satisfy the override, but I will file a follow-up bug to rename it across all the AI APIs (Summarizer, Writer, etc.) so we don't balloon the scope of this specific CL.

                                                Line 25, Patchset 21: AIWritingAssistanceBase<Classifier,
                                                Daniel Cheng . resolved

                                                Not introduced by this CL, but this class could benefit from some high-level comments. I had to do a lot of background reading to start to understand the Blink plumbing.

                                                Devin Cabillo

                                                Done

                                                File third_party/blink/renderer/modules/ai/classifier.cc
                                                Line 22, Patchset 21: // TODO(crbug.com/483707607): INTENTIONALLY EMPTY, Browser side code for
                                                Daniel Cheng . resolved

                                                I don't quite understand why this references the browser here; this code is in the renderer?

                                                Devin Cabillo

                                                Done

                                                Line 57, Patchset 21: std::string function_name) {
                                                Daniel Cheng . resolved

                                                Don't pass std::string by value unless you're planning on taking ownership of the std::string here.

                                                Unfortunately it's really hard to figure out what the right thing is here because so much of the functionality is missing in this CL...

                                                Devin Cabillo

                                                Also inherited from WritingAssistantBase, creating bug to address updates to WebAI apis using WritingAssistantBase.

                                                Line 58, Patchset 21: // No-op
                                                Daniel Cheng . resolved

                                                I can't tell–is this a no-op because it's not implemented yet, or because it's always going to be a no-op?

                                                Devin Cabillo

                                                Done

                                                Line 149, Patchset 21: if (!ai_manager_remote.is_connected()) {
                                                Daniel Cheng . resolved

                                                How can this happen? It's not clear to me why other places in Blink are checking if this is connected either. Mojo message pipes don't just randomly become disconnected.

                                                Devin Cabillo

                                                Done

                                                Line 167, Patchset 21: task_runner,
                                                Daniel Cheng . resolved
                                                Nit:
                                                ```suggestion
                                                std::move(task_runner),
                                                ```
                                                Devin Cabillo

                                                Done

                                                Line 182, Patchset 21: // Intentionally empty.
                                                Daniel Cheng . resolved

                                                Similarly here: is this empty because it's a "to implement" kind of thing, or something else?

                                                Devin Cabillo

                                                Done

                                                Line 199, Patchset 21: const_cast<ClassifierCreateOptions*>(options),
                                                Daniel Cheng . resolved

                                                Just don't mark the parameter const so we don't need to cast away constness.

                                                Devin Cabillo

                                                Done

                                                Open in Gerrit

                                                Related details

                                                Attention is currently required from:
                                                • Daniel Cheng
                                                • Elly FJ
                                                • Jeremy Roman
                                                • Jingyun Liu
                                                • Nathan Memmott
                                                • Nico Weber
                                                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: I93f53ebb5d06c86a84a21f104b2e53ff78d8dedf
                                                  Gerrit-Change-Number: 7568249
                                                  Gerrit-PatchSet: 23
                                                  Gerrit-Owner: Devin Cabillo <devinc...@google.com>
                                                  Gerrit-Reviewer: Daniel Cheng <dch...@chromium.org>
                                                  Gerrit-Reviewer: Devin Cabillo <devinc...@google.com>
                                                  Gerrit-Reviewer: Elly FJ <elly...@chromium.org>
                                                  Gerrit-Reviewer: Jeremy Roman <jbr...@chromium.org>
                                                  Gerrit-Reviewer: Jingyun Liu <jin...@google.com>
                                                  Gerrit-Reviewer: Nathan Memmott <mem...@chromium.org>
                                                  Gerrit-Reviewer: Nico Weber <tha...@chromium.org>
                                                  Gerrit-CC: AI Code Reviewer <peep-gen...@system.gserviceaccount.com>
                                                  Gerrit-CC: Blink W3C Test Autoroller <blink-w3c-te...@chromium.org>
                                                  Gerrit-CC: Chromium IPC Reviews <chrome-ip...@google.com>
                                                  Gerrit-CC: Jerome Jiang <ji...@chromium.org>
                                                  Gerrit-CC: Kentaro Hara <har...@chromium.org>
                                                  Gerrit-CC: Mirko Bonadei <mbon...@chromium.org>
                                                  Gerrit-CC: Raphael Kubo da Costa <ku...@igalia.com>
                                                  Gerrit-CC: gwsq
                                                  Gerrit-Attention: Nico Weber <tha...@chromium.org>
                                                  Gerrit-Attention: Nathan Memmott <mem...@chromium.org>
                                                  Gerrit-Attention: Elly FJ <elly...@chromium.org>
                                                  Gerrit-Attention: Jeremy Roman <jbr...@chromium.org>
                                                  Gerrit-Attention: Jingyun Liu <jin...@google.com>
                                                  Gerrit-Attention: Daniel Cheng <dch...@chromium.org>
                                                  Gerrit-Comment-Date: Fri, 27 Feb 2026 23:56:26 +0000
                                                  Gerrit-HasComments: Yes
                                                  Gerrit-Has-Labels: No
                                                  Comment-In-Reply-To: Daniel Cheng <dch...@chromium.org>
                                                  satisfied_requirement
                                                  unsatisfied_requirement
                                                  open
                                                  diffy

                                                  Nathan Memmott (Gerrit)

                                                  unread,
                                                  Feb 27, 2026, 6:59:36 PMFeb 27
                                                  to Devin Cabillo, Blink W3C Test Autoroller, Elly FJ, Chromium IPC Reviews, Daniel Cheng, Jeremy Roman, Jingyun Liu, Nico Weber, Jerome Jiang, Mirko Bonadei, AyeAye, Chromium LUCI CQ, AI Code Reviewer, chromium...@chromium.org, Kentaro Hara, Raphael Kubo da Costa, cblume...@chromium.org, jz...@chromium.org, mar...@chromium.org, browser-comp...@chromium.org, feature-me...@chromium.org, chromotin...@chromium.org, fgal...@chromium.org, devtools...@chromium.org, chrome-intelligence-te...@google.com, penghuan...@chromium.org, grt+...@chromium.org, net-r...@chromium.org, fuzzin...@chromium.org, chrome-intell...@chromium.org, blink-revie...@chromium.org, blink-re...@chromium.org, blink-revie...@chromium.org, blink-...@chromium.org, ipc-securi...@chromium.org, jmedle...@chromium.org, kinuko...@chromium.org
                                                  Attention needed from Daniel Cheng, Devin Cabillo, Elly FJ, Jeremy Roman, Jingyun Liu and Nico Weber

                                                  Nathan Memmott voted Code-Review+1

                                                  Code-Review+1
                                                  Open in Gerrit

                                                  Related details

                                                  Attention is currently required from:
                                                  • Daniel Cheng
                                                  • Devin Cabillo
                                                  • Elly FJ
                                                  • Jeremy Roman
                                                  • Jingyun Liu
                                                  • Nico Weber
                                                  Submit Requirements:
                                                    • requirement satisfiedCode-Coverage
                                                    • requirement satisfiedCode-Owners
                                                    • requirement is not satisfiedCode-Review
                                                    • requirement satisfiedReview-Enforcement
                                                    Gerrit-Attention: Elly FJ <elly...@chromium.org>
                                                    Gerrit-Attention: Jeremy Roman <jbr...@chromium.org>
                                                    Gerrit-Attention: Jingyun Liu <jin...@google.com>
                                                    Gerrit-Attention: Devin Cabillo <devinc...@google.com>
                                                    Gerrit-Attention: Daniel Cheng <dch...@chromium.org>
                                                    Gerrit-Comment-Date: Fri, 27 Feb 2026 23:59:27 +0000
                                                    Gerrit-HasComments: No
                                                    Gerrit-Has-Labels: Yes
                                                    satisfied_requirement
                                                    unsatisfied_requirement
                                                    open
                                                    diffy

                                                    Jingyun Liu (Gerrit)

                                                    unread,
                                                    Feb 27, 2026, 7:00:07 PMFeb 27
                                                    to Devin Cabillo, Nathan Memmott, Blink W3C Test Autoroller, Elly FJ, Chromium IPC Reviews, Daniel Cheng, Jeremy Roman, Nico Weber, Jerome Jiang, Mirko Bonadei, AyeAye, Chromium LUCI CQ, AI Code Reviewer, chromium...@chromium.org, Kentaro Hara, Raphael Kubo da Costa, cblume...@chromium.org, jz...@chromium.org, mar...@chromium.org, browser-comp...@chromium.org, feature-me...@chromium.org, chromotin...@chromium.org, fgal...@chromium.org, devtools...@chromium.org, chrome-intelligence-te...@google.com, penghuan...@chromium.org, grt+...@chromium.org, net-r...@chromium.org, fuzzin...@chromium.org, chrome-intell...@chromium.org, blink-revie...@chromium.org, blink-re...@chromium.org, blink-revie...@chromium.org, blink-...@chromium.org, ipc-securi...@chromium.org, jmedle...@chromium.org, kinuko...@chromium.org
                                                    Attention needed from Daniel Cheng, Devin Cabillo, Elly FJ, Jeremy Roman and Nico Weber

                                                    Jingyun Liu voted Code-Review+1

                                                    Code-Review+1
                                                    Open in Gerrit

                                                    Related details

                                                    Attention is currently required from:
                                                    • Daniel Cheng
                                                    • Devin Cabillo
                                                    • Elly FJ
                                                    • Jeremy Roman
                                                    • Nico Weber
                                                    Submit Requirements:
                                                      • requirement satisfiedCode-Coverage
                                                      • requirement satisfiedCode-Owners
                                                      • requirement satisfiedCode-Review
                                                      • requirement satisfiedReview-Enforcement
                                                      Gerrit-Attention: Devin Cabillo <devinc...@google.com>
                                                      Gerrit-Attention: Daniel Cheng <dch...@chromium.org>
                                                      Gerrit-Comment-Date: Fri, 27 Feb 2026 23:59:58 +0000
                                                      Gerrit-HasComments: No
                                                      Gerrit-Has-Labels: Yes
                                                      satisfied_requirement
                                                      open
                                                      diffy

                                                      Daniel Cheng (Gerrit)

                                                      unread,
                                                      Mar 2, 2026, 4:39:28 PMMar 2
                                                      to Devin Cabillo, Daniel Cheng, Jingyun Liu, Nathan Memmott, Blink W3C Test Autoroller, Elly FJ, Chromium IPC Reviews, Jeremy Roman, Nico Weber, Jerome Jiang, Mirko Bonadei, AyeAye, Chromium LUCI CQ, AI Code Reviewer, chromium...@chromium.org, Kentaro Hara, Raphael Kubo da Costa, cblume...@chromium.org, jz...@chromium.org, mar...@chromium.org, browser-comp...@chromium.org, feature-me...@chromium.org, chromotin...@chromium.org, fgal...@chromium.org, devtools...@chromium.org, chrome-intelligence-te...@google.com, penghuan...@chromium.org, grt+...@chromium.org, net-r...@chromium.org, fuzzin...@chromium.org, chrome-intell...@chromium.org, blink-revie...@chromium.org, blink-re...@chromium.org, blink-revie...@chromium.org, blink-...@chromium.org, ipc-securi...@chromium.org, jmedle...@chromium.org, kinuko...@chromium.org
                                                      Attention needed from Devin Cabillo, Elly FJ, Jeremy Roman and Nico Weber

                                                      Daniel Cheng voted and added 1 comment

                                                      Votes added by Daniel Cheng

                                                      Code-Review+1

                                                      1 comment

                                                      Patchset-level comments
                                                      Daniel Cheng . resolved

                                                      Also, is there an intent to experiment/prototype/et cetera given that this is a web-exposed change?

                                                      Devin Cabillo

                                                      There is no Intent to Prototype (I2P) thread yet. Right now, we are strictly in an early technical exploration phase. The immediate goal is just to land the foundational plumbing behind a disabled-by-default runtime flag so we can plug in a model, evaluate its performance/viability locally, and finalize the API shape. Once we have validated the model and are actually ready to propose this for wider experimentation or an Origin Trial, we will absolutely send out the formal I2P to blink-dev.

                                                      Daniel Cheng

                                                      I talked offline with rbyers@ and we're OK to proceed as-is. Thanks.

                                                      Open in Gerrit

                                                      Related details

                                                      Attention is currently required from:
                                                      Gerrit-Comment-Date: Mon, 02 Mar 2026 21:39:21 +0000
                                                      Gerrit-HasComments: Yes
                                                      Gerrit-Has-Labels: Yes
                                                      Comment-In-Reply-To: Devin Cabillo <devinc...@google.com>
                                                      Comment-In-Reply-To: Daniel Cheng <dch...@chromium.org>
                                                      satisfied_requirement
                                                      open
                                                      diffy

                                                      Devin Cabillo (Gerrit)

                                                      unread,
                                                      Mar 2, 2026, 7:36:11 PMMar 2
                                                      to Daniel Cheng, Jingyun Liu, Nathan Memmott, Blink W3C Test Autoroller, Elly FJ, Chromium IPC Reviews, Jeremy Roman, Nico Weber, Jerome Jiang, Mirko Bonadei, AyeAye, Chromium LUCI CQ, AI Code Reviewer, chromium...@chromium.org, Kentaro Hara, Raphael Kubo da Costa, cblume...@chromium.org, jz...@chromium.org, mar...@chromium.org, browser-comp...@chromium.org, feature-me...@chromium.org, chromotin...@chromium.org, fgal...@chromium.org, devtools...@chromium.org, chrome-intelligence-te...@google.com, penghuan...@chromium.org, grt+...@chromium.org, net-r...@chromium.org, fuzzin...@chromium.org, chrome-intell...@chromium.org, blink-revie...@chromium.org, blink-re...@chromium.org, blink-revie...@chromium.org, blink-...@chromium.org, ipc-securi...@chromium.org, jmedle...@chromium.org, kinuko...@chromium.org
                                                      Attention needed from Elly FJ, Jeremy Roman and Nico Weber

                                                      Devin Cabillo voted Commit-Queue+2

                                                      Commit-Queue+2
                                                      Open in Gerrit

                                                      Related details

                                                      Attention is currently required from:
                                                      Gerrit-Comment-Date: Tue, 03 Mar 2026 00:36:02 +0000
                                                      Gerrit-HasComments: No
                                                      Gerrit-Has-Labels: Yes
                                                      satisfied_requirement
                                                      open
                                                      diffy

                                                      Nathan Memmott (Gerrit)

                                                      unread,
                                                      Mar 2, 2026, 8:09:27 PMMar 2
                                                      to Devin Cabillo, Daniel Cheng, Jingyun Liu, Blink W3C Test Autoroller, Elly FJ, Chromium IPC Reviews, Jeremy Roman, Nico Weber, Jerome Jiang, Mirko Bonadei, AyeAye, Chromium LUCI CQ, AI Code Reviewer, chromium...@chromium.org, Kentaro Hara, Raphael Kubo da Costa, cblume...@chromium.org, jz...@chromium.org, mar...@chromium.org, browser-comp...@chromium.org, feature-me...@chromium.org, chromotin...@chromium.org, fgal...@chromium.org, devtools...@chromium.org, chrome-intelligence-te...@google.com, penghuan...@chromium.org, grt+...@chromium.org, net-r...@chromium.org, fuzzin...@chromium.org, chrome-intell...@chromium.org, blink-revie...@chromium.org, blink-re...@chromium.org, blink-revie...@chromium.org, blink-...@chromium.org, ipc-securi...@chromium.org, jmedle...@chromium.org, kinuko...@chromium.org
                                                      Attention needed from Devin Cabillo, Elly FJ, Jeremy Roman and Nico Weber

                                                      Nathan Memmott voted and added 1 comment

                                                      Votes added by Nathan Memmott

                                                      Code-Review-1

                                                      1 comment

                                                      Patchset-level comments
                                                      File-level comment, Patchset 23 (Latest):
                                                      Nathan Memmott . resolved

                                                      Pausing this until further review.

                                                      Open in Gerrit

                                                      Related details

                                                      Attention is currently required from:
                                                      • Devin Cabillo
                                                      • Elly FJ
                                                      • Jeremy Roman
                                                      • Nico Weber
                                                        Submit Requirements:
                                                          • requirement satisfiedCode-Coverage
                                                          • requirement satisfiedCode-Owners
                                                          • requirement is blockingCode-Review
                                                          • requirement satisfiedReview-Enforcement
                                                          Gerrit-Attention: Devin Cabillo <devinc...@google.com>
                                                          Gerrit-Comment-Date: Tue, 03 Mar 2026 01:09:18 +0000
                                                          Gerrit-HasComments: Yes
                                                          Gerrit-Has-Labels: Yes
                                                          satisfied_requirement
                                                          blocking_requirement
                                                          open
                                                          diffy

                                                          Nathan Memmott (Gerrit)

                                                          unread,
                                                          Mar 3, 2026, 12:31:50 PMMar 3
                                                          to Devin Cabillo, Daniel Cheng, Jingyun Liu, Blink W3C Test Autoroller, Elly FJ, Chromium IPC Reviews, Jeremy Roman, Nico Weber, Jerome Jiang, Mirko Bonadei, AyeAye, Chromium LUCI CQ, AI Code Reviewer, chromium...@chromium.org, Kentaro Hara, Raphael Kubo da Costa, cblume...@chromium.org, jz...@chromium.org, mar...@chromium.org, browser-comp...@chromium.org, feature-me...@chromium.org, chromotin...@chromium.org, fgal...@chromium.org, devtools...@chromium.org, chrome-intelligence-te...@google.com, penghuan...@chromium.org, grt+...@chromium.org, net-r...@chromium.org, fuzzin...@chromium.org, chrome-intell...@chromium.org, blink-revie...@chromium.org, blink-re...@chromium.org, blink-revie...@chromium.org, blink-...@chromium.org, ipc-securi...@chromium.org, jmedle...@chromium.org, kinuko...@chromium.org
                                                          Attention needed from Devin Cabillo, Elly FJ, Jeremy Roman and Nico Weber

                                                          Nathan Memmott voted Code-Review+0

                                                          Code-Review+0
                                                          Open in Gerrit

                                                          Related details

                                                          Attention is currently required from:
                                                          • Devin Cabillo
                                                          • Elly FJ
                                                          • Jeremy Roman
                                                          • Nico Weber
                                                          Submit Requirements:
                                                            • requirement satisfiedCode-Coverage
                                                            • requirement satisfiedCode-Owners
                                                            • requirement satisfiedCode-Review
                                                            • requirement satisfiedReview-Enforcement
                                                            Gerrit-Comment-Date: Tue, 03 Mar 2026 17:31:38 +0000
                                                            Gerrit-HasComments: No
                                                            Gerrit-Has-Labels: Yes
                                                            satisfied_requirement
                                                            open
                                                            diffy

                                                            Nathan Memmott (Gerrit)

                                                            unread,
                                                            Mar 6, 2026, 12:10:31 PMMar 6
                                                            to Devin Cabillo, Daniel Cheng, Jingyun Liu, Blink W3C Test Autoroller, Elly FJ, Chromium IPC Reviews, Jeremy Roman, Nico Weber, Jerome Jiang, Mirko Bonadei, AyeAye, Chromium LUCI CQ, AI Code Reviewer, chromium...@chromium.org, Kentaro Hara, Raphael Kubo da Costa, cblume...@chromium.org, jz...@chromium.org, mar...@chromium.org, browser-comp...@chromium.org, feature-me...@chromium.org, chromotin...@chromium.org, fgal...@chromium.org, devtools...@chromium.org, chrome-intelligence-te...@google.com, penghuan...@chromium.org, grt+...@chromium.org, net-r...@chromium.org, fuzzin...@chromium.org, chrome-intell...@chromium.org, blink-revie...@chromium.org, blink-re...@chromium.org, blink-revie...@chromium.org, blink-...@chromium.org, ipc-securi...@chromium.org, jmedle...@chromium.org, kinuko...@chromium.org
                                                            Attention needed from Devin Cabillo, Elly FJ, Jeremy Roman and Nico Weber

                                                            Nathan Memmott voted Code-Review+1

                                                            Code-Review+1
                                                            Gerrit-Comment-Date: Fri, 06 Mar 2026 17:10:12 +0000
                                                            Gerrit-HasComments: No
                                                            Gerrit-Has-Labels: Yes
                                                            satisfied_requirement
                                                            open
                                                            diffy

                                                            Devin Cabillo (Gerrit)

                                                            unread,
                                                            Mar 6, 2026, 12:20:38 PMMar 6
                                                            to Daniel Cheng, Jingyun Liu, Nathan Memmott, Blink W3C Test Autoroller, Elly FJ, Chromium IPC Reviews, Jeremy Roman, Nico Weber, Jerome Jiang, Mirko Bonadei, AyeAye, Chromium LUCI CQ, AI Code Reviewer, chromium...@chromium.org, Kentaro Hara, Raphael Kubo da Costa, cblume...@chromium.org, jz...@chromium.org, mar...@chromium.org, browser-comp...@chromium.org, feature-me...@chromium.org, chromotin...@chromium.org, fgal...@chromium.org, devtools...@chromium.org, chrome-intelligence-te...@google.com, penghuan...@chromium.org, grt+...@chromium.org, net-r...@chromium.org, fuzzin...@chromium.org, chrome-intell...@chromium.org, blink-revie...@chromium.org, blink-re...@chromium.org, blink-revie...@chromium.org, blink-...@chromium.org, ipc-securi...@chromium.org, jmedle...@chromium.org, kinuko...@chromium.org
                                                            Attention needed from Elly FJ, Jeremy Roman and Nico Weber

                                                            Devin Cabillo voted Commit-Queue+2

                                                            Commit-Queue+2
                                                            Open in Gerrit

                                                            Related details

                                                            Attention is currently required from:
                                                            Gerrit-Comment-Date: Fri, 06 Mar 2026 17:20:26 +0000
                                                            Gerrit-HasComments: No
                                                            Gerrit-Has-Labels: Yes
                                                            satisfied_requirement
                                                            open
                                                            diffy

                                                            Devin Cabillo (Gerrit)

                                                            unread,
                                                            Mar 6, 2026, 2:53:22 PMMar 6
                                                            to Daniel Cheng, Jingyun Liu, Nathan Memmott, Blink W3C Test Autoroller, Elly FJ, Chromium IPC Reviews, Jeremy Roman, Nico Weber, Jerome Jiang, Mirko Bonadei, AyeAye, Chromium LUCI CQ, AI Code Reviewer, chromium...@chromium.org, Kentaro Hara, Raphael Kubo da Costa, cblume...@chromium.org, jz...@chromium.org, mar...@chromium.org, browser-comp...@chromium.org, feature-me...@chromium.org, chromotin...@chromium.org, fgal...@chromium.org, devtools...@chromium.org, chrome-intelligence-te...@google.com, penghuan...@chromium.org, grt+...@chromium.org, net-r...@chromium.org, fuzzin...@chromium.org, chrome-intell...@chromium.org, blink-revie...@chromium.org, blink-re...@chromium.org, blink-revie...@chromium.org, blink-...@chromium.org, ipc-securi...@chromium.org, jmedle...@chromium.org, kinuko...@chromium.org
                                                            Gerrit-Comment-Date: Fri, 06 Mar 2026 19:53:10 +0000
                                                            Gerrit-HasComments: No
                                                            Gerrit-Has-Labels: Yes
                                                            satisfied_requirement
                                                            open
                                                            diffy

                                                            Chromium LUCI CQ (Gerrit)

                                                            unread,
                                                            Mar 6, 2026, 2:57:49 PMMar 6
                                                            to Devin Cabillo, Daniel Cheng, Jingyun Liu, Nathan Memmott, Blink W3C Test Autoroller, Elly FJ, Chromium IPC Reviews, Jeremy Roman, Nico Weber, Jerome Jiang, Mirko Bonadei, AyeAye, AI Code Reviewer, chromium...@chromium.org, Kentaro Hara, Raphael Kubo da Costa, cblume...@chromium.org, jz...@chromium.org, mar...@chromium.org, browser-comp...@chromium.org, feature-me...@chromium.org, chromotin...@chromium.org, fgal...@chromium.org, devtools...@chromium.org, chrome-intelligence-te...@google.com, penghuan...@chromium.org, grt+...@chromium.org, net-r...@chromium.org, fuzzin...@chromium.org, chrome-intell...@chromium.org, blink-revie...@chromium.org, blink-re...@chromium.org, blink-revie...@chromium.org, blink-...@chromium.org, ipc-securi...@chromium.org, jmedle...@chromium.org, kinuko...@chromium.org

                                                            Chromium LUCI CQ submitted the change

                                                            Change information

                                                            Commit message:
                                                            Create renderer side code for ai taxonomy API

                                                            Implementation stubbed out in accordance to go/chrome-ipc-stubs-trial


                                                            Feature currently disabled and returns an empty promise
                                                            pending browser side implementation and link

                                                            What is this API supposed to do?
                                                            - It will be used in devTrial for adds to perform Taxonomy on Webpages. Strings will be passed through this layer (blink) and then end up on the ai engine within optimization_guide to classify text into IAB taxonomies using a tinyGemma model.


                                                            Who will call it and who will implement it?
                                                            -It should be an open endpoint eventually for developers, but for now it will be a built in API to pass text to and provide IAB Taxonomies. Browser process will eventually pass the logic to optimization_guide to perform inference


                                                            What data will be passed where and by whom?
                                                            -For the DevTrial we will be focused on the developer(Ads) passing a simple text string (the input to be classified) and an optional dictionary of settings


                                                            If text is being parsed (it sounds like it is), where does that occur?
                                                            -In the Blink (Renderer) layer, the text is treated strictly as a string. No linguistic parsing or tokenization occurs in the rendering engine. The string is serialized and passed across the Mojo IPC boundary to the Browser process. The actual "parsing" (tokenization, embedding, and model inference) happens safely inside the underlying AI execution engine


                                                            Bug: 483707964
                                                            Change-Id: I93f53ebb5d06c86a84a21f104b2e53ff78d8dedf
                                                            Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7568249
                                                            Reviewed-by: Daniel Cheng <dch...@chromium.org>
                                                            Commit-Queue: Devin Cabillo <devinc...@google.com>
                                                            Reviewed-by: Jingyun Liu <jin...@google.com>
                                                            Reviewed-by: Nathan Memmott <mem...@chromium.org>
                                                            Cr-Commit-Position: refs/heads/main@{#1595586}
                                                            Files:
                                                            • M third_party/blink/public/mojom/BUILD.gn
                                                            • A third_party/blink/public/mojom/ai/ai_classifier.mojom
                                                            • M third_party/blink/renderer/bindings/generated_in_modules.gni
                                                            • M third_party/blink/renderer/bindings/idl_in_modules.gni
                                                            • M third_party/blink/renderer/modules/ai/BUILD.gn
                                                            • A third_party/blink/renderer/modules/ai/classifier.cc
                                                            • A third_party/blink/renderer/modules/ai/classifier.h
                                                            • A third_party/blink/renderer/modules/ai/classifier.idl
                                                            • M third_party/blink/renderer/platform/runtime_enabled_features.json5
                                                            • A third_party/blink/web_tests/external/wpt/ai/classifier/classifier-availability.tentative.https.window.js
                                                            • A third_party/blink/web_tests/external/wpt/ai/classifier/classifier-create.tentative.https.window.js
                                                            • M third_party/blink/web_tests/webexposed/global-interface-listing-expected.txt
                                                            Change size: L
                                                            Delta: 12 files changed, 418 insertions(+), 0 deletions(-)
                                                            Branch: refs/heads/main
                                                            Submit Requirements:
                                                            • requirement satisfiedCode-Review: +1 by Nathan Memmott, +1 by Daniel Cheng, +1 by Jingyun Liu
                                                            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: I93f53ebb5d06c86a84a21f104b2e53ff78d8dedf
                                                            Gerrit-Change-Number: 7568249
                                                            Gerrit-PatchSet: 24
                                                            Gerrit-Owner: Devin Cabillo <devinc...@google.com>
                                                            Gerrit-Reviewer: Chromium LUCI CQ <chromiu...@luci-project-accounts.iam.gserviceaccount.com>
                                                            Gerrit-Reviewer: Daniel Cheng <dch...@chromium.org>
                                                            Gerrit-Reviewer: Devin Cabillo <devinc...@google.com>
                                                            Gerrit-Reviewer: Elly FJ <elly...@chromium.org>
                                                            Gerrit-Reviewer: Jeremy Roman <jbr...@chromium.org>
                                                            Gerrit-Reviewer: Jingyun Liu <jin...@google.com>
                                                            Gerrit-Reviewer: Nathan Memmott <mem...@chromium.org>
                                                            Gerrit-Reviewer: Nico Weber <tha...@chromium.org>
                                                            Gerrit-CC: AI Code Reviewer <peep-gen...@system.gserviceaccount.com>
                                                            Gerrit-CC: Blink W3C Test Autoroller <blink-w3c-te...@chromium.org>
                                                            Gerrit-CC: Chromium IPC Reviews <chrome-ip...@google.com>
                                                            open
                                                            diffy
                                                            satisfied_requirement

                                                            Blink W3C Test Autoroller (Gerrit)

                                                            unread,
                                                            Mar 7, 2026, 12:20:34 AMMar 7
                                                            to Chromium LUCI CQ, Devin Cabillo, Daniel Cheng, Jingyun Liu, Nathan Memmott, Elly FJ, Chromium IPC Reviews, Jeremy Roman, Nico Weber, Jerome Jiang, Mirko Bonadei, AyeAye, AI Code Reviewer, chromium...@chromium.org, Kentaro Hara, Raphael Kubo da Costa, cblume...@chromium.org, jz...@chromium.org, mar...@chromium.org, browser-comp...@chromium.org, feature-me...@chromium.org, chromotin...@chromium.org, fgal...@chromium.org, devtools...@chromium.org, chrome-intelligence-te...@google.com, penghuan...@chromium.org, grt+...@chromium.org, net-r...@chromium.org, fuzzin...@chromium.org, chrome-intell...@chromium.org, blink-revie...@chromium.org, blink-re...@chromium.org, blink-revie...@chromium.org, blink-...@chromium.org, ipc-securi...@chromium.org, jmedle...@chromium.org, kinuko...@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/58120

                                                            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: I93f53ebb5d06c86a84a21f104b2e53ff78d8dedf
                                                            Gerrit-Change-Number: 7568249
                                                            Gerrit-PatchSet: 24
                                                            Gerrit-Owner: Devin Cabillo <devinc...@google.com>
                                                            Gerrit-Reviewer: Chromium LUCI CQ <chromiu...@luci-project-accounts.iam.gserviceaccount.com>
                                                            Gerrit-Reviewer: Daniel Cheng <dch...@chromium.org>
                                                            Gerrit-Reviewer: Devin Cabillo <devinc...@google.com>
                                                            Gerrit-Reviewer: Elly FJ <elly...@chromium.org>
                                                            Gerrit-Reviewer: Jeremy Roman <jbr...@chromium.org>
                                                            Gerrit-Reviewer: Jingyun Liu <jin...@google.com>
                                                            Gerrit-Reviewer: Nathan Memmott <mem...@chromium.org>
                                                            Gerrit-Reviewer: Nico Weber <tha...@chromium.org>
                                                            Gerrit-CC: AI Code Reviewer <peep-gen...@system.gserviceaccount.com>
                                                            Gerrit-CC: Blink W3C Test Autoroller <blink-w3c-te...@chromium.org>
                                                            Gerrit-CC: Chromium IPC Reviews <chrome-ip...@google.com>
                                                            Gerrit-CC: Jerome Jiang <ji...@chromium.org>
                                                            Gerrit-CC: Kentaro Hara <har...@chromium.org>
                                                            Gerrit-CC: Mirko Bonadei <mbon...@chromium.org>
                                                            Gerrit-CC: Raphael Kubo da Costa <ku...@igalia.com>
                                                            Gerrit-CC: gwsq
                                                            Gerrit-Comment-Date: Sat, 07 Mar 2026 05:20:28 +0000
                                                            Gerrit-HasComments: No
                                                            Gerrit-Has-Labels: No
                                                            satisfied_requirement
                                                            open
                                                            diffy
                                                            Reply all
                                                            Reply to author
                                                            Forward
                                                            0 new messages