Container Timing: rename containertiming-ignore to containertimingignore [chromium/src : main]

0 views
Skip to first unread message

José Dapena Paz (Gerrit)

unread,
Jul 29, 2026, 6:22:35 AM (3 days ago) Jul 29
to chromium...@chromium.org, Chromium Metrics Reviews, asvitkine...@chromium.org, kinuko...@chromium.org, blink-re...@chromium.org, blink-rev...@chromium.org, jmedle...@chromium.org, blink-re...@chromium.org, blink-...@chromium.org, blink-revie...@chromium.org, blink-revi...@chromium.org, blink-rev...@chromium.org, zol...@webkit.org

José Dapena Paz has uploaded the change for review

Commit message

Container Timing: rename containertiming-ignore to containertimingignore

The standard discussion [1] concluded that a dashed HTML content
attribute is inappropriate for the ignore marker. It should be spelled
`containertimingignore` (no dash), consistent with how HTML content
attributes are conventionally named. The JS accessor remains
`containerTimingIgnore`.

[1] https://github.com/WICG/container-timing/issues/65

With this change, `containertimingignore` is now the functional
attribute as. The legacy dashed `containertiming-ignore` spelling is
kept registered without effects: it only fires a new
kContainerTimingIgnoreDashedAttribute use counter so remaining usage
can be tracked and the attribute removed once it drains to zero.
Bug: 539984792
Change-Id: I2af8a3a007c5387a1dce58d23e60cd6fca2564ac

Change diff


Change information

Files:
  • M third_party/blink/public/mojom/use_counter/metrics/web_feature.mojom
  • M third_party/blink/renderer/core/display_lock/display_lock_context_test.cc
  • M third_party/blink/renderer/core/dom/element.cc
  • M third_party/blink/renderer/core/dom/element.idl
  • M third_party/blink/renderer/core/html/html_attribute_names.json5
  • M third_party/blink/renderer/core/html/html_element.cc
  • M third_party/blink/renderer/core/html/html_element.h
  • M third_party/blink/renderer/core/html/html_element_container_timing_test.cc
  • M third_party/blink/renderer/core/layout/layout_object.h
  • M third_party/blink/renderer/core/paint/pre_paint_tree_walk.cc
  • M third_party/blink/renderer/core/paint/timing/container_timing.cc
  • M third_party/blink/renderer/core/paint/timing/container_timing_paint_attribution_tracker.cc
  • M third_party/blink/renderer/core/paint/timing/container_timing_paint_attribution_tracker_test.cc
  • M third_party/blink/renderer/core/paint/timing/container_timing_test.cc
  • M third_party/blink/web_tests/container-timing/use-counter.html
  • M third_party/blink/web_tests/external/wpt/container-timing/tentative/containertiming-and-ignore-on-img-itself.html
  • M third_party/blink/web_tests/external/wpt/container-timing/tentative/containertiming-and-ignore-on-text-itself.html
  • M third_party/blink/web_tests/external/wpt/container-timing/tentative/containertiming-with-child-ignore-and-child-img.html
  • M third_party/blink/web_tests/external/wpt/container-timing/tentative/containertiming-with-ignore-and-child-img.html
  • M third_party/blink/web_tests/external/wpt/container-timing/tentative/ignore-with-containertiming-and-child-img.html
  • M third_party/blink/web_tests/external/wpt/container-timing/tentative/nested-containertiming-and-ignore-on-img.html
  • M third_party/blink/web_tests/external/wpt/container-timing/tentative/nested-containertiming-and-ignore-on-text.html
  • M third_party/blink/web_tests/external/wpt/container-timing/tentative/nested-containertiming-child-img-with-ignore.html
  • M third_party/blink/web_tests/external/wpt/container-timing/tentative/nested-containertiming-with-ignore.html
  • M tools/metrics/histograms/metadata/blink/enums.xml
Change size: M
Delta: 25 files changed, 146 insertions(+), 92 deletions(-)
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: newchange
Gerrit-Project: chromium/src
Gerrit-Branch: main
Gerrit-Change-Id: I2af8a3a007c5387a1dce58d23e60cd6fca2564ac
Gerrit-Change-Number: 8166600
Gerrit-PatchSet: 1
Gerrit-Owner: José Dapena Paz <jda...@igalia.com>
Gerrit-CC: Chromium Metrics Reviews <chromium-met...@google.com>
satisfied_requirement
unsatisfied_requirement
open
diffy

