| Index: lib/ui.js |
| =================================================================== |
| --- a/lib/ui.js |
| +++ b/lib/ui.js |
| @@ -1384,64 +1384,76 @@ let UI = exports.UI = |
| else |
| return [subscriptions, filters] |
| }, [0, 0]); |
| statusStr = statusStr.replace(/\?1\?/, activeSubscriptions).replace(/\?2\?/, activeFilters); |
| } |
| statusDescr.setAttribute("value", statusStr); |
| - let activeFilters = []; |
| - E("abp-tooltip-blocked-label").hidden = (state != "active"); |
| - E("abp-tooltip-blocked").hidden = (state != "active"); |
| + E("abp-tooltip-blocked-label").hidden = true; |
| + E("abp-tooltip-blocked").hidden = true; |
| + E("abp-tooltip-filters-label").hidden = true; |
| + E("abp-tooltip-filters").hidden = true; |
| + E("abp-tooltip-more-filters").hidden = true; |
| + |
| if (state == "active") |
| { |
| let {getBrowser} = require("appSupport"); |
| - let stats = RequestNotifier.getWindowStatistics(getBrowser(window).contentWindow); |
| + let browser = getBrowser(window); |
| + if ("selectedBrowser" in browser) |
| + browser = browser.selectedBrowser; |
| + let outerWindowID = browser.outerWindowID; |
| + RequestNotifier.getWindowStatistics(outerWindowID, (stats) => |
| + { |
| + E("abp-tooltip-blocked-label").hidden = false; |
| + E("abp-tooltip-blocked").hidden = false; |
| - let blockedStr = Utils.getString("blocked_count_tooltip"); |
| - blockedStr = blockedStr.replace(/\?1\?/, stats ? stats.blocked : 0).replace(/\?2\?/, stats ? stats.items : 0); |
| + let blockedStr = Utils.getString("blocked_count_tooltip"); |
| + blockedStr = blockedStr.replace(/\?1\?/, stats ? stats.blocked : 0).replace(/\?2\?/, stats ? stats.items : 0); |
| - if (stats && stats.whitelisted + stats.hidden) |
| - { |
| - blockedStr += " " + Utils.getString("blocked_count_addendum"); |
| - blockedStr = blockedStr.replace(/\?1\?/, stats.whitelisted).replace(/\?2\?/, stats.hidden); |
| - } |
| + if (stats && stats.whitelisted + stats.hidden) |
| + { |
| + blockedStr += " " + Utils.getString("blocked_count_addendum"); |
| + blockedStr = blockedStr.replace(/\?1\?/, stats.whitelisted).replace(/\?2\?/, stats.hidden); |
| + } |
| - E("abp-tooltip-blocked").setAttribute("value", blockedStr); |
| + E("abp-tooltip-blocked").setAttribute("value", blockedStr); |
| - if (stats) |
| - { |
| - let filterSort = function(a, b) |
| + let activeFilters = []; |
| + if (stats) |
| { |
| - return stats.filters[b] - stats.filters[a]; |
| - }; |
| - for (let filter in stats.filters) |
| - activeFilters.push(filter); |
| - activeFilters = activeFilters.sort(filterSort); |
| - } |
| + let filterSort = function(a, b) |
| + { |
| + return stats.filters[b] - stats.filters[a]; |
| + }; |
| + for (let filter in stats.filters) |
| + activeFilters.push(filter); |
| + activeFilters = activeFilters.sort(filterSort); |
| + } |
| - if (activeFilters.length > 0) |
| - { |
| - let filtersContainer = E("abp-tooltip-filters"); |
| - while (filtersContainer.firstChild) |
| - filtersContainer.removeChild(filtersContainer.firstChild); |
| + if (activeFilters.length > 0) |
| + { |
| + let filtersContainer = E("abp-tooltip-filters"); |
| + while (filtersContainer.firstChild) |
| + filtersContainer.removeChild(filtersContainer.firstChild); |
| - for (let i = 0; i < activeFilters.length && i < 3; i++) |
| - { |
| - let descr = filtersContainer.ownerDocument.createElement("description"); |
| - descr.setAttribute("value", activeFilters[i] + " (" + stats.filters[activeFilters[i]] + ")"); |
| - filtersContainer.appendChild(descr); |
| + for (let i = 0; i < activeFilters.length && i < 3; i++) |
| + { |
| + let descr = filtersContainer.ownerDocument.createElement("description"); |
| + descr.setAttribute("value", activeFilters[i] + " (" + stats.filters[activeFilters[i]] + ")"); |
| + filtersContainer.appendChild(descr); |
| + } |
| } |
| - } |
| + |
| + E("abp-tooltip-filters-label").hidden = (activeFilters.length == 0); |
| + E("abp-tooltip-filters").hidden = (activeFilters.length == 0); |
| + E("abp-tooltip-more-filters").hidden = (activeFilters.length <= 3); |
| + }); |
| } |
| - |
| - E("abp-tooltip-filters-label").hidden = (activeFilters.length == 0); |
| - E("abp-tooltip-filters").hidden = (activeFilters.length == 0); |
| - E("abp-tooltip-more-filters").hidden = (activeFilters.length <= 3); |
| }, |
| /** |
| * Updates state of the icon context menu. |
| */ |
| fillIconMenu: function(/**Event*/ event, /**Window*/ window, /**String*/ prefix) |
| { |
| function hideElement(id, hide) |