Closed Bug 1874741 Opened 4 months ago Closed 2 months ago

Collect telemetry on GDPR banner choice on google search

Categories

(Core :: Privacy: Anti-Tracking, enhancement, P1)

enhancement

Tracking

()

RESOLVED FIXED
126 Branch
Tracking Status
firefox126 --- fixed

People

(Reporter: RT, Assigned: timhuang)

References

Details

Attachments

(6 files, 1 obsolete file)

As a PM I want to understand the google.x user banner choice, so that I know if a user is more likely to want to decline or accept banners when a cookie banner does not have dark patterns.

Acceptance criteria:

  • Collect the google search GDPR banner user choice in telemetry as a string where that can have different values: 'reject' (Reject All), accept (Accept All), other (Other Options)

View of known scenarios and cookie values: https://www.figma.com/file/Vasgp0vmZpQyh0e1WvX8ba/Google-search-banner-handling?type=whiteboard&node-id=0-1&t=CUbGKtteKneAi6YY-0

I suspect this falls under privacy, please correct me if I'm wrong.

Component: Networking: Cookies → Privacy: Anti-Tracking

Hi, can you please help with this data review?

Attachment #9372981 - Flags: data-review?(chutten)

Given that different behaviors can be recorded on different google domains I assume that the right way to collect this is a key/value histogram where the key is the google domain and the value is any of 'reject' (Reject All), accept (Accept All), other (Other Options) for domains where users interacted with the banner

See Also: → 1849371

Also worth noting is that this is applicable to normal windows only.

We will need to investigate whether we can differentiate between accept and reject just by looking at cookies alone. We can look at the SOCS cookie which should contain this information. It's a protobuf that needs to be decoded.

Here are examples for SOCS cookies:

Reject: CAESHAgCEhJnd3NfMjAyNDAxMTAtMF9SQzEaAmRlIAEaBgiAjpetBg
Accept: CAISHAgCEhJnd3NfMjAyNDAxMTAtMF9SQzEaAmRlIAEaBgiAjpetBg

I've used https://protobuf-decoder.netlify.app/ to decode them. They contain different fields including a version string and a country code. The only difference between the two cookies is the first field that contains either a 1 (reject) or a 2 (accept).

On my end:
Accept: CAISHAgCEhJnd3NfMjAyNDAxMTAtMF9SQzEaAmZyIAEaBgiAjpetBg
Decline: CAESHAgCEhJnd3NfMjAyNDAxMTAtMF9SQzEaAmZyIAEaBgiAjpetBg
Customized option: CAISNQgCEitib3FfaWRlbnRpdHlmcm9udGVuZHVpc2VydmVyXzIwMjQwMTA5LjA1X3AwGgJmciADGgYIgI6XrQY

Through testing it seems that if I am signed into my Google account then no banner gets displayed and no SOCS cookie gets stored also - is that expected?

Comment on attachment 9372981 [details]
Request for data collection review form

DATA COLLECTION REVIEW RESPONSE:

Is there or will there be documentation that describes the schema for the ultimate data set available publicly, complete and accurate?

Yes.

Is there a control mechanism that allows the user to turn the data collection on and off?

Yes. This collection can be controlled through Firefox's Preferences.

If the request is for permanent data collection, is there someone who will monitor the data over time?

Yes, Romain Testard is responsible.

Using the category system of data types on the Mozilla wiki, what collection type of data do the requested measurements fall under?

Category 3, Stored Content and Communications for including the Google domain.

Is the data collection request for default-on or default-off?

Default on for all channels.

Does the instrumentation include the addition of any new identifiers?

No.

Is the data collection covered by the existing Firefox privacy notice?

Likely yes, but that is something the Sensitive Data Collection Review will confirm.

Does the data collection use a third-party collection tool?

No.


Result: datareview-, pending Sensitive Data Collection Review for default-on Cat3 data


Next steps: Please follow the sensitive data review process. If the result is approval, flip this data-review- to + and proceed.

Attachment #9372981 - Flags: data-review?(chutten) → data-review-
Comment on attachment 9372981 [details]
Request for data collection review form

