Bug 1367349 - Remove all tooltips after clicking on a preferences category.
MozReview-Commit-ID: 5qO7oOKH0LM
--- a/browser/components/preferences/in-content-new/findInPage.js
+++ b/browser/components/preferences/in-content-new/findInPage.js
@@ -187,24 +187,17 @@ var gSearchResultsPane = {
* Shows or hides content according to search input
*
* @param String event
* to search for filted query in
*/
searchFunction(event) {
let query = event.target.value.trim().toLowerCase();
this.findSelection.removeAllRanges();
-
- // Remove all search tooltips that were created
- let searchTooltips = Array.from(document.querySelectorAll(".search-tooltip"));
- for (let searchTooltip of searchTooltips) {
- searchTooltip.parentElement.classList.remove("search-tooltip-parent");
- searchTooltip.remove();
- }
- this.listSearchTooltips = [];
+ this.removeAllSearchTooltips();
let srHeader = document.getElementById("header-searchResults");
if (query) {
// Showing the Search Results Tag
gotoPref("paneSearchResults");
this.searchResultsCategory.hidden = false;
@@ -365,10 +358,22 @@ var gSearchResultsPane = {
let tooltipRect = searchTooltip.getBoundingClientRect();
let parentRect = currentNode.parentElement.getBoundingClientRect();
let offSet = (anchorRect.width / 2) - (tooltipRect.width / 2);
let relativeOffset = anchorRect.left - parentRect.left;
offSet += relativeOffset > 0 ? relativeOffset : 0;
searchTooltip.style.setProperty("left", `${offSet}px`);
+ },
+
+ /**
+ * Remove all search tooltips that were created.
+ */
+ removeAllSearchTooltips() {
+ let searchTooltips = Array.from(document.querySelectorAll(".search-tooltip"));
+ for (let searchTooltip of searchTooltips) {
+ searchTooltip.parentElement.classList.remove("search-tooltip-parent");
+ searchTooltip.remove();
+ }
+ this.listSearchTooltips = [];
}
}
--- a/browser/components/preferences/in-content-new/preferences.js
+++ b/browser/components/preferences/in-content-new/preferences.js
@@ -161,16 +161,17 @@ function gotoPref(aCategory) {
if (subcategory) {
category = category.substring(0, breakIndex);
}
category = friendlyPrefCategoryNameToInternalName(category);
if (category != "paneSearchResults") {
gSearchResultsPane.searchInput.value = "";
gSearchResultsPane.searchResultsCategory.hidden = true;
gSearchResultsPane.findSelection.removeAllRanges();
+ gSearchResultsPane.removeAllSearchTooltips();
}
// Updating the hash (below) or changing the selected category
// will re-enter gotoPref.
if (gLastHash == category && !subcategory)
return;
let item = categories.querySelector(".category[value=" + category + "]");
if (!item) {