Implement support for Global Privacy Control signal [chromium/src : main]

76 views
Skip to first unread message

gwsq (Gerrit)

unread,
Feb 11, 2026, 3:41:16 PMFeb 11
to Maciej Czarnecki, Chromium Sync Reviews, Chromium IPC Reviews, Yaron Friedman, Darryl James, Takashi Toyoshima, Daniel Cheng, Marijn Kruisselbrink, Daniel Bratell, Marc Treib, Chromium Metrics Reviews, chromium...@chromium.org, Kentaro Hara, Nate Chapin, Raphael Kubo da Costa, Hiroki Nakagawa, alexmo...@chromium.org, asvitkine...@chromium.org, blink-re...@chromium.org, blink-revie...@chromium.org, blink-revi...@chromium.org, blink-...@chromium.org, creis...@chromium.org, gavinp...@chromium.org, horo+...@chromium.org, ipc-securi...@chromium.org, jmedle...@chromium.org, kinuko+ser...@chromium.org, kinuko...@chromium.org, loading-re...@chromium.org, loading...@chromium.org, navigation...@chromium.org, servicewor...@chromium.org, shimazu+se...@chromium.org
Attention needed from Daniel Bratell, Daniel Cheng, Darryl James, Marc Treib, Marijn Kruisselbrink, Takashi Toyoshima and Yaron Friedman

Message from gwsq

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

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

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

Note: IPC gwsq added no new reviewers; existing reviewers satisfied requirements!

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

Open in Gerrit

Related details

Attention is currently required from:
  • Daniel Bratell
  • Daniel Cheng
  • Darryl James
  • Marc Treib
  • Marijn Kruisselbrink
  • Takashi Toyoshima
  • Yaron Friedman
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: I03819d38688e357b119349e812a2a2f73505488e
Gerrit-Change-Number: 7319383
Gerrit-PatchSet: 5
Gerrit-Owner: Maciej Czarnecki <mccz...@gmail.com>
Gerrit-Reviewer: Daniel Bratell <brat...@gmail.com>
Gerrit-Reviewer: Daniel Cheng <dch...@chromium.org>
Gerrit-Reviewer: Darryl James <dlj...@chromium.org>
Gerrit-Reviewer: Marc Treib <tr...@chromium.org>
Gerrit-Reviewer: Marijn Kruisselbrink <m...@chromium.org>
Gerrit-Reviewer: Takashi Toyoshima <toyo...@chromium.org>
Gerrit-Reviewer: Yaron Friedman <yfri...@chromium.org>
Gerrit-CC: Chromium IPC Reviews <chrome-ip...@google.com>
Gerrit-CC: Chromium Metrics Reviews <chromium-met...@google.com>
Gerrit-CC: Chromium Sync Reviews <chromium-s...@google.com>
Gerrit-CC: Hiroki Nakagawa <nhi...@chromium.org>
Gerrit-CC: Kentaro Hara <har...@chromium.org>
Gerrit-CC: Nate Chapin <jap...@chromium.org>
Gerrit-CC: Raphael Kubo da Costa <ku...@igalia.com>
Gerrit-CC: gwsq
Gerrit-Attention: Takashi Toyoshima <toyo...@chromium.org>
Gerrit-Attention: Darryl James <dlj...@chromium.org>
Gerrit-Attention: Marc Treib <tr...@chromium.org>
Gerrit-Attention: Yaron Friedman <yfri...@chromium.org>
Gerrit-Attention: Marijn Kruisselbrink <m...@chromium.org>
Gerrit-Attention: Daniel Bratell <brat...@gmail.com>
Gerrit-Attention: Daniel Cheng <dch...@chromium.org>
Gerrit-Comment-Date: Wed, 11 Feb 2026 20:41:11 +0000
Gerrit-HasComments: No
Gerrit-Has-Labels: No
satisfied_requirement
unsatisfied_requirement
open
diffy

Darryl James (Gerrit)

unread,
Feb 11, 2026, 4:01:02 PMFeb 11
to Maciej Czarnecki, Chromium Sync Reviews, Chromium IPC Reviews, Yaron Friedman, Takashi Toyoshima, Daniel Cheng, Marijn Kruisselbrink, Daniel Bratell, Marc Treib, Chromium Metrics Reviews, chromium...@chromium.org, Kentaro Hara, Nate Chapin, Raphael Kubo da Costa, Hiroki Nakagawa, alexmo...@chromium.org, asvitkine...@chromium.org, blink-re...@chromium.org, blink-revie...@chromium.org, blink-revi...@chromium.org, blink-...@chromium.org, creis...@chromium.org, gavinp...@chromium.org, horo+...@chromium.org, ipc-securi...@chromium.org, jmedle...@chromium.org, kinuko+ser...@chromium.org, kinuko...@chromium.org, loading-re...@chromium.org, loading...@chromium.org, navigation...@chromium.org, servicewor...@chromium.org, shimazu+se...@chromium.org
Attention needed from Daniel Bratell, Daniel Cheng, Maciej Czarnecki, Marc Treib, Marijn Kruisselbrink, Takashi Toyoshima and Yaron Friedman

Darryl James added 1 comment

Patchset-level comments
File-level comment, Patchset 7 (Latest):
Darryl James . resolved

Removing myself since there is overlapping OWNERs coverage. Add me back if my input is needed thanks!

Open in Gerrit

Related details

Attention is currently required from:
  • Daniel Bratell
  • Daniel Cheng
  • Maciej Czarnecki
  • Marc Treib
  • Marijn Kruisselbrink
  • Takashi Toyoshima
  • Yaron Friedman
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: I03819d38688e357b119349e812a2a2f73505488e
Gerrit-Change-Number: 7319383
Gerrit-PatchSet: 7
Gerrit-Owner: Maciej Czarnecki <mccz...@gmail.com>
Gerrit-Reviewer: Daniel Bratell <brat...@gmail.com>
Gerrit-Reviewer: Daniel Cheng <dch...@chromium.org>
Gerrit-Reviewer: Marc Treib <tr...@chromium.org>
Gerrit-Reviewer: Marijn Kruisselbrink <m...@chromium.org>
Gerrit-Reviewer: Takashi Toyoshima <toyo...@chromium.org>
Gerrit-Reviewer: Yaron Friedman <yfri...@chromium.org>
Gerrit-CC: Chromium IPC Reviews <chrome-ip...@google.com>
Gerrit-CC: Chromium Metrics Reviews <chromium-met...@google.com>
Gerrit-CC: Chromium Sync Reviews <chromium-s...@google.com>
Gerrit-CC: Hiroki Nakagawa <nhi...@chromium.org>
Gerrit-CC: Kentaro Hara <har...@chromium.org>
Gerrit-CC: Nate Chapin <jap...@chromium.org>
Gerrit-CC: Raphael Kubo da Costa <ku...@igalia.com>
Gerrit-CC: gwsq
Gerrit-Attention: Takashi Toyoshima <toyo...@chromium.org>
Gerrit-Attention: Maciej Czarnecki <mccz...@gmail.com>
Gerrit-Attention: Marc Treib <tr...@chromium.org>
Gerrit-Attention: Yaron Friedman <yfri...@chromium.org>
Gerrit-Attention: Marijn Kruisselbrink <m...@chromium.org>
Gerrit-Attention: Daniel Bratell <brat...@gmail.com>
Gerrit-Attention: Daniel Cheng <dch...@chromium.org>
Gerrit-Comment-Date: Wed, 11 Feb 2026 21:00:51 +0000
Gerrit-HasComments: Yes
Gerrit-Has-Labels: No
satisfied_requirement
unsatisfied_requirement
open
diffy

Marc Treib (Gerrit)

unread,
Feb 12, 2026, 4:15:32 AMFeb 12
to Maciej Czarnecki, Chromium Sync Reviews, Chromium IPC Reviews, Yaron Friedman, Takashi Toyoshima, Daniel Cheng, Marijn Kruisselbrink, Daniel Bratell, Marc Treib, Chromium Metrics Reviews, chromium...@chromium.org, Kentaro Hara, Nate Chapin, Raphael Kubo da Costa, Hiroki Nakagawa, alexmo...@chromium.org, asvitkine...@chromium.org, blink-re...@chromium.org, blink-revie...@chromium.org, blink-revi...@chromium.org, blink-...@chromium.org, creis...@chromium.org, gavinp...@chromium.org, horo+...@chromium.org, ipc-securi...@chromium.org, jmedle...@chromium.org, kinuko+ser...@chromium.org, kinuko...@chromium.org, loading-re...@chromium.org, loading...@chromium.org, navigation...@chromium.org, servicewor...@chromium.org, shimazu+se...@chromium.org
Attention needed from Daniel Bratell, Daniel Cheng, Maciej Czarnecki, Marijn Kruisselbrink, Takashi Toyoshima and Yaron Friedman

Marc Treib added 1 comment

Patchset-level comments
Darryl James . resolved

Removing myself since there is overlapping OWNERs coverage. Add me back if my input is needed thanks!

Marc Treib

Adding to this:
When adding multiple OWNERs, please specify what you expect everyone to review!
And there is usually no need to add overlapping OWNERs coverage; one OWNER per file is enough.

I assume I'm here for chrome_syncable_prefs_database.cc which LG, but I'll hold off on approving for now since I technically own a lot of other files here, but am not the best reviewer for them.

Open in Gerrit

Related details

Attention is currently required from:
  • Daniel Bratell
  • Daniel Cheng
  • Maciej Czarnecki
Gerrit-Attention: Yaron Friedman <yfri...@chromium.org>
Gerrit-Attention: Marijn Kruisselbrink <m...@chromium.org>
Gerrit-Attention: Daniel Bratell <brat...@gmail.com>
Gerrit-Attention: Daniel Cheng <dch...@chromium.org>
Gerrit-Comment-Date: Thu, 12 Feb 2026 09:15:20 +0000
Gerrit-HasComments: Yes
Gerrit-Has-Labels: No
Comment-In-Reply-To: Darryl James <dlj...@chromium.org>
satisfied_requirement
unsatisfied_requirement
open
diffy

Daniel Bratell (Gerrit)

unread,
Feb 12, 2026, 7:09:13 AMFeb 12
to Maciej Czarnecki, Chromium Sync Reviews, Chromium IPC Reviews, Yaron Friedman, Takashi Toyoshima, Daniel Cheng, Marijn Kruisselbrink, Marc Treib, Chromium Metrics Reviews, chromium...@chromium.org, Kentaro Hara, Nate Chapin, Raphael Kubo da Costa, Hiroki Nakagawa, alexmo...@chromium.org, asvitkine...@chromium.org, blink-re...@chromium.org, blink-revie...@chromium.org, blink-revi...@chromium.org, blink-...@chromium.org, creis...@chromium.org, gavinp...@chromium.org, horo+...@chromium.org, ipc-securi...@chromium.org, jmedle...@chromium.org, kinuko+ser...@chromium.org, kinuko...@chromium.org, loading-re...@chromium.org, loading...@chromium.org, navigation...@chromium.org, servicewor...@chromium.org, shimazu+se...@chromium.org
Attention needed from Daniel Cheng, Maciej Czarnecki, Marijn Kruisselbrink, Takashi Toyoshima and Yaron Friedman

Daniel Bratell added 1 comment

Patchset-level comments
Daniel Bratell . resolved

I second what Marc said. Looking through the list, I think there are more suitable reviewers assigned for each file so I'll remove myself, but do re-add me if my input is needed.

Open in Gerrit

Related details

Attention is currently required from:
  • Daniel Cheng
  • Maciej Czarnecki
  • Marijn Kruisselbrink
  • Takashi Toyoshima
  • Yaron Friedman
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: I03819d38688e357b119349e812a2a2f73505488e
Gerrit-Change-Number: 7319383
Gerrit-PatchSet: 7
Gerrit-Owner: Maciej Czarnecki <mccz...@gmail.com>
Gerrit-Reviewer: Daniel Cheng <dch...@chromium.org>
Gerrit-Reviewer: Marc Treib <tr...@chromium.org>
Gerrit-Reviewer: Marijn Kruisselbrink <m...@chromium.org>
Gerrit-Reviewer: Takashi Toyoshima <toyo...@chromium.org>
Gerrit-Reviewer: Yaron Friedman <yfri...@chromium.org>
Gerrit-CC: Chromium IPC Reviews <chrome-ip...@google.com>
Gerrit-CC: Chromium Metrics Reviews <chromium-met...@google.com>
Gerrit-CC: Chromium Sync Reviews <chromium-s...@google.com>
Gerrit-CC: Daniel Bratell <brat...@gmail.com>
Gerrit-CC: Hiroki Nakagawa <nhi...@chromium.org>
Gerrit-CC: Kentaro Hara <har...@chromium.org>
Gerrit-CC: Nate Chapin <jap...@chromium.org>
Gerrit-CC: Raphael Kubo da Costa <ku...@igalia.com>
Gerrit-CC: gwsq
Gerrit-Attention: Takashi Toyoshima <toyo...@chromium.org>
Gerrit-Attention: Maciej Czarnecki <mccz...@gmail.com>
Gerrit-Attention: Yaron Friedman <yfri...@chromium.org>
Gerrit-Attention: Marijn Kruisselbrink <m...@chromium.org>
Gerrit-Attention: Daniel Cheng <dch...@chromium.org>
Gerrit-Comment-Date: Thu, 12 Feb 2026 12:09:00 +0000
Gerrit-HasComments: Yes
Gerrit-Has-Labels: No
satisfied_requirement
unsatisfied_requirement
open
diffy

Maciej Czarnecki (Gerrit)

unread,
Feb 12, 2026, 9:20:20 AMFeb 12
to Daniel Bratell, Chromium Sync Reviews, Chromium IPC Reviews, Yaron Friedman, Takashi Toyoshima, Daniel Cheng, Marijn Kruisselbrink, Marc Treib, Chromium Metrics Reviews, chromium...@chromium.org, Kentaro Hara, Nate Chapin, Raphael Kubo da Costa, Hiroki Nakagawa, alexmo...@chromium.org, asvitkine...@chromium.org, blink-re...@chromium.org, blink-revie...@chromium.org, blink-revi...@chromium.org, blink-...@chromium.org, creis...@chromium.org, gavinp...@chromium.org, horo+...@chromium.org, ipc-securi...@chromium.org, jmedle...@chromium.org, kinuko+ser...@chromium.org, kinuko...@chromium.org, loading-re...@chromium.org, loading...@chromium.org, navigation...@chromium.org, servicewor...@chromium.org, shimazu+se...@chromium.org
Attention needed from Daniel Cheng, Marc Treib and Takashi Toyoshima

Maciej Czarnecki added 1 comment

Patchset-level comments
Darryl James . resolved

Removing myself since there is overlapping OWNERs coverage. Add me back if my input is needed thanks!

Marc Treib

Adding to this:
When adding multiple OWNERs, please specify what you expect everyone to review!
And there is usually no need to add overlapping OWNERs coverage; one OWNER per file is enough.

I assume I'm here for chrome_syncable_prefs_database.cc which LG, but I'll hold off on approving for now since I technically own a lot of other files here, but am not the best reviewer for them.

Maciej Czarnecki

Thank you, when I was adding reviewers I was thinking that I've skipped all overlapping owners. I need to look closer into gerrit UI to spot redundant reviewers ;)

Open in Gerrit

Related details

Attention is currently required from:
  • Daniel Cheng
  • Marc Treib
  • Takashi Toyoshima
Gerrit-Attention: Marc Treib <tr...@chromium.org>
Gerrit-Attention: Daniel Cheng <dch...@chromium.org>
Gerrit-Comment-Date: Thu, 12 Feb 2026 14:20:08 +0000
Gerrit-HasComments: Yes
Gerrit-Has-Labels: No
Comment-In-Reply-To: Darryl James <dlj...@chromium.org>
Comment-In-Reply-To: Marc Treib <tr...@chromium.org>
satisfied_requirement
unsatisfied_requirement
open
diffy

Maciej Czarnecki (Gerrit)

unread,
Feb 12, 2026, 1:29:41 PMFeb 12
to Kentaro Hara, Jeremy Roman, Daniel Bratell, Chromium Sync Reviews, Chromium IPC Reviews, Yaron Friedman, Takashi Toyoshima, Marijn Kruisselbrink, Chromium Metrics Reviews, chromium...@chromium.org, Nate Chapin, Raphael Kubo da Costa, Hiroki Nakagawa, alexmo...@chromium.org, asvitkine...@chromium.org, blink-re...@chromium.org, blink-revie...@chromium.org, blink-revi...@chromium.org, blink-...@chromium.org, creis...@chromium.org, gavinp...@chromium.org, horo+...@chromium.org, ipc-securi...@chromium.org, jmedle...@chromium.org, kinuko+ser...@chromium.org, kinuko...@chromium.org, loading-re...@chromium.org, loading...@chromium.org, navigation...@chromium.org, servicewor...@chromium.org, shimazu+se...@chromium.org
Attention needed from Jeremy Roman, Kentaro Hara, Takashi Toyoshima and Yaron Friedman

Maciej Czarnecki added 1 comment

Patchset-level comments
Maciej Czarnecki . resolved

Just a note that I will resolve the conflicts once the rest of the files have been reviewed, as the enums keep changing.

Open in Gerrit

Related details

Attention is currently required from:
  • Jeremy Roman
  • Kentaro Hara
  • Takashi Toyoshima
  • Yaron Friedman
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: I03819d38688e357b119349e812a2a2f73505488e
Gerrit-Change-Number: 7319383
Gerrit-PatchSet: 7
Gerrit-Owner: Maciej Czarnecki <mccz...@gmail.com>
Gerrit-Reviewer: Jeremy Roman <jbr...@chromium.org>
Gerrit-Reviewer: Kentaro Hara <har...@chromium.org>
Gerrit-Reviewer: Marijn Kruisselbrink <m...@chromium.org>
Gerrit-Reviewer: Takashi Toyoshima <toyo...@chromium.org>
Gerrit-Reviewer: Yaron Friedman <yfri...@chromium.org>
Gerrit-CC: Chromium IPC Reviews <chrome-ip...@google.com>
Gerrit-CC: Chromium Metrics Reviews <chromium-met...@google.com>
Gerrit-CC: Chromium Sync Reviews <chromium-s...@google.com>
Gerrit-CC: Daniel Bratell <brat...@gmail.com>
Gerrit-CC: Hiroki Nakagawa <nhi...@chromium.org>
Gerrit-CC: Nate Chapin <jap...@chromium.org>
Gerrit-CC: Raphael Kubo da Costa <ku...@igalia.com>
Gerrit-CC: gwsq
Gerrit-Attention: Takashi Toyoshima <toyo...@chromium.org>
Gerrit-Attention: Jeremy Roman <jbr...@chromium.org>
Gerrit-Attention: Yaron Friedman <yfri...@chromium.org>
Gerrit-Attention: Kentaro Hara <har...@chromium.org>
Gerrit-Comment-Date: Thu, 12 Feb 2026 18:29:24 +0000
Gerrit-HasComments: Yes
Gerrit-Has-Labels: No
satisfied_requirement
unsatisfied_requirement
open
diffy

Jeremy Roman (Gerrit)

unread,
Feb 12, 2026, 3:38:57 PMFeb 12
to Maciej Czarnecki, Ari Chivukula, Kentaro Hara, Jeremy Roman, Daniel Bratell, Chromium Sync Reviews, Chromium IPC Reviews, Yaron Friedman, Takashi Toyoshima, Marijn Kruisselbrink, Chromium Metrics Reviews, chromium...@chromium.org, Nate Chapin, Raphael Kubo da Costa, Hiroki Nakagawa, alexmo...@chromium.org, asvitkine...@chromium.org, blink-re...@chromium.org, blink-revie...@chromium.org, blink-revi...@chromium.org, blink-...@chromium.org, creis...@chromium.org, gavinp...@chromium.org, horo+...@chromium.org, ipc-securi...@chromium.org, jmedle...@chromium.org, kinuko+ser...@chromium.org, kinuko...@chromium.org, loading-re...@chromium.org, loading...@chromium.org, navigation...@chromium.org, servicewor...@chromium.org, shimazu+se...@chromium.org
Attention needed from Ari Chivukula, Kentaro Hara, Maciej Czarnecki, Takashi Toyoshima and Yaron Friedman

Jeremy Roman added 1 comment

Patchset-level comments
Jeremy Roman . resolved

+arichiv

Suggest we get someone who understands this space well in Chromium to take point on reviewing this, to make sure this feature makes sense in Chromium and this is the overall way we'd like to implement it if so. From asking around it seems that's probably Ari.