># Request for data collection review form
>
>**All questions are mandatory. You must receive review from a data steward peer on your responses to these questions before shipping new data collection.**
>
>1) What questions will you answer with this data?
>Did a user interact with the Google search cookie banner?
>Which search domain was that on?
>What was the user engagement on the cookie banner?
>
>2) Why does Mozilla need to answer these questions?  Are there benefits for users? Do we need this information to address product or business requirements? Some example responses:
>We need to assess if a user cares to decline cookie banners on banners that have a balanced UI such as the Google cookie banner that has comparable accessibility on acceptance or decline.
>This signal will help us in the following scenarios:
>- sizing the addressable audience for automated cookie banner blocking (our hypothesis is that if a user declines the Google cookie banner, then itâs most likely heâll want to decline most banners)
>- creation of a signal that we can leverage to expose the cookie banner blocking feature
>- correlations with browser engagement data in order to determine if users who decline such banners have engagement biases on certain engagement metrics (I.e do banner decliners engage significantly more)
>
>3) What alternative methods did you consider to answer these questions? Why were they not sufficient?
>There are many UR researches on banner engagement but results vary widely and wonât apply to our Firefox audience reliably for our specific use case.
>
>4) Can current instrumentation answer these questions?
>No
>
>5) List all proposed measurements and indicate the category of data collection for each measurement, using the [Firefox data collection categories](https://wiki.mozilla.org/Data_Collection) found on the Mozilla wiki.   
><table>
>  <tr>
>    <td>Measurement Description</td>
>    <td>Data Collection Category</td>
>    <td>Tracking Bug #</td>
>  </tr>
>  <tr>
>    <td>Google search GDPR choice per google domain</td>
>    <td>Category 3</td>
>    <td>1874741</td>
>  </tr>
></table>
>
>6) Please provide a link to the documentation for this data collection which describes the ultimate data set in a public, complete, and accurate way.
>This collection is documented in its definitions files Histograms.json, Scalars.yaml, and/or Events.yaml and in the Probe Dictionary at https://probes.telemetry.mozilla.org.
>
>7) How long will this data be collected?  Choose one of the following:
>I want to permanently monitor this data. (Romain Testard)
>
>8) What populations will you measure?
>All countries/channels/locales
>
>9) If this data collection is default on, what is the opt-out mechanism for users?
>Telemetry opt-out
>
>10) Please provide a general description of how you will analyze this data.
>Redash dashboards
>
>11) Where do you intend to share the results of your analysis?
>Redash dashboards
>
>12) Is there a third-party tool (i.e. not Glean or Telemetry) that you are proposing to use for this data collection? If so:
>No

Updating to Cat3 per request

Attachment #9372981 - Attachment is obsolete: true
Attachment #9377953 - Flags: data-review?(mreid)

Comment on attachment 9377953 [details]
Updating to Cat3 per request

This collection is approved with the proviso that it should only be collected if Google is already set as the default search provider.

Attachment #9377953 - Flags: data-review?(mreid) → data-review+
Assignee: nobody → pbz
Severity: -- → N/A
Status: NEW → ASSIGNED
Priority: -- → P1

To be clear, I think the best approach is to use our site specific list to watch how users interact with each banner (which banner element is clicked) to get a sense of how users treat Google vs non-google banners.

This would be an EU experiment run for users in standard and PBM Windows.

The goal is to correct telemetry on the total clicks and click rate of how often users accept banners vs reject banners

Assignee: pbz → tihuang

This patch adds a protobuf implementation for parsing the SOCS cookies
from Google. Note that the protobuf definition for the SOCS cookie
isn't accurate, but it allows us to parse the cookie properly to get the
information we want.

