Backed out 2 changesets (bug 1693927, bug 1693126) as requested. CLOSED TREE

Backed out changeset f49147a4544b (bug 1693126)
Backed out changeset 8bb5bc9c97b2 (bug 1693927)
This commit is contained in:
Csoregi Natalia 2021-02-25 05:08:26 +02:00
parent 9388fa1057
commit bfcf41eb69
18 changed files with 30 additions and 567 deletions

View File

@ -332,10 +332,6 @@ pref("browser.urlbar.suggest.quicksuggest", true);
// Whether the QuickSuggest experiment is enabled.
pref("browser.urlbar.quicksuggest.enabled", false);
// The URL for clicks on QuickSuggest help buttons and learn-more links.
// TODO (bug 1693671): Replace this URL with the final URL of the blog post.
pref("browser.urlbar.quicksuggest.helpURL", "https://www.mozilla.org/");
// How many times to show the QuickSuggest onboarding help button.
pref("browser.urlbar.quicksuggest.onboardingCount", 0);
pref("browser.urlbar.quicksuggest.onboardingMaxCount", 5);

View File

@ -259,9 +259,11 @@ var gSearchPane = {
}
// The experiment is enabled.
// TODO (bug 1693671): Replace this URL with the final URL of the blog post.
let learnMoreURL = "https://mozilla.org/";
document
.getElementById("showQuickSuggestLearnMore")
.setAttribute("href", UrlbarPrefs.get("quicksuggest.helpURL"));
.setAttribute("href", learnMoreURL);
container.removeAttribute("hidden");
if (desc.dataset.l10nId) {
desc.dataset.l10nIdOriginal = desc.dataset.l10nId;

View File

@ -899,10 +899,11 @@ class TelemetryEvent {
let row = element.closest(".urlbarView-row");
if (row.result && row.result.providerName != "UrlbarProviderTopSites") {
// Element handlers go here.
if (element.classList.contains("urlbarView-help")) {
return row.result.type == UrlbarUtils.RESULT_TYPE.TIP
? "tiphelp"
: "help";
if (
row.result.type == UrlbarUtils.RESULT_TYPE.TIP &&
element.classList.contains("urlbarView-help")
) {
return "tiphelp";
}
}
// Now handle the result.

View File

@ -168,11 +168,6 @@ const PREF_URLBAR_DEFAULTS = new Map([
// Whether the QuickSuggest experiment is enabled.
["quicksuggest.enabled", false],
// The URL for clicks on QuickSuggest help buttons and learn-more links.
// TODO (bug 1693671): Replace this URL with the final URL of the blog post,
// and don't forget to update firefox.js.
["quicksuggest.helpURL", "https://www.mozilla.org/"],
// The number of times the onboarding help button has been shown in
// QuickSuggest results.
["quicksuggest.onboardingCount", 0],

View File

@ -11,7 +11,6 @@ const { XPCOMUtils } = ChromeUtils.import(
);
XPCOMUtils.defineLazyModuleGetters(this, {
Services: "resource://gre/modules/Services.jsm",
UrlbarPrefs: "resource:///modules/UrlbarPrefs.jsm",
UrlbarQuickSuggest: "resource:///modules/UrlbarQuickSuggest.jsm",
UrlbarProvider: "resource:///modules/UrlbarUtils.jsm",
@ -19,31 +18,20 @@ XPCOMUtils.defineLazyModuleGetters(this, {
UrlbarUtils: "resource:///modules/UrlbarUtils.jsm",
});
// These prefs are relative to the `browser.urlbar` branch.
const EXPERIMENT_PREF = "quicksuggest.enabled";
const SUGGEST_PREF = "suggest.quicksuggest";
const ONBOARDING_COUNT_PREF = "quicksuggest.onboardingCount";
const ONBOARDING_MAX_COUNT_PREF = "quicksuggest.onboardingMaxCount";
// TODO (bug 1693671): Replace this URL with the final URL of the blog post.
const ONBOARDING_URL = "https://mozilla.org/";
const ONBOARDING_TEXT = "Learn more about Firefox Suggests";
const TELEMETRY_SCALAR_IMPRESSION =
"contextual.services.quicksuggest.impression";
const TELEMETRY_SCALAR_CLICK = "contextual.services.quicksuggest.click";
const TELEMETRY_SCALAR_HELP = "contextual.services.quicksuggest.help";
const TELEMETRY_EVENT_CATEGORY = "contextservices.quicksuggest";
/**
* A provider that returns a suggested url to the user based on what
* they have currently typed so they can navigate directly.
*/
class ProviderQuickSuggest extends UrlbarProvider {
constructor(...args) {
super(...args);
this._updateExperimentState();
UrlbarPrefs.addObserver(this);
}
// Whether we added a result during the most recent query.
_addedResultInLastQuery = false;
/**
* Returns the name of this provider.
@ -82,8 +70,8 @@ class ProviderQuickSuggest extends UrlbarProvider {
return (
queryContext.trimmedSearchString &&
!queryContext.searchMode &&
UrlbarPrefs.get(EXPERIMENT_PREF) &&
UrlbarPrefs.get(SUGGEST_PREF) &&
UrlbarPrefs.get("quicksuggest.enabled") &&
UrlbarPrefs.get("suggest.quicksuggest") &&
UrlbarPrefs.get("suggest.searches") &&
UrlbarPrefs.get("browser.search.suggest.enabled") &&
(!queryContext.isPrivate ||
@ -115,7 +103,7 @@ class ProviderQuickSuggest extends UrlbarProvider {
// Show the help button if we haven't reached the max onboarding count yet.
if (this._onboardingCount < this._onboardingMaxCount) {
payload.helpUrl = UrlbarPrefs.get("quicksuggest.helpURL");
payload.helpUrl = ONBOARDING_URL;
payload.helpTitle = ONBOARDING_TEXT;
}
@ -151,91 +139,16 @@ class ProviderQuickSuggest extends UrlbarProvider {
* it describes the search string and picked result.
*/
onEngagement(isPrivate, state, queryContext, details) {
if (!this._addedResultInLastQuery) {
return;
}
this._addedResultInLastQuery = false;
// Per spec, we update the onboarding count and telemetry only when the user
// picks a result, i.e., when `state` is "engagement".
if (state != "engagement") {
return;
}
// Get the index of the quick suggest result.
let resultIndex = queryContext.results.length - 1;
let lastResult = queryContext.results[resultIndex];
if (!lastResult?.payload.isSponsored) {
Cu.reportError(`Last result is not a quick suggest`);
return;
}
// Increment the onboarding count.
if (this._onboardingCount < this._onboardingMaxCount) {
if (
state == "engagement" &&
this._addedResultInLastQuery &&
this._onboardingCount < this._onboardingMaxCount
) {
this._onboardingCount++;
}
// Record telemetry. We want to record the 1-based index of the result, so
// add 1 to the 0-based resultIndex.
let telemetryResultIndex = resultIndex + 1;
// impression scalar
Services.telemetry.keyedScalarAdd(
TELEMETRY_SCALAR_IMPRESSION,
telemetryResultIndex,
1
);
if (details.selIndex == resultIndex) {
// click or help scalar
Services.telemetry.keyedScalarAdd(
details.selType == "help"
? TELEMETRY_SCALAR_HELP
: TELEMETRY_SCALAR_CLICK,
telemetryResultIndex,
1
);
}
this._addedResultInLastQuery = false;
}
/**
* Called when a urlbar pref changes. We use this to listen for changes to
* `browser.urlbar.suggest.quicksuggest` so we can record a telemetry event.
* We also need to listen for `browser.urlbar.quicksuggest.enabled` so we can
* enable/disable the event telemetry.
*
* @param {string} pref
* The name of the pref relative to `browser.urlbar`.
*/
onPrefChanged(pref) {
switch (pref) {
case EXPERIMENT_PREF:
this._updateExperimentState();
break;
case SUGGEST_PREF:
Services.telemetry.recordEvent(
TELEMETRY_EVENT_CATEGORY,
"enable_toggled",
UrlbarPrefs.get(SUGGEST_PREF) ? "enabled" : "disabled"
);
break;
}
}
/**
* Updates state based on the `browser.urlbar.quicksuggest.enabled` pref.
* Right now we only need to enable/disable event telemetry.
*/
_updateExperimentState() {
Services.telemetry.setEventRecordingEnabled(
TELEMETRY_EVENT_CATEGORY,
UrlbarPrefs.get(EXPERIMENT_PREF)
);
}
// Whether we added a result during the most recent query.
_addedResultInLastQuery = false;
get _onboardingCount() {
return UrlbarPrefs.get(ONBOARDING_COUNT_PREF);
}

View File

@ -337,7 +337,7 @@ Event Extra
``history``, ``keyword``, ``searchengine``, ``searchsuggestion``,
``switchtab``, ``remotetab``, ``extension``, ``oneoff``, ``keywordoffer``,
``canonized``, ``tip``, ``tiphelp``, ``formhistory``, ``tabtosearch``,
``help``, ``unknown``
``unknown``
In practice, ``tabtosearch`` should not appear in real event telemetry.
Opening a tab-to-search result enters search mode and entering search mode
does not currently mark the end of an engagement. It is noted here for
@ -413,8 +413,8 @@ TopSites Click
User's current locale.
Other telemetry relevant to the Address Bar
-------------------------------------------
Search probes relevant to the Address Bar
-----------------------------------------
SEARCH_COUNTS
This histogram tracks search engines and Search Access Points. It is augmented
@ -484,47 +484,6 @@ contextual.services.topsites.*
impression or click.
Note that these scalars are shared with the TopSites on the newtab page.
contextual.services.quicksuggest.*
These keyed scalars record impressions and clicks on Quick Suggest results,
also called Firefox Suggests results, in the address bar. The keys for each
scalar are the 1-based indexes of the Quick Suggest results, and the values
are the number of impressions or clicks for the corresponding indexes. For
example, for a Quick Suggest impression at 0-based index 9, the value for key
``10`` will be incremented in the
``contextual.services.quicksuggest.impression`` scalar.
The keyed scalars are:
- ``contextual.services.quicksuggest.impression``
Incremented when a Quick Suggest result is shown in an address bar
engagement where the user picks any result. The particular picked result
doesn't matter, and it doesn't need to be the Quick Suggest result.
- ``contextual.services.quicksuggest.click``
Incremented when the user picks a Quick Suggest result (not including the
help button).
- ``contextual.services.quicksuggest.help``
Incremented when the user picks the onboarding help button in a Quick
Suggest result.
contextservices.quicksuggest
This is event telemetry under the ``contextservices.quicksuggest`` category.
It's enabled only when the ``browser.urlbar.quicksuggest.enabled`` pref is
true. An event is recorded when the user toggles the
``browser.urlbar.suggest.quicksuggest`` pref, which corresponds to the
checkbox in about:preferences#search labeled "Show suggested and sponsored
results in the address bar". If the user never toggles the pref, then this
event is never recorded.
The full spec for this event is:
- Category: ``contextservices.quicksuggest``
- Method: ``enable_toggled``
- Objects: ``enabled``, ``disabled`` -- ``enabled`` is recorded when the
pref is flipped from false to true, and ``disabled`` is recorded when the
pref is flipped from true to false.
- Value: Not used
- Extra: Not used
Obsolete probes
---------------

View File

@ -200,7 +200,6 @@ var UrlbarTestUtils = {
details.image = element.getElementsByClassName("urlbarView-favicon")[0].src;
details.title = result.title;
details.tags = "tags" in result.payload ? result.payload.tags : [];
details.isSponsored = result.payload.isSponsored;
let actions = element.getElementsByClassName("urlbarView-action");
let urls = element.getElementsByClassName("urlbarView-url");
let typeIcon = element.querySelector(".urlbarView-type-icon");

View File

@ -263,8 +263,6 @@ support-files =
tags = search-telemetry
[browser_urlbar_telemetry_places.js]
tags = search-telemetry
[browser_urlbar_telemetry_quicksuggest.js]
tags = search-telemetry
[browser_urlbar_telemetry_remotetab.js]
tags = search-telemetry
[browser_urlbar_telemetry_searchmode.js]

View File

@ -54,7 +54,11 @@ async function assertIsQuickSuggest(index = -1, win = window) {
let result = await UrlbarTestUtils.getDetailsOfResultAt(win, index);
Assert.equal(result.type, UrlbarUtils.RESULT_TYPE.URL);
Assert.equal(result.url, `${TEST_URL}?q=frabbits`);
Assert.ok(result.isSponsored, "Result isSponsored");
if (result.url != `${TEST_URL}?q=frabbits`) {
await new Promise(r => {});
}
return result;
}
@ -65,9 +69,7 @@ async function assertNoQuickSuggestResults() {
for (let i = 0; i < UrlbarTestUtils.getResultCount(window); i++) {
let r = await UrlbarTestUtils.getDetailsOfResultAt(window, i);
Assert.ok(
r.type != UrlbarUtils.RESULT_TYPE.URL ||
!r.url.includes(TEST_URL) ||
!r.isSponsored,
r.type != UrlbarUtils.RESULT_TYPE.URL || !r.url.includes(TEST_URL),
`Result at index ${i} should not be a QuickSuggest result`
);
}

View File

@ -52,8 +52,6 @@ class TestProvider extends UrlbarTestUtils.TestProvider {
}
add_task(async function test() {
UrlbarTestUtils.init(this);
// Add a dynamic result type.
UrlbarResult.addDynamicResultType(DYNAMIC_TYPE_NAME);
UrlbarView.addDynamicViewTemplate(DYNAMIC_TYPE_NAME, {

View File

@ -119,8 +119,6 @@ add_task(async function setup() {
await PlacesUtils.history.clear();
await PlacesUtils.bookmarks.eraseEverything();
UrlbarTestUtils.init(this);
// Make sure to restore the engine once we're done.
registerCleanupFunction(async function() {
Services.telemetry.canRecordExtended = oldCanRecord;

View File

@ -139,8 +139,6 @@ add_task(async function setup() {
url: TEST_URL + "?q=%s",
});
UrlbarTestUtils.init(this);
// Make sure to restore the engine once we're done.
registerCleanupFunction(async function() {
await PlacesUtils.keywords.remove("get");

View File

@ -1,322 +0,0 @@
/* Any copyright is dedicated to the Public Domain.
* http://creativecommons.org/publicdomain/zero/1.0/ */
/**
* This file tests urlbar telemetry for Quick Suggest results.
*/
"use strict";
XPCOMUtils.defineLazyModuleGetters(this, {
UrlbarQuickSuggest: "resource:///modules/UrlbarQuickSuggest.jsm",
});
const TEST_SJS =
"http://mochi.test:8888/browser/browser/components/urlbar/tests/browser/quicksuggest.sjs";
const TEST_URL = TEST_SJS + "?q=frabbits";
const TEST_SEARCH_STRING = "frab";
const TEST_DATA = [
{
id: 1,
url: TEST_URL,
title: "frabbits",
keywords: [TEST_SEARCH_STRING],
},
];
const TEST_HELP_URL = "http://example.com/help";
const TELEMETRY_SCALARS = {
IMPRESSION: "contextual.services.quicksuggest.impression",
CLICK: "contextual.services.quicksuggest.click",
HELP: "contextual.services.quicksuggest.help",
};
const TELEMETRY_EVENT_CATEGORY = "contextservices.quicksuggest";
const EXPERIMENT_PREF = "browser.urlbar.quicksuggest.enabled";
const SUGGEST_PREF = "suggest.quicksuggest";
const ONBOARDING_COUNT_PREF = "quicksuggest.onboardingCount";
add_task(async function init() {
await PlacesUtils.history.clear();
await UrlbarTestUtils.formHistory.clear();
await SpecialPowers.pushPrefEnv({
set: [
[EXPERIMENT_PREF, true],
["browser.urlbar.quicksuggest.helpURL", TEST_HELP_URL],
["browser.urlbar.suggest.searches", true],
],
});
// Add a mock engine so we don't hit the network.
let engine = await Services.search.addEngineWithDetails("Test", {
template: "http://example.com/?search={searchTerms}",
});
let oldDefaultEngine = await Services.search.getDefault();
Services.search.setDefault(engine);
// Set up Quick Suggest.
await UrlbarQuickSuggest.init();
await UrlbarQuickSuggest._processSuggestionsJSON(TEST_DATA);
// Enable local telemetry recording for the duration of the test.
let oldCanRecord = Services.telemetry.canRecordExtended;
Services.telemetry.canRecordExtended = true;
Services.telemetry.clearScalars();
UrlbarTestUtils.init(this);
registerCleanupFunction(async () => {
Services.search.setDefault(oldDefaultEngine);
await Services.search.removeEngine(engine);
Services.telemetry.canRecordExtended = oldCanRecord;
});
});
// Tests the impression scalar.
add_task(async function impression() {
await BrowserTestUtils.withNewTab("about:blank", async () => {
await UrlbarTestUtils.promiseAutocompleteResultPopup({
window,
value: TEST_SEARCH_STRING,
fireInputEvent: true,
});
let index = 1;
await assertIsQuickSuggest(index);
await UrlbarTestUtils.promisePopupClose(window, () => {
EventUtils.synthesizeKey("KEY_Enter");
});
assertScalars({ [TELEMETRY_SCALARS.IMPRESSION]: index + 1 });
});
});
// Makes sure the impression scalar is not incremented when the urlbar
// engagement is abandoned.
add_task(async function noImpression_abandonment() {
await BrowserTestUtils.withNewTab("about:blank", async () => {
await UrlbarTestUtils.promiseAutocompleteResultPopup({
window,
value: TEST_SEARCH_STRING,
fireInputEvent: true,
});
await assertIsQuickSuggest();
await UrlbarTestUtils.promisePopupClose(window, () => {
gURLBar.blur();
});
assertScalars({});
});
});
// Makes sure the impression scalar is not incremented when a Quick Suggest
// result is not present.
add_task(async function noImpression_noQuickSuggestResult() {
await BrowserTestUtils.withNewTab("about:blank", async () => {
await UrlbarTestUtils.promiseAutocompleteResultPopup({
window,
value: "noImpression_noQuickSuggestResult",
fireInputEvent: true,
});
await assertNoQuickSuggestResults();
await UrlbarTestUtils.promisePopupClose(window, () => {
EventUtils.synthesizeKey("KEY_Enter");
});
assertScalars({});
});
});
// Tests the click scalar by picking a Quick Suggest result with the keyboard.
add_task(async function click_keyboard() {
await BrowserTestUtils.withNewTab("about:blank", async () => {
await UrlbarTestUtils.promiseAutocompleteResultPopup({
window,
value: TEST_SEARCH_STRING,
fireInputEvent: true,
});
let index = 1;
await assertIsQuickSuggest(index);
await UrlbarTestUtils.promisePopupClose(window, () => {
EventUtils.synthesizeKey("KEY_ArrowDown");
EventUtils.synthesizeKey("KEY_Enter");
});
assertScalars({
[TELEMETRY_SCALARS.IMPRESSION]: index + 1,
[TELEMETRY_SCALARS.CLICK]: index + 1,
});
});
});
// Tests the click scalar by picking a Quick Suggest result with the mouse.
add_task(async function click_mouse() {
await BrowserTestUtils.withNewTab("about:blank", async () => {
await UrlbarTestUtils.promiseAutocompleteResultPopup({
window,
value: TEST_SEARCH_STRING,
fireInputEvent: true,
});
let index = 1;
let result = await assertIsQuickSuggest(index);
await UrlbarTestUtils.promisePopupClose(window, () => {
EventUtils.synthesizeMouseAtCenter(result.element.row, {});
});
assertScalars({
[TELEMETRY_SCALARS.IMPRESSION]: index + 1,
[TELEMETRY_SCALARS.CLICK]: index + 1,
});
});
});
// Tests the help scalar by picking a Quick Suggest result help button with the
// keyboard.
add_task(async function help_keyboard() {
UrlbarPrefs.clear(ONBOARDING_COUNT_PREF);
await BrowserTestUtils.withNewTab("about:blank", async () => {
await UrlbarTestUtils.promiseAutocompleteResultPopup({
window,
value: TEST_SEARCH_STRING,
fireInputEvent: true,
});
let index = 1;
let result = await assertIsQuickSuggest(index);
let helpButton = result.element.row._elements.get("helpButton");
Assert.ok(helpButton, "The result has an onboarding help button");
let helpLoadPromise = BrowserTestUtils.browserLoaded(
gBrowser.selectedBrowser
);
await UrlbarTestUtils.promisePopupClose(window, () => {
EventUtils.synthesizeKey("KEY_ArrowDown", { repeat: 2 });
EventUtils.synthesizeKey("KEY_Enter");
});
await helpLoadPromise;
Assert.equal(gBrowser.currentURI.spec, TEST_HELP_URL, "Help URL loaded");
assertScalars({
[TELEMETRY_SCALARS.IMPRESSION]: index + 1,
[TELEMETRY_SCALARS.HELP]: index + 1,
});
});
});
// Tests the help scalar by picking a Quick Suggest result help button with the
// mouse.
add_task(async function help_mouse() {
UrlbarPrefs.clear(ONBOARDING_COUNT_PREF);
await BrowserTestUtils.withNewTab("about:blank", async () => {
await UrlbarTestUtils.promiseAutocompleteResultPopup({
window,
value: TEST_SEARCH_STRING,
fireInputEvent: true,
});
let index = 1;
let result = await assertIsQuickSuggest(index);
let helpButton = result.element.row._elements.get("helpButton");
Assert.ok(helpButton, "The result has an onboarding help button");
let helpLoadPromise = BrowserTestUtils.browserLoaded(
gBrowser.selectedBrowser
);
await UrlbarTestUtils.promisePopupClose(window, () => {
EventUtils.synthesizeMouseAtCenter(helpButton, {});
});
await helpLoadPromise;
Assert.equal(gBrowser.currentURI.spec, TEST_HELP_URL, "Help URL loaded");
assertScalars({
[TELEMETRY_SCALARS.IMPRESSION]: index + 1,
[TELEMETRY_SCALARS.HELP]: index + 1,
});
});
});
// Tests the contextservices.quicksuggest enable_toggled event telemetry by
// toggling the suggest.quicksuggest pref.
add_task(async function enableToggled() {
Services.telemetry.clearEvents();
// Toggle the suggest.quicksuggest pref twice. We should get two events.
let enabled = UrlbarPrefs.get(SUGGEST_PREF);
for (let i = 0; i < 2; i++) {
enabled = !enabled;
UrlbarPrefs.set(SUGGEST_PREF, enabled);
TelemetryTestUtils.assertEvents([
{
category: TELEMETRY_EVENT_CATEGORY,
method: "enable_toggled",
object: enabled ? "enabled" : "disabled",
},
]);
}
// Set the main quicksuggest.enabled pref to false and toggle the
// suggest.quicksuggest pref again. We shouldn't get any events.
await SpecialPowers.pushPrefEnv({
set: [[EXPERIMENT_PREF, false]],
});
enabled = !enabled;
UrlbarPrefs.set(SUGGEST_PREF, enabled);
TelemetryTestUtils.assertEvents([], { category: TELEMETRY_EVENT_CATEGORY });
await SpecialPowers.popPrefEnv();
UrlbarPrefs.clear(SUGGEST_PREF);
});
/**
* Checks the values of all the Quick Suggest scalars.
*
* @param {object} expectedIndexesByScalarName
* Maps scalar names to the expected 1-based indexes of results. If you
* expect a scalar to be incremented, then include it in this object. If you
* expect a scalar not to be incremented, don't include it.
*/
function assertScalars(expectedIndexesByScalarName) {
let scalars = TelemetryTestUtils.getProcessScalars("parent", true, true);
for (let scalarName of Object.values(TELEMETRY_SCALARS)) {
if (scalarName in expectedIndexesByScalarName) {
TelemetryTestUtils.assertKeyedScalar(
scalars,
scalarName,
expectedIndexesByScalarName[scalarName],
1
);
} else {
Assert.ok(
!(scalarName in scalars),
"Scalar should not be present: " + scalarName
);
}
}
}
/**
* Asserts that a result is a Quick Suggest result.
*
* @param {number} [index]
* The expected index of the Quick Suggest result. Pass -1 to use the index
* of the last result.
* @returns {result}
* The result at the given index.
*/
async function assertIsQuickSuggest(index = -1) {
if (index < 0) {
index = UrlbarTestUtils.getResultCount(window) - 1;
Assert.greater(index, -1, "Sanity check: Result count should be > 0");
}
let result = await UrlbarTestUtils.getDetailsOfResultAt(window, index);
Assert.equal(result.type, UrlbarUtils.RESULT_TYPE.URL, "Result type");
Assert.equal(result.url, TEST_URL, "Result URL");
Assert.ok(result.isSponsored, "Result isSponsored");
return result;
}
/**
* Asserts that none of the results are Quick Suggest results.
*/
async function assertNoQuickSuggestResults() {
for (let i = 0; i < UrlbarTestUtils.getResultCount(window); i++) {
let r = await UrlbarTestUtils.getDetailsOfResultAt(window, i);
Assert.ok(
r.type != UrlbarUtils.RESULT_TYPE.URL ||
!r.url.includes(TEST_URL) ||
!r.isSponsored,
`Result at index ${i} should not be a QuickSuggest result`
);
}
}

View File

@ -166,8 +166,6 @@ add_task(async function setup() {
.stub(SyncedTabs._internal, "getTabClients")
.callsFake(() => Promise.resolve(Cu.cloneInto([REMOTE_TAB], {})));
UrlbarTestUtils.init(this);
// Make sure to restore the engine once we're done.
registerCleanupFunction(async function() {
sandbox.restore();

View File

@ -72,7 +72,6 @@ add_task(async function setup() {
});
await PlacesUtils.history.clear();
await PlacesUtils.bookmarks.eraseEverything();
UrlbarTestUtils.init(this);
});
add_task(async function test() {

View File

@ -102,8 +102,6 @@ add_task(async function setup() {
});
add_task(async function test() {
UrlbarTestUtils.init(this);
await BrowserTestUtils.withNewTab("about:blank", async () => {
let sites = AboutNewTab.getTopSites();
Assert.equal(

View File

@ -2720,18 +2720,3 @@ installation:
- agashlin@mozilla.com
- rtestard@mozilla.com
expiry_version: "94"
contextservices.quicksuggest:
enable_toggled:
objects: ["enabled", "disabled"]
release_channel_collection: opt-out
products:
- "firefox"
record_in_processes: ["main"]
description: >
This is recorded when the `browser.urlbar.suggest.quicksuggest` boolean
pref is toggled.
bug_numbers: [1693126]
notification_emails:
- fx-search@mozilla.com
expiry_version: never

View File

@ -6719,60 +6719,6 @@ contextual.services.topsites:
- main
contextual.services.quicksuggest:
impression:
bug_numbers:
- 1693927
description: >
A keyed uint recording how many times the user has viewed Firefox Suggests
(a.k.a. Quick Suggest) results in the urlbar. The key is the 1-based index
of each result.
expires: never
kind: uint
keyed: true
notification_emails:
- najiang@mozilla.com
release_channel_collection: opt-out
products:
- 'firefox'
record_in_processes:
- main
click:
bug_numbers:
- 1693927
description: >
A keyed uint recording how many times the user has clicked on Firefox
Suggests (a.k.a. Quick Suggest) results in the urlbar (not including the
help button). The key is the 1-based index of each result.
expires: never
kind: uint
keyed: true
notification_emails:
- najiang@mozilla.com
release_channel_collection: opt-out
products:
- 'firefox'
record_in_processes:
- main
help:
bug_numbers:
- 1693927
description: >
A keyed uint recording how many times the user has clicked on the help
button in Firefox Suggests (a.k.a. Quick Suggest) results in the urlbar.
The key is the 1-based index of each result.
expires: never
kind: uint
keyed: true
notification_emails:
- najiang@mozilla.com
release_channel_collection: opt-out
products:
- 'firefox'
record_in_processes:
- main
# The following section is for probes testing the Telemetry system. They will not be
# submitted in pings and are only used for testing.
telemetry.test: