| Index: background.js |
| =================================================================== |
| --- a/background.js |
| +++ b/background.js |
| @@ -73,22 +73,8 @@ |
| }); |
| } |
| -// Sets options to defaults, upgrading old options from previous versions as necessary |
| -function setDefaultOptions() |
| -{ |
| - function defaultOptionValue(opt, val) |
| - { |
| - if(!(opt in localStorage)) |
| - localStorage[opt] = val; |
| - } |
| - |
| - defaultOptionValue("shouldShowBlockElementMenu", "true"); |
| - |
| - removeDeprecatedOptions(); |
| -} |
| - |
| -// Upgrade options before we do anything else. |
| -setDefaultOptions(); |
| +// Remove deprecated options before we do anything else. |
| +removeDeprecatedOptions(); |
| /** |
| * Checks whether a page is whitelisted. |
| @@ -133,11 +119,10 @@ |
| iconAnimation.registerTab(tab, iconFilename); |
| - // Set context menu status according to whether current tab has whitelisted domain |
| if (excluded) |
| - chrome.contextMenus.removeAll(); |
| + ext.contextMenus.hideMenu(); |
| else |
| - showContextMenu(); |
| + ext.contextMenus.showMenu(); |
| } |
| /** |
| @@ -255,22 +240,28 @@ |
| notifyUser(); |
| } |
| -// Set up context menu for user selection of elements to block |
| -function showContextMenu() |
| +function setContextMenu() |
| { |
| - ext.contextMenus.removeAll(function() |
| + if (Prefs.shouldShowBlockElementMenu) |
| { |
| - if(typeof localStorage["shouldShowBlockElementMenu"] == "string" && localStorage["shouldShowBlockElementMenu"] == "true") |
| + // Register context menu item |
| + ext.contextMenus.addMenuItem(ext.i18n.getMessage("block_element"), ["image", "video", "audio"], function(srcUrl, tab) |
| { |
| - ext.contextMenus.create(ext.i18n.getMessage("block_element"), ["image", "video", "audio"], function(srcUrl, tab) |
| - { |
| - if(srcUrl) |
| - tab.sendMessage({type: "clickhide-new-filter", filter: srcUrl}); |
| - }); |
| - } |
| - }); |
| + if (srcUrl) |
| + tab.sendMessage({type: "clickhide-new-filter", filter: srcUrl}); |
| + }); |
| + } |
| + else |
| + ext.contextMenus.removeMenuItems(); |
| } |
| +Prefs.addListener(function(name) |
| +{ |
| + if (name == "shouldShowBlockElementMenu") |
| + setContextMenu(); |
| +}); |
| +setContextMenu(); |
| + |
| /** |
| * Opens options tab or focuses an existing one, within the last focused window. |
| * @param {Function} callback function to be called with the |
| @@ -393,7 +384,7 @@ |
| { |
| var collapse = filter.collapse; |
| if (collapse == null) |
| - collapse = (localStorage.hidePlaceholders != "false"); |
| + collapse = Prefs.hidePlaceholders; |
| sendResponse(collapse); |
| } |
| else |