gfx::HDRMetadata: Remove gfx::HdrMetadataAgtm [chromium/src : main]

0 views
Skip to first unread message

ccameron chromium (Gerrit)

unread,
Dec 11, 2025, 10:37:34 AM (yesterday) Dec 11
to ccameron chromium, Dale Curtis, Philip Rogers, Daniel Cheng, AyeAye, Chromium LUCI CQ, chromium...@chromium.org, blink-...@chromium.org, blink-rev...@chromium.org, cc-...@chromium.org, chromeos-gfx-...@google.com, feature-me...@chromium.org, ipc-securi...@chromium.org, max+watc...@igalia.com, media-cro...@chromium.org, nickdiego+wa...@igalia.com, ozone-...@chromium.org, penghu...@chromium.org
Attention needed from Dale Curtis, Daniel Cheng and Philip Rogers

ccameron chromium added 1 comment

Patchset-level comments
File-level comment, Patchset 8 (Latest):
ccameron chromium . resolved

ptal -- more in the same vein of pushing HDR to Skia

Open in Gerrit

Related details

Attention is currently required from:
  • Dale Curtis
  • Daniel Cheng
  • Philip Rogers
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: I8d0be6756d651ec46963c262c22983502a74e7a3
Gerrit-Change-Number: 7245979
Gerrit-PatchSet: 8
Gerrit-Owner: ccameron chromium <ccam...@chromium.org>
Gerrit-Reviewer: Dale Curtis <dalec...@chromium.org>
Gerrit-Reviewer: Daniel Cheng <dch...@chromium.org>
Gerrit-Reviewer: Philip Rogers <p...@chromium.org>
Gerrit-Reviewer: ccameron chromium <ccam...@chromium.org>
Gerrit-Attention: Philip Rogers <p...@chromium.org>
Gerrit-Attention: Dale Curtis <dalec...@chromium.org>
Gerrit-Attention: Daniel Cheng <dch...@chromium.org>
Gerrit-Comment-Date: Thu, 11 Dec 2025 15:37:19 +0000
Gerrit-HasComments: Yes
Gerrit-Has-Labels: No
satisfied_requirement
unsatisfied_requirement
open
diffy

Daniel Cheng (Gerrit)

unread,
Dec 11, 2025, 12:31:10 PM (yesterday) Dec 11
to ccameron chromium, Dale Curtis, Philip Rogers, Daniel Cheng, AyeAye, Chromium LUCI CQ, chromium...@chromium.org, blink-...@chromium.org, blink-rev...@chromium.org, cc-...@chromium.org, chromeos-gfx-...@google.com, feature-me...@chromium.org, ipc-securi...@chromium.org, max+watc...@igalia.com, media-cro...@chromium.org, nickdiego+wa...@igalia.com, ozone-...@chromium.org, penghu...@chromium.org
Attention needed from Dale Curtis, Philip Rogers and ccameron chromium

Daniel Cheng added 3 comments