Philip Rogers (Gerrit)

unread,
Jul 29, 2026, 4:35:24 PM (2 days ago) Jul 29
to José Dapena Paz, Michal Mocny, Scott Haseley, Chris Harrelson, Ethan Jimenez, Dominic Farolino, Chromium LUCI CQ, Chromium Metrics Reviews, chromium...@chromium.org, asvitkine...@chromium.org, blink-re...@chromium.org, blink-re...@chromium.org, blink-rev...@chromium.org, blink-revi...@chromium.org, blink-rev...@chromium.org, blink-revie...@chromium.org, blink-...@chromium.org, jmedle...@chromium.org, kinuko...@chromium.org, zol...@webkit.org
Attention needed from Chris Harrelson, Dominic Farolino, Ethan Jimenez, José Dapena Paz, Michal Mocny and Scott Haseley

Philip Rogers added 1 comment

Patchset-level comments
File-level comment, Patchset 1 (Latest):
Philip Rogers . resolved

Hi José, can you please list what files each reviewer needs to review? Or, maybe we could start with just one primary reviewer and then add the others for enums.xml/web_feature.mojom stamps?

Open in Gerrit

Related details

Attention is currently required from:
  • Chris Harrelson
  • Dominic Farolino
  • Ethan Jimenez
  • José Dapena Paz
  • Michal Mocny
  • Scott Haseley
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: I2af8a3a007c5387a1dce58d23e60cd6fca2564ac
Gerrit-Change-Number: 8166600
Gerrit-PatchSet: 1
Gerrit-Owner: José Dapena Paz <jda...@igalia.com>
Gerrit-Reviewer: Chris Harrelson <chri...@chromium.org>
Gerrit-Reviewer: Dominic Farolino <d...@chromium.org>
Gerrit-Reviewer: Ethan Jimenez <eth...@microsoft.com>
Gerrit-Reviewer: José Dapena Paz <jda...@igalia.com>
Gerrit-Reviewer: Michal Mocny <mmo...@chromium.org>
Gerrit-Reviewer: Philip Rogers <p...@chromium.org>
Gerrit-Reviewer: Scott Haseley <shas...@chromium.org>
Gerrit-CC: Chromium Metrics Reviews <chromium-met...@google.com>
Gerrit-Attention: Ethan Jimenez <eth...@microsoft.com>
Gerrit-Attention: José Dapena Paz <jda...@igalia.com>
Gerrit-Attention: Scott Haseley <shas...@chromium.org>
Gerrit-Attention: Dominic Farolino <d...@chromium.org>
Gerrit-Attention: Chris Harrelson <chri...@chromium.org>
Gerrit-Attention: Michal Mocny <mmo...@chromium.org>
Gerrit-Comment-Date: Wed, 29 Jul 2026 20:35:13 +0000
Gerrit-HasComments: Yes
Gerrit-Has-Labels: No
satisfied_requirement
unsatisfied_requirement
open
diffy

José Dapena Paz (Gerrit)

unread,
Jul 30, 2026, 2:12:23 PM (2 days ago) Jul 30
to Michal Mocny, Scott Haseley, Chromium LUCI CQ, Chromium Metrics Reviews, chromium...@chromium.org, asvitkine...@chromium.org, blink-re...@chromium.org, blink-re...@chromium.org, blink-rev...@chromium.org, blink-revi...@chromium.org, blink-rev...@chromium.org, blink-revie...@chromium.org, blink-...@chromium.org, jmedle...@chromium.org, kinuko...@chromium.org, zol...@webkit.org
Attention needed from Michal Mocny and Scott Haseley

José Dapena Paz added 1 comment

Patchset-level comments
Philip Rogers . resolved

Hi José, can you please list what files each reviewer needs to review? Or, maybe we could start with just one primary reviewer and then add the others for enums.xml/web_feature.mojom stamps?

José Dapena Paz

Sorry, I realized Scott Hasseley can review all. I got a bit confused. I will withdraw most of the review requests.

Open in Gerrit

Related details

