/** * Internal API Wrapper Module * Belongs to LocalCDN. * * @author Thomas Rientjes * @since 2017-12-03 * @author nobody * @since 2020-07-09 * @license MPL 2.0 * * This Source Code Form is subject to the terms of the Mozilla Public * License, v. 2.0. If a copy of the MPL was not distributed with this file, * You can obtain one at http://mozilla.org/MPL/2.0/. */ 'use strict'; /** * Wrappers */ var wrappers = {}; /** * Public Methods */ wrappers.setBadgeBackgroundColor = function (details) { if (chrome.browserAction.setBadgeBackgroundColor === undefined) { return; } if (details.type === BadgeSetting.TYPE) { storageManager.type.set({[Setting.BADGE_DEFAULT_BACKGROUND_COLOR]: details.color}); wrappers.badgeDefaultBackgroundColor = details.color; } else if (details.type === BadgeSettingHTMLFilter.TYPE) { storageManager.type.set({[Setting.BADGE_HTML_FILTER_BACKGROUND_COLOR]: details.color}); wrappers.badgeColorHTMLfilter = details.color; } else if (details.type === BadgeSettingMissingResource.TYPE) { storageManager.type.set({[Setting.BADGE_MISSING_RESOURCE_BACKGROUND_COLOR]: details.color}); wrappers.badgeMissingResourceBackgroundColor = details.color; } }; wrappers.setBadgeTextColor = function (details) { if (chrome.browserAction.setBadgeTextColor === undefined) { return; } if (details.type === BadgeSetting.TYPE) { storageManager.type.set({[Setting.BADGE_DEFAULT_TEXT_COLOR]: details.color}); wrappers.badgeDefaultTextColor = details.color; } else if (details.type === BadgeSettingHTMLFilter.TYPE) { storageManager.type.set({[Setting.BADGE_HTML_FILTER_TEXT_COLOR]: details.color}); wrappers.badgeDefaultTextColorHTMLfilter = details.color; } else if (details.type === BadgeSettingMissingResource.TYPE) { storageManager.type.set({[Setting.BADGE_MISSING_RESOURCE_TEXT_COLOR]: details.color}); wrappers.badgeMissingResourceTextColor = details.color; } }; wrappers.setBadgeText = function (tabId, text) { if (chrome.browserAction.setBadgeText !== undefined) { chrome.browserAction.setBadgeText({ 'tabId': tabId, 'text': `${text}` }); } }; wrappers.setIcon = function (details, type) { if (chrome.browserAction.setIcon) { details.path = IconType[details.path][type]; chrome.browserAction.setIcon(details); } }; wrappers.setBadgeColoring = function (tabId, value) { let textColor, backgroundColor; if (chrome.browserAction.setBadgeBackgroundColor === undefined || chrome.browserAction.setBadgeTextColor === undefined) { return; } if (value === BadgeSettingHTMLFilter.TYPE) { textColor = wrappers.badgeHTMLfilterTextColor; backgroundColor = wrappers.badgeHTMLFilterBackgroundColor; } else if (value === BadgeSetting.TYPE) { textColor = wrappers.badgeDefaultTextColor; backgroundColor = wrappers.badgeDefaultBackgroundColor; } else if (value === BadgeSettingMissingResource.TYPE) { textColor = wrappers.badgeMissingResourceTextColor; backgroundColor = wrappers.badgeMissingResourceBackgroundColor; } else { return; } chrome.browserAction.setBadgeTextColor({ 'tabId': tabId, 'color': textColor }); chrome.browserAction.setBadgeBackgroundColor({ 'tabId': tabId, 'color': backgroundColor }); };