File ui/gfx/hdr_metadata.cc
Line 23, Patchset 8 (Latest): if (!a && !b) {
Daniel Cheng . resolved

This reminds me a lot of https://source.chromium.org/chromium/chromium/src/+/main:base/memory/values_equivalent.h;l=26;drc=397107e399d4b0f4a6e801e7a888d7d71778529c and maybe it's something we should add there if we'll need more of it.

File ui/gfx/mojom/hdr_metadata_mojom_traits.h
Line 91, Patchset 8 (Latest): result.assign(data->bytes(), std::next(data->bytes(), data->size()));
Daniel Cheng . unresolved

Can we just pull a span out here? Do we need to strongly own this?

(It's kind of unfortunate that even just calling this refs the SkData, but nothing I can do about that here)

File ui/gfx/mojom/hdr_metadata_mojom_traits.cc
Line 63, Patchset 8 (Latest): if (!agtm_data.is_null() && agtm_data.size() > 0) {
Daniel Cheng . unresolved

Out of curiosity why the additional size check now? Is this just to save an allocation?

Open in Gerrit

Related details

Attention is currently required from:
  • Dale Curtis
  • Philip Rogers
  • ccameron chromium
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: I8d0be6756d651ec46963c262c22983502a74e7a3
    Gerrit-Change-Number: 7245979
    Gerrit-PatchSet: 8
    Gerrit-Owner: ccameron chromium <ccam...@chromium.org>
    Gerrit-Reviewer: Dale Curtis <dalec...@chromium.org>
    Gerrit-Reviewer: Daniel Cheng <dch...@chromium.org>
    Gerrit-Reviewer: Philip Rogers <p...@chromium.org>
    Gerrit-Reviewer: ccameron chromium <ccam...@chromium.org>
    Gerrit-Attention: Philip Rogers <p...@chromium.org>
    Gerrit-Attention: ccameron chromium <ccam...@chromium.org>
    Gerrit-Attention: Dale Curtis <dalec...@chromium.org>
    Gerrit-Comment-Date: Thu, 11 Dec 2025 17:30:58 +0000
    Gerrit-HasComments: Yes
    Gerrit-Has-Labels: No
    satisfied_requirement
    unsatisfied_requirement
    open
    diffy

    Philip Rogers (Gerrit)

    unread,
    Dec 11, 2025, 12:52:23 PM (yesterday) Dec 11
    to ccameron chromium, Dale Curtis, Daniel Cheng, AyeAye, Chromium LUCI CQ, chromium...@chromium.org, blink-...@chromium.org, blink-rev...@chromium.org, cc-...@chromium.org, chromeos-gfx-...@google.com, feature-me...@chromium.org, ipc-securi...@chromium.org, max+watc...@igalia.com, media-cro...@chromium.org, nickdiego+wa...@igalia.com, ozone-...@chromium.org, penghu...@chromium.org
    Attention needed from Dale Curtis and ccameron chromium

    Philip Rogers voted and added 1 comment

    Votes added by Philip Rogers

    Code-Review+1

    1 comment

    Patchset-level comments
    Philip Rogers . resolved

    third_party/blink/renderer/core/html/canvas/predefined_color_space.cc LGTM

    Open in Gerrit

    Related details

    Attention is currently required from:
    • Dale Curtis
    • ccameron chromium
    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: I8d0be6756d651ec46963c262c22983502a74e7a3
      Gerrit-Change-Number: 7245979
      Gerrit-PatchSet: 8
      Gerrit-Owner: ccameron chromium <ccam...@chromium.org>
      Gerrit-Reviewer: Dale Curtis <dalec...@chromium.org>
      Gerrit-Reviewer: Daniel Cheng <dch...@chromium.org>
      Gerrit-Reviewer: Philip Rogers <p...@chromium.org>
      Gerrit-Reviewer: ccameron chromium <ccam...@chromium.org>
      Gerrit-Attention: ccameron chromium <ccam...@chromium.org>
      Gerrit-Attention: Dale Curtis <dalec...@chromium.org>
      Gerrit-Comment-Date: Thu, 11 Dec 2025 17:52:12 +0000
      Gerrit-HasComments: Yes
      Gerrit-Has-Labels: Yes
      satisfied_requirement
      unsatisfied_requirement
      open
      diffy

      Dale Curtis (Gerrit)

      unread,
      Dec 11, 2025, 1:37:24 PM (yesterday) Dec 11
      to ccameron chromium, Philip Rogers, Daniel Cheng, AyeAye, Chromium LUCI CQ, chromium...@chromium.org, blink-...@chromium.org, blink-rev...@chromium.org, cc-...@chromium.org, chromeos-gfx-...@google.com, feature-me...@chromium.org, ipc-securi...@chromium.org, max+watc...@igalia.com, media-cro...@chromium.org, nickdiego+wa...@igalia.com, ozone-...@chromium.org, penghu...@chromium.org
      Attention needed from ccameron chromium

      Dale Curtis added 1 comment

      File ui/gfx/hdr_metadata.h
      Line 136, Patchset 8 (Parent): sk_sp<SkData> payload;
      Dale Curtis . unresolved

      I had forgotten this is a raw payload. Do we sanitize this before sending it out of the renderer process?

      Open in Gerrit

      Related details

      Attention is currently required from:
      • ccameron chromium
      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: I8d0be6756d651ec46963c262c22983502a74e7a3
      Gerrit-Change-Number: 7245979
      Gerrit-PatchSet: 8
      Gerrit-Owner: ccameron chromium <ccam...@chromium.org>
      Gerrit-Reviewer: Dale Curtis <dalec...@chromium.org>
      Gerrit-Reviewer: Daniel Cheng <dch...@chromium.org>
      Gerrit-Reviewer: Philip Rogers <p...@chromium.org>
      Gerrit-Reviewer: ccameron chromium <ccam...@chromium.org>
      Gerrit-Attention: ccameron chromium <ccam...@chromium.org>
      Gerrit-Comment-Date: Thu, 11 Dec 2025 18:37:12 +0000
      Gerrit-HasComments: Yes
      Gerrit-Has-Labels: No
      satisfied_requirement
      unsatisfied_requirement
      open
      diffy

      ccameron chromium (Gerrit)

      unread,
      Dec 11, 2025, 3:29:49 PM (yesterday) Dec 11
      to ccameron chromium, Philip Rogers, Dale Curtis, Daniel Cheng, AyeAye, Chromium LUCI CQ, chromium...@chromium.org, blink-...@chromium.org, blink-rev...@chromium.org, cc-...@chromium.org, chromeos-gfx-...@google.com, feature-me...@chromium.org, ipc-securi...@chromium.org, max+watc...@igalia.com, media-cro...@chromium.org, nickdiego+wa...@igalia.com, ozone-...@chromium.org, penghu...@chromium.org
      Attention needed from Daniel Cheng and Philip Rogers

      ccameron chromium added 3 comments

      Patchset-level comments
      File-level comment, Patchset 8:
      ccameron chromium . resolved

      Thanks, updated!

      File ui/gfx/mojom/hdr_metadata_mojom_traits.h
      Line 91, Patchset 8: result.assign(data->bytes(), std::next(data->bytes(), data->size()));
      Daniel Cheng . unresolved

      Can we just pull a span out here? Do we need to strongly own this?

      (It's kind of unfortunate that even just calling this refs the SkData, but nothing I can do about that here)

      ccameron chromium

      Added a helper function that takes a `const SkData*` so we can avoid the ref.

      File ui/gfx/mojom/hdr_metadata_mojom_traits.cc
      Line 63, Patchset 8: if (!agtm_data.is_null() && agtm_data.size() > 0) {
      Daniel Cheng . unresolved

      Out of curiosity why the additional size check now? Is this just to save an allocation?

      ccameron chromium

      It was because I had un-optionalized the array in mojom, which made "an SkData of size 0" and "a nullptr SkData" indistinguishable. In practice, they are (a zero-size agtm will fail parsing later on), but that was sloppy, so I've re-optionalized it and removed the check.

      Open in Gerrit

      Related details

      Attention is currently required from:
      • Daniel Cheng
      • Philip Rogers
      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: I8d0be6756d651ec46963c262c22983502a74e7a3
        Gerrit-Change-Number: 7245979
        Gerrit-PatchSet: 8
        Gerrit-Owner: ccameron chromium <ccam...@chromium.org>
        Gerrit-Reviewer: Dale Curtis <dalec...@chromium.org>
        Gerrit-Reviewer: Daniel Cheng <dch...@chromium.org>
        Gerrit-Reviewer: Philip Rogers <p...@chromium.org>
        Gerrit-Reviewer: ccameron chromium <ccam...@chromium.org>
        Gerrit-Attention: Philip Rogers <p...@chromium.org>
        Gerrit-Attention: Daniel Cheng <dch...@chromium.org>
        Gerrit-Comment-Date: Thu, 11 Dec 2025 20:29:32 +0000
        Gerrit-HasComments: Yes
        Gerrit-Has-Labels: No
        Comment-In-Reply-To: Daniel Cheng <dch...@chromium.org>
        satisfied_requirement
        unsatisfied_requirement
        open
        diffy

        ccameron chromium (Gerrit)

        unread,
        Dec 11, 2025, 3:47:44 PM (yesterday) Dec 11
        to ccameron chromium, Philip Rogers, Dale Curtis, Daniel Cheng, AyeAye, Chromium LUCI CQ, chromium...@chromium.org, blink-...@chromium.org, blink-rev...@chromium.org, cc-...@chromium.org, chromeos-gfx-...@google.com, feature-me...@chromium.org, ipc-securi...@chromium.org, max+watc...@igalia.com, media-cro...@chromium.org, nickdiego+wa...@igalia.com, ozone-...@chromium.org, penghu...@chromium.org
        Attention needed from Dale Curtis, Daniel Cheng, Philip Rogers and ccameron chromium

        ccameron chromium voted and added 1 comment

        Votes added by ccameron chromium

        Commit-Queue+1

        1 comment

        File ui/gfx/hdr_metadata.h
        Line 136, Patchset 8 (Parent): sk_sp<SkData> payload;
        Dale Curtis . unresolved

        I had forgotten this is a raw payload. Do we sanitize this before sending it out of the renderer process?

        ccameron chromium

        We only look at the bytes at render time (and we'll likely hash based on the data).

        Skia doesn't have an interface to the internals of this metadata (just a "parse it" and "make a shader from it" interface), so there doesn't exist a parsed form to pass around.

        If parsing at a higher privilege level is a concern (the parse is fairly trivial), then we can parse-then-reserialize so that only Chromium-produced metadata goes out from the renderer. But that will need to wait for some test updates because ...

        ...the payload is "sometimes JSON, sometimes binary", because we used JSON for prototyping and only now are moving to binary because it's stable enough. Some tests and test files will need to be updated before we can delete the JSON version.

        (It's still all behind a flag, of course)

        Open in Gerrit

        Related details

        Attention is currently required from:
        • Dale Curtis
        • Daniel Cheng
        • Philip Rogers
        • ccameron chromium
        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: I8d0be6756d651ec46963c262c22983502a74e7a3
        Gerrit-Change-Number: 7245979
        Gerrit-PatchSet: 9
        Gerrit-Owner: ccameron chromium <ccam...@chromium.org>
        Gerrit-Reviewer: Dale Curtis <dalec...@chromium.org>
        Gerrit-Reviewer: Daniel Cheng <dch...@chromium.org>
        Gerrit-Reviewer: Philip Rogers <p...@chromium.org>
        Gerrit-Reviewer: ccameron chromium <ccam...@chromium.org>
        Gerrit-Attention: Philip Rogers <p...@chromium.org>
        Gerrit-Attention: ccameron chromium <ccam...@chromium.org>
        Gerrit-Attention: Dale Curtis <dalec...@chromium.org>
        Gerrit-Attention: Daniel Cheng <dch...@chromium.org>
        Gerrit-Comment-Date: Thu, 11 Dec 2025 20:47:23 +0000
        Gerrit-HasComments: Yes
        Gerrit-Has-Labels: Yes
        Comment-In-Reply-To: Dale Curtis <dalec...@chromium.org>
        satisfied_requirement
        unsatisfied_requirement
        open
        diffy

        Dale Curtis (Gerrit)

        unread,
        Dec 11, 2025, 3:52:09 PM (yesterday) Dec 11
        to ccameron chromium, Philip Rogers, Daniel Cheng, AyeAye, Chromium LUCI CQ, chromium...@chromium.org, blink-...@chromium.org, blink-rev...@chromium.org, cc-...@chromium.org, chromeos-gfx-...@google.com, feature-me...@chromium.org, ipc-securi...@chromium.org, max+watc...@igalia.com, media-cro...@chromium.org, nickdiego+wa...@igalia.com, ozone-...@chromium.org, penghu...@chromium.org
        Attention needed from Daniel Cheng, Philip Rogers and ccameron chromium

        Dale Curtis added 1 comment

        File ui/gfx/hdr_metadata.h
        Line 136, Patchset 8 (Parent): sk_sp<SkData> payload;
        Dale Curtis . unresolved

        I had forgotten this is a raw payload. Do we sanitize this before sending it out of the renderer process?

        ccameron chromium

        We only look at the bytes at render time (and we'll likely hash based on the data).

        Skia doesn't have an interface to the internals of this metadata (just a "parse it" and "make a shader from it" interface), so there doesn't exist a parsed form to pass around.

        If parsing at a higher privilege level is a concern (the parse is fairly trivial), then we can parse-then-reserialize so that only Chromium-produced metadata goes out from the renderer. But that will need to wait for some test updates because ...

        ...the payload is "sometimes JSON, sometimes binary", because we used JSON for prototyping and only now are moving to binary because it's stable enough. Some tests and test files will need to be updated before we can delete the JSON version.

        (It's still all behind a flag, of course)

        Dale Curtis

        I defer to @dch...@chromium.org from the security perspective. Hearing sometimes JSON, sometimes binary, does make me think it should be pre-processed in sandboxed process first.

        Open in Gerrit

        Related details

        Attention is currently required from:
        • Daniel Cheng
        • Philip Rogers
        • ccameron chromium
        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: I8d0be6756d651ec46963c262c22983502a74e7a3
        Gerrit-Change-Number: 7245979
        Gerrit-PatchSet: 10
        Gerrit-Owner: ccameron chromium <ccam...@chromium.org>
        Gerrit-Reviewer: Dale Curtis <dalec...@chromium.org>
        Gerrit-Reviewer: Daniel Cheng <dch...@chromium.org>
        Gerrit-Reviewer: Philip Rogers <p...@chromium.org>
        Gerrit-Reviewer: ccameron chromium <ccam...@chromium.org>
        Gerrit-Attention: Philip Rogers <p...@chromium.org>
        Gerrit-Attention: ccameron chromium <ccam...@chromium.org>
        Gerrit-Attention: Daniel Cheng <dch...@chromium.org>
        Gerrit-Comment-Date: Thu, 11 Dec 2025 20:51:59 +0000
        Gerrit-HasComments: Yes
        Gerrit-Has-Labels: No
        Comment-In-Reply-To: ccameron chromium <ccam...@chromium.org>
        Comment-In-Reply-To: Dale Curtis <dalec...@chromium.org>
        satisfied_requirement
        unsatisfied_requirement
        open
        diffy

        ccameron chromium (Gerrit)

        unread,
        Dec 11, 2025, 4:21:27 PM (yesterday) Dec 11
        to ccameron chromium, Philip Rogers, Dale Curtis, Daniel Cheng, AyeAye, Chromium LUCI CQ, chromium...@chromium.org, blink-...@chromium.org, blink-rev...@chromium.org, cc-...@chromium.org, chromeos-gfx-...@google.com, feature-me...@chromium.org, ipc-securi...@chromium.org, max+watc...@igalia.com, media-cro...@chromium.org, nickdiego+wa...@igalia.com, ozone-...@chromium.org, penghu...@chromium.org
        Attention needed from Dale Curtis, Daniel Cheng and Philip Rogers

        ccameron chromium added 1 comment

        File ui/gfx/hdr_metadata.h
        Line 136, Patchset 8 (Parent): sk_sp<SkData> payload;
        Dale Curtis . unresolved

        I had forgotten this is a raw payload. Do we sanitize this before sending it out of the renderer process?

        ccameron chromium

        We only look at the bytes at render time (and we'll likely hash based on the data).

        Skia doesn't have an interface to the internals of this metadata (just a "parse it" and "make a shader from it" interface), so there doesn't exist a parsed form to pass around.

        If parsing at a higher privilege level is a concern (the parse is fairly trivial), then we can parse-then-reserialize so that only Chromium-produced metadata goes out from the renderer. But that will need to wait for some test updates because ...

        ...the payload is "sometimes JSON, sometimes binary", because we used JSON for prototyping and only now are moving to binary because it's stable enough. Some tests and test files will need to be updated before we can delete the JSON version.

        (It's still all behind a flag, of course)

        Dale Curtis

        I defer to @dch...@chromium.org from the security perspective. Hearing sometimes JSON, sometimes binary, does make me think it should be pre-processed in sandboxed process first.

        ccameron chromium

        Oh, the JSON part is prototyping stuff that is going to be deleted once tests are updated (so, like, next-week-ish). Never to see the light of day.

        Open in Gerrit

        Related details

        Attention is currently required from:
        • Dale Curtis
        • Daniel Cheng
        • Philip Rogers
        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: I8d0be6756d651ec46963c262c22983502a74e7a3
        Gerrit-Change-Number: 7245979
        Gerrit-PatchSet: 10
        Gerrit-Owner: ccameron chromium <ccam...@chromium.org>
        Gerrit-Reviewer: Dale Curtis <dalec...@chromium.org>
        Gerrit-Reviewer: Daniel Cheng <dch...@chromium.org>
        Gerrit-Reviewer: Philip Rogers <p...@chromium.org>
        Gerrit-Reviewer: ccameron chromium <ccam...@chromium.org>
        Gerrit-Attention: Philip Rogers <p...@chromium.org>
        Gerrit-Attention: Dale Curtis <dalec...@chromium.org>
        Gerrit-Attention: Daniel Cheng <dch...@chromium.org>
        Gerrit-Comment-Date: Thu, 11 Dec 2025 21:21:09 +0000
        satisfied_requirement
        unsatisfied_requirement
        open
        diffy

        Dale Curtis (Gerrit)

        unread,
        Dec 11, 2025, 7:21:25 PM (yesterday) Dec 11
        to ccameron chromium, Philip Rogers, Daniel Cheng, AyeAye, Chromium LUCI CQ, chromium...@chromium.org, blink-...@chromium.org, blink-rev...@chromium.org, cc-...@chromium.org, chromeos-gfx-...@google.com, feature-me...@chromium.org, ipc-securi...@chromium.org, max+watc...@igalia.com, media-cro...@chromium.org, nickdiego+wa...@igalia.com, ozone-...@chromium.org, penghu...@chromium.org
        Attention needed from Daniel Cheng, Philip Rogers and ccameron chromium

        Dale Curtis voted and added 1 comment

        Votes added by Dale Curtis

        Code-Review+1

        1 comment

        Patchset-level comments
        File-level comment, Patchset 10 (Latest):
        Dale Curtis . resolved

        media/ lgtm % the security Q, which isn't any worse at least in this CL.

        Open in Gerrit

        Related details

        Attention is currently required from:
        • Daniel Cheng
        • Philip Rogers
        • ccameron chromium
        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: I8d0be6756d651ec46963c262c22983502a74e7a3
          Gerrit-Change-Number: 7245979
          Gerrit-PatchSet: 10
          Gerrit-Owner: ccameron chromium <ccam...@chromium.org>
          Gerrit-Reviewer: Dale Curtis <dalec...@chromium.org>
          Gerrit-Reviewer: Daniel Cheng <dch...@chromium.org>
          Gerrit-Reviewer: Philip Rogers <p...@chromium.org>
          Gerrit-Reviewer: ccameron chromium <ccam...@chromium.org>
          Gerrit-Attention: Philip Rogers <p...@chromium.org>
          Gerrit-Attention: ccameron chromium <ccam...@chromium.org>
          Gerrit-Attention: Daniel Cheng <dch...@chromium.org>
          Gerrit-Comment-Date: Fri, 12 Dec 2025 00:21:11 +0000
          Gerrit-HasComments: Yes
          Gerrit-Has-Labels: Yes
          satisfied_requirement
          unsatisfied_requirement
          open
          diffy

          Daniel Cheng (Gerrit)

          unread,
          11:19 AM (9 hours ago) 11:19 AM
          to ccameron chromium, Daniel Cheng, Dale Curtis, Philip Rogers, AyeAye, Chromium LUCI CQ, chromium...@chromium.org, blink-...@chromium.org, blink-rev...@chromium.org, cc-...@chromium.org, chromeos-gfx-...@google.com, feature-me...@chromium.org, ipc-securi...@chromium.org, max+watc...@igalia.com, media-cro...@chromium.org, nickdiego+wa...@igalia.com, ozone-...@chromium.org, penghu...@chromium.org
          Attention needed from Philip Rogers and ccameron chromium

          Daniel Cheng voted and added 3 comments

          Votes added by Daniel Cheng

          Code-Review+1

          3 comments

          File ui/gfx/hdr_metadata.h
          Line 136, Patchset 8 (Parent): sk_sp<SkData> payload;
          Dale Curtis . unresolved

          I had forgotten this is a raw payload. Do we sanitize this before sending it out of the renderer process?

          ccameron chromium

          We only look at the bytes at render time (and we'll likely hash based on the data).

          Skia doesn't have an interface to the internals of this metadata (just a "parse it" and "make a shader from it" interface), so there doesn't exist a parsed form to pass around.

          If parsing at a higher privilege level is a concern (the parse is fairly trivial), then we can parse-then-reserialize so that only Chromium-produced metadata goes out from the renderer. But that will need to wait for some test updates because ...

          ...the payload is "sometimes JSON, sometimes binary", because we used JSON for prototyping and only now are moving to binary because it's stable enough. Some tests and test files will need to be updated before we can delete the JSON version.

          (It's still all behind a flag, of course)

          Dale Curtis

          I defer to @dch...@chromium.org from the security perspective. Hearing sometimes JSON, sometimes binary, does make me think it should be pre-processed in sandboxed process first.

          ccameron chromium

          Oh, the JSON part is prototyping stuff that is going to be deleted once tests are updated (so, like, next-week-ish). Never to see the light of day.

          Daniel Cheng

          I did notice this originally and it's not great. But I think it's pre-existing, right?

          (I'd probably file a bug about this to explicitly track fixing it though)

          File ui/gfx/mojom/hdr_metadata_mojom_traits.h
          Line 91, Patchset 8: result.assign(data->bytes(), std::next(data->bytes(), data->size()));
          Daniel Cheng . resolved

          Can we just pull a span out here? Do we need to strongly own this?

          (It's kind of unfortunate that even just calling this refs the SkData, but nothing I can do about that here)

          ccameron chromium

          Added a helper function that takes a `const SkData*` so we can avoid the ref.

          Daniel Cheng

          Thanks!

          File ui/gfx/mojom/hdr_metadata_mojom_traits.cc
          Line 63, Patchset 8: if (!agtm_data.is_null() && agtm_data.size() > 0) {
          Daniel Cheng . resolved

          Out of curiosity why the additional size check now? Is this just to save an allocation?

          ccameron chromium

          It was because I had un-optionalized the array in mojom, which made "an SkData of size 0" and "a nullptr SkData" indistinguishable. In practice, they are (a zero-size agtm will fail parsing later on), but that was sloppy, so I've re-optionalized it and removed the check.

          Daniel Cheng

          Acknowledged

          Open in Gerrit

          Related details

          Attention is currently required from:
          • Philip Rogers
          • ccameron chromium
          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: I8d0be6756d651ec46963c262c22983502a74e7a3
          Gerrit-Change-Number: 7245979
          Gerrit-PatchSet: 11
          Gerrit-Owner: ccameron chromium <ccam...@chromium.org>
          Gerrit-Reviewer: Dale Curtis <dalec...@chromium.org>
          Gerrit-Reviewer: Daniel Cheng <dch...@chromium.org>
          Gerrit-Reviewer: Philip Rogers <p...@chromium.org>
          Gerrit-Reviewer: ccameron chromium <ccam...@chromium.org>
          Gerrit-Attention: Philip Rogers <p...@chromium.org>
          Gerrit-Attention: ccameron chromium <ccam...@chromium.org>
          Gerrit-Comment-Date: Fri, 12 Dec 2025 16:19:27 +0000
          Gerrit-HasComments: Yes
          Gerrit-Has-Labels: Yes
          Comment-In-Reply-To: ccameron chromium <ccam...@chromium.org>
          Comment-In-Reply-To: Dale Curtis <dalec...@chromium.org>
          Comment-In-Reply-To: Daniel Cheng <dch...@chromium.org>
          satisfied_requirement
          unsatisfied_requirement
          open
          diffy

          ccameron chromium (Gerrit)

          unread,
          4:39 PM (3 hours ago) 4:39 PM
          to ccameron chromium, Daniel Cheng, Dale Curtis, Philip Rogers, AyeAye, Chromium LUCI CQ, chromium...@chromium.org, blink-...@chromium.org, blink-rev...@chromium.org, cc-...@chromium.org, chromeos-gfx-...@google.com, feature-me...@chromium.org, ipc-securi...@chromium.org, max+watc...@igalia.com, media-cro...@chromium.org, nickdiego+wa...@igalia.com, ozone-...@chromium.org, penghu...@chromium.org
          Attention needed from Dale Curtis, Daniel Cheng and Philip Rogers

          ccameron chromium added 1 comment

          File ui/gfx/hdr_metadata.h
          Line 136, Patchset 8 (Parent): sk_sp<SkData> payload;
          Dale Curtis . unresolved

          I had forgotten this is a raw payload. Do we sanitize this before sending it out of the renderer process?

          ccameron chromium

          We only look at the bytes at render time (and we'll likely hash based on the data).

          Skia doesn't have an interface to the internals of this metadata (just a "parse it" and "make a shader from it" interface), so there doesn't exist a parsed form to pass around.

          If parsing at a higher privilege level is a concern (the parse is fairly trivial), then we can parse-then-reserialize so that only Chromium-produced metadata goes out from the renderer. But that will need to wait for some test updates because ...

          ...the payload is "sometimes JSON, sometimes binary", because we used JSON for prototyping and only now are moving to binary because it's stable enough. Some tests and test files will need to be updated before we can delete the JSON version.

          (It's still all behind a flag, of course)

          Dale Curtis

          I defer to @dch...@chromium.org from the security perspective. Hearing sometimes JSON, sometimes binary, does make me think it should be pre-processed in sandboxed process first.

          ccameron chromium

          Oh, the JSON part is prototyping stuff that is going to be deleted once tests are updated (so, like, next-week-ish). Never to see the light of day.

          Daniel Cheng

          I did notice this originally and it's not great. But I think it's pre-existing, right?

          (I'd probably file a bug about this to explicitly track fixing it though)

          ccameron chromium

          Yes, it's pre-existing. The follow-on to remove the JSON part of it is at:
          https://chromium-review.googlesource.com/c/chromium/src/+/7256035

          If indeed we don't want to send unparsed T35 then we'll need to create a parsed representation, etc (which is a sort of messy API to maintain).

          Open in Gerrit

          Related details

          Attention is currently required from:
          • Dale Curtis
          • Daniel Cheng
          • Philip Rogers
          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: I8d0be6756d651ec46963c262c22983502a74e7a3
          Gerrit-Change-Number: 7245979
          Gerrit-PatchSet: 11
          Gerrit-Owner: ccameron chromium <ccam...@chromium.org>
          Gerrit-Reviewer: Dale Curtis <dalec...@chromium.org>
          Gerrit-Reviewer: Daniel Cheng <dch...@chromium.org>
          Gerrit-Reviewer: Philip Rogers <p...@chromium.org>
          Gerrit-Reviewer: ccameron chromium <ccam...@chromium.org>
          Gerrit-Attention: Philip Rogers <p...@chromium.org>
          Gerrit-Attention: Dale Curtis <dalec...@chromium.org>
          Gerrit-Attention: Daniel Cheng <dch...@chromium.org>
          Gerrit-Comment-Date: Fri, 12 Dec 2025 21:39:32 +0000
          Gerrit-HasComments: Yes
          Gerrit-Has-Labels: No
          satisfied_requirement
          unsatisfied_requirement
          open
          diffy

          ccameron chromium (Gerrit)

          unread,
          4:40 PM (3 hours ago) 4:40 PM
          to ccameron chromium, Daniel Cheng, Dale Curtis, Philip Rogers, AyeAye, Chromium LUCI CQ, chromium...@chromium.org, blink-...@chromium.org, blink-rev...@chromium.org, cc-...@chromium.org, chromeos-gfx-...@google.com, feature-me...@chromium.org, ipc-securi...@chromium.org, max+watc...@igalia.com, media-cro...@chromium.org, nickdiego+wa...@igalia.com, ozone-...@chromium.org, penghu...@chromium.org
          Attention needed from Dale Curtis, Daniel Cheng and Philip Rogers

          ccameron chromium added 1 comment

          File ui/gfx/hdr_metadata.h
          Line 136, Patchset 8 (Parent): sk_sp<SkData> payload;
          Dale Curtis . resolved

          I had forgotten this is a raw payload. Do we sanitize this before sending it out of the renderer process?

          ccameron chromium

          We only look at the bytes at render time (and we'll likely hash based on the data).

          Skia doesn't have an interface to the internals of this metadata (just a "parse it" and "make a shader from it" interface), so there doesn't exist a parsed form to pass around.

          If parsing at a higher privilege level is a concern (the parse is fairly trivial), then we can parse-then-reserialize so that only Chromium-produced metadata goes out from the renderer. But that will need to wait for some test updates because ...

          ...the payload is "sometimes JSON, sometimes binary", because we used JSON for prototyping and only now are moving to binary because it's stable enough. Some tests and test files will need to be updated before we can delete the JSON version.

          (It's still all behind a flag, of course)

          Dale Curtis

          I defer to @dch...@chromium.org from the security perspective. Hearing sometimes JSON, sometimes binary, does make me think it should be pre-processed in sandboxed process first.

          ccameron chromium

          Oh, the JSON part is prototyping stuff that is going to be deleted once tests are updated (so, like, next-week-ish). Never to see the light of day.

          Daniel Cheng

          I did notice this originally and it's not great. But I think it's pre-existing, right?

          (I'd probably file a bug about this to explicitly track fixing it though)

          ccameron chromium

          Yes, it's pre-existing. The follow-on to remove the JSON part of it is at:
          https://chromium-review.googlesource.com/c/chromium/src/+/7256035

          If indeed we don't want to send unparsed T35 then we'll need to create a parsed representation, etc (which is a sort of messy API to maintain).

          ccameron chromium

          Done

          Open in Gerrit

          Related details

          Attention is currently required from:
          • Dale Curtis
          • Daniel Cheng
          • Philip Rogers
          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: I8d0be6756d651ec46963c262c22983502a74e7a3
            Gerrit-Change-Number: 7245979
            Gerrit-PatchSet: 11
            Gerrit-Owner: ccameron chromium <ccam...@chromium.org>
            Gerrit-Reviewer: Dale Curtis <dalec...@chromium.org>
            Gerrit-Reviewer: Daniel Cheng <dch...@chromium.org>
            Gerrit-Reviewer: Philip Rogers <p...@chromium.org>
            Gerrit-Reviewer: ccameron chromium <ccam...@chromium.org>
            Gerrit-Attention: Philip Rogers <p...@chromium.org>
            Gerrit-Attention: Dale Curtis <dalec...@chromium.org>
            Gerrit-Attention: Daniel Cheng <dch...@chromium.org>
            Gerrit-Comment-Date: Fri, 12 Dec 2025 21:39:53 +0000
            satisfied_requirement
            open
            diffy

            ccameron chromium (Gerrit)

            unread,
            4:40 PM (3 hours ago) 4:40 PM
            to ccameron chromium, Daniel Cheng, Dale Curtis, Philip Rogers, AyeAye, Chromium LUCI CQ, chromium...@chromium.org, blink-...@chromium.org, blink-rev...@chromium.org, cc-...@chromium.org, chromeos-gfx-...@google.com, feature-me...@chromium.org, ipc-securi...@chromium.org, max+watc...@igalia.com, media-cro...@chromium.org, nickdiego+wa...@igalia.com, ozone-...@chromium.org, penghu...@chromium.org
            Attention needed from Dale Curtis, Daniel Cheng and Philip Rogers

            ccameron chromium voted Commit-Queue+2

            Commit-Queue+2
            Gerrit-Comment-Date: Fri, 12 Dec 2025 21:39:59 +0000
            Gerrit-HasComments: No
            Gerrit-Has-Labels: Yes
            satisfied_requirement
            open
            diffy

            Daniel Cheng (Gerrit)

            unread,
            4:43 PM (3 hours ago) 4:43 PM
            to ccameron chromium, Daniel Cheng, Dale Curtis, Philip Rogers, AyeAye, Chromium LUCI CQ, chromium...@chromium.org, blink-...@chromium.org, blink-rev...@chromium.org, cc-...@chromium.org, chromeos-gfx-...@google.com, feature-me...@chromium.org, ipc-securi...@chromium.org, max+watc...@igalia.com, media-cro...@chromium.org, nickdiego+wa...@igalia.com, ozone-...@chromium.org, penghu...@chromium.org
            Attention needed from Dale Curtis, Philip Rogers and ccameron chromium

            Daniel Cheng added 1 comment

            File ui/gfx/hdr_metadata.h
            Line 136, Patchset 8 (Parent): sk_sp<SkData> payload;
            Dale Curtis . resolved

            I had forgotten this is a raw payload. Do we sanitize this before sending it out of the renderer process?

            ccameron chromium

            We only look at the bytes at render time (and we'll likely hash based on the data).

            Skia doesn't have an interface to the internals of this metadata (just a "parse it" and "make a shader from it" interface), so there doesn't exist a parsed form to pass around.

            If parsing at a higher privilege level is a concern (the parse is fairly trivial), then we can parse-then-reserialize so that only Chromium-produced metadata goes out from the renderer. But that will need to wait for some test updates because ...

            ...the payload is "sometimes JSON, sometimes binary", because we used JSON for prototyping and only now are moving to binary because it's stable enough. Some tests and test files will need to be updated before we can delete the JSON version.

            (It's still all behind a flag, of course)

            Dale Curtis

            I defer to @dch...@chromium.org from the security perspective. Hearing sometimes JSON, sometimes binary, does make me think it should be pre-processed in sandboxed process first.

            ccameron chromium

            Oh, the JSON part is prototyping stuff that is going to be deleted once tests are updated (so, like, next-week-ish). Never to see the light of day.

            Daniel Cheng

            I did notice this originally and it's not great. But I think it's pre-existing, right?

            (I'd probably file a bug about this to explicitly track fixing it though)

            ccameron chromium

            Yes, it's pre-existing. The follow-on to remove the JSON part of it is at:
            https://chromium-review.googlesource.com/c/chromium/src/+/7256035

            If indeed we don't want to send unparsed T35 then we'll need to create a parsed representation, etc (which is a sort of messy API to maintain).

            ccameron chromium

            Done

            Daniel Cheng

            To be clear, parsing of any sort is potentially problematic if the source of truth is an untrustworthy process. It sounds like this may not be following the rule of 2, hence the request for a followup bug.

            Open in Gerrit

            Related details

            Attention is currently required from:
            • Dale Curtis
            • Philip Rogers
            • ccameron chromium
            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: I8d0be6756d651ec46963c262c22983502a74e7a3
            Gerrit-Change-Number: 7245979
            Gerrit-PatchSet: 11
            Gerrit-Owner: ccameron chromium <ccam...@chromium.org>
            Gerrit-Reviewer: Dale Curtis <dalec...@chromium.org>
            Gerrit-Reviewer: Daniel Cheng <dch...@chromium.org>
            Gerrit-Reviewer: Philip Rogers <p...@chromium.org>
            Gerrit-Reviewer: ccameron chromium <ccam...@chromium.org>
            Gerrit-Attention: Philip Rogers <p...@chromium.org>
            Gerrit-Attention: ccameron chromium <ccam...@chromium.org>
            Gerrit-Attention: Dale Curtis <dalec...@chromium.org>
            Gerrit-Comment-Date: Fri, 12 Dec 2025 21:43:12 +0000
            satisfied_requirement
            open
            diffy

            Dale Curtis (Gerrit)

            unread,
            4:45 PM (3 hours ago) 4:45 PM
            to ccameron chromium, Daniel Cheng, Philip Rogers, AyeAye, Chromium LUCI CQ, chromium...@chromium.org, blink-...@chromium.org, blink-rev...@chromium.org, cc-...@chromium.org, chromeos-gfx-...@google.com, feature-me...@chromium.org, ipc-securi...@chromium.org, max+watc...@igalia.com, media-cro...@chromium.org, nickdiego+wa...@igalia.com, ozone-...@chromium.org, penghu...@chromium.org
            Attention needed from Philip Rogers and ccameron chromium

            Dale Curtis voted and added 1 comment

            Votes added by Dale Curtis

            Code-Review+1

            1 comment

            File ui/gfx/hdr_metadata.h
            Line 136, Patchset 8 (Parent): sk_sp<SkData> payload;
            Dale Curtis . resolved

            I had forgotten this is a raw payload. Do we sanitize this before sending it out of the renderer process?

            ccameron chromium

            We only look at the bytes at render time (and we'll likely hash based on the data).

            Skia doesn't have an interface to the internals of this metadata (just a "parse it" and "make a shader from it" interface), so there doesn't exist a parsed form to pass around.

            If parsing at a higher privilege level is a concern (the parse is fairly trivial), then we can parse-then-reserialize so that only Chromium-produced metadata goes out from the renderer. But that will need to wait for some test updates because ...

            ...the payload is "sometimes JSON, sometimes binary", because we used JSON for prototyping and only now are moving to binary because it's stable enough. Some tests and test files will need to be updated before we can delete the JSON version.

            (It's still all behind a flag, of course)

            Dale Curtis

            I defer to @dch...@chromium.org from the security perspective. Hearing sometimes JSON, sometimes binary, does make me think it should be pre-processed in sandboxed process first.

            ccameron chromium

            Oh, the JSON part is prototyping stuff that is going to be deleted once tests are updated (so, like, next-week-ish). Never to see the light of day.

            Daniel Cheng

            I did notice this originally and it's not great. But I think it's pre-existing, right?

            (I'd probably file a bug about this to explicitly track fixing it though)

            ccameron chromium

            Yes, it's pre-existing. The follow-on to remove the JSON part of it is at:
            https://chromium-review.googlesource.com/c/chromium/src/+/7256035

            If indeed we don't want to send unparsed T35 then we'll need to create a parsed representation, etc (which is a sort of messy API to maintain).

            ccameron chromium

            Done

            Dale Curtis

            If the AGTM parser is pretty simple, maybe rewriting in Rust is an option?

            Open in Gerrit

            Related details

            Attention is currently required from:
            • Philip Rogers
            • ccameron chromium
            Gerrit-Comment-Date: Fri, 12 Dec 2025 21:44:56 +0000
            Gerrit-HasComments: Yes
            Gerrit-Has-Labels: Yes
            satisfied_requirement
            open
            diffy

            Chromium LUCI CQ (Gerrit)

            unread,
            5:52 PM (2 hours ago) 5:52 PM
            to ccameron chromium, Daniel Cheng, Dale Curtis, Philip Rogers, AyeAye, chromium...@chromium.org, blink-...@chromium.org, blink-rev...@chromium.org, cc-...@chromium.org, chromeos-gfx-...@google.com, feature-me...@chromium.org, ipc-securi...@chromium.org, max+watc...@igalia.com, media-cro...@chromium.org, nickdiego+wa...@igalia.com, ozone-...@chromium.org, penghu...@chromium.org

            Chromium LUCI CQ submitted the change

            Change information

            Commit message:
            gfx::HDRMetadata: Remove gfx::HdrMetadataAgtm

            This is towards moving gfx::HDRMetadata to be skhdr::Metadata, so that
            we can share HDR rendering across Chrome and Android, and so we can
            share metadata parsing between Chrome and Skia codecs.

            skhdr::Metadata just stores an sk_sp<SkData> of the serialize metadata.
            We do not parse the metadata until the very last moment, when we are
            rendering the image/video that uses it (and when we do that, we should
            have a cache of the parsed result and its shaders, etc).

            Remove the Remove gfx::HdrMetadataAgtm structure, and make it just be a
            (lonely) private member on gfx::HDRMetadata. We will do the same with
            the remaining members (adding accessors to mirror the Skia structures),
            and then we will eventually replace the structure with skhdr::Metadata.
            Bug: 395659818
            Change-Id: I8d0be6756d651ec46963c262c22983502a74e7a3
            Commit-Queue: ccameron chromium <ccam...@chromium.org>
            Reviewed-by: Dale Curtis <dalec...@chromium.org>
            Reviewed-by: Daniel Cheng <dch...@chromium.org>
            Cr-Commit-Position: refs/heads/main@{#1558303}
            Files:
            • M cc/paint/tone_map_util.cc
            • M components/viz/service/display/display_resource_provider.cc
            • M components/viz/service/display/skia_renderer.cc
            • M media/base/agtm.cc
            • M media/base/agtm.h
            • M media/base/agtm_unittest.cc
            • M media/filters/dav1d_video_decoder.cc
            • M media/filters/dav1d_video_decoder_unittest.cc
            • M media/filters/vpx_video_decoder.cc
            • M media/filters/vpx_video_decoder_unittest.cc
            • M media/gpu/av1_decoder.cc
            • M media/gpu/av1_decoder_unittest.cc
            • M third_party/blink/renderer/core/html/canvas/predefined_color_space.cc
            • M ui/gfx/BUILD.gn
            • M ui/gfx/hdr_metadata.cc
            • M ui/gfx/hdr_metadata.h
            • M ui/gfx/hdr_metadata_agtm.cc
            • M ui/gfx/hdr_metadata_agtm.h
            • M ui/gfx/mojom/BUILD.gn
            • M ui/gfx/mojom/hdr_metadata.mojom
            • M ui/gfx/mojom/hdr_metadata_mojom_traits.cc
            • M ui/gfx/mojom/hdr_metadata_mojom_traits.h
            • M ui/gfx/mojom/mojom_traits_unittest.cc
            • M ui/gfx/skia_span_util.cc
            • M ui/gfx/skia_span_util.h
            • M ui/ozone/platform/wayland/host/wayland_wp_color_manager.cc
            Change size: L
            Delta: 26 files changed, 124 insertions(+), 162 deletions(-)
            Branch: refs/heads/main
            Submit Requirements:
            • requirement satisfiedCode-Review: +1 by Daniel Cheng, +1 by Dale Curtis
            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: I8d0be6756d651ec46963c262c22983502a74e7a3
            Gerrit-Change-Number: 7245979
            Gerrit-PatchSet: 12
            Gerrit-Owner: ccameron chromium <ccam...@chromium.org>
            Gerrit-Reviewer: Chromium LUCI CQ <chromiu...@luci-project-accounts.iam.gserviceaccount.com>
            Gerrit-Reviewer: Dale Curtis <dalec...@chromium.org>
            Gerrit-Reviewer: Daniel Cheng <dch...@chromium.org>
            Gerrit-Reviewer: Philip Rogers <p...@chromium.org>
            Gerrit-Reviewer: ccameron chromium <ccam...@chromium.org>
            open
            diffy
            satisfied_requirement

            Daniel Cheng (Gerrit)

            unread,
            6:11 PM (2 hours ago) 6:11 PM
            to Chromium LUCI CQ, ccameron chromium, Daniel Cheng, Dale Curtis, Philip Rogers, AyeAye, chromium...@chromium.org, blink-...@chromium.org, blink-rev...@chromium.org, cc-...@chromium.org, chromeos-gfx-...@google.com, feature-me...@chromium.org, ipc-securi...@chromium.org, max+watc...@igalia.com, media-cro...@chromium.org, nickdiego+wa...@igalia.com, ozone-...@chromium.org, penghu...@chromium.org

            Daniel Cheng added 1 comment

            File ui/gfx/hdr_metadata.h
            Daniel Cheng

            Yes, if we decided it was problematic, Rust would be one way to solve this.

            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: I8d0be6756d651ec46963c262c22983502a74e7a3
            Gerrit-Change-Number: 7245979
            Gerrit-PatchSet: 12
            Gerrit-Owner: ccameron chromium <ccam...@chromium.org>
            Gerrit-Reviewer: Chromium LUCI CQ <chromiu...@luci-project-accounts.iam.gserviceaccount.com>
            Gerrit-Reviewer: Dale Curtis <dalec...@chromium.org>
            Gerrit-Reviewer: Daniel Cheng <dch...@chromium.org>
            Gerrit-Reviewer: Philip Rogers <p...@chromium.org>
            Gerrit-Reviewer: ccameron chromium <ccam...@chromium.org>
            Gerrit-Comment-Date: Fri, 12 Dec 2025 23:11:51 +0000
            Gerrit-HasComments: Yes
            Gerrit-Has-Labels: No
            satisfied_requirement
            open
            diffy
            Reply all
            Reply to author
            Forward
            0 new messages