[FPF-CI] Track triggers when canvas is transferred to offscreen [chromium/src : main]

0 views
Skip to first unread message

Tom Van Goethem (Gerrit)

unread,
Jun 19, 2025, 9:51:18 AMJun 19
to Jean-Philippe Gravel, John Kim, Dirk Schulze, Stephen Chenney, AyeAye, Chromium LUCI CQ, drott+bl...@chromium.org, fmalit...@chromium.org, kinuko...@chromium.org, blink-reviews-p...@chromium.org, fserb...@chromium.org, blink-...@chromium.org, blink-rev...@chromium.org
Attention needed from Jean-Philippe Gravel and John Kim

Tom Van Goethem added 1 comment

Patchset-level comments
File-level comment, Patchset 9 (Latest):
Tom Van Goethem . resolved

This CL is mostly ready, except for the tests - which I can't quite seem to figure out. See details in comment.

Open in Gerrit

Related details

Attention is currently required from:
  • Jean-Philippe Gravel
  • John Kim
Submit Requirements:
  • requirement satisfiedCode-Coverage
  • requirement is not satisfiedCode-Review
Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. DiffyGerrit
Gerrit-MessageType: comment
Gerrit-Project: chromium/src
Gerrit-Branch: main
Gerrit-Change-Id: I3a4060ef1bffe6be7538349b5f972a371bc051bb
Gerrit-Change-Number: 6652692
Gerrit-PatchSet: 9
Gerrit-Owner: Tom Van Goethem <t...@chromium.org>
Gerrit-Reviewer: Jean-Philippe Gravel <jpgr...@chromium.org>
Gerrit-Reviewer: John Kim <john...@google.com>
Gerrit-Reviewer: Tom Van Goethem <t...@chromium.org>
Gerrit-CC: Dirk Schulze <dsch...@chromium.org>
Gerrit-CC: Stephen Chenney <sche...@chromium.org>
Gerrit-Attention: John Kim <john...@google.com>
Gerrit-Attention: Jean-Philippe Gravel <jpgr...@chromium.org>
Gerrit-Comment-Date: Thu, 19 Jun 2025 13:51:04 +0000
Gerrit-HasComments: Yes
Gerrit-Has-Labels: No
satisfied_requirement
unsatisfied_requirement
open
diffy

Tom Van Goethem (Gerrit)

unread,
Jun 19, 2025, 9:56:56 AMJun 19
to Jean-Philippe Gravel, John Kim, Dirk Schulze, Stephen Chenney, AyeAye, Chromium LUCI CQ, drott+bl...@chromium.org, fmalit...@chromium.org, kinuko...@chromium.org, blink-reviews-p...@chromium.org, fserb...@chromium.org, blink-...@chromium.org, blink-rev...@chromium.org
Attention needed from Jean-Philippe Gravel and John Kim

Tom Van Goethem added 1 comment

File third_party/blink/renderer/modules/canvas/htmlcanvas/html_canvas_element_module_test.cc
Line 174, Patchset 9 (Latest): // This is failing because the resource provider is a
// CanvasResourceProviderBitmap instead of a
// CanvasResourceProviderSharedImage. This is because the context is not
// accelerated.
Tom Van Goethem . unresolved

@jpgr...@chromium.org - I was wondering if you could possibly point me in the right direction here? I've been doing some debugging, and it seems that the resource provider of the offscreen canvas is a `CanvasResourceProviderBitmap`, whereas I was expecting it to have a `CanvasResourceProviderSharedImage`. I presume that this is because the canvas is not accelerated (I'm running tests on a device without a GPU). Is there some other way that I can still get the CanvasResource that is created by the offscreen canvas? Or should I change the way that I'm trying to test things?

Open in Gerrit

Related details

Attention is currently required from:
  • Jean-Philippe Gravel
  • John Kim
