Bug 1863530 - Remove browser.search.widget.inNavBar pref. r=dao,settings-reviewers,search-reviewers,omc-reviewers,urlbar-reviewers,Gijs,aminomancer

Differential Revision: https://phabricator.services.mozilla.com/D215607
This commit is contained in:
Moritz Beier
2024-07-23 17:29:00 +00:00
parent be1e463af4
commit 650113020b
28 changed files with 124 additions and 234 deletions

View File

@@ -11,6 +11,7 @@ ChromeUtils.defineESModuleGetters(lazy, {
SearchUIUtils: "resource:///modules/SearchUIUtils.sys.mjs",
SearchUtils: "resource://gre/modules/SearchUtils.sys.mjs",
UrlbarPrefs: "resource:///modules/UrlbarPrefs.sys.mjs",
CustomizableUI: "resource:///modules/CustomizableUI.sys.mjs",
});
const PREF_URLBAR_QUICKSUGGEST_BLOCKLIST =
@@ -21,7 +22,6 @@ Preferences.addAll([
{ id: "browser.search.suggest.enabled", type: "bool" },
{ id: "browser.urlbar.suggest.searches", type: "bool" },
{ id: "browser.search.suggest.enabled.private", type: "bool" },
{ id: "browser.search.widget.inNavBar", type: "bool" },
{ id: "browser.urlbar.showSearchSuggestionsFirst", type: "bool" },
{ id: "browser.urlbar.showSearchTerms.enabled", type: "bool" },
{ id: "browser.search.separatePrivateDefault", type: "bool" },
@@ -79,7 +79,6 @@ var gSearchPane = {
let suggestsPref = Preferences.get("browser.search.suggest.enabled");
let urlbarSuggestsPref = Preferences.get("browser.urlbar.suggest.searches");
let searchBarPref = Preferences.get("browser.search.widget.inNavBar");
let privateSuggestsPref = Preferences.get(
"browser.search.suggest.enabled.private"
);
@@ -88,7 +87,14 @@ var gSearchPane = {
this._updateSuggestionCheckboxes.bind(this);
suggestsPref.on("change", updateSuggestionCheckboxes);
urlbarSuggestsPref.on("change", updateSuggestionCheckboxes);
searchBarPref.on("change", updateSuggestionCheckboxes);
let customizableUIListener = {
onWidgetAfterDOMChange: updateSuggestionCheckboxes,
};
lazy.CustomizableUI.addListener(customizableUIListener);
window.addEventListener("unload", () => {
lazy.CustomizableUI.removeListener(customizableUIListener);
});
let urlbarSuggests = document.getElementById("urlBarSuggestion");
urlbarSuggests.addEventListener("command", () => {
urlbarSuggestsPref.value = urlbarSuggests.checked;
@@ -100,7 +106,7 @@ var gSearchPane = {
// all prefs.
suggestionsInSearchFieldsCheckbox.addEventListener("command", () => {
this._skipUpdateSuggestionCheckboxesFromPrefChanges = true;
if (!searchBarPref.value) {
if (!lazy.CustomizableUI.getPlacementOfWidget("search-container")) {
urlbarSuggestsPref.value = suggestionsInSearchFieldsCheckbox.checked;
}
suggestsPref.value = suggestionsInSearchFieldsCheckbox.checked;
@@ -163,14 +169,18 @@ var gSearchPane = {
};
NimbusFeatures.urlbar.onUpdate(onNimbus);
// Add observer of Search Bar preference as showSearchTerms
// can't be shown/hidden while Search Bar is enabled.
let searchBarPref = Preferences.get("browser.search.widget.inNavBar");
let updateCheckboxHidden = () => {
checkbox.hidden =
!UrlbarPrefs.get("showSearchTermsFeatureGate") || searchBarPref.value;
!UrlbarPrefs.get("showSearchTermsFeatureGate") ||
!!lazy.CustomizableUI.getPlacementOfWidget("search-container");
};
searchBarPref.on("change", updateCheckboxHidden);
// Add observer of CustomizableUI as showSearchTerms
// can't be shown/hidden while Search Bar is enabled.
let customizableUIListener = {
onWidgetAfterDOMChange: updateCheckboxHidden,
};
lazy.CustomizableUI.addListener(customizableUIListener);
// Fire once to initialize.
onNimbus();
@@ -178,6 +188,7 @@ var gSearchPane = {
window.addEventListener("unload", () => {
NimbusFeatures.urlbar.offUpdate(onNimbus);
lazy.CustomizableUI.removeListener(customizableUIListener);
});
},
@@ -215,14 +226,14 @@ var gSearchPane = {
"showSearchSuggestionsPrivateWindows"
);
let urlbarSuggestsPref = Preferences.get("browser.urlbar.suggest.searches");
let searchBarPref = Preferences.get("browser.search.widget.inNavBar");
let searchBarVisible =
!!lazy.CustomizableUI.getPlacementOfWidget("search-container");
suggestionsInSearchFieldsCheckbox.checked =
suggestsPref.value &&
(searchBarPref.value ? true : urlbarSuggestsPref.value);
suggestsPref.value && (searchBarVisible || urlbarSuggestsPref.value);
urlbarSuggests.disabled = !suggestsPref.value || permanentPB;
urlbarSuggests.hidden = !searchBarPref.value;
urlbarSuggests.hidden = !searchBarVisible;
privateWindowCheckbox.disabled = !suggestsPref.value;
privateWindowCheckbox.checked = Preferences.get(
@@ -249,7 +260,7 @@ var gSearchPane = {
}
if (
suggestionsInSearchFieldsCheckbox.checked &&
!searchBarPref.value &&
!searchBarVisible &&
!urlbarSuggests.checked
) {
urlbarSuggestsPref.value = true;