Attention is currently required from:
  • Michal Mocny
  • Scott Haseley
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: I2af8a3a007c5387a1dce58d23e60cd6fca2564ac
Gerrit-Change-Number: 8166600
Gerrit-PatchSet: 1
Gerrit-Owner: José Dapena Paz <jda...@igalia.com>
Gerrit-Reviewer: José Dapena Paz <jda...@igalia.com>
Gerrit-Reviewer: Michal Mocny <mmo...@chromium.org>
Gerrit-Reviewer: Scott Haseley <shas...@chromium.org>
Gerrit-CC: Chromium Metrics Reviews <chromium-met...@google.com>
Gerrit-Attention: Scott Haseley <shas...@chromium.org>
Gerrit-Attention: Michal Mocny <mmo...@chromium.org>
Gerrit-Comment-Date: Thu, 30 Jul 2026 18:12:01 +0000
Gerrit-HasComments: Yes
Gerrit-Has-Labels: No
Comment-In-Reply-To: Philip Rogers <p...@chromium.org>
satisfied_requirement
unsatisfied_requirement
open
diffy

Scott Haseley (Gerrit)

unread,
Jul 30, 2026, 4:31:53 PM (2 days ago) Jul 30
to José Dapena Paz, Michal Mocny, Chromium LUCI CQ, Chromium Metrics Reviews, chromium...@chromium.org, asvitkine...@chromium.org, blink-re...@chromium.org, blink-re...@chromium.org, blink-rev...@chromium.org, blink-revi...@chromium.org, blink-rev...@chromium.org, blink-revie...@chromium.org, blink-...@chromium.org, jmedle...@chromium.org, kinuko...@chromium.org, zol...@webkit.org
Attention needed from José Dapena Paz and Michal Mocny

Scott Haseley added 2 comments

Commit Message
Line 18, Patchset 1 (Latest):attribute as. The legacy dashed `containertiming-ignore` spelling is
Scott Haseley . unresolved