Submit Requirements:
    • requirement satisfiedCode-Coverage
    • requirement is not satisfiedCode-Review
    • requirement is not satisfiedNo-Unresolved-Comments
    Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. DiffyGerrit
    Gerrit-MessageType: comment
    Gerrit-Project: chromium/src
    Gerrit-Branch: main
    Gerrit-Change-Id: I3a4060ef1bffe6be7538349b5f972a371bc051bb
    Gerrit-Change-Number: 6652692
    Gerrit-PatchSet: 9
    Gerrit-Owner: Tom Van Goethem <t...@chromium.org>
    Gerrit-Reviewer: Jean-Philippe Gravel <jpgr...@chromium.org>
    Gerrit-Reviewer: John Kim <john...@google.com>
    Gerrit-Reviewer: Tom Van Goethem <t...@chromium.org>
    Gerrit-CC: Dirk Schulze <dsch...@chromium.org>
    Gerrit-CC: Stephen Chenney <sche...@chromium.org>
    Gerrit-Attention: John Kim <john...@google.com>
    Gerrit-Attention: Jean-Philippe Gravel <jpgr...@chromium.org>
    Gerrit-Comment-Date: Thu, 19 Jun 2025 13:56:45 +0000
    Gerrit-HasComments: Yes
    Gerrit-Has-Labels: No
    satisfied_requirement
    unsatisfied_requirement
    open
    diffy

    Jean-Philippe Gravel (Gerrit)

    unread,
    Jun 19, 2025, 4:39:31 PMJun 19
    to Tom Van Goethem, John Kim, Dirk Schulze, Stephen Chenney, AyeAye, Chromium LUCI CQ, drott+bl...@chromium.org, fmalit...@chromium.org, kinuko...@chromium.org, blink-reviews-p...@chromium.org, fserb...@chromium.org, blink-...@chromium.org, blink-rev...@chromium.org
    Attention needed from John Kim and Tom Van Goethem

    Jean-Philippe Gravel added 1 comment

    File third_party/blink/renderer/modules/canvas/htmlcanvas/html_canvas_element_module_test.cc
    Line 174, Patchset 9 (Latest): // This is failing because the resource provider is a
    // CanvasResourceProviderBitmap instead of a
    // CanvasResourceProviderSharedImage. This is because the context is not
    // accelerated.
    Tom Van Goethem . unresolved

    @jpgr...@chromium.org - I was wondering if you could possibly point me in the right direction here? I've been doing some debugging, and it seems that the resource provider of the offscreen canvas is a `CanvasResourceProviderBitmap`, whereas I was expecting it to have a `CanvasResourceProviderSharedImage`. I presume that this is because the canvas is not accelerated (I'm running tests on a device without a GPU). Is there some other way that I can still get the CanvasResource that is created by the offscreen canvas? Or should I change the way that I'm trying to test things?

    Jean-Philippe Gravel

    We have unit tests validating GPU accelerated code paths. [See how I enabled GPU acceleration in canvas_noise_test.cc](https://crrev.com/c/6438556) ;)

    What happens here is that a software resource provider was used because GPU compositing was disabled ([see here](https://crsrc.org/c/third_party/blink/renderer/core/offscreencanvas/offscreen_canvas.cc;l=646;drc=c06fea974510acde08228ce5a0dd6927436b4deb)).

    You'll need to add this at the beginning of the test:
    ```
    ScopedTestingPlatformSupport<GpuMemoryBufferTestPlatform> platform;
    scoped_refptr<viz::TestContextProvider> test_context_provider =
    viz::TestContextProvider::CreateRaster();
    InitializeSharedGpuContextRaster(test_context_provider.get());
    test_context_provider->GetTestRasterInterface()->set_gpu_rasterization(true);
    ```
    and this at the end:
    ```
    SharedGpuContext::Reset();
    ```
    Open in Gerrit

    Related details

    Attention is currently required from:
    • John Kim
    • Tom Van Goethem
    Submit Requirements:
    • requirement satisfiedCode-Coverage
    • requirement is not satisfiedCode-Review
    • requirement is not satisfiedNo-Unresolved-Comments
    Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. DiffyGerrit
    Gerrit-MessageType: comment
    Gerrit-Project: chromium/src
    Gerrit-Branch: main
    Gerrit-Change-Id: I3a4060ef1bffe6be7538349b5f972a371bc051bb
    Gerrit-Change-Number: 6652692
    Gerrit-PatchSet: 9
    Gerrit-Owner: Tom Van Goethem <t...@chromium.org>
    Gerrit-Reviewer: Jean-Philippe Gravel <jpgr...@chromium.org>
    Gerrit-Reviewer: John Kim <john...@google.com>
    Gerrit-Reviewer: Tom Van Goethem <t...@chromium.org>
    Gerrit-CC: Dirk Schulze <dsch...@chromium.org>
    Gerrit-CC: Stephen Chenney <sche...@chromium.org>
    Gerrit-Attention: John Kim <john...@google.com>
    Gerrit-Attention: Tom Van Goethem <t...@chromium.org>
    Gerrit-Comment-Date: Thu, 19 Jun 2025 20:39:26 +0000
    Gerrit-HasComments: Yes
    Gerrit-Has-Labels: No
    Comment-In-Reply-To: Tom Van Goethem <t...@chromium.org>
    satisfied_requirement
    unsatisfied_requirement
    open
    diffy

    Tom Van Goethem (Gerrit)

    unread,
    Jun 19, 2025, 6:58:38 PMJun 19
    to Jean-Philippe Gravel, John Kim, Dirk Schulze, Stephen Chenney, AyeAye, Chromium LUCI CQ, drott+bl...@chromium.org, fmalit...@chromium.org, kinuko...@chromium.org, blink-reviews-p...@chromium.org, fserb...@chromium.org, blink-...@chromium.org, blink-rev...@chromium.org
    Attention needed from Jean-Philippe Gravel and John Kim

    Tom Van Goethem added 1 comment

    File third_party/blink/renderer/modules/canvas/htmlcanvas/html_canvas_element_module_test.cc
    Line 174, Patchset 9: // This is failing because the resource provider is a

    // CanvasResourceProviderBitmap instead of a
    // CanvasResourceProviderSharedImage. This is because the context is not
    // accelerated.
    Tom Van Goethem . resolved

    @jpgr...@chromium.org - I was wondering if you could possibly point me in the right direction here? I've been doing some debugging, and it seems that the resource provider of the offscreen canvas is a `CanvasResourceProviderBitmap`, whereas I was expecting it to have a `CanvasResourceProviderSharedImage`. I presume that this is because the canvas is not accelerated (I'm running tests on a device without a GPU). Is there some other way that I can still get the CanvasResource that is created by the offscreen canvas? Or should I change the way that I'm trying to test things?

    Jean-Philippe Gravel

    We have unit tests validating GPU accelerated code paths. [See how I enabled GPU acceleration in canvas_noise_test.cc](https://crrev.com/c/6438556) ;)

    What happens here is that a software resource provider was used because GPU compositing was disabled ([see here](https://crsrc.org/c/third_party/blink/renderer/core/offscreencanvas/offscreen_canvas.cc;l=646;drc=c06fea974510acde08228ce5a0dd6927436b4deb)).

    You'll need to add this at the beginning of the test:
    ```
    ScopedTestingPlatformSupport<GpuMemoryBufferTestPlatform> platform;
    scoped_refptr<viz::TestContextProvider> test_context_provider =
    viz::TestContextProvider::CreateRaster();
    InitializeSharedGpuContextRaster(test_context_provider.get());
    test_context_provider->GetTestRasterInterface()->set_gpu_rasterization(true);
    ```
    and this at the end:
    ```
    SharedGpuContext::Reset();
    ```
    Tom Van Goethem

    Ahhh, I should've remembered that :) That seems to have fixed the test. Thanks a lot!

    Open in Gerrit

    Related details

    Attention is currently required from:
    • Jean-Philippe Gravel
    • John Kim
    Submit Requirements:
    • requirement satisfiedCode-Coverage
    • requirement is not satisfiedCode-Review
    Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. DiffyGerrit
    Gerrit-MessageType: comment
    Gerrit-Project: chromium/src
    Gerrit-Branch: main
    Gerrit-Change-Id: I3a4060ef1bffe6be7538349b5f972a371bc051bb
    Gerrit-Change-Number: 6652692
    Gerrit-PatchSet: 10
    Gerrit-Owner: Tom Van Goethem <t...@chromium.org>
    Gerrit-Reviewer: Jean-Philippe Gravel <jpgr...@chromium.org>
    Gerrit-Reviewer: John Kim <john...@google.com>
    Gerrit-Reviewer: Tom Van Goethem <t...@chromium.org>
    Gerrit-CC: Dirk Schulze <dsch...@chromium.org>
    Gerrit-CC: Stephen Chenney <sche...@chromium.org>
    Gerrit-Attention: John Kim <john...@google.com>
    Gerrit-Attention: Jean-Philippe Gravel <jpgr...@chromium.org>
    Gerrit-Comment-Date: Thu, 19 Jun 2025 22:58:22 +0000
    Gerrit-HasComments: Yes
    Gerrit-Has-Labels: No
    Comment-In-Reply-To: Jean-Philippe Gravel <jpgr...@chromium.org>
    satisfied_requirement
    unsatisfied_requirement
    open
    diffy

    John Kim (Gerrit)

    unread,
    Jun 24, 2025, 11:00:28 AMJun 24
    to Tom Van Goethem, Code Review Nudger, Jean-Philippe Gravel, Dirk Schulze, Stephen Chenney, AyeAye, Chromium LUCI CQ, drott+bl...@chromium.org, fmalit...@chromium.org, kinuko...@chromium.org, blink-reviews-p...@chromium.org, fserb...@chromium.org, blink-...@chromium.org, blink-rev...@chromium.org
    Attention needed from Jean-Philippe Gravel and Tom Van Goethem

    John Kim voted and added 1 comment

    Votes added by John Kim

    Code-Review+1

    1 comment

    Patchset-level comments
    File-level comment, Patchset 10 (Latest):
    John Kim . resolved

    Sorry I missed this! LGTM

    Open in Gerrit

    Related details

    Attention is currently required from:
    • Jean-Philippe Gravel
    • Tom Van Goethem
    Submit Requirements:
    • requirement satisfiedCode-Coverage
    • requirement is not satisfiedCode-Owners
    • requirement satisfiedCode-Review
    Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. DiffyGerrit
    Gerrit-MessageType: comment
    Gerrit-Project: chromium/src
    Gerrit-Branch: main
    Gerrit-Change-Id: I3a4060ef1bffe6be7538349b5f972a371bc051bb
    Gerrit-Change-Number: 6652692
    Gerrit-PatchSet: 10
    Gerrit-Owner: Tom Van Goethem <t...@chromium.org>
    Gerrit-Reviewer: Jean-Philippe Gravel <jpgr...@chromium.org>
    Gerrit-Reviewer: John Kim <john...@google.com>
    Gerrit-Reviewer: Tom Van Goethem <t...@chromium.org>
    Gerrit-CC: Code Review Nudger <android-build...@prod.google.com>
    Gerrit-CC: Dirk Schulze <dsch...@chromium.org>
    Gerrit-CC: Stephen Chenney <sche...@chromium.org>
    Gerrit-Attention: Jean-Philippe Gravel <jpgr...@chromium.org>
    Gerrit-Attention: Tom Van Goethem <t...@chromium.org>
    Gerrit-Comment-Date: Tue, 24 Jun 2025 15:00:21 +0000
    Gerrit-HasComments: Yes
    Gerrit-Has-Labels: Yes
    satisfied_requirement
    unsatisfied_requirement
    open
    diffy

    Jean-Philippe Gravel (Gerrit)

    unread,
    Jun 26, 2025, 2:16:29 PMJun 26
    to Tom Van Goethem, John Kim, Code Review Nudger, Dirk Schulze, Stephen Chenney, AyeAye, Chromium LUCI CQ, drott+bl...@chromium.org, fmalit...@chromium.org, kinuko...@chromium.org, blink-reviews-p...@chromium.org, fserb...@chromium.org, blink-...@chromium.org, blink-rev...@chromium.org
    Attention needed from Tom Van Goethem

    Jean-Philippe Gravel added 2 comments

    Commit Message
    Line 9, Patchset 10 (Latest):When a canvas is transferred to offscreen, we should keep track of the operations that are made on them such that we can determine whether the canvas should be noised.
    Jean-Philippe Gravel . unresolved

    I don't quite follow. When transferring to offscreen, the original canvas becomes a placeholder and all of the state tracking and rendering is handled by an `OffscreenCanvas` and an `OffscreenCanvasRenderingContext2D` object. That context knows it's own intervention triggers and the offscreen canvas can already noise it's output, without having to synchronize additional states.

    When reading back from the placeholder canvas, [the offscreen resource is read](https://crsrc.org/c/third_party/blink/renderer/core/html/canvas/html_canvas_element.cc;l=1345;drc=13075886efc851f658b6b14500272e62e5521614), and this happens [before the noise is applied](https://crsrc.org/c/third_party/blink/renderer/core/html/canvas/html_canvas_element.cc;l=1504,1508;drc=13075886efc851f658b6b14500272e62e5521614).

    It seems to me that noise should already be applied correctly. Or am I missing something?

    File third_party/blink/renderer/modules/canvas/canvas2d/base_rendering_context_2d.cc
    Line 1644, Patchset 10 (Latest): (Host() && Host()->HasTriggerForIntervention());
    Jean-Philippe Gravel . unresolved

    I don't think that this delegation via the host make sense, or is needed. There is only ever a single context for a given canvas.

    If a 2D HTMLCanvasElement is transferred to offscreen, the HTMLCanvasElement becomes a placeholder canvas and [it will never have an associated context of it's own](https://crsrc.org/c/third_party/blink/renderer/modules/canvas/htmlcanvas/html_canvas_element_module.cc;l=22-28;drc=13075886efc851f658b6b14500272e62e5521614).

    Thus, the only context at play will be an `OffscreenCanvasRenderingContext2D`, which knows it's own trigger intervention status. No need to query the host.

    Open in Gerrit

    Related details

    Attention is currently required from:
    • Tom Van Goethem
    Submit Requirements:
      • requirement satisfiedCode-Coverage
      • requirement is not satisfiedCode-Owners
      • requirement satisfiedCode-Review
      • requirement is not satisfiedNo-Unresolved-Comments
      Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. DiffyGerrit
      Gerrit-MessageType: comment
      Gerrit-Project: chromium/src
      Gerrit-Branch: main
      Gerrit-Change-Id: I3a4060ef1bffe6be7538349b5f972a371bc051bb
      Gerrit-Change-Number: 6652692
      Gerrit-PatchSet: 10
      Gerrit-Owner: Tom Van Goethem <t...@chromium.org>
      Gerrit-Reviewer: Jean-Philippe Gravel <jpgr...@chromium.org>
      Gerrit-Reviewer: John Kim <john...@google.com>
      Gerrit-Reviewer: Tom Van Goethem <t...@chromium.org>
      Gerrit-CC: Code Review Nudger <android-build...@prod.google.com>
      Gerrit-CC: Dirk Schulze <dsch...@chromium.org>
      Gerrit-CC: Stephen Chenney <sche...@chromium.org>
      Gerrit-Attention: Tom Van Goethem <t...@chromium.org>
      Gerrit-Comment-Date: Thu, 26 Jun 2025 18:16:23 +0000
      Gerrit-HasComments: Yes
      Gerrit-Has-Labels: No
      satisfied_requirement
      unsatisfied_requirement
      open
      diffy

      Jean-Philippe Gravel (Gerrit)

      unread,
      Jun 26, 2025, 2:30:20 PMJun 26
      to Tom Van Goethem, John Kim, Code Review Nudger, Dirk Schulze, Stephen Chenney, AyeAye, Chromium LUCI CQ, drott+bl...@chromium.org, fmalit...@chromium.org, kinuko...@chromium.org, blink-reviews-p...@chromium.org, fserb...@chromium.org, blink-...@chromium.org, blink-rev...@chromium.org
      Attention needed from Tom Van Goethem

      Jean-Philippe Gravel added 1 comment

      Commit Message
      Line 9, Patchset 10 (Latest):When a canvas is transferred to offscreen, we should keep track of the operations that are made on them such that we can determine whether the canvas should be noised.
      Jean-Philippe Gravel . unresolved

      I don't quite follow. When transferring to offscreen, the original canvas becomes a placeholder and all of the state tracking and rendering is handled by an `OffscreenCanvas` and an `OffscreenCanvasRenderingContext2D` object. That context knows it's own intervention triggers and the offscreen canvas can already noise it's output, without having to synchronize additional states.

      When reading back from the placeholder canvas, [the offscreen resource is read](https://crsrc.org/c/third_party/blink/renderer/core/html/canvas/html_canvas_element.cc;l=1345;drc=13075886efc851f658b6b14500272e62e5521614), and this happens [before the noise is applied](https://crsrc.org/c/third_party/blink/renderer/core/html/canvas/html_canvas_element.cc;l=1504,1508;drc=13075886efc851f658b6b14500272e62e5521614).

      It seems to me that noise should already be applied correctly. Or am I missing something?

      Jean-Philippe Gravel

      Ha, here's something I overlooked. [When reading back a placeholder canvas, `context_` will be nullptr](https://crsrc.org/c/third_party/blink/renderer/core/html/canvas/html_canvas_element.cc;l=1509;drc=13075886efc851f658b6b14500272e62e5521614) and thus, noise won't be applied. But this CL isn't addressing this issue.

      Gerrit-Comment-Date: Thu, 26 Jun 2025 18:30:12 +0000
      Gerrit-HasComments: Yes
      Gerrit-Has-Labels: No
      Comment-In-Reply-To: Jean-Philippe Gravel <jpgr...@chromium.org>
      satisfied_requirement
      unsatisfied_requirement
      open
      diffy

      Tom Van Goethem (Gerrit)

      unread,
      Jul 14, 2025, 5:27:48 PM (21 hours ago) Jul 14
      to chromium...@chromium.org, John Kim, Code Review Nudger, Jean-Philippe Gravel, Dirk Schulze, Stephen Chenney, AyeAye, Chromium LUCI CQ, drott+bl...@chromium.org, fmalit...@chromium.org, kinuko...@chromium.org, blink-reviews-p...@chromium.org, fserb...@chromium.org, blink-...@chromium.org, blink-rev...@chromium.org
      Attention needed from Jean-Philippe Gravel and John Kim

      Tom Van Goethem added 2 comments

      Commit Message
      Line 9, Patchset 10:When a canvas is transferred to offscreen, we should keep track of the operations that are made on them such that we can determine whether the canvas should be noised.
      Jean-Philippe Gravel . resolved

      I don't quite follow. When transferring to offscreen, the original canvas becomes a placeholder and all of the state tracking and rendering is handled by an `OffscreenCanvas` and an `OffscreenCanvasRenderingContext2D` object. That context knows it's own intervention triggers and the offscreen canvas can already noise it's output, without having to synchronize additional states.

      When reading back from the placeholder canvas, [the offscreen resource is read](https://crsrc.org/c/third_party/blink/renderer/core/html/canvas/html_canvas_element.cc;l=1345;drc=13075886efc851f658b6b14500272e62e5521614), and this happens [before the noise is applied](https://crsrc.org/c/third_party/blink/renderer/core/html/canvas/html_canvas_element.cc;l=1504,1508;drc=13075886efc851f658b6b14500272e62e5521614).

      It seems to me that noise should already be applied correctly. Or am I missing something?

      Jean-Philippe Gravel

      Ha, here's something I overlooked. [When reading back a placeholder canvas, `context_` will be nullptr](https://crsrc.org/c/third_party/blink/renderer/core/html/canvas/html_canvas_element.cc;l=1509;drc=13075886efc851f658b6b14500272e62e5521614) and thus, noise won't be applied. But this CL isn't addressing this issue.

      Tom Van Goethem

      Yeah, you're right. The context indeed is aware which triggers happened. I've updated the code and commit message to mainly take into account `context_` being a nullptr when transferring to an offscreen canvas.

      File third_party/blink/renderer/modules/canvas/canvas2d/base_rendering_context_2d.cc
      Line 1644, Patchset 10: (Host() && Host()->HasTriggerForIntervention());
      Jean-Philippe Gravel . resolved

      I don't think that this delegation via the host make sense, or is needed. There is only ever a single context for a given canvas.

      If a 2D HTMLCanvasElement is transferred to offscreen, the HTMLCanvasElement becomes a placeholder canvas and [it will never have an associated context of it's own](https://crsrc.org/c/third_party/blink/renderer/modules/canvas/htmlcanvas/html_canvas_element_module.cc;l=22-28;drc=13075886efc851f658b6b14500272e62e5521614).

      Thus, the only context at play will be an `OffscreenCanvasRenderingContext2D`, which knows it's own trigger intervention status. No need to query the host.

      Tom Van Goethem

      Updated. I've moved the checks to `BaseRenderingContext2D`, which I think makes more sense.

      Open in Gerrit

      Related details

      Attention is currently required from:
      • Jean-Philippe Gravel
      • John Kim
      Submit Requirements:
        • requirement satisfiedCode-Coverage
        • requirement is not satisfiedCode-Owners
        • requirement is not satisfiedCode-Review
        Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. DiffyGerrit
        Gerrit-MessageType: comment
        Gerrit-Project: chromium/src
        Gerrit-Branch: main
        Gerrit-Change-Id: I3a4060ef1bffe6be7538349b5f972a371bc051bb
        Gerrit-Change-Number: 6652692
        Gerrit-PatchSet: 14
        Gerrit-Owner: Tom Van Goethem <t...@chromium.org>
        Gerrit-Reviewer: Jean-Philippe Gravel <jpgr...@chromium.org>
        Gerrit-Reviewer: John Kim <john...@google.com>
        Gerrit-Reviewer: Tom Van Goethem <t...@chromium.org>
        Gerrit-CC: Code Review Nudger <android-build...@prod.google.com>
        Gerrit-CC: Dirk Schulze <dsch...@chromium.org>
        Gerrit-CC: Stephen Chenney <sche...@chromium.org>
        Gerrit-Attention: John Kim <john...@google.com>
        Gerrit-Attention: Jean-Philippe Gravel <jpgr...@chromium.org>
        Gerrit-Comment-Date: Mon, 14 Jul 2025 21:27:35 +0000
        satisfied_requirement
        unsatisfied_requirement
        open
        diffy
        Reply all
        Reply to author
        Forward
        0 new messages