No milestones specified
--
You received this message because you are subscribed to the Google Groups "blink-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to blink-dev+...@chromium.org.
To view this discussion visit https://groups.google.com/a/chromium.org/d/msgid/blink-dev/2b54581d-fae3-4909-b2d8-55411fbe7dben%40chromium.org.
I think prototyping a GPC implementation in the Blink and //content layers of Chromium is quite reasonable. A number of embedders implement the feature, and shifting those to a common implementation would likely be best for the project at large. Have you talked to any other Chromium based browsers about their implementations? It would be ideal to ensure that the implementation we land on is compatible to the extent reasonable with existing implementations (e.g. global flag vs content setting if any embedders have chosen to allow users to make more granular decisions about the scope of the signal).
Hello,
Thank you for your input! I’ve checked implementations in 2 Chromium-based browsers - Brave and Cromite (via this patch) and wanted to share some observations regarding the current prototype. Disclaimer: I don't know what chromium-based projects are the most important. I picked browsers, because I was able to quickly find the implementation on their side.
1. Preference Naming & Consistency There seems to be a divergence in how the setting is keyed:
Brave: brave.global_privacy_control_enabled
Cromite: enable_gpc
Current Prototype: enable_global_privacy_control
So if there is no one key that we can follow, I recommend sticking with the unfolded `enable_global_privacy_control`. This maintains consistency with existing `enable_do_not_track` and avoids ambiguity caused by the acronym.
2. Default State Considerations
Brave and Cromite ship with GPC enabled by default. While this aligns with their privacy-first positioning, I’m curious if there has been any internal discussion regarding the default state for Chromium. Given that a default-on status has a significant impact on the advertising ecosystem, I don't know how much the project is dependent on Google's decisions. On the other hand, having it enabled by default may align with privacysandbox.google.com
3. Blink Module Implementation Regarding the IDL and Blink module structure:
The prototype’s attribute name `globalPrivacyControl` align well with Brave and Cromite implementations, which should help with web compat.
However, I noticed a discrepancy in the ImplementedAs value: The current prototype uses `NavigatorGlobalPrivacyControl`, whereas Brave/Cromite use `GlobalPrivacyControl`. I will modify the prototype to match other implementations.
Link to the prototype:
https://chromium-review.googlesource.com/c/chromium/src/+/7319383
As it's my first time working on an "intent to prototype", I would be very grateful for any guidance on what I should focus on.