Attachment #9392747 - Attachment description: Bug 1874741 - Part 2: Implement the telemetry to collect GDPR choice on Google Search. r?#anti-tracking! → Bug 1874741 - Part 3: Implement the telemetry to collect GDPR choice on Google Search. r?#anti-tracking!
Pushed by tihuang@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/6cb9166b4cd3
Part 1: Add a protobuf implementation for parsing Google's SOCS cookie. r=anti-tracking-reviewers,pbz
https://hg.mozilla.org/integration/autoland/rev/ca7422bd712f
Part 2: Expose getAlternateDomains to the nsISearchService. r=search-reviewers,mcheang
https://hg.mozilla.org/integration/autoland/rev/517a86043166
Part 3: Implement the telemetry to collect GDPR choice on Google Search. r=anti-tracking-reviewers,pbz
https://hg.mozilla.org/integration/autoland/rev/5f5dbfcfc95d
Part 4: Add a test for Google GDPR telemetry. r=pbz
https://hg.mozilla.org/integration/autoland/rev/3a37a1701348
Part 5: Implement the GDPR event telemetry for private browsing windows. r=pbz

Backed out for causing non unified build bustages on nsCookieBannerTelemetryService.cpp.
Later I saw that this has also caused assertion failures like this one.

[task 2024-03-28T21:21:52.632Z] 21:21:52     INFO -  gmake[4]: Entering directory '/builds/worker/workspace/obj-build/toolkit/components/cookiebanners'
[task 2024-03-28T21:21:52.636Z] 21:21:52     INFO -  /builds/worker/fetches/sccache/sccache /builds/worker/fetches/clang/bin/clang-cl -fms-compatibility-version=19.39 -Xclang -std=c++17 -Xclang -ivfsoverlay -Xclang /builds/worker/fetches/vs/overlay.yaml -FonsCookieBannerTelemetryService.obj -c  -I/builds/worker/workspace/obj-build/dist/stl_wrappers -guard:cf -DNDEBUG=1 -DTRIMMED=1 -DGOOGLE_PROTOBUF_NO_RTTI -DGOOGLE_PROTOBUF_NO_STATIC_INITIALIZER -DUNICODE -D_UNICODE -D_CRT_RAND_S -DCERT_CHAIN_PARA_HAS_EXTRA_FIELDS -D_SECURE_ATL -DCHROMIUM_BUILD -DU_STATIC_IMPLEMENTATION -DWIN32 -D_WIN32 -D_WINDOWS -DWIN32_LEAN_AND_MEAN -DWINAPI_NO_BUNDLED_LIBRARIES -DMOZ_HAS_MOZGLUE -DMOZILLA_INTERNAL_API -DIMPL_LIBXUL -DSTATIC_EXPORTABLE_JS_API -I/builds/worker/checkouts/gecko/toolkit/components/cookiebanners -I/builds/worker/workspace/obj-build/toolkit/components/cookiebanners -I/builds/worker/workspace/obj-build/ipc/ipdl/_ipdlheaders -I/builds/worker/checkouts/gecko/ipc/chromium/src -I/builds/worker/checkouts/gecko/netwerk/base -I/builds/worker/checkouts/gecko/netwerk/cookie -I/builds/worker/workspace/obj-build/dist/include -I/builds/worker/workspace/obj-build/dist/include/nspr -I/builds/worker/workspace/obj-build/dist/include/nss -MD -FI /builds/worker/workspace/obj-build/mozilla-config.h -DMOZILLA_CLIENT -fcrash-diagnostics-dir=/builds/worker/artifacts -TP -Zc:sizedDealloc- -D_HAS_EXCEPTIONS=0 -Gy -Zc:inline -Gw -D_SILENCE_TR1_NAMESPACE_DEPRECATION_WARNING -GR- -Z7 -Xclang -load -Xclang /builds/worker/workspace/obj-build/build/clang-plugin/libclang-plugin.so -Xclang -add-plugin -Xclang moz-check -O2 -Oy- -Werror -W3 -Wbitfield-enum-conversion -Wempty-body -Wformat-type-confusion -Wignored-qualifiers -Wpointer-arith -Wshadow-field-in-constructor-modified -Wsign-compare -Wtautological-constant-in-range-compare -Wtype-limits -Wno-error=tautological-type-limit-compare -Wunreachable-code -Wunreachable-code-return -Wunused-but-set-parameter -Wno-invalid-offsetof -Wclass-varargs -Wempty-init-stmt -Wfloat-overflow-conversion -Wfloat-zero-conversion -Wloop-analysis -Wno-range-loop-analysis -Wenum-compare-conditional -Wenum-float-conversion -Wvolatile -Wno-deprecated-anon-enum-enum-conversion -Wno-deprecated-enum-enum-conversion -Wno-deprecated-this-capture -Wcomma -Wimplicit-fallthrough -Wstring-conversion -Wno-inline-new-delete -Wno-error=deprecated-declarations -Wno-error=array-bounds -Wno-error=free-nonheap-object -Wno-error=atomic-alignment -Wno-error=deprecated-builtins -Wno-unknown-pragmas -Wno-ignored-pragmas -Wno-deprecated-declarations -Wno-microsoft-enum-value -Wno-microsoft-include -Wno-invalid-noreturn -Wno-inconsistent-missing-override -Wno-implicit-exception-spec-mismatch -Wno-microsoft-exception-spec -Wno-unused-local-typedef -Wno-ignored-attributes -Wno-used-but-marked-unused -Wno-psabi -Wthread-safety -Wno-error=builtin-macro-redefined -Wno-vla-cxx-extension -Wno-unknown-warning-option -fno-strict-aliasing -Xclang -ffp-contract=off  -Xclang -MP -Xclang -dependency-file -Xclang .deps/nsCookieBannerTelemetryService.obj.pp -Xclang -MT -Xclang nsCookieBannerTelemetryService.obj   /builds/worker/checkouts/gecko/toolkit/components/cookiebanners/nsCookieBannerTelemetryService.cpp
[task 2024-03-28T21:21:52.636Z] 21:21:52    ERROR -  /builds/worker/checkouts/gecko/toolkit/components/cookiebanners/nsCookieBannerTelemetryService.cpp(33,22): error: use of undeclared identifier 'nsTHashSet'
[task 2024-03-28T21:21:52.636Z] 21:21:52     INFO -     33 | static StaticAutoPtr<nsTHashSet<nsCString>> sGoogleDomainsSet;
[task 2024-03-28T21:21:52.637Z] 21:21:52     INFO -        |                      ^
[task 2024-03-28T21:21:52.637Z] 21:21:52    ERROR -  /builds/worker/checkouts/gecko/toolkit/components/cookiebanners/nsCookieBannerTelemetryService.cpp(94,5): error: use of undeclared identifier 'RunOnShutdown'
[task 2024-03-28T21:21:52.638Z] 21:21:52     INFO -     94 |     RunOnShutdown([] {
[task 2024-03-28T21:21:52.638Z] 21:21:52     INFO -        |     ^
[task 2024-03-28T21:21:52.638Z] 21:21:52    ERROR -  /builds/worker/checkouts/gecko/toolkit/components/cookiebanners/nsCookieBannerTelemetryService.cpp(115,12): error: use of undeclared identifier 'nsIObserverService'
[task 2024-03-28T21:21:52.638Z] 21:21:52     INFO -    115 |   nsCOMPtr<nsIObserverService> obsSvc = mozilla::services::GetObserverService();
[task 2024-03-28T21:21:52.638Z] 21:21:52     INFO -        |            ^
[task 2024-03-28T21:21:52.639Z] 21:21:52    ERROR -  /builds/worker/checkouts/gecko/toolkit/components/cookiebanners/nsCookieBannerTelemetryService.cpp(115,50): error: no member named 'services' in namespace 'mozilla'
[task 2024-03-28T21:21:52.639Z] 21:21:52     INFO -    115 |   nsCOMPtr<nsIObserverService> obsSvc = mozilla::services::GetObserverService();
[task 2024-03-28T21:21:52.639Z] 21:21:52     INFO -        |                                         ~~~~~~~~~^
[task 2024-03-28T21:21:52.640Z] 21:21:52    ERROR -  /builds/worker/checkouts/gecko/toolkit/components/cookiebanners/nsCookieBannerTelemetryService.cpp(141,12): error: use of undeclared identifier 'nsIObserverService'
[task 2024-03-28T21:21:52.640Z] 21:21:52     INFO -    141 |   nsCOMPtr<nsIObserverService> obsSvc = mozilla::services::GetObserverService();
[task 2024-03-28T21:21:52.640Z] 21:21:52     INFO -        |            ^
[task 2024-03-28T21:21:52.640Z] 21:21:52    ERROR -  /builds/worker/checkouts/gecko/toolkit/components/cookiebanners/nsCookieBannerTelemetryService.cpp(141,50): error: no member named 'services' in namespace 'mozilla'
[task 2024-03-28T21:21:52.641Z] 21:21:52     INFO -    141 |   nsCOMPtr<nsIObserverService> obsSvc = mozilla::services::GetObserverService();
[task 2024-03-28T21:21:52.641Z] 21:21:52     INFO -        |                                         ~~~~~~~~~^
[task 2024-03-28T21:21:52.642Z] 21:21:52    ERROR -  /builds/worker/checkouts/gecko/toolkit/components/cookiebanners/nsCookieBannerTelemetryService.cpp(160,7): error: use of undeclared identifier 'nsCRT'
[task 2024-03-28T21:21:52.642Z] 21:21:52     INFO -    160 |   if (nsCRT::strcmp(aTopic, "profile-after-change") == 0) {
[task 2024-03-28T21:21:52.642Z] 21:21:52     INFO -        |       ^
[task 2024-03-28T21:21:52.642Z] 21:21:52    ERROR -  /builds/worker/checkouts/gecko/toolkit/components/cookiebanners/nsCookieBannerTelemetryService.cpp(167,7): error: use of undeclared identifier 'nsCRT'
[task 2024-03-28T21:21:52.643Z] 21:21:52     INFO -    167 |   if (nsCRT::strcmp(aTopic, "idle-daily") == 0) {
[task 2024-03-28T21:21:52.643Z] 21:21:52     INFO -        |       ^
[task 2024-03-28T21:21:52.643Z] 21:21:52    ERROR -  /builds/worker/checkouts/gecko/toolkit/components/cookiebanners/nsCookieBannerTelemetryService.cpp(173,7): error: use of undeclared identifier 'nsCRT'
[task 2024-03-28T21:21:52.643Z] 21:21:52     INFO -    173 |   if (nsCRT::strcmp(aTopic, "browser-search-service") == 0 &&
[task 2024-03-28T21:21:52.644Z] 21:21:52     INFO -        |       ^
[task 2024-03-28T21:21:52.644Z] 21:21:52    ERROR -  /builds/worker/checkouts/gecko/toolkit/components/cookiebanners/nsCookieBannerTelemetryService.cpp(182,7): error: use of undeclared identifier 'nsCRT'
[task 2024-03-28T21:21:52.644Z] 21:21:52     INFO -    182 |   if (nsCRT::strcmp(aTopic, "cookie-changed") == 0 ||
[task 2024-03-28T21:21:52.645Z] 21:21:52     INFO -        |       ^
[task 2024-03-28T21:21:52.645Z] 21:21:52    ERROR -  /builds/worker/checkouts/gecko/toolkit/components/cookiebanners/nsCookieBannerTelemetryService.cpp(183,7): error: use of undeclared identifier 'nsCRT'
[task 2024-03-28T21:21:52.646Z] 21:21:52     INFO -    183 |       nsCRT::strcmp(aTopic, "private-cookie-changed") == 0) {
[task 2024-03-28T21:21:52.646Z] 21:21:52     INFO -        |       ^
[task 2024-03-28T21:21:52.647Z] 21:21:52    ERROR -  /builds/worker/checkouts/gecko/toolkit/components/cookiebanners/nsCookieBannerTelemetryService.cpp(229,7): error: use of undeclared identifier 'do_GetService'
[task 2024-03-28T21:21:52.647Z] 21:21:52     INFO -    229 |       do_GetService("@mozilla.org/browser/search-service;1", &rv));
[task 2024-03-28T21:21:52.648Z] 21:21:52     INFO -        |       ^
[task 2024-03-28T21:21:52.648Z] 21:21:52    ERROR -  /builds/worker/checkouts/gecko/toolkit/components/cookiebanners/nsCookieBannerTelemetryService.cpp(247,29): error: no template named 'nsTHashSet'; did you mean 'HashSet'?
[task 2024-03-28T21:21:52.649Z] 21:21:52     INFO -    247 |     sGoogleDomainsSet = new nsTHashSet<nsCString>();
[task 2024-03-28T21:21:52.649Z] 21:21:52     INFO -        |                             ^~~~~~~~~~
[task 2024-03-28T21:21:52.649Z] 21:21:52     INFO -        |                             HashSet
[task 2024-03-28T21:21:52.649Z] 21:21:52     INFO -  /builds/worker/workspace/obj-build/dist/include/mozilla/HashTable.h(443,7): note: 'HashSet' declared here
[task 2024-03-28T21:21:52.650Z] 21:21:52     INFO -    443 | class HashSet {
[task 2024-03-28T21:21:52.650Z] 21:21:52     INFO -        |       ^
[task 2024-03-28T21:21:52.651Z] 21:21:52    ERROR -  /builds/worker/checkouts/gecko/toolkit/components/cookiebanners/nsCookieBannerTelemetryService.cpp(266,44): error: member access into incomplete type 'const mozilla::net::Cookie'
[task 2024-03-28T21:21:52.651Z] 21:21:52     INFO -    266 |     const auto& attrs = aCookie->AsCookie().OriginAttributesRef();
[task 2024-03-28T21:21:52.651Z] 21:21:52     INFO -        |                                            ^
[task 2024-03-28T21:21:52.652Z] 21:21:52     INFO -  /builds/worker/workspace/obj-build/dist/include/nsICookie.h(20,11): note: forward declaration of 'mozilla::net::Cookie'
[task 2024-03-28T21:21:52.652Z] 21:21:52     INFO -     20 |     class Cookie;
[task 2024-03-28T21:21:52.652Z] 21:21:52     INFO -        |           ^
[task 2024-03-28T21:21:52.653Z] 21:21:52    ERROR -  /builds/worker/checkouts/gecko/toolkit/components/cookiebanners/nsCookieBannerTelemetryService.cpp(272,18): error: invalid use of incomplete type 'OriginAttributes'
[task 2024-03-28T21:21:52.653Z] 21:21:52     INFO -    272 |         attrs == OriginAttributes()) {
[task 2024-03-28T21:21:52.654Z] 21:21:52     INFO -        |                  ^~~~~~~~~~~~~~~~~~
[task 2024-03-28T21:21:52.654Z] 21:21:52     INFO -  /builds/worker/workspace/obj-build/dist/include/nsICookie.h(18,9): note: forward declaration of 'mozilla::OriginAttributes'
[task 2024-03-28T21:21:52.654Z] 21:21:52     INFO -     18 |   class OriginAttributes;
[task 2024-03-28T21:21:52.655Z] 21:21:52     INFO -        |         ^
[task 2024-03-28T21:21:52.656Z] 21:21:52    ERROR -  /builds/worker/checkouts/gecko/toolkit/components/cookiebanners/nsCookieBannerTelemetryService.cpp(279,9): error: use of undeclared identifier 'do_GetService'
[task 2024-03-28T21:21:52.656Z] 21:21:52     INFO -    279 |         do_GetService("@mozilla.org/cookiemanager;1");
[task 2024-03-28T21:21:52.656Z] 21:21:52     INFO -        |         ^
[task 2024-03-28T21:21:52.657Z] 21:21:52    ERROR -  /builds/worker/checkouts/gecko/toolkit/components/cookiebanners/nsCookieBannerTelemetryService.cpp(326,27): error: member access into incomplete type 'const mozilla::net::Cookie'
[task 2024-03-28T21:21:52.657Z] 21:21:52     INFO -    326 |         cookie->AsCookie().OriginAttributesRef().mPrivateBrowsingId !=
[task 2024-03-28T21:21:52.657Z] 21:21:52     INFO -        |                           ^
[task 2024-03-28T21:21:52.658Z] 21:21:52     INFO -  /builds/worker/workspace/obj-build/dist/include/nsICookie.h(20,11): note: forward declaration of 'mozilla::net::Cookie'
[task 2024-03-28T21:21:52.658Z] 21:21:52     INFO -     20 |     class Cookie;
[task 2024-03-28T21:21:52.659Z] 21:21:52     INFO -        |           ^
[task 2024-03-28T21:21:52.659Z] 21:21:52    ERROR -  /builds/worker/checkouts/gecko/toolkit/components/cookiebanners/nsCookieBannerTelemetryService.cpp(345,7): error: use of undeclared identifier 'glean'
[task 2024-03-28T21:21:52.659Z] 21:21:52     INFO -    345 |       glean::cookie_banners::google_gdpr_choice_cookie.Get(host).Set(choice);
[task 2024-03-28T21:21:52.660Z] 21:21:52     INFO -        |       ^
[task 2024-03-28T21:21:52.660Z] 21:21:52    ERROR -  /builds/worker/checkouts/gecko/toolkit/components/cookiebanners/nsCookieBannerTelemetryService.cpp(350,9): error: use of undeclared identifier 'glean'
[task 2024-03-28T21:21:52.660Z] 21:21:52     INFO -    350 |         glean::cookie_banners::GoogleGdprChoiceCookieEventPbmExtra extra = {
[task 2024-03-28T21:21:52.661Z] 21:21:52     INFO -        |         ^
[task 2024-03-28T21:21:52.661Z] 21:21:52     INFO -  fatal error: too many errors emitted, stopping now [-ferror-limit=]
[task 2024-03-28T21:21:52.661Z] 21:21:52     INFO -  20 errors generated.
[task 2024-03-28T21:21:52.662Z] 21:21:52    ERROR -  gmake[4]: *** [/builds/worker/checkouts/gecko/config/rules.mk:690: nsCookieBannerTelemetryService.obj] Error 1
[task 2024-03-28T21:21:52.662Z] 21:21:52     INFO -  gmake[4]: Leaving directory '/builds/worker/workspace/obj-build/toolkit/components/cookiebanners'
Flags: needinfo?(tihuang)
Pushed by tihuang@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/77de059a4857
Part 1: Add a protobuf implementation for parsing Google's SOCS cookie. r=anti-tracking-reviewers,pbz
https://hg.mozilla.org/integration/autoland/rev/1aa93711fe2f
Part 2: Expose getAlternateDomains to the nsISearchService. r=search-reviewers,mcheang
https://hg.mozilla.org/integration/autoland/rev/7976b0cb00d6
Part 3: Implement the telemetry to collect GDPR choice on Google Search. r=anti-tracking-reviewers,pbz
https://hg.mozilla.org/integration/autoland/rev/6b18dcced252
Part 4: Add a test for Google GDPR telemetry. r=pbz
https://hg.mozilla.org/integration/autoland/rev/adfe9bc39245
Part 5: Implement the GDPR event telemetry for private browsing windows. r=pbz
Pushed by tihuang@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/ac2f4f72ca4e
Part 1: Add a protobuf implementation for parsing Google's SOCS cookie. r=anti-tracking-reviewers,pbz
https://hg.mozilla.org/integration/autoland/rev/67c3461e1556
Part 2: Expose getAlternateDomains to the nsISearchService. r=search-reviewers,mcheang
https://hg.mozilla.org/integration/autoland/rev/40e5fa7c8b85
Part 3: Implement the telemetry to collect GDPR choice on Google Search. r=anti-tracking-reviewers,pbz
https://hg.mozilla.org/integration/autoland/rev/d977620d7182
Part 4: Add a test for Google GDPR telemetry. r=pbz
https://hg.mozilla.org/integration/autoland/rev/9f420ea15109
Part 5: Implement the GDPR event telemetry for private browsing windows. r=pbz
Flags: needinfo?(tihuang)
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: