Commit Graph

134 Commits

Author SHA1 Message Date
James Teow
015c906917 Bug 1878219 - Move the core Categorization Map into a worker - r=scunnane
Differential Revision: https://phabricator.services.mozilla.com/D201026
2024-02-20 22:15:43 +00:00
James Teow
8c241cb504 Bug 1878062 - Check for a possible content process event before manually registering an engagement event - r=scunnane
Differential Revision: https://phabricator.services.mozilla.com/D200405
2024-02-07 12:58:25 +00:00
Stephanie Cunnane
1f57cdbb59 Bug 1878394 - Modify inconclusive domains to only have a single category (just 'inconclusive'). r=jteow
Differential Revision: https://phabricator.services.mozilla.com/D200511
2024-02-02 23:44:14 +00:00
James Teow
45c16fd91e Bug 1864214 - Observe actions on single page application search engine providers - r=Standard8
updateTrackingSinglePageApp() contains the core logic for when we observe same document loads.
Based on conditions, it may record telemetry (engagement/abandonment), and dispatch events
to the appropriate SearchSERPTelemetry actor.

SearchSERPTelemetryChild had to be modified to allow for manual dispatching of events, especially
unloading event listeners in the case where a user navigates to a non-default search page, like
Images or Shopping.

One complication in observing clicks is we're storing search pages based on the URL at the time
of load, and then looking them up again using the originURL, but it might be different from
the currentURL due to the way single page apps work. So this could cause confusion if multiple SERPs
are open and different from their originURL, hence the usage of recovering the correct state map by
first using the browser object and defaulting back to the originURL if the WeakMap doesn't
contain any of the browser objects.

I also created a mock SPA html file that when given a search query parameter, shows mock results.
The helper file head-spa.js contains a class that navigates the pages in tests.

The tests are broken out into the following:
- When a single search provider is opened in a single tab
- When a single search provider is has multiple tabs open
- When multiple providers are open at the same time
- Event listeners on in-content elements are unloaded properly when navigating away from the page

Differential Revision: https://phabricator.services.mozilla.com/D193320
2024-01-31 12:51:54 +00:00
Stanca Serban
c109e5d34d Backed out changeset 716bfac5741b (bug 1864214) foir causing webrender debug leakcheck failures. CLOSED TREE 2024-01-29 21:41:29 +02:00
James Teow
a461777d68 Bug 1864214 - Observe actions on single page application search engine providers - r=Standard8
updateTrackingSinglePageApp() contains the core logic for when we observe same document loads.
Based on conditions, it may record telemetry (engagement/abandonment), and dispatch events
to the appropriate SearchSERPTelemetry actor.

SearchSERPTelemetryChild had to be modified to allow for manual dispatching of events, especially
unloading event listeners in the case where a user navigates to a non-default search page, like
Images or Shopping.

One complication in observing clicks is we're storing search pages based on the URL at the time
of load, and then looking them up again using the originURL, but it might be different from
the currentURL due to the way single page apps work. So this could cause confusion if multiple SERPs
are open and different from their originURL, hence the usage of recovering the correct state map by
first using the browser object and defaulting back to the originURL if the WeakMap doesn't
contain any of the browser objects.

I also created a mock SPA html file that when given a search query parameter, shows mock results.
The helper file head-spa.js contains a class that navigates the pages in tests.

The tests are broken out into the following:
- When a single search provider is opened in a single tab
- When a single search provider is has multiple tabs open
- When multiple providers are open at the same time
- Event listeners on in-content elements are unloaded properly when navigating away from the page

Differential Revision: https://phabricator.services.mozilla.com/D193320
2024-01-29 15:04:51 +00:00
James Teow
08822f7135 Bug 1875483 - Remove locale and change app version to only report its major app version - r=scunnane
Differential Revision: https://phabricator.services.mozilla.com/D199103
2024-01-23 14:02:57 +00:00
James Teow
2099213042 Bug 1871084 - Add a timeout for categorization impressions - r=scunnane
Differential Revision: https://phabricator.services.mozilla.com/D198592
2024-01-19 01:59:29 +00:00
Stephanie Cunnane
d7cef790a9 Bug 1854196 - Modify categorization logic based on input from Data Science. r=jteow
Differential Revision: https://phabricator.services.mozilla.com/D197215
2023-12-28 22:37:41 +00:00
James Teow
8cb8c1b19d Bug 1871083 - Part 3: Add application related information to categorization event - r=scunnane
Differential Revision: https://phabricator.services.mozilla.com/D197129
2023-12-27 16:16:40 +00:00
James Teow
a241368622 Bug 1871083 - Part 2: Add region and locale to categorization event - r=scunnane
Differential Revision: https://phabricator.services.mozilla.com/D197128
2023-12-27 16:16:40 +00:00
James Teow
a5b9fe4c46 Bug 1871083 - Part 1: Add search provider details to categorization event - r=scunnane
Differential Revision: https://phabricator.services.mozilla.com/D197127
2023-12-27 16:16:39 +00:00
James Teow
38da77ef2e Bug 1869064 - Refactor recording a SERP categorization until after the user leaves the SERP - r=scunnane
Differential Revision: https://phabricator.services.mozilla.com/D196491
2023-12-20 18:12:30 +00:00
James Teow
8f395a07bf Bug 1866548 - Detect clicks on SERP ads and organic results that open new windows - r=Standard8
Differential Revision: https://phabricator.services.mozilla.com/D194798
2023-12-01 15:11:04 +00:00
James Teow
71efa2123d Bug 1866546 - Move SERP telemetry click logic into its own helper - r=Standard8
Differential Revision: https://phabricator.services.mozilla.com/D194774
2023-12-01 07:11:06 +00:00
James Teow
0853e415e9 Bug 1785104 - Update consumers of search-telemetry-v2 when it is updated - r=Standard8
Differential Revision: https://phabricator.services.mozilla.com/D192482
2023-11-13 14:43:53 +00:00
Mark Banner
89ef560a9e Bug 1861676 - Use the new queryParamNames SERP telemetry parameter by default. r=search-reviewers,jteow
Differential Revision: https://phabricator.services.mozilla.com/D191649
2023-11-03 10:35:04 +00:00
Cosmin Sabou
40136d94be Backed out changeset eb4c4b32c59b (bug 1861676) for failures on browser_urlbar_telemetry.js. 2023-11-03 01:49:21 +02:00
Mark Banner
3e1df69ce4 Bug 1861676 - Use the new queryParamNames SERP telemetry parameter by default. r=search-reviewers,jteow
Differential Revision: https://phabricator.services.mozilla.com/D191649
2023-11-02 21:02:01 +00:00
James Teow
f42e52abb9 Bug 1855356 - Allow download of collection attachments to re-occur after failure - r=Standard8
Depends on D189992

Differential Revision: https://phabricator.services.mozilla.com/D190247
2023-10-26 00:45:34 +00:00
James Teow
10d9865ad4 Bug 1851495 - Add boolean to indicate whether a user was private browsing when loading a SERP - r=daleharvey,scunnane
Differential Revision: https://phabricator.services.mozilla.com/D191217
2023-10-18 05:17:36 +00:00
Stephanie Cunnane
d1ae2248d3 Bug 1854200 - Limit how many domains are evaluated in SERP categorization process. r=jteow
Differential Revision: https://phabricator.services.mozilla.com/D190511
2023-10-14 01:21:41 +00:00
James Teow
cc76365010 Bug 1856274 - Update DomainToCategoriesMap when an experiment is enrolled - r=scunnane
Differential Revision: https://phabricator.services.mozilla.com/D189992
2023-10-06 19:02:32 +00:00
Stephanie Cunnane
dbdb14f49c Bug 1853757 - Don't report SERP categorization for clients that haven't downloaded Remote Setting attachments. r=jteow
Differential Revision: https://phabricator.services.mozilla.com/D188748
2023-09-28 18:11:56 +00:00
Stephanie Cunnane
8d3f762d60 Bug 1846368 - Implement SERP categorization logic. r=jteow
Differential Revision: https://phabricator.services.mozilla.com/D187810
2023-09-19 16:22:58 +00:00
James Teow
b026880f58 Bug 1850000 - Add listener and in-memory storage of Search Categorization collection - r=Standard8,leplatrem
Differential Revision: https://phabricator.services.mozilla.com/D186805
2023-09-18 13:42:53 +00:00
James Teow
621a5f3aef Bug 1849728 - Compare URLs in page to the URL being visited in the network process - r=Standard8
Differential Revision: https://phabricator.services.mozilla.com/D186681
2023-09-13 23:14:17 +00:00
James Teow
69b07fd670 Bug 1842554 - Enable SERP Telemetry improvements - r=Standard8
Differential Revision: https://phabricator.services.mozilla.com/D186552
2023-09-07 10:18:43 +00:00
Stephanie Cunnane
1c5fdd13a5 Bug 1846357 - Extract domains for basic SERP links. r=jteow
Differential Revision: https://phabricator.services.mozilla.com/D185609
2023-09-05 16:49:53 +00:00
James Teow
88c7ce5120 Bug 1836156 - Remove extraPageRegexps from search-telemetry-v2 - r=Standard8
Differential Revision: https://phabricator.services.mozilla.com/D180862
2023-08-04 15:04:02 +00:00
Gregory Pappas
e9950eccfd Bug 1845311 - Use ChromeUtils.defineLazyGetter in more places r=arai,webdriver-reviewers,geckoview-reviewers,extension-reviewers,application-update-reviewers,credential-management-reviewers,devtools-reviewers,fxview-reviewers,anti-tracking-reviewers,sessionstore-reviewers,pbz,joschmidt,robwu,issammani,bytesized,owlish,dao
Differential Revision: https://phabricator.services.mozilla.com/D184481
2023-07-26 16:28:11 +00:00
Mark Banner
0677cff70b Bug 1838155 - Clean up some console.error calls that had been migrated from Cu.reportError. r=jdescottes,perftest-reviewers,geckoview-reviewers,credential-management-reviewers,search-reviewers,sgalich,owlish,jteow,sparky
This goes through the previous changes in the dependencies of bug 877389, and does two things:
1) Remove instances of \n
2) Change reporting of exceptions so that they are passed as separate arguments. This should result
   in an improved display of the exception in the browser console, should it occur.

