diff --git a/lib/notification.js b/lib/notification.js index 82301f3..8d17ead 100644 --- a/lib/notification.js +++ b/lib/notification.js @@ -52,9 +52,11 @@ } }; - browser.browserAction.setBadgeBackgroundColor({ - color: "rgba(255, 0, 0, 0.6)" - }); + if (browser.browserAction.setBadgeBackgroundColor){ + browser.browserAction.setBadgeBackgroundColor({ + color: "rgba(255, 0, 0, 0.6)" + }); + } const tabsData = new Map(); function getTabData(tabId){ @@ -80,19 +82,26 @@ !lists.get("ignore").match(url) ){ browser.pageAction.show(tabId); - browser.pageAction.setIcon({ + if (browser.pageAction.setIcon){ + browser.pageAction.setIcon({ + tabId: tabId, + path: paths.pageAction[settings.highlightPageAction] + }); + } + } + if (browser.browserAction.setIcon){ + browser.browserAction.setIcon({ tabId: tabId, - path: paths.pageAction[settings.highlightPageAction] + path: paths.browserAction[getBrowserActionIconName(tabData, true)] }); } - browser.browserAction.setIcon({ - tabId: tabId, - path: paths.browserAction[getBrowserActionIconName(tabData, true)] - }); const apis = tabData.apis; apis.add(api); - if (settings.get("displayBadge", url)){ + if ( + settings.get("displayBadge", url) && + browser.browserAction.setBadgeText + ){ browser.browserAction.setBadgeText({ tabId: tabId, text: apis.size > 1? apis.size.toString(): api.charAt(0).toUpperCase() @@ -126,18 +135,24 @@ tabData.whitelisted = isWhitelisted(url); browser.pageAction.hide(tabId); - browser.pageAction.setIcon({ - tabId: tabId, - path: paths.pageAction.none - }); - browser.browserAction.setIcon({ - tabId: tabId, - path: paths.browserAction[getBrowserActionIconName(tabData, false)] - }); - browser.browserAction.setBadgeText({ - tabId: tabId, - text: "" - }); + if (browser.pageAction.setIcon){ + browser.pageAction.setIcon({ + tabId: tabId, + path: paths.pageAction.none + }); + } + if (browser.browserAction.setIcon){ + browser.browserAction.setIcon({ + tabId: tabId, + path: paths.browserAction[getBrowserActionIconName(tabData, false)] + }); + } + if (browser.browserAction.setBadgeText){ + browser.browserAction.setBadgeText({ + tabId: tabId, + text: "" + }); + } let browserActionTitle = browser.i18n.getMessage("browserAction_title_default"); if (tabData.whitelisted){ browserActionTitle += browser.i18n.getMessage("browserAction_title_whitelisted").replace(/{url}/g, url); @@ -165,14 +180,16 @@ settings.on("displayBadge", function({newValue}){ if (!newValue){ logging.message("badge was disabled -> hide all badges"); - browser.tabs.query({}).then(function(tabs){ - tabs.forEach(function(tab){ - browser.browserAction.setBadgeText({ - tabId: tab.id, - text: "" + if (browser.browserAction.setBadgeText){ + browser.tabs.query({}).then(function(tabs){ + tabs.forEach(function(tab){ + browser.browserAction.setBadgeText({ + tabId: tab.id, + text: "" + }); }); }); - }); + } } }); }()); \ No newline at end of file