[rust png] Set default to `enable_rust_png = true` in GN args. [chromium/src : main]

4 views
Skip to first unread message

Łukasz Anforowicz (Gerrit)

unread,
Dec 10, 2024, 12:33:36 PM12/10/24
to binar...@chromium.org
Attention needed from Florin Malita

Łukasz Anforowicz has uploaded the change for review

Commit message

[rust png] Set default to `enable_rust_png = true` in GN args.

This CL starts to actually build Rust PNG into the Chrome binary. It
also means that Rust-PNG-aware test-suites (e.g. `PNGCodecTest` in
`gfx_unittests` and `*PNGTests` in `blink_platform_unittests`) cover the
Rust PNG not only on Rust FYI bots, but also on the regular Chromium
CI/CQ. This CL is justified/motivated by the desire to prepare for
starting field trials - see the recent status update slidedeck [1] for
more details.

The binary size increase is discussed in the "Binary size" section of
the go/rusty-png-in-chromium-and-skia design doc [2]. Note that some of
the increase is expected to be temporary - it will be redeemed once the
new codec ships and the legacy `libpng` codec is removed.

[1] https://docs.google.com/presentation/d/1AXpg62xLaSXLZLTShSAMVZBhBnvDXUUaK8Tu4cy47VQ/edit?usp=sharing
[2] https://docs.google.com/document/d/1glx5ue5JDlCld5WzWgTOGK3wsMErQFnkY5N5Dsbi91Y/edit?usp=sharing#heading=h.m3sqlp5evinx
Binary-Size: See the commit description.
Fuchsia-Binary-Size: See the commit description.
Bug: 360375227
Change-Id: I3a94ba1e586a6ea7c2a25923b1e084fee32e49e4

Change diff

diff --git a/BUILD.gn b/BUILD.gn
index ebd779e..4d5c300 100644
--- a/BUILD.gn
+++ b/BUILD.gn
@@ -898,7 +898,7 @@
"//mojo/public/rust:mojo_rust_unittests",
]
}
- if (enable_rust_png) {
+ if (enable_rust_png && !is_cronet_build) {
deps += [ "//skia" ]
}
}
diff --git a/skia/skia.gni b/skia/skia.gni
index 3318337..e9694de 100644
--- a/skia/skia.gni
+++ b/skia/skia.gni
@@ -4,8 +4,10 @@

declare_args() {
# WIP attempt to replace `libpng` with Rust `png` crate.
+ # See https://crbug.com/40278281 for more details.
#
- # TODO(https://crbug.com/360375227): Default to true when ready to start A/B
- # experiments.
- enable_rust_png = false
+ # TODO(https://crbug.com/360375227): Either: 1) remove (if/when
+ # shipped) or 2) change back to `false` before branchpoint (if not
+ # ready for Beta/Stable yet).
+ enable_rust_png = true
}

Change information

Files:
  • M BUILD.gn
  • M skia/skia.gni
Change size: S
Delta: 2 files changed, 6 insertions(+), 4 deletions(-)
Open in Gerrit

Related details

Attention is currently required from:
  • Florin Malita
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: newchange
Gerrit-Project: chromium/src
Gerrit-Branch: main
Gerrit-Change-Id: I3a94ba1e586a6ea7c2a25923b1e084fee32e49e4
Gerrit-Change-Number: 6026973
Gerrit-PatchSet: 6
Gerrit-Owner: Łukasz Anforowicz <luk...@chromium.org>
Gerrit-Reviewer: Florin Malita <fma...@chromium.org>
Gerrit-Reviewer: Łukasz Anforowicz <luk...@chromium.org>
Gerrit-CC: Daniel Dilan <danie...@google.com>
Gerrit-Attention: Florin Malita <fma...@chromium.org>
satisfied_requirement
unsatisfied_requirement
open
diffy

Łukasz Anforowicz (Gerrit)

unread,
Dec 10, 2024, 12:33:42 PM12/10/24
to Florin Malita, Daniel Dilan, Chromium LUCI CQ, chromium...@chromium.org, binar...@chromium.org
Attention needed from Florin Malita

Łukasz Anforowicz added 1 comment

Patchset-level comments
File-level comment, Patchset 6 (Latest):
Łukasz Anforowicz . resolved

/cc binar...@chromium.org as an FYI (to transparently give a heads-up about the expected binary size increase)

Open in Gerrit

Related details

Attention is currently required from:
  • Florin Malita
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: I3a94ba1e586a6ea7c2a25923b1e084fee32e49e4
Gerrit-Change-Number: 6026973
Gerrit-PatchSet: 6
Gerrit-Owner: Łukasz Anforowicz <luk...@chromium.org>
Gerrit-Reviewer: Florin Malita <fma...@chromium.org>
Gerrit-Reviewer: Łukasz Anforowicz <luk...@chromium.org>
Gerrit-CC: Daniel Dilan <danie...@google.com>
Gerrit-Attention: Florin Malita <fma...@chromium.org>
Gerrit-Comment-Date: Tue, 10 Dec 2024 17:33:33 +0000
Gerrit-HasComments: Yes
Gerrit-Has-Labels: No
satisfied_requirement
unsatisfied_requirement
open
diffy

Florin Malita (Gerrit)

unread,
Dec 10, 2024, 12:55:32 PM12/10/24
to Łukasz Anforowicz, Daniel Dilan, Chromium LUCI CQ, chromium...@chromium.org, binar...@chromium.org
Attention needed from Łukasz Anforowicz

Florin Malita voted Code-Review+1

Code-Review+1
Open in Gerrit

Related details

Attention is currently required from:
  • Łukasz Anforowicz
Submit Requirements:
  • requirement satisfiedCode-Coverage
  • 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: I3a94ba1e586a6ea7c2a25923b1e084fee32e49e4
Gerrit-Change-Number: 6026973
Gerrit-PatchSet: 6
Gerrit-Owner: Łukasz Anforowicz <luk...@chromium.org>
Gerrit-Reviewer: Florin Malita <fma...@chromium.org>
Gerrit-Reviewer: Łukasz Anforowicz <luk...@chromium.org>
Gerrit-CC: Daniel Dilan <danie...@google.com>
Gerrit-Attention: Łukasz Anforowicz <luk...@chromium.org>
Gerrit-Comment-Date: Tue, 10 Dec 2024 17:55:23 +0000
Gerrit-HasComments: No
Gerrit-Has-Labels: Yes
satisfied_requirement
open
diffy

Łukasz Anforowicz (Gerrit)

unread,
Dec 10, 2024, 12:57:35 PM12/10/24
to Andrew Grieve, Florin Malita, Daniel Dilan, Chromium LUCI CQ, chromium...@chromium.org, binar...@chromium.org
Attention needed from Andrew Grieve

Łukasz Anforowicz added 1 comment

Patchset-level comments
Łukasz Anforowicz . resolved

@agrieve, can you PTAL at the `//BUILD.gn` changes (as one of `//build/OWNERS
` + as a binary size watcher)?

Open in Gerrit

Related details

Attention is currently required from:
  • Andrew Grieve
Submit Requirements:
  • requirement satisfiedCode-Coverage
  • 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: I3a94ba1e586a6ea7c2a25923b1e084fee32e49e4
Gerrit-Change-Number: 6026973
Gerrit-PatchSet: 6
Gerrit-Owner: Łukasz Anforowicz <luk...@chromium.org>
Gerrit-Reviewer: Andrew Grieve <agr...@chromium.org>
Gerrit-Reviewer: Florin Malita <fma...@chromium.org>
Gerrit-Reviewer: Łukasz Anforowicz <luk...@chromium.org>
Gerrit-CC: Daniel Dilan <danie...@google.com>
Gerrit-Attention: Andrew Grieve <agr...@chromium.org>
Gerrit-Comment-Date: Tue, 10 Dec 2024 17:57:23 +0000
Gerrit-HasComments: Yes
Gerrit-Has-Labels: No
satisfied_requirement
open
diffy

Andrew Grieve (Gerrit)

unread,
Dec 10, 2024, 1:01:09 PM12/10/24
to Łukasz Anforowicz, Andrew Grieve, Florin Malita, Daniel Dilan, Chromium LUCI CQ, chromium...@chromium.org, binar...@chromium.org
Attention needed from Łukasz Anforowicz

Andrew Grieve voted Code-Review+1

Code-Review+1
Open in Gerrit

Related details

Attention is currently required from:
  • Łukasz Anforowicz
Submit Requirements:
  • requirement satisfiedCode-Coverage
  • 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: I3a94ba1e586a6ea7c2a25923b1e084fee32e49e4
Gerrit-Change-Number: 6026973
Gerrit-PatchSet: 6
Gerrit-Owner: Łukasz Anforowicz <luk...@chromium.org>
Gerrit-Reviewer: Andrew Grieve <agr...@chromium.org>
Gerrit-Reviewer: Florin Malita <fma...@chromium.org>
Gerrit-Reviewer: Łukasz Anforowicz <luk...@chromium.org>
Gerrit-CC: Daniel Dilan <danie...@google.com>
Gerrit-Attention: Łukasz Anforowicz <luk...@chromium.org>
Gerrit-Comment-Date: Tue, 10 Dec 2024 18:00:56 +0000
Gerrit-HasComments: No
Gerrit-Has-Labels: Yes
satisfied_requirement
open
diffy

Nico Weber (Gerrit)

unread,
Dec 10, 2024, 2:52:33 PM12/10/24
to Łukasz Anforowicz, Nico Weber, Andrew Grieve, Florin Malita, Daniel Dilan, Chromium LUCI CQ, chromium...@chromium.org, binar...@chromium.org
Attention needed from Łukasz Anforowicz

Nico Weber voted Code-Review+1

Code-Review+1
Open in Gerrit

Related details

Attention is currently required from:
  • Łukasz Anforowicz
Submit Requirements:
  • requirement satisfiedCode-Coverage
  • 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: I3a94ba1e586a6ea7c2a25923b1e084fee32e49e4
Gerrit-Change-Number: 6026973
Gerrit-PatchSet: 6
Gerrit-Owner: Łukasz Anforowicz <luk...@chromium.org>
Gerrit-Reviewer: Andrew Grieve <agr...@chromium.org>
Gerrit-Reviewer: Florin Malita <fma...@chromium.org>
Gerrit-Reviewer: Nico Weber <tha...@chromium.org>
Gerrit-Reviewer: Łukasz Anforowicz <luk...@chromium.org>
Gerrit-CC: Daniel Dilan <danie...@google.com>
Gerrit-Attention: Łukasz Anforowicz <luk...@chromium.org>
Gerrit-Comment-Date: Tue, 10 Dec 2024 19:52:23 +0000
Gerrit-HasComments: No
Gerrit-Has-Labels: Yes
satisfied_requirement
open
diffy

Łukasz Anforowicz (Gerrit)

unread,
Dec 11, 2024, 9:47:56 AM12/11/24
to Nico Weber, Andrew Grieve, Florin Malita, Daniel Dilan, Chromium LUCI CQ, chromium...@chromium.org, binar...@chromium.org

Łukasz Anforowicz voted Commit-Queue+2

Commit-Queue+2
Open in Gerrit

Related details

Attention set is empty
Submit Requirements:
  • requirement satisfiedCode-Coverage
  • 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: I3a94ba1e586a6ea7c2a25923b1e084fee32e49e4
Gerrit-Change-Number: 6026973
Gerrit-PatchSet: 6
Gerrit-Owner: Łukasz Anforowicz <luk...@chromium.org>
Gerrit-Reviewer: Andrew Grieve <agr...@chromium.org>
Gerrit-Reviewer: Florin Malita <fma...@chromium.org>
Gerrit-Reviewer: Nico Weber <tha...@chromium.org>
Gerrit-Reviewer: Łukasz Anforowicz <luk...@chromium.org>
Gerrit-CC: Daniel Dilan <danie...@google.com>
Gerrit-Comment-Date: Wed, 11 Dec 2024 14:47:45 +0000
Gerrit-HasComments: No
Gerrit-Has-Labels: Yes
satisfied_requirement
open
diffy

Łukasz Anforowicz (Gerrit)

unread,
Dec 11, 2024, 10:17:30 AM12/11/24
to Nico Weber, Andrew Grieve, Florin Malita, Daniel Dilan, Chromium LUCI CQ, chromium...@chromium.org, binar...@chromium.org

Łukasz Anforowicz voted Commit-Queue+2

Commit-Queue+2
Open in Gerrit

Related details

Attention set is empty
Submit Requirements:
  • requirement satisfiedCode-Coverage
  • 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: I3a94ba1e586a6ea7c2a25923b1e084fee32e49e4
Gerrit-Change-Number: 6026973
Gerrit-PatchSet: 7
Gerrit-Owner: Łukasz Anforowicz <luk...@chromium.org>
Gerrit-Reviewer: Andrew Grieve <agr...@chromium.org>
Gerrit-Reviewer: Florin Malita <fma...@chromium.org>
Gerrit-Reviewer: Nico Weber <tha...@chromium.org>
Gerrit-Reviewer: Łukasz Anforowicz <luk...@chromium.org>
Gerrit-CC: Daniel Dilan <danie...@google.com>
Gerrit-Comment-Date: Wed, 11 Dec 2024 15:17:16 +0000
Gerrit-HasComments: No
Gerrit-Has-Labels: Yes
satisfied_requirement
open
diffy

Chromium LUCI CQ (Gerrit)

unread,
Dec 11, 2024, 11:02:18 AM12/11/24
to Łukasz Anforowicz, Nico Weber, Andrew Grieve, Florin Malita, Daniel Dilan, chromium...@chromium.org, binar...@chromium.org

Chromium LUCI CQ submitted the change

Unreviewed changes

6 is the latest approved patch-set.
No files were changed between the latest approved patch-set and the submitted one.

Change information

Commit message:
[rust png] Set default to `enable_rust_png = true` in GN args.

This CL starts to actually build Rust PNG into the Chrome binary. It
also means that Rust-PNG-aware test-suites (e.g. `PNGCodecTest` in
`gfx_unittests` and `*PNGTests` in `blink_platform_unittests`) cover the
Rust PNG not only on Rust FYI bots, but also on the regular Chromium
CI/CQ. This CL is justified/motivated by the desire to prepare for
starting field trials - see the recent status update slidedeck [1] for
more details.

The binary size increase is discussed in the "Binary size" section of
the go/rusty-png-in-chromium-and-skia design doc [2]. Note that some of
the increase is expected to be temporary - it will be redeemed once the
new codec ships and the legacy `libpng` codec is removed.

[1] https://docs.google.com/presentation/d/1AXpg62xLaSXLZLTShSAMVZBhBnvDXUUaK8Tu4cy47VQ/edit?usp=sharing
[2] https://docs.google.com/document/d/1glx5ue5JDlCld5WzWgTOGK3wsMErQFnkY5N5Dsbi91Y/edit?usp=sharing#heading=h.m3sqlp5evinx
Binary-Size: See the commit description.
Fuchsia-Binary-Size: See the commit description.
Bug: 360375227
Change-Id: I3a94ba1e586a6ea7c2a25923b1e084fee32e49e4
Reviewed-by: Andrew Grieve <agr...@chromium.org>
Commit-Queue: Łukasz Anforowicz <luk...@chromium.org>
Reviewed-by: Nico Weber <tha...@chromium.org>
Reviewed-by: Florin Malita <fma...@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1394856}
Files:
  • M BUILD.gn
  • M skia/skia.gni
Change size: S
Delta: 2 files changed, 6 insertions(+), 4 deletions(-)
Branch: refs/heads/main
Submit Requirements:
  • requirement satisfiedCode-Review: +1 by Florin Malita, +1 by Andrew Grieve, +1 by Nico Weber
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: I3a94ba1e586a6ea7c2a25923b1e084fee32e49e4
Gerrit-Change-Number: 6026973
Gerrit-PatchSet: 8
Gerrit-Owner: Łukasz Anforowicz <luk...@chromium.org>
Gerrit-Reviewer: Andrew Grieve <agr...@chromium.org>
Gerrit-Reviewer: Chromium LUCI CQ <chromiu...@luci-project-accounts.iam.gserviceaccount.com>
Gerrit-Reviewer: Florin Malita <fma...@chromium.org>
Gerrit-Reviewer: Nico Weber <tha...@chromium.org>
Gerrit-Reviewer: Łukasz Anforowicz <luk...@chromium.org>
open
diffy
satisfied_requirement
Reply all
Reply to author
Forward
0 new messages