Differential Revision: https://phabricator.services.mozilla.com/D180843
2023-06-15 08:33:57 +00:00
James Teow
2b884da379 Bug 1837429 - Rename hasShoppingTab to shoppingTabDisplayed - r=scunnane
Differential Revision: https://phabricator.services.mozilla.com/D180346
2023-06-08 19:55:51 +00:00
James Teow
c3e9fd153f Bug 1836507 - Prevent tab-history events from triggering a click event - r=Standard8
Differential Revision: https://phabricator.services.mozilla.com/D179966
2023-06-08 16:13:59 +00:00
Stephanie Cunnane
ff823ae66a Bug 1829953 - Add follow_on_from_refine_on_SERP tracking to the SERP impression event. r=jteow
Differential Revision: https://phabricator.services.mozilla.com/D179491
2023-06-03 17:58:13 +00:00
Mark Banner
a2d5839648 Bug 1836107 - Add schema validation testing for search-telemetry-v2. r=jteow
Differential Revision: https://phabricator.services.mozilla.com/D179582
2023-06-02 10:11:49 +00:00
James Teow
adefe13ae5 Bug 1835321 - Allow any link on SERPs that don't match an ad expression to be considered a non-ad - r=Standard8
Differential Revision: https://phabricator.services.mozilla.com/D179367
2023-06-01 02:13:18 +00:00
Stephanie Cunnane
66b9ea3569 Bug 1816738 - Add opened_in_new_tab tracking to SERP impression event. r=jteow
Differential Revision: https://phabricator.services.mozilla.com/D177531
2023-05-23 22:04:08 +00:00
James Teow
5246272dc4 Bug 1833245 - Enable cached page loads to be monitored in SearchSERPTelemetry - r=scunnane
Differential Revision: https://phabricator.services.mozilla.com/D178502
2023-05-23 15:06:16 +00:00
Mark Banner
0666077666 Bug 1826062 - Automatic fixes for upgrading Prettier to 2.8.8. r=mossop,perftest-reviewers,webcompat-reviewers,geckoview-reviewers,denschub,devtools-reviewers,sparky,calu
Differential Revision: https://phabricator.services.mozilla.com/D177027
2023-05-20 12:26:53 +00:00
Mark Banner
91fde42f7b Bug 1826062 - Automatic fixes for Prettier 2.0.5 upgrade. r=mossop,perftest-reviewers,webcompat-reviewers,geckoview-reviewers,denschub,devtools-reviewers,sparky,owlish
Differential Revision: https://phabricator.services.mozilla.com/D177025
2023-05-20 12:26:49 +00:00
James Teow
3eefbb7763 Bug 1833877 - Don't check page for components related to the impression if components don't exist - r=scunnane
Differential Revision: https://phabricator.services.mozilla.com/D178445
2023-05-19 02:09:57 +00:00
James Teow
f8aff411e8 Bug 1831876 - Don't attempt to record an impression / ad impression on pages that don't include a search parameter - r=Standard8
Differential Revision: https://phabricator.services.mozilla.com/D177385
2023-05-09 15:46:57 +00:00
James Teow
a0abe43c7f Bug 1830209 - Refactor observeActivity - r=Standard8
Differential Revision: https://phabricator.services.mozilla.com/D176610
2023-04-27 16:18:20 +00:00
James Teow
c02d22eb96 Bug 1829877 - Remove browser from browserContentSourceMap after source has been used - r=Standard8
Differential Revision: https://phabricator.services.mozilla.com/D176420
2023-04-26 13:48:22 +00:00
James Teow
ad8b73ca53 Bug 1829672 - Ensure network event is from a top level load - r=Standard8
Differential Revision: https://phabricator.services.mozilla.com/D176390
2023-04-25 11:16:59 +00:00
James Teow
c773145f2a Bug 1829578 - Allow hrefs of SERPs to be classified as non_ads_link - r=Standard8
Differential Revision: https://phabricator.services.mozilla.com/D176243
2023-04-24 14:54:29 +00:00
James Teow
35b8e78022 Bug 1816736 - Add in-content search tracking to SERP impression event - r=Standard8
Differential Revision: https://phabricator.services.mozilla.com/D176242
2023-04-24 14:54:28 +00:00
James Teow
bead9387a2 Bug 1828786 - Allow component categorization and ad_impression to occur on pages without ads - r=Standard8
Differential Revision: https://phabricator.services.mozilla.com/D176159
2023-04-24 14:54:28 +00:00
James Teow
2ef6f43e88 Bug 1824543 - Add shopping_tab_displayed and is_shopping_page to Impression Event - r=Standard8
Since we rely on the child process to parse this information, we need to
wait until the child has reported the presence of the shopping page
before sending the Impression event.

Differential Revision: https://phabricator.services.mozilla.com/D175576
2023-04-21 21:19:39 +00:00