I'm happy to review particular files that they don't have ownership over for more narrow style/structure/correctness, once Ari approves. (At that time, if you could please specifically say which reviewers you expect to review which files, that'd be helpful.)

Open in Gerrit

Related details

Attention is currently required from:
  • Ari Chivukula
  • Kentaro Hara
  • Maciej Czarnecki
  • Takashi Toyoshima
  • Yaron Friedman
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: I03819d38688e357b119349e812a2a2f73505488e
Gerrit-Change-Number: 7319383
Gerrit-PatchSet: 7
Gerrit-Owner: Maciej Czarnecki <mccz...@gmail.com>
Gerrit-Reviewer: Ari Chivukula <ari...@chromium.org>
Gerrit-Reviewer: Jeremy Roman <jbr...@chromium.org>
Gerrit-Reviewer: Kentaro Hara <har...@chromium.org>
Gerrit-Reviewer: Marijn Kruisselbrink <m...@chromium.org>
Gerrit-Reviewer: Takashi Toyoshima <toyo...@chromium.org>
Gerrit-Reviewer: Yaron Friedman <yfri...@chromium.org>
Gerrit-CC: Chromium IPC Reviews <chrome-ip...@google.com>
Gerrit-CC: Chromium Metrics Reviews <chromium-met...@google.com>
Gerrit-CC: Chromium Sync Reviews <chromium-s...@google.com>
Gerrit-CC: Daniel Bratell <brat...@gmail.com>
Gerrit-CC: Hiroki Nakagawa <nhi...@chromium.org>
Gerrit-CC: Nate Chapin <jap...@chromium.org>
Gerrit-CC: Raphael Kubo da Costa <ku...@igalia.com>
Gerrit-CC: gwsq
Gerrit-Attention: Takashi Toyoshima <toyo...@chromium.org>
Gerrit-Attention: Ari Chivukula <ari...@chromium.org>
Gerrit-Attention: Maciej Czarnecki <mccz...@gmail.com>
Gerrit-Attention: Yaron Friedman <yfri...@chromium.org>
Gerrit-Attention: Kentaro Hara <har...@chromium.org>
Gerrit-Comment-Date: Thu, 12 Feb 2026 20:38:50 +0000
Gerrit-HasComments: Yes
Gerrit-Has-Labels: No
satisfied_requirement
unsatisfied_requirement
open
diffy

Ari Chivukula (Gerrit)

unread,
Feb 12, 2026, 5:16:47 PMFeb 12
to Maciej Czarnecki, Kentaro Hara, Jeremy Roman, Daniel Bratell, Chromium Sync Reviews, Chromium IPC Reviews, Yaron Friedman, Takashi Toyoshima, Marijn Kruisselbrink, Chromium Metrics Reviews, chromium...@chromium.org, Nate Chapin, Raphael Kubo da Costa, Hiroki Nakagawa, alexmo...@chromium.org, asvitkine...@chromium.org, blink-re...@chromium.org, blink-revie...@chromium.org, blink-revi...@chromium.org, blink-...@chromium.org, creis...@chromium.org, gavinp...@chromium.org, horo+...@chromium.org, ipc-securi...@chromium.org, jmedle...@chromium.org, kinuko+ser...@chromium.org, kinuko...@chromium.org, loading-re...@chromium.org, loading...@chromium.org, navigation...@chromium.org, servicewor...@chromium.org, shimazu+se...@chromium.org
Attention needed from Kentaro Hara, Maciej Czarnecki, Takashi Toyoshima and Yaron Friedman

Ari Chivukula added 6 comments

Patchset-level comments
Ari Chivukula . resolved

thanks for starting this work!

Commit Message
Line 16, Patchset 7 (Latest):Bug: 1171730
Ari Chivukula . unresolved

This should be 40745270, the new ID for the same task

File chrome/common/pref_names.h
Line 1555, Patchset 7 (Latest):inline constexpr char kEnableGlobalPrivacyControl[] =
Ari Chivukula . unresolved

I'd hold off on all prefs related work for a future CL. It does make sense to have the hooks in a common area if other blink-derived browsers want it, but I think the first CL could just include a base::feature for automated tests and a chrome://flags entry for manual tests

File third_party/blink/renderer/core/frame/local_frame_client_impl.cc
Line 985, Patchset 7 (Latest):String LocalFrameClientImpl::GlobalPrivacyControlValue() {
Ari Chivukula . unresolved

nit: I'd bias towards returning a bool here, and only turning it into a "1" or "" at the time a header is written.

Otherwise you end up turning a bool into a string here, then back into a bool elsewhere.

File third_party/blink/renderer/platform/runtime_enabled_features.json5
Line 2912, Patchset 7 (Latest): // Global Privacy Control API
Ari Chivukula . unresolved

I'm excited to see this! I'd suggest adding a chrome-flag (controlled via a manual feature) instead of a runtime flag (generating a dependent feature) for now so that it's easy to test and less complex to reason about (as the browser process needs access): https://chromium.googlesource.com/chromium/src/+/HEAD/docs/how_to_add_your_feature_flag.md

I don't really think a runtime-feature makes sense even when you implement the prefs control

Line 2915, Patchset 7 (Latest): status: "experimental",
Ari Chivukula . unresolved

This enables it for some tests automatically, which I don't think we want.

Open in Gerrit

Related details

Attention is currently required from:
  • Kentaro Hara
  • Maciej Czarnecki
  • Takashi Toyoshima
  • Yaron Friedman
Submit Requirements:
    • requirement satisfiedCode-Coverage
    • requirement is not satisfiedCode-Owners
    • requirement is not satisfiedCode-Review
    • requirement is not satisfiedNo-Unresolved-Comments
    Gerrit-Attention: Maciej Czarnecki <mccz...@gmail.com>
    Gerrit-Attention: Yaron Friedman <yfri...@chromium.org>
    Gerrit-Attention: Kentaro Hara <har...@chromium.org>
    Gerrit-Comment-Date: Thu, 12 Feb 2026 22:16:41 +0000
    Gerrit-HasComments: Yes
    Gerrit-Has-Labels: No
    satisfied_requirement
    unsatisfied_requirement
    open
    diffy

    Ari Chivukula (Gerrit)

    unread,
    Feb 12, 2026, 5:27:08 PMFeb 12
    to Maciej Czarnecki, Kentaro Hara, Jeremy Roman, Daniel Bratell, Chromium Sync Reviews, Chromium IPC Reviews, Yaron Friedman, Takashi Toyoshima, Marijn Kruisselbrink, Chromium Metrics Reviews, chromium...@chromium.org, Nate Chapin, Raphael Kubo da Costa, Hiroki Nakagawa, alexmo...@chromium.org, asvitkine...@chromium.org, blink-re...@chromium.org, blink-revie...@chromium.org, blink-revi...@chromium.org, blink-...@chromium.org, creis...@chromium.org, gavinp...@chromium.org, horo+...@chromium.org, ipc-securi...@chromium.org, jmedle...@chromium.org, kinuko+ser...@chromium.org, kinuko...@chromium.org, loading-re...@chromium.org, loading...@chromium.org, navigation...@chromium.org, servicewor...@chromium.org, shimazu+se...@chromium.org
    Attention needed from Kentaro Hara, Maciej Czarnecki, Takashi Toyoshima and Yaron Friedman

    Ari Chivukula added 1 comment

    File content/renderer/render_frame_impl.cc
    Line 4501, Patchset 7 (Latest): if (base::FeatureList::IsEnabled(blink::features::kGlobalPrivacyControl) &&
    Ari Chivukula . unresolved

    For clarity on the flows I'm proposing:

    *This CL:*

    GPC header enabled if and only if blink::features::kGlobalPrivacyControlForce is enabled via chrome://flags entry.

    This means kGlobalPrivacyControlForce is a single global enable/disable control.

    *Next CL:*

    GPC header enabled if either of the following:
    (1) blink::features::kGlobalPrivacyControlForce is enabled via chrome://flags entry.
    (2) prefs::kEnableGlobalPrivacyControl is enabled and blink::features::kGlobalPrivacyControlPrefs is enabled

    This means kGlobalPrivacyControlForce stays a single global enable/disable control.
    It also adds kGlobalPrivacyControlPrefs, which controls whether a preference is respected additionally.

    Then in the future, kGlobalPrivacyControlPrefs would be what gated UX related to the GPC preference for rollout purposes.

    Gerrit-Comment-Date: Thu, 12 Feb 2026 22:27:00 +0000
    Gerrit-HasComments: Yes
    Gerrit-Has-Labels: No
    satisfied_requirement
    unsatisfied_requirement
    open
    diffy

    Maciej Czarnecki (Gerrit)

    unread,
    Feb 13, 2026, 5:00:52 AMFeb 13
    to Ari Chivukula, Kentaro Hara, Jeremy Roman, Daniel Bratell, Chromium Sync Reviews, Chromium IPC Reviews, Yaron Friedman, Takashi Toyoshima, Marijn Kruisselbrink, Chromium Metrics Reviews, chromium...@chromium.org, Nate Chapin, Raphael Kubo da Costa, Hiroki Nakagawa, alexmo...@chromium.org, asvitkine...@chromium.org, blink-re...@chromium.org, blink-revie...@chromium.org, blink-revi...@chromium.org, blink-...@chromium.org, creis...@chromium.org, gavinp...@chromium.org, horo+...@chromium.org, ipc-securi...@chromium.org, jmedle...@chromium.org, kinuko+ser...@chromium.org, kinuko...@chromium.org, loading-re...@chromium.org, loading...@chromium.org, navigation...@chromium.org, servicewor...@chromium.org, shimazu+se...@chromium.org
    Attention needed from Jeremy Roman, Kentaro Hara, Takashi Toyoshima and Yaron Friedman

    Maciej Czarnecki added 1 comment

    Patchset-level comments
    Jeremy Roman . resolved

    +arichiv

    Suggest we get someone who understands this space well in Chromium to take point on reviewing this, to make sure this feature makes sense in Chromium and this is the overall way we'd like to implement it if so. From asking around it seems that's probably Ari.

    I'm happy to review particular files that they don't have ownership over for more narrow style/structure/correctness, once Ari approves. (At that time, if you could please specifically say which reviewers you expect to review which files, that'd be helpful.)

    Maciej Czarnecki

    Thank you for suggesting Ari! This is my first CL spanning so many modules, so I apologise for managing the review process suboptimally. I have already received some comments to work on, so there is no pressure on review.
    I'm not sure how to split the files among the reviewers, as I don't know Yours areas of expertise (I relied on Gerrit suggestions).

    Here is my suggestion for who can review parts that have overlapping owners:

    @toyo...@chromium.org
    `third_party/blink/common/loader/loader_constants.cc`
    `third_party/blink/public/common/loader/loader_constants.h`
    `third_party/blink/public/common/renderer_preferences/renderer_preferences.h`

    @har...@chromium.org
    `third_party/blink/renderer/core/frame/local_frame_client.h`
    `third_party/blink/renderer/core/frame/local_frame_client_impl.h`
    `third_party/blink/renderer/core/frame/local_frame_client_impl.cc`
    `third_party/blink/renderer/core/loader/empty_clients.h`

    @jbr...@chromium.org
    `third_party/blink/renderer/modules/global_privacy_control/*`
    `third_party/blink/renderer/platform/loader/fetch/url_loader/dedicated_or_shared_worker_global_scope_context_impl.cc`

    @m...@chromium.org
    `third_party/blink/renderer/modules/service_worker/web_service_worker_fetch_context_impl.cc`

    Open in Gerrit

    Related details

    Attention is currently required from:
    • Jeremy Roman
    • Kentaro Hara
    • Takashi Toyoshima
    • Yaron Friedman
    Gerrit-Attention: Jeremy Roman <jbr...@chromium.org>
    Gerrit-Attention: Yaron Friedman <yfri...@chromium.org>
    Gerrit-Attention: Kentaro Hara <har...@chromium.org>
    Gerrit-Comment-Date: Fri, 13 Feb 2026 10:00:26 +0000
    Gerrit-HasComments: Yes
    Gerrit-Has-Labels: No
    Comment-In-Reply-To: Jeremy Roman <jbr...@chromium.org>
    satisfied_requirement
    unsatisfied_requirement
    open
    diffy

    Maciej Czarnecki (Gerrit)

    unread,
    Feb 15, 2026, 7:12:36 AMFeb 15
    to Ari Chivukula, Daniel Bratell, Chromium Sync Reviews, Chromium IPC Reviews, Chromium Metrics Reviews, chromium...@chromium.org, Nate Chapin, Raphael Kubo da Costa, Hiroki Nakagawa, alexmo...@chromium.org, asvitkine...@chromium.org, blink-re...@chromium.org, blink-revie...@chromium.org, blink-revi...@chromium.org, blink-...@chromium.org, creis...@chromium.org, gavinp...@chromium.org, horo+...@chromium.org, ipc-securi...@chromium.org, jmedle...@chromium.org, kinuko+ser...@chromium.org, kinuko...@chromium.org, loading-re...@chromium.org, loading...@chromium.org, navigation...@chromium.org, servicewor...@chromium.org, shimazu+se...@chromium.org

    Maciej Czarnecki added 2 comments

    Patchset-level comments
    File-level comment, Patchset 8 (Latest):
    Maciej Czarnecki . resolved

    Sorry for yet another change to the reviewers' list! For now, I will focus on Ari's review to prepare the CL for broader analysis.

    Commit Message
    Line 16, Patchset 7:Bug: 1171730
    Ari Chivukula . resolved

    This should be 40745270, the new ID for the same task

    Maciej Czarnecki

    Done

    Open in Gerrit

    Related details

    Attention set is empty
    Submit Requirements:
    • requirement satisfiedCode-Coverage
    • requirement is not satisfiedCode-Owners
    • requirement is not satisfiedCode-Review
    • requirement is not satisfiedNo-Unresolved-Comments
    • requirement is not satisfiedReview-Enforcement
    Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. DiffyGerrit
    Gerrit-MessageType: comment
    Gerrit-Project: chromium/src
    Gerrit-Branch: main
    Gerrit-Change-Id: I03819d38688e357b119349e812a2a2f73505488e
    Gerrit-Change-Number: 7319383
    Gerrit-PatchSet: 8
    Gerrit-Owner: Maciej Czarnecki <mccz...@gmail.com>
    Gerrit-Reviewer: Ari Chivukula <ari...@chromium.org>
    Gerrit-CC: Chromium IPC Reviews <chrome-ip...@google.com>
    Gerrit-CC: Chromium Metrics Reviews <chromium-met...@google.com>
    Gerrit-CC: Chromium Sync Reviews <chromium-s...@google.com>
    Gerrit-CC: Daniel Bratell <brat...@gmail.com>
    Gerrit-CC: Hiroki Nakagawa <nhi...@chromium.org>
    Gerrit-CC: Nate Chapin <jap...@chromium.org>
    Gerrit-CC: Raphael Kubo da Costa <ku...@igalia.com>
    Gerrit-CC: gwsq
    Gerrit-Comment-Date: Sun, 15 Feb 2026 12:12:18 +0000
    Gerrit-HasComments: Yes
    Gerrit-Has-Labels: No
    Comment-In-Reply-To: Ari Chivukula <ari...@chromium.org>
    satisfied_requirement
    unsatisfied_requirement
    open
    diffy

    Maciej Czarnecki (Gerrit)

    unread,
    Feb 17, 2026, 3:11:41 AMFeb 17
    to Ari Chivukula, Daniel Bratell, Chromium Sync Reviews, Chromium IPC Reviews, Chromium Metrics Reviews, chromium...@chromium.org, Nate Chapin, Raphael Kubo da Costa, Hiroki Nakagawa, alexmo...@chromium.org, asvitkine...@chromium.org, blink-re...@chromium.org, blink-revie...@chromium.org, blink-revi...@chromium.org, blink-...@chromium.org, creis...@chromium.org, gavinp...@chromium.org, horo+...@chromium.org, ipc-securi...@chromium.org, jmedle...@chromium.org, kinuko+ser...@chromium.org, kinuko...@chromium.org, loading-re...@chromium.org, loading...@chromium.org, navigation...@chromium.org, servicewor...@chromium.org, shimazu+se...@chromium.org
    Attention needed from Ari Chivukula

    Maciej Czarnecki added 5 comments

    File chrome/common/pref_names.h
    Line 1555, Patchset 7:inline constexpr char kEnableGlobalPrivacyControl[] =
    Ari Chivukula . resolved

    I'd hold off on all prefs related work for a future CL. It does make sense to have the hooks in a common area if other blink-derived browsers want it, but I think the first CL could just include a base::feature for automated tests and a chrome://flags entry for manual tests

    Maciej Czarnecki

    Done

    File content/renderer/render_frame_impl.cc
    Line 4501, Patchset 7: if (base::FeatureList::IsEnabled(blink::features::kGlobalPrivacyControl) &&
    Ari Chivukula . resolved

    For clarity on the flows I'm proposing:

    *This CL:*

    GPC header enabled if and only if blink::features::kGlobalPrivacyControlForce is enabled via chrome://flags entry.

    This means kGlobalPrivacyControlForce is a single global enable/disable control.

    *Next CL:*

    GPC header enabled if either of the following:
    (1) blink::features::kGlobalPrivacyControlForce is enabled via chrome://flags entry.
    (2) prefs::kEnableGlobalPrivacyControl is enabled and blink::features::kGlobalPrivacyControlPrefs is enabled

    This means kGlobalPrivacyControlForce stays a single global enable/disable control.
    It also adds kGlobalPrivacyControlPrefs, which controls whether a preference is respected additionally.

    Then in the future, kGlobalPrivacyControlPrefs would be what gated UX related to the GPC preference for rollout purposes.

    Maciej Czarnecki

    Done

    File third_party/blink/renderer/core/frame/local_frame_client_impl.cc
    Line 985, Patchset 7:String LocalFrameClientImpl::GlobalPrivacyControlValue() {
    Ari Chivukula . resolved

    nit: I'd bias towards returning a bool here, and only turning it into a "1" or "" at the time a header is written.

    Otherwise you end up turning a bool into a string here, then back into a bool elsewhere.

    Maciej Czarnecki

    Done

    File third_party/blink/renderer/platform/runtime_enabled_features.json5
    Line 2912, Patchset 7: // Global Privacy Control API
    Ari Chivukula . resolved

    I'm excited to see this! I'd suggest adding a chrome-flag (controlled via a manual feature) instead of a runtime flag (generating a dependent feature) for now so that it's easy to test and less complex to reason about (as the browser process needs access): https://chromium.googlesource.com/chromium/src/+/HEAD/docs/how_to_add_your_feature_flag.md

    I don't really think a runtime-feature makes sense even when you implement the prefs control

    Maciej Czarnecki

    Done

    Line 2915, Patchset 7: status: "experimental",
    Ari Chivukula . resolved

    This enables it for some tests automatically, which I don't think we want.

    Maciej Czarnecki

    Done

    Open in Gerrit

    Related details

    Attention is currently required from:
    • Ari Chivukula
    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: I03819d38688e357b119349e812a2a2f73505488e
      Gerrit-Change-Number: 7319383
      Gerrit-PatchSet: 9
      Gerrit-Owner: Maciej Czarnecki <mccz...@gmail.com>
      Gerrit-Reviewer: Ari Chivukula <ari...@chromium.org>
      Gerrit-CC: Chromium IPC Reviews <chrome-ip...@google.com>
      Gerrit-CC: Chromium Metrics Reviews <chromium-met...@google.com>
      Gerrit-CC: Chromium Sync Reviews <chromium-s...@google.com>
      Gerrit-CC: Daniel Bratell <brat...@gmail.com>
      Gerrit-CC: Hiroki Nakagawa <nhi...@chromium.org>
      Gerrit-CC: Nate Chapin <jap...@chromium.org>
      Gerrit-CC: Raphael Kubo da Costa <ku...@igalia.com>
      Gerrit-CC: gwsq
      Gerrit-Attention: Ari Chivukula <ari...@chromium.org>
      Gerrit-Comment-Date: Tue, 17 Feb 2026 08:11:28 +0000
      satisfied_requirement
      unsatisfied_requirement
      open
      diffy

      Maciej Czarnecki (Gerrit)

      unread,
      Feb 17, 2026, 3:15:26 AMFeb 17
      to AyeAye, Ari Chivukula, Daniel Bratell, Chromium Sync Reviews, Chromium IPC Reviews, Chromium Metrics Reviews, chromium...@chromium.org, Nate Chapin, Raphael Kubo da Costa, Hiroki Nakagawa, asvitki...@chromium.org, alexmo...@chromium.org, asvitkine...@chromium.org, blink-re...@chromium.org, blink-revie...@chromium.org, blink-revi...@chromium.org, blink-...@chromium.org, creis...@chromium.org, gavinp...@chromium.org, horo+...@chromium.org, ipc-securi...@chromium.org, jmedle...@chromium.org, kinuko+ser...@chromium.org, kinuko...@chromium.org, loading-re...@chromium.org, loading...@chromium.org, navigation...@chromium.org, servicewor...@chromium.org, shimazu+se...@chromium.org
      Attention needed from Ari Chivukula

      Maciej Czarnecki added 1 comment

      File chrome/browser/flag-metadata.json
      Line 5358, Patchset 9 (Latest): "expiry_milestone": 150
      Maciej Czarnecki . resolved

      The milestone number is arbitrary. It should be sufficient for testing purposes.

      Open in Gerrit

      Related details

      Attention is currently required from:
      • Ari Chivukula
      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: I03819d38688e357b119349e812a2a2f73505488e
      Gerrit-Change-Number: 7319383
      Gerrit-PatchSet: 9
      Gerrit-Owner: Maciej Czarnecki <mccz...@gmail.com>
      Gerrit-Reviewer: Ari Chivukula <ari...@chromium.org>
      Gerrit-CC: Chromium IPC Reviews <chrome-ip...@google.com>
      Gerrit-CC: Chromium Metrics Reviews <chromium-met...@google.com>
      Gerrit-CC: Chromium Sync Reviews <chromium-s...@google.com>
      Gerrit-CC: Daniel Bratell <brat...@gmail.com>
      Gerrit-CC: Hiroki Nakagawa <nhi...@chromium.org>
      Gerrit-CC: Nate Chapin <jap...@chromium.org>
      Gerrit-CC: Raphael Kubo da Costa <ku...@igalia.com>
      Gerrit-CC: gwsq
      Gerrit-Attention: Ari Chivukula <ari...@chromium.org>
      Gerrit-Comment-Date: Tue, 17 Feb 2026 08:15:09 +0000
      Gerrit-HasComments: Yes
      Gerrit-Has-Labels: No
      satisfied_requirement
      unsatisfied_requirement
      open
      diffy

      Ari Chivukula (Gerrit)

      unread,
      Feb 17, 2026, 7:15:01 AMFeb 17
      to Maciej Czarnecki, AyeAye, Daniel Bratell, Chromium Sync Reviews, Chromium IPC Reviews, Chromium Metrics Reviews, chromium...@chromium.org, Nate Chapin, Raphael Kubo da Costa, Hiroki Nakagawa, asvitki...@chromium.org, alexmo...@chromium.org, asvitkine...@chromium.org, blink-re...@chromium.org, blink-revie...@chromium.org, blink-revi...@chromium.org, blink-...@chromium.org, creis...@chromium.org, gavinp...@chromium.org, horo+...@chromium.org, ipc-securi...@chromium.org, jmedle...@chromium.org, kinuko+ser...@chromium.org, kinuko...@chromium.org, loading-re...@chromium.org, loading...@chromium.org, navigation...@chromium.org, servicewor...@chromium.org, shimazu+se...@chromium.org
      Attention needed from Maciej Czarnecki

      Ari Chivukula added 13 comments

      Patchset-level comments
      File-level comment, Patchset 9 (Latest):
      Ari Chivukula . resolved

      nice! This is in the right direction (aside from one error I made in the last set of feedback).

      Commit Message
      Line 12, Patchset 9 (Latest):
      Ari Chivukula . unresolved

      nit: it would be good to add a link to https://www.w3.org/TR/gpc/ here

      File chrome/browser/chrome_global_privacy_control_browsertest.cc
      Line 39, Patchset 9 (Latest):class ChromeGlobalPrivacyControlDisabledTest
      Line 82, Patchset 9 (Latest):
      Ari Chivukula . unresolved

      might be good to test sub-frames too

      Line 142, Patchset 9 (Latest):
      Ari Chivukula . unresolved

      we need to test the JS API for workers too right?

      File chrome/browser/flag_descriptions.h
      Line 3559, Patchset 9 (Latest): "Global Privacy Control signal";
      Ari Chivukula . unresolved

      maybe 'force' instead of 'signal'?

      File content/browser/loader/browser_initiated_resource_request.cc
      Line 37, Patchset 9 (Latest): if (base::FeatureList::IsEnabled(
      Ari Chivukula . unresolved

      This should probably return a value from the same function as in third_party/blink/renderer/platform/loader/fetch/url_loader/dedicated_or_shared_worker_global_scope_context_impl.cc for now, though in future (per the GPC spec) it will need to cache the value at the time of frame navigation (might be good to make a TODO here about that).

      File content/renderer/render_frame_impl.cc
      Line 4502, Patchset 9 (Latest): blink::features::kGlobalPrivacyControlForce)) {
      Ari Chivukula . unresolved

      nit: see comment on third_party/blink/renderer/platform/loader/fetch/url_loader/dedicated_or_shared_worker_global_scope_context_impl.cc

      File third_party/blink/common/features.cc
      Line 980, Patchset 9 (Latest):BASE_FEATURE(kGlobalPrivacyControlForce, base::FEATURE_DISABLED_BY_DEFAULT);
      Ari Chivukula . unresolved

      nit: see comment on third_party/blink/renderer/modules/global_privacy_control/navigator_global_privacy_control.idl for why manual declaration can be removed.

      File third_party/blink/renderer/core/frame/local_frame_client_impl.cc
      Line 986, Patchset 9 (Latest): return base::FeatureList::IsEnabled(
      Ari Chivukula . unresolved

      This should probably return a value from the same function as in third_party/blink/renderer/platform/loader/fetch/url_loader/dedicated_or_shared_worker_global_scope_context_impl.cc for now, though in future (per the GPC spec) it will need to cache the value at the time of frame navigation (might be good to make a TODO here about that).

      File third_party/blink/renderer/modules/global_privacy_control/navigator_global_privacy_control.idl
      Line 6, Patchset 9 (Latest): ImplementedAs=NavigatorGlobalPrivacyControl
      Ari Chivukula . unresolved

      Apologies, I forgot that the IDL change does require a runtime feature gate (as you had before), I'd define it as:

      ```
      {
      name: "GlobalPrivacyControl",
      implied_by: "GlobalPrivacyControlForce"
      base_feature: "none"
      },
      {
      name: "GlobalPrivacyControlForce"
      },
      ```
      (0) The gate should be on `GlobalPrivacyControl`
      (1) The lack of a `status` field on either should default them off in all contexts
      (2) The `none` feature on `GlobalPrivacyControl` prevents generation of an unneeded feature
      (3) The `implied_by` on `GlobalPrivacyControl` allows it to expand to a second feature in future when you need one
      (4) The `GlobalPrivacyControlForce` feature will auto-generate a public feature that can be used instead of the one you manually declared
      File third_party/blink/renderer/modules/service_worker/web_service_worker_fetch_context_impl.cc
      Line 156, Patchset 9 (Latest): blink::features::kGlobalPrivacyControlForce)) {
      Ari Chivukula . unresolved

      nit: see comment on third_party/blink/renderer/platform/loader/fetch/url_loader/dedicated_or_shared_worker_global_scope_context_impl.cc

      File third_party/blink/renderer/platform/loader/fetch/url_loader/dedicated_or_shared_worker_global_scope_context_impl.cc
      Line 382, Patchset 9 (Latest): if (base::FeatureList::IsEnabled(
      Ari Chivukula . unresolved

      nit: since you have the same logic here and in third_party/blink/renderer/modules/service_worker/web_service_worker_fetch_context_impl.cc and content/renderer/render_frame_impl.cc, and you know in future CLs it will likely expand to multiple checks (aside from just one feature), it might make sense to factor the logic for this gate into a helper function even though now it would just return `base::FeatureList::IsEnabled(blink::features::kGlobalPrivacyControlForce)`. This ensures the other callsite isn't forgotten as the code evolves.

      Open in Gerrit

      Related details

      Attention is currently required from:
      • Maciej Czarnecki
      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: I03819d38688e357b119349e812a2a2f73505488e
        Gerrit-Change-Number: 7319383
        Gerrit-PatchSet: 9
        Gerrit-Owner: Maciej Czarnecki <mccz...@gmail.com>
        Gerrit-Reviewer: Ari Chivukula <ari...@chromium.org>
        Gerrit-CC: Chromium IPC Reviews <chrome-ip...@google.com>
        Gerrit-CC: Chromium Metrics Reviews <chromium-met...@google.com>
        Gerrit-CC: Chromium Sync Reviews <chromium-s...@google.com>
        Gerrit-CC: Daniel Bratell <brat...@gmail.com>
        Gerrit-CC: Hiroki Nakagawa <nhi...@chromium.org>
        Gerrit-CC: Nate Chapin <jap...@chromium.org>
        Gerrit-CC: Raphael Kubo da Costa <ku...@igalia.com>
        Gerrit-CC: gwsq
        Gerrit-Attention: Maciej Czarnecki <mccz...@gmail.com>
        Gerrit-Comment-Date: Tue, 17 Feb 2026 12:14:56 +0000
        Gerrit-HasComments: Yes
        Gerrit-Has-Labels: No
        satisfied_requirement
        unsatisfied_requirement
        open
        diffy

        Ari Chivukula (Gerrit)

        unread,
        Feb 17, 2026, 7:21:01 AMFeb 17
        to Maciej Czarnecki, AyeAye, Daniel Bratell, Chromium Sync Reviews, Chromium IPC Reviews, Chromium Metrics Reviews, chromium...@chromium.org, Nate Chapin, Raphael Kubo da Costa, Hiroki Nakagawa, asvitki...@chromium.org, alexmo...@chromium.org, asvitkine...@chromium.org, blink-re...@chromium.org, blink-revie...@chromium.org, blink-revi...@chromium.org, blink-...@chromium.org, creis...@chromium.org, gavinp...@chromium.org, horo+...@chromium.org, ipc-securi...@chromium.org, jmedle...@chromium.org, kinuko+ser...@chromium.org, kinuko...@chromium.org, loading-re...@chromium.org, loading...@chromium.org, navigation...@chromium.org, servicewor...@chromium.org, shimazu+se...@chromium.org
        Attention needed from Maciej Czarnecki

        Ari Chivukula added 3 comments

        File chrome/browser/chrome_global_privacy_control_browsertest.cc
        Line 64, Patchset 9 (Latest):
        Ari Chivukula . unresolved

        nit: it would be good to test web-feature measurement of the JS API

        File third_party/blink/renderer/modules/global_privacy_control/navigator_global_privacy_control.idl
        Line 8, Patchset 9 (Latest): [MeasureAs=NavigatorGlobalPrivacyControl] readonly attribute boolean globalPrivacyControl;
        Ari Chivukula . unresolved

        nit: I think you can just put 'Measure' and it will auto-generate a web-feature for you

        File third_party/blink/renderer/platform/loader/fetch/url_loader/dedicated_or_shared_worker_global_scope_context_impl.cc
        Line 385, Patchset 9 (Latest): "1");
        Ari Chivukula . unresolved

        nit: it might be good to add some UMA logging for what contexts the header is sent in - https://chromium.googlesource.com/chromium/src.git/+/HEAD/tools/metrics/histograms/README.md

        Gerrit-Comment-Date: Tue, 17 Feb 2026 12:20:56 +0000
        Gerrit-HasComments: Yes
        Gerrit-Has-Labels: No
        satisfied_requirement
        unsatisfied_requirement
        open
        diffy

        Maciej Czarnecki (Gerrit)

        unread,
        Feb 19, 2026, 4:53:30 AMFeb 19
        to AyeAye, Ari Chivukula, Daniel Bratell, Chromium Sync Reviews, Chromium IPC Reviews, Chromium Metrics Reviews, chromium...@chromium.org, Nate Chapin, Raphael Kubo da Costa, Hiroki Nakagawa, asvitki...@chromium.org, alexmo...@chromium.org, asvitkine...@chromium.org, blink-re...@chromium.org, blink-revie...@chromium.org, blink-revi...@chromium.org, blink-...@chromium.org, creis...@chromium.org, gavinp...@chromium.org, horo+...@chromium.org, ipc-securi...@chromium.org, jmedle...@chromium.org, kinuko+ser...@chromium.org, kinuko...@chromium.org, loading-re...@chromium.org, loading...@chromium.org, navigation...@chromium.org, servicewor...@chromium.org, shimazu+se...@chromium.org
        Attention needed from Ari Chivukula

        Maciej Czarnecki added 1 comment

        File third_party/blink/renderer/modules/global_privacy_control/navigator_global_privacy_control.idl
        Line 8, Patchset 9 (Latest): [MeasureAs=NavigatorGlobalPrivacyControl] readonly attribute boolean globalPrivacyControl;
        Ari Chivukula . unresolved

        nit: I think you can just put 'Measure' and it will auto-generate a web-feature for you

        Maciej Czarnecki
        I've used Measure and it generates separate IDs for Navigator and WorkerNavigator:
        ```
        kV8WorkerNavigator_GlobalPrivacyControl_AttributeGetter = 5790,
        kV8Navigator_GlobalPrivacyControl_AttributeGetter = 5791,
        ```
        Do you think it's better to have these names generated or keep `MeasureAs` to have common id?
        Open in Gerrit

        Related details

        Attention is currently required from:
        • Ari Chivukula
        Gerrit-Attention: Ari Chivukula <ari...@chromium.org>
        Gerrit-Comment-Date: Thu, 19 Feb 2026 09:53:17 +0000
        Gerrit-HasComments: Yes
        Gerrit-Has-Labels: No
        Comment-In-Reply-To: Ari Chivukula <ari...@chromium.org>
        satisfied_requirement
        unsatisfied_requirement
        open
        diffy

        Ari Chivukula (Gerrit)

        unread,
        Feb 19, 2026, 5:18:55 AMFeb 19
        to Maciej Czarnecki, AyeAye, Daniel Bratell, Chromium Sync Reviews, Chromium IPC Reviews, Chromium Metrics Reviews, chromium...@chromium.org, Nate Chapin, Raphael Kubo da Costa, Hiroki Nakagawa, asvitki...@chromium.org, alexmo...@chromium.org, asvitkine...@chromium.org, blink-re...@chromium.org, blink-revie...@chromium.org, blink-revi...@chromium.org, blink-...@chromium.org, creis...@chromium.org, gavinp...@chromium.org, horo+...@chromium.org, ipc-securi...@chromium.org, jmedle...@chromium.org, kinuko+ser...@chromium.org, kinuko...@chromium.org, loading-re...@chromium.org, loading...@chromium.org, navigation...@chromium.org, servicewor...@chromium.org, shimazu+se...@chromium.org
        Attention needed from Maciej Czarnecki

        Ari Chivukula added 1 comment

        File third_party/blink/renderer/modules/global_privacy_control/navigator_global_privacy_control.idl
        Line 8, Patchset 9 (Latest): [MeasureAs=NavigatorGlobalPrivacyControl] readonly attribute boolean globalPrivacyControl;
        Ari Chivukula . unresolved

        nit: I think you can just put 'Measure' and it will auto-generate a web-feature for you

        Maciej Czarnecki
        I've used Measure and it generates separate IDs for Navigator and WorkerNavigator:
        ```
        kV8WorkerNavigator_GlobalPrivacyControl_AttributeGetter = 5790,
        kV8Navigator_GlobalPrivacyControl_AttributeGetter = 5791,
        ```
        Do you think it's better to have these names generated or keep `MeasureAs` to have common id?
        Ari Chivukula

        I like the idea of independent IDs there since they are such different contexts

        Open in Gerrit

        Related details

        Attention is currently required from:
        • Maciej Czarnecki
        Gerrit-Attention: Maciej Czarnecki <mccz...@gmail.com>
        Gerrit-Comment-Date: Thu, 19 Feb 2026 10:18:49 +0000
        Gerrit-HasComments: Yes
        Gerrit-Has-Labels: No
        Comment-In-Reply-To: Ari Chivukula <ari...@chromium.org>
        Comment-In-Reply-To: Maciej Czarnecki <mccz...@gmail.com>
        satisfied_requirement
        unsatisfied_requirement
        open
        diffy

        Maciej Czarnecki (Gerrit)

        unread,
        Feb 28, 2026, 6:37:46 AMFeb 28
        to AyeAye, Ari Chivukula, Daniel Bratell, Chromium Sync Reviews, Chromium IPC Reviews, Chromium Metrics Reviews, chromium...@chromium.org, Nate Chapin, Raphael Kubo da Costa, Hiroki Nakagawa, asvitki...@chromium.org, alexmo...@chromium.org, asvitkine...@chromium.org, blink-re...@chromium.org, blink-revie...@chromium.org, blink-revi...@chromium.org, blink-...@chromium.org, creis...@chromium.org, gavinp...@chromium.org, horo+...@chromium.org, ipc-securi...@chromium.org, jmedle...@chromium.org, kinuko+ser...@chromium.org, kinuko...@chromium.org, loading-re...@chromium.org, loading...@chromium.org, navigation...@chromium.org, servicewor...@chromium.org, shimazu+se...@chromium.org
        Attention needed from Ari Chivukula

        Maciej Czarnecki added 15 comments

        Patchset-level comments
        File-level comment, Patchset 10 (Latest):
        Maciej Czarnecki . resolved

        I've made the necessary changes addressing most of the comments. I still need to add UMA logging, but I'd like to share the current version with you so you can take a look.

        Commit Message
        Line 12, Patchset 9:
        Ari Chivukula . resolved

        nit: it would be good to add a link to https://www.w3.org/TR/gpc/ here

        Maciej Czarnecki

        Done

        File chrome/browser/chrome_global_privacy_control_browsertest.cc
        Line 39, Patchset 9:class ChromeGlobalPrivacyControlDisabledTest
        Ari Chivukula . resolved
        Maciej Czarnecki

        Done

        Line 64, Patchset 9:
        Ari Chivukula . resolved

        nit: it would be good to test web-feature measurement of the JS API

        Maciej Czarnecki

        Done

        Line 82, Patchset 9:
        Ari Chivukula . resolved

        might be good to test sub-frames too

        Maciej Czarnecki

        Done

        Line 142, Patchset 9:
        Ari Chivukula . resolved

        we need to test the JS API for workers too right?

        Maciej Czarnecki

        I added few tests for different contexts. Please look into them carefully as this is my first contact with Blink and I had to use other tests as a reference.
        Marked as resolved.

        File chrome/browser/flag_descriptions.h
        Line 3559, Patchset 9: "Global Privacy Control signal";
        Ari Chivukula . resolved

        maybe 'force' instead of 'signal'?

        Maciej Czarnecki

        Done

        File content/browser/loader/browser_initiated_resource_request.cc
        Line 37, Patchset 9: if (base::FeatureList::IsEnabled(
        Ari Chivukula . resolved

        This should probably return a value from the same function as in third_party/blink/renderer/platform/loader/fetch/url_loader/dedicated_or_shared_worker_global_scope_context_impl.cc for now, though in future (per the GPC spec) it will need to cache the value at the time of frame navigation (might be good to make a TODO here about that).

        Maciej Czarnecki

        Done

        File content/renderer/render_frame_impl.cc
        Line 4502, Patchset 9: blink::features::kGlobalPrivacyControlForce)) {
        Ari Chivukula . resolved

        nit: see comment on third_party/blink/renderer/platform/loader/fetch/url_loader/dedicated_or_shared_worker_global_scope_context_impl.cc

        Maciej Czarnecki

        Done

        File third_party/blink/common/features.cc
        Line 980, Patchset 9:BASE_FEATURE(kGlobalPrivacyControlForce, base::FEATURE_DISABLED_BY_DEFAULT);
        Ari Chivukula . resolved

        nit: see comment on third_party/blink/renderer/modules/global_privacy_control/navigator_global_privacy_control.idl for why manual declaration can be removed.

        Maciej Czarnecki

        Done

        File third_party/blink/renderer/core/frame/local_frame_client_impl.cc
        Line 986, Patchset 9: return base::FeatureList::IsEnabled(
        Ari Chivukula . resolved

        This should probably return a value from the same function as in third_party/blink/renderer/platform/loader/fetch/url_loader/dedicated_or_shared_worker_global_scope_context_impl.cc for now, though in future (per the GPC spec) it will need to cache the value at the time of frame navigation (might be good to make a TODO here about that).

        Maciej Czarnecki

        Done

        File third_party/blink/renderer/modules/global_privacy_control/navigator_global_privacy_control.idl
        Line 6, Patchset 9: ImplementedAs=NavigatorGlobalPrivacyControl
        Ari Chivukula . resolved

        Apologies, I forgot that the IDL change does require a runtime feature gate (as you had before), I'd define it as:

        ```
        {
        name: "GlobalPrivacyControl",
        implied_by: "GlobalPrivacyControlForce"
        base_feature: "none"
        },
        {
        name: "GlobalPrivacyControlForce"
        },
        ```
        (0) The gate should be on `GlobalPrivacyControl`
        (1) The lack of a `status` field on either should default them off in all contexts
        (2) The `none` feature on `GlobalPrivacyControl` prevents generation of an unneeded feature
        (3) The `implied_by` on `GlobalPrivacyControl` allows it to expand to a second feature in future when you need one
        (4) The `GlobalPrivacyControlForce` feature will auto-generate a public feature that can be used instead of the one you manually declared
        Maciej Czarnecki

        Done

        Line 8, Patchset 9: [MeasureAs=NavigatorGlobalPrivacyControl] readonly attribute boolean globalPrivacyControl;
        Ari Chivukula . resolved

        nit: I think you can just put 'Measure' and it will auto-generate a web-feature for you

        Maciej Czarnecki
        I've used Measure and it generates separate IDs for Navigator and WorkerNavigator:
        ```
        kV8WorkerNavigator_GlobalPrivacyControl_AttributeGetter = 5790,
        kV8Navigator_GlobalPrivacyControl_AttributeGetter = 5791,
        ```
        Do you think it's better to have these names generated or keep `MeasureAs` to have common id?
        Ari Chivukula

        I like the idea of independent IDs there since they are such different contexts

        Maciej Czarnecki

        Done

        File third_party/blink/renderer/modules/service_worker/web_service_worker_fetch_context_impl.cc
        Line 156, Patchset 9: blink::features::kGlobalPrivacyControlForce)) {
        Ari Chivukula . resolved

        nit: see comment on third_party/blink/renderer/platform/loader/fetch/url_loader/dedicated_or_shared_worker_global_scope_context_impl.cc

        Maciej Czarnecki

        Done

        File third_party/blink/renderer/platform/loader/fetch/url_loader/dedicated_or_shared_worker_global_scope_context_impl.cc
        Line 382, Patchset 9: if (base::FeatureList::IsEnabled(
        Ari Chivukula . resolved

        nit: since you have the same logic here and in third_party/blink/renderer/modules/service_worker/web_service_worker_fetch_context_impl.cc and content/renderer/render_frame_impl.cc, and you know in future CLs it will likely expand to multiple checks (aside from just one feature), it might make sense to factor the logic for this gate into a helper function even though now it would just return `base::FeatureList::IsEnabled(blink::features::kGlobalPrivacyControlForce)`. This ensures the other callsite isn't forgotten as the code evolves.

        Maciej Czarnecki

        Done

        Open in Gerrit

        Related details

        Attention is currently required from:
        • Ari Chivukula
        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: I03819d38688e357b119349e812a2a2f73505488e
        Gerrit-Change-Number: 7319383
        Gerrit-PatchSet: 10
        Gerrit-Owner: Maciej Czarnecki <mccz...@gmail.com>
        Gerrit-Reviewer: Ari Chivukula <ari...@chromium.org>
        Gerrit-CC: Chromium IPC Reviews <chrome-ip...@google.com>
        Gerrit-CC: Chromium Metrics Reviews <chromium-met...@google.com>
        Gerrit-CC: Chromium Sync Reviews <chromium-s...@google.com>
        Gerrit-CC: Daniel Bratell <brat...@gmail.com>
        Gerrit-CC: Hiroki Nakagawa <nhi...@chromium.org>
        Gerrit-CC: Nate Chapin <jap...@chromium.org>
        Gerrit-CC: Raphael Kubo da Costa <ku...@igalia.com>
        Gerrit-CC: gwsq
        Gerrit-Attention: Ari Chivukula <ari...@chromium.org>
        Gerrit-Comment-Date: Sat, 28 Feb 2026 11:37:28 +0000
        satisfied_requirement
        unsatisfied_requirement
        open
        diffy

        Ari Chivukula (Gerrit)

        unread,
        Feb 28, 2026, 9:21:40 AMFeb 28
        to Maciej Czarnecki, AyeAye, Daniel Bratell, Chromium Sync Reviews, Chromium IPC Reviews, Chromium Metrics Reviews, chromium...@chromium.org, Nate Chapin, Raphael Kubo da Costa, Hiroki Nakagawa, asvitki...@chromium.org, alexmo...@chromium.org, asvitkine...@chromium.org, blink-re...@chromium.org, blink-revie...@chromium.org, blink-revi...@chromium.org, blink-...@chromium.org, creis...@chromium.org, gavinp...@chromium.org, horo+...@chromium.org, ipc-securi...@chromium.org, jmedle...@chromium.org, kinuko+ser...@chromium.org, kinuko...@chromium.org, loading-re...@chromium.org, loading...@chromium.org, navigation...@chromium.org, servicewor...@chromium.org, shimazu+se...@chromium.org
        Attention needed from Maciej Czarnecki

        Ari Chivukula added 1 comment

        Patchset-level comments
        Ari Chivukula . unresolved

        mind rebasing? I can run tests then so we can see what works or not. the current merge conflict prevents it

        Open in Gerrit

        Related details

        Attention is currently required from:
        • Maciej Czarnecki
        Gerrit-Attention: Maciej Czarnecki <mccz...@gmail.com>
        Gerrit-Comment-Date: Sat, 28 Feb 2026 14:21:32 +0000
        Gerrit-HasComments: Yes
        Gerrit-Has-Labels: No
        satisfied_requirement
        unsatisfied_requirement
        open
        diffy

        Maciej Czarnecki (Gerrit)

        unread,
        Mar 2, 2026, 5:04:49 AMMar 2
        to AyeAye, Ari Chivukula, Daniel Bratell, Chromium Sync Reviews, Chromium IPC Reviews, Chromium Metrics Reviews, chromium...@chromium.org, Nate Chapin, Raphael Kubo da Costa, Hiroki Nakagawa, asvitki...@chromium.org, alexmo...@chromium.org, asvitkine...@chromium.org, blink-re...@chromium.org, blink-revie...@chromium.org, blink-revi...@chromium.org, blink-...@chromium.org, creis...@chromium.org, gavinp...@chromium.org, horo+...@chromium.org, ipc-securi...@chromium.org, jmedle...@chromium.org, kinuko+ser...@chromium.org, kinuko...@chromium.org, loading-re...@chromium.org, loading...@chromium.org, navigation...@chromium.org, servicewor...@chromium.org, shimazu+se...@chromium.org
        Attention needed from Ari Chivukula

        Maciej Czarnecki added 1 comment

        Patchset-level comments
        File-level comment, Patchset 10:
        Ari Chivukula . resolved

        mind rebasing? I can run tests then so we can see what works or not. the current merge conflict prevents it

        Maciej Czarnecki

        Done. Please run the tests :) The file with enums is changing frequently, so soon there will be a conflict again :/

        Open in Gerrit

        Related details

        Attention is currently required from:
        • Ari Chivukula
        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: I03819d38688e357b119349e812a2a2f73505488e
        Gerrit-Change-Number: 7319383
        Gerrit-PatchSet: 11
        Gerrit-Owner: Maciej Czarnecki <mccz...@gmail.com>
        Gerrit-Reviewer: Ari Chivukula <ari...@chromium.org>
        Gerrit-CC: Chromium IPC Reviews <chrome-ip...@google.com>
        Gerrit-CC: Chromium Metrics Reviews <chromium-met...@google.com>
        Gerrit-CC: Chromium Sync Reviews <chromium-s...@google.com>
        Gerrit-CC: Daniel Bratell <brat...@gmail.com>
        Gerrit-CC: Hiroki Nakagawa <nhi...@chromium.org>
        Gerrit-CC: Nate Chapin <jap...@chromium.org>
        Gerrit-CC: Raphael Kubo da Costa <ku...@igalia.com>
        Gerrit-CC: gwsq
        Gerrit-Attention: Ari Chivukula <ari...@chromium.org>
        Gerrit-Comment-Date: Mon, 02 Mar 2026 10:04:32 +0000
        Gerrit-HasComments: Yes
        Gerrit-Has-Labels: No
        Comment-In-Reply-To: Ari Chivukula <ari...@chromium.org>
        satisfied_requirement
        unsatisfied_requirement
        open
        diffy

        Ari Chivukula (Gerrit)

        unread,
        Mar 2, 2026, 7:24:39 AMMar 2
        to Maciej Czarnecki, Chromium LUCI CQ, AyeAye, Daniel Bratell, Chromium Sync Reviews, Chromium IPC Reviews, Chromium Metrics Reviews, chromium...@chromium.org, Nate Chapin, Raphael Kubo da Costa, Hiroki Nakagawa, asvitki...@chromium.org, alexmo...@chromium.org, asvitkine...@chromium.org, blink-re...@chromium.org, blink-revie...@chromium.org, blink-revi...@chromium.org, blink-...@chromium.org, creis...@chromium.org, gavinp...@chromium.org, horo+...@chromium.org, ipc-securi...@chromium.org, jmedle...@chromium.org, kinuko+ser...@chromium.org, kinuko...@chromium.org, loading-re...@chromium.org, loading...@chromium.org, navigation...@chromium.org, servicewor...@chromium.org, shimazu+se...@chromium.org
        Attention needed from Ari Chivukula

        Message from Ari Chivukula

        Set Ready For Review

        Open in Gerrit

        Related details

        Attention is currently required from:
        • Ari Chivukula
        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: I03819d38688e357b119349e812a2a2f73505488e
        Gerrit-Change-Number: 7319383
        Gerrit-PatchSet: 14
        Gerrit-Owner: Maciej Czarnecki <mccz...@gmail.com>
        Gerrit-Reviewer: Ari Chivukula <ari...@chromium.org>
        Gerrit-CC: Chromium IPC Reviews <chrome-ip...@google.com>
        Gerrit-CC: Chromium Metrics Reviews <chromium-met...@google.com>
        Gerrit-CC: Chromium Sync Reviews <chromium-s...@google.com>
        Gerrit-CC: Daniel Bratell <brat...@gmail.com>
        Gerrit-CC: Hiroki Nakagawa <nhi...@chromium.org>
        Gerrit-CC: Nate Chapin <jap...@chromium.org>
        Gerrit-CC: Raphael Kubo da Costa <ku...@igalia.com>
        Gerrit-CC: gwsq
        Gerrit-Attention: Ari Chivukula <ari...@chromium.org>
        Gerrit-Comment-Date: Mon, 02 Mar 2026 12:24:30 +0000
        Gerrit-HasComments: No
        Gerrit-Has-Labels: No
        satisfied_requirement
        unsatisfied_requirement
        open
        diffy

        Ari Chivukula (Gerrit)

        unread,
        Mar 2, 2026, 7:43:43 AMMar 2
        to Maciej Czarnecki, Chromium LUCI CQ, AyeAye, Daniel Bratell, Chromium Sync Reviews, Chromium IPC Reviews, Chromium Metrics Reviews, chromium...@chromium.org, Nate Chapin, Raphael Kubo da Costa, Hiroki Nakagawa, asvitki...@chromium.org, alexmo...@chromium.org, asvitkine...@chromium.org, blink-re...@chromium.org, blink-revie...@chromium.org, blink-revi...@chromium.org, blink-...@chromium.org, creis...@chromium.org, gavinp...@chromium.org, horo+...@chromium.org, ipc-securi...@chromium.org, jmedle...@chromium.org, kinuko+ser...@chromium.org, kinuko...@chromium.org, loading-re...@chromium.org, loading...@chromium.org, navigation...@chromium.org, servicewor...@chromium.org, shimazu+se...@chromium.org
        Attention needed from Maciej Czarnecki

        Ari Chivukula added 4 comments

        Patchset-level comments
        File-level comment, Patchset 14 (Latest):
        Ari Chivukula . unresolved

        Nice! I think this is just about ready for code-owner review, but I haven't read tests yet (waiting on the CQ for that).

        One thing to consider is adding public-facing (external) WPTs https://chromium.googlesource.com/chromium/src/+/HEAD/docs/testing/web_platform_tests.md

        That doesn't have to be this CL though (browsertests are enough here), it could be a future one. Up to you

        File third_party/blink/renderer/core/frame/local_frame_client_impl.cc
        Line 987, Patchset 14 (Latest): return IsGlobalPrivacyControlEnabled();
        Ari Chivukula . unresolved

        see note on third_party/blink/renderer/modules/global_privacy_control/navigator_global_privacy_control.cc

        File third_party/blink/renderer/modules/global_privacy_control/navigator_global_privacy_control.cc
        Line 22, Patchset 14 (Latest): ->GlobalPrivacyControlValue();
        Ari Chivukula . unresolved

        why do this when LocalFrameClientImpl::GlobalPrivacyControlValue just calls IsGlobalPrivacyControlEnabled? I know in the future we will need to cache the value on frame navigation so it's consistent, but since we aren't doing that yet it just feels unnecessary. Maybe just put a TODO with a reference to how we will need to do that in the future here? It can be resolved when it's a dynamic browser-pref instead of a static start-time flag

        File third_party/blink/renderer/platform/loader/fetch/url_loader/dedicated_or_shared_worker_global_scope_context_impl.cc
        Line 385, Patchset 9: "1");
        Ari Chivukula . unresolved

        nit: it might be good to add some UMA logging for what contexts the header is sent in - https://chromium.googlesource.com/chromium/src.git/+/HEAD/tools/metrics/histograms/README.md

        Ari Chivukula

        Actually, maybe just another WebFeature counter (like the JS ones), also split by worker/non-worker

        Open in Gerrit

        Related details

        Attention is currently required from:
        • Maciej Czarnecki
        Gerrit-Attention: Maciej Czarnecki <mccz...@gmail.com>
        Gerrit-Comment-Date: Mon, 02 Mar 2026 12:43:36 +0000
        satisfied_requirement
        unsatisfied_requirement
        open
        diffy

        Ari Chivukula (Gerrit)

        unread,
        Mar 2, 2026, 7:57:00 AMMar 2
        to Maciej Czarnecki, Chromium LUCI CQ, AyeAye, Daniel Bratell, Chromium Sync Reviews, Chromium IPC Reviews, Chromium Metrics Reviews, chromium...@chromium.org, Nate Chapin, Raphael Kubo da Costa, Hiroki Nakagawa, asvitki...@chromium.org, alexmo...@chromium.org, asvitkine...@chromium.org, blink-re...@chromium.org, blink-revie...@chromium.org, blink-revi...@chromium.org, blink-...@chromium.org, creis...@chromium.org, gavinp...@chromium.org, horo+...@chromium.org, ipc-securi...@chromium.org, jmedle...@chromium.org, kinuko+ser...@chromium.org, kinuko...@chromium.org, loading-re...@chromium.org, loading...@chromium.org, navigation...@chromium.org, servicewor...@chromium.org, shimazu+se...@chromium.org
        Attention needed from Maciej Czarnecki

        Ari Chivukula added 1 comment

        File chrome/browser/chrome_global_privacy_control_browsertest.cc
        Line 29, Patchset 14 (Latest): scoped_feature_list_.InitAndEnableFeature(
        Ari Chivukula . unresolved

        nit: just use InitWithFeatureState

        Gerrit-Comment-Date: Mon, 02 Mar 2026 12:56:53 +0000
        Gerrit-HasComments: Yes
        Gerrit-Has-Labels: No
        satisfied_requirement
        unsatisfied_requirement
        open
        diffy

        Maciej Czarnecki (Gerrit)

        unread,
        Mar 13, 2026, 8:19:08 AMMar 13
        to Ari Chivukula, Chromium LUCI CQ, AyeAye, Daniel Bratell, Chromium Sync Reviews, Chromium IPC Reviews, Chromium Metrics Reviews, chromium...@chromium.org, Nate Chapin, Raphael Kubo da Costa, Hiroki Nakagawa, asvitki...@chromium.org, alexmo...@chromium.org, asvitkine...@chromium.org, blink-re...@chromium.org, blink-revie...@chromium.org, blink-revi...@chromium.org, blink-...@chromium.org, creis...@chromium.org, gavinp...@chromium.org, horo+...@chromium.org, ipc-securi...@chromium.org, jmedle...@chromium.org, kinuko+ser...@chromium.org, kinuko...@chromium.org, loading-re...@chromium.org, loading...@chromium.org, navigation...@chromium.org, servicewor...@chromium.org, shimazu+se...@chromium.org
        Attention needed from Ari Chivukula

        Maciej Czarnecki added 5 comments

        Patchset-level comments
        Ari Chivukula . unresolved

        Nice! I think this is just about ready for code-owner review, but I haven't read tests yet (waiting on the CQ for that).

        One thing to consider is adding public-facing (external) WPTs https://chromium.googlesource.com/chromium/src/+/HEAD/docs/testing/web_platform_tests.md

        That doesn't have to be this CL though (browsertests are enough here), it could be a future one. Up to you

        Maciej Czarnecki

        I would like to do it with a separate CL. This one took me already quite a lot of time and writing WPT is another new thing to me, so I will need some time to get familiar with it. Should I create an issue for it?

        File chrome/browser/chrome_global_privacy_control_browsertest.cc
        Line 29, Patchset 14: scoped_feature_list_.InitAndEnableFeature(
        Ari Chivukula . resolved

        nit: just use InitWithFeatureState

        Maciej Czarnecki

        Done

        File third_party/blink/renderer/core/frame/local_frame_client_impl.cc
        Line 987, Patchset 14: return IsGlobalPrivacyControlEnabled();
        Ari Chivukula . resolved

        see note on third_party/blink/renderer/modules/global_privacy_control/navigator_global_privacy_control.cc

        Maciej Czarnecki

        Done

        File third_party/blink/renderer/modules/global_privacy_control/navigator_global_privacy_control.cc
        Line 22, Patchset 14: ->GlobalPrivacyControlValue();
        Ari Chivukula . resolved

        why do this when LocalFrameClientImpl::GlobalPrivacyControlValue just calls IsGlobalPrivacyControlEnabled? I know in the future we will need to cache the value on frame navigation so it's consistent, but since we aren't doing that yet it just feels unnecessary. Maybe just put a TODO with a reference to how we will need to do that in the future here? It can be resolved when it's a dynamic browser-pref instead of a static start-time flag

        Maciej Czarnecki

        Done

        File third_party/blink/renderer/platform/loader/fetch/url_loader/dedicated_or_shared_worker_global_scope_context_impl.cc
        Ari Chivukula . unresolved

        nit: it might be good to add some UMA logging for what contexts the header is sent in - https://chromium.googlesource.com/chromium/src.git/+/HEAD/tools/metrics/histograms/README.md

        Ari Chivukula

        Actually, maybe just another WebFeature counter (like the JS ones), also split by worker/non-worker

        Maciej Czarnecki

        I need a little help with it. I was trying to find instances of the use of 'Blink.UseCounter.Features' histograms in C++ code, but I couldn't find any. I assume that it should be done differently. Could you point me to an example of a similar metric that I can use? Or should I create a new histogram for it?

        Open in Gerrit

        Related details

        Attention is currently required from:
        • Ari Chivukula
        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: I03819d38688e357b119349e812a2a2f73505488e
        Gerrit-Change-Number: 7319383
        Gerrit-PatchSet: 16
        Gerrit-Owner: Maciej Czarnecki <mccz...@gmail.com>
        Gerrit-Reviewer: Ari Chivukula <ari...@chromium.org>
        Gerrit-CC: Chromium IPC Reviews <chrome-ip...@google.com>
        Gerrit-CC: Chromium Metrics Reviews <chromium-met...@google.com>
        Gerrit-CC: Chromium Sync Reviews <chromium-s...@google.com>
        Gerrit-CC: Daniel Bratell <brat...@gmail.com>
        Gerrit-CC: Hiroki Nakagawa <nhi...@chromium.org>
        Gerrit-CC: Nate Chapin <jap...@chromium.org>
        Gerrit-CC: Raphael Kubo da Costa <ku...@igalia.com>
        Gerrit-CC: gwsq
        Gerrit-Attention: Ari Chivukula <ari...@chromium.org>
        Gerrit-Comment-Date: Fri, 13 Mar 2026 12:18:55 +0000
        Gerrit-HasComments: Yes
        Gerrit-Has-Labels: No
        Comment-In-Reply-To: Ari Chivukula <ari...@chromium.org>
        satisfied_requirement
        unsatisfied_requirement
        open
        diffy

        Maciej Czarnecki (Gerrit)

        unread,
        Mar 13, 2026, 8:20:27 AMMar 13
        to Ari Chivukula, Chromium LUCI CQ, AyeAye, Daniel Bratell, Chromium Sync Reviews, Chromium IPC Reviews, Chromium Metrics Reviews, chromium...@chromium.org, Nate Chapin, Raphael Kubo da Costa, Hiroki Nakagawa, asvitki...@chromium.org, alexmo...@chromium.org, asvitkine...@chromium.org, blink-re...@chromium.org, blink-revie...@chromium.org, blink-revi...@chromium.org, blink-...@chromium.org, creis...@chromium.org, gavinp...@chromium.org, horo+...@chromium.org, ipc-securi...@chromium.org, jmedle...@chromium.org, kinuko+ser...@chromium.org, kinuko...@chromium.org, loading-re...@chromium.org, loading...@chromium.org, navigation...@chromium.org, servicewor...@chromium.org, shimazu+se...@chromium.org
        Attention needed from Ari Chivukula

        Maciej Czarnecki added 1 comment

        Patchset-level comments
        File-level comment, Patchset 16 (Latest):
        Maciej Czarnecki . resolved

        @ari...@chromium.org could you trigger tests one more time?

        Gerrit-Comment-Date: Fri, 13 Mar 2026 12:20:09 +0000
        Gerrit-HasComments: Yes
        Gerrit-Has-Labels: No
        satisfied_requirement
        unsatisfied_requirement
        open
        diffy

        Ari Chivukula (Gerrit)

        unread,
        Mar 13, 2026, 8:28:01 AMMar 13
        to Maciej Czarnecki, Chromium LUCI CQ, AyeAye, Daniel Bratell, Chromium Sync Reviews, Chromium IPC Reviews, Chromium Metrics Reviews, chromium...@chromium.org, Nate Chapin, Raphael Kubo da Costa, Hiroki Nakagawa, asvitki...@chromium.org, alexmo...@chromium.org, asvitkine...@chromium.org, blink-re...@chromium.org, blink-revie...@chromium.org, blink-revi...@chromium.org, blink-...@chromium.org, creis...@chromium.org, gavinp...@chromium.org, horo+...@chromium.org, ipc-securi...@chromium.org, jmedle...@chromium.org, kinuko+ser...@chromium.org, kinuko...@chromium.org, loading-re...@chromium.org, loading...@chromium.org, navigation...@chromium.org, servicewor...@chromium.org, shimazu+se...@chromium.org
        Attention needed from Maciej Czarnecki

        Ari Chivukula added 1 comment

        File third_party/blink/renderer/platform/loader/fetch/url_loader/dedicated_or_shared_worker_global_scope_context_impl.cc
        Ari Chivukula . unresolved

        nit: it might be good to add some UMA logging for what contexts the header is sent in - https://chromium.googlesource.com/chromium/src.git/+/HEAD/tools/metrics/histograms/README.md

        Ari Chivukula

        Actually, maybe just another WebFeature counter (like the JS ones), also split by worker/non-worker

        Maciej Czarnecki

        I need a little help with it. I was trying to find instances of the use of 'Blink.UseCounter.Features' histograms in C++ code, but I couldn't find any. I assume that it should be done differently. Could you point me to an example of a similar metric that I can use? Or should I create a new histogram for it?

        Ari Chivukula

        of course, here's a CL with an example:
        https://crrev.com/c/7643254

        The key modifications are:
        UseCounter usage in third_party/blink/renderer/core/html/html_anchor_element.cc
        enum addition to third_party/blink/public/mojom/use_counter/metrics/web_feature.mojom
        xml update in tools/metrics/histograms/metadata/blink/enums.xml

        Open in Gerrit

        Related details

        Attention is currently required from:
        • Maciej Czarnecki
        Gerrit-Attention: Maciej Czarnecki <mccz...@gmail.com>
        Gerrit-Comment-Date: Fri, 13 Mar 2026 12:27:55 +0000
        Gerrit-HasComments: Yes
        Gerrit-Has-Labels: No
        satisfied_requirement
        unsatisfied_requirement
        open
        diffy

        Ari Chivukula (Gerrit)

        unread,
        Mar 13, 2026, 8:32:46 AMMar 13
        to Maciej Czarnecki, Chromium LUCI CQ, AyeAye, Daniel Bratell, Chromium Sync Reviews, Chromium IPC Reviews, Chromium Metrics Reviews, chromium...@chromium.org, Nate Chapin, Raphael Kubo da Costa, Hiroki Nakagawa, asvitki...@chromium.org, alexmo...@chromium.org, asvitkine...@chromium.org, blink-re...@chromium.org, blink-revie...@chromium.org, blink-revi...@chromium.org, blink-...@chromium.org, creis...@chromium.org, gavinp...@chromium.org, horo+...@chromium.org, ipc-securi...@chromium.org, jmedle...@chromium.org, kinuko+ser...@chromium.org, kinuko...@chromium.org, loading-re...@chromium.org, loading...@chromium.org, navigation...@chromium.org, servicewor...@chromium.org, shimazu+se...@chromium.org
        Attention needed from Maciej Czarnecki

        Ari Chivukula added 1 comment

        Patchset-level comments
        File-level comment, Patchset 14:
        Ari Chivukula . resolved

        Nice! I think this is just about ready for code-owner review, but I haven't read tests yet (waiting on the CQ for that).

        One thing to consider is adding public-facing (external) WPTs https://chromium.googlesource.com/chromium/src/+/HEAD/docs/testing/web_platform_tests.md

        That doesn't have to be this CL though (browsertests are enough here), it could be a future one. Up to you

        Maciej Czarnecki

        I would like to do it with a separate CL. This one took me already quite a lot of time and writing WPT is another new thing to me, so I will need some time to get familiar with it. Should I create an issue for it?

        Ari Chivukula

        it can go on the same issue, and it's fine to add it later. Here's an example of how to run a test with and without an enabled feature flag that checks header information:
        https://crrev.com/c/6774087

        Gerrit-Comment-Date: Fri, 13 Mar 2026 12:32:40 +0000
        satisfied_requirement
        unsatisfied_requirement
        open
        diffy

        Ari Chivukula (Gerrit)

        unread,
        Mar 19, 2026, 12:39:43 PMMar 19
        to Maciej Czarnecki, Chromium LUCI CQ, AyeAye, Daniel Bratell, Chromium Sync Reviews, Chromium IPC Reviews, Chromium Metrics Reviews, chromium...@chromium.org, Nate Chapin, Raphael Kubo da Costa, Hiroki Nakagawa, asvitki...@chromium.org, alexmo...@chromium.org, asvitkine...@chromium.org, blink-re...@chromium.org, blink-revie...@chromium.org, blink-revi...@chromium.org, blink-...@chromium.org, creis...@chromium.org, gavinp...@chromium.org, horo+...@chromium.org, ipc-securi...@chromium.org, jmedle...@chromium.org, kinuko+ser...@chromium.org, kinuko...@chromium.org, loading-re...@chromium.org, loading...@chromium.org, navigation...@chromium.org, servicewor...@chromium.org, shimazu+se...@chromium.org
        Attention needed from Maciej Czarnecki

        Ari Chivukula added 2 comments

        File third_party/blink/renderer/platform/loader/fetch/url_loader/dedicated_or_shared_worker_global_scope_context_impl.cc
        Line 47, Patchset 16 (Latest):enum class GlobalPrivacyControlHeaderContext {
        Ari Chivukula . unresolved

        is this used?

        Ari Chivukula . unresolved

        nit: it might be good to add some UMA logging for what contexts the header is sent in - https://chromium.googlesource.com/chromium/src.git/+/HEAD/tools/metrics/histograms/README.md

        Ari Chivukula

        Actually, maybe just another WebFeature counter (like the JS ones), also split by worker/non-worker

        Maciej Czarnecki

        I need a little help with it. I was trying to find instances of the use of 'Blink.UseCounter.Features' histograms in C++ code, but I couldn't find any. I assume that it should be done differently. Could you point me to an example of a similar metric that I can use? Or should I create a new histogram for it?

        Ari Chivukula

        of course, here's a CL with an example:
        https://crrev.com/c/7643254

        The key modifications are:
        UseCounter usage in third_party/blink/renderer/core/html/html_anchor_element.cc
        enum addition to third_party/blink/public/mojom/use_counter/metrics/web_feature.mojom
        xml update in tools/metrics/histograms/metadata/blink/enums.xml

        Ari Chivukula

        I realize that you need to count in content/browser/loader/browser_initiated_resource_request.cc too, and using WebFeature counters there is tricky and likely a bad idea.

        In that case, UMA is probably the better choice, documentation is here: https://chromium.googlesource.com/chromium/src.git/+/HEAD/tools/metrics/histograms/README.md

        you probably want to define it in: tools/metrics/histograms/metadata/network/histograms.xml

        the histogram should log an enum defined in tools/metrics/histograms/metadata/network/enums.xml representing DedicatedWorker, SharedWorker, ServiceWorker, FrameNavigation, and FrameSubresource

        Gerrit-Comment-Date: Thu, 19 Mar 2026 16:39:37 +0000
        satisfied_requirement
        unsatisfied_requirement
        open
        diffy

        Maciej Czarnecki (Gerrit)

        unread,
        Apr 2, 2026, 9:42:33 AMApr 2
        to Ari Chivukula, Chromium LUCI CQ, AyeAye, Daniel Bratell, Chromium Sync Reviews, Chromium IPC Reviews, Chromium Metrics Reviews, chromium...@chromium.org, Nate Chapin, Raphael Kubo da Costa, Hiroki Nakagawa, asvitki...@chromium.org, alexmo...@chromium.org, asvitkine...@chromium.org, blink-re...@chromium.org, blink-revie...@chromium.org, blink-revi...@chromium.org, blink-...@chromium.org, creis...@chromium.org, gavinp...@chromium.org, horo+...@chromium.org, ipc-securi...@chromium.org, jmedle...@chromium.org, kinuko+ser...@chromium.org, kinuko...@chromium.org, loading-re...@chromium.org, loading...@chromium.org, navigation...@chromium.org, servicewor...@chromium.org, shimazu+se...@chromium.org
        Attention needed from Ari Chivukula

        Maciej Czarnecki added 1 comment

        File third_party/blink/renderer/platform/loader/fetch/url_loader/dedicated_or_shared_worker_global_scope_context_impl.cc
        Ari Chivukula . unresolved

        nit: it might be good to add some UMA logging for what contexts the header is sent in - https://chromium.googlesource.com/chromium/src.git/+/HEAD/tools/metrics/histograms/README.md

        Ari Chivukula

        Actually, maybe just another WebFeature counter (like the JS ones), also split by worker/non-worker

        Maciej Czarnecki

        I need a little help with it. I was trying to find instances of the use of 'Blink.UseCounter.Features' histograms in C++ code, but I couldn't find any. I assume that it should be done differently. Could you point me to an example of a similar metric that I can use? Or should I create a new histogram for it?

        Ari Chivukula

        of course, here's a CL with an example:
        https://crrev.com/c/7643254

        The key modifications are:
        UseCounter usage in third_party/blink/renderer/core/html/html_anchor_element.cc
        enum addition to third_party/blink/public/mojom/use_counter/metrics/web_feature.mojom
        xml update in tools/metrics/histograms/metadata/blink/enums.xml

        Ari Chivukula

        I realize that you need to count in content/browser/loader/browser_initiated_resource_request.cc too, and using WebFeature counters there is tricky and likely a bad idea.

        In that case, UMA is probably the better choice, documentation is here: https://chromium.googlesource.com/chromium/src.git/+/HEAD/tools/metrics/histograms/README.md

        you probably want to define it in: tools/metrics/histograms/metadata/network/histograms.xml

        the histogram should log an enum defined in tools/metrics/histograms/metadata/network/enums.xml representing DedicatedWorker, SharedWorker, ServiceWorker, FrameNavigation, and FrameSubresource

        Maciej Czarnecki

        I finally had time to look into it. I managed to add a new histogram in general, but I'm having an issue with the `UpdateAdditionalHeadersForBrowserInitiatedRequest` method. It's called from different contexts, and I can't figure out how to identify it from inside the method. Do you have any advice? I'm not sure how much I can change in the function to make UMA possible. Would it be OK if I added a parameter with an enum indicating the caller context? Or maybe use a shared enum for Navigation and Dedicated/Shared/Service Workers?

        Open in Gerrit

        Related details

        Attention is currently required from:
        • Ari Chivukula
        Gerrit-Attention: Ari Chivukula <ari...@chromium.org>
        Gerrit-Comment-Date: Thu, 02 Apr 2026 13:42:22 +0000
        satisfied_requirement
        unsatisfied_requirement
        open
        diffy

        Ari Chivukula (Gerrit)

        unread,
        Apr 2, 2026, 9:57:01 AMApr 2
        to Maciej Czarnecki, Chromium LUCI CQ, AyeAye, Daniel Bratell, Chromium Sync Reviews, Chromium IPC Reviews, Chromium Metrics Reviews, chromium...@chromium.org, Nate Chapin, Raphael Kubo da Costa, Hiroki Nakagawa, asvitki...@chromium.org, alexmo...@chromium.org, asvitkine...@chromium.org, blink-re...@chromium.org, blink-revie...@chromium.org, blink-revi...@chromium.org, blink-...@chromium.org, creis...@chromium.org, gavinp...@chromium.org, horo+...@chromium.org, ipc-securi...@chromium.org, jmedle...@chromium.org, kinuko+ser...@chromium.org, kinuko...@chromium.org, loading-re...@chromium.org, loading...@chromium.org, navigation...@chromium.org, servicewor...@chromium.org, shimazu+se...@chromium.org
        Attention needed from Maciej Czarnecki

        Ari Chivukula added 1 comment

        File third_party/blink/renderer/platform/loader/fetch/url_loader/dedicated_or_shared_worker_global_scope_context_impl.cc
        Ari Chivukula . unresolved

        nit: it might be good to add some UMA logging for what contexts the header is sent in - https://chromium.googlesource.com/chromium/src.git/+/HEAD/tools/metrics/histograms/README.md

        Ari Chivukula

        Actually, maybe just another WebFeature counter (like the JS ones), also split by worker/non-worker

        Maciej Czarnecki

        I need a little help with it. I was trying to find instances of the use of 'Blink.UseCounter.Features' histograms in C++ code, but I couldn't find any. I assume that it should be done differently. Could you point me to an example of a similar metric that I can use? Or should I create a new histogram for it?

        Ari Chivukula

        of course, here's a CL with an example:
        https://crrev.com/c/7643254

        The key modifications are:
        UseCounter usage in third_party/blink/renderer/core/html/html_anchor_element.cc
        enum addition to third_party/blink/public/mojom/use_counter/metrics/web_feature.mojom
        xml update in tools/metrics/histograms/metadata/blink/enums.xml

        Ari Chivukula

        I realize that you need to count in content/browser/loader/browser_initiated_resource_request.cc too, and using WebFeature counters there is tricky and likely a bad idea.

        In that case, UMA is probably the better choice, documentation is here: https://chromium.googlesource.com/chromium/src.git/+/HEAD/tools/metrics/histograms/README.md

        you probably want to define it in: tools/metrics/histograms/metadata/network/histograms.xml

        the histogram should log an enum defined in tools/metrics/histograms/metadata/network/enums.xml representing DedicatedWorker, SharedWorker, ServiceWorker, FrameNavigation, and FrameSubresource

        Maciej Czarnecki

        I finally had time to look into it. I managed to add a new histogram in general, but I'm having an issue with the `UpdateAdditionalHeadersForBrowserInitiatedRequest` method. It's called from different contexts, and I can't figure out how to identify it from inside the method. Do you have any advice? I'm not sure how much I can change in the function to make UMA possible. Would it be OK if I added a parameter with an enum indicating the caller context? Or maybe use a shared enum for Navigation and Dedicated/Shared/Service Workers?

        Ari Chivukula

        It's okay to just note worker navigation vs frame navigation vs subresource fetch, It's probably not worth changing the API surface for this

        Open in Gerrit

        Related details

        Attention is currently required from:
        • Maciej Czarnecki
        Gerrit-Attention: Maciej Czarnecki <mccz...@gmail.com>
        Gerrit-Comment-Date: Thu, 02 Apr 2026 13:56:52 +0000
        satisfied_requirement
        unsatisfied_requirement
        open
        diffy

        Maciej Czarnecki (Gerrit)

        unread,
        Apr 5, 2026, 1:13:23 PMApr 5
        to Ari Chivukula, Chromium LUCI CQ, AyeAye, Daniel Bratell, Chromium Sync Reviews, Chromium IPC Reviews, Chromium Metrics Reviews, chromium...@chromium.org, Nate Chapin, Raphael Kubo da Costa, Hiroki Nakagawa, asvitki...@chromium.org, alexmo...@chromium.org, asvitkine...@chromium.org, blink-re...@chromium.org, blink-revie...@chromium.org, blink-revi...@chromium.org, blink-...@chromium.org, creis...@chromium.org, gavinp...@chromium.org, horo+...@chromium.org, ipc-securi...@chromium.org, jmedle...@chromium.org, kinuko+ser...@chromium.org, kinuko...@chromium.org, loading-re...@chromium.org, loading...@chromium.org, navigation...@chromium.org, servicewor...@chromium.org, shimazu+se...@chromium.org
        Attention needed from Ari Chivukula

        Maciej Czarnecki added 2 comments

        File third_party/blink/renderer/platform/loader/fetch/url_loader/dedicated_or_shared_worker_global_scope_context_impl.cc
        Line 47, Patchset 16:enum class GlobalPrivacyControlHeaderContext {
        Ari Chivukula . resolved

        is this used?

        Maciej Czarnecki

        Done

        Ari Chivukula . resolved

        nit: it might be good to add some UMA logging for what contexts the header is sent in - https://chromium.googlesource.com/chromium/src.git/+/HEAD/tools/metrics/histograms/README.md

        Ari Chivukula

        Actually, maybe just another WebFeature counter (like the JS ones), also split by worker/non-worker

        Maciej Czarnecki

        I need a little help with it. I was trying to find instances of the use of 'Blink.UseCounter.Features' histograms in C++ code, but I couldn't find any. I assume that it should be done differently. Could you point me to an example of a similar metric that I can use? Or should I create a new histogram for it?

        Ari Chivukula

        of course, here's a CL with an example:
        https://crrev.com/c/7643254

        The key modifications are:
        UseCounter usage in third_party/blink/renderer/core/html/html_anchor_element.cc
        enum addition to third_party/blink/public/mojom/use_counter/metrics/web_feature.mojom
        xml update in tools/metrics/histograms/metadata/blink/enums.xml

        Ari Chivukula

        I realize that you need to count in content/browser/loader/browser_initiated_resource_request.cc too, and using WebFeature counters there is tricky and likely a bad idea.

        In that case, UMA is probably the better choice, documentation is here: https://chromium.googlesource.com/chromium/src.git/+/HEAD/tools/metrics/histograms/README.md

        you probably want to define it in: tools/metrics/histograms/metadata/network/histograms.xml

        the histogram should log an enum defined in tools/metrics/histograms/metadata/network/enums.xml representing DedicatedWorker, SharedWorker, ServiceWorker, FrameNavigation, and FrameSubresource

        Maciej Czarnecki

        I finally had time to look into it. I managed to add a new histogram in general, but I'm having an issue with the `UpdateAdditionalHeadersForBrowserInitiatedRequest` method. It's called from different contexts, and I can't figure out how to identify it from inside the method. Do you have any advice? I'm not sure how much I can change in the function to make UMA possible. Would it be OK if I added a parameter with an enum indicating the caller context? Or maybe use a shared enum for Navigation and Dedicated/Shared/Service Workers?

        Ari Chivukula

        It's okay to just note worker navigation vs frame navigation vs subresource fetch, It's probably not worth changing the API surface for this

        Maciej Czarnecki

        Done

        Open in Gerrit

        Related details

        Attention is currently required from:
        • Ari Chivukula
        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: I03819d38688e357b119349e812a2a2f73505488e
          Gerrit-Change-Number: 7319383
          Gerrit-PatchSet: 17
          Gerrit-Owner: Maciej Czarnecki <mccz...@gmail.com>
          Gerrit-Reviewer: Ari Chivukula <ari...@chromium.org>
          Gerrit-CC: Chromium IPC Reviews <chrome-ip...@google.com>
          Gerrit-CC: Chromium Metrics Reviews <chromium-met...@google.com>
          Gerrit-CC: Chromium Sync Reviews <chromium-s...@google.com>
          Gerrit-CC: Daniel Bratell <brat...@gmail.com>
          Gerrit-CC: Hiroki Nakagawa <nhi...@chromium.org>
          Gerrit-CC: Nate Chapin <jap...@chromium.org>
          Gerrit-CC: Raphael Kubo da Costa <ku...@igalia.com>
          Gerrit-CC: gwsq
          Gerrit-Attention: Ari Chivukula <ari...@chromium.org>
          Gerrit-Comment-Date: Sun, 05 Apr 2026 17:13:09 +0000
          satisfied_requirement
          unsatisfied_requirement
          open
          diffy

          Ari Chivukula (Gerrit)

          unread,
          Apr 5, 2026, 2:36:13 PMApr 5
          to Maciej Czarnecki, Chromium LUCI CQ, AyeAye, Daniel Bratell, Chromium Sync Reviews, Chromium IPC Reviews, Chromium Metrics Reviews, chromium...@chromium.org, Nate Chapin, Raphael Kubo da Costa, Hiroki Nakagawa, asvitki...@chromium.org, alexmo...@chromium.org, asvitkine...@chromium.org, blink-re...@chromium.org, blink-revie...@chromium.org, blink-revi...@chromium.org, blink-...@chromium.org, creis...@chromium.org, gavinp...@chromium.org, horo+...@chromium.org, ipc-securi...@chromium.org, jmedle...@chromium.org, kinuko+ser...@chromium.org, kinuko...@chromium.org, loading-re...@chromium.org, loading...@chromium.org, navigation...@chromium.org, servicewor...@chromium.org, shimazu+se...@chromium.org
          Attention needed from Maciej Czarnecki

          Ari Chivukula added 5 comments

          File third_party/blink/public/common/global_privacy_control/global_privacy_control_util.h
          Line 25, Patchset 17 (Latest):// LINT.ThenChange(//tools/metrics/histograms/metadata/network/enums.xml:GPCSignalSourceType)
          Ari Chivukula . unresolved

          you need to define the other side in that file too

          File third_party/blink/public/mojom/use_counter/metrics/web_feature.mojom
          Line 5185, Patchset 17 (Latest): kGlobalPrivacyControlAddHeaderFrame = 5868,
          Ari Chivukula . unresolved

          this isn't being used anymore right?

          File tools/metrics/histograms/metadata/blink/enums.xml
          Line 6511, Patchset 17 (Latest): <int value="5868" label="GlobalPrivacyControlAddHeaderFrame"/>
          Ari Chivukula . unresolved

          I think this is a holdover that's not needed anymore?

          File tools/metrics/histograms/metadata/network/enums.xml
          Line 435, Patchset 17 (Latest):<enum name="GPCSignalSourceType">
          Ari Chivukula . unresolved

          mind adding a LINT.IfChange? See other examples in this file

          File tools/metrics/histograms/metadata/network/histograms.xml
          Line 2160, Patchset 17 (Latest): Diagnostic for tracking the source of Global Privacy Control (GPC) signals.
          Ari Chivukula . unresolved

          please note when this is recorded and what it indicated when recorded, not just the intended use of the metric

          Open in Gerrit

          Related details

          Attention is currently required from:
          • Maciej Czarnecki
          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: I03819d38688e357b119349e812a2a2f73505488e
            Gerrit-Change-Number: 7319383
            Gerrit-PatchSet: 17
            Gerrit-Owner: Maciej Czarnecki <mccz...@gmail.com>
            Gerrit-Reviewer: Ari Chivukula <ari...@chromium.org>
            Gerrit-CC: Chromium IPC Reviews <chrome-ip...@google.com>
            Gerrit-CC: Chromium Metrics Reviews <chromium-met...@google.com>
            Gerrit-CC: Chromium Sync Reviews <chromium-s...@google.com>
            Gerrit-CC: Daniel Bratell <brat...@gmail.com>
            Gerrit-CC: Hiroki Nakagawa <nhi...@chromium.org>
            Gerrit-CC: Nate Chapin <jap...@chromium.org>
            Gerrit-CC: Raphael Kubo da Costa <ku...@igalia.com>
            Gerrit-CC: gwsq
            Gerrit-Attention: Maciej Czarnecki <mccz...@gmail.com>
            Gerrit-Comment-Date: Sun, 05 Apr 2026 18:36:05 +0000
            Gerrit-HasComments: Yes
            Gerrit-Has-Labels: No
            satisfied_requirement
            unsatisfied_requirement
            open
            diffy

            Maciej Czarnecki (Gerrit)

            unread,
            Apr 6, 2026, 11:36:13 AMApr 6
            to Ari Chivukula, Chromium LUCI CQ, AyeAye, Daniel Bratell, Chromium Sync Reviews, Chromium IPC Reviews, Chromium Metrics Reviews, chromium...@chromium.org, Nate Chapin, Raphael Kubo da Costa, Hiroki Nakagawa, asvitki...@chromium.org, alexmo...@chromium.org, asvitkine...@chromium.org, blink-re...@chromium.org, blink-revie...@chromium.org, blink-revi...@chromium.org, blink-...@chromium.org, creis...@chromium.org, gavinp...@chromium.org, horo+...@chromium.org, ipc-securi...@chromium.org, jmedle...@chromium.org, kinuko+ser...@chromium.org, kinuko...@chromium.org, loading-re...@chromium.org, loading...@chromium.org, navigation...@chromium.org, servicewor...@chromium.org, shimazu+se...@chromium.org
            Attention needed from Ari Chivukula

            Maciej Czarnecki added 5 comments

            File third_party/blink/public/common/global_privacy_control/global_privacy_control_util.h
            Line 25, Patchset 17:// LINT.ThenChange(//tools/metrics/histograms/metadata/network/enums.xml:GPCSignalSourceType)
            Ari Chivukula . resolved

            you need to define the other side in that file too

            Maciej Czarnecki

            Done

            File third_party/blink/public/mojom/use_counter/metrics/web_feature.mojom
            Line 5185, Patchset 17: kGlobalPrivacyControlAddHeaderFrame = 5868,
            Ari Chivukula . resolved

            this isn't being used anymore right?

            Maciej Czarnecki

            Done

            File tools/metrics/histograms/metadata/blink/enums.xml
            Line 6511, Patchset 17: <int value="5868" label="GlobalPrivacyControlAddHeaderFrame"/>
            Ari Chivukula . resolved

            I think this is a holdover that's not needed anymore?

            Maciej Czarnecki

            Done

            File tools/metrics/histograms/metadata/network/enums.xml
            Line 435, Patchset 17:<enum name="GPCSignalSourceType">
            Ari Chivukula . resolved

            mind adding a LINT.IfChange? See other examples in this file

            Maciej Czarnecki

            Done

            File tools/metrics/histograms/metadata/network/histograms.xml
            Line 2160, Patchset 17: Diagnostic for tracking the source of Global Privacy Control (GPC) signals.
            Ari Chivukula . resolved

            please note when this is recorded and what it indicated when recorded, not just the intended use of the metric

            Maciej Czarnecki

            Done

            Open in Gerrit

            Related details

            Attention is currently required from:
            • Ari Chivukula
            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: I03819d38688e357b119349e812a2a2f73505488e
              Gerrit-Change-Number: 7319383
              Gerrit-PatchSet: 18
              Gerrit-Owner: Maciej Czarnecki <mccz...@gmail.com>
              Gerrit-Reviewer: Ari Chivukula <ari...@chromium.org>
              Gerrit-CC: Chromium IPC Reviews <chrome-ip...@google.com>
              Gerrit-CC: Chromium Metrics Reviews <chromium-met...@google.com>
              Gerrit-CC: Chromium Sync Reviews <chromium-s...@google.com>
              Gerrit-CC: Daniel Bratell <brat...@gmail.com>
              Gerrit-CC: Hiroki Nakagawa <nhi...@chromium.org>
              Gerrit-CC: Nate Chapin <jap...@chromium.org>
              Gerrit-CC: Raphael Kubo da Costa <ku...@igalia.com>
              Gerrit-CC: gwsq
              Gerrit-Attention: Ari Chivukula <ari...@chromium.org>
              Gerrit-Comment-Date: Mon, 06 Apr 2026 15:35:50 +0000
              Gerrit-HasComments: Yes
              Gerrit-Has-Labels: No
              Comment-In-Reply-To: Ari Chivukula <ari...@chromium.org>
              satisfied_requirement
              unsatisfied_requirement
              open
              diffy

              Ari Chivukula (Gerrit)

              unread,
              Apr 6, 2026, 11:49:08 AMApr 6
              to Maciej Czarnecki, Chromium LUCI CQ, AyeAye, Daniel Bratell, Chromium Sync Reviews, Chromium IPC Reviews, Chromium Metrics Reviews, chromium...@chromium.org, Nate Chapin, Raphael Kubo da Costa, Hiroki Nakagawa, asvitki...@chromium.org, alexmo...@chromium.org, asvitkine...@chromium.org, blink-re...@chromium.org, blink-revie...@chromium.org, blink-revi...@chromium.org, blink-...@chromium.org, creis...@chromium.org, gavinp...@chromium.org, horo+...@chromium.org, ipc-securi...@chromium.org, jmedle...@chromium.org, kinuko+ser...@chromium.org, kinuko...@chromium.org, loading-re...@chromium.org, loading...@chromium.org, navigation...@chromium.org, servicewor...@chromium.org, shimazu+se...@chromium.org
              Attention needed from Maciej Czarnecki

              Ari Chivukula added 9 comments

              Patchset-level comments
              File-level comment, Patchset 18 (Latest):
              Ari Chivukula . resolved

              nearly ready for code-owner review, one minor issue in third_party/blink/renderer/core/frame/local_frame_client.h that changes the owners set

              File chrome/browser/chrome_global_privacy_control_browsertest.cc
              Line 225, Patchset 18 (Latest):IN_PROC_BROWSER_TEST_P(ChromeGlobalPrivacyControlTest,
              Ari Chivukula . unresolved

              up to you, but you could merge the histogram and counter tests below with the other tests above. It's okay to check results and counters in the same test, but this is also fine

              File content/browser/loader/browser_initiated_resource_request.cc
              Line 44, Patchset 18 (Latest): base::UmaHistogramEnumeration(
              Ari Chivukula . unresolved

              see third_party/blink/renderer/platform/loader/fetch/url_loader/dedicated_or_shared_worker_global_scope_context_impl.cc

              File content/renderer/render_frame_impl.cc
              Line 4483, Patchset 18 (Latest): base::UmaHistogramEnumeration("Network.GlobalPrivacyControlSource",
              Ari Chivukula . unresolved

              see third_party/blink/renderer/platform/loader/fetch/url_loader/dedicated_or_shared_worker_global_scope_context_impl.cc

              File third_party/blink/renderer/core/frame/local_frame_client.h
              Line 277, Patchset 18 (Latest): virtual bool GlobalPrivacyControlValue() = 0;
              Ari Chivukula . unresolved

              is this being used right now? You might be able to discard it until the future CL where we cache it per-frame.

              File third_party/blink/renderer/modules/global_privacy_control/navigator_global_privacy_control.cc
              Line 17, Patchset 18 (Latest): // TODO: Currently, the GPC signal is controlled by a feature flag,
              Ari Chivukula . unresolved

              nit: "TODO(crbug.com/40745270):"

              File third_party/blink/renderer/modules/service_worker/web_service_worker_fetch_context_impl.cc
              Line 158, Patchset 18 (Latest): base::UmaHistogramEnumeration("Network.GlobalPrivacyControlSource",
              Ari Chivukula . unresolved

              see third_party/blink/renderer/platform/loader/fetch/url_loader/dedicated_or_shared_worker_global_scope_context_impl.cc

              File third_party/blink/renderer/platform/loader/fetch/url_loader/dedicated_or_shared_worker_global_scope_context_impl.cc
              Line 386, Patchset 18 (Latest): base::UmaHistogramEnumeration("Network.GlobalPrivacyControlSource",
              Ari Chivukula . unresolved

              nit: might be worth making this a constant in third_party/blink/public/common/global_privacy_control/global_privacy_control_util.h or even a function in that file that this spot just calls with the correct GPCSignalSourceType

              File tools/metrics/histograms/metadata/network/histograms.xml
              Line 2161, Patchset 18 (Latest): header set, categorized by the type of the request.
              Ari Chivukula . unresolved

              please explicitly state when the metric is triggered, e.g. "Recorded during request initialization time"

              Open in Gerrit

              Related details

              Attention is currently required from:
              • Maciej Czarnecki
              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: I03819d38688e357b119349e812a2a2f73505488e
                Gerrit-Change-Number: 7319383
                Gerrit-PatchSet: 18
                Gerrit-Owner: Maciej Czarnecki <mccz...@gmail.com>
                Gerrit-Reviewer: Ari Chivukula <ari...@chromium.org>
                Gerrit-CC: Chromium IPC Reviews <chrome-ip...@google.com>
                Gerrit-CC: Chromium Metrics Reviews <chromium-met...@google.com>
                Gerrit-CC: Chromium Sync Reviews <chromium-s...@google.com>
                Gerrit-CC: Daniel Bratell <brat...@gmail.com>
                Gerrit-CC: Hiroki Nakagawa <nhi...@chromium.org>
                Gerrit-CC: Nate Chapin <jap...@chromium.org>
                Gerrit-CC: Raphael Kubo da Costa <ku...@igalia.com>
                Gerrit-CC: gwsq
                Gerrit-Attention: Maciej Czarnecki <mccz...@gmail.com>
                Gerrit-Comment-Date: Mon, 06 Apr 2026 15:48:59 +0000
                Gerrit-HasComments: Yes
                Gerrit-Has-Labels: No
                satisfied_requirement
                unsatisfied_requirement
                open
                diffy

                Maciej Czarnecki (Gerrit)

                unread,
                Apr 13, 2026, 3:05:35 PMApr 13
                to Ari Chivukula, chromiu...@luci-project-accounts.iam.gserviceaccount.com, android-bu...@system.gserviceaccount.com, Daniel Bratell, Chromium Sync Reviews, Chromium IPC Reviews, Chromium Metrics Reviews, chromium...@chromium.org, Nate Chapin, Raphael Kubo da Costa, Hiroki Nakagawa, asvitki...@chromium.org, alexmo...@chromium.org, asvitkine...@chromium.org, blink-re...@chromium.org, blink-revie...@chromium.org, blink-revi...@chromium.org, blink-...@chromium.org, creis...@chromium.org, gavinp...@chromium.org, horo+...@chromium.org, ipc-securi...@chromium.org, jmedle...@chromium.org, kinuko+ser...@chromium.org, kinuko...@chromium.org, loading-re...@chromium.org, loading...@chromium.org, navigation...@chromium.org, servicewor...@chromium.org, shimazu+se...@chromium.org
                Attention needed from Ari Chivukula

                Maciej Czarnecki added 9 comments

                Patchset-level comments
                File-level comment, Patchset 19 (Latest):
                Maciej Czarnecki . resolved

                @ari...@chromium.org could you trigger the tests?

                File chrome/browser/chrome_global_privacy_control_browsertest.cc
                Line 225, Patchset 18:IN_PROC_BROWSER_TEST_P(ChromeGlobalPrivacyControlTest,
                Ari Chivukula . resolved

                up to you, but you could merge the histogram and counter tests below with the other tests above. It's okay to check results and counters in the same test, but this is also fine

                Maciej Czarnecki

                Done

                File content/browser/loader/browser_initiated_resource_request.cc
                Line 44, Patchset 18: base::UmaHistogramEnumeration(
                Ari Chivukula . resolved

                see third_party/blink/renderer/platform/loader/fetch/url_loader/dedicated_or_shared_worker_global_scope_context_impl.cc

                Maciej Czarnecki

                Done

                File content/renderer/render_frame_impl.cc
                Line 4483, Patchset 18: base::UmaHistogramEnumeration("Network.GlobalPrivacyControlSource",
                Ari Chivukula . resolved

                see third_party/blink/renderer/platform/loader/fetch/url_loader/dedicated_or_shared_worker_global_scope_context_impl.cc

                Maciej Czarnecki

                Done

                File third_party/blink/renderer/core/frame/local_frame_client.h
                Line 277, Patchset 18: virtual bool GlobalPrivacyControlValue() = 0;
                Ari Chivukula . resolved

                is this being used right now? You might be able to discard it until the future CL where we cache it per-frame.

                Maciej Czarnecki

                Done

                File third_party/blink/renderer/modules/global_privacy_control/navigator_global_privacy_control.cc
                Line 17, Patchset 18: // TODO: Currently, the GPC signal is controlled by a feature flag,
                Ari Chivukula . resolved

                nit: "TODO(crbug.com/40745270):"

                Maciej Czarnecki

                Done

                File third_party/blink/renderer/modules/service_worker/web_service_worker_fetch_context_impl.cc
                Line 158, Patchset 18: base::UmaHistogramEnumeration("Network.GlobalPrivacyControlSource",
                Ari Chivukula . resolved

                see third_party/blink/renderer/platform/loader/fetch/url_loader/dedicated_or_shared_worker_global_scope_context_impl.cc

                Maciej Czarnecki

                Done

                File third_party/blink/renderer/platform/loader/fetch/url_loader/dedicated_or_shared_worker_global_scope_context_impl.cc
                Line 386, Patchset 18: base::UmaHistogramEnumeration("Network.GlobalPrivacyControlSource",
                Ari Chivukula . resolved

                nit: might be worth making this a constant in third_party/blink/public/common/global_privacy_control/global_privacy_control_util.h or even a function in that file that this spot just calls with the correct GPCSignalSourceType

                Maciej Czarnecki

                I've picked the option with the constant.

                File tools/metrics/histograms/metadata/network/histograms.xml
                Line 2161, Patchset 18: header set, categorized by the type of the request.
                Ari Chivukula . resolved

                please explicitly state when the metric is triggered, e.g. "Recorded during request initialization time"

                Maciej Czarnecki

                Done

                Open in Gerrit

                Related details

                Attention is currently required from:
                • Ari Chivukula
                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: I03819d38688e357b119349e812a2a2f73505488e
                  Gerrit-Change-Number: 7319383
                  Gerrit-PatchSet: 19
                  Gerrit-Owner: Maciej Czarnecki <mccz...@gmail.com>
                  Gerrit-Reviewer: Ari Chivukula <ari...@chromium.org>
                  Gerrit-CC: Chromium IPC Reviews <chrome-ip...@google.com>
                  Gerrit-CC: Chromium Metrics Reviews <chromium-met...@google.com>
                  Gerrit-CC: Chromium Sync Reviews <chromium-s...@google.com>
                  Gerrit-CC: Daniel Bratell <brat...@gmail.com>
                  Gerrit-CC: Hiroki Nakagawa <nhi...@chromium.org>
                  Gerrit-CC: Nate Chapin <jap...@chromium.org>
                  Gerrit-CC: Raphael Kubo da Costa <ku...@igalia.com>
                  Gerrit-CC: gwsq
                  Gerrit-Attention: Ari Chivukula <ari...@chromium.org>
                  Gerrit-Comment-Date: Mon, 13 Apr 2026 19:05:15 +0000
                  Gerrit-HasComments: Yes
                  Gerrit-Has-Labels: No
                  Comment-In-Reply-To: Ari Chivukula <ari...@chromium.org>
                  satisfied_requirement
                  unsatisfied_requirement
                  open
                  diffy

                  Ari Chivukula (Gerrit)

                  unread,
                  Apr 13, 2026, 5:42:15 PMApr 13
                  to Maciej Czarnecki, Daniel Cheng, Nidhi Jaju, Erik Chen, chromiu...@luci-project-accounts.iam.gserviceaccount.com, android-bu...@system.gserviceaccount.com, Daniel Bratell, Chromium Sync Reviews, Chromium IPC Reviews, Chromium Metrics Reviews, chromium...@chromium.org, Nate Chapin, Raphael Kubo da Costa, Hiroki Nakagawa, asvitki...@chromium.org, alexmo...@chromium.org, asvitkine...@chromium.org, blink-re...@chromium.org, blink-revie...@chromium.org, blink-revi...@chromium.org, blink-...@chromium.org, creis...@chromium.org, gavinp...@chromium.org, horo+...@chromium.org, ipc-securi...@chromium.org, jmedle...@chromium.org, kinuko+ser...@chromium.org, kinuko...@chromium.org, loading-re...@chromium.org, loading...@chromium.org, navigation...@chromium.org, servicewor...@chromium.org, shimazu+se...@chromium.org
                  Attention needed from Daniel Cheng, Erik Chen, Maciej Czarnecki, Nidhi Jaju and mmenke

                  Ari Chivukula added 1 comment

                  File third_party/blink/renderer/modules/service_worker/web_service_worker_fetch_context_impl.cc
                  Line 156, Patchset 19 (Latest): request.SetHttpHeaderField(WebString::FromUTF8(kGlobalPrivacyControlHeader),
                  Ari Chivukula . unresolved

                  I see the one above got code-moded to FromUtf8 (lowercase tf) can you check other spots too?

                  Open in Gerrit

                  Related details

                  Attention is currently required from:
                  • Daniel Cheng
                  • Erik Chen
                  • Maciej Czarnecki
                  • Nidhi Jaju
                  • mmenke
                  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: I03819d38688e357b119349e812a2a2f73505488e
                    Gerrit-Change-Number: 7319383
                    Gerrit-PatchSet: 19
                    Gerrit-Owner: Maciej Czarnecki <mccz...@gmail.com>
                    Gerrit-Reviewer: Ari Chivukula <ari...@chromium.org>
                    Gerrit-Reviewer: Daniel Cheng <dch...@chromium.org>
                    Gerrit-Reviewer: Erik Chen <erik...@chromium.org>
                    Gerrit-Reviewer: Nidhi Jaju <nidh...@chromium.org>
                    Gerrit-Reviewer: mmenke <mme...@chromium.org>
                    Gerrit-CC: Chromium IPC Reviews <chrome-ip...@google.com>
                    Gerrit-CC: Chromium Metrics Reviews <chromium-met...@google.com>
                    Gerrit-CC: Chromium Sync Reviews <chromium-s...@google.com>
                    Gerrit-CC: Daniel Bratell <brat...@gmail.com>
                    Gerrit-CC: Hiroki Nakagawa <nhi...@chromium.org>
                    Gerrit-CC: Nate Chapin <jap...@chromium.org>
                    Gerrit-CC: Raphael Kubo da Costa <ku...@igalia.com>
                    Gerrit-CC: gwsq
                    Gerrit-Attention: mmenke <mme...@chromium.org>
                    Gerrit-Attention: Erik Chen <erik...@chromium.org>
                    Gerrit-Attention: Nidhi Jaju <nidh...@chromium.org>
                    Gerrit-Attention: Maciej Czarnecki <mccz...@gmail.com>
                    Gerrit-Attention: Daniel Cheng <dch...@chromium.org>
                    Gerrit-Comment-Date: Mon, 13 Apr 2026 21:42:07 +0000
                    Gerrit-HasComments: Yes
                    Gerrit-Has-Labels: No
                    satisfied_requirement
                    unsatisfied_requirement
                    open
                    diffy

                    Ari Chivukula (Gerrit)

                    unread,
                    Apr 13, 2026, 5:43:08 PMApr 13
                    to Maciej Czarnecki, Kentaro Hara, Nidhi Jaju, chromiu...@luci-project-accounts.iam.gserviceaccount.com, android-bu...@system.gserviceaccount.com, Daniel Bratell, Chromium Sync Reviews, Chromium IPC Reviews, Chromium Metrics Reviews, chromium...@chromium.org, Nate Chapin, Raphael Kubo da Costa, Hiroki Nakagawa, asvitki...@chromium.org, alexmo...@chromium.org, asvitkine...@chromium.org, blink-re...@chromium.org, blink-revie...@chromium.org, blink-revi...@chromium.org, blink-...@chromium.org, creis...@chromium.org, gavinp...@chromium.org, horo+...@chromium.org, ipc-securi...@chromium.org, jmedle...@chromium.org, kinuko+ser...@chromium.org, kinuko...@chromium.org, loading-re...@chromium.org, loading...@chromium.org, navigation...@chromium.org, servicewor...@chromium.org, shimazu+se...@chromium.org
                    Attention needed from Kentaro Hara, Maciej Czarnecki, Nidhi Jaju and mmenke

                    Ari Chivukula voted Code-Review+1

                    Code-Review+1
                    Open in Gerrit

                    Related details

                    Attention is currently required from:
                    • Kentaro Hara
                    • Maciej Czarnecki
                    • Nidhi Jaju
                    • mmenke
                    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: I03819d38688e357b119349e812a2a2f73505488e
                    Gerrit-Change-Number: 7319383
                    Gerrit-PatchSet: 19
                    Gerrit-Owner: Maciej Czarnecki <mccz...@gmail.com>
                    Gerrit-Reviewer: Ari Chivukula <ari...@chromium.org>
                    Gerrit-Reviewer: Kentaro Hara <har...@chromium.org>
                    Gerrit-Reviewer: Nidhi Jaju <nidh...@chromium.org>
                    Gerrit-Reviewer: mmenke <mme...@chromium.org>
                    Gerrit-CC: Chromium IPC Reviews <chrome-ip...@google.com>
                    Gerrit-CC: Chromium Metrics Reviews <chromium-met...@google.com>
                    Gerrit-CC: Chromium Sync Reviews <chromium-s...@google.com>
                    Gerrit-CC: Daniel Bratell <brat...@gmail.com>
                    Gerrit-CC: Hiroki Nakagawa <nhi...@chromium.org>
                    Gerrit-CC: Nate Chapin <jap...@chromium.org>
                    Gerrit-CC: Raphael Kubo da Costa <ku...@igalia.com>
                    Gerrit-CC: gwsq
                    Gerrit-Attention: mmenke <mme...@chromium.org>
                    Gerrit-Attention: Nidhi Jaju <nidh...@chromium.org>
                    Gerrit-Attention: Maciej Czarnecki <mccz...@gmail.com>
                    Gerrit-Attention: Kentaro Hara <har...@chromium.org>
                    Gerrit-Comment-Date: Mon, 13 Apr 2026 21:43:01 +0000
                    Gerrit-HasComments: No
                    Gerrit-Has-Labels: Yes
                    satisfied_requirement
                    unsatisfied_requirement
                    open
                    diffy

                    mmenke (Gerrit)

                    unread,
                    Apr 13, 2026, 5:44:54 PMApr 13
                    to Maciej Czarnecki, Erik Chen, Kentaro Hara, Ari Chivukula, Nidhi Jaju, chromiu...@luci-project-accounts.iam.gserviceaccount.com, android-bu...@system.gserviceaccount.com, Daniel Bratell, Chromium Sync Reviews, Chromium IPC Reviews, Chromium Metrics Reviews, chromium...@chromium.org, Nate Chapin, Raphael Kubo da Costa, Hiroki Nakagawa, asvitki...@chromium.org, alexmo...@chromium.org, asvitkine...@chromium.org, blink-re...@chromium.org, blink-revie...@chromium.org, blink-revi...@chromium.org, blink-...@chromium.org, creis...@chromium.org, gavinp...@chromium.org, horo+...@chromium.org, ipc-securi...@chromium.org, jmedle...@chromium.org, kinuko+ser...@chromium.org, kinuko...@chromium.org, loading-re...@chromium.org, loading...@chromium.org, navigation...@chromium.org, servicewor...@chromium.org, shimazu+se...@chromium.org
                    Attention needed from Erik Chen, Kentaro Hara, Maciej Czarnecki and Nidhi Jaju

                    mmenke added 1 comment

                    Patchset-level comments
                    mmenke . resolved

                    You just want me to sign off on content/browser/loader/browser_initiated_resource_request.cc? Or is there something more?

                    With a CL this large, particularly with a lot of files with * ownership, you should be clear on what you want folks to do.

                    Open in Gerrit

                    Related details

                    Attention is currently required from:
                    • Erik Chen
                    • Kentaro Hara
                    • Maciej Czarnecki
                    • Nidhi Jaju
                    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: I03819d38688e357b119349e812a2a2f73505488e
                    Gerrit-Change-Number: 7319383
                    Gerrit-PatchSet: 19
                    Gerrit-Owner: Maciej Czarnecki <mccz...@gmail.com>
                    Gerrit-Reviewer: Ari Chivukula <ari...@chromium.org>
                    Gerrit-Reviewer: Erik Chen <erik...@chromium.org>
                    Gerrit-Reviewer: Kentaro Hara <har...@chromium.org>
                    Gerrit-Reviewer: Nidhi Jaju <nidh...@chromium.org>
                    Gerrit-Reviewer: mmenke <mme...@chromium.org>
                    Gerrit-CC: Chromium IPC Reviews <chrome-ip...@google.com>
                    Gerrit-CC: Chromium Metrics Reviews <chromium-met...@google.com>
                    Gerrit-CC: Chromium Sync Reviews <chromium-s...@google.com>
                    Gerrit-CC: Daniel Bratell <brat...@gmail.com>
                    Gerrit-CC: Hiroki Nakagawa <nhi...@chromium.org>
                    Gerrit-CC: Nate Chapin <jap...@chromium.org>
                    Gerrit-CC: Raphael Kubo da Costa <ku...@igalia.com>
                    Gerrit-CC: gwsq
                    Gerrit-Attention: Erik Chen <erik...@chromium.org>
                    Gerrit-Attention: Nidhi Jaju <nidh...@chromium.org>
                    Gerrit-Attention: Maciej Czarnecki <mccz...@gmail.com>
                    Gerrit-Attention: Kentaro Hara <har...@chromium.org>
                    Gerrit-Comment-Date: Mon, 13 Apr 2026 21:44:41 +0000
                    Gerrit-HasComments: Yes
                    Gerrit-Has-Labels: No
                    satisfied_requirement
                    unsatisfied_requirement
                    open
                    diffy

                    Ari Chivukula (Gerrit)

                    unread,
                    Apr 13, 2026, 5:46:25 PMApr 13
                    to Maciej Czarnecki, Erik Chen, Kentaro Hara, Nidhi Jaju, chromiu...@luci-project-accounts.iam.gserviceaccount.com, android-bu...@system.gserviceaccount.com, Daniel Bratell, Chromium Sync Reviews, Chromium IPC Reviews, Chromium Metrics Reviews, chromium...@chromium.org, Nate Chapin, Raphael Kubo da Costa, Hiroki Nakagawa, asvitki...@chromium.org, alexmo...@chromium.org, asvitkine...@chromium.org, blink-re...@chromium.org, blink-revie...@chromium.org, blink-revi...@chromium.org, blink-...@chromium.org, creis...@chromium.org, gavinp...@chromium.org, horo+...@chromium.org, ipc-securi...@chromium.org, jmedle...@chromium.org, kinuko+ser...@chromium.org, kinuko...@chromium.org, loading-re...@chromium.org, loading...@chromium.org, navigation...@chromium.org, servicewor...@chromium.org, shimazu+se...@chromium.org
                    Attention needed from Erik Chen, Kentaro Hara, Maciej Czarnecki, Nidhi Jaju and mmenke

                    Ari Chivukula added 1 comment

                    Patchset-level comments
                    mmenke . resolved

                    You just want me to sign off on content/browser/loader/browser_initiated_resource_request.cc? Or is there something more?

                    With a CL this large, particularly with a lot of files with * ownership, you should be clear on what you want folks to do.

                    Ari Chivukula

                    Good point, I'm looking for holistic review from everyone to some degree as this is code from a non-committer. That said, mostly looking for owner-specific review as it does LGTM

                    Open in Gerrit

                    Related details

                    Attention is currently required from:
                    • Erik Chen
                    • Kentaro Hara
                    • Maciej Czarnecki
                    • Nidhi Jaju
                    • mmenke
                    Gerrit-Attention: mmenke <mme...@chromium.org>
                    Gerrit-Attention: Erik Chen <erik...@chromium.org>
                    Gerrit-Attention: Nidhi Jaju <nidh...@chromium.org>
                    Gerrit-Attention: Maciej Czarnecki <mccz...@gmail.com>
                    Gerrit-Attention: Kentaro Hara <har...@chromium.org>
                    Gerrit-Comment-Date: Mon, 13 Apr 2026 21:46:15 +0000
                    Gerrit-HasComments: Yes
                    Gerrit-Has-Labels: No
                    Comment-In-Reply-To: mmenke <mme...@chromium.org>
                    satisfied_requirement
                    unsatisfied_requirement
                    open
                    diffy

                    Erik Chen (Gerrit)

                    unread,
                    Apr 13, 2026, 6:57:39 PMApr 13
                    to Maciej Czarnecki, Kentaro Hara, Ari Chivukula, Nidhi Jaju, chromiu...@luci-project-accounts.iam.gserviceaccount.com, android-bu...@system.gserviceaccount.com, Daniel Bratell, Chromium Sync Reviews, Chromium IPC Reviews, Chromium Metrics Reviews, chromium...@chromium.org, Nate Chapin, Raphael Kubo da Costa, Hiroki Nakagawa, asvitki...@chromium.org, alexmo...@chromium.org, asvitkine...@chromium.org, blink-re...@chromium.org, blink-revie...@chromium.org, blink-revi...@chromium.org, blink-...@chromium.org, creis...@chromium.org, gavinp...@chromium.org, horo+...@chromium.org, ipc-securi...@chromium.org, jmedle...@chromium.org, kinuko+ser...@chromium.org, kinuko...@chromium.org, loading-re...@chromium.org, loading...@chromium.org, navigation...@chromium.org, servicewor...@chromium.org, shimazu+se...@chromium.org
                    Attention needed from Kentaro Hara, Maciej Czarnecki, Nidhi Jaju and mmenke

                    Erik Chen added 1 comment

                    Patchset-level comments
                    Erik Chen . unresolved

                    I was a bit surprised to see a bunch of tests added to //chrome given that there is no business logic in //chrome. Should the tests be elsewhere instead?

                    Open in Gerrit

                    Related details

                    Attention is currently required from:
                    Gerrit-Attention: Nidhi Jaju <nidh...@chromium.org>
                    Gerrit-Attention: Maciej Czarnecki <mccz...@gmail.com>
                    Gerrit-Attention: Kentaro Hara <har...@chromium.org>
                    Gerrit-Comment-Date: Mon, 13 Apr 2026 22:57:28 +0000
                    Gerrit-HasComments: Yes
                    Gerrit-Has-Labels: No
                    satisfied_requirement
                    unsatisfied_requirement
                    open
                    diffy

                    Ari Chivukula (Gerrit)

                    unread,
                    Apr 13, 2026, 9:34:01 PMApr 13
                    to Maciej Czarnecki, Erik Chen, Kentaro Hara, Nidhi Jaju, chromiu...@luci-project-accounts.iam.gserviceaccount.com, android-bu...@system.gserviceaccount.com, Daniel Bratell, Chromium Sync Reviews, Chromium IPC Reviews, Chromium Metrics Reviews, chromium...@chromium.org, Nate Chapin, Raphael Kubo da Costa, Hiroki Nakagawa, asvitki...@chromium.org, alexmo...@chromium.org, asvitkine...@chromium.org, blink-re...@chromium.org, blink-revie...@chromium.org, blink-revi...@chromium.org, blink-...@chromium.org, creis...@chromium.org, gavinp...@chromium.org, horo+...@chromium.org, ipc-securi...@chromium.org, jmedle...@chromium.org, kinuko+ser...@chromium.org, kinuko...@chromium.org, loading-re...@chromium.org, loading...@chromium.org, navigation...@chromium.org, servicewor...@chromium.org, shimazu+se...@chromium.org
                    Attention needed from Kentaro Hara, Maciej Czarnecki, Nidhi Jaju and mmenke

                    Ari Chivukula added 1 comment

                    Patchset-level comments
                    Erik Chen . unresolved

                    I was a bit surprised to see a bunch of tests added to //chrome given that there is no business logic in //chrome. Should the tests be elsewhere instead?

                    Ari Chivukula
                    Gerrit-Comment-Date: Tue, 14 Apr 2026 01:33:51 +0000
                    Gerrit-HasComments: Yes
                    Gerrit-Has-Labels: No
                    Comment-In-Reply-To: Erik Chen <erik...@chromium.org>
                    satisfied_requirement
                    unsatisfied_requirement
                    open
                    diffy

                    Nidhi Jaju (Gerrit)

                    unread,
                    Apr 14, 2026, 3:33:35 AMApr 14
                    to Maciej Czarnecki, Erik Chen, Kentaro Hara, Ari Chivukula, chromiu...@luci-project-accounts.iam.gserviceaccount.com, android-bu...@system.gserviceaccount.com, Daniel Bratell, Chromium Sync Reviews, Chromium IPC Reviews, Chromium Metrics Reviews, chromium...@chromium.org, Nate Chapin, Raphael Kubo da Costa, Hiroki Nakagawa, asvitki...@chromium.org, alexmo...@chromium.org, asvitkine...@chromium.org, blink-re...@chromium.org, blink-revie...@chromium.org, blink-revi...@chromium.org, blink-...@chromium.org, creis...@chromium.org, gavinp...@chromium.org, horo+...@chromium.org, ipc-securi...@chromium.org, jmedle...@chromium.org, kinuko+ser...@chromium.org, kinuko...@chromium.org, loading-re...@chromium.org, loading...@chromium.org, navigation...@chromium.org, servicewor...@chromium.org, shimazu+se...@chromium.org
                    Attention needed from Kentaro Hara, Maciej Czarnecki and mmenke

                    Nidhi Jaju added 3 comments

                    File third_party/blink/renderer/modules/global_privacy_control/navigator_global_privacy_control.cc
                    Line 16, Patchset 19 (Latest):bool globalPrivacyControl(NavigatorBase& navigator) {
                    Nidhi Jaju . unresolved

                    It doesn't look like this is used?

                    File tools/metrics/histograms/metadata/network/histograms.xml
                    Line 2155, Patchset 19 (Latest):<histogram name="Network.GlobalPrivacyControlSource" enum="GPCSignalSourceType"
                    Nidhi Jaju . unresolved

                    It looks like this histogram is recorded for every fetch request, which may cause performance issues since it's on the critical path. Can we consider subsampling the histogram or aggregating at a higher level i.e. once per page load or once per worker initialization? Also, maybe we should use histogram macros instead?

                    Line 2160, Patchset 19 (Latest): During request initialization, this metric records the source of each
                    Nidhi Jaju . unresolved

                    Could you be a bit more specific about when this metric is recorded (i.e. once per request being finalized, etc.?)

                    Open in Gerrit

                    Related details

                    Attention is currently required from:
                    • Kentaro Hara
                    • Maciej Czarnecki
                    • mmenke
                    Gerrit-Attention: Maciej Czarnecki <mccz...@gmail.com>
                    Gerrit-Attention: Kentaro Hara <har...@chromium.org>
                    Gerrit-Comment-Date: Tue, 14 Apr 2026 07:32:59 +0000
                    Gerrit-HasComments: Yes
                    Gerrit-Has-Labels: No
                    satisfied_requirement
                    unsatisfied_requirement
                    open
                    diffy

                    mmenke (Gerrit)

                    unread,
                    Apr 14, 2026, 11:55:36 AMApr 14
                    to Maciej Czarnecki, Erik Chen, Kentaro Hara, Ari Chivukula, Nidhi Jaju, chromiu...@luci-project-accounts.iam.gserviceaccount.com, android-bu...@system.gserviceaccount.com, Daniel Bratell, Chromium Sync Reviews, Chromium IPC Reviews, Chromium Metrics Reviews, chromium...@chromium.org, Nate Chapin, Raphael Kubo da Costa, Hiroki Nakagawa, asvitki...@chromium.org, alexmo...@chromium.org, asvitkine...@chromium.org, blink-re...@chromium.org, blink-revie...@chromium.org, blink-revi...@chromium.org, blink-...@chromium.org, creis...@chromium.org, gavinp...@chromium.org, horo+...@chromium.org, ipc-securi...@chromium.org, jmedle...@chromium.org, kinuko+ser...@chromium.org, kinuko...@chromium.org, loading-re...@chromium.org, loading...@chromium.org, navigation...@chromium.org, servicewor...@chromium.org, shimazu+se...@chromium.org
                    Attention needed from Kentaro Hara and Maciej Czarnecki

                    mmenke added 3 comments

                    File content/browser/loader/browser_initiated_resource_request.cc
                    Line 42, Patchset 19 (Latest): }
                    headers->SetHeaderIfMissing(blink::kGlobalPrivacyControlHeader, "1");
                    mmenke . unresolved

                    I hate being the one to push back here, but what's the plan here? Just enable the feature for everyone globally, so the header is attached to every single request unconditionally?

                    Sending a 1 for all users seems to explicitly violate the spec. "A value of 1 means the user has indicated that they prefer their information not be shared with, or sold to, third parties." that seems to imply sending a "1" should be opt-in, not opt-out, for better or for worse. Admittedly, you could consider installing the browser itself an indication of a preference, but I'm skeptical we want to do that.

                    My understanding is that from past experiments with similar headers, sending them by default results in them universally being ignored, while making them opt-in tends to result in at least some sites respecting them.

                    File tools/metrics/histograms/metadata/network/histograms.xml
                    Line 2155, Patchset 19 (Latest):<histogram name="Network.GlobalPrivacyControlSource" enum="GPCSignalSourceType"
                    Nidhi Jaju . unresolved

                    It looks like this histogram is recorded for every fetch request, which may cause performance issues since it's on the critical path. Can we consider subsampling the histogram or aggregating at a higher level i.e. once per page load or once per worker initialization? Also, maybe we should use histogram macros instead?

                    mmenke

                    Do we even need this histogram? It's not clear to me what we intend to gain from it. If Ari has plans to use it, that's fine, but I'm just not seeing the purpose.

                    Line 2158, Patchset 19 (Latest): <owner>mccz...@gmail.com</owner>
                    mmenke . unresolved

                    Are you a Chrome committer yet? If not, you probably shouldn't be a histogram owner.

                    Note: Consider this comment non-authoritative.

                    Open in Gerrit

                    Related details

                    Attention is currently required from:
                    • Kentaro Hara
                    • Maciej Czarnecki
                    Gerrit-Attention: Maciej Czarnecki <mccz...@gmail.com>
                    Gerrit-Attention: Kentaro Hara <har...@chromium.org>
                    Gerrit-Comment-Date: Tue, 14 Apr 2026 15:55:27 +0000
                    Gerrit-HasComments: Yes
                    Gerrit-Has-Labels: No
                    Comment-In-Reply-To: Nidhi Jaju <nidh...@chromium.org>
                    satisfied_requirement
                    unsatisfied_requirement
                    open
                    diffy

                    Ari Chivukula (Gerrit)

                    unread,
                    Apr 14, 2026, 11:58:32 AMApr 14
                    to Maciej Czarnecki, Erik Chen, Kentaro Hara, Nidhi Jaju, chromiu...@luci-project-accounts.iam.gserviceaccount.com, android-bu...@system.gserviceaccount.com, Daniel Bratell, Chromium Sync Reviews, Chromium IPC Reviews, Chromium Metrics Reviews, chromium...@chromium.org, Nate Chapin, Raphael Kubo da Costa, Hiroki Nakagawa, asvitki...@chromium.org, alexmo...@chromium.org, asvitkine...@chromium.org, blink-re...@chromium.org, blink-revie...@chromium.org, blink-revi...@chromium.org, blink-...@chromium.org, creis...@chromium.org, gavinp...@chromium.org, horo+...@chromium.org, ipc-securi...@chromium.org, jmedle...@chromium.org, kinuko+ser...@chromium.org, kinuko...@chromium.org, loading-re...@chromium.org, loading...@chromium.org, navigation...@chromium.org, servicewor...@chromium.org, shimazu+se...@chromium.org
                    Attention needed from Kentaro Hara and Maciej Czarnecki

                    Ari Chivukula added 2 comments

                    File content/browser/loader/browser_initiated_resource_request.cc
                    Line 42, Patchset 19 (Latest): }
                    headers->SetHeaderIfMissing(blink::kGlobalPrivacyControlHeader, "1");
                    mmenke . unresolved

                    I hate being the one to push back here, but what's the plan here? Just enable the feature for everyone globally, so the header is attached to every single request unconditionally?

                    Sending a 1 for all users seems to explicitly violate the spec. "A value of 1 means the user has indicated that they prefer their information not be shared with, or sold to, third parties." that seems to imply sending a "1" should be opt-in, not opt-out, for better or for worse. Admittedly, you could consider installing the browser itself an indication of a preference, but I'm skeptical we want to do that.

                    My understanding is that from past experiments with similar headers, sending them by default results in them universally being ignored, while making them opt-in tends to result in at least some sites respecting them.

                    Ari Chivukula

                    I agree with all your critiques, but that's the approach taken in https://www.w3.org/TR/gpc/

                    The difference with this header (as argued in the spec) is the legislative/policy backing in some localities

                    File tools/metrics/histograms/metadata/network/histograms.xml
                    Line 2155, Patchset 19 (Latest):<histogram name="Network.GlobalPrivacyControlSource" enum="GPCSignalSourceType"
                    Nidhi Jaju . unresolved

                    It looks like this histogram is recorded for every fetch request, which may cause performance issues since it's on the critical path. Can we consider subsampling the histogram or aggregating at a higher level i.e. once per page load or once per worker initialization? Also, maybe we should use histogram macros instead?

                    mmenke

                    Do we even need this histogram? It's not clear to me what we intend to gain from it. If Ari has plans to use it, that's fine, but I'm just not seeing the purpose.

                    Ari Chivukula

                    I'd like to have something here to track moving forward

                    Gerrit-Comment-Date: Tue, 14 Apr 2026 15:58:24 +0000
                    Gerrit-HasComments: Yes
                    Gerrit-Has-Labels: No
                    Comment-In-Reply-To: mmenke <mme...@chromium.org>
                    Comment-In-Reply-To: Nidhi Jaju <nidh...@chromium.org>
                    satisfied_requirement
                    unsatisfied_requirement
                    open
                    diffy

                    mmenke (Gerrit)

                    unread,
                    Apr 14, 2026, 12:05:42 PMApr 14
                    to Maciej Czarnecki, Erik Chen, Kentaro Hara, Ari Chivukula, Nidhi Jaju, chromiu...@luci-project-accounts.iam.gserviceaccount.com, android-bu...@system.gserviceaccount.com, Daniel Bratell, Chromium Sync Reviews, Chromium IPC Reviews, Chromium Metrics Reviews, chromium...@chromium.org, Nate Chapin, Raphael Kubo da Costa, Hiroki Nakagawa, asvitki...@chromium.org, alexmo...@chromium.org, asvitkine...@chromium.org, blink-re...@chromium.org, blink-revie...@chromium.org, blink-revi...@chromium.org, blink-...@chromium.org, creis...@chromium.org, gavinp...@chromium.org, horo+...@chromium.org, ipc-securi...@chromium.org, jmedle...@chromium.org, kinuko+ser...@chromium.org, kinuko...@chromium.org, loading-re...@chromium.org, loading...@chromium.org, navigation...@chromium.org, servicewor...@chromium.org, shimazu+se...@chromium.org
                    Attention needed from Kentaro Hara and Maciej Czarnecki

                    mmenke voted and added 1 comment

                    Votes added by mmenke

                    Code-Review-1

                    1 comment

                    File content/browser/loader/browser_initiated_resource_request.cc
                    Line 42, Patchset 19 (Latest): }
                    headers->SetHeaderIfMissing(blink::kGlobalPrivacyControlHeader, "1");
                    mmenke . unresolved

                    I hate being the one to push back here, but what's the plan here? Just enable the feature for everyone globally, so the header is attached to every single request unconditionally?

                    Sending a 1 for all users seems to explicitly violate the spec. "A value of 1 means the user has indicated that they prefer their information not be shared with, or sold to, third parties." that seems to imply sending a "1" should be opt-in, not opt-out, for better or for worse. Admittedly, you could consider installing the browser itself an indication of a preference, but I'm skeptical we want to do that.

                    My understanding is that from past experiments with similar headers, sending them by default results in them universally being ignored, while making them opt-in tends to result in at least some sites respecting them.

                    Ari Chivukula

                    I agree with all your critiques, but that's the approach taken in https://www.w3.org/TR/gpc/

                    The difference with this header (as argued in the spec) is the legislative/policy backing in some localities

                    mmenke

                    ```
                    This document does not specify what information must be presented to a user
                    before activating GPC.
                    ```

                    That seems to be very different from what you just said - the document explicitly suggests no policies for when to set the header.

                    Also, IANAL, but:

                    ```
                    Different jurisdictions have different prerequisites before a platform can enable
                    a universal opt-out like GPC. Many US states say that a user agent may not send a
                    universal opt-out signal by "default," though at least one state has said that
                    selecting a privacy focused user agent is a sufficient indicator of user intent.
                    ```

                    That being the case, I'm not comfortable signing off on this CL without approval from legal.

                    Open in Gerrit

                    Related details

                    Attention is currently required from:
                    • Kentaro Hara
                    • Maciej Czarnecki
                    Submit Requirements:
                      • requirement satisfiedCode-Coverage
                      • requirement is not satisfiedCode-Owners
                      • requirement is blockingCode-Review
                      Gerrit-Comment-Date: Tue, 14 Apr 2026 16:05:30 +0000
                      Gerrit-HasComments: Yes
                      Gerrit-Has-Labels: Yes
                      Comment-In-Reply-To: mmenke <mme...@chromium.org>
                      Comment-In-Reply-To: Ari Chivukula <ari...@chromium.org>
                      satisfied_requirement
                      unsatisfied_requirement
                      blocking_requirement
                      open
                      diffy

                      Ari Chivukula (Gerrit)

                      unread,
                      Apr 14, 2026, 12:10:01 PMApr 14
                      to Maciej Czarnecki, Erik Chen, Kentaro Hara, Nidhi Jaju, chromiu...@luci-project-accounts.iam.gserviceaccount.com, android-bu...@system.gserviceaccount.com, Daniel Bratell, Chromium Sync Reviews, Chromium IPC Reviews, Chromium Metrics Reviews, chromium...@chromium.org, Nate Chapin, Raphael Kubo da Costa, Hiroki Nakagawa, asvitki...@chromium.org, alexmo...@chromium.org, asvitkine...@chromium.org, blink-re...@chromium.org, blink-revie...@chromium.org, blink-revi...@chromium.org, blink-...@chromium.org, creis...@chromium.org, gavinp...@chromium.org, horo+...@chromium.org, ipc-securi...@chromium.org, jmedle...@chromium.org, kinuko+ser...@chromium.org, kinuko...@chromium.org, loading-re...@chromium.org, loading...@chromium.org, navigation...@chromium.org, servicewor...@chromium.org, shimazu+se...@chromium.org
                      Attention needed from Kentaro Hara and Maciej Czarnecki

                      Ari Chivukula voted and added 1 comment

                      Votes added by Ari Chivukula

                      Code-Review-1

                      1 comment

                      Patchset-level comments
                      Ari Chivukula . resolved

                      Sorry about this, will have to block for now. I hope to get back shortly

                      Gerrit-Comment-Date: Tue, 14 Apr 2026 16:09:54 +0000
                      Gerrit-HasComments: Yes
                      Gerrit-Has-Labels: Yes
                      satisfied_requirement
                      unsatisfied_requirement
                      blocking_requirement
                      open
                      diffy

                      Maciej Czarnecki (Gerrit)

                      unread,
                      Apr 14, 2026, 3:01:06 PMApr 14
                      to Erik Chen, Kentaro Hara, Ari Chivukula, Nidhi Jaju, chromiu...@luci-project-accounts.iam.gserviceaccount.com, android-bu...@system.gserviceaccount.com, Daniel Bratell, Chromium Sync Reviews, Chromium IPC Reviews, Chromium Metrics Reviews, chromium...@chromium.org, Nate Chapin, Raphael Kubo da Costa, Hiroki Nakagawa, asvitki...@chromium.org, alexmo...@chromium.org, asvitkine...@chromium.org, blink-re...@chromium.org, blink-revie...@chromium.org, blink-revi...@chromium.org, blink-...@chromium.org, creis...@chromium.org, gavinp...@chromium.org, horo+...@chromium.org, ipc-securi...@chromium.org, jmedle...@chromium.org, kinuko+ser...@chromium.org, kinuko...@chromium.org, loading-re...@chromium.org, loading...@chromium.org, navigation...@chromium.org, servicewor...@chromium.org, shimazu+se...@chromium.org
                      Attention needed from Ari Chivukula and mmenke

                      Maciej Czarnecki added 2 comments

                      File content/browser/loader/browser_initiated_resource_request.cc
                      Line 42, Patchset 19 (Latest): }
                      headers->SetHeaderIfMissing(blink::kGlobalPrivacyControlHeader, "1");
                      mmenke . unresolved

                      I hate being the one to push back here, but what's the plan here? Just enable the feature for everyone globally, so the header is attached to every single request unconditionally?

                      Sending a 1 for all users seems to explicitly violate the spec. "A value of 1 means the user has indicated that they prefer their information not be shared with, or sold to, third parties." that seems to imply sending a "1" should be opt-in, not opt-out, for better or for worse. Admittedly, you could consider installing the browser itself an indication of a preference, but I'm skeptical we want to do that.

                      My understanding is that from past experiments with similar headers, sending them by default results in them universally being ignored, while making them opt-in tends to result in at least some sites respecting them.

                      Ari Chivukula

                      I agree with all your critiques, but that's the approach taken in https://www.w3.org/TR/gpc/

                      The difference with this header (as argued in the spec) is the legislative/policy backing in some localities

                      mmenke

                      ```
                      This document does not specify what information must be presented to a user
                      before activating GPC.
                      ```

                      That seems to be very different from what you just said - the document explicitly suggests no policies for when to set the header.

                      Also, IANAL, but:

                      ```
                      Different jurisdictions have different prerequisites before a platform can enable
                      a universal opt-out like GPC. Many US states say that a user agent may not send a
                      universal opt-out signal by "default," though at least one state has said that
                      selecting a privacy focused user agent is a sufficient indicator of user intent.
                      ```

                      That being the case, I'm not comfortable signing off on this CL without approval from legal.

                      Maciej Czarnecki

                      This CL currently enables GPC as a feature without a defining if it will be enabled by default. I was planning to make it controllable via settings, similar to DNT header. I agree that a legal opinion would be helpful given the varying regional requirements. A few points for consideration:

                      • Brave (and other privacy-focused browsers) already enables this by default
                      • Chromium needs to be compliant with CCPA by 2027.
                      • Digital Omnibus Act mentions an automatic signal for personal data choices, having GPC already implemented in chromium can lead to reusing it instead of requiring implementation of a new standard.
                      • Could you reach out to legal for their perspective and loop back once you have an update?
                      File tools/metrics/histograms/metadata/network/histograms.xml
                      mmenke . unresolved

                      Are you a Chrome committer yet? If not, you probably shouldn't be a histogram owner.

                      Note: Consider this comment non-authoritative.

                      Maciej Czarnecki

                      @ari...@chromium.org Can I make you the sole owner here, or would you like to propose someone extra here?

                      (Maybe one day I will become a committer, but first I need to learn more code in areas beyond my current expertise. I see that I've picked a hard one for the first bigger CL. Personally, I would like to work with different components to those I use in my job.)

                      Open in Gerrit

                      Related details

                      Attention is currently required from:
                      • Ari Chivukula
                      • mmenke
                      Gerrit-Attention: mmenke <mme...@chromium.org>
                      Gerrit-Attention: Ari Chivukula <ari...@chromium.org>
                      Gerrit-Comment-Date: Tue, 14 Apr 2026 19:00:45 +0000
                      Gerrit-HasComments: Yes
                      Gerrit-Has-Labels: No
                      satisfied_requirement
                      unsatisfied_requirement
                      blocking_requirement
                      open
                      diffy

                      Ari Chivukula (Gerrit)

                      unread,
                      Apr 14, 2026, 3:03:03 PMApr 14
                      to Maciej Czarnecki, Erik Chen, Kentaro Hara, Nidhi Jaju, chromiu...@luci-project-accounts.iam.gserviceaccount.com, android-bu...@system.gserviceaccount.com, Daniel Bratell, Chromium Sync Reviews, Chromium IPC Reviews, Chromium Metrics Reviews, chromium...@chromium.org, Nate Chapin, Raphael Kubo da Costa, Hiroki Nakagawa, asvitki...@chromium.org, alexmo...@chromium.org, asvitkine...@chromium.org, blink-re...@chromium.org, blink-revie...@chromium.org, blink-revi...@chromium.org, blink-...@chromium.org, creis...@chromium.org, gavinp...@chromium.org, horo+...@chromium.org, ipc-securi...@chromium.org, jmedle...@chromium.org, kinuko+ser...@chromium.org, kinuko...@chromium.org, loading-re...@chromium.org, loading...@chromium.org, navigation...@chromium.org, servicewor...@chromium.org, shimazu+se...@chromium.org
                      Attention needed from Maciej Czarnecki and mmenke

                      Ari Chivukula added 2 comments

                      File content/browser/loader/browser_initiated_resource_request.cc
                      Ari Chivukula

                      We will reach out once we know more. Until then you're welcome to take more feedback or let this sit, it's up to you

                      File tools/metrics/histograms/metadata/network/histograms.xml
                      mmenke . unresolved

                      Are you a Chrome committer yet? If not, you probably shouldn't be a histogram owner.

                      Note: Consider this comment non-authoritative.

                      Maciej Czarnecki

                      @ari...@chromium.org Can I make you the sole owner here, or would you like to propose someone extra here?

                      (Maybe one day I will become a committer, but first I need to learn more code in areas beyond my current expertise. I see that I've picked a hard one for the first bigger CL. Personally, I would like to work with different components to those I use in my job.)

                      Ari Chivukula

                      I can be the sole owner, in the future after more contributions you could be put up as a committer

                      Open in Gerrit

                      Related details

                      Attention is currently required from:
                      • Maciej Czarnecki
                      • mmenke
                      Gerrit-Attention: Maciej Czarnecki <mccz...@gmail.com>
                      Gerrit-Comment-Date: Tue, 14 Apr 2026 19:02:58 +0000
                      Gerrit-HasComments: Yes
                      Gerrit-Has-Labels: No
                      Comment-In-Reply-To: mmenke <mme...@chromium.org>
                      Comment-In-Reply-To: Ari Chivukula <ari...@chromium.org>
                      Comment-In-Reply-To: Maciej Czarnecki <mccz...@gmail.com>
                      satisfied_requirement
                      unsatisfied_requirement
                      blocking_requirement
                      open
                      diffy

                      Ari Chivukula (Gerrit)

                      unread,
                      May 13, 2026, 12:05:58 PM (6 days ago) May 13
                      to Maciej Czarnecki, Erik Chen, Kentaro Hara, Nidhi Jaju, Chromium LUCI CQ, android-bu...@system.gserviceaccount.com, Daniel Bratell, Chromium Sync Reviews, Chromium IPC Reviews, Chromium Metrics Reviews, chromium...@chromium.org, Nate Chapin, Raphael Kubo da Costa, Hiroki Nakagawa, asvitki...@chromium.org, alexmo...@chromium.org, asvitkine...@chromium.org, blink-re...@chromium.org, blink-revie...@chromium.org, blink-revi...@chromium.org, blink-...@chromium.org, creis...@chromium.org, gavinp...@chromium.org, horo+...@chromium.org, ipc-securi...@chromium.org, jmedle...@chromium.org, kinuko+ser...@chromium.org, kinuko...@chromium.org, loading-re...@chromium.org, loading...@chromium.org, navigation...@chromium.org, servicewor...@chromium.org, shimazu+se...@chromium.org
                      Attention needed from Maciej Czarnecki and mmenke

                      Ari Chivukula voted and added 2 comments

                      Votes added by Ari Chivukula

                      Code-Review+0

                      2 comments

                      Patchset-level comments
                      Ari Chivukula . unresolved

                      Looks like GPC's back on the menu, contributors!

                      This can move forward with the current scope, and supporting existing WPTs after might be possible too (https://source.chromium.org/chromium/chromium/src/+/main:third_party/blink/web_tests/external/wpt/gpc/), though that would require some tooling to support per-page settings (still without UX).

                      File content/browser/loader/browser_initiated_resource_request.cc
                      Line 42, Patchset 19 (Latest): }
                      headers->SetHeaderIfMissing(blink::kGlobalPrivacyControlHeader, "1");
                      mmenke . resolved

                      I hate being the one to push back here, but what's the plan here? Just enable the feature for everyone globally, so the header is attached to every single request unconditionally?

                      Sending a 1 for all users seems to explicitly violate the spec. "A value of 1 means the user has indicated that they prefer their information not be shared with, or sold to, third parties." that seems to imply sending a "1" should be opt-in, not opt-out, for better or for worse. Admittedly, you could consider installing the browser itself an indication of a preference, but I'm skeptical we want to do that.

                      My understanding is that from past experiments with similar headers, sending them by default results in them universally being ignored, while making them opt-in tends to result in at least some sites respecting them.

                      Ari Chivukula

                      I agree with all your critiques, but that's the approach taken in https://www.w3.org/TR/gpc/

                      The difference with this header (as argued in the spec) is the legislative/policy backing in some localities

                      mmenke

                      ```
                      This document does not specify what information must be presented to a user
                      before activating GPC.
                      ```

                      That seems to be very different from what you just said - the document explicitly suggests no policies for when to set the header.

                      Also, IANAL, but:

                      ```
                      Different jurisdictions have different prerequisites before a platform can enable
                      a universal opt-out like GPC. Many US states say that a user agent may not send a
                      universal opt-out signal by "default," though at least one state has said that
                      selecting a privacy focused user agent is a sufficient indicator of user intent.
                      ```

                      That being the case, I'm not comfortable signing off on this CL without approval from legal.

                      Maciej Czarnecki

                      This CL currently enables GPC as a feature without a defining if it will be enabled by default. I was planning to make it controllable via settings, similar to DNT header. I agree that a legal opinion would be helpful given the varying regional requirements. A few points for consideration:

                      • Brave (and other privacy-focused browsers) already enables this by default
                      • Chromium needs to be compliant with CCPA by 2027.
                      • Digital Omnibus Act mentions an automatic signal for personal data choices, having GPC already implemented in chromium can lead to reusing it instead of requiring implementation of a new standard.
                      • Could you reach out to legal for their perspective and loop back once you have an update?
                      Ari Chivukula

                      We will reach out once we know more. Until then you're welcome to take more feedback or let this sit, it's up to you

                      Ari Chivukula

                      Done

                      Gerrit-CC: Chromium Metrics Reviews <chromium-met...@google.com>
                      Gerrit-CC: Chromium Sync Reviews <chromium-s...@google.com>
                      Gerrit-CC: Daniel Bratell <brat...@gmail.com>
                      Gerrit-CC: Hiroki Nakagawa <nhi...@chromium.org>
                      Gerrit-CC: Nate Chapin <jap...@chromium.org>
                      Gerrit-CC: Raphael Kubo da Costa <ku...@igalia.com>
                      Gerrit-CC: gwsq
                      Gerrit-Attention: mmenke <mme...@chromium.org>
                      Gerrit-Attention: Maciej Czarnecki <mccz...@gmail.com>
                      Gerrit-Comment-Date: Wed, 13 May 2026 16:05:49 +0000
                      Gerrit-HasComments: Yes
                      Gerrit-Has-Labels: Yes
                      satisfied_requirement
                      unsatisfied_requirement
                      blocking_requirement
                      open
                      diffy

                      mmenke (Gerrit)

                      unread,
                      May 13, 2026, 3:56:44 PM (6 days ago) May 13
                      to Maciej Czarnecki, Erik Chen, Kentaro Hara, Ari Chivukula, Nidhi Jaju, Chromium LUCI CQ, android-bu...@system.gserviceaccount.com, Daniel Bratell, Chromium Sync Reviews, Chromium IPC Reviews, Chromium Metrics Reviews, chromium...@chromium.org, Nate Chapin, Raphael Kubo da Costa, Hiroki Nakagawa, asvitki...@chromium.org, alexmo...@chromium.org, asvitkine...@chromium.org, blink-re...@chromium.org, blink-revie...@chromium.org, blink-revi...@chromium.org, blink-...@chromium.org, creis...@chromium.org, gavinp...@chromium.org, horo+...@chromium.org, ipc-securi...@chromium.org, jmedle...@chromium.org, kinuko+ser...@chromium.org, kinuko...@chromium.org, loading-re...@chromium.org, loading...@chromium.org, navigation...@chromium.org, servicewor...@chromium.org, shimazu+se...@chromium.org
                      Attention needed from Maciej Czarnecki

                      mmenke voted Code-Review+0

                      Code-Review+0
                      Open in Gerrit

                      Related details

                      Attention is currently required from:
                      • Maciej Czarnecki
                      Submit Requirements:
                        • requirement satisfiedCode-Coverage
                        • requirement is not satisfiedCode-Owners
                        • requirement is not satisfiedCode-Review
                        Gerrit-Attention: Maciej Czarnecki <mccz...@gmail.com>
                        Gerrit-Comment-Date: Wed, 13 May 2026 19:56:40 +0000
                        Gerrit-HasComments: No
                        Gerrit-Has-Labels: Yes
                        satisfied_requirement
                        unsatisfied_requirement
                        open
                        diffy
                        Reply all
                        Reply to author
                        Forward
                        0 new messages