Did this get cut off (may "as" isn't needed)?

Line 19, Patchset 1 (Latest):kept registered without effects: it only fires a new

kContainerTimingIgnoreDashedAttribute use counter so remaining usage
can be tracked and the attribute removed once it drains to zero.
Scott Haseley . unresolved

A couple thoughts/questions:

I'm not sure there's an advantage to keeping the old attribute around only for the UseCounter since removing it would be functionally equivalent (I think). That is, using "containertiming-ignore" on a site should have no effect if you remove the attribute (i.e. it shouldn't cause an error).

That said, this is a breaking change, so this won't this affect Origin Trial users? It won't cause errors, but the behavior will change. I think there are a few strategies:

 1. Wait until after the OT ends and remove it (without UseCounter). That's typically a good time to make breaking changes.
 2. Map containertiming-ignore to containertiming so they both work, and then remove containertiming-ignore once the OT ends. This is safer than removing now, but it adds more complexity to the code that is maybe necessary.
 3. Make the change now (M153), but inform OT participants about the change so they can update their sites. They would probably need to have both attributes for a while to support old versions of Chrome (otherwise they'll need to potentially filter out results from older versions).

Is there a UseCounter for this attribute? That might help decide.

Open in Gerrit

Related details

Attention is currently required from:
  • José Dapena Paz
  • Michal Mocny
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: I2af8a3a007c5387a1dce58d23e60cd6fca2564ac
    Gerrit-Change-Number: 8166600
    Gerrit-PatchSet: 1
    Gerrit-Owner: José Dapena Paz <jda...@igalia.com>
    Gerrit-Reviewer: José Dapena Paz <jda...@igalia.com>
    Gerrit-Reviewer: Michal Mocny <mmo...@chromium.org>
    Gerrit-Reviewer: Scott Haseley <shas...@chromium.org>
    Gerrit-CC: Chromium Metrics Reviews <chromium-met...@google.com>
    Gerrit-Attention: José Dapena Paz <jda...@igalia.com>
    Gerrit-Attention: Michal Mocny <mmo...@chromium.org>
    Gerrit-Comment-Date: Thu, 30 Jul 2026 20:31:40 +0000
    Gerrit-HasComments: Yes
    Gerrit-Has-Labels: No
    satisfied_requirement
    unsatisfied_requirement
    open
    diffy

    José Dapena Paz (Gerrit)

    unread,
    Jul 31, 2026, 1:26:01 PM (13 hours ago) Jul 31
    to Michal Mocny, Scott Haseley, Chromium LUCI CQ, Chromium Metrics Reviews, chromium...@chromium.org, asvitkine...@chromium.org, blink-re...@chromium.org, blink-re...@chromium.org, blink-rev...@chromium.org, blink-revi...@chromium.org, blink-rev...@chromium.org, blink-revie...@chromium.org, blink-...@chromium.org, jmedle...@chromium.org, kinuko...@chromium.org, zol...@webkit.org
    Attention needed from Michal Mocny and Scott Haseley

    José Dapena Paz added 2 comments

    Commit Message
    Line 18, Patchset 1:attribute as. The legacy dashed `containertiming-ignore` spelling is
    Scott Haseley . resolved

    Did this get cut off (may "as" isn't needed)?

    José Dapena Paz

    I rewrote the sentence 2-3 times then still was lucky enough to introduce this spelling! The new paragraph is way different now and does not include the same sentence.

    Line 19, Patchset 1:kept registered without effects: it only fires a new

    kContainerTimingIgnoreDashedAttribute use counter so remaining usage
    can be tracked and the attribute removed once it drains to zero.
    Scott Haseley . resolved

    A couple thoughts/questions:

    I'm not sure there's an advantage to keeping the old attribute around only for the UseCounter since removing it would be functionally equivalent (I think). That is, using "containertiming-ignore" on a site should have no effect if you remove the attribute (i.e. it shouldn't cause an error).

    That said, this is a breaking change, so this won't this affect Origin Trial users? It won't cause errors, but the behavior will change. I think there are a few strategies:

     1. Wait until after the OT ends and remove it (without UseCounter). That's typically a good time to make breaking changes.
     2. Map containertiming-ignore to containertiming so they both work, and then remove containertiming-ignore once the OT ends. This is safer than removing now, but it adds more complexity to the code that is maybe necessary.
     3. Make the change now (M153), but inform OT participants about the change so they can update their sites. They would probably need to have both attributes for a while to support old versions of Chrome (otherwise they'll need to potentially filter out results from older versions).

    Is there a UseCounter for this attribute? That might help decide.

    José Dapena Paz

    I finally opted for (2):

    • Only a single use counter shared for them.
    • Console warning when using the old spelling. I don't try to deduplicate the warning as that would imply adding a boolean in the window, or using the deprecation infrastructure (that has a lot of commit overhead). Reason is: nobody detected yet using it.

    Once the trial is finished, we just drop the legacy spelling.

    Open in Gerrit

    Related details

    Attention is currently required from:
    • Michal Mocny
    • Scott Haseley
    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: I2af8a3a007c5387a1dce58d23e60cd6fca2564ac
      Gerrit-Change-Number: 8166600
      Gerrit-PatchSet: 3
      Gerrit-Owner: José Dapena Paz <jda...@igalia.com>
      Gerrit-Reviewer: José Dapena Paz <jda...@igalia.com>
      Gerrit-Reviewer: Michal Mocny <mmo...@chromium.org>
      Gerrit-Reviewer: Scott Haseley <shas...@chromium.org>
      Gerrit-CC: Chromium Metrics Reviews <chromium-met...@google.com>
      Gerrit-Attention: Scott Haseley <shas...@chromium.org>
      Gerrit-Attention: Michal Mocny <mmo...@chromium.org>
      Gerrit-Comment-Date: Fri, 31 Jul 2026 17:25:40 +0000
      Gerrit-HasComments: Yes
      Gerrit-Has-Labels: No
      Comment-In-Reply-To: Scott Haseley <shas...@chromium.org>
      satisfied_requirement
      unsatisfied_requirement
      open
      diffy

      Scott Haseley (Gerrit)

      unread,
      Jul 31, 2026, 7:18:38 PM (7 hours ago) Jul 31
      to José Dapena Paz, Michal Mocny, Chromium LUCI CQ, Chromium Metrics Reviews, chromium...@chromium.org, asvitkine...@chromium.org, blink-re...@chromium.org, blink-re...@chromium.org, blink-rev...@chromium.org, blink-revi...@chromium.org, blink-rev...@chromium.org, blink-revie...@chromium.org, blink-...@chromium.org, jmedle...@chromium.org, kinuko...@chromium.org, zol...@webkit.org
      Attention needed from José Dapena Paz and Michal Mocny

      Scott Haseley voted and added 4 comments

      Votes added by Scott Haseley

      Code-Review+1

      4 comments

      Patchset-level comments
      File-level comment, Patchset 3 (Latest):
      Scott Haseley . resolved

      LGTM

      Commit Message
      Line 18, Patchset 1:attribute as. The legacy dashed `containertiming-ignore` spelling is
      Scott Haseley . resolved

      Did this get cut off (may "as" isn't needed)?

      José Dapena Paz

      I rewrote the sentence 2-3 times then still was lucky enough to introduce this spelling! The new paragraph is way different now and does not include the same sentence.

      Scott Haseley

      Happens to me all the time 😊.

      Line 19, Patchset 1:kept registered without effects: it only fires a new
      kContainerTimingIgnoreDashedAttribute use counter so remaining usage
      can be tracked and the attribute removed once it drains to zero.
      Scott Haseley . resolved

      A couple thoughts/questions:

      I'm not sure there's an advantage to keeping the old attribute around only for the UseCounter since removing it would be functionally equivalent (I think). That is, using "containertiming-ignore" on a site should have no effect if you remove the attribute (i.e. it shouldn't cause an error).

      That said, this is a breaking change, so this won't this affect Origin Trial users? It won't cause errors, but the behavior will change. I think there are a few strategies:

       1. Wait until after the OT ends and remove it (without UseCounter). That's typically a good time to make breaking changes.
       2. Map containertiming-ignore to containertiming so they both work, and then remove containertiming-ignore once the OT ends. This is safer than removing now, but it adds more complexity to the code that is maybe necessary.
       3. Make the change now (M153), but inform OT participants about the change so they can update their sites. They would probably need to have both attributes for a while to support old versions of Chrome (otherwise they'll need to potentially filter out results from older versions).

      Is there a UseCounter for this attribute? That might help decide.

      José Dapena Paz

      I finally opted for (2):

      • Only a single use counter shared for them.
      • Console warning when using the old spelling. I don't try to deduplicate the warning as that would imply adding a boolean in the window, or using the deprecation infrastructure (that has a lot of commit overhead). Reason is: nobody detected yet using it.

      Once the trial is finished, we just drop the legacy spelling.

      Scott Haseley

      SGTM. It's not as gross as I thought it might be, and it's nice to get the implementation and tests up-to-date with the resolution.

      File third_party/blink/renderer/core/html/html_element.cc
      Line 4453, Patchset 3 (Latest): // measured usage of the attribute is negligible, so per-page dedup state is
      Scott Haseley . unresolved

      typo: I think "deduped"?

      Open in Gerrit

      Related details

      Attention is currently required from:
      • José Dapena Paz
      • Michal Mocny
      Submit Requirements:
      • requirement satisfiedCode-Coverage
      • requirement satisfiedCode-Owners
      • requirement satisfiedCode-Review
      • requirement is not satisfiedNo-Unresolved-Comments
      • requirement satisfiedReview-Enforcement
      Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. DiffyGerrit
      Gerrit-MessageType: comment
      Gerrit-Project: chromium/src
      Gerrit-Branch: main
      Gerrit-Change-Id: I2af8a3a007c5387a1dce58d23e60cd6fca2564ac
      Gerrit-Change-Number: 8166600
      Gerrit-PatchSet: 3
      Gerrit-Owner: José Dapena Paz <jda...@igalia.com>
      Gerrit-Reviewer: José Dapena Paz <jda...@igalia.com>
      Gerrit-Reviewer: Michal Mocny <mmo...@chromium.org>
      Gerrit-Reviewer: Scott Haseley <shas...@chromium.org>
      Gerrit-CC: Chromium Metrics Reviews <chromium-met...@google.com>
      Gerrit-Attention: José Dapena Paz <jda...@igalia.com>
      Gerrit-Attention: Michal Mocny <mmo...@chromium.org>
      Gerrit-Comment-Date: Fri, 31 Jul 2026 23:18:24 +0000
      Gerrit-HasComments: Yes
      Gerrit-Has-Labels: Yes
      Comment-In-Reply-To: José Dapena Paz <jda...@igalia.com>
      Comment-In-Reply-To: Scott Haseley <shas...@chromium.org>
      satisfied_requirement
      unsatisfied_requirement
      open
      diffy
      Reply all
      Reply to author
      Forward
      0 new messages