From c3351b13066a2cc2a53907bd65771bc763c67b3b Mon Sep 17 00:00:00 2001 From: Tim Nguyen Date: Tue, 28 May 2019 15:34:25 +0000 Subject: [PATCH 01/80] Bug 1550090 - Fix theme active check. r=dao Differential Revision: https://phabricator.services.mozilla.com/D30396 --HG-- extra : moz-landing-system : lando --- .../components/extensions/parent/ext-theme.js | 38 +++++++------------ toolkit/modules/LightweightThemeConsumer.jsm | 16 +++----- .../test/browser/browser_webapi_theme.js | 6 +-- 3 files changed, 22 insertions(+), 38 deletions(-) diff --git a/toolkit/components/extensions/parent/ext-theme.js b/toolkit/components/extensions/parent/ext-theme.js index 5dc5ca3a7b2f..f963eeeda695 100644 --- a/toolkit/components/extensions/parent/ext-theme.js +++ b/toolkit/components/extensions/parent/ext-theme.js @@ -45,20 +45,11 @@ class Theme { if (startupData && startupData.lwtData) { Object.assign(this, startupData); } else { - // TODO(ntim): clean this in bug 1550090 this.lwtStyles = {}; - this.lwtDarkStyles = null; - if (darkDetails) { - this.lwtDarkStyles = {}; - } + this.lwtDarkStyles = {}; if (experiment) { if (extension.experimentsAllowed) { - this.lwtStyles.experimental = { - colors: {}, - images: {}, - properties: {}, - }; const {baseURI} = this.extension; if (experiment.stylesheet) { experiment.stylesheet = baseURI.resolve(experiment.stylesheet); @@ -91,6 +82,8 @@ class Theme { this.lwtData = { theme: this.lwtStyles, darkTheme: this.lwtDarkStyles, + id: this.extension.id, + version: this.extension.version, }; if (this.experiment) { @@ -126,6 +119,14 @@ class Theme { * @param {Object} styles Styles object in which to store the colors. */ loadDetails(details, styles) { + if (this.experiment) { + styles.experimental = { + colors: {}, + images: {}, + properties: {}, + }; + } + if (details.colors) { this.loadColors(details.colors, styles); } @@ -137,8 +138,6 @@ class Theme { if (details.properties) { this.loadProperties(details.properties, styles); } - - this.loadMetadata(this.extension, styles); } /** @@ -337,21 +336,10 @@ class Theme { } } - /** - * Helper method for loading extension metadata required by downstream - * consumers. - * - * @param {Object} extension Extension object. - * @param {Object} styles Styles object in which to store the colors. - */ - loadMetadata(extension, styles) { - styles.id = extension.id; - styles.version = extension.version; - } - static unload(windowId) { let lwtData = { - theme: null, + theme: {}, + darkTheme: {}, }; if (windowId) { diff --git a/toolkit/modules/LightweightThemeConsumer.jsm b/toolkit/modules/LightweightThemeConsumer.jsm index 213728d30304..fec6c3752c24 100644 --- a/toolkit/modules/LightweightThemeConsumer.jsm +++ b/toolkit/modules/LightweightThemeConsumer.jsm @@ -188,12 +188,9 @@ LightweightThemeConsumer.prototype = { _update(themeData) { this._lastData = themeData; - let theme = themeData.theme; - if (themeData.darkTheme && this.darkMode) { - theme = themeData.darkTheme; - } - if (!theme) { - theme = { id: DEFAULT_THEME_ID }; + let { theme, darkTheme, experiment, id } = themeData; + if (darkTheme && Object.keys(darkTheme).length && this.darkMode) { + theme = darkTheme; } let active = this._active = Object.keys(theme).length; @@ -206,8 +203,6 @@ LightweightThemeConsumer.prototype = { root.removeAttribute("lwtheme-image"); } - this._setExperiment(active, themeData.experiment, theme.experimental); - if (theme.headerImage) { this._doc.mozSetImageElement("lwt-header-image", theme.headerImage); root.style.setProperty("--lwt-header-image", "-moz-element(#lwt-header-image)"); @@ -218,14 +213,15 @@ LightweightThemeConsumer.prototype = { _setImage(root, active, "--lwt-additional-images", theme.additionalBackgrounds); _setProperties(root, active, theme); + this._setExperiment(active, experiment, theme.experimental); - if (theme.id != DEFAULT_THEME_ID || this.darkMode) { + if (active) { root.setAttribute("lwtheme", "true"); } else { root.removeAttribute("lwtheme"); root.removeAttribute("lwthemetextcolor"); } - if (theme.id == DEFAULT_THEME_ID && this.darkMode) { + if (id == DEFAULT_THEME_ID && this.darkMode) { root.setAttribute("lwt-default-theme-in-dark-mode", "true"); } else { root.removeAttribute("lwt-default-theme-in-dark-mode"); diff --git a/toolkit/mozapps/extensions/test/browser/browser_webapi_theme.js b/toolkit/mozapps/extensions/test/browser/browser_webapi_theme.js index d4fd6bf78f61..b43eabc91d92 100644 --- a/toolkit/mozapps/extensions/test/browser/browser_webapi_theme.js +++ b/toolkit/mozapps/extensions/test/browser/browser_webapi_theme.js @@ -49,10 +49,10 @@ add_task(async function test_theme_install() { let parsed = JSON.parse(updates[0]); ok(parsed.theme.headerURL.endsWith("/testImage.png"), "Theme update has the expected headerURL"); - is(parsed.theme.id, "theme@tests.mozilla.org", "Theme update includes the theme ID"); - is(parsed.theme.version, "1.0", "Theme update includes the theme's version"); + is(parsed.id, "theme@tests.mozilla.org", "Theme update includes the theme ID"); + is(parsed.version, "1.0", "Theme update includes the theme's version"); - let addon = await AddonManager.getAddonByID(parsed.theme.id); + let addon = await AddonManager.getAddonByID(parsed.id); await addon.uninstall(); }); }); From 6af060e8b1a41c358db5cf88cd5905714e99ac42 Mon Sep 17 00:00:00 2001 From: Alexis Beingessner Date: Tue, 28 May 2019 14:55:48 +0000 Subject: [PATCH 02/80] Bug 1553295 - let masks be active in blobs. r=jrmuizel There doesn't seem to be a reason *not* to do this (merely an omission), and the results we get without it are messing up somewhere with invalidation and image cache management. This is likely just a bandaid over a more serious issue, but if we never observe that issue, does it exist..? Differential Revision: https://phabricator.services.mozilla.com/D32833 --HG-- extra : moz-landing-system : lando --- gfx/layers/wr/WebRenderCommandBuilder.cpp | 1 + 1 file changed, 1 insertion(+) diff --git a/gfx/layers/wr/WebRenderCommandBuilder.cpp b/gfx/layers/wr/WebRenderCommandBuilder.cpp index b015923703dc..5dea2b40ee73 100644 --- a/gfx/layers/wr/WebRenderCommandBuilder.cpp +++ b/gfx/layers/wr/WebRenderCommandBuilder.cpp @@ -1157,6 +1157,7 @@ static bool IsItemProbablyActive(nsDisplayItem* aItem, } case DisplayItemType::TYPE_WRAP_LIST: case DisplayItemType::TYPE_CONTAINER: + case DisplayItemType::TYPE_MASK: case DisplayItemType::TYPE_PERSPECTIVE: { if (aItem->GetChildren()) { return HasActiveChildren(*aItem->GetChildren(), aDisplayListBuilder); From 2b13205aa8ae09c8aae481cd638332be92292696 Mon Sep 17 00:00:00 2001 From: Ehsan Akhgari Date: Tue, 28 May 2019 17:21:32 +0000 Subject: [PATCH 03/80] Bug 1555020 - Make sure closing the findbar doesn't close the entire window; r=mossop Differential Revision: https://phabricator.services.mozilla.com/D32858 --HG-- extra : moz-landing-system : lando --- toolkit/content/tests/browser/head.js | 3 ++- toolkit/content/widgets/findbar.js | 2 +- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/toolkit/content/tests/browser/head.js b/toolkit/content/tests/browser/head.js index 4c38d33b76d1..c5c777d53840 100644 --- a/toolkit/content/tests/browser/head.js +++ b/toolkit/content/tests/browser/head.js @@ -20,7 +20,8 @@ function closeFindbarAndWait(findbar) { findbar.removeEventListener("transitionend", cont); resolve(); }); - findbar.close(); + let close = findbar.getElement("find-closebutton"); + close.doCommand(); }); } diff --git a/toolkit/content/widgets/findbar.js b/toolkit/content/widgets/findbar.js index 2d5f949fc9d6..9ac92d3ab4ff 100644 --- a/toolkit/content/widgets/findbar.js +++ b/toolkit/content/widgets/findbar.js @@ -42,7 +42,7 @@ class MozFindbar extends XULElement { - + `); } From 645496a1cb8232830709dc92ea5f983cdcb12376 Mon Sep 17 00:00:00 2001 From: Yury Delendik Date: Fri, 24 May 2019 18:33:40 +0000 Subject: [PATCH 04/80] Bug 1554272 - Don't generate source menu items for wasm files. r=jlast Differential Revision: https://phabricator.services.mozilla.com/D32508 --HG-- extra : moz-landing-system : lando --- .../src/components/Editor/menus/editor.js | 28 +++++++++---------- 1 file changed, 13 insertions(+), 15 deletions(-) diff --git a/devtools/client/debugger/src/components/Editor/menus/editor.js b/devtools/client/debugger/src/components/Editor/menus/editor.js index bc77c3556c9d..4968adf87a9b 100644 --- a/devtools/client/debugger/src/components/Editor/menus/editor.js +++ b/devtools/client/debugger/src/components/Editor/menus/editor.js @@ -67,19 +67,13 @@ const copySourceItem = ( selectedSource: Source, selectionText: string, editorActions: EditorItemActions -) => { - if (selectedSource.isWasm) { - return; - } - - return { - id: "node-menu-copy-source", - label: L10N.getStr("copySource.label"), - accesskey: L10N.getStr("copySource.accesskey"), - disabled: selectionText.length === 0, - click: () => copyToTheClipboard(selectionText), - }; -}; +) => ({ + id: "node-menu-copy-source", + label: L10N.getStr("copySource.label"), + accesskey: L10N.getStr("copySource.accesskey"), + disabled: selectionText.length === 0, + click: () => copyToTheClipboard(selectionText), +}); const copySourceUri2Item = ( selectedSource: Source, @@ -208,8 +202,12 @@ export function editorMenuItems({ ...(content && isFulfilled(content) ? [copyToClipboardItem(content.value, editorActions)] : []), - copySourceItem(selectedSource, selectionText, editorActions), - copySourceUri2Item(selectedSource, editorActions), + ...(!selectedSource.isWasm + ? [ + copySourceItem(selectedSource, selectionText, editorActions), + copySourceUri2Item(selectedSource, editorActions), + ] + : []), ...(content && isFulfilled(content) ? [downloadFileItem(selectedSource, content.value, editorActions)] : []), From 551c981b0803a93224fc0b0e7b7f8ef8e941ec2d Mon Sep 17 00:00:00 2001 From: Robert Strong Date: Tue, 28 May 2019 17:36:16 +0000 Subject: [PATCH 05/80] Bug 1503341 - Use UX provided text for displaying errors when writing the update settings json file. r=bytesized,flod Differential Revision: https://phabricator.services.mozilla.com/D32637 --HG-- extra : moz-landing-system : lando --- browser/components/preferences/in-content/main.js | 4 ++-- .../locales/en-US/browser/preferences/preferences.ftl | 9 +++++++-- 2 files changed, 9 insertions(+), 4 deletions(-) diff --git a/browser/components/preferences/in-content/main.js b/browser/components/preferences/in-content/main.js index f336cad4bb0e..df057981c0e2 100644 --- a/browser/components/preferences/in-content/main.js +++ b/browser/components/preferences/in-content/main.js @@ -1374,8 +1374,8 @@ var gMainPane = { async reportUpdatePrefWriteError(error) { let [title, message] = await document.l10n.formatValues([ - {id: "update-pref-write-failure-title"}, - {id: "update-pref-write-failure-message", args: {path: error.path}}, + {id: "update-setting-write-failure-title"}, + {id: "update-setting-write-failure-message", args: {path: error.path}}, ]); // Set up the Ok Button diff --git a/browser/locales/en-US/browser/preferences/preferences.ftl b/browser/locales/en-US/browser/preferences/preferences.ftl index f84d8c3c95b4..50289b15d69f 100644 --- a/browser/locales/en-US/browser/preferences/preferences.ftl +++ b/browser/locales/en-US/browser/preferences/preferences.ftl @@ -360,11 +360,16 @@ update-enable-search-update = .label = Automatically update search engines .accesskey = e -update-pref-write-failure-title = Write Failure +update-setting-write-failure-title = Error saving Update preferences # Variables: # $path (String) - Path to the configuration file -update-pref-write-failure-message = Unable to save preference. Could not write to file: { $path } +# The newlines between the main text and the line containing the path is +# intentional so the path is easier to identify. +update-setting-write-failure-message = + { -brand-short-name } encountered an error and didn’t save this change. Note that setting this update preference requires permission to write to the file below. You or a system administrator may be able resolve the error by granting the Users group full control to this file. + + Could not write to file: { $path } update-in-progress-title = Update In Progress From f24537c7053530f7f5b589cfaded8bba43d57bed Mon Sep 17 00:00:00 2001 From: Ehsan Akhgari Date: Tue, 28 May 2019 15:01:23 +0000 Subject: [PATCH 06/80] Bug 1549560 - Part 2: Switch the loop variable to a size_t type Differential Revision: https://phabricator.services.mozilla.com/D32835 --HG-- extra : moz-landing-system : lando --- dom/base/Document.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/dom/base/Document.cpp b/dom/base/Document.cpp index fec6544a2f84..615b5b02af2d 100644 --- a/dom/base/Document.cpp +++ b/dom/base/Document.cpp @@ -7075,7 +7075,7 @@ void Document::WriteCommon(const Sequence& aText, // without having to do all this copying and then ask it to start // parsing.... nsString text; - for (uint32_t i = 0; i < aText.Length(); ++i) { + for (size_t i = 0; i < aText.Length(); ++i) { text.Append(aText[i]); } WriteCommon(text, aNewlineTerminate, rv); From f8c1d206ce82cedb64dbd1b77b869d2e39110516 Mon Sep 17 00:00:00 2001 From: Brad Arant Date: Fri, 24 May 2019 15:11:23 +0000 Subject: [PATCH 07/80] Bug 1524868 - StartActivity must be called from Activity context and not Application context.;r=VladBaicu Differential Revision: https://phabricator.services.mozilla.com/D32481 --HG-- extra : moz-landing-system : lando --- mobile/android/base/java/org/mozilla/gecko/BrowserApp.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mobile/android/base/java/org/mozilla/gecko/BrowserApp.java b/mobile/android/base/java/org/mozilla/gecko/BrowserApp.java index 7887635073ad..66b99cc3bd9d 100644 --- a/mobile/android/base/java/org/mozilla/gecko/BrowserApp.java +++ b/mobile/android/base/java/org/mozilla/gecko/BrowserApp.java @@ -1143,7 +1143,7 @@ public class BrowserApp extends GeckoApp // User clicked a new link to be opened in Firefox. // We returned from Picture-in-picture mode and now must try to open that link. if (startingIntentAfterPip != null) { - getApplication().startActivity(startingIntentAfterPip); + startActivity(startingIntentAfterPip); startingIntentAfterPip = null; } else { // Get if the user pressed in the PIP window to return to full app or closed it entirely From d05ff70e118b040e0cd405299bbed6cb0aab1d2a Mon Sep 17 00:00:00 2001 From: Tom Ritter Date: Tue, 28 May 2019 14:51:12 +0000 Subject: [PATCH 08/80] Bug 1553726 - Disable the RDD process for MinGW builds until we can figure out the numerous failures r=mjf Differential Revision: https://phabricator.services.mozilla.com/D32263 --HG-- extra : moz-landing-system : lando --- modules/libpref/init/StaticPrefList.h | 8 ++++++-- modules/libpref/init/all.js | 2 +- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/modules/libpref/init/StaticPrefList.h b/modules/libpref/init/StaticPrefList.h index ade2caf28dc5..e2b8749b57d6 100644 --- a/modules/libpref/init/StaticPrefList.h +++ b/modules/libpref/init/StaticPrefList.h @@ -4592,8 +4592,12 @@ VARCACHE_PREF( ) #undef PREF_VALUE -#if defined(XP_WIN) && !defined(_ARM64_) -# define PREF_VALUE true +#if defined(XP_WIN) +# if defined(_ARM64_) || defined(__MINGW32__) +# define PREF_VALUE false +# else +# define PREF_VALUE true +# endif #elif defined(XP_MACOSX) # define PREF_VALUE true #elif defined(XP_LINUX) && !defined(ANDROID) diff --git a/modules/libpref/init/all.js b/modules/libpref/init/all.js index 634cfaa40a28..0a3d86cc010d 100644 --- a/modules/libpref/init/all.js +++ b/modules/libpref/init/all.js @@ -628,7 +628,7 @@ pref("media.cubeb.sandbox", false); pref("media.audiograph.single_thread.enabled", false); #ifdef MOZ_AV1 -#if defined(XP_WIN) && !defined(_ARM64_) +#if defined(XP_WIN) && !defined(_ARM64_) && !defined(__MINGW32__) pref("media.av1.enabled", true); pref("media.av1.use-dav1d", true); #elif defined(XP_MACOSX) From 9ba3ecc9f8b09afa5f34f04fb6b12353225ebd67 Mon Sep 17 00:00:00 2001 From: Mark Striemer Date: Tue, 28 May 2019 08:33:22 +0000 Subject: [PATCH 09/80] Bug 1554317 - String for showing add-on recommendations r=rpl,flod This string will be used as the alt and title text for the recommended icon in about:addons. The patch to add the image will follow, once we have a way of identifying add-ons that were recommended. Differential Revision: https://phabricator.services.mozilla.com/D32542 --HG-- extra : moz-landing-system : lando --- toolkit/locales/en-US/toolkit/about/aboutAddons.ftl | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/toolkit/locales/en-US/toolkit/about/aboutAddons.ftl b/toolkit/locales/en-US/toolkit/about/aboutAddons.ftl index 819e42d4ff25..8a36c9c2344d 100644 --- a/toolkit/locales/en-US/toolkit/about/aboutAddons.ftl +++ b/toolkit/locales/en-US/toolkit/about/aboutAddons.ftl @@ -448,6 +448,12 @@ addon-detail-private-browsing-help = When allowed, the extension will have acces addon-detail-private-browsing-allow = Allow addon-detail-private-browsing-disallow = Don’t Allow +# This is the tooltip text for the recommended badge for an extension in about:addons. The +# badge is a small icon displayed next to an extension when it is recommended on AMO. +addon-badge-recommended = + .title = Recommended + .alt = Recommended + available-updates-heading = Available Updates recent-updates-heading = Recent Updates From 31a5b7fb07ede27b33a0ac245a39f3a82324b182 Mon Sep 17 00:00:00 2001 From: Florens Verschelde Date: Tue, 28 May 2019 13:34:16 +0000 Subject: [PATCH 10/80] Bug 1554938 - Make WelcomeBox text less thin for readability on low res; r=jlast Differential Revision: https://phabricator.services.mozilla.com/D32822 --HG-- extra : moz-landing-system : lando --- devtools/client/debugger/src/components/WelcomeBox.css | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/devtools/client/debugger/src/components/WelcomeBox.css b/devtools/client/debugger/src/components/WelcomeBox.css index c541273dec98..3ca2f2dd61a7 100644 --- a/devtools/client/debugger/src/components/WelcomeBox.css +++ b/devtools/client/debugger/src/components/WelcomeBox.css @@ -12,7 +12,7 @@ text-align: center; background-color: var(--theme-toolbar-background); overflow: hidden; - font-weight: lighter; + font-weight: 300; z-index: 10; user-select: none; } From c2ff140de62734defffc5c79b9243ee750c8a5e0 Mon Sep 17 00:00:00 2001 From: Razvan Caliman Date: Tue, 28 May 2019 11:50:40 +0000 Subject: [PATCH 11/80] Bug 1546621 - Ensure pseudo-element declarations are marked as overridden when host element is selected. r=pbro This patch adjusts the method which marks CSS declarations as overridden to also consider pseudo-elements when they're not directly selected (i.e. their host element is selected). For style rules on regular elements, there's a condition to only consider rules that match the selected element. This is done so that unmatched rules (you may get one after renaming a selector in the Rules view) don't influence the remaining matching rules. For pseudo-elements, this strict check caused pseudo-element rules to not show overridden declarations if they weren't directly selected in the markup view. For some types of pseudo-elements, it is impossible to ever select their nodes in the markup view because they don't exist, for example ::first-line, ::selection, ::first-letter, etc. Also introduced an optimization to not call the logic to mark declarations as overridden for non-existent pseudo-elements. The previous code ran a minimum of 17 times, once for every entry in `cssProperties.pseudoElements` array which includes the full dictionary of pseudo-elements supported by Firefox. Differential Revision: https://phabricator.services.mozilla.com/D32760 --HG-- extra : moz-landing-system : lando --- .../inspector/rules/models/element-style.js | 61 ++++++++++++++++--- .../client/inspector/rules/test/browser.ini | 1 + .../test/browser_rules_mark_overridden_08.js | 43 +++++++++++++ 3 files changed, 95 insertions(+), 10 deletions(-) create mode 100644 devtools/client/inspector/rules/test/browser_rules_mark_overridden_08.js diff --git a/devtools/client/inspector/rules/models/element-style.js b/devtools/client/inspector/rules/models/element-style.js index 1322524422ab..cc46102df3b6 100644 --- a/devtools/client/inspector/rules/models/element-style.js +++ b/devtools/client/inspector/rules/models/element-style.js @@ -44,6 +44,7 @@ class ElementStyle { this.ruleView = ruleView; this.store = store || {}; this.pageStyle = pageStyle; + this.pseudoElements = []; this.showUserAgentStyles = showUserAgentStyles; this.rules = []; this.cssProperties = this.ruleView.cssProperties; @@ -82,6 +83,7 @@ class ElementStyle { } this.destroyed = true; + this.pseudoElements = []; for (const rule of this.rules) { if (rule.editor) { @@ -135,6 +137,11 @@ class ElementStyle { this._maybeAddRule(entry, existingRules); } + // Store a list of all pseudo-element types found in the matching rules. + this.pseudoElements = this.rules + .filter(r => r.pseudoElement) + .map(r => r.pseudoElement); + // Mark overridden computed styles. this.onRuleUpdated(); @@ -259,20 +266,27 @@ class ElementStyle { this.variables.clear(); this.updateDeclarations(); - for (const pseudo of this.cssProperties.pseudoElements) { + // Update declarations for matching rules for pseudo-elements. + for (const pseudo of this.pseudoElements) { this.updateDeclarations(pseudo); } } /** - * Mark the declarations for a given pseudo element with an overridden flag if - * an earlier property overrides it and update the editor to show it in the - * UI. If there is any inactive CSS we also update the editors state to show - * the inactive CSS icon. + * Go over all CSS rules matching the selected element and mark the CSS declarations + * (aka TextProperty instances) with an `overridden` Boolean flag if an earlier or + * higher priority declaration overrides it. Rules are already ordered by specificity. + * + * If a pseudo-element type is passed (ex: ::before, ::first-line, etc), + * restrict the operation only to declarations in rules matching that pseudo-element. + * + * At the end, update the declaration's view (TextPropertyEditor instance) so it relects + * the latest state. Use this opportunity to also trigger checks for the "inactive" + * state of the declaration (whether it has effect or not). * * @param {String} pseudo - * Which pseudo element to flag as overridden. - * Empty string or undefined will default to no pseudo element. + * Optional pseudo-element for which to restrict marking CSS declarations as + * overridden. */ /* eslint-disable complexity */ updateDeclarations(pseudo = "") { @@ -282,10 +296,37 @@ class ElementStyle { // as time, and animation overlay are required to be check in order to // determine if the property is overridden. const textProps = []; + for (const rule of this.rules) { - if ((rule.matchedSelectors.length > 0 || - rule.domRule.type === ELEMENT_STYLE) && - rule.pseudoElement === pseudo && !rule.keyframes) { + // Skip @keyframes rules + if (rule.keyframes) { + continue; + } + + // Style rules must be considered only when they have selectors that match the node. + // When renaming a selector, the unmatched rule lingers in the Rule view, but it no + // longer matches the node. This strict check avoids accidentally causing + // declarations to be overridden in the remaining matching rules. + const isStyleRule = rule.pseudoElement === "" && rule.matchedSelectors.length > 0; + + // Style rules for pseudo-elements must always be considered, regardless if their + // selector matches the node. As a convenience, declarations in rules for + // pseudo-elements show up in a separate Pseudo-elements accordion when selecting + // the host node (instead of the pseudo-element node directly, which is sometimes + // impossible, for example with ::selection or ::first-line). + // Loosening the strict check on matched selectors ensures these declarations + // participate in the algorithm below to mark them as overridden. + const isPseudoElementRule = rule.pseudoElement !== "" && + rule.pseudoElement === pseudo; + + const isElementStyle = rule.domRule.type === ELEMENT_STYLE; + + const filterCondition = pseudo === "" + ? (isStyleRule || isElementStyle) + : isPseudoElementRule; + + // First, gather all relevant CSS declarations (aka TextProperty instances). + if (filterCondition) { for (const textProp of rule.textProps.slice(0).reverse()) { if (textProp.enabled) { textProps.push(textProp); diff --git a/devtools/client/inspector/rules/test/browser.ini b/devtools/client/inspector/rules/test/browser.ini index 81d577c35242..e0fd5578d321 100644 --- a/devtools/client/inspector/rules/test/browser.ini +++ b/devtools/client/inspector/rules/test/browser.ini @@ -221,6 +221,7 @@ skip-if = os == 'linux' # focusEditableField times out consistently on linux. [browser_rules_mark_overridden_05.js] [browser_rules_mark_overridden_06.js] [browser_rules_mark_overridden_07.js] +[browser_rules_mark_overridden_08.js] [browser_rules_mathml-element.js] [browser_rules_media-queries_reload.js] [browser_rules_media-queries.js] diff --git a/devtools/client/inspector/rules/test/browser_rules_mark_overridden_08.js b/devtools/client/inspector/rules/test/browser_rules_mark_overridden_08.js new file mode 100644 index 000000000000..afb6811cea97 --- /dev/null +++ b/devtools/client/inspector/rules/test/browser_rules_mark_overridden_08.js @@ -0,0 +1,43 @@ +/* vim: set ft=javascript ts=2 et sw=2 tw=80: */ +/* Any copyright is dedicated to the Public Domain. + http://creativecommons.org/publicdomain/zero/1.0/ */ + +"use strict"; + +// Tests that the rule view marks overridden rules correctly in pseudo-elements when +// selecting their host node. + +const TEST_URI = ` + +
Styled Node
+`; + +add_task(async function() { + await addTab("data:text/html;charset=utf-8," + encodeURIComponent(TEST_URI)); + const {inspector, view} = await openRuleView(); + await selectNode("#testid", inspector); + + info("Check the CSS declarations for ::before in the Pseudo-elements accordion."); + const pseudoRule = getRuleViewRuleEditor(view, 1, 0).rule; + const pseudoProp1 = pseudoRule.textProps[1]; + const pseudoProp2 = pseudoRule.textProps[2]; + ok(pseudoProp1.overridden, + "First declaration of color in pseudo-element should be overridden."); + ok(!pseudoProp2.overridden, + "Second declaration of color in pseudo-element should not be overridden."); + + info("Check that pseudo-element declarations do not override the host's declarations"); + const idRule = getRuleViewRuleEditor(view, 4).rule; + const idProp = idRule.textProps[0]; + ok(!idProp.overridden, + "The single declaration of color in ID selector should not be overridden"); +}); From 6c4174f1f61842fb6ac8958030d7caeb6e0da808 Mon Sep 17 00:00:00 2001 From: Ehsan Akhgari Date: Tue, 28 May 2019 17:06:01 +0000 Subject: [PATCH 12/80] Bug 1554713 - Remove HttpChannelChild::mIPCOpen; r=michal Differential Revision: https://phabricator.services.mozilla.com/D32717 --HG-- extra : moz-landing-system : lando --- netwerk/ipc/NeckoChild.cpp | 2 +- netwerk/protocol/http/HttpChannelChild.cpp | 43 ++++++++-------------- netwerk/protocol/http/HttpChannelChild.h | 11 +----- 3 files changed, 17 insertions(+), 39 deletions(-) diff --git a/netwerk/ipc/NeckoChild.cpp b/netwerk/ipc/NeckoChild.cpp index f42b60c77b17..e6f9001f8087 100644 --- a/netwerk/ipc/NeckoChild.cpp +++ b/netwerk/ipc/NeckoChild.cpp @@ -89,7 +89,7 @@ bool NeckoChild::DeallocPHttpChannelChild(PHttpChannelChild* channel) { MOZ_ASSERT(IsNeckoChild(), "DeallocPHttpChannelChild called by non-child!"); HttpChannelChild* child = static_cast(channel); - child->ReleaseIPDLReference(); + child->Release(); return true; } diff --git a/netwerk/protocol/http/HttpChannelChild.cpp b/netwerk/protocol/http/HttpChannelChild.cpp index 4386707f8603..7b8159196388 100644 --- a/netwerk/protocol/http/HttpChannelChild.cpp +++ b/netwerk/protocol/http/HttpChannelChild.cpp @@ -169,7 +169,6 @@ HttpChannelChild::HttpChannelChild() mCacheFetchCount(0), mCacheExpirationTime(nsICacheEntry::NO_EXPIRATION_TIME), mDeletingChannelSent(false), - mIPCOpen(false), mUnknownDecoderInvolved(false), mDivertingToParent(false), mFlushedForDiversion(false), @@ -255,9 +254,9 @@ NS_IMETHODIMP_(MozExternalRefCountType) HttpChannelChild::Release() { // Normally we Send_delete in OnStopRequest, but when we need to retain the // remote channel for security info IPDL itself holds 1 reference, so we - // Send_delete when refCnt==1. But if !mIPCOpen, then there's nobody to send + // Send_delete when refCnt==1. But if !CanSend(), then there's nobody to send // to, so we fall through. - if (mKeptAlive && count == 1 && mIPCOpen) { + if (mKeptAlive && count == 1 && CanSend()) { mKeptAlive = false; // We send a message to the parent, which calls SendDelete, and then the // child calling Send__delete__() to finally drop the refcount to 0. @@ -298,18 +297,6 @@ NS_INTERFACE_MAP_END_INHERITING(HttpBaseChannel) // HttpChannelChild::PHttpChannelChild //----------------------------------------------------------------------------- -void HttpChannelChild::AddIPDLReference() { - MOZ_ASSERT(!mIPCOpen, "Attempt to retain more than one IPDL reference"); - mIPCOpen = true; - AddRef(); -} - -void HttpChannelChild::ReleaseIPDLReference() { - MOZ_ASSERT(mIPCOpen, "Attempt to release nonexistent IPDL reference"); - mIPCOpen = false; - Release(); -} - void HttpChannelChild::OnBackgroundChildReady( HttpBackgroundChannelChild* aBgChild) { LOG(("HttpChannelChild::OnBackgroundChildReady [this=%p, bgChild=%p]\n", this, @@ -634,7 +621,7 @@ class SyntheticDiversionListener final : public nsIStreamListener { NS_IMETHOD OnStopRequest(nsIRequest* aRequest, nsresult aStatus) override { - if (mChannel->mIPCOpen) { + if (mChannel->CanSend()) { mChannel->SendDivertOnStopRequest(aStatus); mChannel->SendDivertComplete(); } @@ -644,7 +631,7 @@ class SyntheticDiversionListener final : public nsIStreamListener { NS_IMETHOD OnDataAvailable(nsIRequest* aRequest, nsIInputStream* aInputStream, uint64_t aOffset, uint32_t aCount) override { - if (!mChannel->mIPCOpen) { + if (!mChannel->CanSend()) { aRequest->Cancel(NS_ERROR_ABORT); return NS_ERROR_ABORT; } @@ -1173,7 +1160,7 @@ void HttpChannelChild::OnStopRequest( if (mLoadFlags & LOAD_DOCUMENT_URI) { // Keep IPDL channel open, but only for updating security info. // If IPDL is already closed, then do nothing. - if (mIPCOpen) { + if (CanSend()) { mKeptAlive = true; SendDocumentChannelCleanup(true); } @@ -1414,7 +1401,7 @@ void HttpChannelChild::FailedAsyncOpen(const nsresult& status) { // We're already being called from IPDL, therefore already "async" HandleAsyncAbort(); - if (mIPCOpen) { + if (CanSend()) { TrySendDeletingChannel(); } } @@ -2174,7 +2161,7 @@ HttpChannelChild::ConnectParent(uint32_t registrarId) { // The socket transport in the chrome process now holds a logical ref to us // until OnStopRequest, or we do a redirect, or we hit an IPDL error. - AddIPDLReference(); + AddRef(); // This must happen before the constructor message is sent. Otherwise messages // from the parent could arrive quickly and be delivered to the wrong event @@ -2399,7 +2386,7 @@ HttpChannelChild::OnRedirectVerifyCallback(nsresult result) { ChildLoadInfoForwarderArgs loadInfoForwarder; LoadInfoToChildLoadInfoForwarder(newChannelLoadInfo, &loadInfoForwarder); - if (mIPCOpen) + if (CanSend()) SendRedirect2Verify(result, *headerTuples, loadInfoForwarder, loadFlags, referrerInfo, redirectURI, corsPreflightArgs, chooseAppcache); @@ -2921,7 +2908,7 @@ nsresult HttpChannelChild::ContinueAsyncOpen() { // The socket transport in the chrome process now holds a logical ref to us // until OnStopRequest, or we do a redirect, or we hit an IPDL error. - AddIPDLReference(); + AddRef(); PBrowserOrId browser = cc->GetBrowserOrId(browserChild); if (!gNeckoChild->SendPHttpChannelConstructor( @@ -3228,7 +3215,7 @@ HttpChannelChild::OpenAlternativeOutputStream(const nsACString& aType, aType, aPredictedSize, _retval); } - if (!mIPCOpen) { + if (!CanSend()) { return NS_ERROR_NOT_AVAILABLE; } if (static_cast(gNeckoChild->Manager())->IsShuttingDown()) { @@ -3258,7 +3245,7 @@ HttpChannelChild::GetOriginalInputStream(nsIInputStreamReceiver* aReceiver) { return NS_ERROR_INVALID_ARG; } - if (!mIPCOpen) { + if (!CanSend()) { return NS_ERROR_NOT_AVAILABLE; } @@ -3275,7 +3262,7 @@ HttpChannelChild::GetAltDataInputStream(const nsACString& aType, return NS_ERROR_INVALID_ARG; } - if (!mIPCOpen) { + if (!CanSend()) { return NS_ERROR_NOT_AVAILABLE; } @@ -3501,7 +3488,7 @@ HttpChannelChild::RemoveCorsPreflightCacheEntry(nsIURI* aURI, bool result = false; // Be careful to not attempt to send a message to the parent after the // actor has been destroyed. - if (mIPCOpen) { + if (CanSend()) { result = SendRemoveCorsPreflightCacheEntry(uri, principalInfo); } return result ? NS_OK : NS_ERROR_FAILURE; @@ -3688,7 +3675,7 @@ void HttpChannelChild::TrySendDeletingChannel() { } if (NS_IsMainThread()) { - if (NS_WARN_IF(!mIPCOpen)) { + if (NS_WARN_IF(!CanSend())) { // IPC actor is detroyed already, do not send more messages. return; } @@ -4056,7 +4043,7 @@ void HttpChannelChild::MaybeCallSynthesizedCallback() { } nsresult HttpChannelChild::CrossProcessRedirectFinished(nsresult aStatus) { - if (!mIPCOpen) { + if (!CanSend()) { return NS_BINDING_FAILED; } Unused << SendCrossProcessRedirectDone(aStatus); diff --git a/netwerk/protocol/http/HttpChannelChild.h b/netwerk/protocol/http/HttpChannelChild.h index f33a7ef88dbe..c5f317e49887 100644 --- a/netwerk/protocol/http/HttpChannelChild.h +++ b/netwerk/protocol/http/HttpChannelChild.h @@ -112,12 +112,6 @@ class HttpChannelChild final : public PHttpChannelChild, // nsIResumableChannel NS_IMETHOD ResumeAt(uint64_t startPos, const nsACString& entityID) override; - // IPDL holds a reference while the PHttpChannel protocol is live (starting at - // AsyncOpen, and ending at either OnStopRequest or any IPDL error, either of - // which call NeckoChild::DeallocPHttpChannelChild()). - void AddIPDLReference(); - void ReleaseIPDLReference(); - nsresult SetReferrerHeader(const nsACString& aReferrer) override; MOZ_MUST_USE bool IsSuspended(); @@ -398,8 +392,6 @@ class HttpChannelChild final : public PHttpChannelChild, // To ensure only one SendDeletingChannel is triggered. Atomic mDeletingChannelSent; - Atomic mIPCOpen; - Atomic mUnknownDecoderInvolved; // Once set, OnData and possibly OnStop will be diverted to the parent. @@ -463,7 +455,7 @@ class HttpChannelChild final : public PHttpChannelChild, void CleanupRedirectingChannel(nsresult rv); // true after successful AsyncOpen until OnStopRequest completes. - bool RemoteChannelExists() { return mIPCOpen && !mKeptAlive; } + bool RemoteChannelExists() { return CanSend() && !mKeptAlive; } void AssociateApplicationCache(const nsCString& groupID, const nsCString& clientID); @@ -541,7 +533,6 @@ class HttpChannelChild final : public PHttpChannelChild, friend class HttpAsyncAborter; friend class InterceptStreamListener; friend class InterceptedChannelContent; - friend class SyntheticDiversionListener; friend class HttpBackgroundChannelChild; friend class NeckoTargetChannelEvent; friend class ContinueDoNotifyListenerEvent; From 25770a5232a399aeab355f087040799f86a4f233 Mon Sep 17 00:00:00 2001 From: Razvan Maries Date: Tue, 28 May 2019 21:09:53 +0300 Subject: [PATCH 13/80] Backed out changeset 1853d9e96a09 (bug 1550090) for test failures. Backout requested by ntim. CLOSED TREE --- .../components/extensions/parent/ext-theme.js | 38 ++++++++++++------- toolkit/modules/LightweightThemeConsumer.jsm | 16 +++++--- .../test/browser/browser_webapi_theme.js | 6 +-- 3 files changed, 38 insertions(+), 22 deletions(-) diff --git a/toolkit/components/extensions/parent/ext-theme.js b/toolkit/components/extensions/parent/ext-theme.js index f963eeeda695..5dc5ca3a7b2f 100644 --- a/toolkit/components/extensions/parent/ext-theme.js +++ b/toolkit/components/extensions/parent/ext-theme.js @@ -45,11 +45,20 @@ class Theme { if (startupData && startupData.lwtData) { Object.assign(this, startupData); } else { + // TODO(ntim): clean this in bug 1550090 this.lwtStyles = {}; - this.lwtDarkStyles = {}; + this.lwtDarkStyles = null; + if (darkDetails) { + this.lwtDarkStyles = {}; + } if (experiment) { if (extension.experimentsAllowed) { + this.lwtStyles.experimental = { + colors: {}, + images: {}, + properties: {}, + }; const {baseURI} = this.extension; if (experiment.stylesheet) { experiment.stylesheet = baseURI.resolve(experiment.stylesheet); @@ -82,8 +91,6 @@ class Theme { this.lwtData = { theme: this.lwtStyles, darkTheme: this.lwtDarkStyles, - id: this.extension.id, - version: this.extension.version, }; if (this.experiment) { @@ -119,14 +126,6 @@ class Theme { * @param {Object} styles Styles object in which to store the colors. */ loadDetails(details, styles) { - if (this.experiment) { - styles.experimental = { - colors: {}, - images: {}, - properties: {}, - }; - } - if (details.colors) { this.loadColors(details.colors, styles); } @@ -138,6 +137,8 @@ class Theme { if (details.properties) { this.loadProperties(details.properties, styles); } + + this.loadMetadata(this.extension, styles); } /** @@ -336,10 +337,21 @@ class Theme { } } + /** + * Helper method for loading extension metadata required by downstream + * consumers. + * + * @param {Object} extension Extension object. + * @param {Object} styles Styles object in which to store the colors. + */ + loadMetadata(extension, styles) { + styles.id = extension.id; + styles.version = extension.version; + } + static unload(windowId) { let lwtData = { - theme: {}, - darkTheme: {}, + theme: null, }; if (windowId) { diff --git a/toolkit/modules/LightweightThemeConsumer.jsm b/toolkit/modules/LightweightThemeConsumer.jsm index fec6c3752c24..213728d30304 100644 --- a/toolkit/modules/LightweightThemeConsumer.jsm +++ b/toolkit/modules/LightweightThemeConsumer.jsm @@ -188,9 +188,12 @@ LightweightThemeConsumer.prototype = { _update(themeData) { this._lastData = themeData; - let { theme, darkTheme, experiment, id } = themeData; - if (darkTheme && Object.keys(darkTheme).length && this.darkMode) { - theme = darkTheme; + let theme = themeData.theme; + if (themeData.darkTheme && this.darkMode) { + theme = themeData.darkTheme; + } + if (!theme) { + theme = { id: DEFAULT_THEME_ID }; } let active = this._active = Object.keys(theme).length; @@ -203,6 +206,8 @@ LightweightThemeConsumer.prototype = { root.removeAttribute("lwtheme-image"); } + this._setExperiment(active, themeData.experiment, theme.experimental); + if (theme.headerImage) { this._doc.mozSetImageElement("lwt-header-image", theme.headerImage); root.style.setProperty("--lwt-header-image", "-moz-element(#lwt-header-image)"); @@ -213,15 +218,14 @@ LightweightThemeConsumer.prototype = { _setImage(root, active, "--lwt-additional-images", theme.additionalBackgrounds); _setProperties(root, active, theme); - this._setExperiment(active, experiment, theme.experimental); - if (active) { + if (theme.id != DEFAULT_THEME_ID || this.darkMode) { root.setAttribute("lwtheme", "true"); } else { root.removeAttribute("lwtheme"); root.removeAttribute("lwthemetextcolor"); } - if (id == DEFAULT_THEME_ID && this.darkMode) { + if (theme.id == DEFAULT_THEME_ID && this.darkMode) { root.setAttribute("lwt-default-theme-in-dark-mode", "true"); } else { root.removeAttribute("lwt-default-theme-in-dark-mode"); diff --git a/toolkit/mozapps/extensions/test/browser/browser_webapi_theme.js b/toolkit/mozapps/extensions/test/browser/browser_webapi_theme.js index b43eabc91d92..d4fd6bf78f61 100644 --- a/toolkit/mozapps/extensions/test/browser/browser_webapi_theme.js +++ b/toolkit/mozapps/extensions/test/browser/browser_webapi_theme.js @@ -49,10 +49,10 @@ add_task(async function test_theme_install() { let parsed = JSON.parse(updates[0]); ok(parsed.theme.headerURL.endsWith("/testImage.png"), "Theme update has the expected headerURL"); - is(parsed.id, "theme@tests.mozilla.org", "Theme update includes the theme ID"); - is(parsed.version, "1.0", "Theme update includes the theme's version"); + is(parsed.theme.id, "theme@tests.mozilla.org", "Theme update includes the theme ID"); + is(parsed.theme.version, "1.0", "Theme update includes the theme's version"); - let addon = await AddonManager.getAddonByID(parsed.id); + let addon = await AddonManager.getAddonByID(parsed.theme.id); await addon.uninstall(); }); }); From 90266881cdb3f2b78df889993292aaee0d2f56a5 Mon Sep 17 00:00:00 2001 From: Sylvestre Ledru Date: Tue, 28 May 2019 15:32:37 +0000 Subject: [PATCH 14/80] Bug 1554625 - Add more commits to the hg ignore list r=marco Differential Revision: https://phabricator.services.mozilla.com/D32677 --HG-- extra : moz-landing-system : lando --- .hg-annotate-ignore-revs | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.hg-annotate-ignore-revs b/.hg-annotate-ignore-revs index e7936ede226e..959962f44361 100644 --- a/.hg-annotate-ignore-revs +++ b/.hg-annotate-ignore-revs @@ -328,3 +328,6 @@ b4662b6db1b34414494d070e33481193625403d1 - Ehsan Akhgari - Bug 1508472 - Part 4: 8bf181f9b1c3daa66390ab03b6bc9f27c049f770 - Daniel Holbert - Bug 1513387: Add braces & newlines to re-wrap some return statements that clang-format unwrapped, in layout/svg. r=heycam 2f227a365a670735df7bdee68488ea54c5d9f0ae - Jan-Ivar Bruaroey - Bug 1512280 - Make LOG macros clang-format friendlier. r=padenot 1cd2c6c217949d0b1d06f15046eba45ff4517044 - Emilio Cobos Álvarez - Bug 1515707 - Use NS_INTERFACE_MAP_END_INHERITING in some CSSStyleDeclaration implementations. r=Ehsan +020c8c871c0d3b3920fe95935cfef06501976c0f - Sylvestre Ledru - Bug 1552795 - Remove all trailing whitespaces in idl files r=ehsan +10d5143647cfda21649cf254adcb21d116524c5d - Sylvestre Ledru - Bug 1489454 - Remove all trailing whitespaces (again) r=Ehsan +6a629adbb62a299d7208373d1c6f375149d2afdb - Sylvestre Ledru - Bug 1378712 - Remove all trailing whitespaces r=Ehsan From c0c37b7b3279971c57dbbc1cce50dea56c50477c Mon Sep 17 00:00:00 2001 From: Robert Strong Date: Tue, 28 May 2019 15:36:19 +0000 Subject: [PATCH 15/80] Bug 1554528 (test only) - Use the root of the macOS bundle for the continueStaging file. r=bytesized Differential Revision: https://phabricator.services.mozilla.com/D32636 --HG-- extra : moz-landing-system : lando --- toolkit/mozapps/update/tests/browser/head.js | 3 +++ 1 file changed, 3 insertions(+) diff --git a/toolkit/mozapps/update/tests/browser/head.js b/toolkit/mozapps/update/tests/browser/head.js index 22c7cd686ddb..aea9c6d1923e 100644 --- a/toolkit/mozapps/update/tests/browser/head.js +++ b/toolkit/mozapps/update/tests/browser/head.js @@ -130,6 +130,9 @@ async function continueFileHandler(leafName) { interval = 200; retries = 600; continueFile = getGREBinDir(); + if (AppConstants.platform == "macosx") { + continueFile = continueFile.parent.parent; + } continueFile.append(leafName); } else { continueFile = Services.dirsvc.get("CurWorkD", Ci.nsIFile); From cce823acaf1390238c2387578f0b07ae2071a322 Mon Sep 17 00:00:00 2001 From: Michael Kaply Date: Tue, 28 May 2019 16:12:04 +0000 Subject: [PATCH 16/80] Bug 1553586 - Need JSON as a type for ExtensionSettings for GPO to work. r=jaws Differential Revision: https://phabricator.services.mozilla.com/D32350 --HG-- extra : moz-landing-system : lando --- .../enterprisepolicies/schemas/policies-schema.json | 2 +- .../tests/xpcshell/test_extensionsettings.js | 11 +++++++++++ 2 files changed, 12 insertions(+), 1 deletion(-) diff --git a/browser/components/enterprisepolicies/schemas/policies-schema.json b/browser/components/enterprisepolicies/schemas/policies-schema.json index 31de0ede47f8..9c691d52ce5e 100644 --- a/browser/components/enterprisepolicies/schemas/policies-schema.json +++ b/browser/components/enterprisepolicies/schemas/policies-schema.json @@ -322,7 +322,7 @@ }, "ExtensionSettings": { - "type": "object", + "type": ["JSON", "object"], "properties": { "*": { "type": "object", diff --git a/browser/components/enterprisepolicies/tests/xpcshell/test_extensionsettings.js b/browser/components/enterprisepolicies/tests/xpcshell/test_extensionsettings.js index e44c67da0ce4..e858b33d2368 100644 --- a/browser/components/enterprisepolicies/tests/xpcshell/test_extensionsettings.js +++ b/browser/components/enterprisepolicies/tests/xpcshell/test_extensionsettings.js @@ -153,3 +153,14 @@ add_task(async function test_addon_normalinstalled() { notEqual(addon.permissions & AddonManager.PERM_CAN_DISABLE, 0, "Addon should be able to be disabled."); await addon.uninstall(); }); + +add_task(async function test_extensionsettings_string() { + await setupPolicyEngineWithJson({ + "policies": { + "ExtensionSettings": '{"*": {"installation_mode": "blocked"}}', + }, + }); + + let extensionSettings = Services.policies.getExtensionSettings("*"); + equal(extensionSettings.installation_mode, "blocked"); +}); From 9ef9fc2fd836e2f37daaac2b3d9c3f315cc47617 Mon Sep 17 00:00:00 2001 From: Botond Ballo Date: Tue, 28 May 2019 13:31:59 +0000 Subject: [PATCH 17/80] Bug 1554794 - Add PresShell::UsesMobileViewportSizing() and use it in place of GetIsViewportOverridden() where appropriate. r=kats,hiro With desktop zooming, we need to separate the concepts of "may have a distinct visual viewport" from "has mobile viewport sizing logic applied to it". This can be thought of as completing the disentanglement of zooming from meta viewport support started in bug 1459260. Differential Revision: https://phabricator.services.mozilla.com/D32770 --HG-- extra : moz-landing-system : lando --- gfx/layers/apz/test/reftest/reftest.list | 12 ++++++------ layout/base/PresShell.cpp | 5 +++++ layout/base/PresShell.h | 23 +++++++++++++++++++---- layout/generic/nsGfxScrollFrame.cpp | 4 ++-- 4 files changed, 32 insertions(+), 12 deletions(-) diff --git a/gfx/layers/apz/test/reftest/reftest.list b/gfx/layers/apz/test/reftest/reftest.list index 9244a3373092..3b3c3a16d2cd 100644 --- a/gfx/layers/apz/test/reftest/reftest.list +++ b/gfx/layers/apz/test/reftest/reftest.list @@ -1,11 +1,11 @@ # The following tests test the async positioning of the scrollbars. # Basic root-frame scrollbar with async scrolling -fuzzy-if(Android,1-1,1-2) skip-if(!Android) pref(apz.allow_zooming,true) == async-scrollbar-1-v.html async-scrollbar-1-v-ref.html -fuzzy-if(Android,0-4,0-5) skip-if(!Android) pref(apz.allow_zooming,true) == async-scrollbar-1-h.html async-scrollbar-1-h-ref.html -fuzzy-if(Android,0-3,0-5) skip-if(!Android) pref(apz.allow_zooming,true) == async-scrollbar-1-vh.html async-scrollbar-1-vh-ref.html -fuzzy-if(Android,1-1,1-2) skip-if(!Android) pref(apz.allow_zooming,true) == async-scrollbar-1-v-rtl.html async-scrollbar-1-v-rtl-ref.html -fuzzy-if(Android,0-4,0-5) skip-if(!Android) pref(apz.allow_zooming,true) == async-scrollbar-1-h-rtl.html async-scrollbar-1-h-rtl-ref.html -fuzzy-if(Android,0-3,0-7) skip-if(!Android) pref(apz.allow_zooming,true) == async-scrollbar-1-vh-rtl.html async-scrollbar-1-vh-rtl-ref.html +fuzzy-if(Android,1-1,1-2) skip-if(!asyncPan) pref(apz.allow_zooming,true) == async-scrollbar-1-v.html async-scrollbar-1-v-ref.html +fuzzy-if(Android,0-4,0-5) skip-if(!asyncPan) pref(apz.allow_zooming,true) == async-scrollbar-1-h.html async-scrollbar-1-h-ref.html +fuzzy-if(Android,0-3,0-5) skip-if(!asyncPan) pref(apz.allow_zooming,true) == async-scrollbar-1-vh.html async-scrollbar-1-vh-ref.html +fuzzy-if(Android,1-1,1-2) skip-if(!asyncPan) pref(apz.allow_zooming,true) == async-scrollbar-1-v-rtl.html async-scrollbar-1-v-rtl-ref.html +fuzzy-if(Android,0-4,0-5) skip-if(!asyncPan) pref(apz.allow_zooming,true) == async-scrollbar-1-h-rtl.html async-scrollbar-1-h-rtl-ref.html +fuzzy-if(Android,0-3,0-7) skip-if(!asyncPan) pref(apz.allow_zooming,true) == async-scrollbar-1-vh-rtl.html async-scrollbar-1-vh-rtl-ref.html # Different async zoom levels. Since the scrollthumb gets async-scaled in the # compositor, the border-radius ends of the scrollthumb are going to be a little diff --git a/layout/base/PresShell.cpp b/layout/base/PresShell.cpp index fb4d8f8feef3..f76edc908449 100644 --- a/layout/base/PresShell.cpp +++ b/layout/base/PresShell.cpp @@ -10562,6 +10562,11 @@ void PresShell::UpdateViewportOverridden(bool aAfterInitialization) { } } +bool PresShell::UsesMobileViewportSizing() const { + return GetIsViewportOverridden() && + nsLayoutUtils::ShouldHandleMetaViewport(mDocument); +} + /* * Determines the current image locking state. Called when one of the * dependent factors changes. diff --git a/layout/base/PresShell.h b/layout/base/PresShell.h index a850616eb4b4..f972d827029a 100644 --- a/layout/base/PresShell.h +++ b/layout/base/PresShell.h @@ -351,16 +351,31 @@ class PresShell final : public nsStubDocumentObserver, ResizeReflowOptions aOptions = ResizeReflowOptions::NoOption); /** - * Returns true if the platform/pref or docshell require a meta viewport. + * Returns true if this document has a potentially zoomable viewport, + * allowing for its layout and visual viewports to diverge. */ - bool GetIsViewportOverridden() { return (mMobileViewportManager != nullptr); } + bool GetIsViewportOverridden() const { + return (mMobileViewportManager != nullptr); + } /** - * Note that the assumptions that determine the need for a meta viewport - * may have changed. + * Note that the assumptions that determine whether we have a potentially + * zoomable viewport may have changed. */ void UpdateViewportOverridden(bool aAfterInitialization); + /** + * Returns true if this document uses mobile viewport sizing (including + * processing of tags). + * + * Note that having a MobileViewportManager does not necessarily mean using + * mobile viewport sizing, as with desktop zooming we can have a + * MobileViewportManager on desktop, but we only want to do mobile viewport + * sizing on mobile. (TODO: Rename MobileViewportManager to reflect its more + * general role.) + */ + bool UsesMobileViewportSizing() const; + /** * Get the MobileViewportManager used to manage the document's mobile * viewport. Will return null in situations where we don't have a mobile diff --git a/layout/generic/nsGfxScrollFrame.cpp b/layout/generic/nsGfxScrollFrame.cpp index a0e125429c3e..bef650d88f93 100644 --- a/layout/generic/nsGfxScrollFrame.cpp +++ b/layout/generic/nsGfxScrollFrame.cpp @@ -5698,7 +5698,7 @@ void ScrollFrameHelper::UpdateMinimumScaleSize( mIsUsingMinimumScaleSize = false; - if (!mOuter->PresShell()->GetIsViewportOverridden()) { + if (!mOuter->PresShell()->UsesMobileViewportSizing()) { return; } @@ -5770,7 +5770,7 @@ bool ScrollFrameHelper::ReflowFinished() { mPostedReflowCallback = false; if (mIsRoot && mMinimumScaleSizeChanged && - mOuter->PresShell()->GetIsViewportOverridden() && + mOuter->PresShell()->UsesMobileViewportSizing() && !mOuter->PresShell()->IsResolutionUpdatedByApz()) { PresShell* presShell = mOuter->PresShell(); RefPtr manager = From ca3651796b721bbcb50683aa900f51946141afe6 Mon Sep 17 00:00:00 2001 From: Jonathan Kew Date: Tue, 28 May 2019 17:05:25 +0000 Subject: [PATCH 18/80] Bug 1553889 - Apply the AAT 'trak' table to macOS fonts regardless of whether we shaped using CoreText or HarfBuzz. r=jrmuizel Differential Revision: https://phabricator.services.mozilla.com/D32447 --HG-- extra : moz-landing-system : lando --- gfx/thebes/gfxMacFont.cpp | 45 ++++++++++--------- layout/reftests/bugs/reftest.list | 2 +- layout/reftests/forms/input/file/reftest.list | 2 +- 3 files changed, 26 insertions(+), 23 deletions(-) diff --git a/gfx/thebes/gfxMacFont.cpp b/gfx/thebes/gfxMacFont.cpp index caadc8c2f278..132786b1cdb1 100644 --- a/gfx/thebes/gfxMacFont.cpp +++ b/gfx/thebes/gfxMacFont.cpp @@ -195,6 +195,8 @@ bool gfxMacFont::ShapeText(DrawTarget* aDrawTarget, const char16_t* aText, return false; } + bool ok = false; + // Currently, we don't support vertical shaping via CoreText, // so we ignore RequiresAATLayout if vertical is requested. auto macFontEntry = static_cast(GetFontEntry()); @@ -203,33 +205,34 @@ bool gfxMacFont::ShapeText(DrawTarget* aDrawTarget, const char16_t* aText, if (!mCoreTextShaper) { mCoreTextShaper = MakeUnique(this); } - if (mCoreTextShaper->ShapeText(aDrawTarget, aText, aOffset, aLength, - aScript, aVertical, aRounding, - aShapedText)) { + ok = mCoreTextShaper->ShapeText(aDrawTarget, aText, aOffset, aLength, + aScript, aVertical, aRounding, aShapedText); + if (ok) { PostShapingFixup(aDrawTarget, aText, aOffset, aLength, aVertical, aShapedText); - - if (macFontEntry->HasTrackingTable()) { - // Convert font size from device pixels back to CSS px - // to use in selecting tracking value - float trackSize = GetAdjustedSize() * - aShapedText->GetAppUnitsPerDevUnit() / - AppUnitsPerCSSPixel(); - float tracking = - macFontEntry->TrackingForCSSPx(trackSize) * mFUnitsConvFactor; - // Applying tracking is a lot like the adjustment we do for - // synthetic bold: we want to apply between clusters, not to - // non-spacing glyphs within a cluster. So we can reuse that - // helper here. - aShapedText->AdjustAdvancesForSyntheticBold(tracking, aOffset, aLength); - } - - return true; } } - return gfxFont::ShapeText(aDrawTarget, aText, aOffset, aLength, aScript, + if (!ok) { + ok = gfxFont::ShapeText(aDrawTarget, aText, aOffset, aLength, aScript, aVertical, aRounding, aShapedText); + } + + if (ok && macFontEntry->HasTrackingTable()) { + // Convert font size from device pixels back to CSS px + // to use in selecting tracking value + float trackSize = GetAdjustedSize() * aShapedText->GetAppUnitsPerDevUnit() / + AppUnitsPerCSSPixel(); + float tracking = + macFontEntry->TrackingForCSSPx(trackSize) * mFUnitsConvFactor; + // Applying tracking is a lot like the adjustment we do for + // synthetic bold: we want to apply between clusters, not to + // non-spacing glyphs within a cluster. So we can reuse that + // helper here. + aShapedText->AdjustAdvancesForSyntheticBold(tracking, aOffset, aLength); + } + + return ok; } bool gfxMacFont::SetupCairoFont(DrawTarget* aDrawTarget) { diff --git a/layout/reftests/bugs/reftest.list b/layout/reftests/bugs/reftest.list index fac15587f2e4..9ee957616ec3 100644 --- a/layout/reftests/bugs/reftest.list +++ b/layout/reftests/bugs/reftest.list @@ -1425,7 +1425,7 @@ fuzzy-if(Android,0-5,0-1656) fuzzy-if(skiaContent,0-1,0-1200) == 512410.html 512 == 512631-1.html 512631-1-ref.html == 513153-1a.html 513153-1-ref.html == 513153-1b.html 513153-1-ref.html -fuzzy-if(webrender&&winWidget,82-82,76-76) fuzzy-if(webrender&&OSX,34-34,138-138) == 513153-2a.html 513153-2-ref.html +fuzzy-if(webrender&&winWidget,82-82,76-76) == 513153-2a.html 513153-2-ref.html fuzzy-if(webrender&&OSX,34-34,138-138) == 513153-2b.html 513153-2-ref.html == 513318-1.xul 513318-1-ref.xul fails-if(Android&&(!asyncPan)) != 513318-2.xul 513318-2-ref.xul diff --git a/layout/reftests/forms/input/file/reftest.list b/layout/reftests/forms/input/file/reftest.list index 7ef29b245541..18fc39fdddb0 100644 --- a/layout/reftests/forms/input/file/reftest.list +++ b/layout/reftests/forms/input/file/reftest.list @@ -5,7 +5,7 @@ fuzzy-if(gtkWidget||webrender,0-1,0-10) fails-if(Android) == background.html bac fuzzy-if(gtkWidget,0-1,0-10) fails-if(Android) == style.html style-ref.xul != width-clip.html width-clip-ref.html fails-if(Android) == color-inherit.html color-inherit-ref.html -fuzzy-if(Android,0-2,0-2) fails-if(webrender&&!cocoaWidget) == dynamic-max-width.html dynamic-max-width-ref.html # bug 1496542 for webrender. +fuzzy-if(Android,0-2,0-2) fuzzy-if(OSX,0-34,0-134) fails-if(webrender&&!cocoaWidget) == dynamic-max-width.html dynamic-max-width-ref.html # bug 1496542 for webrender. == label-min-inline-size.html label-min-inline-size-ref.html == css-overflow.html css-overflow-ref.html == css-display.html css-display-ref.html From e99ef17c7fc24d4b8946ea1862846d9582201c1c Mon Sep 17 00:00:00 2001 From: Geoff Brown Date: Tue, 28 May 2019 17:21:55 +0000 Subject: [PATCH 19/80] Bug 1555068 - Stop running Android 7.0 x86_64 jsreftest; r=jmaher We have sufficient coverage on other test platforms. Differential Revision: https://phabricator.services.mozilla.com/D32859 --HG-- extra : moz-landing-system : lando --- taskcluster/ci/test/test-sets.yml | 1 - 1 file changed, 1 deletion(-) diff --git a/taskcluster/ci/test/test-sets.yml b/taskcluster/ci/test/test-sets.yml index 8588e63595c9..815b0ccd0be4 100644 --- a/taskcluster/ci/test/test-sets.yml +++ b/taskcluster/ci/test/test-sets.yml @@ -427,7 +427,6 @@ android-x86_64-opt-tests: android-x86_64-tests: - cppunit - gtest - - jsreftest - marionette - mochitest - mochitest-gpu From b17652710b80473658de879f38dc4f3aac48b6fc Mon Sep 17 00:00:00 2001 From: Ehsan Akhgari Date: Tue, 28 May 2019 12:06:37 +0000 Subject: [PATCH 20/80] Bug 1554781 - Part 1: Lift the check for whether we have a third-party tracking window out of GetParentPrincipalAndTrackingOrigin(); r=baku Differential Revision: https://phabricator.services.mozilla.com/D32765 --HG-- extra : moz-landing-system : lando --- .../antitracking/AntiTrackingCommon.cpp | 55 ++++++++++++++----- 1 file changed, 40 insertions(+), 15 deletions(-) diff --git a/toolkit/components/antitracking/AntiTrackingCommon.cpp b/toolkit/components/antitracking/AntiTrackingCommon.cpp index 8061a8530d35..6733ad7fbc42 100644 --- a/toolkit/components/antitracking/AntiTrackingCommon.cpp +++ b/toolkit/components/antitracking/AntiTrackingCommon.cpp @@ -73,11 +73,6 @@ bool GetParentPrincipalAndTrackingOrigin( nsGlobalWindowInner* a3rdPartyTrackingWindow, nsIPrincipal** aTopLevelStoragePrincipal, nsACString& aTrackingOrigin, nsIURI** aTrackingURI, nsIPrincipal** aTrackingPrincipal) { - if (!nsContentUtils::IsThirdPartyTrackingResourceWindow( - a3rdPartyTrackingWindow)) { - return false; - } - Document* doc = a3rdPartyTrackingWindow->GetDocument(); // Make sure storage access isn't disabled if (doc && (doc->StorageAccessSandboxed() || @@ -786,11 +781,18 @@ AntiTrackingCommon::AddFirstPartyStorageAccessGrantedFor( LOG(("Parent window has no doc")); return StorageAccessGrantPromise::CreateAndReject(false, __func__); } + int32_t behavior = parentDoc->CookieSettings()->GetCookieBehavior(); + + MOZ_ASSERT( + behavior == nsICookieService::BEHAVIOR_REJECT_TRACKER || + behavior == + nsICookieService::BEHAVIOR_REJECT_TRACKER_AND_PARTITION_FOREIGN); + if (!parentDoc->CookieSettings()->GetRejectThirdPartyTrackers()) { LOG( ("Disabled by network.cookie.cookieBehavior pref (%d), bailing out " "early", - parentDoc->CookieSettings()->GetCookieBehavior())); + behavior)); return StorageAccessGrantPromise::CreateAndResolve(true, __func__); } @@ -830,15 +832,38 @@ AntiTrackingCommon::AddFirstPartyStorageAccessGrantedFor( return StorageAccessGrantPromise::CreateAndReject(false, __func__); } - // We are a 3rd party source. - } else if (!GetParentPrincipalAndTrackingOrigin( - parentWindow, getter_AddRefs(topLevelStoragePrincipal), - trackingOrigin, getter_AddRefs(trackingURI), - getter_AddRefs(trackingPrincipal))) { - LOG( - ("Error while computing the parent principal and tracking origin, " - "bailing out early")); - return StorageAccessGrantPromise::CreateAndReject(false, __func__); + } else { + // We should be a 3rd party source. + bool isThirdParty = false; + if (behavior == nsICookieService::BEHAVIOR_REJECT_TRACKER) { + isThirdParty = + nsContentUtils::IsThirdPartyTrackingResourceWindow(parentWindow); + } else if (behavior == nsICookieService:: + BEHAVIOR_REJECT_TRACKER_AND_PARTITION_FOREIGN) { + isThirdParty = nsContentUtils::IsThirdPartyWindowOrChannel( + parentWindow, nullptr, nullptr); + } + + if (!isThirdParty) { + if (behavior == nsICookieService::BEHAVIOR_REJECT_TRACKER) { + LOG(("Our window isn't a third-party tracking window")); + } else if (behavior == + nsICookieService:: + BEHAVIOR_REJECT_TRACKER_AND_PARTITION_FOREIGN) { + LOG(("Our window isn't a third-party window")); + } + return StorageAccessGrantPromise::CreateAndReject(false, __func__); + } + + if (!GetParentPrincipalAndTrackingOrigin( + parentWindow, getter_AddRefs(topLevelStoragePrincipal), + trackingOrigin, getter_AddRefs(trackingURI), + getter_AddRefs(trackingPrincipal))) { + LOG( + ("Error while computing the parent principal and tracking origin, " + "bailing out early")); + return StorageAccessGrantPromise::CreateAndReject(false, __func__); + } } nsCOMPtr topOuterWindow = outerParentWindow->GetTop(); From 81f5e142a2a6c7cd71ac0697d5350af9a957fea9 Mon Sep 17 00:00:00 2001 From: Ehsan Akhgari Date: Tue, 28 May 2019 12:06:37 +0000 Subject: [PATCH 21/80] Bug 1554781 - Part 2: Provide support for the storage access API and the associated heuristics for dynamic FPI; r=baku Differential Revision: https://phabricator.services.mozilla.com/D32766 --HG-- extra : moz-landing-system : lando --- .../antitracking/AntiTrackingCommon.cpp | 24 +++++++++++-------- 1 file changed, 14 insertions(+), 10 deletions(-) diff --git a/toolkit/components/antitracking/AntiTrackingCommon.cpp b/toolkit/components/antitracking/AntiTrackingCommon.cpp index 6733ad7fbc42..a83513fa7286 100644 --- a/toolkit/components/antitracking/AntiTrackingCommon.cpp +++ b/toolkit/components/antitracking/AntiTrackingCommon.cpp @@ -1242,6 +1242,9 @@ bool AntiTrackingCommon::IsFirstPartyStorageAccessGrantedFor( behavior == nsICookieService::BEHAVIOR_REJECT_TRACKER_AND_PARTITION_FOREIGN); + uint32_t blockedReason = + nsIWebProgressListener::STATE_COOKIES_BLOCKED_TRACKER; + if (behavior == nsICookieService::BEHAVIOR_REJECT_TRACKER) { if (!nsContentUtils::IsThirdPartyTrackingResourceWindow(aWindow)) { LOG(("Our window isn't a third-party tracking window")); @@ -1255,9 +1258,8 @@ bool AntiTrackingCommon::IsFirstPartyStorageAccessGrantedFor( } else if (nsContentUtils::IsThirdPartyWindowOrChannel(aWindow, nullptr, aURI)) { LOG(("We're in the third-party context, storage should be partitioned")); - *aRejectedReason = - nsIWebProgressListener::STATE_COOKIES_PARTITIONED_FOREIGN; - return false; + // fall through, but remember that we're partitioning. + blockedReason = nsIWebProgressListener::STATE_COOKIES_PARTITIONED_FOREIGN; } else { LOG(("Our window isn't a third-party window, storage is allowed")); return true; @@ -1286,7 +1288,7 @@ bool AntiTrackingCommon::IsFirstPartyStorageAccessGrantedFor( nsGlobalWindowInner::Cast(aWindow), getter_AddRefs(parentPrincipal), trackingOrigin, getter_AddRefs(trackingURI), nullptr)) { LOG(("Failed to obtain the parent principal and the tracking origin")); - *aRejectedReason = nsIWebProgressListener::STATE_COOKIES_BLOCKED_TRACKER; + *aRejectedReason = blockedReason; return false; } Unused << parentPrincipal->GetURI(getter_AddRefs(parentPrincipalURI)); @@ -1326,7 +1328,7 @@ bool AntiTrackingCommon::IsFirstPartyStorageAccessGrantedFor( parentPrincipalURI); if (result != nsIPermissionManager::ALLOW_ACTION) { - *aRejectedReason = nsIWebProgressListener::STATE_COOKIES_BLOCKED_TRACKER; + *aRejectedReason = blockedReason; return false; } @@ -1499,6 +1501,9 @@ bool AntiTrackingCommon::IsFirstPartyStorageAccessGrantedFor( behavior == nsICookieService::BEHAVIOR_REJECT_TRACKER_AND_PARTITION_FOREIGN); + uint32_t blockedReason = + nsIWebProgressListener::STATE_COOKIES_BLOCKED_TRACKER; + // Not a tracker. if (behavior == nsICookieService::BEHAVIOR_REJECT_TRACKER) { if (!aChannel->IsThirdPartyTrackingResource()) { @@ -1513,9 +1518,8 @@ bool AntiTrackingCommon::IsFirstPartyStorageAccessGrantedFor( } else if (nsContentUtils::IsThirdPartyWindowOrChannel(nullptr, aChannel, aURI)) { LOG(("We're in the third-party context, storage should be partitioned")); - *aRejectedReason = - nsIWebProgressListener::STATE_COOKIES_PARTITIONED_FOREIGN; - return false; + // fall through but remember that we're partitioning. + blockedReason = nsIWebProgressListener::STATE_COOKIES_PARTITIONED_FOREIGN; } else { LOG(("Our channel isn't a third-party channel, storage is allowed")); return true; @@ -1530,7 +1534,7 @@ bool AntiTrackingCommon::IsFirstPartyStorageAccessGrantedFor( // window. if (loadInfo->GetTopLevelPrincipal()) { LOG(("Parent window is the top-level window, bail out early")); - *aRejectedReason = nsIWebProgressListener::STATE_COOKIES_BLOCKED_TRACKER; + *aRejectedReason = blockedReason; return false; } @@ -1594,7 +1598,7 @@ bool AntiTrackingCommon::IsFirstPartyStorageAccessGrantedFor( parentPrincipalURI); if (result != nsIPermissionManager::ALLOW_ACTION) { - *aRejectedReason = nsIWebProgressListener::STATE_COOKIES_BLOCKED_TRACKER; + *aRejectedReason = blockedReason; return false; } From 772af7d8101166bbe84d1550b1d70f45f783ba49 Mon Sep 17 00:00:00 2001 From: Ehsan Akhgari Date: Tue, 28 May 2019 12:06:38 +0000 Subject: [PATCH 22/80] Bug 1554781 - Part 3: Add tests for the storage access API and the associated heuristics for dynamic FPI; r=baku Differential Revision: https://phabricator.services.mozilla.com/D32767 --HG-- extra : moz-landing-system : lando --- .../antitracking/test/browser/3rdPartyStorage.html | 8 +------- .../antitracking/test/browser/dynamicfpi_head.js | 2 +- .../components/antitracking/test/browser/head.js | 2 +- .../test/browser/storageAccessAPIHelpers.js | 13 +++++++------ .../test/browser/storageprincipal_head.js | 2 +- 5 files changed, 11 insertions(+), 16 deletions(-) diff --git a/toolkit/components/antitracking/test/browser/3rdPartyStorage.html b/toolkit/components/antitracking/test/browser/3rdPartyStorage.html index 55d49cc09b4a..749ead7c20d2 100644 --- a/toolkit/components/antitracking/test/browser/3rdPartyStorage.html +++ b/toolkit/components/antitracking/test/browser/3rdPartyStorage.html @@ -19,8 +19,6 @@ function is(a, b, msg) { ok(a === b, msg); } -let areWeFourthParty = location.search == "?4th"; - onmessage = function(e) { let data = e.data; let runnableStr = `(() => {return (${data});})();`; @@ -34,11 +32,7 @@ onmessage = function(e) { await runnable.call(this, this, win, false /* allowed */); /* import-globals-from storageAccessAPIHelpers.js */ await callRequestStorageAccess(); - // If we're "fourth party" (which is true when running dynamic FPI tests) - // then assume that the storage access API doesn't grant first-party - // storage yet. - // TODO: Make sure storage access API is available for dynamic FPI too. - await runnable.call(this, this, win, !areWeFourthParty /* allowed */); + await runnable.call(this, this, win, true /* allowed */); win.close(); parent.postMessage({ type: "finish" }, "*"); diff --git a/toolkit/components/antitracking/test/browser/dynamicfpi_head.js b/toolkit/components/antitracking/test/browser/dynamicfpi_head.js index ba1004db35a7..10fa409a5156 100644 --- a/toolkit/components/antitracking/test/browser/dynamicfpi_head.js +++ b/toolkit/components/antitracking/test/browser/dynamicfpi_head.js @@ -20,7 +20,7 @@ this.DynamicFPIHelper = { ["privacy.trackingprotection.pbmode.enabled", false], ["privacy.trackingprotection.annotate_channels", true], ["privacy.storagePrincipal.enabledForTrackers", false], - ["privacy.restrict3rdpartystorage.userInteractionRequiredForHosts", "tracking.example.com,tracking.example.org"], + ["privacy.restrict3rdpartystorage.userInteractionRequiredForHosts", "not-tracking.example.com"], ]}); if (extraPrefs && Array.isArray(extraPrefs) && extraPrefs.length) { diff --git a/toolkit/components/antitracking/test/browser/head.js b/toolkit/components/antitracking/test/browser/head.js index 7e09b60c10cf..a651469796af 100644 --- a/toolkit/components/antitracking/test/browser/head.js +++ b/toolkit/components/antitracking/test/browser/head.js @@ -33,7 +33,7 @@ const TEST_3RD_PARTY_PAGE_WITH_SVG = TEST_3RD_PARTY_DOMAIN + TEST_PATH + "3rdPar const TEST_4TH_PARTY_PAGE = TEST_4TH_PARTY_DOMAIN + TEST_PATH + "3rdParty.html"; const TEST_ANOTHER_3RD_PARTY_PAGE = TEST_ANOTHER_3RD_PARTY_DOMAIN + TEST_PATH + "3rdParty.html"; const TEST_3RD_PARTY_STORAGE_PAGE = TEST_3RD_PARTY_DOMAIN + TEST_PATH + "3rdPartyStorage.html"; -const TEST_4TH_PARTY_STORAGE_PAGE = TEST_4TH_PARTY_DOMAIN + TEST_PATH + "3rdPartyStorage.html?4th"; +const TEST_4TH_PARTY_STORAGE_PAGE = TEST_4TH_PARTY_DOMAIN + TEST_PATH + "3rdPartyStorage.html"; const BEHAVIOR_ACCEPT = Ci.nsICookieService.BEHAVIOR_ACCEPT; const BEHAVIOR_REJECT = Ci.nsICookieService.BEHAVIOR_REJECT; diff --git a/toolkit/components/antitracking/test/browser/storageAccessAPIHelpers.js b/toolkit/components/antitracking/test/browser/storageAccessAPIHelpers.js index 7a75b080a278..1d06231c1932 100644 --- a/toolkit/components/antitracking/test/browser/storageAccessAPIHelpers.js +++ b/toolkit/components/antitracking/test/browser/storageAccessAPIHelpers.js @@ -18,8 +18,10 @@ async function callRequestStorageAccess(callback, expectFail) { let success = true; // We only grant storage exceptions when the reject tracker behavior is enabled. - let rejectTrackers = SpecialPowers.Services.prefs.getIntPref("network.cookie.cookieBehavior") == - SpecialPowers.Ci.nsICookieService.BEHAVIOR_REJECT_TRACKER && + let rejectTrackers = [SpecialPowers.Ci.nsICookieService.BEHAVIOR_REJECT_TRACKER, + SpecialPowers.Ci.nsICookieService.BEHAVIOR_REJECT_TRACKER_AND_PARTITION_FOREIGN]. + + includes(SpecialPowers.Services.prefs.getIntPref("network.cookie.cookieBehavior")) && !isOnContentBlockingAllowList(); // With another-tracking.example.net, we're same-eTLD+1, so the first try succeeds. if (origin != "https://another-tracking.example.net") { @@ -120,7 +122,7 @@ async function callRequestStorageAccess(callback, expectFail) { // Wait until the permission is visible in our process to avoid race // conditions. await waitUntilPermission("http://example.net/browser/toolkit/components/antitracking/test/browser/page.html", - "3rdPartyStorage^https://tracking.example.org"); + "3rdPartyStorage^" + window.origin); } return [threw, rejected]; @@ -145,12 +147,11 @@ async function interactWithTracker() { onmessage = resolve; info("Let's interact with the tracker"); - window.open("https://tracking.example.org/browser/toolkit/components/antitracking/test/browser/3rdPartyOpenUI.html?messageme"); + window.open("/browser/toolkit/components/antitracking/test/browser/3rdPartyOpenUI.html?messageme"); }); // Wait until the user interaction permission becomes visible in our process - await waitUntilPermission("https://tracking.example.org", - "storageAccessAPI"); + await waitUntilPermission(window.origin, "storageAccessAPI"); } function isOnContentBlockingAllowList() { diff --git a/toolkit/components/antitracking/test/browser/storageprincipal_head.js b/toolkit/components/antitracking/test/browser/storageprincipal_head.js index d1aef2445c20..12d9c0043690 100644 --- a/toolkit/components/antitracking/test/browser/storageprincipal_head.js +++ b/toolkit/components/antitracking/test/browser/storageprincipal_head.js @@ -20,7 +20,7 @@ this.StoragePrincipalHelper = { ["privacy.trackingprotection.pbmode.enabled", false], ["privacy.trackingprotection.annotate_channels", true], ["privacy.storagePrincipal.enabledForTrackers", true], - ["privacy.restrict3rdpartystorage.userInteractionRequiredForHosts", "tracking.example.com,tracking.example.org"], + ["privacy.restrict3rdpartystorage.userInteractionRequiredForHosts", "tracking.example.org"], ]}); if (extraPrefs && Array.isArray(extraPrefs) && extraPrefs.length) { From f615aee5a7cfd479834b53bbee08c6cc196be1a8 Mon Sep 17 00:00:00 2001 From: Barret Rennie Date: Tue, 28 May 2019 13:42:57 +0000 Subject: [PATCH 23/80] Bug 1553261 - Clean up some of the CompositionPayload infrastructure r=kats Some time ago (bug 819791), InfallibleTArray and nsTArray become equivalent, so continuing to use InfallibleTArray here will just lead to confusion. In addition, the overloaded `RegisterPayload` could take either a single payload or multiple, so I've split it into `RegisterPayload(CompositionPayload&)` and RegisterPayloads(nsTArray&)` Differential Revision: https://phabricator.services.mozilla.com/D32227 --HG-- extra : moz-landing-system : lando --- gfx/layers/Layers.h | 4 ++-- gfx/layers/ipc/CompositorBridgeParent.cpp | 8 ++++---- gfx/layers/ipc/CompositorBridgeParent.h | 10 ++++------ gfx/layers/ipc/ContentCompositorBridgeParent.cpp | 8 ++++---- gfx/layers/ipc/ContentCompositorBridgeParent.h | 5 ++--- 5 files changed, 16 insertions(+), 19 deletions(-) diff --git a/gfx/layers/Layers.h b/gfx/layers/Layers.h index 2389361f6781..0124b07dc413 100644 --- a/gfx/layers/Layers.h +++ b/gfx/layers/Layers.h @@ -738,7 +738,7 @@ class LayerManager : public FrameRecorder { mPayload.AppendElement(aPayload); MOZ_ASSERT(mPayload.Length() < 10000); } - void RegisterPayload(const InfallibleTArray& aPayload) { + void RegisterPayloads(const nsTArray& aPayload) { mPayload.AppendElements(aPayload); MOZ_ASSERT(mPayload.Length() < 10000); } @@ -782,7 +782,7 @@ class LayerManager : public FrameRecorder { // next composite. // IMPORTANT: Clients should take care to clear this or risk it slowly // growing out of control. - InfallibleTArray mPayload; + nsTArray mPayload; public: /* diff --git a/gfx/layers/ipc/CompositorBridgeParent.cpp b/gfx/layers/ipc/CompositorBridgeParent.cpp index c8964f4be451..bf1cace02655 100644 --- a/gfx/layers/ipc/CompositorBridgeParent.cpp +++ b/gfx/layers/ipc/CompositorBridgeParent.cpp @@ -816,15 +816,15 @@ void CompositorBridgeParent::UpdatePaintTime(LayerTransactionParent* aLayerTree, mLayerManager->SetPaintTime(aPaintTime); } -void CompositorBridgeParent::RegisterPayload( +void CompositorBridgeParent::RegisterPayloads( LayerTransactionParent* aLayerTree, - const InfallibleTArray& aPayload) { + const nsTArray& aPayload) { // We get a lot of paint timings for things with empty transactions. if (!mLayerManager) { return; } - mLayerManager->RegisterPayload(aPayload); + mLayerManager->RegisterPayloads(aPayload); } void CompositorBridgeParent::NotifyShadowTreeTransaction( @@ -1262,7 +1262,7 @@ void CompositorBridgeParent::ShadowLayersUpdated( mRefreshStartTime = aInfo.refreshStart(); mTxnStartTime = aInfo.transactionStart(); mFwdTime = aInfo.fwdTime(); - RegisterPayload(aLayerTree, aInfo.payload()); + RegisterPayloads(aLayerTree, aInfo.payload()); if (root) { SetShadowProperties(root); diff --git a/gfx/layers/ipc/CompositorBridgeParent.h b/gfx/layers/ipc/CompositorBridgeParent.h index 1399c2abe07f..fe772b00b794 100644 --- a/gfx/layers/ipc/CompositorBridgeParent.h +++ b/gfx/layers/ipc/CompositorBridgeParent.h @@ -139,9 +139,8 @@ class CompositorBridgeParentBase : public PCompositorBridgeParent, const nsTArray& aTargets) = 0; virtual void UpdatePaintTime(LayerTransactionParent* aLayerTree, const TimeDuration& aPaintTime) {} - virtual void RegisterPayload( - LayerTransactionParent* aLayerTree, - const InfallibleTArray& aPayload) {} + virtual void RegisterPayloads(LayerTransactionParent* aLayerTree, + const nsTArray& aPayload) {} ShmemAllocator* AsShmemAllocator() override { return this; } @@ -448,9 +447,8 @@ class CompositorBridgeParent final : public CompositorBridgeParentBase, void UpdatePaintTime(LayerTransactionParent* aLayerTree, const TimeDuration& aPaintTime) override; - void RegisterPayload( - LayerTransactionParent* aLayerTree, - const InfallibleTArray& aPayload) override; + void RegisterPayloads(LayerTransactionParent* aLayerTree, + const nsTArray& aPayload) override; /** * Check rotation info and schedule a rendering task if needed. diff --git a/gfx/layers/ipc/ContentCompositorBridgeParent.cpp b/gfx/layers/ipc/ContentCompositorBridgeParent.cpp index c0b9c062bd79..18dcfd6feef7 100644 --- a/gfx/layers/ipc/ContentCompositorBridgeParent.cpp +++ b/gfx/layers/ipc/ContentCompositorBridgeParent.cpp @@ -392,7 +392,7 @@ void ContentCompositorBridgeParent::ShadowLayersUpdated( static_cast( (endTime - aInfo.transactionStart()).ToMilliseconds())); - RegisterPayload(aLayerTree, aInfo.payload()); + RegisterPayloads(aLayerTree, aInfo.payload()); aLayerTree->SetPendingTransactionId( aInfo.id(), aInfo.vsyncId(), aInfo.vsyncStart(), aInfo.refreshStart(), @@ -628,9 +628,9 @@ void ContentCompositorBridgeParent::UpdatePaintTime( state->mParent->UpdatePaintTime(aLayerTree, aPaintTime); } -void ContentCompositorBridgeParent::RegisterPayload( +void ContentCompositorBridgeParent::RegisterPayloads( LayerTransactionParent* aLayerTree, - const InfallibleTArray& aPayload) { + const nsTArray& aPayload) { LayersId id = aLayerTree->GetId(); MOZ_ASSERT(id.IsValid()); @@ -640,7 +640,7 @@ void ContentCompositorBridgeParent::RegisterPayload( return; } - state->mParent->RegisterPayload(aLayerTree, aPayload); + state->mParent->RegisterPayloads(aLayerTree, aPayload); } void ContentCompositorBridgeParent::ObserveLayersUpdate( diff --git a/gfx/layers/ipc/ContentCompositorBridgeParent.h b/gfx/layers/ipc/ContentCompositorBridgeParent.h index 0d49d33aff07..c2abc506e316 100644 --- a/gfx/layers/ipc/ContentCompositorBridgeParent.h +++ b/gfx/layers/ipc/ContentCompositorBridgeParent.h @@ -175,9 +175,8 @@ class ContentCompositorBridgeParent final : public CompositorBridgeParentBase { void UpdatePaintTime(LayerTransactionParent* aLayerTree, const TimeDuration& aPaintTime) override; - void RegisterPayload( - LayerTransactionParent* aLayerTree, - const InfallibleTArray& aPayload) override; + void RegisterPayloads(LayerTransactionParent* aLayerTree, + const nsTArray& aPayload) override; PWebRenderBridgeParent* AllocPWebRenderBridgeParent( const wr::PipelineId& aPipelineId, From ac1f6702c5139d05b74d262ac223ec133f3746aa Mon Sep 17 00:00:00 2001 From: Barret Rennie Date: Tue, 28 May 2019 15:32:29 +0000 Subject: [PATCH 24/80] Bug 1553261 - Register CompositionPayloads with the WebRenderBridge and enable key press telemetry r=kats Differential Revision: https://phabricator.services.mozilla.com/D32228 --HG-- extra : moz-landing-system : lando --- gfx/layers/Layers.cpp | 45 ++++++++++++++----------- gfx/layers/Layers.h | 7 +++- gfx/layers/ipc/PWebRenderBridge.ipdl | 7 ++-- gfx/layers/wr/WebRenderBridgeChild.cpp | 15 +++++++-- gfx/layers/wr/WebRenderBridgeParent.cpp | 16 +++++---- gfx/layers/wr/WebRenderBridgeParent.h | 15 ++++++--- gfx/layers/wr/WebRenderLayerManager.cpp | 14 ++++++-- gfx/layers/wr/WebRenderLayerManager.h | 4 +++ 8 files changed, 85 insertions(+), 38 deletions(-) diff --git a/gfx/layers/Layers.cpp b/gfx/layers/Layers.cpp index 0391d132f8e9..07a46566fe82 100644 --- a/gfx/layers/Layers.cpp +++ b/gfx/layers/Layers.cpp @@ -154,26 +154,7 @@ UniquePtr LayerManager::RemoveUserData(void* aKey) { } void LayerManager::PayloadPresented() { - if (mPayload.Length()) { - TimeStamp presented = TimeStamp::Now(); - for (CompositionPayload& payload : mPayload) { -#if MOZ_GECKO_PROFILER - if (profiler_is_active()) { - nsPrintfCString marker( - "Payload Presented, type: %d latency: %dms\n", - int32_t(payload.mType), - int32_t((presented - payload.mTimeStamp).ToMilliseconds())); - profiler_add_marker(marker.get(), JS::ProfilingCategoryPair::GRAPHICS); - } -#endif - - if (payload.mType == CompositionPayloadType::eKeyPress) { - Telemetry::AccumulateTimeDelta( - mozilla::Telemetry::KEYPRESS_PRESENT_LATENCY, payload.mTimeStamp, - presented); - } - } - } + RecordCompositionPayloadsPresented(mPayload); } //-------------------------------------------------- @@ -2321,5 +2302,29 @@ IntRect ToOutsideIntRect(const gfxRect& aRect) { return IntRect::RoundOut(aRect.X(), aRect.Y(), aRect.Width(), aRect.Height()); } +void RecordCompositionPayloadsPresented( + const nsTArray& aPayloads) { + if (aPayloads.Length()) { + TimeStamp presented = TimeStamp::Now(); + for (const CompositionPayload& payload : aPayloads) { +#if MOZ_GECKO_PROFILER + if (profiler_is_active()) { + nsPrintfCString marker( + "Payload Presented, type: %d latency: %dms\n", + int32_t(payload.mType), + int32_t((presented - payload.mTimeStamp).ToMilliseconds())); + profiler_add_marker(marker.get(), JS::ProfilingCategoryPair::GRAPHICS); + } +#endif + + if (payload.mType == CompositionPayloadType::eKeyPress) { + Telemetry::AccumulateTimeDelta( + mozilla::Telemetry::KEYPRESS_PRESENT_LATENCY, payload.mTimeStamp, + presented); + } + } + } +} + } // namespace layers } // namespace mozilla diff --git a/gfx/layers/Layers.h b/gfx/layers/Layers.h index 0124b07dc413..e9292f5d848b 100644 --- a/gfx/layers/Layers.h +++ b/gfx/layers/Layers.h @@ -738,11 +738,13 @@ class LayerManager : public FrameRecorder { mPayload.AppendElement(aPayload); MOZ_ASSERT(mPayload.Length() < 10000); } + void RegisterPayloads(const nsTArray& aPayload) { mPayload.AppendElements(aPayload); MOZ_ASSERT(mPayload.Length() < 10000); } - void PayloadPresented(); + + virtual void PayloadPresented(); void SetContainsSVG(bool aContainsSVG) { mContainsSVG = aContainsSVG; } @@ -2716,6 +2718,9 @@ void WriteSnapshotToDumpFile(Compositor* aCompositor, gfx::DrawTarget* aTarget); // A utility function used by different LayerManager implementations. gfx::IntRect ToOutsideIntRect(const gfxRect& aRect); +void RecordCompositionPayloadsPresented( + const nsTArray& aPayloads); + } // namespace layers } // namespace mozilla diff --git a/gfx/layers/ipc/PWebRenderBridge.ipdl b/gfx/layers/ipc/PWebRenderBridge.ipdl index 04afad173b2f..551f16da07a6 100644 --- a/gfx/layers/ipc/PWebRenderBridge.ipdl +++ b/gfx/layers/ipc/PWebRenderBridge.ipdl @@ -18,6 +18,7 @@ using mozilla::layers::APZTestData from "mozilla/layers/APZTestData.h"; using struct mozilla::layers::SLGuidAndRenderRoot from "mozilla/layers/APZTypes.h"; using struct mozilla::layers::TextureFactoryIdentifier from "mozilla/layers/CompositorTypes.h"; using struct mozilla::layers::TextureInfo from "mozilla/layers/CompositorTypes.h"; +using mozilla::layers::CompositionPayload from "mozilla/layers/LayersTypes.h"; using mozilla::layers::CompositableHandle from "mozilla/layers/LayersTypes.h"; using mozilla::wr::BuiltDisplayListDescriptor from "mozilla/webrender/webrender_ffi.h"; using mozilla::wr::IdNamespace from "mozilla/webrender/WebRenderTypes.h"; @@ -50,14 +51,16 @@ parent: OpDestroy[] toDestroy, uint64_t fwdTransactionId, TransactionId transactionId, IdNamespace aIdNamespace, bool containsSVGGroup, VsyncId vsyncId, TimeStamp vsyncStartTime, - TimeStamp refreshStartTime, TimeStamp txnStartTime, nsCString txnURL, TimeStamp fwdTime); + TimeStamp refreshStartTime, TimeStamp txnStartTime, nsCString txnURL, TimeStamp fwdTime, + CompositionPayload[] payloads); async EmptyTransaction(FocusTarget focusTarget, uint32_t aPaintSequenceNumber, RenderRootUpdates[] renderRootUpdates, OpDestroy[] toDestroy, uint64_t fwdTransactionId, TransactionId transactionId, IdNamespace aIdNamespace, VsyncId vsyncId, TimeStamp vsyncStartTime, TimeStamp refreshStartTime, TimeStamp txnStartTime, - nsCString txnURL, TimeStamp fwdTime); + nsCString txnURL, TimeStamp fwdTime, + CompositionPayload[] payloads); async SetFocusTarget(FocusTarget focusTarget); async UpdateResources(OpUpdateResource[] aResourceUpdates, RefCountedShmem[] aSmallShmems, Shmem[] aLargeShmems, diff --git a/gfx/layers/wr/WebRenderBridgeChild.cpp b/gfx/layers/wr/WebRenderBridgeChild.cpp index 92a9a73d2ccc..04c0afca1ad0 100644 --- a/gfx/layers/wr/WebRenderBridgeChild.cpp +++ b/gfx/layers/wr/WebRenderBridgeChild.cpp @@ -124,10 +124,16 @@ void WebRenderBridgeChild::EndTransaction( renderRoot.mCommands = std::move(mParentCommands[renderRoot.mRenderRoot]); } + nsTArray payloads; + if (mManager) { + mManager->TakeCompositionPayloads(payloads); + } + this->SendSetDisplayList(std::move(aRenderRoots), mDestroyedActors, GetFwdTransactionId(), aTransactionId, mIdNamespace, aContainsSVGGroup, aVsyncId, aVsyncStartTime, - aRefreshStartTime, aTxnStartTime, aTxnURL, fwdTime); + aRefreshStartTime, aTxnStartTime, aTxnURL, fwdTime, + payloads); // With multiple render roots, we may not have sent all of our // mParentCommands, so go ahead and go through our mParentCommands and ensure @@ -156,11 +162,16 @@ void WebRenderBridgeChild::EndEmptyTransaction( update.mCommands = std::move(mParentCommands[update.mRenderRoot]); } + nsTArray payloads; + if (mManager) { + mManager->TakeCompositionPayloads(payloads); + } + this->SendEmptyTransaction( aFocusTarget, aPaintSequenceNumber, std::move(aRenderRootUpdates), mDestroyedActors, GetFwdTransactionId(), aTransactionId, mIdNamespace, aVsyncId, aVsyncStartTime, aRefreshStartTime, aTxnStartTime, aTxnURL, - fwdTime); + fwdTime, payloads); // With multiple render roots, we may not have sent all of our // mParentCommands, so go ahead and go through our mParentCommands and ensure diff --git a/gfx/layers/wr/WebRenderBridgeParent.cpp b/gfx/layers/wr/WebRenderBridgeParent.cpp index 8375a5a03274..b89bbfb1bedf 100644 --- a/gfx/layers/wr/WebRenderBridgeParent.cpp +++ b/gfx/layers/wr/WebRenderBridgeParent.cpp @@ -973,7 +973,7 @@ mozilla::ipc::IPCResult WebRenderBridgeParent::RecvSetDisplayList( const bool& aContainsSVGGroup, const VsyncId& aVsyncId, const TimeStamp& aVsyncStartTime, const TimeStamp& aRefreshStartTime, const TimeStamp& aTxnStartTime, const nsCString& aTxnURL, - const TimeStamp& aFwdTime) { + const TimeStamp& aFwdTime, nsTArray&& aPayloads) { if (mDestroyed) { for (const auto& op : aToDestroy) { DestroyActor(op); @@ -1079,7 +1079,8 @@ mozilla::ipc::IPCResult WebRenderBridgeParent::RecvSetDisplayList( HoldPendingTransactionId(wrEpoch, aTransactionId, aContainsSVGGroup, aVsyncId, aVsyncStartTime, aRefreshStartTime, aTxnStartTime, - aTxnURL, aFwdTime, mIsFirstPaint); + aTxnURL, aFwdTime, mIsFirstPaint, + std::move(aPayloads)); mIsFirstPaint = false; if (!validTransaction) { @@ -1107,7 +1108,8 @@ mozilla::ipc::IPCResult WebRenderBridgeParent::RecvEmptyTransaction( const TransactionId& aTransactionId, const wr::IdNamespace& aIdNamespace, const VsyncId& aVsyncId, const TimeStamp& aVsyncStartTime, const TimeStamp& aRefreshStartTime, const TimeStamp& aTxnStartTime, - const nsCString& aTxnURL, const TimeStamp& aFwdTime) { + const nsCString& aTxnURL, const TimeStamp& aFwdTime, + nsTArray&& aPayloads) { if (mDestroyed) { for (const auto& op : aToDestroy) { DestroyActor(op); @@ -1232,7 +1234,7 @@ mozilla::ipc::IPCResult WebRenderBridgeParent::RecvEmptyTransaction( HoldPendingTransactionId(mWrEpoch, aTransactionId, false, aVsyncId, aVsyncStartTime, aRefreshStartTime, aTxnStartTime, aTxnURL, aFwdTime, - /* aIsFirstPaint */ false, + /* aIsFirstPaint */ false, std::move(aPayloads), /* aUseForTelemetry */ scheduleAnyComposite); for (auto renderRoot : wr::kRenderRoots) { @@ -2043,12 +2045,12 @@ void WebRenderBridgeParent::HoldPendingTransactionId( const TimeStamp& aVsyncStartTime, const TimeStamp& aRefreshStartTime, const TimeStamp& aTxnStartTime, const nsCString& aTxnURL, const TimeStamp& aFwdTime, const bool aIsFirstPaint, - const bool aUseForTelemetry) { + nsTArray&& aPayloads, const bool aUseForTelemetry) { MOZ_ASSERT(aTransactionId > LastPendingTransactionId()); mPendingTransactionIds.push_back(PendingTransactionId( aWrEpoch, aTransactionId, aContainsSVGGroup, aVsyncId, aVsyncStartTime, aRefreshStartTime, aTxnStartTime, aTxnURL, aFwdTime, aIsFirstPaint, - aUseForTelemetry)); + aUseForTelemetry, std::move(aPayloads))); } already_AddRefed @@ -2194,6 +2196,8 @@ TransactionId WebRenderBridgeParent::FlushTransactionIdsForEpoch( aUiController->NotifyFirstPaint(); } + RecordCompositionPayloadsPresented(transactionId.mPayloads); + id = transactionId.mId; mPendingTransactionIds.pop_front(); } diff --git a/gfx/layers/wr/WebRenderBridgeParent.h b/gfx/layers/wr/WebRenderBridgeParent.h index 27b78f97a82a..7ae85f7a1cfe 100644 --- a/gfx/layers/wr/WebRenderBridgeParent.h +++ b/gfx/layers/wr/WebRenderBridgeParent.h @@ -13,6 +13,7 @@ #include "CompositableHost.h" // for CompositableHost, ImageCompositeNotificationInfo #include "GLContextProvider.h" #include "mozilla/layers/CompositableTransactionParent.h" +#include "mozilla/layers/CompositorTypes.h" #include "mozilla/layers/CompositorVsyncSchedulerOwner.h" #include "mozilla/layers/PWebRenderBridgeParent.h" #include "mozilla/layers/UiCompositorControllerParent.h" @@ -123,7 +124,8 @@ class WebRenderBridgeParent final const wr::IdNamespace& aIdNamespace, const bool& aContainsSVGGroup, const VsyncId& aVsyncId, const TimeStamp& aVsyncStartTime, const TimeStamp& aRefreshStartTime, const TimeStamp& aTxnStartTime, - const nsCString& aTxnURL, const TimeStamp& aFwdTime) override; + const nsCString& aTxnURL, const TimeStamp& aFwdTime, + nsTArray&& aPayloads) override; mozilla::ipc::IPCResult RecvEmptyTransaction( const FocusTarget& aFocusTarget, const uint32_t& aPaintSequenceNumber, nsTArray&& aRenderRootUpdates, @@ -132,7 +134,8 @@ class WebRenderBridgeParent final const wr::IdNamespace& aIdNamespace, const VsyncId& aVsyncId, const TimeStamp& aVsyncStartTime, const TimeStamp& aRefreshStartTime, const TimeStamp& aTxnStartTime, const nsCString& aTxnURL, - const TimeStamp& aFwdTime) override; + const TimeStamp& aFwdTime, + nsTArray&& aPayloads) override; mozilla::ipc::IPCResult RecvSetFocusTarget( const FocusTarget& aFocusTarget) override; mozilla::ipc::IPCResult RecvParentCommands( @@ -196,6 +199,7 @@ class WebRenderBridgeParent final const TimeStamp& aVsyncStartTime, const TimeStamp& aRefreshStartTime, const TimeStamp& aTxnStartTime, const nsCString& aTxnURL, const TimeStamp& aFwdTime, const bool aIsFirstPaint, + nsTArray&& aPayloads, const bool aUseForTelemetry = true); TransactionId LastPendingTransactionId(); TransactionId FlushTransactionIdsForEpoch( @@ -398,7 +402,8 @@ class WebRenderBridgeParent final const TimeStamp& aRefreshStartTime, const TimeStamp& aTxnStartTime, const nsCString& aTxnURL, const TimeStamp& aFwdTime, - const bool aIsFirstPaint, const bool aUseForTelemetry) + const bool aIsFirstPaint, const bool aUseForTelemetry, + nsTArray&& aPayloads) : mEpoch(aEpoch), mId(aId), mVsyncId(aVsyncId), @@ -410,7 +415,8 @@ class WebRenderBridgeParent final mSkippedComposites(0), mContainsSVGGroup(aContainsSVGGroup), mIsFirstPaint(aIsFirstPaint), - mUseForTelemetry(aUseForTelemetry) {} + mUseForTelemetry(aUseForTelemetry), + mPayloads(std::move(aPayloads)) {} wr::Epoch mEpoch; TransactionId mId; VsyncId mVsyncId; @@ -424,6 +430,7 @@ class WebRenderBridgeParent final bool mContainsSVGGroup; bool mIsFirstPaint; bool mUseForTelemetry; + nsTArray mPayloads; }; struct CompositorAnimationIdsForEpoch { diff --git a/gfx/layers/wr/WebRenderLayerManager.cpp b/gfx/layers/wr/WebRenderLayerManager.cpp index 7a338082c5c6..cea0d3a3013c 100644 --- a/gfx/layers/wr/WebRenderLayerManager.cpp +++ b/gfx/layers/wr/WebRenderLayerManager.cpp @@ -152,6 +152,17 @@ void WebRenderLayerManager::StopFrameTimeRecording( } } +void WebRenderLayerManager::PayloadPresented() { + MOZ_CRASH("WebRenderLayerManager::PayloadPresented should not be called"); +} + +void WebRenderLayerManager::TakeCompositionPayloads( + nsTArray& aPayloads) { + aPayloads.Clear(); + + std::swap(mPayload, aPayloads); +} + bool WebRenderLayerManager::BeginTransactionWithTarget(gfxContext* aTarget, const nsCString& aURL) { mTarget = aTarget; @@ -569,9 +580,6 @@ void WebRenderLayerManager::DidComposite( // the end of the method invocation. RefPtr selfRef = this; - // XXX - Currently we don't track this. Make sure it doesn't just grow though. - mPayload.Clear(); - // |aTransactionId| will be > 0 if the compositor is acknowledging a shadow // layers transaction. if (aTransactionId.IsValid()) { diff --git a/gfx/layers/wr/WebRenderLayerManager.h b/gfx/layers/wr/WebRenderLayerManager.h index 3496f2acb07a..f544b9c3710b 100644 --- a/gfx/layers/wr/WebRenderLayerManager.h +++ b/gfx/layers/wr/WebRenderLayerManager.h @@ -190,6 +190,10 @@ class WebRenderLayerManager final : public LayerManager { return &mStateManagers[aRenderRoot]; } + virtual void PayloadPresented() override; + + void TakeCompositionPayloads(nsTArray& aPayloads); + private: /** * Take a snapshot of the parent context, and copy From 047844cc8a3d1f88a9bf823b19d3a1c63c2c5887 Mon Sep 17 00:00:00 2001 From: Ashley Hauck Date: Tue, 28 May 2019 16:59:14 +0000 Subject: [PATCH 25/80] Bug 1553744 - Delete .initalizers scope for constructors in classes without fields. r=jorendorff Differential Revision: https://phabricator.services.mozilla.com/D32368 --HG-- extra : moz-landing-system : lando --- js/src/frontend/BytecodeEmitter.cpp | 21 ++++++++++++--------- js/src/frontend/FullParseHandler.h | 18 ++++++++++++++++++ js/src/frontend/ParseNode.h | 2 ++ js/src/frontend/Parser.cpp | 4 ++++ js/src/frontend/SyntaxParseHandler.h | 1 + 5 files changed, 37 insertions(+), 9 deletions(-) diff --git a/js/src/frontend/BytecodeEmitter.cpp b/js/src/frontend/BytecodeEmitter.cpp index 52441b211160..39b5b934eb6b 100644 --- a/js/src/frontend/BytecodeEmitter.cpp +++ b/js/src/frontend/BytecodeEmitter.cpp @@ -8768,17 +8768,20 @@ bool BytecodeEmitter::emitClass( // in, hence this extra scope. Maybe lse; if (constructor->is()) { - lse.emplace(this); - if (!lse->emitScope( - ScopeKind::Lexical, - constructor->as().scopeBindings())) { - return false; + if (!constructor->as().isEmptyScope()) { + lse.emplace(this); + if (!lse->emitScope( + ScopeKind::Lexical, + constructor->as().scopeBindings())) { + return false; + } + + // Any class with field initializers will have a constructor + if (!emitCreateFieldInitializers(classMembers)) { + return false; + } } - // Any class with field initializers will have a constructor - if (!emitCreateFieldInitializers(classMembers)) { - return false; - } ctor = &constructor->as() .scopeBody() ->as() diff --git a/js/src/frontend/FullParseHandler.h b/js/src/frontend/FullParseHandler.h index 477a923c9be6..574b3d103b15 100644 --- a/js/src/frontend/FullParseHandler.h +++ b/js/src/frontend/FullParseHandler.h @@ -472,6 +472,24 @@ class FullParseHandler { return true; } + void deleteConstructorScope(JSContext* cx, ListNodeType memberList) { + for (ParseNode* member : memberList->contents()) { + if (member->is()) { + LexicalScopeNode* node = &member->as(); + MOZ_ASSERT(node->scopeBody()->isKind(ParseNodeKind::ClassMethod)); + MOZ_ASSERT(node->scopeBody()->as().method().syntaxKind() == + FunctionSyntaxKind::ClassConstructor || + node->scopeBody()->as().method().syntaxKind() == + FunctionSyntaxKind::DerivedClassConstructor); + MOZ_ASSERT(!node->isEmptyScope()); + MOZ_ASSERT(node->scopeBindings()->length == 1); + MOZ_ASSERT(node->scopeBindings()->trailingNames[0].name() == + cx->names().dotInitializers); + node->clearScopeBindings(); + } + } + } + UnaryNodeType newInitialYieldExpression(uint32_t begin, Node gen) { TokenPos pos(begin, begin + 1); return new_(ParseNodeKind::InitialYield, pos, gen); diff --git a/js/src/frontend/ParseNode.h b/js/src/frontend/ParseNode.h index 9dd7feafd96c..a13316f1f4e9 100644 --- a/js/src/frontend/ParseNode.h +++ b/js/src/frontend/ParseNode.h @@ -1542,6 +1542,8 @@ class LexicalScopeNode : public ParseNode { return Handle::fromMarkedLocation(&bindings); } + void clearScopeBindings() { this->bindings = nullptr; } + ParseNode* scopeBody() const { return body; } void setScopeBody(ParseNode* body) { this->body = body; } diff --git a/js/src/frontend/Parser.cpp b/js/src/frontend/Parser.cpp index 69ee03b1e66f..3bffaf6cf58d 100644 --- a/js/src/frontend/Parser.cpp +++ b/js/src/frontend/Parser.cpp @@ -6992,6 +6992,10 @@ bool GeneralParser::finishClassConstructor( ctorbox->function()->lazyScript()->setHasThisBinding(); } } + + if (numFields == 0) { + handler_.deleteConstructorScope(cx_, classMembers); + } } return true; diff --git a/js/src/frontend/SyntaxParseHandler.h b/js/src/frontend/SyntaxParseHandler.h index 66145c3501c7..780d1dd8d3d2 100644 --- a/js/src/frontend/SyntaxParseHandler.h +++ b/js/src/frontend/SyntaxParseHandler.h @@ -361,6 +361,7 @@ class SyntaxParseHandler { Node member) { return true; } + void deleteConstructorScope(JSContext* cx, ListNodeType memberList) {} UnaryNodeType newYieldExpression(uint32_t begin, Node value) { return NodeGeneric; } From ec563f800ae75b75e807ff20e237e063a304714f Mon Sep 17 00:00:00 2001 From: Wes Kocher Date: Tue, 28 May 2019 17:43:14 +0000 Subject: [PATCH 26/80] Bug 1550895 - Clear up ambiguities in android wpt tier definitions so they apply correctly. Taskcluster didn't correctly apply the change back to tier-3 in the previous patch because the wildcard setting the tier to 2 by default beat out the specific line setting tier-3 for the geckoview tests. This patch specifically changes the tier for non-geckoview reftests (fennec runs on x86 emulators) to tier-2, while geckoview reftests (TRA runs on x86_64 emulators) to tier-3. This change also explicitly sets the non-reftest tests to tier-2 for all android platforms, because they didn't have the permafails that the reftests seem to have. Differential Revision: https://phabricator.services.mozilla.com/D32863 --HG-- extra : moz-landing-system : lando --- taskcluster/ci/test/web-platform.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/taskcluster/ci/test/web-platform.yml b/taskcluster/ci/test/web-platform.yml index 6afc9ecb287f..e29ba50162b4 100644 --- a/taskcluster/ci/test/web-platform.yml +++ b/taskcluster/ci/test/web-platform.yml @@ -64,7 +64,6 @@ web-platform-tests: default: built-projects tier: by-test-platform: - android-em-7.0-x86_64/*: 3 android.*: 2 linux64-asan/opt: 2 windows10-aarch64.*: 2 @@ -122,8 +121,9 @@ web-platform-tests-reftests: default: built-projects tier: by-test-platform: - android-em-7.0-x86_64/*: 3 - android.*: 2 + android.*-x86_64/opt: 3 + android.*-x86_64/debug: 3 + android.*x86(?!x86_64)/opt: 2 linux64-asan/opt: 2 windows10-aarch64.*: 2 default: default From 6c236c90e070fadb8fd302cb04d9f82af0c78c58 Mon Sep 17 00:00:00 2001 From: Brad Werth Date: Wed, 22 May 2019 22:47:29 +0000 Subject: [PATCH 27/80] Bug 1538042 Part 2: Add tests of null character searches. r=mccr8 Differential Revision: https://phabricator.services.mozilla.com/D25293 --HG-- extra : moz-landing-system : lando --- dom/base/test/test_find.html | 8 +++++ .../windowcreator/test/test_nsFind.html | 32 +++++++++++++++++-- 2 files changed, 38 insertions(+), 2 deletions(-) diff --git a/dom/base/test/test_find.html b/dom/base/test/test_find.html index 17c19e3b3c47..0269b38b799d 100644 --- a/dom/base/test/test_find.html +++ b/dom/base/test/test_find.html @@ -122,6 +122,14 @@ let runTests = t.step_func_done(function() { input.value = "foo"; document.documentElement.appendChild(input); }, "Native anonymous content isn't exposed in window.find"); + + testFindable(false, "\0", ` + � + `); + + testFindable(true, "\0", function(document) { + document.documentElement.appendChild(document.createTextNode("\0")); + }, "Inserted null characters are findable"); }); window.onload = function() { diff --git a/toolkit/components/windowcreator/test/test_nsFind.html b/toolkit/components/windowcreator/test/test_nsFind.html index dec654c2c51e..aed0bbf9c645 100644 --- a/toolkit/components/windowcreator/test/test_nsFind.html +++ b/toolkit/components/windowcreator/test/test_nsFind.html @@ -13,6 +13,8 @@ https://bugzilla.mozilla.org/show_bug.cgi?id=450048 Mozilla Bug 450048

This is the text to search in­to

"straight" and “curly” and ‘didn't’ and 'doesn’t'

+

native null�

+

@@ -23,6 +25,15 @@ https://bugzilla.mozilla.org/show_bug.cgi?id=450048 // Check nsFind class and its nsIFind interface. + // Inject some text that we'll search for after the DOM content is loaded. + const INJECTED_NULL_TEXT = "injected null\0"; + const nullcharsinjected = document.getElementById("nullcharsinjected"); + const nulltextnode = document.createTextNode(INJECTED_NULL_TEXT); + nullcharsinjected.appendChild(nulltextnode); + + document.addEventListener("DOMContentLoaded", runTests); + +function runTests() { var rf = SpecialPowers.Cc["@mozilla.org/embedcomp/rangefind;1"] .getService(SpecialPowers.Ci.nsIFind); @@ -138,11 +149,15 @@ https://bugzilla.mozilla.org/show_bug.cgi?id=450048 } function assertFound(node, value) { - ok(find(node, value), "\"" + value + "\" not found"); + ok(find(node, value), "\"" + value + "\" should be found"); } function assertNotFound(node, value) { - ok(!find(node, value), "\"" + value + "\" found"); + ok(!find(node, value), "\"" + value + "\" should not be found"); + } + + function assertNotFoundTODO(node, value) { + todo(!find(node, value), "\"" + value + "\" should not be found"); } var quotes = document.getElementById("quotes"); @@ -221,6 +236,19 @@ https://bugzilla.mozilla.org/show_bug.cgi?id=450048 assertFound(quotes, "'doesn\u2019t'"); assertNotFound(quotes, "'doesn\u2018t'"); assertNotFound(quotes, "'doesn't'"); + + // Embedded strings containing null characters can't be found, because + // the HTML parser converts them to \ufffd, which is the replacement + // character. + const NULL_CHARACTER = "\0"; + const nullcharsnative = document.getElementById("nullcharsnative"); + assertNotFoundTODO(nullcharsnative, NULL_CHARACTER); // Bug 1539653 + assertFound(nullcharsnative, "native null\ufffd"); + + // Injected strings containing null characters can be found. + assertFound(nullcharsinjected, NULL_CHARACTER); + assertFound(nullcharsinjected, INJECTED_NULL_TEXT); +} From 24db155aecd1c9260fb80907253230e501ba5a7e Mon Sep 17 00:00:00 2001 From: Dan Minor Date: Tue, 28 May 2019 16:03:19 +0000 Subject: [PATCH 28/80] Bug 1545247 - Fix crash in MouseCursorMonitorX11::CaptureCursor() on linux32; r=ng This is a cherry pick of upstream commit c1187ab34bdf836bd33f7f050d525184eba4cd20. Differential Revision: https://phabricator.services.mozilla.com/D32826 --HG-- extra : moz-landing-system : lando --- .../desktop_capture/linux/mouse_cursor_monitor_x11.cc | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/media/webrtc/trunk/webrtc/modules/desktop_capture/linux/mouse_cursor_monitor_x11.cc b/media/webrtc/trunk/webrtc/modules/desktop_capture/linux/mouse_cursor_monitor_x11.cc index 1d1d793498f1..1f9352f28036 100644 --- a/media/webrtc/trunk/webrtc/modules/desktop_capture/linux/mouse_cursor_monitor_x11.cc +++ b/media/webrtc/trunk/webrtc/modules/desktop_capture/linux/mouse_cursor_monitor_x11.cc @@ -211,11 +211,12 @@ void MouseCursorMonitorX11::CaptureCursor() { std::unique_ptr image( new BasicDesktopFrame(DesktopSize(img->width, img->height))); - uint64_t* src = reinterpret_cast(img->pixels); + // Xlib stores 32-bit data in longs, even if longs are 64-bits long. + unsigned long* src = img->pixels; uint32_t* dst = reinterpret_cast(image->data()); uint32_t* dst_end = dst + (img->width * img->height); while (dst < dst_end) { - *dst++ = *src++; + *dst++ = static_cast(*src++); } DesktopVector hotspot(std::min(img->width, img->xhot), From c93b5324d29116b30249e9cdf2c52d8e188c2954 Mon Sep 17 00:00:00 2001 From: Luca Greco Date: Tue, 28 May 2019 14:07:57 +0000 Subject: [PATCH 29/80] Bug 1551541 - HTML about:addons should show permissions prompt when enabling sideloaded extensions. r=mstriemer Differential Revision: https://phabricator.services.mozilla.com/D31068 --HG-- extra : moz-landing-system : lando --- .../browser_extension_sideloading.js | 81 +++++++++++++---- .../mozapps/extensions/content/aboutaddons.js | 12 ++- .../extensions/content/aboutaddonsCommon.js | 51 ++++++++++- .../mozapps/extensions/content/extensions.js | 45 ++-------- ...rowser_extension_sideloading_permission.js | 86 ++++++++++++++----- .../mozapps/extensions/test/browser/head.js | 24 ++++-- 6 files changed, 213 insertions(+), 86 deletions(-) diff --git a/browser/base/content/test/webextensions/browser_extension_sideloading.js b/browser/base/content/test/webextensions/browser_extension_sideloading.js index 1ff571cfee69..70f1c45a6476 100644 --- a/browser/base/content/test/webextensions/browser_extension_sideloading.js +++ b/browser/base/content/test/webextensions/browser_extension_sideloading.js @@ -5,6 +5,9 @@ const {AddonTestUtils} = ChromeUtils.import("resource://testing-common/AddonTest AddonTestUtils.initMochitest(this); +hookExtensionsTelemetry(); +AddonTestUtils.hookAMTelemetryEvents(); + async function createWebExtension(details) { let options = { manifest: { @@ -31,11 +34,58 @@ function promiseEvent(eventEmitter, event) { }); } -add_task(async function() { +async function getAddonElement(managerWindow, addonId) { + if (managerWindow.useHtmlViews) { + // about:addons is using the new HTML page. + const {contentDocument: doc} = managerWindow.document.getElementById("html-view-browser"); + const card = await BrowserTestUtils.waitForCondition(() => + doc.querySelector(`addon-card[addon-id="${addonId}"]`), + `Found entry for sideload extension addon "${addonId}" in HTML about:addons`); + + return card; + } + + // about:addons is using the XUL-based views. + let list = managerWindow.document.getElementById("addon-list"); + // Make sure XBL bindings are applied + list.clientHeight; + const item = Array.from(list.children).find(_item => _item.value == addonId); + ok(item, "Found entry for sideloaded extension in about:addons"); + + return item; +} + +function assertDisabledSideloadedAddonElement(managerWindow, addonElement) { + if (managerWindow.useHtmlViews) { + // about:addons is using the new HTML page. + const doc = addonElement.ownerDocument; + const enableBtn = addonElement.querySelector('[action="toggle-disabled"]'); + is(doc.l10n.getAttributes(enableBtn).id, "enable-addon-button", + "The button has the enable label"); + } else { + addonElement.scrollIntoView({behavior: "instant"}); + ok(BrowserTestUtils.is_visible(addonElement._enableBtn), + "Enable button is visible for sideloaded extension"); + ok(BrowserTestUtils.is_hidden(addonElement._disableBtn), + "Disable button is not visible for sideloaded extension"); + } +} + +function clickEnableExtension(managerWindow, addonElement) { + if (managerWindow.useHtmlViews) { + addonElement.querySelector('[action="toggle-disabled"]').click(); + } else { + BrowserTestUtils.synthesizeMouseAtCenter(addonElement._enableBtn, {}, + gBrowser.selectedBrowser); + } +} + +async function test_sideloading({useHtmlViews}) { const DEFAULT_ICON_URL = "chrome://mozapps/skin/extensions/extensionGeneric.svg"; await SpecialPowers.pushPrefEnv({ set: [ + ["extensions.htmlaboutaddons.enabled", useHtmlViews], ["xpinstall.signatures.required", false], ["extensions.autoDisableScopes", 15], ["extensions.ui.ignoreUnsigned", true], @@ -84,8 +134,6 @@ add_task(async function() { await BrowserTestUtils.browserLoaded(gBrowser.selectedBrowser); }); - hookExtensionsTelemetry(); - AddonTestUtils.hookAMTelemetryEvents(); let changePromise = new Promise(resolve => { ExtensionsUI.on("change", function listener() { @@ -122,7 +170,9 @@ add_task(async function() { const VIEW = "addons://list/extension"; let win = gBrowser.selectedBrowser.contentWindow; - ok(!win.gViewController.isLoading, "about:addons view is fully loaded"); + + await BrowserTestUtils.waitForCondition(() => !win.gViewController.isLoading, + "about:addons view is fully loaded"); is(win.gViewController.currentViewId, VIEW, "about:addons is at extensions list"); // Check the contents of the notification, then choose "Cancel" @@ -152,27 +202,20 @@ add_task(async function() { win = await BrowserOpenAddonsMgr(VIEW); - let list = win.document.getElementById("addon-list"); if (win.gViewController.isLoading) { await new Promise(resolve => win.document.addEventListener("ViewChanged", resolve, {once: true})); } - // Make sure XBL bindings are applied - list.clientHeight; + // XUL or HTML about:addons addon entry element. + const addonElement = await getAddonElement(win, ID2); - let item = Array.from(list.children).find(_item => _item.value == ID2); - ok(item, "Found entry for sideloaded extension in about:addons"); - item.scrollIntoView({behavior: "instant"}); - - ok(BrowserTestUtils.is_visible(item._enableBtn), "Enable button is visible for sideloaded extension"); - ok(BrowserTestUtils.is_hidden(item._disableBtn), "Disable button is not visible for sideloaded extension"); + assertDisabledSideloadedAddonElement(win, addonElement); info("Test enabling sideloaded addon 2 from about:addons enable button"); // When clicking enable we should see the permissions notification popupPromise = promisePopupNotificationShown("addon-webext-permissions"); - BrowserTestUtils.synthesizeMouseAtCenter(item._enableBtn, {}, - gBrowser.selectedBrowser); + clickEnableExtension(win, addonElement); panel = await popupPromise; checkNotification(panel, DEFAULT_ICON_URL, [["webextPerms.hostDescription.allUrls"]]); @@ -302,4 +345,12 @@ add_task(async function() { is(collectedEventsAddon2.length, expectedEventsAddon2.length, "Got the expected number of telemetry events for addon2"); +} + +add_task(async function test_xul_aboutaddons_sideloading() { + await test_sideloading({useHtmlViews: false}); +}); + +add_task(async function test_html_aboutaddons_sideloading() { + await test_sideloading({useHtmlViews: true}); }); diff --git a/toolkit/mozapps/extensions/content/aboutaddons.js b/toolkit/mozapps/extensions/content/aboutaddons.js index f178e4e66a8d..b667e468afa0 100644 --- a/toolkit/mozapps/extensions/content/aboutaddons.js +++ b/toolkit/mozapps/extensions/content/aboutaddons.js @@ -1071,7 +1071,11 @@ class AddonCard extends HTMLElement { switch (action) { case "toggle-disabled": if (addon.userDisabled) { - await addon.enable(); + if (shouldShowPermissionsPrompt(addon)) { + await showPermissionsPrompt(addon); + } else { + await addon.enable(); + } } else { await addon.disable(); } @@ -1611,8 +1615,11 @@ class AddonList extends HTMLElement { // Process any pending uninstall related to this list. for (const addon of this.pendingUninstallAddons) { - addon.uninstall(); + if (isPending(addon, "uninstall")) { + addon.uninstall(); + } } + this.pendingUninstallAddons.clear(); } /** @@ -1908,6 +1915,7 @@ class AddonList extends HTMLElement { } onUninstalled(addon) { + this.pendingUninstallAddons.delete(addon); this.removePendingUninstallBar(addon); this.removeAddon(addon); } diff --git a/toolkit/mozapps/extensions/content/aboutaddonsCommon.js b/toolkit/mozapps/extensions/content/aboutaddonsCommon.js index 367a95aef474..13ef0d243885 100644 --- a/toolkit/mozapps/extensions/content/aboutaddonsCommon.js +++ b/toolkit/mozapps/extensions/content/aboutaddonsCommon.js @@ -6,7 +6,8 @@ "use strict"; /* exported attachUpdateHandler, getBrowserElement, loadReleaseNotes, - * openOptionsInTab */ + openOptionsInTab, shouldShowPermissionsPrompt, + showPermissionsPrompt */ var {Services} = ChromeUtils.import("resource://gre/modules/Services.jsm"); var {XPCOMUtils} = ChromeUtils.import("resource://gre/modules/XPCOMUtils.jsm"); @@ -102,3 +103,51 @@ function openOptionsInTab(optionsURL) { } return false; } + +function shouldShowPermissionsPrompt(addon) { + if (!WEBEXT_PERMISSION_PROMPTS || !addon.isWebExtension || addon.seen) { + return false; + } + + const {origins, permissions} = addon.userPermissions; + return origins.length > 0 || permissions.length > 0; +} + +function showPermissionsPrompt(addon) { + return new Promise((resolve) => { + const permissions = addon.userPermissions; + const target = getBrowserElement(); + + const onAddonEnabled = () => { + // The user has just enabled a sideloaded extension, if the permission + // can be changed for the extension, show the post-install panel to + // give the user that opportunity. + if (addon.permissions & + AddonManager.PERM_CAN_CHANGE_PRIVATEBROWSING_ACCESS) { + Services.obs.notifyObservers({addon, target}, + "webextension-install-notify"); + } + resolve(); + }; + + const subject = { + wrappedJSObject: { + target, + info: { + type: "sideload", + addon, + icon: addon.iconURL, + permissions, + resolve() { + addon.markAsSeen(); + addon.enable().then(onAddonEnabled); + }, + reject() { + // Ignore a cancelled permission prompt. + }, + }, + }, + }; + Services.obs.notifyObservers(subject, "webextension-permission-prompt"); + }); +} diff --git a/toolkit/mozapps/extensions/content/extensions.js b/toolkit/mozapps/extensions/content/extensions.js index c96e799b3980..cb9c7f6d827a 100644 --- a/toolkit/mozapps/extensions/content/extensions.js +++ b/toolkit/mozapps/extensions/content/extensions.js @@ -30,8 +30,6 @@ ChromeUtils.defineModuleGetter(this, "ClientID", ChromeUtils.defineModuleGetter(this, "PrivateBrowsingUtils", "resource://gre/modules/PrivateBrowsingUtils.jsm"); -XPCOMUtils.defineLazyPreferenceGetter(this, "WEBEXT_PERMISSION_PROMPTS", - "extensions.webextPermissionPrompts", false); XPCOMUtils.defineLazyPreferenceGetter(this, "XPINSTALL_ENABLED", "xpinstall.enabled", true); @@ -1230,42 +1228,15 @@ var gViewController = { hasPermission(aAddon, "enable")); }, doCommand(aAddon) { - if (aAddon.isWebExtension && !aAddon.seen && WEBEXT_PERMISSION_PROMPTS) { - let perms = aAddon.userPermissions; - if (perms.origins.length > 0 || perms.permissions.length > 0) { - const target = getBrowserElement(); - - let subject = { - wrappedJSObject: { - target, - info: { - type: "sideload", - addon: aAddon, - icon: aAddon.iconURL, - permissions: perms, - resolve() { - aAddon.markAsSeen(); - aAddon.enable().then(() => { - // The user has just enabled a sideloaded extension, if the permission - // can be changed for the extension, show the post-install panel to - // give the user that opportunity. - if (aAddon.permissions & AddonManager.PERM_CAN_CHANGE_PRIVATEBROWSING_ACCESS) { - Services.obs.notifyObservers({ - addon: aAddon, target, - }, "webextension-install-notify"); - } - }); - }, - reject() {}, - }, - }, - }; - Services.obs.notifyObservers(subject, "webextension-permission-prompt"); - return; - } + if (shouldShowPermissionsPrompt(aAddon)) { + showPermissionsPrompt(aAddon).then(() => { + // Record telemetry if the addon has been enabled. + recordActionTelemetry({action: "enable", addon: aAddon}); + }); + } else { + aAddon.enable(); + recordActionTelemetry({action: "enable", addon: aAddon}); } - aAddon.enable(); - recordActionTelemetry({action: "enable", addon: aAddon}); }, getTooltip(aAddon) { if (!aAddon) diff --git a/toolkit/mozapps/extensions/test/browser/browser_extension_sideloading_permission.js b/toolkit/mozapps/extensions/test/browser/browser_extension_sideloading_permission.js index 1048a0a4ccd3..c5c62bb9af3b 100644 --- a/toolkit/mozapps/extensions/test/browser/browser_extension_sideloading_permission.js +++ b/toolkit/mozapps/extensions/test/browser/browser_extension_sideloading_permission.js @@ -10,8 +10,46 @@ const ADDON_ID = "addon1@test.mozilla.org"; AddonTestUtils.initMochitest(this); +function assertDisabledSideloadedExtensionElement(managerWindow, addonElement) { + const doc = addonElement.ownerDocument; + if (managerWindow.useHtmlViews) { + const toggleDisabled = addonElement.querySelector('[action="toggle-disabled"]'); + is(doc.l10n.getAttributes(toggleDisabled).id, "enable-addon-button", + "Addon toggle-disabled action has the enable label"); + } else { + let el = doc.getAnonymousElementByAttribute(addonElement, "anonid", "disable-btn"); + is_element_hidden(el, "Disable button not visible."); + el = doc.getAnonymousElementByAttribute(addonElement, "anonid", "enable-btn"); + is_element_visible(el, "Enable button visible"); + } +} + +function assertEnabledSideloadedExtensionElement(managerWindow, addonElement) { + const doc = addonElement.ownerDocument; + if (managerWindow.useHtmlViews) { + const toggleDisabled = addonElement.querySelector('[action="toggle-disabled"]'); + is(doc.l10n.getAttributes(toggleDisabled).id, "enable-addon-button", + "Addon toggle-disabled action has the enable label"); + } else { + let el = doc.getAnonymousElementByAttribute(addonElement, "anonid", "disable-btn"); + is_element_hidden(el, "Disable button not visible."); + el = doc.getAnonymousElementByAttribute(addonElement, "anonid", "enable-btn"); + is_element_visible(el, "Enable button visible"); + } +} + +function clickEnableExtension(managerWindow, addonElement) { + if (managerWindow.useHtmlViews) { + addonElement.querySelector('[action="toggle-disabled"]').click(); + } else { + const doc = addonElement.ownerDocument; + const el = doc.getAnonymousElementByAttribute(addonElement, "anonid", "enable-btn"); + EventUtils.synthesizeMouseAtCenter(el, {clickCount: 1}, managerWindow); + } +} + // Loading extension by sideloading method -add_task(async function test() { +async function test_sideloaded_extension_permissions_prompt() { await SpecialPowers.pushPrefEnv({ set: [ ["xpinstall.signatures.required", false], @@ -41,19 +79,13 @@ add_task(async function test() { let addon = get_addon_element(manager, ADDON_ID); Assert.notEqual(addon, null, "Found sideloaded addon in about:addons"); - let el = addon.ownerDocument.getAnonymousElementByAttribute(addon, "anonid", "disable-btn"); - is_element_hidden(el, "Disable button not visible."); - el = addon.ownerDocument.getAnonymousElementByAttribute(addon, "anonid", "enable-btn"); - is_element_visible(el, "Enable button visible"); + + assertDisabledSideloadedExtensionElement(manager, addon); let popupPromise = promisePopupNotificationShown("addon-webext-permissions"); - EventUtils.synthesizeMouseAtCenter( - el, - { clickCount: 1 }, - manager - ); - + clickEnableExtension(manager, addon); let panel = await popupPromise; + ok(PopupNotifications.isPanelOpen, "Permission popup should be visible"); panel.secondaryButton.click(); ok(!PopupNotifications.isPanelOpen, "Permission popup should be closed / closing"); @@ -65,19 +97,12 @@ add_task(async function test() { addon = get_addon_element(manager, ADDON_ID); Assert.notEqual(addon, null, "Found sideloaded addon in about:addons"); - el = addon.ownerDocument.getAnonymousElementByAttribute(addon, "anonid", "disable-btn"); - is_element_hidden(el, "Disable button not visible."); - el = addon.ownerDocument.getAnonymousElementByAttribute(addon, "anonid", "enable-btn"); - is_element_visible(el, "Enable button visible"); + assertEnabledSideloadedExtensionElement(manager, addon); popupPromise = promisePopupNotificationShown("addon-webext-permissions"); - EventUtils.synthesizeMouseAtCenter( - manager.document.getAnonymousElementByAttribute(addon, "anonid", "enable-btn"), - { clickCount: 1 }, - manager - ); - + clickEnableExtension(manager, addon); panel = await popupPromise; + ok(PopupNotifications.isPanelOpen, "Permission popup should be visible"); let notificationPromise = acceptAppMenuNotificationWhenShown("addon-installed", ADDON_ID); @@ -91,7 +116,22 @@ add_task(async function test() { ok(!PopupNotifications.isPanelOpen, "Permission popup should not be visible"); - await addon.uninstall(); - await close_manager(manager); + await addon.uninstall(); +} + +add_task(async function test_XUL_aboutaddons_sideloaded_permissions_prompt() { + await SpecialPowers.pushPrefEnv({ + set: [["extensions.htmlaboutaddons.enabled", false]], + }); + await test_sideloaded_extension_permissions_prompt(); + await SpecialPowers.popPrefEnv(); +}); + +add_task(async function test_HTML_aboutaddons_sideloaded_permissions_prompt() { + await SpecialPowers.pushPrefEnv({ + set: [["extensions.htmlaboutaddons.enabled", true]], + }); + await test_sideloaded_extension_permissions_prompt(); + await SpecialPowers.popPrefEnv(); }); diff --git a/toolkit/mozapps/extensions/test/browser/head.js b/toolkit/mozapps/extensions/test/browser/head.js index 906132a2bda2..60d1a595327d 100644 --- a/toolkit/mozapps/extensions/test/browser/head.js +++ b/toolkit/mozapps/extensions/test/browser/head.js @@ -319,19 +319,27 @@ function check_all_in_list(aManager, aIds, aIgnoreExtras) { } function get_addon_element(aManager, aId) { - var doc = aManager.document; - var view = get_current_view(aManager); - var listid = "addon-list"; - if (view.id == "updates-view") - listid = "updates-list"; - var list = doc.getElementById(listid); + if (aManager.useHtmlViews) { + const doc = aManager.getHtmlBrowser().contentDocument; + return doc.querySelector(`addon-card[addon-id="${aId}"]`); + } - var node = list.firstChild; + const doc = aManager.document; + const view = get_current_view(aManager); + let listid = "addon-list"; + if (view.id == "updates-view") { + listid = "updates-list"; + } + const list = doc.getElementById(listid); + + let node = list.firstChild; while (node) { - if (node.value == aId) + if (node.value == aId) { return node; + } node = node.nextSibling; } + return null; } From deb6cb04a5550b09aa9a6565fe6c3e49b41b1a5a Mon Sep 17 00:00:00 2001 From: Rob Wu Date: Tue, 28 May 2019 18:16:47 +0000 Subject: [PATCH 30/80] Bug 1553448 - Improve appearance of card menu at about:addons r=mstriemer,jaws - Render "hidden" appearance via opacity. This fixes the reported regression, and also results in a desired fading of the icon (if any). - Set cursor to "default" avoid "pointer" cursor in menu items. - Let the "checked" icon adapt the color of the style sheet (e.g. to account for dark themes) instead of using the default black color. - Prevent clicks on non-button elements in the menu from expanding the card, e.g. when the user clicks on the triangle or separator. - Render menu item icon at the right in RTL locales. Differential Revision: https://phabricator.services.mozilla.com/D32145 --HG-- extra : moz-landing-system : lando --- .../mozapps/extensions/content/aboutaddons.js | 25 ++++++------------- .../mozapps/extensions/content/panel-item.css | 22 +++++++++++----- .../mozapps/extensions/content/panel-list.css | 1 + 3 files changed, 25 insertions(+), 23 deletions(-) diff --git a/toolkit/mozapps/extensions/content/aboutaddons.js b/toolkit/mozapps/extensions/content/aboutaddons.js index b667e468afa0..fcd37859c58b 100644 --- a/toolkit/mozapps/extensions/content/aboutaddons.js +++ b/toolkit/mozapps/extensions/content/aboutaddons.js @@ -349,11 +349,7 @@ class PanelList extends HTMLElement { } set open(val) { - if (val) { - this.setAttribute("open", "true"); - } else { - this.removeAttribute("open"); - } + this.toggleAttribute("open", val); } show(triggeringEvent) { @@ -459,6 +455,10 @@ class PanelList extends HTMLElement { case "click": if (e.target.tagName == "PANEL-ITEM") { this.hide(); + } else { + // Avoid falling through to the default click handler of the + // add-on card, which would expand the add-on card. + e.stopPropagation(); } break; case "mousedown": @@ -510,11 +510,7 @@ class PanelItem extends HTMLElement { } set disabled(val) { - if (val) { - this.button.setAttribute("disabled", ""); - } else { - this.button.removeAttribute("disabled"); - } + this.button.toggleAttribute("disabled", val); } get checked() { @@ -522,11 +518,7 @@ class PanelItem extends HTMLElement { } set checked(val) { - if (val) { - this.setAttribute("checked", ""); - } else { - this.removeAttribute("checked"); - } + this.toggleAttribute("checked", val); } } customElements.define("panel-item", PanelItem); @@ -1164,8 +1156,7 @@ class AddonCard extends HTMLElement { break; default: // Handle a click on the card itself. - // Don't expand if expanded or a button was clicked. - if (!this.expanded && e.target.localName != "button") { + if (!this.expanded) { loadViewFn("detail", this.addon.id); } break; diff --git a/toolkit/mozapps/extensions/content/panel-item.css b/toolkit/mozapps/extensions/content/panel-item.css index aa065ea4ce3f..afcf189af5e5 100644 --- a/toolkit/mozapps/extensions/content/panel-item.css +++ b/toolkit/mozapps/extensions/content/panel-item.css @@ -1,3 +1,9 @@ +:host([checked]) { + --icon: url("chrome://global/skin/icons/check.svg"); + -moz-context-properties: fill; + fill: currentColor; +} + button { background-color: transparent; color: inherit; @@ -15,6 +21,10 @@ button { width: 100%; } +button:dir(rtl) { + background-position: right 16px center; +} + :host([badged]) button::after { content: ""; display: block; @@ -27,15 +37,15 @@ button { left: 28px; } -:host([checked]) { - --icon: url("chrome://global/skin/icons/check.svg"); -} - button:focus, -button:not([disabled]):hover { +button:enabled:hover { background-color: var(--in-content-button-background); } -button:not([disabled]):hover:active { +button:enabled:hover:active { background-color: var(--in-content-button-background-hover); } + +button:disabled { + opacity: 0.4; +} diff --git a/toolkit/mozapps/extensions/content/panel-list.css b/toolkit/mozapps/extensions/content/panel-list.css index 49065fe36ec3..fa3fc2cbe15d 100644 --- a/toolkit/mozapps/extensions/content/panel-list.css +++ b/toolkit/mozapps/extensions/content/panel-list.css @@ -17,6 +17,7 @@ min-width: 12em; z-index: 1; white-space: nowrap; + cursor: default; } :host([valign="top"]) { From 3c28e033c62408ae73975db533481d042a4684b4 Mon Sep 17 00:00:00 2001 From: Logan Smyth Date: Tue, 28 May 2019 18:40:50 +0000 Subject: [PATCH 31/80] Bug 1531493 - Avoid uncaught rejection when shutting down workers. r=jlast Differential Revision: https://phabricator.services.mozilla.com/D32860 --HG-- extra : moz-landing-system : lando --- devtools/client/debugger/src/client/firefox/commands.js | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/devtools/client/debugger/src/client/firefox/commands.js b/devtools/client/debugger/src/client/firefox/commands.js index b7cf035a7f43..cf5493e94407 100644 --- a/devtools/client/debugger/src/client/firefox/commands.js +++ b/devtools/client/debugger/src/client/firefox/commands.js @@ -422,7 +422,12 @@ async function fetchWorkers(): Promise { for (const actor of workerNames) { if (!workerClients[actor]) { const client = newWorkerClients[actor].thread; - getSources(client); + + // This runs in the background and populates some data, but we also + // want to allow it to fail quietly. For instance, it is pretty easy + // for source clients to throw during the fetch if their thread + // shuts down, and this would otherwise cause test failures. + getSources(client).catch(e => console.error(e)); } } From 7940dd7c9f58019421316c453421305eb5b63761 Mon Sep 17 00:00:00 2001 From: Imanol Fernandez Date: Tue, 28 May 2019 18:29:10 +0000 Subject: [PATCH 32/80] Bug 1554626 - Add surface size to external_vr struct. r=kip,daoshengmu,rbarker Add surface size to external_vr struct Differential Revision: https://phabricator.services.mozilla.com/D32704 --HG-- extra : moz-landing-system : lando --- gfx/vr/external_api/moz_external_vr.h | 3 ++- gfx/vr/gfxVRExternal.cpp | 12 +++++++++--- gfx/vr/gfxVRExternal.h | 3 ++- 3 files changed, 13 insertions(+), 5 deletions(-) diff --git a/gfx/vr/external_api/moz_external_vr.h b/gfx/vr/external_api/moz_external_vr.h index a734fe057d13..6f0612c288e2 100644 --- a/gfx/vr/external_api/moz_external_vr.h +++ b/gfx/vr/external_api/moz_external_vr.h @@ -34,7 +34,7 @@ enum class GamepadCapabilityFlags : uint16_t; #endif // MOZILLA_INTERNAL_API namespace gfx { -static const int32_t kVRExternalVersion = 7; +static const int32_t kVRExternalVersion = 8; // We assign VR presentations to groups with a bitmask. // Currently, we will only display either content or chrome. @@ -346,6 +346,7 @@ struct VRLayer_Stereo_Immersive { uint64_t inputFrameId; VRLayerEyeRect leftEyeRect; VRLayerEyeRect rightEyeRect; + IntSize_POD textureSize; }; struct VRLayerState { diff --git a/gfx/vr/gfxVRExternal.cpp b/gfx/vr/gfxVRExternal.cpp index 2a594f5738cf..1d946bfae4ba 100644 --- a/gfx/vr/gfxVRExternal.cpp +++ b/gfx/vr/gfxVRExternal.cpp @@ -188,7 +188,7 @@ void VRDisplayExternal::StopVRNavigation(const TimeDuration& aTimeout) { bool VRDisplayExternal::PopulateLayerTexture( const layers::SurfaceDescriptor& aTexture, VRLayerTextureType* aTextureType, - VRLayerTextureHandle* aTextureHandle) { + VRLayerTextureHandle* aTextureHandle, IntSize_POD* aTextureSize) { switch (aTexture.type()) { #if defined(XP_WIN) case SurfaceDescriptor::TSurfaceDescriptorD3D10: { @@ -197,6 +197,8 @@ bool VRDisplayExternal::PopulateLayerTexture( *aTextureType = VRLayerTextureType::LayerTextureType_D3D10SurfaceDescriptor; *aTextureHandle = (void*)surf.handle(); + aTextureSize->width = surf.size().width; + aTextureSize->height = surf.size().height; return true; } #elif defined(XP_MACOSX) @@ -207,6 +209,8 @@ bool VRDisplayExternal::PopulateLayerTexture( const auto& desc = aTexture.get_SurfaceDescriptorMacIOSurface(); *aTextureType = VRLayerTextureType::LayerTextureType_MacIOSurface; *aTextureHandle = desc.surfaceId(); + aTextureSize->width = surf->GetDevicePixelWidth(); + aTextureSize->height = surf->GetDevicePixelHeight(); return true; } #elif defined(MOZ_WIDGET_ANDROID) @@ -221,6 +225,8 @@ bool VRDisplayExternal::PopulateLayerTexture( } *aTextureType = VRLayerTextureType::LayerTextureType_GeckoSurfaceTexture; *aTextureHandle = desc.handle(); + aTextureSize->width = desc.size().width; + aTextureSize->height = desc.size().height; return true; } #endif @@ -239,8 +245,8 @@ bool VRDisplayExternal::SubmitFrame(const layers::SurfaceDescriptor& aTexture, VRLayerType::LayerType_Stereo_Immersive); VRLayer_Stereo_Immersive& layer = mBrowserState.layerState[0].layer_stereo_immersive; - if (!PopulateLayerTexture(aTexture, &layer.textureType, - &layer.textureHandle)) { + if (!PopulateLayerTexture(aTexture, &layer.textureType, &layer.textureHandle, + &layer.textureSize)) { return false; } layer.frameId = aFrameId; diff --git a/gfx/vr/gfxVRExternal.h b/gfx/vr/gfxVRExternal.h index a1ebb8b47404..98168ee6ca4d 100644 --- a/gfx/vr/gfxVRExternal.h +++ b/gfx/vr/gfxVRExternal.h @@ -60,7 +60,8 @@ class VRDisplayExternal : public VRDisplayHost { private: bool PopulateLayerTexture(const layers::SurfaceDescriptor& aTexture, VRLayerTextureType* aTextureType, - VRLayerTextureHandle* aTextureHandle); + VRLayerTextureHandle* aTextureHandle, + IntSize_POD* aTextureSize); void PushState(bool aNotifyCond = false); #if defined(MOZ_WIDGET_ANDROID) bool PullState(const std::function& aWaitCondition = nullptr); From bfee3c59d3758be2cfd767a302f90c4ffb45a942 Mon Sep 17 00:00:00 2001 From: Dave Townsend Date: Tue, 28 May 2019 19:21:23 +0000 Subject: [PATCH 33/80] Bug 1554029: Downgrade detection fails for changes from non-minor to minor versions. r=froydnj We build compatibility versions as `_/`. where the build ID's by default are a numeric representation of the date that the build happened. Previously we attempted to mangle this into a valid toolkit version by converting to `..` if the build IDs were the expected length. We also split each build ID into two version parts since the version comparator couldn't handle their full size. This mangling fails when comparing a major version with a new patch version: `..` gets compared to `.1..`. Unless that patch version (1 here) was greater than the build ID (currently in the tens of millions) the patch release would appear to be older than the previous version. This changes this so rather than attempting to mangle the entire string into a single toolkit version we split out the string into their components. First we compare the app versions using the version comparator which is definitely the correct thing to do. For the build IDs we check if they are entirely numeric (which is the case for the date based default) and if so just compare them numerically. We assume that if the IDs aren't numeric then they are something defined by a custom build of Firefox, we can't know what form that takes so I've chosen to fallback to just using the version comparator since it will handle things such as `"build1" < "build10"` and it should be straightforward for anything more complex to choose a form that works. Differential Revision: https://phabricator.services.mozilla.com/D32552 --HG-- extra : moz-landing-system : lando --- toolkit/xre/moz.build | 3 + toolkit/xre/nsAppRunner.cpp | 187 +++++++++++++----- toolkit/xre/nsAppRunner.h | 7 + .../test/gtest/TestCompatVersionCompare.cpp | 113 +++++++++++ toolkit/xre/test/gtest/moz.build | 13 ++ 5 files changed, 270 insertions(+), 53 deletions(-) create mode 100644 toolkit/xre/test/gtest/TestCompatVersionCompare.cpp create mode 100644 toolkit/xre/test/gtest/moz.build diff --git a/toolkit/xre/moz.build b/toolkit/xre/moz.build index a9a8b430bed6..59c876a910c2 100644 --- a/toolkit/xre/moz.build +++ b/toolkit/xre/moz.build @@ -261,3 +261,6 @@ if CONFIG['MOZ_IPDL_TESTS']: if CONFIG['MOZ_PROFILE_GENERATE']: DEFINES['MOZ_PROFILE_GENERATE'] = True + +if CONFIG['ENABLE_TESTS']: + DIRS += ['test/gtest'] diff --git a/toolkit/xre/nsAppRunner.cpp b/toolkit/xre/nsAppRunner.cpp index 9eca6d194111..325594afc5b1 100644 --- a/toolkit/xre/nsAppRunner.cpp +++ b/toolkit/xre/nsAppRunner.cpp @@ -2329,62 +2329,140 @@ static ReturnAbortOnError CheckDowngrade(nsIFile* aProfileDir, #endif /** - * The version string used in compatibility.ini is in the form - * _/. The build IDs are in the form - * . We need to be able to turn this - * into something that can be compared by the version comparator. Build IDs are - * numeric so normally we could just use those as part of the version but they - * are larger than 32-bit integers so we must split them into two parts. - * So we generate a version string of the format: - * .... - * This doesn't compare correctly so - * we have to make the build ids separate version parts instead. We also have - * to split up the build ids as they are too large for the version comparator's - * brain. + * Extracts the various parts of a compatibility version string. + * + * Compatibility versions are of the form + * "_/". The toolkit version comparator + * can only handle 32-bit numbers and in the normal case build IDs are larger + * than this. So if the build ID is numeric we split it into two version parts. */ +static void ExtractCompatVersionInfo(const nsACString& aCompatVersion, + nsACString& aAppVersion, + nsACString& aAppBuildID, + nsACString& aPlatformBuildID) { + int32_t underscorePos = aCompatVersion.FindChar('_'); + int32_t slashPos = aCompatVersion.FindChar('/'); -// Build ID dates are 8 digits, build ID times are 6 digits. -#define BUILDID_DATE_LENGTH 8 -#define BUILDID_TIME_LENGTH 6 -#define BUILDID_LENGTH BUILDID_DATE_LENGTH + BUILDID_TIME_LENGTH - -static void GetBuildIDVersions(const nsACString& aFullVersion, int32_t aPos, - nsACString& aBuildVersions) { - // Extract the date part then the time part. - aBuildVersions.Assign( - Substring(aFullVersion, aPos, BUILDID_DATE_LENGTH) + - NS_LITERAL_CSTRING(".") + - Substring(aFullVersion, aPos + BUILDID_DATE_LENGTH, BUILDID_TIME_LENGTH)); -} - -static Version GetComparableVersion(const nsCString& aVersionStr) { - // We'll find the position of the '_' and '/' characters. The length from the - // '_' character to the '/' character will be the length of a build ID plus - // one for the '_' character. Similarly the length from the '/' character to - // the end of the string will be the same. - const uint32_t kExpectedLength = BUILDID_LENGTH + 1; - - int32_t underscorePos = aVersionStr.FindChar('_'); - int32_t slashPos = aVersionStr.FindChar('/'); if (underscorePos == kNotFound || slashPos == kNotFound || - (slashPos - underscorePos) != kExpectedLength || - (aVersionStr.Length() - slashPos) != kExpectedLength) { + slashPos < underscorePos) { NS_WARNING( "compatibility.ini Version string does not match the expected format."); - return Version(aVersionStr.get()); + + // Fall back to just using the entire string as the version. + aAppVersion = aCompatVersion; + aAppBuildID.Truncate(0); + aPlatformBuildID.Truncate(0); + return; } - nsCString appBuild, platBuild; - NS_NAMED_LITERAL_CSTRING(dot, "."); + aAppVersion = Substring(aCompatVersion, 0, underscorePos); + aAppBuildID = Substring(aCompatVersion, underscorePos + 1, slashPos - (underscorePos + 1)); + aPlatformBuildID = Substring(aCompatVersion, slashPos + 1); +} - const nsACString& version = Substring(aVersionStr, 0, underscorePos); +static bool IsNewIDLower(nsACString& oldID, nsACString& newID) { + // For Mozilla builds the build ID is a numeric date string. But it is too + // large a number for the version comparator to handle so try to just compare + // them as integer values first. - GetBuildIDVersions(aVersionStr, underscorePos + 1, /* outparam */ appBuild); - GetBuildIDVersions(aVersionStr, slashPos + 1, /* outparam */ platBuild); + // ToInteger64 succeeds if the strings contain trailing non-digits so first + // check that all the characters are digits. + bool isNumeric = true; + const char* pos = oldID.BeginReading(); + const char* end = oldID.EndReading(); + while (pos != end) { + if (!IsAsciiDigit(*pos)) { + isNumeric = false; + break; + } + pos++; + } - const nsACString& fullVersion = version + dot + appBuild + dot + platBuild; + if (isNumeric) { + pos = newID.BeginReading(); + end = newID.EndReading(); + while (pos != end) { + if (!IsAsciiDigit(*pos)) { + isNumeric = false; + break; + } + pos++; + } + } - return Version(PromiseFlatCString(fullVersion).get()); + if (isNumeric) { + nsresult rv; + uint64_t oldVal; + uint64_t newVal; + oldVal = oldID.ToInteger64(&rv); + + if (NS_SUCCEEDED(rv)) { + newVal = newID.ToInteger64(&rv); + + if (NS_SUCCEEDED(rv)) { + // We have simple numbers for both IDs. + return newVal < oldVal; + } + } + } + + // If either could not be parsed as a number then something (likely a Linux + // distribution could have modified the build ID in some way. We don't know + // what format this may be so let's just fall back to assuming that it's a + // valid toolkit version. + return Version(PromiseFlatCString(newID).get()) < + Version(PromiseFlatCString(oldID).get()); +} + +/** + * Checks whether the compatibility versions from the previous and current + * application match. Returns true if there has been no change, false otherwise. + * The aDowngrade parameter is set to true if the old version is "newer" than + * the new version. + */ +bool CheckCompatVersions(const nsACString& aOldCompatVersion, + const nsACString& aNewCompatVersion, + bool* aIsDowngrade) { + // Quick path for the common case. + if (aOldCompatVersion.Equals(aNewCompatVersion)) { + *aIsDowngrade = false; + return true; + } + + // The versions differ for some reason so we will only ever return false from + // here onwards. We just have to figure out if this is a downgrade or not. + + nsCString oldVersion; + nsCString oldAppBuildID; + nsCString oldPlatformBuildID; + ExtractCompatVersionInfo(aOldCompatVersion, oldVersion, oldAppBuildID, + oldPlatformBuildID); + + nsCString newVersion; + nsCString newAppBuildID; + nsCString newPlatformBuildID; + ExtractCompatVersionInfo(aNewCompatVersion, newVersion, newAppBuildID, + newPlatformBuildID); + + // In most cases the app version will differ and this is an easy check. + if (Version(newVersion.get()) < Version(oldVersion.get())) { + *aIsDowngrade = true; + return false; + } + + // Fall back to build ID comparison. + if (IsNewIDLower(oldAppBuildID, newAppBuildID)) { + *aIsDowngrade = true; + return false; + } + + if (IsNewIDLower(oldPlatformBuildID, newPlatformBuildID)) { + *aIsDowngrade = true; + return false; + } + + *aIsDowngrade = false; + return false; } /** @@ -2418,10 +2496,7 @@ static bool CheckCompatibility(nsIFile* aProfileDir, const nsCString& aVersion, return false; } - if (!aVersion.Equals(aLastVersion)) { - Version current = GetComparableVersion(aVersion); - Version last = GetComparableVersion(aLastVersion); - *aIsDowngrade = last > current; + if (!CheckCompatVersions(aLastVersion, aVersion, aIsDowngrade)) { return false; } @@ -2470,12 +2545,18 @@ static bool CheckCompatibility(nsIFile* aProfileDir, const nsCString& aVersion, return true; } -static void BuildVersion(nsCString& aBuf) { - aBuf.Assign(gAppData->version); +void BuildCompatVersion(const char* aAppVersion, const char* aAppBuildID, + const char* aToolkitBuildID, nsACString& aBuf) { + aBuf.Assign(aAppVersion); aBuf.Append('_'); - aBuf.Append(gAppData->buildID); + aBuf.Append(aAppBuildID); aBuf.Append('/'); - aBuf.Append(gToolkitBuildID); + aBuf.Append(aToolkitBuildID); +} + +static void BuildVersion(nsCString& aBuf) { + BuildCompatVersion(gAppData->version, gAppData->buildID, gToolkitBuildID, + aBuf); } static void WriteVersion(nsIFile* aProfileDir, const nsCString& aVersion, diff --git a/toolkit/xre/nsAppRunner.h b/toolkit/xre/nsAppRunner.h index 1ca51bee1602..927d6dba6590 100644 --- a/toolkit/xre/nsAppRunner.h +++ b/toolkit/xre/nsAppRunner.h @@ -57,6 +57,13 @@ nsresult AppInfoConstructor(nsISupports* aOuter, const nsID& aIID, void** aResult); } // namespace mozilla +// Exported for gtests. +void BuildCompatVersion(const char* aAppVersion, const char* aAppBuildID, + const char* aToolkitBuildID, nsACString& aBuf); +bool CheckCompatVersions(const nsACString& aOldCompatVersion, + const nsACString& aNewCompatVersion, + bool* aIsDowngrade); + /** * Create the nativeappsupport implementation. * diff --git a/toolkit/xre/test/gtest/TestCompatVersionCompare.cpp b/toolkit/xre/test/gtest/TestCompatVersionCompare.cpp new file mode 100644 index 000000000000..b686acb3cf9d --- /dev/null +++ b/toolkit/xre/test/gtest/TestCompatVersionCompare.cpp @@ -0,0 +1,113 @@ +/* vim:set ts=2 sw=2 sts=2 et: */ +/* Any copyright is dedicated to the Public Domain. + * http://creativecommons.org/publicdomain/zero/1.0/ + */ + +#include "gtest/gtest.h" +#include "nsAppRunner.h" +#include "nsString.h" + +void CheckExpectedResult( + const char* aOldAppVersion, const char* aOldAppID, const char* aOldToolkitID, + const char* aNewAppVersion, const char* aNewAppID, const char* aNewToolkitID, + bool aExpectedSame, bool aExpectedDowngrade) { + + nsCString oldCompatVersion; + BuildCompatVersion(aOldAppVersion, aOldAppID, aOldToolkitID, oldCompatVersion); + + nsCString newCompatVersion; + BuildCompatVersion(aNewAppVersion, aNewAppID, aNewToolkitID, newCompatVersion); + + printf("Comparing '%s' to '%s'.\n", oldCompatVersion.get(), newCompatVersion.get()); + + bool isDowngrade = false; + bool isSame = CheckCompatVersions(oldCompatVersion, newCompatVersion, &isDowngrade); + + ASSERT_EQ(aExpectedSame, isSame) << "Version sameness check should match."; + ASSERT_EQ(aExpectedDowngrade, isDowngrade) << "Version downgrade check should match."; +} + +TEST(CompatVersionCompare, CompareVersionChange) { + // Identical + CheckExpectedResult( + "67.0", "20000000000000", "20000000000000", + "67.0", "20000000000000", "20000000000000", + true, false); + + // Build ID changes + CheckExpectedResult( + "67.0", "20000000000000", "20000000000001", + "67.0", "20000000000000", "20000000000000", + false, true); + CheckExpectedResult( + "67.0", "20000000000001", "20000000000000", + "67.0", "20000000000000", "20000000000000", + false, true); + CheckExpectedResult( + "67.0", "20000000000000", "20000000000000", + "67.0", "20000000000000", "20000000000001", + false, false); + CheckExpectedResult( + "67.0", "20000000000000", "20000000000000", + "67.0", "20000000000001", "20000000000000", + false, false); + + // Version changes + CheckExpectedResult( + "67.0", "20000000000000", "20000000000000", + "68.0", "20000000000000", "20000000000000", + false, false); + CheckExpectedResult( + "68.0", "20000000000000", "20000000000000", + "67.0", "20000000000000", "20000000000000", + false, true); + CheckExpectedResult( + "67.0", "20000000000000", "20000000000000", + "67.0.1", "20000000000000", "20000000000000", + false, false); + CheckExpectedResult( + "67.0.1", "20000000000000", "20000000000000", + "67.0", "20000000000000", "20000000000000", + false, true); + CheckExpectedResult( + "67.0.1", "20000000000000", "20000000000000", + "67.0.1", "20000000000000", "20000000000000", + true, false); + CheckExpectedResult( + "67.0.1", "20000000000000", "20000000000000", + "67.0.2", "20000000000000", "20000000000000", + false, false); + CheckExpectedResult( + "67.0.2", "20000000000000", "20000000000000", + "67.0.1", "20000000000000", "20000000000000", + false, true); + + // Unexpected ID formats + CheckExpectedResult( + "67.0.1", "build1", "build1", + "67.0.1", "build2", "build2", + false, false); + CheckExpectedResult( + "67.0.1", "build10", "build10", + "67.0.1", "build2", "build2", + false, true); + CheckExpectedResult( + "67.0.1", "1", "1", + "67.0.1", "10", "10", + false, false); + CheckExpectedResult( + "67.0.1", "10", "10", + "67.0.1", "1", "1", + false, true); + + // These support an upgrade case from a normal-style build ID to the one + // we're suggesting Ubuntu use. + CheckExpectedResult( + "67.0.1", "20000000000000", "20000000000000", + "67.0.1", "build1", "build1", + false, false); + CheckExpectedResult( + "67.0.1", "build1", "build1", + "67.0.1", "20000000000000", "20000000000000", + false, true); +} diff --git a/toolkit/xre/test/gtest/moz.build b/toolkit/xre/test/gtest/moz.build new file mode 100644 index 000000000000..5e5332b87826 --- /dev/null +++ b/toolkit/xre/test/gtest/moz.build @@ -0,0 +1,13 @@ +# -*- Mode: python; c-basic-offset: 4; indent-tabs-mode: nil; tab-width: 40 -*- +# vim: set filetype=python: +# 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/. + +Library('xretest') + +UNIFIED_SOURCES = [ + 'TestCompatVersionCompare.cpp', +] + +FINAL_LIBRARY = 'xul-gtest' From ada05de43ca3bd1816f29bd24517227230076b21 Mon Sep 17 00:00:00 2001 From: Edmund Wong Date: Tue, 28 May 2019 19:54:56 +0000 Subject: [PATCH 34/80] Bug 1338099 - Ensure sourcestamp.txt has a buildid; r=firefox-build-system-reviewers,chmanchester The $(BUILDID) make variable tries to use either application.ini or platform.ini to fetch the buildid, and if those don't exist then we end up with an empty buildid. An error message is displayed, but it doesn't cause the make invocation to fail because it happens inside a $(shell). Instead we can fetch the buildid similar to the source url, by generating buildid.h and grabbing the value via awk. Differential Revision: https://phabricator.services.mozilla.com/D32518 --HG-- extra : moz-landing-system : lando --- toolkit/mozapps/installer/packager.mk | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/toolkit/mozapps/installer/packager.mk b/toolkit/mozapps/installer/packager.mk index b659a0e0b4ad..8190310ab8f4 100644 --- a/toolkit/mozapps/installer/packager.mk +++ b/toolkit/mozapps/installer/packager.mk @@ -120,7 +120,7 @@ GARBAGE += make-package make-sourcestamp-file:: $(NSINSTALL) -D $(DIST)/$(PKG_PATH) - @echo '$(BUILDID)' > $(MOZ_SOURCESTAMP_FILE) + @awk '$$2 == "MOZ_BUILDID" {print $$3}' $(DEPTH)/buildid.h > $(MOZ_SOURCESTAMP_FILE) ifdef MOZ_INCLUDE_SOURCE_INFO @awk '$$2 == "MOZ_SOURCE_URL" {print $$3}' $(DEPTH)/source-repo.h >> $(MOZ_SOURCESTAMP_FILE) endif @@ -158,7 +158,7 @@ source-package: @echo 'Generate the sourcestamp file' # Make sure to have repository information available and then generate the # sourcestamp file. - $(MAKE) -C $(DEPTH) 'source-repo.h' + $(MAKE) -C $(DEPTH) 'source-repo.h' 'buildid.h' $(MAKE) make-sourcestamp-file @echo 'Packaging source tarball...' # We want to include the sourcestamp file in the source tarball, so copy it From b90935eec187dd3d97b4dd5ea30246b279ffce5c Mon Sep 17 00:00:00 2001 From: Mike Shal Date: Fri, 24 May 2019 23:41:27 +0000 Subject: [PATCH 35/80] Bug 1338099 - Export MOZILLA_OFFICIAL in the source build for sourcestamp.txt; r=nalexander MOZ_INCLUDE_SOURCE_INFO is needed for us to write out the MOZ_SOURCE_URL in sourcestamp.txt, and MOZ_INCLUDE_SOURCE_INFO is set in configure only for MOZILLA_OFFICIAL=1 builds. Differential Revision: https://phabricator.services.mozilla.com/D32519 --HG-- extra : moz-landing-system : lando --- browser/config/mozconfigs/linux64/source | 1 + 1 file changed, 1 insertion(+) diff --git a/browser/config/mozconfigs/linux64/source b/browser/config/mozconfigs/linux64/source index 8bc6af77a727..8ad4faf6b3fe 100644 --- a/browser/config/mozconfigs/linux64/source +++ b/browser/config/mozconfigs/linux64/source @@ -3,3 +3,4 @@ # extra dependencies on specific toolchains, e.g. gtk3. ac_add_options --disable-compile-environment ac_add_options --disable-nodejs +export MOZILLA_OFFICIAL=1 From 8c8bb77fbf15299a11edfe20dd6a6a3077bd703c Mon Sep 17 00:00:00 2001 From: k88hudson Date: Tue, 28 May 2019 20:24:23 +0000 Subject: [PATCH 36/80] Bug 1553917 - Enable eslint for browser/components/newtab r=Mardak Differential Revision: https://phabricator.services.mozilla.com/D32373 --HG-- extra : moz-landing-system : lando --- .eslintignore | 11 +++- browser/components/newtab/.eslintignore | 14 ++--- browser/components/newtab/.eslintrc.js | 53 ++++++++++++------- .../components/newtab/.eslintrc.jsx-a11y.js | 17 ------ browser/components/newtab/package.json | 6 +-- browser/components/newtab/yamscripts.yml | 3 +- 6 files changed, 48 insertions(+), 56 deletions(-) delete mode 100644 browser/components/newtab/.eslintrc.jsx-a11y.js diff --git a/.eslintignore b/.eslintignore index 4a07166292c0..dd7b54f13ba5 100644 --- a/.eslintignore +++ b/.eslintignore @@ -63,8 +63,15 @@ browser/extensions/pdfjs/content/web** # generated or library files in pocket browser/components/pocket/content/panels/js/tmpl.js browser/components/pocket/content/panels/js/vendor/** -# Activity Stream has incompatible eslintrc. `npm run lint` from its directory -browser/components/newtab/** + +# Ignore newtab files +# Kept in sync with browser/components/newtab/.eslintignore +browser/components/newtab/bin/prerender.js +browser/components/newtab/data/ +browser/components/newtab/logs/ +browser/components/newtab/prerendered/ +browser/components/newtab/vendor/ + # The only file in browser/locales/ is pre-processed. browser/locales/** # imported from chromium diff --git a/browser/components/newtab/.eslintignore b/browser/components/newtab/.eslintignore index 14e2fa55e31d..7c128b30ba53 100644 --- a/browser/components/newtab/.eslintignore +++ b/browser/components/newtab/.eslintignore @@ -1,11 +1,5 @@ -activity-streams-env/ -dist/ -firefox/ -logs/ -stats.json -prerendered/ +bin/prerender.js +data/ +logs/ +prerendered/ vendor/ -data/ -bin/prerender.js -bin/prerender.js.map -aboutlibrary/content/ diff --git a/browser/components/newtab/.eslintrc.js b/browser/components/newtab/.eslintrc.js index 944d744739d7..18233ec4edfe 100644 --- a/browser/components/newtab/.eslintrc.js +++ b/browser/components/newtab/.eslintrc.js @@ -13,11 +13,12 @@ module.exports = { }, "plugins": [ "import", // require("eslint-plugin-import") - "json", // require("eslint-plugin-json") - "promise", // require("eslint-plugin-promise") "react", // require("eslint-plugin-react") - "react-hooks", // require("react-hooks") - "fetch-options", // require("eslint-plugin-fetch-options") + "jsx-a11y" // require("eslint-plugin-jsx-a11y") + + // Temporarily disabled since they aren't vendored into in mozilla central yet + // "react-hooks", // require("react-hooks") + // "fetch-options", // require("eslint-plugin-fetch-options") ], "settings": { "react": { @@ -25,7 +26,9 @@ module.exports = { } }, "extends": [ + "eslint:recommended", + "plugin:jsx-a11y/recommended", // require("eslint-plugin-jsx-a11y") "plugin:mozilla/recommended", // require("eslint-plugin-mozilla") "plugin:mozilla/browser-test", "plugin:mozilla/mochitest-test", @@ -36,26 +39,36 @@ module.exports = { "RPMSendAsyncMessage": true, "NewTabPagePreloading": true, }, - "overrides": [{ - // Use a configuration that's more appropriate for JSMs - "files": "**/*.jsm", - "parserOptions": { - "sourceType": "script" + "overrides": [ + { + // These files use fluent-dom to insert content + "files": [ + "content-src/asrouter/templates/OnboardingMessage/**", + "content-src/asrouter/templates/Trailhead/**", + ], + "rules": { + "jsx-a11y/anchor-has-content": 0, + "jsx-a11y/heading-has-content": 0, + } }, - "env": { - "node": false - }, - "rules": { - "no-implicit-globals": 0 + { + // Use a configuration that's more appropriate for JSMs + "files": "**/*.jsm", + "parserOptions": { + "sourceType": "script" + }, + "env": { + "node": false + }, + "rules": { + "no-implicit-globals": 0 + } } - }], + ], "rules": { - "react-hooks/rules-of-hooks": 2, + // "react-hooks/rules-of-hooks": 2, - "fetch-options/no-fetch-credentials": 2, - - "promise/catch-or-return": 2, - "promise/param-names": 2, + // "fetch-options/no-fetch-credentials": 2, "react/jsx-boolean-value": [2, "always"], "react/jsx-closing-bracket-location": [2, "after-props"], diff --git a/browser/components/newtab/.eslintrc.jsx-a11y.js b/browser/components/newtab/.eslintrc.jsx-a11y.js deleted file mode 100644 index f178e8c037e2..000000000000 --- a/browser/components/newtab/.eslintrc.jsx-a11y.js +++ /dev/null @@ -1,17 +0,0 @@ -module.exports = { - "plugins": [ - "jsx-a11y" // require("eslint-plugin-jsx-a11y") - ], - "extends": "plugin:jsx-a11y/recommended", - "overrides": [{ - // These files use fluent-dom to insert content - "files": [ - "content-src/asrouter/templates/OnboardingMessage/**", - "content-src/asrouter/templates/Trailhead/**", - ], - "rules": { - "jsx-a11y/anchor-has-content": 0, - "jsx-a11y/heading-has-content": 0, - } - }], -}; diff --git a/browser/components/newtab/package.json b/browser/components/newtab/package.json index b8a6f8cf4a02..5ad73c2891a3 100644 --- a/browser/components/newtab/package.json +++ b/browser/components/newtab/package.json @@ -33,14 +33,11 @@ "eslint": "5.16.0", "eslint-plugin-fetch-options": "0.0.4", "eslint-plugin-import": "2.17.2", - "eslint-plugin-json": "1.4.0", "eslint-plugin-jsx-a11y": "6.2.1", "eslint-plugin-mozilla": "1.2.1", "eslint-plugin-no-unsanitized": "3.0.2", - "eslint-plugin-promise": "4.1.1", "eslint-plugin-react": "7.12.4", "eslint-plugin-react-hooks": "1.6.0", - "eslint-watch": "5.1.2", "istanbul-instrumenter-loader": "3.0.1", "joi-browser": "13.4.0", "karma": "4.1.0", @@ -131,8 +128,7 @@ "tddmc": "karma start karma.mc.config.js --tdd", "debugcoverage": "open logs/coverage/index.html", "lint": "npm-run-all lint:*", - "lint:eslint": "esw --ext=.js,.jsm,.json,.jsx .", - "lint:jsx-a11y": "esw --config=.eslintrc.jsx-a11y.js --ext=.jsx content-src/", + "lint:eslint": "eslint --ext=.js,.jsm,.jsx .", "lint:sasslint": "sass-lint -v -q", "strings-import": "node ./bin/strings-import.js", "test": "npm run testmc", diff --git a/browser/components/newtab/yamscripts.yml b/browser/components/newtab/yamscripts.yml index dde726cfb593..3ca3c9cecf35 100644 --- a/browser/components/newtab/yamscripts.yml +++ b/browser/components/newtab/yamscripts.yml @@ -63,8 +63,7 @@ scripts: # lint: Run eslint and sass-lint lint: - eslint: esw --ext=.js,.jsm,.json,.jsx . - jsx-a11y: esw --config=.eslintrc.jsx-a11y.js --ext=.jsx content-src/ + eslint: eslint --ext=.js,.jsm,.jsx . sasslint: sass-lint -v -q # strings-import: Replace local strings with those from l10n-central From 631957a938d57eeed143aef1b449f7025cbd2fe7 Mon Sep 17 00:00:00 2001 From: Razvan Maries Date: Wed, 29 May 2019 00:32:52 +0300 Subject: [PATCH 37/80] Backed out changeset 3edfeee54f00 (bug 1554626) for build bustages. CLOSED TREE --- gfx/vr/external_api/moz_external_vr.h | 3 +-- gfx/vr/gfxVRExternal.cpp | 12 +++--------- gfx/vr/gfxVRExternal.h | 3 +-- 3 files changed, 5 insertions(+), 13 deletions(-) diff --git a/gfx/vr/external_api/moz_external_vr.h b/gfx/vr/external_api/moz_external_vr.h index 6f0612c288e2..a734fe057d13 100644 --- a/gfx/vr/external_api/moz_external_vr.h +++ b/gfx/vr/external_api/moz_external_vr.h @@ -34,7 +34,7 @@ enum class GamepadCapabilityFlags : uint16_t; #endif // MOZILLA_INTERNAL_API namespace gfx { -static const int32_t kVRExternalVersion = 8; +static const int32_t kVRExternalVersion = 7; // We assign VR presentations to groups with a bitmask. // Currently, we will only display either content or chrome. @@ -346,7 +346,6 @@ struct VRLayer_Stereo_Immersive { uint64_t inputFrameId; VRLayerEyeRect leftEyeRect; VRLayerEyeRect rightEyeRect; - IntSize_POD textureSize; }; struct VRLayerState { diff --git a/gfx/vr/gfxVRExternal.cpp b/gfx/vr/gfxVRExternal.cpp index 1d946bfae4ba..2a594f5738cf 100644 --- a/gfx/vr/gfxVRExternal.cpp +++ b/gfx/vr/gfxVRExternal.cpp @@ -188,7 +188,7 @@ void VRDisplayExternal::StopVRNavigation(const TimeDuration& aTimeout) { bool VRDisplayExternal::PopulateLayerTexture( const layers::SurfaceDescriptor& aTexture, VRLayerTextureType* aTextureType, - VRLayerTextureHandle* aTextureHandle, IntSize_POD* aTextureSize) { + VRLayerTextureHandle* aTextureHandle) { switch (aTexture.type()) { #if defined(XP_WIN) case SurfaceDescriptor::TSurfaceDescriptorD3D10: { @@ -197,8 +197,6 @@ bool VRDisplayExternal::PopulateLayerTexture( *aTextureType = VRLayerTextureType::LayerTextureType_D3D10SurfaceDescriptor; *aTextureHandle = (void*)surf.handle(); - aTextureSize->width = surf.size().width; - aTextureSize->height = surf.size().height; return true; } #elif defined(XP_MACOSX) @@ -209,8 +207,6 @@ bool VRDisplayExternal::PopulateLayerTexture( const auto& desc = aTexture.get_SurfaceDescriptorMacIOSurface(); *aTextureType = VRLayerTextureType::LayerTextureType_MacIOSurface; *aTextureHandle = desc.surfaceId(); - aTextureSize->width = surf->GetDevicePixelWidth(); - aTextureSize->height = surf->GetDevicePixelHeight(); return true; } #elif defined(MOZ_WIDGET_ANDROID) @@ -225,8 +221,6 @@ bool VRDisplayExternal::PopulateLayerTexture( } *aTextureType = VRLayerTextureType::LayerTextureType_GeckoSurfaceTexture; *aTextureHandle = desc.handle(); - aTextureSize->width = desc.size().width; - aTextureSize->height = desc.size().height; return true; } #endif @@ -245,8 +239,8 @@ bool VRDisplayExternal::SubmitFrame(const layers::SurfaceDescriptor& aTexture, VRLayerType::LayerType_Stereo_Immersive); VRLayer_Stereo_Immersive& layer = mBrowserState.layerState[0].layer_stereo_immersive; - if (!PopulateLayerTexture(aTexture, &layer.textureType, &layer.textureHandle, - &layer.textureSize)) { + if (!PopulateLayerTexture(aTexture, &layer.textureType, + &layer.textureHandle)) { return false; } layer.frameId = aFrameId; diff --git a/gfx/vr/gfxVRExternal.h b/gfx/vr/gfxVRExternal.h index 98168ee6ca4d..a1ebb8b47404 100644 --- a/gfx/vr/gfxVRExternal.h +++ b/gfx/vr/gfxVRExternal.h @@ -60,8 +60,7 @@ class VRDisplayExternal : public VRDisplayHost { private: bool PopulateLayerTexture(const layers::SurfaceDescriptor& aTexture, VRLayerTextureType* aTextureType, - VRLayerTextureHandle* aTextureHandle, - IntSize_POD* aTextureSize); + VRLayerTextureHandle* aTextureHandle); void PushState(bool aNotifyCond = false); #if defined(MOZ_WIDGET_ANDROID) bool PullState(const std::function& aWaitCondition = nullptr); From 8daa6465306c4236641427d1ebb4d9d3be847f35 Mon Sep 17 00:00:00 2001 From: Razvan Maries Date: Wed, 29 May 2019 00:47:20 +0300 Subject: [PATCH 38/80] Backed out changeset 887a347cb3ef (bug 1538042) for causing perma failures on test_nsFind.html. CLOSED TREE --- dom/base/test/test_find.html | 8 ----- .../windowcreator/test/test_nsFind.html | 32 ++----------------- 2 files changed, 2 insertions(+), 38 deletions(-) diff --git a/dom/base/test/test_find.html b/dom/base/test/test_find.html index 0269b38b799d..17c19e3b3c47 100644 --- a/dom/base/test/test_find.html +++ b/dom/base/test/test_find.html @@ -122,14 +122,6 @@ let runTests = t.step_func_done(function() { input.value = "foo"; document.documentElement.appendChild(input); }, "Native anonymous content isn't exposed in window.find"); - - testFindable(false, "\0", ` - � - `); - - testFindable(true, "\0", function(document) { - document.documentElement.appendChild(document.createTextNode("\0")); - }, "Inserted null characters are findable"); }); window.onload = function() { diff --git a/toolkit/components/windowcreator/test/test_nsFind.html b/toolkit/components/windowcreator/test/test_nsFind.html index aed0bbf9c645..dec654c2c51e 100644 --- a/toolkit/components/windowcreator/test/test_nsFind.html +++ b/toolkit/components/windowcreator/test/test_nsFind.html @@ -13,8 +13,6 @@ https://bugzilla.mozilla.org/show_bug.cgi?id=450048 Mozilla Bug 450048

This is the text to search in­to

"straight" and “curly” and ‘didn't’ and 'doesn’t'

-

native null�

-

@@ -25,15 +23,6 @@ https://bugzilla.mozilla.org/show_bug.cgi?id=450048 // Check nsFind class and its nsIFind interface. - // Inject some text that we'll search for after the DOM content is loaded. - const INJECTED_NULL_TEXT = "injected null\0"; - const nullcharsinjected = document.getElementById("nullcharsinjected"); - const nulltextnode = document.createTextNode(INJECTED_NULL_TEXT); - nullcharsinjected.appendChild(nulltextnode); - - document.addEventListener("DOMContentLoaded", runTests); - -function runTests() { var rf = SpecialPowers.Cc["@mozilla.org/embedcomp/rangefind;1"] .getService(SpecialPowers.Ci.nsIFind); @@ -149,15 +138,11 @@ function runTests() { } function assertFound(node, value) { - ok(find(node, value), "\"" + value + "\" should be found"); + ok(find(node, value), "\"" + value + "\" not found"); } function assertNotFound(node, value) { - ok(!find(node, value), "\"" + value + "\" should not be found"); - } - - function assertNotFoundTODO(node, value) { - todo(!find(node, value), "\"" + value + "\" should not be found"); + ok(!find(node, value), "\"" + value + "\" found"); } var quotes = document.getElementById("quotes"); @@ -236,19 +221,6 @@ function runTests() { assertFound(quotes, "'doesn\u2019t'"); assertNotFound(quotes, "'doesn\u2018t'"); assertNotFound(quotes, "'doesn't'"); - - // Embedded strings containing null characters can't be found, because - // the HTML parser converts them to \ufffd, which is the replacement - // character. - const NULL_CHARACTER = "\0"; - const nullcharsnative = document.getElementById("nullcharsnative"); - assertNotFoundTODO(nullcharsnative, NULL_CHARACTER); // Bug 1539653 - assertFound(nullcharsnative, "native null\ufffd"); - - // Injected strings containing null characters can be found. - assertFound(nullcharsinjected, NULL_CHARACTER); - assertFound(nullcharsinjected, INJECTED_NULL_TEXT); -} From d524ca907297311bd8cb20a1fb0f338cdbdd0860 Mon Sep 17 00:00:00 2001 From: Ehsan Akhgari Date: Wed, 29 May 2019 01:11:59 +0300 Subject: [PATCH 39/80] Bug 1554781 - Part 4: Make the assertions after performing the checks not before. CLOSED TREE Pushed on a CLOSED TREE to fix bustage Differential Revision: https://phabricator.services.mozilla.com//D32901 --HG-- extra : amend_source : a24ab1a61b1542a904c396d6daafd9bd038d8cae --- toolkit/components/antitracking/AntiTrackingCommon.cpp | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/toolkit/components/antitracking/AntiTrackingCommon.cpp b/toolkit/components/antitracking/AntiTrackingCommon.cpp index a83513fa7286..a8aab173e42c 100644 --- a/toolkit/components/antitracking/AntiTrackingCommon.cpp +++ b/toolkit/components/antitracking/AntiTrackingCommon.cpp @@ -783,11 +783,6 @@ AntiTrackingCommon::AddFirstPartyStorageAccessGrantedFor( } int32_t behavior = parentDoc->CookieSettings()->GetCookieBehavior(); - MOZ_ASSERT( - behavior == nsICookieService::BEHAVIOR_REJECT_TRACKER || - behavior == - nsICookieService::BEHAVIOR_REJECT_TRACKER_AND_PARTITION_FOREIGN); - if (!parentDoc->CookieSettings()->GetRejectThirdPartyTrackers()) { LOG( ("Disabled by network.cookie.cookieBehavior pref (%d), bailing out " @@ -796,6 +791,11 @@ AntiTrackingCommon::AddFirstPartyStorageAccessGrantedFor( return StorageAccessGrantPromise::CreateAndResolve(true, __func__); } + MOZ_ASSERT( + behavior == nsICookieService::BEHAVIOR_REJECT_TRACKER || + behavior == + nsICookieService::BEHAVIOR_REJECT_TRACKER_AND_PARTITION_FOREIGN); + if (CheckContentBlockingAllowList(aParentWindow)) { return StorageAccessGrantPromise::CreateAndResolve(true, __func__); } From 0e20d01aa2bc80b7811f12412eea16ab970ec52b Mon Sep 17 00:00:00 2001 From: Razvan Maries Date: Wed, 29 May 2019 04:08:00 +0300 Subject: [PATCH 40/80] Backed out changeset a47c0e5f3520 (bug 1554029) for causing GTest perma failures. CLOSED TREE --- toolkit/xre/moz.build | 3 - toolkit/xre/nsAppRunner.cpp | 189 +++++------------- toolkit/xre/nsAppRunner.h | 7 - .../test/gtest/TestCompatVersionCompare.cpp | 113 ----------- toolkit/xre/test/gtest/moz.build | 13 -- 5 files changed, 54 insertions(+), 271 deletions(-) delete mode 100644 toolkit/xre/test/gtest/TestCompatVersionCompare.cpp delete mode 100644 toolkit/xre/test/gtest/moz.build diff --git a/toolkit/xre/moz.build b/toolkit/xre/moz.build index 59c876a910c2..a9a8b430bed6 100644 --- a/toolkit/xre/moz.build +++ b/toolkit/xre/moz.build @@ -261,6 +261,3 @@ if CONFIG['MOZ_IPDL_TESTS']: if CONFIG['MOZ_PROFILE_GENERATE']: DEFINES['MOZ_PROFILE_GENERATE'] = True - -if CONFIG['ENABLE_TESTS']: - DIRS += ['test/gtest'] diff --git a/toolkit/xre/nsAppRunner.cpp b/toolkit/xre/nsAppRunner.cpp index 325594afc5b1..9eca6d194111 100644 --- a/toolkit/xre/nsAppRunner.cpp +++ b/toolkit/xre/nsAppRunner.cpp @@ -2329,140 +2329,62 @@ static ReturnAbortOnError CheckDowngrade(nsIFile* aProfileDir, #endif /** - * Extracts the various parts of a compatibility version string. - * - * Compatibility versions are of the form - * "_/". The toolkit version comparator - * can only handle 32-bit numbers and in the normal case build IDs are larger - * than this. So if the build ID is numeric we split it into two version parts. + * The version string used in compatibility.ini is in the form + * _/. The build IDs are in the form + * . We need to be able to turn this + * into something that can be compared by the version comparator. Build IDs are + * numeric so normally we could just use those as part of the version but they + * are larger than 32-bit integers so we must split them into two parts. + * So we generate a version string of the format: + * .... + * This doesn't compare correctly so + * we have to make the build ids separate version parts instead. We also have + * to split up the build ids as they are too large for the version comparator's + * brain. */ -static void ExtractCompatVersionInfo(const nsACString& aCompatVersion, - nsACString& aAppVersion, - nsACString& aAppBuildID, - nsACString& aPlatformBuildID) { - int32_t underscorePos = aCompatVersion.FindChar('_'); - int32_t slashPos = aCompatVersion.FindChar('/'); +// Build ID dates are 8 digits, build ID times are 6 digits. +#define BUILDID_DATE_LENGTH 8 +#define BUILDID_TIME_LENGTH 6 +#define BUILDID_LENGTH BUILDID_DATE_LENGTH + BUILDID_TIME_LENGTH + +static void GetBuildIDVersions(const nsACString& aFullVersion, int32_t aPos, + nsACString& aBuildVersions) { + // Extract the date part then the time part. + aBuildVersions.Assign( + Substring(aFullVersion, aPos, BUILDID_DATE_LENGTH) + + NS_LITERAL_CSTRING(".") + + Substring(aFullVersion, aPos + BUILDID_DATE_LENGTH, BUILDID_TIME_LENGTH)); +} + +static Version GetComparableVersion(const nsCString& aVersionStr) { + // We'll find the position of the '_' and '/' characters. The length from the + // '_' character to the '/' character will be the length of a build ID plus + // one for the '_' character. Similarly the length from the '/' character to + // the end of the string will be the same. + const uint32_t kExpectedLength = BUILDID_LENGTH + 1; + + int32_t underscorePos = aVersionStr.FindChar('_'); + int32_t slashPos = aVersionStr.FindChar('/'); if (underscorePos == kNotFound || slashPos == kNotFound || - slashPos < underscorePos) { + (slashPos - underscorePos) != kExpectedLength || + (aVersionStr.Length() - slashPos) != kExpectedLength) { NS_WARNING( "compatibility.ini Version string does not match the expected format."); - - // Fall back to just using the entire string as the version. - aAppVersion = aCompatVersion; - aAppBuildID.Truncate(0); - aPlatformBuildID.Truncate(0); - return; + return Version(aVersionStr.get()); } - aAppVersion = Substring(aCompatVersion, 0, underscorePos); - aAppBuildID = Substring(aCompatVersion, underscorePos + 1, slashPos - (underscorePos + 1)); - aPlatformBuildID = Substring(aCompatVersion, slashPos + 1); -} + nsCString appBuild, platBuild; + NS_NAMED_LITERAL_CSTRING(dot, "."); -static bool IsNewIDLower(nsACString& oldID, nsACString& newID) { - // For Mozilla builds the build ID is a numeric date string. But it is too - // large a number for the version comparator to handle so try to just compare - // them as integer values first. + const nsACString& version = Substring(aVersionStr, 0, underscorePos); - // ToInteger64 succeeds if the strings contain trailing non-digits so first - // check that all the characters are digits. - bool isNumeric = true; - const char* pos = oldID.BeginReading(); - const char* end = oldID.EndReading(); - while (pos != end) { - if (!IsAsciiDigit(*pos)) { - isNumeric = false; - break; - } - pos++; - } + GetBuildIDVersions(aVersionStr, underscorePos + 1, /* outparam */ appBuild); + GetBuildIDVersions(aVersionStr, slashPos + 1, /* outparam */ platBuild); - if (isNumeric) { - pos = newID.BeginReading(); - end = newID.EndReading(); - while (pos != end) { - if (!IsAsciiDigit(*pos)) { - isNumeric = false; - break; - } - pos++; - } - } + const nsACString& fullVersion = version + dot + appBuild + dot + platBuild; - if (isNumeric) { - nsresult rv; - uint64_t oldVal; - uint64_t newVal; - oldVal = oldID.ToInteger64(&rv); - - if (NS_SUCCEEDED(rv)) { - newVal = newID.ToInteger64(&rv); - - if (NS_SUCCEEDED(rv)) { - // We have simple numbers for both IDs. - return newVal < oldVal; - } - } - } - - // If either could not be parsed as a number then something (likely a Linux - // distribution could have modified the build ID in some way. We don't know - // what format this may be so let's just fall back to assuming that it's a - // valid toolkit version. - return Version(PromiseFlatCString(newID).get()) < - Version(PromiseFlatCString(oldID).get()); -} - -/** - * Checks whether the compatibility versions from the previous and current - * application match. Returns true if there has been no change, false otherwise. - * The aDowngrade parameter is set to true if the old version is "newer" than - * the new version. - */ -bool CheckCompatVersions(const nsACString& aOldCompatVersion, - const nsACString& aNewCompatVersion, - bool* aIsDowngrade) { - // Quick path for the common case. - if (aOldCompatVersion.Equals(aNewCompatVersion)) { - *aIsDowngrade = false; - return true; - } - - // The versions differ for some reason so we will only ever return false from - // here onwards. We just have to figure out if this is a downgrade or not. - - nsCString oldVersion; - nsCString oldAppBuildID; - nsCString oldPlatformBuildID; - ExtractCompatVersionInfo(aOldCompatVersion, oldVersion, oldAppBuildID, - oldPlatformBuildID); - - nsCString newVersion; - nsCString newAppBuildID; - nsCString newPlatformBuildID; - ExtractCompatVersionInfo(aNewCompatVersion, newVersion, newAppBuildID, - newPlatformBuildID); - - // In most cases the app version will differ and this is an easy check. - if (Version(newVersion.get()) < Version(oldVersion.get())) { - *aIsDowngrade = true; - return false; - } - - // Fall back to build ID comparison. - if (IsNewIDLower(oldAppBuildID, newAppBuildID)) { - *aIsDowngrade = true; - return false; - } - - if (IsNewIDLower(oldPlatformBuildID, newPlatformBuildID)) { - *aIsDowngrade = true; - return false; - } - - *aIsDowngrade = false; - return false; + return Version(PromiseFlatCString(fullVersion).get()); } /** @@ -2496,7 +2418,10 @@ static bool CheckCompatibility(nsIFile* aProfileDir, const nsCString& aVersion, return false; } - if (!CheckCompatVersions(aLastVersion, aVersion, aIsDowngrade)) { + if (!aVersion.Equals(aLastVersion)) { + Version current = GetComparableVersion(aVersion); + Version last = GetComparableVersion(aLastVersion); + *aIsDowngrade = last > current; return false; } @@ -2545,18 +2470,12 @@ static bool CheckCompatibility(nsIFile* aProfileDir, const nsCString& aVersion, return true; } -void BuildCompatVersion(const char* aAppVersion, const char* aAppBuildID, - const char* aToolkitBuildID, nsACString& aBuf) { - aBuf.Assign(aAppVersion); - aBuf.Append('_'); - aBuf.Append(aAppBuildID); - aBuf.Append('/'); - aBuf.Append(aToolkitBuildID); -} - static void BuildVersion(nsCString& aBuf) { - BuildCompatVersion(gAppData->version, gAppData->buildID, gToolkitBuildID, - aBuf); + aBuf.Assign(gAppData->version); + aBuf.Append('_'); + aBuf.Append(gAppData->buildID); + aBuf.Append('/'); + aBuf.Append(gToolkitBuildID); } static void WriteVersion(nsIFile* aProfileDir, const nsCString& aVersion, diff --git a/toolkit/xre/nsAppRunner.h b/toolkit/xre/nsAppRunner.h index 927d6dba6590..1ca51bee1602 100644 --- a/toolkit/xre/nsAppRunner.h +++ b/toolkit/xre/nsAppRunner.h @@ -57,13 +57,6 @@ nsresult AppInfoConstructor(nsISupports* aOuter, const nsID& aIID, void** aResult); } // namespace mozilla -// Exported for gtests. -void BuildCompatVersion(const char* aAppVersion, const char* aAppBuildID, - const char* aToolkitBuildID, nsACString& aBuf); -bool CheckCompatVersions(const nsACString& aOldCompatVersion, - const nsACString& aNewCompatVersion, - bool* aIsDowngrade); - /** * Create the nativeappsupport implementation. * diff --git a/toolkit/xre/test/gtest/TestCompatVersionCompare.cpp b/toolkit/xre/test/gtest/TestCompatVersionCompare.cpp deleted file mode 100644 index b686acb3cf9d..000000000000 --- a/toolkit/xre/test/gtest/TestCompatVersionCompare.cpp +++ /dev/null @@ -1,113 +0,0 @@ -/* vim:set ts=2 sw=2 sts=2 et: */ -/* Any copyright is dedicated to the Public Domain. - * http://creativecommons.org/publicdomain/zero/1.0/ - */ - -#include "gtest/gtest.h" -#include "nsAppRunner.h" -#include "nsString.h" - -void CheckExpectedResult( - const char* aOldAppVersion, const char* aOldAppID, const char* aOldToolkitID, - const char* aNewAppVersion, const char* aNewAppID, const char* aNewToolkitID, - bool aExpectedSame, bool aExpectedDowngrade) { - - nsCString oldCompatVersion; - BuildCompatVersion(aOldAppVersion, aOldAppID, aOldToolkitID, oldCompatVersion); - - nsCString newCompatVersion; - BuildCompatVersion(aNewAppVersion, aNewAppID, aNewToolkitID, newCompatVersion); - - printf("Comparing '%s' to '%s'.\n", oldCompatVersion.get(), newCompatVersion.get()); - - bool isDowngrade = false; - bool isSame = CheckCompatVersions(oldCompatVersion, newCompatVersion, &isDowngrade); - - ASSERT_EQ(aExpectedSame, isSame) << "Version sameness check should match."; - ASSERT_EQ(aExpectedDowngrade, isDowngrade) << "Version downgrade check should match."; -} - -TEST(CompatVersionCompare, CompareVersionChange) { - // Identical - CheckExpectedResult( - "67.0", "20000000000000", "20000000000000", - "67.0", "20000000000000", "20000000000000", - true, false); - - // Build ID changes - CheckExpectedResult( - "67.0", "20000000000000", "20000000000001", - "67.0", "20000000000000", "20000000000000", - false, true); - CheckExpectedResult( - "67.0", "20000000000001", "20000000000000", - "67.0", "20000000000000", "20000000000000", - false, true); - CheckExpectedResult( - "67.0", "20000000000000", "20000000000000", - "67.0", "20000000000000", "20000000000001", - false, false); - CheckExpectedResult( - "67.0", "20000000000000", "20000000000000", - "67.0", "20000000000001", "20000000000000", - false, false); - - // Version changes - CheckExpectedResult( - "67.0", "20000000000000", "20000000000000", - "68.0", "20000000000000", "20000000000000", - false, false); - CheckExpectedResult( - "68.0", "20000000000000", "20000000000000", - "67.0", "20000000000000", "20000000000000", - false, true); - CheckExpectedResult( - "67.0", "20000000000000", "20000000000000", - "67.0.1", "20000000000000", "20000000000000", - false, false); - CheckExpectedResult( - "67.0.1", "20000000000000", "20000000000000", - "67.0", "20000000000000", "20000000000000", - false, true); - CheckExpectedResult( - "67.0.1", "20000000000000", "20000000000000", - "67.0.1", "20000000000000", "20000000000000", - true, false); - CheckExpectedResult( - "67.0.1", "20000000000000", "20000000000000", - "67.0.2", "20000000000000", "20000000000000", - false, false); - CheckExpectedResult( - "67.0.2", "20000000000000", "20000000000000", - "67.0.1", "20000000000000", "20000000000000", - false, true); - - // Unexpected ID formats - CheckExpectedResult( - "67.0.1", "build1", "build1", - "67.0.1", "build2", "build2", - false, false); - CheckExpectedResult( - "67.0.1", "build10", "build10", - "67.0.1", "build2", "build2", - false, true); - CheckExpectedResult( - "67.0.1", "1", "1", - "67.0.1", "10", "10", - false, false); - CheckExpectedResult( - "67.0.1", "10", "10", - "67.0.1", "1", "1", - false, true); - - // These support an upgrade case from a normal-style build ID to the one - // we're suggesting Ubuntu use. - CheckExpectedResult( - "67.0.1", "20000000000000", "20000000000000", - "67.0.1", "build1", "build1", - false, false); - CheckExpectedResult( - "67.0.1", "build1", "build1", - "67.0.1", "20000000000000", "20000000000000", - false, true); -} diff --git a/toolkit/xre/test/gtest/moz.build b/toolkit/xre/test/gtest/moz.build deleted file mode 100644 index 5e5332b87826..000000000000 --- a/toolkit/xre/test/gtest/moz.build +++ /dev/null @@ -1,13 +0,0 @@ -# -*- Mode: python; c-basic-offset: 4; indent-tabs-mode: nil; tab-width: 40 -*- -# vim: set filetype=python: -# 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/. - -Library('xretest') - -UNIFIED_SOURCES = [ - 'TestCompatVersionCompare.cpp', -] - -FINAL_LIBRARY = 'xul-gtest' From 61ec77eb24c2950fc85f0251ce9d5fde8f622315 Mon Sep 17 00:00:00 2001 From: Dana Keeler Date: Wed, 29 May 2019 00:11:53 +0000 Subject: [PATCH 41/80] bug 1555110 - Backed out changeset a187487af38a to disable cert_storage on non-nightly builds r=jcj,froydnj There are ongoing lmdb issues we need to sort out before we can ship cert_storage (see e.g. bug 1538541 and bug 1550174). Differential Revision: https://phabricator.services.mozilla.com/D32885 --HG-- extra : moz-landing-system : lando --- old-configure.in | 7 ------- security/manager/ssl/security-prefs.js | 6 +++--- toolkit/moz.configure | 12 ++++++++++++ 3 files changed, 15 insertions(+), 10 deletions(-) diff --git a/old-configure.in b/old-configure.in index ae37bffd5153..bab6558a0464 100644 --- a/old-configure.in +++ b/old-configure.in @@ -1691,13 +1691,6 @@ elif test "$EARLY_BETA_OR_EARLIER"; then fi AC_SUBST(EARLY_BETA_OR_EARLIER) - -if test "$EARLY_BETA_OR_EARLIER"; then - MOZ_NEW_CERT_STORAGE=1 - AC_DEFINE(MOZ_NEW_CERT_STORAGE) -fi -AC_SUBST(MOZ_NEW_CERT_STORAGE) - # Allow someone to change MOZ_APP_NAME and MOZ_APP_BASENAME in mozconfig MOZ_ARG_WITH_STRING(app-name, [--with-app-name=APPNAME sets MOZ_APP_NAME to APPNAME], diff --git a/security/manager/ssl/security-prefs.js b/security/manager/ssl/security-prefs.js index 2d3182fb9ae2..9786a65d315e 100644 --- a/security/manager/ssl/security-prefs.js +++ b/security/manager/ssl/security-prefs.js @@ -178,10 +178,10 @@ pref("security.pki.mitm_canary_issuer.enabled", true); pref("security.pki.mitm_detected", false); // Intermediate CA Preloading settings -#if defined(MOZ_NEW_CERT_STORAGE) && !defined(MOZ_WIDGET_ANDROID) -pref("security.remote_settings.intermediates.enabled", true); -#else +#if defined(RELEASE_OR_BETA) || defined(MOZ_WIDGET_ANDROID) pref("security.remote_settings.intermediates.enabled", false); +#else +pref("security.remote_settings.intermediates.enabled", true); #endif pref("security.remote_settings.intermediates.bucket", "security-state"); pref("security.remote_settings.intermediates.collection", "intermediates"); diff --git a/toolkit/moz.configure b/toolkit/moz.configure index 3bdc4523d283..82b5a59acf42 100644 --- a/toolkit/moz.configure +++ b/toolkit/moz.configure @@ -1775,3 +1775,15 @@ def new_notification_store(milestone): set_config('MOZ_NEW_NOTIFICATION_STORE', True, when=new_notification_store) set_define('MOZ_NEW_NOTIFICATION_STORE', True, when=new_notification_store) + + +# new Cert Storage implementation +# ============================================================== + +@depends(milestone) +def new_cert_storage(milestone): + if milestone.is_nightly: + return True + +set_config('MOZ_NEW_CERT_STORAGE', True, when=new_cert_storage) +set_define('MOZ_NEW_CERT_STORAGE', True, when=new_cert_storage) From a1945732779cd2972f83aa579819a0edd8a37449 Mon Sep 17 00:00:00 2001 From: Boris Chiou Date: Tue, 28 May 2019 18:31:48 +0000 Subject: [PATCH 42/80] Bug 1429303 - Animate offset-rotate. r=birtles Differential Revision: https://phabricator.services.mozilla.com/D32237 --HG-- extra : moz-landing-system : lando --- .../server/actors/animation-type-longhand.js | 2 +- .../test/test_transitions_per_property.html | 40 ++++++++++++ .../style/properties/longhands/box.mako.rs | 2 +- .../style/values/computed/motion.rs | 14 ++++- .../offset-rotate-interpolation.html.ini | 63 ------------------- .../offset-rotate-interpolation.html | 39 ++++++++++++ .../offset-rotate-interpolation-001.html | 34 ++++++++++ 7 files changed, 128 insertions(+), 66 deletions(-) delete mode 100644 testing/web-platform/meta/css/motion/animation/offset-rotate-interpolation.html.ini create mode 100644 testing/web-platform/tests/css/motion/animation/reftests/offset-rotate-interpolation-001.html diff --git a/devtools/server/actors/animation-type-longhand.js b/devtools/server/actors/animation-type-longhand.js index a7a187da3f85..ba2281f924f0 100644 --- a/devtools/server/actors/animation-type-longhand.js +++ b/devtools/server/actors/animation-type-longhand.js @@ -210,7 +210,6 @@ exports.ANIMATION_TYPE_FOR_LONGHANDS = [ "min-block-size", "-moz-min-font-size-ratio", "min-inline-size", - "offset-rotate", "padding-block-end", "padding-block-start", "padding-inline-end", @@ -269,6 +268,7 @@ exports.ANIMATION_TYPE_FOR_LONGHANDS = [ "mask-size", "object-position", "offset-path", + "offset-rotate", "order", "perspective-origin", "shape-outside", diff --git a/layout/style/test/test_transitions_per_property.html b/layout/style/test/test_transitions_per_property.html index 341293722984..5b53e7ed0b80 100644 --- a/layout/style/test/test_transitions_per_property.html +++ b/layout/style/test/test_transitions_per_property.html @@ -327,6 +327,46 @@ if (IsCSSPropertyPrefEnabled("layout.css.motion-path.enabled")) { test_length_unclamped, test_percent_unclamped, test_calc_wrapped_calc_transition ]; + + function test_offset_rotate_transition(prop) { + [ + // No transition between a keyword and a fixed angle. + { start: "auto", end: "0deg", + expected: "0deg" }, + // "auto 45deg" to "auto 145 deg". + { start: "auto 45deg", end: "auto 145deg", + expected: "auto 70deg" }, + // "auto 130deg" to "auto 90deg". + { start: "auto 130deg", end: "100grad auto", + expected: "auto 120deg" }, + // "auto 0deg" to "auto 180deg". + { start: "auto", end: "reverse", + expected: "auto 45deg" }, + // "auto 45deg" to "auto 225deg". + { start: "auto 45deg", end: "45deg reverse", + expected: "auto 90deg" }, + // "auto -60deg" to "auto -360deg". + { start: "auto -60deg", + end: "auto calc(90deg - 0.5turn - 300grad + 0rad)", + expected: "auto -135deg" }, + ].forEach(test => { + div.style.transitionProperty = 'none'; + div.style[prop] = test.start; + is(cs[prop], test.start, + `offset-rotate: computed value before transition`); + div.style.transitionProperty = prop; + div.style[prop] = test.end; + is(cs[prop], test.expected, + `offset-rotate: interpolation of offset-rotate`); + // We check distance only if there is a transition. + if (test.end != test.expected) { + check_distance(prop, test.start, test.expected, test.end); + } + }); + } + supported_properties["offset-rotate"] = + [ test_angle_transition, + test_offset_rotate_transition ]; } if (IsCSSPropertyPrefEnabled("layout.css.clip-path-path.enabled")) { diff --git a/servo/components/style/properties/longhands/box.mako.rs b/servo/components/style/properties/longhands/box.mako.rs index da9e5b2e767c..7bfd1fa67d50 100644 --- a/servo/components/style/properties/longhands/box.mako.rs +++ b/servo/components/style/properties/longhands/box.mako.rs @@ -390,7 +390,7 @@ ${helpers.predefined_type( "OffsetRotate", "computed::OffsetRotate::auto()", products="gecko", - animation_value_type="none", + animation_value_type="ComputedValue", gecko_pref="layout.css.motion-path.enabled", spec="https://drafts.fxtf.org/motion-1/#offset-rotate-property", servo_restyle_damage="reflow_out_of_flow" diff --git a/servo/components/style/values/computed/motion.rs b/servo/components/style/values/computed/motion.rs index 932d8074262b..e5f82f46558b 100644 --- a/servo/components/style/values/computed/motion.rs +++ b/servo/components/style/values/computed/motion.rs @@ -18,13 +18,25 @@ fn is_auto_zero_angle(auto: &bool, angle: &Angle) -> bool { } /// A computed offset-rotate. -#[derive(Clone, Copy, Debug, MallocSizeOf, PartialEq, ToCss, ToResolvedValue)] +#[derive( + Animate, + Clone, + ComputeSquaredDistance, + Copy, + Debug, + MallocSizeOf, + PartialEq, + ToAnimatedZero, + ToCss, + ToResolvedValue, +)] #[repr(C)] pub struct OffsetRotate { /// If auto is false, this is a fixed angle which indicates a /// constant clockwise rotation transformation applied to it by this /// specified rotation angle. Otherwise, the angle will be added to /// the angle of the direction in layout. + #[animation(constant)] #[css(represents_keyword)] pub auto: bool, /// The angle value. diff --git a/testing/web-platform/meta/css/motion/animation/offset-rotate-interpolation.html.ini b/testing/web-platform/meta/css/motion/animation/offset-rotate-interpolation.html.ini deleted file mode 100644 index 2c441e505afd..000000000000 --- a/testing/web-platform/meta/css/motion/animation/offset-rotate-interpolation.html.ini +++ /dev/null @@ -1,63 +0,0 @@ -[offset-rotate-interpolation.html] - [Animation between "100deg" and "180deg" at progress -1] - expected: FAIL - - [Animation between "100deg" and "180deg" at progress 0] - expected: FAIL - - [Animation between "100deg" and "180deg" at progress 0.125] - expected: FAIL - - [Animation between "100deg" and "180deg" at progress 0.875] - expected: FAIL - - [Animation between "100deg" and "180deg" at progress 1] - expected: FAIL - - [Animation between "100deg" and "180deg" at progress 2] - expected: FAIL - - [Animation between "auto 100deg" and "reverse" at progress -1] - expected: FAIL - - [Animation between "auto 100deg" and "reverse" at progress 0] - expected: FAIL - - [Animation between "auto 100deg" and "reverse" at progress 0.125] - expected: FAIL - - [Animation between "auto 100deg" and "reverse" at progress 0.875] - expected: FAIL - - [Animation between "auto 100deg" and "reverse" at progress 1] - expected: FAIL - - [Animation between "auto 100deg" and "reverse" at progress 2] - expected: FAIL - - [Animation between "reverse 90deg" and "360deg" at progress -1] - expected: FAIL - - [Animation between "reverse 90deg" and "360deg" at progress 0] - expected: FAIL - - [Animation between "reverse 90deg" and "360deg" at progress 0.125] - expected: FAIL - - [Animation between "reverse 90deg" and "360deg" at progress 0.875] - expected: FAIL - - [Animation between "reverse 90deg" and "360deg" at progress 1] - expected: FAIL - - [Animation between "reverse 90deg" and "360deg" at progress 2] - expected: FAIL - - [Animation between "6rad" and "auto" at progress -1] - expected: FAIL - - [Animation between "6rad" and "auto" at progress 0] - expected: FAIL - - [Animation between "6rad" and "auto" at progress 0.125] - expected: FAIL diff --git a/testing/web-platform/tests/css/motion/animation/offset-rotate-interpolation.html b/testing/web-platform/tests/css/motion/animation/offset-rotate-interpolation.html index a73c1a41dc86..3b3d755f4f1f 100644 --- a/testing/web-platform/tests/css/motion/animation/offset-rotate-interpolation.html +++ b/testing/web-platform/tests/css/motion/animation/offset-rotate-interpolation.html @@ -25,6 +25,45 @@ {at: 2, expect: '260deg'} ]); + test_interpolation({ + property: 'offset-rotate', + from: 'auto 45deg', + to: 'auto 125deg', + }, [ + {at: -1, expect: 'auto -35deg'}, + {at: 0, expect: 'auto 45deg'}, + {at: 0.125, expect: 'auto 55deg'}, + {at: 0.875, expect: 'auto 115deg'}, + {at: 1, expect: 'auto 125deg'}, + {at: 2, expect: 'auto 205deg'} + ]); + + test_interpolation({ + property: 'offset-rotate', + from: 'auto 170deg', + to: '100grad auto', + }, [ + {at: -1, expect: 'auto 250deg'}, + {at: 0, expect: 'auto 170deg'}, + {at: 0.125, expect: 'auto 160deg'}, + {at: 0.875, expect: 'auto 100deg'}, + {at: 1, expect: '100grad auto'}, + {at: 2, expect: 'auto 10deg'} + ]); + + test_interpolation({ + property: 'offset-rotate', + from: 'auto -280deg', + to: 'auto calc(90deg - 0.5turn - 300grad + 0rad)', + }, [ + {at: -1, expect: 'auto -200deg'}, + {at: 0, expect: 'auto -280deg'}, + {at: 0.125, expect: 'auto -290deg'}, + {at: 0.875, expect: 'auto -350deg'}, + {at: 1, expect: 'auto calc(90deg - 0.5turn - 300grad + 0rad)'}, + {at: 2, expect: 'auto -440deg'} + ]); + test_interpolation({ property: 'offset-rotate', from: 'auto 100deg', diff --git a/testing/web-platform/tests/css/motion/animation/reftests/offset-rotate-interpolation-001.html b/testing/web-platform/tests/css/motion/animation/reftests/offset-rotate-interpolation-001.html new file mode 100644 index 000000000000..360caeea6824 --- /dev/null +++ b/testing/web-platform/tests/css/motion/animation/reftests/offset-rotate-interpolation-001.html @@ -0,0 +1,34 @@ + + + + offset-rotate interpolation + + + + + + +
+ + + From 5a974e30a40bb309ec33141fce313e73cd810941 Mon Sep 17 00:00:00 2001 From: Boris Chiou Date: Tue, 28 May 2019 18:31:50 +0000 Subject: [PATCH 43/80] Bug 1429303 - Add a missing reftest for offset-distance interpolation. r=birtles Differential Revision: https://phabricator.services.mozilla.com/D32537 --HG-- extra : moz-landing-system : lando --- .../offset-distance-interpolation-001.html | 34 +++++++++++++++++++ 1 file changed, 34 insertions(+) create mode 100644 testing/web-platform/tests/css/motion/animation/reftests/offset-distance-interpolation-001.html diff --git a/testing/web-platform/tests/css/motion/animation/reftests/offset-distance-interpolation-001.html b/testing/web-platform/tests/css/motion/animation/reftests/offset-distance-interpolation-001.html new file mode 100644 index 000000000000..88441f5b5476 --- /dev/null +++ b/testing/web-platform/tests/css/motion/animation/reftests/offset-distance-interpolation-001.html @@ -0,0 +1,34 @@ + + + + offset-distance interpolation + + + + + + +
+ + + From 03cd499c916cbb9433abe5730e4395d0b61ac1e9 Mon Sep 17 00:00:00 2001 From: Mike Hommey Date: Wed, 29 May 2019 00:07:22 +0000 Subject: [PATCH 44/80] Bug 1554078 - Remove now unnecessary STL wrapping. r=chmanchester Some parts of mozglue used to be STL wrapped because mozalloc used to be a separate library, but that was changed a while ago (in bug 868814, 4 years ago), and those wrappings are not necessary anymore. Differential Revision: https://phabricator.services.mozilla.com/D32430 --HG-- extra : moz-landing-system : lando --- mozglue/android/moz.build | 2 -- mozglue/build/moz.build | 1 - mozglue/linker/moz.build | 2 -- 3 files changed, 5 deletions(-) diff --git a/mozglue/android/moz.build b/mozglue/android/moz.build index 717fa903e8d3..3f8ecce9784e 100644 --- a/mozglue/android/moz.build +++ b/mozglue/android/moz.build @@ -64,8 +64,6 @@ LOCAL_INCLUDES += [ '/xpcom/build', ] -DisableStlWrapping() - if CONFIG['CC_TYPE'] in ('clang', 'gcc'): CXXFLAGS += ['-Wno-error=shadow'] diff --git a/mozglue/build/moz.build b/mozglue/build/moz.build index 7a7805cd678a..80abd545b2dc 100644 --- a/mozglue/build/moz.build +++ b/mozglue/build/moz.build @@ -61,7 +61,6 @@ if CONFIG['MOZ_WIDGET_TOOLKIT']: 'WindowsDllBlocklist.cpp', ] - DisableStlWrapping() OS_LIBS += [ 'crypt32', 'version', diff --git a/mozglue/linker/moz.build b/mozglue/linker/moz.build index 5204347c3bd1..49cab335e2ce 100644 --- a/mozglue/linker/moz.build +++ b/mozglue/linker/moz.build @@ -19,8 +19,6 @@ FINAL_LIBRARY = 'mozglue' DEFINES['IMPL_MFBT'] = True -DisableStlWrapping() - TEST_DIRS += ['tests'] if CONFIG['CC_TYPE'] in ('clang', 'gcc'): From dafef8c4a2090958697db3d9a2fcdee6efde6c04 Mon Sep 17 00:00:00 2001 From: ffxbld Date: Tue, 28 May 2019 20:34:21 +0000 Subject: [PATCH 45/80] No Bug, mozilla-central repo-update HSTS HPKP blocklist remote-settings tld-suffixes - a=repo-update r=RyanVM Differential Revision: https://phabricator.services.mozilla.com/D32686 --HG-- extra : moz-landing-system : lando --- browser/app/blocklist.xml | 58 +- netwerk/dns/effective_tld_names.dat | 178 +++++- security/manager/ssl/StaticHPKPins.h | 2 +- security/manager/ssl/nsSTSPreloadList.inc | 599 ++++-------------- .../settings/dumps/blocklists/addons.json | 2 +- 5 files changed, 370 insertions(+), 469 deletions(-) diff --git a/browser/app/blocklist.xml b/browser/app/blocklist.xml index fe06b732af1f..5f2175a0ce2f 100644 --- a/browser/app/blocklist.xml +++ b/browser/app/blocklist.xml @@ -1,5 +1,5 @@ - + @@ -3029,6 +3029,62 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/netwerk/dns/effective_tld_names.dat b/netwerk/dns/effective_tld_names.dat index 9dd962a005a5..c6d33bc89d2e 100644 --- a/netwerk/dns/effective_tld_names.dat +++ b/netwerk/dns/effective_tld_names.dat @@ -586,6 +586,7 @@ slz.br sorocaba.br srv.br taxi.br +tc.br teo.br the.br tmp.br @@ -5891,17 +5892,15 @@ int.ru mil.ru test.ru -// rw : http://www.nic.rw/cgi-bin/policy.pl +// rw : https://www.ricta.org.rw/sites/default/files/resources/registry_registrar_contract_0.pdf rw -gov.rw -net.rw -edu.rw ac.rw -com.rw co.rw -int.rw +coop.rw +gov.rw mil.rw -gouv.rw +net.rw +org.rw // sa : http://www.nic.net.sa/ sa @@ -10688,6 +10687,10 @@ ltd.ua // Submitted by Przemyslaw Plewa beep.pl +// alboto.ca : http://alboto.ca +// Submitted by Anton Avramov +barsy.ca + // Alces Software Ltd : http://alces-software.com // Submitted by Mark J. Titorenko *.compute.estate @@ -10836,6 +10839,10 @@ myfritz.net *.awdev.ca *.advisor.ws +// b-data GmbH : https://www.b-data.io +// Submitted by Olivier Benz +b-data.io + // backplane : https://www.backplane.io // Submitted by Anthony Voutas backplaneapp.io @@ -10887,6 +10894,12 @@ vm.bytemark.co.uk // Submitted by Marcus Popp mycd.eu +// Carrd : https://carrd.co +// Submitted by AJ +carrd.co +crd.co +uwu.ai + // CentralNic : http://www.centralnic.com/names/domains // Submitted by registry ae.org @@ -10960,10 +10973,16 @@ virtueeldomein.nl // Submitted by Quentin Adam cleverapps.io +// Clerk : https://www.clerk.dev +// Submitted by Colin Sidoti +*.lcl.dev +*.stg.dev + // Cloud66 : https://www.cloud66.com/ // Submitted by Khash Sajadi c66.me cloud66.ws +cloud66.zone // CloudAccess.net : https://www.cloudaccess.net/ // Submitted by Pawel Panek @@ -10982,6 +11001,10 @@ cloudcontrolapp.com // Submitted by Jake Riesterer workers.dev +// Clovyr : https://clovyr.io +// Submitted by Patrick Nielsen +wnext.app + // co.ca : http://registry.co.ca/ co.ca @@ -11465,6 +11488,11 @@ e4.cz // Submitted by Thomas Cottier mytuleap.com +// ECG Robotics, Inc: https://ecgrobotics.org +// Submitted by +onred.one +staging.onred.one + // Enonic : http://enonic.com/ // Submitted by Erik Kaareng-Sunde enonic.io @@ -11713,6 +11741,15 @@ futuremailing.at // Submitted by David Illsley service.gov.uk +// Gehirn Inc. : https://www.gehirn.co.jp/ +// Submitted by Kohei YOSHIDA +gehirn.ne.jp +usercontent.jp + +// Gentlent, Limited : https://www.gentlent.com +// Submitted by Tom Klein +lab.ms + // GitHub, Inc. // Submitted by Patrick Toomey github.io @@ -11722,6 +11759,10 @@ githubusercontent.com // Submitted by Alex Hanselka gitlab.io +// Glitch, Inc : https://glitch.com +// Submitted by Mads Hartmann +glitch.me + // GOV.UK Platform as a Service : https://www.cloud.service.gov.uk/ // Submitted by Tom Whitwell cloudapps.digital @@ -11830,6 +11871,14 @@ publishproxy.com withgoogle.com withyoutube.com +// Hakaran group: http://hakaran.cz +// Submited by Arseniy Sokolov +fin.ci +free.hr +caa.li +ua.rs +conf.se + // Hashbang : https://hashbang.sh hashbang.sh @@ -11855,8 +11904,25 @@ ravendb.me development.run ravendb.run +// HOSTBIP REGISTRY : https://www.hostbip.com/ +// Submitted by Atanunu Igbunuroghene +bpl.biz +orx.biz +ng.city +ng.ink +biz.gl +col.ng +gen.ng +ltd.ng +sch.so + +// Häkkinen.fi +// Submitted by Eero Häkkinen +häkkinen.fi + // Ici la Lune : http://www.icilalune.com/ // Submitted by Simon Morvan +*.moonscale.io moonscale.net // iki.fi @@ -11944,6 +12010,11 @@ myjino.ru // Submitted by Stefan Keim js.org +// KaasHosting : http://www.kaashosting.nl/ +// Submitted by Wouter Bakker +kaas.gg +khplay.nl + // Keyweb AG : https://www.keyweb.de // Submitted by Martin Dannehl keymachine.de @@ -11991,10 +12062,23 @@ linkitools.space linkyard.cloud linkyard-cloud.ch +// Linode : https://linode.com +// Submitted by +members.linode.com +nodebalancer.linode.com + // LiquidNet Ltd : http://www.liquidnetlimited.com/ // Submitted by Victor Velchev we.bs +// Log'in Line : https://www.loginline.com/ +// Submitted by Rémi Mach +loginline.app +loginline.dev +loginline.io +loginline.services +loginline.site + // LubMAN UMCS Sp. z o.o : https://lubman.pl/ // Submitted by Ireneusz Maliszewski krasnik.pl @@ -12098,6 +12182,26 @@ pp.ru // Submitted by Paulus Schoutsen ui.nabu.casa +// Names.of.London : https://names.of.london/ +// Submitted by James Stevens or +pony.club +of.fashion +on.fashion +of.football +in.london +of.london +for.men +and.mom +for.mom +for.one +for.sale +of.work +to.work + +// NCTU.ME : https://nctu.me/ +// Submitted by Tocknicsu +nctu.me + // Netlify : https://www.netlify.com // Submitted by Jessica Parsons bitballoon.com @@ -12378,6 +12482,14 @@ on-web.fr *.platform.sh *.platformsh.site +// Port53 : https://port53.io/ +// Submitted by Maximilian Schieder +dyn53.io + +// Positive Codes Technology Company : http://co.bn/faq.html +// Submitted by Zulfais +co.bn + // prgmr.com : https://prgmr.com/ // Submitted by Sarah Newman xen.prgmr.com @@ -12386,6 +12498,14 @@ xen.prgmr.com // Submitted by registry priv.at +// privacytools.io : https://www.privacytools.io/ +// Submitted by Jonah Aragon +prvcy.page + +// Protocol Labs : https://protocol.ai/ +// Submitted by Michael Burns +*.dweb.link + // Protonet GmbH : http://protonet.io // Submitted by Martin Meier protonet.io @@ -12440,6 +12560,16 @@ readthedocs.io // Submitted by Tim Kramer rhcloud.com +// Render : https://render.com +// Submitted by Anurag Goel +app.render.com +onrender.com + +// Repl.it : https://repl.it +// Submitted by Mason Clayton +repl.co +repl.run + // Resin.io : https://resin.io // Submitted by Tim Perry resindevice.io @@ -12508,6 +12638,10 @@ shiftedit.io // Submitted by Alex Bowers myshopblocks.com +// Siemens Mobility GmbH +// Submitted by Oliver Graebner +mo-siemens.io + // SinaAppEngine : http://sae.sina.com.cn/ // Submitted by SinaAppEngine 1kapp.com @@ -12526,6 +12660,10 @@ bounty-full.com alpha.bounty-full.com beta.bounty-full.com +// Stackhero : https://www.stackhero.io +// Submitted by Adrien Gillon +stackhero-network.com + // staticland : https://static.land // Submitted by Seth Vincent static.land @@ -12557,6 +12695,11 @@ storj.farm // Submitted by Silke Hofstra utwente.io +// Student-Run Computing Facility : https://www.srcf.net/ +// Submitted by Edwin Balani +soc.srcf.net +user.srcf.net + // Sub 6 Limited: http://www.sub6.com // Submitted by Dan Miller temp-dns.com @@ -12598,6 +12741,10 @@ gdynia.pl med.pl sopot.pl +// Teckids e.V. : https://www.teckids.org +// Submitted by Dominik George +edugit.org + // Telebit : https://telebit.cloud // Submitted by AJ ONeal telebit.app @@ -12610,11 +12757,17 @@ gwiddle.co.uk // Thingdust AG : https://thingdust.com/ // Submitted by Adrian Imboden +thingdustdata.com cust.dev.thingdust.io cust.disrec.thingdust.io cust.prod.thingdust.io cust.testing.thingdust.io +// Tlon.io : https://tlon.io +// Submitted by Mark Staarink +arvo.network +azimuth.network + // TownNews.com : http://www.townnews.com // Submitted by Dustin Ward bloxcms.com @@ -12701,6 +12854,14 @@ router.management // Submitted by Adnan RIHAN v-info.info +// Voorloper.com: https://voorloper.com +// Submitted by Nathan van Bakel +voorloper.cloud + +// Waffle Computer Inc., Ltd. : https://docs.waffleinfo.com +// Submitted by Masayuki Note +wafflecell.com + // WeDeploy by Liferay, Inc. : https://www.wedeploy.com // Submitted by Henrique Vicente wedeploy.io @@ -12769,7 +12930,10 @@ bss.design // Zitcom A/S : https://www.zitcom.dk // Submitted by Emil Stahl +basicserver.io +virtualserver.io site.builder.nu +enterprisecloud.nu // Zone.id : https://zone.id/ // Submitted by Su Hendro diff --git a/security/manager/ssl/StaticHPKPins.h b/security/manager/ssl/StaticHPKPins.h index e774b19cd5b5..28493c9b86c7 100644 --- a/security/manager/ssl/StaticHPKPins.h +++ b/security/manager/ssl/StaticHPKPins.h @@ -1155,4 +1155,4 @@ static const TransportSecurityPreload kPublicKeyPinningPreloadList[] = { static const int32_t kUnknownId = -1; -static const PRTime kPreloadPKPinsExpirationTime = INT64_C(1567082038906000); +static const PRTime kPreloadPKPinsExpirationTime = INT64_C(1567427616615000); diff --git a/security/manager/ssl/nsSTSPreloadList.inc b/security/manager/ssl/nsSTSPreloadList.inc index 3728036b7e05..bc0e87562250 100644 --- a/security/manager/ssl/nsSTSPreloadList.inc +++ b/security/manager/ssl/nsSTSPreloadList.inc @@ -8,7 +8,7 @@ /*****************************************************************************/ #include -const PRTime gPreloadListExpirationTime = INT64_C(1569501228424000); +const PRTime gPreloadListExpirationTime = INT64_C(1569846794413000); %% 0-1.party, 1 000321365.com, 1 @@ -677,6 +677,7 @@ const PRTime gPreloadListExpirationTime = INT64_C(1569501228424000); 281116.com, 1 281180.de, 1 2858958.com, 1 +286.com, 1 288game.net, 1 28peaks.com, 1 28spots.net, 1 @@ -762,7 +763,6 @@ const PRTime gPreloadListExpirationTime = INT64_C(1569501228424000); 31klabs.com, 1 320281.net, 1 321132.com, 1 -321666365.com, 1 321live.nl, 1 324022.com, 1 324122.com, 1 @@ -1016,7 +1016,6 @@ const PRTime gPreloadListExpirationTime = INT64_C(1569501228424000); 42day.info, 1 42l.fr, 1 42t.ru, 1 -432666365.com, 1 439050.com, 1 43klive.com, 1 440887.com, 1 @@ -1061,14 +1060,12 @@ const PRTime gPreloadListExpirationTime = INT64_C(1569501228424000); 4flex.info, 1 4freepress.com, 1 4g-server.eu, 0 -4garage.com.br, 1 4gnews.pt, 1 4hmediaproductions.com, 1 4host.ch, 1 4iners.com, 1 4kprojektory.cz, 1 4loc.us, 1 -4lock.com.br, 1 4mm.org, 1 4monar.com, 1 4o5.xyz, 1 @@ -1123,7 +1120,7 @@ const PRTime gPreloadListExpirationTime = INT64_C(1569501228424000); 51877.net, 1 518d88.com, 1 519422.com, 1 -5197.co, 1 +5197.co, 0 5197.com, 1 5197a.co, 1 5197aa.co, 1 @@ -1134,9 +1131,9 @@ const PRTime gPreloadListExpirationTime = INT64_C(1569501228424000); 5197d.co, 1 5197dd.co, 1 5197dh.co, 1 -5197dh.com, 1 -5197dns.com, 1 -5197dz.com, 1 +5197dh.com, 0 +5197dns.com, 0 +5197dz.com, 0 5197e.co, 1 5197ee.co, 1 5197f.co, 1 @@ -1168,7 +1165,7 @@ const PRTime gPreloadListExpirationTime = INT64_C(1569501228424000); 5197rr.co, 1 5197s.co, 1 5197ss.co, 1 -5197sx.com, 1 +5197sx.com, 0 5197t.co, 1 5197tt.co, 1 5197u.co, 1 @@ -1280,7 +1277,6 @@ const PRTime gPreloadListExpirationTime = INT64_C(1569501228424000); 541622.com, 1 541722.com, 1 541922.com, 1 -543666365.com, 1 545755.com, 1 545922.com, 1 546802.com, 1 @@ -1300,7 +1296,6 @@ const PRTime gPreloadListExpirationTime = INT64_C(1569501228424000); 558btt.net, 1 566380.com, 1 56736565.com, 1 -567666365.com, 1 56877.com, 1 575380.com, 1 576422.com, 1 @@ -1450,9 +1445,6 @@ const PRTime gPreloadListExpirationTime = INT64_C(1569501228424000); 6633445.com, 1 6652566.com, 1 6660111.ru, 1 -666365app.com, 1 -666365ios.com, 1 -666365iosapp.com, 1 6664553.com, 1 666618.cc, 1 666668722.com, 1 @@ -1485,10 +1477,10 @@ const PRTime gPreloadListExpirationTime = INT64_C(1569501228424000); 6729cc.com, 1 6729d.co, 1 6729d.com, 1 +6729dd.co, 1 6729dd.com, 1 6729dh.co, 1 6729dns.com, 1 -6729dz.com, 1 6729e.co, 1 6729e.com, 1 6729ee.co, 1 @@ -1503,8 +1495,8 @@ const PRTime gPreloadListExpirationTime = INT64_C(1569501228424000); 6729gg.com, 1 6729h.co, 1 6729h.com, 1 -6729hb.com, 1 -6729hd.com, 1 +6729hb.com, 0 +6729hd.com, 0 6729hh.co, 1 6729i.co, 1 6729i.com, 1 @@ -1544,7 +1536,7 @@ const PRTime gPreloadListExpirationTime = INT64_C(1569501228424000); 6729s.com, 1 6729ss.co, 1 6729ss.com, 1 -6729sx.com, 1 +6729sx.com, 0 6729t.co, 1 6729t.com, 1 6729tt.co, 1 @@ -1562,7 +1554,7 @@ const PRTime gPreloadListExpirationTime = INT64_C(1569501228424000); 6729x.com, 1 6729xx.co, 1 6729xx.com, 1 -6729xy.com, 1 +6729xy.com, 0 6729y.co, 1 6729y.com, 1 6729yy.co, 1 @@ -1616,7 +1608,7 @@ const PRTime gPreloadListExpirationTime = INT64_C(1569501228424000); 6957dd.co, 1 6957dd.com, 1 6957dh.co, 1 -6957dz.com, 1 +6957dz.com, 0 6957e.com, 1 6957ee.co, 1 6957ee.com, 1 @@ -1629,7 +1621,7 @@ const PRTime gPreloadListExpirationTime = INT64_C(1569501228424000); 6957gg.com, 1 6957h.co, 1 6957h.com, 1 -6957hd.com, 1 +6957hd.com, 0 6957hh.co, 1 6957hh.com, 1 6957i.co, 1 @@ -1690,6 +1682,7 @@ const PRTime gPreloadListExpirationTime = INT64_C(1569501228424000); 6957x.com, 1 6957xx.co, 1 6957xx.com, 1 +6957xy.com, 0 6957y.co, 1 6957yy.co, 1 6957yy.com, 1 @@ -1735,7 +1728,6 @@ const PRTime gPreloadListExpirationTime = INT64_C(1569501228424000); 716176.com, 1 716227.com, 1 716331.com, 1 -7177p.com, 1 718113.com, 1 718227.com, 1 7183.org, 1 @@ -1907,6 +1899,7 @@ const PRTime gPreloadListExpirationTime = INT64_C(1569501228424000); 85383838.com, 0 8560.be, 1 85kb88.com, 1 +86286286.com, 1 8649955.com, 1 8649966.com, 1 8649977.com, 1 @@ -1923,7 +1916,6 @@ const PRTime gPreloadListExpirationTime = INT64_C(1569501228424000); 8722tw.com, 1 8722usa.com, 1 87577.com, 1 -876666365.com, 1 877027.com, 1 877791.com, 1 87kb88.com, 1 @@ -2107,6 +2099,7 @@ const PRTime gPreloadListExpirationTime = INT64_C(1569501228424000); 918dc04.com, 1 918dc16.com, 1 918dc20.com, 1 +918dp.com, 1 918ee.com, 1 918ej.com, 1 918ev.com, 1 @@ -2150,7 +2143,6 @@ const PRTime gPreloadListExpirationTime = INT64_C(1569501228424000); 918zv.com, 1 918zw.com, 1 919422.com, 1 -91966.com, 1 91d00.com, 1 91d01.com, 1 91d02.com, 1 @@ -2169,7 +2161,7 @@ const PRTime gPreloadListExpirationTime = INT64_C(1569501228424000); 924622.com, 1 926422.com, 1 929349.com, 1 -9297.co, 1 +9297.co, 0 9297.com, 1 9297a.co, 1 9297aa.co, 1 @@ -2180,7 +2172,7 @@ const PRTime gPreloadListExpirationTime = INT64_C(1569501228424000); 9297d.co, 1 9297dd.co, 1 9297dh.co, 1 -9297dns.com, 1 +9297dns.com, 0 9297e.co, 1 9297ee.co, 1 9297f.co, 1 @@ -2189,9 +2181,9 @@ const PRTime gPreloadListExpirationTime = INT64_C(1569501228424000); 9297gg.co, 1 9297h.co, 1 9297h.com, 0 -9297hb.com, 1 +9297hb.com, 0 9297hd.co, 1 -9297hd.com, 1 +9297hd.com, 0 9297hh.co, 1 9297i.co, 1 9297ii.co, 1 @@ -2368,7 +2360,7 @@ const PRTime gPreloadListExpirationTime = INT64_C(1569501228424000); 9721z.com, 1 9721zz.com, 1 972422.com, 1 -9728.co, 1 +9728.co, 0 9728.com, 1 9728a.co, 1 9728aa.co, 1 @@ -2379,9 +2371,9 @@ const PRTime gPreloadListExpirationTime = INT64_C(1569501228424000); 9728d.co, 1 9728dd.co, 1 9728dh.co, 1 -9728dh.com, 1 -9728dns.com, 1 -9728dz.com, 1 +9728dh.com, 0 +9728dns.com, 0 +9728dz.com, 0 9728e.co, 1 9728ee.co, 1 9728f.co, 1 @@ -2389,9 +2381,8 @@ const PRTime gPreloadListExpirationTime = INT64_C(1569501228424000); 9728g.co, 1 9728gg.co, 1 9728h.co, 1 -9728hb.com, 1 -9728hd.co, 1 -9728hd.com, 1 +9728hb.com, 0 +9728hd.com, 0 9728hh.co, 1 9728i.co, 1 9728ii.co, 1 @@ -2415,7 +2406,7 @@ const PRTime gPreloadListExpirationTime = INT64_C(1569501228424000); 9728rr.co, 1 9728s.co, 1 9728ss.co, 1 -9728sx.com, 1 +9728sx.com, 0 9728t.co, 1 9728tt.co, 1 9728u.co, 1 @@ -2441,7 +2432,6 @@ const PRTime gPreloadListExpirationTime = INT64_C(1569501228424000); 9822usa.com, 1 984.ch, 1 9867666.com, 1 -987666365.com, 1 98laba.com, 0 98laba.net, 0 9906753.net, 1 @@ -2554,7 +2544,6 @@ aaa-racing.com, 1 aaa-racing.net, 1 aaa-racing.uk, 1 aaapl.com, 1 -aabanet.com.br, 1 aaben-bank.dk, 1 aabenbank.dk, 1 aacfree.com, 1 @@ -2710,7 +2699,6 @@ aboveaverageplumbing.com, 1 abox-kb.com, 1 abpis.hr, 1 abracadabra.co.jp, 0 -abrakidabra.com.br, 1 abraxan.pro, 1 abrilect.com, 1 abristolgeek.co.uk, 1 @@ -2758,9 +2746,7 @@ academie-de-police.ch, 1 academkin.com, 1 academus.io, 1 academytv.com.au, 1 -acadianapatios.com, 1 acaeum.com, 1 -acampar.com.br, 1 acandroid.top, 1 acaonegocios.com.br, 1 acaptureservices.com, 1 @@ -2819,7 +2805,6 @@ acem.org.au, 1 acemobileforce.com, 1 acemypaper.com, 1 acen.eu, 1 -acendealuz.com.br, 1 acerentalandsales.com, 1 acerislaw.com, 1 acessoeducacao.com, 1 @@ -3006,6 +2991,7 @@ adaptiveicons.com, 1 adaptivemechanics.edu.au, 1 adarshcloud.in, 1 adarshthapa.in, 1 +adativos.com.br, 1 adawolfa.cz, 1 adayinthelifeof.nl, 1 adblock.ovh, 1 @@ -3152,7 +3138,6 @@ advanceddieselspokane.com, 1 advanceddisposables.co.uk, 0 advancedelectricalservicesqld.com.au, 1 advancedendoscopycenter.net, 1 -advancedoneroofing.com, 1 advancedprotectionkey.com, 1 advancedprotectionsecuritykey.com, 1 advancedseotool.it, 1 @@ -3193,6 +3178,7 @@ advogatech.com.br, 1 advokat-romanov.com, 1 advtran.com, 1 adware.pl, 0 +adwokatkosterka.pl, 1 adwokatzdunek.pl, 1 adws.io, 1 adxperience.com, 1 @@ -3254,7 +3240,6 @@ aerosimexperience.com, 1 aerospace-schools.com, 1 aerotechcoatings.com, 1 aertel.ie, 1 -aessencia.com.br, 1 aestheticdr.org, 1 aestheticsplus.xyz, 1 aesthetx.com, 1 @@ -3429,7 +3414,6 @@ agroyard.com.ua, 1 agsb.ch, 1 agscinemas.com, 1 agscinemasapp.com, 1 -aguarani.com.br, 1 aguijara.com, 1 agung-furniture.com, 1 agwa.name, 1 @@ -3461,7 +3445,6 @@ ahxxm.com, 0 ai-english.jp, 1 ai-soft.co.jp, 1 ai.gov, 1 -ai.je, 1 ai00.vip, 1 ai1989.com, 1 aia.de, 1 @@ -3504,7 +3487,6 @@ aikenorganics.com, 1 aikenpromotions.com, 1 aiki.de, 1 aiki.do, 1 -aiki.tk, 0 aikido-club-limburg.de, 1 aikido-kiel.de, 1 aikido-linz.at, 1 @@ -3786,7 +3768,6 @@ alasta.info, 1 alastairs-place.net, 1 alauda-home.de, 1 alaundeil.xyz, 1 -alaxyjewellers.co.za, 1 albanboye.info, 1 albanesi.it, 1 albaniareiser.no, 1 @@ -3813,7 +3794,6 @@ alcolecapital.com, 1 alcorao.org, 1 alcouponest.com, 1 aldiabcs.com, 1 -aldien.com.br, 1 aldomedia.com, 1 aldorr.net, 0 aldous-huxley.com, 1 @@ -3833,7 +3813,6 @@ alertonline.nl, 1 alerts.sg, 1 alertwire.com, 1 alesia-formation.fr, 1 -alessandroonline.com.br, 1 alessandrotravel.com, 1 aletm.it, 1 alex-ross.co.uk, 1 @@ -3939,7 +3918,6 @@ alienation.biz, 1 alienflight.com, 1 alienslab.net, 1 alienstat.com, 1 -alienvision.com.br, 1 alighierirescaldina.it, 1 alignrs.com, 1 aliim.gdn, 1 @@ -4171,11 +4149,11 @@ alterbaum.net, 1 altered.network, 1 altered.si, 1 alteria.xyz, 1 -alternador.com.br, 1 alternative.bike, 1 alternative.hosting, 1 alternativebit.fr, 1 alternativedev.ca, 1 +alternativehosting.ca, 1 alternativehosting.com, 1 alternativeinternet.ca, 1 alternativet.party, 1 @@ -4197,7 +4175,6 @@ altopia.com, 1 altphotos.com, 1 altporn.xyz, 1 altrui.st, 1 -alts.li, 1 altstipendiaten.de, 1 alttrackr.com, 1 altunbas.info, 1 @@ -4468,7 +4445,6 @@ anchovy.nz, 0 anciennes-automobiles.fr, 1 anciens.org, 1 ancient-gates.de, 1 -ancientcraft.eu, 1 ancientnorth.com, 1 ancientnorth.nl, 1 ancolies-andre.com, 1 @@ -4820,7 +4796,6 @@ antota.lt, 1 antragsgruen.de, 1 antraxx.ee, 1 antroposboutique.it, 1 -antroposofica.com.br, 1 anttitenhunen.com, 1 antvklik.com, 1 antyblokada.pl, 1 @@ -4894,7 +4869,6 @@ apercloud.es, 1 apertis.org, 1 aperturesciencelabs.de, 1 apervita.net, 1 -apethink.net, 1 apexitsolutions.ca, 1 apgw.jp, 1 aphelionentertainment.com, 1 @@ -4962,7 +4936,6 @@ app.recurly.com, 1 app.simpletax.ca, 1 app.yinxiang.com, 0 app2get.de, 1 -app666365.com, 1 appagility.co.nz, 1 appapi.link, 1 apparelfashionwiki.com, 1 @@ -5030,7 +5003,6 @@ aprefix.com, 1 aprendiendoforexhoy.com, 1 apretatuercas.es, 1 aprikaner.de, 1 -aprogend.com.br, 1 aproposcomputing.com, 1 aprovpn.com, 1 aprr.org, 1 @@ -5092,7 +5064,6 @@ aramloebmd.com, 1 aranchhomes.com, 1 aranel.me, 1 aranycsillag.net, 1 -araraexpress.com.br, 1 araratour.com, 1 araro.ch, 1 araseifudousan.com, 1 @@ -5234,7 +5205,6 @@ armandsdiscount.com, 1 armanozak.com, 1 armansfinejewellery.com, 1 armansfinejewellery.com.au, 1 -armarinhovirtual.com.br, 1 armazemdaminiatura.com.br, 1 armbrust.me, 1 armedpoet.com, 1 @@ -5292,7 +5262,7 @@ arresttracker.com, 1 arrive.by, 1 arrivedconsulting.com, 1 arrmaforum.com, 1 -arroba.digital, 0 +arroba.digital, 1 arrow-analytics.nl, 1 arrow-api.nl, 1 arrowfastener.com, 1 @@ -5328,13 +5298,11 @@ arteaga.me, 1 arteaga.tech, 1 arteaga.uk, 1 arteaga.xyz, 1 -artebel.com.br, 1 artecat.ch, 1 artedellavetrina.it, 1 artedona.com, 1 arteequipamientos.com.uy, 1 artefakt.es, 1 -artefeita.com.br, 1 arteinstudio.it, 1 artelt.com, 1 arterienundvenen.ch, 1 @@ -5399,7 +5367,6 @@ artschmidtoptical.com, 1 artspac.es, 1 arttel-media.ru, 1 arturkohut.com, 1 -arturopinto.com.mx, 1 arturrossa.de, 1 arturszalak.com, 1 artweby.cz, 1 @@ -5445,7 +5412,6 @@ asciitable.tips, 1 asciiwwdc.com, 1 ascpaphilatelie.eu, 1 asd.gov.au, 1 -asdyx.de, 1 asec01.net, 1 asegem.es, 1 aseith.com, 1 @@ -5600,8 +5566,6 @@ at5.nl, 1 at7s.me, 1 ataber.pw, 1 atac.no, 1 -atacadocervejeiro.com.br, 1 -atacadodesandalias.com.br, 1 atacadooptico.com.br, 1 atahualpa.com, 1 atallo.com, 1 @@ -5626,6 +5590,7 @@ atelieraphelion.com, 1 atelierbw.com, 1 atelierdefrancais.ch, 1 atelierdeloulou.fr, 1 +atelierdesflammesnoires.fr, 1 atelierfantazie.sk, 1 atelierhsn.com, 1 ateliernaruby.cz, 1 @@ -5639,7 +5604,6 @@ aterskapa-data.se, 1 atf.gov, 1 atg.soy, 1 atgoetschel.ch, 1 -atgroup.gr, 1 atgseed.co.uk, 1 atgseed.uk, 1 ath0.org, 0 @@ -5703,7 +5667,6 @@ atomic-bounce.com, 1 atomic.red, 1 atomicbounce.co.uk, 1 atomism.com, 1 -atorcidabrasileira.com.br, 1 atplonline.co, 1 atpnutrition.com, 1 atracaosexshop.com.br, 1 @@ -6085,6 +6048,7 @@ awarify.me, 1 awaro.net, 1 awbouncycastlehire.com, 1 awei.pub, 1 +awen.me, 1 awesome-coconut-software.fr, 1 awesomebouncycastles.co.uk, 1 awesomenamegenerator.com, 1 @@ -6462,7 +6426,6 @@ bahnmagazine.de, 1 baiduo.com, 1 baifubao.com, 1 baiker.info, 1 -bailakomigo.com.br, 1 baildonbouncycastles.co.uk, 1 baildonhottubs.co.uk, 1 baileebee.com, 1 @@ -6470,6 +6433,7 @@ baileybae.com, 1 bailonga.com, 1 bairdzhang.com, 1 baitap.net, 1 +baitcon.com, 1 baitulongbaycruises.com, 1 baiyangliu.com, 1 bajic.ch, 1 @@ -6492,7 +6456,6 @@ bakkerinjebuurt.be, 1 bakongcondo.com, 1 balade-commune.ch, 1 baladecommune.ch, 1 -balancascia.com.br, 1 balance7.jp, 1 balancedbrawl.net, 1 balancenaturalhealthclinic.ca, 1 @@ -6557,7 +6520,6 @@ bancosdominicanos.net, 1 bandagastrica.es, 1 bandally.net, 1 bandarifamily.com, 1 -bandeira1.com.br, 1 banderasdelmundo.xyz, 1 bandgap.io, 1 bandiga.it, 1 @@ -6573,6 +6535,7 @@ bangumi.co, 1 bangyu.wang, 1 banham.co.uk, 0 banham.com, 1 +bani99.com, 1 banjostringiz.com, 1 bank, 1 bank.barclays.co.uk, 1 @@ -6673,7 +6636,6 @@ barrera.io, 1 barriofut.com, 1 barrydenicola.com, 1 bars.kh.ua, 1 -barsashop.com.br, 1 barsgroup.com, 1 barslecht.com, 1 barslecht.nl, 1 @@ -6747,7 +6709,6 @@ bati-alu.fr, 1 batiburrillo.net, 1 batipresta.ch, 1 batiskaf.ua, 1 -batistareisfloresonline.com.br, 1 batlab.ch, 1 batolis.com, 1 batook.org, 1 @@ -6809,6 +6770,7 @@ bazaarbhaav.com, 1 bazaarcompass.com, 1 bazari.com.pl, 1 bazdell.com, 1 +bazinga-events.nl, 1 bazos.at, 1 bazos.cz, 1 bazos.pl, 1 @@ -6923,7 +6885,6 @@ beanjuice.me, 1 beans-one.com, 0 beansgalore.com.au, 1 bearcms.com, 1 -bearcosports.com.br, 1 beardboys.co.za, 1 bearded.sexy, 1 beardic.cn, 1 @@ -6951,7 +6912,6 @@ beaverdamautos.com, 1 beavertales.ca, 1 bebeautiful.business, 1 bebef.de, 1 -bebefofuxo.com.br, 1 bebes.uno, 1 bebest.gov, 1 bebetrotteur.com, 1 @@ -7028,6 +6988,7 @@ beexfit.com, 1 beezkneezcastles.co.uk, 1 beeznest.com, 1 befoodsafe.gov, 1 +beforesunrise.de, 1 beforeyoueatoc.com, 1 beframed.ch, 1 befreewifi.info, 1 @@ -7036,7 +6997,6 @@ bega-dc.gov, 1 begabungsfoerderung.info, 1 begbie.com, 1 beginner.nl, 1 -beginwp.top, 1 behamepresrdce.sk, 1 behamzdarma.cz, 1 behead.de, 1 @@ -7069,7 +7029,6 @@ belastingmiddeling.nl, 1 belavis.com, 1 beleggingspanden-financiering.nl, 1 belegit.org, 1 -belezashopping.com.br, 1 belfastbounce.co.uk, 1 belfastlocks.com, 1 belfasttechservices.co.uk, 1 @@ -7136,7 +7095,6 @@ benefits.gov, 1 benefitsbookcase.com, 1 benefitshub.io, 1 benefitshub.xyz, 1 -benepiscinas.com.br, 1 beneri.se, 1 benevisim.com, 1 benevita.bio, 1 @@ -7203,7 +7161,6 @@ bep.gov, 1 bepenak.com, 1 bephoenix.org.uk, 1 beproduct.ru, 1 -bepsvpt.me, 1 bequiia.com, 1 beranovi.com, 1 berasavocate.com, 1 @@ -7223,7 +7180,6 @@ bergmanbeachproperties.com, 1 bergstoneware.com, 1 berichtsheft-vorlage.de, 1 berikod.ru, 1 -beringsoegaard.dk, 1 berkat-luqs.ddns.net, 1 berlin.dating, 1 bermeitinger.eu, 1 @@ -7324,8 +7280,6 @@ bestbestbitcoin.com, 1 bestbonuses.co.uk, 1 bestbrakes.com, 1 bestbrokerindia.com, 1 -bestbyte.com.br, 1 -bestcellular.com, 0 bestdating.today, 1 bestdownloadscenter.com, 1 bestelectricnd.com, 1 @@ -7408,7 +7362,6 @@ betterbabyshop.com.au, 1 bettercareclinic.co.uk, 1 betterconsult.com, 1 bettercrypto.org, 1 -betterhelp.com, 1 betterjapanese.blog, 1 betterjapanese.org, 1 betterjapanese.xyz, 1 @@ -7474,7 +7427,7 @@ bezahlbare-praemien.ch, 1 bezemkast.nl, 1 bezlampowe.pl, 1 bezlepkovamatka.cz, 1 -bezmlska.cz, 1 +bezmlska.cz, 0 bezoomnyville.com, 1 bezpecnostsiti.cf, 1 bezposrednio.net.pl, 1 @@ -7601,7 +7554,6 @@ biggreenexchange.com, 1 bighouse-events.co.uk, 1 bight.ca, 1 bigideasnetwork.com, 1 -bigio.com.br, 1 biglagoonrentals.com, 1 biglou.com, 0 bigorbitgallery.org, 1 @@ -7720,7 +7672,6 @@ binans.io, 1 binans.net, 1 binans.xyz, 1 binarization.net, 1 -binarka.net, 1 binary.house, 1 binaryabstraction.com, 1 binaryapparatus.com, 1 @@ -7776,7 +7727,6 @@ biofrequenze.it, 1 biogecho.ch, 1 biogecho.swiss, 1 biogeist.de, 1 -biogeniq.ca, 1 biohappiness.com, 1 bioharmony.ca, 1 biointelligence-explosion.com, 1 @@ -7891,7 +7841,6 @@ bitcoinrealestate.com.au, 1 bitcointhefts.com, 1 bitcointrade.com.br, 1 bitcoinwalletscript.tk, 1 -bitcoinx.gr, 1 bitcoinx.ro, 1 bitcork.io, 1 bitcqr.io, 1 @@ -8499,7 +8448,6 @@ bonux.co, 1 boobox.xyz, 1 boodmo.com, 1 boof.com, 0 -boogaerdtmakelaars.nl, 1 boogiebouncecastles.co.uk, 1 book-in-hotel.com, 1 booker.ly, 1 @@ -8733,7 +8681,6 @@ bourse-aux-jouets.org, 0 bourse-aux-vetements.org, 0 bourse-puericulture.org, 0 bourseauxservices.com, 1 -boutiquedecanetas.com.br, 1 boutiqueguenaelleverdin.com, 1 boutoncoupdepoing.fr, 1 bouw.live, 1 @@ -8780,7 +8727,6 @@ bpastudies.org, 1 bphostels.com, 1 bpo.ovh, 1 bpol-forum.de, 1 -bpreguica.com.br, 1 bps.vc, 1 bpvboekje.nl, 1 bqcp.net, 1 @@ -8823,6 +8769,7 @@ brainserve.swiss, 1 brainsik.net, 1 brainster.co, 1 braintensive.com, 1 +braintreegateway.com, 1 brainvoyagermusic.com, 1 brainwav.es, 1 brainwork.space, 1 @@ -8873,7 +8820,6 @@ branw.xyz, 0 brasal.ma, 1 brasalcosmetics.com, 1 brashear.me, 1 -brasilbombas.com.br, 1 brasildxn.com.br, 1 brasileiro.ca, 1 brasserie-mino.fr, 1 @@ -8898,14 +8844,13 @@ bravisziekenhuis.nl, 0 bravor.pe, 1 brazilian.dating, 1 braziliex.com, 1 -brazillens.com, 1 brazoriabar.org, 1 brb.city, 1 brck.nl, 1 brd.ro, 1 breadandlife.org, 1 breadofgod.org, 1 -breakingtech.it, 0 +breakingtech.it, 1 breakingvap.fr, 1 breakwall.ml, 1 breaky.de, 1 @@ -9057,7 +9002,6 @@ brokenhands.io, 1 brokernet.ie, 0 brokervalues.com, 1 brompton-cocktail.com, 1 -bronetb2b.com.br, 1 bronevichok.ru, 1 bronwynlewis.com, 1 broodbesteld.nl, 1 @@ -9118,8 +9062,6 @@ bryanquigley.com, 1 bryansmith.net, 1 bryansmith.tech, 1 bryantzheng.com, 1 -bryantzheng.me, 1 -bryantzheng.org, 1 brycecanyon.net, 1 brycecanyonnationalpark.com, 1 bryggebladet.dk, 1 @@ -9180,7 +9122,6 @@ btcpop.co, 1 btine.tk, 1 btio.pw, 0 btku.org, 1 -btmstore.com.br, 1 btnissanparts.com, 1 btorrent.xyz, 1 btrb.ml, 1 @@ -9362,6 +9303,7 @@ bunny.parts, 1 bunnycarenotes.com, 1 bunnydiamond.de, 1 bunnymud.com, 1 +bunnyvishal.com, 1 bunq.love, 1 bunzy.ca, 1 buonventosbt.eu, 1 @@ -9396,7 +9338,7 @@ burningmarket.de, 1 burntfish.com, 1 burnworks.com, 1 buronwater.com, 1 -burotec-sarl.com, 1 +burotec-sarl.com, 0 burr.is, 1 burroughsid.com, 1 bursaries-southafrica.co.za, 1 @@ -9660,7 +9602,6 @@ cabuna.hr, 1 cacao-chocolate.com, 1 cacao.supply, 1 cacaolalina.com, 1 -cacaumidade.com.br, 1 cacd.eu, 1 caceis.bank, 1 cachacacha.com, 1 @@ -9799,7 +9740,6 @@ calrotaract.org, 1 calvin.my, 1 calvinallen.net, 0 calypso-tour.net, 1 -calypsohost.net, 1 calyxengineers.com, 1 calzadonline1-latam.com, 1 calzadonline1.com, 1 @@ -9831,7 +9771,6 @@ camel2243.com, 1 camelforensics.com, 1 camelservers.com, 1 cameo-membership.uk, 1 -cameraviva.com.br, 1 cameronthomson.racing, 1 camerweb.es, 1 camilomodzz.net, 1 @@ -10142,7 +10081,6 @@ caroes.be, 1 caroffer.ch, 1 carol-lambert.com, 1 carolcappelletti.com, 1 -carolcestas.com, 1 caroli.biz, 1 caroli.com, 1 caroli.info, 1 @@ -10169,11 +10107,9 @@ carrouselcompany.fr, 1 cars4salecy.com, 1 carseatchecks.ca, 1 carshippingcarriers.com, 1 -carson-aviation-adventures.com, 1 carson-matthews.co.uk, 1 carsoug.com, 1 carspneu.cz, 1 -carteirasedistintivos.com.br, 1 cartelloni.roma.it, 1 carterdan.net, 1 carterorland.com, 1 @@ -10207,17 +10143,12 @@ casabouquet.com, 1 casacameo.com, 0 casacazoleiro.com, 1 casacochecurro.com, 1 -casacomcharme.com.br, 1 casadasportasejanelas.com, 1 -casadoarbitro.com.br, 1 casadopulpo.com, 1 -casadowifi.com.br, 1 -casaessencias.com.br, 1 casalborgo.it, 1 casalindamex.com, 1 casalunchbreak.de, 1 casamariposaspi.com, 1 -casapalla.com.br, 1 casasuara.com, 1 casasuleletrodomesticos.com.br, 1 casbia.info, 1 @@ -10614,7 +10545,6 @@ ceskepivnesety.sk, 1 ceskepivnisety.cz, 1 ceso-saco.com, 1 cesobaly.cz, 1 -cestasedelicias.com.br, 1 cestunmetier.ch, 1 cetamol.com, 1 ceu.edu, 0 @@ -10687,7 +10617,6 @@ chaleur.com, 1 chalker.io, 1 chalkfestival.org, 0 challengeblog.org, 1 -challengeclothing.com.br, 1 challengeskins.com, 1 challstrom.com, 1 chambion.ch, 1 @@ -11053,7 +10982,6 @@ chmsoft.ru, 1 chmurakotori.ml, 1 choc-o-lush.co.uk, 1 chocgu.com, 1 -chocodecor.com.br, 1 chocolah.com.au, 0 chocolat-suisse.ch, 1 chocolat.work, 1 @@ -11316,12 +11244,8 @@ cirfi.com, 1 ciri.com.co, 1 cirrus0.de, 1 cirujanooral.com, 1 -cirurgicagervasio.com.br, 1 -cirurgicalucena.com.br, 1 -cirurgicasalutar.com.br, 1 -cirurgicavirtual.com.br, 1 cisa.gov, 1 -ciscodude.net, 1 +ciscodude.net, 0 cisoaid.com, 1 cisofy.com, 1 cispeo.org, 1 @@ -11345,14 +11269,13 @@ citizensleague.org, 1 citizing.org, 1 citrusui.me, 1 cittadesign.com, 0 -citton.com.br, 1 city-adm.lviv.ua, 1 city-walks.info, 1 citya.com, 1 citybeat.de, 1 citycreek.studio, 1 citydance.ee, 1 -cityextra.com.au, 1 +cityextra.com.au, 0 cityfloorsupply.com, 1 citylights.eu, 1 citymoobel.ee, 1 @@ -11652,7 +11575,6 @@ club-climate.com, 1 club-creole.com, 1 club-dieta.ru, 1 club-duomo.com, 1 -club-is.ru, 1 club-jose.com, 1 club-premiere.com, 1 club-reduc.com, 1 @@ -11771,7 +11693,6 @@ coccinellaskitchen.de, 1 coccinellaskitchen.it, 1 coccolebenessere.it, 1 cocinoyo.com, 1 -cock.li, 1 cockedey.in, 1 cockerspanielamericano.com.br, 1 cockerspanielingles.com.br, 1 @@ -11930,7 +11851,6 @@ coins2001.ru, 1 coinsmat.com, 1 coinsz.co, 1 coinx.pro, 1 -coisabakana.com.br, 1 coisasdemulher.org, 1 cojam.ru, 1 cojo.eu, 1 @@ -12072,7 +11992,6 @@ comevius.org, 1 comevius.xyz, 1 comff.net, 1 comfintouch.com, 1 -comflores.com.br, 1 comfortmastersinsulation.com, 1 comfun.net, 1 comfy.cafe, 0 @@ -12180,7 +12099,6 @@ compraporinternet.online, 1 comprarefiereygana.com, 1 comprarimpresoras-3d.com, 1 compreair.com, 1 -compreautomacao.com.br, 1 compree.com, 1 comprefitasadere.com.br, 1 comprehensiveihc.com, 1 @@ -12240,7 +12158,6 @@ concursopublico.com.br, 1 concursos.com.br, 1 concursosabertos.com.br, 1 concursuri.biz, 1 -condecom.com.br, 1 condepenalba.com, 0 condesaelectronics.com, 1 condolencemessages.net, 1 @@ -12263,7 +12180,6 @@ confiancefoundation.org, 1 confidential.network, 1 config.schokokeks.org, 0 confiwall.de, 1 -conformax.com.br, 1 conformist.jp, 1 conftree.com, 1 confucio.cl, 1 @@ -12283,10 +12199,10 @@ connect-ed.network, 1 connect-me.com, 1 connect.dating, 1 connect.facebook.net, 1 -connect.social, 1 connecta.store, 1 connectavid.com, 1 connectedcare.md, 1 +connectfss.com, 1 connectivia.it, 1 connectmath.com, 1 connectmy.car, 1 @@ -12385,7 +12301,6 @@ contratatupoliza.com, 1 contributor.google.com, 1 controlambientalbogota.com, 1 controlarlaansiedad.com, 1 -controlautocom.com.br, 1 controlbooth.com, 1 controle.net, 1 controleer-maar-een-ander.nl, 1 @@ -12449,6 +12364,7 @@ coolwallet.io, 0 coon.fr, 1 coonawarrawines.com.au, 1 coonelnel.net, 1 +coop.se, 1 cooperativa-je.net, 1 coore.jp, 1 coorpacademy.com, 1 @@ -12545,7 +12461,6 @@ correctpaardbatterijnietje.nl, 1 corrick.io, 1 corrupted.io, 1 corsa-b.uk, 1 -corscanplus.com, 1 corsectra.com, 1 corsicalaw.com, 1 corsihaccpsicurezzalavoro.it, 1 @@ -12608,7 +12523,6 @@ countersolutions.co.uk, 1 countetime.com, 1 countingto.one, 1 country-creativ.de, 1 -countryattire.com, 1 countrybrewer.com.au, 1 countryfrog.uk, 1 countryhouseresort.com, 1 @@ -13132,8 +13046,6 @@ cuckoopalace.cn, 1 cuddlecat.io, 1 cuddlingyaks.com, 1 cudoo.de, 1 -cueca.com.br, 1 -cuecasonline.com.br, 1 cuegee.com, 1 cuentasmutualamr.org.ar, 1 cuetoems.com, 1 @@ -13659,7 +13571,6 @@ danielsteiner.net, 1 danielstiner.me, 1 danielthompson.info, 1 danieltollot.de, 1 -danielvanassen.nl, 1 danielverlaan.nl, 1 danielvoogsgerd.nl, 1 danielwildhaber.ch, 1 @@ -13820,7 +13731,6 @@ datadit.hu, 1 datadyne.technology, 1 datafd.com, 1 datafd.net, 1 -dataformers.at, 1 datagrail.io, 1 dataguidance.com, 1 dataharvest.at, 1 @@ -14042,6 +13952,7 @@ dd215d.com, 1 dd44d.net, 1 dd5197.co, 1 dd6729.co, 1 +dd6729.com, 1 dd6957.com, 1 dd7211.com, 1 dd9297.co, 1 @@ -14160,6 +14071,7 @@ decimatechnologies.eu, 1 decis.fr, 1 decisivetactics.com, 1 deckbuilderamerica.com, 1 +declarationlocationmeublee.com, 1 declivitas.com, 1 deco-parisienne.fr, 1 decoating.pl, 1 @@ -14174,7 +14086,6 @@ decor-prazdnik.ru, 1 decoratingadvice.co.uk, 1 decoratore.roma.it, 1 decoratrix.com, 1 -decorestilo.com.br, 1 decorincasa.com.br, 1 decormiernissanparts.com, 1 decorumcomics.com, 1 @@ -14253,6 +14164,7 @@ degata.com, 1 degeberg.com, 1 degeberg.dk, 1 degen-elektrotechnik.de, 1 +degestamptepot.nl, 1 degit.de, 1 degoticapunk.xyz, 1 degoulet.net, 1 @@ -14290,6 +14202,7 @@ delcopa.gov, 1 deleenheir.be, 1 deleidscheflesch.nl, 1 delfic.org, 1 +delfino.cr, 1 delhionlinegifts.com, 1 deli-tochigi.jp, 1 deliacreates.com, 1 @@ -14647,7 +14560,6 @@ devzero.io, 1 dewaard.de, 1 dewalch.net, 1 dewapress.com, 1 -dewebwerf.nl, 1 dewinter.com, 1 dewolden.nl, 1 dex.top, 1 @@ -14851,7 +14763,6 @@ different.cz, 0 differenta.ro, 0 diffnow.com, 1 difoosion.com, 1 -difusordeambientes.com.br, 1 digaxtest.com, 1 digcit.org, 1 digdata.de, 1 @@ -14964,10 +14875,8 @@ dillonkorman.com, 1 dimagrimentoincorso.it, 1 dimanet.fr, 1 dimanss47.net, 1 -dimdom.com.br, 1 dime-staging.com, 1 dime.io, 1 -dimeponline.com.br, 1 dimez.ru, 1 dimiskovska.de, 1 dimitrihomes.com, 1 @@ -15149,7 +15058,6 @@ distinguishedprisoner.com, 1 distracteddriving.gov, 1 distraction.gov, 1 distratus.com, 1 -distribuidoracristal.com.br, 1 distribuidoraplus.com, 1 distribuidorveterinario.es, 1 distrilogservices.com, 1 @@ -15174,19 +15082,18 @@ diversifiedproduct.com, 1 diversityflags.com, 1 diversityflags.com.au, 1 diversityflags.nz, 1 -divertiagua.com.br, 1 divewithfrank.com, 1 divi-experte.de, 1 dividendz.net, 1 divinasaiamodas.com.br, 1 divinegames.studio, 1 +divineglowinghealth.com, 1 divinemercyparishvld.com, 1 diving.photo, 1 divingforlife.org, 1 divingwithnic.com, 1 divisuite.com, 1 divorcelawyersformen.com, 1 -divorciosmurcia.com, 1 diwei.vip, 1 dixi.fi, 1 dixibox.com, 1 @@ -15354,7 +15261,6 @@ dockerm.com, 1 dockerup.net, 1 doclassworks.com, 1 docline.gov, 1 -docloh.de, 1 docloudu.info, 1 docplexus.com, 1 docs.google.com, 1 @@ -15408,7 +15314,6 @@ dogoo.com, 1 dogpawstudio.com, 1 dogprograms.net, 1 dogrescuegreece.nl, 1 -dogworld.com.br, 1 dohanews.co, 1 doihavetoputonpants.com, 1 doitauto.de, 1 @@ -15439,7 +15344,6 @@ dolph.de, 1 dolphin-cloud.com, 1 dolphin-hosting.com, 1 dolphin-it.de, 1 -dolphinswithlasers.com, 0 dom-medicina.ru, 1 doma.in, 1 domadillo.com, 1 @@ -15488,7 +15392,6 @@ dominoknihy.cz, 1 dominomatrix.com, 1 domix.fun, 1 domizx.de, 1 -dommascate.com.br, 1 domob.eu, 1 domodeco.fr, 1 domodedovo.travel, 1 @@ -15538,6 +15441,7 @@ donmaldeamores.com, 1 donnaandscottmcelweerealestate.com, 1 donnacha.blog, 1 donnachie.net, 1 +donnajeanbooks.com, 1 donner-reuschel.de, 1 donnons.org, 0 donnoval.ru, 0 @@ -15571,6 +15475,7 @@ doorswest.net, 1 doortim.nl, 1 dopesoft.de, 1 dopetrue.com, 1 +dophys.top, 1 doppeleinhorn.de, 1 doppenpost.nl, 1 dopravni-modely.cz, 1 @@ -15621,7 +15526,6 @@ doswap.com, 1 dosyauzantisi.com, 1 dot.ro, 1 dot42.no, 1 -dota2huds.com, 1 dotacni-parazit.cz, 1 dotbigbang.com, 1 dotbox.org, 1 @@ -15711,6 +15615,7 @@ dpisecuretests.com, 1 dpm-ident.de, 1 dponetwork.nl, 1 dprb.biz, 1 +dprd-wonogirikab.go.id, 0 dps.srl, 1 dpsg-hohenlinden.de, 1 dpsg-roden.de, 1 @@ -16104,7 +16009,6 @@ dugnet.org, 0 dugnet.tech, 0 dugunedavet.com, 1 duh.se, 1 -dui805.com, 1 duijf.info, 1 duijfathome.nl, 1 duitang.com, 1 @@ -16316,7 +16220,6 @@ e-biografias.net, 1 e-borneoshop.com, 1 e-briancon.com, 1 e-colle.info, 1 -e-cottage.com.br, 1 e-enterprise.gov, 1 e-gemeinde.at, 1 e-id.ee, 1 @@ -16452,7 +16355,6 @@ easyreal.ru, 1 easyroad.fr, 1 easyschools.org, 0 easyslide.be, 1 -easyssl.com.cn, 1 easystore.co, 1 easytechguides.com, 1 easytechsecurity.com, 1 @@ -16518,7 +16420,6 @@ ecco-verde.com, 0 eccux.com, 1 ecdn.cz, 1 ecelembrou.ovh, 1 -ecfnorte.com.br, 1 ecfunstalls.com, 1 echarity.ae, 1 echatta.net, 1 @@ -16534,7 +16435,6 @@ echofoxtrot.co, 1 echoit.net, 1 echoit.net.au, 1 echoit.services, 1 -echomall.cn, 1 echopaper.com, 1 echorecovery.org, 1 echosim.io, 1 @@ -16630,7 +16530,7 @@ ed4becky.net, 1 edakoe.ru, 1 edanni.io, 1 edapt.org.uk, 1 -edas.info, 1 +edas.info, 0 edd-miles.com, 1 eddesign.ch, 1 eddmil.es, 1 @@ -16701,7 +16601,6 @@ eduard-dopler.de, 1 eduardnikolenko.com, 1 eduardnikolenko.ru, 1 edubase.net, 1 -edubras.com.br, 1 educacionvirtual.com.ar, 1 educatek.es, 1 educateyourskin.com, 1 @@ -16712,7 +16611,6 @@ educationmalaysia.co.uk, 1 educator-one.com, 1 educatoys.com.br, 1 eductf.org, 1 -edugundavetiyesi.com, 1 eduid.se, 0 eduif.nl, 0 edumi.com, 1 @@ -16839,8 +16737,6 @@ ehaccp.it, 1 ehandel.com, 1 ehazi.hu, 1 ehbssl.com, 1 -ehcommerce.com, 1 -ehcommerce.org, 1 eheliche-disziplin.schule, 1 ehertz.uk, 1 ehipaa.com, 1 @@ -17377,10 +17273,6 @@ employer.gov, 1 employer.guru, 1 employer411.com, 0 emporikonathenshotel.com, 1 -emporiodascalcinhas.com.br, 1 -emporiodosperfumes.com.br, 1 -emporioonline.com.br, 1 -emporiopatanegra.com.br, 1 emporioviverbem.com.br, 0 empower.net, 1 empowerdb.com, 1 @@ -17708,7 +17600,6 @@ equidam.com, 1 equinecoaching.ca, 1 equinetherapy.ca, 1 equinox.io, 1 -equipandoloja.net.br, 1 equipedefrance.tv, 1 equk.co.uk, 1 er-mgmt.com, 1 @@ -17732,8 +17623,6 @@ ergobyte.eu, 1 ergobyte.gr, 1 ergodark.com, 1 ergoterapeutas.lt, 1 -ergovita.com.br, 1 -ergovitanet.com.br, 1 eriador.io, 1 ericabrahamsen.net, 1 ericairwin.com, 1 @@ -18045,7 +17934,6 @@ essaytalk.com, 1 essaywriting.biz, 1 essenalablog.de, 1 essencespresso.es, 1 -essenciasparis.com.br, 1 essential12.com, 1 essentialoilsimports.com, 1 essentiel-physique.com, 1 @@ -18072,12 +17960,10 @@ estedafah.com, 1 estefan.dyndns.org, 1 esteladigital.com, 1 esterilizacion-perros.es, 1 -esteticanorte.com.br, 1 estetista.net, 1 estherlew.is, 1 esthernariyoshi.com, 1 esthesoleil.jp, 1 -estilopack-loja.com.br, 1 estimulantesbrasil.com, 1 estintori.roma.it, 1 estoic.net, 1 @@ -18227,7 +18113,6 @@ eureka.archi, 1 eurekaarchi.com, 1 eurekaarchitecture.com, 1 eurekz.com, 1 -eurheilu.com, 1 euro-construction.co.uk, 1 euro-servers.de, 1 euroalter.com, 1 @@ -18364,7 +18249,6 @@ eveswell.com, 1 evexia.xyz, 1 evidence-based.review, 1 evidencebased.net, 1 -evidenceusa.com.br, 1 evidencija.ba, 1 evidentiasoftware.com, 1 evilbeasts.ru, 1 @@ -18725,8 +18609,6 @@ fabulouslyyouthfulskin.com, 1 fabulouslyyouthfulskineyeserum.com, 1 facai666.cc, 1 facai888.cc, 1 -facanabota.com, 1 -facanabota.com.br, 1 facarospauls.com, 1 facchinaggio.milano.it, 1 facciadastile.it, 1 @@ -18754,7 +18636,6 @@ fachschaftslisten.at, 1 fachschaftslisten.org, 1 facialexercising.com, 1 facil.services, 0 -faciledireto.com.br, 1 facilities.fr, 1 facilitiessurvey.org, 1 facilitrak.com, 1 @@ -18824,9 +18705,7 @@ faithcentercogop.net, 1 faithgrowth.com, 1 faithindemocracy.eu, 0 faithleaks.org, 1 -faithmissionaries.com, 1 faithwatch.org, 1 -faixaazul.com, 1 fakeapple.nl, 1 fakeduckpond.com, 1 fakeemergency.com, 1 @@ -18896,7 +18775,7 @@ familyparties.co.uk, 1 familyreal.ru, 1 familytreehq.com, 1 familyworld.gr, 1 -famion.eu, 1 +famion.eu, 0 famososnaweb.com, 1 famousbirthdays.com, 1 famoushostels.com, 1 @@ -18963,7 +18842,6 @@ faraslot8.net, 1 farcecrew.de, 1 farces.com, 0 faretravel.co.uk, 1 -farfallapets.com.br, 1 farfetchos.com, 1 fargtorget.se, 1 farhadexchange.com, 1 @@ -19035,7 +18913,6 @@ fastbackmbm.be, 1 fastblit.com, 1 fastcash.com.br, 1 fastcomcorp.com, 1 -fastcommerce.org, 1 fastconfirm.com, 1 fastconv.com, 1 fastcp.top, 1 @@ -19061,14 +18938,12 @@ fatfueled.com, 1 fatherhood.gov, 1 fathers4equalrights.org, 1 fatidique.com, 1 -fatimamoldes.com.br, 1 fatmixx.com, 1 fator25.com.br, 1 fatowltees.com, 1 fattailcall.com, 1 fattorino.it, 1 fatturegeko.eu, 1 -fau8.ml, 1 faucetbox.com, 0 faultlines.org, 1 faulty.equipment, 1 @@ -19266,7 +19141,6 @@ ferienwohnung-wiesengrund.eu, 1 ferienwohnungen-lastminute.de, 1 feriespotter.dk, 1 ferm-rotterdam.nl, 1 -fermabel.com.br, 1 fermanacuratampaparts.com, 1 fernandes.org, 1 fernandob.com, 1 @@ -19361,7 +19235,7 @@ fiasgo.dk, 1 fiasgo.i.ng, 1 fibo-forex.org, 1 fibra.click, 1 -fibrasynormasdecolombia.com, 1 +fibrasynormasdecolombia.com, 0 fibretv.co.nz, 1 fibretv.tv, 1 fibromuebles.com, 1 @@ -19495,7 +19369,6 @@ findyour.diet, 1 findyourtrainer.com, 1 findyourvoice.ca, 1 fine-services.paris, 1 -finecocoin.io, 1 finecraft.cc, 1 finefriends.nl, 1 finefriends.social, 1 @@ -19639,7 +19512,6 @@ fivethirtyeight.com, 1 fiveyearsahead.com, 1 fix-the-timeline.com, 1 fix-the-timeline.org, 1 -fixatom.com, 1 fixed.supply, 1 fixedtodayplumbing.com.au, 1 fixel.express, 1 @@ -19776,7 +19648,6 @@ fliino.eu, 1 fliino.info, 1 fliino.net, 1 fliino.org, 1 -fliio.com, 1 flikmsg.co, 1 flinch.io, 1 fling.dating, 1 @@ -19944,7 +19815,6 @@ fokan.be, 1 fokan.ch, 1 fokep.no, 1 fokkusu.fi, 1 -fokos.de, 1 fol.tf, 1 folio.no, 1 foliumbiosciences.com, 1 @@ -20320,7 +20190,6 @@ free.ac.cn, 1 free.com.tw, 1 free8.xyz, 1 freeaf.gq, 1 -freeassangenow.org, 1 freeasyshop.com, 1 freebarrettbrown.org, 1 freebcard.com, 1 @@ -20377,6 +20246,7 @@ freemanlogistics.com, 1 freemans.com, 1 freemedforms.com, 1 freeministryresources.org, 1 +freemomhugs.org, 1 freemyipod.org, 1 freend.me, 0 freenetproject.org, 1 @@ -20655,7 +20525,6 @@ fuliwang.info, 1 fuliwang.us, 1 full-race.com, 1 full-stack.ninja, 1 -fullautomotivo.com.br, 1 fullbundle.com, 1 fullereno.com, 1 fullerlife.org.uk, 1 @@ -20750,7 +20619,6 @@ furry.bot, 1 furry.cat, 1 furry.cool, 1 furry.dk, 1 -furrybot.me, 1 furrytech.network, 1 furrytf.club, 1 fursuitbutts.com, 1 @@ -20976,7 +20844,6 @@ gallifreypermaculture.com.au, 1 gallmeyer-consulting.com, 1 gallun-shop.com, 1 galoserver.org, 1 -galpaoap.com.br, 1 galvingao.com, 1 gam3rs.de, 1 gamberorosso.menu, 1 @@ -20992,6 +20859,7 @@ gamcore.com, 1 game-club.me, 1 game-files.net, 0 game-gentle.com, 1 +game-topic.ru, 1 game4less.com, 1 game7.de, 1 game88city.com, 1 @@ -21311,7 +21179,6 @@ geld24.nl, 1 geldimblick.de, 1 geldteveel.eu, 1 geleenbeekdal.nl, 1 -geleia-real.com, 1 geli-graphics.com, 1 gelis.ch, 1 gellis12.com, 1 @@ -21412,7 +21279,7 @@ geoip.fedoraproject.org, 1 geoip.stg.fedoraproject.org, 1 geojs.io, 1 geology-schools.com, 1 -geomac.gov, 1 +geomac.gov, 0 geometra.roma.it, 1 geometra24.it, 1 geomex.be, 1 @@ -21518,6 +21385,7 @@ getgeek.io, 1 getgeek.no, 1 getgeek.nu, 1 getgeek.pl, 1 +getgeek.se, 1 gethow.org, 1 gethttpsforfree.com, 1 geti2p.com, 1 @@ -21622,7 +21490,6 @@ gha.st, 1 ghaglund.se, 1 ghettonetflix.de, 1 ghfip.com.au, 1 -ghid-pitesti.ro, 1 ghini.com, 1 ghislainphu.fr, 1 ghostblog.info, 0 @@ -21661,14 +21528,13 @@ giftcardgranny.com, 1 giftedconsortium.com, 1 giftking.nl, 0 giftlist.guru, 1 -giftmaniabrilhos.com.br, 1 gifts.best, 1 gifts365.co.uk, 1 giftsn.com.sg, 0 giftya.com, 1 gifudodo.com, 1 gifzilla.net, 0 -gig-raiffeisen.de, 0 +gig-raiffeisen.de, 1 gig.ru, 0 giga.nl, 1 gigabitz.pw, 0 @@ -21687,7 +21553,6 @@ gigseekr.com, 1 gigtroll.eu, 1 gijsbertus.com, 1 gijswesterman.nl, 1 -gikovatelojavirtual.com.br, 1 gilangcp.com, 1 gileadpac.com, 1 gilescountytn.gov, 1 @@ -21805,7 +21670,6 @@ glamguru.co.il, 1 glamguru.world, 1 glamour4you.de, 1 glamourdaze.com, 1 -glamouria.com.br, 1 glasdon.com, 1 glasen-hardt.de, 1 glasfaser-im-hanseviertel.de, 1 @@ -21837,6 +21701,7 @@ glevolution.com, 1 glidingshop.cz, 1 glidingshop.de, 1 glidingshop.eu, 1 +glittersjabloon.nl, 1 glitzerstuecke.de, 1 glixee.com, 1 glloq.org, 1 @@ -21868,7 +21733,6 @@ globalno.me, 1 globalnomadvintage.com, 1 globalonetechnology.com, 1 globalperspectivescanada.com, 1 -globalprojetores.com.br, 1 globalresearchcouncil.org, 1 globalresistancecorporation.com, 1 globaltennis.ca, 1 @@ -22081,12 +21945,13 @@ gongjuhao.com, 1 gonx.dk, 0 gonzalesca.gov, 1 goo.gl, 1 +good-tips.pro, 1 good588.com, 1 gooday.life, 1 gooddomainna.me, 1 goodfeels.net, 1 goodhealthtv.com, 1 -goodiesoft.hu, 1 +goodiesoft.hu, 0 goodiesoftware.xyz, 1 goodquote.gq, 1 goodryb.top, 1 @@ -22109,7 +21974,6 @@ goonersworld.co.uk, 1 goonfleet.com, 1 goontopia.com, 0 goooo.info, 1 -gooroosmarketplace.com, 1 gootax.pro, 0 goover.de, 1 goow.in, 1 @@ -22148,7 +22012,6 @@ gospelvestcination.de, 1 gosportweather.co.uk, 1 gostaffer.com, 1 gostargazing.co.uk, 1 -gostest.org, 0 gostudy.net, 1 gosu.pro, 1 gosuland.org, 1 @@ -22220,7 +22083,6 @@ gpu.nu, 1 gpureport.cz, 1 gpws.ovh, 1 gpyy.net, 1 -gqmstore.com.br, 1 gr.search.yahoo.com, 0 gr8engineer2b.com, 1 gra2.com, 1 @@ -22292,7 +22154,6 @@ granth.io, 1 grantmorrison.net, 1 grantplatform.com, 1 grantsplatform.com, 1 -graonatural.com.br, 1 grapee.jp, 1 grapeintentions.com, 1 grapevine.is, 1 @@ -22552,6 +22413,7 @@ grundlage.com.ua, 1 grunwaldzki.center, 1 grunwasser.fr, 1 gruper.mk, 1 +grupodatco.com, 1 grupomakben.com, 1 grupomedlegal.com, 1 grupoparco.com, 1 @@ -22596,7 +22458,7 @@ gtxbbs.com, 1 gtxmail.de, 1 guadagnare.info, 1 guadalgrass.com, 1 -guajars.cl, 0 +guajars.cl, 1 guannan.net.cn, 1 guanyembadalona.org, 1 guanzhong.ca, 1 @@ -22832,6 +22694,7 @@ hackbeil.name, 1 hackbubble.me, 1 hackcraft.net, 1 hackdown.org, 1 +hackendoz.com, 1 hackenkunjeleren.nl, 1 hackenturet.dk, 1 hacker.club, 1 @@ -22930,7 +22793,6 @@ hakurei.moe, 1 hal-9th.space, 1 halacs.hu, 1 halbich.design, 1 -halbowman.com, 1 halcyonsbastion.com, 1 haleo.net, 1 half-logic.eu.org, 1 @@ -22940,7 +22802,6 @@ halfhosting.de, 1 halfwaythere.eu, 1 halihali.cc, 1 halihali.tv, 1 -halitopuroprodutos.com.br, 1 halkirkbouncycastles.co.uk, 1 halkyon.net, 1 hallelujahsoftware.com, 1 @@ -22975,7 +22836,6 @@ hammer-schnaps.com, 1 hammer-sms.com, 1 hampl.tv, 1 hampshiretechservices.co.uk, 1 -hamsters-uk.org, 1 hamu.blue, 1 hana.ondemand.com, 1 hanakaraku.com, 1 @@ -23059,7 +22919,6 @@ hapimiennam.com, 1 hapissl.com, 1 hapivm.com, 1 haplogroup.org, 1 -happist.com, 1 happy-baby.info, 1 happy-end-shukatsu.com, 1 happy-life-food.de, 1 @@ -23252,7 +23111,7 @@ hayai.space, 1 hayashi-rin.net, 1 haydenjames.io, 1 hayfordoleary.com, 1 -haystack-staging.com, 1 +haynes-davis.com, 1 hayvid.com, 1 haz.cat, 1 haze-productions.com, 1 @@ -23280,7 +23139,7 @@ hd-gaming.com, 1 hd-offensive.at, 0 hd-only.org, 1 hd-outillage.com, 1 -hd5197.com, 1 +hd5197.com, 0 hd6729.com, 1 hd6957.com, 1 hd9397.com, 1 @@ -23360,7 +23219,6 @@ heartmdinstitute.com, 1 heartsintrueharmony.com, 1 heartsucker.com, 0 hearttruth.gov, 1 -heartview.com.br, 1 heartwoodart.com, 1 hearty.blog, 1 hearty.ga, 1 @@ -23503,7 +23361,6 @@ helpconnect.com.au, 1 helpekwendenihospital.com, 1 helpmij.cf, 1 helpscoutdocs.com, 1 -helpstarloja.com.br, 1 helptasker.com, 1 helptasker.net, 1 helptasker.ru, 1 @@ -23734,8 +23591,6 @@ hidedd.com, 1 hideo54.com, 1 hideouswebsite.com, 1 hideout.agency, 0 -hidroshop.com.br, 1 -hidroshoping.com.br, 1 hidupnomad.com, 1 hielscher.com, 1 hieu.com.au, 1 @@ -23861,7 +23716,6 @@ hititgunesi-tr.com, 1 hitmanstat.us, 1 hitn.at, 1 hitoapi.cc, 1 -hitocom.net.br, 1 hitokoto-mania.com, 1 hitokoto.cn, 0 hitomecha.com, 1 @@ -24194,8 +24048,6 @@ horvathd.eu, 1 horvatnyelvkonyv.hu, 1 hory.me, 1 horza.org, 1 -hoshimaq.com.br, 1 -hoshimaquinas.com.br, 1 hoshinplan.com, 1 hoshisato.com, 1 hosiet.me, 1 @@ -24902,7 +24754,6 @@ icloud.st, 1 icloudlogin.com, 1 icmhd.ch, 1 icmp2018.org, 1 -icnc.ga, 1 icnsoft.org, 1 icobench.com, 1 icodeconnect.com, 1 @@ -25171,6 +25022,7 @@ ikigaiweb.com, 1 ikiler.com, 1 ikinokori-marketing.com, 1 ikk.me, 1 +ikkakujuku.work, 0 ikkatsu-satei.jp, 1 ikkbb.de, 1 ikke-coach.nl, 1 @@ -25552,7 +25404,6 @@ inffin-tec.de, 1 inficom.org, 1 infinether.net, 1 infinipharm.com, 1 -infinitegroup.info, 1 infinitescript.com, 1 infinitiofallentownparts.com, 1 infinitiofaugustaparts.com, 1 @@ -25626,9 +25477,7 @@ infosectalks.com, 1 infosectekniques.com, 1 infosective.org, 1 infosenior.ch, 1 -infosoph.org, 1 infotainworld.com, 1 -infoteka.pw, 1 infotolium.com, 0 infotrac.net, 1 infotune.nl, 1 @@ -25822,7 +25671,6 @@ insertcoins.net, 1 inserzioni-ticino.ch, 1 inserzioniticino.ch, 1 insgesamt.net, 1 -inshapenutrition.com.br, 1 inshop.hu, 1 inside19.com, 1 insideaudit.com, 1 @@ -25951,7 +25799,6 @@ intercom.io, 1 interessengemeinschaft-pregelstrasse.tk, 1 interessiert-uns.net, 1 interfloraservices.co.uk, 1 -interflores.com.br, 1 interfug.de, 1 intergenx.co.uk, 1 intergenx.com, 1 @@ -26120,6 +25967,7 @@ iobint.com, 1 iocheck.com, 0 iochen.com, 1 iocurrents.com, 1 +iodev.nl, 1 iodine.com, 1 iodu.re, 1 iofort.com, 1 @@ -26144,7 +25992,6 @@ iop.intuit.com, 0 iosartstudios.gr, 1 iosjailbreakiphone.com, 1 ioslo.net, 1 -iosmods.com, 1 iosnoops.com, 1 iossifovlab.com, 1 iostream.by, 1 @@ -26410,7 +26257,6 @@ issio.net, 1 isslshop.com, 1 issue.watch, 1 issues.email, 1 -issuesofconcern.in, 1 ist-intim.de, 1 ist.cm, 1 istanbul.systems, 1 @@ -26609,6 +26455,7 @@ ivanbenito.com, 1 ivanboi.com, 1 ivancacic.com, 0 ivanilla.org, 1 +ivanmeade.com, 1 ivanovolive.ru, 1 ivanpolchenko.com, 1 ivaoru.org, 1 @@ -26940,7 +26787,6 @@ jann.is, 1 jannekekaasjager.nl, 1 jannisfink.de, 1 jannyrijneveld.nl, 1 -janoberst.com, 1 janokacer.sk, 1 janschaumann.de, 1 janssen.fm, 1 @@ -26957,7 +26803,6 @@ japansm.com, 1 japanwatches.xyz, 1 japaripark.com, 0 jape.today, 1 -jar.io, 1 jardinderline.ch, 1 jardineriaon.com, 1 jardiniersduminotaure.fr, 1 @@ -27173,7 +27018,7 @@ jepertinger-itconsulting.de, 1 jeproteste.info, 1 jeremiahbenes.com, 1 jeremy-chen.org, 1 -jeremy.codes, 1 +jeremy.codes, 0 jeremy.hu, 1 jeremybentham.com, 1 jeremybloomfield.co.uk, 1 @@ -27389,7 +27234,6 @@ jmdiesel.com, 1 jmedved.com, 1 jmentertainment.co.uk, 1 jmfjltd.com, 1 -jmk.hu, 1 jmorahan.net, 1 jmoreau.ddns.net, 1 jmpb.hu, 1 @@ -27557,7 +27401,6 @@ johnvanhese.nl, 1 johnyytb.be, 1 joi-dhl.ch, 1 joinamericacorps.gov, 1 -joinhahobby.com.br, 1 joinhonor.com, 1 jointotem.com, 1 joinus-outfits.nl, 1 @@ -27653,7 +27496,6 @@ jordanscorporatelaw.com, 1 jordanstrustcompany.com, 1 jordhy.com, 1 jorexenterprise.com, 1 -jorgerosales.org, 1 jorisdalderup.nl, 1 jornalalerta.com.br, 1 jorsev.com, 1 @@ -27726,7 +27568,6 @@ jphandjob.com, 1 jplesbian.com, 1 jpmelos.com, 1 jpmelos.com.br, 1 -jpmguitarshop.com.br, 1 jpod.cc, 1 jpoirierlavoie.ca, 1 jpph.org, 1 @@ -27781,7 +27622,7 @@ jsteward.moe, 1 jstore.ch, 1 jsvr.tk, 0 jsxc.ch, 1 -jtcat.com, 0 +jtcat.com, 1 jtcjewelry.com, 1 jtconsultancy.sg, 1 jtl-software.com, 1 @@ -27894,7 +27735,6 @@ junctioncitywisconsin.gov, 1 jundongwu.com, 1 junespina.com, 1 junethack.net, 1 -jungaa.fr, 1 jungesforumkonstanz.de, 1 junggesellmuc.de, 1 jungidee.at, 1 @@ -28023,6 +27863,7 @@ k6729.com, 1 k6957.co, 1 k6957.com, 1 k7azx.com, 1 +k8.com, 1 k8013.com, 1 k807.com, 1 k8084.com, 1 @@ -28045,7 +27886,6 @@ kaatha-kamrater.se, 1 kab-s.de, 1 kabaca.design, 1 kabarlinux.id, 1 -kabashop.com.br, 1 kabat-fans.cz, 1 kabellegger.nl, 1 kabeltv.co.nz, 1 @@ -28141,6 +27981,7 @@ kaminbau-laub.de, 1 kamisato-ent.com, 1 kamitech.ch, 1 kamixa.se, 1 +kamppailusali.fi, 1 kampunginggris-ue.com, 1 kamranmirhazar.com, 1 kamui.co.uk, 1 @@ -28202,6 +28043,7 @@ kappit.dk, 1 kapsalonlinds.nl, 1 kapseli.net, 1 kaptadata.com, 1 +kaptamedia.com, 1 kara-fabian.com, 1 kara-fabian.de, 1 karabas.com, 1 @@ -28406,7 +28248,6 @@ kebabbesteld.nl, 1 kebabbruce.com, 0 kecht.at, 1 kedarastudios.com, 1 -kedibizworx.com, 1 kediri.win, 1 keditor.biz, 1 kedv.es, 1 @@ -28582,7 +28423,6 @@ keybase.io, 1 keybored.co, 1 keybored.me, 1 keycdn.com, 1 -keycenter.com.br, 1 keycontainers.co.za, 1 keyerror.com, 1 keygen.sh, 1 @@ -28636,7 +28476,7 @@ khetmaal.com, 1 khetzal.info, 1 khg-orchester.de, 1 khipu.com, 1 -khmb.ru, 1 +khmb.ru, 0 khojirdesign.ir, 1 khorne.me, 1 khosla.uk, 1 @@ -28880,6 +28720,7 @@ kittmedia.com, 1 kittpress.com, 1 kittyhacker101.tk, 1 kivitelezesbiztositas.hu, 1 +kiwi-bird.xyz, 1 kiwi.com, 1 kiwi.digital, 1 kiwi.global, 1 @@ -29369,7 +29210,6 @@ kriechel.de, 1 kriegskindernothilfe.de, 1 krikorianconstruction.com, 1 krinetzki.de, 1 -kringloopwinkelsteenwijk.nl, 1 krinnovations.ie, 1 kriptokereso.com, 1 kriptosec.com, 1 @@ -29396,7 +29236,6 @@ krk-media.pl, 0 krmeni.cz, 0 kroell.net, 1 krokedil.se, 1 -kromamoveis.com.br, 1 kromax.it, 1 kromonos.net, 0 krony.de, 1 @@ -29423,7 +29262,7 @@ kry.no, 1 kry.se, 1 kryglik.com, 1 kryha.io, 0 -krypmonet.com, 1 +krypmonet.com, 0 krypsys.com, 1 krypt.com, 1 kryptera.se, 1 @@ -29516,7 +29355,7 @@ kualiti.net, 1 kualo.co.uk, 1 kualo.com, 1 kualo.in, 1 -kuaza.com, 1 +kuaza.com, 0 kub.hr, 1 kubica.ch, 1 kubierecki.pl, 1 @@ -29705,6 +29544,7 @@ l9728.co, 1 la-baldosa.fr, 1 la-compagnie-des-elfes.fr, 1 la-fenice-neheim.de, 1 +la-ganiere.com, 1 la-kaz-a-velo.fr, 1 la-laitonnerie.com, 1 la-maison.ch, 1 @@ -29840,7 +29680,6 @@ lakeshowlife.com, 1 lakewoodcityglass.com, 1 lakewoodcomputerservices.com, 1 lakkt.de, 1 -lakonia.com.br, 1 lalalab.com, 1 lalaya.fr, 1 laled.ch, 1 @@ -30261,6 +30100,7 @@ learning-id.com, 1 learningaboutcarinsurance.com, 1 learningis1.st, 1 learninglaw.com, 1 +learningman.top, 1 learningselfreliance.com, 1 learnlux.com, 1 learnpianogreece.com, 1 @@ -30301,13 +30141,11 @@ lecoinchocolat.com, 1 lectricecorrectrice.com, 1 led-jihlava.cz, 1 led.xyz, 1 -ledecologie.com.br, 1 ledeguisement.com, 1 lederer-it.com, 1 ledlampor365.se, 1 ledlight.com, 1 ledlights.ca, 1 -ledscontato.com.br, 1 ledwereld.nl, 1 lee-fuller.co.uk, 1 leeaaronsrealestate.com, 1 @@ -30355,7 +30193,6 @@ legalcontrol.info, 1 legaldesk.com, 1 legaleus.co.uk, 1 legalforms.ng, 1 -legalinmotion.es, 1 legalplace.fr, 1 legalrobot-uat.com, 1 legalrobot.com, 1 @@ -30578,6 +30415,7 @@ levelaccordingly.com, 1 levelonetrainingandfitness.com, 1 leveluplv.com, 1 leveluprails.com, 1 +levendwater.org, 1 levensbron.nl, 1 leventismotors.com.ng, 1 leveragedtokens.com, 1 @@ -30625,7 +30463,6 @@ lgbtq.cool, 1 lgbtventures.com, 1 lghfinancialstrategy.ch, 1 lgnsh.fr, 1 -lgpecasoriginais.com.br, 1 lgsg.us, 1 lhajn.cz, 1 lhakustik.se, 1 @@ -30759,10 +30596,10 @@ lifekiss.ru, 1 lifelenz.com, 1 lifematenutrition.com, 1 lifemcserver.com, 1 +lifemstyle.com, 1 lifenexto.com, 1 lifeqa.net, 1 lifereset.it, 1 -lifesafety.com.br, 1 lifeset.pp.ua, 1 lifeslonglist.com, 1 lifestyle7788.com, 1 @@ -30837,6 +30674,7 @@ likenosis.com, 1 likeometer.co, 1 likere.com, 1 likesforinsta.com, 1 +likui.me, 1 lilaccakeboutique.com, 1 liliang13.com, 1 lilismartinis.com, 1 @@ -30911,7 +30749,6 @@ linearaudio.nl, 1 linearmap.com, 1 linernotekids.com, 1 linge-ma.ro, 1 -lingerie.com.br, 1 lingeriesilhouette.com, 1 lingolia.com, 0 lingotaxi.com, 1 @@ -31116,6 +30953,7 @@ liveforspeed.se, 1 livehomecams.co.uk, 1 livejasmin.dk, 1 livekaarten.be, 1 +livekaarten.nl, 1 livekarten.at, 1 livekarten.de, 1 livekort.com, 1 @@ -31227,7 +31065,6 @@ lndrive.space, 1 lng-17.org, 1 lnhequipmentltd.com, 1 lnoldan.com, 1 -lntu.org, 1 lnx.li, 1 lnyltx.cn, 1 load-ev.de, 1 @@ -31262,7 +31099,6 @@ localblock.co.za, 1 localbouncycastle.com, 1 localcryptopremium.com, 1 locald.at, 1 -localdecor.com.br, 1 localethereum.com, 1 localhorst.duckdns.org, 1 localhorst.xyz, 1 @@ -31299,14 +31135,10 @@ locker.email, 1 locker.plus, 1 locker3.com, 1 lockify.com, 1 -locklock.com.br, 1 -locklockbrasil.com.br, 1 lockme.at, 1 lockme.ch, 1 lockme.de, 1 lockme.pl, 1 -locknlock.com.br, 1 -locknlockbrasil.com.br, 1 lockoutgroup.com, 1 lockpick.nl, 1 lockpicks.se, 1 @@ -31348,7 +31180,6 @@ lockwoodchristmastreefarm.com, 1 locomocosec.com, 1 locomore.com, 1 locomotionds.com, 1 -locomotive.net.br, 1 locoserver.net, 1 locurimunca.co, 1 locus-dashboard.com, 1 @@ -31406,30 +31237,15 @@ logtalk.pt, 1 logtywardrobe.com, 1 logue.be, 1 logze.nl, 1 -lohanaflores.com.br, 1 lohmeier.it, 1 lohmeyer.cc, 1 loic.gr, 1 loichot.ch, 1 loisircreatif.net, 1 -lojadamimo.com.br, 1 -lojadanidrea.com.br, 1 -lojadarenda.com.br, 1 -lojadewhisky.com.br, 1 -lojadoarcomprimido.com.br, 1 -lojadoprazer.com.br, 1 lojadosomautomotivo.com.br, 1 -lojafazendoarte.com.br, 1 -lojafilipaper.com.br, 1 lojahunamarcenaria.com.br, 1 lojamagicalx.com, 1 -lojamascate.com.br, 1 -lojamoleco.com.br, 1 -lojaprimemed.com.br, 1 -lojaprojetoagua.com.br, 1 lojatema.com.br, 1 -lojaterrazul.com.br, 1 -lojavisamed.com.br, 1 lojix.com, 1 lojj.pt, 1 lok.space, 1 @@ -31761,7 +31577,6 @@ ltaake.com, 1 ltba.org, 1 ltecode.com, 1 ltib.com.au, 1 -ltlec.cn, 1 ltlec.net, 1 ltlec.org, 1 ltlec.services, 1 @@ -31869,7 +31684,7 @@ lukeistschuld.de, 1 lukem.net, 1 lukeng.net, 1 lukesbouncycastlehire.com, 1 -lukestebbing.com, 1 +lukestebbing.com, 0 lukesutton.info, 1 lukull-pizza.de, 1 luloboutique.com, 1 @@ -31906,7 +31721,7 @@ lungta.pro, 1 lunidea.ch, 1 lunidea.com, 1 lunight.ml, 1 -lunis.net, 1 +lunis.net, 0 lunite.net, 1 luodaoyi.com, 1 luody.info, 1 @@ -31972,7 +31787,6 @@ lvftw.com, 1 lvguitars.com, 1 lvmoo.com, 1 lvrsystems.com, 1 -lvtrafficticketguy.com, 0 lw-addons.net, 1 lwl-foej-bewerbung.de, 1 lwl.moe, 1 @@ -32192,7 +32006,6 @@ magasinsalledebains.fr, 1 magasinsenfrance.com, 1 magazin3513.com, 1 magazinedabeleza.net, 1 -magazinedotreino.com.br, 1 magbt.net, 1 magdeburg.directory, 1 magdic.eu, 1 @@ -32229,7 +32042,6 @@ magilio.com, 1 magnacarebroker.com, 1 magnacumlaude.co, 1 magnate.co, 1 -magnatronic.com.br, 1 magneticanvil.com, 1 magneticattraction.com.au, 1 magnetpass.uk, 1 @@ -32241,7 +32053,6 @@ magnoliadoulas.com, 1 magnoliasib.ru, 0 magnoliastrong.com, 1 magnunbaterias.com.br, 1 -magodaoferta.com.br, 1 magonote-nk.com, 1 magosmedellin.com, 1 magravsitalia.com, 1 @@ -32398,7 +32209,6 @@ mall.sk, 1 mallach.net, 1 mallhonda.com, 1 mallner.me, 1 -mallonline.com.br, 1 malnex.de, 1 malscan.com, 1 malscan.org, 1 @@ -32617,7 +32427,6 @@ marche-nordic-jorat.ch, 1 marcheslep.org.uk, 1 marchhappy.tech, 0 marchukov.com, 1 -marciaimportados.com.br, 1 marcianoandtopazio.com, 1 marclay.co.uk, 1 marco-goltz.de, 1 @@ -32736,7 +32545,6 @@ marketingforfood.com, 1 marketinggenerators.nl, 0 marketingtrendnews.com, 1 marketingvirtuales.com, 1 -marketizare.ro, 1 marketnsight.com, 1 markf.io, 1 markfordelegate.com, 1 @@ -32759,7 +32567,6 @@ markri.nl, 1 markridgwell.co.uk, 1 markridgwell.com, 1 markridgwellcom.appspot.com, 1 -markrobin.de, 1 markscastles.co.uk, 1 markshroyer.com, 1 marksm.it, 1 @@ -32954,7 +32761,6 @@ matejgroma.com, 1 matel.org, 1 matematyka.wiki, 1 materassi.roma.it, 1 -materiaischiquinho.com.br, 1 material-ui.com, 1 material-world-fuyouhin.com, 1 materialism.com, 1 @@ -33031,6 +32837,7 @@ matthew-carson.info, 1 matthew-cash.com, 1 matthewfells.com, 1 matthewgallagher.co.uk, 1 +matthewgrow.com, 1 matthewj.ca, 1 matthewkenny.co.uk, 1 matthewljiang.com, 1 @@ -33521,7 +33328,6 @@ med.tips, 1 med360.at, 1 medba.se, 1 medbreaker-friends.at, 1 -medcir.com.br, 1 medcorfu.gr, 1 medcrowd.com, 1 meddatix.com, 1 @@ -33534,7 +33340,6 @@ medellinapartamentos.com, 1 medexpress.co.uk, 1 medguide-bg.com, 1 medhy.fr, 1 -medi.com.br, 1 media-courses.com, 0 media-credit.eu, 1 media-instance.ru, 1 @@ -33880,7 +33685,6 @@ merakilp.com, 1 meransuedtirol.com, 1 meraseo.com, 1 mercadeolocal.com.ar, 1 -mercadoleal.com.br, 1 mercadopago.com, 1 mercamaris.es, 1 mercanix.co.uk, 1 @@ -33906,7 +33710,6 @@ meric-graphisme.info, 1 meridianenvironmental.com, 1 meridianfresno.com, 1 meridianmetals.com, 1 -meridianoshop.com.br, 1 merimatka.fi, 1 merkel.me, 1 merlet.eu, 1 @@ -34033,8 +33836,6 @@ meyash.co, 1 meyeraviation.com, 1 mezzehuis.be, 1 mf-fischer.de, 1 -mf302.com, 1 -mf303.com, 1 mfen.de, 1 mfgusa.com, 1 mfiles.pl, 1 @@ -34077,6 +33878,7 @@ mia.ac, 1 mia.to, 1 miadennees.com, 1 miagexport.com, 1 +miah.top, 1 mialquilerdecoches.com, 1 miamaibaum.com, 1 miaololi.com, 1 @@ -34161,10 +33963,8 @@ micra.org.uk, 1 microbiote-insectes-vecteurs.group, 1 microblading.pe, 1 microco.sm, 1 -microcomploja.com.br, 1 microdesic.com, 1 microdots.de, 1 -microfonejts.com.br, 1 microlinks.org, 1 microlog.org, 1 micromata.de, 1 @@ -34263,7 +34063,6 @@ mikeblog.site, 1 mikebutcher.ca, 1 mikecapson.com, 1 mikecb.org, 1 -mikedugan.org, 1 mikegao.net, 0 mikegao.org, 1 mikegarnett.co.uk, 1 @@ -34285,7 +34084,6 @@ mikeybailey.org, 1 mikeybot.com, 1 mikhirev.ru, 1 mikhlevich.ru, 1 -miki-boras.de, 1 miki.it, 1 mikkelladegaard.dk, 1 mikkelscheike.com, 1 @@ -34317,7 +34115,6 @@ mileme.com, 1 milenaria.es, 1 milesapart.dating, 1 milfpornograph.com, 1 -milhoazul.com.br, 1 milionshop.sk, 1 militaryconsumer.gov, 1 militaryonesource.mil, 1 @@ -34532,7 +34329,6 @@ missguidedus.com, 1 mission-orange.de, 1 missionsgemeinde.de, 1 missip.nl, 1 -missjoias.com.br, 1 misskey.jp, 1 misskey.site, 0 misskey.xyz, 1 @@ -34568,7 +34364,6 @@ mitigationcommission.gov, 1 mitior.net, 1 mitnetz-gas.de, 1 mitnetz-strom.de, 1 -mitrax.com.br, 1 mitre10.com.au, 1 mitrecaasd.org, 1 mitremai.org, 1 @@ -34586,6 +34381,7 @@ mitylite.com, 1 mitzpettel.com, 1 miui-germany.de, 1 miukimodafeminina.com, 1 +mivestuariolaboral.com, 1 mivzak.im, 1 mivzakim.biz, 1 mivzakim.cf, 1 @@ -34800,7 +34596,6 @@ mockerel.com, 1 mocking-bird.org, 1 mococo.co.uk, 1 mocurio.com, 1 -modaexecutiva.com.br, 1 modafinil.net, 1 modafo.com, 1 modalogi.com, 1 @@ -34836,7 +34631,6 @@ modistry.com, 1 modistryusercontent.com, 1 modmountain.com, 1 modonor.dk, 1 -modosaude.com.br, 1 mods-community.de, 1 mods-pic.de, 1 modscrew.com, 1 @@ -35050,7 +34844,6 @@ moonmelo.com, 1 moonraptor.co.uk, 0 moonraptor.com, 0 moonrhythm.info, 0 -moonrhythm.io, 1 moonshyne.org, 1 moontaj.com, 1 moonue.com, 1 @@ -35101,6 +34894,7 @@ morenci.ch, 1 moreniche.com, 1 morepablo.com, 1 morepay.cn, 1 +moreserviceleads.com, 1 moresw.com, 1 morethanautodealers.com, 1 morethancode.be, 1 @@ -35168,7 +34962,6 @@ motodb.net, 1 motodb.uk, 1 motogb.net, 1 motohell.com, 1 -motojato.com.br, 1 motomorgen.com, 1 motonauticaibiza.com, 1 motor-forum.nl, 1 @@ -35274,7 +35067,6 @@ mr3.io, 1 mrafrohead.com, 1 mralonas.ml, 1 mrandmrsparrot.gr, 1 -mrbmafrica.com, 1 mrbounce.com, 1 mrbouncescrazycastles.co.uk, 1 mrbouncycastle.com, 1 @@ -35456,12 +35248,12 @@ mullens-usedcars.be, 1 mullerimoveisrj.com.br, 1 multi-vpn.biz, 1 multibit.org, 1 -multibomasm.com.br, 1 multiclinicacardio.com.br, 1 multicomhost.com, 1 multigamecard.com, 1 multigeist.de, 1 multikalender.de, 0 +multimail.work, 1 multimatte.com, 0 multimed-solutions.com, 1 multimed.krakow.pl, 1 @@ -35493,18 +35285,15 @@ muminkoykiran.com, 1 mumolabs.com, 1 munch.me, 1 munchcorp.com, 1 -mundoarabe.com.br, 1 mundoconejos.com, 1 mundodapoesia.com, 1 mundodasmensagens.com, 1 mundogamers.top, 1 -mundokinderland.com.br, 1 mundolarraz.es, 1 mundomagicotv.com, 1 mundoperros.es, 1 mundotortugas.com, 1 mundschenk.at, 1 -mundtec.com.br, 1 munduch.cz, 1 munduch.eu, 1 munirajiwa.com, 1 @@ -35522,7 +35311,6 @@ murfy.kiwi, 1 murfy.nz, 1 murgi.de, 1 murmel.it, 0 -murof.com.br, 1 murray.xyz, 1 murraya.cn, 1 murraycoin.org, 1 @@ -35601,7 +35389,6 @@ muthai.in.th, 1 mutuals.cool, 1 mutuelle.fr, 1 muunnin.net, 1 -muurlingoogzorg.nl, 1 muusika.fun, 1 muwatenraqamy.org, 1 muy.ooo, 1 @@ -35654,7 +35441,7 @@ my-ebook.es, 1 my-floor.com, 1 my-gode.fr, 1 my-host.ovh, 1 -my-hps.de, 1 +my-hps.de, 0 my-ip.work, 1 my-new-bikini.de, 1 my-nextcloud.at, 1 @@ -35805,7 +35592,6 @@ myhmz.bid, 1 myhollywoodnews.com, 1 myhome-24.pl, 1 myhostname.net, 1 -myhostvm.com, 1 myhuthwaite.com, 1 myibidder.com, 1 myimds.com, 1 @@ -36091,7 +35877,6 @@ n6729.com, 1 n6957.co, 1 n6957.com, 1 n6a.net, 1 -n7.education, 1 n8ch.net, 1 n8mgt.com, 1 n8nvi.com, 1 @@ -36151,7 +35936,6 @@ nailsalon-aztplus.com, 1 nailsart.roma.it, 1 nailtodayminneapolis.com, 1 nairobibusinessreview.com, 1 -nais0ne.com, 1 naive.network, 1 naivetube.com, 0 najany.de, 1 @@ -36371,7 +36155,6 @@ naturheilpraxis-orlowsky.de, 1 naturheilpraxis-p-grote.de, 1 naturline.com, 1 naturtint.co.uk, 1 -natusvita.com.br, 1 natuterra.com.br, 1 natverkstekniker.se, 1 naude.co, 1 @@ -36540,7 +36323,6 @@ nebenbeiblog.ch, 1 nebl.cash, 1 nebra.io, 1 nebracy.com, 1 -nebras.ga, 1 nebul.at, 1 nebula.exchange, 1 nebulae.co, 1 @@ -36630,6 +36412,7 @@ nemplex.win, 0 nems.no, 1 nemumu.com, 1 nemunai.re, 1 +nengzhen.com.cn, 1 nenkin-kikin.jp, 1 neno.io, 1 neo2k.dk, 1 @@ -36661,7 +36444,6 @@ neowa.tk, 1 neowin.net, 1 neowlan.net, 1 neoxcrf.com, 1 -neoz.com.br, 1 nepageeks.com, 1 nepal-evolution.org, 1 nepezzano13.com, 1 @@ -36748,9 +36530,7 @@ nethruster.com, 1 nethunter.top, 1 netica.fr, 0 netki.com, 1 -netlentes.com.br, 1 netlocal.ru, 1 -netmagicas.com.br, 1 netmeister.org, 1 netnea.com, 1 netnik.de, 1 @@ -36807,7 +36587,7 @@ networking-groups.co.uk, 1 networking4all.com, 1 networkingnexus.net, 1 networkingphoenix.com, 1 -networkmas.com, 1 +networkmas.com, 0 networkmidlands.co.uk, 1 networkmidlands.uk, 1 networkmon.net, 1 @@ -36905,7 +36685,6 @@ newknd.com, 1 newlifeband.de, 1 newline.online, 1 newmarketbouncycastlehire.co.uk, 1 -newmed.com.br, 1 newmediaone.net, 1 newmelalife.com, 1 newmovements.net, 1 @@ -36951,6 +36730,7 @@ nextcloud.com, 1 nextcloud.de, 1 nextcloud.nerdpol.ovh, 1 nextcloud.org, 1 +nextclouddarwinkel.nl, 1 nextcom.digital, 1 nexter.cloud, 1 nextevolution.co.uk, 1 @@ -37191,7 +36971,6 @@ nimeshjm.com, 1 nimidam.com, 1 nina-laaf.de, 1 ninaforever.com, 1 -ninarinaldi.com.br, 1 ninaundandre.de, 1 ninchat.com, 1 ninebennink.com, 1 @@ -37225,7 +37004,6 @@ nipit.biz, 1 nippangift.com, 1 nipplefucking.com, 1 nippon-oku.com, 1 -nippon.fr, 1 niqex.com, 1 nirada.info, 1 nirhub.ru, 1 @@ -37407,7 +37185,6 @@ noordsee.de, 1 noordwesthoekrit.nl, 1 noorsolidarity.com, 1 noortronic.com, 1 -nootroic.com, 1 nootronerd.com, 1 nootropic.com, 1 nootropicpedia.com, 1 @@ -37753,7 +37530,6 @@ nurseone.ca, 1 nurseregistry.com, 1 nurses.dating, 1 nursingschool.network, 1 -nuryahan.com.br, 1 nusatrip-api.com, 1 nussadoclub.org, 1 nut.services, 1 @@ -37762,7 +37538,6 @@ nutleyeducationalfoundation.org, 1 nutleyef.org, 1 nutpanda.com, 1 nutra-creations.com, 1 -nutrafitsuplementos.com.br, 1 nutri-spec.me, 1 nutricaovegana.com, 1 nutriciametabolics-shop.de, 1 @@ -37888,7 +37663,6 @@ oaktree-realtors.com, 1 oanalista.com.br, 1 oasiristorantebagno.it, 1 oasis-conference.org.nz, 1 -oasisdabeleza.com.br, 1 oasisim.net, 0 oatmealdome.me, 1 oatycloud.spdns.de, 1 @@ -38068,6 +37842,7 @@ officeprint.co.th, 1 officiants.wedding, 0 officium.tech, 1 offroadeq.com, 1 +offroadhoverboard.net, 1 offshoot.ie, 1 offshoot.rentals, 1 offshore.digital, 1 @@ -38117,6 +37892,7 @@ ohsohairy.co.uk, 1 ohyooo.com, 1 oi-wiki.org, 1 oiaio.cn, 1 +oil-ecn.ru, 1 oilfieldinjury.attorney, 1 oilpaintingsonly.com, 1 oinky.ddns.net, 1 @@ -38197,7 +37973,6 @@ olegon.ru, 1 olegs.be, 1 oleksii.name, 1 olenergies.com, 1 -oleodecopayba.com.br, 1 oles-hundehaus.de, 1 olfnewcastle.com, 1 olfsecane.org, 1 @@ -38215,6 +37990,7 @@ oliveoil.bot, 1 oliveoilschool.org, 1 oliveoiltest.com, 1 oliveoiltimes.com, 1 +oliveraiedelabastideblanche.fr, 1 oliverclausen.com, 1 oliverdunk.com, 0 oliverfaircliff.com, 1 @@ -38669,7 +38445,6 @@ opus-consulting.no, 1 opvakantie-noorwegen.nl, 1 opvakantie-zweden.nl, 1 oqwebdesign.com, 1 -oraculum.cz, 1 orang-utans.com, 1 orangecomputers.com, 1 orangefab.asia, 1 @@ -38733,8 +38508,6 @@ origin8delicafes.com, 1 original-christstollen.com, 1 original-christstollen.de, 1 originalniknihy.cz, 1 -origincoffee.com, 1 -origincoffee.nz, 1 originpc.com, 0 orikadabra.nl, 1 orikum.org, 1 @@ -38786,7 +38559,6 @@ osez-l-odyssee.fr, 1 oshanko.de, 0 oshayr.com, 1 oshell.me, 1 -oshershalom.com, 1 oshrc.gov, 1 osielnava.com, 1 osimmo.fr, 1 @@ -38839,7 +38611,6 @@ otellio.de, 1 otellio.it, 1 other98.com, 1 otherkinforum.com, 1 -oticasaopaulo.com.br, 1 oticasvisao.net.br, 1 otinane.eu, 1 otisko.com, 1 @@ -38850,6 +38621,7 @@ otorrino.pt, 1 otoy.com, 1 otoya.space, 0 otprema.hr, 1 +otpsmart.com.ua, 1 otr.ie, 1 otrm.de, 1 ots.gov, 1 @@ -38867,6 +38639,7 @@ ouestsolutions.com, 1 ouglor.com, 1 ouimoove.com, 1 ouin.land, 1 +oulunjujutsu.com, 1 ouowo.gq, 1 our-box.de, 1 our-box.net, 1 @@ -38935,6 +38708,7 @@ overlandireland.ie, 1 overnightglasses.com, 1 overs.jp, 1 overs.top, 1 +overseamusic.de, 1 oversight.garden, 1 oversight.gov, 1 overstap.deals, 1 @@ -39150,6 +38924,7 @@ pakitow.fr, 1 pakke.de, 1 pakremit.com, 1 paktolos.net, 1 +palabr.as, 1 palapadev.com, 1 palariviera.com, 1 palary.work, 1 @@ -39447,6 +39222,7 @@ passports.govt.nz, 1 passporttrails.com, 1 passrhce.com, 1 passrhcsa.com, 1 +passthepopcorn.me, 1 passumpsicbank.com, 1 passvanille-reservation.fr, 1 passvau.lt, 1 @@ -39520,7 +39296,6 @@ patrikgarten.de, 1 patriksima.cz, 1 patriksimek.cz, 1 patriotstationatchalfont.com, 1 -patrocinio.com.br, 1 patrykwegrzynek.pl, 1 patrz.eu, 1 patsch-photography.de, 1 @@ -39721,7 +39496,6 @@ pedicureduiven.nl, 1 pedidamanosevilla.com, 1 pedikura-vitu.cz, 1 pedimanie.cz, 1 -pedimoda.com.br, 1 pedro.com.es, 1 pedrosaurus.com, 1 pedrosluiter.nl, 1 @@ -39832,7 +39606,6 @@ peoplesdecade.org, 1 peoplesguardian.org, 1 pepeelektro.sk, 1 pepegym.cz, 1 -pepemodelismo.com.br, 1 peperstraat.online, 1 pepfar.gov, 1 pepgrid.net, 1 @@ -39870,9 +39643,6 @@ performancegate.com, 1 performancehealth.com, 0 performetric.net, 1 performing-art-schools.com, 1 -perfumeaz.com, 1 -perfumes.com.br, 1 -perge.com.br, 1 periodex.co, 1 periodic-drinking.com, 1 periodismoactual.com, 1 @@ -39922,7 +39692,6 @@ pervacio.hu, 1 perzeidi.hr, 1 pescadorcomunicacao.com, 1 pescadorcomunicacao.com.br, 1 -pescco.com.br, 1 pestcontrol.co.uk, 1 pestici.de, 1 pestkill.info, 1 @@ -39935,7 +39704,6 @@ petangen.se, 1 petaouchnok.ch, 1 petbooking.it, 1 petcarvers.com, 1 -petdesign.pet, 1 petech.ro, 1 petelew.is, 1 peter-hurtenbach.de, 1 @@ -40045,7 +39813,6 @@ ph3r3tz.net, 1 phantasie.cc, 1 phantastikon.de, 1 pharma-display.com, 1 -pharmaabsoluta.com.br, 1 pharmaboard.de, 1 pharmaboard.org, 1 pharmacie-fr.org, 1 @@ -40097,6 +39864,7 @@ philipp1994.de, 1 philippa.cool, 1 philippbirkholz.com, 1 philippbirkholz.de, 1 +philippe-mignotte.fr, 1 philippebonnard.fr, 1 philipperoose.be, 1 philippheenen.de, 0 @@ -40123,7 +39891,6 @@ philux.ch, 1 phishing-studie.org, 1 phishingusertraining.com, 1 phligence.com, 1 -phocean.net, 1 phoenics.de, 0 phoenixlogan.com, 1 phoenixnest.ltd, 1 @@ -40182,7 +39949,6 @@ phpprime.com, 1 phpsecure.info, 1 phpstan.org, 1 phra.gs, 1 -phrazor.com, 1 phrive.space, 1 phryanjr.com, 0 phryneas.de, 1 @@ -40215,7 +39981,6 @@ pianomover.co.uk, 1 pianos.de, 1 pianyigou.com, 1 piasto.com.cy, 1 -piatabrasil.com.br, 1 piboubes.me, 1 pic.gov, 0 pic.sr, 1 @@ -40427,7 +40192,6 @@ pitshift.com, 1 pitsstop.nu, 1 pittmancentertn.gov, 1 piu.moe, 1 -piubip.com.br, 1 pivniraj.com, 1 pivotaltracker.com, 1 pivotanimation.org, 1 @@ -40459,7 +40223,6 @@ pixivimg.me, 1 pixlfox.com, 1 pixloc.fr, 1 pixshop.fr, 1 -pixulutinho.com.br, 1 pizala.de, 1 pizza-show.fr, 1 pizzabesteld.nl, 1 @@ -40496,7 +40259,6 @@ pksps.com, 1 pl-cours.ch, 1 pl.search.yahoo.com, 0 plaasprodukte.com, 1 -placasonline.com.br, 1 placebet.pro, 1 placedaffiliate.com, 1 placedapps.com, 1 @@ -40525,7 +40287,6 @@ planet-work.com, 1 planetanim.fr, 1 planetarian.moe, 1 planetarydesign.com, 1 -planetasuboficial.com.br, 1 planetau2.com, 1 planetbreath.ch, 1 planete-lira.fr, 1 @@ -40548,7 +40309,6 @@ plannedlink.com, 1 planningsagenda.nl, 1 planolowcarb.com, 1 plant-gift.jp, 1 -plantarum.com.br, 1 plantastique.ch, 1 plantastique.com, 1 plantdaddie.com, 1 @@ -40865,7 +40625,6 @@ pocketmemories.net, 1 pocketpasta.com, 1 pocpok.com, 1 pocqipai.com, 1 -pocze.ch, 1 podcast.style, 1 poddr.co, 1 podemos.info, 1 @@ -41086,6 +40845,7 @@ pornmega.net, 1 porno-gif.ru, 1 pornofilme.top, 1 pornofilmovi.us, 1 +pornohub.su, 1 pornomens.be, 1 pornoserver.eu, 1 pornovk.xxx, 1 @@ -41262,7 +41022,6 @@ pp9721.com, 1 pp9728.co, 1 ppcrestaurants.com, 1 ppipe.net, 1 -ppiproperties.com, 1 pplsoft.nl, 1 pplsvc.com, 1 ppmathis.ch, 1 @@ -41455,7 +41214,6 @@ primordialsnooze.com, 1 primorus.lt, 1 primos-tech.com, 1 princefamilylaw.co.uk, 1 -princeofwhales.com, 1 princessbackpack.de, 1 princessefoulard.com, 1 princetonnassaupediatrics.com, 1 @@ -41567,7 +41325,7 @@ prnav.com, 1 pro-bike.ro, 1 pro-esb.com, 1 pro-esb.net, 1 -pro-ing.com, 1 +pro-ing.com, 0 pro-mile.pl, 1 pro-netz.de, 0 pro-taucher.com, 1 @@ -41690,6 +41448,7 @@ projectsecretidentity.com, 1 projectsecretidentity.org, 1 projectte.ch, 1 projectunity.io, 1 +projectvault.ovh, 1 projectxyz.eu, 1 projekt-umbriel.de, 1 projektarbeit-projektplanung.de, 1 @@ -41738,7 +41497,6 @@ proofwiki.org, 1 proos.nl, 1 proovn.com, 1 propagandablog.de, 1 -propagandism.org, 1 propagationtools.com, 1 propelgrowth.com, 1 propermatches.com, 1 @@ -41922,7 +41680,7 @@ psycho.space, 1 psychoactive.com, 1 psychoco.net, 0 psychologie-hofner.at, 1 -psychotechnique.be, 0 +psychotechnique.be, 1 psychotechnique.ch, 1 psychotechniquetest.fr, 1 psychotherapie-kp.de, 1 @@ -42141,7 +41899,7 @@ pyspace.org, 1 pythia.nz, 1 python-hyper.org, 1 python.org, 0 -pyxo.net, 1 +pyxo.net, 0 pyzlnar.com, 1 pzpittsburgh.com, 1 pzsearch.nl, 1 @@ -42179,7 +41937,6 @@ qaq.sh, 1 qarea.com, 1 qarto.com, 1 qaz.cloud, 1 -qbiju.com.br, 1 qbik.de, 1 qbiltrade.com, 1 qbus.pl, 1 @@ -42252,7 +42009,6 @@ qoor.io, 1 qotw.net, 1 qpcna.org, 1 qponverzum.hu, 1 -qpresentes.com.br, 1 qq-navi.com, 1 qq5197.co, 1 qq52o.me, 1 @@ -42357,7 +42113,6 @@ quelle.at, 1 quelle.ch, 1 quelle.de, 1 quelleformation.net, 1 -quemeloquitan.com, 1 queminventou.com.br, 1 quemmeliga.com, 1 quenecesitopara.com, 1 @@ -42367,7 +42122,6 @@ quentinchevre.ch, 1 queo.com.co, 1 quera.ir, 1 quermail.com, 1 -queropescar.net, 1 query-massage.com, 1 question.com, 1 questionable.host, 1 @@ -42404,10 +42158,10 @@ quiq-cdn.com, 1 quiq.us, 1 quire.io, 1 quirkytravelguy.com, 1 -quisido.com, 1 quitarlasmanchasde.com, 1 quitimes.com, 1 quizogames.com, 1 +quizstore.net, 1 qul.link, 1 quli.nl, 0 qunzi.la, 1 @@ -42521,7 +42275,6 @@ radfieldhomecare.co.uk, 1 radfieldhomecarefranchising.co.uk, 1 radical.org, 1 radicaloptimism.org, 1 -radicalsub.com.br, 1 radins.com, 1 radio-pulsar.eu, 1 radio-utopie.de, 0 @@ -42544,7 +42297,6 @@ radiopleer.net, 1 radiopolarniki.spb.ru, 1 radior9.it, 1 radioradicchio.it, 1 -radiormi.com, 1 radiorsvp.com, 0 radiosendungen.com, 1 radis-adopt.com, 1 @@ -42720,7 +42472,7 @@ ranos.org, 1 ranson.com.au, 1 rantanda.com, 1 ranyeh.co, 1 -ranyeh.com, 1 +ranyeh.com, 0 ranzbak.nl, 1 raoul-kieffer.net, 1 rap4ever.org, 1 @@ -43160,7 +42912,6 @@ refuelcollective.com, 1 refuelcreative.com.au, 1 refundo.cz, 1 refundo.sk, 1 -regain.us, 1 regalcapitalwi.com, 1 regalosymuestrasgratis.com, 1 regalpaintingfdl.com, 1 @@ -43223,8 +42974,6 @@ reichel-steinmetz.de, 1 reichelt-cloud.de, 1 reichl-online.net, 1 reiciunas.lt, 1 -reidasbombas.com, 1 -reidsupply.com, 1 reifr.net, 1 reignsphere.net, 1 reiki-coaching.nl, 0 @@ -43571,7 +43320,6 @@ rex.tc, 1 rexdf.net, 1 rexskz.info, 1 rexxworld.com, 1 -reyesfernando.com, 1 reykjavik.guide, 1 reyna.cc, 1 rezenfitness.com, 1 @@ -43926,7 +43674,6 @@ robspc.repair, 1 robspeed.rocks, 1 robsutter.com, 1 robtatemusic.com, 1 -robtex.com, 1 robu.in, 1 robud.info, 1 robust.ga, 1 @@ -44340,7 +44087,7 @@ rtsak.com, 1 rtsr.ch, 1 rttss.com, 1 rttvvip.com, 1 -rtwcourse.com, 1 +rtwcourse.com, 0 rtzoeller.com, 1 ru-sprachstudio.ch, 1 ru.search.yahoo.com, 0 @@ -44514,6 +44261,7 @@ ryankearney.com, 0 ryanmcdonough.co.uk, 0 ryanparman.com, 1 ryanroberts.co.uk, 1 +ryansmithphotography.com, 0 ryanstreur.com, 1 ryazan-region.ru, 1 rybox.info, 1 @@ -44601,8 +44349,6 @@ saberhortifruti.com.br, 1 sabine-forschbach.de, 1 sabineforschbach.de, 1 sablyrics.com, 1 -sabrinajoias.com.br, 1 -sabrinajoiasprontaentrega.com.br, 1 sac.moe, 1 sacaentradas.com, 1 saccani.net, 1 @@ -44685,7 +44431,6 @@ sagerus.com, 1 saggiocc.com, 1 sagitta.hr, 1 sagracefarms.com, 1 -sagsmarseille.com, 1 sahajbooks.com, 1 sahar.io, 1 saharmassachi.com, 1 @@ -44759,7 +44504,6 @@ sakura-paris.org, 1 sakura.zone, 1 sakuracdn.com, 1 sakuracommunity.com, 1 -sakuraflores.com.br, 1 sakuraplay.com, 1 sakuraz.net, 1 salaire-minimum.com, 1 @@ -45114,7 +44858,6 @@ savingrecipe.com, 1 savingsbondwizard.gov, 1 savingsoftheyear.com, 1 savingsomegreen.com, 1 -savisasolutions.co.za, 1 sawyerroofing.com, 1 saxeandthecity.com, 1 saxojoe.co.uk, 1 @@ -45678,7 +45421,6 @@ secure.co.hu, 1 secure.facebook.com, 0 securecloudplatform.nl, 1 securecomms.cz, 1 -securedns.zone, 1 securedrop.org, 1 secureesolutions.com, 1 securefiletransfer.nl, 1 @@ -45770,7 +45512,6 @@ seekers.ch, 1 seekersmart.com, 1 seekfirstthekingdom.ca, 1 seeks.ru, 1 -seekthe.net, 1 seemeagain.com, 1 seemomclick.com, 1 seeonce.co, 1 @@ -46222,6 +45963,7 @@ sh4y.com, 1 sha2017.org, 1 shaadithailand.com, 1 shabiwangyou.com, 1 +shachang.com, 1 shad.waw.pl, 1 shadedesign.cz, 1 shadesofgrayadr.com, 1 @@ -46295,8 +46037,7 @@ sharealo.org, 1 sharedhost.de, 1 shareeri.com, 1 shareeri.xyz, 1 -sharefox.eu, 1 -sharefox.nl, 1 +sharefox.nl, 0 sharejoy.cn, 0 sharekey.com, 0 sharelovenotsecrets.com, 1 @@ -46475,7 +46216,6 @@ shivatattvayoga.com, 1 shiyouqkl.com, 1 shlemenkov.by, 1 shlmail.info, 1 -shmibbles.me, 1 shobhanayogsadan.com, 1 shock.ee, 1 shockercityservices.com, 1 @@ -46716,6 +46456,7 @@ silerfamily.net, 1 silesianus.pl, 1 silica-project.com, 1 silica-project.jp, 1 +silicanetworks.com, 1 silicon-north.com, 1 silicon-vision.com, 1 siliconchip.me, 1 @@ -46847,6 +46588,7 @@ simivalleyoutdoorlighting.com, 1 simkova-reality.cz, 1 simlau.net, 1 simmis.fr, 1 +simnovo.net, 1 simoesgoulart.com.br, 1 simon-agozzino.fr, 1 simon-czech.de, 1 @@ -46965,7 +46707,6 @@ sinronet.com, 1 sint-joris.nl, 1 sintaxis.org, 1 sinterama.biz, 1 -sinuelovirtual.com.br, 1 sinusitis-bronchitis.ch, 1 sioeckes.hu, 1 sion.info, 1 @@ -47124,7 +46865,6 @@ skinmarket.co, 1 skinmodo.com, 1 skinpwrd.com, 1 skins.net, 1 -skinwhiteningoptions.com, 1 skipfault.com, 1 skipperinnovations.com, 0 skippy.dog, 1 @@ -47308,7 +47048,7 @@ slrpancreaticsurgery.org, 1 slt24.de, 1 sluciaconstruccion.com, 1 sluhockey.com, 1 -sluimann.de, 0 +sluimann.de, 1 sluitkampzeist.nl, 0 slunecnice.cz, 1 sluo.org, 1 @@ -47379,6 +47119,7 @@ smartgridsecurity.org, 1 smarthdd.com, 1 smarthinking.nl, 1 smarthouse.de, 1 +smartime.com.ar, 1 smartjoin.style, 1 smartlend.se, 1 smartlink.sk, 1 @@ -47482,7 +47223,6 @@ smrtrpck.com, 1 sms.storage, 1 sms1.ro, 1 smsappointment.com, 1 -smsben.net, 1 smsbrana.cz, 1 smsg-dev.ch, 1 smsinger.com, 1 @@ -47704,7 +47444,6 @@ softwaylancing.com, 1 softwerk-edv.de, 1 softwoods.com.au, 1 sogola.com, 1 -sogravatas.com.br, 1 sogravatas.net.br, 1 sogutma.com.tr, 1 sohamroy.me, 1 @@ -47726,7 +47465,6 @@ solar-ec.com, 1 solar-floodlight.ca, 1 solar-systems.ca, 1 solar-window.ca, 1 -solariiknight.org, 1 solariilacheie.ro, 1 solarloon.com, 1 solarplan-berlin.de, 1 @@ -47850,7 +47588,6 @@ sophiakligys.com, 1 sophieandtrey.com, 1 sopo.me, 1 sopra.tk, 1 -soprabalao.com.br, 1 soquee.net, 1 sor.so, 1 soraharu.com, 1 @@ -47896,7 +47633,6 @@ souked.com, 1 souki.cz, 1 soukodou.jp, 1 soul-source.co.uk, 1 -soulcasa.com.br, 1 soulcrazy.org, 1 soulema.com, 1 soulike.tech, 1 @@ -48018,7 +47754,6 @@ spanishfox.com, 1 spanjeflydrive.nl, 1 spanner.works, 1 spanyolul.hu, 1 -spar-ni.co.uk, 1 sparanoid.com, 1 sparendirekt.at, 1 sparkbase.cn, 1 @@ -48038,12 +47773,9 @@ spasicilia.it, 1 spatzenwerkstatt.de, 1 spawn.cz, 1 spaysy.com, 1 -spaziobenedetti.com.br, 1 -spaziopervoi.com.br, 1 spazturtle.co.uk, 1 spazzacamino.roma.it, 1 spbet99.com, 1 -spdepartamentos.com.br, 1 spdf.net, 1 spdillini.com, 1 speak-polish.com, 1 @@ -48086,7 +47818,6 @@ speets.ca, 1 speich.net, 1 speights-law.com, 1 spek.tech, 1 -speletrodomesticos.com.br, 1 spellcheck24.net, 1 spellcheckci.com, 1 spellchecker.net, 1 @@ -48190,6 +47921,7 @@ sport-decouverte.com, 1 sport-in-sundern.de, 1 sport-potreby.cz, 1 sport-potreby.sk, 1 +sport-socken.net, 1 sportabee.com, 1 sportakrobatik.at, 1 sportbetuwe.nl, 1 @@ -48263,7 +47995,6 @@ sptr.blog, 1 spuffin.com, 1 spufpowered.com, 1 spumanti.dk, 1 -spur.com.br, 1 spurghi.roma.it, 1 sputnik1net.org, 1 spydar007.com, 1 @@ -48317,7 +48048,6 @@ srihash.org, 0 srinivasan.io, 1 sritest.io, 1 sro.center, 1 -srolim.com, 1 srpx.de, 1 srrdb.com, 1 srroddy.com, 1 @@ -48421,7 +48151,6 @@ stadionmanager.com, 1 stadm.com, 1 stadsbos013.nl, 1 stadsbygd.info, 1 -stadt-apotheke-muensingen.de, 1 stadtbauwerk.at, 0 stadtbuecherei-bad-wurzach.de, 1 stadterneuerung-hwb.de, 1 @@ -48450,7 +48179,6 @@ stainedglass.net.au, 1 stainternational.com, 1 stair.ch, 1 stairfallgames.com, 1 -stairlin.com, 1 stakestrategy.com, 1 staklim-malang.info, 1 stako.jp, 1 @@ -48538,7 +48266,6 @@ starttraffic.com, 1 starttraffic.uk, 1 startup.melbourne, 1 startuplevel.com, 1 -startuppeople.co.uk, 1 startupum.ru, 1 starvizyon.com, 1 starwatches.eu, 1 @@ -48558,7 +48285,7 @@ static.hosting, 1 static.today, 1 static.wepay.com, 0 statically.io, 1 -staticaly.com, 0 +staticaly.com, 1 staticisnoise.com, 1 staticline.de, 1 stationa.ch, 1 @@ -48786,7 +48513,6 @@ stiebel.co.nz, 1 stiebel.com.au, 1 stiebelmedia.co.nz, 1 stiebelmedia.com.au, 1 -stiebelservice.com.au, 1 stiebelstore.com.au, 1 stiffordacademy.org.uk, 1 stift-kremsmuenster.at, 1 @@ -48965,6 +48691,8 @@ strategie-zone.de, 1 strategos.co, 1 strathewerd.de, 1 stratmann-b.de, 1 +stratuscloud.co.za, 1 +stratuscloudconsulting.net, 1 straubis.org, 1 strauser.com, 1 stravers.shoes, 1 @@ -49082,7 +48810,6 @@ studio-happyvalley.com, 1 studio-n.pl, 1 studioadevents.com, 1 studioavvocato24.it, 1 -studiobergaminloja.com.br, 1 studiodentisticomasi.com, 1 studiodentisticosanmarco.it, 1 studiodewit.nl, 1 @@ -49097,7 +48824,6 @@ studiolegalepaternostro.it, 1 studiomarcella.com, 1 studionowystyl.pl, 1 studiopirrate.com, 1 -studiopop.com.br, 1 studioproapp.com, 1 studioriehl.com, 1 studioscherp.nl, 1 @@ -49305,6 +49031,7 @@ sunsquare.cz, 1 sunstar.bg, 1 sunwolf.studio, 1 sunxchina.com, 1 +suourl.com, 1 supa.sexy, 1 supastuds.com, 1 supedi.com, 1 @@ -49376,7 +49103,6 @@ supracube.com, 1 suprem.biz, 1 suprem.ch, 1 supremestandards.com, 1 -supriville.com.br, 1 sur-v.com, 1 surasak.io, 1 surasak.net, 1 @@ -49418,6 +49144,7 @@ sushi.roma.it, 1 sushibesteld.nl, 1 sushifrick.de, 1 sushikatze.de, 1 +susoccm.org, 1 susosudon.com, 1 suspect.id, 1 suspension-shop.com, 1 @@ -49712,7 +49439,6 @@ systemintegra.ru, 1 systemisbusy.info, 1 systemli.org, 1 systemonthego.com, 1 -systemreboot.net, 1 systemspace.link, 1 systemups.com, 1 systemweb.no, 1 @@ -49779,7 +49505,6 @@ taalcursusvolgen.nl, 1 taalmeisje.nl, 1 taartbesteld.nl, 1 tabarnak.ga, 1 -tabernadovinho.com.br, 1 tabernastudios.pe, 1 tabi-news.com, 1 tabi-runrun.com, 1 @@ -49886,7 +49611,6 @@ talk.google.com, 1 talk.xyz, 1 talkgadget.google.com, 1 talking12.com, 1 -talkingmoose.net, 1 talkreal.net, 1 talktech.com, 1 talktobot.com, 1 @@ -49998,7 +49722,6 @@ tarkov-database.com, 1 tarmexico.com, 1 tarsan.cz, 1 tartaneagle.org.uk, 1 -tartanhamedshop.com.br, 1 taruntarun.net, 0 tas2580.net, 0 tasadordecoches.com, 1 @@ -50114,7 +49837,6 @@ tdelmas.eu, 1 tdelmas.ovh, 1 tdfbfoundation.org, 1 tdr.today, 1 -tdrcartuchos.com.br, 1 tdro.cf, 1 tdrs.info, 1 tdsb.cf, 1 @@ -50150,6 +49872,7 @@ teambim.eu, 1 teambition.com, 1 teamcombat.com, 1 teamdaylo.xyz, 1 +teamdog.pet, 1 teamliquid.com, 1 teamliquidpro.com, 1 teammateworld.com, 1 @@ -50241,7 +49964,7 @@ technicalforensic.com, 1 technicallyeasy.net, 1 technicalramblings.com, 1 technicalsystemsprocessing.com, 1 -techniclab.net, 1 +techniclab.net, 0 techniclab.org, 1 techniclab.ru, 1 technifocal.com, 1 @@ -50302,7 +50025,6 @@ tecne.ws, 1 tecnicoelettrodomestici.roma.it, 1 tecnidev.com, 1 tecnoarea.com.ar, 1 -tecnobrasilloja.com.br, 1 tecnodritte.it, 1 tecnogaming.com, 1 tecnogazzetta.it, 1 @@ -50324,7 +50046,6 @@ teehaus-shila.de, 1 teektalk.org, 1 teemperor.de, 1 teemulintula.fi, 1 -teencounseling.com, 1 teenerotic.net, 1 teengirl.pub, 1 teensexgo.com, 1 @@ -50441,7 +50162,6 @@ tenenz.com, 1 tengu.cloud, 1 tenispopular.com, 1 tenisservis.eu, 1 -tenkdigitalt.no, 1 tenkofx.com, 1 tenma.pro, 1 tennisadmin.com, 1 @@ -50489,7 +50209,6 @@ termitinitus.org, 1 termografiranje.si, 1 termoidraulica.roma.it, 1 termux.com, 1 -terpotiz.net, 1 terra-x.net, 1 terra.fitness, 1 terrab.de, 0 @@ -50608,7 +50327,6 @@ tfxstartup.com, 1 tfxstartup.com.br, 1 tgamobility.co.uk, 1 tgb.org.uk, 1 -tgbabyzoo.com, 1 tgbyte.de, 1 tgexport.eu, 1 tgod.co, 1 @@ -50628,7 +50346,6 @@ thai.land, 1 thaicurry.net, 1 thaicyberpoint.com, 1 thaiforest.ch, 1 -thaigirls.xyz, 1 thaihomecooking.com, 1 thailandpharmacy.net, 1 thailandpropertylisting.com, 1 @@ -50706,7 +50423,6 @@ theatre-schools.com, 1 theaviationagency.com, 1 theazoorsociety.org, 1 thebabypassport.com, 1 -thebakers.com.br, 1 thebakery2go.de, 1 thebannerstore.com, 1 thebarrens.nu, 1 @@ -50810,7 +50526,6 @@ thedronechart.com, 1 thedroneely.com, 1 thedrunkencabbage.com, 1 thedword.xyz, 1 -theebookkeepers.co.za, 1 theeducationchannel.info, 1 theeducationdirectory.org, 1 theeffingyogablog.com, 1 @@ -50980,8 +50695,6 @@ theobora.fr, 1 theobromos.fr, 1 theoc.co, 1 theocharis.org, 1 -theodorahome.co, 1 -theodorahome.com.br, 1 theofleck.com, 1 theojones.name, 1 theokouzelis.com, 1 @@ -51473,7 +51186,6 @@ timewk.cn, 1 timeworld.su, 1 timhieuthuoc.com, 1 timi-matik.hu, 1 -timing.com.br, 1 timjk.de, 0 timmersgems.com, 1 timmy.im, 1 @@ -51896,7 +51608,6 @@ tonyarcieri.com, 1 tonymanning.com, 1 tonytan.cn, 1 tonytan.io, 1 -tonytron.com.br, 1 tonyw.xyz, 1 tonywebster.com, 1 too.gy, 1 @@ -52036,11 +51747,9 @@ torstensenf.de, 1 torte.roma.it, 1 tortocan.com, 1 tortoises-turtles.com, 1 -tortugan.com.br, 1 tosainu.com.br, 1 tosatopsicologabologna.com, 1 toscer.me, 0 -toschool.com.br, 1 toshen.com, 1 toshkov.com, 1 tosolini.info, 1 @@ -52051,7 +51760,6 @@ tot-radio.com, 1 totaku.ru, 0 totalaccess.com.ua, 1 totalaccessnicaragua.co, 1 -totalbike.com.br, 1 totalcarcheck.co.uk, 1 totalchecklist.com, 1 totalclean.co.uk, 1 @@ -52179,7 +51887,6 @@ tracfinancialservices.com, 1 tracinsurance.com, 1 track.plus, 1 trackchair.com, 1 -trackdays4fun.com, 1 trackdomains.com, 1 tracker.com.ar, 1 trackersimulator.org, 1 @@ -53036,7 +52743,6 @@ ubicv.com, 1 ubineering.de, 1 ubis.company, 1 ubis.group, 1 -ubiurbe.com, 1 ublaboo.org, 1 ubntleaks.com, 1 uborcare.com, 1 @@ -53118,7 +52824,6 @@ ukhillwalking.com, 1 ukkeyholdingcompany.co.uk, 1 ukmeetandgreet.com, 1 ukmortgagecompare.co.uk, 1 -ukne.cn, 0 ukooku.com, 1 ukozliku.cz, 1 ukpirate.org, 1 @@ -53178,11 +52883,11 @@ umzuege-hannover.net, 1 umzuege-wolfsburg.de, 1 umzug-braunschweig24.de, 1 umzugsunternehmenberlin.eu, 1 +un-framed.co.za, 1 un-zero-un.fr, 1 un.fo, 1 unapp.me, 1 unatco.noip.me, 1 -unausa.com.br, 1 unbelievableplaces.de, 1 unblock-zh.org, 1 unblockall.xyz, 1 @@ -53262,7 +52967,6 @@ unicefkartkidlafirm.pl, 1 unicefkepeslapok.hu, 1 unicefvoscilnice.si, 1 unicioushop.com, 1 -unicmotos.com, 1 unicolabo.jp, 1 unicorn-systems.net, 1 unicorn.li, 1 @@ -53310,7 +53014,6 @@ united.com, 0 unitedadmins.com, 1 unitedcyberdevelopment.com, 1 unitedkingdoms-guild.com, 1 -unitedprovinces.nl, 1 unitedpsychological.com, 1 unitedstreamers.de, 1 unitel2000.de, 1 @@ -53403,7 +53106,6 @@ uotomizu.com, 1 up-ai.com, 1 up2mark.com, 1 up2staff.com, 1 -upaknship.com, 1 upakweship.com, 1 upandrunningtutorials.com, 1 upay.ru, 1 @@ -53420,7 +53122,6 @@ upgamerengine.net, 1 upgauged.com, 1 upholsterydesign.com.au, 1 upitnik.rs, 1 -uplaqui.com.br, 1 uplead.com, 1 uplinklabs.net, 1 upload.cat, 1 @@ -53442,7 +53143,6 @@ uprouteyou.com, 1 upsettunnel.com, 1 upsiteseo.com, 1 upstart.com, 1 -uptechbrasil.com.br, 1 uptodateinteriors.com, 1 uptogood.org, 1 uptoon.jp, 1 @@ -53630,6 +53330,7 @@ utw.me, 1 utwente.io, 1 utzon.net, 1 uu5197.co, 1 +uu6729.co, 1 uu6729.com, 1 uu6957.co, 1 uu6957.com, 1 @@ -53675,7 +53376,6 @@ uzemobility.eu, 1 uzemobility.org, 1 uzpirksana.lv, 1 uzsvm.cz, 1 -uzzamari.com, 1 v-d-p.net, 1 v-spin.cz, 1 v-tek.fi, 1 @@ -53848,9 +53548,7 @@ vantru.is, 1 vanwa.ch, 1 vanwoensel.xyz, 1 vanwunnik.com, 1 -vape-hit.in, 1 vapecom-shop.com, 1 -vapecraftinc.com, 1 vapecrunch.com, 1 vapehour.com, 1 vapeking.co.za, 1 @@ -53930,7 +53628,6 @@ vbcdn.com, 1 vbql.me, 1 vbsoft.cz, 1 vbwinery.com, 1 -vc.gg, 1 vcam.org, 1 vccmurah.net, 1 vcelin-na-doliku.cz, 1 @@ -53985,7 +53682,6 @@ vegasluxuryestates.com, 1 vegavio.com, 1 vegekoszyk.pl, 1 vegepa.com, 1 -vegetabio.com, 1 vegetariantokyo.net, 1 veggie-einhorn.de, 1 veggiesecret.com, 1 @@ -54184,8 +53880,6 @@ viagusto.pl, 1 viajandoporelmundo.com.ar, 1 viajaramsterdam.com, 1 viaje-a-china.com, 1 -vialibido.com.br, 1 -vialorran.com, 1 viantours.net, 1 viaprinto.de, 1 viasinc.com, 0 @@ -54220,7 +53914,6 @@ victoreriksson.org, 1 victoreriksson.se, 1 victoreriksson.us, 1 victoreriksson.xyz, 1 -victorgbustamante.com, 1 victorhawk.com, 1 victoriaartist.ru, 1 victoriastudio.ru, 1 @@ -54332,10 +54025,8 @@ villa-eden.cz, 1 villa-gockel.de, 1 villa-romantica-zillertal.at, 1 villaella.com, 1 -villafiore.com.br, 1 villagecardshop.co.uk, 1 villagecenterpediatrics.com, 1 -villageunique.com.br, 1 villagockel.de, 1 villainsclothing.com.au, 1 villamariaamalfi.it, 1 @@ -54456,7 +54147,6 @@ visaop.com, 1 visapourailleurs.fr, 1 visasofoz.com, 1 visaya.com.co, 1 -viscoelastico.com.br, 1 viscopic.com, 1 viseum.co.uk, 1 vishwashantiyoga.com, 1 @@ -54773,7 +54463,6 @@ vrjetpackgame.com, 1 vrlaid.com, 0 vroedvrouwella.be, 1 vroyaltours.com, 1 -vrsystem.com.br, 1 vrtak-cz.net, 1 vrtouring.org, 1 vrzl.pro, 1 @@ -55088,7 +54777,6 @@ warr.ath.cx, 1 warringtonkidsbouncycastles.co.uk, 1 warschild.org, 1 warsh.moe, 1 -warsonco.com, 1 wartorngalaxy.com, 1 wasabiwallet.co, 1 wasabiwallet.io, 1 @@ -55212,7 +54900,6 @@ wearehackerone.com, 1 weareincognito.org, 1 wearepapermill.co, 1 wearepapermill.com, 1 -wearesouthafricans.com, 1 wearewithyou.org, 1 wearvr.com, 1 weaspireusa.com, 1 @@ -55696,6 +55383,7 @@ wf-staging-hr.appspot.com, 1 wf-training-hrd.appspot.com, 1 wf-training-master.appspot.com, 1 wf-trial-hrd.appspot.com, 1 +wfcom-98-wf-www.pantheonsite.io, 1 wfcp1010.com, 1 wfh.ovh, 1 wfh.se, 1 @@ -56344,7 +56032,6 @@ world-in-my-eyes.com, 1 world-lolo.com, 1 worldcareers.dk, 1 worldchess.london, 1 -worldcigars.com.br, 1 worldcubeassociation.org, 1 worldessays.com, 1 worldeventscalendars.com, 1 @@ -56397,7 +56084,6 @@ wowjs.co.uk, 1 wowjs.org, 1 wowjs.uk, 1 wownmedia.com, 1 -wozalapha.com, 1 wp-fastsearch.de, 1 wp-france.com, 1 wp-master.org, 1 @@ -56462,7 +56148,6 @@ wrdx.io, 1 wrenwrites.com, 1 wrestling.net.au, 1 wrgms.com, 1 -wrightselfstorageandremovals.com, 1 wristreview.com, 1 write-right.net, 1 writeandedit-for-you.com, 1 @@ -57240,7 +56925,6 @@ xn--detrkl13b9sbv53j.org, 1 xn--die-hrercharts-zpb.de, 1 xn--dk8haaa.ws, 1 xn--dmonenjger-q5ag.net, 1 -xn--dmontaa-9za.com, 1 xn--dragni-g1a.de, 1 xn--dtursfest-72a.dk, 1 xn--durhre-yxa.de, 1 @@ -57721,6 +57405,7 @@ yfengs.moe, 1 yggdar.ga, 1 ygobbs.com, 1 ygrene.com, 1 +ygreneworks.com, 1 yh56787.com, 1 yh599.cc, 1 yh64678.com, 1 @@ -57806,7 +57491,6 @@ yogacentric.co.uk, 1 yogaemmental.ch, 1 yogahealsinc.org, 1 yogamaya9.com, 1 -yogamayanine.com, 1 yogamea.school, 1 yogananda-roma.org, 1 yogaprague.com, 1 @@ -57857,7 +57541,6 @@ yotilab.com, 1 yotilabs.com, 1 yotta-zetta.com, 1 yotubaiotona.net, 1 -you.com.br, 1 you2you.fr, 1 youareme.ca, 1 youc.ir, 1 @@ -57973,7 +57656,7 @@ ysicing.net, 1 ysicorp.com, 1 yslbeauty.com, 1 ysun.xyz, 1 -ytec.ca, 1 +ytec.ca, 0 ytpak.pk, 1 ytreza.fr, 1 ytuquelees.net, 1 @@ -58061,7 +57744,7 @@ yukimochi.me, 1 yukimochi.net, 1 yukonconnector.com, 0 yukonlip.com, 0 -yukontec.com, 1 +yukontec.com, 0 yulaiz.com, 1 yum.beer, 1 yum0.cn, 1 @@ -58075,7 +57758,7 @@ yunity.org, 1 yunjishou.pro, 1 yunloc.com, 1 yunsoupian.vip, 1 -yuntong.tw, 1 +yuntong.tw, 0 yunzhu.li, 0 yuricarlenzoli.it, 1 yurikirin.me, 1 @@ -58110,7 +57793,6 @@ yvonnehaeusser.de, 1 yvonnethomet.ch, 1 yvonnewilhelmi.com, 1 ywyz.tech, 0 -yxs.me, 1 yxt521.com, 1 yxzero.xyz, 1 yy-s.net, 1 @@ -58160,7 +57842,6 @@ zabszk.net, 1 zabukovnik.net, 1 zacadam.com, 1 zacarias.com.ar, 1 -zacavi.com.br, 1 zacchaeus.co.uk, 1 zacco.site, 1 zach.codes, 1 @@ -58387,7 +58068,6 @@ zevelev.net, 1 zewtie.com, 1 zeyi.fan, 1 zf1898.com, 1 -zfast.com.br, 1 zfg.li, 1 zfly.me, 1 zfo.gg, 1 @@ -58732,6 +58412,7 @@ zuralski.net, 1 zurgl.com, 0 zuviel.space, 1 zuzumba.es, 1 +zvejonys.lt, 1 zvps.uk, 1 zvxr.net, 1 zvz.im, 1 diff --git a/services/settings/dumps/blocklists/addons.json b/services/settings/dumps/blocklists/addons.json index bf4505804c39..762ef7b7d44d 100644 --- a/services/settings/dumps/blocklists/addons.json +++ b/services/settings/dumps/blocklists/addons.json @@ -1 +1 @@ -{"data":[{"guid":"{3fc1db2b-e7db-4512-b24e-1faf4d3a1b4d}","prefs":[],"schema":1558536030188,"details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1553479","why":"This add-on violates Mozilla\u2019s add-on policies by executing remote code.","name":"quikaxes"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0"}],"id":"43966df2-e95c-415b-bffc-13814e1d2b11","last_modified":1558536765550},{"guid":"{a37a7625-b64e-45f3-8b79-f71634f14438}","prefs":[],"schema":1558467699805,"details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1553326","why":"This add-on violates Mozilla\u2019s add-on policies by executing remote code.","name":"Lift"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0"}],"id":"7e86024e-5621-4ded-bc16-184f94fa2e29","last_modified":1558528706505},{"guid":"/^((\\{3e20d1e2-a7ee-4ce2-ab9c-51c8300a8ff6\\})|(\\{30906bbc-0942-445b-89c8-f74dac0edb8f\\}))$/","prefs":[],"schema":1558382009200,"details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1553071","why":"This add-on violates Mozilla's add-on policy by executing remote code.","name":"Amiri"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0"}],"id":"9c5f5681-8547-4e65-9c05-5796e483b8e1","last_modified":1558434518612},{"guid":"/^((\\{ec19994c-c5a5-46d9-bd4d-0fc417c6f4b8\\})|(\\{a0be7e8d-b0a3-460b-8a52-429c79e49ee2\\})|(\\{1814dd58-4147-4cca-a0a3-c5aa35966d9c\\}))$/","prefs":[],"schema":1558381075651,"details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1551937","why":"This add-on violates Mozilla\u2019s add-on policies by executing remote code.","name":"Inspiring Quotes + Daily Quote Tab + Pug Extension"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0"}],"id":"efecef61-549b-4c13-8a52-394c636dd24b","last_modified":1558381320379},{"guid":"{dc6176c4-a192-4a92-849f-ad13abe889ad}","prefs":[],"schema":1558379927394,"details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1551934","why":"This add-on violates Mozilla\u2019s add-on policies by executing remote code.","name":"Easy Speedtest"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0"}],"id":"a5fa8f77-7761-4996-a11d-d8cf723103da","last_modified":1558381015030},{"guid":"{ac4be7d1-4db6-4b4c-bf48-e345350bcb59}","prefs":[],"schema":1558379796996,"details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1552830","why":"This add-on violates Mozilla\u2019s add-on policies by executing remote code and exfiltrating user data.","name":"Browser type hider"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0"}],"id":"41137e55-8a11-4259-a009-42c29daadf17","last_modified":1558379927382},{"guid":"{da993d54-9605-42f7-a32f-9f565245070c}","prefs":[],"schema":1558362750147,"details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1552834","why":"This add-on violates Mozilla\u2019s add-on policies by collecting ancillary user data.","name":"Fake Adblocker"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0"}],"id":"2212748f-ad60-497f-af7b-50d20b326e40","last_modified":1558379796981},{"guid":"/^((\\{2b3eed60-8f6e-4afc-99f1-38d12f4253da\\})|(\\{3a6f9dac-3a93-4f6f-8b74-9ebc0f501306\\})|(\\{46bba8e9-7a75-4dd6-932e-bdd74141cb87\\})|(\\{4b480ab6-b63a-43f8-b4f4-d312972ab086\\})|(\\{6106687e-ca0c-4d7e-93bc-115929e4d299\\})|(\\{717ce133-3c0a-448e-b6ed-fc7d22b76534\\})|(\\{7224f1ae-c342-4bb5-8441-d324a8951624\\})|(\\{768e9638-2eba-42e4-a13a-4f3f1df391a2\\})|(\\{7b655f43-c871-46d2-8f6d-31989e8ee939\\})|(\\{7e46c692-9488-4671-8c39-7830f92628b0\\})|(\\{83bc6b56-545f-4ba1-a80b-f82d55cc0f68\\})|(\\{970a774e-b7a7-498f-b3f2-d88b14b4dab1\\})|(\\{9d2e8731-3287-46eb-9c19-ece63fe693c7\\})|(\\{a37ccd20-e04f-4949-b055-98ca58639606\\})|(\\{af85f82c-3e8f-4ee5-ab53-b8d3aaac34ec\\})|(\\{b35c6d47-8b07-4d49-89a9-dfe8c10f58f6\\})|(\\{c2485579-368c-4593-a1cd-985b2fa0b990\\})|(\\{c85c16ba-78b4-41b3-9201-f80fa662c52f\\})|(\\{c97e5535-6f2e-4d34-a5a3-0e6e07f7fd13\\})|(\\{ce7db166-9564-482f-91d9-3a450ec3216d\\})|(\\{d64a2c73-ff21-4e3e-998f-ec2dc42ad725\\})|(\\{db6d93c3-67a0-410c-b7bd-f72f267f0cec\\})|(\\{e513775f-359f-47aa-a3d9-eddc946aabe0\\})|(\\{f70258e4-643b-4ec2-9c84-de89009eec61\\})|(\\{f8794e87-82b2-4df4-bce6-db207f62c165\\}))$/","prefs":[],"schema":1558349836861,"details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1552847","why":"This add-on violates Mozilla's add-on policies by using a deceptive name while providing unwanted functionality. This is not a legitimate Flash Player add-on.","name":"Adobe Flash Player (Malware)"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0"}],"id":"0225ae55-626d-42b2-8f48-46ec95ec89f8","last_modified":1558361121954},{"guid":"jid1-HfFCNbAsKx6Aow@jetpack","prefs":[],"schema":1558343683249,"details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1549020","why":"Versions up to 2.9.1.0 of this add-on violate Mozilla\u2019s add-on policies by executing remote code through the native messaging host.","name":"SConnect"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"2.9.1.0","minVersion":"0"}],"id":"413065ac-176f-440d-b4a7-0f928f3e330d","last_modified":1558349549359},{"guid":"/^((\\{78d3cced-d2a7-46e9-9fea-5be7ed61eea8\\})|(\\{3233777f-a1a7-4ea4-8c2c-fba1a0a68383\\})|(\\{0eb43948-2a3d-4490-b32d-7ca37dd83f07\\})|(\\{64fd625d-2977-46a6-96ca-77f81ebfd54d\\})|(\\{6e138cae-1be3-449e-a964-b3c3060d89b9\\})|(\\{f875c255-8b92-4229-95e1-6d9adaf20dd7\\})|(\\{3c62ef7f-ae8f-4baa-9d2d-27a377480b79\\})|(\\{35a91fe5-c255-498b-9f9f-bec506fdb257\\})|(\\{7d3c52e6-2b7f-4ce8-b28b-032306fe32df\\})|(\\{0ecf6f68-d506-4239-bc69-f77de8f03758\\})|(\\{7290f2b1-3d70-4990-a828-40c775c05f82\\})|(\\{50150580-86bc-460f-ae3a-12e51b9d842e\\})|(\\{a1b46cda-8a83-48e0-b355-7eca4250694f\\})|(\\{614d8f88-b5b4-4897-adc0-0207613f4d4f\\})|(\\{ddc259e9-3738-4b18-a00c-9259dad206ae\\})|(\\{5b2bf836-5322-4161-82dd-fcc8ac6e4247\\})|(\\{97a90c0a-5e3d-47bf-aacc-230e4cb1f2d1\\}))$/","prefs":[],"schema":1558341490879,"details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1552764","why":"This add-on violates Mozilla's add-on policies by overriding search behavior without users consent or control.","name":"Search overriding malware"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0"}],"id":"4bda902e-fb36-417b-940f-992ab7a18fde","last_modified":1558343652556},{"guid":"{3241efcf-4bfe-4405-ba7e-029d3efb03bf}","prefs":[],"schema":1558341442463,"details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1552681","why":"This add-on violates Mozilla's add-on policies by overriding search behavior without users consent or control.","name":"Neat"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0"}],"id":"657d264f-23d2-40f9-bac3-1d7c8b5d8453","last_modified":1558341473815},{"guid":"{c4da221b-461a-4ed9-b2d2-6ef1842a94bd}","prefs":[],"schema":1558341410023,"details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1552639","why":"This add-on violates Mozilla's add-on policies by overriding search behavior without users consent or control.","name":"Dimensions"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0"}],"id":"f48c8fe3-70c4-4d9e-84f4-79aeee9970f0","last_modified":1558341442447},{"guid":"{72a6bcef-d0ce-49f5-9773-1b78265174a2}","prefs":[],"schema":1558341352074,"details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1552306","why":"This add-on violates Mozilla's add-on policies by overriding search behavior without users consent or control.","name":"YtDow"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0"}],"id":"d4ab989c-1517-493b-9486-f0c4a59a1c95","last_modified":1558341410006},{"guid":"{ad6f5b9a-c894-4d15-8c65-4b0f5a29503c}","prefs":[],"schema":1558341285260,"details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1551964","why":"This add-on violates Mozilla's add-on policies by overriding search behavior without users consent or control.","name":"Magnif)"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0"}],"id":"f7135e2e-249f-45d4-bfe3-88b834ddb636","last_modified":1558341352061},{"guid":"{ad6f5b9a-c894-4d15-8c65-4b0f5a29503c}","prefs":[],"schema":1558313782700,"details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1551903","why":"This add-on violates Mozilla's add-on policies by overriding search behavior without users consent or control.","name":"Top Scroller"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0"}],"id":"fdc0d028-2915-4130-a19c-c5819b3acc81","last_modified":1558341285245},{"guid":"/^((\\{0209c9a2-f58e-4ca5-ba95-80de8a0bec36\\})|(\\{0429d1cf-e6c7-46b9-9959-4d24263f5b9f\\})|(\\{04aed622-650c-44b2-968e-a8740024bdfe\\})|(\\{054ccccf-bb7d-4d0d-ae7e-94931a469627\\})|(\\{06440d64-2a92-45a7-8e8e-c14a35f9224d\\})|(\\{06e83ce4-370c-41c0-bfb7-62bb0e77cabb\\})|(\\{06fe00d4-24df-497f-90e0-88db402cc9d6\\})|(\\{077e07c1-b948-4e88-9965-226cde465f9f\\})|(\\{07b424b4-8a9d-4fe6-afd5-1f2135f5f4ea\\})|(\\{080f27b3-ad41-4bf4-84bb-b6df1d395b0e\\})|(\\{0a3ba90b-224e-48ae-9440-b92d4ac03ee6\\})|(\\{0bd278d9-fbc6-40dd-914d-5e696c4255cb\\})|(\\{0c3c7c7c-3d15-4cf7-936d-dcf6070e82ce\\})|(\\{0ee32a7c-74b2-4a55-b388-8034b39c6b1d\\})|(\\{0f806e24-dbcc-4f14-b8f5-cfd7f88d6302\\})|(\\{0f9b7554-16d4-4496-8f01-e396256033b7\\})|(\\{1331d9a3-b9ec-43fc-a369-f73a926849b9\\})|(\\{14aca62f-1cc5-4424-a30a-ffb3d424b5bc\\})|(\\{14ec0bb2-f06f-46ad-b951-b810f7651284\\})|(\\{16744b56-7518-4526-bf9a-2531d694fb1a\\})|(\\{179d7013-b6d8-4a89-a861-30e0e8a7faee\\})|(\\{17cff984-12b5-438d-a915-41d7d006de4f\\})|(\\{17ee37ab-fe67-45bd-9666-bcf57a371e46\\})|(\\{19f6f2dd-32df-47a2-9b89-76543a987d46\\})|(\\{1a6ddac5-6ca0-4d59-a8e5-02345c67f703\\})|(\\{1b50ef3b-a364-4089-8ef6-1031cc7a0d1d\\})|(\\{1b830180-08d2-4381-a516-b84aba36e52f\\})|(\\{1cdff066-cb3a-4abf-95d0-39691e53dc75\\})|(\\{1e778837-1740-4a35-9eb1-e16b2c189037\\})|(\\{260d8452-72d2-4860-b14e-dd3fcb779656\\})|(\\{262c435a-42e0-4ca1-a713-f52672691f4e\\})|(\\{26d2406b-5118-44fe-a479-15a8c4f6f2bd\\})|(\\{28a26807-fdc2-4e79-b2a1-efcb1c21d199\\})|(\\{28c24c28-a094-4915-a2ff-5ff91caf076b\\})|(\\{2afddffd-6246-45f6-af19-a7803095bdf0\\})|(\\{2d37fd0a-5ae0-4d83-bc0e-fc7d870587c6\\})|(\\{2df75889-c43e-4f4d-b43b-e51d9b50167c\\})|(\\{2e4e320a-d5f6-4685-89f0-4d7084209c06\\})|(\\{2f93ea6a-1c1b-4456-b821-e8ba50aedece\\})|(\\{3034cb02-b9bb-4e8a-8749-cdd7fd1a6902\\})|(\\{3862859a-78c6-474e-b30e-303e86a7c6a4\\})|(\\{386afcb7-64f4-41db-b3e8-a76602ebb2fa\\})|(\\{38b61e2b-1af3-4f35-bdf0-cc4e3afc4880\\})|(\\{395065fd-1b7f-400f-aecb-9cfbcd9d607e\\})|(\\{3b0055c9-ea2c-43be-a927-ecd342946367\\})|(\\{3b37c6dd-d5f0-494d-9dd2-175db561b99c\\})|(\\{3e5a09c0-5f26-4d40-a5d0-a853f1fa759d\\})|(\\{3f2d032a-29ac-4cbe-9463-563f3ba6eb7f\\})|(\\{3f6ea025-e6c2-4372-adca-cb60b811e4da\\})|(\\{4253e6be-5b91-4b66-b44e-11f6260cee0e\\})|(\\{42c5b340-7cda-4d89-81a4-4a20754b5250\\})|(\\{42d8241e-e5f6-47d7-95f6-b6649143b12a\\})|(\\{46061237-f12b-4738-b1e4-7b7070fc03ca\\})|(\\{46bcaa76-c21e-44a2-aed8-6ba630fcc961\\})|(\\{47f394e0-02be-4a08-b865-287b993ac40e\\})|(\\{497c92fb-4d7d-4b9e-9884-a178e5991ee1\\})|(\\{498d00a0-3d8a-45ff-8e8f-3c27fcd12df6\\})|(\\{49ec4e6d-8152-461e-a2f5-095ede6c3cab\\})|(\\{4a87eeaa-4aa5-4695-b393-1ca4f00b2f3e\\})|(\\{4b0d3b3a-d61c-4968-a338-8de76d044f80\\})|(\\{4b9b2a47-e06f-4948-a20f-78ec1ef4e84c\\})|(\\{4dc32f1c-374e-4886-9a62-80ecfc23ed17\\})|(\\{4e901df2-8301-4588-9bc9-1e9f6c4f996f\\})|(\\{4fb6f5ed-eb5a-4115-a635-57fecad85d50\\})|(\\{50c0ae9a-ebaf-44f7-9ea7-52c7d1066721\\})|(\\{5160a705-c8e9-40b9-900e-6d26559038de\\})|(\\{5232e216-65a2-44d0-ba11-05fc8c332af7\\})|(\\{53e6e44a-a0af-49e2-af72-db4518f153bb\\})|(\\{58c7b5da-a1cc-437a-9401-2a56eb77df7d\\})|(\\{59aa5a90-0034-4350-adfe-76aff37e73ee\\})|(\\{59c5d279-711e-4217-8e5e-1aa1497ffcaa\\})|(\\{5a3f607d-7e1a-4faf-88e2-5806d74d18d4\\})|(\\{5a6364f7-3237-462d-bd3f-7c501830ceb0\\})|(\\{5dc73bfe-4193-4390-ae50-ad928655e21f\\})|(\\{5e085187-2509-4f8f-80ed-78c06351a77a\\})|(\\{5edfb7c3-04a5-447d-9069-2093289a7b98\\})|(\\{6219dabe-8f5f-4130-a650-8cfa971d7182\\})|(\\{62c9c13b-d001-4c42-819c-31b9763973c0\\})|(\\{656da759-0ae4-4f3e-a798-8293a5df9476\\})|(\\{66d70c4a-ad30-4f3c-afb4-b498a60c49b3\\})|(\\{68cb3185-4f55-42cb-97ea-188924b1d6c3\\})|(\\{6b99e0e4-e2e8-4fff-9da5-81c0b9e92b62\\})|(\\{6de81b5e-7556-4fc4-9cac-df56e898f3bf\\})|(\\{7162613f-ea9c-48b3-a0e3-6700ea61a4c8\\})|(\\{71ef8107-d5fd-4d2c-94b7-2dcd07448622\\})|(\\{7284399c-6be5-42ff-8ddc-5cc52d46ab40\\})|(\\{7422ce07-cac7-4fe6-af6b-16f5e7e27d05\\})|(\\{76a7b38d-7044-4e36-8315-38db10506ec8\\})|(\\{7772f851-8dd4-4d96-b426-6cd9f739a599\\})|(\\{797129e6-8cc9-401e-b9fe-0fee15533e9a\\})|(\\{7a3429ae-f293-4a70-a13d-f57f153557e3\\})|(\\{7bed7063-0842-43d9-b672-5e5e55915d5d\\})|(\\{7c0220cc-89e5-4726-ada1-fa2ffa412f28\\})|(\\{7c3c79d6-7e31-4947-b9b4-dd21f461ccd4\\})|(\\{7c70cbc0-e80c-4f3b-97b2-2530c4ac1349\\})|(\\{7fc4f148-2648-40f5-bd99-d057ac1292a6\\})|(\\{808a2093-68ff-4f73-b239-0d0f105c4d98\\})|(\\{8411b8e3-e302-48a2-91ee-550102b938f6\\})|(\\{84a9ae69-5c01-4a73-80d3-c2201410d8c1\\})|(\\{852c68da-c573-42f8-85f8-9dcf57684f87\\})|(\\{85a31d9e-063f-421f-9d3f-649a393e94ec\\})|(\\{876778c8-5329-461d-882e-d4983ae6062a\\})|(\\{8913da4a-46fb-461c-9e60-3e257ef2c0e6\\})|(\\{8aa0118c-998e-40ac-84e9-12c936e5d70e\\})|(\\{8b4a6441-811f-4461-b136-7ebf3aebe3dc\\})|(\\{8bc41c3b-e052-4fd8-8de3-970ef5224bd9\\})|(\\{8e03b200-aad9-434b-9a99-e7aae7493a5f\\})|(\\{8fe94d0d-4746-401c-ad05-e0e1be97ea0e\\})|(\\{900f3c9c-b327-4608-950b-9765119c2e7a\\})|(\\{915080f5-97a3-4584-861f-70cd91f56474\\})|(\\{91d034a6-1765-4a59-85e5-9ddeb371ed9b\\})|(\\{9207dfae-06fc-4545-9fa6-6466b7ed2559\\})|(\\{926b2440-8443-4de3-9025-9a448cf3b838\\})|(\\{952bfd34-d195-4b10-8a3c-b103786cf090\\})|(\\{95315ff2-427b-427c-a433-236fb3b5eda4\\})|(\\{971db1e5-a5cb-46f9-91f9-9b687f4e5832\\})|(\\{982e11b3-e092-4713-81d4-5da1eadd278e\\})|(\\{98a2b9a7-13fa-49ff-aaa4-83786fad7862\\})|(\\{99f52d4d-1cd2-4e17-8f57-fa2493848f3f\\})|(\\{9a467b2c-be87-4d55-80d9-998dc6243e8b\\})|(\\{9abfecfa-d53e-4aea-bb6c-4fe47367f61e\\})|(\\{9b0243a5-92fb-43a4-adcc-3161f0ec030c\\})|(\\{9c7bb0bf-1534-4805-b9fa-a91004bd7e30\\})|(\\{a00e65f6-bf34-4ef9-a0e5-b63002c823e9\\})|(\\{a0dce648-f703-4867-9f3f-9bfa7601d1b1\\})|(\\{a16a700a-35ff-4ed1-ab81-164e3c823342\\})|(\\{a1f14b23-0c36-44e8-8f0d-9c732acbb550\\})|(\\{a4ea8038-65ae-4d7c-92e2-dd95caf007f4\\})|(\\{a55cd5be-89e4-40ba-8c3b-0023a1f41c8e\\})|(\\{a57ec9eb-cbab-4ddb-bafd-80cf5fd38891\\})|(\\{a5aa1d1e-dec7-4e25-bead-0861099f9628\\})|(\\{a604a85d-ba8f-4e8f-8ca1-867ca8d13a13\\})|(\\{a7a33aad-9e17-4db3-a127-d185e31607ae\\})|(\\{a9404f9f-6ac9-4366-bfcf-50d0d3bdeac3\\})|(\\{aaf2dd6b-5ca9-47aa-b41f-5b00c5c82d2e\\})|(\\{abf10dee-7cc9-4b79-ad5b-1e4300ab24a7\\})|(\\{ac97e702-b2e2-4a91-ae3e-bf0856300737\\})|(\\{ae03577f-2d20-4775-8286-685cdbee76e4\\})|(\\{aef2e959-90c0-44cf-bbb5-e0789af93efe\\})|(\\{af0d8090-d04f-4e9a-a3fb-1c9ac89e9f68\\})|(\\{b0da2032-0da5-4cff-b91b-e0efda4d6b36\\})|(\\{b2777372-311f-4a15-81e5-c84dd845c93d\\})|(\\{b44ac98d-6101-467d-a959-d6ada2259f01\\})|(\\{b50daf26-3983-4516-836f-0b8777bc44ab\\})|(\\{b5ca55b9-d06a-4538-be4a-38b29f3a4359\\})|(\\{b783327e-a675-40c2-95c7-59eb3f00b75d\\})|(\\{b91f2cd5-4051-4e13-8848-8e92afb99217\\})|(\\{ba32ffe1-dabb-41d6-a45f-f4d3e1304ff1\\})|(\\{bb80ea9f-8263-4183-a52d-e5d45ca6e0fe\\})|(\\{c0ba2c3c-55a6-4d28-bb27-67f71de78feb\\})|(\\{c0ecc589-04de-4243-9279-100b781f7443\\})|(\\{c2f6447c-e2db-43d1-8c53-fec7c29b22bb\\})|(\\{c4492fc0-70ed-4d36-8904-61ccb663eaac\\})|(\\{c58e10ce-d69e-478d-8270-0d73599a8cfc\\})|(\\{c72781ce-8377-41ae-984e-ed5755af28de\\})|(\\{c7f51f89-f47c-45e6-aa57-177deba406a0\\})|(\\{c859eaff-3dde-4d83-9703-0a6cf9e95308\\})|(\\{ca51951b-5c9e-4c26-bca3-ed6e754ae5c0\\})|(\\{ce9f05c7-6246-4918-8505-fdc455bc0aab\\})|(\\{cf0ec4e1-5d0d-4846-aa97-380806e72e46\\})|(\\{cfa73be4-9e64-4aea-bb0a-2ab0defb27b3\\})|(\\{d12c5edd-1182-4bf7-bdb1-f2662b7ce1be\\})|(\\{d2343e30-0253-4556-9dd8-cb6cb461801d\\})|(\\{d7a1fad5-eb70-4f7f-a24d-98c3bb9a7aa4\\})|(\\{d7a7e3d1-e6f2-45e3-957a-4b2cde1b413b\\})|(\\{d946d1e8-38bd-41f4-8dc7-a255802046a8\\})|(\\{da7e77cd-4a7c-4282-a597-0694ada485b4\\})|(\\{dc905949-378e-4b8c-aacc-cff56b04370d\\})|(\\{dca4c8f5-5ef9-40fb-bd76-dcb4ec98c495\\})|(\\{dd275beb-f7dd-4ff6-8fec-23e8c0422b68\\})|(\\{de88be71-25f9-48d0-adc9-3d9a542cf303\\})|(\\{df148b39-f7c2-480d-ad8b-91b700e6642b\\})|(\\{df55df20-2e99-49fd-90bc-b548b833e2db\\})|(\\{e1348bc8-b378-45a3-95bb-4915b8910c1e\\})|(\\{e72aab9f-77f1-4e03-a4b7-9ea4b066fe50\\})|(\\{e8372510-9f1b-4b11-8e2f-dfc1d5d1a4a1\\})|(\\{eae5c7b6-8b67-4645-a1c1-a543e63ceda5\\})|(\\{eb1ed544-82e6-4785-b693-1e0799f7cffa\\})|(\\{ec37edc4-e1a6-4073-9cd4-7a5315c921e3\\})|(\\{ed240b54-8600-496b-a034-d9a153359906\\})|(\\{ee6e56cf-b963-4efb-b64e-cf6117dc9a5b\\})|(\\{f3337e21-4fbd-411c-b1fc-d0543052b499\\})|(\\{f5a4fafb-2f75-4acc-9dad-324ca00a1b84\\})|(\\{f9b00c32-2f31-436b-8cb1-720b12502cb6\\})|(\\{fdfd1815-cf54-4210-8883-a4154668b866\\})|(adobeflashplayer@flashplayeradobedeveloper\\.com)|(adobeflashplayer@flashplayeradobedevelopper\\.com)|(afplayer@firefox\\.pl)|(afplayerx@firefox\\.pl)|(aktualizacjaalamusowjeac@wp\\.pl)|(aktualizacjalamusowjeac@wp\\.pl)|(andrzej-ff@wp\\.pl)|(andrzej@gmail\\.com)|(au_addx@geckoaddon\\.org)|(au9c1660@auge\\.site)|(birghun@firefox\\.pl)|(birghuxxn@firefox\\.pl)|(btxyhuh@firefox\\.pl)|(elsee@geckoaddon\\.org)|(elseeau@geckoaddon\\.org)|(extensioner@firefox\\.pl)|(fr@ffget\\.xyz)|(fr9c1660@frge\\.site)|(fruxuc@flashc\\.com)|(guid-reused-by-pk-1476482)|(guid-reused-by-pk-1476489)|(it_addx@geckoaddon\\.org)|(it9c1660@tige\\.site)|(marlenex@firefox\\.pl)|(nads@firefox\\.pl)|(newtabextension@newtabextensiond\\.com)|(pl@k4n\\.pl)|(playerro1@firefox\\.pl)|(socketextensionws1@geckoaddon\\.org)|(soxmuc@firefox\\.pl))$/","prefs":[],"schema":1558013939458,"details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1552164","why":"This add-on violates Mozilla's add-on policies by using a deceptive name while providing unwanted functionality. This is not a legitimate Flash Player add-on.","name":"Adobe Flash Player (Malware)"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0"}],"id":"2a4b5087-eca0-43e8-96f4-6632aabd83d3","last_modified":1558085279358},{"guid":"websurf@mizilla.org","prefs":[],"schema":1557871049351,"details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1550673","why":"This add-on violates Mozilla\u2019s add-on policies by overriding search behavior without user consent or control.","name":"Websurf"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0"}],"id":"a2b8447b-ea50-45bb-936a-64d790ebe448","last_modified":1557871228984},{"guid":"{d8f707bf-0a35-462f-8e4d-f90205770547}","prefs":[],"schema":1557870872432,"details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1550689","why":"This add-on violates Mozilla\u2019s add-on policies by overriding search behavior without user consent or control.","name":"STPs"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0"}],"id":"be42b13c-301b-4304-a1ed-89b4c13d9eb2","last_modified":1557871049337},{"guid":"{0b66e692-1991-4b46-89df-c8101925bad1}","prefs":[],"schema":1557870310029,"details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1551079","why":"This add-on violates Mozilla\u2019s add-on policies by overriding search behavior without user consent or control.","name":"Base6"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0"}],"id":"a308009d-3320-49af-b0b8-1174f5a25fe6","last_modified":1557870872418},{"guid":"/^((\\{198586f6-9fdc-4ce6-8f21-7bdd85eab432\\})|(\\{1cd349e4-1d52-46ec-b648-6da8ba2ef659\\})|(\\{28c26373-1066-4cb5-8e92-1926cb31f83c\\})|(\\{2b99ea1d-9e25-4005-adeb-2fc9fc6700fc\\})|(\\{2be44a2e-f432-4527-a249-f7a6aecc8464\\})|(\\{2eda700f-8674-43fd-842f-73289b6e317f\\})|(\\{3745fc58-1413-4029-aea4-e1aa8a2c0cad\\})|(\\{3c19f6fc-1b86-411c-8d9a-7fdde31600b2\\})|(\\{450f8d34-b065-46a6-bd9f-ee7f614d750b\\})|(\\{498e999a-2d6b-47e7-8da2-97e0f694f6ff\\})|(\\{56862943-b999-45ef-be94-b97211126ba4\\})|(\\{5dc4633d-2c01-4d8d-8980-a90055d0679c\\})|(\\{77101ac4-6fe7-43ed-8362-75ad2a4b3299\\})|(\\{83ae749b-9ab3-41f9-ba8a-f73470399abe\\})|(\\{8ef68e62-a602-477c-95c2-9b861f91e813\\})|(\\{b81c02f0-e563-4794-8fd3-18a65b0f35fe\\})|(\\{c03bf205-6673-4495-abd7-f12556d3d8ce\\})|(\\{d1e8be12-c4e4-481b-9be1-400f54257dfa\\})|(\\{d3f73060-8ca3-4c24-b389-6a896f43f538\\})|(\\{e5e98141-81c0-433d-ade2-4174ea951243\\})|(\\{ec6ff98f-7315-4cfb-88b9-e6a64bb97ef6\\})|(\\{ee765c0e-cf70-426e-ac5d-704c874202af\\})|(\\{f8a4dc88-e967-4c75-acb3-6176ab166bf4\\}))$/","prefs":[],"schema":1557849229557,"details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1551093","why":"This add-on violates Mozilla\u2019s add-on policies by collecting ancillary user data.","name":"Flash Player Fakes"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0"}],"id":"8436c1bb-43f2-42d6-acec-05145fdbeccf","last_modified":1557870310012},{"guid":"{61121092-5257-4607-b16a-12364832f0e4}","prefs":[],"schema":1557835907235,"details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1551260","why":"This add-on violates Mozilla's add-on policy by executing remote code.","name":"Page Image Previewer"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0"}],"id":"dbd3690c-2ce4-474b-b13d-97f9ab2c54c5","last_modified":1557835935826},{"guid":"/^((\\{2e510835-3d3c-4995-ba75-2eee6ff203c7\\})|(\\{bc72fefd-ab07-40ce-8555-45f9b23ef8c0\\}))$/","prefs":[],"schema":1557835858186,"details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1551259","why":"This add-on violates Mozilla's add-on policy by executing remote code.","name":"Add-ons executing remote code"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0"}],"id":"9ced28d2-c4bf-4933-b369-1ded1ca7f6dc","last_modified":1557835907221},{"guid":"{4037503e-7401-4ccf-8fc1-af9f8c9fc168}","prefs":[],"schema":1557835817321,"details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1551243","why":"This add-on violates Mozilla's add-on policy by executing remote code.","name":"APKCombo"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0"}],"id":"abc5acc2-c9ea-4d44-b8ab-3fefb5723194","last_modified":1557835858172},{"guid":"{52484281-3051-4c52-9309-83896b989ddf}","prefs":[],"schema":1557835777799,"details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1551162","why":"This add-on violates Mozilla's add-on policy by overriding search settings without user consent or control.","name":"Fppl"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0"}],"id":"73b95004-eb42-428b-852b-3671edbc3913","last_modified":1557835817308},{"guid":"{3555a8e7-6fc1-4ad8-9e35-b09877d94a8c}","prefs":[],"schema":1557776499103,"details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1551080","why":"This add-on violates Mozilla's add-on policy by overriding search settings without user consent or control and executing remote code.","name":"Search"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0"}],"id":"a941e00d-4ec8-41db-ac90-75041af68a3b","last_modified":1557835777786},{"guid":"/^((\\{da61a3e5-5a98-4c47-ae6c-f4db738f1133\\})|(\\{b0e13c2b-c1cd-426b-bed9-905bf9557fbf\\})|(\\{328c22c5-5f1c-4eb7-95a3-148fd4ad429d\\})|(\\{f6cca5fb-5aa1-471f-88f3-e2ffa87281ef\\})|(\\{d342bf37-554e-41c9-b67b-72769e59b82b\\})|(\\{03ec69b5-3e8e-4bb8-8eda-28f12c54bff8\\})|(\\{a8c876cb-af13-4ad9-9a86-fc3c0722b48c\\})|(\\{56136c32-0159-4368-9d28-c1b8b1515c89\\})|(\\{79bf4660-9729-444b-ae03-6c8005869611\\})|(\\{aa7fdaa5-d888-47e2-b27b-4fa4b3225339\\})|(\\{31e0d180-52b1-4c1d-8f84-7e625715edc4\\})|(\\{f7d20549-e5ee-4045-9e8f-9705bb10c104\\})|(\\{303abacb-760b-43c3-9640-5b456d92db78\\})|(\\{debabd67-2e0a-485e-8213-ac081065a027\\})|(\\{971e739b-c528-41b6-a60c-48fc3cdb52d9\\})|(\\{ffb3a485-2723-4a88-b3ad-8b29773759c4\\})|(\\{b076177a-a5c4-4652-9f6d-953f89f9a81a\\})|(\\{66210cb7-6352-45d5-9d22-ad7a0fb5e247\\})|(\\{8053ad7b-5129-4c74-ade9-8166c38e8636\\})|(\\{1a435c36-133e-4163-ac71-8701a147880c\\})|(\\{8c40c6df-7c9d-4876-bcbe-0621734aba45\\})|(\\{40e1e7d9-ae29-4aec-9465-5e0d49859583\\})|(\\{74eab03b-35cd-4950-b436-7afce3876e58\\})|(\\{95839c11-63a7-4b2b-b3d3-eee9d2c5c42d\\})|(\\{bfaa03c3-744e-48eb-8fb6-4ad61791d4d8\\})|(\\{f123e726-9396-4899-822a-172b8bcb2c5f\\})|(\\{157e255b-2053-4140-b95c-ff003b62bf17\\})|(\\{3e49a17b-b58e-417b-9ebb-a7e8c2317893\\})|(\\{4df1d536-e30f-4344-bee6-6ef2def890c2\\})|(\\{f33ce070-63f4-4d2b-823e-d52fc7a30ba7\\})|(\\{2003e2a5-e848-4fc5-8e7d-3af1efe4f992\\})|(\\{ff2157da-6981-40b6-aa60-d8125e73868e\\})|(\\{d89fa1e5-c9d4-4104-ad8e-00b39e5c6d15\\})|(\\{66e45d14-550f-4489-98c6-8a0caed33375\\})|(\\{86e6d45f-1dfe-4e53-bf52-22bf65b9ae6d\\})|(\\{e71407fe-e1ed-4755-af8f-dd64a952ce1a\\})|(\\{b67b3615-d8fe-4961-a41e-391864afde2d\\})|(\\{5785789b-ccba-44a1-9018-1135b56bd37f\\})|(\\{6dfb93d1-2add-471c-bbbc-b6164b4c1d94\\}))$/","prefs":[],"schema":1557495790401,"details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1550581","why":"I\u2019ve reviewed the add-on and confirmed that it is collecting ancillary user data, violating our policies.","name":"Adobe Flash Players"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0"}],"id":"fee4b92e-146b-437d-9cc0-95cfc800f0e0","last_modified":1557497630665},{"guid":"jid1-NIfFY2CA8fy1tg@jetpack","prefs":[],"schema":1557437285372,"details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1547789","why":"The $rewrite filter functionality allows for remote script injection under certain conditions. Please upgrade to the latest version of Adblock for Firefox to resolve this issue.","name":"Adblock for Firefox ($rewrite filter)"},"enabled":true,"versionRange":[{"severity":1,"maxVersion":"3.28.0","minVersion":"3.19.0"}],"id":"8ff19ad3-e4e0-40e3-8f02-fd80d18f63b5","last_modified":1557437486195},{"guid":"{d10d0bf8-f5b5-c8b4-a8b2-2b9879e08c5d}","prefs":[],"schema":1557437276676,"details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1547789","why":"The $rewrite filter functionality allows for remote script injection under certain conditions. Please upgrade to the latest version of Adblock Plus to resolve this issue.","name":"Adblock Plus ($rewrite filter)"},"enabled":true,"versionRange":[{"severity":1,"maxVersion":"3.5.1","minVersion":"3.2"}],"id":"f0fc8d21-d0ec-4285-82d7-d482dae772bc","last_modified":1557437285359},{"guid":"{2b10c1c8-a11f-4bad-fe9c-1c11e82cac42}","prefs":[],"schema":1557437241208,"details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1547789","why":"The $rewrite filter functionality allows for remote script injection under certain conditions. Please upgrade to the latest version of \u00b5Block to resolve this issue.","name":"\u00b5Block ($rewrite filter)"},"enabled":true,"versionRange":[{"severity":1,"maxVersion":"0.9.5.14","minVersion":"0.9.5.11"}],"id":"12a0c69f-e755-428b-97dc-229bccb8a5b0","last_modified":1557437276663},{"guid":"/^((\\{4e84c504-10e8-4e75-8885-dcc0c90999b9\\})|(\\{8ce99d6d-8d0d-4420-bd17-c303bd8a763e\\})|(\\{16de314a-56cd-4175-9baf-bbe0b09dfed3\\}))$/","prefs":[],"schema":1557434135180,"details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1549744","why":"This add-on violates Mozilla\u2019s add-on policies by overriding search behavior without user consent or control.","name":"Secure Privacy + Trustnave + Fastwebnav"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0"}],"id":"04a300c2-04fc-401e-a428-c7c887bf2bff","last_modified":1557434278943},{"guid":"{5308dcd8-f3c7-4b85-ad66-54a120243594}","prefs":[],"schema":1557433916783,"details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1550428","why":"This add-on violates Mozilla\u2019s add-on policies by overriding search behavior without user consent or control.","name":"F_Feed"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0"}],"id":"312e30b0-0b4c-4a43-8f6c-8b8447a20f6a","last_modified":1557434135166},{"guid":"/^((\\{c8d0fea0-d7b7-4f6f-b9bc-9df6722d9d18\\})|(\\{bed8e1f2-b00b-44e3-8cf0-5335080d0003\\}))$/","prefs":[],"schema":1557433212304,"details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1550435","why":"This add-on violates Mozilla\u2019s add-on policies by overriding search behavior without user consent or control.","name":"Webplus+Fastnav"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0"}],"id":"b9686c72-1902-4868-88d1-6587fd24a57c","last_modified":1557433916770},{"guid":"/^((\\{d389cdfe-843e-44cb-b127-441492e46e63\\})|(\\{1340c760-3f4c-4428-b2c0-88821a84de2b\\})|(\\{38524a16-a73d-4a8f-8111-f9347bb5266c\\}))$/","prefs":[],"schema":1557258104673,"details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1549740","why":"This add-on violates Mozilla's add-on policies by executing remote code.","name":"Add-ons executing remote code"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0"}],"id":"2feeb46a-6784-4c6e-8c07-e120bec00b14","last_modified":1557394160484},{"guid":"/^((adsmin@vietbacsecurity\\.com)|(\\{efdefbd4-5c30-42c3-ad2b-4c49082ec4cd\\})|(\\{63d83b36-a85c-4b51-8f68-8eb6c0ea6922\\})|(\\{4613a1ed-6cb1-410b-a8b1-3f81f73b6e00\\})|(\\{90b1aef7-7a52-4649-b5ca-91b5e81b5eab\\})|(\\{d6e2e76d-edff-416b-8c04-53052ff9fec7\\})|(\\{43af2e0f-b5ce-409b-9ee6-5360785c9b08\\})|(\\{e45fa96d-8b74-4666-86de-3bbfb774a74f\\})|(\\{4f8332b6-6167-4b7f-a1f9-61d8eb89b102\\})|(cpcnbnofbhmpimepokdpmoomejafefhb@chrome-store-foxified-14654081)|(developios89@gmail\\.com)|(\\{d82da356-1fa8-4550-958a-bd2472972314\\})|(\\{1dfbd1c3-a8ca-4eb3-8747-d30bfd20ecd5\\})|(\\{6f9fa22a-128f-4d1b-8ef5-d20a44d24245\\})|(\\{5f6af572-35c1-44d7-9d0f-dffbb62fcafe\\})|(developper@avast\\.com)|(\\{886a6486-37b3-4bcd-891b-fd0e335e7b1a\\})|(\\{886a6486-37b3-4bcd-891b-fd0e355e7b1a\\})|(\\{d1cd26ff-fde7-46a4-85cc-48e3bb7e9e8d\\})|(\\{ae11d5cc-8efb-43a0-89bf-e5a779b4fa40\\})|(\\{aca140ce-8249-4e6e-8e2c-cd5b1c987441\\})|(\\{f68b2ca7-0d2c-44cc-afc8-a606a896c467\\})|(\\{321db3c3-8cfd-49f1-99de-fcdc3485b379\\}))$/","prefs":[],"schema":1557222463147,"details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1549558","why":"This add-on violates Mozilla\u2019s add-on policies by collecting ancillary user data.","name":"More Keyloggers"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0"}],"id":"b62c9ee1-d66f-4964-906e-2a9b07e3fdc1","last_modified":1557222511299},{"guid":"artur.dubovoy@gmail.com","prefs":[],"schema":1557162612874,"details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1549444","why":"This add-on violates Mozilla's policies by executing remote code.","name":"Flash Video Downloader"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"16.3.9","minVersion":"16.3.5"}],"id":"d7ca07b4-9c97-4f49-a304-117c874ff073","last_modified":1557162636319},{"guid":"/^((\\{7e4a75c1-dddc-4496-9963-1c6ac99cf226\\})|(\\{35af257d-14dd-4cd0-8ebd-2d30c2b30561\\})|(\\{d6362448-1e8f-47bf-9d2f-491648d18e3d\\})|(\\{80a42dcf-193e-43a2-b662-d6b14882403f\\})|(\\{044e39fc-333b-423c-8291-26078a780b02\\})|(\\{68b3c6ce-162f-4ece-9ffa-8279855a4228\\})|(\\{057b93a7-84e6-43ff-9686-d452435ed3c5\\})|(\\{1223cfa2-7aad-4a16-b98a-6bf63b346835\\})|(\\{9815ca8b-a77c-4e4d-beac-aad1c7021dcb\\})|(\\{e3f2795a-cefc-4f7f-9435-5f091b988d2f\\})|(\\{98fd0bd5-f486-4d81-9eb1-e89e9d56bfa2\\})|(\\{f96fafd2-5860-4bfa-9537-3f2ca9dd496e\\})|(\\{da93cdd9-6aca-410e-b2f2-e927da726559\\})|(\\{d97e0506-d330-4547-8a5c-093b8aa08d7a\\})|(\\{425ad6b3-72b8-43c0-be7c-2f6585fa0ec1\\})|(\\{0375f007-f5ba-46ec-86d2-c5da84576562\\})|(\\{e8915f55-6566-4872-97eb-d77fbdbf2fb3\\})|(\\{ebd3a0c4-bf9e-4dfa-b487-f77722055edb\\})|(\\{7cc62e47-ed20-45bc-8c92-bb57128e78d6\\})|(\\{b5a15631-6429-49bd-a670-e83ac41f93a9\\})|(\\{f263d545-3234-460f-b546-a8406a0a729d\\})|(\\{6468c148-9888-4243-8de5-cb6291cac82a\\})|(\\{da2281db-0036-46f6-8878-ff26e1cf6a2b\\})|(\\{63f579ba-eaf5-4e1a-a7c2-c5e889beaf9f\\})|(\\{84569fbb-d367-40ce-b24b-fd3b611283b8\\})|(\\{da2bc16f-b499-401b-8771-9d9f32d88f86\\})|(\\{1a275ad6-5dd3-47e9-a563-41a0bebdfd90\\})|(\\{e07ebf1e-5917-46a2-95d9-61d9b51f3797\\})|(\\{0d6791d2-ce0b-4f78-90e4-8e773703bd35\\})|(\\{502c7ef7-745c-4ea0-8066-a17cf1b74957\\})|(\\{c93f0aeb-ae9b-49d9-835b-c58a6b03aa46\\})|(\\{1f0bf2a4-aff5-42d3-8633-71e65f289250\\})|(\\{28766320-358e-42e3-a2c7-67ec77552424\\})|(\\{74d4fcda-c103-4fb7-810a-4596530c00a4\\})|(\\{7b3fd37a-a127-41a0-9e4d-59ccfa165e41\\})|(\\{787fa0b0-d5f1-4454-8b0c-72d191d6775f\\})|(\\{e2bae2ed-0368-48e7-8671-3bdcc5d7713f\\})|(\\{fee16fb4-830f-438a-a3d5-f7e911d23e02\\})|(\\{72113405-b4a5-46c3-a7c6-5353568b87bd\\})|(\\{5ede50a4-4151-4635-804f-a6f56115a0c6\\})|(\\{c11487a0-d104-4bc3-814b-474f8c29049c\\})|(\\{35690b6e-1979-4ea3-89aa-44a94dda2afa\\})|(\\{e9d698ef-bad4-4960-9df3-8c41605a6d7b\\})|(\\{1472b3c1-cae8-42c4-bbdf-e71134dccf08\\})|(\\{7a40b654-1232-4e76-81e7-d95260db25cd\\})|(\\{f54699c8-c82f-4d6e-a161-919bbe8410de\\})|(\\{dca6a5cd-0d24-442a-afd4-80572bb20c34\\})|(\\{b8d5d169-f076-4098-b671-a3cb8b410f56\\})|(\\{903e6561-0646-4c38-8039-d372d8e7c90a\\})|(\\{b39977b9-bcb2-448b-9d7b-9aec7f62bc26\\})|(\\{059b5c30-b96a-48df-8083-5fff97a8f9bf\\})|(\\{1d0351bb-1d96-4779-b639-44eeceb2ebfb\\})|(\\{80c0bdb4-ba98-472d-ae56-afd8b3021115\\})|(\\{4dfc5596-9655-4b0c-819d-e2ff48fb8556\\})|(\\{d7d3ed3c-6f73-42cb-b724-c33fccc1b465\\})|(\\{b378a858-89bb-492e-8b4d-eb83e910a14b\\})|(\\{ec1fa94c-8700-49d0-ba5d-df99a912519e\\})|(\\{4db5d249-881f-4442-8c01-28536c45ebfd\\})|(\\{7a411d82-fc50-4f20-bd2c-b2b065f18097\\})|(\\{675e002b-e144-4694-a725-9e8cc6a3fa67\\})|(\\{1902a069-c039-421e-b502-1e367c237196\\})|(\\{866bb3a8-82bb-4c9a-bca5-26fd5f37c4ec\\})|(\\{6a4e7017-43cd-4646-bb48-003620bb60fe\\})|(\\{bc5c676e-a75f-475b-a27c-79687b1de3ec\\})|(\\{6b544e1a-932d-4da9-aafe-c4b4bbfe1958\\})|(\\{99631434-ff1e-49d3-88d3-9ac40d0dd1bd\\})|(\\{623b31e0-f289-47cf-995e-5a195e261758\\})|(\\{1b4d88a5-4b5d-44c8-849c-82f129a7dacd\\})|(\\{48ba880a-b7c2-4e4e-af55-9134ac926c61\\})|(\\{4b498e2a-8b17-47c0-a449-89a76b6e737f\\})|(\\{d9cbd45f-cdbc-4be1-bb16-8e60764630ff\\})|(\\{bfaaa94a-1a93-4a1c-9b54-9dbe98f3ef07\\})|(\\{87b93e6e-70a6-4538-9848-e9d0f060e372\\})|(\\{fea4fd50-ed6a-4b8e-b00d-3b2276df6e34\\})|(\\{c15450f8-8da2-4add-a8f6-603d90e8d344\\})|(\\{ec972135-8e5c-49d4-bff8-b6006b21f2d2\\})|(\\{b039f24d-8b51-40d3-abf7-55e1dc502112\\})|(\\{b308870f-ae9a-4972-af28-0218717a47f4\\})|(\\{9349a202-8b8e-4777-ba93-c723810da51e\\})|(\\{798750dc-0057-47e0-a1af-73dec73544fa\\})|(\\{186e4b6a-e3f0-4970-8f7b-05ab6bc50320\\})|(\\{dec8de3e-d3a4-4946-bcbd-c3523fee11c5\\})|(\\{06539c62-00d3-4513-9aa4-048dd273107a\\})|(\\{b200a289-900a-4953-b2c6-b7a323d6fb66\\})|(\\{4080defb-6c6b-4012-bcac-71379e9c430f\\})|(\\{b110855c-90dd-427a-894c-54b93c6572b7\\})|(\\{dd599e99-3a48-4e36-9d83-56f8c0019d4d\\})|(\\{4f43f2c7-c1e6-4091-88fe-c829b3bfe553\\})|(\\{b7a022bc-6b89-4ac1-a1fa-bf02251336b0\\})|(\\{1aa370ca-9865-4c52-89a8-79e95abc82f7\\})|(\\{fb727d0f-7c3d-4bf6-8be4-284e7e8b8f83\\})|(\\{1579b5dd-ef3d-4754-bc59-8a7707fe1219\\})|(\\{66f0cb42-bb3e-4a16-90c1-bed1e3be4aad\\})|(\\{f13a1f79-f63a-4332-a9c9-11fc50328fc2\\})|(\\{29962f4d-bf74-4775-9d02-31fe546d6fa6\\})|(\\{aa539764-9ec3-41a6-af0e-6c2dc46ecbf5\\})|(\\{9412adf1-2714-4cb2-ad5b-13d41096234a\\})|(\\{86f2f4cc-97c5-4cc5-8151-c327ab379fba\\})|(\\{ed4c3ce2-5372-429c-ae20-fa5b1f540fd7\\})|(\\{cd11da28-330d-4f09-a21f-fae7509f1b60\\})|(\\{74bc7a66-d4e6-4f1c-a0ef-1b65baa41cbf\\})|(\\{8069effc-45bb-4caf-8b27-a135431cd6b9\\})|(\\{577fc233-25bf-4e43-a164-aa75eb9d053a\\})|(\\{f5626996-f5cd-4d00-bcea-20dda6d9edd6\\})|(\\{9bb810ef-716e-4dc5-9f03-491a2c59384e\\})|(\\{02634a24-04d0-439f-9faf-a323ab4a1bac\\})|(\\{b73f7a43-a43a-47f5-8b1f-1ef7caa7857d\\})|(\\{3b5bf07b-5964-408a-8e43-e0239219c524\\})|(\\{73d3a404-150f-4594-ac2c-24f9beec78b1\\})|(\\{ef6a2133-5ed9-4dbc-a735-6ffe8490062e\\})|(\\{76b61321-01a1-4a17-850f-b064a0366b57\\})|(\\{bc41ca18-9209-4500-a847-4e514fea2536\\})|(\\{32c4c845-9bd7-4b20-97fa-a7616e7802ef\\})|(\\{410d9002-b517-471f-956e-30129e307af3\\})|(\\{43366e90-e4be-4ba6-bec0-3fb149128480\\})|(\\{8ebc90a4-f7a1-420a-8380-f85545403f80\\})|(\\{6d3fa41f-e896-4f85-ba59-321f4b26f380\\})|(\\{05c811f2-f828-4d3e-ad02-7386373e9a28\\})|(\\{e10a0ee6-8083-42a7-bed1-35400b029bf2\\})|(\\{c925be5a-ae0e-4958-be36-44dc2e64d4f7\\})|(\\{3803ed37-c101-4b21-a678-762f51b7eabf\\})|(\\{08a15cc0-d6cb-43c5-9a40-27443554b455\\})|(\\{d0953283-5970-4ebe-b270-940c6befdbb7\\})|(\\{7c983689-80c7-46dd-b9d2-4d2db1cf94a6\\})|(\\{8f320a17-868c-43dc-94fb-9d1ab7f4fe73\\})|(\\{843b406a-9593-49bf-9365-684fe8cb2f5a\\})|(\\{42cd0cbd-248d-4a44-88b6-1a3680d159ac\\})|(\\{23efa05d-99b1-49e0-a67d-5378f2afc20d\\})|(\\{f91c606c-dd33-42a4-9219-824187730f59\\})|(\\{9e233d16-18ae-4519-a83c-2806f4fee321\\})|(\\{a93cdf30-75da-463b-865b-f49cc7fd2697\\})|(\\{dcacb62c-9096-482d-845d-10413199a89b\\})|(\\{9d5da26f-c366-46b2-b3e7-5c8e3e0b9788\\})|(\\{dd176d1f-8cd5-4b5b-8b06-839449e87b5e\\})|(\\{9ada3b66-4412-427d-8696-ac0fe0ac891e\\})|(\\{9695495e-cb65-4cd6-8a93-52c9e2b8d767\\})|(\\{e9d1a027-a84c-4e90-b602-66ffe22a0ad6\\})|(\\{f71bda5e-c591-44aa-8f84-2f04989f7e7a\\})|(\\{e6e67c6f-c010-406d-8575-1835341ec4cf\\})|(\\{22fbf524-38be-4ead-b6ce-e55cb23ed74b\\})|(\\{866dafe9-1c49-47d7-a46c-1cb50ca52461\\})|(\\{3479fadc-41b1-492e-bb16-d8f9e514d488\\})|(\\{8c02daf2-79ed-4650-89ca-1e099d28c5e7\\})|(\\{65e6b805-7f0c-455f-b1b4-c34621056b46\\})|(\\{78de7006-944c-4c18-a33a-d6931619f2b0\\})|(\\{16c8051b-2c16-4641-bf29-2daee7883fd0\\})|(\\{19263ccc-a97f-49f4-867a-b49351c42c0c\\})|(\\{bfe416d8-e8c3-469c-908e-6926770152f0\\})|(\\{a29a4a96-2fcd-48f8-bfe1-a1d1df46e73d\\})|(\\{2d651636-a0fa-45b7-a97e-ebc85959ff23\\})|(\\{ac8a3af8-e264-4a0b-b813-d7fab03ae3fe\\})|(\\{4719ad8b-354b-443d-b1e6-4d60b851c465\\})|(\\{7679a9f9-29d8-4979-86e7-a5b5cf0e2fd3\\})|(\\{099e1648-58e7-492e-8019-3418263b9265\\})|(\\{9a83d154-4ea3-45f9-ae21-28f3c1f86773\\})|(\\{475b88fd-574c-4881-98e0-0184a03593cb\\})|(\\{d7b586f8-a22d-4986-9dfb-67d49ba46a68\\})|(\\{50b79e30-a649-4477-8612-7085c0ee3ad4\\})|(\\{e9b2d453-9a98-41e4-9837-c0d68ff1aeac\\})|(\\{b1814ce5-0d9f-495f-b260-a7e1e5538263\\})|(\\{9b06d35e-2eb0-4653-886f-a3f4cdcbb754\\})|(\\{e7d6a360-69d4-4f8c-a96f-fd63388995b2\\})|(\\{68a50af6-ddad-4750-a9a7-a71c55e019b7\\})|(\\{8286a0e0-ba89-48b3-871b-8c9acff32023\\})|(\\{b3c79903-9bc5-4ddf-aeeb-7d91989ae819\\})|(\\{7c5cc4ec-9637-428c-bcf7-28bba279cf84\\})|(\\{93d460ee-879f-4d8f-8599-a1c69ed59ec2\\})|(\\{207c95d5-2bb9-4760-b3a4-8c58ea173bff\\})|(\\{b3482681-1abf-4dfa-bace-dc7b51e6a150\\})|(\\{d3516cf6-d531-434a-b80a-df72c7166744\\})|(\\{da01a2aa-0cbb-4f57-a395-2256d142c519\\}))$/","prefs":[],"schema":1557085300242,"details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1549214","why":"This add-on violates Mozilla\u2019s add-on policies by collecting ancillary user data.","name":"Various Keyloggers"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0"}],"id":"654077f4-a8b3-4822-8962-0bb1cac1d70d","last_modified":1557087541924},{"guid":"{93d460ee-879f-4d8f-8599-a1c69ed59ec2}","prefs":[],"schema":1556912498785,"details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1549069","why":"This add-on violates Mozilla\u2019s add-on policies by collecting ancillary user data.","name":"Browser Security &Adblock"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0"}],"id":"95cfb43b-72c3-4fb3-a0f2-fc975aff398d","last_modified":1556977392946},{"guid":"{fc4c96b2-4eaa-4221-86a6-392dc1eb919a}","prefs":[],"schema":1556797012258,"details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1548536","why":"This add-on violates Mozilla's add-on policies by executing remote code.","name":"AspectResolver"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0"}],"id":"3f6acc8a-f46c-42cb-8220-48c2e5885bd3","last_modified":1556808070195},{"guid":"/^((premium-enhancer@ext\\.com)|(notif-rm-unlisted@ext\\.com)|(search-updater@ext\\.com)|(updt-lite-unlisted@ext\\.com)|(coldsearch@ext\\.com)|(reader@ext\\.com)|(local@ext\\.com)|(fptool@ext\\.com)|(gflash@ext\\.com)|(advplayer@ext\\.com)|(yfp@ext\\.com)|(ytbenhancer@ext\\.com)|(yoump@ext\\.com)|(floating@ext\\.com)|(ytbhelper@ext\\.com))$/","prefs":[],"schema":1556792823258,"details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1547311","why":"This add-on violates Mozilla\u2019s add-on policies by overriding search behavior without user consent or control.","name":"Various fake player/search add-ons"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0"}],"id":"9efe3274-2bd2-44a3-aa7f-92934581470b","last_modified":1556794746654},{"guid":"{a38141d9-ef67-4d4b-a9da-e3e4d0b7ba6a}","prefs":[],"schema":1556787949626,"details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1548473","why":"This add-on violates Mozilla's add-on policies by changing search behavior without users consent or control.","name":"ReStyle"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0"}],"id":"b0ff609b-c98e-4d29-8323-61c3e064ec9c","last_modified":1556791242742},{"guid":"{0beedf0b-dc79-48bd-adff-2ed36acdb806}","prefs":[],"schema":1556787897696,"details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1547930","why":"This add-on violates Mozilla's add-on policies by executing remote code.","name":"Player (Malware)"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0"}],"id":"71475499-ca6f-4b71-8bef-2b95cf59ee30","last_modified":1556787931409},{"guid":"{c11adb01-56bc-44d6-ac05-6f364e2afe01}","prefs":[],"schema":1556787838618,"details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1547934","why":"This add-on violates Mozilla's add-on policies by executing remote code.","name":"Flash Player (Malware)"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0"}],"id":"e6371474-8681-4498-8e89-421f25fd2e12","last_modified":1556787897686},{"guid":"{a1f6fa05-26cd-4399-a97a-7996067d04b0}","prefs":[],"schema":1556739699995,"details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1548134","why":"This add-on violates Mozilla's add-on policies by changing search behavior without users consent or control.","name":"TC"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0"}],"id":"3659d4a2-3121-45cd-b8b6-5b2c96ebc17f","last_modified":1556787838607},{"guid":"{c65b18e1-cd3d-4773-a901-15a0753e7d81}","prefs":[],"schema":1556224830338,"details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1546994","why":"This add-on violates Mozilla\u2019s add-on policies by executing remote code.","name":"PrincipalInterceptor"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0"}],"id":"af62a050-b136-4d56-ab3a-af85a2510bc4","last_modified":1556224874229},{"guid":"{4bf110f8-5f50-4a35-b7fa-64228bfa2d0b}","prefs":[],"schema":1556224790813,"details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1547048","why":"This add-on violates Mozilla\u2019s add-on policies by executing remote code.","name":"Predicate Property"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0"}],"id":"5968da82-1d7e-407e-bf93-5d2247ce55c1","last_modified":1556224830329},{"guid":"{0bd4e0af-664d-4273-a670-7cb3d0b5a4a5}","prefs":[],"schema":1556224295744,"details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1547046","why":"This add-on violates Mozilla\u2019s add-on policies by executing remote code.","name":"ConsumerWatcher"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0"}],"id":"6a6cc6fb-dce1-49cd-b624-7b44afacf157","last_modified":1556224790803},{"guid":"{bbddf452-1a72-4a5d-a833-0416ac7fd76f}","prefs":[],"schema":1556197615318,"details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1546989","why":"This add-on violates Mozilla's add-on policy by executing remote code.","name":"AV Scanner (Malware)"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0"}],"id":"20c25379-aed8-4ab4-9e7f-f2d3f5d948a7","last_modified":1556206274610},{"guid":"/^((\\{1601769e-0b0d-4c43-97a7-723ce374996b\\})|(\\{d714118b-5cdd-4829-9299-1066fecc0867\\})|(\\{e8671db6-24be-4744-808c-a63fb744ccca\\}))$/","prefs":[],"schema":1556133515829,"details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1545834","why":"This add-on violates Mozilla\u2019s add-on policies by overriding search behavior without user consent or control.","name":"XPC and Tabs"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0"}],"id":"1b536121-fd82-4639-bc70-30d7060e42d3","last_modified":1556133806451},{"guid":"{3f5f741d-a980-4b58-8552-b1ae328841f4}","prefs":[],"schema":1556099103820,"details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1546480","why":"This add-on violates Mozilla's add-on policy by intentionally weakening website security and adding fraudulent content to web pages.","name":"Google Translate (Malware)"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0"}],"id":"ae288e5e-78d5-4b49-8b4d-fa9f25c3baa2","last_modified":1556112119390},{"guid":"{3fab603e-3ee1-1222-a859-5f85a3441216}","prefs":[],"schema":1555527937277,"details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1545213","why":"This add-on violates Mozilla's add-on policy by overriding search behavior without user consent or control.","name":"Add security (Malware)"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0"}],"id":"74ad8c8b-a65a-470c-aa2f-ca14e1e8774d","last_modified":1555528639011},{"guid":"/^((\\{880cacfe-5793-4346-89ce-fbbd368d394c\\})|(\\{f0780038-50b9-11e9-9c72-4ba2d8f2ec9f\\})|(\\{22ffe411-2b0e-11e9-87f9-c329f1f9c8d2\\})|(\\{cf4bae43-026f-4e7e-a85a-952a7ca697a1\\})|(\\{17052516-09be-11e9-a008-03419f6c8bc6\\})|(\\{333fb3de-18a8-18e8-b6d3-e73213911efb\\})|(\\{aa4abac2-1ffa-12aa-bbdd-9305cb2c1254\\})|(\\{72222e70-2fd6-11e9-956b-27f7787b8d2d\\})|(\\{637212d8-3484-11e9-9812-005056b22b42\\})|(\\{4a222e60-31de-1eca-8476-37565daf6afb\\})|(\\{7fc6d222-48d5-11e9-b586-17e94c73a1b1\\})|(\\{e111c358-121b-13fa-bf23-bb57da32d184\\})|(\\{9674445c-8dff-4580-96b2-99442a7ae9af\\}))$/","prefs":[],"schema":1555525532852,"details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1544315","why":"This add-on violates Mozilla's add-on policy by executing remote code.","name":"Various"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0"}],"id":"cbd7444f-e62a-4639-b172-845548b6d4a7","last_modified":1555527929174},{"guid":"{674fff65-6cd0-488a-9453-fb91fc3d7397}","prefs":[],"schema":1555406446874,"details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1543924","why":"This add-on violates Mozilla\u2019s add-on policies by executing remote code.","name":"Assistant"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0"}],"id":"8aff4cb0-4d5f-4e74-8db7-b04f616c3b60","last_modified":1555503879816},{"guid":"{40cd7fd2-a3e4-43f9-9d86-0e0a70376203}","prefs":[],"schema":1555184501005,"details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1544268","why":"This add-on maliciously injects remote code for execution.","name":"Scan Tech"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0"}],"id":"881d3476-f18a-4560-b065-cded406783d2","last_modified":1555228377222},{"guid":"{8ee8602c-aba6-4e2a-9faa-1724c3f4f9ba}","prefs":[],"schema":1555102738661,"details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1544205","why":"The add-on is maliciously loading remote code for execution.","name":"Service Proccesor"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0"}],"id":"94621e2f-28a0-4b18-97c6-5f6203f5912e","last_modified":1555161086175},{"guid":"{d8b03707-e39f-4b17-8e56-56354fb14af5}","prefs":[],"schema":1555100104657,"details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1544103","why":"This add-on maliciously injects scripts, violating our policies.","name":"Interruptible Observer"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0"}],"id":"3a921aa8-d44a-4272-be63-0fd102577f59","last_modified":1555100575898},{"guid":"{132cb2fd-a6ae-45d2-84cf-b48d591f037d}","prefs":[],"schema":1555099951278,"details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1543922","why":"This add-on injects remote scripts and overrides search behavior without user consent or control. It also masks as an add-on with a different purpose.","name":"Player"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0"}],"id":"371796e4-387a-4dd0-9ddc-47ba1dd85be7","last_modified":1555100104648},{"guid":"H.264.Addon.Test@firefox.com","prefs":[],"schema":1555099832659,"details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1543919","why":"This add-on exfiltrates user data without consent or control and may be misleading the user into believing this is an add-on by Firefox.","name":"H.264 Video Codec Fake"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0"}],"id":"53ef1aad-7bdb-4f4e-8d46-55d6ec2d78ab","last_modified":1555099951269},{"guid":"{608f71eb-5bd6-45d8-bc93-b9e812cf17b7}","prefs":[],"schema":1555099501294,"details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1543801","why":"This add-on maliciously injects remote scripts, violating our policies.","name":"Consumer Tech"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0"}],"id":"ea00841e-8dc2-4e11-9119-7a599e47d800","last_modified":1555099832650},{"guid":"/^((\\{8220ccaf-15a4-4f47-a670-a4119a4296a4\\})|(\\{9da72c11-44d7-423c-b19c-c75cd6188c3e\\})|(\\{99d0e4d0-c5ef-4567-b74c-80c5ed21ad99\\}))$/","prefs":[],"schema":1555011689511,"details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1543848","why":"This add-on violates Mozilla's add-on policy by overriding search behavior without user's consent or control.","name":"Search overriding add-on"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0"}],"id":"03554696-58fe-4b90-89d1-72b72f88f82e","last_modified":1555069748234},{"guid":"/^((\\{b37f383f-e60f-4eb1-ac0f-9147e0e8f2f7\\})|(\\{8ad567d2-3fe2-446b-bce9-a3acbe878dba\\}))$/","prefs":[],"schema":1554997740201,"details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1543673","why":"These add-ons are overriding search behavior without user's consent or control.","name":"Hash"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0"}],"id":"036e2e7d-5403-49be-92cf-b5187ceef7ec","last_modified":1554997910212},{"guid":"{be6ab6a9-7004-4c5c-8df9-8d36122d8b14}","prefs":[],"schema":1554997613727,"details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1543705","why":"This add-on injects remote scripts with malicious intent.","name":"asin"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0"}],"id":"6fd3ab94-8e38-47f3-b129-3ca8396d0a22","last_modified":1554997740187},{"guid":"/^((\\{61f433aa-45fd-42a9-9c90-c1d7820661d5\\})|(\\{86cd46b6-433a-439c-bff2-722846709f44\\})|(\\{98e126a4-4e70-4300-b893-3b2cca19bc9b\\})|(\\{8f42dc3a-1c46-4fc2-8c7f-dd76a63b1cf7\\})|(\\{a24d3582-2fc2-475c-8440-335736e17c6e\\})|(\\{cf0b5280-cd08-465d-ad7d-70308538f30a\\})|(\\{936f3c79-5dc9-4694-bca8-47932de3357a\\})|(\\{e48d5888-8736-4858-83ba-e816378ffef8\\})|(\\{5305f89c-ceec-4217-8bae-c9c376c7462b\\})|(\\{a2ac47e5-d225-4718-9b57-18a932f87610\\})|(\\{79f60f07-6aee-42cd-9105-c0a52f401316\\}))$/","prefs":[],"schema":1554981266268,"details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1543664","why":"These add-ons exfiltrate user data while masking as a legit add-on.","name":"Adobe Flash Player Fakes"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0"}],"id":"fc38e782-d55b-4fb7-8f9c-374aa18af09c","last_modified":1554997613713},{"guid":"/^((\\{0913599d-3094-44a7-8cc2-b8467d5afc7c\\})|(\\{7bee7f1b-d8ad-424d-807d-e69e6634988e\\}))$/","prefs":[],"schema":1554898779160,"details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1543462","why":"This add-on violates Mozilla's policies by exfiltrating user data without their consent or control.","name":"Malware exfiltrating user data"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0"}],"id":"0d86ba71-7baa-4cb3-b3b8-da4ccdfa36b9","last_modified":1554976164809},{"guid":"/^((\\{9946bf2f-0aef-4040-bc57-cdae2bde196a\\})|(\\{d511784e-d088-4fce-b77c-14c186f08641\\})|(\\{fe59312a-97bd-4ca7-bce3-b0db95b1e251\\}))$/","prefs":[],"schema":1554897771015,"details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1543118","why":"This add-on violates Mozilla's add-on policies by overriding search behavior without user consent or control.","name":"Invert (Malware)"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0"}],"id":"ed01b7e5-73d1-42a6-9fc8-af2d83879854","last_modified":1554898652923},{"guid":"{c75432cb-980d-4e64-98c8-d7947b382a2c}","prefs":[],"schema":1554897109129,"details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1543255","why":"This add-on violates Mozilla's add-on policies by executing remote code.","name":"Concrete Tech"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0"}],"id":"7fd0eb9c-9f6c-40ea-ba39-645cafb1d5a0","last_modified":1554897390260},{"guid":"/^((\\{6a99a9ec-f149-4ad3-b644-15e44290d00c\\})|(\\{cd9d1582-13dc-4ce1-9c83-4aaa31c6bc36\\})|(\\{3414a827-ee54-4331-85eb-736a824bb7e0\\}))$/","prefs":[],"schema":1554896836686,"details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1543181","why":"This add-on violates Mozilla's add-on policies by overriding search behavior without users' consent or control.","name":"Drag (Malware)"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0"}],"id":"a4f0ac78-ba85-4b5a-9d1f-f3f2c6ae4f7c","last_modified":1554897104624},{"guid":"/^((\\{4b6e66db-ee0b-4fc3-abe6-b97cb4798faf\\})|(\\{8aff5f41-86f8-40f1-896d-954eae7fb670\\}))$/","prefs":[],"schema":1554817097951,"details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1543049","why":"Search hijacking","name":"Fit"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0"}],"id":"8a7efe6b-8670-4714-b4b2-08ce5f202ee7","last_modified":1554818136441},{"guid":"{81425b21-cc8c-42d0-98e8-69844bcb7404}","prefs":[],"schema":1554811583185,"details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1543048","why":"Remote Script Injection","name":"Tech Chip"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0"}],"id":"dafcc63d-37e0-42e2-b439-59727cf9de48","last_modified":1554811754967},{"guid":"{d85aa6ef-639b-43a1-8560-ddeb59935d10}","prefs":[],"schema":1554803024628,"details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1543047","why":"Remote Script Injection","name":"BatchSerialize"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0"}],"id":"204b7b05-d8e1-4de3-86f9-fcf95edb40c0","last_modified":1554811583171},{"guid":"/^((\\{bf163ed1-e9f9-4c98-ae4b-8391133472d1\\})|(\\{ec283482-2d66-49b2-9dc5-0d03bcbffe65\\})|(\\{0a19856e-4168-4765-a8ab-a3a34fa88ec1\\})|(\\{e2019dd1-4591-42e2-864a-535a99972b1a\\})|(\\{88a65f0c-f952-41f0-8868-f22fa12597b3\\}))$/","prefs":[],"schema":1554754247858,"details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1540998","why":"Exfiltrating user data to a remote site while masking as a different add-on","name":"More Flash Player Clones"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0"}],"id":"ddd97fae-7040-4758-811f-1dd53116e6ab","last_modified":1554755273775},{"guid":"/^((\\{743fc0de-1085-4078-8611-848024989608\\})|(\\{02acc043-f402-4e48-aa15-56ee1364e17c\\})|(\\{1b7892ab-6dbe-49d1-9c71-bbb70458c830\\})|(\\{25b3b5bc-b77a-49d1-ab56-c0e760fe02ff\\})|(\\{2c78aa89-8cdd-4a96-821a-e35628aea2fb\\})|(\\{2f154b99-05c2-4629-b687-f2aa031d9f65\\})|(\\{36df6f78-16c4-42c2-a6b8-9210a2953739\\})|(\\{40ada62f-72a8-46b7-8e50-4153f660ce34\\})|(\\{49f58462-fc24-472c-b85a-4a3dbbf48741\\})|(\\{4a8cb3fd-0400-47b3-a799-9f2964229bfa\\})|(\\{5429f6da-d7fe-4f1b-a85e-6dc721ec0037\\})|(\\{74480b2f-1198-45b3-86b3-ca0778482216\\})|(\\{777f1169-a824-459d-8a2d-ca2ffaf59424\\})|(\\{81e610be-656a-4a71-866d-dd94b5096c60\\})|(\\{81ee3e70-b6e4-44d0-b5c2-94ded26bb5ac\\})|(\\{881c71c1-6800-4e8b-89de-0d14ef67d588\\})|(\\{9b5d7f59-be9c-4f1e-bf0c-31f085c17726\\})|(\\{9eff0ead-25a4-429c-b4b2-280ba3c6f2d9\\})|(\\{ad1b7e87-e260-4aee-a602-ef234743443e\\})|(\\{b54a530a-cacc-4c76-a7c3-feafd4ce0b13\\})|(\\{bd0d7634-770e-4d9f-8309-d264a5fbbfa9\\})|(\\{bdf16cc8-3da6-4317-a1eb-2ab8adce6b66\\})|(\\{bf484a7f-49fd-4681-afa5-8a063d010a14\\})|(\\{c7cf6d86-207b-4231-a96a-bbfdc9fe59aa\\})|(\\{d33f83c2-dbc6-41d2-a8b9-28fdaa96985e\\})|(\\{d71757ee-edc7-44d5-b536-cb0370d7d9f6\\})|(\\{daf86db4-7dd4-47d4-a1d1-7c31f6b9bbe3\\})|(\\{e27060a0-5fb5-4844-b446-d2655d7681fa\\})|(\\{fae0d133-05dd-44e6-88e1-e218ca2b2caf\\})|(\\{fbf69005-55d8-4360-a562-255a8c285fea\\})|(\\{fd6d1b53-89f5-4d91-9234-fb3e1b067c1b\\}))$/","prefs":[],"schema":1554753973658,"details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1540998","why":"Exfiltrating user data to a remote site while masking as a different add-on","name":"Adobe Flash fakes"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0"}],"id":"e12a97c7-2c83-4e1c-a2c3-66a653bc6048","last_modified":1554754247845},{"guid":"{ea173fdc-f27a-482a-8a0a-61fd1aa2ee2e}","prefs":[],"schema":1554744706554,"details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1541005","why":"Masks as a legit add-on and includes a remote script that is against our policies","name":"InterpreterInvocation"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0"}],"id":"8742ec6a-2e51-4e94-bc6a-653dac08521b","last_modified":1554753973644},{"guid":"{16768af9-4120-4566-95cf-c4234effa084}","prefs":[],"schema":1554733900697,"details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1540999","why":"This add-on changes the search settings in a way that is not allowed per our policies","name":"Unknown search hijacking add-on"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0"}],"id":"3fb0ed8e-6e5d-489e-8c9d-b6f48705a742","last_modified":1554736392840},{"guid":"{35b9640e-ebbb-44b7-85af-d9ec3af3c6a6}","prefs":[],"schema":1554730607333,"details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1540690","why":"Malicious remote script injection","name":"Patagonia Bit"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0"}],"id":"0eb3a151-ca6b-4dbb-81b3-c10635660c84","last_modified":1554733900683},{"guid":"{d574e1f8-537d-4b6c-97bb-9f7a138f4d67}","prefs":[],"schema":1554728269766,"details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1540686","why":"Injects remote scripts and masks as a different add-on","name":"DistributedConsumer"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0"}],"id":"a158055b-3387-4961-a4a3-a820d9299e15","last_modified":1554730607318},{"guid":"one-search@mozzilla.xpi","prefs":[],"schema":1554666099983,"details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1542208","why":"The add-on violates Mozilla's add-on policies by overriding search behavior without user consent or control.","name":"One Search"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0"}],"id":"1344c583-9593-412f-a565-c6cc96a07c28","last_modified":1554718843138},{"guid":"/^((\\{00b4b65b-79d9-4e92-bc1e-2b926918b91c\\})|(\\{0cb66591-e935-47e4-95c2-3063786f6555\\})|(\\{6cf25884-f86d-4a4e-a924-d95282ce5b71\\})|(\\{22cce9c6-a1de-457f-8938-c981b976b6f4\\})|(\\{89d99d4c-e7c4-4601-91a8-216e597a826b\\})|(\\{998d3ac7-b475-410e-ad3d-2eeb526c1853\\})|(\\{9423e8df-6200-45c0-877a-479c46e91b30\\})|(\\{64937e0b-6e00-4d5f-bf19-190d6614aae2\\})|(\\{91507dc4-c005-4534-80af-d8fbdeac29ed\\})|(\\{a2247e60-7b89-4857-a2fa-0eaee1cad460\\})|(\\{c9c28751-5865-449f-8e45-b3363edf9fb7\\})|(\\{cdfd004f-cddc-4ad7-8e2d-a58457e42b1f\\})|(\\{d3e7f35d-7d9f-4d38-9a2b-1581f6b3e870\\})|(\\{df574ffe-cce0-42db-857b-627cb164a4d4\\})|(\\{e06afe6e-ed52-40f8-82bf-d070a37387fb\\})|(\\{e7e7fb96-cfab-4a5b-85fe-20f621e1bc2e\\})|(\\{e12e5afd-bd1e-43c6-9288-321dc485cb1c\\})|(\\{e92d8545-0396-4808-96de-830c61c0d1b3\\})|(\\{e883b012-1987-4f37-8053-02e59e20c242\\})|(\\{ed3386c6-76c6-4786-a37b-9816d5f2a260\\}))$/","prefs":[],"schema":1554462951082,"details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1541662","why":"These add-ons violate Mozilla's add-on policies by overriding search preferences without user control or consent.","name":"Search overriding malware"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0"}],"id":"a1c376fe-20c5-4da3-9126-3fe95b874dce","last_modified":1554463075420},{"guid":"sourcegraph-for-firefox@sourcegraph.com","prefs":[],"schema":1554375072708,"details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1541010","why":"This add-on violates Mozilla's add-on policies by executing remote code.","name":"Sourcegraph for Firefox"},"enabled":true,"versionRange":[{"severity":1,"maxVersion":"19.4.2.1038","minVersion":"0"}],"id":"9fde5729-9be6-4955-9627-67742c5ed62a","last_modified":1554395912709},{"guid":"/^((\\{6ab41e83-2a91-4c2a-babb-86107a1d1f75\\})|(\\{d84a9d0d-7a31-459e-b45a-2ad111884d1f\\}))$/","prefs":[],"schema":1554293659259,"details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1541405","why":"This add-on violates Mozilla's add-on policies by overriding search settings without user control or notice.","name":"PopWin (Malware)"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0"}],"id":"04b2954e-4f83-4557-968e-2139a277bf1c","last_modified":1554301860877},{"guid":"/^((@searchlock-staging-automation)|(@searchlock-automation)|(@searchlock-fx)|(@searchlock-staging)|(jid1-vRJA7N8VwBoiXw@jetpack))$/","prefs":[],"schema":1554293340413,"details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1540868","why":"This add-on violates Mozilla's add-on policies by executing remote code and overriding search preferences.","name":"SearchLock"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0"}],"id":"aacb25e1-71c5-4bee-ad16-e39e732210ba","last_modified":1554293606641},{"guid":"{03dfffe0-509f-11e9-aa00-e7e13d49f3de}","prefs":[],"schema":1554290590697,"details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1540113","why":"This add-on violates Mozilla's add-on policies by executing remote code.","name":"Addon (Malware)"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0"}],"id":"9c75fe89-7011-47ad-b213-57f5a81a4c89","last_modified":1554290693618},{"guid":"{e555c358-121b-13fa-bf23-bb57da32d184}","prefs":[],"schema":1554290541557,"details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1540111","why":"This add-on violates Mozilla's add-on policies by executing remote code.","name":"Security (Malware)"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0"}],"id":"1809ea7a-8155-4ae7-8c83-ee7c749d30f5","last_modified":1554290590689},{"guid":"{a9c33302-4c97-11e9-9a9d-af400df725e1}","prefs":[],"schema":1554147700324,"details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1539514","why":"This add-on violates Mozilla's add-on policies by executing remote code.","name":"Security (Malware)"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0"}],"id":"5b4e4e75-cc96-4ca9-aa9f-6a2d2f6cd96a","last_modified":1554290541548},{"guid":"{a3f765c3-8dde-4467-ad6e-fd70c3333e50}","prefs":[],"schema":1554119395186,"details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1538143","why":"Remote script injection","name":"Angelic Bit"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0"}],"id":"93dc42cc-4ff3-460d-a8f2-12f1d947b530","last_modified":1554119427564},{"guid":"{91f77263-866e-4acb-a569-f66ac47889f8}","prefs":[],"schema":1553974898434,"details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1539226","why":"Remote script injection","name":"Bit Apex"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0"}],"id":"c528f48a-9b2c-48ca-8b4a-eac442cc0bd0","last_modified":1554119395177},{"guid":"{2256fabf-19f1-4e12-9951-5d126dd9e928}","prefs":[],"schema":1553899022464,"details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1540086","why":"Search hijacking","name":"Twit"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0"}],"id":"7c705f73-9d1d-4ee9-ad11-347d18729adb","last_modified":1553900528324},{"guid":"/^((\\{00f77164-eca9-4353-916d-8ea493a54c8d\\})|(\\{0716b2a5-8181-45b8-b675-915e38903761\\})|(\\{26124967-7e32-4577-b998-7296c68d3eb9\\})|(\\{273052bc-fc67-4fc1-a6fd-e62acc3ddad1\\})|(\\{4b5f53ac-36ac-4018-80cb-f1106f60ef96\\})|(\\{61065f61-51aa-462c-aca0-f1addbfa202b\\})|(\\{63383006-d617-4a00-9ca7-30a6864782ee\\})|(\\{7629c987-59ea-4e2f-bcde-b55646ecd268\\})|(\\{78e8c8fa-32ce-432b-9a40-b615bff7cd96\\})|(\\{8e9c05df-e0f5-479f-abb9-858650cb471e\\})|(\\{947f1ac0-09f2-4016-a345-dad0d2ee8f57\\})|(\\{9b9f8124-47bc-4699-8557-45573995b0af\\})|(\\{ab159932-d1dd-4d16-9332-8302a01e0ced\\})|(\\{b7340504-f6ba-43cb-8bd6-5ead88d29898\\})|(\\{bcb9265f-20fd-4311-a33f-212c2d08043a\\})|(\\{f8701822-2814-4d5d-af01-cf7fde4fd510\\}))$/","prefs":[],"schema":1553898687988,"details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1539910","why":"Data exfiltration, is not actually a flash player","name":"Adobe Flash Player fakes"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0"}],"id":"64fc6369-b504-4920-abab-f2cf3cc5424a","last_modified":1553899022456},{"guid":"/^((\\{7dd03112-82a0-4c82-9957-117dedaac14a\\})|(\\{59fd3cac-1a4d-4f0f-a129-c241b203eb51\\}))$/","prefs":[],"schema":1553897736388,"details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1540287","why":"Search hijacking","name":"Song"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0"}],"id":"b32b14f5-0024-48fb-a4b6-1496add1dac0","last_modified":1553898687980},{"guid":"/^((\\{70c2cef0-6cc6-41b8-ad6b-bbd11182a101\\})|(\\{a0366612-376e-47e3-b5fa-b805c7176088\\}))$/","prefs":[],"schema":1553810805293,"details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1540055","why":"Search hijacking, masking as legit add-on","name":"Pix"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0"}],"id":"d78262b0-ecfc-475e-9759-f7319451cb43","last_modified":1553847044919},{"guid":"/^((\\{10f1b84d-79ca-41d0-97f6-abb53cec0765\\})|(\\{7891c029-0071-4534-b7f0-7288f14ee0ad\\}))$/","prefs":[],"schema":1553810612956,"details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1538476","why":"Remote script injection, search hijacking","name":"FX"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0"}],"id":"50197dbd-71bc-492f-a0f1-6658ec454df4","last_modified":1553810696456},{"guid":"/^((\\{058769c7-784e-47a9-a2c4-dfd81bbf6c8c\\})|(\\{2a58598a-f951-4fb0-af2b-12fb7482bf33\\}))$/","prefs":[],"schema":1553810234714,"details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1539910","why":"Keylogger","name":"Fake adobe flash player"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0"}],"id":"e1355888-e1cd-4d21-9652-c3000662ed88","last_modified":1553810612947},{"guid":"/^((\\{54c7e57f-8ef0-48d5-92a0-6e95d193a12c\\})|(\\{32d262da-e3cd-4300-aa0b-c284eb4e17bf\\}))$/","prefs":[],"schema":1553802101395,"details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1538536","why":"Search hijacking, masking as legit add-on","name":"TxP"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0"}],"id":"fa6c7cdb-e477-4478-8dd4-3e1106be6aa3","last_modified":1553810234705},{"guid":"/^((\\{36261798-4c2a-4206-89cc-6c28932b2e98\\})|(\\{b2b9bb64-78d5-43ca-b0cf-a9ee8460521b\\}))$/","prefs":[],"schema":1553616425198,"details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1538234","why":"Clone of Feedbro with added remote scripts and search hijacking","name":"Feedbro Fake"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0"}],"id":"e00b2639-8a4f-427a-80d8-7c4937c58f31","last_modified":1553620435398},{"guid":"new-tab-search@mozzilla.xpi","prefs":[],"schema":1553616311575,"details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1538500","why":"Search hijacking","name":"New Tab Search"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0"}],"id":"a4dca16a-9fa1-4b55-899c-0f8d5eda1a57","last_modified":1553616386570},{"guid":"{a9c33302-4c97-11e9-9a9d-af400df725e3}","prefs":[],"schema":1553616259023,"details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1538141","why":"remote code execution","name":"Fake Security add-on"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0"}],"id":"0c09f067-6e5f-4ee0-9040-08b4297ebe02","last_modified":1553616311567},{"guid":"{7ab5c514-4ebe-22e9-a925-9b7c7317c373}","prefs":[],"schema":1553548654429,"details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1538266","why":"remote code injection","name":"Eval"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0"}],"id":"a1f04f09-f4d5-4875-b4b1-a2c772178e8e","last_modified":1553616158755},{"guid":"{bc919484-f20e-48e2-a7c8-6642e111abce}","prefs":[],"schema":1553519202849,"details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1538962","why":"Inserting monetization iframes and masking as a legit add-on. Contains patterns for known malicious add-ons.","name":"Pinterest Save Button clone"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0"}],"id":"7abbecfb-5512-47d1-ba9b-96d6a61b85ee","last_modified":1553548325261},{"guid":"/^((\\{157cd8f9-48f0-43a1-9bcf-c4316753e087\\})|(\\{157cd8f9-48f0-43a1-9bcf-c4316753e086\\})|(\\{157cd8f9-48f0-43a1-9bcf-c4316753e088\\}))$/","prefs":[],"schema":1553186907495,"details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1537895","why":"This add-on violates Mozilla's add-on policies by overriding search settings.","name":"SD App (Malware)"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0"}],"id":"e263fbec-7155-442f-aa82-cdf218f9e3d7","last_modified":1553193746700},{"guid":"/^((\\{1c94bc8a-3ac1-12e1-aae7-0b314772229c\\})|(\\{8a22255c-4737-11e9-a86b-0bb66337cb31\\})|(\\{3fab603e-3ee1-1222-a859-5f85a3441216\\}))$/","prefs":[],"schema":1553166786114,"details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1535655","why":"This add-on violates Mozilla's add-on policies by executing remote code.","name":"'Security' add-ons (Malware)"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0"}],"id":"6cf1b676-f0b8-4fea-8a5f-64957650dc2e","last_modified":1553172061896},{"guid":"{28ac81f1-b04d-448f-94be-1b8cc8fbd58d}","prefs":[],"schema":1553079961735,"details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1536513","why":"This add-on violates Mozilla's add-on policies by executing remote code.","name":"UtilsBridge (Malware)"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0"}],"id":"f60b3eec-b8b8-4bd7-8d2b-3f7912c3451f","last_modified":1553080348264},{"guid":"/^((\\{9332d73d-7991-46bf-8b67-6db1a21f0167\\})|(\\{b33715d3-eff8-4186-a252-0af5094b8644\\})|(\\{eb7aff78-6145-4a31-a7f5-f3c353ddb312\\})|(\\{6c5cd693-2919-4458-b776-2ac5b6ab1cb0\\})|(\\{daacefee-aaba-4f10-8d4d-059904d8a153\\})|(\\{94d8d504-838c-4392-9971-cd2f6e21ca21\\})|(\\{6574bb31-c971-454f-b08c-a75bfee00855\\})|(\\{1688ecb0-e382-481f-8c70-541d70bdd2e9\\})|(\\{f7b9f777-7b01-4f73-8eb8-f2ad85d4da1c\\})|(\\{598d7ac6-1789-4573-ae6a-5798ed7f6d83\\})|(\\{c0eb4d03-d18e-40bf-b21b-8237ee1bed76\\})|(\\{d0513185-1f20-4045-a232-f3a4252af379\\})|(\\{9ae8269f-eea1-4097-87fd-b7d2f102184d\\})|(\\{5683f95b-2517-4ca7-9d19-83d7f309b62a\\})|(\\{013d3691-0dd6-471b-bf0d-2750d7406a22\\})|(\\{ae73a262-1a27-4d1d-9be7-4b41a84dfd23\\})|(\\{1d92fc5d-5353-401f-8c5f-373b3b6dae67\\})|(\\{e8a81b54-3728-4a9c-8c63-18ef803ef9be\\})|(\\{d604961b-3a3d-4f60-87ae-35977c10b787\\})|(\\{cbe9b620-fac0-407a-b3be-b0a61b319ef8\\})|(\\{1cdb403e-11c7-421b-9c87-0c0d90263626\\})|(\\{f5fa0bfe-a981-48ff-b809-8faa3126f0bc\\})|(\\{7dc6d0d2-b2f0-4334-979d-6ebeff77785a\\})|(\\{13623b47-de82-4226-85f8-d3ae343e619b\\})|(\\{db7b6ea7-2605-44c7-807b-2419d7eec531\\})|(\\{b9298a4a-acca-446d-aa72-d37f5e1576cd\\})|(\\{2e689bc0-735f-445c-bcc7-2cc495f5eb40\\})|(\\{04acd977-4c2b-4162-af33-8c585bea90c5\\})|(\\{2436dde0-3230-4933-9020-c15b3b9e693b\\})|(\\{dcb556aa-ef6e-4778-9f60-c5ae18a72cfb\\})|(\\{5a24385f-ada4-455d-95ad-62cb6256360d\\})|(\\{97f88a13-5b79-4345-a85e-2560d54f577c\\})|(\\{12f4cde8-7d1c-4a9e-9ef7-431f5ecd53a4\\})|(\\{18a93813-7deb-40cf-b3a6-402369e6d817\\})|(\\{9cee5c92-eb1e-4892-86ff-d2d1c627f5b9\\})|(\\{cb1c544e-d444-4c85-8224-64aa26e82230\\})|(\\{1c3b247f-2ef4-4483-93a6-0a3da7bc3548\\})|(\\{1f6913f2-dead-4f96-bf96-0e64affd46ae\\})|(\\{109adc7d-f308-43a5-aa0e-07ccdc5dad2c\\})|(\\{7170e23c-c706-48a7-919f-c1c22548dbfb\\})|(\\{6aa47f05-1f3f-4798-908a-0ed01b2361e0\\})|(\\{33ef0e7b-15ea-4b08-a779-173731ac20b3\\})|(\\{a0361564-9461-4da0-8ec0-7dc6f418f707\\})|(\\{c12631ed-993a-4c2e-9bf0-37867ae40491\\})|(\\{00b79649-3f0e-4b12-a8f0-376a7b2db716\\})|(\\{89096e44-c8b4-4ce5-aad2-f5bac765f608\\})|(\\{6f4eff89-0e32-42bd-a5c1-354adc8417fd\\})|(\\{482c54ae-e080-4596-bf7c-ae972fdff9a3\\})|(\\{04868575-532f-4b43-9325-7e707c109c25\\})|(\\{042c3065-1291-4409-bae5-8d11f3c268e2\\})|(\\{126e7fc4-bf2d-4467-88b1-f3b17bc10da4\\})|(\\{cea21739-b9ce-46c7-ad3e-3607b1ff6538\\})|(\\{06eea1e7-a8be-4794-8cd5-ed12e5f86161\\})|(\\{50993bc5-011c-4322-b522-41e6f3997163\\})|(\\{219a2146-5d9b-472a-8630-4c96a0994bec\\})|(\\{1db94c2f-d957-4b12-a1dc-903bb28f5ff5\\})|(\\{2f7d887c-7d56-41fa-bf9b-eadf6e500427\\})|(\\{2b16f4ab-a2a9-43fd-8fd6-ad6f354b0d28\\})|(\\{034d2b14-29e6-42ad-b2db-2c31286f3fb7\\})|(\\{77058195-5ae1-440c-8f86-c60a96d12ca9\\})|(\\{8082ff2f-2151-4281-8134-1423e5961ca1\\})|(\\{9fa797e8-d7d4-4851-b7e9-76b61ecf046f\\})|(\\{87178fbe-17a5-4d8d-b5ed-48d17179b101\\})|(\\{f010d9e9-0878-4c83-af45-df966cbe8d26\\})|(\\{2aa8c5cd-18fa-4991-b354-d6f459efeca9\\})|(\\{4021839d-3f4a-4866-94fb-9fa809c5245b\\}))$/","prefs":[],"schema":1553024292304,"details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1535088","why":"This add-on violates Mozilla's add-on policies by exfiltration user data and tracking online activities.","name":"Search overriding malware"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0"}],"id":"478d4acd-3c01-4dd5-b784-4e06b69d1c05","last_modified":1553079818962},{"guid":"{781b89d4-fa53-45a1-bea4-151dd4c8b288}","prefs":[],"schema":1553013598703,"details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1535280","why":"This add-on violates Mozilla's add-on policies by executing remote code.","name":"Drop Tech (Malware)"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0"}],"id":"81759002-967e-4856-9f55-61d7c30cdb3b","last_modified":1553013656506},{"guid":"{3b52063a-0683-4de2-b6e1-6192c78b6ba3}","prefs":[],"schema":1553013551744,"details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1536042","why":"This add-on violates Mozilla's add-on policies by executing remote code.","name":"Project Tech (Malware)"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0"}],"id":"6a7f932a-3911-4884-8cb9-d282d282c0cc","last_modified":1553013598695},{"guid":"{47610aad-982f-4822-93ca-8c27dc96a13b}","prefs":[],"schema":1552938092086,"details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1534773","why":"This add-on violates Mozilla's add-on policies by executing remote code.","name":"Tech Hand (Malware)"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0"}],"id":"12874e4d-28b5-4e98-8c33-b6cf5eb032bf","last_modified":1553013551736},{"guid":"amqp-dwn-all-vd@artur.brown","prefs":[],"schema":1552916969263,"details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1536052","why":"This add-on violates Mozilla's add-on policies by executing remote code.","name":"Video Downloader Plus (Malware)"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0"}],"id":"a3f5ce2f-d8ef-4dae-9fce-1d7fb69d2b37","last_modified":1552917123606},{"guid":"/^((\\{1d758385-fddd-478e-85a0-13eef59f60e5\\})|(\\{1ec3e92a-fd3c-4e16-82e2-56d44bd7bdf4\\})|(\\{3dadda0d-d67c-4452-9475-246c33198192\\})|(\\{4a48f6a8-c9d6-4ae2-8513-a7e9fe785a56\\})|(\\{4d2da172-b160-42b5-9fea-0ede63e0ab52\\})|(\\{5bcd4feb-ce52-4e6f-9da6-eef2a75a4f70\\})|(\\{5eb45d74-0f46-4269-bc0e-8a2a49d64267\\})|(\\{7e8c27c0-b94c-4026-8068-2d152143f073\\})|(\\{9ede19b2-bb97-4d1c-abab-b1d72e7d4c74\\})|(\\{19abb7a0-fb4d-41ff-97d4-65f1680c1348\\})|(\\{25efbdeb-04fa-4998-a9f8-99c1293c7b7f\\})|(\\{0049a401-f02d-4d16-8b5e-5933e5855a4c\\})|(\\{65b91ca5-cd06-42a6-9637-8ecde3a69fd6\\})|(\\{146ec14e-f623-4cb2-88ed-7d3bb8101090\\})|(\\{790d2797-82f3-4bc3-8759-c00d426bbf2f\\})|(\\{865f42b5-e073-4a36-84b1-47d09096b48b\\})|(\\{90055a5b-45a8-45c1-b0a0-979ab2a9064f\\})|(\\{a4f5c163-7b64-46c4-bfd3-348ecc99873a\\})|(\\{a8c40ee7-a376-417b-8022-40909a10181b\\})|(\\{a1031346-14d3-464f-9e50-c30dfd88ad92\\})|(\\{abd16535-2fa8-4bfd-b84e-ed09c9c60e53\\})|(\\{b5ee8c58-b5e5-4ba0-a899-9a54a2f0e386\\})|(\\{b246bb42-577e-4587-adf2-7274b378b0b4\\})|(\\{bb43765b-fe06-4d50-9802-0c6742b220aa\\})|(\\{bf3f628d-9e52-4727-b940-054c65a5a304\\})|(\\{c6bc710d-8cc8-4224-9287-44ecfa452a81\\})|(\\{c232edce-83c9-4184-9782-22df800f65e2\\})|(\\{c5397be4-b756-45b8-a247-339846fada52\\})|(\\{c6675bc5-f7ea-4a11-8252-1152d3783ae3\\})|(\\{cc6a088b-5a84-4e48-8de8-d2f6be3abae7\\})|(\\{e6c12219-f67e-4ea0-a9c3-2c541febeff1\\})|(\\{eb3a7ef7-a4d0-49a4-8b21-2a91c1758100\\})|(\\{ec34588b-86b4-4de3-a3bf-f4d1d8386475\\})|(\\{f4fd8825-648f-4b63-a499-3fd702d42149\\})|(\\{fc4f31f6-c5ed-4afd-8c19-df96e107ce7d\\})|(\\{fe337ef5-bb69-44bf-82a8-ee5c13406165\\})|(\\{ff285a1c-5672-44c3-890e-6c4f25976b83\\}))$/","prefs":[],"schema":1552908996320,"details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1535421","why":"This add-on violates Mozilla's add-on policies by executing remote code.","name":"Flash Player (Malware)"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0"}],"id":"25f18cc5-6ecc-419f-b093-b79e9f261062","last_modified":1552916969252},{"guid":"{a4491aab-e273-4bc3-b45e-a7b9b9414a5f}","prefs":[],"schema":1552695264438,"details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1534792","why":"Search takeover not according to policies, masking as a different add-on","name":"FFCop"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0"}],"id":"d2da9c45-59f8-4257-9d7e-07c4fa5de958","last_modified":1552695747900},{"guid":"/^((\\{0f6b717d-1625-4434-b770-5ae33eb64b16\\})|(\\{6d092be7-0bad-46af-9489-04e4b3988644\\})|(\\{7f6049d6-e8b0-4c42-8028-204d1458ddb6\\})|(\\{12b75028-c038-40bd-be5b-2809b7d18d78\\})|(\\{46f35a01-faaf-4fab-95e6-7dfc8b6d8b73\\})|(\\{55d2c6f7-62fa-4091-988b-7f4c4b3c1bff\\})|(\\{75aeaeec-d415-404d-84ba-bd70bcc5e70c\\})|(\\{76b8cf24-227d-4e2b-af4c-39ec5b47babf\\})|(\\{77b725cc-5d0e-4b82-88f0-ec6961acd697\\})|(\\{90fc8426-06ba-43ab-8110-7478ff86f531\\})|(\\{90fc8426-06ba-43ab-8110-7478ff86f539\\})|(\\{157cd8f9-48f0-43a1-9bcf-c4316753e084\\})|(\\{157cd8f9-48f0-43a1-9bcf-c4316753e085\\})|(\\{201ec7f7-57b1-48dd-945c-b1ea7489195d\\})|(\\{280fc0f5-6dfb-4a3c-92ae-acb2d5352175\\})|(\\{388f6d65-4a1b-43ac-b791-387882c30599\\})|(\\{0575cabd-38f3-4964-bdc3-0141a2f062e9\\})|(\\{927e4189-4f56-437e-a0d4-5e232612b5c7\\})|(\\{7277d7cf-c598-420b-ab6e-ab066e1e2fdd\\})|(\\{67775ec2-c879-438b-9409-89fba7ffc684\\})|(\\{397386d2-bb76-4b69-8121-86fad15c5216\\})|(\\{bd7f03dc-b362-4744-b118-43ab916205f9\\})|(\\{c133fb29-c967-4aec-953a-4974e8cbdb26\\})|(\\{cc94c8a7-efa3-435c-91fe-ca305f70e39d\\})|(\\{cfd2ff68-6579-4448-8a26-561bdb63877c\\})|(\\{d00f0050-a66c-49fc-9236-1498d4d29f67\\})|(\\{daa287a2-5916-413e-9b61-52c00b5aa061\\})|(\\{dcfac76f-2fd2-4477-9a60-22d167cabcb4\\})|(\\{dd1bbcf4-bff3-4f15-8a2c-3d52ce987f70\\})|(\\{ddb546b5-6490-4af5-8813-8e701bc06e26\\})|(\\{ead6848b-4bd6-4f9a-93bd-b8460c6f6973\\})|(\\{eb8f7a97-ffb0-40f1-9321-5ab1de884f1c\\})|(\\{ec3e8a3d-df39-4f84-ab31-dae369a225e4\\})|(\\{ef986f55-2dc9-4e39-8c87-618cf4fe5e69\\})|(\\{f8b4b601-7917-40c1-94ec-8efbbf125a46\\})|(\\{f8bc456c-0fb4-4d5d-a85f-dfeb25459e76\\})|(\\{f0458469-cc09-407e-a891-be8606553341\\})|(\\{fa73622c-8b41-45b8-9d93-6d66e7633765\\})|(@loveroms)|(loveroms-ash1280@jetpack)|(searchdimension@gmail\\.com))$/","prefs":[],"schema":1552655172725,"details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1535402","why":" This add-on violates Mozilla add-on policies by including abusive search behavior.","name":"Add-ons including abusive search behavior"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0"}],"id":"f9cd41dd-9e52-4506-bb58-a31e189f4ab9","last_modified":1552655392045},{"guid":"{b6f5f2d0-1aa3-4e43-b536-6db1b1bf7d1c}","prefs":[],"schema":1552592498693,"details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1535601","why":"This add-on violates Mozilla's add-on policies by exfiltrating user data.","name":"FFcanu (Malware)"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0"}],"id":"5b807d5f-a192-450a-a0b3-98113c4beff1","last_modified":1552655172717},{"guid":"{e19fed8c-637a-42e3-b62a-3a6c4040ded8}","prefs":[],"schema":1552570939014,"details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1535345","why":"This add-on violates Mozilla's add-policies by executing remote code.","name":"Flash Player (Malware)"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0"}],"id":"5027a1c1-e050-434f-ba77-56417bc2d7cf","last_modified":1552589019976},{"guid":"{fb62e856-f09b-4cbc-ba07-642ab55f6cb4}","prefs":[],"schema":1552567880022,"details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1534781","why":"This add-on violates Mozilla's add-on policies by executing remote code.","name":"EncDNA module (Malware)"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0"}],"id":"ce66baec-1237-481c-87db-ccc1bcf0359d","last_modified":1552567941331},{"guid":"{54fc344c-e8ba-462a-a6d9-9ce1b794ce46}","prefs":[],"schema":1552567837850,"details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1534817","why":"This add-on violates Mozilla's add-on policies by executing remote code.","name":"Flash Player (Malware)"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0"}],"id":"4bec4aaf-dd5b-4754-bd01-461fdc7ea5ca","last_modified":1552567880014},{"guid":"{7b6def45-d585-431a-a479-5bb2badf2506}","prefs":[],"schema":1552567781490,"details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1535055","why":"This add-on violates Mozilla's add-on policies by executing remote code.","name":"PredicitionR (Malware)"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0"}],"id":"e9227d28-b627-48b8-8392-e9fb5a00d9b6","last_modified":1552567837842},{"guid":"{6fb28b6b-abf2-4937-af28-340851faa971}","prefs":[],"schema":1552567721181,"details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1534769","why":"This add-on violates Mozilla's add-on policies by executing remote code.","name":"metamedian (Malware)"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0"}],"id":"ed853ce8-83e0-42b7-8d93-7f48041d4987","last_modified":1552567781482},{"guid":"{ae5b30dd-b29d-4ae6-844b-5d7bfc3d7915}","prefs":[],"schema":1552567676370,"details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1534807","why":"This add-on violates Mozilla's add-on policies by executing remote code.","name":"Crypto Valuator (Malware)"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0"}],"id":"3cfd9af5-a7d0-49d3-971b-7af5e2eab78f","last_modified":1552567721173},{"guid":"web-private@ext.com","prefs":[],"schema":1552567616148,"details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1534828","why":"This add-on violates Mozilla's add-on policies by overriding search preferences.","name":"Flash Player (Malware)"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0"}],"id":"3d52fe32-71e5-47bd-8eda-d98fa0c489e9","last_modified":1552567676362},{"guid":"/^((ads@firefox\\.pl)|(adsfinland@firefox\\.pl)|(adsfrance@firefox\\.pl)|(dodateknowy@o2\\.pl)|(dodateksuper1@firefox\\.pl)|(dodateksuper2@firefox\\.pl)|(dodateksuper3@firefox\\.pl)|(dodateksuper5@firefox\\.pl)|(dodateksuper6@firefox\\.pl)|(dodateksuper@firefox\\.pl)|(test_b@iext\\.pro)|(\\{697be03c-cdd2-430e-b6cf-0f9b5f0556ee\\})|(\\{c9ced03f-a5cf-4dbf-b5ba-67673e442590\\})|(\\{cbe59f66-a23a-45c1-81ac-d0cbedf9ea4e\\})|(\\{dbf0a186-d41c-40ae-8841-e9d8a6b49d8d\\}))$/","prefs":[],"schema":1552493457658,"details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1534940","why":"This add-on violates Mozilla's add-on policies by using a deceiving name and exfiltrating user data.","name":"Flash Player (Malware)"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0"}],"id":"67025e3b-860c-4680-949f-ec472cd72fae","last_modified":1552567437766},{"guid":"/^((\\{86c18738-11ed-4c16-af92-786aa036c83c\\})|(\\{d0fee16a-f4eb-4dc1-9961-82b913e5943d\\})|(\\{1c4937a1-c678-4607-8665-a16384ee302e\\})|(\\{22caeb02-38a3-415d-b168-64fadccbb4a4\\})|(\\{1c9372e7-5f0e-4541-99cf-dfbf2ab00b01\\})|(\\{9fe66994-8ed1-4317-a20a-1d0544ca062f\\})|(\\{6df222d8-97c7-42bf-9683-1cf8119c1e9e\\})|(\\{4c2dda03-bad0-4160-a8a1-6d089200420e\\})|(\\{7aae7d4f-55b9-42eb-b683-932591265e17\\})|(\\{e6f8ab99-3c96-410c-95d1-267ad48ed3e2\\})|(\\{6d8c5068-d0cb-47a5-af5e-3f23064f4608\\})|(\\{90481f38-d06a-465e-a54c-206bbb1ee9ae\\})|(\\{4b75aeb8-f14a-4ef3-b1ad-09733b40dac3\\})|(\\{3a8ca495-f5ab-4320-b070-4f44266fe3d1\\})|(\\{84f8914f-0dec-48ed-a0fd-4a7712c06793\\})|(\\{aa613fce-603c-41df-bf49-9b09614cebe6\\})|(\\{30314350-199a-4951-9c05-c3537a946492\\})|(\\{a2edce1d-10ab-483d-8c01-5e5fe0c82902\\})|(\\{ec91a3d4-8311-4700-aa15-b3941f21a052\\})|(\\{e9049687-164a-4cf3-be1f-1291cfb0f44a\\})|(\\{2be73925-ebaf-43ca-8b26-bd820887f591\\})|(\\{840eadea-1c68-411f-b4e9-08d9f236385d\\})|(\\{0a89d040-5fb1-46d7-bf81-43b55e83695d\\})|(\\{6a1e76ed-4ac2-4a0c-8beb-43ae63558b36\\})|(\\{1b90c930-e7d7-486a-9085-8b57129489c7\\})|(\\{eab649ca-af76-4de9-95b0-8036e35a66cc\\})|(\\{0628e652-98f4-4e58-9ecb-ad996b061aef\\})|(elfr@geckoaddon\\.org)|(else@geckoaddon\\.org)|(fr_b@iext\\.pro)|(it_b@iext\\.pro)|(sv_b@iext\\.pro)|(no_b1@iext\\.pro)|(fi_b@iext\\.pro)|(au_b@iext\\.pro)|(elfr12@geckoaddon\\.org)|(test@informations\\.to)|(se_pop@informations\\.to)|(it@spongebog\\.funny-ok\\.com)|(it@tsunami\\.funny-ok\\.com)|(fi@spongebog\\.funny-ok\\.com)|(fi@tsunami\\.funny-ok\\.com)|(no@spongebog\\.funny-ok\\.com)|(no@tsunami\\.funny-ok\\.com)|(fr@tsunami\\.funny-ok\\.com)|(fr@spongebog\\.funny-ok\\.com)|(se@tsunami\\.funny-ok\\.com)|(se@spongebog\\.funny-ok\\.com)|(au@spongebog\\.funny-ok\\.com)|(au@tsunami\\.funny-ok\\.com)|(nz@spongebog\\.funny-ok\\.com)|(nz@tsunami\\.funny-ok\\.com)|(gr@spongebog\\.funny-ok\\.com)|(gr@tsunami\\.funny-ok\\.com)|(nz_fnew@tsunami\\.funny-ok\\.com))$/","prefs":[],"schema":1552320039514,"details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1534103","why":"Stealing cookies, browsing history and other information","name":"Rogue Updater add-ons"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0"}],"id":"b57d9505-21bf-4a24-accb-05ceac50dadc","last_modified":1552323475989},{"guid":"{c04d9d7d-1c8c-4eab-a51a-828c47e1b8b7}","prefs":[],"schema":1552246898392,"details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1533780","why":"This add-on violates Mozilla's add-on policies by executing remote code.","name":"asin (Malware)"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0"}],"id":"2c739daa-ffee-48d9-a825-e53c8fd2bb3c","last_modified":1552300402314},{"guid":"/^((\\{ee2d725e-9726-43ac-8040-60ce9ff2831b\\})|(\\{55417a80-e6f7-4d77-8d73-f59045e5e890\\}))$/","prefs":[],"schema":1551728497880,"details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1532269","why":"This add-on violates Mozilla's add-on policies by using a deceptive name.","name":"Flash Player (Malware)"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0"}],"id":"aca80fb4-760e-4cd4-9fec-649fb38b2947","last_modified":1551794995188},{"guid":"/^((\\{5084f455-bc8f-483c-b145-91245bcbfd64\\})|(\\{bd69d5d0-4b2f-48cb-bab5-dcf1e0f9c63b\\}))$/","prefs":[],"schema":1551398716775,"details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1531416","why":"Maliciously collecting form data and cookie modification","name":"Adblock/Adobe Flash fakes"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0"}],"id":"7718be46-8e84-4bc7-a5a9-4c5de18378ee","last_modified":1551399019543},{"guid":"/^((\\{6745ccb4-833d-497e-b582-d98a5e790e8c\\})|(\\{cd205ddb-b106-4d2a-a965-5d1c610b5072\\})|(\\{218ec82e-2839-42da-acaa-e527454f4237\\})|(\\{7af25a3d-1caf-49f8-8be9-8ae6065db7c5\\}))$/","prefs":[],"schema":1551397746059,"details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1530911","why":"Search hijacking, remote scripts","name":"Emoj1 clones"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0"}],"id":"77a32be3-94ce-49c2-b129-fa2562a7f47b","last_modified":1551398716765},{"guid":"Youtube-video@Myaddons.com","prefs":[],"schema":1551397521494,"details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1529887","why":"Remote script injection and data exfiltration","name":"YouTube Video and MP3 Downloader"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0"}],"id":"a30f9f2a-aa68-48b7-88cc-8a582405b385","last_modified":1551397746049},{"guid":"Youtube-downloader@Myaddons.com","prefs":[],"schema":1551396963937,"details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1529873","why":"Remote script injection, data exfiltration","name":"YouTube MP3 Converter"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0"}],"id":"1d596a69-157f-4743-9465-f86d6452206b","last_modified":1551397521482},{"guid":"{ba74c7ee-32b1-11e9-ade5-1f2222a4f325}","prefs":[],"schema":1551382900634,"details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1529573","why":"Remote script injection and user data exfiltration","name":"GET Security"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0"}],"id":"01825fea-8c5c-4d76-bd06-e1019c188056","last_modified":1551396963926},{"guid":"/^((\\{e0686c32-99b4-44d8-972f-88bf08b68f88\\})|(\\{b2225e4c-9d1d-472b-8aeb-5ff203bcff9a\\}))$/","prefs":[],"schema":1551210091992,"details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1530932","why":"This add-on is distributed violates Mozilla's add-on policies by being distributed through a fake Firefox update page.","name":"Flash Player (Malware)"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0"}],"id":"37252271-9e38-46a9-b23a-2b6d7048c0db","last_modified":1551250023025},{"guid":"{9d7cfde2-39ae-11e9-bde0-02427e2eba50}","prefs":[],"schema":1551104404768,"details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1530640","why":"This add-on violates Mozilla's add-on policies by including abusive remote functionality, negatively affecting security and performance.","name":"Unnamed malware"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0"}],"id":"7bb234b0-cfda-4a23-bf02-9c82fb3500a3","last_modified":1551204284998},{"guid":"/^((\\{8387ccbe-b9ac-438d-b049-c86b30a6dacb\\})|(\\{2ef58672-740c-46bd-a50d-b9880986b574\\})|(\\{7ff51e81-f4b1-4682-9f45-43a771d80748\\})|(\\{ecb03616-f3c2-4580-99dd-6a233047abdd\\})|(\\{850be3a2-ca5f-47ad-838c-fe39b006e0da\\})|(\\{df9f6ab1-c82c-41d4-85ce-86dcfe839ce9\\})|(\\{a59679da-f097-4db4-b2bc-6ad7b645e127\\}))$/","prefs":[],"schema":1551100033342,"details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1530194","why":"This add-on violates Mozilla add-on policies by including abusive search behavior.","name":"Safe Browsing (Malware) and similar"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0"}],"id":"ec121e9e-d56d-436b-bb2d-735fdcff3c03","last_modified":1551100630159},{"guid":"{4603d01d-ae80-4653-9288-d5ef98b99a17}","prefs":[],"schema":1551099702949,"details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1529924","why":"This add-on violates Mozilla add-on policies by including abusive remote code.","name":"IMmailgun (Malware)"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0"}],"id":"32227de6-a7bf-454c-bf44-4478ddd96abe","last_modified":1551099805258},{"guid":"{157cd8f9-48f0-43a1-9bcf-c4316753e083}","prefs":[],"schema":1551037300209,"details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1529926","why":"This add-on violates Mozilla add-on policies by including abusive search behavior.","name":"SD App (Malware)"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0"}],"id":"5b3fe8de-6d05-4d95-a6d2-cd5695f1b0c0","last_modified":1551099426266},{"guid":"{5288d05d-253f-4675-be3b-152bf02aa3ec}","prefs":[],"schema":1550683849233,"details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1529328","why":"Remote script injection along with deceptive code to hide the fact","name":"Unicode & Emoji Support"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0"}],"id":"9600b4cd-da02-4947-a4f5-c56c657ba197","last_modified":1550684288501},{"guid":"restore.old@youtube.com","prefs":[],"schema":1550580649249,"details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1529126","why":"This add-ons does remote script injection in a way that attempts to hide the injection. The code being executed runs on all pages which is contrary to what the add-on is described to do.","name":"Restore Old Youtube"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0"}],"id":"27917953-17fb-4ffc-bcf1-5fc2727174b4","last_modified":1550617105595},{"guid":"/^((pohhpifegcbplaijeeonlbkjgocfgjbf@chrome-store-foxified-18573537)|(pohhpifegcbplaijeeonlbkjgocfgjbf@chrome-store-foxified-570932499)|(aackamlchlgmalkmcphbhhcjebbpnfdf@chrome-store-foxified-233164420)|(pohhpifegcbplaijeeonlbkjgocfgjbf@chrome-store-foxified-1808417494)|(nnfhjlgginbfdejaajhbboeemajpjgfp@chrome-store-foxified-699139867)|(dilkapnoekabmkkhhdlpnpfgjcmddlia@chrome-store-foxified-1808417494)|(dilkapnoekabmkkhhdlpnpfgjcmddlia@chrome-store-foxified-1190639722)|(nnfhjlgginbfdejaajhbboeemajpjgfp@chrome-store-foxified-2745518014)|(fibaefnljghpmdibfkhnlaniblfkkndi@chrome-store-foxified-1955364993)|(dilkapnoekabmkkhhdlpnpfgjcmddlia@chrome-store-foxified-1516694386)|(generated-rk4dtanssk56goquir78sz@chrome-store-foxified--1594555229)|(nnfhjlgginbfdejaajhbboeemajpjgfp@chrome-store-foxified-1388315457)|(oaoebpgbkehlcdggaeeohgfpopdhjell@chrome-store-foxified-1823310541)|(fibaefnljghpmdibfkhnlaniblfkkndi@chrome-store-foxified--1031675095)|(ancjheohbkbnkgcmfaldcaepoeeplkgh@chrome-store-foxified-1823310541)|(generated-lwcbpuj27wcknyyl6pkap7@chrome-store-foxified-1823310541)|(generated-bmtr2hbgikv399aj6aeycd@chrome-store-foxified-1823310541)|(generated-8w9odie82h2ugbsrofooj3@chrome-store-foxified-1823310541)|(\\{4170faaa-ee87-4a0e-b57a-1aec49282887\\})|(\\{b66dd4bc-7f5e-41d9-bc43-84c5736d0c87\\})|(\\{507ad1fb-08ae-43ac-a596-fd5b6e7dea9a\\})|(\\{8bf85207-66df-4eb7-b913-ac162498c687\\})|(\\{b063895a-8077-452d-b049-ebc20a39f882\\})|(\\{5776bd90-3d09-43b5-a769-8da373e9820f\\})|(\\{f6bdce44-3d5a-4f88-9a64-e39fcb4f0717\\})|(\\{1c22e687-6a02-440c-a6d5-c1ccaf520e10\\})|(\\{f7be824f-7287-466a-8590-2f48007a223b\\})|(\\{89ffc0b4-97f7-447c-bd6f-9c519b0188bd\\})|(\\{3a67084b-c231-4b4b-a924-ffa741f90921\\})|(\\{fac8b1d0-f321-491d-9234-c40d89b3660d\\})|(\\{a8053a83-8d1a-4f0e-9f88-d31cfe00cf83\\})|(\\{d10fa57e-37d3-43d3-39f8-e6d5b2a7759d\\})|(savetube_downloader@savetube\\.co)|(\\{95a8a08c-53a8-7e1d-5a80-f1a5cd4751bf\\})|(\\{5037bd74-c23b-4bbf-8865-6b5a09e07342\\})|(\\{830c558c-70f0-4b07-95f1-8e06ad34ee2c\\})|(\\{e4d93c37-1299-452f-9b60-adee15ad3802\\})|(googlemaps@search))$/","prefs":[],"schema":1550502645324,"details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1528761","why":"Malicious add-ons injecting remote scripts and exfiltrating data for monetization purposes. Some of the add-ons are masking themselves as legit add-ons and using various obfuscation tactics to hide their injections.","name":"Rogue Youtube downloaders and related add-ons"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0"}],"id":"f2483d7d-1895-4ae6-9901-7321e59062a6","last_modified":1550502978653},{"guid":"/^((((generated-e0yf8zkhypow3jjifkqzwo)|(iiinclagpealgnaglbmkdbfbgchjjbpg)|(jaehkpjddfdgiiefcnhahapilbejohhj))@chrome-store-foxified--?\\d+)|(jid1-9ETkKdBARv7Iww@jetpack)|(\\{813fe658-5a29-4dcc-ba6c-3941676e4f19\\}))$/","prefs":[],"schema":1550254444783,"details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1528308","why":"This add-on violates Mozilla's add-on policies by tracking user behavior and including remote code.","name":"BuyHatke Best Price Comparison, Graph, Coupons (and similar)"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0"}],"id":"d6b2dbad-31e9-4984-b649-19036cd38e1d","last_modified":1550265430182},{"guid":"/^((odnenajaeicndaeiapagpglohiklndhe@chrome-store-foxified-2174031944)|(akdibckdjeocfbcjaikipkhhbggcbgkg@chrome-store-foxified-699805590)|(\\{bd9f5830-bf8c-4e38-933d-09f85b24d744\\})|(youtube-downloader@addoncrop\\.com)|(dailymotion-downloader@addoncrop\\.com)|(youtube-mp3-iframe-downloader@addoncrop\\.com)|(youtube-downloader-lite@addoncrop\\.com)|(dailymotion-downloader-lite@addoncrop\\.com)|(generated-p5qj07ef5ceqfktp5v8whw@chrome-store-foxified--505607522)|(generated-tuag2j5gwq73xzp8fbw3j8@chrome-store-foxified--505607522)|(generated-uj53d5j612ap5pz11hwgv2@chrome-store-foxified--505607522)|(\\{f51f0244-bfb0-40ce-bf9d-af49f5949e61\\})|(\\{81751484-2dc9-47bf-aec3-b8e556237178\\})|(\\{d89d1e20-57af-4164-82cc-650af45cf0a5\\})|(\\{a5e28713-14c3-4967-befe-2ec253e317cd\\})|(\\{335ac35b-6c16-4304-93f0-64a418e5bf81\\})|(\\{d3fdb429-ef84-40a4-b160-010745ee0098\\})|(\\{d66db057-7d38-4df4-a0ba-63c272be25ee\\})|(\\{ff7f7151-09e3-4e35-9052-b21e23e7e2c1\\})|(\\{1479da02-e759-4a6f-8f62-c08096583806\\})|(\\{42d59cda-c117-459e-b244-1b850c27ccc9\\})|(\\{bec48f33-7869-4158-8cbc-5cf1606f9afa\\})|(\\{08ca656c-4973-46a8-85a9-3d771399c86e\\})|(\\{dc5336c8-5624-4f74-a794-bb15f3760f34\\})|(\\{6a3d97de-1b42-4624-880a-1a68bc917142\\})|(\\{ad965166-3a34-449d-8230-a636fb5cae57\\})|(video-view@vv\\.us)|(video-view@excoe\\.com)|(xeco@rama\\.com)|(ghj@brem\\.com)|(fgtr@rembgr\\.com)|(xero@saltam\\.com)|(sora@remjem\\.com)|(repo@saram\\.com)|(tora@empoytr\\.net)|(saving@ropbart\\.com)|(japa@vbgt\\.com)|(rtya@nop\\.net)|(asan@khazan\\.com)|(xerb@tangot\\.com)|(audiotools@ramdeen\\.com)|(webat@extrolm\\.com)|(media@medplus\\.com)|(audio@audequl\\.com)|(control@medcontrols\\.com)|(sabqo@rimjim\\.com)|(repto@secroa\\.com)|(meters@videobf\\.com)|(betro@diskra\\.com)|(codeca@vxmrop\\.com)|(revoca@feronx\\.com)|(brota@vidbrghta\\.com))$/","prefs":[],"schema":1550173301925,"details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1527603","why":"This add-on violates Mozilla's add-on policy by including malicious remote code.","name":"Various add-ons"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0"}],"id":"d94f7e0f-7088-43c9-a8da-eae102781079","last_modified":1550253583075},{"guid":"superzoom@funnerapps.com","prefs":[],"schema":1549578756953,"details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1525405","why":"This add-on includes abusive functionality including violating the user's security and privacy.","name":"SuperZoom (Abusive)"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0"}],"id":"f7c4b329-7a54-48d3-9494-81783fe99d90","last_modified":1549627400713},{"guid":"/^((\\{0bf1c111-c256-4a17-891d-1bc69338162e\\})|(\\{0ffbc4b1-f269-4cff-9552-5f77337ebc1a\\})|(\\{1bbdc69d-55d3-4872-bd03-14eb05e7a7ad\\})|(\\{1ce00b82-ac47-43e6-a69c-f7dc9344168a\\})|(\\{2b01628b-0110-4965-972c-7a0b624fb99f\\})|(\\{3a84e0b0-3151-449e-b6e8-1062036afac6\\})|(\\{3bbcc16b-23f7-40a6-b88c-9ced9d009c93\\})|(\\{3ea48f4a-b585-44a7-aff5-faeb5e5b47d5\\})|(\\{7b161d2c-ee98-4321-a78a-433950672c8a\\})|(\\{8a8d97d8-b879-4024-8321-765e0f395b84\\})|(\\{9c0d6766-debe-4461-b14f-68ddfc13a78a\\})|(\\{014f9781-c104-41a4-a983-fc6aa4690664\\})|(\\{27ffdb27-0a34-4dea-a483-3b357bc6a5fe\\})|(\\{81ba256a-4f32-40df-86b5-e6b9861481e1\\})|(\\{338c7503-fb54-4b69-a84b-916f7452c7fa\\})|(\\{400e053f-55df-4e86-a91a-eae8d7b7bcd1\\})|(\\{617e0484-8346-44f2-851e-60ab89a919f9\\})|(\\{656a0095-d852-4dcc-a107-764df7ad0ec4\\})|(\\{754a330b-efbe-4016-8526-bf0f2e11e45e\\})|(\\{802ba900-013c-42f6-a11a-093c4bf35baa\\})|(\\{2771ce08-4898-4f58-89a5-e2b9d00bfab2\\})|(\\{3906b944-92f3-4d43-89dc-31ad6484a77c\\})|(\\{6516cdbc-9332-437f-89ac-b57470655542\\})|(\\{6847c507-1793-4be2-be86-4c2cc0b445bf\\})|(\\{9687db9b-410c-47f2-8c36-fde63c7c29e4\\})|(\\{0035237e-97ab-40eb-ba9d-c453fb6aa079\\})|(\\{20143127-e0bd-4396-aee9-52229cf9b5eb\\})|(\\{33254399-d5b2-4d84-b90b-9c4d4dc71112\\})|(\\{34621968-1952-4428-909d-df5b220efe74\\})|(\\{83769978-21cf-417c-b4a9-582b4161e395\\})|(\\{aa369db0-4232-47b8-bbbb-49ad31d49dce\\})|(\\{aff733de-d7d8-49c2-824a-7f2b2e282927\\})|(\\{c0b587fe-766b-446f-9aae-bc6edc9f6f4c\\})|(\\{c47a75b9-c6d2-4009-a245-c6dcedeea932\\})|(\\{c51bd197-28bd-442f-8537-dea5ae129047\\})|(\\{cac044a2-b93c-4f24-bf2f-b902741d29a8\\})|(\\{de17ce6f-389f-4368-9675-b9ed93133f17\\})|(\\{e2b105bc-1821-4838-bdf9-0fa4f6781b18\\})|(\\{e6c8bc7f-0133-418a-86ed-ba2c0a6925df\\})|(\\{f4acda5f-a75b-4b3b-8a73-8ca3df8d5f57\\})|(\\{f4fd18ee-8f6a-4708-8338-7e7981b73453\\})|(\\{f2320322-1fff-4998-bc28-4ad61621012a\\})|(\\{ff939f5e-a97c-4c14-b853-9c82519dbf73\\})|(@complete-youtube-downloader)|(@swsearchassist)|(@swsearchassist2)|(@youtube-download-helper-addon-1)|(@youtube-download-helper-addon-3)|(@ytd-support)|(@ytmp4-support)|(@ytu-support)|(18-plus-bypass@agebypass\\.org)|(18plus@sweetytweety\\.jp)|(addon@firefox-addon-s\\.com)|(ageverify@doubletrouble\\.net)|(auto-fill-dhruv\\.techapps@gmail\\.com)|(awesomeaddons@gmail\\.com)|(blndkmebkmenignoajhoemebccmmfjib@chrome-store-foxified--730948579)|(boomerang-for-gmailtm@chrome-store-foxified--1895216441)|(boomerang-for-gmailtm@chrome-store-foxified-1472004183)|(browsing_certificate@easycerts\\.in)|(certs-js@verify\\.org)|(clear-flash-cookies@tubedownload\\.org)|(dghpnfeglanbbjaggjegpbijhcbnfdno@chrome-store-foxified--1026618965)|(dghpnfeglanbbjaggjegpbijhcbnfdno@chrome-store-foxified--1382673267)|(dghpnfeglanbbjaggjegpbijhcbnfdno@chrome-store-foxified-3810896411)|(dhiaggccakkgdfcadnklkbljcgicpckn@chrome-store-foxified-1917762393)|(dhiaggccakkgdfcadnklkbljcgicpckn@chrome-store-foxified-2539369515)|(dhiaggccakkgdfcadnklkbljcgicpckn@chrome-store-foxified-3411285726)|(dhiaggccakkgdfcadnklkbljcgicpckn@chrome-store-foxified-3957753373)|(dhruv@gmail\\.com)|(easy\\.download@youtube\\.com)|(easy18plusverify@agehelper\\.com)|(EasyQR@johndoe)|(easytranslate@johndoehits)|(ecaieeiecbdhkcgknidmfelflleobbnp@chrome-store-foxified-2878848146)|(eurekasakamika@chrome-store-foxified-unsigned)|(faeeclonpikbempnbjbbajfjjajjgfio@chrome-store-foxified--1071037210)|(faeeclonpikbempnbjbbajfjjajjgfio@chrome-store-foxified-335403930)|(gefiaaeadjbmhjndnhedfccdjjlgjhho@chrome-store-foxified--546579415)|(gefiaaeadjbmhjndnhedfccdjjlgjhho@chrome-store-foxified--929033716)|(gefiaaeadjbmhjndnhedfccdjjlgjhho@chrome-store-foxified--1776201342)|(gefiaaeadjbmhjndnhedfccdjjlgjhho@chrome-store-foxified-411918147)|(gefiaaeadjbmhjndnhedfccdjjlgjhho@chrome-store-foxified-711293137)|(gefiaaeadjbmhjndnhedfccdjjlgjhho@chrome-store-foxified-1406852911)|(gefiaaeadjbmhjndnhedfccdjjlgjhho@chrome-store-foxified-1805495496)|(gefiaaeadjbmhjndnhedfccdjjlgjhho@chrome-store-foxified-2344964585)|(gefiaaeadjbmhjndnhedfccdjjlgjhho@chrome-store-foxified-2515600300)|(gefiaaeadjbmhjndnhedfccdjjlgjhho@chrome-store-foxified-2947667317)|(generated-c5el8k8zv2b1gcncleefj9@chrome-store-foxified--1160265316)|(guid-reused-by-pk-720807)|(guid-reused-by-pk-881137)|(html5-video-everywhere@lejenome\\.me)|(iapifmceeokikomajpccajhjpacjmibe@chrome-store-foxified-6029610)|(info@ytdownloader\\.info)|(jabcajffpafebcdcaddoegpenicdipdk@chrome-store-foxified-1110252619)|(jpegcert@freeverify\\.org)|(kmrfree@yahoo\\.com)|(lets-kingw@empotrm\\.com)|(mdanidgdpmkimeiiojknlnekblgmpdll@chrome-store-foxified-29039950)|(mdanidgdpmkimeiiojknlnekblgmpdll@chrome-store-foxified-77744803)|(mdanidgdpmkimeiiojknlnekblgmpdll@chrome-store-foxified-357866719)|(mdanidgdpmkimeiiojknlnekblgmpdll@chrome-store-foxified-447115206)|(mdanidgdpmkimeiiojknlnekblgmpdll@chrome-store-foxified-549146896)|(mdanidgdpmkimeiiojknlnekblgmpdll@chrome-store-foxified-1084455972)|(mdanidgdpmkimeiiojknlnekblgmpdll@chrome-store-foxified-1602969934)|(mdanidgdpmkimeiiojknlnekblgmpdll@chrome-store-foxified-2271560562)|(mdanidgdpmkimeiiojknlnekblgmpdll@chrome-store-foxified-2595595173)|(mdanidgdpmkimeiiojknlnekblgmpdll@chrome-store-foxified-3103352300)|(mdanidgdpmkimeiiojknlnekblgmpdll@chrome-store-foxified-3116340547)|(mdanidgdpmkimeiiojknlnekblgmpdll@chrome-store-foxified-3959272483)|(mdanidgdpmkimeiiojknlnekblgmpdll@chrome-store-foxified-4076222235)|(mdanidgdpmkimeiiojknlnekblgmpdll@chrome-store-foxified-4090031097)|(media-certificates@auth0\\.io)|(mingle-cash-extension@minglecash\\.com)|(MiningBlocker@MiningBlockerAddOn\\.com)|(multimedia@certifications\\.us)|(nominer-block-coin-miners@tubedownload\\.org)|(open-in-idm@tubedownload\\.org)|(sabqo@yolla\\.net)|(search-by-image@addonsmash)|(selfdestructingcookies@addonsmash)|(streaming-certficate@mdn\\.org)|(swt@gobck\\.com)|(tabs-re-open@gtk\\.cc)|(user-agent-rewriter@a\\.org)|(vba@vba\\.com)|(verification@bexp\\.co)|(vidcert@certs\\.org)|(xplayer@gobck\\.com)|(youtube_download_express@free-downloader\\.online)|(youtube_downloader@downloaders\\.xyz)|(youtube_grabber@utubegrabber\\.co)|(youtube-lyrics-by-rob-w@awesome\\.addons)|(youtube-mp4-downloader@tubedownload\\.org)|(ytdownloader@ytdownloader\\.org)|(yttools\\.download@youtube\\.com))$/","prefs":[],"schema":1549482092694,"details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1525880","why":"Add-ons that include abusive or malicious remote code.","name":"Various abusive add-ons"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0"}],"id":"be96c9a1-0b01-468e-ac9b-761ba3587162","last_modified":1549541801862},{"guid":"/^((addon@firefox-updater\\.com)|(downloader@youtube-download\\.org)|(downloader2@youtube-download\\.org)|(downloader1@youtube-download\\.org))$/","prefs":[],"schema":1549369087422,"details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1525153","why":"These add-ons include abusive behavior.","name":"\"FF Manual Update (Required)\" and \"Easy Youtube Video Downloader Express\" (Malware)"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0"}],"id":"6b72e942-af54-469c-b9f2-9e436ad2c0d1","last_modified":1549373215201},{"guid":"/^((\\{0b347362-773f-4527-a006-f96e9db437e5\\})|(\\{9edb10ad-67af-4ad0-af45-efe452479321\\})|(\\{202e2671-6153-450d-bc66-5e67cee3603f\\}))$/","prefs":[],"schema":1548963700621,"details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1524357","why":"This add-on includes hidden abusive functionality.","name":"Video download add-ons"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0"}],"id":"680a99e9-c972-4a14-9b15-e56eeeed75eb","last_modified":1549037404012},{"guid":"/^((\\{a9bc520e-68ab-49c2-a8df-75a0349d54fd\\})|(\\{bfc5d009-c6bd-4526-92ce-a9d27102f7f2\\}))$/","prefs":[],"schema":1548699141208,"details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1522959","why":"Add-ons that contain abusive functionality.","name":"Unnamed (Malware)"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0"}],"id":"97c4ee31-4009-40de-ae02-f1b349c87d01","last_modified":1548699177099},{"guid":"{4e47160d-ec83-417c-ab01-cda978378d9e}","prefs":[],"schema":1548699076839,"details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1522970","why":"The add-on contains abusive functionality.","name":"mlflow (Malware)"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0"}],"id":"62c54642-73ab-4641-b5c2-47e4ae29bbc5","last_modified":1548699141199},{"guid":"/^((\\{feff5ea4-ed4a-46a3-9331-12fec01d52a9\\})|(\\{8ffc339c-0ca1-46e3-acb3-3bfd889f9a21\\})|(\\{1fe481b5-baad-44e9-b410-082cf0f2acbb\\})|(\\{92c85192-b325-4599-82e2-a110f193eae6\\})|(\\{5bc21266-26f1-469a-bc1a-a49d7b70ecb9\\})|(\\{dc2dd143-f2e7-4f46-a8ff-4dc1a985e889\\})|(\\{c1233bb6-31a9-4c7d-8469-f8f44adee9ba\\})|(\\{d0d48905-1065-43dc-ab96-434d100602ed\\})|(\\{11deae99-2675-4d5e-86cd-7bd55b88daf2\\})|(\\{a7014e8e-eacf-4ba0-9047-c897c4ed3387\\})|(\\{b9c545a5-0ffa-490a-8071-2fee09478cfe\\})|(\\{39e8eebb-4d9e-4a03-93a8-4468fdd7a186\\})|(\\{8ccc00b1-2010-4155-a07c-f4d7c4d6dec2\\})|(\\{a1056511-4919-43b7-a9e5-ac2b770de810\\})|(\\{90a6da19-9165-44c1-819c-e3b53409f9c9\\})|(\\{e3862078-8f9f-4f8e-99dc-55ba558f0619\\})|(\\{d89fcf34-2615-4efc-a267-1e83ab6a19d0\\})|(\\{588151ce-eab4-4acf-83a7-bb5ccaf4d867\\})|(\\{6ab6312d-5fd4-42a9-ab10-08b954e53f9d\\})|(\\{24a6cbde-be68-4b7d-9f1b-d4d5dfd178a3\\})|(\\{55ae1a08-105f-4f7f-9d4e-e448b517db2b\\})|(\\{74fe9d83-df17-4812-bd3f-27b84b0086b7\\})|(\\{21140e51-713a-4bf8-865b-e2ee07282409\\})|(\\{24f39610-2958-4dc8-a73b-75cc9665bffa\\})|(\\{c50a45a5-efa4-44af-8946-6f20e4748d47\\})|(\\{41d0b7e0-0d93-4f67-bed9-da6d7688ad16\\})|(\\{c2bee222-2163-4c0f-89f5-4ac502f06810\\})|(\\{4be4602e-2b20-473f-8f2b-85e8c53d17dc\\})|(\\{dec2e9b5-e787-4fb5-a7bc-5894f80f7367\\})|(\\{179526e1-1824-49f7-afb3-49fdaadaa503\\})|(\\{4f07d826-ca9e-4370-a508-b984f54758de\\})|(\\{d0558df2-714f-4793-9d85-d2d648de4f2e\\})|(\\{daf1a69b-f47b-4936-bd25-5ac21f4e27ec\\}))$/","prefs":[],"schema":1548099697813,"details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1521975","why":"Remote script injection and deceptive tactics to hide the fact","name":"ext-affiliate add-ons"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0"}],"id":"87c17ce6-aaef-4d47-a662-588efff34041","last_modified":1548198338831},{"guid":"hlper@xero.com","prefs":[],"schema":1548076840649,"details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1521533","why":"This add-on executes abusive remote code.","name":"Av Player Helper (Malware)"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0"}],"id":"1e2ae4c0-66cd-40bc-9cf6-5ca0ce9548f7","last_modified":1548084072622},{"guid":"/^((xtera@soravem\\.net)|(nozl@ssave\\.net))$/","prefs":[],"schema":1547926889113,"details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1521429","why":"This add-on injects abusive remote code.","name":"Video Assist (Malware)"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0"}],"id":"c69997df-0b61-4de5-a351-b640123a9c3b","last_modified":1548073537411},{"guid":"/^((\\{94f608b3-76b6-4b7b-8cef-7360df22a930\\})|(\\{9648b74f-35ea-4218-acf0-ec2191f509f6\\}))$/","prefs":[],"schema":1547754101798,"details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1520813","why":"Add-ons that leak private user data.","name":"Instagram Register and Google Register (Malware)"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0"}],"id":"a15e8d7e-0726-4190-8187-c75e2b46d429","last_modified":1547810271416},{"guid":"reopen@closedtab.com","prefs":[],"schema":1547067530457,"details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1518847","why":"This add-on contains unwanted abusive behavior unrelated to the add-ons functionality.","name":"Reopen Closed Tabs (Malware)"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0"}],"id":"451d950f-ca89-491b-87e7-45123e4f5ab4","last_modified":1547206877909},{"guid":"{43ecded1-f7cb-4bb6-a03d-4bec23b9f22d}","prefs":[],"schema":1547025691087,"details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1518580","why":"This add-on violates Mozilla's policy and user's security/privacy by loading abusive code from remote.","name":"lamme (Malware)"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0"}],"id":"06c6868e-055f-4e7d-aa8f-5ba577f43e85","last_modified":1547027153061},{"guid":"youtube_downloader@addon.partners","prefs":[],"schema":1546890104853,"details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1518032","why":"This add-on contains unwanted abusive functionality.","name":"YouTube Download Tool HD (Malware)"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0"}],"id":"5a42c5bb-9cb4-4d96-b978-8d9f816322e6","last_modified":1547025691078},{"guid":"/^((\\{00cf6ee0-14f3-4e35-a4fd-d2160fe2f05e\\})|(\\{0da583da-e623-41f2-b2d2-0ac61b493171\\})|(\\{105c14a6-8b6f-49ef-b0d6-41bad99ad5e8\\})|(\\{10a15a74-271f-4098-a662-bd827db4f8bc\\})|(\\{13e02b9b-2797-4100-8144-65b73c4145c4\\})|(\\{1eb56568-8a30-42b1-a646-ad9f485f60fe\\})|(\\{1eb8a08c-82a8-4d1d-8b80-f7b5cd4751bf\\})|(\\{2f8220a8-b2a7-4277-ba6b-bdcb6958f669\\})|(\\{33f39a5d-137c-4757-9f9d-e86395c8bf20\\})|(\\{347ca189-9e63-43d2-8a2f-5d5141598bdc\\})|(\\{396056fc-1697-4954-b535-06de8d62fe1b\\})|(\\{3d530918-dbe8-442c-8faf-1f4ca7ca8ab9\\})|(\\{3e283c2e-cde3-4baa-8076-226ca8fb90ef\\})|(\\{591468f8-ebbd-497a-92f1-fa0a1206adb4\\})|(\\{5f6c3eb8-aa32-489a-bb01-b12b23d2001a\\})|(\\{6cbb397a-d865-42b2-8454-25a75b710dff\\})|(\\{7ae2bde0-f7ea-4bf3-a055-06953f9fcf31\\})|(\\{7b402578-ddec-4eee-9c8b-98e4e8db0059\\})|(\\{7fb00cf7-40d3-4415-a0c8-a48d3fbe847f\\})|(\\{87a8a08c-82a8-4d1d-8b80-f7b5cd4751bf\\})|(\\{888220a8-b2a7-4277-ba6b-bdcb6958f669\\})|(\\{8b1dd8f3-224b-4975-bda2-cb2dd184d4d8\\})|(\\{8bcdc9cc-f6be-4203-ae43-a9d281f0bcdb\\})|(\\{8cda9ce6-7893-4f47-ac70-a65215cec288\\})|(\\{8dc9b946-0bb9-4264-9c76-fd9ff1e159a2\\})|(\\{942e0fec-19f2-4ebc-8a74-009da7fa625d\\})|(\\{b2a720a8-b2a7-4277-aa6b-bdeb6958f669\\})|(\\{bdcf953b-d2aa-4e7a-8176-aeb1e95a0caf\\})|(\\{cae82615-f7be-4aff-875d-33da1bc93923\\})|(\\{d2aa953b-bdcf-4f7a-8476-ddb1e9500caf\\})|(\\{da0fa57e-17d3-40d3-99f8-e9d5b2a7759d\\})|(\\{da1237ca-e35d-4653-b2b5-d98043f33781\\})|(\\{e164563a-1512-4b81-99ff-95f2644c4075\\})|(\\{e2a720a8-b3a7-1277-aa2b-bdeb2958f669\\})|(\\{e6a90490-6ef7-407d-863a-7dd120f6f7dc\\})|(\\{f15cfa53-fa9b-43cf-84e8-16ece6695922\\})|(\\{f722c845-2d8b-4a0a-b518-4f39af703e79\\})|(\\{ff1c4e62-7c11-4ea7-b734-3462417ceeb5\\})|(\\{ffa0a57e-17d2-41d3-96f8-e8d5b2a0759d\\}))$/","prefs":[],"schema":1546378806655,"details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1517154","why":"Executing remote code containing coin mining and other undisclosed monetization","name":"Various remote iframe add-ons"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0"}],"id":"53c5fb08-1001-471e-87ce-31185a84bcbc","last_modified":1546439268437},{"guid":"{02267dc4-36f2-4c22-8103-9e26477b48ef}","prefs":[],"schema":1545922885656,"details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1516539","why":"Google Search hijacking and affiliate injection","name":"Markdown"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0"}],"id":"6dd73da4-cb2f-4eb8-8850-890e80c8d57b","last_modified":1545926512914},{"guid":"{d064563a-1542-4b8b-99ff-95f1644c4075}","prefs":[],"schema":1545921144932,"details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1516488","why":"Obfuscated remote script injection stealing data","name":"PDF Print and Save"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0"}],"id":"875bc1c6-257e-438a-8624-3bfe963747b0","last_modified":1545922824252},{"guid":"/^((\\{83768008-e10c-48c0-b303-5a0f1de763a1\\})|(\\{430b0612-bfad-463b-8783-cf2e32801513\\})|(\\{519adb83-4abb-4a66-8e94-243754b8adce\\})|(\\{228a707d-55c1-465b-a759-a2129eb6602e\\}))$/","prefs":[],"schema":1545853297809,"details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1516131","why":"Remote script injection and data exfiltration","name":"Various malicious remote script injection add-ons"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0"}],"id":"c0cb1a85-c6c6-453e-b126-0e6e26ceaf88","last_modified":1545870108716},{"guid":"/^((\\{4c4ceb83-f3f1-ad73-bfe0-259a371ed872\\})|(\\{a941b5ab-8894-41e1-a2ca-c5a6e2769c5f\\})|(\\{56488007-bd74-4702-9b6d-aee8f6cc05ea\\})|(\\{9eebac07-ac86-4be7-928f-e1015f858eee\\})|(\\{5a993517-5be7-480e-a86c-b8e8109fa774\\})|(\\{309ad78e-efff-43cf-910c-76361c536b20\\})|(\\{cefcf45b-dfec-4072-9ffc-317094c69c28\\})|(\\{5b04980b-25e9-4bc6-b6ea-02c58d86cc5e\\})|(\\{0021a844-360f-480e-ac53-47391b7b17b4\\})|(\\{2bed9f51-62a8-4471-b23c-827e6727c794\\})|(\\{7d2130d3-d724-4f58-b6b7-8537a9e09d4c\\})|(\\{ccd3847a-e5ec-4d28-bf98-340230dcbd4d\\})|(\\{83716b9b-6e6e-4471-af76-2d846f5804f3\\})|(\\{5154c03a-4bfc-4b13-86a9-0581a7d8c26d\\})|(\\{24f51c5c-e3f5-4667-bd6c-0be4f6ef5cc2\\})|(\\{73554774-4390-4b00-a5b9-84e8e06d6f3c\\})|(\\{c70cfd12-6dc3-4021-97f2-68057b3b759b\\})|(\\{ef5fe17b-eb6a-4e5e-9c18-9d423525bbbd\\})|(\\{461eb9b4-953c-4412-998e-9452a7cb42e0\\})|(\\{966b00fe-40b0-4d4b-8fde-6deca31c577b\\})|(\\{dab908ac-e1b0-4d7e-bc2e-86a15f37621f\\})|(\\{01a067d3-7bfa-44ac-8da7-2474a0114a7e\\})|(\\{6126261f-d025-4254-a1db-068a48113b11\\})|(\\{6c80453f-05ec-4243-bb71-e1aac5e59cae\\})|(\\{f94ec34b-5590-4518-8546-c1c3a94a5731\\})|(\\{5d4c049e-7433-485a-ac62-dd6e41af1a73\\})|(\\{507f643d-6db8-47fe-af9c-7a7b85a86d83\\})|(\\{5c56eeb4-f97c-4b0d-a72f-8e639fbaf295\\})|(\\{2ef98f55-1e26-40d3-a113-a004618a772e\\})|(\\{77d58874-d516-4b00-b68a-2d987ef83ec5\\})|(\\{7a0755d3-3ba2-4b19-98ce-efcdc36423fc\\})|(\\{47ee3ba1-8974-4f71-b8a4-8033d8c2155f\\})|(\\{a477f774-bc36-4cc8-85bd-99f6b04ea255\\})|(\\{1a2e41e3-4343-4a00-90cd-ce77ac77a8af\\})|(\\{7b180e9a-afd6-4693-94a1-c7b5ed9b46fa\\})|(\\{51f76862-f222-414d-8724-6063f61bbabf\\})|(\\{d47a0c63-ac4c-48ce-8fc7-c5abc81d7f75\\})|(\\{b8adf653-f262-413c-b955-100213b105ad\\})|(\\{ccedf35b-dfd6-417a-80de-fb432948861d\\})|(\\{70e29b0e-7cd8-40df-b560-cf6eb066350d\\})|(\\{9926f8ad-b4c3-4122-a033-1b8a5db416db\\})|(\\{62eefb1c-a2d8-40ba-ab94-9fc2f2d31b2f\\})|(\\{17f14919-00bd-44a4-8c14-78ab9728038f\\})|(\\{20e36a3e-672c-4448-9efb-5750cbffe90c\\})|(\\{6070c95f-6460-4ffd-9846-2bbd7238697f\\})|(\\{1edb8a4e-f105-4623-9e19-e40fb082b132\\})|(\\{223a1503-772d-45eb-8cb8-e2e49563703d\\})|(\\{59e0f01c-1f70-445c-a572-7be5d85549bd\\})|(\\{8ec160b7-1089-4944-a999-a1d6afa71c5d\\})|(\\{d2d111d6-0ea1-4880-ae7b-2e82dff3a719\\})|(\\{cfacacd6-191c-46c4-b78c-8a48289b2829\\})|(\\{1155e72f-2b21-433f-ba9a-5af6ed40c8ee\\})|(\\{583910bd-759f-40f6-b96a-1d678d65650f\\}))$/","prefs":[],"schema":1545162093238,"details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1514865","why":"Remote script injection and data exfiltration","name":"Various add-ons using .cool domains"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0"}],"id":"53168513-103a-4ea0-a48f-bc291354cc9f","last_modified":1545232187960},{"guid":"{56a1e8d2-3ced-4919-aca5-ddd58e0f31ef}","prefs":[],"schema":1544470901949,"details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1491312","why":"The add-on introduces unwanted functionality for users.","name":"Web Guard (Malware)"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0"}],"id":"1dc366d6-c774-4eca-af19-4f9495c2c55e","last_modified":1544544484935},{"guid":"/^((\\{a99e680b-4349-42a5-b292-79b349bf4f3d\\})|(\\{f09a2393-1e6d-4ae4-a020-4772e94040ae\\})|(\\{c9ed9184-179f-485f-adb8-8bd8e9b7cee6\\})|(\\{085e53da-25a2-4162-906e-6c158ec977ac\\})|(\\{bd6960ba-7c06-493b-8cc4-0964a9968df5\\})|(\\{6eeec42e-a844-4bfd-a380-cfbfc988bd78\\})|(\\{3bbfb999-1c82-422e-b7a8-9e04649c7c51\\})|(\\{bfd229b6-089d-49e8-a09c-9ad652f056f6\\})|(\\{ab23eb77-1c96-4e20-b381-14dec82ee9b8\\})|(\\{ebcce9f0-6210-4cf3-a521-5c273924f5ba\\})|(\\{574aba9d-0573-4614-aec8-276fbc85741e\\})|(\\{12e75094-10b0-497b-92af-5405c053c73b\\})|(\\{99508271-f8c0-4ca9-a5f8-ee61e4bd6e86\\})|(\\{831beefc-cd8c-4bd5-a581-bba13d374973\\})|(\\{c8fe42db-b7e2-49e6-98c4-14ac369473a4\\})|(\\{f8927cca-e6cb-4faf-941d-928f84eb937f\\})|(\\{17e9f867-9402-4b19-8686-f0c2b02d378f\\})|(\\{f12ac367-199b-4cad-8e5a-0a7a1135cad0\\})|(\\{487003ce-5253-4eab-bf76-684f26365168\\})|(\\{487003ce-5213-2ecb-bf16-684f25365161\\}))$/","prefs":[],"schema":1543088493623,"details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1509864","why":"Add-ons that track users and load remote code, while pretending to provide cursor customization features.","name":"Various cursor and update add-ons (malware)"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0"}],"id":"a8d942b3-779d-4391-a39c-58c746c13b70","last_modified":1543241996691},{"guid":"{97f19f1f-dbb0-4e50-8b46-8091318617bc}","prefs":[],"schema":1542229276053,"details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1507191","why":"Fraudulent Adobe Reader add-on","name":"Adobe Reader (Malware)"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0"}],"id":"03120522-ee87-4cf8-891a-acfb248536ff","last_modified":1542272674851},{"guid":"/^((video-downloader@vd\\.io)|(image-search-reverse@an\\.br)|(YouTube\\.Downloader@2\\.8)|(eMoji@ems-al\\.io))$/","prefs":[],"schema":1542023230755,"details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1506560","why":"Add-ons that contain malicious copies of third-party libraries.","name":"Malware containing unwanted behavior"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0"}],"id":"cd079abe-8e8d-476f-a550-63f75ac09fe8","last_modified":1542025588071},{"guid":"/^({b384b75c-c978-4c4d-b3cf-62a82d8f8f12})|({b471eba0-dc87-495e-bb4f-dc02c8b1dc39})|({36f623de-750c-4498-a5d3-ac720e6bfea3})$/","prefs":[],"schema":1541360505662,"details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1504619","why":"Add-ons that contain unwanted behavior.","name":"Google Translate (malware)"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0"}],"id":"aa5eefa7-716a-45a6-870b-4697b023d894","last_modified":1541435973146},{"guid":"{80869932-37ba-4dd4-8dfe-2ef30a2067cc}","prefs":[],"schema":1538941301306,"details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1497161","why":"Malicious page redirection","name":"Iridium (Malware)"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0"}],"id":"dd5b0fa4-48fd-4bf6-943d-34de125bf502","last_modified":1538996335645},{"guid":"admin@vietbacsecurity.com","prefs":[],"schema":1537309741764,"details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1491716","why":"Logging and sending keystrokes to a remote server.","name":"Vietnamese Input Method (malware)"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0"}],"id":"89d714f6-9f35-4107-b8af-a16777f66337","last_modified":1537309752952},{"guid":"Safe@vietbacsecurity.com","prefs":[],"schema":1537309684266,"details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1491717","why":"Logging and sending keystrokes to a remote server.","name":"SafeKids (malware)"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0"}],"id":"c651780e-c185-4d6c-b509-d34673c158a3","last_modified":1537309741758},{"guid":"/^((\\{c9226c62-9948-4038-b247-2b95a921135b\\})|(\\{5de34d4f-b891-4575-b54b-54c53b4e6418\\})|(\\{9f7ac3be-8f1c-47c6-8ebe-655b29eb7f21\\})|(\\{bb33ccaf-e279-4253-8946-cfae19a35aa4\\}))$/","prefs":[],"schema":1537305338753,"details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1491298","why":"These add-ons inject remote malicious scripts on Google websites.","name":"Dll and similar (malware)"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0"}],"id":"54b3e69a-40ae-4be5-b7cf-cf51c526dcfb","last_modified":1537306138745},{"guid":"updater-pro-unlisted@mozilla.com","prefs":[],"schema":1537305285414,"details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1491306","why":"Redirects search queries.","name":"Updater Pro (malware)"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0"}],"id":"3108c151-9f25-4eca-8d80-a2fbb2d9bd07","last_modified":1537305338747},{"guid":"/^((\\{686fc9c5-c339-43db-b93a-5181a217f9a6\\})|(\\{eb4b28c8-7f2d-4327-a00c-40de4299ba44\\})|(\\{58d735b4-9d6c-4e37-b146-7b9f7e79e318\\})|(\\{ff608c10-2abc-415c-9fe8-0fdd8e988de8\\})|(\\{5a8145e2-6cbb-4509-a268-f3121429656c\\})|(\\{6d451f29-1d6b-4c34-a510-c1234488b0a3\\})|(\\{de71f09a-3342-48c5-95c1-4b0f17567554\\})|(\\{df106b04-984e-4e27-97b6-3f3150e98a9e\\})|(\\{70DE470A-4DC0-11E6-A074-0C08D310C1A8\\})|(\\{4dcde019-2a1b-499b-a5cd-322828e1279b\\})|(\\{1ec3563f-1567-49a6-bb5c-75d52334b01c\\})|(\\{c140c82e-98e6-49fd-ae17-0627e6f7c5e1\\})|(\\{2581c1f6-5ad9-48d4-8008-4c37dcea1984\\})|(\\{a2bcc6f7-14f7-4083-b4b0-c335edc68612\\})|(\\{4c726bb6-a2af-44ed-b498-794cfd8d8838\\})|(\\{fa6c39a6-cd11-477b-966d-f388f0ba4203\\})|(\\{26c7bd04-18d3-47f5-aeec-bb54e562acf2\\})|(\\{7a961c90-2071-4f94-9d9a-d4e3bbf247c0\\})|(\\{a0481ea2-03f0-4e56-a0e1-030908ecb43e\\})|(\\{c98fb54e-d25f-43f4-bd72-dfaa736391e2\\})|(\\{da57263d-adfc-4768-91f7-b3b076c20d63\\})|(\\{3abb352c-8735-4fb6-9fd6-8117aea3d705\\})|(contactus@unzipper\\.com)|(\\{a1499769-6978-4647-ac0f-78da4652716d\\})|(\\{581D0A4C-1013-11E7-938B-FCD2A0406E17\\})|(\\{68feffe4-bfd8-4fc3-8320-8178a3b7aa67\\})|(\\{823489ae-1bf8-4403-acdd-ea1bdc6431da\\})|(\\{4c0d11c3-ee81-4f73-a63c-da23d8388abd\\})|(\\{dc7d2ecc-9cc3-40d7-93ed-ef6f3219bd6f\\})|(\\{21f29077-6271-46fc-8a79-abaeedb2002b\\})|(\\{55d15d4d-da76-44ab-95a3-639315be5ef8\\})|(\\{edfbec6b-8432-4856-930d-feb334fb69c1\\})|(\\{f81a3bf7-d626-48cf-bd24-64e111ddc580\\})|(\\{4407ab94-60ae-4526-b1ab-2521ffd285c7\\})|(\\{4aa2ba11-f87b-4950-8250-cd977252e556\\})|(\\{646b0c4d-4c6f-429d-9b09-37101b36ed1c\\})|(\\{1b2d76f1-4906-42d2-9643-0ce928505dab\\})|(\\{1869f89d-5f15-4c0d-b993-2fa8f09694fb\\})|(\\{7e4edd36-e3a6-4ddb-9e98-22b4e9eb4721\\})|(\\{e9c9ad8c-84ba-43f2-9ae2-c1448694a2a0\\})|(\\{6b2bb4f0-78ea-47c2-a03a-f4bf8f916eda\\})|(\\{539e1692-5841-4ac6-b0cd-40db15c34738\\}))$/","prefs":[],"schema":1536183366865,"details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1488578","why":"These add-ons take away user control by redirecting search.","name":"Tightrope search add-ons"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0"}],"id":"81eb67a5-3fdb-448c-aadd-5f4d3b7cf281","last_modified":1536186868443},{"guid":"/^((\\{f01a138a-c051-4bc7-a90a-21151ce05755\\})|(\\{50f78250-63ce-4191-b7c3-e0efc6309b64\\})|(\\{3d2b2ff4-126b-4874-a57e-ed7dac670230\\})|(\\{e7c1abd4-ec8e-4519-8f3a-7bd763b8a353\\})|(\\{4d40bf75-fbe2-45f6-a119-b191c2dd33b0\\})|(\\{08df7ff2-dee0-453c-b85e-f3369add18ef\\}))$/","prefs":[],"schema":1535990752587,"details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1488248","why":"Add-ons that inject malicious remote code.","name":"Various Malware"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0"}],"id":"67f72634-e170-4860-a5a3-133f160ebc32","last_modified":1535992146430},{"guid":"/^((\\{1cfaec8b-a1cb-4fc5-b139-897a22a71390\\})|(\\{2ed89659-09c1-4280-9dd7-1daf69272a86\\})|(\\{5c82f5cc-31f8-4316-bb7d-45a5c05227e6\\})|(\\{6a98a401-378c-4eac-b93c-da1036a00c6c\\})|(\\{6d83ebde-6396-483c-b078-57c9d445abfa\\})|(\\{07efb887-b09f-4028-8f7f-c0036d0485ea\\})|(\\{36f4882f-ff0b-4865-8674-ef02a937f7da\\})|(\\{61dea9e9-922d-4218-acdd-cfef0fdf85e7\\})|(\\{261be583-9695-48e0-bd93-a4feafaa18e6\\})|(\\{401ae092-6c5c-4771-9a87-a6827be80224\\})|(\\{534b7a84-9fc6-4d7c-9d67-e3365d2ae088\\})|(\\{552a949f-6d0e-402d-903d-1550075541ba\\})|(\\{579b8de8-c461-4301-ab09-695579f9b7c7\\})|(\\{754d3be3-7337-488e-a5bb-86487e495495\\})|(\\{2775f69b-75e4-46cb-a5aa-f819624bd9a6\\})|(\\{41290ec4-b3f0-45ad-b8f3-7bcbca01ed0d\\})|(\\{0159131f-d76f-4365-81cd-d6831549b90a\\})|(\\{01527332-1170-4f20-a65b-376e25438f3d\\})|(\\{760e6ff0-798d-4291-9d5f-12f48ef7658b\\})|(\\{7e31c21c-156a-4783-b1ce-df0274a89c75\\})|(\\{8e247308-a68a-4280-b0e2-a14c2f15180a\\})|(\\{b6d36fe8-eca1-4d85-859e-a4cc74debfed\\})|(\\{bab0e844-2979-407f-9264-c87ebe279e72\\})|(\\{d00f78fe-ee73-4589-b120-5723b9a64aa0\\})|(\\{d59a7294-6c08-4ad5-ba6d-a3bc41851de5\\})|(\\{d145aa5b-6e66-40cb-8a08-d55a53fc7058\\})|(\\{d79962e3-4511-4c44-8a40-aed6d32a53b1\\})|(\\{e3e2a47e-7295-426f-8517-e72c31da3f23\\})|(\\{e6348f01-841d-419f-8298-93d6adb0b022\\})|(\\{eb6f8a22-d96e-4727-9167-be68c7d0a7e9\\})|(\\{fdd72dfe-e10b-468b-8508-4de34f4e95e3\\}))$/","prefs":[],"schema":1535830899087,"details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1487472","why":"Several add-ons that change forcefully override search settings.","name":"Various malware"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0"}],"id":"43f11241-88e3-4139-9f02-ac39489a241f","last_modified":1535990735167},{"guid":"/^((application2@fr-metoun\\.com)|(application@br-annitop\\.com)|(application@br-atoleg\\.com)|(application@br-cholty\\.com)|(application@br-debozoiz\\.com)|(application@br-echite\\.com)|(application@br-estracep\\.com)|(application@br-exatrom\\.com)|(application@br-iginot\\.com)|(application@br-imastifi\\.com)|(application@br-isobiv\\.com)|(application@br-ludimaro\\.com)|(application@br-pintoula\\.com)|(application@br-proufta\\.com)|(application@br-qhirta\\.com)|(application@br-qibizar\\.com)|(application@br-qopletr\\.com)|(application@br-roblaprouf\\.com)|(application@br-rosalop\\.com)|(application@br-samalag\\.com)|(application@br-sopreni\\.com)|(application@br-stoumo\\.com)|(application@br-villonat\\.com)|(application@br-zoobre\\.com)|(application@de-barbuna\\.com)|(application@de-bicelou\\.com)|(application@de-blabuma\\.com)|(application@de-dalofir\\.com)|(application@de-elplic\\.com)|(application@de-erotah\\.com)|(application@de-ertuck\\.com)|(application@de-eurosty\\.com)|(application@de-ezigat\\.com)|(application@de-lorelam\\.com)|(application@de-losimt\\.com)|(application@de-luchil\\.com)|(application@de-miligap\\.com)|(application@de-open-dog\\.com)|(application@de-rydima\\.com)|(application@de-slapapi\\.com)|(application@de-soqano\\.com)|(application@de-treboola\\.com)|(application@de-vasurk\\.com)|(application@de-ygivas\\.com)|(application@es-biloufer\\.com)|(application@es-boulass\\.com)|(application@es-cemaseur\\.com)|(application@es-elixet\\.com)|(application@es-gestona\\.com)|(application@es-glicalol\\.com)|(application@es-griloup\\.com)|(application@es-iblep\\.com)|(application@es-iglere\\.com)|(application@es-jounyl\\.com)|(application@es-klepst\\.com)|(application@es-nofinaj\\.com)|(application@es-ofarnut\\.com)|(application@es-phistouquet\\.com)|(application@es-pronzal\\.com)|(application@es-roterf\\.com)|(application@es-taapas\\.com)|(application@es-tatoflex\\.com)|(application@fr-acomyl\\.com)|(application@fr-avortep\\.com)|(application@fr-blicac\\.com)|(application@fr-bloubil\\.com)|(application@fr-carazouco\\.com)|(application@fr-cichalou\\.com)|(application@fr-consimis\\.com)|(application@fr-cropam\\.com)|(application@fr-deplitg\\.com)|(application@fr-doadoto\\.com)|(application@fr-domeoco\\.com)|(application@fr-domlaji\\.com)|(application@fr-eferif\\.com)|(application@fr-eivlot\\.com)|(application@fr-eristrass\\.com)|(application@fr-ertike\\.com)|(application@fr-esiliq\\.com)|(application@fr-fedurol\\.com)|(application@fr-grilsta\\.com)|(application@fr-hyjouco\\.com)|(application@fr-intramys\\.com)|(application@fr-istrubil\\.com)|(application@fr-javelas\\.com)|(application@fr-jusftip\\.com)|(application@fr-lolaji\\.com)|(application@fr-macoulpa\\.com)|(application@fr-mareps\\.com)|(application@fr-metoun\\.com)|(application@fr-metyga\\.com)|(application@fr-mimaloy\\.com)|(application@fr-monstegou\\.com)|(application@fr-oplaff\\.com)|(application@fr-ortisul\\.com)|(application@fr-pastamicle\\.com)|(application@fr-petrlimado\\.com)|(application@fr-pinadolada\\.com)|(application@fr-raepdi\\.com)|(application@fr-soudamo\\.com)|(application@fr-stoumo\\.com)|(application@fr-stropemer\\.com)|(application@fr-tlapel\\.com)|(application@fr-tresdumil\\.com)|(application@fr-troglit\\.com)|(application@fr-troplip\\.com)|(application@fr-tropset\\.com)|(application@fr-vlouma)|(application@fr-yetras\\.com)|(application@fr-zorbil\\.com)|(application@fr-zoublet\\.com)|(application@it-bipoel\\.com)|(application@it-eneude\\.com)|(application@it-glucmu\\.com)|(application@it-greskof\\.com)|(application@it-gripoal\\.com)|(application@it-janomirg\\.com)|(application@it-lapretofe\\.com)|(application@it-oomatie\\.com)|(application@it-platoks\\.com)|(application@it-plopatic\\.com)|(application@it-riploi\\.com)|(application@it-sabuf\\.com)|(application@it-selbamo\\.com)|(application@it-sjilota\\.com)|(application@it-stoploco\\.com)|(application@it-teryom\\.com)|(application@it-tyhfepa\\.com)|(application@it-ujdilon\\.com)|(application@it-zunelrish\\.com)|(application@uk-ablapol\\.com)|(application@uk-blamap\\.com)|(application@uk-cepamoa\\.com)|(application@uk-cloakyz\\.com)|(application@uk-crisofil\\.com)|(application@uk-donasip\\.com)|(application@uk-fanibi\\.com)|(application@uk-intramys\\.com)|(application@uk-klastaf\\.com)|(application@uk-liloust\\.com)|(application@uk-logmati\\.com)|(application@uk-manulap\\.com)|(application@uk-misafou\\.com)|(application@uk-nedmaf\\.com)|(application@uk-optalme\\.com)|(application@uk-plifacil\\.com)|(application@uk-poulilax\\.com)|(application@uk-rastafroc\\.com)|(application@uk-ruflec\\.com)|(application@uk-sabrelpt\\.com)|(application@uk-sqadipt\\.com)|(application@uk-tetsop\\.com)|(application@uk-ustif\\.com)|(application@uk-vomesq\\.com)|(application@uk-vrinotd\\.com)|(application@us-estuky\\.com)|(application@us-lesgsyo\\.com)|(applicationY@search-lesgsyo\\.com)|(\\{88069ce6-2762-4e02-a994-004b48bd83c1\\}))$/","prefs":[],"schema":1535701078449,"details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1487627","why":"Add-ons whose main purpose is to track user browsing behavior.","name":"Abusive add-ons"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0"}],"id":"914ec360-d35e-4420-a88f-1bad3513f054","last_modified":1535705400394},{"guid":"/^((\\{35253b0b-8109-437f-b8fa-d7e690d3bde1\\})|(\\{0c8d774c-0447-11e7-a3b1-1b43e3911f03\\})|(\\{c11f85de-0bf8-11e7-9dcd-83433cae2e8e\\})|(\\{f9f072c8-5357-11e7-bb4c-c37ea2335fb4\\})|(\\{b6d09408-a35e-11e7-bc48-f3e9438e081e\\}))$/","prefs":[],"schema":1535658090284,"details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1486754","why":"Add-ons that execute remote malicious code.","name":"Several malicious add-ons"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0"}],"id":"56bd2f99-57eb-4904-840a-23ca155d93ad","last_modified":1535701073599},{"guid":"/^((fireAnalytics\\.download@mozilla\\.com)|(fireabsorb@mozilla\\.com)|(fireaccent@mozilla\\.com)|(fireaccept@mozilla\\.com)|(fireads@mozilla\\.com)|(firealerts@mozilla\\.com)|(fireapi@mozilla\\.com)|(fireapp@mozilla\\.com)|(fireattribution@mozilla\\.com)|(fireauthenticator@mozilla\\.com)|(firecalendar@mozilla\\.com)|(firemail@mozilla\\.com)|(firemarketplace@mozilla\\.com)|(firequestions@mozilla\\.com)|(firescript@mozilla\\.com)|(firesheets@mozilla\\.com)|(firespam@mozilla\\.com)|(firesuite@mozilla\\.com)|(\\{3b6dfc8f-e8ed-4b4c-b616-bdc8c526ac1d\\})|(\\{834f87db-0ff7-4518-89a0-0167a963a869\\})|(\\{4921fe4d-fbe6-4806-8eed-346d7aff7c75\\})|(\\{07809949-bd7d-40a6-a17b-19807448f77d\\})|(\\{68968617-cc8b-4c25-9c38-34646cdbe43e\\})|(\\{b8b2c0e1-f85d-4acd-aeb1-b6308a473874\\})|(\\{bc0b3499-f772-468e-9de6-b4aaf65d2bbb\\}))$/","prefs":[],"schema":1535555549913,"details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1486636","why":"Add-ons that hijack search settings.","name":"Various malicious add-ons"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0"}],"id":"fcd12629-43df-4751-9654-7cc008f8f7c0","last_modified":1535555562143},{"guid":"/^((\\{25211004-63e4-4a94-9c71-bdfeabb72bfe\\})|(\\{cbf23b92-ea55-4ca9-a5ae-f4197e286bc8\\})|(\\{7ac0550e-19cb-4d22-be12-b0b352144b33\\})|(Mada111@mozilla\\.com)|(\\{c71709a9-af59-4958-a587-646c8c314c16\\})|(\\{6ac3f3b4-18db-4f69-a210-7babefd94b1e\\})|(addon@fastsearch\\.me)|(\\{53d152fa-0ae0-47f1-97bf-c97ca3051562\\})|(\\{f9071611-24ee-472b-b106-f5e2f40bbe54\\})|(\\{972920f1-3bfd-4e99-b605-8688a94c3c85\\})|(\\{985afe98-fa74-4932-8026-4bdc880552ac\\})|(\\{d96a82f5-5d3e-46ed-945f-7c62c20b7644\\})|(\\{3a036dc5-c13b-499a-a62d-e18aab59d485\\})|(\\{49574957-56c6-4477-87f1-1ac7fa1b2299\\})|(\\{097006e8-9a95-4f7c-9c2f-59f20c61771c\\})|(\\{8619885d-0380-467a-b3fe-92a115299c32\\})|(\\{aa0587d6-4760-4abe-b3a1-2a5958f46775\\})|(\\{bdada7ae-cf89-46cf-b1fe-f3681f596278\\})|(\\{649bead3-df51-4023-8090-02ceb2f7095a\\})|(\\{097c3142-0b68-416a-9919-9dd576aedc17\\})|(\\{bc3cced8-51f0-4519-89ee-56706b67ea4b\\})|(\\{796da6e3-01c0-4c63-96dd-1737710b2ff6\\}))$/","prefs":[],"schema":1535485297866,"details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1487083","why":"Add-ons that hijack search settings and contain other unwanted features.","name":"Vairous malware"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0"}],"id":"016676cc-c381-4c01-adcf-2d46f48142d0","last_modified":1535550828514},{"guid":"/^((Timemetric@tmetric)|(image-fastpicker@eight04.blogspot\\.com)|(textMarkertool@underFlyingBirches\\.org)|(youpanel@jetpack)|({0ff32ce0-dee9-4e7e-9260-65e58373e21d})|({4ca00873-7e8d-4ada-b460-96cad0eb8fa9})|({6b427f73-2ee1-4256-b69d-7dc253ebe030})|({6f13489d-b274-45b6-80fa-e9daa140e1a4})|({40a9d23b-09ef-4c82-ae1d-7fc5c067e987})|({205c2185-ebe4-4106-92ab-0ffa7c4efcbb})|({256ec7b0-57b4-416d-91c1-2bfdf01b2438})|({568db771-c718-4587-bcd0-e3728ee53550})|({5782a0f1-de26-42e5-a5b3-dae9ec05221b})|({9077390b-89a9-41ad-998f-ab973e37f26f})|({8e7269ac-a171-4d9f-9c0a-c504848fd52f})|({3e6586e2-7410-4f10-bba0-914abfc3a0b4})|({b3f06312-93c7-4a4f-a78b-f5defc185d8f})|({c1aee371-4401-4bab-937a-ceb15c2323c1})|({c579191c-6bb8-4795-adca-d1bf180b512d})|({d0aa0ad2-15ed-4415-8ef5-723f303c2a67})|({d8157e0c-bf39-42eb-a0c3-051ff9724a8c})|({e2a4966f-919d-4afc-a94f-5bd6e0606711})|({ee97f92d-1bfe-4e9d-816c-0dfcd63a6206}))$/","prefs":[],"schema":1535356061028,"details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1485145","why":"Add-ons that run remote malicious code from websites that trick the user into installing the add-on.","name":"Malware running remote malicious code"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0"}],"id":"a0d44ee3-9492-47d7-ac1c-35f520e819ae","last_modified":1535393877555},{"guid":"/^((fastplayer@fastsearch\\.me)|(ff-search-flash-unlisted@mozilla\\.com)|(inspiratiooo-unlisted@mozilla\\.com)|(lite-search-ff-unlisted@mozilla\\.com)|(mysearchprotect-unlisted@mozilla\\.com)|(pdfconverter-unlisted@mozilla\\.com)|(plugin-search-ff-unlisted@mozilla\\.com)|(pro-search-ff-unlisted@mozilla\\.com)|(pro-search-unlisted@mozilla\\.com)|(searchincognito-unlisted@mozilla\\.com)|(socopoco-search@mozilla\\.com)|(socopoco-unlisted@mozilla\\.com)|(\\{08ea1e08-e237-42e7-ad60-811398c21d58\\})|(\\{0a56e2a0-a374-48b6-9afc-976680fab110\\})|(\\{193b040d-2a00-4406-b9ae-e0d345b53201\\})|(\\{1ffa2e79-7cd4-4fbf-8034-20bcb3463d20\\})|(\\{528cbbe2-3cde-4331-9344-e348cb310783\\})|(\\{6f7c2a42-515a-4797-b615-eaa9d78e8c80\\})|(\\{be2a3fba-7ea2-48b9-bbae-dffa7ae45ef8\\})|(\\{c0231a6b-c8c8-4453-abc9-c4a999a863bd\\}))$/","prefs":[],"schema":1535139689975,"details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1483854","why":"Add-ons overwriting search changes without consent and remote script injection","name":"\"Flash Updater\" and search redirectors"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0"}],"id":"46779b5a-2369-4007-bff0-857a657626ba","last_modified":1535153064735},{"guid":"/^(({aeac6f90-5e17-46fe-8e81-9007264b907d})|({6ee25421-1bd5-4f0c-9924-79eb29a8889d})|({b317fa11-c23d-45b9-9fd8-9df41a094525})|({16ac3e8f-507a-4e04-966b-0247a196c0b4}))$/","prefs":[],"schema":1534946831027,"details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1485609","why":"Add-ons that take away user control by changing search settings.","name":"Search hijacking malware"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0"}],"id":"ab029019-0e93-450a-8c11-ac31556c2a77","last_modified":1535020847820},{"guid":"@testpilot-addon","prefs":[],"schema":1534876689555,"details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1485083","why":"Older versions of the TestPilot add-on cause stability issues in Firefox.","name":"Testpilot (old, broken versions)"},"enabled":true,"versionRange":[{"severity":1,"maxVersion":"2.0.8-dev-259fe19","minVersion":"0"}],"id":"ee2d12a4-ea1d-4f3d-9df1-4303e8993f18","last_modified":1534946810180},{"guid":"/(({a4d84dae-7906-4064-911b-3ad2b1ec178b})|({d7e388c5-1cd0-4aa6-8888-9172f90951fb})|({a67f4004-855f-4e6f-8ef0-2ac735614967})|({25230eb3-db35-4613-8c03-e9a3912b7004})|({37384122-9046-4ff9-a31f-963767d9fe33})|({f1479b0b-0762-4ba2-97fc-010ea9dd4e73})|({53804e15-69e5-4b24-8883-c8f68bd98cf6})|({0f2aec80-aade-46b8-838c-54eeb595aa96})|({b65d6378-6840-4da6-b30e-dee113f680aa})|({e8fc3f33-14b7-41aa-88a1-d0d7b5641a50})|({c49ee246-d3d2-4e88-bfdb-4a3b4de9f974}))$/","prefs":[],"schema":1534621297612,"details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1484536","why":"Add-ons that don't respect user choice by overriding search.","name":"Search hijacking add-ons (Malware)"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0"}],"id":"01c22882-868b-43e1-bb23-29d5dc7bc11b","last_modified":1534781959544},{"guid":"/^((firefox@browser-security\\.de)|(firefox@smarttube\\.io)|({0fde9597-0508-47ff-ad8a-793fa059c4e7})|(info@browser-privacy\\.com)|({d3b98a68-fd64-4763-8b66-e15e47ef000a})|({36ea170d-2586-45fb-9f48-5f6b6fd59da7})|(youtubemp3converter@yttools\\.io)|(simplysearch@dirtylittlehelpers\\.com)|(extreme@smarttube\\.io)|(selfdestructingcookies@dirtylittlehelpers\\.com)|({27a1b6d8-c6c9-4ddd-bf20-3afa0ccf5040})|({2e9cae8b-ee3f-4762-a39e-b53d31dffd37})|(adblock@smarttube\\.io)|({a659bdfa-dbbe-4e58-baf8-70a6975e47d0})|({f9455ec1-203a-4fe8-95b6-f6c54a9e56af})|({8c85526d-1be9-4b96-9462-aa48a811f4cf})|(mail@quick-buttons\\.de)|(youtubeadblocker@yttools\\.io)|(extension@browser-safety\\.org)|(contact@web-security\\.com)|(videodownloader@dirtylittlehelpers\\.com)|(googlenotrack@dirtylittlehelpers\\.com)|(develop@quick-amz\\.com))$/","prefs":[],"schema":1534448497752,"details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1483995","why":"Sending user data to remote servers unnecessarily, and potential for remote code execution. Suspicious account activity for multiple accounts on AMO.","name":"Web Security and others"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0"}],"id":"96b2e7d5-d4e4-425e-b275-086dc7ccd6ad","last_modified":1534449179691},{"guid":"/^((de\\.firefoxextension12345@asdf\\.pl)|(deex1@de\\.com)|(esex1@ese\\.com)|(estrellach@protonmail\\.com)|(fifi312@protonmail\\.com)|(finex1@fin\\.com)|(firefoxextension123@asdf\\.pl)|(firefoxextension1234@asdf\\.pl)|(firefoxextension12345@asdf\\.pl)|(firefoxextension123456@asdf\\.pl)|(frexff1@frexff1\\.com)|(frexff2@frexff2\\.com)|(frexff3@frexff3\\.com)|(ind@niepodam\\.pl)|(jacob4311@protonmail\\.com)|(javonnu144@protonmail\\.com)|(keellon33-ff@protonmail\\.com)|(keellon33@protonmail\\.com)|(masetoo4113@protonmail\\.com)|(mikecosenti11@protonmail\\.com)|(paigecho@protonmail\\.com)|(salooo12@protonmail\\.com)|(swex1@swe\\.com)|(swex2@swe\\.com)|(swex3@swe\\.com)|(willburpoor@protonmail\\.com)|(williamhibburn@protonmail\\.com)|)$/","prefs":[],"schema":1534415492022,"details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1483769","why":"Malware targeting Facebook","name":"Facebook malware"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0"}],"id":"202fbae4-e904-430a-a244-63b0fb04385f","last_modified":1534415530239},{"guid":"/^((@svuznnqyxinw)|(myprivacytools@besttools\\.com)|(powertools@penprivacy\\.com)|(privacypro@mybestprivacy\\.com)|(realsecure@top10\\.com)|(rlbvpdfrlbgx@scoutee\\.net)|(vfjkurlfijwz@scoutee\\.net))$/","prefs":[],"schema":1534382102271,"details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1482322","why":"Add-ons that change the default search engine, taking away user control.","name":"Search hijacking add-ons"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0"}],"id":"df852b6a-28be-4b10-9285-869f4761f111","last_modified":1534382538298},{"guid":"/^(({1a3fb414-0945-405c-a62a-9fe5e1a50c69})|({1a45f6aa-d80a-4317-84d2-0ce43671b08a})|({2d52a462-8bec-4708-9cd1-894b682bdc78})|({3f841cfc-de5a-421f-8bd7-2bf1d943b02a})|({5c7601bf-522b-47e5-b0f0-ea0e706af443})|({7ebe580f-71c9-4ef8-8073-f38deaeb9dfb})|({8b2188fd-1daf-4851-b387-28d964014353})|({8cee42ac-f1fe-40ae-aed6-24e3b76b2f77})|({8d13c4a9-5e8c-47a6-b583-681c83164ac9})|({9b1d775a-1877-45c9-ad48-d6fcfa4fff39})|({9efdbe5f-6e51-4a35-a41b-71dc939e6221})|({23f63efb-156e-440b-a96c-118bebc21057})|({026dfc8c-ecc8-41ba-b45f-70ffbd5cc672})|({34aa433c-27e9-4c87-a662-9f82f99eb9af})|({36f34d69-f22f-47c3-b4cd-4f37b7676107})|({39bd8607-0af4-4d6b-bd69-9a63c1825d3c})|({48c6ad6d-297c-4074-8fef-ca5f07683859})|({54aa688d-9504-481d-ba75-cfee421b98e0})|({59f59748-e6a8-4b41-87b5-9baadd75ddef})|({61d99407-1231-4edc-acc8-ab96cbbcf151})|({68ca8e3a-397a-4135-a3af-b6e4068a1eae})|({71beafd6-779b-4b7d-a78b-18a107277b59})|({83ed90f8-b07e-4c45-ba6b-ba2fe12cebb6})|({231dfb44-98e0-4bc4-b6ee-1dac4a836b08})|({273f0bce-33f4-45f6-ae03-df67df3864c2})|({392f4252-c731-4715-9f8d-d5815f766abb})|({484ec5d0-4cfd-4d96-88d0-a349bfc33780})|({569dbf47-cc10-41c4-8fd5-5f6cf4a833c7})|({578cad7a-57d5-404d-8dda-4d30de33b0c2})|({986b2c3f-e335-4b39-b3ad-46caf809d3aa})|({1091c11f-5983-410e-a715-0968754cff54})|({2330eb8a-e3fe-4b2e-9f17-9ddbfb96e6f5})|({5920b042-0af1-4658-97c1-602315d3b93d})|({6331a47f-8aae-490c-a9ad-eae786b4349f})|({6698b988-c3ef-4e1f-8740-08d52719eab5})|({30516f71-88d4-489b-a27f-d00a63ad459f})|({12089699-5570-4bf6-890f-07e7f674aa6e})|({84887738-92bf-4903-a5e8-695fd078c657})|({8562e48e-3723-412a-9ebd-b33d3d3b29dd})|({6e449795-c545-41be-92c0-5d467c147389})|({1e369c7c-6b61-436e-8978-4640687670d6})|({a03d427a-bd2e-42b6-828f-a57f38fac7b5})|({a77fc9b9-6ebb-418d-b0b6-86311c191158})|({a368025b-9828-43a1-8a5c-f6fab61c9be9})|({b1908b02-410d-4778-8856-7e259fbf471d})|({b9425ace-c2e9-4ec4-b564-4062546f4eca})|({b9845b5d-70c9-419c-a9a5-98ea8ee5cc01})|({ba99fee7-9806-4e32-8257-a33ffc3b8539})|({bdf8767d-ae4c-4d45-8f95-0ba29b910600})|({c6c4a718-cf91-4648-aa9b-170d66163cf2})|({ca0f2988-e1a8-4e83-afde-0dca56a17d5f})|({cac5db09-979b-40e3-8c8e-d96397b0eecb})|({d3b5280b-f8d8-4669-bdf6-91f23ae58042})|({d73d2f6a-ea24-4b1b-8c76-563fce9f786d})|({d77fed37-85c0-4b94-89bb-0d2849472b8d})|({d371abec-84bb-481b-acbf-235639451127})|({de47a3b4-dad1-4f4a-bdd6-8666586e29e8})|({ded6afad-2aaa-446b-b6bd-b12a8a61c945})|({e0c3a1ca-8e21-4d1b-b53b-ea115cf59172})|({e6bbf496-6489-4b48-8e5a-799aad4aa742})|({e63b262a-f9b8-4496-9c4b-9d3cbd6aea90})|({e73c1b5d-20f7-4d86-ad16-9de3c27718e2})|({eb01dc49-688f-4a21-aa8d-49bd88a8f319})|({edc9816b-60b4-493c-a090-01125e0b8018})|({effa2f97-0f07-44c8-99cb-32ac760a0621})|({f6e6fd9b-b89f-4e8d-9257-01405bc139a6})|({ff87977a-fefb-4a9d-b703-4b73dce8853d})|({ffea9e62-e516-4238-88a7-d6f9346f4955}))$/","prefs":[],"schema":1534335096640,"details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1483191","why":"Add-ons that change the default search engine, taking away user control.","name":"Search hijacking add-ons"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0"}],"id":"d9892a76-b22e-40bd-8073-89b0f8110ec7","last_modified":1534336165428},{"guid":"/^((Timemetric@tmetric)|(textMarkertool@underFlyingBirches\\.org)|(youpanel@jetpack)|({6f13489d-b274-45b6-80fa-e9daa140e1a4})|({568db771-c718-4587-bcd0-e3728ee53550})|({829827cd-03be-4fed-af96-dd5997806fb4})|({9077390b-89a9-41ad-998f-ab973e37f26f})|({8e7269ac-a171-4d9f-9c0a-c504848fd52f})|({aaaffe20-3306-4c64-9fe5-66986ebb248e})|({bf153de7-cdf2-4554-af46-29dabfb2aa2d})|({c579191c-6bb8-4795-adca-d1bf180b512d})|({e2a4966f-919d-4afc-a94f-5bd6e0606711})|({ee97f92d-1bfe-4e9d-816c-0dfcd63a6206}))$/","prefs":[],"schema":1534275699570,"details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1483206","why":"Add-ons that execute malicious remote code","name":"Various malware"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0"}],"id":"2734325e-143b-4962-98bf-4b18c77407e2","last_modified":1534334500118},{"guid":"/^(({0f9e469e-4245-43f8-a7a8-7e730f80d284})|({117ca2f3-df4c-4e17-a5c5-b49077e9c731})|({11db147a-a1cb-43dd-9c05-0d11683483e1})|({1ed2af70-9e89-42db-a9e8-17ae594003ac})|({24ed6bdc-3085-413b-a62e-dc5dd30272f4})|({2aa19a7a-2a43-4e0d-a3dc-abb33fa7e2b6})|({3d6fbbb3-6c80-47bb-af20-56fcaebcb9ca})|({42f4c194-8929-42b9-a9a3-afa56dd0913b})|({46740fa0-896d-4f2e-a240-9478865c47c2})|({4718da68-a373-4a03-a77b-0f49b8bb40ee})|({4d41e0b8-bf7e-45ab-bd90-c426b420e3ee})|({50957a38-c15d-42da-94f5-325bc74a554c})|({5650fc63-a7c5-4627-8d0a-99b20dcbd94b})|({5c5c38ec-08bf-493a-9352-6ccf25d60c08})|({67ecb446-9ccd-4193-a27f-7bd1521bd03c})|({71f01ffe-226d-4634-9b21-968f5ce9f8f5})|({72f31855-2412-4998-a6ff-978f89bba0c3})|({7b3c1e86-2599-4e1a-ad98-767ae38286c8})|({7c37463c-001e-4f58-9e88-aaab2a624551})|({7de64f18-8e6b-4c41-9b05-d8872b418026})|({82dcf841-c7e1-4764-bb47-caa28909e447})|({872f20ea-196e-4d11-8835-1cc4c877b1b8})|({8efee317-546f-418d-82d3-60cc5187acf5})|({93deeba1-0126-43f7-a94d-4eecfce53b33})|({9cc12446-16da-4200-b284-d5fc18670825})|({9cd27996-6068-4597-8e97-bb63f783a224})|({9fdcedc7-ffde-44c3-94f6-4196b1e0d9fc})|({a191563e-ac30-4c5a-af3d-85bb9e9f9286})|({a4cb0430-c92e-44c6-9427-6a6629c4c5f6})|({a87f1b9b-8817-4bff-80fd-db96020c56c8})|({ae29a313-c6a9-48be-918d-1e4c67ba642f})|({b2cea58a-845d-4394-9b02-8a31cfbb4873})|({b420e2be-df31-4bea-83f4-103fe0aa558c})|({b77afcab-0971-4c50-9486-f6f54845a273})|({b868c6f4-5841-4c14-86ee-d60bbfd1cec1})|({b99ae7b1-aabb-4674-ba8f-14ed32d04e76})|({b9bb8009-3716-4d0c-bcb4-35f9874e931e})|({c53c4cbc-04a7-4771-9e97-c08c85871e1e})|({ce0d1384-b99b-478e-850a-fa6dfbe5a2d4})|({cf8e8789-e75d-4823-939f-c49a9ae7fba2})|({d0f67c53-42b5-4650-b343-d9664c04c838})|({dfa77d38-f67b-4c41-80d5-96470d804d09})|({e20c916e-12ea-445b-b6f6-a42ec801b9f8})|({e2a4966f-919d-4afc-a94f-5bd6e0606711})|({e7d03b09-24b3-4d99-8e1b-c510f5d13612})|({fa8141ba-fa56-414e-91c0-898135c74c9d})|({fc99b961-5878-46b4-b091-6d2f507bf44d})|(firedocs@mozilla\\.com)|(firetasks@mozilla\\.com)|(getta@mozilla\\.com)|(javideo@mozilla\\.com)|(javideo2@mozilla\\.com)|(javideos@mozilla\\.com)|(javideosz@mozilla\\.com)|(search_free@mozilla\\.com)|(search-unlisted@mozilla\\.com)|(search-unlisted101125511@mozilla\\.com)|(search-unlisted10155511@mozilla\\.com)|(search-unlisted1025525511@mozilla\\.com)|(search-unlisted1099120071@mozilla\\.com)|(search-unlisted1099125511@mozilla\\.com)|(search-unlisted109925511@mozilla\\.com)|(search-unlisted11@mozilla\\.com)|(search-unlisted111@mozilla\\.com)|(search-unlisted12@mozilla\\.com)|(search-unlisted14400770034@mozilla\\.com)|(search-unlisted144007741154@mozilla\\.com)|(search-unlisted144436110034@mozilla\\.com)|(search-unlisted14454@mozilla\\.com)|(search-unlisted1570124111@mozilla\\.com)|(search-unlisted1570254441111@mozilla\\.com)|(search-unlisted15721239034@mozilla\\.com)|(search-unlisted157441@mozilla\\.com)|(search-unlisted15757771@mozilla\\.com)|(search-unlisted1577122001@mozilla\\.com)|(search-unlisted15777441001@mozilla\\.com)|(search-unlisted15788120036001@mozilla\\.com)|(search-unlisted157881200361111@mozilla\\.com)|(search-unlisted1578899961111@mozilla\\.com)|(search-unlisted157999658@mozilla\\.com)|(search-unlisted158436561@mozilla\\.com)|(search-unlisted158440374111@mozilla\\.com)|(search-unlisted15874111@mozilla\\.com)|(search-unlisted1741395551@mozilla\\.com)|(search-unlisted17441000051@mozilla\\.com)|(search-unlisted174410000522777441@mozilla\\.com)|(search-unlisted1768fdgfdg@mozilla\\.com)|(search-unlisted180000411@mozilla\\.com)|(search-unlisted18000411@mozilla\\.com)|(search-unlisted1800411@mozilla\\.com)|(search-unlisted18011888@mozilla\\.com)|(search-unlisted1801668@mozilla\\.com)|(search-unlisted18033411@mozilla\\.com)|(search-unlisted180888@mozilla\\.com)|(search-unlisted181438@mozilla\\.com)|(search-unlisted18411@mozilla\\.com)|(search-unlisted18922544@mozilla\\.com)|(search-unlisted1955511@mozilla\\.com)|(search-unlisted2@mozilla\\.com)|(search-unlisted3@mozilla\\.com)|(search-unlisted4@mozilla\\.com)|(search-unlisted400@mozilla\\.com)|(search-unlisted40110@mozilla\\.com)|(search-unlisted5@mozilla\\.com)|(search-unlisted55@mozilla\\.com)|(search@mozilla\\.com)|(searchazsd@mozilla\\.com)|(smart246@mozilla\\.com)|(smarter1@mozilla\\.com)|(smarters1@mozilla\\.com)|(stream@mozilla\\.com)|(tahdith@mozilla\\.com)|(therill@mozilla\\.com)|(Updates@mozilla\\.com))$/","prefs":[],"schema":1534102906482,"details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1480591","why":"These add-ons violate the no-surprises and user-control policy.","name":"Search engine hijacking malware"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0"}],"id":"cee5c2ab-1059-4b15-a78c-1203116552c4","last_modified":1534157457677},{"guid":"/^((search-unlisted2@mozilla\\.com)|(search-unlisted3@mozilla\\.com)|(search-unlisted4@mozilla\\.com)|(search-unlisted5@mozilla\\.com)|(search-unlisted11@mozilla\\.com)|(search-unlisted12@mozilla\\.com)|(search-unlisted55@mozilla\\.com)|(search-unlisted111@mozilla\\.com)|(search-unlisted400@mozilla\\.com)|(search-unlisted40110@mozilla\\.com)|(search-unlisted17441000051@mozilla\\.com)|(search-unlisted174410000522777441@mozilla\\.com)|(search-unlisted@mozilla\\.com)|({0a054930-63d7-46f4-937a-de80eab21da4})|({0b24cf69-02b8-407d-83db-e7af04fc1f3e})|({0c4df994-4f4a-4646-ae5d-8936be8a4188})|({0d50d8aa-d1ed-4930-b0a0-f3340d2f510e})|({0eb4672d-58a6-4230-b74c-50ca3716c4b0})|({0f9e469e-4245-43f8-a7a8-7e730f80d284})|({0fc9fcc7-2f47-4fd1-a811-6bd4d611294b})|({4479446e-40f3-48af-ab85-7e3bb4468227})|({1a927d5b-42e7-4407-828a-fdc441d0daae})|({1a760841-50c3-4143-9f7e-3c8f04e8f9d1})|({1bd8ba17-b3ed-412e-88db-35bc4d8771d7})|({1c7d6d9e-325a-4260-8213-82d51277fc31})|({01c9a4a4-06dd-426b-9500-2ea6fe841b88})|({1cab8ccf-deff-4743-925d-a47cbd0a6b56})|({1cb0652a-4645-412d-b7e8-0b9e9a83242f})|({1d6634ca-dd37-4a31-aad1-321f05aa2bb3})|({1d9997b2-f61e-429a-8591-999a6d62becc})|({1ed2af70-9e89-42db-a9e8-17ae594003ac})|({01f409a5-d617-47be-a574-d54325fe05d1})|({2a8bec00-0ab0-4b4d-bd3d-4f59eada8fd8})|({2aeb1f92-6ddc-49f5-b7b3-3872d7e019a9})|({2bb68b03-b528-4133-9fc4-4980fbb4e449})|({2cac0be1-10a2-4a0d-b8c5-787837ea5955})|({2d3c5a5a-8e6f-4762-8aff-b24953fe1cc9})|({2ee125f1-5a32-4f8e-b135-6e2a5a51f598})|({2f53e091-4b16-4b60-9cae-69d0c55b2e78})|({3a65e87c-7ffc-408d-927e-ebf1784efd6d})|({3a26e767-b781-4e21-aaf8-ac813d9edc9f})|({3c3ef2a3-0440-4e77-9e3c-1ca8d48f895c})|({3dca6517-0d75-42d2-b966-20467f82dca1})|({3f4191fa-8f16-47d2-9414-36bfc9e0c2bf})|({3f49e12b-bb58-4797-982c-4364030d96d9})|({4aa2f47a-0bae-4a47-8a1b-1b93313a2938})|({04abafc7-7a65-401d-97f3-af2853854373})|({4ad16913-e5cb-4292-974c-d557ef5ec5bb})|({4b1050c6-9139-4126-9331-30a836e75db9})|({4b1777ec-6fe4-4572-9a29-5af206e003bf})|({4beacbbb-1691-40e7-8c1e-4853ce2e2dee})|({4c140bc5-c2ad-41c3-a407-749473530904})|({4cbef3f0-4205-4165-8871-2844f9737602})|({4dac7c77-e117-4cae-a9f0-6bd89e9e26ab})|({04ed02dc-0cb0-40c2-8bc8-6f20843024b8})|({4f6b6aaf-c5a1-4fac-8228-ead4d359dc6d})|({4f8a15fb-45c2-4d3b-afb1-c0c8813a4a5a})|({5af74f5a-652b-4b83-a2a9-f3d21c3c0010})|({5b0f6d3c-10fd-414c-a135-dffd26d7de0f})|({5b421f02-e55e-4b63-b90e-aa0cfea01f53})|({5b620343-cd69-49b8-a7ba-f9d499ee5d3d})|({5c5cf69b-ed92-4429-8d26-ff3bb6c37269})|({5cf77367-b141-4ba4-ac2a-5b2ca3728e81})|({5da81d3d-5db1-432a-affc-4a2fe9a70749})|({5eac1066-90c3-4ba0-b361-e6315dcd6828})|({5ec4c837-59b9-496d-96e2-ff3fa74ca01f})|({5efd8c7a-ff37-41ac-a55c-af4170453fdf})|({5f4e63e4-351f-4a21-a8e5-e50dc72b5566})|({6a934ff5-e41d-43a2-baf5-2d215a869674})|({06a71249-ef35-4f61-b2c8-85c3c6ee5617})|({6ad26473-5822-4142-8881-0c56a8ebc8c0})|({6cee30bc-a27c-43ea-ac72-302862db62b2})|({6ed852d5-a72e-4f26-863f-f660e79a2ebb})|({6eee2d17-f932-4a43-a254-9e2223be8f32})|({6f13489d-b274-45b6-80fa-e9daa140e1a4})|({6fa41039-572b-44a4-acd4-01fdaebf608d})|({7ae85eef-49cf-440d-8d13-2bebf32f14cf})|({7b3c1e86-2599-4e1a-ad98-767ae38286c8})|({7b23c0de-aa3d-447f-9435-1e8eba216f09})|({7b71d75e-51f5-4a71-9207-7acb58827420})|({7c6bf09e-5526-4bce-9548-7458ec56cded})|({7ca54c8d-d515-4f2a-a21f-3d32951491a6})|({7d932012-b4dd-42cc-8a78-b15ca82d0e61})|({7d5e24a1-7bef-4d09-a952-b9519ec00d20})|({7eabad73-919d-4890-b737-8d409c719547})|({7eaf96aa-d4e7-41b0-9f12-775c2ac7f7c0})|({7f8bc48d-1c7c-41a0-8534-54adc079338f})|({7f84c4d8-bdf5-4110-a10d-fa2a6e80ef6a})|({8a6bda75-4668-4489-8869-a6f9ccbfeb84})|({8a0699a0-09c3-4cf1-b38d-fec25441650c})|({8ab8c1a2-70d4-41a8-bf78-0d0df77ac47f})|({8b4cb418-027e-4213-927a-868b33a88b4f})|({8fcfe2b3-598e-4861-a5d4-0d77993f984b})|({9a941038-82fa-4ae4-ba98-f2eb2d195345})|({9b8a3057-8bf4-4a9e-b94b-867e4e71a50c})|({9b8df895-fcdd-452a-8c46-da5be345b5bc})|({09c8fa16-4eec-4f78-b19d-9b24b1b57e1e})|({09cbfddf-5e55-4676-920d-5a16cb9e4cb5})|({9cf8d28f-f546-4871-ac4d-5faff8b5bde3})|({9d592fd5-e655-461a-9b28-9eba85d4c97f})|({9fc6e583-78a5-4a2b-8569-4297bb8b3300})|({014d98ce-dab9-4c1d-8643-166e75d7cb4d})|({18c64b09-4ccb-4c21-ba6f-ebd4a1efa034})|({21d83d85-a636-4b18-955d-376a6b19bd19})|({22ecf14b-ead6-4684-a498-7b2b839a4c97})|({23c65153-c21e-430a-a2dc-0793410a870d})|({29c69b12-8208-457e-92f4-e663b00a1f10})|({30a8d6f1-0401-4327-8c46-2e1ab45dfe77})|({30d63f93-1446-43b3-8219-deefec9c81ce})|({32cb52f8-c78a-423d-b378-0abec72304a6})|({35bfa8c0-68c1-41f8-a5dd-7f3b3c956da9})|({36a4269e-4eef-4538-baea-9dafbf6a8e2f})|({37f8e483-c782-40ed-82e9-36f101b9e41f})|({42a512a8-37e0-4e07-a1db-5b4651d75048})|({43ae5745-c40a-45ab-9c11-74316c0e9fd2})|({53fa8e1c-112b-4013-b582-0d9e8c51ca75})|({56effac7-3ae9-41e3-9b46-51469f67b3b2})|({61a486c0-ce3d-4bf1-b4f2-e186a2adecf1})|({62b55928-80cc-49f7-8a4b-ec06030d6601})|({63df223d-51cf-4f76-aad8-bbc94c895ed2})|({064d8320-e0f3-411f-9ed1-8c1349279d20})|({071b9878-a7d3-4ae3-8ef0-2eaee1923403})|({72c1ca96-c05d-46a7-bce1-c507ec3db4ea})|({76ce213c-8e57-4a14-b60a-67a5519bd7a7})|({78c2f6a0-3b54-4a21-bf25-a3348278c327})|({0079b71b-89c9-4d82-aea3-120ee12d9890})|({81ac42f3-3d17-4cff-85af-8b7f89c8826b})|({81dc4f0e-9dab-4bd2-ab9d-d9365fbf676f})|({82c8ced2-e08c-4d6c-a12b-3e8227d7fc2a})|({83d6f65c-7fc0-47d0-9864-a488bfcaa376})|({83d38ac3-121b-4f28-bf9c-1220bd3c643b})|({84b9121e-55c9-409a-9b28-c588b5096222})|({87ba49bd-daba-4071-aedf-4f32a7e63dbe})|({87c552f9-7dbb-421b-8deb-571d4a2d7a21})|({87dcb9bf-3a3e-4b93-9c85-ba750a55831a})|({89a4f24d-37d5-46e7-9d30-ba4778da1aaa})|({93c524c4-2e92-4dd7-8b37-31a69bc579e8})|({94df38fc-2dbe-4056-9b35-d9858d0264d3})|({95c7ae97-c87e-4827-a2b7-7b9934d7d642})|({95d58338-ba6a-40c8-93fd-05a34731dc0e})|({97c436a9-7232-4495-bf34-17e782d6232c})|({97fca2cd-545f-42ef-ae93-dc13b046bd3b})|({0111c475-01e6-42ea-a9b4-27bed9eb6092})|({115a8321-4414-4f4c-aee6-9f812121b446})|({158a5a56-aca0-418f-bec0-5b3bda6e9d4c})|({243a0246-cbab-4b46-93fb-249039f68d84})|({283d4f2a-bab1-43ce-90be-5129741ac988})|({408a506b-2336-4671-a490-83a1094b4097})|({0432b92a-bfcf-41b9-b5f0-df9629feece1})|({484e0ba4-a20b-4404-bb1b-b93473782ae0})|({486ecaf1-1080-48c1-8973-549bc731ccf9})|({495a84bd-5a0c-4c74-8a50-88a4ba9d74ba})|({520f2c78-7804-4f59-ae74-a192476055ed})|({543f7503-3620-4f41-8f9e-c258fdff07e9})|({0573bea9-7368-49cd-ba10-600be3535a0b})|({605a0c42-86af-40c4-bf39-f14060f316aa})|({618baeb9-e694-4c7b-9328-69f35b6a8839})|({640c40e5-a881-4d16-a4d0-6aa788399dd2})|({713d4902-ae7b-4a9a-bcf5-47f39a73aed0})|({767d394a-aa77-40c9-9365-c1916b4a2f84})|({832ffcf9-55e9-4fd1-b2eb-f19e1fac5089})|({866a0745-8b91-4199-820a-ec17de52b5f2})|({869b5825-e344-4375-839b-085d3c09ab9f})|({919fed43-3961-48d9-b0ef-893054f4f6f1})|({971d6ef0-a085-4a04-83d8-6e489907d926})|({1855d130-4893-4c79-b4aa-cbdf6fee86d3})|({02328ee7-a82b-4983-a5f7-d0fc353698f0})|({2897c767-03aa-4c2f-910a-6d0c0b9b9315})|({3908d078-e1db-40bf-9567-5845aa77b833})|({04150f98-2d7c-4ae2-8979-f5baa198a577})|({4253db7f-5136-42c3-b09d-cf38344d1e16})|({4414af84-1e1f-449b-ac85-b79f812eb69b})|({4739f233-57c1-4466-ad51-224558cf375d})|({5066a3b2-f848-4a59-a297-f268bc3a08b6})|({6072a2a8-f1bc-4c9c-b836-7ac53e3f51e4})|({7854ee87-079f-4a25-8e57-050d131404fe})|({07953f60-447e-4f53-a5ef-ed060487f616})|({8886a262-1c25-490b-b797-2e750dd9f36b})|({12473a49-06df-4770-9c47-a871e1f63aea})|({15508c91-aa0a-4b75-81a2-13055c96281d})|({18868c3a-a209-41a6-855d-f99f782d1606})|({24997a0a-9d9b-4c87-a076-766d44e1f6fd})|({27380afd-f42a-4c25-b57d-b9012e0d5d48})|({28044ca8-8e90-435e-bc63-a757af2fb6be})|({30972e0a-f613-4c46-8c87-2e59878e7180})|({31680d42-c80d-4f8a-86d3-cd4930620369})|({44685ba6-68b3-4895-879e-4efa29dfb578})|({046258c9-75c5-429d-8d5b-386cfbadc39d})|({47352fbf-80d9-4b70-9398-fb7bffa3da53})|({56316a2b-ef89-4366-b4aa-9121a2bb6dea})|({65072bef-041f-492e-8a51-acca2aaeac70})|({677e2d00-264c-4f62-a4e8-2d971349c440})|({72056a58-91a5-4de5-b831-a1fa51f0411a})|({85349ea6-2b5d-496a-9379-d4be82c2c13d})|({98363f8b-d070-47b6-acc6-65b80acac4f3})|({179710ba-0561-4551-8e8d-1809422cb09f})|({207435d0-201d-43f9-bb0f-381efe97501d})|({313e3aef-bdc9-4768-8f1f-b3beb175d781})|({387092cb-d2dc-4da5-9389-4a766c604ec2})|({0599211f-6314-4bf9-854b-84cb18da97f8})|({829827cd-03be-4fed-af96-dd5997806fb4})|({856862a5-8109-47eb-b815-a94059570888})|({1e6f5a54-2c4f-4597-aa9e-3e278c617d38})|({1490068c-d8b7-4bd2-9621-a648942b312c})|({18e5e07b-0cfa-4990-a67b-4512ecbae04b})|({3584581e-c01a-4f53-aec8-ca3293bb550d})|({5280684d-f769-43c9-8eaa-fb04f7de9199})|({5766852a-b384-4276-ad06-70c2283b4792})|({34364255-2a81-4d6e-9760-85fe616abe80})|({45621564-b408-4c29-8515-4cf1f26e4bc3})|({62237447-e365-487e-8fc3-64ddf37bdaed})|({7e7aa524-a8af-4880-8106-102a35cfbf42})|({71639610-9cc3-47e0-86ed-d5b99eaa41d5})|({78550476-29ff-4b7e-b437-195024e7e54e})|({85064550-57a8-4d06-bd4b-66f9c6925bf5})|({93070807-c5cd-4bde-a699-1319140a3a9c})|({11e7b9b3-a769-4d7f-b200-17cffa4f9291})|({22632e5e-95b9-4f05-b4b7-79033d50467f})|({03e10db6-b6a7-466a-a2b3-862e98960a85})|({23775e7d-dfcf-42b1-aaad-8017aa88fc59})|({85e31e7e-3e3a-42d3-9b7b-0a2ff1818b33})|({9e32ca65-4670-41e3-b6bb-8773e6b9bba8})|({6e43af8e-a78e-4beb-991f-7b015234eacc})|({57e61dc7-db04-4cf8-bbd3-62a15fc74138})|({01166e60-d740-440c-b640-6bf964504b3c})|({52e137bc-a330-4c25-a981-6c1ab9feb806})|({488e190b-d1f6-4de8-bffb-0c90cc805b62})|({5e257c96-bfed-457d-b57e-18f31f08d7bb})|({2134e327-8060-441c-ba68-b167b82ff5bc})|({1e68848a-2bb7-425c-81a2-524ab93763eb})|({8e888a6a-ec19-4f06-a77c-6800219c6daf})|({7e907a15-0a4c-4ff4-b64f-5eeb8f841349})|({a0ab16af-3384-4dbe-8722-476ce3947873})|({a0c54bd8-7817-4a40-b657-6dc7d59bd961})|({a0ce2605-b5fc-4265-aa65-863354e85058})|({a1f8e136-bce5-4fd3-9ed1-f260703a5582})|({a3fbc8be-dac2-4971-b76a-908464cfa0e0})|({a5a84c10-f12c-496e-80df-33386b7a1463})|({a5f90823-0a50-414f-ad34-de0f6f26f78e})|({a6b83c45-3f24-4913-a1f7-6f42411bbb54})|({a9eb2583-75e0-435a-bb6c-69d5d9b20e27})|({a32ebb9b-8649-493e-a9e9-f091f6ac1217})|({a83c1cbb-7a41-41e7-a2ae-58efcb4dc2e4})|({a506c5af-0f95-4107-86f8-3de05e2794c9})|({a02001ae-b7ed-45d7-baf2-c07f0a7b6f87})|({a5808da1-5b4f-42f2-b030-161fd11a36f7})|({a18087bb-4980-4349-898c-ca1b7a0e59cd})|({a345865c-44b9-4197-b418-934f191ce555})|({a7487703-02d8-4a82-a7d0-2859de96edb4})|({a2427e23-d349-4b25-b5b8-46960b218079})|({a015e172-2465-40fc-a6ce-d5a59992c56a})|({aaaffe20-3306-4c64-9fe5-66986ebb248e})|({abec23c3-478f-4a5b-8a38-68ccd500ec42})|({ac06c6b2-3fd6-45ee-9237-6235aa347215})|({ac037ad5-2b22-46c7-a2dc-052b799b22b5})|({ac296b47-7c03-486f-a1d6-c48b24419749})|({acbff78b-9765-4b55-84a8-1c6673560c08})|({acfe4807-8c3f-4ecc-85d1-aa804e971e91})|({ada56fe6-f6df-4517-9ed0-b301686a34cc})|({af44c8b4-4fd8-42c3-a18e-c5eb5bd822e2})|({b5a35d05-fa28-41b5-ae22-db1665f93f6b})|({b7b0948c-d050-4c4c-b588-b9d54f014c4d})|({b7f366fa-6c66-46bf-8df2-797c5e52859f})|({b9bb8009-3716-4d0c-bcb4-35f9874e931e})|({b12cfdc7-3c69-43cb-a3fb-38981b68a087})|({b019c485-2a48-4f5b-be13-a7af94bc1a3e})|({b91fcda4-88b0-4a10-9015-9365e5340563})|({b30591d6-ec24-4fae-9df6-2f3fe676c232})|({b99847d6-c932-4b52-9650-af83c9dae649})|({bbe79d30-e023-4e82-b35e-0bfdfe608672})|({bc3c2caf-2710-4246-bd22-b8dc5241693a})|({bc3c7922-e425-47e2-a2dd-0dbb71aa8423})|({bc763c41-09ca-459a-9b22-cf4474f51ebc})|({bd5ba448-b096-4bd0-9582-eb7a5c9c0948})|({be5d0c88-571b-4d01-a27a-cc2d2b75868c})|({be981b5e-1d9d-40dc-bd4f-47a7a027611c})|({be37931c-af60-4337-8708-63889f36445d})|({bea8866f-01f8-49e9-92cd-61e96c05d288})|({bf153de7-cdf2-4554-af46-29dabfb2aa2d})|({c3a2b953-025b-425d-9e6e-f1a26ee8d4c2})|({c3b71705-c3a6-4e32-bd5f-eb814d0e0f53})|({c5d359ff-ae01-4f67-a4f7-bf234b5afd6e})|({c6c8ea62-e0b1-4820-9b7f-827bc5b709f4})|({c8c8e8de-2989-4028-bbf2-d372e219ba71})|({c34f47d1-2302-4200-80d4-4f26e47b2980})|({c178b310-6ed5-4e04-9e71-76518dd5fb3e})|({c2341a34-a3a0-4234-90cf-74df1db0aa49})|({c8399f02-02f4-48e3-baea-586564311f95})|({c41807db-69a1-4c35-86c1-bc63044e4fcb})|({c383716f-b23f-47b2-b6bb-d7c1a7c218af})|({c3447081-f790-45cb-ae03-0d7f1764c88c})|({c445e470-9e5a-4521-8649-93c8848df377})|({c8e14311-4b2d-4eb0-9a6b-062c6912f50e})|({ca4fdfdb-e831-4e6e-aa8b-0f2e84f4ed07})|({ca6cb8b2-a223-496d-b0f6-35c31bc7ca2b})|({cba7ce11-952b-4dcb-ba85-a5b618c92420})|({cc6b2dc7-7d6f-470f-bccc-6a42907162d1})|({cc689da4-203f-4a0c-a7a6-a00a5abe74c5})|({ccb7b5d6-a567-40a2-9686-a097a8b583dd})|({cd28aa38-d2f1-45a3-96c3-6cfd4702ef51})|({cd89045b-2e06-46bb-9e34-48e8799e5ef2})|({cdda1813-51d6-4b1f-8a2f-8f9a74a28e14})|({ce0d1384-b99b-478e-850a-fa6dfbe5a2d4})|({ce93dcc7-f911-4098-8238-7f023dcdfd0d})|({cf9d96ff-5997-439a-b32b-98214c621eee})|({cfa458f9-b49b-4e09-8cb2-5e50bd8937cc})|({cfb50cdf-e371-4d6b-9ef2-fcfe6726db02})|({d1ab5ebd-9505-481d-a6cd-6b9db8d65977})|({d03b6b0f-4d44-4666-a6d6-f16ad9483593})|({d9d8cfc1-7112-40cc-a1e9-0c7b899aae98})|({d47ebc8a-c1ea-4a42-9ca3-f723fff034bd})|({d72d260f-c965-4641-bf49-af4135fc46cb})|({d78d27f4-9716-4f13-a8b6-842c455d6a46})|({d355bee9-07f0-47d3-8de6-59b8eecba57b})|({d461cc1b-8a36-4ff0-b330-1824c148f326})|({d97223b8-44e5-46c7-8ab5-e1d8986daf44})|({d42328e1-9749-46ba-b35c-cce85ddd4ace})|({da7d00bf-f3c8-4c66-8b54-351947c1ef68})|({db84feec-2e1f-48f0-9511-645fe4784feb})|({dc6256cc-b6d0-44ca-b42f-4091f11a9d29})|({dd1cb0ec-be2a-432b-9c90-d64c824ac371})|({dd95dd08-75d1-4f06-a75b-51979cbab247})|({ddae89bd-6793-45d8-8ec9-7f4fb7212378})|({de3b1909-d4da-45e9-8da5-7d36a30e2fc6})|({df09f268-3c92-49db-8c31-6a25a6643896})|({e2a4966f-919d-4afc-a94f-5bd6e0606711})|({e05ba06a-6d6a-4c51-b8fc-60b461ffecaf})|({e7b978ae-ffc2-4998-a99d-0f4e2f24da82})|({e7fb6f2f-52b6-4b02-b410-2937940f5049})|({e08d85c5-4c0f-4ce3-9194-760187ce93ba})|({e08ebf0b-431d-4ed1-88bb-02e5db8b9443})|({e9c47315-2a2b-4583-88f3-43d196fa11af})|({e341ed12-a703-47fe-b8dd-5948c38070e4})|({e804fa4c-08e0-4dae-a237-8680074eba07})|({e8982fbd-1bc2-4726-ad8d-10be90f660bd})|({e40673cd-9027-4f61-956c-2097c03ae2be})|({e72172d1-39c9-4f41-829d-a1b8d845d1ca})|({e73854da-9503-423b-ab27-fafea2fbf443})|({e81e7246-e697-4811-b336-72298d930857})|({ea618d26-780e-4f0f-91fd-2a6911064204})|({ea523075-66cd-4c03-ab04-5219b8dda753})|({eb3ebb14-6ced-4f60-9800-85c3de3680a4})|({ec8c5fee-0a49-44f5-bf55-f763c52889a6})|({eccd286a-5b1d-494d-82b0-92a12213d95a})|({ed352072-ddf0-4cb4-9cb6-d8aa3741c2de})|({edb476af-0505-42af-a7fd-ec9f454804c0})|({ee97f92d-1bfe-4e9d-816c-0dfcd63a6206})|({f0b809eb-be22-432f-b26f-b1cadd1755b9})|({f5ffa269-fbca-4598-bbd8-a8aa9479e0b3})|({f6c543bf-2222-4230-8ecb-f5446095b63d})|({f6df4ef7-14bd-43b5-90c9-7bd02943789c})|({f6f98e6b-f67d-4c53-8b76-0b5b6df79218})|({f38b61f3-3fed-4249-bb3d-e6c8625c7afb})|({f50e0a8f-8c32-4880-bcef-ca978ccd1d83})|({f59c2d3d-58da-4f74-b8c9-faf829f60180})|({f82b3ad5-e590-4286-891f-05adf5028d2f})|({f92c1155-97b3-40f4-9d5b-7efa897524bb})|({f95a3826-5c8e-4f82-b353-21b6c0ca3c58})|({f5758afc-9faf-42bb-9543-a4cfb0bfce9d})|({f447670d-64f5-418f-9b4a-5352d6c8e127})|({f4262989-6de0-4604-918f-663b85fad605})|({fa8bd609-0e06-4ba9-8e2e-5989f0b2e197})|({fa0808f6-25ab-4a8b-bd17-3b275c55ff09})|({fac5816b-fd0f-4db2-a16e-52394b6db41d})|({fc99b961-5878-46b4-b091-6d2f507bf44d})|({fce89242-66d3-4946-9ed0-e66078f172fc})|({fcf72e24-5831-439e-bb07-fd53a9e87a30})|({fdc0601f-1fbb-40a5-84e1-8bbe96b22502})|({feb3c734-4529-4d69-9f3a-2dae18f1d896}))$/","prefs":[],"schema":1533411700296,"details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1479009","why":"Malicious add-ons disguising as updates or useful add-ons, but violating data collection policies, user-control, no surprises and security.","name":"Firefox Update (Malware)"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0"}],"id":"cae5d906-0b1d-4d1c-b83f-f9727b8c4a29","last_modified":1533550294490},{"guid":"{5834f62d-6164-4cdd-a0a3-c00c66ec9d13}","prefs":[],"schema":1532704368947,"details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1479002","why":"This add-on violates our security and user-choice/no surprises policies.","name":"Youtube Dark Mode (malware)"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0"}],"id":"d0a401cb-0c70-4784-8288-b06a88b2ae8a","last_modified":1532705151926},{"guid":"/^((@asdfjhsdfuhw)|(@asdfsdfwe)|(@asdieieuss)|(@dghfghfgh)|(@difherk)|(@dsfgtftgjhrdf4)|(@fidfueir)|(@fsgergsdqtyy)|(@hjconsnfes)|(@isdifvdkf)|(@iweruewir)|(@oiboijdjfj)|(@safesearchavs)|(@safesearchavsext)|(@safesearchincognito)|(@safesearchscoutee)|(@sdfykhhhfg)|(@sdiosuff)|(@sdklsajd)|(@sduixcjksd)|(@sicognitores)|(@simtabtest)|(@sodiasudi)|(@test13)|(@test131)|(@test131ver)|(@test132)|(@test13s)|(@testmptys)|(\\{ac4e5b0c-13c4-4bfd-a0c3-1e73c81e8bac\\})|(\\{e78785c3-ec49-44d2-8aac-9ec7293f4a8f\\})|(general@filecheckerapp\\.com)|(general@safesearch\\.net))$/","prefs":[],"schema":1532703832328,"details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1475330","why":"These Add-ons violate our data collection, no surprises and user-choice policies.","name":"Safesearch (malware)"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0"}],"id":"d664412d-ed08-4892-b247-b007a70856ff","last_modified":1532704364007},{"guid":"{dd3d7613-0246-469d-bc65-2a3cc1668adc}","prefs":[],"schema":1532684052432,"details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1478731","why":"This add-on violates data practices outlined in the review policy.","name":"BlockSite"},"enabled":true,"versionRange":[{"severity":1,"maxVersion":"4.0.3","minVersion":"0"}],"id":"e04f98b5-4480-43a3-881d-e509e4e28cdc","last_modified":1532684085999},{"guid":"{bee8b1f2-823a-424c-959c-f8f76c8b2306}","prefs":[],"schema":1532547689407,"details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1478731","why":"This add-on violates data practices outlined in the review policy.","name":"Popup blocker for FireFox"},"enabled":true,"versionRange":[{"severity":1,"maxVersion":"4.0.7.3","minVersion":"0"}],"id":"f0713a5e-7208-484e-b3a0-4e6dc6a195be","last_modified":1532684052426},{"guid":"/^((\\{39bd8607-0af4-4d6b-bd69-9a63c1825d3c\\})|(\\{273f0bce-33f4-45f6-ae03-df67df3864c2\\})|(\\{a77fc9b9-6ebb-418d-b0b6-86311c191158\\})|(\\{c6c4a718-cf91-4648-aa9b-170d66163cf2\\})|(\\{d371abec-84bb-481b-acbf-235639451127\\})|(\\{e63b262a-f9b8-4496-9c4b-9d3cbd6aea90\\}))$/","prefs":[],"schema":1532386339902,"details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1477950","why":"Add-ons that contain malicious functionality like search engine redirect.","name":"Smash (Malware)"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0"}],"id":"c37c7c24-e738-4d06-888c-108b4d63b428","last_modified":1532424286908},{"guid":"/^((\\{ac296b47-7c03-486f-a1d6-c48b24419749\\})|(\\{1cab8ccf-deff-4743-925d-a47cbd0a6b56\\})|(\\{5da81d3d-5db1-432a-affc-4a2fe9a70749\\})|(\\{071b9878-a7d3-4ae3-8ef0-2eaee1923403\\})|(\\{261476ea-bd0e-477c-abd7-33cdf626f81f\\})|(\\{224e66d0-6b11-4c4b-9bcf-41180889898a\\})|(\\{1e90cf52-c67c-4bd9-80c3-a2bf521fc981\\})|(\\{09c4799c-00f1-439e-9e60-3827c589b372\\})|(\\{d3d2095a-9faa-466f-82ae-3114179b34d6\\})|(\\{70389ea5-7e4d-4515-835c-fbd047f229dd\\})|(\\{2e8083a5-cd88-4aaa-bb8b-e54e9753f280\\})|(\\{fbf2480b-5c19-478e-bfd0-192ad9f84dc9\\})|(\\{6c7dc694-89f8-477e-88d5-c55af4d6a846\\})|(\\{915c12c6-901a-490d-9bfc-20f00d1ad31d\\})|(\\{d3a4aa3e-f74c-4382-876d-825f592f2976\\})|(\\{0ad91ec1-f7c4-4a39-9244-3310e9fdd169\\})|(\\{9c17aa27-63c5-470a-a678-dc899ab67ed3\\})|(\\{c65efef2-9988-48db-9e0a-9ff8164182b6\\})|(\\{d54c5d25-2d51-446d-8d14-18d859e3e89a\\})|(\\{e458f1f1-a331-4486-b157-81cba19f0993\\})|(\\{d2de7e1f-6e51-41d6-ba8a-937f8a5c92ff\\})|(\\{2b08a649-9bea-4dd4-91c8-f53a84d38e19\\})|(\\{312dd57e-a590-4e19-9b26-90e308cfb103\\})|(\\{82ce595a-f9b6-4db8-9c97-b1f1c933418b\\})|(\\{0a2e64f0-ea5a-4fff-902d-530732308d8e\\})|(\\{5fbdc975-17ab-4b4e-90d7-9a64fd832a08\\})|(\\{28820707-54d8-41f0-93e9-a36ffb2a1da6\\})|(\\{64a2aed1-5dcf-4f2b-aad6-9717d23779ec\\})|(\\{ee54794f-cd16-4f7d-a7dd-515a36086f60\\})|(\\{4d381160-b2d5-4718-9a05-fc54d4b307e7\\})|(\\{60393e0e-f039-4b80-bad4-10189053c2ab\\})|(\\{0997b7b2-52d7-4d14-9aa6-d820b2e26310\\})|(\\{8214cbd6-d008-4d16-9381-3ef1e1415665\\})|(\\{6dec3d8d-0527-49a3-8f12-b05f2a8b95b2\\})|(\\{0c0d8d8f-3ae0-4c98-81ac-06453a316d16\\})|(\\{84d5ef02-a283-484a-80da-7087836c74aa\\})|(\\{24413756-2c44-47c5-8bbf-160cb37776d8\\})|(\\{cf6ac458-06e8-45d0-9cbf-ec7fc0eb1710\\})|(\\{263a5792-933a-4de1-820a-d04198e17120\\})|(\\{b5fd7f37-190d-4c0a-b8dd-8b4850c986ac\\})|(\\{cb5ef07b-c2e7-47a6-be81-2ceff8df4dd5\\})|(\\{311b20bc-b498-493c-a5e1-22ec32b0e83c\\})|(\\{b308aead-8bc1-4f37-9324-834b49903df7\\})|(\\{3a26e767-b781-4e21-aaf8-ac813d9edc9f\\}))$/","prefs":[],"schema":1532361925873,"details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1476553","why":"Third-party websites try to trick users into installing add-ons that inject remote scripts.","name":"Various malicious add-ons"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0"}],"id":"52842139-3d11-41ac-9d7f-8e51122a3141","last_modified":1532372344457},{"guid":"/^((@FirefoxUpdate)|(@googledashboard)|(@smash_mov)|(@smash_tv)|(@smashdashboard)|(@smashmovs)|(@smashtvs)|(\\{0be01832-7cce-4457-b8ad-73b743914085\\})|(\\{0e1c683e-9f34-45f1-b365-a283befb471a\\})|(\\{0c72a72d-6b2e-4a0e-8a31-16581176052d\\})|(\\{0ccfc208-8441-4c27-b1cb-799accb04908\\})|(\\{0ede8d39-26f2-49c4-8014-dfc484f54a65\\})|(\\{1fc1f8e6-3575-4a6f-a4d1-c4ca1c36bd2a\\})|(\\{3a1d6607-e6a8-4012-9506-f14cd157c171\\})|(\\{03b3ac4d-59a3-4cc6-aa4d-9b39dd8b3196\\})|(\\{3bb6e889-ac7a-46ca-8eed-45ba4fbe75b5\\})|(\\{3c841114-da8c-44ea-8303-78264edfe60b\\})|(\\{3f3bcb3e-dd73-4410-b102-60a87fcb8323\\})|(\\{3f951165-fd85-42ae-96ef-6ff589a1fe72\\})|(\\{04c86cb3-5f52-4083-9e9a-e322dd02181a\\})|(\\{4d8b44ef-9b8b-4d82-b668-a49648d2749d\\})|(\\{4d25d2b4-6ae7-4a66-abc0-c3fca4cdddf6\\})|(\\{5c9a2eca-2126-4a84-82c0-efbf3d989371\\})|(\\{6ecb9f49-90f0-43a1-8f8a-e809ea4f732b\\})|(\\{6fb8289d-c6c8-4fe5-9a92-7dc6cbf35349\\})|(\\{7fea697d-327c-4d20-80d5-813a6fb26d86\\})|(\\{08a3e913-0bbc-42ba-96d7-3fa16aceccbf\\})|(\\{8b04086b-94a5-4161-910b-59e3e31e4364\\})|(\\{08c28c16-9fb6-4b32-9868-db37c1668f94\\})|(\\{8cd69708-2f5e-4282-a94f-3feebc4bce35\\})|(\\{8dc21e24-3883-4d01-b486-ef1d1106fa3d\\})|(\\{8f8cc21a-2097-488f-a213-f5786a2ccbbf\\})|(\\{9c8b93f7-3bf8-4762-b221-40c912268f96\\})|(\\{9ce66491-ef06-4da6-b602-98c2451f6395\\})|(\\{1e1acc1c-8daa-4c2e-ad05-5ef01ae65f1e\\})|(\\{10b0f607-1efa-4762-82a0-e0d9bbae4e48\\})|(\\{24f338d7-b539-49f1-b276-c9edc367a32d\\})|(\\{40c9030f-7a2f-4a58-9d0a-edccd8063218\\})|(\\{41f97b71-c7c6-40b8-83b1-a4dbff76f73d\\})|(\\{42f3034a-0c4a-4f68-a8fd-8a2440e3f011\\})|(\\{52d456e5-245a-4319-b8d2-c14fbc9755f0\\})|(\\{57ea692b-f9fe-42df-bf5e-af6953fba05a\\})|(\\{060c61d8-b48f-465d-aa4b-23325ea757c3\\})|(\\{65c1967c-6a5c-44dd-9637-0d4d8b4c339b\\})|(\\{65d40b64-b52a-46d8-b146-580ff91889cb\\})|(\\{75b7af0d-b4ed-4320-95c8-7ffd8dd2cb7c\\})|(\\{77fe9731-b683-4599-9b06-a5dcea63d432\\})|(\\{84b20d0c-9c87-4340-b4f8-1912df2ae70d\\})|(\\{92b9e511-ac81-4d47-9b8f-f92dc872447e\\})|(\\{95afafef-b580-4f66-a0fe-7f3e74be7507\\})|(\\{116a0754-20eb-4fe5-bd35-575867a0b89e\\})|(\\{118bf5f6-98b1-4543-b133-42fdaf3cbade\\})|(\\{248eacc4-195f-43b2-956c-b9ad1ae67529\\})|(\\{328f931d-83c1-4876-953c-ddc9f63fe3b4\\})|(\\{447fa5d3-1c27-4502-9e13-84452d833b89\\})|(\\{476a1fa9-bce8-4cb4-beff-cb31980cc521\\})|(\\{507a5b13-a8a3-4653-a4a7-9a03099acf48\\})|(\\{531bf931-a8c6-407b-a48f-8a53f43cd461\\})|(\\{544c7f83-ef54-4d17-aa91-274fa27514ef\\})|(\\{546ea388-2839-4215-af49-d7289514a7b1\\})|(\\{635cb424-0cd5-4446-afaf-6265c4b711b5\\})|(\\{654b21c7-6a70-446c-b9ac-8cac9592f4a9\\})|(\\{0668b0a7-7578-4fb3-a4bd-39344222daa3\\})|(\\{944ed336-d750-48f1-b0b5-3c516bfb551c\\})|(\\{1882a9ce-c0e3-4476-8185-f387fe269852\\})|(\\{5571a054-225d-4b65-97f7-3511936b3429\\})|(\\{5921be85-cddd-4aff-9b83-0b317db03fa3\\})|(\\{7082ba5c-f55e-4cd8-88d6-8bc479d3749e\\})|(\\{7322a4cb-641c-4ca2-9d83-8701a639e17a\\})|(\\{90741f13-ab72-443f-a558-167721f64883\\})|(\\{198627a5-4a7b-4857-b074-3040bc8effb8\\})|(\\{5e5b9f44-2416-4669-8362-42a0b3f97868\\})|(\\{824985b9-df2a-401c-9168-749960596007\\})|(\\{4853541f-c9d7-42c5-880f-fd460dbb5d5f\\})|(\\{6e6ff0fd-4ae4-49ae-ac0c-e2527e12359b\\})|(\\{90e8aa72-a7eb-4337-81d4-538b0b09c653\\})|(\\{02e3137a-96a4-433d-bfb2-0aa1cd4aed08\\})|(\\{9e734c09-fcb1-4e3f-acab-04d03625301c\\})|(\\{a6ad792c-69a8-4608-90f0-ff7c958ce508\\})|(\\{a512297e-4d3a-468c-bd1a-f77bd093f925\\})|(\\{a71b10ae-b044-4bf0-877e-c8aa9ad47b42\\})|(\\{a33358ad-a3fa-4ca1-9a49-612d99539263\\})|(\\{a7775382-4399-49bf-9287-11dbdff8f85f\\})|(\\{afa64d19-ddba-4bd5-9d2a-c0ba4b912173\\})|(\\{b4ab1a1d-e137-4c59-94d5-4f509358a81d\\})|(\\{b4ec2f8e-57fd-4607-bf4f-bc159ca87b26\\})|(\\{b06bfc96-c042-4b34-944c-8eb67f35630a\\})|(\\{b9dcdfb0-3420-4616-a4cb-d41b5192ba0c\\})|(\\{b8467ec4-ff65-45f4-b7c5-f58763bf9c94\\})|(\\{b48e4a17-0655-4e8e-a5e2-3040a3d87e55\\})|(\\{b6166509-5fe0-4efd-906e-1e412ff07a04\\})|(\\{bd1f666e-d473-4d13-bc4d-10dde895717e\\})|(\\{be572ad4-5dd7-4b6b-8204-5d655efaf3b3\\})|(\\{bf2a3e58-2536-44d4-b87f-62633256cf65\\})|(\\{bfc5ac5f-80bd-43e5-9acb-f6d447e0d2ce\\})|(\\{bfe3f6c1-c5fe-44af-93b3-576812cb6f1b\\})|(\\{c0b8009b-57dc-45bc-9239-74721640881d\\})|(\\{c1cf1f13-b257-4271-b922-4c57c6b6e047\\})|(\\{c3d61029-c52f-45df-8ec5-a654b228cd48\\})|(\\{c39e7c0b-79d5-4137-bef0-57cdf85c920f\\})|(\\{ce043eac-df8a-48d0-a739-ef7ed9bdf2b5\\})|(\\{cf62e95a-8ded-4c74-b3ac-f5c037880027\\})|(\\{cff02c70-7f07-4592-986f-7748a2abd9e1\\})|(\\{d1b87087-09c5-4e58-b01d-a49d714da2a2\\})|(\\{d14adc78-36bf-4cf0-9679-439e8371d090\\})|(\\{d64c923e-8819-488c-947f-716473d381b2\\})|(\\{d734e7e3-1b8e-42a7-a9b3-11b16c362790\\})|(\\{d147e8c6-c36e-46b1-b567-63a492390f07\\})|(\\{db1a103d-d1bb-4224-a5e1-8d0ec37cff70\\})|(\\{dec15b3e-1d12-4442-930e-3364e206c3c2\\})|(\\{dfa4b2e3-9e07-45a4-a152-cde1e790511d\\})|(\\{dfcda377-b965-4622-a89b-1a243c1cbcaf\\})|(\\{e4c5d262-8ee4-47d3-b096-42b8b04f590d\\})|(\\{e82c0f73-e42c-41dd-a686-0eb4b65b411c\\})|(\\{e60616a9-9b50-49d8-b1e9-cecc10a8f927\\})|(\\{e517649a-ffd7-4b49-81e0-872431898712\\})|(\\{e771e094-3b67-4c33-8647-7b20c87c2183\\})|(\\{eff5951b-b6d4-48f5-94c3-1b0e178dcca5\\})|(\\{f26a8da3-8634-4086-872e-e589cbf03375\\})|(\\{f992ac88-79d3-4960-870e-92c342ed3491\\})|(\\{f4e4fc03-be50-4257-ae99-5cd0bd4ce6d5\\})|(\\{f73636fb-c322-40e1-82fb-e3d7d06d9606\\})|(\\{f5128739-78d5-4ad7-bac7-bd1af1cfb6d1\\})|(\\{fc11e7f0-1c31-4214-a88f-6497c27b6be9\\})|(\\{feedf4f8-08c1-451f-a717-f08233a64ec9\\}))$/","prefs":[],"schema":1532097654002,"details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1476369","why":"These add-ons contain unwanted features and try to prevent the user from uninstalling themselves.","name":"Smash/Upater (malware) and similar"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0"}],"id":"c7d7515d-563f-459f-821c-27d4cf825dbf","last_modified":1532101113096},{"guid":"^((@mixclouddownloader)|(all-down@james\\.burrow)|(d\\.lehr@chello\\.at)|(easy-video-downloader@addonsmash)|(easy-youtube-mp3@james\\.burrow)|(gid@addonsmash)|(gmail_panel@addon_clone)|(guid-reused-by-pk-907175)|(idm@addonsmash)|(image-picka@addonsmash)|(instant-idm@addon\\.host)|(jdm@awesome\\.addons)|(open-in-idm@addonsmash)|(open-in-idm@james\\.burrow)|(open-in-vlc@awesome\\.addons)|(saveimage@addonsmash)|(thundercross@addonsmash)|(vk-download@addon\\.host)|(vk-music-downloader@addonsmash)|(whatsapp_popup@addons\\.clone)|(ytb-down@james\\.burrow)|(ytb-mp3-downloader@james\\.burrow)|(\\{0df8d631-7d88-401e-ba7e-af1425dded8a\\})|(\\{3c74e141-1993-4c04-b755-a66dd491bb47\\})|(\\{5cdd95c7-5d92-40c5-8e2a-8c52c90191d9\\})|(\\{40efedc0-8e48-404a-a779-f4016b25c0e6\\})|(\\{53d605ce-599b-4352-8a06-5e594b3d1822\\})|(\\{3697c1e8-27d7-4c63-a27e-ac16191a1545\\})|(\\{170503FA-3349-4F17-BC86-001888A5C8E2\\})|(\\{649558df-9461-4824-ad18-f2d4d4845ac8\\})|(\\{27875553-afd5-4365-86dc-019bcd60594c\\})|(\\{27875553-afd5-4365-86dc-019bcd60594c\\})|(\\{6e7624fa-7f70-4417-93db-1ec29c023275\\})|(\\{b1aea1f1-6bed-41ef-9679-1dfbd7b2554f\\})|(\\{b9acc029-d62b-4d23-b921-8e7aea34266a\\})|(\\{b9b59e13-4ac5-4eff-8dbe-c345b7619b3c\\})|(\\{b0186d2d-3126-4537-9186-a6f198547901\\})|(\\{b3e8fde8-6d97-4ac3-95e0-57b797f4c56b\\})|(\\{e6a9a96e-4a08-4719-b9bd-0e91c35aaabc\\})|(\\{e69a36e6-ee12-4fe6-87ca-66b77fc0ffbf\\})|(\\{ee3601f1-78ab-48bf-89ae-0cfe4aed1f2e\\})|(\\{f4ce48b3-ad14-4900-86cb-4604474c5b08\\})|(\\{f5c1262d-b1e8-44a4-b820-a834f0f6d605\\}))$","prefs":[],"schema":1531762485603,"details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1476020","why":"Add-ons repeatedly violated several of review policies.","name":"Several youtube downloading add-ons and others"},"enabled":true,"versionRange":[{"severity":1,"maxVersion":"*","minVersion":"0"}],"id":"ae8ae617-590d-430b-86d4-16364372b67f","last_modified":1531762863373},{"guid":"{46551EC9-40F0-4e47-8E18-8E5CF550CFB8}","prefs":[],"schema":1530711142817,"blockID":"i1900","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1472948","why":"This add-on violates data practices outlined in the review policy.","name":"Stylish"},"enabled":true,"versionRange":[{"severity":1,"maxVersion":"3.1.1","minVersion":"3.0.0"}],"id":"c635229f-7aa0-44c5-914f-80c590949071","last_modified":1530716488758},{"guid":"/^(contactus@unzipper.com|{72dcff4e-48ce-41d8-a807-823adadbe0c9}|{dc7d2ecc-9cc3-40d7-93ed-ef6f3219bd6f}|{994db3d3-ccfe-449a-81e4-f95e2da76843}|{25aef460-43d5-4bd0-aa3d-0a46a41400e6}|{178e750c-ae27-4868-a229-04951dac57f7})$/","prefs":[],"schema":1528400492025,"details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1460331","why":"Add-ons change search settings against our policies, affecting core Firefox features. Add-on is also reportedly installed without user consent.","name":"SearchWeb"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0"}],"id":"5afea853-d029-43f3-a387-64ce9980742a","last_modified":1528408770328},{"guid":"{38363d75-6591-4e8b-bf01-0270623d1b6c}","prefs":[],"schema":1526326889114,"details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1461625","why":"This add-on contains abusive functionality.","name":"Photobucket Hotlink Fix"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0"}],"id":"0f0764d5-a290-428b-a5b2-3767e1d72c71","last_modified":1526381862851},{"guid":"@vkmad","prefs":[],"schema":1526154098016,"details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1461410","why":"This add-on includes malicious functionality.","name":"VK Universal Downloader (malware)"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0"}],"id":"cbfa5303-c1bf-49c8-87d8-259738a20064","last_modified":1526322954850},{"guid":"/^(({41c14ab8-9958-44bf-b74e-af54c1f169a6})|({78054cb2-e3e8-4070-a8ad-3fd69c8e4707})|({0089b179-8f3d-44d9-bb18-582843b0757a})|({f44ddcb4-4cc0-4866-92fa-eefda60c6720})|({1893d673-7953-4870-8069-baac49ce3335})|({fb28cac0-c2aa-4e0c-a614-cf3641196237})|({d7dee150-da14-45ba-afca-02c7a79ad805})|(RandomNameTest@RandomNameTest\\.com )|(corpsearchengine@mail\\.ru)|(support@work\\.org))$/","prefs":[],"schema":1525377099963,"details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1458330","why":"These are malicious add-ons that inject remote scripts and use deceptive names.","name":"\"Table\" add-ons"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0"}],"id":"3a123214-b4b6-410c-a061-bbaf0d168d31","last_modified":1525377135149},{"guid":"/((@extcorp\\.[a-z]+)|(@brcorporation\\.com)|(@brmodcorp\\.com)|(@teset\\.com)|(@modext\\.tech)|(@ext?mod\\.net)|(@browcorporation\\.org)|(@omegacorporation\\.org)|(@browmodule\\.com)|(@corpext\\.net)|({6b50ddac-f5e0-4d9e-945b-e4165bfea5d6})|({fab6484f-b8a7-4ba9-a041-0f948518b80c})|({b797035a-7f29-4ff5-bd19-77f1b5e464b1})|({0f612416-5c5a-4ec8-b482-eb546af9cac4}))$/","prefs":[],"schema":1525290095999,"details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1458330","why":"These are malicious add-ons that inject remote scripts and use deceptive names.","name":"\"Table\" add-ons"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0"}],"id":"3ab9f100-e253-4080-b3e5-652f842ddb7a","last_modified":1525377099954},{"guid":"/^({b99ae7b1-aabb-4674-ba8f-14ed32d04e76})|({dfa77d38-f67b-4c41-80d5-96470d804d09})$/","prefs":[],"schema":1524146566650,"details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1455291","why":"These add-ons claim to be the flash plugin.","name":"Flash Plugin (Malware)"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0"}],"id":"96b137e6-8cb5-44d6-9a34-4a4a76fb5e38","last_modified":1524147337556},{"guid":"/^({6ecb9f49-90f0-43a1-8f8a-e809ea4f732b})|(@googledashboard)|(@smashdashboard)|(@smash_tv)|(@smash_mov)|(@smashmovs)|(@smashtvs)|(@FirefoxUpdate)|({92b9e511-ac81-4d47-9b8f-f92dc872447e})|({3c841114-da8c-44ea-8303-78264edfe60b})|({116a0754-20eb-4fe5-bd35-575867a0b89e})|({6e6ff0fd-4ae4-49ae-ac0c-e2527e12359b})|({f992ac88-79d3-4960-870e-92c342ed3491})|({6ecb9f49-90f0-43a1-8f8a-e809ea4f732b})|({a512297e-4d3a-468c-bd1a-f77bd093f925})|({08c28c16-9fb6-4b32-9868-db37c1668f94})|({b4ab1a1d-e137-4c59-94d5-4f509358a81d})|({feedf4f8-08c1-451f-a717-f08233a64ec9})$/","prefs":[],"schema":1524139371832,"details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1454691","why":"This malware prevents itself from getting uninstalled ","name":"Malware"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0"}],"id":"feb2d0d7-1b76-4dba-bf84-42873a92af5f","last_modified":1524141477640},{"guid":"{872f20ea-196e-4d11-8835-1cc4c877b1b8}","prefs":[],"schema":1523734896380,"details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1454413","why":"Extension claims to be Flash Player","name":"Flash Player (malware)"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0"}],"id":"1e5f5cb2-346c-422a-9aaa-29d8760949d2","last_modified":1523897202689},{"guid":"/(__TEMPLATE__APPLICATION__@ruta-mapa\\.com)|(application-3@findizer\\.fr)|(application2@allo-pages\\.fr)|(application2@bilan-imc\\.fr)|(application2@lettres\\.net)|(application2@search-maps-finder\\.com)|(application-imcpeso@imc-peso\\.com)|(application-meuimc@meu-imc\\.com)|(application-us2@factorlove)|(application-us@misterdirections)|(application-us@yummmi\\.es)|(application@amiouze\\.fr)|(application@astrolignes\\.com)|(application@blotyn\\.com)|(application@bmi-result\\.com)|(application@bmi-tw\\.com)|(application@calcolo-bmi\\.com)|(application@cartes-itineraires\\.com)|(application@convertisseur\\.pro)|(application@de-findizer\\.fr)|(application@de-super-rezepte\\.com)|(application@dermabeauty\\.fr)|(application@dev\\.squel\\.v2)|(application@eu-my-drivingdirections\\.com)|(application@fr-allo-pages\\.fr)|(application@fr-catizz\\.com)|(application@fr-mr-traduction\\.com)|(application@good-recettes\\.com)|(application@horaires\\.voyage)|(application@imc-calcular\\.com)|(application@imc-peso\\.com)|(application@it-mio-percorso\\.com)|(application@iti-maps\\.fr)|(application@itineraire\\.info)|(application@lbc-search\\.com)|(application@les-pages\\.com)|(application@lovincalculator\\.com)|(application@lovintest\\.com)|(application@masowe\\.com)|(application@matchs\\.direct)|(application@mein-bmi\\.com)|(application@mes-resultats\\.com)|(application@mestaf\\.com)|(application@meu-imc\\.com)|(application@mon-calcul-imc\\.fr)|(application@mon-juste-poids\\.com)|(application@mon-trajet\\.com)|(application@my-drivingdirections\\.com)|(application@people-show\\.com)|(application@plans-reduc\\.fr)|(application@point-meteo\\.fr)|(application@poulixo\\.com)|(application@quipage\\.fr)|(application@quizdeamor\\.com)|(application@quizdoamor\\.com)|(application@quotient-retraite\\.fr)|(application@recettes\\.net)|(application@routenplaner-karten\\.com)|(application@ruta-mapa\\.com)|(application@satellite\\.dev\\.squel\\.v2)|(application@search-bilan-imc\\.fr)|(application@search-maps-finder\\.com)|(application@slimness\\.fr)|(application@start-bmi\\.com)|(application@tests-moi\\.com)|(application@tousmesjeux\\.fr)|(application@toutlannuaire\\.fr)|(application@tuto-diy\\.com)|(application@ubersetzung-app\\.com)|(application@uk-cookyummy\\.com)|(application@uk-howlogin\\.me)|(application@uk-myloap\\.com)|(application@voyagevoyage\\.co)|(application@wikimot\\.fr)|(application@www\\.plans-reduc\\.fr)|(application@yummmi\\.es)|(application@yummmies\\.be)|(application@yummmies\\.ch)|(application@yummmies\\.fr)|(application@yummmies\\.lu)|(application@zikplay\\.fr)|(applicationY@search-maps-finder\\.com)|(cmesapps@findizer\\.fr)|(findizer-shopping@jetpack)|(\\{8aaebb36-1488-4022-b7ec-29b790d12c17\\})/","prefs":[],"schema":1523216496621,"details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1452648","why":"Those add-ons do not provide a real functionality for users, other than silently tracking browsing behavior.","name":"Tracking Add-ons (harmful)"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0"}],"id":"36f97298-8bef-4372-a548-eb829413bee9","last_modified":1523286321447},{"guid":"adbeaver@adbeaver.org","prefs":[],"schema":1521630548030,"details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1445031","why":"This add-on generates numerous errors when loading Facebook, caused by ad injection included in it. Users who want to continue using this add-on can enable it in the Add-ons Manager.","name":"AdBeaver"},"enabled":true,"versionRange":[{"severity":1,"maxVersion":"*","minVersion":"0"}],"id":"baf7f735-d6b6-410a-8cc8-25c60f7c57e2","last_modified":1522103097333},{"guid":"{44685ba6-68b3-4895-879e-4efa29dfb578}","prefs":[],"schema":1521565140013,"details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1447042","why":"This add-on impersonates a Flash tool and runs remote code on users' systems.","name":"FF Flash Manager"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0"}],"id":"547037f2-97ae-435a-863c-efd7532668cd","last_modified":1521630548023},{"guid":"/^.*extension.*@asdf\\.pl$/","prefs":[],"schema":1520451695869,"details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1444037","why":"These add-ons are using deceptive names and taking over Facebook accounts to post spam content.","name":"Facebook spammers"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0"}],"id":"3d55fab0-ec1a-4bca-84c9-3b74f5d01509","last_modified":1520527480321},{"guid":"/^(addon@fasterweb\\.com|\\{5f398d3f-25db-47f5-b422-aa2364ff6c0b\\}|addon@fasterp\\.com|addon@calculator)$/","prefs":[],"schema":1520338910918,"details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1443478","why":"These are malicious add-ons that use deceptive names and run remote scripts.","name":"FasterWeb add-ons"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0"}],"id":"f58729ec-f93c-41d9-870d-dd9c9fd811b6","last_modified":1520358450708},{"guid":"{42baa93e-0cff-4289-b79e-6ae88df668c4}","prefs":[],"schema":1520336325565,"details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1443196","why":"The add-on claims to be \"Adobe Shockwave Flash Player\"","name":"Adobe Shockwave Flash Player (malware)"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0"}],"id":"0cd723fe-d33d-43a0-b84f-7a3cad253212","last_modified":1520338780397},{"guid":"/{0c9970a2-6874-483b-a486-2296cfe251c2}|{01c9a4a4-06dd-426b-9500-2ea6fe841b88}|{1c981c7c-30e0-4ed2-955d-6b370e0a9d19}|{2aa275f8-fabc-4766-95b2-ecfc73db310b}|{2cac0be1-10a2-4a0d-b8c5-787837ea5955}|{2eb66f6c-94b3-44f5-9de2-22371236ec99}|{2f8aade6-8717-4277-b8b1-55172d364903}|{3c27c34f-8775-491a-a1c9-fcb15beb26d3}|{3f4dea3e-dbfc-428f-a88b-36908c459e20}|{3f4191fa-8f16-47d2-9414-36bfc9e0c2bf}|{4c140bc5-c2ad-41c3-a407-749473530904}|{05a21129-af2a-464c-809f-f2df4addf209}|{5da81d3d-5db1-432a-affc-4a2fe9a70749}|{5f4e63e4-351f-4a21-a8e5-e50dc72b5566}|{7c1df23b-1fd8-42b9-8752-71fff2b979de}|{7d5e24a1-7bef-4d09-a952-b9519ec00d20}|{7d932012-b4dd-42cc-8a78-b15ca82d0e61}|{7f8bc48d-1c7c-41a0-8534-54adc079338f}|{8a61507d-dc2f-4507-a9b7-7e33b8cbc31b}|{09c8fa16-4eec-4f78-b19d-9b24b1b57e1e}|{9ce2a636-0e49-4b8e-ad17-d0c156c963b0}|{11df9391-dba5-4fe2-bd48-37a9182b796d}|{23c65153-c21e-430a-a2dc-0793410a870d}|{36a4269e-4eef-4538-baea-9dafbf6a8e2f}|{37f8e483-c782-40ed-82e9-36f101b9e41f}|{63df223d-51cf-4f76-aad8-bbc94c895ed2}|{72c1ca96-c05d-46a7-bce1-c507ec3db4ea}|{76ce213c-8e57-4a14-b60a-67a5519bd7a7}|{79db6c96-d65a-4a64-a892-3d26bd02d2d9}|{81ac42f3-3d17-4cff-85af-8b7f89c8826b}|{83d38ac3-121b-4f28-bf9c-1220bd3c643b}|{86d98522-5d42-41d5-83c2-fc57f260a3d9}|{0111c475-01e6-42ea-a9b4-27bed9eb6092}|{214cb48a-ce31-4e48-82cf-a55061f1b766}|{216e0bcc-8a23-4069-8b63-d9528b437258}|{226b0fe6-f80f-48f1-9d8d-0b7a1a04e537}|{302ef84b-2feb-460e-85ca-f5397a77aa6a}|{408a506b-2336-4671-a490-83a1094b4097}|{419be4e9-c981-478e-baa0-937cf1eea1e8}|{0432b92a-bfcf-41b9-b5f0-df9629feece1}|{449e185a-dd91-4f7b-a23a-bbf6c1ca9435}|{591d1b73-5eae-47f4-a41f-8081d58d49bf}|{869b5825-e344-4375-839b-085d3c09ab9f}|{919fed43-3961-48d9-b0ef-893054f4f6f1}|{01166e60-d740-440c-b640-6bf964504b3c}|{2134e327-8060-441c-ba68-b167b82ff5bc}|{02328ee7-a82b-4983-a5f7-d0fc353698f0}|{6072a2a8-f1bc-4c9c-b836-7ac53e3f51e4}|{28044ca8-8e90-435e-bc63-a757af2fb6be}|{28092fa3-9c52-4a41-996d-c43e249c5f08}|{31680d42-c80d-4f8a-86d3-cd4930620369}|{92111c8d-0850-4606-904a-783d273a2059}|{446122cd-cd92-4d0c-9426-4ee0d28f6dca}|{829827cd-03be-4fed-af96-dd5997806fb4}|{4479446e-40f3-48af-ab85-7e3bb4468227}|{9263519f-ca57-4178-b743-2553a40a4bf1}|{71639610-9cc3-47e0-86ed-d5b99eaa41d5}|{84406197-6d37-437c-8d82-ae624b857355}|{93017064-dfd4-425e-a700-353f332ede37}|{a0ab16af-3384-4dbe-8722-476ce3947873}|{a0c54bd8-7817-4a40-b657-6dc7d59bd961}|{a2de96bc-e77f-4805-92c0-95c9a2023c6a}|{a3fbc8be-dac2-4971-b76a-908464cfa0e0}|{a42e5d48-6175-49e3-9e40-0188cde9c5c6}|{a893296e-5f54-43f9-a849-f12dcdee2c98}|{ac296b47-7c03-486f-a1d6-c48b24419749}|{b26bf964-7aa6-44f4-a2a9-d55af4b4eec0}|{be981b5e-1d9d-40dc-bd4f-47a7a027611c}|{be37931c-af60-4337-8708-63889f36445d}|{bfd92dfd-b293-4828-90c1-66af2ac688e6}|{c5cf4d08-0a33-4aa3-a40d-d4911bcc1da7}|{c488a8f5-ea3d-408d-809e-44e82c06ad9d}|{c661c2dc-00f9-4dc1-a9f6-bb2b7e1a4f8d}|{cd28aa38-d2f1-45a3-96c3-6cfd4702ef51}|{cd89045b-2e06-46bb-9e34-48e8799e5ef2}|{cf9d96ff-5997-439a-b32b-98214c621eee}|{d14acee6-f32b-4aa3-a802-6616003fc6a8}|{d97223b8-44e5-46c7-8ab5-e1d8986daf44}|{ddae89bd-6793-45d8-8ec9-7f4fb7212378}|{de3b1909-d4da-45e9-8da5-7d36a30e2fc6}|{df09f268-3c92-49db-8c31-6a25a6643896}|{e5bc3951-c837-4c98-9643-3c113fc8cf5e}|{e9ccb1f2-a8ba-4346-b43b-0d5582bce414}|{e341ed12-a703-47fe-b8dd-5948c38070e4}|{e2139287-2b0d-4f54-b3b1-c9a06c597223}|{ed352072-ddf0-4cb4-9cb6-d8aa3741c2de}|{f0b809eb-be22-432f-b26f-b1cadd1755b9}|{f1bce8e4-9936-495b-bf48-52850c7250ab}|{f01c3add-dc6d-4f35-a498-6b4279aa2ffa}|{f9e1ad25-5961-4cc5-8d66-5496c438a125}|{f4262989-6de0-4604-918f-663b85fad605}|{fc0d55bd-3c50-4139-9409-7df7c1114a9d}/","prefs":[],"schema":1519766961483,"details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1439702","why":"This malicious add-on claims to be a Firefox \"helper\" or \"updater\" or similar.","name":"FF updater (malware)"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0"}],"id":"48b14881-5f6b-4e48-afc5-3d9a7fae26a3","last_modified":1519826648080},{"guid":"{44e4b2cf-77ba-4f76-aca7-f3fcbc2dda2f} ","prefs":[],"schema":1519414957616,"details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1440821","why":"This is a malicious add-on that uses a deceptive name and runs remote code.","name":"AntiVirus for Firefox"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0"}],"id":"2447476f-043b-4d0b-9d3c-8e859c97d950","last_modified":1519429178266},{"guid":"{f3c31b34-862c-4bc8-a98f-910cc6314a86}","prefs":[],"schema":1519242096699,"details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1440736","why":"This is a malicious add-on that is masked as an official Adobe Updater and runs malicious code.","name":"Adobe Updater (malware)"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0"}],"id":"adfd98ef-cebc-406b-b1e0-61bd4c71e4b1","last_modified":1519409417397},{"guid":"/^(\\{fd0c36fa-6a29-4246-810b-0bb4800019cb\\}|\\{b9c1e5bf-6585-4766-93fc-26313ac59999\\}|\\{3de25fff-25e8-40e9-9ad9-fdb3b38bb2f4\\})$/","prefs":[],"schema":1519069296530,"details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1439432","why":"These are malicious add-ons that are masked as an official Adobe Updater and run malicious code.","name":"Adobe Updater"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0"}],"id":"4e28ba5c-af62-4e53-a7a1-d33334571cf8","last_modified":1519078890592},{"guid":"/^(\\{01c9a4a4-06dd-426b-9500-2ea6fe841b88\\}|{5e024309-042c-4b9d-a634-5d92cf9c7514\\}|{f4262989-6de0-4604-918f-663b85fad605\\}|{e341ed12-a703-47fe-b8dd-5948c38070e4\\}|{cd89045b-2e06-46bb-9e34-48e8799e5ef2\\}|{ac296b47-7c03-486f-a1d6-c48b24419749\\}|{5da81d3d-5db1-432a-affc-4a2fe9a70749\\}|{df09f268-3c92-49db-8c31-6a25a6643896\\}|{81ac42f3-3d17-4cff-85af-8b7f89c8826b\\}|{09c8fa16-4eec-4f78-b19d-9b24b1b57e1e\\}|{71639610-9cc3-47e0-86ed-d5b99eaa41d5\\}|{83d38ac3-121b-4f28-bf9c-1220bd3c643b\\}|{7f8bc48d-1c7c-41a0-8534-54adc079338f\\})$/","prefs":[],"schema":1518550894975,"details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1438028","why":"These are malicious add-ons that inject remote scripts into popular websites.","name":"Page Marker add-ons"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0"}],"id":"cc5848e8-23d5-4655-b45c-dc239839b74e","last_modified":1518640450735},{"guid":"/^(https|youtube)@vietbacsecurity\\.com$/","prefs":[],"schema":1517909997354,"details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1435974","why":"These add-ons contain malicious functionality, violating the users privacy and security.","name":"HTTPS and Youtube downloader (Malware)"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0"}],"id":"646e2384-f894-41bf-b7fc-8879e0095109","last_modified":1517910100624},{"guid":"{ed352072-ddf0-4cb4-9cb6-d8aa3741c2de}","prefs":[],"schema":1517514097126,"details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1434893","why":"This is a malicious add-on that injects remote scripts into popular pages while pretending to do something else.","name":"Image previewer"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0"}],"id":"2104a522-bb2f-4b04-ad0d-b0c571644552","last_modified":1517577111194},{"guid":"/^(\\{0b24cf69-02b8-407d-83db-e7af04fc1f3e\\})|(\\{6feed48d-41d4-49b8-b7d6-ef78cc7a7cd7\\})| (\\{8a0699a0-09c3-4cf1-b38d-fec25441650c\\})$/","prefs":[],"schema":1517341295286,"details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1434759","why":"These add-ons use remote scripts to alter popular sites like Google or Amazon.","name":"Malicious remote script add-ons"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0"}],"id":"32ffc62d-40c4-43ac-aa3f-7240978d0ad0","last_modified":1517439279474},{"guid":"/^({be5d0c88-571b-4d01-a27a-cc2d2b75868c})|({3908d078-e1db-40bf-9567-5845aa77b833})|({5b620343-cd69-49b8-a7ba-f9d499ee5d3d})|({6eee2d17-f932-4a43-a254-9e2223be8f32})|({e05ba06a-6d6a-4c51-b8fc-60b461ffecaf})|({a5808da1-5b4f-42f2-b030-161fd11a36f7})|({d355bee9-07f0-47d3-8de6-59b8eecba57b})|({a1f8e136-bce5-4fd3-9ed1-f260703a5582})$/","prefs":[],"schema":1517260691761,"details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1431748","why":"These are malicious add-ons that automatically close the Add-ons Manager.\n","name":"FF Tool"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0"}],"id":"70f37cc7-9f8a-4d0f-a881-f0c56934fa75","last_modified":1517260722621},{"guid":"/^({d78d27f4-9716-4f13-a8b6-842c455d6a46})|({bd5ba448-b096-4bd0-9582-eb7a5c9c0948})|({0b24cf69-02b8-407d-83db-e7af04fc1f3e})|({e08d85c5-4c0f-4ce3-9194-760187ce93ba})|({1c7d6d9e-325a-4260-8213-82d51277fc31})|({8a0699a0-09c3-4cf1-b38d-fec25441650c})|({1e68848a-2bb7-425c-81a2-524ab93763eb})$/","prefs":[],"schema":1517168490224,"details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1431748","why":"These are malicious add-ons that automatically close the Add-ons Manager.","name":"FF Tool"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0"}],"id":"805ee80e-0929-4c92-93ed-062b98053f28","last_modified":1517260691755},{"guid":"/^({abec23c3-478f-4a5b-8a38-68ccd500ec42}|{a83c1cbb-7a41-41e7-a2ae-58efcb4dc2e4}|{62237447-e365-487e-8fc3-64ddf37bdaed}|{b12cfdc7-3c69-43cb-a3fb-38981b68a087}|{1a927d5b-42e7-4407-828a-fdc441d0daae}|{dd1cb0ec-be2a-432b-9c90-d64c824ac371}|{82c8ced2-e08c-4d6c-a12b-3e8227d7fc2a}|{87c552f9-7dbb-421b-8deb-571d4a2d7a21})$/","prefs":[],"schema":1516828883529,"details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1431748","why":"These are malicious add-ons that automatically close the Add-ons Manager.","name":"FF Tool"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0"}],"id":"c92f2a05-73eb-454e-9583-f6d2382d8bca","last_modified":1516829074251},{"guid":"/^({618baeb9-e694-4c7b-9328-69f35b6a8839}|{b91fcda4-88b0-4a10-9015-9365e5340563}|{04150f98-2d7c-4ae2-8979-f5baa198a577}|{4b1050c6-9139-4126-9331-30a836e75db9}|{1e6f5a54-2c4f-4597-aa9e-3e278c617d38}|{e73854da-9503-423b-ab27-fafea2fbf443}|{a2427e23-d349-4b25-b5b8-46960b218079}|{f92c1155-97b3-40f4-9d5b-7efa897524bb}|{c8e14311-4b2d-4eb0-9a6b-062c6912f50e}|{45621564-b408-4c29-8515-4cf1f26e4bc3}|{27380afd-f42a-4c25-b57d-b9012e0d5d48})$/","prefs":[],"schema":1516828883529,"details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1431748","why":"These are malicious add-ons that automatically close the Add-ons Manager.","name":"FF Tool"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0"}],"id":"2d4fe65b-6c02-4461-baa8-dda52e688cf6","last_modified":1516829040469},{"guid":"/^({4dac7c77-e117-4cae-a9f0-6bd89e9e26ab}|{cc689da4-203f-4a0c-a7a6-a00a5abe74c5}|{0eb4672d-58a6-4230-b74c-50ca3716c4b0}|{06a71249-ef35-4f61-b2c8-85c3c6ee5617}|{5280684d-f769-43c9-8eaa-fb04f7de9199}|{c2341a34-a3a0-4234-90cf-74df1db0aa49}|{85e31e7e-3e3a-42d3-9b7b-0a2ff1818b33}|{b5a35d05-fa28-41b5-ae22-db1665f93f6b}|{1bd8ba17-b3ed-412e-88db-35bc4d8771d7}|{a18087bb-4980-4349-898c-ca1b7a0e59cd}|{488e190b-d1f6-4de8-bffb-0c90cc805b62})$/","prefs":[],"schema":1516828883529,"details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1431748","why":"These are malicious add-ons that automatically close the Add-ons Manager.","name":"FF Tool"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0"}],"id":"9a3fd797-0ab8-4286-9a1b-2b6c97f9075b","last_modified":1516829006347},{"guid":"/^({f6df4ef7-14bd-43b5-90c9-7bd02943789c}|{ccb7b5d6-a567-40a2-9686-a097a8b583dd}|{9b8df895-fcdd-452a-8c46-da5be345b5bc}|{5cf77367-b141-4ba4-ac2a-5b2ca3728e81}|{ada56fe6-f6df-4517-9ed0-b301686a34cc}|{95c7ae97-c87e-4827-a2b7-7b9934d7d642}|{e7b978ae-ffc2-4998-a99d-0f4e2f24da82}|{115a8321-4414-4f4c-aee6-9f812121b446}|{bf153de7-cdf2-4554-af46-29dabfb2aa2d}|{179710ba-0561-4551-8e8d-1809422cb09f}|{9d592fd5-e655-461a-9b28-9eba85d4c97f})$/","prefs":[],"schema":1516828883529,"details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1431748","why":"These are malicious add-ons that automatically close the Add-ons Manager.","name":"FF Tool"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0"}],"id":"aae78cd5-6b26-472e-ab2d-db4105911250","last_modified":1516828973824},{"guid":"/^({30972e0a-f613-4c46-8c87-2e59878e7180}|{0599211f-6314-4bf9-854b-84cb18da97f8}|{4414af84-1e1f-449b-ac85-b79f812eb69b}|{2a8bec00-0ab0-4b4d-bd3d-4f59eada8fd8}|{bea8866f-01f8-49e9-92cd-61e96c05d288}|{046258c9-75c5-429d-8d5b-386cfbadc39d}|{c5d359ff-ae01-4f67-a4f7-bf234b5afd6e}|{fdc0601f-1fbb-40a5-84e1-8bbe96b22502}|{85349ea6-2b5d-496a-9379-d4be82c2c13d}|{640c40e5-a881-4d16-a4d0-6aa788399dd2}|{d42328e1-9749-46ba-b35c-cce85ddd4ace})$/","prefs":[],"schema":1516828883529,"details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1431748","why":"These are malicious add-ons that automatically close the Add-ons Manager.","name":"FF Tool"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0"}],"id":"750aa293-3742-46b5-8761-51536afecaef","last_modified":1516828938683},{"guid":"/^({d03b6b0f-4d44-4666-a6d6-f16ad9483593}|{767d394a-aa77-40c9-9365-c1916b4a2f84}|{a0ce2605-b5fc-4265-aa65-863354e85058}|{b7f366fa-6c66-46bf-8df2-797c5e52859f}|{4ad16913-e5cb-4292-974c-d557ef5ec5bb}|{3c3ef2a3-0440-4e77-9e3c-1ca8d48f895c}|{543f7503-3620-4f41-8f9e-c258fdff07e9}|{98363f8b-d070-47b6-acc6-65b80acac4f3}|{5af74f5a-652b-4b83-a2a9-f3d21c3c0010}|{484e0ba4-a20b-4404-bb1b-b93473782ae0}|{b99847d6-c932-4b52-9650-af83c9dae649})$/","prefs":[],"schema":1516828883529,"details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1431748","why":"These are malicious add-ons that automatically close the Add-ons Manager.","name":"FF Tool"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0"}],"id":"a29aed6f-6546-4fa2-8131-df5c9a5427af","last_modified":1516828911059},{"guid":"/^({2bb68b03-b528-4133-9fc4-4980fbb4e449}|{231e58ac-0f3c-460b-bb08-0e589360bec7}|{a506c5af-0f95-4107-86f8-3de05e2794c9}|{8886a262-1c25-490b-b797-2e750dd9f36b}|{65072bef-041f-492e-8a51-acca2aaeac70}|{6fa41039-572b-44a4-acd4-01fdaebf608d}|{87ba49bd-daba-4071-aedf-4f32a7e63dbe}|{95d58338-ba6a-40c8-93fd-05a34731dc0e}|{4cbef3f0-4205-4165-8871-2844f9737602}|{1855d130-4893-4c79-b4aa-cbdf6fee86d3}|{87dcb9bf-3a3e-4b93-9c85-ba750a55831a})$/","prefs":[],"schema":1516822896448,"details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1431748","why":"These are malicious add-ons that automatically close the Add-ons Manager.","name":"FF Tool"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0"}],"id":"5c092b0d-7205-43a1-aa75-b7a42372fb52","last_modified":1516828883523},{"guid":"/^({fce89242-66d3-4946-9ed0-e66078f172fc})|({0c4df994-4f4a-4646-ae5d-8936be8a4188})|({6cee30bc-a27c-43ea-ac72-302862db62b2})|({e08ebf0b-431d-4ed1-88bb-02e5db8b9443})$/","prefs":[],"schema":1516650096284,"details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1432560","why":"These are malicious add-ons that make it hard for the user to be removed.","name":"FF AntiVir Monitoring"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0"}],"id":"9dfeee42-e6a8-49e0-8979-0648f7368239","last_modified":1516744119329},{"guid":"/^(\\{1490068c-d8b7-4bd2-9621-a648942b312c\\})|(\\{d47ebc8a-c1ea-4a42-9ca3-f723fff034bd\\})|(\\{83d6f65c-7fc0-47d0-9864-a488bfcaa376\\})|(\\{e804fa4c-08e0-4dae-a237-8680074eba07\\})|(\\{ea618d26-780e-4f0f-91fd-2a6911064204\\})|(\\{ce93dcc7-f911-4098-8238-7f023dcdfd0d\\})|(\\{7eaf96aa-d4e7-41b0-9f12-775c2ac7f7c0\\})|(\\{b019c485-2a48-4f5b-be13-a7af94bc1a3e\\})|(\\{9b8a3057-8bf4-4a9e-b94b-867e4e71a50c\\})|(\\{eb3ebb14-6ced-4f60-9800-85c3de3680a4\\})|(\\{01f409a5-d617-47be-a574-d54325fe05d1\\})$/","prefs":[],"schema":1516394914836,"details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1431748","why":"These are a set of malicious add-ons that block the add-ons manager tab from opening so they can't be uninstalled.","name":"FF Tool"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0"}],"id":"5bf72f70-a611-4845-af3f-d4dabe8862b6","last_modified":1516394982586},{"guid":"/^(\\{ac06c6b2-3fd6-45ee-9237-6235aa347215\\})|(\\{d461cc1b-8a36-4ff0-b330-1824c148f326\\})|(\\{d1ab5ebd-9505-481d-a6cd-6b9db8d65977\\})|(\\{07953f60-447e-4f53-a5ef-ed060487f616\\})|(\\{2d3c5a5a-8e6f-4762-8aff-b24953fe1cc9\\})|(\\{f82b3ad5-e590-4286-891f-05adf5028d2f\\})|(\\{f96245ad-3bb0-46c5-8ca9-2917d69aa6ca\\})|(\\{2f53e091-4b16-4b60-9cae-69d0c55b2e78\\})|(\\{18868c3a-a209-41a6-855d-f99f782d1606\\})|(\\{47352fbf-80d9-4b70-9398-fb7bffa3da53\\})$/","prefs":[],"schema":1516311993443,"details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1431748","why":"These are a set of malicious add-ons that block the add-ons manager tab from opening so they can't be uninstalled.","name":"FF Tool"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0"}],"id":"4ca8206f-bc2a-4428-9439-7f3142dc08db","last_modified":1516394914828},{"guid":"{5b0f6d3c-10fd-414c-a135-dffd26d7de0f}","prefs":[],"schema":1516131689499,"details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1430577","why":"This is a malicious add-on that executes remote scripts, redirects popular search URLs and tracks users.","name":"P Birthday"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0"}],"id":"8088b39a-3e6d-4a17-a22f-3f95c0464bd6","last_modified":1516303320468},{"guid":"{1490068c-d8b7-4bd2-9621-a648942b312c}","prefs":[],"schema":1515267698296,"details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1428754","why":"This add-on is using a deceptive name and performing unwanted actions on users' systems.","name":"FF Safe Helper"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0"}],"id":"674b6e19-f087-4706-a91d-1e723ed6f79e","last_modified":1515433728497},{"guid":"{dfa727cb-0246-4c5a-843a-e4a8592cc7b9}","prefs":[],"schema":1514922095288,"details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1426582","why":"Version 2.0.0 shipped with a hidden coin miner, which degrades performance in users who have it enabled. Version 1.2.3 currently available on AMO is not affected.","name":"Open With Adobe PDF Reader 2.0.0"},"enabled":true,"versionRange":[{"severity":1,"maxVersion":"2.0.0","minVersion":"2.0.0"}],"id":"455772a3-8360-4f5a-9a5f-a45b904d0b51","last_modified":1515007270887},{"guid":"{d03b6b0f-4d44-4666-a6d6-f16ad9483593}","prefs":[],"schema":1513366896461,"details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1425581","why":"This is a malicious add-on posing as a legitimate update.","name":"FF Guard Tool (malware)"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0"}],"id":"10d9ce89-b8d4-4b53-b3d7-ecd192681f4e","last_modified":1513376470395},{"guid":"{7e907a15-0a4c-4ff4-b64f-5eeb8f841349}","prefs":[],"schema":1510083698490,"details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1411885","why":"This is a malicious add-on posing as a legitimate update.","name":"Manual Update"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0"}],"id":"f7569261-f575-4719-8202-552b20d013b0","last_modified":1510168860382},{"guid":"{3602008d-8195-4860-965a-d01ac4f9ca96}","prefs":[],"schema":1509120801051,"details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1411885","why":"This is a malicious add-on posing as a legitimate antivirus.\n","name":"Manual Antivirus"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0"}],"id":"28c805a9-e692-4ef8-b3ae-14e085c19ecd","last_modified":1509120934909},{"guid":"{87010166-e3d0-4db5-a394-0517917201df}","prefs":[],"schema":1509120801051,"details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1411885","why":"This is a malicious add-on posing as a legitimate antivirus.\n","name":"Manual Antivirus"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0"}],"id":"84dd8a02-c879-4477-8ea7-bf2f225b0940","last_modified":1509120881470},{"guid":"{8ab60777-e899-475d-9a4f-5f2ee02c7ea4}","prefs":[],"schema":1509120801051,"details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1411885","why":"This is a malicious add-on posing as a legitimate antivirus.\n","name":"Manual Antivirus"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0"}],"id":"ccebab59-7190-4258-8faa-a0b752dd5301","last_modified":1509120831329},{"guid":"{368eb817-31b4-4be9-a761-b67598faf9fa}","prefs":[],"schema":1509046897080,"details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1411885","why":"This is a malicious add-on posing as a legitimate antivirus.","name":"Manual Antivirus"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0"}],"id":"9abc7502-bd6f-40d7-b035-abe721345360","last_modified":1509120801043},{"guid":"fi@dictionaries.addons.mozilla.org","prefs":[],"schema":1508701297180,"details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1407147","why":"This add-on is causing frequent crashes in Firefox 56.","name":"Finnish spellchecker"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"2.1.0","minVersion":"0","targetApplication":[{"guid":"{ec8030f7-c20a-464f-9b0e-13a3a9e97384}","maxVersion":"*","minVersion":"56.0a1"}]}],"id":"22431713-a93b-40f4-8264-0b341b5f6454","last_modified":1508856488536},{"guid":"firefox@mega.co.nz","prefs":[],"schema":1506800496781,"details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1404290","why":"Add-on is causing tabs to load blank.","name":"Mega.nz"},"enabled":true,"versionRange":[{"severity":1,"maxVersion":"3.16.1","minVersion":"0","targetApplication":[{"guid":"{ec8030f7-c20a-464f-9b0e-13a3a9e97384}","maxVersion":"*","minVersion":"56.0a1"}]}],"id":"a84e6eba-4bc1-4416-b481-9b837d39f9f0","last_modified":1506963401477},{"guid":"@68eba425-7a05-4d62-82b1-1d6d5a51716b","prefs":[],"schema":1505072496256,"details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1398905","why":"Misleads users into thinking this is a security and privacy tool (also distributed on a site that makes it look like an official Mozilla product).","name":"SearchAssist Incognito"},"enabled":true,"versionRange":[{"severity":1,"maxVersion":"*","minVersion":"0"}],"id":"595e0e53-b76b-4188-a160-66f29c636094","last_modified":1505211411253},{"guid":"{efda3854-2bd9-45a1-9766-49d7ff18931d}","prefs":[],"schema":1503344500341,"details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1392625","why":"Add-on injects remote code into privileged scope.","name":"Smart Referer"},"enabled":true,"versionRange":[{"severity":1,"maxVersion":"0.8.17.2","minVersion":"0"}],"id":"d83011de-67a4-479b-a778-916a7232095b","last_modified":1503411102265},{"guid":"@H99KV4DO-UCCF-9PFO-9ZLK-8RRP4FVOKD9O","prefs":[],"schema":1502483549048,"details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1340877","why":"This is a malicious add-on that is being installed silently.","name":"FF Adr (malware)"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0"}],"id":"5df16afc-c804-43c9-9de5-f1835403e5fb","last_modified":1502483601731},{"guid":"@DA3566E2-F709-11E5-8E87-A604BC8E7F8B","prefs":[],"schema":1502480491460,"details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1340877","why":"This is a malicious add-on that is being installed silently into users' systems.","name":"SimilarWeb (malware)"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0"}],"id":"0a47a2f7-f07c-489b-bd39-88122a2dfe6a","last_modified":1502483549043},{"guid":"xdict@www.iciba.com","prefs":[],"schema":1501098091500,"details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1384497","why":"This add-on has been discontinued and is creating a prompt loop that blocks users from using Firefox.","name":"PowerWord Grab Word Extension"},"enabled":true,"versionRange":[{"severity":1,"maxVersion":"2.3.1","minVersion":"0"}],"id":"28736359-700e-4b61-9c50-0b533a6bac55","last_modified":1501187580933},{"guid":"{3B4DE07A-DE43-4DBC-873F-05835FF67DCE}","prefs":[],"schema":1496950889322,"details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1371392","why":"This add-on performs hidden actions that cause the users' systems to act as a botnet.","name":"The Safe Surfing (malware)"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0"}],"id":"510bbd9b-b883-4837-90ab-8e353e27e1be","last_modified":1496951442076},{"guid":"WebProtection@360safe.com","prefs":[],"schema":1496846005095,"details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1336635","who":"All users of Firefox 52 and above who have this add-on installed.","why":"This add-on breaks the Firefox user interface starting with version 52.","name":"360 Internet Protection versions 5.0.0.1009 and lower"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"5.0.0.1009","minVersion":"0"}],"id":"e16408c3-4e08-47fd-85a9-3cbbce534e95","last_modified":1496849965060},{"guid":"html5@encoding","prefs":[],"schema":1496788543767,"details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1370847","who":"All users.","why":"This malicious add-on targets a certain user group and spies on them.","name":"HTML5 Encoding (Malicious), all versions"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0"}],"id":"c806b01c-3352-4083-afd9-9a8ab6e00b19","last_modified":1496833261424},{"guid":"/^({95E84BD3-3604-4AAC-B2CA-D9AC3E55B64B}|{E3605470-291B-44EB-8648-745EE356599A}|{95E5E0AD-65F9-4FFC-A2A2-0008DCF6ED25}|{FF20459C-DA6E-41A7-80BC-8F4FEFD9C575}|{6E727987-C8EA-44DA-8749-310C0FBE3C3E}|{12E8A6C2-B125-479F-AB3C-13B8757C7F04}|{EB6628CF-0675-4DAE-95CE-EFFA23169743})$/","prefs":[],"schema":1494022576295,"details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1362585","why":"All of these add-ons have been identified as malware, and are being installed in Firefox globally, most likely via a malicious application installer.","name":"Malicious globally-installed add-ons"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0"}],"id":"3fd71895-7fc6-4f3f-aa22-1cbb0c5fd922","last_modified":1494024191520},{"guid":"@safesearchscoutee","prefs":[],"schema":1494013289942,"details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1362553","why":"This add-on intercepts queries sent to search engines and replaces them with its own, without user consent.","name":"SafeSearch Incognito (malware)"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0"}],"id":"edad04eb-ea16-42f3-a4a7-20dded33cc37","last_modified":1494022568654},{"guid":"{0D2172E4-C5AE-465A-B80D-53A840275B5E}","prefs":[],"schema":1493332768943,"details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1359473","who":"All users of Thunderbird 52 and above, using a version of the Priority Switcher add-on before version 0.7","why":"This add-on is causing recurring startup crashes in Thunderbird.","name":"Priority Switcher for Thunderbird before version 0.7"},"enabled":true,"versionRange":[{"severity":1,"maxVersion":"0.6.999","minVersion":"0","targetApplication":[{"guid":"{3550f703-e582-4d05-9a08-453d09bdfdc6}","maxVersion":"*","minVersion":"52.0a1"}]}],"id":"8c8af415-46db-40be-a66e-38e3762493bd","last_modified":1493332986987},{"guid":"msktbird@mcafee.com","prefs":[],"schema":1493150718059,"details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1354912","why":"These versions of this add-on are known to cause frequent crashes in Thunderbird.","name":"McAfee Anti-Spam Thunderbird Extension 2.0 and lower"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"2.0","minVersion":"0","targetApplication":[{"guid":"{3550f703-e582-4d05-9a08-453d09bdfdc6}","maxVersion":"*","minVersion":"0"}]}],"id":"9e86d1ff-727a-45e3-9fb6-17f32666daf2","last_modified":1493332747360},{"guid":"/^(\\{11112503-5e91-4299-bf4b-f8c07811aa50\\})|(\\{501815af-725e-45be-b0f2-8f36f5617afc\\})$/","prefs":[],"schema":1491421290217,"details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1354045","why":"This add-on steals user credentials for popular websites from Facebook.","name":"Flash Player Updater (Malware)"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"c142360c-4f93-467e-9717-b638aa085d95","last_modified":1491472107658},{"guid":"fr@fbt.ovh","prefs":[],"schema":1490898754477,"details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1351689","why":"Scam add-on that silently steals user credentials of popular websites","name":"Adobe Flash Player (Malware)"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"0f8344d0-8211-49a1-81be-c0084b3da9b1","last_modified":1490898787752},{"guid":"/^\\{(9321F452-96D5-11E6-BC3E-3769C7AD2208)|({18ED1ECA-96D3-11E6-A373-BD66C7AD2208})\\}$/","prefs":[],"schema":1490872899765,"details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1351710","why":"These add-ons modify websites and add deceptive or abusive content","name":"Scamming add-ons (Malware)"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"d6425f24-8c9e-4c0a-89b4-6890fc68d5c9","last_modified":1490898748265},{"guid":"/^(test2@test\\.com)|(test3@test\\.com)|(mozilla_cc2\\.2@internetdownloadmanager\\.com)$/","prefs":[],"schema":1490557289817,"details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1351095","who":"All users who have any of these add-ons installed.","why":"Old versions of the Internet Download Manager Integration add-on cause performance and stability problems in Firefox 53 and above.","name":"IDM Integration forks"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0","targetApplication":[{"guid":"{ec8030f7-c20a-464f-9b0e-13a3a9e97384}","maxVersion":"*","minVersion":"53.0a1"}]}],"id":"9085fdba-8498-46a9-b9fd-4c7343a15c62","last_modified":1490653926191},{"guid":"mozilla_cc2@internetdownloadmanager.com","prefs":[],"schema":1489007018796,"details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1338832","who":"All users who have these versions of the add-on installed.","why":"Old versions of the Internet Download Manager Integration add-on cause performance and stability problems in Firefox 53 and above.","name":"IDM Integration"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"6.26.11","minVersion":"0","targetApplication":[{"guid":"{ec8030f7-c20a-464f-9b0e-13a3a9e97384}","maxVersion":"*","minVersion":"53.0a1"}]}],"id":"d33f6d48-a555-49dd-96ff-8d75473403a8","last_modified":1489514734167},{"guid":"InternetProtection@360safe.com","prefs":[],"schema":1489006712382,"details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1336635","who":"All Firefox users who have this add-on installed.","why":"This add-on breaks the Firefox user interface starting with version 52.","name":"360 Internet Protection"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"5.0.0.1002","minVersion":"0","targetApplication":[{"guid":"{ec8030f7-c20a-464f-9b0e-13a3a9e97384}","maxVersion":"*","minVersion":"52.0a1"}]}],"id":"89a61123-79a2-45d1-aec2-97afca0863eb","last_modified":1489006816246},{"guid":"{95E84BD3-3604-4AAC-B2CA-D9AC3E55B64B}","prefs":[],"schema":1487179851382,"details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1338690","who":"All users who have this add-on installed.","why":"This is a malicious add-on that is silently installed in users' systems.","name":"youtube adblock (malware)"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"04b25e3d-a725-493e-be07-cbd74fb37ea7","last_modified":1487288975999},{"guid":"ext@alibonus.com","prefs":[],"schema":1485297431051,"blockID":"i1524","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1333471","who":"All Firefox users who have these versions installed.","why":"Versions 1.20.9 and lower of this add-on contain critical security issues.","name":"Alibonus 1.20.9 and lower","created":"2017-01-24T22:45:39Z"},"enabled":true,"versionRange":[{"severity":1,"maxVersion":"1.20.9","minVersion":"0","targetApplication":[]}],"id":"a015d5a4-9184-95db-0c74-9262af2332fa","last_modified":1485301116629},{"guid":"{a0d7ccb3-214d-498b-b4aa-0e8fda9a7bf7}","prefs":[],"schema":1485295513652,"blockID":"i1523","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1314332","who":"All Firefox users who have these versions of the Web of Trust add-on installed.","why":"Versions 20170120 and lower of the Web of Trust add-on send excessive user data to its service, which has been reportedly shared with third parties without sufficient sanitization. These versions are also affected by a vulnerability that could lead to unwanted remote code execution.","name":"Web of Trust 20170120 and lower","created":"2017-01-24T22:01:08Z"},"enabled":true,"versionRange":[{"severity":1,"maxVersion":"20170120","minVersion":"0","targetApplication":[]}],"id":"2224c139-9b98-0900-61c1-04031de11ad3","last_modified":1485297214072},{"guid":"/^(ciscowebexstart1@cisco\\.com|ciscowebexstart_test@cisco\\.com|ciscowebexstart@cisco\\.com|ciscowebexgpc@cisco\\.com)$/","prefs":[],"schema":1485212610474,"blockID":"i1522","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1333225","who":"All Firefox users who have any Cisco WebEx add-ons installed.","why":"A critical security vulnerability has been discovered in Cisco WebEx add-ons that enable malicious websites to execute code on the user's system.","name":"Cisco WebEx add-ons","created":"2017-01-23T22:55:58Z"},"enabled":true,"versionRange":[{"severity":1,"maxVersion":"1.0.1","minVersion":"1.0.0","targetApplication":[]}],"id":"30368779-1d3b-490a-0a34-253085af7754","last_modified":1485215014902},{"guid":"{de71f09a-3342-48c5-95c1-4b0f17567554}","prefs":[],"schema":1484335370642,"blockID":"i1493","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1329654","who":"All users who have this add-on installed.","why":"This is a malicious add-on that is installed using a fake name. It changes search and homepage settings.","name":"Search for Firefox Convertor (malware)","created":"2017-01-12T22:17:59Z"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"1.3.9","minVersion":"0","targetApplication":[]}],"id":"d6ec9f54-9945-088e-ba68-40117eaba24e","last_modified":1484867614757},{"guid":"googlotim@gmail.com","prefs":[],"schema":1483389810787,"blockID":"i1492","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1328594","who":"All users who have Savogram version 1.3.2 installed. Version 1.3.1 doesn't have this problem and can be installed from the add-on page. Note that this is an older version, so affected users won't be automatically updated to it. New versions should correct this problem if they become available.","why":"Version 1.3.2 of this add-on loads remote code and performs DOM injection in an unsafe manner.","name":"Savogram 1.3.2","created":"2017-01-05T19:58:39Z"},"enabled":true,"versionRange":[{"severity":1,"maxVersion":"1.3.2","minVersion":"1.3.2","targetApplication":[]}],"id":"0756ed76-7bc7-ec1e-aba5-3a9fac2107ba","last_modified":1483646608603},{"guid":"support@update-firefox.com","prefs":[],"schema":1483387107003,"blockID":"i21","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=629717","who":"All users of the add-on in all Mozilla applications.","why":"This add-on is adware/spyware masquerading as a Firefox update mechanism.","name":"Browser Update (spyware)","created":"2011-01-31T16:23:48Z"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"dfb06be8-3594-28e4-d163-17e27119f15d","last_modified":1483389809169},{"guid":"{2224e955-00e9-4613-a844-ce69fccaae91}","prefs":[],"schema":1483387107003,"blockID":"i7","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=512406","who":"All users of Internet Saving Optimizer for all Mozilla applications.","why":"This add-on causes a high volume of Firefox crashes and is considered malware.","name":"Internet Saving Optimizer (extension)","created":"2011-03-31T16:28:25Z"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"b9efb796-97c2-6434-d28f-acc83436f8e5","last_modified":1483389809147},{"guid":"supportaccessplugin@gmail.com","prefs":[],"schema":1483387107003,"blockID":"i43","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=693673","who":"All users with Firefox Access Plugin installed","why":"This add-on is spyware that reports all visited websites to a third party with no user value.","name":"Firefox Access Plugin (spyware)","created":"2011-10-11T11:24:05Z"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"1ed230a4-e174-262a-55ab-0c33f93a2529","last_modified":1483389809124},{"guid":"{8CE11043-9A15-4207-A565-0C94C42D590D}","prefs":[],"schema":1483387107003,"blockID":"i10","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=541302","who":"All users of this add-on in all Mozilla applications.","why":"This add-on secretly hijacks all search results in most major search engines and masks as a security add-on.","name":"Internal security options editor (malware)","created":"2011-03-31T16:28:25Z"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"e2e0ac09-6d68-75f5-2424-140f51904876","last_modified":1483389809102},{"guid":"youtube@youtube2.com","prefs":[],"schema":1483387107003,"blockID":"i47","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=713050","who":"All users with any version of Free Cheesecake Factory installed on any Mozilla product.","why":"This add-on hijacks your Facebook account.","name":"Free Cheesecake Factory (malware)","created":"2011-12-22T13:11:36Z"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"85f5c1db-433b-bee3-2a3b-325165cacc6e","last_modified":1483389809079},{"guid":"admin@youtubespeedup.com","prefs":[],"schema":1483387107003,"blockID":"i48","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=714221","who":"All users with any version of Youtube Speed UP! installed on any Mozilla product.","why":"This add-on hijacks your Facebook account.","name":"Youtube Speed UP! (malware)","created":"2011-12-29T19:48:06Z"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"a93922c4-8a8a-5230-8f76-76fecb0653b6","last_modified":1483389809057},{"guid":"{E8E88AB0-7182-11DF-904E-6045E0D72085}","prefs":[],"schema":1483387107003,"blockID":"i13","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=578085","who":"All users of this add-on for all Mozilla applications.","why":"This add-on intercepts website login credentials and is malware. For more information, please read our security announcement.","name":"Mozilla Sniffer (malware)","created":"2011-03-31T16:28:25Z"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"ebbd6de9-fc8a-3e5b-2a07-232bee589c7c","last_modified":1483389809035},{"guid":"sigma@labs.mozilla","prefs":[],"schema":1483387107003,"blockID":"i44","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=690819","who":"All users of Lab Kit in all versions of Firefox.","why":"The Lab Kit add-on has been retired due to compatibility issues with Firefox 7 and future Firefox browser releases. You can still install Mozilla Labs add-ons individually.\r\n\r\nFor more information, please read this announcement.","name":"Mozilla Labs: Lab Kit","created":"2011-10-11T11:51:34Z"},"enabled":true,"versionRange":[{"severity":1,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"d614e9cd-220f-3a19-287b-57e122f8c4b5","last_modified":1483389809012},{"guid":"/^(jid0-S9kkzfTvEmC985BVmf8ZOzA5nLM@jetpack|jid1-qps14pkDB6UDvA@jetpack|jid1-Tsr09YnAqIWL0Q@jetpack|shole@ats.ext|{38a64ef0-7181-11e3-981f-0800200c9a66}|eochoa@ualberta.ca)$/","prefs":[],"schema":1483376308298,"blockID":"i1424","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1325060","who":"All users who have any of the affected versions installed.","why":"A security vulnerability was discovered in old versions of the Add-ons SDK, which is exposed by certain old versions of add-ons. In the case of some add-ons that haven't been updated for a long time, all versions are being blocked.","name":"Various vulnerable add-on versions","created":"2016-12-21T17:22:12Z"},"enabled":true,"versionRange":[{"severity":1,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"0699488d-2a19-6735-809e-f229849fe00b","last_modified":1483378113482},{"guid":"pink@rosaplugin.info","prefs":[],"schema":1482945809444,"blockID":"i84","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=743484","who":"All Firefox users who have this add-on installed","why":"Add-on acts like malware and performs user actions on Facebook without their consent.","name":"Facebook Rosa (malware)","created":"2012-04-09T10:13:51Z"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"66ad8de9-311d-076c-7356-87fde6d30d8f","last_modified":1482945810971},{"guid":"videoplugin@player.com","prefs":[],"schema":1482945809444,"blockID":"i90","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=752483","who":"All Firefox users who have installed this add-on.","why":"This add-on is malware disguised as a Flash Player update. It can hijack Google searches and Facebook accounts.","name":"FlashPlayer 11 (malware)","created":"2012-05-07T08:58:30Z"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"d25943f1-39ef-b9ec-ab77-baeef3498365","last_modified":1482945810949},{"guid":"youtb3@youtb3.com","prefs":[],"schema":1482945809444,"blockID":"i60","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=723753","who":"All Firefox users who have this extension installed.","why":"Malicious extension installed under false pretenses.","name":"Video extension (malware)","created":"2012-02-02T16:38:41Z"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"cae3093f-a7b3-5352-a264-01dbfbf347ce","last_modified":1482945810927},{"guid":"{8f42fb8b-b6f6-45de-81c0-d6d39f54f971}","prefs":[],"schema":1482945809444,"blockID":"i82","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=743012","who":"All Firefox users who have installed this add-on.","why":"This add-on maliciously manipulates Facebook and is installed under false pretenses.","name":"Face Plus (malware)","created":"2012-04-09T10:04:28Z"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"09319ab3-55e7-fec1-44e0-84067d014b9b","last_modified":1482945810904},{"guid":"cloudmask@cloudmask.com","prefs":[],"schema":1482945809444,"blockID":"i1233","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1280431","who":"Any user who has version 2.0.788, or earlier, installed.","why":"These versions of the add-on (before 2.0.788) execute code from a website in a privileged local browser context, potentially allowing dangerous, unreviewed, actions to affect the user's computer. This is fixed in later versions.","name":"CloudMask","created":"2016-06-17T14:31:57Z"},"enabled":true,"versionRange":[{"severity":1,"maxVersion":"2.0.788","minVersion":"0","targetApplication":[]}],"id":"2a8b40c7-a1d2-29f4-b7d7-ccfc5066bae1","last_modified":1482945810881},{"guid":"{95ff02bc-ffc6-45f0-a5c8-619b8226a9de}","prefs":[],"schema":1482945809444,"blockID":"i105","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=763065","who":"All Firefox users who have this add-on installed.","why":"This is a malicious add-on that inserts scripts into Facebook and hijacks the user's session.\r\n","name":"Eklenti D\u00fcnyas\u0131 (malware)","created":"2012-06-08T14:34:25Z"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"afbbc08d-2414-f51e-fdb8-74c0a2d90323","last_modified":1482945810858},{"guid":"{fa277cfc-1d75-4949-a1f9-4ac8e41b2dfd}","prefs":[],"schema":1482945809444,"blockID":"i77","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=738419","who":"All Firefox users who have installed this add-on.","why":"This add-on is malware that is installed under false pretenses as an Adobe plugin.","name":"Adobe Flash (malware)","created":"2012-03-22T14:39:08Z"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"81753a93-382d-5f9d-a4ca-8a21b679ebb1","last_modified":1482945810835},{"guid":"youtube@youtube3.com","prefs":[],"schema":1482945809444,"blockID":"i57","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=722823","who":"All Firefox users that have installed this add-on.","why":"Malware installed on false pretenses.","name":"Divx 2012 Plugin (malware)","created":"2012-01-31T13:54:20Z"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"4a93a0eb-a513-7272-6199-bc4d6228ff50","last_modified":1482945810811},{"guid":"{392e123b-b691-4a5e-b52f-c4c1027e749c}","prefs":[],"schema":1482945809444,"blockID":"i109","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=769781","who":"All Firefox users who have this add-on installed.","why":"This add-on pretends to be developed by Facebook and injects scripts that manipulate users' Facebook accounts.","name":"Zaman Tuneline Hay\u0131r! (malware)","created":"2012-06-29T13:20:22Z"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"b9a805aa-cae7-58d6-5a53-2af4442e4cf6","last_modified":1482945810788},{"guid":"msntoolbar@msn.com","prefs":[],"schema":1482945809444,"blockID":"i18","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=599971","who":"Users of Bing Bar 6.0 and older for all versions of Firefox.","why":"This add-on has security issues and was blocked at Microsoft's request. For more information, please see this article.","name":"Bing Bar","created":"2011-03-31T16:28:25Z"},"enabled":true,"versionRange":[{"severity":1,"maxVersion":"6.*","minVersion":" 0","targetApplication":[]}],"id":"9b2f2039-b997-8993-d6dc-d881bc1ca7a1","last_modified":1482945810764},{"guid":"yasd@youasdr3.com","prefs":[],"schema":1482945809444,"blockID":"i104","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=763065","who":"All Firefox users who have this add-on installed.","why":"This is a malicious add-on that inserts scripts into Facebook and hijacks the user's session.\r\n","name":"Play Now (malware)","created":"2012-06-08T14:33:31Z"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"8a352dff-d09d-1e78-7feb-45dec7ace5a5","last_modified":1482945810740},{"guid":"fdm_ffext@freedownloadmanager.org","prefs":[],"schema":1482945809444,"blockID":"i2","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=408445","who":"Users of Firefox 3 and later with versions 1.0 through 1.3.1 of Free Download Manager","why":"This add-on causes a high volume of crashes.","name":"Free Download Manager","created":"2011-03-31T16:28:25Z"},"enabled":true,"versionRange":[{"severity":1,"maxVersion":"1.3.1","minVersion":"1.0","targetApplication":[{"guid":"{ec8030f7-c20a-464f-9b0e-13a3a9e97384}","maxVersion":"*","minVersion":"3.0a1"}]}],"id":"fc46f8e7-0489-b90f-a373-d93109479ca5","last_modified":1482945810393},{"guid":"flash@adobe.com","prefs":[],"schema":1482945809444,"blockID":"i56","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=722526","who":"All Firefox users who have this add-on installed.","why":"This add-on poses as an Adobe Flash update and injects malicious scripts into web pages. It hides itself in the Add-ons Manager.","name":"Adobe Flash Update (malware)","created":"2012-01-30T15:41:51Z"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"696db959-fb0b-8aa4-928e-65f157cdd77a","last_modified":1482945810371},{"guid":"youtubeer@youtuber.com","prefs":[],"schema":1482945809444,"blockID":"i66","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=726787","who":"All Firefox users who have installed this add-on.","why":"Add-on behaves maliciously, and is installed under false pretenses.","name":"Plug VDS (malware)","created":"2012-02-13T15:44:20Z"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"0878ce4e-b476-ffa3-0e06-21a65b7917a1","last_modified":1482945810348},{"guid":"{B13721C7-F507-4982-B2E5-502A71474FED}","prefs":[],"schema":1482945809444,"blockID":"i8","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=627278","who":"Users of all versions of the original Skype Toolbar in all versions of Firefox.","why":"This add-on causes a high volume of Firefox crashes and introduces severe performance issues. Please update to the latest version. For more information, please read our announcement.","name":"Original Skype Toolbar","created":"2011-03-31T16:28:25Z"},"enabled":true,"versionRange":[{"severity":1,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"5a320611-59a3-0eee-bb30-9052be870e00","last_modified":1482945810326},{"guid":"yslow@yahoo-inc.com","prefs":[],"schema":1482945809444,"blockID":"i11","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=542686","who":"Users of YSlow version 2.0.5 for Firefox 3.5.7 and later.","why":"This add-on causes a high volume of Firefox crashes and other stability issues. Users should update to the latest version.","name":"YSlow","created":"2011-03-31T16:28:25Z"},"enabled":true,"versionRange":[{"severity":1,"maxVersion":"2.0.5","minVersion":"2.0.5","targetApplication":[{"guid":"{ec8030f7-c20a-464f-9b0e-13a3a9e97384}","maxVersion":"*","minVersion":"3.5.7"}]}],"id":"a9b34e8f-45ce-9217-b791-98e094c26352","last_modified":1482945810303},{"guid":"youtube@youtuber.com","prefs":[],"schema":1482945809444,"blockID":"i63","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=724691","who":"All Firefox users who have installed this add-on.","why":"Installs under false pretenses and delivers malware.","name":"Mozilla Essentials (malware)","created":"2012-02-06T15:39:38Z"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"18216e6f-9d70-816f-4d4c-63861f43ff3c","last_modified":1482945810281},{"guid":"flash@adobee.com","prefs":[],"schema":1482945809444,"blockID":"i83","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=743497","who":"All Firefox users who have this add-on installed.","why":"This add-on is malware installed under false pretenses.","name":"FlashPlayer 11 (malware)","created":"2012-04-09T10:08:22Z"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"09bb4661-331c-f7ba-865b-9e085dc437af","last_modified":1482945810259},{"guid":"youtube@2youtube.com","prefs":[],"schema":1482945809444,"blockID":"i71","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=730399","who":"All Firefox users who have installed this add-on.","why":"Extension is malware, installed under false pretenses.","name":"YouTube extension (malware)","created":"2012-02-27T10:23:23Z"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"5d389c1f-b3a0-b06f-6ffb-d1e8aa055e3c","last_modified":1482945810236},{"guid":"webmaster@buzzzzvideos.info","prefs":[],"schema":1482945809444,"blockID":"i58","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=722844","who":"All Firefox users who have installed this add-on.","why":"Malware add-on that is installed under false pretenses.","name":"Buzz Video (malware)","created":"2012-01-31T14:51:06Z"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"f7aab105-e2c2-42f5-d9be-280eb9c0c8f7","last_modified":1482945810213},{"guid":"play5@vide04flash.com","prefs":[],"schema":1482945809444,"blockID":"i92","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=755443","who":"All Firefox users who have this add-on installed.","why":"This add-on impersonates a Flash Player update (poorly), and inserts malicious scripts into Facebook.","name":"Lastest Flash PLayer (malware)","created":"2012-05-15T13:27:22Z"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"7190860e-fc1f-cd9f-5d25-778e1e9043b2","last_modified":1482945810191},{"guid":"support3_en@adobe122.com","prefs":[],"schema":1482945809444,"blockID":"i97","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=759164","who":"All Firefox users who have installed this add-on.","why":"This add-on is malware disguised as the Flash Player plugin.","name":"FlashPlayer 11 (malware)","created":"2012-05-28T13:42:54Z"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"decf93a1-2bb0-148c-a1a6-10b3757b554b","last_modified":1482945810168},{"guid":"a1g0a9g219d@a1.com","prefs":[],"schema":1482945809444,"blockID":"i73","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=736275","who":"All Firefox users who have installed this add-on.","why":"This add-on is malware disguised as Flash Player. It steals user cookies and sends them to a remote location.","name":"Flash Player (malware)","created":"2012-03-15T15:03:04Z"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"6dd66b43-897d-874a-2227-54e240b8520f","last_modified":1482945810146},{"guid":"ghostviewer@youtube2.com","prefs":[],"schema":1482945809444,"blockID":"i59","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=723683","who":"All Firefox users who have installed this add-on.","why":"Malicious add-on that automatically posts to Facebook.","name":"Ghost Viewer (malware)","created":"2012-02-02T16:32:15Z"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"06dfe833-8c3d-90ee-3aa8-37c3c28f7c56","last_modified":1482945810123},{"guid":"{46551EC9-40F0-4e47-8E18-8E5CF550CFB8}","prefs":[],"schema":1482945809444,"blockID":"i19","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=621660","who":"Users of Stylish version 1.1b1 for Firefox.","why":"Version 1.1b1 of this add-on causes compatibility issues with Firefox. Users should update to the latest version.","name":"Stylish","created":"2011-03-31T16:28:25Z"},"enabled":true,"versionRange":[{"severity":1,"maxVersion":"1.1b1","minVersion":"1.1b1","targetApplication":[]}],"id":"aaea37e1-ff86-4565-8bd5-55a6bf942791","last_modified":1482945810101},{"guid":"kdrgun@gmail.com","prefs":[],"schema":1482945809444,"blockID":"i103","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=763065","who":"All Firefox users who have this add-on installed.","why":"This is a malicious add-on that inserts scripts into Facebook and hijacks the user's session.","name":"Timeline Kapat (malware)","created":"2012-06-08T14:32:51Z"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"a9a46ab2-2f56-1046-201c-5faa3435e248","last_modified":1482945810078},{"guid":"youtube2@youtube2.com","prefs":[],"schema":1482945809444,"blockID":"i67","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=728476","who":"All Firefox users who have installed this add-on.","why":"This add-on is malware, installed under false pretenses.","name":"Youtube Online (malware)","created":"2012-02-18T09:10:30Z"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"14650ece-295b-a667-f9bc-a3d973e2228c","last_modified":1482945810055},{"guid":"masterfiler@gmail.com","prefs":[],"schema":1482945809444,"blockID":"i12","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=542081","who":"All users of this add-on for all Mozilla applications.","why":"This add-on is malware and attempts to install a Trojan on the user's computer.","name":"Master File (malware)","created":"2010-02-05T15:01:27Z"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"a256d79d-5af8-92e9-a29d-350adf822efe","last_modified":1482945810032},{"guid":"{847b3a00-7ab1-11d4-8f02-006008948af5}","prefs":[],"schema":1482945809444,"blockID":"i9","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=531047","who":"Users of Enigmail versions older than 0.97a for Thunderbird 3 and later.","why":"This add-on causes a high volume of crashes and other stability issues. Users should update Enigmail.","name":"Enigmail","created":"2011-03-31T16:28:25Z"},"enabled":true,"versionRange":[{"severity":1,"maxVersion":"0.97a","minVersion":"0","targetApplication":[{"guid":"{3550f703-e582-4d05-9a08-453d09bdfdc6}","maxVersion":"*","minVersion":"3.0pre"}]}],"id":"115f46b6-059d-202a-4373-2ca79b096347","last_modified":1482945810003},{"guid":"mozilla_cc@internetdownloadmanager.com","prefs":[],"schema":1482945809444,"blockID":"i14","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=578443","who":"Users of Firefox 4 and later with Internet Download Manager version 6.9.8 and older.","why":"This add-on causes a high volume of crashes and has other stability issues.","name":"Internet Download Manager","created":"2011-03-31T16:28:25Z"},"enabled":true,"versionRange":[{"severity":1,"maxVersion":"6.9.8","minVersion":"0","targetApplication":[{"guid":"{ec8030f7-c20a-464f-9b0e-13a3a9e97384}","maxVersion":"*","minVersion":"3.7a1pre"}]}],"id":"773ffcfb-75d1-081d-7431-ebe3fa5dbb44","last_modified":1482945809979},{"guid":"admin@youtubeplayer.com","prefs":[],"schema":1482945809444,"blockID":"i51","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=717165","who":"All Firefox users with this extension installed.","why":"This add-on is malware, doing nothing more than inserting advertisements into websites through iframes.","name":"Youtube player (malware)","created":"2012-01-18T14:34:55Z"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"16b2ce94-88db-0d79-33fc-a93070ceb509","last_modified":1482945809957},{"guid":"personas@christopher.beard","prefs":[],"schema":1482945809444,"blockID":"i15","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=590978","who":"All users of Personas Plus 1.6 in all versions of Firefox.","why":"This version of Personas Plus is incompatible with certain Firefox functionality and other add-ons. Users should upgrade to the latest version.","name":"Personas Plus","created":"2011-03-31T16:28:25Z"},"enabled":true,"versionRange":[{"severity":1,"maxVersion":"1.6","minVersion":"1.6","targetApplication":[{"guid":"{ec8030f7-c20a-464f-9b0e-13a3a9e97384}","maxVersion":"3.6.*","minVersion":"3.6"}]}],"id":"e36479c6-ca00-48d4-4fd9-ec677fd032da","last_modified":1482945809934},{"guid":"youtubeee@youtuber3.com","prefs":[],"schema":1482945809444,"blockID":"i96","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=758503","who":"All Firefox users who have installed this add-on.","why":"This is a malicious add-on that is disguised as a DivX plugin.","name":"Divx 2012 Plugins (malware)","created":"2012-05-25T09:26:47Z"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"f01be9cb-5cf2-774a-a4d7-e210a24db5b9","last_modified":1482945809912},{"guid":"{3252b9ae-c69a-4eaf-9502-dc9c1f6c009e}","prefs":[],"schema":1482945809444,"blockID":"i17","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=599971","who":"Users of version 2.2 of this add-on in all versions of Firefox.","why":"This add-on has security issues and was blocked at Microsoft's request. For more information, please see this article.","name":"Default Manager (Microsoft)","created":"2011-03-31T16:28:25Z"},"enabled":true,"versionRange":[{"severity":1,"maxVersion":"2.2","minVersion":"2.2","targetApplication":[]}],"id":"38be28ac-2e30-37fa-4332-852a55fafb43","last_modified":1482945809886},{"guid":"{68b8676b-99a5-46d1-b390-22411d8bcd61}","prefs":[],"schema":1482945809444,"blockID":"i93","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=755635","who":"All Firefox users who have this add-on installed.","why":"This is a malicious add-on that post content on Facebook accounts and steals user data.","name":"Zaman T\u00fcnelini Kald\u0131r! (malware)","created":"2012-05-16T10:44:42Z"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"733aff15-9b1f-ec04-288f-b78a55165a1c","last_modified":1482945809863},{"guid":"applebeegifts@mozilla.doslash.org","prefs":[],"schema":1482945809444,"blockID":"i54","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=721562","who":"All Firefox users that install this add-on.","why":"Add-on is malware installed under false pretenses.","name":"Applebees Gift Card (malware)","created":"2012-01-26T16:17:49Z"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"1372c8ab-5452-745a-461a-aa78e3e12c4b","last_modified":1482945809840},{"guid":"activity@facebook.com","prefs":[],"schema":1482945112982,"blockID":"i65","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=726803","who":"All Firefox users who have installed this add-on.","why":"Add-on behaves maliciously and poses as an official Facebook add-on.","name":"Facebook extension (malware)","created":"2012-02-13T15:41:02Z"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"79ad1c9b-0828-7823-4574-dd1cdd46c3d6","last_modified":1482945809437},{"guid":"jid0-EcdqvFOgWLKHNJPuqAnawlykCGZ@jetpack","prefs":[],"schema":1482945112982,"blockID":"i62","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=724650","who":"All Firefox users who have installed this add-on.","why":"Add-on is installed under false pretenses and delivers malware.","name":"YouTube extension (malware)","created":"2012-02-06T14:46:33Z"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"5ae1e642-b53c-54c0-19e7-5562cfdac3a3","last_modified":1482945809415},{"guid":"{B7082FAA-CB62-4872-9106-E42DD88EDE45}","prefs":[],"schema":1482945112982,"blockID":"i25","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=637542","who":"Users of McAfee SiteAdvisor below version 3.3.1 for Firefox 4.\r\n\r\nUsers of McAfee SiteAdvisor 3.3.1 and below for Firefox 5 and higher.","why":"This add-on causes a high volume of crashes and is incompatible with certain versions of Firefox.","name":"McAfee SiteAdvisor","created":"2011-03-14T15:53:07Z"},"enabled":true,"versionRange":[{"severity":1,"maxVersion":"3.3.0.*","minVersion":"0.1","targetApplication":[{"guid":"{ec8030f7-c20a-464f-9b0e-13a3a9e97384}","maxVersion":"*","minVersion":"3.7a1"}]}],"id":"c950501b-1f08-2ab2-d817-7c664c0d16fe","last_modified":1482945809393},{"guid":"{B7082FAA-CB62-4872-9106-E42DD88EDE45}","prefs":[],"schema":1482945112982,"blockID":"i38","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=660111","who":"Users of McAfee SiteAdvisor below version 3.3.1 for Firefox 4.\r\n\r\nUsers of McAfee SiteAdvisor 3.3.1 and below for Firefox 5 and higher.","why":"This add-on causes a high volume of crashes and is incompatible with certain versions of Firefox.","name":"McAfee SiteAdvisor","created":"2011-05-27T13:55:02Z"},"enabled":true,"versionRange":[{"severity":1,"maxVersion":"*","minVersion":"3.3.1","targetApplication":[{"guid":"{ec8030f7-c20a-464f-9b0e-13a3a9e97384}","maxVersion":"*","minVersion":"5.0a1"}]}],"id":"f11de388-4511-8d06-1414-95d3b2b122c5","last_modified":1482945809371},{"guid":"{3f963a5b-e555-4543-90e2-c3908898db71}","prefs":[],"schema":1482945112982,"blockID":"i6","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=527135","who":"Users of AVG SafeSearch version 8.5 and older for all Mozilla applications.","why":"This add-on causes a high volume of crashes and causes other stability issues.","name":"AVG SafeSearch","created":"2009-06-17T13:12:12Z"},"enabled":true,"versionRange":[{"severity":1,"maxVersion":"8.5","minVersion":"0","targetApplication":[]}],"id":"0d6f7d4c-bf5d-538f-1ded-ea4c6b775617","last_modified":1482945809348},{"guid":"langpack-vi-VN@firefox.mozilla.org","prefs":[],"schema":1482945112982,"blockID":"i3","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=432406","who":"Users of Vietnamese Language Pack version 2.0 for all Mozilla applications.","why":"Corrupted files. For more information, please see this blog post.","name":"Vietnamese Language Pack","created":"2011-03-31T16:28:25Z"},"enabled":true,"versionRange":[{"severity":1,"maxVersion":"2.0","minVersion":"2.0","targetApplication":[]}],"id":"51d4b581-d21c-20a1-6147-b17c3adc7867","last_modified":1482945809326},{"guid":"youtube@youtube7.com","prefs":[],"schema":1482945112982,"blockID":"i55","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=721646","who":"All Firefox users with this add-on installed.","why":"This is malware posing as video software.","name":"Plugin Video (malware)","created":"2012-01-27T09:39:31Z"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"08ceedf5-c7c1-f54f-db0c-02f01f0e319a","last_modified":1482945809304},{"guid":"crossriderapp3924@crossrider.com","prefs":[],"schema":1482945112982,"blockID":"i76","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=738282","who":"All Firefox users who have installed this add-on.","why":"This add-on compromises Facebook privacy and security and spams friends lists without user intervention.","name":"Fblixx (malware)","created":"2012-03-22T10:38:47Z"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"39d0a019-62fb-837b-1f1f-6831e56442b5","last_modified":1482945809279},{"guid":"{45147e67-4020-47e2-8f7a-55464fb535aa}","prefs":[],"schema":1482945112982,"blockID":"i86","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=748993","who":"All Firefox users who have this add-on installed.","why":"This add-on injects scripts into Facebook and performs malicious activity.","name":"Mukemmel Face+","created":"2012-04-25T16:33:21Z"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"960443f9-cf48-0b71-1ff2-b8c34a3411ea","last_modified":1482945809255},{"guid":"{4B3803EA-5230-4DC3-A7FC-33638F3D3542}","prefs":[],"schema":1482945112982,"blockID":"i4","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=441649","who":"Users of Firefox 3 and later with version 1.2 of Crawler Toolbar","why":"This add-on causes a high volume of crashes.","name":"Crawler Toolbar","created":"2008-07-08T10:23:31Z"},"enabled":true,"versionRange":[{"severity":1,"maxVersion":"1.2","minVersion":"1.2","targetApplication":[{"guid":"{ec8030f7-c20a-464f-9b0e-13a3a9e97384}","maxVersion":"*","minVersion":"3.0a1"}]}],"id":"a9818d53-3a6a-8673-04dd-2a16f5644215","last_modified":1482945809232},{"guid":"flashupdate@adobe.com","prefs":[],"schema":1482945112982,"blockID":"i68","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=722526","who":"All Firefox users who have this add-on installed.","why":"Add-on is malware, installed under false pretenses.","name":"Flash Update (malware)","created":"2012-02-21T13:55:10Z"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"1ba5b46e-790d-5af2-9580-a5f1e6e65522","last_modified":1482945809208},{"guid":"plugin@youtubeplayer.com","prefs":[],"schema":1482945112982,"blockID":"i127","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=783356","who":"All users who have this add-on installed.","why":"This add-on tries to pass as a YouTube player and runs malicious scripts on webpages.","name":"Youtube Facebook Player (malware)","created":"2012-08-16T13:03:10Z"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"17a8bece-e2df-a55d-8a72-95faff028b83","last_modified":1482945809185},{"guid":"GifBlock@facebook.com","prefs":[],"schema":1482945112982,"blockID":"i79","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=739482","who":"All Firefox users who have installed this extension.","why":"This extension is malicious and is installed under false pretenses.","name":"Facebook Essentials (malware)","created":"2012-03-27T10:53:33Z"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"728451e8-1273-d887-37e9-5712b1cc3bff","last_modified":1482945809162},{"guid":"ff-ext@youtube","prefs":[],"schema":1482945112982,"blockID":"i52","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=719296","who":"All Firefox users that have this add-on installed.","why":"This add-on poses as a YouTube player while posting spam into Facebook account.","name":"Youtube player (malware)","created":"2012-01-19T08:26:35Z"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"cd2dd72a-dd52-6752-a0cd-a4b312fd0b65","last_modified":1482945809138},{"guid":"ShopperReports@ShopperReports.com","prefs":[],"schema":1482945112982,"blockID":"i22","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=630191","who":"Users of Shopper Reports version 3.1.22.0 in Firefox 4 and later.","why":"This add-on causes a high volume of Firefox crashes.","name":"Shopper Reports","created":"2011-02-09T17:03:39Z"},"enabled":true,"versionRange":[{"severity":1,"maxVersion":"3.1.22.0","minVersion":"3.1.22.0","targetApplication":[]}],"id":"f26b049c-d856-750f-f050-996e6bec7cbb","last_modified":1482945809115},{"guid":"{27182e60-b5f3-411c-b545-b44205977502}","prefs":[],"schema":1482945112982,"blockID":"i16","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=599971","who":"Users of version 1.0 of this add-on in all versions of Firefox.","why":"This add-on has security issues and was blocked at Microsoft's request. For more information, please see this article.","name":"Search Helper Extension (Microsoft)","created":"2011-03-31T16:28:25Z"},"enabled":true,"versionRange":[{"severity":1,"maxVersion":"1.0","minVersion":"1.0","targetApplication":[]}],"id":"2655f230-11f3-fe4c-7c3d-757d37d5f9a5","last_modified":1482945809092},{"guid":"{841468a1-d7f4-4bd3-84e6-bb0f13a06c64}","prefs":[],"schema":1482945112982,"blockID":"i46","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=712369","who":"Users of all versions of Nectar Search Toolbar in Firefox 9.","why":"This add-on causes crashes and other stability issues in Firefox.","name":"Nectar Search Toolbar","created":"2011-12-20T11:38:17Z"},"enabled":true,"versionRange":[{"severity":1,"maxVersion":"*","minVersion":"0.1","targetApplication":[{"guid":"{ec8030f7-c20a-464f-9b0e-13a3a9e97384}","maxVersion":"9.0","minVersion":"9.0a1"}]}],"id":"b660dabd-0dc0-a55c-4b86-416080b345d9","last_modified":1482945809069},{"guid":"support@daemon-tools.cc","prefs":[],"schema":1482945112982,"blockID":"i5","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=459850","who":"Users of Daemon Tools Toolbar version 1.0.0.5 and older for all Mozilla applications.","why":"This add-on causes a high volume of crashes.","name":"Daemon Tools Toolbar","created":"2009-02-13T18:39:01Z"},"enabled":true,"versionRange":[{"severity":1,"maxVersion":"1.0.0.5","minVersion":"0","targetApplication":[]}],"id":"8cabafd3-576a-b487-31c8-ab59e0349a0e","last_modified":1482945809045},{"guid":"{a3a5c777-f583-4fef-9380-ab4add1bc2a8}","prefs":[],"schema":1482945112982,"blockID":"i53","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=719605","who":"All users of Firefox with this add-on installed.","why":"This add-on is being offered as an online movie viewer, when it reality it only inserts scripts and ads into known sites.","name":"Peliculas-FLV (malware)","created":"2012-01-19T15:58:10Z"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"2.0.3","minVersion":"2.0.3","targetApplication":[]}],"id":"07bc0962-60da-087b-c3ab-f2a6ab84d81c","last_modified":1482945809021},{"guid":"royal@facebook.com","prefs":[],"schema":1482945112982,"blockID":"i64","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=725777","who":"All Firefox users who have installed this add-on.","why":"Malicious add-on posing as a Facebook tool.","name":"Facebook ! (malware)","created":"2012-02-09T13:24:23Z"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"dd1d2623-0d15-c93e-8fbd-ba07b0299a44","last_modified":1482945808997},{"guid":"{28bfb930-7620-11e1-b0c4-0800200c9a66}","prefs":[],"schema":1482945112982,"blockID":"i108","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=766852","who":"All Firefox user who have this add-on installed.","why":"This is malware disguised as an Adobe product. It spams Facebook pages.","name":"Aplicativo (malware)","created":"2012-06-21T09:24:11Z"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"908dc4fb-ebc9-cea1-438f-55e4507ba834","last_modified":1482945808973},{"guid":"socialnetworktools@mozilla.doslash.org","prefs":[],"schema":1482945112982,"blockID":"i78","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=739441","who":"All Firefox users who have installed this add-on.","why":"This add-on hijacks the Facebook UI and adds scripts to track users.","name":"Social Network Tools (malware)","created":"2012-03-26T16:46:55Z"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"1064cd25-3b87-64bb-b0a6-2518ad281574","last_modified":1482945808950},{"guid":"youtubeeing@youtuberie.com","prefs":[],"schema":1482945112982,"blockID":"i98","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=759663","who":"All Firefox users who have installed this add-on.","why":"This add-on is malware disguised as a Youtube add-on.","name":"Youtube Video Player (malware)","created":"2012-05-30T09:30:14Z"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"3484f860-56e1-28e8-5a70-cdcd5ab9d6ee","last_modified":1482945808927},{"guid":"{3a12052a-66ef-49db-8c39-e5b0bd5c83fa}","prefs":[],"schema":1482945112982,"blockID":"i101","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=761874","who":"All Firefox users who have installed this add-on.","why":"This add-on is malware disguised as a Facebook timeline remover.","name":"Timeline Remove (malware)","created":"2012-06-05T18:37:42Z"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"b01b321b-6628-7166-bd15-52f21a04d8bd","last_modified":1482945808904},{"guid":"pfzPXmnzQRXX6@2iABkVe.com","prefs":[],"schema":1482945112982,"blockID":"i99","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=759950","who":"All Firefox users who have this add-on installed.","why":"This add-on is malware disguised as a Flash Player update.","name":"Flash Player (malware)","created":"2012-05-30T17:10:18Z"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"29cc4abc-4f52-01f1-eb0b-cad84ba4db13","last_modified":1482945808881},{"guid":"/^(@pluginscribens_firefox|extension@vidscrab.com|firefox@jjj.ee|firefox@shop-reward.de|FxExtPasteNGoHtk@github.lostdj|himanshudotrai@gmail.com|jid0-bigoD0uivzAMmt07zrf3OHqa418@jetpack|jid0-iXbAR01tjT2BsbApyS6XWnjDhy8@jetpack)$/","prefs":[],"schema":1482341309012,"blockID":"i1423","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1325060","who":"All users who have any of the affected versions installed.","why":"A security vulnerability was discovered in old versions of the Add-ons SDK, which is exposed by certain old versions of add-ons. In the case of some add-ons that haven't been updated for a long time, all versions are being blocked.","name":"Various vulnerable add-on versions","created":"2016-12-21T17:21:10Z"},"enabled":true,"versionRange":[{"severity":1,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"a58a2836-e4e7-74b5-c109-fa3d41e9ed56","last_modified":1482343886390},{"guid":"/^(pdftoword@addingapps.com|jid0-EYTXLS0GyfQME5irGbnD4HksnbQ@jetpack|jid1-ZjJ7t75BAcbGCX@jetpack)$/","prefs":[],"schema":1482341309012,"blockID":"i1425","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1325060","who":"All users who have any of the affected versions installed.","why":"A security vulnerability was discovered in old versions of the Add-ons SDK, which is exposed by certain old versions of add-ons. In the case of some add-ons that haven't been updated for a long time, all versions are being blocked.","name":"Various vulnerable add-on versions","created":"2016-12-21T17:23:14Z"},"enabled":true,"versionRange":[{"severity":1,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"150e639f-c832-63d0-a775-59313b2e1bf9","last_modified":1482343886365},{"guid":"{cc8f597b-0765-404e-a575-82aefbd81daf}","prefs":[],"schema":1480349193877,"blockID":"i380","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=866332","who":"All Firefox users who have this add-on installed.","why":"This is a malicious add-on that hijacks Facebook accounts and performs unwanted actions on behalf of the user.","name":"Update My Browser (malware)","created":"2013-06-19T13:03:00Z"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"4950d7aa-c602-15f5-a7a2-d844182d5cbd","last_modified":1480349217152},{"guid":"extension@FastFreeConverter.com","prefs":[],"schema":1480349193877,"blockID":"i470","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=935779","who":"All Firefox users who have this add-on installed.","why":"This add-on is part of a malicious Firefox installer bundle.","name":"Installer bundle (malware)","created":"2013-11-07T15:38:26Z"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"649dd933-debf-69b7-020f-496c2c9f99c8","last_modified":1480349217071},{"guid":"59D317DB041748fdB89B47E6F96058F3@jetpack","prefs":[],"schema":1480349193877,"blockID":"i694","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1053540","who":"All Firefox users who have this add-ons installed. Users who wish to continue using this add-on can enable it in the Add-ons Manager.","why":"This is a suspicious add-on that appears to be installed without user consent, in violation of the Add-on Guidelines.","name":"JsInjectExtension","created":"2014-08-21T13:46:30Z"},"enabled":true,"versionRange":[{"severity":1,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"75692bd4-18e5-a9be-7ec3-9327e159ef68","last_modified":1480349217005},{"guid":"/^({bfec236d-e122-4102-864f-f5f19d897f5e}|{3f842035-47f4-4f10-846b-6199b07f09b8}|{92ed4bbd-83f2-4c70-bb4e-f8d3716143fe})$/","prefs":[],"schema":1480349193877,"blockID":"i527","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=949566","who":"All Firefox users who have this add-on installed. Users who wish to continue using it can enable it in the Add-ons Manager.","why":"The installer that includes this add-on violates the Add-on Guidelines by making changes that can't be easily reverted and uses multiple IDs.","name":"KeyBar add-on","created":"2013-12-20T14:13:38Z"},"enabled":true,"versionRange":[{"severity":1,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"6d68dd97-7965-0a84-8ca7-435aac3c8040","last_modified":1480349216927},{"guid":"support@vide1flash2.com","prefs":[],"schema":1480349193877,"blockID":"i246","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=830159","who":"All Firefox users who have this add-on installed.","why":"This is an add-on that poses as the Adobe Flash Player and runs malicious code in the user's system.","name":"Lastest Adobe Flash Player (malware)","created":"2013-01-14T09:17:47Z"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"2004fba1-74bf-a072-2a59-6e0ba827b541","last_modified":1480349216871},{"guid":"extension21804@extension21804.com","prefs":[],"schema":1480349193877,"blockID":"i312","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=835665","who":"All Firefox users who have this add-on installed.","why":"This add-on doesn't follow our Add-on Guidelines, bypassing our third party install opt-in screen. Users who wish to continue using this extension can enable it in the Add-ons Manager.","name":"Coupon Companion","created":"2013-03-06T14:14:05Z"},"enabled":true,"versionRange":[{"severity":1,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"b2cf1256-dadd-6501-1f4e-25902d408692","last_modified":1480349216827},{"guid":"toolbar@ask.com","prefs":[],"schema":1480349193877,"blockID":"i602","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1024719","who":"All Firefox users who have these versions of the Ask Toolbar installed. Users who wish to continue using it can enable it in the Add-ons Manager.\r\n","why":"Certain old versions of the Ask Toolbar are causing problems to users when trying to open new tabs. Using more recent versions of the Ask Toolbar should also fix this problem.\r\n","name":"Ask Toolbar (old Avira Security Toolbar bundle)","created":"2014-06-12T14:18:05Z"},"enabled":true,"versionRange":[{"severity":1,"maxVersion":"3.15.8.*","minVersion":"3.15.8","targetApplication":[]}],"id":"b2b4236d-5d4d-82b2-99cd-00ff688badf1","last_modified":1480349216765},{"guid":"nosquint@urandom.ca","prefs":[],"schema":1480349193877,"blockID":"i1232","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1279561","who":"Users on Firefox 47, and higher, using version 2.1.9.1, and earlier, of this add-on. If you wish to continue using it, you can enable it in the Add-ons Manager.","why":"The add-on is breaking the in-built zoom functionality on Firefox 47.","name":"NoSquint","created":"2016-06-10T17:12:55Z"},"enabled":true,"versionRange":[{"severity":1,"maxVersion":"2.1.9.1-signed.1-signed","minVersion":"0","targetApplication":[{"guid":"{ec8030f7-c20a-464f-9b0e-13a3a9e97384}","maxVersion":"*","minVersion":"47"}]}],"id":"30e0a35c-056a-054b-04f3-ade68b83985a","last_modified":1480349216711},{"guid":"{FE1DEEEA-DB6D-44b8-83F0-34FC0F9D1052}","prefs":[],"schema":1480349193877,"blockID":"i364","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=867670","who":"All Firefox users who have this add-on installed. Users who want to enable the add-on again can do so in the Add-ons Manager.","why":"This add-on is side-installed with other software, and blocks setting reversions attempted by users who want to recover their settings after they are hijacked by other add-ons.","name":"IB Updater","created":"2013-06-10T16:14:41Z"},"enabled":true,"versionRange":[{"severity":1,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"a59b967c-66ca-7ad9-2dc6-d0ad37ded5fd","last_modified":1480349216652},{"guid":"vpyekkifgv@vpyekkifgv.org","prefs":[],"schema":1480349193877,"blockID":"i352","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=872211","who":"All Firefox users who have this add-on installed.","why":"Uses a deceptive name and injects ads into pages without user consent.","name":"SQLlite Addon (malware)","created":"2013-05-14T13:42:04Z"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"8fd981ab-7ee0-e367-d804-0efe29d63178","last_modified":1480349216614},{"guid":"/^firefox@(albrechto|swiftbrowse|springsmart|storimbo|squirrelweb|betterbrowse|lizardlink|rolimno|browsebeyond|clingclang|weblayers|kasimos|higher-aurum|xaven|bomlabio)\\.(com?|net|org|info|biz)$/","prefs":[],"schema":1480349193877,"blockID":"i549","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=937405","who":"All Firefox users who have one or more of these add-ons installed. If you wish to continue using any of these add-ons, they can be enabled in the Add-ons Manager.","why":"A large amount of add-ons developed by Yontoo are known to be silently installed and otherwise violate the Add-on Guidelines.","name":"Yontoo add-ons","created":"2014-01-30T15:08:04Z"},"enabled":true,"versionRange":[{"severity":1,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"3a124164-b177-805b-06f7-70a358b37e08","last_modified":1480349216570},{"guid":"thefoxonlybetter@quicksaver","prefs":[],"schema":1480349193877,"blockID":"i702","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1053469","who":"All Firefox users who have any of these versions of the add-on installed.","why":"Certain versions of The Fox, Only Better weren't developed by the original developer, and are likely malicious in nature. This violates the Add-on Guidelines for reusing an already existent ID.","name":"The Fox, Only Better (malicious versions)","created":"2014-08-27T10:05:31Z"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"1.10","targetApplication":[]}],"id":"60e54f6a-1b10-f889-837f-60a76a98fccc","last_modified":1480349216512},{"guid":"/@(ft|putlocker|clickmovie|m2k|sharerepo|smarter-?)downloader\\.com$/","prefs":[],"schema":1480349193877,"blockID":"i396","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=881454","who":"All Firefox users who have this add-on installed. Users who wish to continue using it can enable it in the Add-ons Manager.","why":"This group of add-ons is silently installed, bypassing our install opt-in screen. This violates our Add-on Guidelines.","name":"PutLockerDownloader and related","created":"2013-06-25T12:48:57Z"},"enabled":true,"versionRange":[{"severity":1,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"e98ba6e3-f2dd-fdee-b106-3e0d2a03cda4","last_modified":1480349216487},{"guid":"my7thfakeid@gmail.com","prefs":[],"schema":1480349193877,"blockID":"i1262","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1295616","who":"Anyone who has this add-on installed.","why":"This add-on is a keylogger that sends the data to a remote server, and goes under the name Real_player.addon.","name":"Remote Keylogger test 0 addon","created":"2016-08-17T10:54:59Z"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"81b380c0-8092-ea5e-11cd-54c7f563ff5a","last_modified":1480349216460},{"guid":"{f0e59437-6148-4a98-b0a6-60d557ef57f4}","prefs":[],"schema":1480349193877,"blockID":"i304","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=845975","who":"All Firefox users who have this add-on installed.","why":"This add-on doesn't follow our installation guidelines and is dropped silently into user's profiles.","name":"WhiteSmoke B","created":"2013-02-27T13:10:18Z"},"enabled":true,"versionRange":[{"severity":1,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"0469e643-1a90-f9be-4aad-b347469adcbe","last_modified":1480349216402},{"os":"Darwin,Linux","guid":"firebug@software.joehewitt.com","prefs":[],"schema":1480349193877,"blockID":"i75","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=718831","who":"All Firefox 9 users on Mac OS X or Linux who have Firebug 1.9.0 installed.","why":"Firebug 1.9.0 creates stability problems on Firefox 9, on Mac OS X and Linux. Upgrading to Firefox 10 or later, or upgrading to Firebug 1.9.1 or later fixes this problem.","name":"Firebug","created":"2012-03-21T16:00:01Z"},"enabled":true,"versionRange":[{"severity":1,"maxVersion":"1.9.0","minVersion":"1.9.0","targetApplication":[{"guid":"{ec8030f7-c20a-464f-9b0e-13a3a9e97384}","maxVersion":"9.*","minVersion":"9.0a1"}]}],"id":"a1f9f055-ef34-1412-c39f-35605a70d031","last_modified":1480349216375},{"guid":"xz123@ya456.com","prefs":[],"schema":1480349193877,"blockID":"i486","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=939254","who":"All Firefox users who have this add-on installed.","why":"This add-on appears to be malware and is installed silently in violation of the Add-on Guidelines.","name":"BetterSurf (malware)","created":"2013-11-15T13:34:53Z"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"b9825a25-a96c-407e-e656-46a7948e5745","last_modified":1480349215808},{"guid":"{C7AE725D-FA5C-4027-BB4C-787EF9F8248A}","prefs":[],"schema":1480349193877,"blockID":"i424","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=860641","who":"Users of Firefox 23 or later who have RelevantKnowledge 1.0.0.2 or lower.","why":"Old versions of this add-on are causing startup crashes in Firefox 23, currently on the Beta channel. RelevantKnowledge users on Firefox 23 and above should update to version 1.0.0.3 of the add-on.","name":"RelevantKnowledge 1.0.0.2 and lower","created":"2013-07-01T10:45:20Z"},"enabled":true,"versionRange":[{"severity":1,"maxVersion":"1.0.0.2","minVersion":"0","targetApplication":[{"guid":"{ec8030f7-c20a-464f-9b0e-13a3a9e97384}","maxVersion":"*","minVersion":"23.0a1"}]}],"id":"c888d167-7970-4b3f-240f-2d8e6f14ded4","last_modified":1480349215779},{"guid":"{5C655500-E712-41e7-9349-CE462F844B19}","prefs":[],"schema":1480349193877,"blockID":"i966","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1175425","who":"All users who have this add-on installed.","why":"This add-on is vulnerable to a cross-site scripting attack, putting users at risk when using it in arbitrary websites.","name":"Quick Translator","created":"2015-07-17T13:42:28Z"},"enabled":true,"versionRange":[{"severity":1,"maxVersion":"1.0.1-signed","minVersion":"0","targetApplication":[]}],"id":"f34b00a6-c783-7851-a441-0d80fb1d1031","last_modified":1480349215743},{"guid":"superlrcs@svenyor.net","prefs":[],"schema":1480349193877,"blockID":"i545","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=949596","who":"All Firefox users who have this add-on installed. If you wish to continue using this add-on, you can enable it in the Add-ons Manager.","why":"This add-on is in violation of the Add-on Guidelines, using multiple add-on IDs and potentially doing other unwanted activities.","name":"SuperLyrics","created":"2014-01-30T11:52:42Z"},"enabled":true,"versionRange":[{"severity":1,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"002cd4fa-4c2b-e28b-9220-4a520f4d9ec6","last_modified":1480349215672},{"guid":"mbrsepone@facebook.com","prefs":[],"schema":1480349193877,"blockID":"i479","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=937331","who":"All Firefox users who have this add-on installed.","why":"This add-on is malware that hijacks Facebook accounts.","name":"Mozilla Lightweight Pack (malware)","created":"2013-11-11T15:42:30Z"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"0549645e-5f50-5089-1f24-6e7d3bfab8e0","last_modified":1480349215645},{"guid":"/^brasilescape.*\\@facebook\\.com$/","prefs":[],"schema":1480349193877,"blockID":"i453","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=918566","who":"All Firefox users who have these add-ons installed.","why":"This is a group of malicious add-ons that use deceitful names like \"Facebook Video Pack\" or \"Mozilla Service Pack\" and hijack Facebook accounts.","name":"Brasil Escape (malware)","created":"2013-09-20T09:54:04Z"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"8e6b1176-1794-2117-414e-f0821443f27b","last_modified":1480349215591},{"guid":"foxyproxy-basic@eric.h.jung","prefs":[],"schema":1480349193877,"blockID":"i952","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1183890","who":"All users who have this add-on installed on Thunderbird 38 and above.","why":"This add-on is causing consistent startup crashes on Thunderbird 38 and above.","name":"FoxyProxy Basic for Thunderbird","created":"2015-07-15T09:35:50Z"},"enabled":true,"versionRange":[{"severity":1,"maxVersion":"3.5.5","minVersion":"0","targetApplication":[{"guid":"{3550f703-e582-4d05-9a08-453d09bdfdc6}","maxVersion":"*","minVersion":"38.0a2"},{"guid":"{92650c4d-4b8e-4d2a-b7eb-24ecf4f6b63a}","maxVersion":"*","minVersion":"2.35"}]}],"id":"81658491-feda-2ed3-3c6c-8e60c2b73aee","last_modified":1480349215536},{"guid":"mbroctone@facebook.com","prefs":[],"schema":1480349193877,"blockID":"i476","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=936590","who":"All Firefox users who have this add-on installed.","why":"This add-on is malware that hijacks the users' Facebook account.","name":"Mozilla Storage Service (malware)","created":"2013-11-08T15:32:13Z"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"92198396-8756-8d09-7f18-a68d29894f71","last_modified":1480349215504},{"guid":"toolbar@ask.com","prefs":[],"schema":1480349193877,"blockID":"i616","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1024719","who":"All Firefox users who have these versions of the Ask Toolbar installed. Users who wish to continue using it can enable it in the Add-ons Manager.\r\n","why":"Certain old versions of the Ask Toolbar are causing problems to users when trying to open new tabs. Using more recent versions of the Ask Toolbar should also fix this problem.\r\n","name":"Ask Toolbar (old Avira Security Toolbar bundle)","created":"2014-06-12T14:24:20Z"},"enabled":true,"versionRange":[{"severity":1,"maxVersion":"3.15.28.*","minVersion":"3.15.28","targetApplication":[]}],"id":"f11b485f-320e-233c-958b-a63377024fad","last_modified":1480349215479},{"guid":"/^({e9df9360-97f8-4690-afe6-996c80790da4}|{687578b9-7132-4a7a-80e4-30ee31099e03}|{46a3135d-3683-48cf-b94c-82655cbc0e8a}|{49c795c2-604a-4d18-aeb1-b3eba27e5ea2}|{7473b6bd-4691-4744-a82b-7854eb3d70b6}|{96f454ea-9d38-474f-b504-56193e00c1a5})$/","prefs":[],"schema":1480349193877,"blockID":"i494","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=776404","who":"All Firefox users who have this add-on installed. Users who wish to continue using it can enable it in the Add-ons Manager.","why":"This add-on changes search settings without user interaction, and fails to reset them after it is removed. It also uses multiple add-on IDs for no apparent reason. This violates our Add-on Guidelines.","name":"uTorrent and related","created":"2013-12-02T14:52:32Z"},"enabled":true,"versionRange":[{"severity":1,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"485210d0-8e69-3436-536f-5d1deeea4167","last_modified":1480349215454},{"guid":"{EB7508CA-C7B2-46E0-8C04-3E94A035BD49}","prefs":[],"schema":1480349193877,"blockID":"i162","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=799266","who":"All Firefox users who have installed any of these add-ons.","why":"This block covers a number of malicious add-ons that deceive users, using names like \"Mozilla Safe Browsing\" and \"Translate This!\", and claiming they are developed by \"Mozilla Corp.\". They hijack searches and redirects users to pages they didn't intend to go to.\r\n\r\nNote: this block won't be active until bug 799266 is fixed.","name":"Mozilla Safe Browsing and others (Medfos malware)","created":"2012-10-11T12:25:36Z"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"07566aa3-4ff9-ac4f-9de9-71c77454b4da","last_modified":1480349215428},{"guid":"toolbar@ask.com","prefs":[],"schema":1480349193877,"blockID":"i614","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1024719","who":"All Firefox users who have these versions of the Ask Toolbar installed. Users who wish to continue using it can enable it in the Add-ons Manager.\r\n","why":"Certain old versions of the Ask Toolbar are causing problems to users when trying to open new tabs. Using more recent versions of the Ask Toolbar should also fix this problem.\r\n","name":"Ask Toolbar (old Avira Security Toolbar bundle)","created":"2014-06-12T14:23:39Z"},"enabled":true,"versionRange":[{"severity":1,"maxVersion":"3.15.26.*","minVersion":"3.15.26","targetApplication":[]}],"id":"ede541f3-1748-7b33-9bd6-80e2f948e14f","last_modified":1480349215399},{"guid":"/^({976cd962-e0ca-4337-aea7-d93fae63a79c}|{525ba996-1ce4-4677-91c5-9fc4ead2d245}|{91659dab-9117-42d1-a09f-13ec28037717}|{c1211069-1163-4ba8-b8b3-32fc724766be})$/","prefs":[],"schema":1480349193877,"blockID":"i522","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=947485","who":"All Firefox users who have this add-on installed. Users who wish to continue using it can enable it in the Add-ons Manager.","why":"The installer that includes this add-on violates the Add-on Guidelines by being silently installed and using multiple add-on IDs.","name":"appbario7","created":"2013-12-20T13:15:33Z"},"enabled":true,"versionRange":[{"severity":1,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"580aed26-dc3b-eef8-fa66-a0a402447b7b","last_modified":1480349215360},{"guid":"jid0-O6MIff3eO5dIGf5Tcv8RsJDKxrs@jetpack","prefs":[],"schema":1480349193877,"blockID":"i552","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=974041","who":"All Firefox users who have this extension installed.","why":"This extension is malware that attempts to make it impossible for a second extension and itself to be disabled, and also forces the new tab page to have a specific URL.","name":"Extension_Protected (malware)","created":"2014-02-19T15:26:37Z"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"e53063b4-5702-5b66-c860-d368cba4ccb6","last_modified":1480349215327},{"guid":"toolbar@ask.com","prefs":[],"schema":1480349193877,"blockID":"i604","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1024719","who":"All Firefox users who have these versions of the Ask Toolbar installed. Users who wish to continue using it can enable it in the Add-ons Manager.\r\n","why":"Certain old versions of the Ask Toolbar are causing problems to users when trying to open new tabs. Using more recent versions of the Ask Toolbar should also fix this problem.\r\n","name":"Ask Toolbar (old Avira Security Toolbar bundle)","created":"2014-06-12T14:18:58Z"},"enabled":true,"versionRange":[{"severity":1,"maxVersion":"3.15.11.*","minVersion":"3.15.10","targetApplication":[]}],"id":"b910f779-f36e-70e1-b17a-8afb75988c03","last_modified":1480349215302},{"guid":"brasilescapefive@facebook.com","prefs":[],"schema":1480349193877,"blockID":"i483","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=938473","who":"All Firefox users who have this add-on installed.","why":"This add-on is malware that hijacks Facebook accounts.","name":"Facebook Video Pack (malware)","created":"2013-11-14T09:37:06Z"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"85ee7840-f262-ad30-eb91-74b3248fd13d","last_modified":1480349215276},{"guid":"brasilescapeeight@facebook.com","prefs":[],"schema":1480349193877,"blockID":"i482","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=938476","who":"All Firefox users who have this add-on installed.","why":"This add-on is malware that hijacks Facebook accounts.","name":"Mozilla Security Pack (malware)","created":"2013-11-14T09:36:55Z"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"457a5722-be90-5a9f-5fa0-4c753e9f324c","last_modified":1480349215249},{"guid":"happylyrics@hpyproductions.net","prefs":[],"schema":1480349193877,"blockID":"i370","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=881815","who":"All Firefox users who have this add-on installed. Users who wish to continue using this add-on can enable it in the Add-ons Manager.","why":"This add-on is silently installed into Firefox without the users' consent, violating our Add-on Guidelines.","name":"Happy Lyrics","created":"2013-06-11T15:42:24Z"},"enabled":true,"versionRange":[{"severity":1,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"730e616d-94a7-df0c-d31a-98b7875d60c2","last_modified":1480349215225},{"guid":"search-snacks@search-snacks.com","prefs":[],"schema":1480349193877,"blockID":"i872","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1082733","who":"All users who have this add-on installed. Users who wish to continue using the add-on can enable it in the Add-ons Manager.","why":"This add-on is silently installed into users' systems, in violation of our Add-on Guidelines.","name":"Search Snacks","created":"2015-03-04T14:37:33Z"},"enabled":true,"versionRange":[{"severity":1,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"7567b06f-98fb-9400-8007-5d0357c345d9","last_modified":1480349215198},{"os":"WINNT","guid":"{ABDE892B-13A8-4d1b-88E6-365A6E755758}","prefs":[],"schema":1480349193877,"blockID":"i107","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=764210","who":"All Firefox users on Windows who have the RealPlayer Browser Record extension installed.","why":"The RealPlayer Browser Record extension is causing significant problems on Flash video sites like YouTube. This block automatically disables the add-on, but users can re-enable it from the Add-ons Manager if necessary.\r\n\r\nThis block shouldn't disable any other RealPlayer plugins, so watching RealPlayer content on the web should be unaffected.\r\n\r\nIf you still have problems playing videos on YouTube or elsewhere, please visit our support site for help.","name":"RealPlayer Browser Record Plugin","created":"2012-06-14T13:54:27Z"},"enabled":true,"versionRange":[{"severity":1,"maxVersion":"15.0.5","minVersion":"0","targetApplication":[]}],"id":"e3b89e55-b35f-8694-6f0e-f856e57a191d","last_modified":1480349215173},{"guid":"/(\\{7aeae561-714b-45f6-ace3-4a8aed6e227b\\})|(\\{01e86e69-a2f8-48a0-b068-83869bdba3d0\\})|(\\{77f5fe49-12e3-4cf5-abb4-d993a0164d9e\\})/","prefs":[],"schema":1480349193877,"blockID":"i436","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=891606","who":"All Firefox users who have this add-on installed.","why":"This add-on doesn't follow the Add-on Guidelines, changing Firefox default settings and not reverting them on uninstall. If you want to continue using this add-on, it can be enabled in the Add-ons Manager.","name":"Visual Bee","created":"2013-08-09T15:04:44Z"},"enabled":true,"versionRange":[{"severity":1,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"ad6dc811-ab95-46fa-4bff-42186c149980","last_modified":1480349215147},{"guid":"amo-validator-bypass@example.com","prefs":[],"schema":1480349193877,"blockID":"i1058","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1227605","who":"All users who install this add-on.","why":"This add-on is a proof of concept of a malicious add-on that bypasses the code validator.","name":" AMO Validator Bypass","created":"2015-11-24T09:03:01Z"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"86e38e3e-a729-b5a2-20a8-4738b376eea6","last_modified":1480349214743},{"guid":"6lIy@T.edu","prefs":[],"schema":1480349193877,"blockID":"i852","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1128269","who":"All Firefox users who have this add-on installed.","why":"This add-on is silently installed and performs unwanted actions, in violation of the Add-on Guidelines.","name":"unIsaless","created":"2015-02-09T15:30:27Z"},"enabled":true,"versionRange":[{"severity":1,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"39798bc2-9c75-f172-148b-13f3ca1dde9b","last_modified":1480349214613},{"guid":"{394DCBA4-1F92-4f8e-8EC9-8D2CB90CB69B}","prefs":[],"schema":1480349193877,"blockID":"i100","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=761339","who":"All Firefox users who have Lightshot 2.5.0 installed.","why":"The Lightshot add-on, version 2.5.0, is causing widespread and frequent crashes in Firefox. Lightshot users are strongly recommended to update to version 2.6.0 as soon as possible.","name":"Lightshot","created":"2012-06-05T09:24:51Z"},"enabled":true,"versionRange":[{"severity":1,"maxVersion":"2.5.0","minVersion":"2.5.0","targetApplication":[]}],"id":"57829ea2-5a95-1b6e-953c-7c4a7b3b21ac","last_modified":1480349214568},{"guid":"{a7f2cb14-0472-42a1-915a-8adca2280a2c}","prefs":["browser.startup.homepage","browser.search.defaultenginename"],"schema":1480349193877,"blockID":"i686","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1033809","who":"All users who have this add-on installed. Users who wish to continue using this add-on can enable it in the Add-on Manager.","why":"This add-on is silently installed into users' systems, in violation of the Add-on Guidelines.","name":"HomeTab","created":"2014-08-06T16:35:39Z"},"enabled":true,"versionRange":[{"severity":1,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"33a8f403-b2c8-cadf-e1ba-40b39edeaf18","last_modified":1480349214537},{"guid":"{CA8C84C6-3918-41b1-BE77-049B2BDD887C}","prefs":["browser.startup.homepage","browser.search.defaultenginename"],"schema":1480349193877,"blockID":"i862","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1131230","who":"All users who have this add-on installed. Users who wish to continue using the add-on can enable it in the Add-ons Manager.","why":"This add-on is silently installed into users' systems, in violation of our Add-on Guidelines.","name":"Ebay Shopping Assistant by Spigot","created":"2015-02-26T12:51:25Z"},"enabled":true,"versionRange":[{"severity":1,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"9a9d6da2-90a1-5b71-8b24-96492d57dfd1","last_modified":1480349214479},{"guid":"update@firefox.com","prefs":[],"schema":1480349193877,"blockID":"i374","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=781088","who":"All Firefox users who have this add-on installed.","why":"This is a malicious extension that hijacks Facebook accounts.","name":"Premium Update (malware)","created":"2013-06-18T13:58:38Z"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"bb388413-60ea-c9d6-9a3b-c90df950c319","last_modified":1480349214427},{"guid":"sqlmoz@facebook.com","prefs":[],"schema":1480349193877,"blockID":"i350","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=871610","who":"All Firefox users who have this extension installed.","why":"This extension is malware posing as Mozilla software. It hijacks Facebook accounts and spams other Facebook users.","name":"Mozilla Service Pack (malware)","created":"2013-05-13T09:43:07Z"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"715082e8-7a30-b27b-51aa-186c38e078f6","last_modified":1480349214360},{"guid":"iobitapps@mybrowserbar.com","prefs":[],"schema":1480349193877,"blockID":"i562","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=948695","who":"All Firefox users who have this add-on installed. If you wish to continue using it, it can be enabled in the Add-ons Manager.","why":"This add-on is installed silently and changes users settings without reverting them, in violation of the Add-on Guidelines.","name":"IObit Apps Toolbar","created":"2014-02-27T10:00:54Z"},"enabled":true,"versionRange":[{"severity":1,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"be9a54f6-20c1-7dee-3aea-300b336b2ae5","last_modified":1480349214299},{"guid":"{9e09ac65-43c0-4b9d-970f-11e2e9616c55}","prefs":[],"schema":1480349193877,"blockID":"i376","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=857847","who":"All Firefox users who have installed this add-on.","why":"This add-on is malware that hijacks Facebook accounts and posts content on it.","name":"The Social Networks (malware)","created":"2013-06-18T14:16:25Z"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"753638b4-65ca-6d71-f1f5-ce32ba2edf3b","last_modified":1480349214246},{"guid":"mozillahmpg@mozilla.org","prefs":[],"schema":1480349193877,"blockID":"i140","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=791867","who":"All Firefox users who have installed this add-on.","why":"This is a malicious add-on that tries to monetize on its users by embedding unauthorized affiliate codes on shopping websites, and sometimes redirecting users to alternate sites that could be malicious in nature.","name":"Google YouTube HD Player (malware)","created":"2012-09-17T16:04:10Z"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"98150e2e-cb45-1fee-8458-28d3602ec2ec","last_modified":1480349214216},{"guid":"astrovia@facebook.com","prefs":[],"schema":1480349193877,"blockID":"i489","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=942699","who":"All Firefox users who have this add-on installed.","why":"This add-on is malware that hijacks Facebook accounts.","name":"Facebook Security Service (malware)","created":"2013-11-25T12:40:30Z"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"6f365ff4-e48f-8a06-d19d-55e19fba81f4","last_modified":1480349214157},{"guid":"{bbea93c6-64a3-4a5a-854a-9cc61c8d309e}","prefs":[],"schema":1480349193877,"blockID":"i1126","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1251940","who":"All users who have this add-on installed.","why":"This is a malicious add-on that disables various security checks in Firefox.","name":"Tab Extension (malware)","created":"2016-02-29T21:58:10Z"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"5acb9dcc-59d4-46d1-2a11-1194c4948239","last_modified":1480349214066},{"guid":"ffxtlbr@iminent.com","prefs":["browser.startup.homepage","browser.search.defaultenginename"],"schema":1480349193877,"blockID":"i628","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=866943","who":"All Firefox users who have any of these add-ons installed. Users who wish to continue using them can enable them in the Add-ons Manager.","why":"These add-ons have been silently installed repeatedly, and change settings without user consent, in violation of the Add-on Guidelines.","name":"Iminent Minibar","created":"2014-06-26T15:47:15Z"},"enabled":true,"versionRange":[{"severity":1,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"4387ad94-8500-d74d-68e3-20564a9aac9e","last_modified":1480349214036},{"guid":"{28387537-e3f9-4ed7-860c-11e69af4a8a0}","prefs":[],"schema":1480349193877,"blockID":"i40","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=665775","who":"Users of MediaBar versions 4.3.1.00 and below in all versions of Firefox.","why":"This add-on causes a high volume of crashes and is incompatible with certain versions of Firefox.","name":"MediaBar (2)","created":"2011-07-19T10:19:41Z"},"enabled":true,"versionRange":[{"severity":1,"maxVersion":"4.3.1.00","minVersion":"0.1","targetApplication":[]}],"id":"ff95664b-93e4-aa73-ac20-5ffb7c87d8b7","last_modified":1480349214002},{"guid":"{41e5ef7a-171d-4ab5-8351-951c65a29908}","prefs":[],"schema":1480349193877,"blockID":"i784","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1073810","who":"All Firefox users who have this add-on installed.","why":"This add-on is silently installed into users' systems. It uses very unsafe practices to load its code, and leaks information of all web browsing activity. These are all violations of the Add-on Guidelines.","name":"HelpSiteExpert","created":"2014-11-14T14:37:56Z"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"0c05a0bb-30b4-979e-33a7-9f3955eba17d","last_modified":1480349213962},{"guid":"/^({2d7886a0-85bb-4bf2-b684-ba92b4b21d23}|{2fab2e94-d6f9-42de-8839-3510cef6424b}|{c02397f7-75b0-446e-a8fa-6ef70cfbf12b}|{8b337819-d1e8-48d3-8178-168ae8c99c36}|firefox@neurowise.info|firefox@allgenius.info)$/","prefs":[],"schema":1480349193877,"blockID":"i762","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1082599","who":"All Firefox users who have this add-on installed. Users who wish to continue using it can enable it in the Add-ons Manager.","why":"These add-ons are silently installed into users' systems, in violation of the Add-on Guidelines.","name":"SaveSense, neurowise, allgenius","created":"2014-10-17T16:58:10Z"},"enabled":true,"versionRange":[{"severity":1,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"c5439f55-ace5-ad73-1270-017c0ba7b2ce","last_modified":1480349213913},{"guid":"{462be121-2b54-4218-bf00-b9bf8135b23f}","prefs":[],"schema":1480349193877,"blockID":"i226","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=812303","who":"All Firefox users who have this add-on installed.","why":"This add-on is silently side-installed by other software, and doesn't do much more than changing the users' settings, without reverting them on removal.","name":"WhiteSmoke","created":"2012-11-29T16:27:36Z"},"enabled":true,"versionRange":[{"severity":1,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"994c6084-e864-0e4e-ac91-455083ee46c7","last_modified":1480349213879},{"guid":"firefox@browsefox.com","prefs":[],"schema":1480349193877,"blockID":"i546","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=936244","who":"All Firefox users who have this add-on installed. If you want to continue using it, it can be enabled in the Add-ons Manager.","why":"This add-on is silently installed, in violation of the Add-on Guidelines.","name":"BrowseFox","created":"2014-01-30T12:26:57Z"},"enabled":true,"versionRange":[{"severity":1,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"407d8c84-8939-cd28-b284-9b680e529bf6","last_modified":1480349213853},{"guid":"{6926c7f7-6006-42d1-b046-eba1b3010315}","prefs":[],"schema":1480349193877,"blockID":"i382","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=844956","who":"All Firefox users who have this add-on installed. Those who wish to continue using it can enable it again in the Add-ons Manager.","why":"This add-on is silently installed, bypassing the Firefox opt-in screen and violating our Add-on Guidelines.","name":"appbario7","created":"2013-06-25T12:05:34Z"},"enabled":true,"versionRange":[{"severity":1,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"2367bd94-2bdd-c615-de89-023ba071a443","last_modified":1480349213825},{"guid":"faststartff@gmail.com","prefs":[],"schema":1480349193877,"blockID":"i866","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1131217","who":"All users who have this add-on installed. Users who wish to continue using the add-on can enable it in the Add-ons Manager.","why":"This add-on is silently installed into users' systems, in violation of our Add-on Guidelines.","name":"Fast Start","created":"2015-02-26T13:12:47Z"},"enabled":true,"versionRange":[{"severity":1,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"9e730bca-c7d1-da82-64f6-c74de216cb7d","last_modified":1480349213799},{"guid":"05dd836e-2cbd-4204-9ff3-2f8a8665967d@a8876730-fb0c-4057-a2fc-f9c09d438e81.com","prefs":[],"schema":1480349193877,"blockID":"i468","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=935135","who":"All Firefox users who have this add-on installed.","why":"This add-on appears to be part of a Trojan software package.","name":"Trojan.DownLoader9.50268 (malware)","created":"2013-11-07T14:43:39Z"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"2fd53d9b-7096-f1fb-fbcb-2b40a6193894","last_modified":1480349213774},{"guid":"jid1-0xtMKhXFEs4jIg@jetpack","prefs":[],"schema":1480349193877,"blockID":"i586","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1011286","who":"All Firefox users who have this add-on installed.","why":"This add-on appears to be malware installed without user consent.","name":"ep (malware)","created":"2014-06-03T15:50:19Z"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"50ca2179-83ab-1817-163d-39ed2a9fbd28","last_modified":1480349213717},{"guid":"/^({16e193c8-1706-40bf-b6f3-91403a9a22be}|{284fed43-2e13-4afe-8aeb-50827d510e20}|{5e3cc5d8-ed11-4bed-bc47-35b4c4bc1033}|{7429e64a-1fd4-4112-a186-2b5630816b91}|{8c9980d7-0f09-4459-9197-99b3e559660c}|{8f1d9545-0bb9-4583-bb3c-5e1ac1e2920c})$/","prefs":[],"schema":1480349193877,"blockID":"i517","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=947509","who":"All Firefox users who have this add-on installed. Users who wish to continue using it can enable it in the Add-ons Manager.","why":"The installer that includes this add-on violates the Add-on Guidelines by silently installing the add-on, and using multiple add-on IDs.","name":"Re-markit","created":"2013-12-20T12:54:33Z"},"enabled":true,"versionRange":[{"severity":1,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"e88a28ab-5569-f06d-b0e2-15c51bb2a4b7","last_modified":1480349213344},{"guid":"safebrowse@safebrowse.co","prefs":[],"schema":1480349193877,"blockID":"i782","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1097696","who":"All Firefox users who have this add-on installed.","why":"This add-on loads scripts with malicious code that appears intended to steal usernames, passwords, and other private information.","name":"SafeBrowse","created":"2014-11-12T14:20:44Z"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"edd81c91-383b-f041-d8f6-d0b9a90230bd","last_modified":1480349213319},{"guid":"{af95cc15-3b9b-45ae-8d9b-98d08eda3111}","prefs":[],"schema":1480349193877,"blockID":"i492","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=945126","who":"All Firefox users who have this add-on installed.","why":"This is a malicious Firefox extension that uses a deceptive name and hijacks users' Facebook accounts.","name":"Facebook (malware)","created":"2013-12-02T12:45:06Z"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"7064e9e2-fba4-7b57-86d7-6f4afbf6f560","last_modified":1480349213294},{"guid":"{84a93d51-b7a9-431e-8ff8-d60e5d7f5df1}","prefs":[],"schema":1480349193877,"blockID":"i744","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1080817","who":"All Firefox users who have this add-on installed. Users who wish to continue using it can enable it in the Add-ons Manager.","why":"This add-on appears to be silently installed into users' systems, and changes settings without consent, in violation of the Add-on Guidelines.","name":"Spigot Shopping Assistant","created":"2014-10-17T15:47:06Z"},"enabled":true,"versionRange":[{"severity":1,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"dbc7ef8b-2c48-5dae-73a0-f87288c669f0","last_modified":1480349213264},{"guid":"{C3949AC2-4B17-43ee-B4F1-D26B9D42404D}","prefs":[],"schema":1480349193877,"blockID":"i918","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1170633","who":"All Firefox users who have this add-on installed in Firefox 39 and above.\r\n","why":"Certain versions of this extension are causing startup crashes in Firefox 39 and above.\r\n","name":"RealPlayer Browser Record Plugin","created":"2015-06-02T09:58:16Z"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0","targetApplication":[{"guid":"{ec8030f7-c20a-464f-9b0e-13a3a9e97384}","maxVersion":"*","minVersion":"39.0a1"}]}],"id":"7f2a68f3-aa8a-ae41-1e48-d1f8f63d53c7","last_modified":1480349213231},{"guid":"831778-poidjao88DASfsAnindsd@jetpack","prefs":[],"schema":1480349193877,"blockID":"i972","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1190962","who":"All users who have this add-on installed.","why":"This is a malicious add-on that hijacks Facebook accounts.","name":"Video patch (malware)","created":"2015-08-04T15:18:03Z"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"39471221-6926-e11b-175a-b28424d49bf6","last_modified":1480349213194},{"guid":"lbmsrvfvxcblvpane@lpaezhjez.org","prefs":[],"schema":1480349193877,"blockID":"i342","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=863385","who":"All Firefox users who have this add-on installed.","why":"This add-on is silently installed, violating our Add-on Guidelines. It also appears to install itself both locally and globally, producing a confusing uninstall experience.","name":"RapidFinda","created":"2013-05-06T16:18:14Z"},"enabled":true,"versionRange":[{"severity":1,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"98fb4536-07a4-d03a-f7c5-945acecc8203","last_modified":1480349213128},{"guid":"{babb9931-ad56-444c-b935-38bffe18ad26}","prefs":[],"schema":1480349193877,"blockID":"i499","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=946086","who":"All Firefox users who have this add-on installed.","why":"This is a malicious Firefox extension that uses a deceptive name and hijacks users' Facebook accounts.","name":"Facebook Credits (malware)","created":"2013-12-04T15:22:02Z"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"be1d19fa-1662-322a-13e6-5fa5474f33a7","last_modified":1480349213100},{"guid":"{18d5a8fe-5428-485b-968f-b97b05a92b54}","prefs":["browser.startup.homepage","browser.search.defaultenginename"],"schema":1480349193877,"blockID":"i802","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1080839","who":"All Firefox users who have this add-on installed.","why":"This add-on is silently installed and is considered malware, in violation of the Add-on Guidelines.","name":"Astromenda Search Addon","created":"2014-12-15T10:52:49Z"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"bc846147-cdc1-141f-5846-b705c48bd6ed","last_modified":1480349213074},{"guid":"{b6ef1336-69bb-45b6-8cba-e578fc0e4433}","prefs":[],"schema":1480349193877,"blockID":"i780","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1073810","who":"All Firefox users who have this add-on installed.","why":"This add-on is silently installed into users' systems. It uses very unsafe practices to load its code, and leaks information of all web browsing activity. These are all violations of the Add-on Guidelines.","name":"Power-SW","created":"2014-11-12T14:00:47Z"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"3b080157-2900-d071-60fe-52b0aa376cf0","last_modified":1480349213024},{"guid":"info@wxdownloadmanager.com","prefs":[],"schema":1480349193877,"blockID":"i196","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=806451","who":"All Firefox users who have these add-ons installed.","why":"These are malicious add-ons that are distributed with a trojan and negatively affect web browsing.","name":"Codec (malware)","created":"2012-11-05T09:24:13Z"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"b62597d0-d2cb-d597-7358-5143a1d13658","last_modified":1480349212999},{"os":"WINNT","guid":"{C3949AC2-4B17-43ee-B4F1-D26B9D42404D}","prefs":[],"schema":1480349193877,"blockID":"i111","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=771802","who":"All Firefox users on Windows who have the RealPlayer Browser Record extension installed.","why":"The RealPlayer Browser Record extension is causing significant problems on Flash video sites like YouTube. This block automatically disables the add-on, but users can re-enable it from the Add-ons Manager if necessary.\r\n\r\nThis block shouldn't disable any other RealPlayer plugins, so watching RealPlayer content on the web should be unaffected.\r\n\r\nIf you still have problems playing videos on YouTube or elsewhere, please visit our support site for help.","name":"RealPlayer Browser Record Plugin","created":"2012-07-10T15:28:16Z"},"enabled":true,"versionRange":[{"severity":1,"maxVersion":"15.0.5","minVersion":"0","targetApplication":[]}],"id":"d3f96257-7635-555f-ef48-34d426322992","last_modified":1480349212971},{"guid":"l@AdLJ7uz.net","prefs":["browser.startup.homepage"],"schema":1480349193877,"blockID":"i728","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1076771","who":"All Firefox users who have this add-on installed. Users who wish to continue using it can enable it in the Add-ons Manager.","why":"This add-on is silently installed and changes user settings without consent, in violation of the Add-on Guidelines","name":"GGoSavee","created":"2014-10-16T16:34:54Z"},"enabled":true,"versionRange":[{"severity":1,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"e6bfa340-7d8a-1627-5cdf-40c0c4982e9d","last_modified":1480349212911},{"guid":"{6b2a75c8-6e2e-4267-b955-43e25b54e575}","prefs":[],"schema":1480349193877,"blockID":"i698","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1052611","who":"All Firefox users who have this add-on installed. Users who wish to continue using it can enable it in the Add-ons Manager.","why":"This add-on is silently installed into users' systems, in violation of the Add-on Guidelines.","name":"BrowserShield","created":"2014-08-21T15:46:31Z"},"enabled":true,"versionRange":[{"severity":1,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"492e4e43-f89f-da58-9c09-d99528ee9ca9","last_modified":1480349212871},{"guid":"/^({65f9f6b7-2dae-46fc-bfaf-f88e4af1beca}|{9ed31f84-c8b3-4926-b950-dff74047ff79}|{0134af61-7a0c-4649-aeca-90d776060cb3}|{02edb56b-9b33-435b-b7df-b2843273a694}|{da51d4f6-3e7e-4ef8-b400-9198e0874606}|{b24577db-155e-4077-bb37-3fdd3c302bb5})$/","prefs":[],"schema":1480349193877,"blockID":"i525","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=949566","who":"All Firefox users who have this add-on installed. Users who wish to continue using it can enable it in the Add-ons Manager.","why":"The installer that includes this add-on violates the Add-on Guidelines by making changes that can't be easily reverted and using multiple IDs.","name":"KeyBar add-on","created":"2013-12-20T14:11:14Z"},"enabled":true,"versionRange":[{"severity":1,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"78562d79-9a64-c259-fb63-ce24e29bb141","last_modified":1480349212839},{"guid":"adsremoval@adsremoval.net","prefs":[],"schema":1480349193877,"blockID":"i560","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=962793","who":"All Firefox users who have this add-on installed. If you wish to continue using this add-on, you can enable it in the Add-ons Manager.","why":"This add-on is silently installed and changes various user settings, in violation of the Add-on Guidelines.","name":"Ad Removal","created":"2014-02-27T09:57:31Z"},"enabled":true,"versionRange":[{"severity":1,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"4d150ad4-dc22-9790-07a9-36e0a23f857f","last_modified":1480349212798},{"guid":"firefoxaddon@youtubeenhancer.com","prefs":[],"schema":1480349193877,"blockID":"i445","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=911966","who":"All Firefox users who have this add-on installed.","why":"This is a malicious add-on that imitates a popular video downloader extension, and attempts to hijack Facebook accounts. The add-on available in the add-ons site is safe to use.","name":"YouTube Enhancer Plus (malware)","created":"2013-09-04T16:53:37Z"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"208.7.0","minVersion":"208.7.0","targetApplication":[]}],"id":"41d75d3f-a57e-d5ad-b95b-22f5fa010b4e","last_modified":1480349212747},{"guid":"suchpony@suchpony.de","prefs":[],"schema":1480349193877,"blockID":"i1264","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1251911","who":"All users who have version 1.6.7 or less of this add-on installed.","why":"Old versions of this add-on contained code from YouTube Unblocker, which was originally blocked due to malicious activity. Version 1.6.8 is now okay.","name":"Suchpony (pre 1.6.8)","created":"2016-08-24T10:48:13Z"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"1.6.7","minVersion":"0","targetApplication":[]}],"id":"1bbf00f3-53b5-3777-43c7-0a0b11f9c433","last_modified":1480349212719},{"guid":"{336D0C35-8A85-403a-B9D2-65C292C39087}","prefs":[],"schema":1480349193877,"blockID":"i224","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=812292","who":"All Firefox users who have this add-on installed.","why":"This add-on is side-installed with other software, and blocks setting reversions attempted by users who want to recover their settings after they are hijacked by other add-ons.","name":"IB Updater","created":"2012-11-29T16:22:49Z"},"enabled":true,"versionRange":[{"severity":1,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"c87666e6-ec9a-2f1e-ad03-a722d2fa2a25","last_modified":1480349212655},{"guid":"G4Ce4@w.net","prefs":["browser.startup.homepage"],"schema":1480349193877,"blockID":"i718","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1076771","who":"All Firefox users who have this add-on installed. Users who wish to continue using it can enable it in the Add-ons Manager.","why":"This add-on is silently installed into users' systems and changes settings without consent, in violation of the Add-on Guidelines.","name":"YoutUbeAdBlaocke","created":"2014-10-02T12:21:22Z"},"enabled":true,"versionRange":[{"severity":1,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"3e1e9322-93e9-4ce1-41f5-46ad4ef1471b","last_modified":1480349212277},{"guid":"extension@Fast_Free_Converter.com","prefs":[],"schema":1480349193877,"blockID":"i533","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=949597","who":"All Firefox users who have this add-on installed. Users who wish to continue using it can enable it in the Add-ons Manager.","why":"The installer that includes this add-on violates the Add-on Guidelines by silently installing it.","name":"FastFreeConverter","created":"2013-12-20T15:04:18Z"},"enabled":true,"versionRange":[{"severity":1,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"726f5645-c0bf-66dc-a97a-d072b46e63e7","last_modified":1480349212247},{"guid":"@stopad","prefs":[],"schema":1480349193877,"blockID":"i1266","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1298780","who":"Users who have version 0.0.4 and earlier of the add-on installed.","why":"Stop Ads sends each visited url to a third party server which is not necessary for the add-on to work or disclosed in a privacy policy or user opt-in. Versions 0.0.4 and earlier are affected.","name":"Stop Ads Addon","created":"2016-08-30T12:24:20Z"},"enabled":true,"versionRange":[{"severity":1,"maxVersion":"0.0.4","minVersion":"0","targetApplication":[]}],"id":"3d1893dd-2092-d1f7-03f3-9629b7d7139e","last_modified":1480349212214},{"guid":"703db0db-5fe9-44b6-9f53-c6a91a0ad5bd@7314bc82-969e-4d2a-921b-e5edd0b02cf1.com","prefs":[],"schema":1480349193877,"blockID":"i519","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=947509","who":"All Firefox users who have this add-on installed. Users who wish to continue using it can enable it in the Add-ons Manager.","why":"The installer that includes this add-on violates the Add-on Guidelines by silently installing the add-on, and using multiple add-on IDs.","name":"Re-markit","created":"2013-12-20T12:57:27Z"},"enabled":true,"versionRange":[{"severity":1,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"a27d0f9f-7708-3d5f-82e1-e3f29e6098a0","last_modified":1480349212183},{"guid":"imbaty@taringamp3.com","prefs":[],"schema":1480349193877,"blockID":"i662","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1036757","who":"All Firefox users who have this add-on installed.","why":"This is a malicious add-on that attempts to hide itself by impersonating the Adobe Flash plugin.","name":"Taringa MP3 / Adobe Flash","created":"2014-07-10T15:39:44Z"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"f43859d4-46b7-c028-4738-d40a73ddad7b","last_modified":1480349212157},{"guid":"{13c9f1f9-2322-4d5c-81df-6d4bf8476ba4}","prefs":[],"schema":1480349193877,"blockID":"i348","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=867359","who":"All Firefox users who have this add-on installed.","why":"This add-on is silently installed, violating our Add-on Guidelines. It also fails to revert settings changes on removal.\r\n\r\nUsers who wish to continue using this add-on can enable it in the Add-ons Manager.","name":"mywebsearch","created":"2013-05-08T15:55:57Z"},"enabled":true,"versionRange":[{"severity":1,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"372cf3df-0810-85d8-b5d7-faffff309a11","last_modified":1480349212102},{"guid":"{a6e67e6f-8615-4fe0-a599-34a73fc3fba5}","prefs":[],"schema":1480349193877,"blockID":"i346","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=867333","who":"All Firefox users who have this add-on installed.","why":"This add-on is silently installed, violating our Add-on Guidelines. Also, it doesn't reset its settings changes on uninstall.\r\n\r\nUsers who wish to continue using this add-on can enable it in the Add-ons Manager.","name":"Startnow","created":"2013-05-06T17:06:06Z"},"enabled":true,"versionRange":[{"severity":1,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"1caf911c-ff2f-b0f6-0d32-29ef74be81bb","last_modified":1480349212077},{"guid":"garg_sms@yahoo.in","prefs":[],"schema":1480349193877,"blockID":"i652","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1036757","who":"All Firefox users who have this version of the add-on installed.","why":"Certain versions of the Save My YouTube Day! extension weren't developed by the original developer, and are likely malicious in nature. This violates the Add-on Guidelines for reusing an already existent ID.","name":"Save My YouTube Day!, version 67.9","created":"2014-07-10T15:17:38Z"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"67.9","minVersion":"67.9","targetApplication":[]}],"id":"e50c0189-a7cd-774d-702b-62eade1bf18e","last_modified":1480349212044},{"guid":"9518042e-7ad6-4dac-b377-056e28d00c8f@f1cc0a13-4df1-4d66-938f-088db8838882.com","prefs":[],"schema":1480349193877,"blockID":"i308","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=846455","who":"All Firefox users who have this add-on installed. Users who wish to continue using this add-on can enable it in the Add-ons Manager.","why":"This add-on is silently installed, bypassing our third-party opt-in screen, in violation of our Add-on Guidelines.","name":"Solid Savings","created":"2013-02-28T13:48:32Z"},"enabled":true,"versionRange":[{"severity":1,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"df25ee07-74d4-ccd9-dbbe-7eb053015144","last_modified":1480349212020},{"guid":"jufa098j-LKooapd9jasJ9jliJsd@jetpack","prefs":[],"schema":1480349193877,"blockID":"i1000","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1201163","who":"All users who have this add-on installed.","why":"This is a malicious add-on that hijacks Facebook accounts.","name":"Secure Video (malware)","created":"2015-09-07T14:00:20Z"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"c3a98025-0f4e-3bb4-b475-97329e7b1426","last_modified":1480349211979},{"guid":"{46eddf51-a4f6-4476-8d6c-31c5187b2a2f}","prefs":[],"schema":1480349193877,"blockID":"i750","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=963788","who":"All Firefox users who have this add-on installed. Users who wish to continue using it can enable it in the Add-ons Manager.","why":"This add-on is silently installed into users' systems, in violation of the Add-on Guidelines.","name":"Slick Savings","created":"2014-10-17T16:17:47Z"},"enabled":true,"versionRange":[{"severity":1,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"9b4ef650-e1ad-d55f-c420-4f26dbb4139c","last_modified":1480349211953},{"guid":"{DAC3F861-B30D-40dd-9166-F4E75327FAC7}","prefs":[],"schema":1480349193877,"blockID":"i924","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1173154","who":"All Firefox users who have this add-on installed in Firefox 39 and above.\r\n","why":"Certain versions of this extension are causing startup crashes in Firefox 39 and above.\r\n","name":"RealPlayer Browser Record Plugin","created":"2015-06-09T15:28:17Z"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0","targetApplication":[{"guid":"{ec8030f7-c20a-464f-9b0e-13a3a9e97384}","maxVersion":"*","minVersion":"39.0a1"}]}],"id":"be57998b-9e4d-1040-e6bb-ed9de056338d","last_modified":1480349211896},{"guid":"JMLv@njMaHh.org","prefs":[],"schema":1480349193877,"blockID":"i790","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1103516","who":"All users who have this add-on installed.","why":"This is a malicious add-on that hijacks Facebook accounts.","name":"YouttubeAdBlocke","created":"2014-11-24T14:14:47Z"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"070d5747-137d-8500-8713-cfc6437558a3","last_modified":1480349211841},{"guid":"istart_ffnt@gmail.com","prefs":["browser.startup.homepage","browser.search.defaultenginename"],"schema":1480349193877,"blockID":"i888","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1152553","who":"All Firefox users who have this add-on installed. Users who wish to continue using this add-on can enable it in the Add-on Manager.","why":"This add-on appears to be malware, being silently installed and hijacking user settings, in violation of the Add-on Guidelines.","name":"Istart","created":"2015-04-10T16:27:47Z"},"enabled":true,"versionRange":[{"severity":1,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"32fad759-38d9-dad9-2295-e44cc6887040","last_modified":1480349211785},{"guid":"gystqfr@ylgga.com","prefs":[],"schema":1480349193877,"blockID":"i449","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=912742","who":"All Firefox users who have this add-on installed.","why":"This add-on doesn't follow our Add-on Guidelines. It is installed bypassing the Firefox opt-in screen, and manipulates settings without reverting them on removal. Users who wish to continue using this add-on can enable it in the Add-ons Manager.","name":"Define Ext","created":"2013-09-13T16:19:39Z"},"enabled":true,"versionRange":[{"severity":1,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"8fe8f509-c530-777b-dccf-d10d58ae78cf","last_modified":1480349211748},{"guid":"e9d197d59f2f45f382b1aa5c14d82@8706aaed9b904554b5cb7984e9.com","prefs":["browser.startup.homepage","browser.search.defaultenginename"],"schema":1480349193877,"blockID":"i844","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1128324","who":"All Firefox users who have this add-on installed.","why":"This add-on is silently installed and attempts to change user settings like the home page and default search, in violation of the Add-on Guidelines.","name":"Sense","created":"2015-02-06T15:01:47Z"},"enabled":true,"versionRange":[{"severity":1,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"f8f8695c-a356-a1d6-9291-502b377c63c2","last_modified":1480349211713},{"guid":"{184AA5E6-741D-464a-820E-94B3ABC2F3B4}","prefs":[],"schema":1480349193877,"blockID":"i968","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1164243","who":"All users who have this add-on installed.","why":"This is a malicious add-on that poses as a Java extension.","name":"Java String Helper (malware)","created":"2015-08-04T09:41:27Z"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"fac1d2cb-eed7-fcef-5d5a-43c556371bd7","last_modified":1480349211687},{"guid":"7d51fb17-b199-4d8f-894e-decaff4fc36a@a298838b-7f50-4c7c-9277-df6abbd42a0c.com","prefs":[],"schema":1480349193877,"blockID":"i455","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=919792","who":"All Firefox users who have this add-on installed.","why":"This is a malicious extension that hijacks Facebook accounts and posts spam to the users' friends.","name":"Video Console (malware)","created":"2013-09-25T10:28:36Z"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"dd4d2e17-4ce6-36b0-3035-93e9cc5846d4","last_modified":1480349211660},{"guid":"prositez@prz.com","prefs":[],"schema":1480349193877,"blockID":"i764","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1073810","who":"All Firefox users who have this add-on installed.","why":"This add-on is silently installed into users' systems. It uses very unsafe practices to load its code, and leaks information of all web browsing activity. These are all violations of the Add-on Guidelines.","name":"ProfSitez","created":"2014-10-29T16:43:15Z"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"684ad4fd-2cbd-ce2a-34cd-bc66b20ac8af","last_modified":1480349211628},{"guid":"/^toolbar[0-9]*@findwide\\.com$/","prefs":["browser.startup.homepage","browser.search.defaultenginename"],"schema":1480349193877,"blockID":"i874","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1082758","who":"All users who have this add-on installed. Users who wish to continue using the add-on can enable it in the Add-ons Manager.","why":"This add-on is silently installed into users' systems, in violation of our Add-on Guidelines.\r\n","name":"FindWide Toolbars","created":"2015-03-04T14:54:10Z"},"enabled":true,"versionRange":[{"severity":1,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"a317ad9f-af4d-e086-4afd-cd5eead1ed62","last_modified":1480349211601},{"guid":"{25D77636-38B1-1260-887C-2D4AFA92D6A4}","prefs":[],"schema":1480349193877,"blockID":"i536","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=959279","who":"All Firefox users who have this extension installed.","why":"This is a malicious extension that is installed alongside a trojan. It hijacks searches on selected sites.","name":"Microsoft DirectInput Object (malware)","created":"2014-01-13T10:36:05Z"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"cd174588-940e-f5b3-12ea-896c957bd4b3","last_modified":1480349211555},{"guid":"fdm_ffext@freedownloadmanager.org","prefs":[],"schema":1480349193877,"blockID":"i216","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=789700","who":"All Firefox users who have installed version 1.5.7.5 of the Free Download Manager extension.","why":"Version 1.5.7.5 of the Free Download Manager extension is causing frequent crashes in recent versions of Firefox. Version 1.5.7.6 corrects this problem, but it is currently not available on addons.mozilla.org. We recommend all users to update to the new version once it becomes available.","name":"Free Download Manager","created":"2012-11-27T12:47:51Z"},"enabled":true,"versionRange":[{"severity":1,"maxVersion":"1.5.7.5","minVersion":"1.5.7.5","targetApplication":[]}],"id":"736417a2-6161-9973-991a-aff566314733","last_modified":1480349211163},{"guid":"{badea1ae-72ed-4f6a-8c37-4db9a4ac7bc9}","prefs":[],"schema":1480349193877,"blockID":"i543","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=963809","who":"All Firefox users who have this add-on installed. If you wish to continue using this add-on, you can enable it in the Add-ons Manager.","why":"This add-on is apparently malware that is silently installed into users' systems, in violation of the Add-on Guidelines.","name":"Address Bar Search","created":"2014-01-28T14:28:18Z"},"enabled":true,"versionRange":[{"severity":1,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"8c1dd68e-7df6-0c37-2f41-107745a7be54","last_modified":1480349211119},{"guid":"addon@gemaoff","prefs":[],"schema":1480349193877,"blockID":"i1230","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1251911","who":"All users who have this add-on installed.","why":"These add-ons are copies of YouTube Unblocker, which was originally blocked due to malicious activity.","name":"YouTube Unblocker (addon@gemaoff)","created":"2016-06-08T16:15:11Z"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"6bc49e9f-322f-9952-15a6-0a723a61c2d9","last_modified":1480349211044},{"guid":"{d87d56b2-1379-49f4-b081-af2850c79d8e}","prefs":[],"schema":1480349193877,"blockID":"i726","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1080835","who":"All Firefox users who have this add-on installed.","why":"This add-on is silently installed into users' systems. It uses very unsafe practices to load its code, and leaks information of all web browsing activity. These are all violations of the Add-on Guidelines.","name":"Website Xplorer Lite","created":"2014-10-13T16:01:03Z"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"7b0895b4-dd4f-1c91-f4e3-31afdbdf3178","last_modified":1480349211007},{"guid":"OKitSpace@OKitSpace.es","prefs":[],"schema":1480349193877,"blockID":"i469","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=935779","who":"All Firefox users who have this add-on installed.","why":"This add-on is part of a malicious Firefox installer bundle.","name":"Installer bundle (malware)","created":"2013-11-07T15:35:01Z"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"6a11aa68-0dae-5524-cc96-a5053a31c466","last_modified":1480349210982},{"guid":"{c96d1ae6-c4cf-4984-b110-f5f561b33b5a}","prefs":[],"schema":1480349193877,"blockID":"i808","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1073810","who":"All Firefox users who have this add-on installed.","why":"This add-on is silently installed into users' systems. It uses very unsafe practices to load its code, and leaks information of all web browsing activity. These are all violations of the Add-on Guidelines.","name":"Better Web","created":"2014-12-19T09:36:52Z"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"0413d46b-8205-d9e0-65df-4caa3e6355c4","last_modified":1480349210956},{"guid":"lightningnewtab@gmail.com","prefs":[],"schema":1480349193877,"blockID":"i554","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=974041","who":"All Firefox users who have this add-on installed. If you wish to continue using this add-on, it can be enabled in the Add-ons Manager.","why":"This add-on is silently installed in Firefox and includes a companion extension that also performs malicious actions.","name":"Lightning SpeedDial","created":"2014-02-19T15:28:24Z"},"enabled":true,"versionRange":[{"severity":1,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"875513e1-e6b1-a383-2ec5-eb4deb87eafc","last_modified":1480349210931},{"guid":"/^ext@bettersurfplus/","prefs":[],"schema":1480349193877,"blockID":"i506","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=939254","who":"All Firefox users who have this add-on installed.","why":"This add-on appears to be malware and is installed silently in violation of the Add-on Guidelines.","name":"BetterSurf (malware)","created":"2013-12-10T15:10:31Z"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"b4da06d2-a0fd-09b6-aadb-7e3b29c3be3a","last_modified":1480349210905},{"guid":"thefoxonlybetter@quicksaver","prefs":[],"schema":1480349193877,"blockID":"i706","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1053469","who":"All Firefox users who have any of these versions of the add-on installed.","why":"Certain versions of The Fox, Only Better weren't developed by the original developer, and are likely malicious in nature. This violates the Add-on Guidelines for reusing an already existent ID.","name":"The Fox, Only Better (malicious versions)","created":"2014-08-27T14:50:32Z"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"1.6.160","minVersion":"1.6.160","targetApplication":[]}],"id":"bb2b2114-f8e7-511d-04dc-abc8366712cc","last_modified":1480349210859},{"guid":"CortonExt@ext.com","prefs":[],"schema":1480349193877,"blockID":"i336","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=864551","who":"All Firefox users who have this add-on installed.","why":"This add-on is reported to be installed without user consent, with a non-descriptive name, and ties a number of browser features to Amazon URLs, probably monetizing on affiliate codes.","name":"CortonExt","created":"2013-04-22T16:10:17Z"},"enabled":true,"versionRange":[{"severity":1,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"a5bdd05d-eb4c-ce34-9909-a677b4322384","last_modified":1480349210805},{"guid":"1chtw@facebook.com","prefs":[],"schema":1480349193877,"blockID":"i430","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=901770","who":"All Firefox users who have this add-on installed.","why":"This is a malicious add-on that uses a deceptive name and hijacks social networks.","name":" Mozilla Service Pack (malware)","created":"2013-08-05T16:42:24Z"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"bf1e31c7-ba50-1075-29ae-47368ac1d6de","last_modified":1480349210773},{"guid":"lrcsTube@hansanddeta.com","prefs":[],"schema":1480349193877,"blockID":"i344","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=866944","who":"All Firefox users who have this add-on installed.","why":"This add-on is silently installed, violating our Add-on Guidelines.\r\n\r\nUsers who wish to continue using this add-on can enable it in the Add-ons Manager.","name":"LyricsTube","created":"2013-05-06T16:44:04Z"},"enabled":true,"versionRange":[{"severity":1,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"424b9f39-d028-b1fb-d011-d8ffbbd20fe9","last_modified":1480349210718},{"guid":"{341f4dac-1966-47ff-aacf-0ce175f1498a}","prefs":[],"schema":1480349193877,"blockID":"i356","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=868129","who":"All Firefox users who have this add-on installed.","why":"This add-on is silently installed, violating our Add-on Guidelines.\r\n\r\nUsers who wish to continue using this add-on can enable it in the Add-ons Manager.","name":"MyFreeGames","created":"2013-05-23T14:45:35Z"},"enabled":true,"versionRange":[{"severity":1,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"560e08b1-3471-ad34-8ca9-463f5ca5328c","last_modified":1480349210665},{"guid":"/^({d6e79525-4524-4707-9b97-1d70df8e7e59}|{ddb4644d-1a37-4e6d-8b6e-8e35e2a8ea6c}|{e55007f4-80c5-418e-ac33-10c4d60db01e}|{e77d8ca6-3a60-4ae9-8461-53b22fa3125b}|{e89a62b7-248e-492f-9715-43bf8c507a2f}|{5ce3e0cb-aa83-45cb-a7da-a2684f05b8f3})$/","prefs":[],"schema":1480349193877,"blockID":"i518","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=947509","who":"All Firefox users who have this add-on installed. Users who wish to continue using it can enable it in the Add-ons Manager.","why":"The installer that includes this add-on violates the Add-on Guidelines by silently installing the add-on, and using multiple add-on IDs.","name":"Re-markit","created":"2013-12-20T12:56:17Z"},"enabled":true,"versionRange":[{"severity":1,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"145b0f22-501e-39eb-371e-ec8342a5add9","last_modified":1480349210606},{"guid":"{72b98dbc-939a-4e0e-b5a9-9fdbf75963ef}","prefs":[],"schema":1480349193877,"blockID":"i772","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1073810","who":"All Firefox users who have this add-on installed.","why":"This add-on is silently installed into users' systems. It uses very unsafe practices to load its code, and leaks information of all web browsing activity. These are all violations of the Add-on Guidelines.","name":"SitezExpert","created":"2014-10-31T16:15:26Z"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"386cb2c9-e674-ce2e-345f-d30a785f90c5","last_modified":1480349210536},{"guid":"hha8771ui3-Fo9j9h7aH98jsdfa8sda@jetpack","prefs":[],"schema":1480349193877,"blockID":"i970","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1190963","who":"All users who have this add-on installed.","why":"This is a malicious add-on that hijacks Facebook accounts.","name":"Video fix (malware)","created":"2015-08-04T15:15:07Z"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"3ca577d8-3685-4ba9-363b-5b2d8d8dd608","last_modified":1480349210477},{"guid":"{7e8a1050-cf67-4575-92df-dcc60e7d952d}","prefs":[],"schema":1480349193877,"blockID":"i478","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=935796","who":"All Firefox users who have this add-on installed.","why":"This add-on violates the Add-on Guidelines. Users who wish to continue using this add-on can enable it in the Add-ons Manager.","name":"SweetPacks","created":"2013-11-08T15:42:28Z"},"enabled":true,"versionRange":[{"severity":1,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"1519eb45-fcaa-b531-490d-fe366490ed45","last_modified":1480349210416},{"guid":"/^({66b103a7-d772-4fcd-ace4-16f79a9056e0}|{6926c7f7-6006-42d1-b046-eba1b3010315}|{72cabc40-64b2-46ed-8648-26d831761150}|{73ee2cf2-7b76-4c49-b659-c3d8cf30825d}|{ca6446a5-73d5-4c35-8aa1-c71dc1024a18}|{5373a31d-9410-45e2-b299-4f61428f0be4})$/","prefs":[],"schema":1480349193877,"blockID":"i521","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=947485","who":"All Firefox users who have this add-on installed. Users who wish to continue using it can enable it in the Add-ons Manager.","why":"The installer that includes this add-on violates the Add-on Guidelines by being silently installed and using multiple add-on IDs.","name":"appbario7","created":"2013-12-20T13:14:29Z"},"enabled":true,"versionRange":[{"severity":1,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"983cb7fe-e0b4-6a2e-f174-d2670876b2cd","last_modified":1480349210351},{"guid":"{dd6b651f-dfb9-4142-b0bd-09912ad22674}","prefs":[],"schema":1480349193877,"blockID":"i400","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=835678","who":"All Firefox users who have this add-on installed. Users who wish to continue using it can enable it in the Add-ons Manager.","why":"This group of add-ons is silently installed, bypassing our install opt-in screen. This violates our Add-on Guidelines.","name":"Searchqu","created":"2013-06-25T15:16:01Z"},"enabled":true,"versionRange":[{"severity":1,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"975d2126-f727-f5b9-ca01-b83345b80c56","last_modified":1480349210301},{"guid":"25p@9eAkaLq.net","prefs":["browser.startup.homepage"],"schema":1480349193877,"blockID":"i730","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1076771","who":"All Firefox users who have this add-on installed. Users who wish to continue using it can enable it in the Add-ons Manager.","why":"This add-on is silently installed and changes user settings without consent, in violation of the Add-on Guidelines\r\n","name":"YYOutoubeAdBlocke","created":"2014-10-16T16:35:35Z"},"enabled":true,"versionRange":[{"severity":1,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"5a0c5818-693f-43ae-f85a-c6928d9c2cc4","last_modified":1480349210275},{"os":"Darwin","guid":"thunder@xunlei.com","prefs":[],"schema":1480349193877,"blockID":"i568","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=988490","who":"All Firefox users who have versions 2.0.6 or lower of the Thunder add-on installed on Mac OS.","why":"Versions 2.0.6 and lower of the Thunder add-on are causing startup crashes on Mac OS.","name":"Thunder, 2.0.6 and lower","created":"2014-03-28T15:48:38Z"},"enabled":true,"versionRange":[{"severity":1,"maxVersion":"2.0.6","minVersion":"0","targetApplication":[]}],"id":"cee484f6-2d5d-f708-88be-cd12d825a79a","last_modified":1480349210242},{"guid":"tmbepff@trendmicro.com","prefs":[],"schema":1480349193877,"blockID":"i1222","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1275245","who":"All users of this add-on. If you wish to continue using it, you can enable it in the Add-ons Manager.","why":"Add-on is causing a high-frequency crash in Firefox","name":"Trend Micro BEP 9.1.0.1035 and lower","created":"2016-05-24T12:10:34Z"},"enabled":true,"versionRange":[{"severity":1,"maxVersion":"9.1.0.1035","minVersion":"0","targetApplication":[]}],"id":"8045c799-486a-927c-b972-b9da1c2dab2f","last_modified":1480349209818},{"guid":"pricepeep@getpricepeep.com","prefs":[],"schema":1480349193877,"blockID":"i220","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=811433","who":"All Firefox users who have Pricepeed below 2.1.0.20 installed.","why":"Versions older than 2.1.0.20 of the PricePeep add-on were silently side-installed with other software, injecting advertisements in Firefox. Versions 2.1.0.20 and above don't have the install problems are not blocked.","name":"PricePeep","created":"2012-11-29T16:18:26Z"},"enabled":true,"versionRange":[{"severity":1,"maxVersion":"2.1.0.19.99","minVersion":"0","targetApplication":[]}],"id":"227b9a8d-c18d-239c-135e-d79e614fe392","last_modified":1480349209794},{"guid":"ytd@mybrowserbar.com","prefs":[],"schema":1480349193877,"blockID":"i360","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=845969","who":"All Firefox users who have this add-on installed. Users who want to enable the add-on again can do so in the Add-ons Manager tab.","why":"The installer that includes this add-on performs Firefox settings changes separately from the add-on install, making it very difficult to opt-out to these changes.","name":"YouTube Downloader","created":"2013-06-06T12:29:13Z"},"enabled":true,"versionRange":[{"severity":1,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"63669524-93fe-4823-95ba-37cf6cbd4914","last_modified":1480349209770},{"guid":"hoverst@facebook.com","prefs":[],"schema":1480349193877,"blockID":"i498","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=946029","who":"All Firefox users who have this add-on installed.","why":"This is a malicious Firefox extension that uses a deceptive name and hijacks users' Facebook accounts.","name":"Adobe Flash Player (malware)","created":"2013-12-04T15:17:58Z"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"2b25ba3e-45db-0e6c-965a-3acda1a44117","last_modified":1480349209745},{"guid":"toolbar@ask.com","prefs":[],"schema":1480349193877,"blockID":"i606","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1024719","who":"All Firefox users who have these versions of the Ask Toolbar installed. Users who wish to continue using it can enable it in the Add-ons Manager.\r\n","why":"Certain old versions of the Ask Toolbar are causing problems to users when trying to open new tabs. Using more recent versions of the Ask Toolbar should also fix this problem.\r\n","name":"Ask Toolbar (old Avira Security Toolbar bundle)","created":"2014-06-12T14:20:07Z"},"enabled":true,"versionRange":[{"severity":1,"maxVersion":"3.15.13.*","minVersion":"3.15.13","targetApplication":[]}],"id":"c3d88e22-386a-da3b-8aba-3cb526e08053","last_modified":1480349209713},{"guid":"advance@windowsclient.com","prefs":[],"schema":1480349193877,"blockID":"i508","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=950773","who":"All Firefox users who have this add-on installed.","why":"This is not the Microsoft .NET Framework Assistant created and distributed by Microsoft. It is a malicious extension that is distributed under the same name to trick users into installing it, and turns users into a botnet that conducts SQL injection attacks on visited websites.","name":"Microsoft .NET Framework Assistant (malware)","created":"2013-12-16T10:15:01Z"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"e5d30a74-732e-c3fa-f13b-097ee28d4b27","last_modified":1480349209674},{"guid":"{5eeb83d0-96ea-4249-942c-beead6847053}","prefs":[],"schema":1480349193877,"blockID":"i756","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1080846","who":"All Firefox users who have this add-on installed. Users who wish to continue using it can enable it in the Add-ons Manager.","why":"This add-on is silently installed into users' systems, in violation of the Add-on Guidelines.","name":"SmarterPower","created":"2014-10-17T16:30:30Z"},"enabled":true,"versionRange":[{"severity":1,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"e101dbc0-190c-f6d8-e168-0c1380581cc9","last_modified":1480349209625},{"guid":"/^({7e8a1050-cf67-4575-92df-dcc60e7d952d}|{b3420a9c-a397-4409-b90d-bcf22da1a08a}|{eca6641f-2176-42ba-bdbe-f3e327f8e0af}|{707dca12-3f99-4d94-afea-06dcc0ae0108}|{aea20431-87fc-40be-bc5b-18066fe2819c}|{30ee6676-1ba6-455a-a7e8-298fa863a546})$/","prefs":[],"schema":1480349193877,"blockID":"i523","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=947481","who":"All Firefox users who have this add-on installed. Users who wish to continue using it can enable it in the Add-ons Manager.","why":"The installer that includes this add-on violates the Add-on Guidelines by making changes that can't be easily reverted.","name":"SweetPacks","created":"2013-12-20T13:42:15Z"},"enabled":true,"versionRange":[{"severity":1,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"a3a6bc8e-46a1-b3d5-1b20-58b90ba099c3","last_modified":1480349209559},{"guid":"{e0352044-1439-48ba-99b6-b05ed1a4d2de}","prefs":[],"schema":1480349193877,"blockID":"i710","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1073810","who":"All Firefox users who have this add-on installed.","why":"This add-on is silently installed into users' systems. It uses very unsafe practices to load its code, and leaks information of all web browsing activity. These are all violations of the Add-on Guidelines.","name":"Site Counselor","created":"2014-09-30T15:28:14Z"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"b8fedf07-dcaf-f0e3-b42b-32db75c4c304","last_modified":1480349209491},{"guid":"{bee6eb20-01e0-ebd1-da83-080329fb9a3a}","prefs":[],"schema":1480349193877,"blockID":"i642","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1036757","who":"All Firefox users who have this version of the add-on installed.","why":"Certain versions of the Flash and Video Download extension weren't developed by the original developer, and are likely malicious in nature. This violates the Add-on Guidelines for reusing an already existent ID.","name":"Flash and Video Download, between 40.10.1 and 44.10.1","created":"2014-07-10T15:02:26Z"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"44.10.1","minVersion":"40.10.1","targetApplication":[]}],"id":"16db0c85-02ec-4f7c-24a3-a504fbce902d","last_modified":1480349209443},{"guid":"addlyrics@addlyrics.net","prefs":[],"schema":1480349193877,"blockID":"i426","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=891605","who":"All Firefox users who have this add-on installed.","why":"This add-on is silently installed, violating our Add-on Guidelines.\r\n\r\nUsers who wish to continue using this add-on can enable it in the Add-ons Manager.","name":"Add Lyrics","created":"2013-07-09T15:25:30Z"},"enabled":true,"versionRange":[{"severity":1,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"81678e9e-ebf0-47d6-e409-085c25e67c7e","last_modified":1480349209383},{"guid":"{7b1bf0b6-a1b9-42b0-b75d-252036438bdc}","prefs":[],"schema":1480349193877,"blockID":"i638","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1036137","who":"All Firefox users who have this version of the add-on installed.","why":"Versions 27.8 and 27.9 of the YouTube High Definition extension weren't developed by the original developer, and are likely malicious in nature. It violates the Add-on Guidelines for reusing an already existent ID.","name":"YouTube High Definition 27.8 and 27.9","created":"2014-07-08T16:07:56Z"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"27.9","minVersion":"27.8","targetApplication":[]}],"id":"ffdc8ba0-d548-dc5b-d2fd-79a20837124b","last_modified":1480349209260},{"guid":"toolbar@ask.com","prefs":[],"schema":1480349193877,"blockID":"i610","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1024719","who":"All Firefox users who have these versions of the Ask Toolbar installed. Users who wish to continue using it can enable it in the Add-ons Manager.\r\n","why":"Certain old versions of the Ask Toolbar are causing problems to users when trying to open new tabs. Using more recent versions of the Ask Toolbar should also fix this problem.\r\n","name":"Ask Toolbar (old Avira Security Toolbar bundle)","created":"2014-06-12T14:21:47Z"},"enabled":true,"versionRange":[{"severity":1,"maxVersion":"3.15.22.*","minVersion":"3.15.22","targetApplication":[]}],"id":"935dfec3-d017-5660-db5b-94ae7cea6e5f","last_modified":1480349209128},{"guid":"info@allpremiumplay.info","prefs":[],"schema":1480349193877,"blockID":"i163","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=806451","who":"All Firefox users who have these add-ons installed.","why":"These are malicious add-ons that are distributed with a trojan and negatively affect web browsing.","name":"Codec-C (malware)","created":"2012-10-29T16:40:07Z"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"6afbf9b8-ae3a-6a48-0f6c-7a3e065ec043","last_modified":1480349209076},{"guid":"now.msn.com@services.mozilla.org","prefs":[],"schema":1480349193877,"blockID":"i490","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=926378","who":"All Firefox users who have this add-on installed.","why":"As part of their ongoing work to fine-tune their editorial mix, msnNOW has decided that msnNOW will stop publishing on Dec. 3, 2013. Rather than having a single home for trending content, they will continue integrating that material throughout all MSN channels. A big thank you to everyone who followed msnNOW stories using the Firefox sidebar","name":"MSNNow (discontinued social provider)","created":"2013-11-27T08:06:04Z"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"de7d699d-016d-d973-5e39-52568de6ffde","last_modified":1480349209021},{"guid":"fftoolbar2014@etech.com","prefs":["browser.startup.homepage","browser.search.defaultenginename"],"schema":1480349193877,"blockID":"i858","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1131078","who":"All Firefox users who have this add-on installed.","why":"This add-on is silently installed and changes users' settings, in violation of the Add-on Guidelines.","name":"FF Toolbar","created":"2015-02-11T15:32:36Z"},"enabled":true,"versionRange":[{"severity":1,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"6877bf40-9e45-7017-4dac-14d09e7f0ef6","last_modified":1480349208988},{"guid":"mbrnovone@facebook.com","prefs":[],"schema":1480349193877,"blockID":"i477","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=936249","who":"All Firefox users who have this add-on installed.","why":"This add-on is malware that hijacks Facebook accounts.","name":"Mozilla Security Service (malware)","created":"2013-11-08T15:35:51Z"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"758c2503-766d-a2f5-4c58-7cea93acfe05","last_modified":1480349208962},{"guid":"{739df940-c5ee-4bab-9d7e-270894ae687a}","prefs":[],"schema":1480349193877,"blockID":"i530","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=949558","who":"All Firefox users who have this add-on installed. Users who wish to continue using it can enable it in the Add-ons Manager.","why":"The installer that includes this add-on violates the Add-on Guidelines by making changes that can't be easily reverted.","name":"WhiteSmoke New","created":"2013-12-20T14:49:25Z"},"enabled":true,"versionRange":[{"severity":1,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"f8097aa6-3009-6dfc-59df-353ba6b1142b","last_modified":1480349208933},{"guid":"{ec8030f7-c20a-464f-9b0e-13a3a9e97384}","prefs":[],"schema":1480349193877,"blockID":"i115","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=779014","who":"All Firefox users who have this add-on installed.","why":"This extension is malware that is installed under false pretenses, and it conducts attacks against certain video websites.","name":"Adobe Flash Player (malware)","created":"2012-08-01T13:53:00Z"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"aef9312d-5f2e-a44d-464d-6113394148e3","last_modified":1480349208904},{"guid":"g99hiaoekjoasiijdkoleabsy278djasi@jetpack","prefs":[],"schema":1480349193877,"blockID":"i1022","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1208708","who":"All users who have this add-on installed.","why":"This is a malicious add-on that hijacks Facebook accounts.","name":"WatchIt (malware)","created":"2015-09-28T15:23:08Z"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"25e057ea-f500-67df-d078-ec3f37f99036","last_modified":1480349208877},{"guid":"firefoxaddon@youtubeenhancer.com","prefs":[],"schema":1480349193877,"blockID":"i636","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1033120","who":"All Firefox users who have this version of the add-on installed.","why":"Version 199.7.0 of the YoutubeEnhancer extension isn't developed by the original developer, and is likely malicious in nature. It violates the Add-on Guidelines for reusing an already existent ID.","name":"YoutubeEnhancer - Firefox","created":"2014-07-08T15:58:12Z"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"199.7.0","minVersion":"199.7.0","targetApplication":[]}],"id":"204a074b-da87-2784-f15b-43a9ea9a6b36","last_modified":1480349208851},{"guid":"extacylife@a.com","prefs":[],"schema":1480349193877,"blockID":"i505","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=947741","who":"All Firefox users who have this add-on installed.","why":"This is a malicious extension that hijacks users' Facebook accounts.","name":"Facebook Haber (malware)","created":"2013-12-09T15:08:51Z"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"5acadb8d-d3be-e0e0-4656-9107f9de0ea9","last_modified":1480349208823},{"guid":"{746505DC-0E21-4667-97F8-72EA6BCF5EEF}","prefs":[],"schema":1480349193877,"blockID":"i842","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1128325","who":"All Firefox users who have this add-on installed.","why":"This add-on is silently installed into users' systems, in violation of the Add-on Guidelines.","name":"Shopper-Pro","created":"2015-02-06T14:45:57Z"},"enabled":true,"versionRange":[{"severity":1,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"5f19c5fb-1c78-cbd6-8a03-1678efb54cbc","last_modified":1480349208766},{"guid":"{51c77233-c0ad-4220-8388-47c11c18b355}","prefs":[],"schema":1480349193877,"blockID":"i580","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1004132","who":"All Firefox users who have this add-on installed. If you wish to continue using this add-on, it can be enabled in the Add-ons Manager.","why":"This add-on is silently installed into Firefox, in violation of the Add-on Guidelines.","name":"Browser Utility","created":"2014-04-30T13:55:35Z"},"enabled":true,"versionRange":[{"severity":1,"maxVersion":"0.1.9999999","minVersion":"0","targetApplication":[]}],"id":"daa2c60a-5009-2c65-a432-161d50bef481","last_modified":1480349208691},{"guid":"{a2bfe612-4cf5-48ea-907c-f3fb25bc9d6b}","prefs":[],"schema":1480349193877,"blockID":"i712","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1073810","who":"All Firefox users who have this add-on installed.","why":"This add-on is silently installed into users' systems. It uses very unsafe practices to load its code, and leaks information of all web browsing activity. These are all violations of the Add-on Guidelines.","name":"Website Xplorer","created":"2014-09-30T15:28:22Z"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"13450534-93d7-f2a2-7f0a-e4e3948c4dc1","last_modified":1480349208027},{"guid":"ScorpionSaver@jetpack","prefs":[],"schema":1480349193877,"blockID":"i539","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=963826","who":"All Firefox users who have this add-on installed. If you wish to continue using this add-on, you can enable it in the Add-ons Manager.","why":"This add-on is being silently installed, in violation of the Add-on Guidelines","name":"ScorpionSaver","created":"2014-01-28T14:00:30Z"},"enabled":true,"versionRange":[{"severity":1,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"3499c968-6e8b-37f1-5f6e-2384807c2a6d","last_modified":1480349207972},{"guid":"unblocker20@unblocker.yt","prefs":[],"schema":1480349193877,"blockID":"i1212","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1251911","who":"All users who have this add-on installed.","why":"This add-on is a copy of YouTube Unblocker, which was originally blocked due to malicious activity.","name":"YouTube Unblocker 2.0","created":"2016-05-05T18:13:29Z"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"2.0.0","minVersion":"0","targetApplication":[]}],"id":"57785030-909f-e985-2a82-8bd057781227","last_modified":1480349207912},{"guid":"{D19CA586-DD6C-4a0a-96F8-14644F340D60}","prefs":[],"schema":1480349193877,"blockID":"i42","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=690184","who":"Users of McAfee ScriptScan versions 14.4.0 and below for all versions of Firefox and SeaMonkey.","why":"This add-on causes a high volume of crashes.","name":"McAfee ScriptScan","created":"2011-10-03T09:38:39Z"},"enabled":true,"versionRange":[{"severity":1,"maxVersion":"14.4.0","minVersion":"0.1","targetApplication":[]}],"id":"1d35ac9d-49df-23cf-51f5-f3c228ad0dc9","last_modified":1480349207877},{"guid":"gjhrjenrengoe@jfdnkwelfwkm.com","prefs":[],"schema":1480349193877,"blockID":"i1042","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1212174","who":"All users who have this add-on installed.","why":"This is a malicious add-on that takes over Facebook accounts.","name":"Avant Player (malware)","created":"2015-10-07T13:12:54Z"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"d6453893-becc-7617-2050-0db284e0e0db","last_modified":1480349207840},{"guid":"/^(@9338379C-DD5C-4A45-9A36-9733DC806FAE|9338379C-DD5C-4A45-9A36-9733DC806FAE|@EBC7B466-8A28-4061-81B5-10ACC05FFE53|@bd6a97c0-4b18-40ed-bce7-3b7d3309e3c4222|@bd6a97c0-4b18-40ed-bce7-3b7d3309e3c4|@b2d6a97c0-4b18-40ed-bce7-3b7d3309e3c4222)$/","prefs":[],"schema":1480349193877,"blockID":"i1079","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1240597","who":"All Firefox users who have these add-ons installed.","why":"These add-ons are malicious, manipulating registry and search settings for users.","name":"Default SearchProtected (malware)","created":"2016-01-18T12:32:32Z"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"ddc5237e-42e4-1bf1-54d3-a5e5799dd828","last_modified":1480349207815},{"guid":"{33e0daa6-3af3-d8b5-6752-10e949c61516}","prefs":[],"schema":1480349193877,"blockID":"i282","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=835683","who":"All Firefox users who have this add-on installed. Users who wish to continue using this add-on can enable it in the Add-ons Manager.","why":"This add-on violates our add-on guidelines, bypassing the third party opt-in screen.","name":"Complitly","created":"2013-02-15T12:19:26Z"},"enabled":true,"versionRange":[{"severity":1,"maxVersion":"1.1.999","minVersion":"0","targetApplication":[]}],"id":"1f94bc8d-9d5f-c8f5-45c0-ad1f6e147c71","last_modified":1480349207789},{"guid":"toolbar@ask.com","prefs":[],"schema":1480349193877,"blockID":"i608","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1024719","who":"All Firefox users who have these versions of the Ask Toolbar installed. Users who wish to continue using it can enable it in the Add-ons Manager.\r\n","why":"Certain old versions of the Ask Toolbar are causing problems to users when trying to open new tabs. Using more recent versions of the Ask Toolbar should also fix this problem.\r\n","name":"Ask Toolbar (old Avira Security Toolbar bundle)","created":"2014-06-12T14:20:57Z"},"enabled":true,"versionRange":[{"severity":1,"maxVersion":"3.15.20.*","minVersion":"3.15.18","targetApplication":[]}],"id":"e7d50ff2-5948-d571-6711-37908ccb863f","last_modified":1480349207761},{"guid":"chiang@programmer.net","prefs":[],"schema":1480349193877,"blockID":"i340","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=867156","who":"All Firefox users who have this add-on installed.","why":"This is a malicious add-on that logs keyboard input and sends it to a remote server.","name":"Cache Manager (malware)","created":"2013-04-30T07:44:09Z"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"d50d0434-78e4-faa7-ce2a-9b0a8bb5120e","last_modified":1480349207736},{"guid":"{63eb5ed4-e1b3-47ec-a253-f8462f205350}","prefs":[],"schema":1480349193877,"blockID":"i786","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1073810","who":"All Firefox users who have this add-on installed.","why":"This add-on is silently installed into users' systems. It uses very unsafe practices to load its code, and leaks information of all web browsing activity. These are all violations of the Add-on Guidelines.","name":"FF-Plugin","created":"2014-11-18T12:33:13Z"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"ca4558a2-8ce4-3ca0-3d29-63019f680c8c","last_modified":1480349207705},{"guid":"jid1-4vUehhSALFNqCw@jetpack","prefs":[],"schema":1480349193877,"blockID":"i634","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1033002","who":"All Firefox users who have this version of the add-on installed.","why":"Version 99.7 of the YouTube Plus Plus extension isn't developed by the original developer, and is likely malicious in nature. It violates the Add-on Guidelines for reusing an already existent ID.","name":"YouTube Plus Plus 99.7","created":"2014-07-04T14:13:57Z"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"99.7","minVersion":"99.7","targetApplication":[]}],"id":"a6d017cb-e33f-2239-4e42-ab4e7cfb19fe","last_modified":1480349207680},{"guid":"{aab02ab1-33cf-4dfa-8a9f-f4e60e976d27}","prefs":[],"schema":1480349193877,"blockID":"i820","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1073810","who":"All Firefox users who have this add-on installed.","why":"This add-on is silently installed into users' systems without their consent, in violation of the Add-on Guidelines.","name":"Incredible Web","created":"2015-01-13T09:27:49Z"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"847ecc6e-1bc1-f7ff-e1d5-a76e6b8447d2","last_modified":1480349207654},{"guid":"torntv@torntv.com","prefs":[],"schema":1480349193877,"blockID":"i320","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=845610","who":"All Firefox users who have this add-on installed.","why":"This add-on doesn't follow our Add-on Guidelines, bypassing our third party install opt-in screen. Users who wish to continue using this extension can enable it in the Add-ons Manager.","name":"TornTV","created":"2013-03-20T16:35:24Z"},"enabled":true,"versionRange":[{"severity":1,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"cdd492b8-8101-74a9-5760-52ff709fd445","last_modified":1480349207608},{"guid":"crossriderapp12555@crossrider.com","prefs":[],"schema":1480349193877,"blockID":"i674","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=877836","who":"All Firefox users who have this add-on installed. Users who wish to continue using this add-on can enable it in the Add-ons Manager.","why":"The add-on is silently installed, in violation of our Add-on Guidelines.","name":"JollyWallet","created":"2014-07-22T16:26:19Z"},"enabled":true,"versionRange":[{"severity":1,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"d4467e20-0f71-f0e0-8cd6-40c82b6c7379","last_modified":1480349207561},{"guid":"pluggets@gmail.com","prefs":[],"schema":1480349193877,"blockID":"i435","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=903544","who":"All Firefox users who have this add-on installed.","why":"This add-on is malware that hijacks users' Facebook accounts and posts spam on their behalf. ","name":"Facebook Pluggets Plugin (malware)","created":"2013-08-09T13:12:14Z"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"3a63fd92-9290-02fb-a2e8-bc1b4424201a","last_modified":1480349207535},{"guid":"344141-fasf9jas08hasoiesj9ia8ws@jetpack","prefs":[],"schema":1480349193877,"blockID":"i1038","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1211169","who":"All users who have this add-on installed.","why":"This is a malicious add-on that hijacks Facebook accounts.","name":"Video Plugin (malware)","created":"2015-10-05T16:42:09Z"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"f7986b7b-9b5a-d372-8147-8b4bd6f5a29b","last_modified":1480349207485},{"guid":"meOYKQEbBBjH5Ml91z0p9Aosgus8P55bjTa4KPfl@jetpack","prefs":[],"schema":1480349193877,"blockID":"i998","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1201164","who":"All users who have this add-on installed.","why":"This is a malicious add-on that hijacks Facebook accounts.","name":"Smooth Player (malware)","created":"2015-09-07T13:54:25Z"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"30c3e511-9e8d-15ee-0867-d61047e56515","last_modified":1480349207370},{"guid":"{8dc5c42e-9204-2a64-8b97-fa94ff8a241f}","prefs":["browser.startup.homepage","browser.search.defaultenginename"],"schema":1480349193877,"blockID":"i770","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1088726","who":"All Firefox users who have this add-on installed.","why":"This add-on is silently installed and is considered malware, in violation of the Add-on Guidelines.","name":"Astrmenda Search","created":"2014-10-30T14:52:52Z"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"8a9c7702-0349-70d6-e64e-3a666ab084c6","last_modified":1480349207320},{"guid":"savingsslider@mybrowserbar.com","prefs":[],"schema":1480349193877,"blockID":"i752","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=963788","who":"All Firefox users who have this add-on installed. Users who wish to continue using it can enable it in the Add-ons Manager.","why":"This add-on is silently installed into users' systems, in violation of the Add-on Guidelines.","name":"Slick Savings","created":"2014-10-17T16:18:12Z"},"enabled":true,"versionRange":[{"severity":1,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"9b1faf30-5725-7847-d993-b5cdaabc9829","last_modified":1480349207290},{"guid":"youtubeunblocker__web@unblocker.yt","prefs":[],"schema":1480349193877,"blockID":"i1129","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1251911","who":"All users who have this add-on installed.","why":"The add-on has a mechanism that updates certain configuration files from the developer\u2019s website. This mechanism has a vulnerability that is being exploited through this website (unblocker.yt) to change security settings in Firefox and install malicious add-ons.","name":"YouTube Unblocker","created":"2016-03-01T21:20:05Z"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"aa246b36-0a80-81e3-2129-4847e872d5fe","last_modified":1480349207262},{"guid":"toolbar@ask.com","prefs":[],"schema":1480349193877,"blockID":"i612","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1024719","who":"All Firefox users who have these versions of the Ask Toolbar installed. Users who wish to continue using it can enable it in the Add-ons Manager.\r\n","why":"Certain old versions of the Ask Toolbar are causing problems to users when trying to open new tabs. Using more recent versions of the Ask Toolbar should also fix this problem.\r\n","name":"Ask Toolbar (old Avira Security Toolbar bundle)","created":"2014-06-12T14:23:00Z"},"enabled":true,"versionRange":[{"severity":1,"maxVersion":"3.15.24.*","minVersion":"3.15.24","targetApplication":[]}],"id":"e0ff9df4-60e4-dbd0-8018-57f395e6610a","last_modified":1480349206818},{"guid":"{1e4ea5fc-09e5-4f45-a43b-c048304899fc}","prefs":[],"schema":1480349193877,"blockID":"i812","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1073810","who":"All Firefox users who have this add-on installed.","why":"This add-on is silently installed into users' systems. It uses very unsafe practices to load its code, and leaks information of all web browsing activity. These are all violations of the Add-on Guidelines.","name":"Great Finder","created":"2015-01-06T13:22:39Z"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"1ea40b9f-2423-a2fd-a5e9-4ec1df2715f4","last_modified":1480349206784},{"guid":"psid-vhvxQHMZBOzUZA@jetpack","prefs":[],"schema":1480349193877,"blockID":"i70","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=730059","who":"All Firefox users who have installed this add-on.","why":"Add-on spams Facebook accounts and blocks Facebook warnings.","name":"PublishSync (malware)","created":"2012-02-23T13:44:41Z"},"enabled":true,"versionRange":[{"severity":1,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"f1528b02-7cef-0e80-f747-8bbf1f0f2f06","last_modified":1480349206758},{"guid":"{B18B1E5C-4D81-11E1-9C00-AFEB4824019B}","prefs":[],"schema":1480349193877,"blockID":"i447","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=788838","who":"All Firefox users who have this add-on installed. The add-on can be enabled again in the Add-ons Manager.","why":"This add-on is installed silently, in violation of our Add-on Guidelines.","name":"My Smart Tabs","created":"2013-09-06T16:00:19Z"},"enabled":true,"versionRange":[{"severity":1,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"40332fae-0444-a141-ade9-8d9e50370f56","last_modified":1480349206733},{"guid":"crossriderapp8812@crossrider.com","prefs":[],"schema":1480349193877,"blockID":"i314","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=835665","who":"All Firefox users who have this add-on installed.","why":"This add-on doesn't follow our Add-on Guidelines, bypassing our third party install opt-in screen. Users who wish to continue using this extension can enable it in the Add-ons Manager.","name":"Coupon Companion","created":"2013-03-06T14:14:51Z"},"enabled":true,"versionRange":[{"severity":1,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"06c07e28-0a34-e5ee-e724-491a2f6ce586","last_modified":1480349206708},{"guid":"/^(ffxtlbr@mixidj\\.com|{c0c2693d-2ee8-47b4-9df7-b67a0ee31988}|{67097627-fd8e-4f6b-af4b-ecb65e50112e}|{f6f0f973-a4a3-48cf-9a7a-b7a69c30d71a}|{a3d0e35f-f1da-4ccb-ae77-e9d27777e68d}|{1122b43d-30ee-403f-9bfa-3cc99b0caddd})$/","prefs":[],"schema":1480349193877,"blockID":"i540","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=963819","who":"All Firefox users who have this add-on installed.","why":"This add-on has been repeatedly blocked before and keeps showing up with new add-on IDs, in violation of the Add-on Guidelines.","name":"MixiDJ (malware)","created":"2014-01-28T14:07:56Z"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"4c03ddda-bb3f-f097-0a7b-b7b77b050584","last_modified":1480349206678},{"guid":"hansin@topvest.id","prefs":[],"schema":1480349193877,"blockID":"i836","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1130406","who":"All Firefox users who have this add-on installed.","why":"This is a malicious add-on that hijacks Facebook accounts.","name":"Inside News (malware)","created":"2015-02-06T14:17:39Z"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"0945a657-f28d-a02c-01b2-5115b3f90d7a","last_modified":1480349206628},{"guid":"lfind@nijadsoft.net","prefs":[],"schema":1480349193877,"blockID":"i358","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=874131","who":"All Firefox users who have this add-on installed.","why":"This add-on is silently installed, violating our Add-on Guidelines.\r\n\r\nUsers who wish to continue using this add-on can enable it in the Add-ons Manager.","name":"Lyrics Finder","created":"2013-05-24T14:09:47Z"},"enabled":true,"versionRange":[{"severity":1,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"2307f11c-6216-0dbf-a464-b2921055ce2b","last_modified":1480349206603},{"guid":"plugin@getwebcake.com","prefs":[],"schema":1480349193877,"blockID":"i484","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=938264","who":"All Firefox users who have this add-on installed.","why":"This add-on violates the Add-on Guidelines and is broadly considered to be malware. Users who wish to continue using this add-on can enable it in the Add-ons Manager.","name":"WebCake","created":"2013-11-14T09:55:24Z"},"enabled":true,"versionRange":[{"severity":1,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"2865addd-da1c-20c4-742f-6a2270da2e78","last_modified":1480349206578},{"guid":"{c0c2693d-2ee8-47b4-9df7-b67a0ee31988}","prefs":[],"schema":1480349193877,"blockID":"i354","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=837838","who":"All Firefox users who have this add-on installed.","why":"This add-on is silently installed, violating our Add-on Guidelines.\r\n\r\nUsers who wish to continue using this add-on can enable it in the Add-ons Manager.","name":"Mixi DJ","created":"2013-05-23T14:31:21Z"},"enabled":true,"versionRange":[{"severity":1,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"03a745c3-0ee7-e262-ba31-62d4f78ddb62","last_modified":1480349206525},{"guid":"/^({7316e43a-3ebd-4bb4-95c1-9caf6756c97f}|{0cc09160-108c-4759-bab1-5c12c216e005}|{ef03e721-f564-4333-a331-d4062cee6f2b}|{465fcfbb-47a4-4866-a5d5-d12f9a77da00}|{7557724b-30a9-42a4-98eb-77fcb0fd1be3}|{b7c7d4b0-7a84-4b73-a7ef-48ef59a52c3b})$/","prefs":[],"schema":1480349193877,"blockID":"i520","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=947485","who":"All Firefox users who have this add-on installed. Users who wish to continue using it can enable it in the Add-ons Manager.","why":"The installer that includes this add-on violates the Add-on Guidelines by being silently installed and using multiple add-on IDs.","name":"appbario7","created":"2013-12-20T13:11:46Z"},"enabled":true,"versionRange":[{"severity":1,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"e3901c48-9c06-fecb-87d3-efffd9940c22","last_modified":1480349206491},{"guid":"{354dbb0a-71d5-4e9f-9c02-6c88b9d387ba}","prefs":[],"schema":1480349193877,"blockID":"i538","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=964081","who":"All Firefox users who have this add-on installed.","why":"This is a malicious add-on that hijacks Facebook accounts.","name":"Show Mask ON (malware)","created":"2014-01-27T10:13:17Z"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"aad90253-8921-b5df-3658-45a70d75f3d7","last_modified":1480349206465},{"guid":"{8E9E3331-D360-4f87-8803-52DE43566502}","prefs":[],"schema":1480349193877,"blockID":"i461","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=906071","who":"All Firefox users who have this add-on installed. Users who wish to continue using it can enable it in the Add-ons Manager.","why":"This is a companion add-on for the SweetPacks Toolbar which is blocked due to guideline violations.","name":"Updater By SweetPacks","created":"2013-10-17T16:10:51Z"},"enabled":true,"versionRange":[{"severity":1,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"ae8cca6e-4258-545f-9a69-3d908264a701","last_modified":1480349206437},{"guid":"info@bflix.info","prefs":[],"schema":1480349193877,"blockID":"i172","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=806802","who":"All Firefox users who have this add-on installed.","why":"These are malicious add-ons that are distributed with a trojan and negatively affect web browsing.","name":"Bflix (malware)","created":"2012-10-30T13:39:22Z"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"7a9062f4-218d-51d2-9b8c-b282e6eada4f","last_modified":1480349206384},{"guid":"{dff137ae-1ffd-11e3-8277-b8ac6f996f26}","prefs":[],"schema":1480349193877,"blockID":"i450","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=917861","who":"All Firefox users who have this add-on installed.","why":"This is add-on is malware that silently redirects popular search queries to a third party.","name":"Addons Engine (malware)","created":"2013-09-18T16:19:34Z"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"8e583fe4-1c09-9bea-2473-faecf3260685","last_modified":1480349206312},{"guid":"12x3q@3244516.com","prefs":[],"schema":1480349193877,"blockID":"i493","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=939254","who":"All Firefox users who have this add-on installed.","why":"This add-on appears to be malware and is installed silently in violation of the Add-on Guidelines.","name":"BetterSurf (malware)","created":"2013-12-02T12:49:36Z"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"af2a9e74-3753-9ff1-d899-5d1e79ed3dce","last_modified":1480349206286},{"guid":"{20AD702C-661E-4534-8CE9-BA4EC9AD6ECC}","prefs":[],"schema":1480349193877,"blockID":"i626","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1027886","who":"All Firefox users who have this add-on installed.","why":"This add-on is probably silently installed, and is causing significant stability issues for users, in violation of the Add-on Guidelines.","name":"V-Bates","created":"2014-06-19T15:16:38Z"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"9b9ccabe-8f9a-e3d1-a689-1aefba1f33b6","last_modified":1480349206261},{"guid":"{c5e48979-bd7f-4cf7-9b73-2482a67a4f37}","prefs":[],"schema":1480349193877,"blockID":"i736","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1080842","who":"All Firefox users who have this add-on installed. Users who wish to continue using it can enable it in the Add-ons Manager.","why":"This add-on is silently installed into users' systems, in violation of the Add-on Guidelines.","name":"ClearThink","created":"2014-10-17T15:22:41Z"},"enabled":true,"versionRange":[{"severity":1,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"6e8b3e4f-2f59-cde3-e6d2-5bc6e216c506","last_modified":1480349206231},{"guid":"{41339ee8-61ed-489d-b049-01e41fd5d7e0}","prefs":[],"schema":1480349193877,"blockID":"i810","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1073810","who":"All Firefox users who have this add-on installed.","why":"This add-on is silently installed into users' systems. It uses very unsafe practices to load its code, and leaks information of all web browsing activity. These are all violations of the Add-on Guidelines.","name":"FireWeb","created":"2014-12-23T10:32:26Z"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"a35f2ca6-aec4-c01d-170e-650258ebcd2c","last_modified":1480349206165},{"guid":"jid0-l9BxpNUhx1UUgRfKigWzSfrZqAc@jetpack","prefs":[],"schema":1480349193877,"blockID":"i640","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1036640","who":"All Firefox users who have this add-on installed.","why":"This add-on attempts to gather private user data and send it to a remote location. It doesn't appear to be very effective at it, but its malicious nature is undeniable.","name":"Bitcoin Mining Software","created":"2014-07-09T14:35:40Z"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"8fe3c35e-1a6f-a89a-fa96-81bda3b71db1","last_modified":1480349206133},{"guid":"{845cab51-d8d2-472f-8bd9-2b44642d97c2}","prefs":[],"schema":1480349193877,"blockID":"i460","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=927456","who":"All Firefox users who have this add-on installed.","why":"This add-on is silently installed and handles users' settings, violating some of the Add-on Guidelines. Users who wish to continue using this add-on can enable it in the Add-ons Manager.","name":"Vafmusic9","created":"2013-10-17T15:50:38Z"},"enabled":true,"versionRange":[{"severity":1,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"8538ccb4-3b71-9858-3f6d-c0fff7af58b0","last_modified":1480349205746},{"guid":"SpecialSavings@SpecialSavings.com","prefs":[],"schema":1480349193877,"blockID":"i676","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=881511","who":"All Firefox users who have this add-on installed. Users who wish to continue using this add-on can enable it in the Add-ons Manager.","why":"This is add-on is generally considered to be unwanted and is probably silently installed, in violation of the Add-on Guidelines.","name":"SpecialSavings","created":"2014-07-22T16:31:56Z"},"enabled":true,"versionRange":[{"severity":1,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"5e921810-fc3a-0729-6749-47e38ad10a22","last_modified":1480349205688},{"guid":"afurladvisor@anchorfree.com","prefs":[],"schema":1480349193877,"blockID":"i434","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=844945","who":"All Firefox users who have this add-on installed.","why":"This add-on bypasses the external install opt in screen in Firefox, violating the Add-on Guidelines. Users who wish to continue using this add-on can enable it in the Add-ons Manager.","name":"Hotspot Shield Helper","created":"2013-08-09T11:26:11Z"},"enabled":true,"versionRange":[{"severity":1,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"083585eb-d7e7-e228-5fbf-bf35c52044e4","last_modified":1480349205645},{"guid":"addonhack@mozilla.kewis.ch","prefs":[],"schema":1480349193877,"blockID":"i994","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1200848","who":"All users who have this add-on installed.","why":"This add-on is a proof of concept of malicious behavior in an add-on. In itself it doesn't cause any harm, but it still needs to be blocked for security reasons.","name":"Addon Hack","created":"2015-09-01T15:32:36Z"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"81f75571-ca2a-0e50-a925-daf2037ce63c","last_modified":1480349205584},{"guid":"info@thebflix.com","prefs":[],"schema":1480349193877,"blockID":"i174","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=806802","who":"All Firefox users who have these add-ons installed.","why":"These are malicious add-ons that are distributed with a trojan and negatively affect web browsing.","name":"Bflix (malware)","created":"2012-10-30T13:40:31Z"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"811a61d4-9435-133e-6262-fb72486c36b0","last_modified":1480349205526},{"guid":"{EEE6C361-6118-11DC-9C72-001320C79847}","prefs":[],"schema":1480349193877,"blockID":"i392","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=881447","who":"All Firefox users who have this add-on installed. Users who wish to continue using it can enable it in the Add-ons Manager.","why":"This add-on changes search settings without user interaction, and fails to reset them after it is removed. This violates our Add-on Guidelines.","name":"SweetPacks Toolbar","created":"2013-06-25T12:38:45Z"},"enabled":true,"versionRange":[{"severity":1,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"c1dc6607-4c0a-4031-9f14-70ef1ae1edcb","last_modified":1480349205455},{"guid":"/^(4cb61367-efbf-4aa1-8e3a-7f776c9d5763@cdece6e9-b2ef-40a9-b178-291da9870c59\\.com|0efc9c38-1ec7-49ed-8915-53a48b6b7600@e7f17679-2a42-4659-83c5-7ba961fdf75a\\.com|6be3335b-ef79-4b0b-a0ba-b87afbc6f4ad@6bbb4d2e-e33e-4fa5-9b37-934f4fb50182\\.com)$/","prefs":[],"schema":1480349193877,"blockID":"i531","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=949672","who":"All Firefox users who have this add-on installed. Users who wish to continue using it can enable it in the Add-ons Manager.","why":"The installer that includes this add-on violates the Add-on Guidelines by making changes that can't be easily reverted and using multiple IDs.","name":"Feven","created":"2013-12-20T15:01:22Z"},"enabled":true,"versionRange":[{"severity":1,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"46aa79a9-d329-f713-d4f2-07d31fe7071e","last_modified":1480349205287},{"guid":"afext@anchorfree.com","prefs":[],"schema":1480349193877,"blockID":"i466","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=933988","who":"All Firefox users who have this add-on installed.","why":"This add-on doesn't respect user choice, violating the Add-on Guidelines. Users who wish to continue using this add-on can enable it in the Add-ons Manager.","name":"Hotspot Shield Extension","created":"2013-11-07T13:32:41Z"},"enabled":true,"versionRange":[{"severity":1,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"8176f879-bd73-5468-e908-2d7cfc115ac2","last_modified":1480349205108},{"guid":"{FCE04E1F-9378-4f39-96F6-5689A9159E45}","prefs":[],"schema":1480349193877,"blockID":"i920","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1173154","who":"All Firefox users who have this add-on installed in Firefox 39 and above.\r\n","why":"Certain versions of this extension are causing startup crashes in Firefox 39 and above.\r\n","name":"RealPlayer Browser Record Plugin","created":"2015-06-09T15:26:47Z"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0","targetApplication":[{"guid":"{ec8030f7-c20a-464f-9b0e-13a3a9e97384}","maxVersion":"*","minVersion":"39.0a1"}]}],"id":"eb191ff0-20f4-6e04-4344-d880af4faf51","last_modified":1480349204978},{"guid":"{9CE11043-9A15-4207-A565-0C94C42D590D}","prefs":[],"schema":1480349193877,"blockID":"i503","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=947384","who":"All Firefox users who have this add-on installed.","why":"This is a malicious extension that uses a deceptive name to stay in users' systems.","name":"XUL Cache (malware)","created":"2013-12-06T11:58:38Z"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"dcdae267-8d3a-5671-dff2-f960febbbb20","last_modified":1480349204951},{"guid":"/^[a-z0-9]+@foxysecure[a-z0-9]*\\.com$/","prefs":[],"schema":1480349193877,"blockID":"i766","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1088615","who":"All Firefox users who have this add-on installed. Users who wish to continue using this add-on can enable it in the Add-ons Manager.","why":"This add-on is silently installed into users' systems, in violation of the Add-on Guidelines.","name":"Fox Sec 7","created":"2014-10-30T14:22:18Z"},"enabled":true,"versionRange":[{"severity":1,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"503fbd7c-04cd-65f3-9d0e-3ecf427b4a8f","last_modified":1480349204925},{"guid":"/^(jid1-W4CLFIRExukJIFW@jetpack|jid1-W4CLFIRExukJIFW@jetpack_1|jid1-W3CLwrP[a-z]+@jetpack)$/","prefs":[],"schema":1480349193877,"blockID":"i1078","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1240561","who":"All Firefox users who have this add-on installed.","why":"This is a malicious extension that tries to pass itself for the Adobe Flash Player and hides itself in the Add-ons Manager.","name":"Adobe Flash Player (malware)","created":"2016-01-18T10:31:51Z"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"b026fe67-ec77-a240-2fa1-e78f581a6fe4","last_modified":1480349204899},{"guid":"{0153E448-190B-4987-BDE1-F256CADA672F}","prefs":[],"schema":1480349193877,"blockID":"i914","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1170633","who":"All Firefox users who have this add-on installed in Firefox 39 and above.","why":"Certain versions of this extension are causing startup crashes in Firefox 39 and above.","name":"RealPlayer Browser Record Plugin","created":"2015-06-02T09:56:58Z"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0","targetApplication":[{"guid":"{ec8030f7-c20a-464f-9b0e-13a3a9e97384}","maxVersion":"*","minVersion":"39.0a1"}]}],"id":"2bfe0d89-e458-9d0e-f944-ddeaf8c4db6c","last_modified":1480349204871},{"guid":"{77beece6-3997-403a-92fa-0055bfcf88e5}","prefs":[],"schema":1480349193877,"blockID":"i452","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=916966","who":"All Firefox users who have this add-on installed.","why":"This add-on doesn't follow our Add-on Guidelines, manipulating settings without reverting them on removal. Users who wish to continue using this add-on can enable it in the Add-ons Manager.","name":"Entrusted11","created":"2013-09-18T16:34:58Z"},"enabled":true,"versionRange":[{"severity":1,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"d348f91f-caeb-a803-dfd9-fd5d285aa0fa","last_modified":1480349204844},{"guid":"dealcabby@jetpack","prefs":[],"schema":1480349193877,"blockID":"i222","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=811435","who":"All Firefox users who have this add-on installed.","why":"This add-on is silently side-installed with other software, injecting advertisements in Firefox.","name":"DealCabby","created":"2012-11-29T16:20:24Z"},"enabled":true,"versionRange":[{"severity":1,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"6585f0bd-4f66-71e8-c565-d9762c5c084a","last_modified":1480349204818},{"guid":"{3c9a72a0-b849-40f3-8c84-219109c27554}","prefs":[],"schema":1480349193877,"blockID":"i510","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=951301","who":"All Firefox users who have this add-on installed.","why":"This add-on is malware that hijacks users' Facebook accounts.","name":"Facebook Haber (malware)","created":"2013-12-17T14:27:13Z"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"7cfa3d0b-0ab2-5e3a-8143-1031c180e32f","last_modified":1480349204778},{"guid":"{4ED1F68A-5463-4931-9384-8FFF5ED91D92}","prefs":[],"schema":1480349193877,"blockID":"i1245","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1286368","who":"All users who have McAfee SiteAdvisor lower than 4.0. \r\n\r\nTo resolve this issue, users will need to uninstall McAfee SiteAdvisor/WebAdvisor, reboot the computer, and then reinstall McAfee SiteAdvisor/WebAdvisor. \r\n\r\nFor detailed instructions, please refer to the McAfee support knowledge base.","why":"Old versions of McAfee SiteAdvisor cause startup crashes starting with Firefox 48.0 beta.","name":"McAfee SiteAdvisor lower than 4.0","created":"2016-07-14T21:24:02Z"},"enabled":true,"versionRange":[{"severity":1,"maxVersion":"3.9.9","minVersion":"0","targetApplication":[]}],"id":"d727d8c5-3329-c98a-7c7e-38b0813ca516","last_modified":1480349204748},{"guid":"{2aab351c-ad56-444c-b935-38bffe18ad26}","prefs":[],"schema":1480349193877,"blockID":"i500","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=946087","who":"All Firefox users who have this add-on installed.","why":"This is a malicious Firefox extension that uses a deceptive name and hijacks users' Facebook accounts.","name":"Adobe Photo (malware)","created":"2013-12-04T15:29:44Z"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"f7a76d34-ddcd-155e-9fae-5967bd796041","last_modified":1480349204716},{"guid":"jid1-4P0kohSJxU1qGg@jetpack","prefs":[],"schema":1480349193877,"blockID":"i488","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=942935","who":"All Firefox users who have version 1.2.50 of the Hola extension. Updating to the latest version should remove the block.","why":"Version 1.2.50 of the Hola extension is causing frequent crashes in Firefox. All users are strongly recommended to update to the latest version, which shouldn't have this problem.","name":"Hola, version 1.2.50","created":"2013-11-25T12:14:57Z"},"enabled":true,"versionRange":[{"severity":1,"maxVersion":"1.2.50","minVersion":"1.2.50","targetApplication":[]}],"id":"5c7f1635-b39d-4278-5f95-9042399c776e","last_modified":1480349204668},{"guid":"{0A92F062-6AC6-8180-5881-B6E0C0DC2CC5}","prefs":["browser.startup.homepage","browser.search.defaultenginename"],"schema":1480349193877,"blockID":"i864","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1131220","who":"All users who have this add-on installed. Users who wish to continue using the add-on can enable it in the Add-ons Manager.","why":"This add-on is silently installed into users' systems and makes unwanted settings changes, in violation of our Add-on Guidelines.","name":"BlockAndSurf","created":"2015-02-26T12:56:19Z"},"enabled":true,"versionRange":[{"severity":1,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"acb16d1c-6274-93a3-7c1c-7ed36ede64a9","last_modified":1480349204612},{"guid":"jid0-Y6TVIzs0r7r4xkOogmJPNAGFGBw@jetpack","prefs":[],"schema":1480349193877,"blockID":"i322","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=847018","who":"All users who have this add-on installed.","why":"This extension is malware, installed pretending to be the Flash Player plugin.","name":"Flash Player (malware)","created":"2013-03-22T14:39:40Z"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"54df22cd-19ce-a7f0-63cc-ffe3113748b9","last_modified":1480349204532},{"guid":"trackerbird@bustany.org","prefs":[],"schema":1480349193877,"blockID":"i986","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1189264","who":"All Thunderbird users who have this version of the add-on installed on Thunderbird 38.0a2 and above.","why":"This add-on is causing consistent crashes on Thunderbird 38.0a2 and above.","name":"trackerbird 1.2.6","created":"2015-08-17T15:56:04Z"},"enabled":true,"versionRange":[{"severity":1,"maxVersion":"1.2.6","minVersion":"1.2.6","targetApplication":[{"guid":"{3550f703-e582-4d05-9a08-453d09bdfdc6}","maxVersion":"*","minVersion":"38.0a2"}]}],"id":"bb1c699e-8790-4528-0b6d-4f83b7a3152d","last_modified":1480349204041},{"guid":"{0134af61-7a0c-4649-aeca-90d776060cb3}","prefs":[],"schema":1480349193877,"blockID":"i448","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=912746","who":"All Firefox users who have this add-on installed.","why":"This add-on doesn't follow our Add-on Guidelines. It manipulates settings without reverting them on removal. Users who wish to continue using this add-on can enable it in the Add-ons Manager.","name":"KeyBar add-on","created":"2013-09-13T16:15:39Z"},"enabled":true,"versionRange":[{"severity":1,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"cf428416-4974-8bb4-7928-c0cb2cfe7957","last_modified":1480349203968},{"guid":"/^(firefox@vebergreat\\.net|EFGLQA@78ETGYN-0W7FN789T87\\.COM)$/","prefs":[],"schema":1480349193877,"blockID":"i564","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=974104","who":"All Firefox users who have these add-ons installed. If you wish to continue using these add-ons, you can enable them in the Add-ons Manager.","why":"These add-ons are silently installed by the Free Driver Scout installer, in violation of our Add-on Guidelines.","name":"veberGreat and vis (Free Driver Scout bundle)","created":"2014-03-05T13:02:57Z"},"enabled":true,"versionRange":[{"severity":1,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"487538f1-698e-147e-6395-986759ceed7e","last_modified":1480349203902},{"guid":"69ffxtbr@PackageTracer_69.com","prefs":["browser.startup.homepage","browser.search.defaultenginename"],"schema":1480349193877,"blockID":"i882","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1153001","who":"All Firefox users who have this add-on installed. Users who wish to continue using it can enable it in the Add-ons Manager.","why":"This add-on appears to be malware, hijacking user's settings, in violation of the Add-on Guidelines.","name":"PackageTracer","created":"2015-04-10T16:18:35Z"},"enabled":true,"versionRange":[{"severity":1,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"0d37b4e0-3c60-fdad-dd8c-59baff6eae87","last_modified":1480349203836},{"guid":"{ACAA314B-EEBA-48e4-AD47-84E31C44796C}","prefs":[],"schema":1480349193877,"blockID":"i496","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=945530","who":"All Firefox users who have this add-on installed. Users who wish to continue using it can enable it in the Add-ons Manager.","why":"The installer that includes this add-on violates the Add-on Guidelines by making settings changes that can't be easily reverted.","name":"DVDVideoSoft Menu","created":"2013-12-03T16:07:59Z"},"enabled":true,"versionRange":[{"severity":1,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"70d2c912-8d04-8065-56d6-d793b13d5f67","last_modified":1480349203779},{"guid":"jid1-4vUehhSALFNqCw@jetpack","prefs":[],"schema":1480349193877,"blockID":"i632","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1033002","who":"All Firefox users who have this version of the add-on installed.","why":"Version 100.7 of the YouTube Plus Plus extension isn't developed by the original developer, and is likely malicious in nature. It violates the Add-on Guidelines for reusing an already existent ID.","name":"YouTube Plus Plus 100.7","created":"2014-07-01T13:16:55Z"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"100.7","minVersion":"100.7","targetApplication":[]}],"id":"8bef6026-6697-99cd-7c1f-812877c4211d","last_modified":1480349203658},{"guid":"{a9bb9fa0-4122-4c75-bd9a-bc27db3f9155}","prefs":[],"schema":1480349193877,"blockID":"i404","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=835678","who":"All Firefox users who have this add-on installed. Users who wish to continue using it can enable it in the Add-ons Manager.","why":"This group of add-ons is silently installed, bypassing our install opt-in screen. This violates our Add-on Guidelines.","name":"Searchqu","created":"2013-06-25T15:16:43Z"},"enabled":true,"versionRange":[{"severity":1,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"fb7a1dc7-16a0-4f70-8289-4df494e0d0fa","last_modified":1480349203633},{"guid":"P2@D.edu","prefs":[],"schema":1480349193877,"blockID":"i850","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1128269","who":"All Firefox users who have this add-on installed.","why":"This add-on is silently installed and performs unwanted actions, in violation of the Add-on Guidelines.","name":"unIsaless","created":"2015-02-09T15:29:21Z"},"enabled":true,"versionRange":[{"severity":1,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"49536a29-fc7e-9fd0-f415-e15ac090fa56","last_modified":1480349203605},{"guid":"linksicle@linksicle.com","prefs":[],"schema":1480349193877,"blockID":"i472","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=935779","who":"All Firefox users who have this add-on installed.","why":"This add-on is part of a malicious Firefox installer bundle.","name":"Installer bundle (malware)","created":"2013-11-07T15:38:38Z"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"9b5b15b3-6da7-cb7c-3c44-30b4fe079d52","last_modified":1480349203581},{"guid":"{377e5d4d-77e5-476a-8716-7e70a9272da0}","prefs":[],"schema":1480349193877,"blockID":"i398","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=835678","who":"All Firefox users who have this add-on installed. Users who wish to continue using it can enable it in the Add-ons Manager.","why":"This group of add-ons is silently installed, bypassing our install opt-in screen. This violates our Add-on Guidelines.","name":"Searchqu","created":"2013-06-25T15:15:46Z"},"enabled":true,"versionRange":[{"severity":1,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"ea94df32-2a85-23da-43f7-3fc5714530ec","last_modified":1480349203519},{"guid":"{4933189D-C7F7-4C6E-834B-A29F087BFD23}","prefs":[],"schema":1480349193877,"blockID":"i437","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=900695","who":"All Firefox users.","why":"This add-on is widely reported to be malware.","name":"Win32.SMSWebalta (malware)","created":"2013-08-09T15:14:27Z"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"cbef1357-d6bc-c8d3-7a82-44af6b1c390f","last_modified":1480349203486},{"guid":"{ADFA33FD-16F5-4355-8504-DF4D664CFE10}","prefs":[],"schema":1480349193877,"blockID":"i306","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=844972","who":"All Firefox users who have this add-on installed. Users who wish to continue using this add-on can enable it in the Add-ons Manager.","why":"This add-on is silently installed, bypassing our third-party opt-in screen, in violation of our Add-on Guidelines. It's also possible that it changes user settings without their consent.","name":"Nation Toolbar","created":"2013-02-28T12:56:48Z"},"enabled":true,"versionRange":[{"severity":1,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"017fd151-37ca-4646-4763-1d303fb918fa","last_modified":1480349203460},{"guid":"detgdp@gmail.com","prefs":["browser.startup.homepage","browser.search.defaultenginename"],"schema":1480349193877,"blockID":"i884","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1152614","who":"All Firefox users who have this add-on installed.","why":"This add-on appears to be malware, hijacking user settings, in violation of the Add-on Guidelines.","name":"Security Protection (malware)","created":"2015-04-10T16:21:34Z"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"1b5cc88e-499d-2a47-d793-982d4c05e6ee","last_modified":1480349203433},{"guid":"/^(67314b39-24e6-4f05-99f3-3f88c7cddd17@6c5fa560-13a3-4d42-8e90-53d9930111f9\\.com|ffxtlbr@visualbee\\.com|{7aeae561-714b-45f6-ace3-4a8aed6e227b}|{7093ee04-f2e4-4637-a667-0f730797b3a0}|{53c4024f-5a2e-4f2a-b33e-e8784d730938})$/","prefs":[],"schema":1480349193877,"blockID":"i514","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=947473","who":"All Firefox users who have this add-on installed. Users who wish to continue using it can enable it in the Add-ons Manager.","why":"The installer that includes this add-on violates the Add-on Guidelines by using multiple add-on IDs and making unwanted settings changes.","name":"VisualBee Toolbar","created":"2013-12-20T12:25:50Z"},"enabled":true,"versionRange":[{"severity":1,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"5f91eee1-7303-3f97-dfe6-1e897a156c7f","last_modified":1480349203408},{"guid":"FXqG@xeeR.net","prefs":["browser.startup.homepage"],"schema":1480349193877,"blockID":"i720","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1076771","who":"All Firefox users who have this add-on installed. Users who wish to continue using it can enable it in the Add-ons Manager.","why":"This add-on is silently installed into users' systems and changes settings without consent, in violation of the Add-on Guidelines.","name":"GoSSave","created":"2014-10-02T12:23:01Z"},"enabled":true,"versionRange":[{"severity":1,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"8ebbc061-a4ff-b75b-ec42-eb17c42a2956","last_modified":1480349203341},{"guid":"{87934c42-161d-45bc-8cef-ef18abe2a30c}","prefs":[],"schema":1480349193877,"blockID":"i547","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=798621","who":"All Firefox users who have this add-on installed. If you wish to continue using it, it can be enabled in the Add-ons Manager.","why":"This add-on is silently installed and makes various unwanted changes, in violation of the Add-on Guidelines.","name":"Ad-Aware Security Toolbar","created":"2014-01-30T12:42:01Z"},"enabled":true,"versionRange":[{"severity":1,"maxVersion":"3.7.9999999999","minVersion":"0","targetApplication":[]}],"id":"bcfbc502-24c2-4699-7435-e4837118f05a","last_modified":1480349203310},{"guid":"kallow@facebook.com","prefs":[],"schema":1480349193877,"blockID":"i495","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=945426","who":"All Firefox users who have this add-on installed.","why":"This is a malicious Firefox extension that uses a deceptive name and hijacks users' Facebook accounts.","name":"Facebook Security Service (malware)","created":"2013-12-02T15:09:42Z"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"1a2c37a9-e7cc-2d03-2043-098d36b8aca2","last_modified":1480349203247},{"guid":"support@lastpass.com","prefs":[],"schema":1480349193877,"blockID":"i1261","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1289907","who":"All users who install affected versions of this add-on - beta versions 4.0 to 4.1.20a from addons.mozilla.org or lastpass.com.","why":"LastPass have announced there are security issues that would allow a malicious website to perform some actions (e.g. deleting passwords) without the user's knowledge. Beta versions 4.0 to 4.1.20a of their add-on that were available from addons.mozilla.org are affected and Lastpass also distributed these versions direct from their website.","name":"LastPass addon","created":"2016-07-29T14:17:31Z"},"enabled":true,"versionRange":[{"severity":1,"maxVersion":"4.1.20a","minVersion":"4.0.0a","targetApplication":[]}],"id":"ffe94023-b4aa-87ac-962c-5beabe34b1a0","last_modified":1480349203208},{"guid":"008abed2-b43a-46c9-9a5b-a771c87b82da@1ad61d53-2bdc-4484-a26b-b888ecae1906.com","prefs":[],"schema":1480349193877,"blockID":"i528","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=949565","who":"All Firefox users who have this add-on installed. Users who wish to continue using it can enable it in the Add-ons Manager.","why":"The installer that includes this add-on violates the Add-on Guidelines by being silently installed.","name":"weDownload Manager Pro","created":"2013-12-20T14:40:58Z"},"enabled":true,"versionRange":[{"severity":1,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"da46065f-1c68-78f7-80fc-8ae07b5df68d","last_modified":1480349203131},{"guid":"{25dd52dc-89a8-469d-9e8f-8d483095d1e8}","prefs":[],"schema":1480349193877,"blockID":"i714","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1073810","who":"All Firefox users who have this add-on installed.","why":"This add-on is silently installed into users' systems. It uses very unsafe practices to load its code, and leaks information of all web browsing activity. These are all violations of the Add-on Guidelines.","name":"Web Counselor","created":"2014-10-01T15:36:06Z"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"e46c31ad-0ab3-e48a-47aa-9fa91b675fda","last_modified":1480349203066},{"guid":"{B1FC07E1-E05B-4567-8891-E63FBE545BA8}","prefs":[],"schema":1480349193877,"blockID":"i926","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1173154","who":"All Firefox users who have this add-on installed in Firefox 39 and above.\r\n","why":"Certain versions of this extension are causing startup crashes in Firefox 39 and above.\r\n","name":"RealPlayer Browser Record Plugin","created":"2015-06-09T15:28:46Z"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0","targetApplication":[{"guid":"{ec8030f7-c20a-464f-9b0e-13a3a9e97384}","maxVersion":"*","minVersion":"39.0a1"}]}],"id":"09868783-261a-ac24-059d-fc772218c1ba","last_modified":1480349202708},{"guid":"/^(torntv@torntv\\.com|trtv3@trtv\\.com|torntv2@torntv\\.com|e2fd07a6-e282-4f2e-8965-85565fcb6384@b69158e6-3c3b-476c-9d98-ae5838c5b707\\.com)$/","prefs":[],"schema":1480349193877,"blockID":"i529","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=949559","who":"All Firefox users who have this add-on installed. Users who wish to continue using it can enable it in the Add-ons Manager.","why":"The installer that includes this add-on violates the Add-on Guidelines by being silently installed.","name":"TornTV","created":"2013-12-20T14:46:03Z"},"enabled":true,"versionRange":[{"severity":1,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"040e5ec2-ea34-816a-f99f-93296ce845e8","last_modified":1480349202677},{"guid":"249911bc-d1bd-4d66-8c17-df533609e6d8@c76f3de9-939e-4922-b73c-5d7a3139375d.com","prefs":[],"schema":1480349193877,"blockID":"i532","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=949672","who":"All Firefox users who have this add-on installed. Users who wish to continue using it can enable it in the Add-ons Manager.","why":"The installer that includes this add-on violates the Add-on Guidelines by making changes that can't be easily reverted and using multiple IDs.","name":"Feven","created":"2013-12-20T15:02:01Z"},"enabled":true,"versionRange":[{"severity":1,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"d32b850d-82d5-b63d-087c-fb2041b2c232","last_modified":1480349202631},{"guid":"thefoxonlybetter@quicksaver","prefs":[],"schema":1480349193877,"blockID":"i704","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1053469","who":"All Firefox users who have any of these versions of the add-on installed.","why":"Certain versions of The Fox, Only Better weren't developed by the original developer, and are likely malicious in nature. This violates the Add-on Guidelines for reusing an already existent ID.","name":"The Fox, Only Better (malicious versions)","created":"2014-08-27T14:49:02Z"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"0.*","minVersion":"0","targetApplication":[]}],"id":"79ea6621-b414-17a4-4872-bfc4af7fd428","last_modified":1480349202588},{"guid":"{B40794A0-7477-4335-95C5-8CB9BBC5C4A5}","prefs":[],"schema":1480349193877,"blockID":"i429","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=899178","who":"All Firefox users who have this add-on installed.","why":"This add-on is malware that spreads spam through Facebook.","name":"Video Player 1.3 (malware)","created":"2013-07-30T14:31:17Z"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"d98b2b76-4082-3387-ae33-971d973fa278","last_modified":1480349202541},{"guid":"firefoxaddon@youtubeenhancer.com","prefs":[],"schema":1480349193877,"blockID":"i648","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1036757","who":"All Firefox users who have this version of the add-on installed.","why":"Certain versions of the YouTube Enhancer Plus extension weren't developed by the original developer, and are likely malicious in nature. This violates the Add-on Guidelines for reusing an already existent ID.","name":"YouTube Enhancer Plus, versions between 199.7.0 and 208.7.0","created":"2014-07-10T15:12:48Z"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"208.7.0","minVersion":"199.7.0","targetApplication":[]}],"id":"7e64d7fc-ff16-8687-dbd1-bc4c7dfc5097","last_modified":1480349202462},{"guid":"addon@defaulttab.com","prefs":[],"schema":1480349193877,"blockID":"i362","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=863387","who":"All users who have this add-on installed. Users who wish to enable it again can do so in the Add-ons Manager tab.","why":"Old versions of this add-on had been silently installed into users' systems, without showing the opt-in install page that is built into Firefox.","name":"Default Tab","created":"2013-06-06T12:57:29Z"},"enabled":true,"versionRange":[{"severity":1,"maxVersion":"1.4.4","minVersion":"0","targetApplication":[]}],"id":"df3fe753-5bae-bfb4-022b-6b6bfc534937","last_modified":1480349202429},{"guid":"{7D4F1959-3F72-49d5-8E59-F02F8AA6815D}","prefs":[],"schema":1480349193877,"blockID":"i394","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=881447","who":"All Firefox users who have this add-on installed. Users who wish to continue using it can enable it in the Add-ons Manager.","why":"This is a companion add-on for the SweetPacks Toolbar which is blocked due to guideline violations.","name":"Updater By SweetPacks","created":"2013-06-25T12:40:41Z"},"enabled":true,"versionRange":[{"severity":1,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"851c2b8e-ea19-3a63-eac5-f931a8da5d6e","last_modified":1480349202341},{"guid":"g@uzcERQ6ko.net","prefs":["browser.startup.homepage","browser.search.defaultenginename"],"schema":1480349193877,"blockID":"i776","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1076771","who":"All Firefox users who have this add-on installed. Users who wish to continue using it can enable it in the Add-ons Manager.","why":"This add-on is silently installed and changes user settings without consent, in violation of the Add-on Guidelines","name":"GoSave","created":"2014-10-31T16:23:36Z"},"enabled":true,"versionRange":[{"severity":1,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"ee1e1a44-b51b-9f12-819d-64c3e515a147","last_modified":1480349202307},{"guid":"ffxtlbr@incredibar.com","prefs":[],"schema":1480349193877,"blockID":"i318","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=812264","who":"All Firefox users who have this add-on installed.","why":"This add-on doesn't follow our Add-on Guidelines, bypassing our third party install opt-in screen. Users who wish to continue using this extension can enable it in the Add-ons Manager.","name":"IncrediBar","created":"2013-03-20T14:40:32Z"},"enabled":true,"versionRange":[{"severity":1,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"9e84b07c-84d5-c932-85f2-589713d7e380","last_modified":1480349202280},{"guid":"M1uwW0@47z8gRpK8sULXXLivB.com","prefs":[],"schema":1480349193877,"blockID":"i870","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1131159","who":"All users who have this add-on installed.","why":"This is a malicious add-on that goes by the the name \"Flash Player 11\".","name":"Flash Player 11 (malware)","created":"2015-03-04T14:34:08Z"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"71d961b2-37d1-d393-76f5-3afeef57e749","last_modified":1480349202252},{"guid":"jid1-qj0w91o64N7Eeg@jetpack","prefs":[],"schema":1480349193877,"blockID":"i650","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1036757","who":"All Firefox users who have this version of the add-on installed.","why":"Certain versions of the YouTube ALL HTML5 extension weren't developed by the original developer, and are likely malicious in nature. This violates the Add-on Guidelines for reusing an already existent ID.","name":"YouTube ALL HTML5, versions between 39.5.1 and 47.0.4","created":"2014-07-10T15:14:26Z"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"47.0.4","minVersion":"39.5.1","targetApplication":[]}],"id":"b30b1f7a-2a30-a6cd-fc20-6c9cb23c7198","last_modified":1480349202186},{"guid":"4zffxtbr-bs@VideoDownloadConverter_4z.com","prefs":[],"schema":1480349193877,"blockID":"i507","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=949266","who":"All Firefox users who have this add-on installed.","why":"Certain versions of this add-on contains an executable that is flagged by multiple tools as malware. Newer versions no longer use it.","name":"VideoDownloadConverter","created":"2013-12-12T15:37:23Z"},"enabled":true,"versionRange":[{"severity":1,"maxVersion":"5.75.3.25126","minVersion":"0","targetApplication":[]}],"id":"0a0f106a-ecc6-c537-1818-b36934943e91","last_modified":1480349202156},{"guid":"hdv@vovcacik.addons.mozilla.org","prefs":[],"schema":1480349193877,"blockID":"i656","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1036757","who":"All Firefox users who have this version of the add-on installed.","why":"Certain versions of the High Definition Video extension weren't developed by the original developer, and are likely malicious in nature. This violates the Add-on Guidelines for reusing an already existent ID.","name":"High Definition Video, version 102.0","created":"2014-07-10T15:22:59Z"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"102.0","minVersion":"102.0","targetApplication":[]}],"id":"972249b2-bba8-b508-2ead-c336631135ac","last_modified":1480349202125},{"guid":"@video_downloader_pro","prefs":[],"schema":1480349193877,"blockID":"i1265","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1298335","who":"Users of versions of 1.2.1 to 1.2.5 inclusive.","why":"Versions 1.2.1 to 1.2.5 of Video Downloader Pro included code that violated our polices - affected versions send every visited url to a remote server without the user's consent. Versions older than 1.2.1 and more recent than 1.2.5 are okay.","name":"Video Downloader Pro","created":"2016-08-26T18:26:39Z"},"enabled":true,"versionRange":[{"severity":1,"maxVersion":"1.2.5","minVersion":"1.2.1","targetApplication":[]}],"id":"ff9c8def-7d50-66b4-d42a-f9a4b04bd224","last_modified":1480349202099},{"guid":"contato@facefollow.net","prefs":[],"schema":1480349193877,"blockID":"i509","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=950846","who":"All Firefox users who have this add-on installed.","why":"This add-on spams users' Facebook accounts.","name":"Face follow","created":"2013-12-16T16:15:15Z"},"enabled":true,"versionRange":[{"severity":1,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"56f15747-af8c-342c-6877-a41eeacded84","last_modified":1480349202067},{"guid":"wecarereminder@bryan","prefs":[],"schema":1480349193877,"blockID":"i666","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=818614","who":"All Firefox users who have this add-on installed. Users who wish to continue using it can enable it in the Add-ons Manager.","why":"This add-on is being silently installed by various software packages, in violation of the Add-on Guidelines.","name":"We-Care Reminder","created":"2014-07-10T16:18:36Z"},"enabled":true,"versionRange":[{"severity":1,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"51e0ead7-144c-c1f4-32f2-25fc5fcde870","last_modified":1480349202039},{"guid":"/^({83a8ce1b-683c-4784-b86d-9eb601b59f38}|{ef1feedd-d8da-4930-96f1-0a1a598375c6}|{79ff1aae-701f-4ca5-aea3-74b3eac6f01b}|{8a184644-a171-4b05-bc9a-28d75ffc9505}|{bc09c55d-0375-4dcc-836e-0e3c8addfbda}|{cef81415-2059-4dd5-9829-1aef3cf27f4f})$/","prefs":[],"schema":1480349193877,"blockID":"i526","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=949566","who":"All Firefox users who have this add-on installed. Users who wish to continue using it can enable it in the Add-ons Manager.","why":"The installer that includes this add-on violates the Add-on Guidelines by making changes that can't be easily reverted and uses multiple IDs.","name":"KeyBar add-on","created":"2013-12-20T14:12:31Z"},"enabled":true,"versionRange":[{"severity":1,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"9dfa4e92-bbf2-66d1-59a9-51402d1d226c","last_modified":1480349202010},{"guid":"{d9284e50-81fc-11da-a72b-0800200c9a66}","prefs":[],"schema":1480349193877,"blockID":"i806","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1106948","who":"All Firefox users who have this add-on installed. Users who wish to continue using it can enable the add-on in the Add-on Manager.","why":"Starting with Firefox 34, current versions of the Yoono add-on cause all tabs to appear blank.","name":"Yoono","created":"2014-12-16T08:35:41Z"},"enabled":true,"versionRange":[{"severity":1,"maxVersion":"7.7.34","minVersion":"0","targetApplication":[{"guid":"{ec8030f7-c20a-464f-9b0e-13a3a9e97384}","maxVersion":"*","minVersion":"34.0a1"}]}],"id":"ccdceb04-3083-012f-9d9f-aac85f10b494","last_modified":1480349201976},{"guid":"{f2548724-373f-45fe-be6a-3a85e87b7711}","prefs":["browser.startup.homepage","browser.search.defaultenginename"],"schema":1480349193877,"blockID":"i768","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1088726","who":"All Firefox users who have this add-on installed.","why":"This add-on is silently installed and is considered malware, in violation of the Add-on Guidelines.","name":"Astro New Tab","created":"2014-10-30T14:52:09Z"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"8510e9e2-c7d8-90d0-a2ff-eb09293acc6e","last_modified":1480349201854},{"guid":"KSqOiTeSJEDZtTGuvc18PdPmYodROmYzfpoyiCr2@jetpack","prefs":[],"schema":1480349193877,"blockID":"i1032","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1211172","who":"All users who have this add-on installed.","why":"This is a malicious add-on that hijacks Facebook accounts.","name":"Video Player (malware)","created":"2015-10-05T16:22:58Z"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"3d9188ac-235f-773a-52a2-261b3ea9c03c","last_modified":1480349201504},{"guid":"{849ded12-59e9-4dae-8f86-918b70d213dc}","prefs":["browser.startup.homepage","browser.search.defaultenginename"],"schema":1480349193877,"blockID":"i708","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1047102","who":"All Firefox users who have this add-on installed. Users who wish to continue using it can enable it in the Add-ons Manager.","why":"This add-on is silently installed and changes homepage and search settings without the user's consent, in violation of the Add-on Guidelines.","name":"Astromenda New Tab","created":"2014-09-02T16:29:08Z"},"enabled":true,"versionRange":[{"severity":1,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"a319bfee-464f-1c33-61ad-738c52842fbd","last_modified":1480349201453},{"guid":"grjkntbhr@hgergerherg.com","prefs":[],"schema":1480349193877,"blockID":"i1018","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1208196","who":"All users who have this add-on installed.","why":"This is a malicious add-on that hijacks Facebook accounts.","name":"GreenPlayer (malware)","created":"2015-09-24T16:04:53Z"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"9c47d940-bdd9-729f-e32e-1774d87f24b5","last_modified":1480349201425},{"guid":"quick_start@gmail.com","prefs":[],"schema":1480349193877,"blockID":"i588","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1011316","who":"All Firefox users who have this add-on installed.","why":"This add-on appears to be malware that is installed without user consent.","name":"Quick Start (malware)","created":"2014-06-03T15:53:15Z"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"2affbebe-8776-3edb-28b9-237cb8b85f97","last_modified":1480349201398},{"guid":"/^(matchersite(pro(srcs?)?)?\\@matchersite(pro(srcs?)?)?\\.com)|((pro)?sitematcher(_srcs?|pro|site|sitesrc|-generic)?\\@(pro)?sitematcher(_srcs?|pro|site|sitesrc|-generic)?\\.com)$/","prefs":[],"schema":1480349193877,"blockID":"i668","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1039892","who":"All Firefox users who have any of these add-ons installed. User who wish to continue using these add-ons can enable them in the Add-ons Manager.","why":"This is a group of add-ons that are being distributed under multiple different IDs and likely being silently installed, in violation of the Add-on Guidelines.","name":"Site Matcher","created":"2014-07-17T14:35:14Z"},"enabled":true,"versionRange":[{"severity":1,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"52e1a2de-ab35-be27-4810-334f681ccc4a","last_modified":1480349201372},{"guid":"{EEF73632-A085-4fd3-A778-ECD82C8CB297}","prefs":[],"schema":1480349193877,"blockID":"i165","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=806451","who":"All Firefox users who have these add-ons installed.","why":"These are malicious add-ons that are distributed with a trojan and negatively affect web browsing.","name":"Codec-M (malware)","created":"2012-10-29T16:41:06Z"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"e5ecd02a-20ee-749b-d5cf-3d74d1173a1f","last_modified":1480349201262},{"guid":"firefox-extension@mozilla.org","prefs":[],"schema":1480349193877,"blockID":"i688","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1049533","who":"All Firefox users who have this add-on installed.","why":"This is a malicious add-on that hides itself under the name Java_plugin, among others.","name":"FinFisher (malware)","created":"2014-08-06T17:13:00Z"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"98aca74a-69c7-9960-cccc-096a4a4adc6c","last_modified":1480349201235},{"guid":"jid1-vW9nopuIAJiRHw@jetpack","prefs":[],"schema":1480349193877,"blockID":"i570","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=990291","who":"All Firefox users who have this add-on installed. Those who wish to continue using it can enable it in the Add-ons Manager.","why":"This add-on is silently installed, reverts settings changes to enforce its own, and is also causing stability problems in Firefox, all in violation of the Add-on Guidelines.","name":"SmileysWeLove","created":"2014-03-31T16:17:27Z"},"enabled":true,"versionRange":[{"severity":1,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"bf2abd66-f910-650e-89aa-cd1d5c2f8a89","last_modified":1480349201204},{"guid":"87aukfkausiopoawjsuifhasefgased278djasi@jetpack","prefs":[],"schema":1480349193877,"blockID":"i1050","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1220461","who":"All users who have this add-on installed.","why":"This is a malicious add-on that poses as a video update and hijacks Facebook accounts.","name":"Trace Video (malware)","created":"2015-11-02T14:53:21Z"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"cb4cfac0-79c2-0fbf-206a-324aa3abbea5","last_modified":1480349201157},{"guid":"{e44a1809-4d10-4ab8-b343-3326b64c7cdd}","prefs":[],"schema":1480349193877,"blockID":"i451","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=916966","who":"All Firefox users who have this add-on installed.","why":"This add-on doesn't follow our Add-on Guidelines, manipulating settings without reverting them on removal. Users who wish to continue using this add-on can enable it in the Add-ons Manager.","name":"Entrusted","created":"2013-09-18T16:33:57Z"},"enabled":true,"versionRange":[{"severity":1,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"ad5f53ed-7a43-cb1f-cbd7-41808fac1791","last_modified":1480349201128},{"guid":"{21EAF666-26B3-4A3C-ABD0-CA2F5A326744}","prefs":[],"schema":1480349193877,"blockID":"i620","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1024752","who":"All Firefox users who have this add-on installed.","why":"This add-on is probably silently installed, and is causing significant stability issues for users, in violation of the Add-on Guidelines.","name":"V-Bates","created":"2014-06-12T15:27:00Z"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"2d8833db-01a7-a758-080f-19e47abc54cb","last_modified":1480349201096},{"guid":"{1FD91A9C-410C-4090-BBCC-55D3450EF433}","prefs":[],"schema":1480349193877,"blockID":"i338","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=844979","who":"All Firefox users who have this add-on installed.","why":"This extension overrides search settings, and monitors any further changes done to them so that they can be reverted. This violates our add-on guidelines.","name":"DataMngr (malware)","created":"2013-04-24T11:30:28Z"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"2e35995f-bec6-aa2b-3372-346d3325f72e","last_modified":1480349201059},{"guid":"9598582LLKmjasieijkaslesae@jetpack","prefs":[],"schema":1480349193877,"blockID":"i996","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1201165","who":"All users who have this add-on installed.","why":"This is a malicious add-on that takes over Facebook accounts.","name":"Secure Player (malware)","created":"2015-09-07T13:50:27Z"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"52f9c6e7-f7d5-f52e-cc35-eb99ef8b4b6a","last_modified":1480349201029},{"guid":"{bf7380fa-e3b4-4db2-af3e-9d8783a45bfc}","prefs":[],"schema":1480349193877,"blockID":"i406","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=776404","who":"All Firefox users who have this add-on installed. Users who wish to continue using it can enable it in the Add-ons Manager.","why":"This add-on changes search settings without user interaction, and fails to reset them after it is removed. This violates our Add-on Guidelines.","name":"uTorrentBar","created":"2013-06-27T10:46:53Z"},"enabled":true,"versionRange":[{"severity":1,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"3bcefc4b-110c-f3b8-17ad-f9fc97c1120a","last_modified":1480349201000},{"guid":"{ce7e73df-6a44-4028-8079-5927a588c948}","prefs":[],"schema":1480349193877,"blockID":"i117","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=781269","who":"All Firefox users who have this add-on installed.","why":"The Search By Image (by Google) extension causes very high CPU utilization during regular browsing, often damaging user experience significantly, in a way that is very difficult to associate with the extension.\r\n\r\nUsers who want to continue using the add-on regardless of its performance impact can enable it in the Add-ons Manager.","name":"Search By Image (by Google)","created":"2012-08-10T08:50:52Z"},"enabled":true,"versionRange":[{"severity":1,"maxVersion":"1.0.8","minVersion":"0","targetApplication":[]}],"id":"fb1f9aed-2f1f-3e2c-705d-3b34ca9168b6","last_modified":1480349200972},{"guid":"{424b0d11-e7fe-4a04-b7df-8f2c77f58aaf}","prefs":["browser.startup.homepage","browser.search.defaultenginename"],"schema":1480349193877,"blockID":"i800","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1080839","who":"All Firefox users who have this add-on installed.","why":"This add-on is silently installed and is considered malware, in violation of the Add-on Guidelines.","name":"Astromenda NT","created":"2014-12-15T10:51:56Z"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"07bdf6aa-cfc8-ed21-6b36-6f90af02b169","last_modified":1480349200939},{"guid":"toolbar@ask.com","prefs":[],"schema":1480349193877,"blockID":"i618","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1024719","who":"All Firefox users who have these versions of the Ask Toolbar installed. Users who wish to continue using it can enable it in the Add-ons Manager.\r\n","why":"Certain old versions of the Ask Toolbar are causing problems to users when trying to open new tabs. Using more recent versions of the Ask Toolbar should also fix this problem.\r\n","name":"Ask Toolbar (old Avira Security Toolbar bundle)","created":"2014-06-12T14:25:04Z"},"enabled":true,"versionRange":[{"severity":1,"maxVersion":"3.15.31.*","minVersion":"3.15.31","targetApplication":[]}],"id":"825feb43-d6c2-7911-4189-6f589f612c34","last_modified":1480349200911},{"guid":"{167d9323-f7cc-48f5-948a-6f012831a69f}","prefs":[],"schema":1480349193877,"blockID":"i262","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=812303","who":"All Firefox users who have this add-on installed.","why":"This add-on is silently side-installed by other software, and doesn't do much more than changing the users' settings, without reverting them on removal.","name":"WhiteSmoke (malware)","created":"2013-01-29T13:33:25Z"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"a8f249fe-3db8-64b8-da89-7b584337a7af","last_modified":1480349200885},{"guid":"/^({988919ff-0cd8-4d0c-bc7e-60d55a49eb64}|{494b9726-9084-415c-a499-68c07e187244}|{55b95864-3251-45e9-bb30-1a82589aaff1}|{eef3855c-fc2d-41e6-8d91-d368f51b3055}|{90a1b331-c2b4-4933-9f63-ba7b84d60d58}|{d2cf9842-af95-48cd-b873-bfbb48cd7f5e})$/","prefs":[],"schema":1480349193877,"blockID":"i541","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=963819","who":"All Firefox users who have this add-on installed","why":"This add-on has been repeatedly blocked before and keeps showing up with new add-on IDs, in violation of the Add-on Guidelines.","name":"MixiDJ (malware)","created":"2014-01-28T14:09:08Z"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"36196aed-9d0d-ebee-adf1-d1f7fadbc48f","last_modified":1480349200819},{"guid":"{29b136c9-938d-4d3d-8df8-d649d9b74d02}","prefs":[],"schema":1480349193877,"blockID":"i598","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1011322","who":"All Firefox users who have this add-on installed. Users who wish to continue using it can enable it in the Add-ons Manager.","why":"This add-on is silently installed, in violation with our Add-on Guidelines.","name":"Mega Browse","created":"2014-06-12T13:21:25Z"},"enabled":true,"versionRange":[{"severity":1,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"63b1c965-27c3-cd06-1b76-8721add39edf","last_modified":1480349200775},{"guid":"{6e7f6f9f-8ce6-4611-add2-05f0f7049ee6}","prefs":[],"schema":1480349193877,"blockID":"i868","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1086574","who":"All users who have this add-on installed. Users who wish to continue using the add-on can enable it in the Add-ons Manager.","why":"This add-on is silently installed into users' systems, in violation of our Add-on Guidelines.","name":"Word Proser","created":"2015-02-26T14:58:59Z"},"enabled":true,"versionRange":[{"severity":1,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"f54797da-cdcd-351a-c95e-874b64b0d226","last_modified":1480349200690},{"guid":"{02edb56b-9b33-435b-b7df-b2843273a694}","prefs":[],"schema":1480349193877,"blockID":"i438","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=896581","who":"All Firefox users who have this add-on installed.","why":"This add-on doesn't follow our Add-on Guidelines. It is installed bypassing the Firefox opt-in screen, and manipulates settings without reverting them on removal. Users who wish to continue using this add-on can enable it in the Add-ons Manager.","name":"KeyBar Toolbar","created":"2013-08-09T15:27:49Z"},"enabled":true,"versionRange":[{"severity":1,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"896710d2-5a65-e9b0-845b-05aa72c2bd51","last_modified":1480349200338},{"guid":"{e1aaa9f8-4500-47f1-9a0a-b02bd60e4076}","prefs":[],"schema":1480349193877,"blockID":"i646","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1036757","who":"All Firefox users who have this version of the add-on installed.","why":"Certain versions of the Youtube Video Replay extension weren't developed by the original developer, and are likely malicious in nature. This violates the Add-on Guidelines for reusing an already existent ID.","name":"Youtube Video Replay, version 178.7.0","created":"2014-07-10T15:10:05Z"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"178.7.0","minVersion":"178.7.0","targetApplication":[]}],"id":"ac5d1083-6753-bbc1-a83d-c63c35371b22","last_modified":1480349200312},{"guid":"{1cdbda58-45f8-4d91-b566-8edce18f8d0a}","prefs":[],"schema":1480349193877,"blockID":"i724","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1080835","who":"All Firefox users who have this add-on installed.","why":"This add-on is silently installed into users' systems. It uses very unsafe practices to load its code, and leaks information of all web browsing activity. These are all violations of the Add-on Guidelines.","name":"Website Counselor Pro","created":"2014-10-13T16:00:08Z"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"7b70bd36-d2f7-26fa-9038-8b8dd132cd81","last_modified":1480349200288},{"guid":"{b12785f5-d8d0-4530-a3ea-5c4263b85bef}","prefs":[],"schema":1480349193877,"blockID":"i988","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1161573","who":"All users who have this add-on installed. Those who wish continue using this add-on can enable it in the Add-ons Manager.","why":"This add-on overrides user's preferences without consent, in violation of the Add-on Guidelines.","name":"Hero Fighter Community Toolbar","created":"2015-08-17T16:04:35Z"},"enabled":true,"versionRange":[{"severity":1,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"3e6d73f2-e8e3-af69-866e-30d3977b09e4","last_modified":1480349200171},{"guid":"{c2d64ff7-0ab8-4263-89c9-ea3b0f8f050c}","prefs":[],"schema":1480349193877,"blockID":"i39","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=665775","who":"Users of MediaBar versions 4.3.1.00 and below in all versions of Firefox.","why":"This add-on causes a high volume of crashes and is incompatible with certain versions of Firefox.","name":"MediaBar","created":"2011-07-19T10:18:12Z"},"enabled":true,"versionRange":[{"severity":1,"maxVersion":"4.3.1.00","minVersion":"0.1","targetApplication":[]}],"id":"e928a115-9d8e-86a4-e2c7-de39627bd9bf","last_modified":1480349200047},{"guid":"{9edd0ea8-2819-47c2-8320-b007d5996f8a}","prefs":["browser.search.defaultenginename"],"schema":1480349193877,"blockID":"i684","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1033857","who":"All Firefox users who have this add-on installed. Users who wish to continue using this add-on can enable it in the Add-ons Manager.","why":"This add-on is believed to be silently installed in Firefox, in violation of the Add-on Guidelines.","name":"webget","created":"2014-08-06T13:33:33Z"},"enabled":true,"versionRange":[{"severity":1,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"d38561f5-370f-14be-1443-a74dad29b1f3","last_modified":1480349199962},{"guid":"/^({ad9a41d2-9a49-4fa6-a79e-71a0785364c8})|(ffxtlbr@mysearchdial\\.com)$/","prefs":["browser.search.defaultenginename"],"schema":1480349193877,"blockID":"i670","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1036740","who":"All Firefox users who have this add-on installed. Users who wish to continue using this add-on can enable it in the Add-ons Manager.","why":"This add-on has been repeatedly been silently installed into users' systems, and is known for changing the default search without user consent, in violation of the Add-on Guidelines.","name":"MySearchDial","created":"2014-07-18T15:47:35Z"},"enabled":true,"versionRange":[{"severity":1,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"a04075e6-5df2-2e1f-85a6-3a0171247349","last_modified":1480349199927},{"guid":"odtffplugin@ibm.com","prefs":[],"schema":1480349193877,"blockID":"i982","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1190630","who":"All users who have these versions installed. The latest versions of this add-on aren't blocked, so updating to them should be sufficient to fix this problem.","why":"Certain versions of the IBM Remote Control add-on could leave a machine vulnerable to run untrusted code.","name":"IBM Endpoint Manager for Remote Control 9.0.1.1 to 9.0.1.100","created":"2015-08-11T11:25:43Z"},"enabled":true,"versionRange":[{"severity":1,"maxVersion":"9.0.1.100","minVersion":"9.0.1.1","targetApplication":[]}],"id":"f6e3e5d2-9331-1097-ba4b-cf2e484b7187","last_modified":1480349199886},{"guid":"support@todoist.com","prefs":[],"schema":1480349193877,"blockID":"i1030","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1205479","who":"All users who have this add-on installed. Users who wish to continue using this add-on can enable it in the Add-ons Manager.","why":"This add-on is sending all sites visited by the user to a remote server, additionally doing so in an unsafe way.","name":"Todoist","created":"2015-10-01T16:53:06Z"},"enabled":true,"versionRange":[{"severity":1,"maxVersion":"3.9","minVersion":"0","targetApplication":[]}],"id":"d0a84aab-0661-b3c5-c184-a2fd3f9dfb9c","last_modified":1480349199850},{"guid":"/^({1f43c8af-e9e4-4e5a-b77a-f51c7a916324}|{3a3bd700-322e-440a-8a6a-37243d5c7f92}|{6a5b9fc2-733a-4964-a96a-958dd3f3878e}|{7b5d6334-8bc7-4bca-a13e-ff218d5a3f17}|{b87bca5b-2b5d-4ae8-ad53-997aa2e238d4}|{bf8e032b-150f-4656-8f2d-6b5c4a646e0d})$/","prefs":[],"schema":1480349193877,"blockID":"i1136","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1251940","who":"All users who have this add-on installed.","why":"This is a malicious add-on that hides itself from view and disables various security features in Firefox.","name":"Watcher (malware)","created":"2016-03-04T17:56:08Z"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"a2d0378f-ebe4-678c-62d8-2e4c6a613c17","last_modified":1480349199818},{"guid":"liiros@facebook.com","prefs":[],"schema":1480349193877,"blockID":"i814","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1119657","who":"All Firefox users who have this add-on installed.","why":"This add-on is silently installed into users' systems without their consent and performs unwanted operations.","name":"One Tab (malware)","created":"2015-01-09T12:49:05Z"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"387c054d-cc9f-7ebd-c814-b4c1fbcb2880","last_modified":1480349199791},{"guid":"youtubeunblocker@unblocker.yt","prefs":[],"schema":1480349193877,"blockID":"i1128","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1251911","who":"All users who have this add-on installed.","why":"The add-on has a mechanism that updates certain configuration files from the developer\u2019s website. This mechanism has a vulnerability that is being exploited through this website (unblocker.yt) to change security settings in Firefox and install malicious add-ons.","name":"YouTube Unblocker","created":"2016-03-01T21:18:33Z"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"3395fce1-42dd-e31a-1466-2da3f32456a0","last_modified":1480349199768},{"guid":"{97E22097-9A2F-45b1-8DAF-36AD648C7EF4}","prefs":[],"schema":1480349193877,"blockID":"i916","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1170633","who":"All Firefox users who have this add-on installed in Firefox 39 and above.\r\n","why":"Certain versions of this extension are causing startup crashes in Firefox 39 and above.\r\n","name":"RealPlayer Browser Record Plugin","created":"2015-06-02T09:57:38Z"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0","targetApplication":[{"guid":"{ec8030f7-c20a-464f-9b0e-13a3a9e97384}","maxVersion":"*","minVersion":"39.0a1"}]}],"id":"94fba774-c4e6-046a-bc7d-ede787a9d0fe","last_modified":1480349199738},{"guid":"{b64982b1-d112-42b5-b1e4-d3867c4533f8}","prefs":[],"schema":1480349193877,"blockID":"i167","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=805973","who":"All Firefox users who have this add-on installed.","why":"This add-on is a frequent cause for browser crashes and other problems.","name":"Browser Manager","created":"2012-10-29T17:17:46Z"},"enabled":true,"versionRange":[{"severity":1,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"00bbe501-2d27-7a1c-c344-6eea1c707473","last_modified":1480349199673},{"guid":"{58bd07eb-0ee0-4df0-8121-dc9b693373df}","prefs":[],"schema":1480349193877,"blockID":"i286","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=842206","who":"All Firefox users who have this extension installed.","why":"This extension is malicious and is installed under false pretenses, causing problems for many Firefox users. Note that this is not the same BrowserProtect extension that is listed on our add-ons site. That one is safe to use.","name":"Browser Protect / bProtector (malware)","created":"2013-02-18T10:54:28Z"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"b40a60d3-b9eb-09eb-bb02-d50b27aaac9f","last_modified":1480349199619},{"guid":"trtv3@trtv.com","prefs":[],"schema":1480349193877,"blockID":"i465","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=845610","who":"All Firefox users who have this add-on installed.","why":"This add-on doesn't follow our Add-on Guidelines, bypassing our third party install opt-in screen. Users who wish to continue using this extension can enable it in the Add-ons Manager.","name":"TornTV","created":"2013-11-01T15:21:49Z"},"enabled":true,"versionRange":[{"severity":1,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"3d4d8a33-2eff-2556-c699-9be0841a8cd4","last_modified":1480349199560},{"guid":"youtube@downloader.yt","prefs":[],"schema":1480349193877,"blockID":"i1231","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1278932","who":"All users who have this add-on installed.","why":"The add-on has a mechanism that updates certain configuration files from the developer\u2019s website. This mechanism has a vulnerability that can being exploited through this website (downloader.yt) to change security settings in Firefox and/or install malicious add-ons. \r\n","name":"YouTube downloader","created":"2016-06-09T14:50:27Z"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"8514eaee-850c-e27a-a058-8badeeafc26e","last_modified":1480349199528},{"guid":"low_quality_flash@pie2k.com","prefs":[],"schema":1480349193877,"blockID":"i658","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1036757","who":"All Firefox users who have this version of the add-on installed.","why":"Certain versions of the Low Quality Flash extension weren't developed by the original developer, and are likely malicious in nature. This violates the Add-on Guidelines for reusing an already existent ID.","name":"Low Quality Flash, versions between 46.2 and 47.1","created":"2014-07-10T15:27:51Z"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"47.1","minVersion":"46.2","targetApplication":[]}],"id":"b869fae6-c18c-0d39-59a2-603814656404","last_modified":1480349199504},{"guid":"{d2cf9842-af95-48cd-b873-bfbb48cd7f5e}","prefs":[],"schema":1480349193877,"blockID":"i439","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=902569","who":"All Firefox users who have this add-on installed.","why":"This is another instance of the previously blocked Mixi DJ add-on, which doesn't follow our Add-on Guidelines. If you wish to continue using it, it can be enabled in the Add-ons Manager.","name":"Mixi DJ V45","created":"2013-08-09T16:08:18Z"},"enabled":true,"versionRange":[{"severity":1,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"e81c31fc-265e-61b9-d4c1-0e2f31f1652e","last_modified":1480349199478},{"guid":"/^({b95faac1-a3d7-4d69-8943-ddd5a487d966}|{ecce0073-a837-45a2-95b9-600420505f7e}|{2713b394-286f-4d7c-89ea-4174eeab9f5a}|{da7a20cf-bef4-4342-ad78-0240fdf87055})$/","prefs":[],"schema":1480349193877,"blockID":"i624","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=947482","who":"All Firefox users who have this add-on installed. Users who wish to continue using this add-on can enable it in the Add-ons Manager.","why":"This add-on is known to change user settings without their consent, is distributed under multiple add-on IDs, and is also correlated with reports of tab functions being broken in Firefox, in violation of the Add-on Guidelines.\r\n","name":"WiseConvert","created":"2014-06-18T13:50:38Z"},"enabled":true,"versionRange":[{"severity":1,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"ed57d7a6-5996-c7da-8e07-1ad125183e84","last_modified":1480349199446},{"guid":"{f894a29a-f065-40c3-bb19-da6057778493}","prefs":[],"schema":1480349193877,"blockID":"i742","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1080817","who":"All Firefox users who have this add-on installed. Users who wish to continue using it can enable it in the Add-ons Manager.","why":"This add-on appears to be silently installed into users' systems, and changes settings without consent, in violation of the Add-on Guidelines.","name":"Spigot Shopping Assistant","created":"2014-10-17T15:46:59Z"},"enabled":true,"versionRange":[{"severity":1,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"39d8334e-4b7c-4336-2d90-e6aa2d783967","last_modified":1480349199083},{"guid":"plugin@analytic-s.com","prefs":[],"schema":1480349193877,"blockID":"i467","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=935797","who":"All Firefox users who have this add-on installed.","why":"This add-on bypasses the external install opt in screen in Firefox, violating the Add-on Guidelines. Users who wish to continue using this add-on can enable it in the Add-ons Manager.","name":"Analytics","created":"2013-11-07T14:08:48Z"},"enabled":true,"versionRange":[{"severity":1,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"ffbed3f3-e5c9-bc6c-7530-f68f47b7efd6","last_modified":1480349199026},{"guid":"{C4A4F5A0-4B89-4392-AFAC-D58010E349AF}","prefs":[],"schema":1480349193877,"blockID":"i678","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=895668","who":"All Firefox users who have this add-on installed. If you wish to continue using it, you can enable it in the Add-ons Manager.","why":"This add-on is generally silently installed, in violation of the Add-on Guidelines.","name":"DataMngr","created":"2014-07-23T14:12:23Z"},"enabled":true,"versionRange":[{"severity":1,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"151021fc-ce4e-a734-e075-4ece19610f64","last_modified":1480349198947},{"guid":"HxLVJK1ioigz9WEWo8QgCs3evE7uW6LEExAniBGG@jetpack","prefs":[],"schema":1480349193877,"blockID":"i1036","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1211170","who":"All users who have this add-on installed.","why":"This is a malicious add-on that hijacks Facebook accounts.","name":"Mega Player (malware)","created":"2015-10-05T16:37:08Z"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"32e34b41-a73c-72d4-c96c-136917ad1d4d","last_modified":1480349198894},{"guid":"{6af08a71-380e-42dd-9312-0111d2bc0630}","prefs":[],"schema":1480349193877,"blockID":"i822","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1126353","who":"All Firefox users who have this add-on installed.","why":"This add-on appears to be malware, hiding itself in the Add-ons Manager, and keeping track of certain user actions.","name":"{6af08a71-380e-42dd-9312-0111d2bc0630} (malware)","created":"2015-01-27T09:50:40Z"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"96d0c12b-a6cf-4539-c1cf-a1c75c14ff24","last_modified":1480349198826},{"guid":"colmer@yopmail.com","prefs":[],"schema":1480349193877,"blockID":"i550","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=968445","who":"All Firefox users who have this add-on installed.","why":"This add-on is malware that hijacks Facebook accounts.","name":"Video Plugin Facebook (malware)","created":"2014-02-06T15:49:25Z"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"c394d10b-384e-cbd0-f357-9c521715c373","last_modified":1480349198744},{"guid":"fplayer@adobe.flash","prefs":[],"schema":1480349193877,"blockID":"i444","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=909433","who":"All Firefox users who have this add-on installed.","why":"This add-on is malware disguised as the Flash Player plugin.","name":"Flash Player (malware)","created":"2013-08-26T14:49:48Z"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"c6557989-1b59-72a9-da25-b816c4a4c723","last_modified":1480349198667},{"guid":"ascsurfingprotection@iobit.com","prefs":[],"schema":1480349193877,"blockID":"i740","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=963776","who":"All Firefox users who have this add-on installed. Users who wish to continue using it can enable it in the Add-ons Manager.","why":"This add-on is silently installed into users' systems, in violation of the Add-on Guidelines.","name":"Advanced SystemCare Surfing Protection","created":"2014-10-17T15:39:59Z"},"enabled":true,"versionRange":[{"severity":1,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"4405f99d-c9b7-c496-1b45-268163ce29b7","last_modified":1480349198637},{"guid":"{6E19037A-12E3-4295-8915-ED48BC341614}","prefs":[],"schema":1480349193877,"blockID":"i24","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=615518","who":"Users of RelevantKnowledge version 1.3.328.4 and older in Firefox 4 and later.","why":"This add-on causes a high volume of Firefox crashes.","name":"comScore RelevantKnowledge","created":"2011-03-02T17:42:56Z"},"enabled":true,"versionRange":[{"severity":1,"maxVersion":"1.3.328.4","minVersion":"0.1","targetApplication":[{"guid":"{ec8030f7-c20a-464f-9b0e-13a3a9e97384}","maxVersion":"*","minVersion":"3.7a1pre"}]}],"id":"7c189c5e-f95b-0aef-e9e3-8e879336503b","last_modified":1480349198606},{"guid":"crossriderapp4926@crossrider.com","prefs":[],"schema":1480349193877,"blockID":"i91","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=754648","who":"All Firefox users who have installed this add-on.","why":"Versions of this add-on prior to 0.81.44 automatically post message to users' walls and hide them from their view. Version 0.81.44 corrects this.","name":"Remove My Timeline (malware)","created":"2012-05-14T14:16:43Z"},"enabled":true,"versionRange":[{"severity":1,"maxVersion":"0.81.43","minVersion":"0","targetApplication":[]}],"id":"5ee3e72e-96fb-c150-fc50-dd581e960963","last_modified":1480349198547},{"guid":"/^(93abedcf-8e3a-4d02-b761-d1441e437c09@243f129d-aee2-42c2-bcd1-48858e1c22fd\\.com|9acfc440-ac2d-417a-a64c-f6f14653b712@09f9a966-9258-4b12-af32-da29bdcc28c5\\.com|58ad0086-1cfb-48bb-8ad2-33a8905572bc@5715d2be-69b9-4930-8f7e-64bdeb961cfd\\.com)$/","prefs":[],"schema":1480349193877,"blockID":"i544","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=949596","who":"All Firefox users who have this add-on installed. If you wish to continue using it, it can be enabled in the Add-ons Manager.","why":"This add-on is in violation of the Add-on Guidelines, using multiple add-on IDs and potentially doing other unwanted activities.","name":"SuperLyrics","created":"2014-01-30T11:51:19Z"},"enabled":true,"versionRange":[{"severity":1,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"d8d25967-9814-3b65-0787-a0525c16e11e","last_modified":1480349198510},{"guid":"wHO@W9.net","prefs":[],"schema":1480349193877,"blockID":"i980","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1192468","who":"All users who have this add-on installed.","why":"This is a malicious add-on that hijacks Facebook accounts.","name":"BestSavEFOrYoU (malware)","created":"2015-08-11T11:20:01Z"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"4beb917f-68f2-1f91-beed-dff6d83006f8","last_modified":1480349198483},{"guid":"frhegnejkgner@grhjgewfewf.com","prefs":[],"schema":1480349193877,"blockID":"i1040","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1212451","who":"All users who have this add-on installed.","why":"This is a malicious add-on that hijacks Facebook accounts.","name":"Async Codec (malware)","created":"2015-10-07T13:03:37Z"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"fb6ab4ce-5517-bd68-2cf7-a93a109a528a","last_modified":1480349198458},{"guid":"firefox@luckyleap.net","prefs":[],"schema":1480349193877,"blockID":"i471","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=935779","who":"All Firefox users who have this add-on installed.","why":"This add-on is part of a malicious Firefox installer bundle.","name":"Installer bundle (malware)","created":"2013-11-07T15:38:33Z"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"3a9e04c7-5e64-6297-8442-2816915aad77","last_modified":1480349198433},{"guid":"auto-plugin-checker@jetpack","prefs":[],"schema":1480349193877,"blockID":"i1210","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1270175","who":"All users of this add-on. If you wish to continue using it, you can enable it in the Add-ons Manager.","why":"This add-on reports every visited URL to a third party without disclosing it to the user.","name":"auto-plugin-checker","created":"2016-05-04T16:25:27Z"},"enabled":true,"versionRange":[{"severity":1,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"3e202419-5318-2025-b579-c828af24a06e","last_modified":1480349198401},{"guid":"lugcla21@gmail.com","prefs":[],"schema":1480349193877,"blockID":"i432","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=902072","who":"All Firefox users who have this add-on installed.","why":"This add-on includes malicious code that spams users' Facebook accounts with unwanted messages.","name":"FB Color Changer (malware)","created":"2013-08-06T13:16:22Z"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"b6943f35-9429-1f8e-bf8e-fe37979fe183","last_modified":1480349198372},{"guid":"{99079a25-328f-4bd4-be04-00955acaa0a7}","prefs":[],"schema":1480349193877,"blockID":"i402","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=835678","who":"All Firefox users who have this add-on installed. Users who wish to continue using it can enable it in the Add-ons Manager.","why":"This group of add-ons is silently installed, bypassing our install opt-in screen. This violates our Add-on Guidelines.","name":"Searchqu","created":"2013-06-25T15:16:17Z"},"enabled":true,"versionRange":[{"severity":1,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"16008331-8b47-57c8-a6f7-989914d1cb8a","last_modified":1480349198341},{"guid":"{81b13b5d-fba1-49fd-9a6b-189483ac548a}","prefs":[],"schema":1480349193877,"blockID":"i473","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=935779","who":"All Firefox users who have this add-on installed.","why":"This add-on is part of a malicious Firefox installer bundle.","name":"Installer bundle (malware)","created":"2013-11-07T15:38:43Z"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"76debc7b-b875-6da4-4342-1243cbe437f6","last_modified":1480349198317},{"guid":"{e935dd68-f90d-46a6-b89e-c4657534b353}","prefs":[],"schema":1480349193877,"blockID":"i732","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1073810","who":"All Firefox users who have this add-on installed.","why":"This add-on is silently installed into users' systems. It uses very unsafe practices to load its code, and leaks information of all web browsing activity. These are all violations of the Add-on Guidelines.","name":"Sites Pro","created":"2014-10-16T16:38:24Z"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"97fdc235-ac1a-9f20-1b4a-17c2f0d89ad1","last_modified":1480349198260},{"guid":"{32da2f20-827d-40aa-a3b4-2fc4a294352e}","prefs":[],"schema":1480349193877,"blockID":"i748","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=963787","who":"All Firefox users who have this add-on installed. Users who wish to continue using it can enable it in the Add-ons Manager.","why":"This add-on is silently installed into users' systems, in violation of the Add-on Guidelines.","name":"Start Page","created":"2014-10-17T16:02:20Z"},"enabled":true,"versionRange":[{"severity":1,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"6c980c8e-4a3c-7912-4a3a-80add457575a","last_modified":1480349198223},{"guid":"chinaescapeone@facebook.com","prefs":[],"schema":1480349193877,"blockID":"i431","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=901770","who":"All Firefox users who have this add-on installed.","why":"This is a malicious add-on that uses a deceptive name and hijacks social networks.","name":"F-Secure Security Pack (malware)","created":"2013-08-05T16:43:24Z"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"fbd89a9d-9c98-8481-e4cf-93e327ca8be1","last_modified":1480349198192},{"guid":"{cc6cc772-f121-49e0-b1f0-c26583cb0c5e}","prefs":[],"schema":1480349193877,"blockID":"i716","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1073810","who":"All Firefox users who have this add-on installed.","why":"This add-on is silently installed into users' systems. It uses very unsafe practices to load its code, and leaks information of all web browsing activity. These are all violations of the Add-on Guidelines.","name":"Website Counselor","created":"2014-10-02T12:12:34Z"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"debcd28c-884b-ca42-d983-6fabf91034dd","last_modified":1480349198148},{"guid":"{906000a4-88d9-4d52-b209-7a772970d91f}","prefs":[],"schema":1480349193877,"blockID":"i474","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=935779","who":"All Firefox users who have this add-on installed.","why":"This add-on is part of a malicious Firefox installer bundle.","name":"Installer bundle (malware)","created":"2013-11-07T15:38:48Z"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"326d05b9-ace7-67c6-b094-aad926c185a5","last_modified":1480349197744},{"guid":"{A34CAF42-A3E3-11E5-945F-18C31D5D46B0}","prefs":["security.csp.enable","security.fileuri.strict_origin_policy","security.mixed_content.block_active_content"],"schema":1480349193877,"blockID":"i1227","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1274995","who":"All users of this add-on. If you wish to continue using it, you can enable it in the Add-ons Manager.","why":"This add-on downgrades the security of all iframes from https to http and changes important Firefox security preferences.","name":"Mococheck WAP browser","created":"2016-05-31T15:45:53Z"},"enabled":true,"versionRange":[{"severity":1,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"2230a5ce-a8f8-a20a-7974-3b960a03aba9","last_modified":1480349197699},{"guid":"{AB2CE124-6272-4b12-94A9-7303C7397BD1}","prefs":[],"schema":1480349193877,"blockID":"i20","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=627278","who":"Users of Skype extension versions below 5.2.0.7165 for all versions of Firefox.","why":"This add-on causes a high volume of Firefox crashes and introduces severe performance issues. Please update to the latest version. For more information, please read our announcement.","name":"Skype extension","created":"2011-01-20T18:39:25Z"},"enabled":true,"versionRange":[{"severity":1,"maxVersion":"5.2.0.7164","minVersion":"0.1","targetApplication":[]}],"id":"60e16015-1803-197a-3241-484aa961d18f","last_modified":1480349197667},{"guid":"f6682b47-e12f-400b-9bc0-43b3ccae69d1@39d6f481-b198-4349-9ebe-9a93a86f9267.com","prefs":[],"schema":1480349193877,"blockID":"i682","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1043017","who":"All Firefox users who have this add-on installed. Users who wish to continue using this add-on can enable it in the Add-ons Manager.","why":"This add-on is being silently installed, in violation of the Add-on Guidelines.","name":"enformation","created":"2014-08-04T16:07:20Z"},"enabled":true,"versionRange":[{"severity":1,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"a7ae65cd-0869-67e8-02f8-6d22c56a83d4","last_modified":1480349197636},{"guid":"rally_toolbar_ff@bulletmedia.com","prefs":[],"schema":1480349193877,"blockID":"i537","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=950267","who":"All Firefox users who have this extension installed. If you want to continue using it, you can enable it in the Add-ons Manager.","why":"The installer that includes this add-on violates the Add-on Guidelines by silently installing it.","name":"Rally Toolbar","created":"2014-01-23T15:51:48Z"},"enabled":true,"versionRange":[{"severity":1,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"4ac6eb63-b51a-3296-5b02-bae77f424032","last_modified":1480349197604},{"guid":"x77IjS@xU.net","prefs":["browser.startup.homepage","browser.search.defaultenginename"],"schema":1480349193877,"blockID":"i774","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1076771","who":"All Firefox users who have this add-on installed. Users who wish to continue using it can enable it in the Add-ons Manager.","why":"This add-on is silently installed and changes user settings without consent, in violation of the Add-on Guidelines\r\n","name":"YoutubeAdBlocke","created":"2014-10-31T16:22:53Z"},"enabled":true,"versionRange":[{"severity":1,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"4771da14-bcf2-19b1-3d71-bc61a1c7d457","last_modified":1480349197578},{"guid":"{49c53dce-afa0-49a1-a08b-2eb8e8444128}","prefs":[],"schema":1480349193877,"blockID":"i441","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=844985","who":"All Firefox users who have this add-on installed.","why":"This add-on is silently installed, violating our Add-on Guidelines. Users who wish to continue using this add-on can enable it in the Add-ons Manager.","name":"ytbyclick","created":"2013-08-09T16:58:50Z"},"enabled":true,"versionRange":[{"severity":1,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"5f08d720-58c2-6acb-78ad-7af45c82c90b","last_modified":1480349197550},{"guid":"searchengine@gmail.com","prefs":["browser.startup.homepage","browser.search.defaultenginename"],"schema":1480349193877,"blockID":"i886","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1152555","who":"All Firefox users who have this add-on installed. Users who wish to continue using this add-on can enable it in the Add-on Manager.","why":"This add-on appears to be malware, being silently installed and hijacking user settings, in violation of the Add-on Guidelines.","name":"Search Enginer","created":"2015-04-10T16:25:21Z"},"enabled":true,"versionRange":[{"severity":1,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"46de4f6e-2b29-7334-ebbb-e0048f114f7b","last_modified":1480349197525},{"guid":"{bb7b7a60-f574-47c2-8a0b-4c56f2da9802}","prefs":[],"schema":1480349193877,"blockID":"i754","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1080850","who":"All Firefox users who have this add-on installed. Users who wish to continue using it can enable it in the Add-ons Manager.","why":"This add-on is silently installed into users' systems, in violation of the Add-on Guidelines.","name":"AdvanceElite","created":"2014-10-17T16:27:32Z"},"enabled":true,"versionRange":[{"severity":1,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"f222ceb2-9b69-89d1-8dce-042d8131a12e","last_modified":1480349197500},{"guid":"/^(test3@test.org|test2@test.org|test@test.org|support@mozilla.org)$/","prefs":[],"schema":1480349193877,"blockID":"i1119","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1242721","who":"All users who have these add-ons installed.","why":"These add-ons are malicious, or at least attempts at being malicious, using misleading names and including risky code.","name":"test.org add-ons (malware)","created":"2016-01-25T13:31:43Z"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"afd2a0d7-b050-44c9-4e45-b63696d9b22f","last_modified":1480349197468},{"guid":"/^((34qEOefiyYtRJT@IM5Munavn\\.com)|(Mro5Fm1Qgrmq7B@ByrE69VQfZvZdeg\\.com)|(KtoY3KGxrCe5ie@yITPUzbBtsHWeCdPmGe\\.com)|(9NgIdLK5Dq4ZMwmRo6zk@FNt2GCCLGyUuOD\\.com)|(NNux7bWWW@RBWyXdnl6VGls3WAwi\\.com)|(E3wI2n@PEHTuuNVu\\.com)|(2d3VuWrG6JHBXbQdbr@3BmSnQL\\.com))$/","prefs":[],"schema":1480349193877,"blockID":"i324","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=841791","who":"All users who have this add-on installed.","why":"This extension is malware, installed pretending to be the Flash Player plugin.","name":"Flash Player (malware)","created":"2013-03-22T14:48:00Z"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"5be3a399-af3e-644e-369d-628273b3fdc2","last_modified":1480349197432},{"guid":"axtara__web@axtara.com","prefs":[],"schema":1480349193877,"blockID":"i1263","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1251911","who":"All users who have version 1.1.1 or less of this add-on installed.","why":"Old versions of this add-on contained code from YouTube Unblocker, which was originally blocked due to malicious activity. Version 1.1.2 is now okay.","name":"AXTARA Search (pre 1.1.2)","created":"2016-08-17T16:47:06Z"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"1.1.1","minVersion":"0","targetApplication":[]}],"id":"c58be1c9-3d63-a948-219f-e3225e1eec8e","last_modified":1480349197404},{"guid":"{8f894ed3-0bf2-498e-a103-27ef6e88899f}","prefs":[],"schema":1480349193877,"blockID":"i792","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1073810","who":"All Firefox users who have this add-on installed.","why":"This add-on is silently installed into users' systems. It uses very unsafe practices to load its code, and leaks information of all web browsing activity. These are all violations of the Add-on Guidelines.","name":"ExtraW","created":"2014-11-26T13:49:30Z"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"bebc9e15-59a1-581d-0163-329d7414edff","last_modified":1480349197368},{"guid":"profsites@pr.com","prefs":[],"schema":1480349193877,"blockID":"i734","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1073810","who":"All Firefox users who have this add-on installed.\r\n","why":"This add-on is silently installed into users' systems. It uses very unsafe practices to load its code, and leaks information of all web browsing activity. These are all violations of the Add-on Guidelines.","name":"ProfSites","created":"2014-10-16T16:39:26Z"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"0d6d84d7-0b3f-c5ab-57cc-6b66b0775a23","last_modified":1480349197341},{"guid":"{872b5b88-9db5-4310-bdd0-ac189557e5f5}","prefs":[],"schema":1480349193877,"blockID":"i497","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=945530","who":"All Firefox users who have this add-on installed. Users who wish to continue using it can enable it in the Add-ons Manager.","why":"The installer that includes this add-on violates the Add-on Guidelines by making settings changes that can't be easily reverted.","name":"DVDVideoSoft Menu","created":"2013-12-03T16:08:09Z"},"enabled":true,"versionRange":[{"severity":1,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"e8da89c4-c585-77e4-9872-591d20723a7e","last_modified":1480349197240},{"guid":"123456789@offeringmedia.com","prefs":[],"schema":1480349193877,"blockID":"i664","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1036757","who":"All Firefox users who have this add-on installed.","why":"This is a malicious add-on that attempts to hide itself by impersonating the Adobe Flash plugin.","name":"Taringa MP3 / Adobe Flash","created":"2014-07-10T15:41:24Z"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"6d0a7dda-d92a-c8e2-21be-c92b0a88ac8d","last_modified":1480349197208},{"guid":"firefoxdav@icloud.com","prefs":[],"schema":1480349193877,"blockID":"i1214","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1271358","who":"All users of this add-on. If you wish to continue using it, you can enable it in the Add-ons Manager.","why":"This add-on is causing frequent and persistent crashing.","name":"iCloud Bookmarks","created":"2016-05-17T16:55:39Z"},"enabled":true,"versionRange":[{"severity":1,"maxVersion":"1.4.22","minVersion":"0","targetApplication":[]}],"id":"2dddd7a7-b081-45e2-3eeb-2a7f76a1465f","last_modified":1480349197172},{"guid":"youplayer@addons.mozilla.org","prefs":[],"schema":1480349193877,"blockID":"i660","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1036757","who":"All Firefox users who have this version of the add-on installed.","why":"Certain versions of the YouPlayer extension weren't developed by the original developer, and are likely malicious in nature. This violates the Add-on Guidelines for reusing an already existent ID.","name":"YouPlayer, versions between 79.9.8 and 208.0.1","created":"2014-07-10T15:31:04Z"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"208.0.1","minVersion":"79.9.8","targetApplication":[]}],"id":"82dca22b-b889-5d9d-3fc9-b2184851f2d1","last_modified":1480349197136},{"guid":"{df6bb2ec-333b-4267-8c4f-3f27dc8c6e07}","prefs":[],"schema":1480349193877,"blockID":"i487","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=940681","who":"All Firefox users who have this add-on installed.","why":"This is a malicious add-on that hijacks Facebook accounts.","name":"Facebook 2013 (malware)","created":"2013-11-19T14:59:45Z"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"5867c409-b342-121e-3c3b-426e2f0ba1d4","last_modified":1480349197109},{"guid":"/^({4e988b08-8c51-45c1-8d74-73e0c8724579}|{93ec97bf-fe43-4bca-a735-5c5d6a0a40c4}|{aed63b38-7428-4003-a052-ca6834d8bad3}|{0b5130a9-cc50-4ced-99d5-cda8cc12ae48}|{C4CFC0DE-134F-4466-B2A2-FF7C59A8BFAD})$/","prefs":[],"schema":1480349193877,"blockID":"i524","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=947481","who":"All Firefox users who have this add-on installed. Users who wish to continue using it can enable it in the Add-ons Manager.","why":"The installer that includes this add-on violates the Add-on Guidelines by making changes that can't be easily reverted.","name":"SweetPacks","created":"2013-12-20T13:43:21Z"},"enabled":true,"versionRange":[{"severity":1,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"1a3a26a2-cdaa-e5ba-f6ac-47b98ae2cc26","last_modified":1480349197082},{"guid":"foxyproxy@eric.h.jung","prefs":[],"schema":1480349193877,"blockID":"i950","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1183890","who":"All users who have this add-on installed on Thunderbird 38 and above.","why":"This add-on is causing consistent startup crashes on Thunderbird 38 and above.","name":"FoxyProxy Standard for Thunderbird","created":"2015-07-15T09:34:44Z"},"enabled":true,"versionRange":[{"severity":1,"maxVersion":"4.5.5","minVersion":"0","targetApplication":[{"guid":"{3550f703-e582-4d05-9a08-453d09bdfdc6}","maxVersion":"*","minVersion":"38.0a2"},{"guid":"{92650c4d-4b8e-4d2a-b7eb-24ecf4f6b63a}","maxVersion":"*","minVersion":"2.35"}]}],"id":"5ee8203d-bea2-6cd5-9ba0-d1922ffb3d21","last_modified":1480349197056},{"guid":"{82AF8DCA-6DE9-405D-BD5E-43525BDAD38A}","prefs":[],"schema":1480349193877,"blockID":"i1056","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1225639","who":"All users who have this add-on installed in Firefox 43 and above. User who wish to continue using this add-on can enable it in the Add-ons Manager.","why":"This add-on is associated with frequent shutdown crashes in Firefox.","name":"Skype Click to Call","created":"2015-11-17T14:03:05Z"},"enabled":true,"versionRange":[{"severity":1,"maxVersion":"7.5.0.9082","minVersion":"0","targetApplication":[{"guid":"{ec8030f7-c20a-464f-9b0e-13a3a9e97384}","maxVersion":"*","minVersion":"43.0a1"}]}],"id":"484f8386-c415-7499-a8a0-f4e16f5a142f","last_modified":1480349197027},{"guid":"{22119944-ED35-4ab1-910B-E619EA06A115}","prefs":[],"schema":1480349193877,"blockID":"i45","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=699134","who":"Users of version 7.9.20.6 of RoboForm Toolbar and earlier on Firefox 48 and above.","why":"Older versions of the RoboForm Toolbar add-on are causing crashes in Firefox 48 and above. The developer has released a fix, available in versions 7.9.21+.","name":"Roboform","created":"2011-11-19T06:14:56Z"},"enabled":true,"versionRange":[{"severity":1,"maxVersion":"7.9.20.6","minVersion":"0.1","targetApplication":[{"guid":"{ec8030f7-c20a-464f-9b0e-13a3a9e97384}","maxVersion":"*","minVersion":"8.0a1"}]}],"id":"5f7f9e13-d3e8-ea74-8341-b83e36d67d94","last_modified":1480349196995},{"guid":"{87b5a11e-3b54-42d2-9102-0a7cb1f79ebf}","prefs":[],"schema":1480349193877,"blockID":"i838","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1128327","who":"All Firefox users who have this add-on installed.","why":"This add-on is silently installed and performs unwanted actions, in violation of the Add-on Guidelines.","name":"Cyti Web (malware)","created":"2015-02-06T14:29:12Z"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"1ba0e57c-4c0c-4eb6-26e7-c2016769c343","last_modified":1480349196965},{"guid":"/^({bf67a47c-ea97-4caf-a5e3-feeba5331231}|{24a0cfe1-f479-4b19-b627-a96bf1ea3a56})$/","prefs":[],"schema":1480349193877,"blockID":"i542","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=963819","who":"All Firefox users who have this add-on installed.","why":"This add-on has been repeatedly blocked before and keeps showing up with new add-on IDs, in violation of the Add-on Guidelines.","name":"MixiDJ (malware)","created":"2014-01-28T14:10:49Z"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"fc442b64-1b5d-bebb-c486-f431b154f3db","last_modified":1480349196622},{"guid":"/^({ebd898f8-fcf6-4694-bc3b-eabc7271eeb1}|{46008e0d-47ac-4daa-a02a-5eb69044431a}|{213c8ed6-1d78-4d8f-8729-25006aa86a76}|{fa23121f-ee7c-4bd8-8c06-123d087282c5}|{19803860-b306-423c-bbb5-f60a7d82cde5})$/","prefs":[],"schema":1480349193877,"blockID":"i622","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=947482","who":"All Firefox users who have this add-on installed. Users who wish to continue using this add-on can enable it in the Add-ons Manager.","why":"This add-on is known to change user settings without their consent, is distributed under multiple add-on IDs, and is also correlated with reports of tab functions being broken in Firefox, in violation of the Add-on Guidelines.","name":"WiseConvert","created":"2014-06-18T13:48:26Z"},"enabled":true,"versionRange":[{"severity":1,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"ffd184fa-aa8f-8a75-ff00-ce285dec5b22","last_modified":1480349196597},{"guid":"/^({fa95f577-07cb-4470-ac90-e843f5f83c52}|ffxtlbr@speedial\\.com)$/","prefs":["browser.startup.homepage","browser.search.defaultenginename"],"schema":1480349193877,"blockID":"i696","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1031115","who":"All Firefox users who have any of these add-ons installed. Users who wish to continue using these add-ons can enable them in the Add-ons Manager.","why":"These add-ons are silently installed and change homepage and search defaults without user consent, in violation of the Add-on Guidelines. They are also distributed under more than one add-on ID.","name":"Speedial","created":"2014-08-21T13:55:41Z"},"enabled":true,"versionRange":[{"severity":1,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"130c7419-f727-a2fb-3891-627bc69a43bb","last_modified":1480349196565},{"guid":"pennerdu@faceobooks.ws","prefs":[],"schema":1480349193877,"blockID":"i442","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=904050","who":"All Firefox users who have this add-on installed.","why":"This is a malicious add-on that hijacks Facebook accounts.","name":"Console Video (malware)","created":"2013-08-13T14:00:36Z"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"fb83e48e-a780-9d06-132c-9ecc65b43674","last_modified":1480349196541},{"guid":"anttoolbar@ant.com","prefs":[],"schema":1480349193877,"blockID":"i88","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=748269","who":"All Firefox users who have installed version 2.4.6.4 of the Ant Video Downloader and Player add-on.","why":"Version 2.4.6.4 of the Ant Video Downloader and Player add-on is causing a very high number of crashes in Firefox. There's an updated version 2.4.6.5 that doesn't have this problem. All users are recommended to update as soon as possible.","name":"Ant Video Downloader and Player","created":"2012-05-01T10:32:11Z"},"enabled":true,"versionRange":[{"severity":1,"maxVersion":"2.4.6.4","minVersion":"2.4.6.4","targetApplication":[]}],"id":"9eef435b-39d4-2b73-0810-44b0d3ff52ad","last_modified":1480349196509},{"guid":"{E90FA778-C2B7-41D0-9FA9-3FEC1CA54D66}","prefs":[],"schema":1480349193877,"blockID":"i446","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=788838","who":"All Firefox users who have this add-on installed. The add-on can be enabled again in the Add-ons Manager.","why":"This add-on is installed silently, in violation of our Add-on Guidelines.","name":"YouTube to MP3 Converter","created":"2013-09-06T15:59:29Z"},"enabled":true,"versionRange":[{"severity":1,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"83eb6337-a3b6-84e4-e76c-ee9200b80796","last_modified":1480349196471},{"guid":"{ad7ce998-a77b-4062-9ffb-1d0b7cb23183}","prefs":["browser.startup.homepage","browser.search.defaultenginename"],"schema":1480349193877,"blockID":"i804","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1080839","who":"All Firefox users who have this add-on installed.","why":"This add-on is silently installed and is considered malware, in violation of the Add-on Guidelines.","name":"Astromenda Search Addon","created":"2014-12-15T10:53:58Z"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"633f9999-c81e-bd7a-e756-de7d34feb39d","last_modified":1480349196438},{"guid":"{52b0f3db-f988-4788-b9dc-861d016f4487}","prefs":[],"schema":1480349193877,"blockID":"i584","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=974104","who":"All Firefox users who have these add-ons installed. If you wish to continue using these add-ons, you can enable them in the Add-ons Manager.","why":"Versions of this add-on are silently installed by the Free Driver Scout installer, in violation of our Add-on Guidelines.","name":"Web Check (Free Driver Scout bundle)","created":"2014-05-22T11:07:00Z"},"enabled":true,"versionRange":[{"severity":1,"maxVersion":"0.1.9999999","minVersion":"0","targetApplication":[]}],"id":"cba0ac44-90f9-eabb-60b0-8da2b645e067","last_modified":1480349196363},{"guid":"dodatek@flash2.pl","prefs":[],"schema":1480349193877,"blockID":"i1279","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1312748","who":"Any user with version 1.3 or newer of this add-on installed.","why":"This add-on claims to be a flash plugin and it does some work on youtube, but it also steals your facebook and adfly credentials and sends them to a remote server.","name":"Aktualizacja Flash WORK addon","created":"2016-10-27T15:52:00Z"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"1.3","targetApplication":[]}],"id":"2dab5211-f9ec-a1bf-c617-6f94f28b5ee1","last_modified":1480349196331},{"guid":"{2d069a16-fca1-4e81-81ea-5d5086dcbd0c}","prefs":[],"schema":1480349193877,"blockID":"i440","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=903647","who":"All Firefox users who have this add-on installed.","why":"This add-on is installed silently and doesn't follow many other of the Add-on Guidelines. If you want to continue using this add-on, you can enable it in the Add-ons Manager.","name":"GlitterFun","created":"2013-08-09T16:26:46Z"},"enabled":true,"versionRange":[{"severity":1,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"e3f77f3c-b1d6-3b29-730a-846007b9cb16","last_modified":1480349196294},{"guid":"xivars@aol.com","prefs":[],"schema":1480349193877,"blockID":"i501","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=946420","who":"All Firefox users who have this add-on installed.","why":"This is a malicious Firefox extension that uses a deceptive name and hijacks users' Facebook accounts.","name":"Video Plugin Facebook (malware)","created":"2013-12-04T15:34:32Z"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"3303d201-7006-3c0d-5fd5-45503e2e690c","last_modified":1480349196247},{"guid":"2bbadf1f-a5af-499f-9642-9942fcdb7c76@f05a14cc-8842-4eee-be17-744677a917ed.com","prefs":[],"schema":1480349193877,"blockID":"i700","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1052599","who":"All Firefox users who have this add-on installed. Users who wish to continue using this add-on can enable it in the Add-ons Manager.","why":"This add-on is widely considered malware and is apparently installed silently into users' systems, in violation of the Add-on Guidelines.","name":"PIX Image Viewer","created":"2014-08-21T16:15:16Z"},"enabled":true,"versionRange":[{"severity":1,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"1b72889b-90e6-ea58-4fe8-d48257df7d8b","last_modified":1480349196212},{"guid":"/^[0-9a-f]+@[0-9a-f]+\\.info/","prefs":[],"schema":1480349193877,"blockID":"i256","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=806451","who":"All Firefox users who have installed any of these add-ons.","why":"The set of extensions labeled as Codec, Codec-M, Codec-C and other names are malware being distributed as genuine add-ons.\r\n\r\nIf you think an add-on you installed was incorrectly blocked and the block dialog pointed you to this page, please comment on this blog post.","name":"Codec extensions (malware)","created":"2013-01-22T12:16:13Z"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"0c654540-00f2-0ad4-c9be-7ca2ace5341e","last_modified":1480349196184},{"guid":"toolbar@ask.com","prefs":[],"schema":1480349193877,"blockID":"i600","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1024719","who":"All Firefox users who have these versions of the Ask Toolbar installed. Users who wish to continue using it can enable it in the Add-ons Manager.","why":"Certain old versions of the Ask Toolbar are causing problems to users when trying to open new tabs. Using more recent versions of the Ask Toolbar should also fix this problem.","name":"Ask Toolbar (old Avira Security Toolbar bundle)","created":"2014-06-12T14:16:08Z"},"enabled":true,"versionRange":[{"severity":1,"maxVersion":"3.15.5.*","minVersion":"3.15.5","targetApplication":[]}],"id":"51c4ab3b-9ad3-c5c3-98c8-a220025fc5a3","last_modified":1480349196158},{"guid":"{729c9605-0626-4792-9584-4cbe65b243e6}","prefs":[],"schema":1480349193877,"blockID":"i788","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1073810","who":"All Firefox users who have this add-on installed.","why":"This add-on is silently installed into users' systems. It uses very unsafe practices to load its code, and leaks information of all web browsing activity. These are all violations of the Add-on Guidelines.","name":"Browser Ext Assistance","created":"2014-11-20T10:07:19Z"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"3c588238-2501-6a53-65ea-5c8ff0f3e51d","last_modified":1480349196123},{"guid":"unblocker20__web@unblocker.yt","prefs":[],"schema":1480349193877,"blockID":"i1213","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1251911","who":"All users who have this add-on installed.","why":"This add-on is a copy of YouTube Unblocker, which was originally blocked due to malicious activity.","name":"YouTube Unblocker 2.0","created":"2016-05-09T17:28:18Z"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"de305335-e9f3-f410-cf5c-f88b7ad4b088","last_modified":1480349196088},{"guid":"webbooster@iminent.com","prefs":["browser.startup.homepage","browser.search.defaultenginename"],"schema":1480349193877,"blockID":"i630","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=866943","who":"All Firefox users who have any of these add-ons installed. Users who wish to continue using them can enable them in the Add-ons Manager.","why":"These add-ons have been silently installed repeatedly, and change settings without user consent, in violation of the Add-on Guidelines.","name":"Iminent Minibar","created":"2014-06-26T15:49:27Z"},"enabled":true,"versionRange":[{"severity":1,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"d894ea79-8215-7a0c-b0e9-be328c3afceb","last_modified":1480349196032},{"guid":"jid1-uabu5A9hduqzCw@jetpack","prefs":[],"schema":1480349193877,"blockID":"i1016","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1208051","who":"All users who have this add-on installed.","why":"This add-on is injecting unwanted and unexpected advertisements into all web pages, and masking this behavior as ad-blocking in its code.","name":"SpeedFox (malware)","created":"2015-09-24T09:49:42Z"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"31397419-3dfa-9db3-f1aa-e812d4220669","last_modified":1480349196001},{"guid":"/^firefox@(jumpflip|webconnect|browsesmart|mybuzzsearch|outobox|greygray|lemurleap|divapton|secretsauce|batbrowse|whilokii|linkswift|qualitink|browsefox|kozaka|diamondata|glindorus|saltarsmart|bizzybolt|websparkle)\\.(com?|net|org|info|biz)$/","prefs":[],"schema":1480349193877,"blockID":"i548","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=937405","who":"All Firefox users who have one or more of these add-ons installed. If you wish to continue using any of these add-ons, they can be enabled in the Add-ons Manager.","why":"A large amount of add-ons developed by Yontoo are known to be silently installed and otherwise violate the Add-on Guidelines.","name":"Yontoo add-ons","created":"2014-01-30T15:06:01Z"},"enabled":true,"versionRange":[{"severity":1,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"bfaf3510-397e-48e6-cc4f-74202aaaed54","last_modified":1480349195955},{"guid":"firefox@bandoo.com","prefs":[],"schema":1480349193877,"blockID":"i23","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=629634","who":"Users of Bandoo version 5.0 for Firefox 3.6 and later.","why":"This add-on causes a high volume of Firefox crashes.","name":"Bandoo","created":"2011-03-01T23:30:23Z"},"enabled":true,"versionRange":[{"severity":1,"maxVersion":"5.0","minVersion":"5.0","targetApplication":[{"guid":"{ec8030f7-c20a-464f-9b0e-13a3a9e97384}","maxVersion":"*","minVersion":"3.7a1pre"}]}],"id":"bd487cf4-3f6a-f956-a6e9-842ac8deeac5","last_modified":1480349195915},{"guid":"5nc3QHFgcb@r06Ws9gvNNVRfH.com","prefs":[],"schema":1480349193877,"blockID":"i372","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=875752","who":"All Firefox users who have this add-on installed.","why":"This add-on is malware pretending to be the Flash Player plugin.","name":"Flash Player 11 (malware)","created":"2013-06-18T13:23:40Z"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"dc71fcf5-fae4-5a5f-6455-ca7bbe4202db","last_modified":1480349195887},{"guid":"/^(7tG@zEb\\.net|ru@gfK0J\\.edu)$/","prefs":[],"schema":1480349193877,"blockID":"i854","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=952255","who":"All Firefox users who have this add-on installed.","why":"This add-on is silently installed and performs unwanted actions, in violation of the Add-on Guidelines.","name":"youtubeadblocker (malware)","created":"2015-02-09T15:41:36Z"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"cfe42207-67a9-9b88-f80c-994e6bdd0c55","last_modified":1480349195851},{"guid":"{a7aae4f0-bc2e-a0dd-fb8d-68ce32c9261f}","prefs":[],"schema":1480349193877,"blockID":"i378","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=865090","who":"All Firefox users who have installed this add-on.","why":"This extension is malware that hijacks Facebook accounts for malicious purposes.","name":"Myanmar Extension for Facebook (malware)","created":"2013-06-18T15:58:54Z"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"30ecd9b9-4023-d9ef-812d-f1a75bb189b0","last_modified":1480349195823},{"guid":"a88a77ahjjfjakckmmabsy278djasi@jetpack","prefs":[],"schema":1480349193877,"blockID":"i1034","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1211171","who":"All users who have this add-on installed.","why":"This is a malicious add-on that takes over Facebook accounts.","name":"Fast Unlock (malware)","created":"2015-10-05T16:28:48Z"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"f801f112-3e8f-770f-10db-384349a36026","last_modified":1480349195798},{"guid":"crossriderapp5060@crossrider.com","prefs":[],"schema":1480349193877,"blockID":"i228","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=810016","who":"All Firefox users who have this add-on installed.","why":"This add-on is silently side-installed by other software, and it overrides user preferences and inserts advertisements in web content.","name":"Savings Sidekick","created":"2012-11-29T16:31:13Z"},"enabled":true,"versionRange":[{"severity":1,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"a37f76ac-7b77-b5a3-bac8-addaacf34bae","last_modified":1480349195769},{"guid":"/^(saamazon@mybrowserbar\\.com)|(saebay@mybrowserbar\\.com)$/","prefs":[],"schema":1480349193877,"blockID":"i672","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1011337","who":"All Firefox users who have these add-ons installed. Users wishing to continue using these add-ons can enable them in the Add-ons Manager.","why":"These add-ons are being silently installed, in violation of the Add-on Guidelines.","name":"Spigot Shopping Assistant","created":"2014-07-22T15:13:57Z"},"enabled":true,"versionRange":[{"severity":1,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"e072a461-ee5a-c83d-8d4e-5686eb585a15","last_modified":1480349195347},{"guid":"{b99c8534-7800-48fa-bd71-519a46cdc7e1}","prefs":[],"schema":1480349193877,"blockID":"i596","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1011325","who":"All Firefox users who have this add-on installed. Users who wish to continue using it can enable it in the Add-ons Manager.","why":"This add-on is silently installed, in violation with our Add-on Guidelines.","name":"BrowseMark","created":"2014-06-12T13:19:59Z"},"enabled":true,"versionRange":[{"severity":1,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"f411bb0f-7c82-9061-4a80-cabc8ff45beb","last_modified":1480349195319},{"guid":"/^({94d62e35-4b43-494c-bf52-ba5935df36ef}|firefox@advanceelite\\.com|{bb7b7a60-f574-47c2-8a0b-4c56f2da9802})$/","prefs":[],"schema":1480349193877,"blockID":"i856","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1130323","who":"All Firefox users who have this add-on installed.","why":"This add-on is silently installed and performs unwanted actions, in violation of the Add-on Guidelines.","name":"AdvanceElite (malware)","created":"2015-02-09T15:51:11Z"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"e3d52650-d3e2-4cef-71f7-e6188f56fe4d","last_modified":1480349195286},{"guid":"{458fb825-2370-4973-bf66-9d7142141847}","prefs":["app.update.auto","app.update.enabled","app.update.interval","app.update.url"],"schema":1480349193877,"blockID":"i1024","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1209588","who":"All users who have this add-on installed. Users who wish to continue using it can enable it in the Add-ons Manager.","why":"This add-on hides itself in the Add-ons Manager, interrupts the Firefox update process, and reportedly causes other problems to users, in violation of the Add-on Guidelines.","name":"Web Shield","created":"2015-09-29T09:25:27Z"},"enabled":true,"versionRange":[{"severity":1,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"32c5baa7-d547-eaab-302d-b873c83bfe2d","last_modified":1480349195258},{"guid":"{f2456568-e603-43db-8838-ffa7c4a685c7}","prefs":[],"schema":1480349193877,"blockID":"i778","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1073810","who":"All Firefox users who have this add-on installed.","why":"This add-on is silently installed into users' systems. It uses very unsafe practices to load its code, and leaks information of all web browsing activity. These are all violations of the Add-on Guidelines.","name":"Sup-SW","created":"2014-11-07T13:53:13Z"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"93568fa2-0cb7-4e1d-e893-d7261e81547c","last_modified":1480349195215},{"guid":"{77BEC163-D389-42c1-91A4-C758846296A5}","prefs":[],"schema":1480349193877,"blockID":"i566","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=964594","who":"All Firefox users who have this add-on installed. Users who wish to continue using it can enable it in the Add-on Manager.","why":"This add-on is silently installed into Firefox, in violation of the Add-on Guidelines.","name":"V-Bates","created":"2014-03-05T13:20:54Z"},"enabled":true,"versionRange":[{"severity":1,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"080edbac-25d6-e608-abdd-feb1ce7a9a77","last_modified":1480349195185},{"guid":"helper@vidscrab.com","prefs":[],"schema":1480349193877,"blockID":"i1077","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1231010","who":"All Firefox users who have this add-on installed. Users who wish to continue using the add-on can enable it in the Add-ons Manager.","why":"This add-on injects remote scripts and injects unwanted content into web pages.","name":"YouTube Video Downloader (from AddonCrop)","created":"2016-01-14T14:32:53Z"},"enabled":true,"versionRange":[{"severity":1,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"36b2e1e0-5fda-bde3-db55-dfcbe24dfd04","last_modified":1480349195157},{"guid":"/^ext@WebexpEnhancedV1alpha[0-9]+\\.net$/","prefs":[],"schema":1480349193877,"blockID":"i535","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=952717","who":"All Firefox users who have this add-on installed. If you wish to continue using this add-on, it can be enabled in the Add-ons Manager.","why":"This add-on is generally unwanted by users and uses multiple random IDs in violation of the Add-on Guidelines.","name":"Webexp Enhanced","created":"2014-01-09T11:22:19Z"},"enabled":true,"versionRange":[{"severity":1,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"c7d6a30d-f3ee-40fb-5256-138dd4593a61","last_modified":1480349195123},{"guid":"jid1-XLjasWL55iEE1Q@jetpack","prefs":[],"schema":1480349193877,"blockID":"i578","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1002037","who":"All Firefox users who have this add-on installed.","why":"This is a malicious add-on that presents itself as \"Flash Player\" but is really injecting unwanted content into Facebook pages.","name":"Flash Player (malware)","created":"2014-04-28T16:25:03Z"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"1e75b2f0-02fc-77a4-ad2f-52a4caff1a71","last_modified":1480349195058},{"guid":"{a3a5c777-f583-4fef-9380-ab4add1bc2a8}","prefs":[],"schema":1480349193877,"blockID":"i142","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=792132","who":"Todos los usuarios de Firefox que instalaron la versi\u00f3n 4.2 del complemento Cuevana Stream.\r\n\r\nAll Firefox users who have installed version 4.2 of the Cuevana Stream add-on.","why":"Espa\u00f1ol\r\nUna versi\u00f3n maliciosa del complemento Cuevana Stream (4.2) fue colocada en el sitio Cuevana y distribuida a muchos usuarios del sitio. Esta versi\u00f3n recopila informaci\u00f3n de formularios web y los env\u00eda a una direcci\u00f3n remota con fines maliciosos. Se le recomienda a todos los usuarios que instalaron esta versi\u00f3n que cambien sus contrase\u00f1as inmediatamente, y que se actualicen a la nueva versi\u00f3n segura, que es la 4.3.\r\n\r\nEnglish\r\nA malicious version of the Cuevana Stream add-on (4.2) was uploaded to the Cuevana website and distributed to many of its users. This version takes form data and sends it to a remote location with malicious intent. It is recommended that all users who installed this version to update their passwords immediately, and update to the new safe version, version 4.3.\r\n\r\n","name":"Cuevana Stream (malicious version)","created":"2012-09-18T13:37:47Z"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"4.2","minVersion":"4.2","targetApplication":[]}],"id":"91e551b9-7e94-60e2-f1bd-52f25844ab16","last_modified":1480349195007},{"guid":"{34712C68-7391-4c47-94F3-8F88D49AD632}","prefs":[],"schema":1480349193877,"blockID":"i922","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1173154","who":"All Firefox users who have this add-on installed in Firefox 39 and above.\r\n","why":"Certain versions of this extension are causing startup crashes in Firefox 39 and above.\r\n","name":"RealPlayer Browser Record Plugin","created":"2015-06-09T15:27:31Z"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0","targetApplication":[{"guid":"{ec8030f7-c20a-464f-9b0e-13a3a9e97384}","maxVersion":"*","minVersion":"39.0a1"}]}],"id":"dd350efb-34ac-2bb5-5afd-eed722dbb916","last_modified":1480349194976},{"guid":"PDVDZDW52397720@XDDWJXW57740856.com","prefs":["browser.startup.homepage","browser.search.defaultenginename"],"schema":1480349193877,"blockID":"i846","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1128320","who":"All Firefox users who have this add-on installed.","why":"This add-on is silently installed and attempts to change user settings like the home page and default search, in violation of the Add-on Guidelines.","name":"Ge-Force","created":"2015-02-06T15:03:39Z"},"enabled":true,"versionRange":[{"severity":1,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"c33e950c-c977-ed89-c86a-3be8c4be1967","last_modified":1480349194949},{"guid":"{977f3b97-5461-4346-92c8-a14c749b77c9}","prefs":[],"schema":1480349193877,"blockID":"i69","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=729356","who":"All Firefox users who have this add-on installed.","why":"This add-on adds apps to users' accounts, with full access permissions, and sends spam posts using these apps, all without any consent from users.","name":"Zuperface+","created":"2012-02-22T16:41:23Z"},"enabled":true,"versionRange":[{"severity":1,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"f105bdc7-7ebd-587c-6344-1533249f50b3","last_modified":1480349194919},{"guid":"discoverypro@discoverypro.com","prefs":[],"schema":1480349193877,"blockID":"i582","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1004231","who":"All Firefox users who have this add-on installed. If you wish to continue using this add-on, you can enabled it in the Add-ons Manager.","why":"This add-on is silently installed by the CNET installer for MP3 Rocket and probably other software packages. This is in violation of the Add-on Guidelines.","name":"Website Discovery Pro","created":"2014-04-30T16:10:03Z"},"enabled":true,"versionRange":[{"severity":1,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"34eab242-6fbc-a459-a89e-0dc1a0b8355d","last_modified":1480349194878},{"guid":"jid1-bKSXgRwy1UQeRA@jetpack","prefs":[],"schema":1480349193877,"blockID":"i680","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=979856","who":"All Firefox users who have this add-on installed. Users who wish to continue using this add-on can enable it in the Add-ons Manager.","why":"This add-on is silently installed into user's systems, in violation of the Add-on Guidelines.","name":"Trusted Shopper","created":"2014-08-01T16:34:01Z"},"enabled":true,"versionRange":[{"severity":1,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"f701b790-b266-c69d-0fba-f2d189cb0f34","last_modified":1480349194851},{"guid":"bcVX5@nQm9l.org","prefs":[],"schema":1480349193877,"blockID":"i848","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1128266","who":"All Firefox users who have this add-on installed.","why":"This add-on is silently installed and performs unwanted actions, in violation of the Add-on Guidelines.","name":"boomdeal","created":"2015-02-09T15:21:17Z"},"enabled":true,"versionRange":[{"severity":1,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"f8d6d4e1-b9e6-07f5-2b49-192106a45d82","last_modified":1480349194799},{"guid":"aytac@abc.com","prefs":[],"schema":1480349193877,"blockID":"i504","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=947341","who":"All Firefox users who have this add-on installed.","why":"This is a malicious extension that hijacks users' Facebook accounts.","name":"Facebook Haber (malware)","created":"2013-12-06T12:07:58Z"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"bfaf8298-dd69-165c-e1ed-ad55584abd18","last_modified":1480349194724},{"guid":"Adobe@flash.com","prefs":[],"schema":1480349193877,"blockID":"i136","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=790100","who":"All Firefox users who have this add-on installed.","why":"This add-on is malware posing as a legitimate Adobe product.","name":"Adobe Flash (malware)","created":"2012-09-10T16:09:06Z"},"enabled":true,"versionRange":[{"severity":1,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"47ac744e-3176-5cb6-1d02-b460e0c7ada0","last_modified":1480349194647},{"guid":"{515b2424-5911-40bd-8a2c-bdb20286d8f5}","prefs":[],"schema":1480349193877,"blockID":"i491","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=940753","who":"All Firefox users who have this add-on installed. Users who wish to continue using it can enable it in the Add-ons Manager.","why":"The installer that includes this add-on violates the Add-on Guidelines by making changes that can't be easily reverted.","name":"Connect DLC","created":"2013-11-29T14:52:24Z"},"enabled":true,"versionRange":[{"severity":1,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"6d658443-b34a-67ad-934e-cbf7cd407460","last_modified":1480349194580},{"guid":"/^({3f3cddf8-f74d-430c-bd19-d2c9147aed3d}|{515b2424-5911-40bd-8a2c-bdb20286d8f5}|{17464f93-137e-4646-a0c6-0dc13faf0113}|{d1b5aad5-d1ae-4b20-88b1-feeaeb4c1ebc}|{aad50c91-b136-49d9-8b30-0e8d3ead63d0})$/","prefs":[],"schema":1480349193877,"blockID":"i516","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=947478","who":"All Firefox users who have this add-on installed. Users who wish to continue using it can enable it in the Add-ons Manager.","why":"The installer that includes this add-on violates the Add-on Guidelines by making changes that can't be easily reverted and being distributed under multiple add-on IDs.","name":"Connect DLC","created":"2013-12-20T12:38:20Z"},"enabled":true,"versionRange":[{"severity":1,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"96f8e157-8b8b-8e2e-76cd-6850599b4370","last_modified":1480349194521},{"guid":"wxtui502n2xce9j@no14","prefs":[],"schema":1480349193877,"blockID":"i1012","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1206157","who":"All users who have this add-on installed.","why":"This is a malicious add-on that takes over Facebook accounts.","name":"Video fix (malware)","created":"2015-09-21T13:04:09Z"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"246798ac-25fa-f4a4-258c-a71f9f6ae091","last_modified":1480349194463},{"guid":"flashX@adobe.com","prefs":[],"schema":1480349193877,"blockID":"i168","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=807052","who":"All Firefox users who have this add-on installed.","why":"This is an exploit proof-of-concept created for a conference presentation, which will probably be copied and modified for malicious purposes. \r\n","name":"Zombie Browser Pack","created":"2012-10-30T12:07:41Z"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"d7c69812-801c-8d8e-12cb-c5171bdc48a1","last_modified":1480349194428},{"guid":"/^(ff\\-)?dodate(kKKK|XkKKK|k|kk|kkx|kR)@(firefox|flash(1)?)\\.pl|dode(ee)?k@firefoxnet\\.pl|(addon|1)@upsolutions\\.pl$/","prefs":[],"schema":1480349193877,"blockID":"i1278","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1312748","who":"Any user with a version of this add-on installed.","why":"This add-on claims to be a flash plugin and it does some work on youtube, but it also steals your facebook and adfly credentials and sends them to a remote server.","name":"Aktualizacja dodatku Flash Add-on","created":"2016-10-27T10:52:53Z"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"389aec65-a15d-8276-c7a8-691ac283c9f1","last_modified":1480349194386},{"guid":"tmbepff@trendmicro.com","prefs":[],"schema":1480349193877,"blockID":"i1223","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1275245","who":"All users of this add-on. If you wish to continue using it, you can enable it in the Add-ons Manager.","why":"Add-on is causing a high-frequency crash in Firefox.","name":"Trend Micro BEP 9.2 to 9.2.0.1023","created":"2016-05-30T17:07:04Z"},"enabled":true,"versionRange":[{"severity":1,"maxVersion":"9.2.0.1023","minVersion":"9.2","targetApplication":[]}],"id":"46f75b67-2675-bdde-be93-7ea03475d405","last_modified":1480349194331},{"guid":"{4889ddce-7a83-45e6-afc9-1e4f1149fff4}","prefs":[],"schema":1480343836083,"blockID":"i840","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1128327","who":"All Firefox users who have this add-on installed.","why":"This add-on is silently installed and performs unwanted actions, in violation of the Add-on Guidelines.","name":"Cyti Web (malware)","created":"2015-02-06T14:30:06Z"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"be600f35-0633-29f3-c571-819e19d85db9","last_modified":1480349193867},{"guid":"{55dce8ba-9dec-4013-937e-adbf9317d990","prefs":[],"schema":1480343836083,"blockID":"i690","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1048647","who":"All Firefox users. Users who wish to continue using this add-on can enable it in the Add-ons Manager.","why":"This add-on is being silently installed in users' systems, in violation of the Add-on Guidelines.","name":"Deal Keeper","created":"2014-08-12T16:23:46Z"},"enabled":true,"versionRange":[{"severity":1,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"512b0d40-a10a-5ddc-963b-b9c487eb1422","last_modified":1480349193833},{"guid":"/^new@kuot\\.pro|{13ec6687-0b15-4f01-a5a0-7a891c18e4ee}|rebeccahoppkins(ty(tr)?)?@gmail\\.com|{501815af-725e-45be-b0f2-8f36f5617afc}|{9bdb5f1f-b1e1-4a75-be31-bdcaace20a99}|{e9d93e1d-792f-4f95-b738-7adb0e853b7b}|dojadewaskurwa@gmail\\.com$/","prefs":[],"schema":1480343836083,"blockID":"i1414","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1312748","who":"All users who have this add-on installed.","why":"This add-on claims to be a flash plugin and it does some work on youtube, but it also steals your facebook and adfly credentials and sends them to a remote server.","name":"Aktualizacja dodatku Flash (malware)","created":"2016-10-28T18:06:03Z"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"5cebc983-bc88-d5f8-6807-bd1cbfcd82fd","last_modified":1480349193798},{"guid":"/^pink@.*\\.info$/","prefs":[],"schema":1480343836083,"blockID":"i238","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=806543","who":"All Firefox users (Firefox 19 and above) who have any of these add-ons installed.","why":"This is a set of malicious add-ons that affect many users and are installed without their consent.","name":"Pink add-ons (malware)","created":"2012-12-07T13:46:20Z"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0","targetApplication":[{"guid":"{ec8030f7-c20a-464f-9b0e-13a3a9e97384}","maxVersion":"*","minVersion":"18.0"}]}],"id":"0d964264-8bd6-b78d-3c6c-92046c7dc8d0","last_modified":1480349193764},{"guid":"{58d2a791-6199-482f-a9aa-9b725ec61362}","prefs":[],"schema":1480343836083,"blockID":"i746","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=963787","who":"All Firefox users who have this add-on installed. Users who wish to continue using it can enable it in the Add-ons Manager.","why":"This add-on is silently installed into users' systems, in violation of the Add-on Guidelines.","name":"Start Page","created":"2014-10-17T16:01:53Z"},"enabled":true,"versionRange":[{"severity":1,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"8ebbc7d0-635c-b74a-de9f-16eb5837b36a","last_modified":1480349193730},{"guid":"{94cd2cc3-083f-49ba-a218-4cda4b4829fd}","prefs":[],"schema":1480343836083,"blockID":"i590","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1013678","who":"All Firefox users who have this add-on installed. Users who wish to continue using this add-on can enable it in the Add-ons Manager.","why":"This add-on is silently installed into users' profiles, in violation of the Add-on Guidelines.","name":"Value Apps","created":"2014-06-03T16:12:50Z"},"enabled":true,"versionRange":[{"severity":1,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"556b8d4d-d6c2-199d-9f33-8eccca07e8e7","last_modified":1480349193649},{"guid":"contentarget@maildrop.cc","prefs":[],"schema":1480343836083,"blockID":"i818","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1119971","who":"All Firefox users who have this add-on installed.","why":"This is a malicious extension that hijacks Facebook accounts.","name":"Astro Play (malware)","created":"2015-01-12T09:29:19Z"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"440e9923-027a-6089-e036-2f78937dc193","last_modified":1480349193622},{"guid":"unblocker30__web@unblocker.yt","prefs":[],"schema":1480343836083,"blockID":"i1228","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1251911","who":"All users who have this add-on installed.","why":"This add-on is a copy of YouTube Unblocker, which was originally blocked due to malicious activity.","name":"YouTube Unblocker 3.0","created":"2016-06-01T15:17:22Z"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"2d83e640-ef9d-f260-f5a3-a1a5c8390bfc","last_modified":1480349193595},{"guid":"noOpus@outlook.com","prefs":[],"schema":1480343836083,"blockID":"i816","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1119659","who":"All Firefox users who have this add-on installed.","why":"This add-on is silently installed into users' systems without their consent and performs unwanted operations.","name":"Full Screen (malware)","created":"2015-01-09T12:52:32Z"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"b64d7cef-8b6c-2575-16bc-732fca7db377","last_modified":1480349193537},{"guid":"{c95a4e8e-816d-4655-8c79-d736da1adb6d}","prefs":[],"schema":1480343836083,"blockID":"i433","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=844945","who":"All Firefox users who have this add-on installed.","why":"This add-on bypasses the external install opt in screen in Firefox, violating the Add-on Guidelines. Users who wish to continue using this add-on can enable it in the Add-ons Manager.","name":"Hotspot Shield","created":"2013-08-09T11:25:49Z"},"enabled":true,"versionRange":[{"severity":1,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"b3168278-a8ae-4882-7f26-355bc362bed0","last_modified":1480349193510},{"guid":"{9802047e-5a84-4da3-b103-c55995d147d1}","prefs":[],"schema":1480343836083,"blockID":"i722","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1073810","who":"All Firefox users who have this add-on installed.","why":"This add-on is silently installed into users' systems. It uses very unsafe practices to load its code, and leaks information of all web browsing activity. These are all violations of the Add-on Guidelines.","name":"Web Finder Pro","created":"2014-10-07T12:58:14Z"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"50097c29-26b1-bf45-ffe1-83da217eb127","last_modified":1480349193482},{"guid":"/^({bf9194c2-b86d-4ebc-9b53-1c08b6ff779e}|{61a83e16-7198-49c6-8874-3e4e8faeb4f3}|{f0af464e-5167-45cf-9cf0-66b396d1918c}|{5d9968c3-101c-4944-ba71-72d77393322d}|{01e86e69-a2f8-48a0-b068-83869bdba3d0})$/","prefs":[],"schema":1480343836083,"blockID":"i515","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=947473","who":"All Firefox users who have this add-on installed. Users who wish to continue using it can enable it in the Add-ons Manager.","why":"The installer that includes this add-on violates the Add-on Guidelines by using multiple add-on IDs and making unwanted settings changes.","name":"VisualBee Toolbar","created":"2013-12-20T12:26:49Z"},"enabled":true,"versionRange":[{"severity":1,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"029fa6f9-2351-40b7-5443-9a66e057f199","last_modified":1480349193449},{"guid":"/^({d50bfa5f-291d-48a8-909c-5f1a77b31948}|{d54bc985-6e7b-46cd-ad72-a4a266ad879e}|{d89e5de3-5543-4363-b320-a98cf150f86a}|{f3465017-6f51-4980-84a5-7bee2f961eba}|{fae25f38-ff55-46ea-888f-03b49aaf8812})$/","prefs":[],"schema":1480343836083,"blockID":"i1137","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1251940","who":"All users who have this add-on installed.","why":"This is a malicious add-on that hides itself from view and disables various security features in Firefox.","name":"Watcher (malware)","created":"2016-03-04T17:56:42Z"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"252e18d0-85bc-7bb3-6197-5f126424c9b3","last_modified":1480349193419},{"guid":"ffxtlbr@claro.com","prefs":[],"schema":1480343836083,"blockID":"i218","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=816762","who":"All Firefox users who have installed this add-on.","why":"The Claro Toolbar is side-installed with other software, unexpectedly changing users' settings and then making it impossible for these settings to be reverted by users.","name":"Claro Toolbar","created":"2012-11-29T16:07:00Z"},"enabled":true,"versionRange":[{"severity":1,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"e017a3b2-9b37-b8a0-21b0-bc412ae8a7f4","last_modified":1480349193385},{"guid":"/^(.*@(unblocker\\.yt|sparpilot\\.com))|(axtara@axtara\\.com)$/","prefs":[],"schema":1480343836083,"blockID":"i1229","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1251911","who":"All users who have this add-on installed.","why":"These add-ons are copies of YouTube Unblocker, which was originally blocked due to malicious activity.","name":"YouTube Unblocker (various)","created":"2016-06-03T15:28:39Z"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"c677cc5d-5b1e-8aa2-5cea-5a8dddce2ecf","last_modified":1480349193344},{"guid":"/^(j003-lqgrmgpcekslhg|SupraSavings|j003-dkqonnnthqjnkq|j003-kaggrpmirxjpzh)@jetpack$/","prefs":[],"schema":1480343836083,"blockID":"i692","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1048656","who":"All Firefox users who have this add-on installed. Users who wish to continue using this add-on can enable it in the Add-ons Manager.","why":"This add-on is being silently installed in users' systems, in violation of the Add-on Guidelines.","name":"SupraSavings","created":"2014-08-12T16:27:06Z"},"enabled":true,"versionRange":[{"severity":1,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"b0d30256-4581-1489-c241-d2e85b6c38f4","last_modified":1480349193295},{"guid":"helperbar@helperbar.com","prefs":[],"schema":1480343836083,"blockID":"i258","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=817786","who":"All Firefox users who have this add-on installed. This only applies to version 1.0 of Snap.do. Version 1.1 fixed all the issues for which this block was created.","why":"This extension violates a number of our Add-on Guidelines, particularly on installation and settings handling. It also causes some stability problems in Firefox due to the way the toolbar is handled.\r\n\r\nUsers who wish to keep the add-on enabled can enable it again in the Add-ons Manager.","name":"Snap.do","created":"2013-01-28T13:52:26Z"},"enabled":true,"versionRange":[{"severity":1,"maxVersion":"1.0","minVersion":"0","targetApplication":[]}],"id":"f1ede5b8-7757-5ec5-d8ed-1a01889154aa","last_modified":1480349193254},{"guid":"/^((support2_en@adobe14\\.com)|(XN4Xgjw7n4@yUWgc\\.com)|(C7yFVpIP@WeolS3acxgS\\.com)|(Kbeu4h0z@yNb7QAz7jrYKiiTQ3\\.com)|(aWQzX@a6z4gWdPu8FF\\.com)|(CBSoqAJLYpCbjTP90@JoV0VMywCjsm75Y0toAd\\.com)|(zZ2jWZ1H22Jb5NdELHS@o0jQVWZkY1gx1\\.com))$/","prefs":[],"schema":1480343836083,"blockID":"i326","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=841791","who":"All users who have this add-on installed.","why":"This extension is malware, installed pretending to be the Flash Player plugin.","name":"Flash Player (malware)","created":"2013-03-22T14:49:08Z"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"3142020b-8af9-1bac-60c5-ce5ad0ff3d42","last_modified":1480349193166},{"guid":"newmoz@facebook.com","prefs":[],"schema":1480343836083,"blockID":"i576","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=997986","who":"All Firefox users who have this add-on installed.","why":"This add-on is malware that hijacks Facebook user accounts and sends spam on the user's behalf.","name":"Facebook Service Pack (malware)","created":"2014-04-22T14:34:42Z"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"d85798d3-9b87-5dd9-ace2-64914b93df77","last_modified":1480349193114},{"guid":"flvto@hotger.com","prefs":[],"schema":1480343836083,"blockID":"i1211","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1270175","who":"All users of this add-on. If you wish to continue using it, you can enable it in the Add-ons Manager.","why":"This add-on reports every visited URL to a third party without disclosing it to the user.","name":"YouTube to MP3 Button","created":"2016-05-04T16:26:32Z"},"enabled":true,"versionRange":[{"severity":1,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"a14d355f-719f-3b97-506c-083cc97cebaa","last_modified":1480349193088},{"guid":"{0F827075-B026-42F3-885D-98981EE7B1AE}","prefs":[],"schema":1480343836083,"blockID":"i334","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=862272","who":"All Firefox users who have this extension installed.","why":"This extension is malicious and is installed under false pretenses, causing problems for many Firefox users. Note that this is not the same BrowserProtect extension that is listed on our add-ons site. That one is safe to use.","name":"Browser Protect / bProtector (malware)","created":"2013-04-16T13:25:01Z"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"aad4545f-8f9d-dd53-2aa8-e8945cad6185","last_modified":1480349192987}]} \ No newline at end of file +{"data":[{"guid":"/^((\\{b3c1723b-6e69-4a3d-b3f6-90793bbd6500\\})|(\\{ba38e6b7-7480-4e58-9f5b-162e83c6ece8\\})|(\\{ff08056a-a34e-44b1-bcae-805d3770738f\\})|(\\{29806031-d49c-4ef3-a37a-32ee29e5fc0b\\})|(\\{541e33f8-ec74-4311-b7a3-8baa185aeb7e\\})|(\\{d8196867-5419-450c-aee4-1e349b4b0b5f\\})|(\\{ebd7a4e7-056e-4009-bb5e-753c1d1eed93\\})|(\\{01935a63-d565-478a-9f91-9ff9aa49ce61\\})|(\\{d0e7ce73-9829-4a10-b5f2-83f8bf2c730b\\})|(\\{b70f302a-84ad-4f10-8af3-f6ea4aa327fb\\})|(\\{e5f1a2e5-798b-4915-b109-5ebbe2b57821\\})|(\\{7921669d-959a-4992-857d-f47761b5b4ac\\})|(\\{80808d17-bf74-4b91-8fa5-694c3107950d\\})|(\\{84984575-1b73-4b96-ba1c-d9959393e742\\})|(\\{20587256-b018-41c2-91fc-5a278a2837f2\\})|(\\{577f8c9b-c791-4999-9c39-1e4584f4e9d6\\})|(\\{3691584f-c3a3-4fde-8817-b2501802ef54\\})|(\\{e1680c37-e6ff-4280-8f97-943d77e63022\\})|(\\{013ae092-188d-4e95-9138-2b4d98dda7cd\\})|(\\{05e3806c-00e6-40c7-8503-9c30f3db8e63\\})|(\\{9552ab33-c43e-4338-a020-80dc3636f577\\})|(\\{8fd3c74f-57d7-4e1b-9e52-6c4517ef89f0\\})|(\\{9b0ad6aa-7c54-4655-aca5-78e973b0ebd4\\})|(\\{e648ecf7-4858-40f8-9d85-5cc5f68eae6c\\})|(\\{9430fbaf-aa5d-4492-92c2-0f1354c5c860\\})|(\\{d58bd1fd-6451-42d5-b066-4baf7d4271f9\\})|(\\{948790d7-57d3-4db1-8fc7-7ccee4abf047\\})|(\\{1b8d5392-1641-43c1-a6d6-d1429e9d4109\\})|(\\{3ae072ea-3ffc-4395-8f3c-ebe92f355c3d\\})|(\\{32f9b8a8-505a-4621-979b-b6919633f787\\})|(\\{e939e079-1e15-4491-95b3-6fb8a836e80b\\}))$/","prefs":[],"schema":1558954910531,"details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1554635","why":"This add-on violates Mozilla's add-on policies by using a deceptive name while providing unwanted functionality. This is not a legitimate Flash Player add-on.","name":"Adobe Flash Player (Malware)"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0"}],"id":"e454fe70-d5d7-40c0-a571-e9253d1361d5","last_modified":1558955090783},{"guid":"{19ed30e8-28ad-405a-a7e4-18a8c78b1078}","prefs":[],"schema":1558951086426,"details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1554624","why":"This add-on violates Mozilla\u2019s add-on policies by executing remote code.","name":"OpTurs"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0"}],"id":"3a3b8837-605f-48dd-8b40-a66777f45108","last_modified":1558951513292},{"guid":"/^((akjbfncbadcmnkopckegnmjgihagponf@chromeStoreFoxified)|(akjbfncbadcmnkopckegnmjgihagponf@chromeStoreFoxified-2563213750)|(akjbfncbadcmnkopckegnmjgihagponf@chrome-store-foxified-3767541208)|(akjbfncbadcmnkopckegnmjgihagponf@chrome-store-foxified-2330732719)|(cidchfadpgepemappcgeafeicnjomaad@chrome-store-foxified-509978031)|(akjbfncbadcmnkopckegnmjgihagponf@chrome-store-foxified-558690357)|(akjbfncbadcmnkopckegnmjgihagponf@chrome-store-foxified-3523362862)|(akjbfncbadcmnkopckegnmjgihagponf@chrome-store-foxified-850818380)|(akjbfncbadcmnkopckegnmjgihagponf@chrome-store-foxified-3686225023)|(akjbfncbadcmnkopckegnmjgihagponf@chrome-store-foxified-3659951669)|(akjbfncbadcmnkopckegnmjgihagponf@chrome-store-foxified-1114585181)|(akjbfncbadcmnkopckegnmjgihagponf@chrome-store-foxified-2593088680)|(edmdnjinnadgoalbaojbhkbognfappih@chrome-store-foxified-206569335)|(akjbfncbadcmnkopckegnmjgihagponf@chrome-store-foxified-3272316989)|(akjbfncbadcmnkopckegnmjgihagponf@chrome-store-foxified-96331909)|(akjbfncbadcmnkopckegnmjgihagponf@chrome-store-foxified-2158751912)|(akjbfncbadcmnkopckegnmjgihagponf@chrome-store-foxified-1554953450)|(kadbillinepbjlgenaliokdhejdmmlgp@chrome-store-foxified-323465212)|(kadbillinepbjlgenaliokdhejdmmlgp@chrome-store-foxified-3112875041)|(akjbfncbadcmnkopckegnmjgihagponf@chrome-store-foxified-1868258955)|(akjbfncbadcmnkopckegnmjgihagponf@chrome-store-foxified-611481225)|(akjbfncbadcmnkopckegnmjgihagponf@chrome-store-foxified-162688242)|(akjbfncbadcmnkopckegnmjgihagponf@chrome-store-foxified-1394660953)|(\\{de07e1ed-1597-45f9-957d-4edc44399451\\})|(akjbfncbadcmnkopckegnmjgihagponf@chrome-store-foxified-294092903)|(akjbfncbadcmnkopckegnmjgihagponf@chrome-store-foxified--2032791676)|(akjbfncbadcmnkopckegnmjgihagponf@chrome-store-foxified--786206880)|(\\{76f8d31f-d1b6-4171-885e-6fcde28ca547\\})|(\\{b7492f2d-72b6-4816-83d5-9c82b3cc5581\\})|(\\{3f0fa616-3f92-42e2-ac1e-69ae7b1c7872\\})|(\\{2e324574-0761-4017-bc96-66270563e277\\})|(\\{950d03c6-722e-498d-90fc-ec9d9c1ab893\\})|(\\{6cb64844-2dca-4f29-82d1-cb59459ad824\\})|(\\{5347a8c7-a156-4455-8301-7d19d269bd2c\\})|(\\{17c69a23-df19-4655-aaa9-e8a35f186ddf\\})|(\\{381eb5ad-0f02-4146-85f4-2cc7c7a7dee4\\})|(\\{e797aab6-f3df-4d0d-89c2-320371720194\\})|(\\{91a95e76-4b27-427f-9554-7c1aa58c8489\\})|(\\{5bd5f5a3-3f30-4c90-bf5c-7ff32eae9fac\\})|(\\{e9cbcded-05e0-4cf0-9163-8507de356646\\})|(\\{4262365c-085f-4f2b-9bd7-048d7d1c90de\\})|(\\{d6d89cdf-36e4-44b5-8ea2-2283e25e99b9\\})|(\\{3ab34cbc-4a18-4fac-b629-3b10091d505e\\})|(\\{28beb080-37b1-42ec-a6e9-89cff276cc3e\\})|(\\{d83baff8-42f1-485c-bc61-0df0a2fa2834\\})|(\\{f1260949-ea01-4f69-b302-87ac898bc677\\})|(\\{f2bb825a-19b7-46ba-b759-557885e28ff9\\})|(\\{d1023b1e-87f6-49d4-b93d-80d94cafb101\\})|(\\{605bf342-f990-43b3-9053-b6ad563cc944\\})|(\\{20da0f4c-c6ee-4c4a-be76-8cb0fdd759b7\\})|(\\{29563a03-2ea3-4187-b3dc-af3027287df8\\})|(\\{9fc76cae-b6b4-45af-aa0e-81d1bf419812\\})|(\\{b83f6a6c-6bb3-492f-aad2-56a6b79a02d4\\})|(\\{4e340962-9d78-486c-8ec8-fdc8ba0448c3\\})|(\\{4f420c0e-824f-408b-8327-418934c566e9\\})|(\\{51057732-1a37-491c-afeb-dccbb18e2341\\})|(\\{ac9415c8-b978-4636-a0f6-99b75f1bfacc\\})|(\\{ba9d81ff-13da-4183-8b32-19cc18a198c3\\})|(\\{614f9cd7-d46e-47a5-bcd6-fc9cefc846ac\\})|(\\{83ab005b-85f8-4185-b500-26c78f29e470\\})|(\\{814b9b95-0470-42f5-9be1-b322ae1a300c\\})|(\\{c565d582-ef45-4ee5-a13d-e0bc544bb483\\})|(\\{bbc0a83c-ff01-4f55-beed-c8dd6256d99b\\})|(\\{00d71c76-8b41-4e12-877b-62ad742c5b5b\\})|(\\{22c15bb7-3cac-4480-ad95-8ef2b4762689\\})|(\\{4ce4a857-3ba4-46d3-83e1-424e608f8a1d\\})|(\\{638ad118-0407-437c-a657-f8bde7b0c511\\})|(\\{c35dba3d-eed7-4ee2-b7ed-b2f636810ea1\\})|(\\{7635e554-de52-4a55-81f4-5d4e7ac9e416\\})|(\\{b768c014-21ff-49c9-9a27-186e33574612\\})|(\\{e31ae098-b80a-4286-8688-8514ace2d0fd\\})|(\\{104607b9-ad49-4760-882a-5cc13164531a\\})|(\\{bf78148e-f4d1-48b7-92b2-93ca2003d619\\})|(\\{877777da-7695-4d7e-a469-2a4b4cfbe0c4\\})|(\\{b09f3de0-26c4-4790-ba8e-50a1d1725053\\})|(\\{a24b471c-9100-455c-825a-689533d24979\\})|(\\{12a8c732-c19a-468e-8be4-a16f9a27c845\\})|(\\{bad6c6a4-6108-4e44-b7e3-c05bed9d4e50\\})|(\\{1b598a16-ca58-41bf-8cc2-3741356363b9\\})|(\\{a5520fcc-b75a-4527-931b-e403aa8772ef\\})|(\\{cec7aeec-9352-4ed1-8362-8e384704ab29\\})|(\\{1bf3e066-3707-41eb-b62d-55da5bbe930d\\})|(\\{1fd8204a-f25b-47d0-bfac-35c41451e2e7\\})|(\\{ab1f1e53-9102-4f4f-a793-0a81f5669e13\\})|(\\{5620c992-8683-4ce1-b19d-3633b4c28bd0\\})|(\\{cbc29a75-5858-4b7b-98e4-c813a4e6a085\\})|(\\{4cf619a8-2de2-41cb-bf23-dfa52e4e7d5a\\})|(\\{3b013e48-d683-45ed-8715-a6ece06f0753\\})|(\\{9834ff7f-e3ea-485a-b861-801a2e33f822\\}))$/","prefs":[],"schema":1558868795769,"details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1554606","why":"This add-on violates Mozilla\u2019s add-on policies by executing remote code.","name":"Various remote script injection add-ons"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0"}],"id":"8258f92c-5b89-42a7-a984-dd4e94fa301a","last_modified":1558948270140},{"guid":"{9834ff7f-e3ea-485a-b861-801a2e33f822}","prefs":[],"schema":1558813299527,"details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1554465","why":"This add-on violates Mozilla\u2019s add-on policies by executing remote code.","name":"LinkT"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0"}],"id":"b9496c5f-b37d-4b8e-abaf-509b980ab553","last_modified":1558868765210},{"guid":"/^((\\{0e9ab3be-c296-4825-aecd-3923ded051f6\\})|(\\{9f737295-e8d2-4e70-b226-8809f6b135c9\\})|(\\{68e1d557-8fc1-40e0-b197-43f8f3d36239\\})|(\\{90221614-a0b9-4301-b141-3f8a23fb4835\\})|(\\{d3255cb0-bf30-43b0-afd3-db97bfeeede4\\})|(\\{b4498268-c0d0-435c-944e-8dd6e8518654\\})|(\\{93d90a45-a10e-47df-a106-2ffeefe3052a\\})|(\\{d7b04034-ea8b-4219-ad1c-ffa061a2e0cb\\})|(\\{391772ba-a23c-4892-b30d-45d2a935be3c\\})|(\\{0b2aaa98-1f4b-483a-815f-3f864711a737\\})|(\\{2564ed8f-305b-4ade-a787-6fae696c14ab\\})|(\\{fc2fe0a7-9886-4a7e-9850-cccc2879b0e7\\}))$/","prefs":[],"schema":1558712940017,"details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1554227","why":"This add-on violates Mozilla\u2019s add-on policies by collecting ancillary user data.","name":"Flash Player Fakes"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0"}],"id":"768bde60-2086-487f-b374-ca3fa6e712fd","last_modified":1558713145915},{"guid":"{4ee078c0-ded1-4f82-9bb1-de645e778924}","prefs":[],"schema":1558712019540,"details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1554097","why":"This add-on violates Mozilla\u2019s add-on policies by executing remote code.","name":"Switch"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0"}],"id":"a0508904-1f0b-4352-a5e6-a33f8fa26ce8","last_modified":1558712846698},{"guid":"/^((spp@avast\\.com)|(\\{056790bb-9676-40fb-845a-feae6dedfbee\\})|(\\{15d51e39-3ccf-4ce2-a434-dbbf1785e867\\})|(\\{2bbdf86f-3c6b-48d6-9934-9051ce5f5976\\})|(\\{2f6d1519-33b5-4970-a7ec-561f5e067ba0\\})|(\\{2fd10339-a9db-4846-bdd7-ee41cea97312\\})|(\\{31390faf-ef95-4f4b-a1a4-3c3a09dd7b5a\\})|(\\{411bfbf9-646d-401c-b87d-e77d812a68ce\\})|(\\{44e4b2cf-77ba-4f76-aca7-f3fcbc2dda2f\\})|(\\{5422d0cd-3b45-4fcd-9886-463be7e1a05f\\})|(\\{5ae5a1f8-a994-4e61-8c99-54a9fe58a9c4\\})|(\\{5d4c1f36-196d-4e9a-909b-8ad138546f79\\})|(\\{7150cd87-1b5f-41ea-b659-5cae4b753e2d\\})|(\\{78a02646-2bf6-417e-9498-32f29a4ef89a\\})|(\\{7bdac7a1-be1d-4ecd-8cf1-a1db64adfaaf\\})|(\\{80686e70-c06a-4ab3-b7bf-fd4c05985c1b\\})|(\\{83830f14-c5d0-4546-af99-cbaba3ab832d\\})|(\\{869a5e06-732e-4635-8da3-90a2802f9c80\\})|(\\{87ea875a-396a-4c7b-b202-cecd5a4fe0d4\\})|(\\{94847025-c5a9-4dd7-83df-54c17b79eeb8\\})|(\\{992e4d3d-f56b-4f71-b826-0dd976681228\\})|(\\{a259d36e-9c24-4216-8b28-d3e83c07a832\\})|(\\{a669b31a-3a2b-4c75-838c-a8542f77c79f\\})|(\\{af35bf73-7d25-4286-9be6-fa822818ac82\\})|(\\{b01f0319-b398-4a6e-b9c9-e59e2d99eee7\\})|(\\{c516baf9-a911-453e-be0e-26389cfb33ac\\})|(\\{c88fc74d-31b5-40d4-bb8a-008f2d7a1ea0\\})|(\\{ca6b87f3-2d8b-49ea-9627-95e900c5f108\\})|(\\{cdc01730-6108-4581-b5da-36f7fa8e3d2e\\})|(\\{cfbbd54d-26dd-4f20-b0c9-26b2d920bc04\\})|(\\{d384c2ef-9e42-4dfa-bba5-73b9b6ad2e61\\})|(\\{d7ef08b6-ef77-43b6-ad60-74ea67495674\\})|(\\{dec788dd-9a21-416d-91c7-bf79250cab04\\})|(\\{fb182266-3336-4dcb-8898-859affe73e7f\\})|(\\{fe17e98b-1ed8-45fe-a6e5-8280902d2500\\})|(\\{febfdee8-5724-4aea-8b70-6be9e22248fc\\})|(\\{ff471567-6ff5-48d9-8db6-d2c9134f0aed\\}))$/","prefs":[],"schema":1558674107244,"details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1554004","why":"This add-on violates Mozilla\u2019s add-on policies by executing remote code.","name":"Keyloggers and Fake Anti-Virus or VPN add-ons"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0"}],"id":"3b36e078-7c88-411c-9366-033ac185c66d","last_modified":1558711200727},{"guid":"{e256d52b-d9ae-4709-aa9f-ba4d1eb1b284}","prefs":[],"schema":1558637428118,"details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1553531","why":"This add-on violates Mozilla\u2019s add-on policies by executing remote code.","name":"Reading Cursors"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0"}],"id":"4b943d8a-828f-45d2-b8e7-f16e6c3f860c","last_modified":1558637573461},{"guid":"{7d3c46ed-b9f7-497e-bccc-e6d878032d14}","prefs":[],"schema":1558636256156,"details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1553746","why":"This add-on violates Mozilla\u2019s add-on policies by executing remote code.","name":"Zoom"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0"}],"id":"1282ea00-9aa1-47c6-9a93-4fc17aa4fcc4","last_modified":1558637428108},{"guid":"{cc02a70f-0610-456c-bc5e-5eefb6716904}","prefs":[],"schema":1558636068339,"details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1553761","why":"This add-on violates Mozilla\u2019s add-on policies by executing remote code.","name":"headingsMap"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0"}],"id":"37c5c7d6-e0ce-4c6b-8c89-49d94b6fe159","last_modified":1558636256148},{"guid":"/^((\\{5768d1b3-4e2d-4088-bd65-c7a62353ea3a\\})|(\\{65b99c4e-a9bb-4bb9-913d-503fa9bcdc46\\})|(\\{31ebd11b-bb60-403b-94a9-e09a3bf7d64f\\})|(\\{571339cd-9f45-47be-9476-767a62cb6c97\\})|(\\{ed4f9665-1851-4398-ab15-46c5e3ab8fac\\})|(\\{972319b8-8dd8-4ed0-8de2-9bc6582f0560\\})|(\\{4a0d8618-3e21-4bb8-8ae3-d04316b55a1e\\})|(devlopper61@avast\\.com)|(\\{8df3e056-6d4f-42fa-b0ad-40ee9a79d9c4\\})|(\\{e7e68020-07de-4f9f-9aec-6df29e9f64b8\\}))$/","prefs":[],"schema":1558635731472,"details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1553857","why":"This add-on violates Mozilla\u2019s add-on policies by collecting ancillary user data.","name":"Easy Screenshot, Youtube Download*"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0"}],"id":"7f8e7584-6c6c-4579-882a-6f6ed21766dd","last_modified":1558636068330},{"guid":"{b19d065e-4460-4714-9208-3f2b38907522}","prefs":[],"schema":1558537447980,"details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1553521","why":"This add-on violates Mozilla's add-on policies by executing remote code.","name":"QxSearch"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0"}],"id":"60311c2e-044e-4e24-9abe-6ee75d7f5467","last_modified":1558537465968},{"guid":"addonfx@horoscope-france.com","prefs":[],"schema":1558537035045,"details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1553518","why":"This add-on violates Mozilla's add-on policies by overriding search setting without user's consent or control and executing remote code.","name":"Horoscope France"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0"}],"id":"ec32be61-2646-4686-9829-7cff21f5d1f8","last_modified":1558537447957},{"guid":"{65dc18e1-109f-4039-929b-f8a7a29be090}","prefs":[],"schema":1558536906311,"details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1553517","why":"This add-on violates Mozilla's add-on policies by overriding search setting without user's consent or control.","name":"Magnif)"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0"}],"id":"bf7a8bf0-e60e-4516-9e93-777c19509ef6","last_modified":1558537035028},{"guid":"{3fc1db2b-e7db-4512-b24e-1faf4d3a1b4d}","prefs":[],"schema":1558536030188,"details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1553479","why":"This add-on violates Mozilla\u2019s add-on policies by executing remote code.","name":"quikaxes"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0"}],"id":"43966df2-e95c-415b-bffc-13814e1d2b11","last_modified":1558536765550},{"guid":"{a37a7625-b64e-45f3-8b79-f71634f14438}","prefs":[],"schema":1558467699805,"details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1553326","why":"This add-on violates Mozilla\u2019s add-on policies by executing remote code.","name":"Lift"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0"}],"id":"7e86024e-5621-4ded-bc16-184f94fa2e29","last_modified":1558528706505},{"guid":"/^((\\{3e20d1e2-a7ee-4ce2-ab9c-51c8300a8ff6\\})|(\\{30906bbc-0942-445b-89c8-f74dac0edb8f\\}))$/","prefs":[],"schema":1558382009200,"details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1553071","why":"This add-on violates Mozilla's add-on policy by executing remote code.","name":"Amiri"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0"}],"id":"9c5f5681-8547-4e65-9c05-5796e483b8e1","last_modified":1558434518612},{"guid":"/^((\\{ec19994c-c5a5-46d9-bd4d-0fc417c6f4b8\\})|(\\{a0be7e8d-b0a3-460b-8a52-429c79e49ee2\\})|(\\{1814dd58-4147-4cca-a0a3-c5aa35966d9c\\}))$/","prefs":[],"schema":1558381075651,"details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1551937","why":"This add-on violates Mozilla\u2019s add-on policies by executing remote code.","name":"Inspiring Quotes + Daily Quote Tab + Pug Extension"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0"}],"id":"efecef61-549b-4c13-8a52-394c636dd24b","last_modified":1558381320379},{"guid":"{dc6176c4-a192-4a92-849f-ad13abe889ad}","prefs":[],"schema":1558379927394,"details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1551934","why":"This add-on violates Mozilla\u2019s add-on policies by executing remote code.","name":"Easy Speedtest"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0"}],"id":"a5fa8f77-7761-4996-a11d-d8cf723103da","last_modified":1558381015030},{"guid":"{ac4be7d1-4db6-4b4c-bf48-e345350bcb59}","prefs":[],"schema":1558379796996,"details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1552830","why":"This add-on violates Mozilla\u2019s add-on policies by executing remote code and exfiltrating user data.","name":"Browser type hider"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0"}],"id":"41137e55-8a11-4259-a009-42c29daadf17","last_modified":1558379927382},{"guid":"{da993d54-9605-42f7-a32f-9f565245070c}","prefs":[],"schema":1558362750147,"details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1552834","why":"This add-on violates Mozilla\u2019s add-on policies by collecting ancillary user data.","name":"Fake Adblocker"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0"}],"id":"2212748f-ad60-497f-af7b-50d20b326e40","last_modified":1558379796981},{"guid":"/^((\\{2b3eed60-8f6e-4afc-99f1-38d12f4253da\\})|(\\{3a6f9dac-3a93-4f6f-8b74-9ebc0f501306\\})|(\\{46bba8e9-7a75-4dd6-932e-bdd74141cb87\\})|(\\{4b480ab6-b63a-43f8-b4f4-d312972ab086\\})|(\\{6106687e-ca0c-4d7e-93bc-115929e4d299\\})|(\\{717ce133-3c0a-448e-b6ed-fc7d22b76534\\})|(\\{7224f1ae-c342-4bb5-8441-d324a8951624\\})|(\\{768e9638-2eba-42e4-a13a-4f3f1df391a2\\})|(\\{7b655f43-c871-46d2-8f6d-31989e8ee939\\})|(\\{7e46c692-9488-4671-8c39-7830f92628b0\\})|(\\{83bc6b56-545f-4ba1-a80b-f82d55cc0f68\\})|(\\{970a774e-b7a7-498f-b3f2-d88b14b4dab1\\})|(\\{9d2e8731-3287-46eb-9c19-ece63fe693c7\\})|(\\{a37ccd20-e04f-4949-b055-98ca58639606\\})|(\\{af85f82c-3e8f-4ee5-ab53-b8d3aaac34ec\\})|(\\{b35c6d47-8b07-4d49-89a9-dfe8c10f58f6\\})|(\\{c2485579-368c-4593-a1cd-985b2fa0b990\\})|(\\{c85c16ba-78b4-41b3-9201-f80fa662c52f\\})|(\\{c97e5535-6f2e-4d34-a5a3-0e6e07f7fd13\\})|(\\{ce7db166-9564-482f-91d9-3a450ec3216d\\})|(\\{d64a2c73-ff21-4e3e-998f-ec2dc42ad725\\})|(\\{db6d93c3-67a0-410c-b7bd-f72f267f0cec\\})|(\\{e513775f-359f-47aa-a3d9-eddc946aabe0\\})|(\\{f70258e4-643b-4ec2-9c84-de89009eec61\\})|(\\{f8794e87-82b2-4df4-bce6-db207f62c165\\}))$/","prefs":[],"schema":1558349836861,"details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1552847","why":"This add-on violates Mozilla's add-on policies by using a deceptive name while providing unwanted functionality. This is not a legitimate Flash Player add-on.","name":"Adobe Flash Player (Malware)"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0"}],"id":"0225ae55-626d-42b2-8f48-46ec95ec89f8","last_modified":1558361121954},{"guid":"jid1-HfFCNbAsKx6Aow@jetpack","prefs":[],"schema":1558343683249,"details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1549020","why":"Versions up to 2.9.1.0 of this add-on violate Mozilla\u2019s add-on policies by executing remote code through the native messaging host.","name":"SConnect"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"2.9.1.0","minVersion":"0"}],"id":"413065ac-176f-440d-b4a7-0f928f3e330d","last_modified":1558349549359},{"guid":"/^((\\{78d3cced-d2a7-46e9-9fea-5be7ed61eea8\\})|(\\{3233777f-a1a7-4ea4-8c2c-fba1a0a68383\\})|(\\{0eb43948-2a3d-4490-b32d-7ca37dd83f07\\})|(\\{64fd625d-2977-46a6-96ca-77f81ebfd54d\\})|(\\{6e138cae-1be3-449e-a964-b3c3060d89b9\\})|(\\{f875c255-8b92-4229-95e1-6d9adaf20dd7\\})|(\\{3c62ef7f-ae8f-4baa-9d2d-27a377480b79\\})|(\\{35a91fe5-c255-498b-9f9f-bec506fdb257\\})|(\\{7d3c52e6-2b7f-4ce8-b28b-032306fe32df\\})|(\\{0ecf6f68-d506-4239-bc69-f77de8f03758\\})|(\\{7290f2b1-3d70-4990-a828-40c775c05f82\\})|(\\{50150580-86bc-460f-ae3a-12e51b9d842e\\})|(\\{a1b46cda-8a83-48e0-b355-7eca4250694f\\})|(\\{614d8f88-b5b4-4897-adc0-0207613f4d4f\\})|(\\{ddc259e9-3738-4b18-a00c-9259dad206ae\\})|(\\{5b2bf836-5322-4161-82dd-fcc8ac6e4247\\})|(\\{97a90c0a-5e3d-47bf-aacc-230e4cb1f2d1\\}))$/","prefs":[],"schema":1558341490879,"details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1552764","why":"This add-on violates Mozilla's add-on policies by overriding search behavior without users consent or control.","name":"Search overriding malware"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0"}],"id":"4bda902e-fb36-417b-940f-992ab7a18fde","last_modified":1558343652556},{"guid":"{3241efcf-4bfe-4405-ba7e-029d3efb03bf}","prefs":[],"schema":1558341442463,"details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1552681","why":"This add-on violates Mozilla's add-on policies by overriding search behavior without users consent or control.","name":"Neat"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0"}],"id":"657d264f-23d2-40f9-bac3-1d7c8b5d8453","last_modified":1558341473815},{"guid":"{c4da221b-461a-4ed9-b2d2-6ef1842a94bd}","prefs":[],"schema":1558341410023,"details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1552639","why":"This add-on violates Mozilla's add-on policies by overriding search behavior without users consent or control.","name":"Dimensions"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0"}],"id":"f48c8fe3-70c4-4d9e-84f4-79aeee9970f0","last_modified":1558341442447},{"guid":"{72a6bcef-d0ce-49f5-9773-1b78265174a2}","prefs":[],"schema":1558341352074,"details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1552306","why":"This add-on violates Mozilla's add-on policies by overriding search behavior without users consent or control.","name":"YtDow"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0"}],"id":"d4ab989c-1517-493b-9486-f0c4a59a1c95","last_modified":1558341410006},{"guid":"{ad6f5b9a-c894-4d15-8c65-4b0f5a29503c}","prefs":[],"schema":1558341285260,"details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1551964","why":"This add-on violates Mozilla's add-on policies by overriding search behavior without users consent or control.","name":"Magnif)"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0"}],"id":"f7135e2e-249f-45d4-bfe3-88b834ddb636","last_modified":1558341352061},{"guid":"{ad6f5b9a-c894-4d15-8c65-4b0f5a29503c}","prefs":[],"schema":1558313782700,"details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1551903","why":"This add-on violates Mozilla's add-on policies by overriding search behavior without users consent or control.","name":"Top Scroller"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0"}],"id":"fdc0d028-2915-4130-a19c-c5819b3acc81","last_modified":1558341285245},{"guid":"/^((\\{0209c9a2-f58e-4ca5-ba95-80de8a0bec36\\})|(\\{0429d1cf-e6c7-46b9-9959-4d24263f5b9f\\})|(\\{04aed622-650c-44b2-968e-a8740024bdfe\\})|(\\{054ccccf-bb7d-4d0d-ae7e-94931a469627\\})|(\\{06440d64-2a92-45a7-8e8e-c14a35f9224d\\})|(\\{06e83ce4-370c-41c0-bfb7-62bb0e77cabb\\})|(\\{06fe00d4-24df-497f-90e0-88db402cc9d6\\})|(\\{077e07c1-b948-4e88-9965-226cde465f9f\\})|(\\{07b424b4-8a9d-4fe6-afd5-1f2135f5f4ea\\})|(\\{080f27b3-ad41-4bf4-84bb-b6df1d395b0e\\})|(\\{0a3ba90b-224e-48ae-9440-b92d4ac03ee6\\})|(\\{0bd278d9-fbc6-40dd-914d-5e696c4255cb\\})|(\\{0c3c7c7c-3d15-4cf7-936d-dcf6070e82ce\\})|(\\{0ee32a7c-74b2-4a55-b388-8034b39c6b1d\\})|(\\{0f806e24-dbcc-4f14-b8f5-cfd7f88d6302\\})|(\\{0f9b7554-16d4-4496-8f01-e396256033b7\\})|(\\{1331d9a3-b9ec-43fc-a369-f73a926849b9\\})|(\\{14aca62f-1cc5-4424-a30a-ffb3d424b5bc\\})|(\\{14ec0bb2-f06f-46ad-b951-b810f7651284\\})|(\\{16744b56-7518-4526-bf9a-2531d694fb1a\\})|(\\{179d7013-b6d8-4a89-a861-30e0e8a7faee\\})|(\\{17cff984-12b5-438d-a915-41d7d006de4f\\})|(\\{17ee37ab-fe67-45bd-9666-bcf57a371e46\\})|(\\{19f6f2dd-32df-47a2-9b89-76543a987d46\\})|(\\{1a6ddac5-6ca0-4d59-a8e5-02345c67f703\\})|(\\{1b50ef3b-a364-4089-8ef6-1031cc7a0d1d\\})|(\\{1b830180-08d2-4381-a516-b84aba36e52f\\})|(\\{1cdff066-cb3a-4abf-95d0-39691e53dc75\\})|(\\{1e778837-1740-4a35-9eb1-e16b2c189037\\})|(\\{260d8452-72d2-4860-b14e-dd3fcb779656\\})|(\\{262c435a-42e0-4ca1-a713-f52672691f4e\\})|(\\{26d2406b-5118-44fe-a479-15a8c4f6f2bd\\})|(\\{28a26807-fdc2-4e79-b2a1-efcb1c21d199\\})|(\\{28c24c28-a094-4915-a2ff-5ff91caf076b\\})|(\\{2afddffd-6246-45f6-af19-a7803095bdf0\\})|(\\{2d37fd0a-5ae0-4d83-bc0e-fc7d870587c6\\})|(\\{2df75889-c43e-4f4d-b43b-e51d9b50167c\\})|(\\{2e4e320a-d5f6-4685-89f0-4d7084209c06\\})|(\\{2f93ea6a-1c1b-4456-b821-e8ba50aedece\\})|(\\{3034cb02-b9bb-4e8a-8749-cdd7fd1a6902\\})|(\\{3862859a-78c6-474e-b30e-303e86a7c6a4\\})|(\\{386afcb7-64f4-41db-b3e8-a76602ebb2fa\\})|(\\{38b61e2b-1af3-4f35-bdf0-cc4e3afc4880\\})|(\\{395065fd-1b7f-400f-aecb-9cfbcd9d607e\\})|(\\{3b0055c9-ea2c-43be-a927-ecd342946367\\})|(\\{3b37c6dd-d5f0-494d-9dd2-175db561b99c\\})|(\\{3e5a09c0-5f26-4d40-a5d0-a853f1fa759d\\})|(\\{3f2d032a-29ac-4cbe-9463-563f3ba6eb7f\\})|(\\{3f6ea025-e6c2-4372-adca-cb60b811e4da\\})|(\\{4253e6be-5b91-4b66-b44e-11f6260cee0e\\})|(\\{42c5b340-7cda-4d89-81a4-4a20754b5250\\})|(\\{42d8241e-e5f6-47d7-95f6-b6649143b12a\\})|(\\{46061237-f12b-4738-b1e4-7b7070fc03ca\\})|(\\{46bcaa76-c21e-44a2-aed8-6ba630fcc961\\})|(\\{47f394e0-02be-4a08-b865-287b993ac40e\\})|(\\{497c92fb-4d7d-4b9e-9884-a178e5991ee1\\})|(\\{498d00a0-3d8a-45ff-8e8f-3c27fcd12df6\\})|(\\{49ec4e6d-8152-461e-a2f5-095ede6c3cab\\})|(\\{4a87eeaa-4aa5-4695-b393-1ca4f00b2f3e\\})|(\\{4b0d3b3a-d61c-4968-a338-8de76d044f80\\})|(\\{4b9b2a47-e06f-4948-a20f-78ec1ef4e84c\\})|(\\{4dc32f1c-374e-4886-9a62-80ecfc23ed17\\})|(\\{4e901df2-8301-4588-9bc9-1e9f6c4f996f\\})|(\\{4fb6f5ed-eb5a-4115-a635-57fecad85d50\\})|(\\{50c0ae9a-ebaf-44f7-9ea7-52c7d1066721\\})|(\\{5160a705-c8e9-40b9-900e-6d26559038de\\})|(\\{5232e216-65a2-44d0-ba11-05fc8c332af7\\})|(\\{53e6e44a-a0af-49e2-af72-db4518f153bb\\})|(\\{58c7b5da-a1cc-437a-9401-2a56eb77df7d\\})|(\\{59aa5a90-0034-4350-adfe-76aff37e73ee\\})|(\\{59c5d279-711e-4217-8e5e-1aa1497ffcaa\\})|(\\{5a3f607d-7e1a-4faf-88e2-5806d74d18d4\\})|(\\{5a6364f7-3237-462d-bd3f-7c501830ceb0\\})|(\\{5dc73bfe-4193-4390-ae50-ad928655e21f\\})|(\\{5e085187-2509-4f8f-80ed-78c06351a77a\\})|(\\{5edfb7c3-04a5-447d-9069-2093289a7b98\\})|(\\{6219dabe-8f5f-4130-a650-8cfa971d7182\\})|(\\{62c9c13b-d001-4c42-819c-31b9763973c0\\})|(\\{656da759-0ae4-4f3e-a798-8293a5df9476\\})|(\\{66d70c4a-ad30-4f3c-afb4-b498a60c49b3\\})|(\\{68cb3185-4f55-42cb-97ea-188924b1d6c3\\})|(\\{6b99e0e4-e2e8-4fff-9da5-81c0b9e92b62\\})|(\\{6de81b5e-7556-4fc4-9cac-df56e898f3bf\\})|(\\{7162613f-ea9c-48b3-a0e3-6700ea61a4c8\\})|(\\{71ef8107-d5fd-4d2c-94b7-2dcd07448622\\})|(\\{7284399c-6be5-42ff-8ddc-5cc52d46ab40\\})|(\\{7422ce07-cac7-4fe6-af6b-16f5e7e27d05\\})|(\\{76a7b38d-7044-4e36-8315-38db10506ec8\\})|(\\{7772f851-8dd4-4d96-b426-6cd9f739a599\\})|(\\{797129e6-8cc9-401e-b9fe-0fee15533e9a\\})|(\\{7a3429ae-f293-4a70-a13d-f57f153557e3\\})|(\\{7bed7063-0842-43d9-b672-5e5e55915d5d\\})|(\\{7c0220cc-89e5-4726-ada1-fa2ffa412f28\\})|(\\{7c3c79d6-7e31-4947-b9b4-dd21f461ccd4\\})|(\\{7c70cbc0-e80c-4f3b-97b2-2530c4ac1349\\})|(\\{7fc4f148-2648-40f5-bd99-d057ac1292a6\\})|(\\{808a2093-68ff-4f73-b239-0d0f105c4d98\\})|(\\{8411b8e3-e302-48a2-91ee-550102b938f6\\})|(\\{84a9ae69-5c01-4a73-80d3-c2201410d8c1\\})|(\\{852c68da-c573-42f8-85f8-9dcf57684f87\\})|(\\{85a31d9e-063f-421f-9d3f-649a393e94ec\\})|(\\{876778c8-5329-461d-882e-d4983ae6062a\\})|(\\{8913da4a-46fb-461c-9e60-3e257ef2c0e6\\})|(\\{8aa0118c-998e-40ac-84e9-12c936e5d70e\\})|(\\{8b4a6441-811f-4461-b136-7ebf3aebe3dc\\})|(\\{8bc41c3b-e052-4fd8-8de3-970ef5224bd9\\})|(\\{8e03b200-aad9-434b-9a99-e7aae7493a5f\\})|(\\{8fe94d0d-4746-401c-ad05-e0e1be97ea0e\\})|(\\{900f3c9c-b327-4608-950b-9765119c2e7a\\})|(\\{915080f5-97a3-4584-861f-70cd91f56474\\})|(\\{91d034a6-1765-4a59-85e5-9ddeb371ed9b\\})|(\\{9207dfae-06fc-4545-9fa6-6466b7ed2559\\})|(\\{926b2440-8443-4de3-9025-9a448cf3b838\\})|(\\{952bfd34-d195-4b10-8a3c-b103786cf090\\})|(\\{95315ff2-427b-427c-a433-236fb3b5eda4\\})|(\\{971db1e5-a5cb-46f9-91f9-9b687f4e5832\\})|(\\{982e11b3-e092-4713-81d4-5da1eadd278e\\})|(\\{98a2b9a7-13fa-49ff-aaa4-83786fad7862\\})|(\\{99f52d4d-1cd2-4e17-8f57-fa2493848f3f\\})|(\\{9a467b2c-be87-4d55-80d9-998dc6243e8b\\})|(\\{9abfecfa-d53e-4aea-bb6c-4fe47367f61e\\})|(\\{9b0243a5-92fb-43a4-adcc-3161f0ec030c\\})|(\\{9c7bb0bf-1534-4805-b9fa-a91004bd7e30\\})|(\\{a00e65f6-bf34-4ef9-a0e5-b63002c823e9\\})|(\\{a0dce648-f703-4867-9f3f-9bfa7601d1b1\\})|(\\{a16a700a-35ff-4ed1-ab81-164e3c823342\\})|(\\{a1f14b23-0c36-44e8-8f0d-9c732acbb550\\})|(\\{a4ea8038-65ae-4d7c-92e2-dd95caf007f4\\})|(\\{a55cd5be-89e4-40ba-8c3b-0023a1f41c8e\\})|(\\{a57ec9eb-cbab-4ddb-bafd-80cf5fd38891\\})|(\\{a5aa1d1e-dec7-4e25-bead-0861099f9628\\})|(\\{a604a85d-ba8f-4e8f-8ca1-867ca8d13a13\\})|(\\{a7a33aad-9e17-4db3-a127-d185e31607ae\\})|(\\{a9404f9f-6ac9-4366-bfcf-50d0d3bdeac3\\})|(\\{aaf2dd6b-5ca9-47aa-b41f-5b00c5c82d2e\\})|(\\{abf10dee-7cc9-4b79-ad5b-1e4300ab24a7\\})|(\\{ac97e702-b2e2-4a91-ae3e-bf0856300737\\})|(\\{ae03577f-2d20-4775-8286-685cdbee76e4\\})|(\\{aef2e959-90c0-44cf-bbb5-e0789af93efe\\})|(\\{af0d8090-d04f-4e9a-a3fb-1c9ac89e9f68\\})|(\\{b0da2032-0da5-4cff-b91b-e0efda4d6b36\\})|(\\{b2777372-311f-4a15-81e5-c84dd845c93d\\})|(\\{b44ac98d-6101-467d-a959-d6ada2259f01\\})|(\\{b50daf26-3983-4516-836f-0b8777bc44ab\\})|(\\{b5ca55b9-d06a-4538-be4a-38b29f3a4359\\})|(\\{b783327e-a675-40c2-95c7-59eb3f00b75d\\})|(\\{b91f2cd5-4051-4e13-8848-8e92afb99217\\})|(\\{ba32ffe1-dabb-41d6-a45f-f4d3e1304ff1\\})|(\\{bb80ea9f-8263-4183-a52d-e5d45ca6e0fe\\})|(\\{c0ba2c3c-55a6-4d28-bb27-67f71de78feb\\})|(\\{c0ecc589-04de-4243-9279-100b781f7443\\})|(\\{c2f6447c-e2db-43d1-8c53-fec7c29b22bb\\})|(\\{c4492fc0-70ed-4d36-8904-61ccb663eaac\\})|(\\{c58e10ce-d69e-478d-8270-0d73599a8cfc\\})|(\\{c72781ce-8377-41ae-984e-ed5755af28de\\})|(\\{c7f51f89-f47c-45e6-aa57-177deba406a0\\})|(\\{c859eaff-3dde-4d83-9703-0a6cf9e95308\\})|(\\{ca51951b-5c9e-4c26-bca3-ed6e754ae5c0\\})|(\\{ce9f05c7-6246-4918-8505-fdc455bc0aab\\})|(\\{cf0ec4e1-5d0d-4846-aa97-380806e72e46\\})|(\\{cfa73be4-9e64-4aea-bb0a-2ab0defb27b3\\})|(\\{d12c5edd-1182-4bf7-bdb1-f2662b7ce1be\\})|(\\{d2343e30-0253-4556-9dd8-cb6cb461801d\\})|(\\{d7a1fad5-eb70-4f7f-a24d-98c3bb9a7aa4\\})|(\\{d7a7e3d1-e6f2-45e3-957a-4b2cde1b413b\\})|(\\{d946d1e8-38bd-41f4-8dc7-a255802046a8\\})|(\\{da7e77cd-4a7c-4282-a597-0694ada485b4\\})|(\\{dc905949-378e-4b8c-aacc-cff56b04370d\\})|(\\{dca4c8f5-5ef9-40fb-bd76-dcb4ec98c495\\})|(\\{dd275beb-f7dd-4ff6-8fec-23e8c0422b68\\})|(\\{de88be71-25f9-48d0-adc9-3d9a542cf303\\})|(\\{df148b39-f7c2-480d-ad8b-91b700e6642b\\})|(\\{df55df20-2e99-49fd-90bc-b548b833e2db\\})|(\\{e1348bc8-b378-45a3-95bb-4915b8910c1e\\})|(\\{e72aab9f-77f1-4e03-a4b7-9ea4b066fe50\\})|(\\{e8372510-9f1b-4b11-8e2f-dfc1d5d1a4a1\\})|(\\{eae5c7b6-8b67-4645-a1c1-a543e63ceda5\\})|(\\{eb1ed544-82e6-4785-b693-1e0799f7cffa\\})|(\\{ec37edc4-e1a6-4073-9cd4-7a5315c921e3\\})|(\\{ed240b54-8600-496b-a034-d9a153359906\\})|(\\{ee6e56cf-b963-4efb-b64e-cf6117dc9a5b\\})|(\\{f3337e21-4fbd-411c-b1fc-d0543052b499\\})|(\\{f5a4fafb-2f75-4acc-9dad-324ca00a1b84\\})|(\\{f9b00c32-2f31-436b-8cb1-720b12502cb6\\})|(\\{fdfd1815-cf54-4210-8883-a4154668b866\\})|(adobeflashplayer@flashplayeradobedeveloper\\.com)|(adobeflashplayer@flashplayeradobedevelopper\\.com)|(afplayer@firefox\\.pl)|(afplayerx@firefox\\.pl)|(aktualizacjaalamusowjeac@wp\\.pl)|(aktualizacjalamusowjeac@wp\\.pl)|(andrzej-ff@wp\\.pl)|(andrzej@gmail\\.com)|(au_addx@geckoaddon\\.org)|(au9c1660@auge\\.site)|(birghun@firefox\\.pl)|(birghuxxn@firefox\\.pl)|(btxyhuh@firefox\\.pl)|(elsee@geckoaddon\\.org)|(elseeau@geckoaddon\\.org)|(extensioner@firefox\\.pl)|(fr@ffget\\.xyz)|(fr9c1660@frge\\.site)|(fruxuc@flashc\\.com)|(guid-reused-by-pk-1476482)|(guid-reused-by-pk-1476489)|(it_addx@geckoaddon\\.org)|(it9c1660@tige\\.site)|(marlenex@firefox\\.pl)|(nads@firefox\\.pl)|(newtabextension@newtabextensiond\\.com)|(pl@k4n\\.pl)|(playerro1@firefox\\.pl)|(socketextensionws1@geckoaddon\\.org)|(soxmuc@firefox\\.pl))$/","prefs":[],"schema":1558013939458,"details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1552164","why":"This add-on violates Mozilla's add-on policies by using a deceptive name while providing unwanted functionality. This is not a legitimate Flash Player add-on.","name":"Adobe Flash Player (Malware)"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0"}],"id":"2a4b5087-eca0-43e8-96f4-6632aabd83d3","last_modified":1558085279358},{"guid":"websurf@mizilla.org","prefs":[],"schema":1557871049351,"details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1550673","why":"This add-on violates Mozilla\u2019s add-on policies by overriding search behavior without user consent or control.","name":"Websurf"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0"}],"id":"a2b8447b-ea50-45bb-936a-64d790ebe448","last_modified":1557871228984},{"guid":"{d8f707bf-0a35-462f-8e4d-f90205770547}","prefs":[],"schema":1557870872432,"details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1550689","why":"This add-on violates Mozilla\u2019s add-on policies by overriding search behavior without user consent or control.","name":"STPs"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0"}],"id":"be42b13c-301b-4304-a1ed-89b4c13d9eb2","last_modified":1557871049337},{"guid":"{0b66e692-1991-4b46-89df-c8101925bad1}","prefs":[],"schema":1557870310029,"details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1551079","why":"This add-on violates Mozilla\u2019s add-on policies by overriding search behavior without user consent or control.","name":"Base6"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0"}],"id":"a308009d-3320-49af-b0b8-1174f5a25fe6","last_modified":1557870872418},{"guid":"/^((\\{198586f6-9fdc-4ce6-8f21-7bdd85eab432\\})|(\\{1cd349e4-1d52-46ec-b648-6da8ba2ef659\\})|(\\{28c26373-1066-4cb5-8e92-1926cb31f83c\\})|(\\{2b99ea1d-9e25-4005-adeb-2fc9fc6700fc\\})|(\\{2be44a2e-f432-4527-a249-f7a6aecc8464\\})|(\\{2eda700f-8674-43fd-842f-73289b6e317f\\})|(\\{3745fc58-1413-4029-aea4-e1aa8a2c0cad\\})|(\\{3c19f6fc-1b86-411c-8d9a-7fdde31600b2\\})|(\\{450f8d34-b065-46a6-bd9f-ee7f614d750b\\})|(\\{498e999a-2d6b-47e7-8da2-97e0f694f6ff\\})|(\\{56862943-b999-45ef-be94-b97211126ba4\\})|(\\{5dc4633d-2c01-4d8d-8980-a90055d0679c\\})|(\\{77101ac4-6fe7-43ed-8362-75ad2a4b3299\\})|(\\{83ae749b-9ab3-41f9-ba8a-f73470399abe\\})|(\\{8ef68e62-a602-477c-95c2-9b861f91e813\\})|(\\{b81c02f0-e563-4794-8fd3-18a65b0f35fe\\})|(\\{c03bf205-6673-4495-abd7-f12556d3d8ce\\})|(\\{d1e8be12-c4e4-481b-9be1-400f54257dfa\\})|(\\{d3f73060-8ca3-4c24-b389-6a896f43f538\\})|(\\{e5e98141-81c0-433d-ade2-4174ea951243\\})|(\\{ec6ff98f-7315-4cfb-88b9-e6a64bb97ef6\\})|(\\{ee765c0e-cf70-426e-ac5d-704c874202af\\})|(\\{f8a4dc88-e967-4c75-acb3-6176ab166bf4\\}))$/","prefs":[],"schema":1557849229557,"details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1551093","why":"This add-on violates Mozilla\u2019s add-on policies by collecting ancillary user data.","name":"Flash Player Fakes"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0"}],"id":"8436c1bb-43f2-42d6-acec-05145fdbeccf","last_modified":1557870310012},{"guid":"{61121092-5257-4607-b16a-12364832f0e4}","prefs":[],"schema":1557835907235,"details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1551260","why":"This add-on violates Mozilla's add-on policy by executing remote code.","name":"Page Image Previewer"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0"}],"id":"dbd3690c-2ce4-474b-b13d-97f9ab2c54c5","last_modified":1557835935826},{"guid":"/^((\\{2e510835-3d3c-4995-ba75-2eee6ff203c7\\})|(\\{bc72fefd-ab07-40ce-8555-45f9b23ef8c0\\}))$/","prefs":[],"schema":1557835858186,"details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1551259","why":"This add-on violates Mozilla's add-on policy by executing remote code.","name":"Add-ons executing remote code"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0"}],"id":"9ced28d2-c4bf-4933-b369-1ded1ca7f6dc","last_modified":1557835907221},{"guid":"{4037503e-7401-4ccf-8fc1-af9f8c9fc168}","prefs":[],"schema":1557835817321,"details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1551243","why":"This add-on violates Mozilla's add-on policy by executing remote code.","name":"APKCombo"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0"}],"id":"abc5acc2-c9ea-4d44-b8ab-3fefb5723194","last_modified":1557835858172},{"guid":"{52484281-3051-4c52-9309-83896b989ddf}","prefs":[],"schema":1557835777799,"details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1551162","why":"This add-on violates Mozilla's add-on policy by overriding search settings without user consent or control.","name":"Fppl"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0"}],"id":"73b95004-eb42-428b-852b-3671edbc3913","last_modified":1557835817308},{"guid":"{3555a8e7-6fc1-4ad8-9e35-b09877d94a8c}","prefs":[],"schema":1557776499103,"details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1551080","why":"This add-on violates Mozilla's add-on policy by overriding search settings without user consent or control and executing remote code.","name":"Search"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0"}],"id":"a941e00d-4ec8-41db-ac90-75041af68a3b","last_modified":1557835777786},{"guid":"/^((\\{da61a3e5-5a98-4c47-ae6c-f4db738f1133\\})|(\\{b0e13c2b-c1cd-426b-bed9-905bf9557fbf\\})|(\\{328c22c5-5f1c-4eb7-95a3-148fd4ad429d\\})|(\\{f6cca5fb-5aa1-471f-88f3-e2ffa87281ef\\})|(\\{d342bf37-554e-41c9-b67b-72769e59b82b\\})|(\\{03ec69b5-3e8e-4bb8-8eda-28f12c54bff8\\})|(\\{a8c876cb-af13-4ad9-9a86-fc3c0722b48c\\})|(\\{56136c32-0159-4368-9d28-c1b8b1515c89\\})|(\\{79bf4660-9729-444b-ae03-6c8005869611\\})|(\\{aa7fdaa5-d888-47e2-b27b-4fa4b3225339\\})|(\\{31e0d180-52b1-4c1d-8f84-7e625715edc4\\})|(\\{f7d20549-e5ee-4045-9e8f-9705bb10c104\\})|(\\{303abacb-760b-43c3-9640-5b456d92db78\\})|(\\{debabd67-2e0a-485e-8213-ac081065a027\\})|(\\{971e739b-c528-41b6-a60c-48fc3cdb52d9\\})|(\\{ffb3a485-2723-4a88-b3ad-8b29773759c4\\})|(\\{b076177a-a5c4-4652-9f6d-953f89f9a81a\\})|(\\{66210cb7-6352-45d5-9d22-ad7a0fb5e247\\})|(\\{8053ad7b-5129-4c74-ade9-8166c38e8636\\})|(\\{1a435c36-133e-4163-ac71-8701a147880c\\})|(\\{8c40c6df-7c9d-4876-bcbe-0621734aba45\\})|(\\{40e1e7d9-ae29-4aec-9465-5e0d49859583\\})|(\\{74eab03b-35cd-4950-b436-7afce3876e58\\})|(\\{95839c11-63a7-4b2b-b3d3-eee9d2c5c42d\\})|(\\{bfaa03c3-744e-48eb-8fb6-4ad61791d4d8\\})|(\\{f123e726-9396-4899-822a-172b8bcb2c5f\\})|(\\{157e255b-2053-4140-b95c-ff003b62bf17\\})|(\\{3e49a17b-b58e-417b-9ebb-a7e8c2317893\\})|(\\{4df1d536-e30f-4344-bee6-6ef2def890c2\\})|(\\{f33ce070-63f4-4d2b-823e-d52fc7a30ba7\\})|(\\{2003e2a5-e848-4fc5-8e7d-3af1efe4f992\\})|(\\{ff2157da-6981-40b6-aa60-d8125e73868e\\})|(\\{d89fa1e5-c9d4-4104-ad8e-00b39e5c6d15\\})|(\\{66e45d14-550f-4489-98c6-8a0caed33375\\})|(\\{86e6d45f-1dfe-4e53-bf52-22bf65b9ae6d\\})|(\\{e71407fe-e1ed-4755-af8f-dd64a952ce1a\\})|(\\{b67b3615-d8fe-4961-a41e-391864afde2d\\})|(\\{5785789b-ccba-44a1-9018-1135b56bd37f\\})|(\\{6dfb93d1-2add-471c-bbbc-b6164b4c1d94\\}))$/","prefs":[],"schema":1557495790401,"details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1550581","why":"I\u2019ve reviewed the add-on and confirmed that it is collecting ancillary user data, violating our policies.","name":"Adobe Flash Players"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0"}],"id":"fee4b92e-146b-437d-9cc0-95cfc800f0e0","last_modified":1557497630665},{"guid":"jid1-NIfFY2CA8fy1tg@jetpack","prefs":[],"schema":1557437285372,"details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1547789","why":"The $rewrite filter functionality allows for remote script injection under certain conditions. Please upgrade to the latest version of Adblock for Firefox to resolve this issue.","name":"Adblock for Firefox ($rewrite filter)"},"enabled":true,"versionRange":[{"severity":1,"maxVersion":"3.28.0","minVersion":"3.19.0"}],"id":"8ff19ad3-e4e0-40e3-8f02-fd80d18f63b5","last_modified":1557437486195},{"guid":"{d10d0bf8-f5b5-c8b4-a8b2-2b9879e08c5d}","prefs":[],"schema":1557437276676,"details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1547789","why":"The $rewrite filter functionality allows for remote script injection under certain conditions. Please upgrade to the latest version of Adblock Plus to resolve this issue.","name":"Adblock Plus ($rewrite filter)"},"enabled":true,"versionRange":[{"severity":1,"maxVersion":"3.5.1","minVersion":"3.2"}],"id":"f0fc8d21-d0ec-4285-82d7-d482dae772bc","last_modified":1557437285359},{"guid":"{2b10c1c8-a11f-4bad-fe9c-1c11e82cac42}","prefs":[],"schema":1557437241208,"details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1547789","why":"The $rewrite filter functionality allows for remote script injection under certain conditions. Please upgrade to the latest version of \u00b5Block to resolve this issue.","name":"\u00b5Block ($rewrite filter)"},"enabled":true,"versionRange":[{"severity":1,"maxVersion":"0.9.5.14","minVersion":"0.9.5.11"}],"id":"12a0c69f-e755-428b-97dc-229bccb8a5b0","last_modified":1557437276663},{"guid":"/^((\\{4e84c504-10e8-4e75-8885-dcc0c90999b9\\})|(\\{8ce99d6d-8d0d-4420-bd17-c303bd8a763e\\})|(\\{16de314a-56cd-4175-9baf-bbe0b09dfed3\\}))$/","prefs":[],"schema":1557434135180,"details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1549744","why":"This add-on violates Mozilla\u2019s add-on policies by overriding search behavior without user consent or control.","name":"Secure Privacy + Trustnave + Fastwebnav"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0"}],"id":"04a300c2-04fc-401e-a428-c7c887bf2bff","last_modified":1557434278943},{"guid":"{5308dcd8-f3c7-4b85-ad66-54a120243594}","prefs":[],"schema":1557433916783,"details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1550428","why":"This add-on violates Mozilla\u2019s add-on policies by overriding search behavior without user consent or control.","name":"F_Feed"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0"}],"id":"312e30b0-0b4c-4a43-8f6c-8b8447a20f6a","last_modified":1557434135166},{"guid":"/^((\\{c8d0fea0-d7b7-4f6f-b9bc-9df6722d9d18\\})|(\\{bed8e1f2-b00b-44e3-8cf0-5335080d0003\\}))$/","prefs":[],"schema":1557433212304,"details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1550435","why":"This add-on violates Mozilla\u2019s add-on policies by overriding search behavior without user consent or control.","name":"Webplus+Fastnav"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0"}],"id":"b9686c72-1902-4868-88d1-6587fd24a57c","last_modified":1557433916770},{"guid":"/^((\\{d389cdfe-843e-44cb-b127-441492e46e63\\})|(\\{1340c760-3f4c-4428-b2c0-88821a84de2b\\})|(\\{38524a16-a73d-4a8f-8111-f9347bb5266c\\}))$/","prefs":[],"schema":1557258104673,"details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1549740","why":"This add-on violates Mozilla's add-on policies by executing remote code.","name":"Add-ons executing remote code"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0"}],"id":"2feeb46a-6784-4c6e-8c07-e120bec00b14","last_modified":1557394160484},{"guid":"/^((adsmin@vietbacsecurity\\.com)|(\\{efdefbd4-5c30-42c3-ad2b-4c49082ec4cd\\})|(\\{63d83b36-a85c-4b51-8f68-8eb6c0ea6922\\})|(\\{4613a1ed-6cb1-410b-a8b1-3f81f73b6e00\\})|(\\{90b1aef7-7a52-4649-b5ca-91b5e81b5eab\\})|(\\{d6e2e76d-edff-416b-8c04-53052ff9fec7\\})|(\\{43af2e0f-b5ce-409b-9ee6-5360785c9b08\\})|(\\{e45fa96d-8b74-4666-86de-3bbfb774a74f\\})|(\\{4f8332b6-6167-4b7f-a1f9-61d8eb89b102\\})|(cpcnbnofbhmpimepokdpmoomejafefhb@chrome-store-foxified-14654081)|(developios89@gmail\\.com)|(\\{d82da356-1fa8-4550-958a-bd2472972314\\})|(\\{1dfbd1c3-a8ca-4eb3-8747-d30bfd20ecd5\\})|(\\{6f9fa22a-128f-4d1b-8ef5-d20a44d24245\\})|(\\{5f6af572-35c1-44d7-9d0f-dffbb62fcafe\\})|(developper@avast\\.com)|(\\{886a6486-37b3-4bcd-891b-fd0e335e7b1a\\})|(\\{886a6486-37b3-4bcd-891b-fd0e355e7b1a\\})|(\\{d1cd26ff-fde7-46a4-85cc-48e3bb7e9e8d\\})|(\\{ae11d5cc-8efb-43a0-89bf-e5a779b4fa40\\})|(\\{aca140ce-8249-4e6e-8e2c-cd5b1c987441\\})|(\\{f68b2ca7-0d2c-44cc-afc8-a606a896c467\\})|(\\{321db3c3-8cfd-49f1-99de-fcdc3485b379\\}))$/","prefs":[],"schema":1557222463147,"details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1549558","why":"This add-on violates Mozilla\u2019s add-on policies by collecting ancillary user data.","name":"More Keyloggers"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0"}],"id":"b62c9ee1-d66f-4964-906e-2a9b07e3fdc1","last_modified":1557222511299},{"guid":"artur.dubovoy@gmail.com","prefs":[],"schema":1557162612874,"details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1549444","why":"This add-on violates Mozilla's policies by executing remote code.","name":"Flash Video Downloader"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"16.3.9","minVersion":"16.3.5"}],"id":"d7ca07b4-9c97-4f49-a304-117c874ff073","last_modified":1557162636319},{"guid":"/^((\\{7e4a75c1-dddc-4496-9963-1c6ac99cf226\\})|(\\{35af257d-14dd-4cd0-8ebd-2d30c2b30561\\})|(\\{d6362448-1e8f-47bf-9d2f-491648d18e3d\\})|(\\{80a42dcf-193e-43a2-b662-d6b14882403f\\})|(\\{044e39fc-333b-423c-8291-26078a780b02\\})|(\\{68b3c6ce-162f-4ece-9ffa-8279855a4228\\})|(\\{057b93a7-84e6-43ff-9686-d452435ed3c5\\})|(\\{1223cfa2-7aad-4a16-b98a-6bf63b346835\\})|(\\{9815ca8b-a77c-4e4d-beac-aad1c7021dcb\\})|(\\{e3f2795a-cefc-4f7f-9435-5f091b988d2f\\})|(\\{98fd0bd5-f486-4d81-9eb1-e89e9d56bfa2\\})|(\\{f96fafd2-5860-4bfa-9537-3f2ca9dd496e\\})|(\\{da93cdd9-6aca-410e-b2f2-e927da726559\\})|(\\{d97e0506-d330-4547-8a5c-093b8aa08d7a\\})|(\\{425ad6b3-72b8-43c0-be7c-2f6585fa0ec1\\})|(\\{0375f007-f5ba-46ec-86d2-c5da84576562\\})|(\\{e8915f55-6566-4872-97eb-d77fbdbf2fb3\\})|(\\{ebd3a0c4-bf9e-4dfa-b487-f77722055edb\\})|(\\{7cc62e47-ed20-45bc-8c92-bb57128e78d6\\})|(\\{b5a15631-6429-49bd-a670-e83ac41f93a9\\})|(\\{f263d545-3234-460f-b546-a8406a0a729d\\})|(\\{6468c148-9888-4243-8de5-cb6291cac82a\\})|(\\{da2281db-0036-46f6-8878-ff26e1cf6a2b\\})|(\\{63f579ba-eaf5-4e1a-a7c2-c5e889beaf9f\\})|(\\{84569fbb-d367-40ce-b24b-fd3b611283b8\\})|(\\{da2bc16f-b499-401b-8771-9d9f32d88f86\\})|(\\{1a275ad6-5dd3-47e9-a563-41a0bebdfd90\\})|(\\{e07ebf1e-5917-46a2-95d9-61d9b51f3797\\})|(\\{0d6791d2-ce0b-4f78-90e4-8e773703bd35\\})|(\\{502c7ef7-745c-4ea0-8066-a17cf1b74957\\})|(\\{c93f0aeb-ae9b-49d9-835b-c58a6b03aa46\\})|(\\{1f0bf2a4-aff5-42d3-8633-71e65f289250\\})|(\\{28766320-358e-42e3-a2c7-67ec77552424\\})|(\\{74d4fcda-c103-4fb7-810a-4596530c00a4\\})|(\\{7b3fd37a-a127-41a0-9e4d-59ccfa165e41\\})|(\\{787fa0b0-d5f1-4454-8b0c-72d191d6775f\\})|(\\{e2bae2ed-0368-48e7-8671-3bdcc5d7713f\\})|(\\{fee16fb4-830f-438a-a3d5-f7e911d23e02\\})|(\\{72113405-b4a5-46c3-a7c6-5353568b87bd\\})|(\\{5ede50a4-4151-4635-804f-a6f56115a0c6\\})|(\\{c11487a0-d104-4bc3-814b-474f8c29049c\\})|(\\{35690b6e-1979-4ea3-89aa-44a94dda2afa\\})|(\\{e9d698ef-bad4-4960-9df3-8c41605a6d7b\\})|(\\{1472b3c1-cae8-42c4-bbdf-e71134dccf08\\})|(\\{7a40b654-1232-4e76-81e7-d95260db25cd\\})|(\\{f54699c8-c82f-4d6e-a161-919bbe8410de\\})|(\\{dca6a5cd-0d24-442a-afd4-80572bb20c34\\})|(\\{b8d5d169-f076-4098-b671-a3cb8b410f56\\})|(\\{903e6561-0646-4c38-8039-d372d8e7c90a\\})|(\\{b39977b9-bcb2-448b-9d7b-9aec7f62bc26\\})|(\\{059b5c30-b96a-48df-8083-5fff97a8f9bf\\})|(\\{1d0351bb-1d96-4779-b639-44eeceb2ebfb\\})|(\\{80c0bdb4-ba98-472d-ae56-afd8b3021115\\})|(\\{4dfc5596-9655-4b0c-819d-e2ff48fb8556\\})|(\\{d7d3ed3c-6f73-42cb-b724-c33fccc1b465\\})|(\\{b378a858-89bb-492e-8b4d-eb83e910a14b\\})|(\\{ec1fa94c-8700-49d0-ba5d-df99a912519e\\})|(\\{4db5d249-881f-4442-8c01-28536c45ebfd\\})|(\\{7a411d82-fc50-4f20-bd2c-b2b065f18097\\})|(\\{675e002b-e144-4694-a725-9e8cc6a3fa67\\})|(\\{1902a069-c039-421e-b502-1e367c237196\\})|(\\{866bb3a8-82bb-4c9a-bca5-26fd5f37c4ec\\})|(\\{6a4e7017-43cd-4646-bb48-003620bb60fe\\})|(\\{bc5c676e-a75f-475b-a27c-79687b1de3ec\\})|(\\{6b544e1a-932d-4da9-aafe-c4b4bbfe1958\\})|(\\{99631434-ff1e-49d3-88d3-9ac40d0dd1bd\\})|(\\{623b31e0-f289-47cf-995e-5a195e261758\\})|(\\{1b4d88a5-4b5d-44c8-849c-82f129a7dacd\\})|(\\{48ba880a-b7c2-4e4e-af55-9134ac926c61\\})|(\\{4b498e2a-8b17-47c0-a449-89a76b6e737f\\})|(\\{d9cbd45f-cdbc-4be1-bb16-8e60764630ff\\})|(\\{bfaaa94a-1a93-4a1c-9b54-9dbe98f3ef07\\})|(\\{87b93e6e-70a6-4538-9848-e9d0f060e372\\})|(\\{fea4fd50-ed6a-4b8e-b00d-3b2276df6e34\\})|(\\{c15450f8-8da2-4add-a8f6-603d90e8d344\\})|(\\{ec972135-8e5c-49d4-bff8-b6006b21f2d2\\})|(\\{b039f24d-8b51-40d3-abf7-55e1dc502112\\})|(\\{b308870f-ae9a-4972-af28-0218717a47f4\\})|(\\{9349a202-8b8e-4777-ba93-c723810da51e\\})|(\\{798750dc-0057-47e0-a1af-73dec73544fa\\})|(\\{186e4b6a-e3f0-4970-8f7b-05ab6bc50320\\})|(\\{dec8de3e-d3a4-4946-bcbd-c3523fee11c5\\})|(\\{06539c62-00d3-4513-9aa4-048dd273107a\\})|(\\{b200a289-900a-4953-b2c6-b7a323d6fb66\\})|(\\{4080defb-6c6b-4012-bcac-71379e9c430f\\})|(\\{b110855c-90dd-427a-894c-54b93c6572b7\\})|(\\{dd599e99-3a48-4e36-9d83-56f8c0019d4d\\})|(\\{4f43f2c7-c1e6-4091-88fe-c829b3bfe553\\})|(\\{b7a022bc-6b89-4ac1-a1fa-bf02251336b0\\})|(\\{1aa370ca-9865-4c52-89a8-79e95abc82f7\\})|(\\{fb727d0f-7c3d-4bf6-8be4-284e7e8b8f83\\})|(\\{1579b5dd-ef3d-4754-bc59-8a7707fe1219\\})|(\\{66f0cb42-bb3e-4a16-90c1-bed1e3be4aad\\})|(\\{f13a1f79-f63a-4332-a9c9-11fc50328fc2\\})|(\\{29962f4d-bf74-4775-9d02-31fe546d6fa6\\})|(\\{aa539764-9ec3-41a6-af0e-6c2dc46ecbf5\\})|(\\{9412adf1-2714-4cb2-ad5b-13d41096234a\\})|(\\{86f2f4cc-97c5-4cc5-8151-c327ab379fba\\})|(\\{ed4c3ce2-5372-429c-ae20-fa5b1f540fd7\\})|(\\{cd11da28-330d-4f09-a21f-fae7509f1b60\\})|(\\{74bc7a66-d4e6-4f1c-a0ef-1b65baa41cbf\\})|(\\{8069effc-45bb-4caf-8b27-a135431cd6b9\\})|(\\{577fc233-25bf-4e43-a164-aa75eb9d053a\\})|(\\{f5626996-f5cd-4d00-bcea-20dda6d9edd6\\})|(\\{9bb810ef-716e-4dc5-9f03-491a2c59384e\\})|(\\{02634a24-04d0-439f-9faf-a323ab4a1bac\\})|(\\{b73f7a43-a43a-47f5-8b1f-1ef7caa7857d\\})|(\\{3b5bf07b-5964-408a-8e43-e0239219c524\\})|(\\{73d3a404-150f-4594-ac2c-24f9beec78b1\\})|(\\{ef6a2133-5ed9-4dbc-a735-6ffe8490062e\\})|(\\{76b61321-01a1-4a17-850f-b064a0366b57\\})|(\\{bc41ca18-9209-4500-a847-4e514fea2536\\})|(\\{32c4c845-9bd7-4b20-97fa-a7616e7802ef\\})|(\\{410d9002-b517-471f-956e-30129e307af3\\})|(\\{43366e90-e4be-4ba6-bec0-3fb149128480\\})|(\\{8ebc90a4-f7a1-420a-8380-f85545403f80\\})|(\\{6d3fa41f-e896-4f85-ba59-321f4b26f380\\})|(\\{05c811f2-f828-4d3e-ad02-7386373e9a28\\})|(\\{e10a0ee6-8083-42a7-bed1-35400b029bf2\\})|(\\{c925be5a-ae0e-4958-be36-44dc2e64d4f7\\})|(\\{3803ed37-c101-4b21-a678-762f51b7eabf\\})|(\\{08a15cc0-d6cb-43c5-9a40-27443554b455\\})|(\\{d0953283-5970-4ebe-b270-940c6befdbb7\\})|(\\{7c983689-80c7-46dd-b9d2-4d2db1cf94a6\\})|(\\{8f320a17-868c-43dc-94fb-9d1ab7f4fe73\\})|(\\{843b406a-9593-49bf-9365-684fe8cb2f5a\\})|(\\{42cd0cbd-248d-4a44-88b6-1a3680d159ac\\})|(\\{23efa05d-99b1-49e0-a67d-5378f2afc20d\\})|(\\{f91c606c-dd33-42a4-9219-824187730f59\\})|(\\{9e233d16-18ae-4519-a83c-2806f4fee321\\})|(\\{a93cdf30-75da-463b-865b-f49cc7fd2697\\})|(\\{dcacb62c-9096-482d-845d-10413199a89b\\})|(\\{9d5da26f-c366-46b2-b3e7-5c8e3e0b9788\\})|(\\{dd176d1f-8cd5-4b5b-8b06-839449e87b5e\\})|(\\{9ada3b66-4412-427d-8696-ac0fe0ac891e\\})|(\\{9695495e-cb65-4cd6-8a93-52c9e2b8d767\\})|(\\{e9d1a027-a84c-4e90-b602-66ffe22a0ad6\\})|(\\{f71bda5e-c591-44aa-8f84-2f04989f7e7a\\})|(\\{e6e67c6f-c010-406d-8575-1835341ec4cf\\})|(\\{22fbf524-38be-4ead-b6ce-e55cb23ed74b\\})|(\\{866dafe9-1c49-47d7-a46c-1cb50ca52461\\})|(\\{3479fadc-41b1-492e-bb16-d8f9e514d488\\})|(\\{8c02daf2-79ed-4650-89ca-1e099d28c5e7\\})|(\\{65e6b805-7f0c-455f-b1b4-c34621056b46\\})|(\\{78de7006-944c-4c18-a33a-d6931619f2b0\\})|(\\{16c8051b-2c16-4641-bf29-2daee7883fd0\\})|(\\{19263ccc-a97f-49f4-867a-b49351c42c0c\\})|(\\{bfe416d8-e8c3-469c-908e-6926770152f0\\})|(\\{a29a4a96-2fcd-48f8-bfe1-a1d1df46e73d\\})|(\\{2d651636-a0fa-45b7-a97e-ebc85959ff23\\})|(\\{ac8a3af8-e264-4a0b-b813-d7fab03ae3fe\\})|(\\{4719ad8b-354b-443d-b1e6-4d60b851c465\\})|(\\{7679a9f9-29d8-4979-86e7-a5b5cf0e2fd3\\})|(\\{099e1648-58e7-492e-8019-3418263b9265\\})|(\\{9a83d154-4ea3-45f9-ae21-28f3c1f86773\\})|(\\{475b88fd-574c-4881-98e0-0184a03593cb\\})|(\\{d7b586f8-a22d-4986-9dfb-67d49ba46a68\\})|(\\{50b79e30-a649-4477-8612-7085c0ee3ad4\\})|(\\{e9b2d453-9a98-41e4-9837-c0d68ff1aeac\\})|(\\{b1814ce5-0d9f-495f-b260-a7e1e5538263\\})|(\\{9b06d35e-2eb0-4653-886f-a3f4cdcbb754\\})|(\\{e7d6a360-69d4-4f8c-a96f-fd63388995b2\\})|(\\{68a50af6-ddad-4750-a9a7-a71c55e019b7\\})|(\\{8286a0e0-ba89-48b3-871b-8c9acff32023\\})|(\\{b3c79903-9bc5-4ddf-aeeb-7d91989ae819\\})|(\\{7c5cc4ec-9637-428c-bcf7-28bba279cf84\\})|(\\{93d460ee-879f-4d8f-8599-a1c69ed59ec2\\})|(\\{207c95d5-2bb9-4760-b3a4-8c58ea173bff\\})|(\\{b3482681-1abf-4dfa-bace-dc7b51e6a150\\})|(\\{d3516cf6-d531-434a-b80a-df72c7166744\\})|(\\{da01a2aa-0cbb-4f57-a395-2256d142c519\\}))$/","prefs":[],"schema":1557085300242,"details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1549214","why":"This add-on violates Mozilla\u2019s add-on policies by collecting ancillary user data.","name":"Various Keyloggers"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0"}],"id":"654077f4-a8b3-4822-8962-0bb1cac1d70d","last_modified":1557087541924},{"guid":"{93d460ee-879f-4d8f-8599-a1c69ed59ec2}","prefs":[],"schema":1556912498785,"details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1549069","why":"This add-on violates Mozilla\u2019s add-on policies by collecting ancillary user data.","name":"Browser Security &Adblock"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0"}],"id":"95cfb43b-72c3-4fb3-a0f2-fc975aff398d","last_modified":1556977392946},{"guid":"{fc4c96b2-4eaa-4221-86a6-392dc1eb919a}","prefs":[],"schema":1556797012258,"details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1548536","why":"This add-on violates Mozilla's add-on policies by executing remote code.","name":"AspectResolver"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0"}],"id":"3f6acc8a-f46c-42cb-8220-48c2e5885bd3","last_modified":1556808070195},{"guid":"/^((premium-enhancer@ext\\.com)|(notif-rm-unlisted@ext\\.com)|(search-updater@ext\\.com)|(updt-lite-unlisted@ext\\.com)|(coldsearch@ext\\.com)|(reader@ext\\.com)|(local@ext\\.com)|(fptool@ext\\.com)|(gflash@ext\\.com)|(advplayer@ext\\.com)|(yfp@ext\\.com)|(ytbenhancer@ext\\.com)|(yoump@ext\\.com)|(floating@ext\\.com)|(ytbhelper@ext\\.com))$/","prefs":[],"schema":1556792823258,"details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1547311","why":"This add-on violates Mozilla\u2019s add-on policies by overriding search behavior without user consent or control.","name":"Various fake player/search add-ons"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0"}],"id":"9efe3274-2bd2-44a3-aa7f-92934581470b","last_modified":1556794746654},{"guid":"{a38141d9-ef67-4d4b-a9da-e3e4d0b7ba6a}","prefs":[],"schema":1556787949626,"details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1548473","why":"This add-on violates Mozilla's add-on policies by changing search behavior without users consent or control.","name":"ReStyle"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0"}],"id":"b0ff609b-c98e-4d29-8323-61c3e064ec9c","last_modified":1556791242742},{"guid":"{0beedf0b-dc79-48bd-adff-2ed36acdb806}","prefs":[],"schema":1556787897696,"details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1547930","why":"This add-on violates Mozilla's add-on policies by executing remote code.","name":"Player (Malware)"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0"}],"id":"71475499-ca6f-4b71-8bef-2b95cf59ee30","last_modified":1556787931409},{"guid":"{c11adb01-56bc-44d6-ac05-6f364e2afe01}","prefs":[],"schema":1556787838618,"details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1547934","why":"This add-on violates Mozilla's add-on policies by executing remote code.","name":"Flash Player (Malware)"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0"}],"id":"e6371474-8681-4498-8e89-421f25fd2e12","last_modified":1556787897686},{"guid":"{a1f6fa05-26cd-4399-a97a-7996067d04b0}","prefs":[],"schema":1556739699995,"details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1548134","why":"This add-on violates Mozilla's add-on policies by changing search behavior without users consent or control.","name":"TC"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0"}],"id":"3659d4a2-3121-45cd-b8b6-5b2c96ebc17f","last_modified":1556787838607},{"guid":"{c65b18e1-cd3d-4773-a901-15a0753e7d81}","prefs":[],"schema":1556224830338,"details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1546994","why":"This add-on violates Mozilla\u2019s add-on policies by executing remote code.","name":"PrincipalInterceptor"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0"}],"id":"af62a050-b136-4d56-ab3a-af85a2510bc4","last_modified":1556224874229},{"guid":"{4bf110f8-5f50-4a35-b7fa-64228bfa2d0b}","prefs":[],"schema":1556224790813,"details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1547048","why":"This add-on violates Mozilla\u2019s add-on policies by executing remote code.","name":"Predicate Property"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0"}],"id":"5968da82-1d7e-407e-bf93-5d2247ce55c1","last_modified":1556224830329},{"guid":"{0bd4e0af-664d-4273-a670-7cb3d0b5a4a5}","prefs":[],"schema":1556224295744,"details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1547046","why":"This add-on violates Mozilla\u2019s add-on policies by executing remote code.","name":"ConsumerWatcher"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0"}],"id":"6a6cc6fb-dce1-49cd-b624-7b44afacf157","last_modified":1556224790803},{"guid":"{bbddf452-1a72-4a5d-a833-0416ac7fd76f}","prefs":[],"schema":1556197615318,"details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1546989","why":"This add-on violates Mozilla's add-on policy by executing remote code.","name":"AV Scanner (Malware)"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0"}],"id":"20c25379-aed8-4ab4-9e7f-f2d3f5d948a7","last_modified":1556206274610},{"guid":"/^((\\{1601769e-0b0d-4c43-97a7-723ce374996b\\})|(\\{d714118b-5cdd-4829-9299-1066fecc0867\\})|(\\{e8671db6-24be-4744-808c-a63fb744ccca\\}))$/","prefs":[],"schema":1556133515829,"details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1545834","why":"This add-on violates Mozilla\u2019s add-on policies by overriding search behavior without user consent or control.","name":"XPC and Tabs"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0"}],"id":"1b536121-fd82-4639-bc70-30d7060e42d3","last_modified":1556133806451},{"guid":"{3f5f741d-a980-4b58-8552-b1ae328841f4}","prefs":[],"schema":1556099103820,"details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1546480","why":"This add-on violates Mozilla's add-on policy by intentionally weakening website security and adding fraudulent content to web pages.","name":"Google Translate (Malware)"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0"}],"id":"ae288e5e-78d5-4b49-8b4d-fa9f25c3baa2","last_modified":1556112119390},{"guid":"{3fab603e-3ee1-1222-a859-5f85a3441216}","prefs":[],"schema":1555527937277,"details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1545213","why":"This add-on violates Mozilla's add-on policy by overriding search behavior without user consent or control.","name":"Add security (Malware)"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0"}],"id":"74ad8c8b-a65a-470c-aa2f-ca14e1e8774d","last_modified":1555528639011},{"guid":"/^((\\{880cacfe-5793-4346-89ce-fbbd368d394c\\})|(\\{f0780038-50b9-11e9-9c72-4ba2d8f2ec9f\\})|(\\{22ffe411-2b0e-11e9-87f9-c329f1f9c8d2\\})|(\\{cf4bae43-026f-4e7e-a85a-952a7ca697a1\\})|(\\{17052516-09be-11e9-a008-03419f6c8bc6\\})|(\\{333fb3de-18a8-18e8-b6d3-e73213911efb\\})|(\\{aa4abac2-1ffa-12aa-bbdd-9305cb2c1254\\})|(\\{72222e70-2fd6-11e9-956b-27f7787b8d2d\\})|(\\{637212d8-3484-11e9-9812-005056b22b42\\})|(\\{4a222e60-31de-1eca-8476-37565daf6afb\\})|(\\{7fc6d222-48d5-11e9-b586-17e94c73a1b1\\})|(\\{e111c358-121b-13fa-bf23-bb57da32d184\\})|(\\{9674445c-8dff-4580-96b2-99442a7ae9af\\}))$/","prefs":[],"schema":1555525532852,"details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1544315","why":"This add-on violates Mozilla's add-on policy by executing remote code.","name":"Various"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0"}],"id":"cbd7444f-e62a-4639-b172-845548b6d4a7","last_modified":1555527929174},{"guid":"{674fff65-6cd0-488a-9453-fb91fc3d7397}","prefs":[],"schema":1555406446874,"details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1543924","why":"This add-on violates Mozilla\u2019s add-on policies by executing remote code.","name":"Assistant"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0"}],"id":"8aff4cb0-4d5f-4e74-8db7-b04f616c3b60","last_modified":1555503879816},{"guid":"{40cd7fd2-a3e4-43f9-9d86-0e0a70376203}","prefs":[],"schema":1555184501005,"details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1544268","why":"This add-on maliciously injects remote code for execution.","name":"Scan Tech"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0"}],"id":"881d3476-f18a-4560-b065-cded406783d2","last_modified":1555228377222},{"guid":"{8ee8602c-aba6-4e2a-9faa-1724c3f4f9ba}","prefs":[],"schema":1555102738661,"details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1544205","why":"The add-on is maliciously loading remote code for execution.","name":"Service Proccesor"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0"}],"id":"94621e2f-28a0-4b18-97c6-5f6203f5912e","last_modified":1555161086175},{"guid":"{d8b03707-e39f-4b17-8e56-56354fb14af5}","prefs":[],"schema":1555100104657,"details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1544103","why":"This add-on maliciously injects scripts, violating our policies.","name":"Interruptible Observer"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0"}],"id":"3a921aa8-d44a-4272-be63-0fd102577f59","last_modified":1555100575898},{"guid":"{132cb2fd-a6ae-45d2-84cf-b48d591f037d}","prefs":[],"schema":1555099951278,"details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1543922","why":"This add-on injects remote scripts and overrides search behavior without user consent or control. It also masks as an add-on with a different purpose.","name":"Player"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0"}],"id":"371796e4-387a-4dd0-9ddc-47ba1dd85be7","last_modified":1555100104648},{"guid":"H.264.Addon.Test@firefox.com","prefs":[],"schema":1555099832659,"details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1543919","why":"This add-on exfiltrates user data without consent or control and may be misleading the user into believing this is an add-on by Firefox.","name":"H.264 Video Codec Fake"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0"}],"id":"53ef1aad-7bdb-4f4e-8d46-55d6ec2d78ab","last_modified":1555099951269},{"guid":"{608f71eb-5bd6-45d8-bc93-b9e812cf17b7}","prefs":[],"schema":1555099501294,"details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1543801","why":"This add-on maliciously injects remote scripts, violating our policies.","name":"Consumer Tech"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0"}],"id":"ea00841e-8dc2-4e11-9119-7a599e47d800","last_modified":1555099832650},{"guid":"/^((\\{8220ccaf-15a4-4f47-a670-a4119a4296a4\\})|(\\{9da72c11-44d7-423c-b19c-c75cd6188c3e\\})|(\\{99d0e4d0-c5ef-4567-b74c-80c5ed21ad99\\}))$/","prefs":[],"schema":1555011689511,"details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1543848","why":"This add-on violates Mozilla's add-on policy by overriding search behavior without user's consent or control.","name":"Search overriding add-on"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0"}],"id":"03554696-58fe-4b90-89d1-72b72f88f82e","last_modified":1555069748234},{"guid":"/^((\\{b37f383f-e60f-4eb1-ac0f-9147e0e8f2f7\\})|(\\{8ad567d2-3fe2-446b-bce9-a3acbe878dba\\}))$/","prefs":[],"schema":1554997740201,"details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1543673","why":"These add-ons are overriding search behavior without user's consent or control.","name":"Hash"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0"}],"id":"036e2e7d-5403-49be-92cf-b5187ceef7ec","last_modified":1554997910212},{"guid":"{be6ab6a9-7004-4c5c-8df9-8d36122d8b14}","prefs":[],"schema":1554997613727,"details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1543705","why":"This add-on injects remote scripts with malicious intent.","name":"asin"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0"}],"id":"6fd3ab94-8e38-47f3-b129-3ca8396d0a22","last_modified":1554997740187},{"guid":"/^((\\{61f433aa-45fd-42a9-9c90-c1d7820661d5\\})|(\\{86cd46b6-433a-439c-bff2-722846709f44\\})|(\\{98e126a4-4e70-4300-b893-3b2cca19bc9b\\})|(\\{8f42dc3a-1c46-4fc2-8c7f-dd76a63b1cf7\\})|(\\{a24d3582-2fc2-475c-8440-335736e17c6e\\})|(\\{cf0b5280-cd08-465d-ad7d-70308538f30a\\})|(\\{936f3c79-5dc9-4694-bca8-47932de3357a\\})|(\\{e48d5888-8736-4858-83ba-e816378ffef8\\})|(\\{5305f89c-ceec-4217-8bae-c9c376c7462b\\})|(\\{a2ac47e5-d225-4718-9b57-18a932f87610\\})|(\\{79f60f07-6aee-42cd-9105-c0a52f401316\\}))$/","prefs":[],"schema":1554981266268,"details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1543664","why":"These add-ons exfiltrate user data while masking as a legit add-on.","name":"Adobe Flash Player Fakes"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0"}],"id":"fc38e782-d55b-4fb7-8f9c-374aa18af09c","last_modified":1554997613713},{"guid":"/^((\\{0913599d-3094-44a7-8cc2-b8467d5afc7c\\})|(\\{7bee7f1b-d8ad-424d-807d-e69e6634988e\\}))$/","prefs":[],"schema":1554898779160,"details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1543462","why":"This add-on violates Mozilla's policies by exfiltrating user data without their consent or control.","name":"Malware exfiltrating user data"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0"}],"id":"0d86ba71-7baa-4cb3-b3b8-da4ccdfa36b9","last_modified":1554976164809},{"guid":"/^((\\{9946bf2f-0aef-4040-bc57-cdae2bde196a\\})|(\\{d511784e-d088-4fce-b77c-14c186f08641\\})|(\\{fe59312a-97bd-4ca7-bce3-b0db95b1e251\\}))$/","prefs":[],"schema":1554897771015,"details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1543118","why":"This add-on violates Mozilla's add-on policies by overriding search behavior without user consent or control.","name":"Invert (Malware)"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0"}],"id":"ed01b7e5-73d1-42a6-9fc8-af2d83879854","last_modified":1554898652923},{"guid":"{c75432cb-980d-4e64-98c8-d7947b382a2c}","prefs":[],"schema":1554897109129,"details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1543255","why":"This add-on violates Mozilla's add-on policies by executing remote code.","name":"Concrete Tech"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0"}],"id":"7fd0eb9c-9f6c-40ea-ba39-645cafb1d5a0","last_modified":1554897390260},{"guid":"/^((\\{6a99a9ec-f149-4ad3-b644-15e44290d00c\\})|(\\{cd9d1582-13dc-4ce1-9c83-4aaa31c6bc36\\})|(\\{3414a827-ee54-4331-85eb-736a824bb7e0\\}))$/","prefs":[],"schema":1554896836686,"details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1543181","why":"This add-on violates Mozilla's add-on policies by overriding search behavior without users' consent or control.","name":"Drag (Malware)"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0"}],"id":"a4f0ac78-ba85-4b5a-9d1f-f3f2c6ae4f7c","last_modified":1554897104624},{"guid":"/^((\\{4b6e66db-ee0b-4fc3-abe6-b97cb4798faf\\})|(\\{8aff5f41-86f8-40f1-896d-954eae7fb670\\}))$/","prefs":[],"schema":1554817097951,"details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1543049","why":"Search hijacking","name":"Fit"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0"}],"id":"8a7efe6b-8670-4714-b4b2-08ce5f202ee7","last_modified":1554818136441},{"guid":"{81425b21-cc8c-42d0-98e8-69844bcb7404}","prefs":[],"schema":1554811583185,"details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1543048","why":"Remote Script Injection","name":"Tech Chip"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0"}],"id":"dafcc63d-37e0-42e2-b439-59727cf9de48","last_modified":1554811754967},{"guid":"{d85aa6ef-639b-43a1-8560-ddeb59935d10}","prefs":[],"schema":1554803024628,"details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1543047","why":"Remote Script Injection","name":"BatchSerialize"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0"}],"id":"204b7b05-d8e1-4de3-86f9-fcf95edb40c0","last_modified":1554811583171},{"guid":"/^((\\{bf163ed1-e9f9-4c98-ae4b-8391133472d1\\})|(\\{ec283482-2d66-49b2-9dc5-0d03bcbffe65\\})|(\\{0a19856e-4168-4765-a8ab-a3a34fa88ec1\\})|(\\{e2019dd1-4591-42e2-864a-535a99972b1a\\})|(\\{88a65f0c-f952-41f0-8868-f22fa12597b3\\}))$/","prefs":[],"schema":1554754247858,"details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1540998","why":"Exfiltrating user data to a remote site while masking as a different add-on","name":"More Flash Player Clones"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0"}],"id":"ddd97fae-7040-4758-811f-1dd53116e6ab","last_modified":1554755273775},{"guid":"/^((\\{743fc0de-1085-4078-8611-848024989608\\})|(\\{02acc043-f402-4e48-aa15-56ee1364e17c\\})|(\\{1b7892ab-6dbe-49d1-9c71-bbb70458c830\\})|(\\{25b3b5bc-b77a-49d1-ab56-c0e760fe02ff\\})|(\\{2c78aa89-8cdd-4a96-821a-e35628aea2fb\\})|(\\{2f154b99-05c2-4629-b687-f2aa031d9f65\\})|(\\{36df6f78-16c4-42c2-a6b8-9210a2953739\\})|(\\{40ada62f-72a8-46b7-8e50-4153f660ce34\\})|(\\{49f58462-fc24-472c-b85a-4a3dbbf48741\\})|(\\{4a8cb3fd-0400-47b3-a799-9f2964229bfa\\})|(\\{5429f6da-d7fe-4f1b-a85e-6dc721ec0037\\})|(\\{74480b2f-1198-45b3-86b3-ca0778482216\\})|(\\{777f1169-a824-459d-8a2d-ca2ffaf59424\\})|(\\{81e610be-656a-4a71-866d-dd94b5096c60\\})|(\\{81ee3e70-b6e4-44d0-b5c2-94ded26bb5ac\\})|(\\{881c71c1-6800-4e8b-89de-0d14ef67d588\\})|(\\{9b5d7f59-be9c-4f1e-bf0c-31f085c17726\\})|(\\{9eff0ead-25a4-429c-b4b2-280ba3c6f2d9\\})|(\\{ad1b7e87-e260-4aee-a602-ef234743443e\\})|(\\{b54a530a-cacc-4c76-a7c3-feafd4ce0b13\\})|(\\{bd0d7634-770e-4d9f-8309-d264a5fbbfa9\\})|(\\{bdf16cc8-3da6-4317-a1eb-2ab8adce6b66\\})|(\\{bf484a7f-49fd-4681-afa5-8a063d010a14\\})|(\\{c7cf6d86-207b-4231-a96a-bbfdc9fe59aa\\})|(\\{d33f83c2-dbc6-41d2-a8b9-28fdaa96985e\\})|(\\{d71757ee-edc7-44d5-b536-cb0370d7d9f6\\})|(\\{daf86db4-7dd4-47d4-a1d1-7c31f6b9bbe3\\})|(\\{e27060a0-5fb5-4844-b446-d2655d7681fa\\})|(\\{fae0d133-05dd-44e6-88e1-e218ca2b2caf\\})|(\\{fbf69005-55d8-4360-a562-255a8c285fea\\})|(\\{fd6d1b53-89f5-4d91-9234-fb3e1b067c1b\\}))$/","prefs":[],"schema":1554753973658,"details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1540998","why":"Exfiltrating user data to a remote site while masking as a different add-on","name":"Adobe Flash fakes"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0"}],"id":"e12a97c7-2c83-4e1c-a2c3-66a653bc6048","last_modified":1554754247845},{"guid":"{ea173fdc-f27a-482a-8a0a-61fd1aa2ee2e}","prefs":[],"schema":1554744706554,"details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1541005","why":"Masks as a legit add-on and includes a remote script that is against our policies","name":"InterpreterInvocation"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0"}],"id":"8742ec6a-2e51-4e94-bc6a-653dac08521b","last_modified":1554753973644},{"guid":"{16768af9-4120-4566-95cf-c4234effa084}","prefs":[],"schema":1554733900697,"details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1540999","why":"This add-on changes the search settings in a way that is not allowed per our policies","name":"Unknown search hijacking add-on"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0"}],"id":"3fb0ed8e-6e5d-489e-8c9d-b6f48705a742","last_modified":1554736392840},{"guid":"{35b9640e-ebbb-44b7-85af-d9ec3af3c6a6}","prefs":[],"schema":1554730607333,"details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1540690","why":"Malicious remote script injection","name":"Patagonia Bit"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0"}],"id":"0eb3a151-ca6b-4dbb-81b3-c10635660c84","last_modified":1554733900683},{"guid":"{d574e1f8-537d-4b6c-97bb-9f7a138f4d67}","prefs":[],"schema":1554728269766,"details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1540686","why":"Injects remote scripts and masks as a different add-on","name":"DistributedConsumer"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0"}],"id":"a158055b-3387-4961-a4a3-a820d9299e15","last_modified":1554730607318},{"guid":"one-search@mozzilla.xpi","prefs":[],"schema":1554666099983,"details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1542208","why":"The add-on violates Mozilla's add-on policies by overriding search behavior without user consent or control.","name":"One Search"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0"}],"id":"1344c583-9593-412f-a565-c6cc96a07c28","last_modified":1554718843138},{"guid":"/^((\\{00b4b65b-79d9-4e92-bc1e-2b926918b91c\\})|(\\{0cb66591-e935-47e4-95c2-3063786f6555\\})|(\\{6cf25884-f86d-4a4e-a924-d95282ce5b71\\})|(\\{22cce9c6-a1de-457f-8938-c981b976b6f4\\})|(\\{89d99d4c-e7c4-4601-91a8-216e597a826b\\})|(\\{998d3ac7-b475-410e-ad3d-2eeb526c1853\\})|(\\{9423e8df-6200-45c0-877a-479c46e91b30\\})|(\\{64937e0b-6e00-4d5f-bf19-190d6614aae2\\})|(\\{91507dc4-c005-4534-80af-d8fbdeac29ed\\})|(\\{a2247e60-7b89-4857-a2fa-0eaee1cad460\\})|(\\{c9c28751-5865-449f-8e45-b3363edf9fb7\\})|(\\{cdfd004f-cddc-4ad7-8e2d-a58457e42b1f\\})|(\\{d3e7f35d-7d9f-4d38-9a2b-1581f6b3e870\\})|(\\{df574ffe-cce0-42db-857b-627cb164a4d4\\})|(\\{e06afe6e-ed52-40f8-82bf-d070a37387fb\\})|(\\{e7e7fb96-cfab-4a5b-85fe-20f621e1bc2e\\})|(\\{e12e5afd-bd1e-43c6-9288-321dc485cb1c\\})|(\\{e92d8545-0396-4808-96de-830c61c0d1b3\\})|(\\{e883b012-1987-4f37-8053-02e59e20c242\\})|(\\{ed3386c6-76c6-4786-a37b-9816d5f2a260\\}))$/","prefs":[],"schema":1554462951082,"details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1541662","why":"These add-ons violate Mozilla's add-on policies by overriding search preferences without user control or consent.","name":"Search overriding malware"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0"}],"id":"a1c376fe-20c5-4da3-9126-3fe95b874dce","last_modified":1554463075420},{"guid":"sourcegraph-for-firefox@sourcegraph.com","prefs":[],"schema":1554375072708,"details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1541010","why":"This add-on violates Mozilla's add-on policies by executing remote code.","name":"Sourcegraph for Firefox"},"enabled":true,"versionRange":[{"severity":1,"maxVersion":"19.4.2.1038","minVersion":"0"}],"id":"9fde5729-9be6-4955-9627-67742c5ed62a","last_modified":1554395912709},{"guid":"/^((\\{6ab41e83-2a91-4c2a-babb-86107a1d1f75\\})|(\\{d84a9d0d-7a31-459e-b45a-2ad111884d1f\\}))$/","prefs":[],"schema":1554293659259,"details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1541405","why":"This add-on violates Mozilla's add-on policies by overriding search settings without user control or notice.","name":"PopWin (Malware)"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0"}],"id":"04b2954e-4f83-4557-968e-2139a277bf1c","last_modified":1554301860877},{"guid":"/^((@searchlock-staging-automation)|(@searchlock-automation)|(@searchlock-fx)|(@searchlock-staging)|(jid1-vRJA7N8VwBoiXw@jetpack))$/","prefs":[],"schema":1554293340413,"details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1540868","why":"This add-on violates Mozilla's add-on policies by executing remote code and overriding search preferences.","name":"SearchLock"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0"}],"id":"aacb25e1-71c5-4bee-ad16-e39e732210ba","last_modified":1554293606641},{"guid":"{03dfffe0-509f-11e9-aa00-e7e13d49f3de}","prefs":[],"schema":1554290590697,"details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1540113","why":"This add-on violates Mozilla's add-on policies by executing remote code.","name":"Addon (Malware)"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0"}],"id":"9c75fe89-7011-47ad-b213-57f5a81a4c89","last_modified":1554290693618},{"guid":"{e555c358-121b-13fa-bf23-bb57da32d184}","prefs":[],"schema":1554290541557,"details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1540111","why":"This add-on violates Mozilla's add-on policies by executing remote code.","name":"Security (Malware)"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0"}],"id":"1809ea7a-8155-4ae7-8c83-ee7c749d30f5","last_modified":1554290590689},{"guid":"{a9c33302-4c97-11e9-9a9d-af400df725e1}","prefs":[],"schema":1554147700324,"details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1539514","why":"This add-on violates Mozilla's add-on policies by executing remote code.","name":"Security (Malware)"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0"}],"id":"5b4e4e75-cc96-4ca9-aa9f-6a2d2f6cd96a","last_modified":1554290541548},{"guid":"{a3f765c3-8dde-4467-ad6e-fd70c3333e50}","prefs":[],"schema":1554119395186,"details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1538143","why":"Remote script injection","name":"Angelic Bit"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0"}],"id":"93dc42cc-4ff3-460d-a8f2-12f1d947b530","last_modified":1554119427564},{"guid":"{91f77263-866e-4acb-a569-f66ac47889f8}","prefs":[],"schema":1553974898434,"details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1539226","why":"Remote script injection","name":"Bit Apex"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0"}],"id":"c528f48a-9b2c-48ca-8b4a-eac442cc0bd0","last_modified":1554119395177},{"guid":"{2256fabf-19f1-4e12-9951-5d126dd9e928}","prefs":[],"schema":1553899022464,"details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1540086","why":"Search hijacking","name":"Twit"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0"}],"id":"7c705f73-9d1d-4ee9-ad11-347d18729adb","last_modified":1553900528324},{"guid":"/^((\\{00f77164-eca9-4353-916d-8ea493a54c8d\\})|(\\{0716b2a5-8181-45b8-b675-915e38903761\\})|(\\{26124967-7e32-4577-b998-7296c68d3eb9\\})|(\\{273052bc-fc67-4fc1-a6fd-e62acc3ddad1\\})|(\\{4b5f53ac-36ac-4018-80cb-f1106f60ef96\\})|(\\{61065f61-51aa-462c-aca0-f1addbfa202b\\})|(\\{63383006-d617-4a00-9ca7-30a6864782ee\\})|(\\{7629c987-59ea-4e2f-bcde-b55646ecd268\\})|(\\{78e8c8fa-32ce-432b-9a40-b615bff7cd96\\})|(\\{8e9c05df-e0f5-479f-abb9-858650cb471e\\})|(\\{947f1ac0-09f2-4016-a345-dad0d2ee8f57\\})|(\\{9b9f8124-47bc-4699-8557-45573995b0af\\})|(\\{ab159932-d1dd-4d16-9332-8302a01e0ced\\})|(\\{b7340504-f6ba-43cb-8bd6-5ead88d29898\\})|(\\{bcb9265f-20fd-4311-a33f-212c2d08043a\\})|(\\{f8701822-2814-4d5d-af01-cf7fde4fd510\\}))$/","prefs":[],"schema":1553898687988,"details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1539910","why":"Data exfiltration, is not actually a flash player","name":"Adobe Flash Player fakes"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0"}],"id":"64fc6369-b504-4920-abab-f2cf3cc5424a","last_modified":1553899022456},{"guid":"/^((\\{7dd03112-82a0-4c82-9957-117dedaac14a\\})|(\\{59fd3cac-1a4d-4f0f-a129-c241b203eb51\\}))$/","prefs":[],"schema":1553897736388,"details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1540287","why":"Search hijacking","name":"Song"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0"}],"id":"b32b14f5-0024-48fb-a4b6-1496add1dac0","last_modified":1553898687980},{"guid":"/^((\\{70c2cef0-6cc6-41b8-ad6b-bbd11182a101\\})|(\\{a0366612-376e-47e3-b5fa-b805c7176088\\}))$/","prefs":[],"schema":1553810805293,"details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1540055","why":"Search hijacking, masking as legit add-on","name":"Pix"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0"}],"id":"d78262b0-ecfc-475e-9759-f7319451cb43","last_modified":1553847044919},{"guid":"/^((\\{10f1b84d-79ca-41d0-97f6-abb53cec0765\\})|(\\{7891c029-0071-4534-b7f0-7288f14ee0ad\\}))$/","prefs":[],"schema":1553810612956,"details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1538476","why":"Remote script injection, search hijacking","name":"FX"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0"}],"id":"50197dbd-71bc-492f-a0f1-6658ec454df4","last_modified":1553810696456},{"guid":"/^((\\{058769c7-784e-47a9-a2c4-dfd81bbf6c8c\\})|(\\{2a58598a-f951-4fb0-af2b-12fb7482bf33\\}))$/","prefs":[],"schema":1553810234714,"details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1539910","why":"Keylogger","name":"Fake adobe flash player"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0"}],"id":"e1355888-e1cd-4d21-9652-c3000662ed88","last_modified":1553810612947},{"guid":"/^((\\{54c7e57f-8ef0-48d5-92a0-6e95d193a12c\\})|(\\{32d262da-e3cd-4300-aa0b-c284eb4e17bf\\}))$/","prefs":[],"schema":1553802101395,"details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1538536","why":"Search hijacking, masking as legit add-on","name":"TxP"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0"}],"id":"fa6c7cdb-e477-4478-8dd4-3e1106be6aa3","last_modified":1553810234705},{"guid":"/^((\\{36261798-4c2a-4206-89cc-6c28932b2e98\\})|(\\{b2b9bb64-78d5-43ca-b0cf-a9ee8460521b\\}))$/","prefs":[],"schema":1553616425198,"details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1538234","why":"Clone of Feedbro with added remote scripts and search hijacking","name":"Feedbro Fake"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0"}],"id":"e00b2639-8a4f-427a-80d8-7c4937c58f31","last_modified":1553620435398},{"guid":"new-tab-search@mozzilla.xpi","prefs":[],"schema":1553616311575,"details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1538500","why":"Search hijacking","name":"New Tab Search"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0"}],"id":"a4dca16a-9fa1-4b55-899c-0f8d5eda1a57","last_modified":1553616386570},{"guid":"{a9c33302-4c97-11e9-9a9d-af400df725e3}","prefs":[],"schema":1553616259023,"details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1538141","why":"remote code execution","name":"Fake Security add-on"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0"}],"id":"0c09f067-6e5f-4ee0-9040-08b4297ebe02","last_modified":1553616311567},{"guid":"{7ab5c514-4ebe-22e9-a925-9b7c7317c373}","prefs":[],"schema":1553548654429,"details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1538266","why":"remote code injection","name":"Eval"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0"}],"id":"a1f04f09-f4d5-4875-b4b1-a2c772178e8e","last_modified":1553616158755},{"guid":"{bc919484-f20e-48e2-a7c8-6642e111abce}","prefs":[],"schema":1553519202849,"details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1538962","why":"Inserting monetization iframes and masking as a legit add-on. Contains patterns for known malicious add-ons.","name":"Pinterest Save Button clone"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0"}],"id":"7abbecfb-5512-47d1-ba9b-96d6a61b85ee","last_modified":1553548325261},{"guid":"/^((\\{157cd8f9-48f0-43a1-9bcf-c4316753e087\\})|(\\{157cd8f9-48f0-43a1-9bcf-c4316753e086\\})|(\\{157cd8f9-48f0-43a1-9bcf-c4316753e088\\}))$/","prefs":[],"schema":1553186907495,"details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1537895","why":"This add-on violates Mozilla's add-on policies by overriding search settings.","name":"SD App (Malware)"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0"}],"id":"e263fbec-7155-442f-aa82-cdf218f9e3d7","last_modified":1553193746700},{"guid":"/^((\\{1c94bc8a-3ac1-12e1-aae7-0b314772229c\\})|(\\{8a22255c-4737-11e9-a86b-0bb66337cb31\\})|(\\{3fab603e-3ee1-1222-a859-5f85a3441216\\}))$/","prefs":[],"schema":1553166786114,"details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1535655","why":"This add-on violates Mozilla's add-on policies by executing remote code.","name":"'Security' add-ons (Malware)"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0"}],"id":"6cf1b676-f0b8-4fea-8a5f-64957650dc2e","last_modified":1553172061896},{"guid":"{28ac81f1-b04d-448f-94be-1b8cc8fbd58d}","prefs":[],"schema":1553079961735,"details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1536513","why":"This add-on violates Mozilla's add-on policies by executing remote code.","name":"UtilsBridge (Malware)"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0"}],"id":"f60b3eec-b8b8-4bd7-8d2b-3f7912c3451f","last_modified":1553080348264},{"guid":"/^((\\{9332d73d-7991-46bf-8b67-6db1a21f0167\\})|(\\{b33715d3-eff8-4186-a252-0af5094b8644\\})|(\\{eb7aff78-6145-4a31-a7f5-f3c353ddb312\\})|(\\{6c5cd693-2919-4458-b776-2ac5b6ab1cb0\\})|(\\{daacefee-aaba-4f10-8d4d-059904d8a153\\})|(\\{94d8d504-838c-4392-9971-cd2f6e21ca21\\})|(\\{6574bb31-c971-454f-b08c-a75bfee00855\\})|(\\{1688ecb0-e382-481f-8c70-541d70bdd2e9\\})|(\\{f7b9f777-7b01-4f73-8eb8-f2ad85d4da1c\\})|(\\{598d7ac6-1789-4573-ae6a-5798ed7f6d83\\})|(\\{c0eb4d03-d18e-40bf-b21b-8237ee1bed76\\})|(\\{d0513185-1f20-4045-a232-f3a4252af379\\})|(\\{9ae8269f-eea1-4097-87fd-b7d2f102184d\\})|(\\{5683f95b-2517-4ca7-9d19-83d7f309b62a\\})|(\\{013d3691-0dd6-471b-bf0d-2750d7406a22\\})|(\\{ae73a262-1a27-4d1d-9be7-4b41a84dfd23\\})|(\\{1d92fc5d-5353-401f-8c5f-373b3b6dae67\\})|(\\{e8a81b54-3728-4a9c-8c63-18ef803ef9be\\})|(\\{d604961b-3a3d-4f60-87ae-35977c10b787\\})|(\\{cbe9b620-fac0-407a-b3be-b0a61b319ef8\\})|(\\{1cdb403e-11c7-421b-9c87-0c0d90263626\\})|(\\{f5fa0bfe-a981-48ff-b809-8faa3126f0bc\\})|(\\{7dc6d0d2-b2f0-4334-979d-6ebeff77785a\\})|(\\{13623b47-de82-4226-85f8-d3ae343e619b\\})|(\\{db7b6ea7-2605-44c7-807b-2419d7eec531\\})|(\\{b9298a4a-acca-446d-aa72-d37f5e1576cd\\})|(\\{2e689bc0-735f-445c-bcc7-2cc495f5eb40\\})|(\\{04acd977-4c2b-4162-af33-8c585bea90c5\\})|(\\{2436dde0-3230-4933-9020-c15b3b9e693b\\})|(\\{dcb556aa-ef6e-4778-9f60-c5ae18a72cfb\\})|(\\{5a24385f-ada4-455d-95ad-62cb6256360d\\})|(\\{97f88a13-5b79-4345-a85e-2560d54f577c\\})|(\\{12f4cde8-7d1c-4a9e-9ef7-431f5ecd53a4\\})|(\\{18a93813-7deb-40cf-b3a6-402369e6d817\\})|(\\{9cee5c92-eb1e-4892-86ff-d2d1c627f5b9\\})|(\\{cb1c544e-d444-4c85-8224-64aa26e82230\\})|(\\{1c3b247f-2ef4-4483-93a6-0a3da7bc3548\\})|(\\{1f6913f2-dead-4f96-bf96-0e64affd46ae\\})|(\\{109adc7d-f308-43a5-aa0e-07ccdc5dad2c\\})|(\\{7170e23c-c706-48a7-919f-c1c22548dbfb\\})|(\\{6aa47f05-1f3f-4798-908a-0ed01b2361e0\\})|(\\{33ef0e7b-15ea-4b08-a779-173731ac20b3\\})|(\\{a0361564-9461-4da0-8ec0-7dc6f418f707\\})|(\\{c12631ed-993a-4c2e-9bf0-37867ae40491\\})|(\\{00b79649-3f0e-4b12-a8f0-376a7b2db716\\})|(\\{89096e44-c8b4-4ce5-aad2-f5bac765f608\\})|(\\{6f4eff89-0e32-42bd-a5c1-354adc8417fd\\})|(\\{482c54ae-e080-4596-bf7c-ae972fdff9a3\\})|(\\{04868575-532f-4b43-9325-7e707c109c25\\})|(\\{042c3065-1291-4409-bae5-8d11f3c268e2\\})|(\\{126e7fc4-bf2d-4467-88b1-f3b17bc10da4\\})|(\\{cea21739-b9ce-46c7-ad3e-3607b1ff6538\\})|(\\{06eea1e7-a8be-4794-8cd5-ed12e5f86161\\})|(\\{50993bc5-011c-4322-b522-41e6f3997163\\})|(\\{219a2146-5d9b-472a-8630-4c96a0994bec\\})|(\\{1db94c2f-d957-4b12-a1dc-903bb28f5ff5\\})|(\\{2f7d887c-7d56-41fa-bf9b-eadf6e500427\\})|(\\{2b16f4ab-a2a9-43fd-8fd6-ad6f354b0d28\\})|(\\{034d2b14-29e6-42ad-b2db-2c31286f3fb7\\})|(\\{77058195-5ae1-440c-8f86-c60a96d12ca9\\})|(\\{8082ff2f-2151-4281-8134-1423e5961ca1\\})|(\\{9fa797e8-d7d4-4851-b7e9-76b61ecf046f\\})|(\\{87178fbe-17a5-4d8d-b5ed-48d17179b101\\})|(\\{f010d9e9-0878-4c83-af45-df966cbe8d26\\})|(\\{2aa8c5cd-18fa-4991-b354-d6f459efeca9\\})|(\\{4021839d-3f4a-4866-94fb-9fa809c5245b\\}))$/","prefs":[],"schema":1553024292304,"details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1535088","why":"This add-on violates Mozilla's add-on policies by exfiltration user data and tracking online activities.","name":"Search overriding malware"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0"}],"id":"478d4acd-3c01-4dd5-b784-4e06b69d1c05","last_modified":1553079818962},{"guid":"{781b89d4-fa53-45a1-bea4-151dd4c8b288}","prefs":[],"schema":1553013598703,"details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1535280","why":"This add-on violates Mozilla's add-on policies by executing remote code.","name":"Drop Tech (Malware)"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0"}],"id":"81759002-967e-4856-9f55-61d7c30cdb3b","last_modified":1553013656506},{"guid":"{3b52063a-0683-4de2-b6e1-6192c78b6ba3}","prefs":[],"schema":1553013551744,"details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1536042","why":"This add-on violates Mozilla's add-on policies by executing remote code.","name":"Project Tech (Malware)"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0"}],"id":"6a7f932a-3911-4884-8cb9-d282d282c0cc","last_modified":1553013598695},{"guid":"{47610aad-982f-4822-93ca-8c27dc96a13b}","prefs":[],"schema":1552938092086,"details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1534773","why":"This add-on violates Mozilla's add-on policies by executing remote code.","name":"Tech Hand (Malware)"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0"}],"id":"12874e4d-28b5-4e98-8c33-b6cf5eb032bf","last_modified":1553013551736},{"guid":"amqp-dwn-all-vd@artur.brown","prefs":[],"schema":1552916969263,"details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1536052","why":"This add-on violates Mozilla's add-on policies by executing remote code.","name":"Video Downloader Plus (Malware)"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0"}],"id":"a3f5ce2f-d8ef-4dae-9fce-1d7fb69d2b37","last_modified":1552917123606},{"guid":"/^((\\{1d758385-fddd-478e-85a0-13eef59f60e5\\})|(\\{1ec3e92a-fd3c-4e16-82e2-56d44bd7bdf4\\})|(\\{3dadda0d-d67c-4452-9475-246c33198192\\})|(\\{4a48f6a8-c9d6-4ae2-8513-a7e9fe785a56\\})|(\\{4d2da172-b160-42b5-9fea-0ede63e0ab52\\})|(\\{5bcd4feb-ce52-4e6f-9da6-eef2a75a4f70\\})|(\\{5eb45d74-0f46-4269-bc0e-8a2a49d64267\\})|(\\{7e8c27c0-b94c-4026-8068-2d152143f073\\})|(\\{9ede19b2-bb97-4d1c-abab-b1d72e7d4c74\\})|(\\{19abb7a0-fb4d-41ff-97d4-65f1680c1348\\})|(\\{25efbdeb-04fa-4998-a9f8-99c1293c7b7f\\})|(\\{0049a401-f02d-4d16-8b5e-5933e5855a4c\\})|(\\{65b91ca5-cd06-42a6-9637-8ecde3a69fd6\\})|(\\{146ec14e-f623-4cb2-88ed-7d3bb8101090\\})|(\\{790d2797-82f3-4bc3-8759-c00d426bbf2f\\})|(\\{865f42b5-e073-4a36-84b1-47d09096b48b\\})|(\\{90055a5b-45a8-45c1-b0a0-979ab2a9064f\\})|(\\{a4f5c163-7b64-46c4-bfd3-348ecc99873a\\})|(\\{a8c40ee7-a376-417b-8022-40909a10181b\\})|(\\{a1031346-14d3-464f-9e50-c30dfd88ad92\\})|(\\{abd16535-2fa8-4bfd-b84e-ed09c9c60e53\\})|(\\{b5ee8c58-b5e5-4ba0-a899-9a54a2f0e386\\})|(\\{b246bb42-577e-4587-adf2-7274b378b0b4\\})|(\\{bb43765b-fe06-4d50-9802-0c6742b220aa\\})|(\\{bf3f628d-9e52-4727-b940-054c65a5a304\\})|(\\{c6bc710d-8cc8-4224-9287-44ecfa452a81\\})|(\\{c232edce-83c9-4184-9782-22df800f65e2\\})|(\\{c5397be4-b756-45b8-a247-339846fada52\\})|(\\{c6675bc5-f7ea-4a11-8252-1152d3783ae3\\})|(\\{cc6a088b-5a84-4e48-8de8-d2f6be3abae7\\})|(\\{e6c12219-f67e-4ea0-a9c3-2c541febeff1\\})|(\\{eb3a7ef7-a4d0-49a4-8b21-2a91c1758100\\})|(\\{ec34588b-86b4-4de3-a3bf-f4d1d8386475\\})|(\\{f4fd8825-648f-4b63-a499-3fd702d42149\\})|(\\{fc4f31f6-c5ed-4afd-8c19-df96e107ce7d\\})|(\\{fe337ef5-bb69-44bf-82a8-ee5c13406165\\})|(\\{ff285a1c-5672-44c3-890e-6c4f25976b83\\}))$/","prefs":[],"schema":1552908996320,"details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1535421","why":"This add-on violates Mozilla's add-on policies by executing remote code.","name":"Flash Player (Malware)"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0"}],"id":"25f18cc5-6ecc-419f-b093-b79e9f261062","last_modified":1552916969252},{"guid":"{a4491aab-e273-4bc3-b45e-a7b9b9414a5f}","prefs":[],"schema":1552695264438,"details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1534792","why":"Search takeover not according to policies, masking as a different add-on","name":"FFCop"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0"}],"id":"d2da9c45-59f8-4257-9d7e-07c4fa5de958","last_modified":1552695747900},{"guid":"/^((\\{0f6b717d-1625-4434-b770-5ae33eb64b16\\})|(\\{6d092be7-0bad-46af-9489-04e4b3988644\\})|(\\{7f6049d6-e8b0-4c42-8028-204d1458ddb6\\})|(\\{12b75028-c038-40bd-be5b-2809b7d18d78\\})|(\\{46f35a01-faaf-4fab-95e6-7dfc8b6d8b73\\})|(\\{55d2c6f7-62fa-4091-988b-7f4c4b3c1bff\\})|(\\{75aeaeec-d415-404d-84ba-bd70bcc5e70c\\})|(\\{76b8cf24-227d-4e2b-af4c-39ec5b47babf\\})|(\\{77b725cc-5d0e-4b82-88f0-ec6961acd697\\})|(\\{90fc8426-06ba-43ab-8110-7478ff86f531\\})|(\\{90fc8426-06ba-43ab-8110-7478ff86f539\\})|(\\{157cd8f9-48f0-43a1-9bcf-c4316753e084\\})|(\\{157cd8f9-48f0-43a1-9bcf-c4316753e085\\})|(\\{201ec7f7-57b1-48dd-945c-b1ea7489195d\\})|(\\{280fc0f5-6dfb-4a3c-92ae-acb2d5352175\\})|(\\{388f6d65-4a1b-43ac-b791-387882c30599\\})|(\\{0575cabd-38f3-4964-bdc3-0141a2f062e9\\})|(\\{927e4189-4f56-437e-a0d4-5e232612b5c7\\})|(\\{7277d7cf-c598-420b-ab6e-ab066e1e2fdd\\})|(\\{67775ec2-c879-438b-9409-89fba7ffc684\\})|(\\{397386d2-bb76-4b69-8121-86fad15c5216\\})|(\\{bd7f03dc-b362-4744-b118-43ab916205f9\\})|(\\{c133fb29-c967-4aec-953a-4974e8cbdb26\\})|(\\{cc94c8a7-efa3-435c-91fe-ca305f70e39d\\})|(\\{cfd2ff68-6579-4448-8a26-561bdb63877c\\})|(\\{d00f0050-a66c-49fc-9236-1498d4d29f67\\})|(\\{daa287a2-5916-413e-9b61-52c00b5aa061\\})|(\\{dcfac76f-2fd2-4477-9a60-22d167cabcb4\\})|(\\{dd1bbcf4-bff3-4f15-8a2c-3d52ce987f70\\})|(\\{ddb546b5-6490-4af5-8813-8e701bc06e26\\})|(\\{ead6848b-4bd6-4f9a-93bd-b8460c6f6973\\})|(\\{eb8f7a97-ffb0-40f1-9321-5ab1de884f1c\\})|(\\{ec3e8a3d-df39-4f84-ab31-dae369a225e4\\})|(\\{ef986f55-2dc9-4e39-8c87-618cf4fe5e69\\})|(\\{f8b4b601-7917-40c1-94ec-8efbbf125a46\\})|(\\{f8bc456c-0fb4-4d5d-a85f-dfeb25459e76\\})|(\\{f0458469-cc09-407e-a891-be8606553341\\})|(\\{fa73622c-8b41-45b8-9d93-6d66e7633765\\})|(@loveroms)|(loveroms-ash1280@jetpack)|(searchdimension@gmail\\.com))$/","prefs":[],"schema":1552655172725,"details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1535402","why":" This add-on violates Mozilla add-on policies by including abusive search behavior.","name":"Add-ons including abusive search behavior"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0"}],"id":"f9cd41dd-9e52-4506-bb58-a31e189f4ab9","last_modified":1552655392045},{"guid":"{b6f5f2d0-1aa3-4e43-b536-6db1b1bf7d1c}","prefs":[],"schema":1552592498693,"details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1535601","why":"This add-on violates Mozilla's add-on policies by exfiltrating user data.","name":"FFcanu (Malware)"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0"}],"id":"5b807d5f-a192-450a-a0b3-98113c4beff1","last_modified":1552655172717},{"guid":"{e19fed8c-637a-42e3-b62a-3a6c4040ded8}","prefs":[],"schema":1552570939014,"details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1535345","why":"This add-on violates Mozilla's add-policies by executing remote code.","name":"Flash Player (Malware)"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0"}],"id":"5027a1c1-e050-434f-ba77-56417bc2d7cf","last_modified":1552589019976},{"guid":"{fb62e856-f09b-4cbc-ba07-642ab55f6cb4}","prefs":[],"schema":1552567880022,"details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1534781","why":"This add-on violates Mozilla's add-on policies by executing remote code.","name":"EncDNA module (Malware)"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0"}],"id":"ce66baec-1237-481c-87db-ccc1bcf0359d","last_modified":1552567941331},{"guid":"{54fc344c-e8ba-462a-a6d9-9ce1b794ce46}","prefs":[],"schema":1552567837850,"details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1534817","why":"This add-on violates Mozilla's add-on policies by executing remote code.","name":"Flash Player (Malware)"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0"}],"id":"4bec4aaf-dd5b-4754-bd01-461fdc7ea5ca","last_modified":1552567880014},{"guid":"{7b6def45-d585-431a-a479-5bb2badf2506}","prefs":[],"schema":1552567781490,"details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1535055","why":"This add-on violates Mozilla's add-on policies by executing remote code.","name":"PredicitionR (Malware)"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0"}],"id":"e9227d28-b627-48b8-8392-e9fb5a00d9b6","last_modified":1552567837842},{"guid":"{6fb28b6b-abf2-4937-af28-340851faa971}","prefs":[],"schema":1552567721181,"details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1534769","why":"This add-on violates Mozilla's add-on policies by executing remote code.","name":"metamedian (Malware)"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0"}],"id":"ed853ce8-83e0-42b7-8d93-7f48041d4987","last_modified":1552567781482},{"guid":"{ae5b30dd-b29d-4ae6-844b-5d7bfc3d7915}","prefs":[],"schema":1552567676370,"details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1534807","why":"This add-on violates Mozilla's add-on policies by executing remote code.","name":"Crypto Valuator (Malware)"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0"}],"id":"3cfd9af5-a7d0-49d3-971b-7af5e2eab78f","last_modified":1552567721173},{"guid":"web-private@ext.com","prefs":[],"schema":1552567616148,"details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1534828","why":"This add-on violates Mozilla's add-on policies by overriding search preferences.","name":"Flash Player (Malware)"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0"}],"id":"3d52fe32-71e5-47bd-8eda-d98fa0c489e9","last_modified":1552567676362},{"guid":"/^((ads@firefox\\.pl)|(adsfinland@firefox\\.pl)|(adsfrance@firefox\\.pl)|(dodateknowy@o2\\.pl)|(dodateksuper1@firefox\\.pl)|(dodateksuper2@firefox\\.pl)|(dodateksuper3@firefox\\.pl)|(dodateksuper5@firefox\\.pl)|(dodateksuper6@firefox\\.pl)|(dodateksuper@firefox\\.pl)|(test_b@iext\\.pro)|(\\{697be03c-cdd2-430e-b6cf-0f9b5f0556ee\\})|(\\{c9ced03f-a5cf-4dbf-b5ba-67673e442590\\})|(\\{cbe59f66-a23a-45c1-81ac-d0cbedf9ea4e\\})|(\\{dbf0a186-d41c-40ae-8841-e9d8a6b49d8d\\}))$/","prefs":[],"schema":1552493457658,"details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1534940","why":"This add-on violates Mozilla's add-on policies by using a deceiving name and exfiltrating user data.","name":"Flash Player (Malware)"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0"}],"id":"67025e3b-860c-4680-949f-ec472cd72fae","last_modified":1552567437766},{"guid":"/^((\\{86c18738-11ed-4c16-af92-786aa036c83c\\})|(\\{d0fee16a-f4eb-4dc1-9961-82b913e5943d\\})|(\\{1c4937a1-c678-4607-8665-a16384ee302e\\})|(\\{22caeb02-38a3-415d-b168-64fadccbb4a4\\})|(\\{1c9372e7-5f0e-4541-99cf-dfbf2ab00b01\\})|(\\{9fe66994-8ed1-4317-a20a-1d0544ca062f\\})|(\\{6df222d8-97c7-42bf-9683-1cf8119c1e9e\\})|(\\{4c2dda03-bad0-4160-a8a1-6d089200420e\\})|(\\{7aae7d4f-55b9-42eb-b683-932591265e17\\})|(\\{e6f8ab99-3c96-410c-95d1-267ad48ed3e2\\})|(\\{6d8c5068-d0cb-47a5-af5e-3f23064f4608\\})|(\\{90481f38-d06a-465e-a54c-206bbb1ee9ae\\})|(\\{4b75aeb8-f14a-4ef3-b1ad-09733b40dac3\\})|(\\{3a8ca495-f5ab-4320-b070-4f44266fe3d1\\})|(\\{84f8914f-0dec-48ed-a0fd-4a7712c06793\\})|(\\{aa613fce-603c-41df-bf49-9b09614cebe6\\})|(\\{30314350-199a-4951-9c05-c3537a946492\\})|(\\{a2edce1d-10ab-483d-8c01-5e5fe0c82902\\})|(\\{ec91a3d4-8311-4700-aa15-b3941f21a052\\})|(\\{e9049687-164a-4cf3-be1f-1291cfb0f44a\\})|(\\{2be73925-ebaf-43ca-8b26-bd820887f591\\})|(\\{840eadea-1c68-411f-b4e9-08d9f236385d\\})|(\\{0a89d040-5fb1-46d7-bf81-43b55e83695d\\})|(\\{6a1e76ed-4ac2-4a0c-8beb-43ae63558b36\\})|(\\{1b90c930-e7d7-486a-9085-8b57129489c7\\})|(\\{eab649ca-af76-4de9-95b0-8036e35a66cc\\})|(\\{0628e652-98f4-4e58-9ecb-ad996b061aef\\})|(elfr@geckoaddon\\.org)|(else@geckoaddon\\.org)|(fr_b@iext\\.pro)|(it_b@iext\\.pro)|(sv_b@iext\\.pro)|(no_b1@iext\\.pro)|(fi_b@iext\\.pro)|(au_b@iext\\.pro)|(elfr12@geckoaddon\\.org)|(test@informations\\.to)|(se_pop@informations\\.to)|(it@spongebog\\.funny-ok\\.com)|(it@tsunami\\.funny-ok\\.com)|(fi@spongebog\\.funny-ok\\.com)|(fi@tsunami\\.funny-ok\\.com)|(no@spongebog\\.funny-ok\\.com)|(no@tsunami\\.funny-ok\\.com)|(fr@tsunami\\.funny-ok\\.com)|(fr@spongebog\\.funny-ok\\.com)|(se@tsunami\\.funny-ok\\.com)|(se@spongebog\\.funny-ok\\.com)|(au@spongebog\\.funny-ok\\.com)|(au@tsunami\\.funny-ok\\.com)|(nz@spongebog\\.funny-ok\\.com)|(nz@tsunami\\.funny-ok\\.com)|(gr@spongebog\\.funny-ok\\.com)|(gr@tsunami\\.funny-ok\\.com)|(nz_fnew@tsunami\\.funny-ok\\.com))$/","prefs":[],"schema":1552320039514,"details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1534103","why":"Stealing cookies, browsing history and other information","name":"Rogue Updater add-ons"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0"}],"id":"b57d9505-21bf-4a24-accb-05ceac50dadc","last_modified":1552323475989},{"guid":"{c04d9d7d-1c8c-4eab-a51a-828c47e1b8b7}","prefs":[],"schema":1552246898392,"details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1533780","why":"This add-on violates Mozilla's add-on policies by executing remote code.","name":"asin (Malware)"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0"}],"id":"2c739daa-ffee-48d9-a825-e53c8fd2bb3c","last_modified":1552300402314},{"guid":"/^((\\{ee2d725e-9726-43ac-8040-60ce9ff2831b\\})|(\\{55417a80-e6f7-4d77-8d73-f59045e5e890\\}))$/","prefs":[],"schema":1551728497880,"details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1532269","why":"This add-on violates Mozilla's add-on policies by using a deceptive name.","name":"Flash Player (Malware)"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0"}],"id":"aca80fb4-760e-4cd4-9fec-649fb38b2947","last_modified":1551794995188},{"guid":"/^((\\{5084f455-bc8f-483c-b145-91245bcbfd64\\})|(\\{bd69d5d0-4b2f-48cb-bab5-dcf1e0f9c63b\\}))$/","prefs":[],"schema":1551398716775,"details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1531416","why":"Maliciously collecting form data and cookie modification","name":"Adblock/Adobe Flash fakes"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0"}],"id":"7718be46-8e84-4bc7-a5a9-4c5de18378ee","last_modified":1551399019543},{"guid":"/^((\\{6745ccb4-833d-497e-b582-d98a5e790e8c\\})|(\\{cd205ddb-b106-4d2a-a965-5d1c610b5072\\})|(\\{218ec82e-2839-42da-acaa-e527454f4237\\})|(\\{7af25a3d-1caf-49f8-8be9-8ae6065db7c5\\}))$/","prefs":[],"schema":1551397746059,"details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1530911","why":"Search hijacking, remote scripts","name":"Emoj1 clones"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0"}],"id":"77a32be3-94ce-49c2-b129-fa2562a7f47b","last_modified":1551398716765},{"guid":"Youtube-video@Myaddons.com","prefs":[],"schema":1551397521494,"details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1529887","why":"Remote script injection and data exfiltration","name":"YouTube Video and MP3 Downloader"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0"}],"id":"a30f9f2a-aa68-48b7-88cc-8a582405b385","last_modified":1551397746049},{"guid":"Youtube-downloader@Myaddons.com","prefs":[],"schema":1551396963937,"details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1529873","why":"Remote script injection, data exfiltration","name":"YouTube MP3 Converter"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0"}],"id":"1d596a69-157f-4743-9465-f86d6452206b","last_modified":1551397521482},{"guid":"{ba74c7ee-32b1-11e9-ade5-1f2222a4f325}","prefs":[],"schema":1551382900634,"details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1529573","why":"Remote script injection and user data exfiltration","name":"GET Security"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0"}],"id":"01825fea-8c5c-4d76-bd06-e1019c188056","last_modified":1551396963926},{"guid":"/^((\\{e0686c32-99b4-44d8-972f-88bf08b68f88\\})|(\\{b2225e4c-9d1d-472b-8aeb-5ff203bcff9a\\}))$/","prefs":[],"schema":1551210091992,"details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1530932","why":"This add-on is distributed violates Mozilla's add-on policies by being distributed through a fake Firefox update page.","name":"Flash Player (Malware)"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0"}],"id":"37252271-9e38-46a9-b23a-2b6d7048c0db","last_modified":1551250023025},{"guid":"{9d7cfde2-39ae-11e9-bde0-02427e2eba50}","prefs":[],"schema":1551104404768,"details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1530640","why":"This add-on violates Mozilla's add-on policies by including abusive remote functionality, negatively affecting security and performance.","name":"Unnamed malware"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0"}],"id":"7bb234b0-cfda-4a23-bf02-9c82fb3500a3","last_modified":1551204284998},{"guid":"/^((\\{8387ccbe-b9ac-438d-b049-c86b30a6dacb\\})|(\\{2ef58672-740c-46bd-a50d-b9880986b574\\})|(\\{7ff51e81-f4b1-4682-9f45-43a771d80748\\})|(\\{ecb03616-f3c2-4580-99dd-6a233047abdd\\})|(\\{850be3a2-ca5f-47ad-838c-fe39b006e0da\\})|(\\{df9f6ab1-c82c-41d4-85ce-86dcfe839ce9\\})|(\\{a59679da-f097-4db4-b2bc-6ad7b645e127\\}))$/","prefs":[],"schema":1551100033342,"details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1530194","why":"This add-on violates Mozilla add-on policies by including abusive search behavior.","name":"Safe Browsing (Malware) and similar"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0"}],"id":"ec121e9e-d56d-436b-bb2d-735fdcff3c03","last_modified":1551100630159},{"guid":"{4603d01d-ae80-4653-9288-d5ef98b99a17}","prefs":[],"schema":1551099702949,"details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1529924","why":"This add-on violates Mozilla add-on policies by including abusive remote code.","name":"IMmailgun (Malware)"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0"}],"id":"32227de6-a7bf-454c-bf44-4478ddd96abe","last_modified":1551099805258},{"guid":"{157cd8f9-48f0-43a1-9bcf-c4316753e083}","prefs":[],"schema":1551037300209,"details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1529926","why":"This add-on violates Mozilla add-on policies by including abusive search behavior.","name":"SD App (Malware)"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0"}],"id":"5b3fe8de-6d05-4d95-a6d2-cd5695f1b0c0","last_modified":1551099426266},{"guid":"{5288d05d-253f-4675-be3b-152bf02aa3ec}","prefs":[],"schema":1550683849233,"details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1529328","why":"Remote script injection along with deceptive code to hide the fact","name":"Unicode & Emoji Support"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0"}],"id":"9600b4cd-da02-4947-a4f5-c56c657ba197","last_modified":1550684288501},{"guid":"restore.old@youtube.com","prefs":[],"schema":1550580649249,"details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1529126","why":"This add-ons does remote script injection in a way that attempts to hide the injection. The code being executed runs on all pages which is contrary to what the add-on is described to do.","name":"Restore Old Youtube"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0"}],"id":"27917953-17fb-4ffc-bcf1-5fc2727174b4","last_modified":1550617105595},{"guid":"/^((pohhpifegcbplaijeeonlbkjgocfgjbf@chrome-store-foxified-18573537)|(pohhpifegcbplaijeeonlbkjgocfgjbf@chrome-store-foxified-570932499)|(aackamlchlgmalkmcphbhhcjebbpnfdf@chrome-store-foxified-233164420)|(pohhpifegcbplaijeeonlbkjgocfgjbf@chrome-store-foxified-1808417494)|(nnfhjlgginbfdejaajhbboeemajpjgfp@chrome-store-foxified-699139867)|(dilkapnoekabmkkhhdlpnpfgjcmddlia@chrome-store-foxified-1808417494)|(dilkapnoekabmkkhhdlpnpfgjcmddlia@chrome-store-foxified-1190639722)|(nnfhjlgginbfdejaajhbboeemajpjgfp@chrome-store-foxified-2745518014)|(fibaefnljghpmdibfkhnlaniblfkkndi@chrome-store-foxified-1955364993)|(dilkapnoekabmkkhhdlpnpfgjcmddlia@chrome-store-foxified-1516694386)|(generated-rk4dtanssk56goquir78sz@chrome-store-foxified--1594555229)|(nnfhjlgginbfdejaajhbboeemajpjgfp@chrome-store-foxified-1388315457)|(oaoebpgbkehlcdggaeeohgfpopdhjell@chrome-store-foxified-1823310541)|(fibaefnljghpmdibfkhnlaniblfkkndi@chrome-store-foxified--1031675095)|(ancjheohbkbnkgcmfaldcaepoeeplkgh@chrome-store-foxified-1823310541)|(generated-lwcbpuj27wcknyyl6pkap7@chrome-store-foxified-1823310541)|(generated-bmtr2hbgikv399aj6aeycd@chrome-store-foxified-1823310541)|(generated-8w9odie82h2ugbsrofooj3@chrome-store-foxified-1823310541)|(\\{4170faaa-ee87-4a0e-b57a-1aec49282887\\})|(\\{b66dd4bc-7f5e-41d9-bc43-84c5736d0c87\\})|(\\{507ad1fb-08ae-43ac-a596-fd5b6e7dea9a\\})|(\\{8bf85207-66df-4eb7-b913-ac162498c687\\})|(\\{b063895a-8077-452d-b049-ebc20a39f882\\})|(\\{5776bd90-3d09-43b5-a769-8da373e9820f\\})|(\\{f6bdce44-3d5a-4f88-9a64-e39fcb4f0717\\})|(\\{1c22e687-6a02-440c-a6d5-c1ccaf520e10\\})|(\\{f7be824f-7287-466a-8590-2f48007a223b\\})|(\\{89ffc0b4-97f7-447c-bd6f-9c519b0188bd\\})|(\\{3a67084b-c231-4b4b-a924-ffa741f90921\\})|(\\{fac8b1d0-f321-491d-9234-c40d89b3660d\\})|(\\{a8053a83-8d1a-4f0e-9f88-d31cfe00cf83\\})|(\\{d10fa57e-37d3-43d3-39f8-e6d5b2a7759d\\})|(savetube_downloader@savetube\\.co)|(\\{95a8a08c-53a8-7e1d-5a80-f1a5cd4751bf\\})|(\\{5037bd74-c23b-4bbf-8865-6b5a09e07342\\})|(\\{830c558c-70f0-4b07-95f1-8e06ad34ee2c\\})|(\\{e4d93c37-1299-452f-9b60-adee15ad3802\\})|(googlemaps@search))$/","prefs":[],"schema":1550502645324,"details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1528761","why":"Malicious add-ons injecting remote scripts and exfiltrating data for monetization purposes. Some of the add-ons are masking themselves as legit add-ons and using various obfuscation tactics to hide their injections.","name":"Rogue Youtube downloaders and related add-ons"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0"}],"id":"f2483d7d-1895-4ae6-9901-7321e59062a6","last_modified":1550502978653},{"guid":"/^((((generated-e0yf8zkhypow3jjifkqzwo)|(iiinclagpealgnaglbmkdbfbgchjjbpg)|(jaehkpjddfdgiiefcnhahapilbejohhj))@chrome-store-foxified--?\\d+)|(jid1-9ETkKdBARv7Iww@jetpack)|(\\{813fe658-5a29-4dcc-ba6c-3941676e4f19\\}))$/","prefs":[],"schema":1550254444783,"details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1528308","why":"This add-on violates Mozilla's add-on policies by tracking user behavior and including remote code.","name":"BuyHatke Best Price Comparison, Graph, Coupons (and similar)"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0"}],"id":"d6b2dbad-31e9-4984-b649-19036cd38e1d","last_modified":1550265430182},{"guid":"/^((odnenajaeicndaeiapagpglohiklndhe@chrome-store-foxified-2174031944)|(akdibckdjeocfbcjaikipkhhbggcbgkg@chrome-store-foxified-699805590)|(\\{bd9f5830-bf8c-4e38-933d-09f85b24d744\\})|(youtube-downloader@addoncrop\\.com)|(dailymotion-downloader@addoncrop\\.com)|(youtube-mp3-iframe-downloader@addoncrop\\.com)|(youtube-downloader-lite@addoncrop\\.com)|(dailymotion-downloader-lite@addoncrop\\.com)|(generated-p5qj07ef5ceqfktp5v8whw@chrome-store-foxified--505607522)|(generated-tuag2j5gwq73xzp8fbw3j8@chrome-store-foxified--505607522)|(generated-uj53d5j612ap5pz11hwgv2@chrome-store-foxified--505607522)|(\\{f51f0244-bfb0-40ce-bf9d-af49f5949e61\\})|(\\{81751484-2dc9-47bf-aec3-b8e556237178\\})|(\\{d89d1e20-57af-4164-82cc-650af45cf0a5\\})|(\\{a5e28713-14c3-4967-befe-2ec253e317cd\\})|(\\{335ac35b-6c16-4304-93f0-64a418e5bf81\\})|(\\{d3fdb429-ef84-40a4-b160-010745ee0098\\})|(\\{d66db057-7d38-4df4-a0ba-63c272be25ee\\})|(\\{ff7f7151-09e3-4e35-9052-b21e23e7e2c1\\})|(\\{1479da02-e759-4a6f-8f62-c08096583806\\})|(\\{42d59cda-c117-459e-b244-1b850c27ccc9\\})|(\\{bec48f33-7869-4158-8cbc-5cf1606f9afa\\})|(\\{08ca656c-4973-46a8-85a9-3d771399c86e\\})|(\\{dc5336c8-5624-4f74-a794-bb15f3760f34\\})|(\\{6a3d97de-1b42-4624-880a-1a68bc917142\\})|(\\{ad965166-3a34-449d-8230-a636fb5cae57\\})|(video-view@vv\\.us)|(video-view@excoe\\.com)|(xeco@rama\\.com)|(ghj@brem\\.com)|(fgtr@rembgr\\.com)|(xero@saltam\\.com)|(sora@remjem\\.com)|(repo@saram\\.com)|(tora@empoytr\\.net)|(saving@ropbart\\.com)|(japa@vbgt\\.com)|(rtya@nop\\.net)|(asan@khazan\\.com)|(xerb@tangot\\.com)|(audiotools@ramdeen\\.com)|(webat@extrolm\\.com)|(media@medplus\\.com)|(audio@audequl\\.com)|(control@medcontrols\\.com)|(sabqo@rimjim\\.com)|(repto@secroa\\.com)|(meters@videobf\\.com)|(betro@diskra\\.com)|(codeca@vxmrop\\.com)|(revoca@feronx\\.com)|(brota@vidbrghta\\.com))$/","prefs":[],"schema":1550173301925,"details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1527603","why":"This add-on violates Mozilla's add-on policy by including malicious remote code.","name":"Various add-ons"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0"}],"id":"d94f7e0f-7088-43c9-a8da-eae102781079","last_modified":1550253583075},{"guid":"superzoom@funnerapps.com","prefs":[],"schema":1549578756953,"details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1525405","why":"This add-on includes abusive functionality including violating the user's security and privacy.","name":"SuperZoom (Abusive)"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0"}],"id":"f7c4b329-7a54-48d3-9494-81783fe99d90","last_modified":1549627400713},{"guid":"/^((\\{0bf1c111-c256-4a17-891d-1bc69338162e\\})|(\\{0ffbc4b1-f269-4cff-9552-5f77337ebc1a\\})|(\\{1bbdc69d-55d3-4872-bd03-14eb05e7a7ad\\})|(\\{1ce00b82-ac47-43e6-a69c-f7dc9344168a\\})|(\\{2b01628b-0110-4965-972c-7a0b624fb99f\\})|(\\{3a84e0b0-3151-449e-b6e8-1062036afac6\\})|(\\{3bbcc16b-23f7-40a6-b88c-9ced9d009c93\\})|(\\{3ea48f4a-b585-44a7-aff5-faeb5e5b47d5\\})|(\\{7b161d2c-ee98-4321-a78a-433950672c8a\\})|(\\{8a8d97d8-b879-4024-8321-765e0f395b84\\})|(\\{9c0d6766-debe-4461-b14f-68ddfc13a78a\\})|(\\{014f9781-c104-41a4-a983-fc6aa4690664\\})|(\\{27ffdb27-0a34-4dea-a483-3b357bc6a5fe\\})|(\\{81ba256a-4f32-40df-86b5-e6b9861481e1\\})|(\\{338c7503-fb54-4b69-a84b-916f7452c7fa\\})|(\\{400e053f-55df-4e86-a91a-eae8d7b7bcd1\\})|(\\{617e0484-8346-44f2-851e-60ab89a919f9\\})|(\\{656a0095-d852-4dcc-a107-764df7ad0ec4\\})|(\\{754a330b-efbe-4016-8526-bf0f2e11e45e\\})|(\\{802ba900-013c-42f6-a11a-093c4bf35baa\\})|(\\{2771ce08-4898-4f58-89a5-e2b9d00bfab2\\})|(\\{3906b944-92f3-4d43-89dc-31ad6484a77c\\})|(\\{6516cdbc-9332-437f-89ac-b57470655542\\})|(\\{6847c507-1793-4be2-be86-4c2cc0b445bf\\})|(\\{9687db9b-410c-47f2-8c36-fde63c7c29e4\\})|(\\{0035237e-97ab-40eb-ba9d-c453fb6aa079\\})|(\\{20143127-e0bd-4396-aee9-52229cf9b5eb\\})|(\\{33254399-d5b2-4d84-b90b-9c4d4dc71112\\})|(\\{34621968-1952-4428-909d-df5b220efe74\\})|(\\{83769978-21cf-417c-b4a9-582b4161e395\\})|(\\{aa369db0-4232-47b8-bbbb-49ad31d49dce\\})|(\\{aff733de-d7d8-49c2-824a-7f2b2e282927\\})|(\\{c0b587fe-766b-446f-9aae-bc6edc9f6f4c\\})|(\\{c47a75b9-c6d2-4009-a245-c6dcedeea932\\})|(\\{c51bd197-28bd-442f-8537-dea5ae129047\\})|(\\{cac044a2-b93c-4f24-bf2f-b902741d29a8\\})|(\\{de17ce6f-389f-4368-9675-b9ed93133f17\\})|(\\{e2b105bc-1821-4838-bdf9-0fa4f6781b18\\})|(\\{e6c8bc7f-0133-418a-86ed-ba2c0a6925df\\})|(\\{f4acda5f-a75b-4b3b-8a73-8ca3df8d5f57\\})|(\\{f4fd18ee-8f6a-4708-8338-7e7981b73453\\})|(\\{f2320322-1fff-4998-bc28-4ad61621012a\\})|(\\{ff939f5e-a97c-4c14-b853-9c82519dbf73\\})|(@complete-youtube-downloader)|(@swsearchassist)|(@swsearchassist2)|(@youtube-download-helper-addon-1)|(@youtube-download-helper-addon-3)|(@ytd-support)|(@ytmp4-support)|(@ytu-support)|(18-plus-bypass@agebypass\\.org)|(18plus@sweetytweety\\.jp)|(addon@firefox-addon-s\\.com)|(ageverify@doubletrouble\\.net)|(auto-fill-dhruv\\.techapps@gmail\\.com)|(awesomeaddons@gmail\\.com)|(blndkmebkmenignoajhoemebccmmfjib@chrome-store-foxified--730948579)|(boomerang-for-gmailtm@chrome-store-foxified--1895216441)|(boomerang-for-gmailtm@chrome-store-foxified-1472004183)|(browsing_certificate@easycerts\\.in)|(certs-js@verify\\.org)|(clear-flash-cookies@tubedownload\\.org)|(dghpnfeglanbbjaggjegpbijhcbnfdno@chrome-store-foxified--1026618965)|(dghpnfeglanbbjaggjegpbijhcbnfdno@chrome-store-foxified--1382673267)|(dghpnfeglanbbjaggjegpbijhcbnfdno@chrome-store-foxified-3810896411)|(dhiaggccakkgdfcadnklkbljcgicpckn@chrome-store-foxified-1917762393)|(dhiaggccakkgdfcadnklkbljcgicpckn@chrome-store-foxified-2539369515)|(dhiaggccakkgdfcadnklkbljcgicpckn@chrome-store-foxified-3411285726)|(dhiaggccakkgdfcadnklkbljcgicpckn@chrome-store-foxified-3957753373)|(dhruv@gmail\\.com)|(easy\\.download@youtube\\.com)|(easy18plusverify@agehelper\\.com)|(EasyQR@johndoe)|(easytranslate@johndoehits)|(ecaieeiecbdhkcgknidmfelflleobbnp@chrome-store-foxified-2878848146)|(eurekasakamika@chrome-store-foxified-unsigned)|(faeeclonpikbempnbjbbajfjjajjgfio@chrome-store-foxified--1071037210)|(faeeclonpikbempnbjbbajfjjajjgfio@chrome-store-foxified-335403930)|(gefiaaeadjbmhjndnhedfccdjjlgjhho@chrome-store-foxified--546579415)|(gefiaaeadjbmhjndnhedfccdjjlgjhho@chrome-store-foxified--929033716)|(gefiaaeadjbmhjndnhedfccdjjlgjhho@chrome-store-foxified--1776201342)|(gefiaaeadjbmhjndnhedfccdjjlgjhho@chrome-store-foxified-411918147)|(gefiaaeadjbmhjndnhedfccdjjlgjhho@chrome-store-foxified-711293137)|(gefiaaeadjbmhjndnhedfccdjjlgjhho@chrome-store-foxified-1406852911)|(gefiaaeadjbmhjndnhedfccdjjlgjhho@chrome-store-foxified-1805495496)|(gefiaaeadjbmhjndnhedfccdjjlgjhho@chrome-store-foxified-2344964585)|(gefiaaeadjbmhjndnhedfccdjjlgjhho@chrome-store-foxified-2515600300)|(gefiaaeadjbmhjndnhedfccdjjlgjhho@chrome-store-foxified-2947667317)|(generated-c5el8k8zv2b1gcncleefj9@chrome-store-foxified--1160265316)|(guid-reused-by-pk-720807)|(guid-reused-by-pk-881137)|(html5-video-everywhere@lejenome\\.me)|(iapifmceeokikomajpccajhjpacjmibe@chrome-store-foxified-6029610)|(info@ytdownloader\\.info)|(jabcajffpafebcdcaddoegpenicdipdk@chrome-store-foxified-1110252619)|(jpegcert@freeverify\\.org)|(kmrfree@yahoo\\.com)|(lets-kingw@empotrm\\.com)|(mdanidgdpmkimeiiojknlnekblgmpdll@chrome-store-foxified-29039950)|(mdanidgdpmkimeiiojknlnekblgmpdll@chrome-store-foxified-77744803)|(mdanidgdpmkimeiiojknlnekblgmpdll@chrome-store-foxified-357866719)|(mdanidgdpmkimeiiojknlnekblgmpdll@chrome-store-foxified-447115206)|(mdanidgdpmkimeiiojknlnekblgmpdll@chrome-store-foxified-549146896)|(mdanidgdpmkimeiiojknlnekblgmpdll@chrome-store-foxified-1084455972)|(mdanidgdpmkimeiiojknlnekblgmpdll@chrome-store-foxified-1602969934)|(mdanidgdpmkimeiiojknlnekblgmpdll@chrome-store-foxified-2271560562)|(mdanidgdpmkimeiiojknlnekblgmpdll@chrome-store-foxified-2595595173)|(mdanidgdpmkimeiiojknlnekblgmpdll@chrome-store-foxified-3103352300)|(mdanidgdpmkimeiiojknlnekblgmpdll@chrome-store-foxified-3116340547)|(mdanidgdpmkimeiiojknlnekblgmpdll@chrome-store-foxified-3959272483)|(mdanidgdpmkimeiiojknlnekblgmpdll@chrome-store-foxified-4076222235)|(mdanidgdpmkimeiiojknlnekblgmpdll@chrome-store-foxified-4090031097)|(media-certificates@auth0\\.io)|(mingle-cash-extension@minglecash\\.com)|(MiningBlocker@MiningBlockerAddOn\\.com)|(multimedia@certifications\\.us)|(nominer-block-coin-miners@tubedownload\\.org)|(open-in-idm@tubedownload\\.org)|(sabqo@yolla\\.net)|(search-by-image@addonsmash)|(selfdestructingcookies@addonsmash)|(streaming-certficate@mdn\\.org)|(swt@gobck\\.com)|(tabs-re-open@gtk\\.cc)|(user-agent-rewriter@a\\.org)|(vba@vba\\.com)|(verification@bexp\\.co)|(vidcert@certs\\.org)|(xplayer@gobck\\.com)|(youtube_download_express@free-downloader\\.online)|(youtube_downloader@downloaders\\.xyz)|(youtube_grabber@utubegrabber\\.co)|(youtube-lyrics-by-rob-w@awesome\\.addons)|(youtube-mp4-downloader@tubedownload\\.org)|(ytdownloader@ytdownloader\\.org)|(yttools\\.download@youtube\\.com))$/","prefs":[],"schema":1549482092694,"details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1525880","why":"Add-ons that include abusive or malicious remote code.","name":"Various abusive add-ons"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0"}],"id":"be96c9a1-0b01-468e-ac9b-761ba3587162","last_modified":1549541801862},{"guid":"/^((addon@firefox-updater\\.com)|(downloader@youtube-download\\.org)|(downloader2@youtube-download\\.org)|(downloader1@youtube-download\\.org))$/","prefs":[],"schema":1549369087422,"details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1525153","why":"These add-ons include abusive behavior.","name":"\"FF Manual Update (Required)\" and \"Easy Youtube Video Downloader Express\" (Malware)"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0"}],"id":"6b72e942-af54-469c-b9f2-9e436ad2c0d1","last_modified":1549373215201},{"guid":"/^((\\{0b347362-773f-4527-a006-f96e9db437e5\\})|(\\{9edb10ad-67af-4ad0-af45-efe452479321\\})|(\\{202e2671-6153-450d-bc66-5e67cee3603f\\}))$/","prefs":[],"schema":1548963700621,"details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1524357","why":"This add-on includes hidden abusive functionality.","name":"Video download add-ons"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0"}],"id":"680a99e9-c972-4a14-9b15-e56eeeed75eb","last_modified":1549037404012},{"guid":"/^((\\{a9bc520e-68ab-49c2-a8df-75a0349d54fd\\})|(\\{bfc5d009-c6bd-4526-92ce-a9d27102f7f2\\}))$/","prefs":[],"schema":1548699141208,"details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1522959","why":"Add-ons that contain abusive functionality.","name":"Unnamed (Malware)"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0"}],"id":"97c4ee31-4009-40de-ae02-f1b349c87d01","last_modified":1548699177099},{"guid":"{4e47160d-ec83-417c-ab01-cda978378d9e}","prefs":[],"schema":1548699076839,"details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1522970","why":"The add-on contains abusive functionality.","name":"mlflow (Malware)"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0"}],"id":"62c54642-73ab-4641-b5c2-47e4ae29bbc5","last_modified":1548699141199},{"guid":"/^((\\{feff5ea4-ed4a-46a3-9331-12fec01d52a9\\})|(\\{8ffc339c-0ca1-46e3-acb3-3bfd889f9a21\\})|(\\{1fe481b5-baad-44e9-b410-082cf0f2acbb\\})|(\\{92c85192-b325-4599-82e2-a110f193eae6\\})|(\\{5bc21266-26f1-469a-bc1a-a49d7b70ecb9\\})|(\\{dc2dd143-f2e7-4f46-a8ff-4dc1a985e889\\})|(\\{c1233bb6-31a9-4c7d-8469-f8f44adee9ba\\})|(\\{d0d48905-1065-43dc-ab96-434d100602ed\\})|(\\{11deae99-2675-4d5e-86cd-7bd55b88daf2\\})|(\\{a7014e8e-eacf-4ba0-9047-c897c4ed3387\\})|(\\{b9c545a5-0ffa-490a-8071-2fee09478cfe\\})|(\\{39e8eebb-4d9e-4a03-93a8-4468fdd7a186\\})|(\\{8ccc00b1-2010-4155-a07c-f4d7c4d6dec2\\})|(\\{a1056511-4919-43b7-a9e5-ac2b770de810\\})|(\\{90a6da19-9165-44c1-819c-e3b53409f9c9\\})|(\\{e3862078-8f9f-4f8e-99dc-55ba558f0619\\})|(\\{d89fcf34-2615-4efc-a267-1e83ab6a19d0\\})|(\\{588151ce-eab4-4acf-83a7-bb5ccaf4d867\\})|(\\{6ab6312d-5fd4-42a9-ab10-08b954e53f9d\\})|(\\{24a6cbde-be68-4b7d-9f1b-d4d5dfd178a3\\})|(\\{55ae1a08-105f-4f7f-9d4e-e448b517db2b\\})|(\\{74fe9d83-df17-4812-bd3f-27b84b0086b7\\})|(\\{21140e51-713a-4bf8-865b-e2ee07282409\\})|(\\{24f39610-2958-4dc8-a73b-75cc9665bffa\\})|(\\{c50a45a5-efa4-44af-8946-6f20e4748d47\\})|(\\{41d0b7e0-0d93-4f67-bed9-da6d7688ad16\\})|(\\{c2bee222-2163-4c0f-89f5-4ac502f06810\\})|(\\{4be4602e-2b20-473f-8f2b-85e8c53d17dc\\})|(\\{dec2e9b5-e787-4fb5-a7bc-5894f80f7367\\})|(\\{179526e1-1824-49f7-afb3-49fdaadaa503\\})|(\\{4f07d826-ca9e-4370-a508-b984f54758de\\})|(\\{d0558df2-714f-4793-9d85-d2d648de4f2e\\})|(\\{daf1a69b-f47b-4936-bd25-5ac21f4e27ec\\}))$/","prefs":[],"schema":1548099697813,"details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1521975","why":"Remote script injection and deceptive tactics to hide the fact","name":"ext-affiliate add-ons"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0"}],"id":"87c17ce6-aaef-4d47-a662-588efff34041","last_modified":1548198338831},{"guid":"hlper@xero.com","prefs":[],"schema":1548076840649,"details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1521533","why":"This add-on executes abusive remote code.","name":"Av Player Helper (Malware)"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0"}],"id":"1e2ae4c0-66cd-40bc-9cf6-5ca0ce9548f7","last_modified":1548084072622},{"guid":"/^((xtera@soravem\\.net)|(nozl@ssave\\.net))$/","prefs":[],"schema":1547926889113,"details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1521429","why":"This add-on injects abusive remote code.","name":"Video Assist (Malware)"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0"}],"id":"c69997df-0b61-4de5-a351-b640123a9c3b","last_modified":1548073537411},{"guid":"/^((\\{94f608b3-76b6-4b7b-8cef-7360df22a930\\})|(\\{9648b74f-35ea-4218-acf0-ec2191f509f6\\}))$/","prefs":[],"schema":1547754101798,"details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1520813","why":"Add-ons that leak private user data.","name":"Instagram Register and Google Register (Malware)"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0"}],"id":"a15e8d7e-0726-4190-8187-c75e2b46d429","last_modified":1547810271416},{"guid":"reopen@closedtab.com","prefs":[],"schema":1547067530457,"details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1518847","why":"This add-on contains unwanted abusive behavior unrelated to the add-ons functionality.","name":"Reopen Closed Tabs (Malware)"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0"}],"id":"451d950f-ca89-491b-87e7-45123e4f5ab4","last_modified":1547206877909},{"guid":"{43ecded1-f7cb-4bb6-a03d-4bec23b9f22d}","prefs":[],"schema":1547025691087,"details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1518580","why":"This add-on violates Mozilla's policy and user's security/privacy by loading abusive code from remote.","name":"lamme (Malware)"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0"}],"id":"06c6868e-055f-4e7d-aa8f-5ba577f43e85","last_modified":1547027153061},{"guid":"youtube_downloader@addon.partners","prefs":[],"schema":1546890104853,"details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1518032","why":"This add-on contains unwanted abusive functionality.","name":"YouTube Download Tool HD (Malware)"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0"}],"id":"5a42c5bb-9cb4-4d96-b978-8d9f816322e6","last_modified":1547025691078},{"guid":"/^((\\{00cf6ee0-14f3-4e35-a4fd-d2160fe2f05e\\})|(\\{0da583da-e623-41f2-b2d2-0ac61b493171\\})|(\\{105c14a6-8b6f-49ef-b0d6-41bad99ad5e8\\})|(\\{10a15a74-271f-4098-a662-bd827db4f8bc\\})|(\\{13e02b9b-2797-4100-8144-65b73c4145c4\\})|(\\{1eb56568-8a30-42b1-a646-ad9f485f60fe\\})|(\\{1eb8a08c-82a8-4d1d-8b80-f7b5cd4751bf\\})|(\\{2f8220a8-b2a7-4277-ba6b-bdcb6958f669\\})|(\\{33f39a5d-137c-4757-9f9d-e86395c8bf20\\})|(\\{347ca189-9e63-43d2-8a2f-5d5141598bdc\\})|(\\{396056fc-1697-4954-b535-06de8d62fe1b\\})|(\\{3d530918-dbe8-442c-8faf-1f4ca7ca8ab9\\})|(\\{3e283c2e-cde3-4baa-8076-226ca8fb90ef\\})|(\\{591468f8-ebbd-497a-92f1-fa0a1206adb4\\})|(\\{5f6c3eb8-aa32-489a-bb01-b12b23d2001a\\})|(\\{6cbb397a-d865-42b2-8454-25a75b710dff\\})|(\\{7ae2bde0-f7ea-4bf3-a055-06953f9fcf31\\})|(\\{7b402578-ddec-4eee-9c8b-98e4e8db0059\\})|(\\{7fb00cf7-40d3-4415-a0c8-a48d3fbe847f\\})|(\\{87a8a08c-82a8-4d1d-8b80-f7b5cd4751bf\\})|(\\{888220a8-b2a7-4277-ba6b-bdcb6958f669\\})|(\\{8b1dd8f3-224b-4975-bda2-cb2dd184d4d8\\})|(\\{8bcdc9cc-f6be-4203-ae43-a9d281f0bcdb\\})|(\\{8cda9ce6-7893-4f47-ac70-a65215cec288\\})|(\\{8dc9b946-0bb9-4264-9c76-fd9ff1e159a2\\})|(\\{942e0fec-19f2-4ebc-8a74-009da7fa625d\\})|(\\{b2a720a8-b2a7-4277-aa6b-bdeb6958f669\\})|(\\{bdcf953b-d2aa-4e7a-8176-aeb1e95a0caf\\})|(\\{cae82615-f7be-4aff-875d-33da1bc93923\\})|(\\{d2aa953b-bdcf-4f7a-8476-ddb1e9500caf\\})|(\\{da0fa57e-17d3-40d3-99f8-e9d5b2a7759d\\})|(\\{da1237ca-e35d-4653-b2b5-d98043f33781\\})|(\\{e164563a-1512-4b81-99ff-95f2644c4075\\})|(\\{e2a720a8-b3a7-1277-aa2b-bdeb2958f669\\})|(\\{e6a90490-6ef7-407d-863a-7dd120f6f7dc\\})|(\\{f15cfa53-fa9b-43cf-84e8-16ece6695922\\})|(\\{f722c845-2d8b-4a0a-b518-4f39af703e79\\})|(\\{ff1c4e62-7c11-4ea7-b734-3462417ceeb5\\})|(\\{ffa0a57e-17d2-41d3-96f8-e8d5b2a0759d\\}))$/","prefs":[],"schema":1546378806655,"details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1517154","why":"Executing remote code containing coin mining and other undisclosed monetization","name":"Various remote iframe add-ons"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0"}],"id":"53c5fb08-1001-471e-87ce-31185a84bcbc","last_modified":1546439268437},{"guid":"{02267dc4-36f2-4c22-8103-9e26477b48ef}","prefs":[],"schema":1545922885656,"details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1516539","why":"Google Search hijacking and affiliate injection","name":"Markdown"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0"}],"id":"6dd73da4-cb2f-4eb8-8850-890e80c8d57b","last_modified":1545926512914},{"guid":"{d064563a-1542-4b8b-99ff-95f1644c4075}","prefs":[],"schema":1545921144932,"details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1516488","why":"Obfuscated remote script injection stealing data","name":"PDF Print and Save"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0"}],"id":"875bc1c6-257e-438a-8624-3bfe963747b0","last_modified":1545922824252},{"guid":"/^((\\{83768008-e10c-48c0-b303-5a0f1de763a1\\})|(\\{430b0612-bfad-463b-8783-cf2e32801513\\})|(\\{519adb83-4abb-4a66-8e94-243754b8adce\\})|(\\{228a707d-55c1-465b-a759-a2129eb6602e\\}))$/","prefs":[],"schema":1545853297809,"details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1516131","why":"Remote script injection and data exfiltration","name":"Various malicious remote script injection add-ons"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0"}],"id":"c0cb1a85-c6c6-453e-b126-0e6e26ceaf88","last_modified":1545870108716},{"guid":"/^((\\{4c4ceb83-f3f1-ad73-bfe0-259a371ed872\\})|(\\{a941b5ab-8894-41e1-a2ca-c5a6e2769c5f\\})|(\\{56488007-bd74-4702-9b6d-aee8f6cc05ea\\})|(\\{9eebac07-ac86-4be7-928f-e1015f858eee\\})|(\\{5a993517-5be7-480e-a86c-b8e8109fa774\\})|(\\{309ad78e-efff-43cf-910c-76361c536b20\\})|(\\{cefcf45b-dfec-4072-9ffc-317094c69c28\\})|(\\{5b04980b-25e9-4bc6-b6ea-02c58d86cc5e\\})|(\\{0021a844-360f-480e-ac53-47391b7b17b4\\})|(\\{2bed9f51-62a8-4471-b23c-827e6727c794\\})|(\\{7d2130d3-d724-4f58-b6b7-8537a9e09d4c\\})|(\\{ccd3847a-e5ec-4d28-bf98-340230dcbd4d\\})|(\\{83716b9b-6e6e-4471-af76-2d846f5804f3\\})|(\\{5154c03a-4bfc-4b13-86a9-0581a7d8c26d\\})|(\\{24f51c5c-e3f5-4667-bd6c-0be4f6ef5cc2\\})|(\\{73554774-4390-4b00-a5b9-84e8e06d6f3c\\})|(\\{c70cfd12-6dc3-4021-97f2-68057b3b759b\\})|(\\{ef5fe17b-eb6a-4e5e-9c18-9d423525bbbd\\})|(\\{461eb9b4-953c-4412-998e-9452a7cb42e0\\})|(\\{966b00fe-40b0-4d4b-8fde-6deca31c577b\\})|(\\{dab908ac-e1b0-4d7e-bc2e-86a15f37621f\\})|(\\{01a067d3-7bfa-44ac-8da7-2474a0114a7e\\})|(\\{6126261f-d025-4254-a1db-068a48113b11\\})|(\\{6c80453f-05ec-4243-bb71-e1aac5e59cae\\})|(\\{f94ec34b-5590-4518-8546-c1c3a94a5731\\})|(\\{5d4c049e-7433-485a-ac62-dd6e41af1a73\\})|(\\{507f643d-6db8-47fe-af9c-7a7b85a86d83\\})|(\\{5c56eeb4-f97c-4b0d-a72f-8e639fbaf295\\})|(\\{2ef98f55-1e26-40d3-a113-a004618a772e\\})|(\\{77d58874-d516-4b00-b68a-2d987ef83ec5\\})|(\\{7a0755d3-3ba2-4b19-98ce-efcdc36423fc\\})|(\\{47ee3ba1-8974-4f71-b8a4-8033d8c2155f\\})|(\\{a477f774-bc36-4cc8-85bd-99f6b04ea255\\})|(\\{1a2e41e3-4343-4a00-90cd-ce77ac77a8af\\})|(\\{7b180e9a-afd6-4693-94a1-c7b5ed9b46fa\\})|(\\{51f76862-f222-414d-8724-6063f61bbabf\\})|(\\{d47a0c63-ac4c-48ce-8fc7-c5abc81d7f75\\})|(\\{b8adf653-f262-413c-b955-100213b105ad\\})|(\\{ccedf35b-dfd6-417a-80de-fb432948861d\\})|(\\{70e29b0e-7cd8-40df-b560-cf6eb066350d\\})|(\\{9926f8ad-b4c3-4122-a033-1b8a5db416db\\})|(\\{62eefb1c-a2d8-40ba-ab94-9fc2f2d31b2f\\})|(\\{17f14919-00bd-44a4-8c14-78ab9728038f\\})|(\\{20e36a3e-672c-4448-9efb-5750cbffe90c\\})|(\\{6070c95f-6460-4ffd-9846-2bbd7238697f\\})|(\\{1edb8a4e-f105-4623-9e19-e40fb082b132\\})|(\\{223a1503-772d-45eb-8cb8-e2e49563703d\\})|(\\{59e0f01c-1f70-445c-a572-7be5d85549bd\\})|(\\{8ec160b7-1089-4944-a999-a1d6afa71c5d\\})|(\\{d2d111d6-0ea1-4880-ae7b-2e82dff3a719\\})|(\\{cfacacd6-191c-46c4-b78c-8a48289b2829\\})|(\\{1155e72f-2b21-433f-ba9a-5af6ed40c8ee\\})|(\\{583910bd-759f-40f6-b96a-1d678d65650f\\}))$/","prefs":[],"schema":1545162093238,"details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1514865","why":"Remote script injection and data exfiltration","name":"Various add-ons using .cool domains"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0"}],"id":"53168513-103a-4ea0-a48f-bc291354cc9f","last_modified":1545232187960},{"guid":"{56a1e8d2-3ced-4919-aca5-ddd58e0f31ef}","prefs":[],"schema":1544470901949,"details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1491312","why":"The add-on introduces unwanted functionality for users.","name":"Web Guard (Malware)"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0"}],"id":"1dc366d6-c774-4eca-af19-4f9495c2c55e","last_modified":1544544484935},{"guid":"/^((\\{a99e680b-4349-42a5-b292-79b349bf4f3d\\})|(\\{f09a2393-1e6d-4ae4-a020-4772e94040ae\\})|(\\{c9ed9184-179f-485f-adb8-8bd8e9b7cee6\\})|(\\{085e53da-25a2-4162-906e-6c158ec977ac\\})|(\\{bd6960ba-7c06-493b-8cc4-0964a9968df5\\})|(\\{6eeec42e-a844-4bfd-a380-cfbfc988bd78\\})|(\\{3bbfb999-1c82-422e-b7a8-9e04649c7c51\\})|(\\{bfd229b6-089d-49e8-a09c-9ad652f056f6\\})|(\\{ab23eb77-1c96-4e20-b381-14dec82ee9b8\\})|(\\{ebcce9f0-6210-4cf3-a521-5c273924f5ba\\})|(\\{574aba9d-0573-4614-aec8-276fbc85741e\\})|(\\{12e75094-10b0-497b-92af-5405c053c73b\\})|(\\{99508271-f8c0-4ca9-a5f8-ee61e4bd6e86\\})|(\\{831beefc-cd8c-4bd5-a581-bba13d374973\\})|(\\{c8fe42db-b7e2-49e6-98c4-14ac369473a4\\})|(\\{f8927cca-e6cb-4faf-941d-928f84eb937f\\})|(\\{17e9f867-9402-4b19-8686-f0c2b02d378f\\})|(\\{f12ac367-199b-4cad-8e5a-0a7a1135cad0\\})|(\\{487003ce-5253-4eab-bf76-684f26365168\\})|(\\{487003ce-5213-2ecb-bf16-684f25365161\\}))$/","prefs":[],"schema":1543088493623,"details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1509864","why":"Add-ons that track users and load remote code, while pretending to provide cursor customization features.","name":"Various cursor and update add-ons (malware)"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0"}],"id":"a8d942b3-779d-4391-a39c-58c746c13b70","last_modified":1543241996691},{"guid":"{97f19f1f-dbb0-4e50-8b46-8091318617bc}","prefs":[],"schema":1542229276053,"details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1507191","why":"Fraudulent Adobe Reader add-on","name":"Adobe Reader (Malware)"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0"}],"id":"03120522-ee87-4cf8-891a-acfb248536ff","last_modified":1542272674851},{"guid":"/^((video-downloader@vd\\.io)|(image-search-reverse@an\\.br)|(YouTube\\.Downloader@2\\.8)|(eMoji@ems-al\\.io))$/","prefs":[],"schema":1542023230755,"details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1506560","why":"Add-ons that contain malicious copies of third-party libraries.","name":"Malware containing unwanted behavior"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0"}],"id":"cd079abe-8e8d-476f-a550-63f75ac09fe8","last_modified":1542025588071},{"guid":"/^({b384b75c-c978-4c4d-b3cf-62a82d8f8f12})|({b471eba0-dc87-495e-bb4f-dc02c8b1dc39})|({36f623de-750c-4498-a5d3-ac720e6bfea3})$/","prefs":[],"schema":1541360505662,"details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1504619","why":"Add-ons that contain unwanted behavior.","name":"Google Translate (malware)"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0"}],"id":"aa5eefa7-716a-45a6-870b-4697b023d894","last_modified":1541435973146},{"guid":"{80869932-37ba-4dd4-8dfe-2ef30a2067cc}","prefs":[],"schema":1538941301306,"details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1497161","why":"Malicious page redirection","name":"Iridium (Malware)"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0"}],"id":"dd5b0fa4-48fd-4bf6-943d-34de125bf502","last_modified":1538996335645},{"guid":"admin@vietbacsecurity.com","prefs":[],"schema":1537309741764,"details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1491716","why":"Logging and sending keystrokes to a remote server.","name":"Vietnamese Input Method (malware)"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0"}],"id":"89d714f6-9f35-4107-b8af-a16777f66337","last_modified":1537309752952},{"guid":"Safe@vietbacsecurity.com","prefs":[],"schema":1537309684266,"details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1491717","why":"Logging and sending keystrokes to a remote server.","name":"SafeKids (malware)"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0"}],"id":"c651780e-c185-4d6c-b509-d34673c158a3","last_modified":1537309741758},{"guid":"/^((\\{c9226c62-9948-4038-b247-2b95a921135b\\})|(\\{5de34d4f-b891-4575-b54b-54c53b4e6418\\})|(\\{9f7ac3be-8f1c-47c6-8ebe-655b29eb7f21\\})|(\\{bb33ccaf-e279-4253-8946-cfae19a35aa4\\}))$/","prefs":[],"schema":1537305338753,"details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1491298","why":"These add-ons inject remote malicious scripts on Google websites.","name":"Dll and similar (malware)"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0"}],"id":"54b3e69a-40ae-4be5-b7cf-cf51c526dcfb","last_modified":1537306138745},{"guid":"updater-pro-unlisted@mozilla.com","prefs":[],"schema":1537305285414,"details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1491306","why":"Redirects search queries.","name":"Updater Pro (malware)"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0"}],"id":"3108c151-9f25-4eca-8d80-a2fbb2d9bd07","last_modified":1537305338747},{"guid":"/^((\\{686fc9c5-c339-43db-b93a-5181a217f9a6\\})|(\\{eb4b28c8-7f2d-4327-a00c-40de4299ba44\\})|(\\{58d735b4-9d6c-4e37-b146-7b9f7e79e318\\})|(\\{ff608c10-2abc-415c-9fe8-0fdd8e988de8\\})|(\\{5a8145e2-6cbb-4509-a268-f3121429656c\\})|(\\{6d451f29-1d6b-4c34-a510-c1234488b0a3\\})|(\\{de71f09a-3342-48c5-95c1-4b0f17567554\\})|(\\{df106b04-984e-4e27-97b6-3f3150e98a9e\\})|(\\{70DE470A-4DC0-11E6-A074-0C08D310C1A8\\})|(\\{4dcde019-2a1b-499b-a5cd-322828e1279b\\})|(\\{1ec3563f-1567-49a6-bb5c-75d52334b01c\\})|(\\{c140c82e-98e6-49fd-ae17-0627e6f7c5e1\\})|(\\{2581c1f6-5ad9-48d4-8008-4c37dcea1984\\})|(\\{a2bcc6f7-14f7-4083-b4b0-c335edc68612\\})|(\\{4c726bb6-a2af-44ed-b498-794cfd8d8838\\})|(\\{fa6c39a6-cd11-477b-966d-f388f0ba4203\\})|(\\{26c7bd04-18d3-47f5-aeec-bb54e562acf2\\})|(\\{7a961c90-2071-4f94-9d9a-d4e3bbf247c0\\})|(\\{a0481ea2-03f0-4e56-a0e1-030908ecb43e\\})|(\\{c98fb54e-d25f-43f4-bd72-dfaa736391e2\\})|(\\{da57263d-adfc-4768-91f7-b3b076c20d63\\})|(\\{3abb352c-8735-4fb6-9fd6-8117aea3d705\\})|(contactus@unzipper\\.com)|(\\{a1499769-6978-4647-ac0f-78da4652716d\\})|(\\{581D0A4C-1013-11E7-938B-FCD2A0406E17\\})|(\\{68feffe4-bfd8-4fc3-8320-8178a3b7aa67\\})|(\\{823489ae-1bf8-4403-acdd-ea1bdc6431da\\})|(\\{4c0d11c3-ee81-4f73-a63c-da23d8388abd\\})|(\\{dc7d2ecc-9cc3-40d7-93ed-ef6f3219bd6f\\})|(\\{21f29077-6271-46fc-8a79-abaeedb2002b\\})|(\\{55d15d4d-da76-44ab-95a3-639315be5ef8\\})|(\\{edfbec6b-8432-4856-930d-feb334fb69c1\\})|(\\{f81a3bf7-d626-48cf-bd24-64e111ddc580\\})|(\\{4407ab94-60ae-4526-b1ab-2521ffd285c7\\})|(\\{4aa2ba11-f87b-4950-8250-cd977252e556\\})|(\\{646b0c4d-4c6f-429d-9b09-37101b36ed1c\\})|(\\{1b2d76f1-4906-42d2-9643-0ce928505dab\\})|(\\{1869f89d-5f15-4c0d-b993-2fa8f09694fb\\})|(\\{7e4edd36-e3a6-4ddb-9e98-22b4e9eb4721\\})|(\\{e9c9ad8c-84ba-43f2-9ae2-c1448694a2a0\\})|(\\{6b2bb4f0-78ea-47c2-a03a-f4bf8f916eda\\})|(\\{539e1692-5841-4ac6-b0cd-40db15c34738\\}))$/","prefs":[],"schema":1536183366865,"details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1488578","why":"These add-ons take away user control by redirecting search.","name":"Tightrope search add-ons"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0"}],"id":"81eb67a5-3fdb-448c-aadd-5f4d3b7cf281","last_modified":1536186868443},{"guid":"/^((\\{f01a138a-c051-4bc7-a90a-21151ce05755\\})|(\\{50f78250-63ce-4191-b7c3-e0efc6309b64\\})|(\\{3d2b2ff4-126b-4874-a57e-ed7dac670230\\})|(\\{e7c1abd4-ec8e-4519-8f3a-7bd763b8a353\\})|(\\{4d40bf75-fbe2-45f6-a119-b191c2dd33b0\\})|(\\{08df7ff2-dee0-453c-b85e-f3369add18ef\\}))$/","prefs":[],"schema":1535990752587,"details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1488248","why":"Add-ons that inject malicious remote code.","name":"Various Malware"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0"}],"id":"67f72634-e170-4860-a5a3-133f160ebc32","last_modified":1535992146430},{"guid":"/^((\\{1cfaec8b-a1cb-4fc5-b139-897a22a71390\\})|(\\{2ed89659-09c1-4280-9dd7-1daf69272a86\\})|(\\{5c82f5cc-31f8-4316-bb7d-45a5c05227e6\\})|(\\{6a98a401-378c-4eac-b93c-da1036a00c6c\\})|(\\{6d83ebde-6396-483c-b078-57c9d445abfa\\})|(\\{07efb887-b09f-4028-8f7f-c0036d0485ea\\})|(\\{36f4882f-ff0b-4865-8674-ef02a937f7da\\})|(\\{61dea9e9-922d-4218-acdd-cfef0fdf85e7\\})|(\\{261be583-9695-48e0-bd93-a4feafaa18e6\\})|(\\{401ae092-6c5c-4771-9a87-a6827be80224\\})|(\\{534b7a84-9fc6-4d7c-9d67-e3365d2ae088\\})|(\\{552a949f-6d0e-402d-903d-1550075541ba\\})|(\\{579b8de8-c461-4301-ab09-695579f9b7c7\\})|(\\{754d3be3-7337-488e-a5bb-86487e495495\\})|(\\{2775f69b-75e4-46cb-a5aa-f819624bd9a6\\})|(\\{41290ec4-b3f0-45ad-b8f3-7bcbca01ed0d\\})|(\\{0159131f-d76f-4365-81cd-d6831549b90a\\})|(\\{01527332-1170-4f20-a65b-376e25438f3d\\})|(\\{760e6ff0-798d-4291-9d5f-12f48ef7658b\\})|(\\{7e31c21c-156a-4783-b1ce-df0274a89c75\\})|(\\{8e247308-a68a-4280-b0e2-a14c2f15180a\\})|(\\{b6d36fe8-eca1-4d85-859e-a4cc74debfed\\})|(\\{bab0e844-2979-407f-9264-c87ebe279e72\\})|(\\{d00f78fe-ee73-4589-b120-5723b9a64aa0\\})|(\\{d59a7294-6c08-4ad5-ba6d-a3bc41851de5\\})|(\\{d145aa5b-6e66-40cb-8a08-d55a53fc7058\\})|(\\{d79962e3-4511-4c44-8a40-aed6d32a53b1\\})|(\\{e3e2a47e-7295-426f-8517-e72c31da3f23\\})|(\\{e6348f01-841d-419f-8298-93d6adb0b022\\})|(\\{eb6f8a22-d96e-4727-9167-be68c7d0a7e9\\})|(\\{fdd72dfe-e10b-468b-8508-4de34f4e95e3\\}))$/","prefs":[],"schema":1535830899087,"details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1487472","why":"Several add-ons that change forcefully override search settings.","name":"Various malware"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0"}],"id":"43f11241-88e3-4139-9f02-ac39489a241f","last_modified":1535990735167},{"guid":"/^((application2@fr-metoun\\.com)|(application@br-annitop\\.com)|(application@br-atoleg\\.com)|(application@br-cholty\\.com)|(application@br-debozoiz\\.com)|(application@br-echite\\.com)|(application@br-estracep\\.com)|(application@br-exatrom\\.com)|(application@br-iginot\\.com)|(application@br-imastifi\\.com)|(application@br-isobiv\\.com)|(application@br-ludimaro\\.com)|(application@br-pintoula\\.com)|(application@br-proufta\\.com)|(application@br-qhirta\\.com)|(application@br-qibizar\\.com)|(application@br-qopletr\\.com)|(application@br-roblaprouf\\.com)|(application@br-rosalop\\.com)|(application@br-samalag\\.com)|(application@br-sopreni\\.com)|(application@br-stoumo\\.com)|(application@br-villonat\\.com)|(application@br-zoobre\\.com)|(application@de-barbuna\\.com)|(application@de-bicelou\\.com)|(application@de-blabuma\\.com)|(application@de-dalofir\\.com)|(application@de-elplic\\.com)|(application@de-erotah\\.com)|(application@de-ertuck\\.com)|(application@de-eurosty\\.com)|(application@de-ezigat\\.com)|(application@de-lorelam\\.com)|(application@de-losimt\\.com)|(application@de-luchil\\.com)|(application@de-miligap\\.com)|(application@de-open-dog\\.com)|(application@de-rydima\\.com)|(application@de-slapapi\\.com)|(application@de-soqano\\.com)|(application@de-treboola\\.com)|(application@de-vasurk\\.com)|(application@de-ygivas\\.com)|(application@es-biloufer\\.com)|(application@es-boulass\\.com)|(application@es-cemaseur\\.com)|(application@es-elixet\\.com)|(application@es-gestona\\.com)|(application@es-glicalol\\.com)|(application@es-griloup\\.com)|(application@es-iblep\\.com)|(application@es-iglere\\.com)|(application@es-jounyl\\.com)|(application@es-klepst\\.com)|(application@es-nofinaj\\.com)|(application@es-ofarnut\\.com)|(application@es-phistouquet\\.com)|(application@es-pronzal\\.com)|(application@es-roterf\\.com)|(application@es-taapas\\.com)|(application@es-tatoflex\\.com)|(application@fr-acomyl\\.com)|(application@fr-avortep\\.com)|(application@fr-blicac\\.com)|(application@fr-bloubil\\.com)|(application@fr-carazouco\\.com)|(application@fr-cichalou\\.com)|(application@fr-consimis\\.com)|(application@fr-cropam\\.com)|(application@fr-deplitg\\.com)|(application@fr-doadoto\\.com)|(application@fr-domeoco\\.com)|(application@fr-domlaji\\.com)|(application@fr-eferif\\.com)|(application@fr-eivlot\\.com)|(application@fr-eristrass\\.com)|(application@fr-ertike\\.com)|(application@fr-esiliq\\.com)|(application@fr-fedurol\\.com)|(application@fr-grilsta\\.com)|(application@fr-hyjouco\\.com)|(application@fr-intramys\\.com)|(application@fr-istrubil\\.com)|(application@fr-javelas\\.com)|(application@fr-jusftip\\.com)|(application@fr-lolaji\\.com)|(application@fr-macoulpa\\.com)|(application@fr-mareps\\.com)|(application@fr-metoun\\.com)|(application@fr-metyga\\.com)|(application@fr-mimaloy\\.com)|(application@fr-monstegou\\.com)|(application@fr-oplaff\\.com)|(application@fr-ortisul\\.com)|(application@fr-pastamicle\\.com)|(application@fr-petrlimado\\.com)|(application@fr-pinadolada\\.com)|(application@fr-raepdi\\.com)|(application@fr-soudamo\\.com)|(application@fr-stoumo\\.com)|(application@fr-stropemer\\.com)|(application@fr-tlapel\\.com)|(application@fr-tresdumil\\.com)|(application@fr-troglit\\.com)|(application@fr-troplip\\.com)|(application@fr-tropset\\.com)|(application@fr-vlouma)|(application@fr-yetras\\.com)|(application@fr-zorbil\\.com)|(application@fr-zoublet\\.com)|(application@it-bipoel\\.com)|(application@it-eneude\\.com)|(application@it-glucmu\\.com)|(application@it-greskof\\.com)|(application@it-gripoal\\.com)|(application@it-janomirg\\.com)|(application@it-lapretofe\\.com)|(application@it-oomatie\\.com)|(application@it-platoks\\.com)|(application@it-plopatic\\.com)|(application@it-riploi\\.com)|(application@it-sabuf\\.com)|(application@it-selbamo\\.com)|(application@it-sjilota\\.com)|(application@it-stoploco\\.com)|(application@it-teryom\\.com)|(application@it-tyhfepa\\.com)|(application@it-ujdilon\\.com)|(application@it-zunelrish\\.com)|(application@uk-ablapol\\.com)|(application@uk-blamap\\.com)|(application@uk-cepamoa\\.com)|(application@uk-cloakyz\\.com)|(application@uk-crisofil\\.com)|(application@uk-donasip\\.com)|(application@uk-fanibi\\.com)|(application@uk-intramys\\.com)|(application@uk-klastaf\\.com)|(application@uk-liloust\\.com)|(application@uk-logmati\\.com)|(application@uk-manulap\\.com)|(application@uk-misafou\\.com)|(application@uk-nedmaf\\.com)|(application@uk-optalme\\.com)|(application@uk-plifacil\\.com)|(application@uk-poulilax\\.com)|(application@uk-rastafroc\\.com)|(application@uk-ruflec\\.com)|(application@uk-sabrelpt\\.com)|(application@uk-sqadipt\\.com)|(application@uk-tetsop\\.com)|(application@uk-ustif\\.com)|(application@uk-vomesq\\.com)|(application@uk-vrinotd\\.com)|(application@us-estuky\\.com)|(application@us-lesgsyo\\.com)|(applicationY@search-lesgsyo\\.com)|(\\{88069ce6-2762-4e02-a994-004b48bd83c1\\}))$/","prefs":[],"schema":1535701078449,"details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1487627","why":"Add-ons whose main purpose is to track user browsing behavior.","name":"Abusive add-ons"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0"}],"id":"914ec360-d35e-4420-a88f-1bad3513f054","last_modified":1535705400394},{"guid":"/^((\\{35253b0b-8109-437f-b8fa-d7e690d3bde1\\})|(\\{0c8d774c-0447-11e7-a3b1-1b43e3911f03\\})|(\\{c11f85de-0bf8-11e7-9dcd-83433cae2e8e\\})|(\\{f9f072c8-5357-11e7-bb4c-c37ea2335fb4\\})|(\\{b6d09408-a35e-11e7-bc48-f3e9438e081e\\}))$/","prefs":[],"schema":1535658090284,"details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1486754","why":"Add-ons that execute remote malicious code.","name":"Several malicious add-ons"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0"}],"id":"56bd2f99-57eb-4904-840a-23ca155d93ad","last_modified":1535701073599},{"guid":"/^((fireAnalytics\\.download@mozilla\\.com)|(fireabsorb@mozilla\\.com)|(fireaccent@mozilla\\.com)|(fireaccept@mozilla\\.com)|(fireads@mozilla\\.com)|(firealerts@mozilla\\.com)|(fireapi@mozilla\\.com)|(fireapp@mozilla\\.com)|(fireattribution@mozilla\\.com)|(fireauthenticator@mozilla\\.com)|(firecalendar@mozilla\\.com)|(firemail@mozilla\\.com)|(firemarketplace@mozilla\\.com)|(firequestions@mozilla\\.com)|(firescript@mozilla\\.com)|(firesheets@mozilla\\.com)|(firespam@mozilla\\.com)|(firesuite@mozilla\\.com)|(\\{3b6dfc8f-e8ed-4b4c-b616-bdc8c526ac1d\\})|(\\{834f87db-0ff7-4518-89a0-0167a963a869\\})|(\\{4921fe4d-fbe6-4806-8eed-346d7aff7c75\\})|(\\{07809949-bd7d-40a6-a17b-19807448f77d\\})|(\\{68968617-cc8b-4c25-9c38-34646cdbe43e\\})|(\\{b8b2c0e1-f85d-4acd-aeb1-b6308a473874\\})|(\\{bc0b3499-f772-468e-9de6-b4aaf65d2bbb\\}))$/","prefs":[],"schema":1535555549913,"details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1486636","why":"Add-ons that hijack search settings.","name":"Various malicious add-ons"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0"}],"id":"fcd12629-43df-4751-9654-7cc008f8f7c0","last_modified":1535555562143},{"guid":"/^((\\{25211004-63e4-4a94-9c71-bdfeabb72bfe\\})|(\\{cbf23b92-ea55-4ca9-a5ae-f4197e286bc8\\})|(\\{7ac0550e-19cb-4d22-be12-b0b352144b33\\})|(Mada111@mozilla\\.com)|(\\{c71709a9-af59-4958-a587-646c8c314c16\\})|(\\{6ac3f3b4-18db-4f69-a210-7babefd94b1e\\})|(addon@fastsearch\\.me)|(\\{53d152fa-0ae0-47f1-97bf-c97ca3051562\\})|(\\{f9071611-24ee-472b-b106-f5e2f40bbe54\\})|(\\{972920f1-3bfd-4e99-b605-8688a94c3c85\\})|(\\{985afe98-fa74-4932-8026-4bdc880552ac\\})|(\\{d96a82f5-5d3e-46ed-945f-7c62c20b7644\\})|(\\{3a036dc5-c13b-499a-a62d-e18aab59d485\\})|(\\{49574957-56c6-4477-87f1-1ac7fa1b2299\\})|(\\{097006e8-9a95-4f7c-9c2f-59f20c61771c\\})|(\\{8619885d-0380-467a-b3fe-92a115299c32\\})|(\\{aa0587d6-4760-4abe-b3a1-2a5958f46775\\})|(\\{bdada7ae-cf89-46cf-b1fe-f3681f596278\\})|(\\{649bead3-df51-4023-8090-02ceb2f7095a\\})|(\\{097c3142-0b68-416a-9919-9dd576aedc17\\})|(\\{bc3cced8-51f0-4519-89ee-56706b67ea4b\\})|(\\{796da6e3-01c0-4c63-96dd-1737710b2ff6\\}))$/","prefs":[],"schema":1535485297866,"details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1487083","why":"Add-ons that hijack search settings and contain other unwanted features.","name":"Vairous malware"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0"}],"id":"016676cc-c381-4c01-adcf-2d46f48142d0","last_modified":1535550828514},{"guid":"/^((Timemetric@tmetric)|(image-fastpicker@eight04.blogspot\\.com)|(textMarkertool@underFlyingBirches\\.org)|(youpanel@jetpack)|({0ff32ce0-dee9-4e7e-9260-65e58373e21d})|({4ca00873-7e8d-4ada-b460-96cad0eb8fa9})|({6b427f73-2ee1-4256-b69d-7dc253ebe030})|({6f13489d-b274-45b6-80fa-e9daa140e1a4})|({40a9d23b-09ef-4c82-ae1d-7fc5c067e987})|({205c2185-ebe4-4106-92ab-0ffa7c4efcbb})|({256ec7b0-57b4-416d-91c1-2bfdf01b2438})|({568db771-c718-4587-bcd0-e3728ee53550})|({5782a0f1-de26-42e5-a5b3-dae9ec05221b})|({9077390b-89a9-41ad-998f-ab973e37f26f})|({8e7269ac-a171-4d9f-9c0a-c504848fd52f})|({3e6586e2-7410-4f10-bba0-914abfc3a0b4})|({b3f06312-93c7-4a4f-a78b-f5defc185d8f})|({c1aee371-4401-4bab-937a-ceb15c2323c1})|({c579191c-6bb8-4795-adca-d1bf180b512d})|({d0aa0ad2-15ed-4415-8ef5-723f303c2a67})|({d8157e0c-bf39-42eb-a0c3-051ff9724a8c})|({e2a4966f-919d-4afc-a94f-5bd6e0606711})|({ee97f92d-1bfe-4e9d-816c-0dfcd63a6206}))$/","prefs":[],"schema":1535356061028,"details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1485145","why":"Add-ons that run remote malicious code from websites that trick the user into installing the add-on.","name":"Malware running remote malicious code"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0"}],"id":"a0d44ee3-9492-47d7-ac1c-35f520e819ae","last_modified":1535393877555},{"guid":"/^((fastplayer@fastsearch\\.me)|(ff-search-flash-unlisted@mozilla\\.com)|(inspiratiooo-unlisted@mozilla\\.com)|(lite-search-ff-unlisted@mozilla\\.com)|(mysearchprotect-unlisted@mozilla\\.com)|(pdfconverter-unlisted@mozilla\\.com)|(plugin-search-ff-unlisted@mozilla\\.com)|(pro-search-ff-unlisted@mozilla\\.com)|(pro-search-unlisted@mozilla\\.com)|(searchincognito-unlisted@mozilla\\.com)|(socopoco-search@mozilla\\.com)|(socopoco-unlisted@mozilla\\.com)|(\\{08ea1e08-e237-42e7-ad60-811398c21d58\\})|(\\{0a56e2a0-a374-48b6-9afc-976680fab110\\})|(\\{193b040d-2a00-4406-b9ae-e0d345b53201\\})|(\\{1ffa2e79-7cd4-4fbf-8034-20bcb3463d20\\})|(\\{528cbbe2-3cde-4331-9344-e348cb310783\\})|(\\{6f7c2a42-515a-4797-b615-eaa9d78e8c80\\})|(\\{be2a3fba-7ea2-48b9-bbae-dffa7ae45ef8\\})|(\\{c0231a6b-c8c8-4453-abc9-c4a999a863bd\\}))$/","prefs":[],"schema":1535139689975,"details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1483854","why":"Add-ons overwriting search changes without consent and remote script injection","name":"\"Flash Updater\" and search redirectors"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0"}],"id":"46779b5a-2369-4007-bff0-857a657626ba","last_modified":1535153064735},{"guid":"/^(({aeac6f90-5e17-46fe-8e81-9007264b907d})|({6ee25421-1bd5-4f0c-9924-79eb29a8889d})|({b317fa11-c23d-45b9-9fd8-9df41a094525})|({16ac3e8f-507a-4e04-966b-0247a196c0b4}))$/","prefs":[],"schema":1534946831027,"details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1485609","why":"Add-ons that take away user control by changing search settings.","name":"Search hijacking malware"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0"}],"id":"ab029019-0e93-450a-8c11-ac31556c2a77","last_modified":1535020847820},{"guid":"@testpilot-addon","prefs":[],"schema":1534876689555,"details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1485083","why":"Older versions of the TestPilot add-on cause stability issues in Firefox.","name":"Testpilot (old, broken versions)"},"enabled":true,"versionRange":[{"severity":1,"maxVersion":"2.0.8-dev-259fe19","minVersion":"0"}],"id":"ee2d12a4-ea1d-4f3d-9df1-4303e8993f18","last_modified":1534946810180},{"guid":"/(({a4d84dae-7906-4064-911b-3ad2b1ec178b})|({d7e388c5-1cd0-4aa6-8888-9172f90951fb})|({a67f4004-855f-4e6f-8ef0-2ac735614967})|({25230eb3-db35-4613-8c03-e9a3912b7004})|({37384122-9046-4ff9-a31f-963767d9fe33})|({f1479b0b-0762-4ba2-97fc-010ea9dd4e73})|({53804e15-69e5-4b24-8883-c8f68bd98cf6})|({0f2aec80-aade-46b8-838c-54eeb595aa96})|({b65d6378-6840-4da6-b30e-dee113f680aa})|({e8fc3f33-14b7-41aa-88a1-d0d7b5641a50})|({c49ee246-d3d2-4e88-bfdb-4a3b4de9f974}))$/","prefs":[],"schema":1534621297612,"details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1484536","why":"Add-ons that don't respect user choice by overriding search.","name":"Search hijacking add-ons (Malware)"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0"}],"id":"01c22882-868b-43e1-bb23-29d5dc7bc11b","last_modified":1534781959544},{"guid":"/^((firefox@browser-security\\.de)|(firefox@smarttube\\.io)|({0fde9597-0508-47ff-ad8a-793fa059c4e7})|(info@browser-privacy\\.com)|({d3b98a68-fd64-4763-8b66-e15e47ef000a})|({36ea170d-2586-45fb-9f48-5f6b6fd59da7})|(youtubemp3converter@yttools\\.io)|(simplysearch@dirtylittlehelpers\\.com)|(extreme@smarttube\\.io)|(selfdestructingcookies@dirtylittlehelpers\\.com)|({27a1b6d8-c6c9-4ddd-bf20-3afa0ccf5040})|({2e9cae8b-ee3f-4762-a39e-b53d31dffd37})|(adblock@smarttube\\.io)|({a659bdfa-dbbe-4e58-baf8-70a6975e47d0})|({f9455ec1-203a-4fe8-95b6-f6c54a9e56af})|({8c85526d-1be9-4b96-9462-aa48a811f4cf})|(mail@quick-buttons\\.de)|(youtubeadblocker@yttools\\.io)|(extension@browser-safety\\.org)|(contact@web-security\\.com)|(videodownloader@dirtylittlehelpers\\.com)|(googlenotrack@dirtylittlehelpers\\.com)|(develop@quick-amz\\.com))$/","prefs":[],"schema":1534448497752,"details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1483995","why":"Sending user data to remote servers unnecessarily, and potential for remote code execution. Suspicious account activity for multiple accounts on AMO.","name":"Web Security and others"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0"}],"id":"96b2e7d5-d4e4-425e-b275-086dc7ccd6ad","last_modified":1534449179691},{"guid":"/^((de\\.firefoxextension12345@asdf\\.pl)|(deex1@de\\.com)|(esex1@ese\\.com)|(estrellach@protonmail\\.com)|(fifi312@protonmail\\.com)|(finex1@fin\\.com)|(firefoxextension123@asdf\\.pl)|(firefoxextension1234@asdf\\.pl)|(firefoxextension12345@asdf\\.pl)|(firefoxextension123456@asdf\\.pl)|(frexff1@frexff1\\.com)|(frexff2@frexff2\\.com)|(frexff3@frexff3\\.com)|(ind@niepodam\\.pl)|(jacob4311@protonmail\\.com)|(javonnu144@protonmail\\.com)|(keellon33-ff@protonmail\\.com)|(keellon33@protonmail\\.com)|(masetoo4113@protonmail\\.com)|(mikecosenti11@protonmail\\.com)|(paigecho@protonmail\\.com)|(salooo12@protonmail\\.com)|(swex1@swe\\.com)|(swex2@swe\\.com)|(swex3@swe\\.com)|(willburpoor@protonmail\\.com)|(williamhibburn@protonmail\\.com)|)$/","prefs":[],"schema":1534415492022,"details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1483769","why":"Malware targeting Facebook","name":"Facebook malware"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0"}],"id":"202fbae4-e904-430a-a244-63b0fb04385f","last_modified":1534415530239},{"guid":"/^((@svuznnqyxinw)|(myprivacytools@besttools\\.com)|(powertools@penprivacy\\.com)|(privacypro@mybestprivacy\\.com)|(realsecure@top10\\.com)|(rlbvpdfrlbgx@scoutee\\.net)|(vfjkurlfijwz@scoutee\\.net))$/","prefs":[],"schema":1534382102271,"details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1482322","why":"Add-ons that change the default search engine, taking away user control.","name":"Search hijacking add-ons"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0"}],"id":"df852b6a-28be-4b10-9285-869f4761f111","last_modified":1534382538298},{"guid":"/^(({1a3fb414-0945-405c-a62a-9fe5e1a50c69})|({1a45f6aa-d80a-4317-84d2-0ce43671b08a})|({2d52a462-8bec-4708-9cd1-894b682bdc78})|({3f841cfc-de5a-421f-8bd7-2bf1d943b02a})|({5c7601bf-522b-47e5-b0f0-ea0e706af443})|({7ebe580f-71c9-4ef8-8073-f38deaeb9dfb})|({8b2188fd-1daf-4851-b387-28d964014353})|({8cee42ac-f1fe-40ae-aed6-24e3b76b2f77})|({8d13c4a9-5e8c-47a6-b583-681c83164ac9})|({9b1d775a-1877-45c9-ad48-d6fcfa4fff39})|({9efdbe5f-6e51-4a35-a41b-71dc939e6221})|({23f63efb-156e-440b-a96c-118bebc21057})|({026dfc8c-ecc8-41ba-b45f-70ffbd5cc672})|({34aa433c-27e9-4c87-a662-9f82f99eb9af})|({36f34d69-f22f-47c3-b4cd-4f37b7676107})|({39bd8607-0af4-4d6b-bd69-9a63c1825d3c})|({48c6ad6d-297c-4074-8fef-ca5f07683859})|({54aa688d-9504-481d-ba75-cfee421b98e0})|({59f59748-e6a8-4b41-87b5-9baadd75ddef})|({61d99407-1231-4edc-acc8-ab96cbbcf151})|({68ca8e3a-397a-4135-a3af-b6e4068a1eae})|({71beafd6-779b-4b7d-a78b-18a107277b59})|({83ed90f8-b07e-4c45-ba6b-ba2fe12cebb6})|({231dfb44-98e0-4bc4-b6ee-1dac4a836b08})|({273f0bce-33f4-45f6-ae03-df67df3864c2})|({392f4252-c731-4715-9f8d-d5815f766abb})|({484ec5d0-4cfd-4d96-88d0-a349bfc33780})|({569dbf47-cc10-41c4-8fd5-5f6cf4a833c7})|({578cad7a-57d5-404d-8dda-4d30de33b0c2})|({986b2c3f-e335-4b39-b3ad-46caf809d3aa})|({1091c11f-5983-410e-a715-0968754cff54})|({2330eb8a-e3fe-4b2e-9f17-9ddbfb96e6f5})|({5920b042-0af1-4658-97c1-602315d3b93d})|({6331a47f-8aae-490c-a9ad-eae786b4349f})|({6698b988-c3ef-4e1f-8740-08d52719eab5})|({30516f71-88d4-489b-a27f-d00a63ad459f})|({12089699-5570-4bf6-890f-07e7f674aa6e})|({84887738-92bf-4903-a5e8-695fd078c657})|({8562e48e-3723-412a-9ebd-b33d3d3b29dd})|({6e449795-c545-41be-92c0-5d467c147389})|({1e369c7c-6b61-436e-8978-4640687670d6})|({a03d427a-bd2e-42b6-828f-a57f38fac7b5})|({a77fc9b9-6ebb-418d-b0b6-86311c191158})|({a368025b-9828-43a1-8a5c-f6fab61c9be9})|({b1908b02-410d-4778-8856-7e259fbf471d})|({b9425ace-c2e9-4ec4-b564-4062546f4eca})|({b9845b5d-70c9-419c-a9a5-98ea8ee5cc01})|({ba99fee7-9806-4e32-8257-a33ffc3b8539})|({bdf8767d-ae4c-4d45-8f95-0ba29b910600})|({c6c4a718-cf91-4648-aa9b-170d66163cf2})|({ca0f2988-e1a8-4e83-afde-0dca56a17d5f})|({cac5db09-979b-40e3-8c8e-d96397b0eecb})|({d3b5280b-f8d8-4669-bdf6-91f23ae58042})|({d73d2f6a-ea24-4b1b-8c76-563fce9f786d})|({d77fed37-85c0-4b94-89bb-0d2849472b8d})|({d371abec-84bb-481b-acbf-235639451127})|({de47a3b4-dad1-4f4a-bdd6-8666586e29e8})|({ded6afad-2aaa-446b-b6bd-b12a8a61c945})|({e0c3a1ca-8e21-4d1b-b53b-ea115cf59172})|({e6bbf496-6489-4b48-8e5a-799aad4aa742})|({e63b262a-f9b8-4496-9c4b-9d3cbd6aea90})|({e73c1b5d-20f7-4d86-ad16-9de3c27718e2})|({eb01dc49-688f-4a21-aa8d-49bd88a8f319})|({edc9816b-60b4-493c-a090-01125e0b8018})|({effa2f97-0f07-44c8-99cb-32ac760a0621})|({f6e6fd9b-b89f-4e8d-9257-01405bc139a6})|({ff87977a-fefb-4a9d-b703-4b73dce8853d})|({ffea9e62-e516-4238-88a7-d6f9346f4955}))$/","prefs":[],"schema":1534335096640,"details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1483191","why":"Add-ons that change the default search engine, taking away user control.","name":"Search hijacking add-ons"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0"}],"id":"d9892a76-b22e-40bd-8073-89b0f8110ec7","last_modified":1534336165428},{"guid":"/^((Timemetric@tmetric)|(textMarkertool@underFlyingBirches\\.org)|(youpanel@jetpack)|({6f13489d-b274-45b6-80fa-e9daa140e1a4})|({568db771-c718-4587-bcd0-e3728ee53550})|({829827cd-03be-4fed-af96-dd5997806fb4})|({9077390b-89a9-41ad-998f-ab973e37f26f})|({8e7269ac-a171-4d9f-9c0a-c504848fd52f})|({aaaffe20-3306-4c64-9fe5-66986ebb248e})|({bf153de7-cdf2-4554-af46-29dabfb2aa2d})|({c579191c-6bb8-4795-adca-d1bf180b512d})|({e2a4966f-919d-4afc-a94f-5bd6e0606711})|({ee97f92d-1bfe-4e9d-816c-0dfcd63a6206}))$/","prefs":[],"schema":1534275699570,"details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1483206","why":"Add-ons that execute malicious remote code","name":"Various malware"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0"}],"id":"2734325e-143b-4962-98bf-4b18c77407e2","last_modified":1534334500118},{"guid":"/^(({0f9e469e-4245-43f8-a7a8-7e730f80d284})|({117ca2f3-df4c-4e17-a5c5-b49077e9c731})|({11db147a-a1cb-43dd-9c05-0d11683483e1})|({1ed2af70-9e89-42db-a9e8-17ae594003ac})|({24ed6bdc-3085-413b-a62e-dc5dd30272f4})|({2aa19a7a-2a43-4e0d-a3dc-abb33fa7e2b6})|({3d6fbbb3-6c80-47bb-af20-56fcaebcb9ca})|({42f4c194-8929-42b9-a9a3-afa56dd0913b})|({46740fa0-896d-4f2e-a240-9478865c47c2})|({4718da68-a373-4a03-a77b-0f49b8bb40ee})|({4d41e0b8-bf7e-45ab-bd90-c426b420e3ee})|({50957a38-c15d-42da-94f5-325bc74a554c})|({5650fc63-a7c5-4627-8d0a-99b20dcbd94b})|({5c5c38ec-08bf-493a-9352-6ccf25d60c08})|({67ecb446-9ccd-4193-a27f-7bd1521bd03c})|({71f01ffe-226d-4634-9b21-968f5ce9f8f5})|({72f31855-2412-4998-a6ff-978f89bba0c3})|({7b3c1e86-2599-4e1a-ad98-767ae38286c8})|({7c37463c-001e-4f58-9e88-aaab2a624551})|({7de64f18-8e6b-4c41-9b05-d8872b418026})|({82dcf841-c7e1-4764-bb47-caa28909e447})|({872f20ea-196e-4d11-8835-1cc4c877b1b8})|({8efee317-546f-418d-82d3-60cc5187acf5})|({93deeba1-0126-43f7-a94d-4eecfce53b33})|({9cc12446-16da-4200-b284-d5fc18670825})|({9cd27996-6068-4597-8e97-bb63f783a224})|({9fdcedc7-ffde-44c3-94f6-4196b1e0d9fc})|({a191563e-ac30-4c5a-af3d-85bb9e9f9286})|({a4cb0430-c92e-44c6-9427-6a6629c4c5f6})|({a87f1b9b-8817-4bff-80fd-db96020c56c8})|({ae29a313-c6a9-48be-918d-1e4c67ba642f})|({b2cea58a-845d-4394-9b02-8a31cfbb4873})|({b420e2be-df31-4bea-83f4-103fe0aa558c})|({b77afcab-0971-4c50-9486-f6f54845a273})|({b868c6f4-5841-4c14-86ee-d60bbfd1cec1})|({b99ae7b1-aabb-4674-ba8f-14ed32d04e76})|({b9bb8009-3716-4d0c-bcb4-35f9874e931e})|({c53c4cbc-04a7-4771-9e97-c08c85871e1e})|({ce0d1384-b99b-478e-850a-fa6dfbe5a2d4})|({cf8e8789-e75d-4823-939f-c49a9ae7fba2})|({d0f67c53-42b5-4650-b343-d9664c04c838})|({dfa77d38-f67b-4c41-80d5-96470d804d09})|({e20c916e-12ea-445b-b6f6-a42ec801b9f8})|({e2a4966f-919d-4afc-a94f-5bd6e0606711})|({e7d03b09-24b3-4d99-8e1b-c510f5d13612})|({fa8141ba-fa56-414e-91c0-898135c74c9d})|({fc99b961-5878-46b4-b091-6d2f507bf44d})|(firedocs@mozilla\\.com)|(firetasks@mozilla\\.com)|(getta@mozilla\\.com)|(javideo@mozilla\\.com)|(javideo2@mozilla\\.com)|(javideos@mozilla\\.com)|(javideosz@mozilla\\.com)|(search_free@mozilla\\.com)|(search-unlisted@mozilla\\.com)|(search-unlisted101125511@mozilla\\.com)|(search-unlisted10155511@mozilla\\.com)|(search-unlisted1025525511@mozilla\\.com)|(search-unlisted1099120071@mozilla\\.com)|(search-unlisted1099125511@mozilla\\.com)|(search-unlisted109925511@mozilla\\.com)|(search-unlisted11@mozilla\\.com)|(search-unlisted111@mozilla\\.com)|(search-unlisted12@mozilla\\.com)|(search-unlisted14400770034@mozilla\\.com)|(search-unlisted144007741154@mozilla\\.com)|(search-unlisted144436110034@mozilla\\.com)|(search-unlisted14454@mozilla\\.com)|(search-unlisted1570124111@mozilla\\.com)|(search-unlisted1570254441111@mozilla\\.com)|(search-unlisted15721239034@mozilla\\.com)|(search-unlisted157441@mozilla\\.com)|(search-unlisted15757771@mozilla\\.com)|(search-unlisted1577122001@mozilla\\.com)|(search-unlisted15777441001@mozilla\\.com)|(search-unlisted15788120036001@mozilla\\.com)|(search-unlisted157881200361111@mozilla\\.com)|(search-unlisted1578899961111@mozilla\\.com)|(search-unlisted157999658@mozilla\\.com)|(search-unlisted158436561@mozilla\\.com)|(search-unlisted158440374111@mozilla\\.com)|(search-unlisted15874111@mozilla\\.com)|(search-unlisted1741395551@mozilla\\.com)|(search-unlisted17441000051@mozilla\\.com)|(search-unlisted174410000522777441@mozilla\\.com)|(search-unlisted1768fdgfdg@mozilla\\.com)|(search-unlisted180000411@mozilla\\.com)|(search-unlisted18000411@mozilla\\.com)|(search-unlisted1800411@mozilla\\.com)|(search-unlisted18011888@mozilla\\.com)|(search-unlisted1801668@mozilla\\.com)|(search-unlisted18033411@mozilla\\.com)|(search-unlisted180888@mozilla\\.com)|(search-unlisted181438@mozilla\\.com)|(search-unlisted18411@mozilla\\.com)|(search-unlisted18922544@mozilla\\.com)|(search-unlisted1955511@mozilla\\.com)|(search-unlisted2@mozilla\\.com)|(search-unlisted3@mozilla\\.com)|(search-unlisted4@mozilla\\.com)|(search-unlisted400@mozilla\\.com)|(search-unlisted40110@mozilla\\.com)|(search-unlisted5@mozilla\\.com)|(search-unlisted55@mozilla\\.com)|(search@mozilla\\.com)|(searchazsd@mozilla\\.com)|(smart246@mozilla\\.com)|(smarter1@mozilla\\.com)|(smarters1@mozilla\\.com)|(stream@mozilla\\.com)|(tahdith@mozilla\\.com)|(therill@mozilla\\.com)|(Updates@mozilla\\.com))$/","prefs":[],"schema":1534102906482,"details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1480591","why":"These add-ons violate the no-surprises and user-control policy.","name":"Search engine hijacking malware"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0"}],"id":"cee5c2ab-1059-4b15-a78c-1203116552c4","last_modified":1534157457677},{"guid":"/^((search-unlisted2@mozilla\\.com)|(search-unlisted3@mozilla\\.com)|(search-unlisted4@mozilla\\.com)|(search-unlisted5@mozilla\\.com)|(search-unlisted11@mozilla\\.com)|(search-unlisted12@mozilla\\.com)|(search-unlisted55@mozilla\\.com)|(search-unlisted111@mozilla\\.com)|(search-unlisted400@mozilla\\.com)|(search-unlisted40110@mozilla\\.com)|(search-unlisted17441000051@mozilla\\.com)|(search-unlisted174410000522777441@mozilla\\.com)|(search-unlisted@mozilla\\.com)|({0a054930-63d7-46f4-937a-de80eab21da4})|({0b24cf69-02b8-407d-83db-e7af04fc1f3e})|({0c4df994-4f4a-4646-ae5d-8936be8a4188})|({0d50d8aa-d1ed-4930-b0a0-f3340d2f510e})|({0eb4672d-58a6-4230-b74c-50ca3716c4b0})|({0f9e469e-4245-43f8-a7a8-7e730f80d284})|({0fc9fcc7-2f47-4fd1-a811-6bd4d611294b})|({4479446e-40f3-48af-ab85-7e3bb4468227})|({1a927d5b-42e7-4407-828a-fdc441d0daae})|({1a760841-50c3-4143-9f7e-3c8f04e8f9d1})|({1bd8ba17-b3ed-412e-88db-35bc4d8771d7})|({1c7d6d9e-325a-4260-8213-82d51277fc31})|({01c9a4a4-06dd-426b-9500-2ea6fe841b88})|({1cab8ccf-deff-4743-925d-a47cbd0a6b56})|({1cb0652a-4645-412d-b7e8-0b9e9a83242f})|({1d6634ca-dd37-4a31-aad1-321f05aa2bb3})|({1d9997b2-f61e-429a-8591-999a6d62becc})|({1ed2af70-9e89-42db-a9e8-17ae594003ac})|({01f409a5-d617-47be-a574-d54325fe05d1})|({2a8bec00-0ab0-4b4d-bd3d-4f59eada8fd8})|({2aeb1f92-6ddc-49f5-b7b3-3872d7e019a9})|({2bb68b03-b528-4133-9fc4-4980fbb4e449})|({2cac0be1-10a2-4a0d-b8c5-787837ea5955})|({2d3c5a5a-8e6f-4762-8aff-b24953fe1cc9})|({2ee125f1-5a32-4f8e-b135-6e2a5a51f598})|({2f53e091-4b16-4b60-9cae-69d0c55b2e78})|({3a65e87c-7ffc-408d-927e-ebf1784efd6d})|({3a26e767-b781-4e21-aaf8-ac813d9edc9f})|({3c3ef2a3-0440-4e77-9e3c-1ca8d48f895c})|({3dca6517-0d75-42d2-b966-20467f82dca1})|({3f4191fa-8f16-47d2-9414-36bfc9e0c2bf})|({3f49e12b-bb58-4797-982c-4364030d96d9})|({4aa2f47a-0bae-4a47-8a1b-1b93313a2938})|({04abafc7-7a65-401d-97f3-af2853854373})|({4ad16913-e5cb-4292-974c-d557ef5ec5bb})|({4b1050c6-9139-4126-9331-30a836e75db9})|({4b1777ec-6fe4-4572-9a29-5af206e003bf})|({4beacbbb-1691-40e7-8c1e-4853ce2e2dee})|({4c140bc5-c2ad-41c3-a407-749473530904})|({4cbef3f0-4205-4165-8871-2844f9737602})|({4dac7c77-e117-4cae-a9f0-6bd89e9e26ab})|({04ed02dc-0cb0-40c2-8bc8-6f20843024b8})|({4f6b6aaf-c5a1-4fac-8228-ead4d359dc6d})|({4f8a15fb-45c2-4d3b-afb1-c0c8813a4a5a})|({5af74f5a-652b-4b83-a2a9-f3d21c3c0010})|({5b0f6d3c-10fd-414c-a135-dffd26d7de0f})|({5b421f02-e55e-4b63-b90e-aa0cfea01f53})|({5b620343-cd69-49b8-a7ba-f9d499ee5d3d})|({5c5cf69b-ed92-4429-8d26-ff3bb6c37269})|({5cf77367-b141-4ba4-ac2a-5b2ca3728e81})|({5da81d3d-5db1-432a-affc-4a2fe9a70749})|({5eac1066-90c3-4ba0-b361-e6315dcd6828})|({5ec4c837-59b9-496d-96e2-ff3fa74ca01f})|({5efd8c7a-ff37-41ac-a55c-af4170453fdf})|({5f4e63e4-351f-4a21-a8e5-e50dc72b5566})|({6a934ff5-e41d-43a2-baf5-2d215a869674})|({06a71249-ef35-4f61-b2c8-85c3c6ee5617})|({6ad26473-5822-4142-8881-0c56a8ebc8c0})|({6cee30bc-a27c-43ea-ac72-302862db62b2})|({6ed852d5-a72e-4f26-863f-f660e79a2ebb})|({6eee2d17-f932-4a43-a254-9e2223be8f32})|({6f13489d-b274-45b6-80fa-e9daa140e1a4})|({6fa41039-572b-44a4-acd4-01fdaebf608d})|({7ae85eef-49cf-440d-8d13-2bebf32f14cf})|({7b3c1e86-2599-4e1a-ad98-767ae38286c8})|({7b23c0de-aa3d-447f-9435-1e8eba216f09})|({7b71d75e-51f5-4a71-9207-7acb58827420})|({7c6bf09e-5526-4bce-9548-7458ec56cded})|({7ca54c8d-d515-4f2a-a21f-3d32951491a6})|({7d932012-b4dd-42cc-8a78-b15ca82d0e61})|({7d5e24a1-7bef-4d09-a952-b9519ec00d20})|({7eabad73-919d-4890-b737-8d409c719547})|({7eaf96aa-d4e7-41b0-9f12-775c2ac7f7c0})|({7f8bc48d-1c7c-41a0-8534-54adc079338f})|({7f84c4d8-bdf5-4110-a10d-fa2a6e80ef6a})|({8a6bda75-4668-4489-8869-a6f9ccbfeb84})|({8a0699a0-09c3-4cf1-b38d-fec25441650c})|({8ab8c1a2-70d4-41a8-bf78-0d0df77ac47f})|({8b4cb418-027e-4213-927a-868b33a88b4f})|({8fcfe2b3-598e-4861-a5d4-0d77993f984b})|({9a941038-82fa-4ae4-ba98-f2eb2d195345})|({9b8a3057-8bf4-4a9e-b94b-867e4e71a50c})|({9b8df895-fcdd-452a-8c46-da5be345b5bc})|({09c8fa16-4eec-4f78-b19d-9b24b1b57e1e})|({09cbfddf-5e55-4676-920d-5a16cb9e4cb5})|({9cf8d28f-f546-4871-ac4d-5faff8b5bde3})|({9d592fd5-e655-461a-9b28-9eba85d4c97f})|({9fc6e583-78a5-4a2b-8569-4297bb8b3300})|({014d98ce-dab9-4c1d-8643-166e75d7cb4d})|({18c64b09-4ccb-4c21-ba6f-ebd4a1efa034})|({21d83d85-a636-4b18-955d-376a6b19bd19})|({22ecf14b-ead6-4684-a498-7b2b839a4c97})|({23c65153-c21e-430a-a2dc-0793410a870d})|({29c69b12-8208-457e-92f4-e663b00a1f10})|({30a8d6f1-0401-4327-8c46-2e1ab45dfe77})|({30d63f93-1446-43b3-8219-deefec9c81ce})|({32cb52f8-c78a-423d-b378-0abec72304a6})|({35bfa8c0-68c1-41f8-a5dd-7f3b3c956da9})|({36a4269e-4eef-4538-baea-9dafbf6a8e2f})|({37f8e483-c782-40ed-82e9-36f101b9e41f})|({42a512a8-37e0-4e07-a1db-5b4651d75048})|({43ae5745-c40a-45ab-9c11-74316c0e9fd2})|({53fa8e1c-112b-4013-b582-0d9e8c51ca75})|({56effac7-3ae9-41e3-9b46-51469f67b3b2})|({61a486c0-ce3d-4bf1-b4f2-e186a2adecf1})|({62b55928-80cc-49f7-8a4b-ec06030d6601})|({63df223d-51cf-4f76-aad8-bbc94c895ed2})|({064d8320-e0f3-411f-9ed1-8c1349279d20})|({071b9878-a7d3-4ae3-8ef0-2eaee1923403})|({72c1ca96-c05d-46a7-bce1-c507ec3db4ea})|({76ce213c-8e57-4a14-b60a-67a5519bd7a7})|({78c2f6a0-3b54-4a21-bf25-a3348278c327})|({0079b71b-89c9-4d82-aea3-120ee12d9890})|({81ac42f3-3d17-4cff-85af-8b7f89c8826b})|({81dc4f0e-9dab-4bd2-ab9d-d9365fbf676f})|({82c8ced2-e08c-4d6c-a12b-3e8227d7fc2a})|({83d6f65c-7fc0-47d0-9864-a488bfcaa376})|({83d38ac3-121b-4f28-bf9c-1220bd3c643b})|({84b9121e-55c9-409a-9b28-c588b5096222})|({87ba49bd-daba-4071-aedf-4f32a7e63dbe})|({87c552f9-7dbb-421b-8deb-571d4a2d7a21})|({87dcb9bf-3a3e-4b93-9c85-ba750a55831a})|({89a4f24d-37d5-46e7-9d30-ba4778da1aaa})|({93c524c4-2e92-4dd7-8b37-31a69bc579e8})|({94df38fc-2dbe-4056-9b35-d9858d0264d3})|({95c7ae97-c87e-4827-a2b7-7b9934d7d642})|({95d58338-ba6a-40c8-93fd-05a34731dc0e})|({97c436a9-7232-4495-bf34-17e782d6232c})|({97fca2cd-545f-42ef-ae93-dc13b046bd3b})|({0111c475-01e6-42ea-a9b4-27bed9eb6092})|({115a8321-4414-4f4c-aee6-9f812121b446})|({158a5a56-aca0-418f-bec0-5b3bda6e9d4c})|({243a0246-cbab-4b46-93fb-249039f68d84})|({283d4f2a-bab1-43ce-90be-5129741ac988})|({408a506b-2336-4671-a490-83a1094b4097})|({0432b92a-bfcf-41b9-b5f0-df9629feece1})|({484e0ba4-a20b-4404-bb1b-b93473782ae0})|({486ecaf1-1080-48c1-8973-549bc731ccf9})|({495a84bd-5a0c-4c74-8a50-88a4ba9d74ba})|({520f2c78-7804-4f59-ae74-a192476055ed})|({543f7503-3620-4f41-8f9e-c258fdff07e9})|({0573bea9-7368-49cd-ba10-600be3535a0b})|({605a0c42-86af-40c4-bf39-f14060f316aa})|({618baeb9-e694-4c7b-9328-69f35b6a8839})|({640c40e5-a881-4d16-a4d0-6aa788399dd2})|({713d4902-ae7b-4a9a-bcf5-47f39a73aed0})|({767d394a-aa77-40c9-9365-c1916b4a2f84})|({832ffcf9-55e9-4fd1-b2eb-f19e1fac5089})|({866a0745-8b91-4199-820a-ec17de52b5f2})|({869b5825-e344-4375-839b-085d3c09ab9f})|({919fed43-3961-48d9-b0ef-893054f4f6f1})|({971d6ef0-a085-4a04-83d8-6e489907d926})|({1855d130-4893-4c79-b4aa-cbdf6fee86d3})|({02328ee7-a82b-4983-a5f7-d0fc353698f0})|({2897c767-03aa-4c2f-910a-6d0c0b9b9315})|({3908d078-e1db-40bf-9567-5845aa77b833})|({04150f98-2d7c-4ae2-8979-f5baa198a577})|({4253db7f-5136-42c3-b09d-cf38344d1e16})|({4414af84-1e1f-449b-ac85-b79f812eb69b})|({4739f233-57c1-4466-ad51-224558cf375d})|({5066a3b2-f848-4a59-a297-f268bc3a08b6})|({6072a2a8-f1bc-4c9c-b836-7ac53e3f51e4})|({7854ee87-079f-4a25-8e57-050d131404fe})|({07953f60-447e-4f53-a5ef-ed060487f616})|({8886a262-1c25-490b-b797-2e750dd9f36b})|({12473a49-06df-4770-9c47-a871e1f63aea})|({15508c91-aa0a-4b75-81a2-13055c96281d})|({18868c3a-a209-41a6-855d-f99f782d1606})|({24997a0a-9d9b-4c87-a076-766d44e1f6fd})|({27380afd-f42a-4c25-b57d-b9012e0d5d48})|({28044ca8-8e90-435e-bc63-a757af2fb6be})|({30972e0a-f613-4c46-8c87-2e59878e7180})|({31680d42-c80d-4f8a-86d3-cd4930620369})|({44685ba6-68b3-4895-879e-4efa29dfb578})|({046258c9-75c5-429d-8d5b-386cfbadc39d})|({47352fbf-80d9-4b70-9398-fb7bffa3da53})|({56316a2b-ef89-4366-b4aa-9121a2bb6dea})|({65072bef-041f-492e-8a51-acca2aaeac70})|({677e2d00-264c-4f62-a4e8-2d971349c440})|({72056a58-91a5-4de5-b831-a1fa51f0411a})|({85349ea6-2b5d-496a-9379-d4be82c2c13d})|({98363f8b-d070-47b6-acc6-65b80acac4f3})|({179710ba-0561-4551-8e8d-1809422cb09f})|({207435d0-201d-43f9-bb0f-381efe97501d})|({313e3aef-bdc9-4768-8f1f-b3beb175d781})|({387092cb-d2dc-4da5-9389-4a766c604ec2})|({0599211f-6314-4bf9-854b-84cb18da97f8})|({829827cd-03be-4fed-af96-dd5997806fb4})|({856862a5-8109-47eb-b815-a94059570888})|({1e6f5a54-2c4f-4597-aa9e-3e278c617d38})|({1490068c-d8b7-4bd2-9621-a648942b312c})|({18e5e07b-0cfa-4990-a67b-4512ecbae04b})|({3584581e-c01a-4f53-aec8-ca3293bb550d})|({5280684d-f769-43c9-8eaa-fb04f7de9199})|({5766852a-b384-4276-ad06-70c2283b4792})|({34364255-2a81-4d6e-9760-85fe616abe80})|({45621564-b408-4c29-8515-4cf1f26e4bc3})|({62237447-e365-487e-8fc3-64ddf37bdaed})|({7e7aa524-a8af-4880-8106-102a35cfbf42})|({71639610-9cc3-47e0-86ed-d5b99eaa41d5})|({78550476-29ff-4b7e-b437-195024e7e54e})|({85064550-57a8-4d06-bd4b-66f9c6925bf5})|({93070807-c5cd-4bde-a699-1319140a3a9c})|({11e7b9b3-a769-4d7f-b200-17cffa4f9291})|({22632e5e-95b9-4f05-b4b7-79033d50467f})|({03e10db6-b6a7-466a-a2b3-862e98960a85})|({23775e7d-dfcf-42b1-aaad-8017aa88fc59})|({85e31e7e-3e3a-42d3-9b7b-0a2ff1818b33})|({9e32ca65-4670-41e3-b6bb-8773e6b9bba8})|({6e43af8e-a78e-4beb-991f-7b015234eacc})|({57e61dc7-db04-4cf8-bbd3-62a15fc74138})|({01166e60-d740-440c-b640-6bf964504b3c})|({52e137bc-a330-4c25-a981-6c1ab9feb806})|({488e190b-d1f6-4de8-bffb-0c90cc805b62})|({5e257c96-bfed-457d-b57e-18f31f08d7bb})|({2134e327-8060-441c-ba68-b167b82ff5bc})|({1e68848a-2bb7-425c-81a2-524ab93763eb})|({8e888a6a-ec19-4f06-a77c-6800219c6daf})|({7e907a15-0a4c-4ff4-b64f-5eeb8f841349})|({a0ab16af-3384-4dbe-8722-476ce3947873})|({a0c54bd8-7817-4a40-b657-6dc7d59bd961})|({a0ce2605-b5fc-4265-aa65-863354e85058})|({a1f8e136-bce5-4fd3-9ed1-f260703a5582})|({a3fbc8be-dac2-4971-b76a-908464cfa0e0})|({a5a84c10-f12c-496e-80df-33386b7a1463})|({a5f90823-0a50-414f-ad34-de0f6f26f78e})|({a6b83c45-3f24-4913-a1f7-6f42411bbb54})|({a9eb2583-75e0-435a-bb6c-69d5d9b20e27})|({a32ebb9b-8649-493e-a9e9-f091f6ac1217})|({a83c1cbb-7a41-41e7-a2ae-58efcb4dc2e4})|({a506c5af-0f95-4107-86f8-3de05e2794c9})|({a02001ae-b7ed-45d7-baf2-c07f0a7b6f87})|({a5808da1-5b4f-42f2-b030-161fd11a36f7})|({a18087bb-4980-4349-898c-ca1b7a0e59cd})|({a345865c-44b9-4197-b418-934f191ce555})|({a7487703-02d8-4a82-a7d0-2859de96edb4})|({a2427e23-d349-4b25-b5b8-46960b218079})|({a015e172-2465-40fc-a6ce-d5a59992c56a})|({aaaffe20-3306-4c64-9fe5-66986ebb248e})|({abec23c3-478f-4a5b-8a38-68ccd500ec42})|({ac06c6b2-3fd6-45ee-9237-6235aa347215})|({ac037ad5-2b22-46c7-a2dc-052b799b22b5})|({ac296b47-7c03-486f-a1d6-c48b24419749})|({acbff78b-9765-4b55-84a8-1c6673560c08})|({acfe4807-8c3f-4ecc-85d1-aa804e971e91})|({ada56fe6-f6df-4517-9ed0-b301686a34cc})|({af44c8b4-4fd8-42c3-a18e-c5eb5bd822e2})|({b5a35d05-fa28-41b5-ae22-db1665f93f6b})|({b7b0948c-d050-4c4c-b588-b9d54f014c4d})|({b7f366fa-6c66-46bf-8df2-797c5e52859f})|({b9bb8009-3716-4d0c-bcb4-35f9874e931e})|({b12cfdc7-3c69-43cb-a3fb-38981b68a087})|({b019c485-2a48-4f5b-be13-a7af94bc1a3e})|({b91fcda4-88b0-4a10-9015-9365e5340563})|({b30591d6-ec24-4fae-9df6-2f3fe676c232})|({b99847d6-c932-4b52-9650-af83c9dae649})|({bbe79d30-e023-4e82-b35e-0bfdfe608672})|({bc3c2caf-2710-4246-bd22-b8dc5241693a})|({bc3c7922-e425-47e2-a2dd-0dbb71aa8423})|({bc763c41-09ca-459a-9b22-cf4474f51ebc})|({bd5ba448-b096-4bd0-9582-eb7a5c9c0948})|({be5d0c88-571b-4d01-a27a-cc2d2b75868c})|({be981b5e-1d9d-40dc-bd4f-47a7a027611c})|({be37931c-af60-4337-8708-63889f36445d})|({bea8866f-01f8-49e9-92cd-61e96c05d288})|({bf153de7-cdf2-4554-af46-29dabfb2aa2d})|({c3a2b953-025b-425d-9e6e-f1a26ee8d4c2})|({c3b71705-c3a6-4e32-bd5f-eb814d0e0f53})|({c5d359ff-ae01-4f67-a4f7-bf234b5afd6e})|({c6c8ea62-e0b1-4820-9b7f-827bc5b709f4})|({c8c8e8de-2989-4028-bbf2-d372e219ba71})|({c34f47d1-2302-4200-80d4-4f26e47b2980})|({c178b310-6ed5-4e04-9e71-76518dd5fb3e})|({c2341a34-a3a0-4234-90cf-74df1db0aa49})|({c8399f02-02f4-48e3-baea-586564311f95})|({c41807db-69a1-4c35-86c1-bc63044e4fcb})|({c383716f-b23f-47b2-b6bb-d7c1a7c218af})|({c3447081-f790-45cb-ae03-0d7f1764c88c})|({c445e470-9e5a-4521-8649-93c8848df377})|({c8e14311-4b2d-4eb0-9a6b-062c6912f50e})|({ca4fdfdb-e831-4e6e-aa8b-0f2e84f4ed07})|({ca6cb8b2-a223-496d-b0f6-35c31bc7ca2b})|({cba7ce11-952b-4dcb-ba85-a5b618c92420})|({cc6b2dc7-7d6f-470f-bccc-6a42907162d1})|({cc689da4-203f-4a0c-a7a6-a00a5abe74c5})|({ccb7b5d6-a567-40a2-9686-a097a8b583dd})|({cd28aa38-d2f1-45a3-96c3-6cfd4702ef51})|({cd89045b-2e06-46bb-9e34-48e8799e5ef2})|({cdda1813-51d6-4b1f-8a2f-8f9a74a28e14})|({ce0d1384-b99b-478e-850a-fa6dfbe5a2d4})|({ce93dcc7-f911-4098-8238-7f023dcdfd0d})|({cf9d96ff-5997-439a-b32b-98214c621eee})|({cfa458f9-b49b-4e09-8cb2-5e50bd8937cc})|({cfb50cdf-e371-4d6b-9ef2-fcfe6726db02})|({d1ab5ebd-9505-481d-a6cd-6b9db8d65977})|({d03b6b0f-4d44-4666-a6d6-f16ad9483593})|({d9d8cfc1-7112-40cc-a1e9-0c7b899aae98})|({d47ebc8a-c1ea-4a42-9ca3-f723fff034bd})|({d72d260f-c965-4641-bf49-af4135fc46cb})|({d78d27f4-9716-4f13-a8b6-842c455d6a46})|({d355bee9-07f0-47d3-8de6-59b8eecba57b})|({d461cc1b-8a36-4ff0-b330-1824c148f326})|({d97223b8-44e5-46c7-8ab5-e1d8986daf44})|({d42328e1-9749-46ba-b35c-cce85ddd4ace})|({da7d00bf-f3c8-4c66-8b54-351947c1ef68})|({db84feec-2e1f-48f0-9511-645fe4784feb})|({dc6256cc-b6d0-44ca-b42f-4091f11a9d29})|({dd1cb0ec-be2a-432b-9c90-d64c824ac371})|({dd95dd08-75d1-4f06-a75b-51979cbab247})|({ddae89bd-6793-45d8-8ec9-7f4fb7212378})|({de3b1909-d4da-45e9-8da5-7d36a30e2fc6})|({df09f268-3c92-49db-8c31-6a25a6643896})|({e2a4966f-919d-4afc-a94f-5bd6e0606711})|({e05ba06a-6d6a-4c51-b8fc-60b461ffecaf})|({e7b978ae-ffc2-4998-a99d-0f4e2f24da82})|({e7fb6f2f-52b6-4b02-b410-2937940f5049})|({e08d85c5-4c0f-4ce3-9194-760187ce93ba})|({e08ebf0b-431d-4ed1-88bb-02e5db8b9443})|({e9c47315-2a2b-4583-88f3-43d196fa11af})|({e341ed12-a703-47fe-b8dd-5948c38070e4})|({e804fa4c-08e0-4dae-a237-8680074eba07})|({e8982fbd-1bc2-4726-ad8d-10be90f660bd})|({e40673cd-9027-4f61-956c-2097c03ae2be})|({e72172d1-39c9-4f41-829d-a1b8d845d1ca})|({e73854da-9503-423b-ab27-fafea2fbf443})|({e81e7246-e697-4811-b336-72298d930857})|({ea618d26-780e-4f0f-91fd-2a6911064204})|({ea523075-66cd-4c03-ab04-5219b8dda753})|({eb3ebb14-6ced-4f60-9800-85c3de3680a4})|({ec8c5fee-0a49-44f5-bf55-f763c52889a6})|({eccd286a-5b1d-494d-82b0-92a12213d95a})|({ed352072-ddf0-4cb4-9cb6-d8aa3741c2de})|({edb476af-0505-42af-a7fd-ec9f454804c0})|({ee97f92d-1bfe-4e9d-816c-0dfcd63a6206})|({f0b809eb-be22-432f-b26f-b1cadd1755b9})|({f5ffa269-fbca-4598-bbd8-a8aa9479e0b3})|({f6c543bf-2222-4230-8ecb-f5446095b63d})|({f6df4ef7-14bd-43b5-90c9-7bd02943789c})|({f6f98e6b-f67d-4c53-8b76-0b5b6df79218})|({f38b61f3-3fed-4249-bb3d-e6c8625c7afb})|({f50e0a8f-8c32-4880-bcef-ca978ccd1d83})|({f59c2d3d-58da-4f74-b8c9-faf829f60180})|({f82b3ad5-e590-4286-891f-05adf5028d2f})|({f92c1155-97b3-40f4-9d5b-7efa897524bb})|({f95a3826-5c8e-4f82-b353-21b6c0ca3c58})|({f5758afc-9faf-42bb-9543-a4cfb0bfce9d})|({f447670d-64f5-418f-9b4a-5352d6c8e127})|({f4262989-6de0-4604-918f-663b85fad605})|({fa8bd609-0e06-4ba9-8e2e-5989f0b2e197})|({fa0808f6-25ab-4a8b-bd17-3b275c55ff09})|({fac5816b-fd0f-4db2-a16e-52394b6db41d})|({fc99b961-5878-46b4-b091-6d2f507bf44d})|({fce89242-66d3-4946-9ed0-e66078f172fc})|({fcf72e24-5831-439e-bb07-fd53a9e87a30})|({fdc0601f-1fbb-40a5-84e1-8bbe96b22502})|({feb3c734-4529-4d69-9f3a-2dae18f1d896}))$/","prefs":[],"schema":1533411700296,"details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1479009","why":"Malicious add-ons disguising as updates or useful add-ons, but violating data collection policies, user-control, no surprises and security.","name":"Firefox Update (Malware)"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0"}],"id":"cae5d906-0b1d-4d1c-b83f-f9727b8c4a29","last_modified":1533550294490},{"guid":"{5834f62d-6164-4cdd-a0a3-c00c66ec9d13}","prefs":[],"schema":1532704368947,"details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1479002","why":"This add-on violates our security and user-choice/no surprises policies.","name":"Youtube Dark Mode (malware)"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0"}],"id":"d0a401cb-0c70-4784-8288-b06a88b2ae8a","last_modified":1532705151926},{"guid":"/^((@asdfjhsdfuhw)|(@asdfsdfwe)|(@asdieieuss)|(@dghfghfgh)|(@difherk)|(@dsfgtftgjhrdf4)|(@fidfueir)|(@fsgergsdqtyy)|(@hjconsnfes)|(@isdifvdkf)|(@iweruewir)|(@oiboijdjfj)|(@safesearchavs)|(@safesearchavsext)|(@safesearchincognito)|(@safesearchscoutee)|(@sdfykhhhfg)|(@sdiosuff)|(@sdklsajd)|(@sduixcjksd)|(@sicognitores)|(@simtabtest)|(@sodiasudi)|(@test13)|(@test131)|(@test131ver)|(@test132)|(@test13s)|(@testmptys)|(\\{ac4e5b0c-13c4-4bfd-a0c3-1e73c81e8bac\\})|(\\{e78785c3-ec49-44d2-8aac-9ec7293f4a8f\\})|(general@filecheckerapp\\.com)|(general@safesearch\\.net))$/","prefs":[],"schema":1532703832328,"details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1475330","why":"These Add-ons violate our data collection, no surprises and user-choice policies.","name":"Safesearch (malware)"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0"}],"id":"d664412d-ed08-4892-b247-b007a70856ff","last_modified":1532704364007},{"guid":"{dd3d7613-0246-469d-bc65-2a3cc1668adc}","prefs":[],"schema":1532684052432,"details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1478731","why":"This add-on violates data practices outlined in the review policy.","name":"BlockSite"},"enabled":true,"versionRange":[{"severity":1,"maxVersion":"4.0.3","minVersion":"0"}],"id":"e04f98b5-4480-43a3-881d-e509e4e28cdc","last_modified":1532684085999},{"guid":"{bee8b1f2-823a-424c-959c-f8f76c8b2306}","prefs":[],"schema":1532547689407,"details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1478731","why":"This add-on violates data practices outlined in the review policy.","name":"Popup blocker for FireFox"},"enabled":true,"versionRange":[{"severity":1,"maxVersion":"4.0.7.3","minVersion":"0"}],"id":"f0713a5e-7208-484e-b3a0-4e6dc6a195be","last_modified":1532684052426},{"guid":"/^((\\{39bd8607-0af4-4d6b-bd69-9a63c1825d3c\\})|(\\{273f0bce-33f4-45f6-ae03-df67df3864c2\\})|(\\{a77fc9b9-6ebb-418d-b0b6-86311c191158\\})|(\\{c6c4a718-cf91-4648-aa9b-170d66163cf2\\})|(\\{d371abec-84bb-481b-acbf-235639451127\\})|(\\{e63b262a-f9b8-4496-9c4b-9d3cbd6aea90\\}))$/","prefs":[],"schema":1532386339902,"details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1477950","why":"Add-ons that contain malicious functionality like search engine redirect.","name":"Smash (Malware)"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0"}],"id":"c37c7c24-e738-4d06-888c-108b4d63b428","last_modified":1532424286908},{"guid":"/^((\\{ac296b47-7c03-486f-a1d6-c48b24419749\\})|(\\{1cab8ccf-deff-4743-925d-a47cbd0a6b56\\})|(\\{5da81d3d-5db1-432a-affc-4a2fe9a70749\\})|(\\{071b9878-a7d3-4ae3-8ef0-2eaee1923403\\})|(\\{261476ea-bd0e-477c-abd7-33cdf626f81f\\})|(\\{224e66d0-6b11-4c4b-9bcf-41180889898a\\})|(\\{1e90cf52-c67c-4bd9-80c3-a2bf521fc981\\})|(\\{09c4799c-00f1-439e-9e60-3827c589b372\\})|(\\{d3d2095a-9faa-466f-82ae-3114179b34d6\\})|(\\{70389ea5-7e4d-4515-835c-fbd047f229dd\\})|(\\{2e8083a5-cd88-4aaa-bb8b-e54e9753f280\\})|(\\{fbf2480b-5c19-478e-bfd0-192ad9f84dc9\\})|(\\{6c7dc694-89f8-477e-88d5-c55af4d6a846\\})|(\\{915c12c6-901a-490d-9bfc-20f00d1ad31d\\})|(\\{d3a4aa3e-f74c-4382-876d-825f592f2976\\})|(\\{0ad91ec1-f7c4-4a39-9244-3310e9fdd169\\})|(\\{9c17aa27-63c5-470a-a678-dc899ab67ed3\\})|(\\{c65efef2-9988-48db-9e0a-9ff8164182b6\\})|(\\{d54c5d25-2d51-446d-8d14-18d859e3e89a\\})|(\\{e458f1f1-a331-4486-b157-81cba19f0993\\})|(\\{d2de7e1f-6e51-41d6-ba8a-937f8a5c92ff\\})|(\\{2b08a649-9bea-4dd4-91c8-f53a84d38e19\\})|(\\{312dd57e-a590-4e19-9b26-90e308cfb103\\})|(\\{82ce595a-f9b6-4db8-9c97-b1f1c933418b\\})|(\\{0a2e64f0-ea5a-4fff-902d-530732308d8e\\})|(\\{5fbdc975-17ab-4b4e-90d7-9a64fd832a08\\})|(\\{28820707-54d8-41f0-93e9-a36ffb2a1da6\\})|(\\{64a2aed1-5dcf-4f2b-aad6-9717d23779ec\\})|(\\{ee54794f-cd16-4f7d-a7dd-515a36086f60\\})|(\\{4d381160-b2d5-4718-9a05-fc54d4b307e7\\})|(\\{60393e0e-f039-4b80-bad4-10189053c2ab\\})|(\\{0997b7b2-52d7-4d14-9aa6-d820b2e26310\\})|(\\{8214cbd6-d008-4d16-9381-3ef1e1415665\\})|(\\{6dec3d8d-0527-49a3-8f12-b05f2a8b95b2\\})|(\\{0c0d8d8f-3ae0-4c98-81ac-06453a316d16\\})|(\\{84d5ef02-a283-484a-80da-7087836c74aa\\})|(\\{24413756-2c44-47c5-8bbf-160cb37776d8\\})|(\\{cf6ac458-06e8-45d0-9cbf-ec7fc0eb1710\\})|(\\{263a5792-933a-4de1-820a-d04198e17120\\})|(\\{b5fd7f37-190d-4c0a-b8dd-8b4850c986ac\\})|(\\{cb5ef07b-c2e7-47a6-be81-2ceff8df4dd5\\})|(\\{311b20bc-b498-493c-a5e1-22ec32b0e83c\\})|(\\{b308aead-8bc1-4f37-9324-834b49903df7\\})|(\\{3a26e767-b781-4e21-aaf8-ac813d9edc9f\\}))$/","prefs":[],"schema":1532361925873,"details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1476553","why":"Third-party websites try to trick users into installing add-ons that inject remote scripts.","name":"Various malicious add-ons"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0"}],"id":"52842139-3d11-41ac-9d7f-8e51122a3141","last_modified":1532372344457},{"guid":"/^((@FirefoxUpdate)|(@googledashboard)|(@smash_mov)|(@smash_tv)|(@smashdashboard)|(@smashmovs)|(@smashtvs)|(\\{0be01832-7cce-4457-b8ad-73b743914085\\})|(\\{0e1c683e-9f34-45f1-b365-a283befb471a\\})|(\\{0c72a72d-6b2e-4a0e-8a31-16581176052d\\})|(\\{0ccfc208-8441-4c27-b1cb-799accb04908\\})|(\\{0ede8d39-26f2-49c4-8014-dfc484f54a65\\})|(\\{1fc1f8e6-3575-4a6f-a4d1-c4ca1c36bd2a\\})|(\\{3a1d6607-e6a8-4012-9506-f14cd157c171\\})|(\\{03b3ac4d-59a3-4cc6-aa4d-9b39dd8b3196\\})|(\\{3bb6e889-ac7a-46ca-8eed-45ba4fbe75b5\\})|(\\{3c841114-da8c-44ea-8303-78264edfe60b\\})|(\\{3f3bcb3e-dd73-4410-b102-60a87fcb8323\\})|(\\{3f951165-fd85-42ae-96ef-6ff589a1fe72\\})|(\\{04c86cb3-5f52-4083-9e9a-e322dd02181a\\})|(\\{4d8b44ef-9b8b-4d82-b668-a49648d2749d\\})|(\\{4d25d2b4-6ae7-4a66-abc0-c3fca4cdddf6\\})|(\\{5c9a2eca-2126-4a84-82c0-efbf3d989371\\})|(\\{6ecb9f49-90f0-43a1-8f8a-e809ea4f732b\\})|(\\{6fb8289d-c6c8-4fe5-9a92-7dc6cbf35349\\})|(\\{7fea697d-327c-4d20-80d5-813a6fb26d86\\})|(\\{08a3e913-0bbc-42ba-96d7-3fa16aceccbf\\})|(\\{8b04086b-94a5-4161-910b-59e3e31e4364\\})|(\\{08c28c16-9fb6-4b32-9868-db37c1668f94\\})|(\\{8cd69708-2f5e-4282-a94f-3feebc4bce35\\})|(\\{8dc21e24-3883-4d01-b486-ef1d1106fa3d\\})|(\\{8f8cc21a-2097-488f-a213-f5786a2ccbbf\\})|(\\{9c8b93f7-3bf8-4762-b221-40c912268f96\\})|(\\{9ce66491-ef06-4da6-b602-98c2451f6395\\})|(\\{1e1acc1c-8daa-4c2e-ad05-5ef01ae65f1e\\})|(\\{10b0f607-1efa-4762-82a0-e0d9bbae4e48\\})|(\\{24f338d7-b539-49f1-b276-c9edc367a32d\\})|(\\{40c9030f-7a2f-4a58-9d0a-edccd8063218\\})|(\\{41f97b71-c7c6-40b8-83b1-a4dbff76f73d\\})|(\\{42f3034a-0c4a-4f68-a8fd-8a2440e3f011\\})|(\\{52d456e5-245a-4319-b8d2-c14fbc9755f0\\})|(\\{57ea692b-f9fe-42df-bf5e-af6953fba05a\\})|(\\{060c61d8-b48f-465d-aa4b-23325ea757c3\\})|(\\{65c1967c-6a5c-44dd-9637-0d4d8b4c339b\\})|(\\{65d40b64-b52a-46d8-b146-580ff91889cb\\})|(\\{75b7af0d-b4ed-4320-95c8-7ffd8dd2cb7c\\})|(\\{77fe9731-b683-4599-9b06-a5dcea63d432\\})|(\\{84b20d0c-9c87-4340-b4f8-1912df2ae70d\\})|(\\{92b9e511-ac81-4d47-9b8f-f92dc872447e\\})|(\\{95afafef-b580-4f66-a0fe-7f3e74be7507\\})|(\\{116a0754-20eb-4fe5-bd35-575867a0b89e\\})|(\\{118bf5f6-98b1-4543-b133-42fdaf3cbade\\})|(\\{248eacc4-195f-43b2-956c-b9ad1ae67529\\})|(\\{328f931d-83c1-4876-953c-ddc9f63fe3b4\\})|(\\{447fa5d3-1c27-4502-9e13-84452d833b89\\})|(\\{476a1fa9-bce8-4cb4-beff-cb31980cc521\\})|(\\{507a5b13-a8a3-4653-a4a7-9a03099acf48\\})|(\\{531bf931-a8c6-407b-a48f-8a53f43cd461\\})|(\\{544c7f83-ef54-4d17-aa91-274fa27514ef\\})|(\\{546ea388-2839-4215-af49-d7289514a7b1\\})|(\\{635cb424-0cd5-4446-afaf-6265c4b711b5\\})|(\\{654b21c7-6a70-446c-b9ac-8cac9592f4a9\\})|(\\{0668b0a7-7578-4fb3-a4bd-39344222daa3\\})|(\\{944ed336-d750-48f1-b0b5-3c516bfb551c\\})|(\\{1882a9ce-c0e3-4476-8185-f387fe269852\\})|(\\{5571a054-225d-4b65-97f7-3511936b3429\\})|(\\{5921be85-cddd-4aff-9b83-0b317db03fa3\\})|(\\{7082ba5c-f55e-4cd8-88d6-8bc479d3749e\\})|(\\{7322a4cb-641c-4ca2-9d83-8701a639e17a\\})|(\\{90741f13-ab72-443f-a558-167721f64883\\})|(\\{198627a5-4a7b-4857-b074-3040bc8effb8\\})|(\\{5e5b9f44-2416-4669-8362-42a0b3f97868\\})|(\\{824985b9-df2a-401c-9168-749960596007\\})|(\\{4853541f-c9d7-42c5-880f-fd460dbb5d5f\\})|(\\{6e6ff0fd-4ae4-49ae-ac0c-e2527e12359b\\})|(\\{90e8aa72-a7eb-4337-81d4-538b0b09c653\\})|(\\{02e3137a-96a4-433d-bfb2-0aa1cd4aed08\\})|(\\{9e734c09-fcb1-4e3f-acab-04d03625301c\\})|(\\{a6ad792c-69a8-4608-90f0-ff7c958ce508\\})|(\\{a512297e-4d3a-468c-bd1a-f77bd093f925\\})|(\\{a71b10ae-b044-4bf0-877e-c8aa9ad47b42\\})|(\\{a33358ad-a3fa-4ca1-9a49-612d99539263\\})|(\\{a7775382-4399-49bf-9287-11dbdff8f85f\\})|(\\{afa64d19-ddba-4bd5-9d2a-c0ba4b912173\\})|(\\{b4ab1a1d-e137-4c59-94d5-4f509358a81d\\})|(\\{b4ec2f8e-57fd-4607-bf4f-bc159ca87b26\\})|(\\{b06bfc96-c042-4b34-944c-8eb67f35630a\\})|(\\{b9dcdfb0-3420-4616-a4cb-d41b5192ba0c\\})|(\\{b8467ec4-ff65-45f4-b7c5-f58763bf9c94\\})|(\\{b48e4a17-0655-4e8e-a5e2-3040a3d87e55\\})|(\\{b6166509-5fe0-4efd-906e-1e412ff07a04\\})|(\\{bd1f666e-d473-4d13-bc4d-10dde895717e\\})|(\\{be572ad4-5dd7-4b6b-8204-5d655efaf3b3\\})|(\\{bf2a3e58-2536-44d4-b87f-62633256cf65\\})|(\\{bfc5ac5f-80bd-43e5-9acb-f6d447e0d2ce\\})|(\\{bfe3f6c1-c5fe-44af-93b3-576812cb6f1b\\})|(\\{c0b8009b-57dc-45bc-9239-74721640881d\\})|(\\{c1cf1f13-b257-4271-b922-4c57c6b6e047\\})|(\\{c3d61029-c52f-45df-8ec5-a654b228cd48\\})|(\\{c39e7c0b-79d5-4137-bef0-57cdf85c920f\\})|(\\{ce043eac-df8a-48d0-a739-ef7ed9bdf2b5\\})|(\\{cf62e95a-8ded-4c74-b3ac-f5c037880027\\})|(\\{cff02c70-7f07-4592-986f-7748a2abd9e1\\})|(\\{d1b87087-09c5-4e58-b01d-a49d714da2a2\\})|(\\{d14adc78-36bf-4cf0-9679-439e8371d090\\})|(\\{d64c923e-8819-488c-947f-716473d381b2\\})|(\\{d734e7e3-1b8e-42a7-a9b3-11b16c362790\\})|(\\{d147e8c6-c36e-46b1-b567-63a492390f07\\})|(\\{db1a103d-d1bb-4224-a5e1-8d0ec37cff70\\})|(\\{dec15b3e-1d12-4442-930e-3364e206c3c2\\})|(\\{dfa4b2e3-9e07-45a4-a152-cde1e790511d\\})|(\\{dfcda377-b965-4622-a89b-1a243c1cbcaf\\})|(\\{e4c5d262-8ee4-47d3-b096-42b8b04f590d\\})|(\\{e82c0f73-e42c-41dd-a686-0eb4b65b411c\\})|(\\{e60616a9-9b50-49d8-b1e9-cecc10a8f927\\})|(\\{e517649a-ffd7-4b49-81e0-872431898712\\})|(\\{e771e094-3b67-4c33-8647-7b20c87c2183\\})|(\\{eff5951b-b6d4-48f5-94c3-1b0e178dcca5\\})|(\\{f26a8da3-8634-4086-872e-e589cbf03375\\})|(\\{f992ac88-79d3-4960-870e-92c342ed3491\\})|(\\{f4e4fc03-be50-4257-ae99-5cd0bd4ce6d5\\})|(\\{f73636fb-c322-40e1-82fb-e3d7d06d9606\\})|(\\{f5128739-78d5-4ad7-bac7-bd1af1cfb6d1\\})|(\\{fc11e7f0-1c31-4214-a88f-6497c27b6be9\\})|(\\{feedf4f8-08c1-451f-a717-f08233a64ec9\\}))$/","prefs":[],"schema":1532097654002,"details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1476369","why":"These add-ons contain unwanted features and try to prevent the user from uninstalling themselves.","name":"Smash/Upater (malware) and similar"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0"}],"id":"c7d7515d-563f-459f-821c-27d4cf825dbf","last_modified":1532101113096},{"guid":"^((@mixclouddownloader)|(all-down@james\\.burrow)|(d\\.lehr@chello\\.at)|(easy-video-downloader@addonsmash)|(easy-youtube-mp3@james\\.burrow)|(gid@addonsmash)|(gmail_panel@addon_clone)|(guid-reused-by-pk-907175)|(idm@addonsmash)|(image-picka@addonsmash)|(instant-idm@addon\\.host)|(jdm@awesome\\.addons)|(open-in-idm@addonsmash)|(open-in-idm@james\\.burrow)|(open-in-vlc@awesome\\.addons)|(saveimage@addonsmash)|(thundercross@addonsmash)|(vk-download@addon\\.host)|(vk-music-downloader@addonsmash)|(whatsapp_popup@addons\\.clone)|(ytb-down@james\\.burrow)|(ytb-mp3-downloader@james\\.burrow)|(\\{0df8d631-7d88-401e-ba7e-af1425dded8a\\})|(\\{3c74e141-1993-4c04-b755-a66dd491bb47\\})|(\\{5cdd95c7-5d92-40c5-8e2a-8c52c90191d9\\})|(\\{40efedc0-8e48-404a-a779-f4016b25c0e6\\})|(\\{53d605ce-599b-4352-8a06-5e594b3d1822\\})|(\\{3697c1e8-27d7-4c63-a27e-ac16191a1545\\})|(\\{170503FA-3349-4F17-BC86-001888A5C8E2\\})|(\\{649558df-9461-4824-ad18-f2d4d4845ac8\\})|(\\{27875553-afd5-4365-86dc-019bcd60594c\\})|(\\{27875553-afd5-4365-86dc-019bcd60594c\\})|(\\{6e7624fa-7f70-4417-93db-1ec29c023275\\})|(\\{b1aea1f1-6bed-41ef-9679-1dfbd7b2554f\\})|(\\{b9acc029-d62b-4d23-b921-8e7aea34266a\\})|(\\{b9b59e13-4ac5-4eff-8dbe-c345b7619b3c\\})|(\\{b0186d2d-3126-4537-9186-a6f198547901\\})|(\\{b3e8fde8-6d97-4ac3-95e0-57b797f4c56b\\})|(\\{e6a9a96e-4a08-4719-b9bd-0e91c35aaabc\\})|(\\{e69a36e6-ee12-4fe6-87ca-66b77fc0ffbf\\})|(\\{ee3601f1-78ab-48bf-89ae-0cfe4aed1f2e\\})|(\\{f4ce48b3-ad14-4900-86cb-4604474c5b08\\})|(\\{f5c1262d-b1e8-44a4-b820-a834f0f6d605\\}))$","prefs":[],"schema":1531762485603,"details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1476020","why":"Add-ons repeatedly violated several of review policies.","name":"Several youtube downloading add-ons and others"},"enabled":true,"versionRange":[{"severity":1,"maxVersion":"*","minVersion":"0"}],"id":"ae8ae617-590d-430b-86d4-16364372b67f","last_modified":1531762863373},{"guid":"{46551EC9-40F0-4e47-8E18-8E5CF550CFB8}","prefs":[],"schema":1530711142817,"blockID":"i1900","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1472948","why":"This add-on violates data practices outlined in the review policy.","name":"Stylish"},"enabled":true,"versionRange":[{"severity":1,"maxVersion":"3.1.1","minVersion":"3.0.0"}],"id":"c635229f-7aa0-44c5-914f-80c590949071","last_modified":1530716488758},{"guid":"/^(contactus@unzipper.com|{72dcff4e-48ce-41d8-a807-823adadbe0c9}|{dc7d2ecc-9cc3-40d7-93ed-ef6f3219bd6f}|{994db3d3-ccfe-449a-81e4-f95e2da76843}|{25aef460-43d5-4bd0-aa3d-0a46a41400e6}|{178e750c-ae27-4868-a229-04951dac57f7})$/","prefs":[],"schema":1528400492025,"details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1460331","why":"Add-ons change search settings against our policies, affecting core Firefox features. Add-on is also reportedly installed without user consent.","name":"SearchWeb"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0"}],"id":"5afea853-d029-43f3-a387-64ce9980742a","last_modified":1528408770328},{"guid":"{38363d75-6591-4e8b-bf01-0270623d1b6c}","prefs":[],"schema":1526326889114,"details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1461625","why":"This add-on contains abusive functionality.","name":"Photobucket Hotlink Fix"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0"}],"id":"0f0764d5-a290-428b-a5b2-3767e1d72c71","last_modified":1526381862851},{"guid":"@vkmad","prefs":[],"schema":1526154098016,"details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1461410","why":"This add-on includes malicious functionality.","name":"VK Universal Downloader (malware)"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0"}],"id":"cbfa5303-c1bf-49c8-87d8-259738a20064","last_modified":1526322954850},{"guid":"/^(({41c14ab8-9958-44bf-b74e-af54c1f169a6})|({78054cb2-e3e8-4070-a8ad-3fd69c8e4707})|({0089b179-8f3d-44d9-bb18-582843b0757a})|({f44ddcb4-4cc0-4866-92fa-eefda60c6720})|({1893d673-7953-4870-8069-baac49ce3335})|({fb28cac0-c2aa-4e0c-a614-cf3641196237})|({d7dee150-da14-45ba-afca-02c7a79ad805})|(RandomNameTest@RandomNameTest\\.com )|(corpsearchengine@mail\\.ru)|(support@work\\.org))$/","prefs":[],"schema":1525377099963,"details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1458330","why":"These are malicious add-ons that inject remote scripts and use deceptive names.","name":"\"Table\" add-ons"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0"}],"id":"3a123214-b4b6-410c-a061-bbaf0d168d31","last_modified":1525377135149},{"guid":"/((@extcorp\\.[a-z]+)|(@brcorporation\\.com)|(@brmodcorp\\.com)|(@teset\\.com)|(@modext\\.tech)|(@ext?mod\\.net)|(@browcorporation\\.org)|(@omegacorporation\\.org)|(@browmodule\\.com)|(@corpext\\.net)|({6b50ddac-f5e0-4d9e-945b-e4165bfea5d6})|({fab6484f-b8a7-4ba9-a041-0f948518b80c})|({b797035a-7f29-4ff5-bd19-77f1b5e464b1})|({0f612416-5c5a-4ec8-b482-eb546af9cac4}))$/","prefs":[],"schema":1525290095999,"details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1458330","why":"These are malicious add-ons that inject remote scripts and use deceptive names.","name":"\"Table\" add-ons"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0"}],"id":"3ab9f100-e253-4080-b3e5-652f842ddb7a","last_modified":1525377099954},{"guid":"/^({b99ae7b1-aabb-4674-ba8f-14ed32d04e76})|({dfa77d38-f67b-4c41-80d5-96470d804d09})$/","prefs":[],"schema":1524146566650,"details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1455291","why":"These add-ons claim to be the flash plugin.","name":"Flash Plugin (Malware)"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0"}],"id":"96b137e6-8cb5-44d6-9a34-4a4a76fb5e38","last_modified":1524147337556},{"guid":"/^({6ecb9f49-90f0-43a1-8f8a-e809ea4f732b})|(@googledashboard)|(@smashdashboard)|(@smash_tv)|(@smash_mov)|(@smashmovs)|(@smashtvs)|(@FirefoxUpdate)|({92b9e511-ac81-4d47-9b8f-f92dc872447e})|({3c841114-da8c-44ea-8303-78264edfe60b})|({116a0754-20eb-4fe5-bd35-575867a0b89e})|({6e6ff0fd-4ae4-49ae-ac0c-e2527e12359b})|({f992ac88-79d3-4960-870e-92c342ed3491})|({6ecb9f49-90f0-43a1-8f8a-e809ea4f732b})|({a512297e-4d3a-468c-bd1a-f77bd093f925})|({08c28c16-9fb6-4b32-9868-db37c1668f94})|({b4ab1a1d-e137-4c59-94d5-4f509358a81d})|({feedf4f8-08c1-451f-a717-f08233a64ec9})$/","prefs":[],"schema":1524139371832,"details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1454691","why":"This malware prevents itself from getting uninstalled ","name":"Malware"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0"}],"id":"feb2d0d7-1b76-4dba-bf84-42873a92af5f","last_modified":1524141477640},{"guid":"{872f20ea-196e-4d11-8835-1cc4c877b1b8}","prefs":[],"schema":1523734896380,"details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1454413","why":"Extension claims to be Flash Player","name":"Flash Player (malware)"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0"}],"id":"1e5f5cb2-346c-422a-9aaa-29d8760949d2","last_modified":1523897202689},{"guid":"/(__TEMPLATE__APPLICATION__@ruta-mapa\\.com)|(application-3@findizer\\.fr)|(application2@allo-pages\\.fr)|(application2@bilan-imc\\.fr)|(application2@lettres\\.net)|(application2@search-maps-finder\\.com)|(application-imcpeso@imc-peso\\.com)|(application-meuimc@meu-imc\\.com)|(application-us2@factorlove)|(application-us@misterdirections)|(application-us@yummmi\\.es)|(application@amiouze\\.fr)|(application@astrolignes\\.com)|(application@blotyn\\.com)|(application@bmi-result\\.com)|(application@bmi-tw\\.com)|(application@calcolo-bmi\\.com)|(application@cartes-itineraires\\.com)|(application@convertisseur\\.pro)|(application@de-findizer\\.fr)|(application@de-super-rezepte\\.com)|(application@dermabeauty\\.fr)|(application@dev\\.squel\\.v2)|(application@eu-my-drivingdirections\\.com)|(application@fr-allo-pages\\.fr)|(application@fr-catizz\\.com)|(application@fr-mr-traduction\\.com)|(application@good-recettes\\.com)|(application@horaires\\.voyage)|(application@imc-calcular\\.com)|(application@imc-peso\\.com)|(application@it-mio-percorso\\.com)|(application@iti-maps\\.fr)|(application@itineraire\\.info)|(application@lbc-search\\.com)|(application@les-pages\\.com)|(application@lovincalculator\\.com)|(application@lovintest\\.com)|(application@masowe\\.com)|(application@matchs\\.direct)|(application@mein-bmi\\.com)|(application@mes-resultats\\.com)|(application@mestaf\\.com)|(application@meu-imc\\.com)|(application@mon-calcul-imc\\.fr)|(application@mon-juste-poids\\.com)|(application@mon-trajet\\.com)|(application@my-drivingdirections\\.com)|(application@people-show\\.com)|(application@plans-reduc\\.fr)|(application@point-meteo\\.fr)|(application@poulixo\\.com)|(application@quipage\\.fr)|(application@quizdeamor\\.com)|(application@quizdoamor\\.com)|(application@quotient-retraite\\.fr)|(application@recettes\\.net)|(application@routenplaner-karten\\.com)|(application@ruta-mapa\\.com)|(application@satellite\\.dev\\.squel\\.v2)|(application@search-bilan-imc\\.fr)|(application@search-maps-finder\\.com)|(application@slimness\\.fr)|(application@start-bmi\\.com)|(application@tests-moi\\.com)|(application@tousmesjeux\\.fr)|(application@toutlannuaire\\.fr)|(application@tuto-diy\\.com)|(application@ubersetzung-app\\.com)|(application@uk-cookyummy\\.com)|(application@uk-howlogin\\.me)|(application@uk-myloap\\.com)|(application@voyagevoyage\\.co)|(application@wikimot\\.fr)|(application@www\\.plans-reduc\\.fr)|(application@yummmi\\.es)|(application@yummmies\\.be)|(application@yummmies\\.ch)|(application@yummmies\\.fr)|(application@yummmies\\.lu)|(application@zikplay\\.fr)|(applicationY@search-maps-finder\\.com)|(cmesapps@findizer\\.fr)|(findizer-shopping@jetpack)|(\\{8aaebb36-1488-4022-b7ec-29b790d12c17\\})/","prefs":[],"schema":1523216496621,"details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1452648","why":"Those add-ons do not provide a real functionality for users, other than silently tracking browsing behavior.","name":"Tracking Add-ons (harmful)"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0"}],"id":"36f97298-8bef-4372-a548-eb829413bee9","last_modified":1523286321447},{"guid":"adbeaver@adbeaver.org","prefs":[],"schema":1521630548030,"details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1445031","why":"This add-on generates numerous errors when loading Facebook, caused by ad injection included in it. Users who want to continue using this add-on can enable it in the Add-ons Manager.","name":"AdBeaver"},"enabled":true,"versionRange":[{"severity":1,"maxVersion":"*","minVersion":"0"}],"id":"baf7f735-d6b6-410a-8cc8-25c60f7c57e2","last_modified":1522103097333},{"guid":"{44685ba6-68b3-4895-879e-4efa29dfb578}","prefs":[],"schema":1521565140013,"details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1447042","why":"This add-on impersonates a Flash tool and runs remote code on users' systems.","name":"FF Flash Manager"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0"}],"id":"547037f2-97ae-435a-863c-efd7532668cd","last_modified":1521630548023},{"guid":"/^.*extension.*@asdf\\.pl$/","prefs":[],"schema":1520451695869,"details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1444037","why":"These add-ons are using deceptive names and taking over Facebook accounts to post spam content.","name":"Facebook spammers"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0"}],"id":"3d55fab0-ec1a-4bca-84c9-3b74f5d01509","last_modified":1520527480321},{"guid":"/^(addon@fasterweb\\.com|\\{5f398d3f-25db-47f5-b422-aa2364ff6c0b\\}|addon@fasterp\\.com|addon@calculator)$/","prefs":[],"schema":1520338910918,"details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1443478","why":"These are malicious add-ons that use deceptive names and run remote scripts.","name":"FasterWeb add-ons"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0"}],"id":"f58729ec-f93c-41d9-870d-dd9c9fd811b6","last_modified":1520358450708},{"guid":"{42baa93e-0cff-4289-b79e-6ae88df668c4}","prefs":[],"schema":1520336325565,"details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1443196","why":"The add-on claims to be \"Adobe Shockwave Flash Player\"","name":"Adobe Shockwave Flash Player (malware)"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0"}],"id":"0cd723fe-d33d-43a0-b84f-7a3cad253212","last_modified":1520338780397},{"guid":"/{0c9970a2-6874-483b-a486-2296cfe251c2}|{01c9a4a4-06dd-426b-9500-2ea6fe841b88}|{1c981c7c-30e0-4ed2-955d-6b370e0a9d19}|{2aa275f8-fabc-4766-95b2-ecfc73db310b}|{2cac0be1-10a2-4a0d-b8c5-787837ea5955}|{2eb66f6c-94b3-44f5-9de2-22371236ec99}|{2f8aade6-8717-4277-b8b1-55172d364903}|{3c27c34f-8775-491a-a1c9-fcb15beb26d3}|{3f4dea3e-dbfc-428f-a88b-36908c459e20}|{3f4191fa-8f16-47d2-9414-36bfc9e0c2bf}|{4c140bc5-c2ad-41c3-a407-749473530904}|{05a21129-af2a-464c-809f-f2df4addf209}|{5da81d3d-5db1-432a-affc-4a2fe9a70749}|{5f4e63e4-351f-4a21-a8e5-e50dc72b5566}|{7c1df23b-1fd8-42b9-8752-71fff2b979de}|{7d5e24a1-7bef-4d09-a952-b9519ec00d20}|{7d932012-b4dd-42cc-8a78-b15ca82d0e61}|{7f8bc48d-1c7c-41a0-8534-54adc079338f}|{8a61507d-dc2f-4507-a9b7-7e33b8cbc31b}|{09c8fa16-4eec-4f78-b19d-9b24b1b57e1e}|{9ce2a636-0e49-4b8e-ad17-d0c156c963b0}|{11df9391-dba5-4fe2-bd48-37a9182b796d}|{23c65153-c21e-430a-a2dc-0793410a870d}|{36a4269e-4eef-4538-baea-9dafbf6a8e2f}|{37f8e483-c782-40ed-82e9-36f101b9e41f}|{63df223d-51cf-4f76-aad8-bbc94c895ed2}|{72c1ca96-c05d-46a7-bce1-c507ec3db4ea}|{76ce213c-8e57-4a14-b60a-67a5519bd7a7}|{79db6c96-d65a-4a64-a892-3d26bd02d2d9}|{81ac42f3-3d17-4cff-85af-8b7f89c8826b}|{83d38ac3-121b-4f28-bf9c-1220bd3c643b}|{86d98522-5d42-41d5-83c2-fc57f260a3d9}|{0111c475-01e6-42ea-a9b4-27bed9eb6092}|{214cb48a-ce31-4e48-82cf-a55061f1b766}|{216e0bcc-8a23-4069-8b63-d9528b437258}|{226b0fe6-f80f-48f1-9d8d-0b7a1a04e537}|{302ef84b-2feb-460e-85ca-f5397a77aa6a}|{408a506b-2336-4671-a490-83a1094b4097}|{419be4e9-c981-478e-baa0-937cf1eea1e8}|{0432b92a-bfcf-41b9-b5f0-df9629feece1}|{449e185a-dd91-4f7b-a23a-bbf6c1ca9435}|{591d1b73-5eae-47f4-a41f-8081d58d49bf}|{869b5825-e344-4375-839b-085d3c09ab9f}|{919fed43-3961-48d9-b0ef-893054f4f6f1}|{01166e60-d740-440c-b640-6bf964504b3c}|{2134e327-8060-441c-ba68-b167b82ff5bc}|{02328ee7-a82b-4983-a5f7-d0fc353698f0}|{6072a2a8-f1bc-4c9c-b836-7ac53e3f51e4}|{28044ca8-8e90-435e-bc63-a757af2fb6be}|{28092fa3-9c52-4a41-996d-c43e249c5f08}|{31680d42-c80d-4f8a-86d3-cd4930620369}|{92111c8d-0850-4606-904a-783d273a2059}|{446122cd-cd92-4d0c-9426-4ee0d28f6dca}|{829827cd-03be-4fed-af96-dd5997806fb4}|{4479446e-40f3-48af-ab85-7e3bb4468227}|{9263519f-ca57-4178-b743-2553a40a4bf1}|{71639610-9cc3-47e0-86ed-d5b99eaa41d5}|{84406197-6d37-437c-8d82-ae624b857355}|{93017064-dfd4-425e-a700-353f332ede37}|{a0ab16af-3384-4dbe-8722-476ce3947873}|{a0c54bd8-7817-4a40-b657-6dc7d59bd961}|{a2de96bc-e77f-4805-92c0-95c9a2023c6a}|{a3fbc8be-dac2-4971-b76a-908464cfa0e0}|{a42e5d48-6175-49e3-9e40-0188cde9c5c6}|{a893296e-5f54-43f9-a849-f12dcdee2c98}|{ac296b47-7c03-486f-a1d6-c48b24419749}|{b26bf964-7aa6-44f4-a2a9-d55af4b4eec0}|{be981b5e-1d9d-40dc-bd4f-47a7a027611c}|{be37931c-af60-4337-8708-63889f36445d}|{bfd92dfd-b293-4828-90c1-66af2ac688e6}|{c5cf4d08-0a33-4aa3-a40d-d4911bcc1da7}|{c488a8f5-ea3d-408d-809e-44e82c06ad9d}|{c661c2dc-00f9-4dc1-a9f6-bb2b7e1a4f8d}|{cd28aa38-d2f1-45a3-96c3-6cfd4702ef51}|{cd89045b-2e06-46bb-9e34-48e8799e5ef2}|{cf9d96ff-5997-439a-b32b-98214c621eee}|{d14acee6-f32b-4aa3-a802-6616003fc6a8}|{d97223b8-44e5-46c7-8ab5-e1d8986daf44}|{ddae89bd-6793-45d8-8ec9-7f4fb7212378}|{de3b1909-d4da-45e9-8da5-7d36a30e2fc6}|{df09f268-3c92-49db-8c31-6a25a6643896}|{e5bc3951-c837-4c98-9643-3c113fc8cf5e}|{e9ccb1f2-a8ba-4346-b43b-0d5582bce414}|{e341ed12-a703-47fe-b8dd-5948c38070e4}|{e2139287-2b0d-4f54-b3b1-c9a06c597223}|{ed352072-ddf0-4cb4-9cb6-d8aa3741c2de}|{f0b809eb-be22-432f-b26f-b1cadd1755b9}|{f1bce8e4-9936-495b-bf48-52850c7250ab}|{f01c3add-dc6d-4f35-a498-6b4279aa2ffa}|{f9e1ad25-5961-4cc5-8d66-5496c438a125}|{f4262989-6de0-4604-918f-663b85fad605}|{fc0d55bd-3c50-4139-9409-7df7c1114a9d}/","prefs":[],"schema":1519766961483,"details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1439702","why":"This malicious add-on claims to be a Firefox \"helper\" or \"updater\" or similar.","name":"FF updater (malware)"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0"}],"id":"48b14881-5f6b-4e48-afc5-3d9a7fae26a3","last_modified":1519826648080},{"guid":"{44e4b2cf-77ba-4f76-aca7-f3fcbc2dda2f} ","prefs":[],"schema":1519414957616,"details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1440821","why":"This is a malicious add-on that uses a deceptive name and runs remote code.","name":"AntiVirus for Firefox"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0"}],"id":"2447476f-043b-4d0b-9d3c-8e859c97d950","last_modified":1519429178266},{"guid":"{f3c31b34-862c-4bc8-a98f-910cc6314a86}","prefs":[],"schema":1519242096699,"details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1440736","why":"This is a malicious add-on that is masked as an official Adobe Updater and runs malicious code.","name":"Adobe Updater (malware)"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0"}],"id":"adfd98ef-cebc-406b-b1e0-61bd4c71e4b1","last_modified":1519409417397},{"guid":"/^(\\{fd0c36fa-6a29-4246-810b-0bb4800019cb\\}|\\{b9c1e5bf-6585-4766-93fc-26313ac59999\\}|\\{3de25fff-25e8-40e9-9ad9-fdb3b38bb2f4\\})$/","prefs":[],"schema":1519069296530,"details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1439432","why":"These are malicious add-ons that are masked as an official Adobe Updater and run malicious code.","name":"Adobe Updater"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0"}],"id":"4e28ba5c-af62-4e53-a7a1-d33334571cf8","last_modified":1519078890592},{"guid":"/^(\\{01c9a4a4-06dd-426b-9500-2ea6fe841b88\\}|{5e024309-042c-4b9d-a634-5d92cf9c7514\\}|{f4262989-6de0-4604-918f-663b85fad605\\}|{e341ed12-a703-47fe-b8dd-5948c38070e4\\}|{cd89045b-2e06-46bb-9e34-48e8799e5ef2\\}|{ac296b47-7c03-486f-a1d6-c48b24419749\\}|{5da81d3d-5db1-432a-affc-4a2fe9a70749\\}|{df09f268-3c92-49db-8c31-6a25a6643896\\}|{81ac42f3-3d17-4cff-85af-8b7f89c8826b\\}|{09c8fa16-4eec-4f78-b19d-9b24b1b57e1e\\}|{71639610-9cc3-47e0-86ed-d5b99eaa41d5\\}|{83d38ac3-121b-4f28-bf9c-1220bd3c643b\\}|{7f8bc48d-1c7c-41a0-8534-54adc079338f\\})$/","prefs":[],"schema":1518550894975,"details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1438028","why":"These are malicious add-ons that inject remote scripts into popular websites.","name":"Page Marker add-ons"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0"}],"id":"cc5848e8-23d5-4655-b45c-dc239839b74e","last_modified":1518640450735},{"guid":"/^(https|youtube)@vietbacsecurity\\.com$/","prefs":[],"schema":1517909997354,"details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1435974","why":"These add-ons contain malicious functionality, violating the users privacy and security.","name":"HTTPS and Youtube downloader (Malware)"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0"}],"id":"646e2384-f894-41bf-b7fc-8879e0095109","last_modified":1517910100624},{"guid":"{ed352072-ddf0-4cb4-9cb6-d8aa3741c2de}","prefs":[],"schema":1517514097126,"details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1434893","why":"This is a malicious add-on that injects remote scripts into popular pages while pretending to do something else.","name":"Image previewer"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0"}],"id":"2104a522-bb2f-4b04-ad0d-b0c571644552","last_modified":1517577111194},{"guid":"/^(\\{0b24cf69-02b8-407d-83db-e7af04fc1f3e\\})|(\\{6feed48d-41d4-49b8-b7d6-ef78cc7a7cd7\\})| (\\{8a0699a0-09c3-4cf1-b38d-fec25441650c\\})$/","prefs":[],"schema":1517341295286,"details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1434759","why":"These add-ons use remote scripts to alter popular sites like Google or Amazon.","name":"Malicious remote script add-ons"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0"}],"id":"32ffc62d-40c4-43ac-aa3f-7240978d0ad0","last_modified":1517439279474},{"guid":"/^({be5d0c88-571b-4d01-a27a-cc2d2b75868c})|({3908d078-e1db-40bf-9567-5845aa77b833})|({5b620343-cd69-49b8-a7ba-f9d499ee5d3d})|({6eee2d17-f932-4a43-a254-9e2223be8f32})|({e05ba06a-6d6a-4c51-b8fc-60b461ffecaf})|({a5808da1-5b4f-42f2-b030-161fd11a36f7})|({d355bee9-07f0-47d3-8de6-59b8eecba57b})|({a1f8e136-bce5-4fd3-9ed1-f260703a5582})$/","prefs":[],"schema":1517260691761,"details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1431748","why":"These are malicious add-ons that automatically close the Add-ons Manager.\n","name":"FF Tool"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0"}],"id":"70f37cc7-9f8a-4d0f-a881-f0c56934fa75","last_modified":1517260722621},{"guid":"/^({d78d27f4-9716-4f13-a8b6-842c455d6a46})|({bd5ba448-b096-4bd0-9582-eb7a5c9c0948})|({0b24cf69-02b8-407d-83db-e7af04fc1f3e})|({e08d85c5-4c0f-4ce3-9194-760187ce93ba})|({1c7d6d9e-325a-4260-8213-82d51277fc31})|({8a0699a0-09c3-4cf1-b38d-fec25441650c})|({1e68848a-2bb7-425c-81a2-524ab93763eb})$/","prefs":[],"schema":1517168490224,"details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1431748","why":"These are malicious add-ons that automatically close the Add-ons Manager.","name":"FF Tool"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0"}],"id":"805ee80e-0929-4c92-93ed-062b98053f28","last_modified":1517260691755},{"guid":"/^({abec23c3-478f-4a5b-8a38-68ccd500ec42}|{a83c1cbb-7a41-41e7-a2ae-58efcb4dc2e4}|{62237447-e365-487e-8fc3-64ddf37bdaed}|{b12cfdc7-3c69-43cb-a3fb-38981b68a087}|{1a927d5b-42e7-4407-828a-fdc441d0daae}|{dd1cb0ec-be2a-432b-9c90-d64c824ac371}|{82c8ced2-e08c-4d6c-a12b-3e8227d7fc2a}|{87c552f9-7dbb-421b-8deb-571d4a2d7a21})$/","prefs":[],"schema":1516828883529,"details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1431748","why":"These are malicious add-ons that automatically close the Add-ons Manager.","name":"FF Tool"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0"}],"id":"c92f2a05-73eb-454e-9583-f6d2382d8bca","last_modified":1516829074251},{"guid":"/^({618baeb9-e694-4c7b-9328-69f35b6a8839}|{b91fcda4-88b0-4a10-9015-9365e5340563}|{04150f98-2d7c-4ae2-8979-f5baa198a577}|{4b1050c6-9139-4126-9331-30a836e75db9}|{1e6f5a54-2c4f-4597-aa9e-3e278c617d38}|{e73854da-9503-423b-ab27-fafea2fbf443}|{a2427e23-d349-4b25-b5b8-46960b218079}|{f92c1155-97b3-40f4-9d5b-7efa897524bb}|{c8e14311-4b2d-4eb0-9a6b-062c6912f50e}|{45621564-b408-4c29-8515-4cf1f26e4bc3}|{27380afd-f42a-4c25-b57d-b9012e0d5d48})$/","prefs":[],"schema":1516828883529,"details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1431748","why":"These are malicious add-ons that automatically close the Add-ons Manager.","name":"FF Tool"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0"}],"id":"2d4fe65b-6c02-4461-baa8-dda52e688cf6","last_modified":1516829040469},{"guid":"/^({4dac7c77-e117-4cae-a9f0-6bd89e9e26ab}|{cc689da4-203f-4a0c-a7a6-a00a5abe74c5}|{0eb4672d-58a6-4230-b74c-50ca3716c4b0}|{06a71249-ef35-4f61-b2c8-85c3c6ee5617}|{5280684d-f769-43c9-8eaa-fb04f7de9199}|{c2341a34-a3a0-4234-90cf-74df1db0aa49}|{85e31e7e-3e3a-42d3-9b7b-0a2ff1818b33}|{b5a35d05-fa28-41b5-ae22-db1665f93f6b}|{1bd8ba17-b3ed-412e-88db-35bc4d8771d7}|{a18087bb-4980-4349-898c-ca1b7a0e59cd}|{488e190b-d1f6-4de8-bffb-0c90cc805b62})$/","prefs":[],"schema":1516828883529,"details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1431748","why":"These are malicious add-ons that automatically close the Add-ons Manager.","name":"FF Tool"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0"}],"id":"9a3fd797-0ab8-4286-9a1b-2b6c97f9075b","last_modified":1516829006347},{"guid":"/^({f6df4ef7-14bd-43b5-90c9-7bd02943789c}|{ccb7b5d6-a567-40a2-9686-a097a8b583dd}|{9b8df895-fcdd-452a-8c46-da5be345b5bc}|{5cf77367-b141-4ba4-ac2a-5b2ca3728e81}|{ada56fe6-f6df-4517-9ed0-b301686a34cc}|{95c7ae97-c87e-4827-a2b7-7b9934d7d642}|{e7b978ae-ffc2-4998-a99d-0f4e2f24da82}|{115a8321-4414-4f4c-aee6-9f812121b446}|{bf153de7-cdf2-4554-af46-29dabfb2aa2d}|{179710ba-0561-4551-8e8d-1809422cb09f}|{9d592fd5-e655-461a-9b28-9eba85d4c97f})$/","prefs":[],"schema":1516828883529,"details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1431748","why":"These are malicious add-ons that automatically close the Add-ons Manager.","name":"FF Tool"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0"}],"id":"aae78cd5-6b26-472e-ab2d-db4105911250","last_modified":1516828973824},{"guid":"/^({30972e0a-f613-4c46-8c87-2e59878e7180}|{0599211f-6314-4bf9-854b-84cb18da97f8}|{4414af84-1e1f-449b-ac85-b79f812eb69b}|{2a8bec00-0ab0-4b4d-bd3d-4f59eada8fd8}|{bea8866f-01f8-49e9-92cd-61e96c05d288}|{046258c9-75c5-429d-8d5b-386cfbadc39d}|{c5d359ff-ae01-4f67-a4f7-bf234b5afd6e}|{fdc0601f-1fbb-40a5-84e1-8bbe96b22502}|{85349ea6-2b5d-496a-9379-d4be82c2c13d}|{640c40e5-a881-4d16-a4d0-6aa788399dd2}|{d42328e1-9749-46ba-b35c-cce85ddd4ace})$/","prefs":[],"schema":1516828883529,"details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1431748","why":"These are malicious add-ons that automatically close the Add-ons Manager.","name":"FF Tool"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0"}],"id":"750aa293-3742-46b5-8761-51536afecaef","last_modified":1516828938683},{"guid":"/^({d03b6b0f-4d44-4666-a6d6-f16ad9483593}|{767d394a-aa77-40c9-9365-c1916b4a2f84}|{a0ce2605-b5fc-4265-aa65-863354e85058}|{b7f366fa-6c66-46bf-8df2-797c5e52859f}|{4ad16913-e5cb-4292-974c-d557ef5ec5bb}|{3c3ef2a3-0440-4e77-9e3c-1ca8d48f895c}|{543f7503-3620-4f41-8f9e-c258fdff07e9}|{98363f8b-d070-47b6-acc6-65b80acac4f3}|{5af74f5a-652b-4b83-a2a9-f3d21c3c0010}|{484e0ba4-a20b-4404-bb1b-b93473782ae0}|{b99847d6-c932-4b52-9650-af83c9dae649})$/","prefs":[],"schema":1516828883529,"details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1431748","why":"These are malicious add-ons that automatically close the Add-ons Manager.","name":"FF Tool"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0"}],"id":"a29aed6f-6546-4fa2-8131-df5c9a5427af","last_modified":1516828911059},{"guid":"/^({2bb68b03-b528-4133-9fc4-4980fbb4e449}|{231e58ac-0f3c-460b-bb08-0e589360bec7}|{a506c5af-0f95-4107-86f8-3de05e2794c9}|{8886a262-1c25-490b-b797-2e750dd9f36b}|{65072bef-041f-492e-8a51-acca2aaeac70}|{6fa41039-572b-44a4-acd4-01fdaebf608d}|{87ba49bd-daba-4071-aedf-4f32a7e63dbe}|{95d58338-ba6a-40c8-93fd-05a34731dc0e}|{4cbef3f0-4205-4165-8871-2844f9737602}|{1855d130-4893-4c79-b4aa-cbdf6fee86d3}|{87dcb9bf-3a3e-4b93-9c85-ba750a55831a})$/","prefs":[],"schema":1516822896448,"details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1431748","why":"These are malicious add-ons that automatically close the Add-ons Manager.","name":"FF Tool"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0"}],"id":"5c092b0d-7205-43a1-aa75-b7a42372fb52","last_modified":1516828883523},{"guid":"/^({fce89242-66d3-4946-9ed0-e66078f172fc})|({0c4df994-4f4a-4646-ae5d-8936be8a4188})|({6cee30bc-a27c-43ea-ac72-302862db62b2})|({e08ebf0b-431d-4ed1-88bb-02e5db8b9443})$/","prefs":[],"schema":1516650096284,"details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1432560","why":"These are malicious add-ons that make it hard for the user to be removed.","name":"FF AntiVir Monitoring"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0"}],"id":"9dfeee42-e6a8-49e0-8979-0648f7368239","last_modified":1516744119329},{"guid":"/^(\\{1490068c-d8b7-4bd2-9621-a648942b312c\\})|(\\{d47ebc8a-c1ea-4a42-9ca3-f723fff034bd\\})|(\\{83d6f65c-7fc0-47d0-9864-a488bfcaa376\\})|(\\{e804fa4c-08e0-4dae-a237-8680074eba07\\})|(\\{ea618d26-780e-4f0f-91fd-2a6911064204\\})|(\\{ce93dcc7-f911-4098-8238-7f023dcdfd0d\\})|(\\{7eaf96aa-d4e7-41b0-9f12-775c2ac7f7c0\\})|(\\{b019c485-2a48-4f5b-be13-a7af94bc1a3e\\})|(\\{9b8a3057-8bf4-4a9e-b94b-867e4e71a50c\\})|(\\{eb3ebb14-6ced-4f60-9800-85c3de3680a4\\})|(\\{01f409a5-d617-47be-a574-d54325fe05d1\\})$/","prefs":[],"schema":1516394914836,"details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1431748","why":"These are a set of malicious add-ons that block the add-ons manager tab from opening so they can't be uninstalled.","name":"FF Tool"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0"}],"id":"5bf72f70-a611-4845-af3f-d4dabe8862b6","last_modified":1516394982586},{"guid":"/^(\\{ac06c6b2-3fd6-45ee-9237-6235aa347215\\})|(\\{d461cc1b-8a36-4ff0-b330-1824c148f326\\})|(\\{d1ab5ebd-9505-481d-a6cd-6b9db8d65977\\})|(\\{07953f60-447e-4f53-a5ef-ed060487f616\\})|(\\{2d3c5a5a-8e6f-4762-8aff-b24953fe1cc9\\})|(\\{f82b3ad5-e590-4286-891f-05adf5028d2f\\})|(\\{f96245ad-3bb0-46c5-8ca9-2917d69aa6ca\\})|(\\{2f53e091-4b16-4b60-9cae-69d0c55b2e78\\})|(\\{18868c3a-a209-41a6-855d-f99f782d1606\\})|(\\{47352fbf-80d9-4b70-9398-fb7bffa3da53\\})$/","prefs":[],"schema":1516311993443,"details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1431748","why":"These are a set of malicious add-ons that block the add-ons manager tab from opening so they can't be uninstalled.","name":"FF Tool"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0"}],"id":"4ca8206f-bc2a-4428-9439-7f3142dc08db","last_modified":1516394914828},{"guid":"{5b0f6d3c-10fd-414c-a135-dffd26d7de0f}","prefs":[],"schema":1516131689499,"details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1430577","why":"This is a malicious add-on that executes remote scripts, redirects popular search URLs and tracks users.","name":"P Birthday"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0"}],"id":"8088b39a-3e6d-4a17-a22f-3f95c0464bd6","last_modified":1516303320468},{"guid":"{1490068c-d8b7-4bd2-9621-a648942b312c}","prefs":[],"schema":1515267698296,"details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1428754","why":"This add-on is using a deceptive name and performing unwanted actions on users' systems.","name":"FF Safe Helper"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0"}],"id":"674b6e19-f087-4706-a91d-1e723ed6f79e","last_modified":1515433728497},{"guid":"{dfa727cb-0246-4c5a-843a-e4a8592cc7b9}","prefs":[],"schema":1514922095288,"details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1426582","why":"Version 2.0.0 shipped with a hidden coin miner, which degrades performance in users who have it enabled. Version 1.2.3 currently available on AMO is not affected.","name":"Open With Adobe PDF Reader 2.0.0"},"enabled":true,"versionRange":[{"severity":1,"maxVersion":"2.0.0","minVersion":"2.0.0"}],"id":"455772a3-8360-4f5a-9a5f-a45b904d0b51","last_modified":1515007270887},{"guid":"{d03b6b0f-4d44-4666-a6d6-f16ad9483593}","prefs":[],"schema":1513366896461,"details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1425581","why":"This is a malicious add-on posing as a legitimate update.","name":"FF Guard Tool (malware)"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0"}],"id":"10d9ce89-b8d4-4b53-b3d7-ecd192681f4e","last_modified":1513376470395},{"guid":"{7e907a15-0a4c-4ff4-b64f-5eeb8f841349}","prefs":[],"schema":1510083698490,"details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1411885","why":"This is a malicious add-on posing as a legitimate update.","name":"Manual Update"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0"}],"id":"f7569261-f575-4719-8202-552b20d013b0","last_modified":1510168860382},{"guid":"{3602008d-8195-4860-965a-d01ac4f9ca96}","prefs":[],"schema":1509120801051,"details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1411885","why":"This is a malicious add-on posing as a legitimate antivirus.\n","name":"Manual Antivirus"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0"}],"id":"28c805a9-e692-4ef8-b3ae-14e085c19ecd","last_modified":1509120934909},{"guid":"{87010166-e3d0-4db5-a394-0517917201df}","prefs":[],"schema":1509120801051,"details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1411885","why":"This is a malicious add-on posing as a legitimate antivirus.\n","name":"Manual Antivirus"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0"}],"id":"84dd8a02-c879-4477-8ea7-bf2f225b0940","last_modified":1509120881470},{"guid":"{8ab60777-e899-475d-9a4f-5f2ee02c7ea4}","prefs":[],"schema":1509120801051,"details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1411885","why":"This is a malicious add-on posing as a legitimate antivirus.\n","name":"Manual Antivirus"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0"}],"id":"ccebab59-7190-4258-8faa-a0b752dd5301","last_modified":1509120831329},{"guid":"{368eb817-31b4-4be9-a761-b67598faf9fa}","prefs":[],"schema":1509046897080,"details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1411885","why":"This is a malicious add-on posing as a legitimate antivirus.","name":"Manual Antivirus"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0"}],"id":"9abc7502-bd6f-40d7-b035-abe721345360","last_modified":1509120801043},{"guid":"fi@dictionaries.addons.mozilla.org","prefs":[],"schema":1508701297180,"details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1407147","why":"This add-on is causing frequent crashes in Firefox 56.","name":"Finnish spellchecker"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"2.1.0","minVersion":"0","targetApplication":[{"guid":"{ec8030f7-c20a-464f-9b0e-13a3a9e97384}","maxVersion":"*","minVersion":"56.0a1"}]}],"id":"22431713-a93b-40f4-8264-0b341b5f6454","last_modified":1508856488536},{"guid":"firefox@mega.co.nz","prefs":[],"schema":1506800496781,"details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1404290","why":"Add-on is causing tabs to load blank.","name":"Mega.nz"},"enabled":true,"versionRange":[{"severity":1,"maxVersion":"3.16.1","minVersion":"0","targetApplication":[{"guid":"{ec8030f7-c20a-464f-9b0e-13a3a9e97384}","maxVersion":"*","minVersion":"56.0a1"}]}],"id":"a84e6eba-4bc1-4416-b481-9b837d39f9f0","last_modified":1506963401477},{"guid":"@68eba425-7a05-4d62-82b1-1d6d5a51716b","prefs":[],"schema":1505072496256,"details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1398905","why":"Misleads users into thinking this is a security and privacy tool (also distributed on a site that makes it look like an official Mozilla product).","name":"SearchAssist Incognito"},"enabled":true,"versionRange":[{"severity":1,"maxVersion":"*","minVersion":"0"}],"id":"595e0e53-b76b-4188-a160-66f29c636094","last_modified":1505211411253},{"guid":"{efda3854-2bd9-45a1-9766-49d7ff18931d}","prefs":[],"schema":1503344500341,"details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1392625","why":"Add-on injects remote code into privileged scope.","name":"Smart Referer"},"enabled":true,"versionRange":[{"severity":1,"maxVersion":"0.8.17.2","minVersion":"0"}],"id":"d83011de-67a4-479b-a778-916a7232095b","last_modified":1503411102265},{"guid":"@H99KV4DO-UCCF-9PFO-9ZLK-8RRP4FVOKD9O","prefs":[],"schema":1502483549048,"details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1340877","why":"This is a malicious add-on that is being installed silently.","name":"FF Adr (malware)"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0"}],"id":"5df16afc-c804-43c9-9de5-f1835403e5fb","last_modified":1502483601731},{"guid":"@DA3566E2-F709-11E5-8E87-A604BC8E7F8B","prefs":[],"schema":1502480491460,"details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1340877","why":"This is a malicious add-on that is being installed silently into users' systems.","name":"SimilarWeb (malware)"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0"}],"id":"0a47a2f7-f07c-489b-bd39-88122a2dfe6a","last_modified":1502483549043},{"guid":"xdict@www.iciba.com","prefs":[],"schema":1501098091500,"details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1384497","why":"This add-on has been discontinued and is creating a prompt loop that blocks users from using Firefox.","name":"PowerWord Grab Word Extension"},"enabled":true,"versionRange":[{"severity":1,"maxVersion":"2.3.1","minVersion":"0"}],"id":"28736359-700e-4b61-9c50-0b533a6bac55","last_modified":1501187580933},{"guid":"{3B4DE07A-DE43-4DBC-873F-05835FF67DCE}","prefs":[],"schema":1496950889322,"details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1371392","why":"This add-on performs hidden actions that cause the users' systems to act as a botnet.","name":"The Safe Surfing (malware)"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0"}],"id":"510bbd9b-b883-4837-90ab-8e353e27e1be","last_modified":1496951442076},{"guid":"WebProtection@360safe.com","prefs":[],"schema":1496846005095,"details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1336635","who":"All users of Firefox 52 and above who have this add-on installed.","why":"This add-on breaks the Firefox user interface starting with version 52.","name":"360 Internet Protection versions 5.0.0.1009 and lower"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"5.0.0.1009","minVersion":"0"}],"id":"e16408c3-4e08-47fd-85a9-3cbbce534e95","last_modified":1496849965060},{"guid":"html5@encoding","prefs":[],"schema":1496788543767,"details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1370847","who":"All users.","why":"This malicious add-on targets a certain user group and spies on them.","name":"HTML5 Encoding (Malicious), all versions"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0"}],"id":"c806b01c-3352-4083-afd9-9a8ab6e00b19","last_modified":1496833261424},{"guid":"/^({95E84BD3-3604-4AAC-B2CA-D9AC3E55B64B}|{E3605470-291B-44EB-8648-745EE356599A}|{95E5E0AD-65F9-4FFC-A2A2-0008DCF6ED25}|{FF20459C-DA6E-41A7-80BC-8F4FEFD9C575}|{6E727987-C8EA-44DA-8749-310C0FBE3C3E}|{12E8A6C2-B125-479F-AB3C-13B8757C7F04}|{EB6628CF-0675-4DAE-95CE-EFFA23169743})$/","prefs":[],"schema":1494022576295,"details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1362585","why":"All of these add-ons have been identified as malware, and are being installed in Firefox globally, most likely via a malicious application installer.","name":"Malicious globally-installed add-ons"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0"}],"id":"3fd71895-7fc6-4f3f-aa22-1cbb0c5fd922","last_modified":1494024191520},{"guid":"@safesearchscoutee","prefs":[],"schema":1494013289942,"details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1362553","why":"This add-on intercepts queries sent to search engines and replaces them with its own, without user consent.","name":"SafeSearch Incognito (malware)"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0"}],"id":"edad04eb-ea16-42f3-a4a7-20dded33cc37","last_modified":1494022568654},{"guid":"{0D2172E4-C5AE-465A-B80D-53A840275B5E}","prefs":[],"schema":1493332768943,"details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1359473","who":"All users of Thunderbird 52 and above, using a version of the Priority Switcher add-on before version 0.7","why":"This add-on is causing recurring startup crashes in Thunderbird.","name":"Priority Switcher for Thunderbird before version 0.7"},"enabled":true,"versionRange":[{"severity":1,"maxVersion":"0.6.999","minVersion":"0","targetApplication":[{"guid":"{3550f703-e582-4d05-9a08-453d09bdfdc6}","maxVersion":"*","minVersion":"52.0a1"}]}],"id":"8c8af415-46db-40be-a66e-38e3762493bd","last_modified":1493332986987},{"guid":"msktbird@mcafee.com","prefs":[],"schema":1493150718059,"details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1354912","why":"These versions of this add-on are known to cause frequent crashes in Thunderbird.","name":"McAfee Anti-Spam Thunderbird Extension 2.0 and lower"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"2.0","minVersion":"0","targetApplication":[{"guid":"{3550f703-e582-4d05-9a08-453d09bdfdc6}","maxVersion":"*","minVersion":"0"}]}],"id":"9e86d1ff-727a-45e3-9fb6-17f32666daf2","last_modified":1493332747360},{"guid":"/^(\\{11112503-5e91-4299-bf4b-f8c07811aa50\\})|(\\{501815af-725e-45be-b0f2-8f36f5617afc\\})$/","prefs":[],"schema":1491421290217,"details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1354045","why":"This add-on steals user credentials for popular websites from Facebook.","name":"Flash Player Updater (Malware)"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"c142360c-4f93-467e-9717-b638aa085d95","last_modified":1491472107658},{"guid":"fr@fbt.ovh","prefs":[],"schema":1490898754477,"details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1351689","why":"Scam add-on that silently steals user credentials of popular websites","name":"Adobe Flash Player (Malware)"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"0f8344d0-8211-49a1-81be-c0084b3da9b1","last_modified":1490898787752},{"guid":"/^\\{(9321F452-96D5-11E6-BC3E-3769C7AD2208)|({18ED1ECA-96D3-11E6-A373-BD66C7AD2208})\\}$/","prefs":[],"schema":1490872899765,"details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1351710","why":"These add-ons modify websites and add deceptive or abusive content","name":"Scamming add-ons (Malware)"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"d6425f24-8c9e-4c0a-89b4-6890fc68d5c9","last_modified":1490898748265},{"guid":"/^(test2@test\\.com)|(test3@test\\.com)|(mozilla_cc2\\.2@internetdownloadmanager\\.com)$/","prefs":[],"schema":1490557289817,"details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1351095","who":"All users who have any of these add-ons installed.","why":"Old versions of the Internet Download Manager Integration add-on cause performance and stability problems in Firefox 53 and above.","name":"IDM Integration forks"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0","targetApplication":[{"guid":"{ec8030f7-c20a-464f-9b0e-13a3a9e97384}","maxVersion":"*","minVersion":"53.0a1"}]}],"id":"9085fdba-8498-46a9-b9fd-4c7343a15c62","last_modified":1490653926191},{"guid":"mozilla_cc2@internetdownloadmanager.com","prefs":[],"schema":1489007018796,"details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1338832","who":"All users who have these versions of the add-on installed.","why":"Old versions of the Internet Download Manager Integration add-on cause performance and stability problems in Firefox 53 and above.","name":"IDM Integration"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"6.26.11","minVersion":"0","targetApplication":[{"guid":"{ec8030f7-c20a-464f-9b0e-13a3a9e97384}","maxVersion":"*","minVersion":"53.0a1"}]}],"id":"d33f6d48-a555-49dd-96ff-8d75473403a8","last_modified":1489514734167},{"guid":"InternetProtection@360safe.com","prefs":[],"schema":1489006712382,"details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1336635","who":"All Firefox users who have this add-on installed.","why":"This add-on breaks the Firefox user interface starting with version 52.","name":"360 Internet Protection"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"5.0.0.1002","minVersion":"0","targetApplication":[{"guid":"{ec8030f7-c20a-464f-9b0e-13a3a9e97384}","maxVersion":"*","minVersion":"52.0a1"}]}],"id":"89a61123-79a2-45d1-aec2-97afca0863eb","last_modified":1489006816246},{"guid":"{95E84BD3-3604-4AAC-B2CA-D9AC3E55B64B}","prefs":[],"schema":1487179851382,"details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1338690","who":"All users who have this add-on installed.","why":"This is a malicious add-on that is silently installed in users' systems.","name":"youtube adblock (malware)"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"04b25e3d-a725-493e-be07-cbd74fb37ea7","last_modified":1487288975999},{"guid":"ext@alibonus.com","prefs":[],"schema":1485297431051,"blockID":"i1524","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1333471","who":"All Firefox users who have these versions installed.","why":"Versions 1.20.9 and lower of this add-on contain critical security issues.","name":"Alibonus 1.20.9 and lower","created":"2017-01-24T22:45:39Z"},"enabled":true,"versionRange":[{"severity":1,"maxVersion":"1.20.9","minVersion":"0","targetApplication":[]}],"id":"a015d5a4-9184-95db-0c74-9262af2332fa","last_modified":1485301116629},{"guid":"{a0d7ccb3-214d-498b-b4aa-0e8fda9a7bf7}","prefs":[],"schema":1485295513652,"blockID":"i1523","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1314332","who":"All Firefox users who have these versions of the Web of Trust add-on installed.","why":"Versions 20170120 and lower of the Web of Trust add-on send excessive user data to its service, which has been reportedly shared with third parties without sufficient sanitization. These versions are also affected by a vulnerability that could lead to unwanted remote code execution.","name":"Web of Trust 20170120 and lower","created":"2017-01-24T22:01:08Z"},"enabled":true,"versionRange":[{"severity":1,"maxVersion":"20170120","minVersion":"0","targetApplication":[]}],"id":"2224c139-9b98-0900-61c1-04031de11ad3","last_modified":1485297214072},{"guid":"/^(ciscowebexstart1@cisco\\.com|ciscowebexstart_test@cisco\\.com|ciscowebexstart@cisco\\.com|ciscowebexgpc@cisco\\.com)$/","prefs":[],"schema":1485212610474,"blockID":"i1522","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1333225","who":"All Firefox users who have any Cisco WebEx add-ons installed.","why":"A critical security vulnerability has been discovered in Cisco WebEx add-ons that enable malicious websites to execute code on the user's system.","name":"Cisco WebEx add-ons","created":"2017-01-23T22:55:58Z"},"enabled":true,"versionRange":[{"severity":1,"maxVersion":"1.0.1","minVersion":"1.0.0","targetApplication":[]}],"id":"30368779-1d3b-490a-0a34-253085af7754","last_modified":1485215014902},{"guid":"{de71f09a-3342-48c5-95c1-4b0f17567554}","prefs":[],"schema":1484335370642,"blockID":"i1493","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1329654","who":"All users who have this add-on installed.","why":"This is a malicious add-on that is installed using a fake name. It changes search and homepage settings.","name":"Search for Firefox Convertor (malware)","created":"2017-01-12T22:17:59Z"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"1.3.9","minVersion":"0","targetApplication":[]}],"id":"d6ec9f54-9945-088e-ba68-40117eaba24e","last_modified":1484867614757},{"guid":"googlotim@gmail.com","prefs":[],"schema":1483389810787,"blockID":"i1492","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1328594","who":"All users who have Savogram version 1.3.2 installed. Version 1.3.1 doesn't have this problem and can be installed from the add-on page. Note that this is an older version, so affected users won't be automatically updated to it. New versions should correct this problem if they become available.","why":"Version 1.3.2 of this add-on loads remote code and performs DOM injection in an unsafe manner.","name":"Savogram 1.3.2","created":"2017-01-05T19:58:39Z"},"enabled":true,"versionRange":[{"severity":1,"maxVersion":"1.3.2","minVersion":"1.3.2","targetApplication":[]}],"id":"0756ed76-7bc7-ec1e-aba5-3a9fac2107ba","last_modified":1483646608603},{"guid":"support@update-firefox.com","prefs":[],"schema":1483387107003,"blockID":"i21","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=629717","who":"All users of the add-on in all Mozilla applications.","why":"This add-on is adware/spyware masquerading as a Firefox update mechanism.","name":"Browser Update (spyware)","created":"2011-01-31T16:23:48Z"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"dfb06be8-3594-28e4-d163-17e27119f15d","last_modified":1483389809169},{"guid":"{2224e955-00e9-4613-a844-ce69fccaae91}","prefs":[],"schema":1483387107003,"blockID":"i7","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=512406","who":"All users of Internet Saving Optimizer for all Mozilla applications.","why":"This add-on causes a high volume of Firefox crashes and is considered malware.","name":"Internet Saving Optimizer (extension)","created":"2011-03-31T16:28:25Z"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"b9efb796-97c2-6434-d28f-acc83436f8e5","last_modified":1483389809147},{"guid":"supportaccessplugin@gmail.com","prefs":[],"schema":1483387107003,"blockID":"i43","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=693673","who":"All users with Firefox Access Plugin installed","why":"This add-on is spyware that reports all visited websites to a third party with no user value.","name":"Firefox Access Plugin (spyware)","created":"2011-10-11T11:24:05Z"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"1ed230a4-e174-262a-55ab-0c33f93a2529","last_modified":1483389809124},{"guid":"{8CE11043-9A15-4207-A565-0C94C42D590D}","prefs":[],"schema":1483387107003,"blockID":"i10","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=541302","who":"All users of this add-on in all Mozilla applications.","why":"This add-on secretly hijacks all search results in most major search engines and masks as a security add-on.","name":"Internal security options editor (malware)","created":"2011-03-31T16:28:25Z"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"e2e0ac09-6d68-75f5-2424-140f51904876","last_modified":1483389809102},{"guid":"youtube@youtube2.com","prefs":[],"schema":1483387107003,"blockID":"i47","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=713050","who":"All users with any version of Free Cheesecake Factory installed on any Mozilla product.","why":"This add-on hijacks your Facebook account.","name":"Free Cheesecake Factory (malware)","created":"2011-12-22T13:11:36Z"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"85f5c1db-433b-bee3-2a3b-325165cacc6e","last_modified":1483389809079},{"guid":"admin@youtubespeedup.com","prefs":[],"schema":1483387107003,"blockID":"i48","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=714221","who":"All users with any version of Youtube Speed UP! installed on any Mozilla product.","why":"This add-on hijacks your Facebook account.","name":"Youtube Speed UP! (malware)","created":"2011-12-29T19:48:06Z"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"a93922c4-8a8a-5230-8f76-76fecb0653b6","last_modified":1483389809057},{"guid":"{E8E88AB0-7182-11DF-904E-6045E0D72085}","prefs":[],"schema":1483387107003,"blockID":"i13","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=578085","who":"All users of this add-on for all Mozilla applications.","why":"This add-on intercepts website login credentials and is malware. For more information, please read our security announcement.","name":"Mozilla Sniffer (malware)","created":"2011-03-31T16:28:25Z"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"ebbd6de9-fc8a-3e5b-2a07-232bee589c7c","last_modified":1483389809035},{"guid":"sigma@labs.mozilla","prefs":[],"schema":1483387107003,"blockID":"i44","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=690819","who":"All users of Lab Kit in all versions of Firefox.","why":"The Lab Kit add-on has been retired due to compatibility issues with Firefox 7 and future Firefox browser releases. You can still install Mozilla Labs add-ons individually.\r\n\r\nFor more information, please read this announcement.","name":"Mozilla Labs: Lab Kit","created":"2011-10-11T11:51:34Z"},"enabled":true,"versionRange":[{"severity":1,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"d614e9cd-220f-3a19-287b-57e122f8c4b5","last_modified":1483389809012},{"guid":"/^(jid0-S9kkzfTvEmC985BVmf8ZOzA5nLM@jetpack|jid1-qps14pkDB6UDvA@jetpack|jid1-Tsr09YnAqIWL0Q@jetpack|shole@ats.ext|{38a64ef0-7181-11e3-981f-0800200c9a66}|eochoa@ualberta.ca)$/","prefs":[],"schema":1483376308298,"blockID":"i1424","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1325060","who":"All users who have any of the affected versions installed.","why":"A security vulnerability was discovered in old versions of the Add-ons SDK, which is exposed by certain old versions of add-ons. In the case of some add-ons that haven't been updated for a long time, all versions are being blocked.","name":"Various vulnerable add-on versions","created":"2016-12-21T17:22:12Z"},"enabled":true,"versionRange":[{"severity":1,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"0699488d-2a19-6735-809e-f229849fe00b","last_modified":1483378113482},{"guid":"pink@rosaplugin.info","prefs":[],"schema":1482945809444,"blockID":"i84","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=743484","who":"All Firefox users who have this add-on installed","why":"Add-on acts like malware and performs user actions on Facebook without their consent.","name":"Facebook Rosa (malware)","created":"2012-04-09T10:13:51Z"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"66ad8de9-311d-076c-7356-87fde6d30d8f","last_modified":1482945810971},{"guid":"videoplugin@player.com","prefs":[],"schema":1482945809444,"blockID":"i90","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=752483","who":"All Firefox users who have installed this add-on.","why":"This add-on is malware disguised as a Flash Player update. It can hijack Google searches and Facebook accounts.","name":"FlashPlayer 11 (malware)","created":"2012-05-07T08:58:30Z"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"d25943f1-39ef-b9ec-ab77-baeef3498365","last_modified":1482945810949},{"guid":"youtb3@youtb3.com","prefs":[],"schema":1482945809444,"blockID":"i60","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=723753","who":"All Firefox users who have this extension installed.","why":"Malicious extension installed under false pretenses.","name":"Video extension (malware)","created":"2012-02-02T16:38:41Z"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"cae3093f-a7b3-5352-a264-01dbfbf347ce","last_modified":1482945810927},{"guid":"{8f42fb8b-b6f6-45de-81c0-d6d39f54f971}","prefs":[],"schema":1482945809444,"blockID":"i82","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=743012","who":"All Firefox users who have installed this add-on.","why":"This add-on maliciously manipulates Facebook and is installed under false pretenses.","name":"Face Plus (malware)","created":"2012-04-09T10:04:28Z"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"09319ab3-55e7-fec1-44e0-84067d014b9b","last_modified":1482945810904},{"guid":"cloudmask@cloudmask.com","prefs":[],"schema":1482945809444,"blockID":"i1233","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1280431","who":"Any user who has version 2.0.788, or earlier, installed.","why":"These versions of the add-on (before 2.0.788) execute code from a website in a privileged local browser context, potentially allowing dangerous, unreviewed, actions to affect the user's computer. This is fixed in later versions.","name":"CloudMask","created":"2016-06-17T14:31:57Z"},"enabled":true,"versionRange":[{"severity":1,"maxVersion":"2.0.788","minVersion":"0","targetApplication":[]}],"id":"2a8b40c7-a1d2-29f4-b7d7-ccfc5066bae1","last_modified":1482945810881},{"guid":"{95ff02bc-ffc6-45f0-a5c8-619b8226a9de}","prefs":[],"schema":1482945809444,"blockID":"i105","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=763065","who":"All Firefox users who have this add-on installed.","why":"This is a malicious add-on that inserts scripts into Facebook and hijacks the user's session.\r\n","name":"Eklenti D\u00fcnyas\u0131 (malware)","created":"2012-06-08T14:34:25Z"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"afbbc08d-2414-f51e-fdb8-74c0a2d90323","last_modified":1482945810858},{"guid":"{fa277cfc-1d75-4949-a1f9-4ac8e41b2dfd}","prefs":[],"schema":1482945809444,"blockID":"i77","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=738419","who":"All Firefox users who have installed this add-on.","why":"This add-on is malware that is installed under false pretenses as an Adobe plugin.","name":"Adobe Flash (malware)","created":"2012-03-22T14:39:08Z"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"81753a93-382d-5f9d-a4ca-8a21b679ebb1","last_modified":1482945810835},{"guid":"youtube@youtube3.com","prefs":[],"schema":1482945809444,"blockID":"i57","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=722823","who":"All Firefox users that have installed this add-on.","why":"Malware installed on false pretenses.","name":"Divx 2012 Plugin (malware)","created":"2012-01-31T13:54:20Z"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"4a93a0eb-a513-7272-6199-bc4d6228ff50","last_modified":1482945810811},{"guid":"{392e123b-b691-4a5e-b52f-c4c1027e749c}","prefs":[],"schema":1482945809444,"blockID":"i109","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=769781","who":"All Firefox users who have this add-on installed.","why":"This add-on pretends to be developed by Facebook and injects scripts that manipulate users' Facebook accounts.","name":"Zaman Tuneline Hay\u0131r! (malware)","created":"2012-06-29T13:20:22Z"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"b9a805aa-cae7-58d6-5a53-2af4442e4cf6","last_modified":1482945810788},{"guid":"msntoolbar@msn.com","prefs":[],"schema":1482945809444,"blockID":"i18","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=599971","who":"Users of Bing Bar 6.0 and older for all versions of Firefox.","why":"This add-on has security issues and was blocked at Microsoft's request. For more information, please see this article.","name":"Bing Bar","created":"2011-03-31T16:28:25Z"},"enabled":true,"versionRange":[{"severity":1,"maxVersion":"6.*","minVersion":" 0","targetApplication":[]}],"id":"9b2f2039-b997-8993-d6dc-d881bc1ca7a1","last_modified":1482945810764},{"guid":"yasd@youasdr3.com","prefs":[],"schema":1482945809444,"blockID":"i104","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=763065","who":"All Firefox users who have this add-on installed.","why":"This is a malicious add-on that inserts scripts into Facebook and hijacks the user's session.\r\n","name":"Play Now (malware)","created":"2012-06-08T14:33:31Z"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"8a352dff-d09d-1e78-7feb-45dec7ace5a5","last_modified":1482945810740},{"guid":"fdm_ffext@freedownloadmanager.org","prefs":[],"schema":1482945809444,"blockID":"i2","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=408445","who":"Users of Firefox 3 and later with versions 1.0 through 1.3.1 of Free Download Manager","why":"This add-on causes a high volume of crashes.","name":"Free Download Manager","created":"2011-03-31T16:28:25Z"},"enabled":true,"versionRange":[{"severity":1,"maxVersion":"1.3.1","minVersion":"1.0","targetApplication":[{"guid":"{ec8030f7-c20a-464f-9b0e-13a3a9e97384}","maxVersion":"*","minVersion":"3.0a1"}]}],"id":"fc46f8e7-0489-b90f-a373-d93109479ca5","last_modified":1482945810393},{"guid":"flash@adobe.com","prefs":[],"schema":1482945809444,"blockID":"i56","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=722526","who":"All Firefox users who have this add-on installed.","why":"This add-on poses as an Adobe Flash update and injects malicious scripts into web pages. It hides itself in the Add-ons Manager.","name":"Adobe Flash Update (malware)","created":"2012-01-30T15:41:51Z"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"696db959-fb0b-8aa4-928e-65f157cdd77a","last_modified":1482945810371},{"guid":"youtubeer@youtuber.com","prefs":[],"schema":1482945809444,"blockID":"i66","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=726787","who":"All Firefox users who have installed this add-on.","why":"Add-on behaves maliciously, and is installed under false pretenses.","name":"Plug VDS (malware)","created":"2012-02-13T15:44:20Z"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"0878ce4e-b476-ffa3-0e06-21a65b7917a1","last_modified":1482945810348},{"guid":"{B13721C7-F507-4982-B2E5-502A71474FED}","prefs":[],"schema":1482945809444,"blockID":"i8","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=627278","who":"Users of all versions of the original Skype Toolbar in all versions of Firefox.","why":"This add-on causes a high volume of Firefox crashes and introduces severe performance issues. Please update to the latest version. For more information, please read our announcement.","name":"Original Skype Toolbar","created":"2011-03-31T16:28:25Z"},"enabled":true,"versionRange":[{"severity":1,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"5a320611-59a3-0eee-bb30-9052be870e00","last_modified":1482945810326},{"guid":"yslow@yahoo-inc.com","prefs":[],"schema":1482945809444,"blockID":"i11","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=542686","who":"Users of YSlow version 2.0.5 for Firefox 3.5.7 and later.","why":"This add-on causes a high volume of Firefox crashes and other stability issues. Users should update to the latest version.","name":"YSlow","created":"2011-03-31T16:28:25Z"},"enabled":true,"versionRange":[{"severity":1,"maxVersion":"2.0.5","minVersion":"2.0.5","targetApplication":[{"guid":"{ec8030f7-c20a-464f-9b0e-13a3a9e97384}","maxVersion":"*","minVersion":"3.5.7"}]}],"id":"a9b34e8f-45ce-9217-b791-98e094c26352","last_modified":1482945810303},{"guid":"youtube@youtuber.com","prefs":[],"schema":1482945809444,"blockID":"i63","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=724691","who":"All Firefox users who have installed this add-on.","why":"Installs under false pretenses and delivers malware.","name":"Mozilla Essentials (malware)","created":"2012-02-06T15:39:38Z"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"18216e6f-9d70-816f-4d4c-63861f43ff3c","last_modified":1482945810281},{"guid":"flash@adobee.com","prefs":[],"schema":1482945809444,"blockID":"i83","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=743497","who":"All Firefox users who have this add-on installed.","why":"This add-on is malware installed under false pretenses.","name":"FlashPlayer 11 (malware)","created":"2012-04-09T10:08:22Z"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"09bb4661-331c-f7ba-865b-9e085dc437af","last_modified":1482945810259},{"guid":"youtube@2youtube.com","prefs":[],"schema":1482945809444,"blockID":"i71","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=730399","who":"All Firefox users who have installed this add-on.","why":"Extension is malware, installed under false pretenses.","name":"YouTube extension (malware)","created":"2012-02-27T10:23:23Z"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"5d389c1f-b3a0-b06f-6ffb-d1e8aa055e3c","last_modified":1482945810236},{"guid":"webmaster@buzzzzvideos.info","prefs":[],"schema":1482945809444,"blockID":"i58","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=722844","who":"All Firefox users who have installed this add-on.","why":"Malware add-on that is installed under false pretenses.","name":"Buzz Video (malware)","created":"2012-01-31T14:51:06Z"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"f7aab105-e2c2-42f5-d9be-280eb9c0c8f7","last_modified":1482945810213},{"guid":"play5@vide04flash.com","prefs":[],"schema":1482945809444,"blockID":"i92","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=755443","who":"All Firefox users who have this add-on installed.","why":"This add-on impersonates a Flash Player update (poorly), and inserts malicious scripts into Facebook.","name":"Lastest Flash PLayer (malware)","created":"2012-05-15T13:27:22Z"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"7190860e-fc1f-cd9f-5d25-778e1e9043b2","last_modified":1482945810191},{"guid":"support3_en@adobe122.com","prefs":[],"schema":1482945809444,"blockID":"i97","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=759164","who":"All Firefox users who have installed this add-on.","why":"This add-on is malware disguised as the Flash Player plugin.","name":"FlashPlayer 11 (malware)","created":"2012-05-28T13:42:54Z"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"decf93a1-2bb0-148c-a1a6-10b3757b554b","last_modified":1482945810168},{"guid":"a1g0a9g219d@a1.com","prefs":[],"schema":1482945809444,"blockID":"i73","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=736275","who":"All Firefox users who have installed this add-on.","why":"This add-on is malware disguised as Flash Player. It steals user cookies and sends them to a remote location.","name":"Flash Player (malware)","created":"2012-03-15T15:03:04Z"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"6dd66b43-897d-874a-2227-54e240b8520f","last_modified":1482945810146},{"guid":"ghostviewer@youtube2.com","prefs":[],"schema":1482945809444,"blockID":"i59","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=723683","who":"All Firefox users who have installed this add-on.","why":"Malicious add-on that automatically posts to Facebook.","name":"Ghost Viewer (malware)","created":"2012-02-02T16:32:15Z"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"06dfe833-8c3d-90ee-3aa8-37c3c28f7c56","last_modified":1482945810123},{"guid":"{46551EC9-40F0-4e47-8E18-8E5CF550CFB8}","prefs":[],"schema":1482945809444,"blockID":"i19","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=621660","who":"Users of Stylish version 1.1b1 for Firefox.","why":"Version 1.1b1 of this add-on causes compatibility issues with Firefox. Users should update to the latest version.","name":"Stylish","created":"2011-03-31T16:28:25Z"},"enabled":true,"versionRange":[{"severity":1,"maxVersion":"1.1b1","minVersion":"1.1b1","targetApplication":[]}],"id":"aaea37e1-ff86-4565-8bd5-55a6bf942791","last_modified":1482945810101},{"guid":"kdrgun@gmail.com","prefs":[],"schema":1482945809444,"blockID":"i103","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=763065","who":"All Firefox users who have this add-on installed.","why":"This is a malicious add-on that inserts scripts into Facebook and hijacks the user's session.","name":"Timeline Kapat (malware)","created":"2012-06-08T14:32:51Z"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"a9a46ab2-2f56-1046-201c-5faa3435e248","last_modified":1482945810078},{"guid":"youtube2@youtube2.com","prefs":[],"schema":1482945809444,"blockID":"i67","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=728476","who":"All Firefox users who have installed this add-on.","why":"This add-on is malware, installed under false pretenses.","name":"Youtube Online (malware)","created":"2012-02-18T09:10:30Z"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"14650ece-295b-a667-f9bc-a3d973e2228c","last_modified":1482945810055},{"guid":"masterfiler@gmail.com","prefs":[],"schema":1482945809444,"blockID":"i12","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=542081","who":"All users of this add-on for all Mozilla applications.","why":"This add-on is malware and attempts to install a Trojan on the user's computer.","name":"Master File (malware)","created":"2010-02-05T15:01:27Z"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"a256d79d-5af8-92e9-a29d-350adf822efe","last_modified":1482945810032},{"guid":"{847b3a00-7ab1-11d4-8f02-006008948af5}","prefs":[],"schema":1482945809444,"blockID":"i9","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=531047","who":"Users of Enigmail versions older than 0.97a for Thunderbird 3 and later.","why":"This add-on causes a high volume of crashes and other stability issues. Users should update Enigmail.","name":"Enigmail","created":"2011-03-31T16:28:25Z"},"enabled":true,"versionRange":[{"severity":1,"maxVersion":"0.97a","minVersion":"0","targetApplication":[{"guid":"{3550f703-e582-4d05-9a08-453d09bdfdc6}","maxVersion":"*","minVersion":"3.0pre"}]}],"id":"115f46b6-059d-202a-4373-2ca79b096347","last_modified":1482945810003},{"guid":"mozilla_cc@internetdownloadmanager.com","prefs":[],"schema":1482945809444,"blockID":"i14","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=578443","who":"Users of Firefox 4 and later with Internet Download Manager version 6.9.8 and older.","why":"This add-on causes a high volume of crashes and has other stability issues.","name":"Internet Download Manager","created":"2011-03-31T16:28:25Z"},"enabled":true,"versionRange":[{"severity":1,"maxVersion":"6.9.8","minVersion":"0","targetApplication":[{"guid":"{ec8030f7-c20a-464f-9b0e-13a3a9e97384}","maxVersion":"*","minVersion":"3.7a1pre"}]}],"id":"773ffcfb-75d1-081d-7431-ebe3fa5dbb44","last_modified":1482945809979},{"guid":"admin@youtubeplayer.com","prefs":[],"schema":1482945809444,"blockID":"i51","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=717165","who":"All Firefox users with this extension installed.","why":"This add-on is malware, doing nothing more than inserting advertisements into websites through iframes.","name":"Youtube player (malware)","created":"2012-01-18T14:34:55Z"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"16b2ce94-88db-0d79-33fc-a93070ceb509","last_modified":1482945809957},{"guid":"personas@christopher.beard","prefs":[],"schema":1482945809444,"blockID":"i15","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=590978","who":"All users of Personas Plus 1.6 in all versions of Firefox.","why":"This version of Personas Plus is incompatible with certain Firefox functionality and other add-ons. Users should upgrade to the latest version.","name":"Personas Plus","created":"2011-03-31T16:28:25Z"},"enabled":true,"versionRange":[{"severity":1,"maxVersion":"1.6","minVersion":"1.6","targetApplication":[{"guid":"{ec8030f7-c20a-464f-9b0e-13a3a9e97384}","maxVersion":"3.6.*","minVersion":"3.6"}]}],"id":"e36479c6-ca00-48d4-4fd9-ec677fd032da","last_modified":1482945809934},{"guid":"youtubeee@youtuber3.com","prefs":[],"schema":1482945809444,"blockID":"i96","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=758503","who":"All Firefox users who have installed this add-on.","why":"This is a malicious add-on that is disguised as a DivX plugin.","name":"Divx 2012 Plugins (malware)","created":"2012-05-25T09:26:47Z"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"f01be9cb-5cf2-774a-a4d7-e210a24db5b9","last_modified":1482945809912},{"guid":"{3252b9ae-c69a-4eaf-9502-dc9c1f6c009e}","prefs":[],"schema":1482945809444,"blockID":"i17","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=599971","who":"Users of version 2.2 of this add-on in all versions of Firefox.","why":"This add-on has security issues and was blocked at Microsoft's request. For more information, please see this article.","name":"Default Manager (Microsoft)","created":"2011-03-31T16:28:25Z"},"enabled":true,"versionRange":[{"severity":1,"maxVersion":"2.2","minVersion":"2.2","targetApplication":[]}],"id":"38be28ac-2e30-37fa-4332-852a55fafb43","last_modified":1482945809886},{"guid":"{68b8676b-99a5-46d1-b390-22411d8bcd61}","prefs":[],"schema":1482945809444,"blockID":"i93","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=755635","who":"All Firefox users who have this add-on installed.","why":"This is a malicious add-on that post content on Facebook accounts and steals user data.","name":"Zaman T\u00fcnelini Kald\u0131r! (malware)","created":"2012-05-16T10:44:42Z"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"733aff15-9b1f-ec04-288f-b78a55165a1c","last_modified":1482945809863},{"guid":"applebeegifts@mozilla.doslash.org","prefs":[],"schema":1482945809444,"blockID":"i54","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=721562","who":"All Firefox users that install this add-on.","why":"Add-on is malware installed under false pretenses.","name":"Applebees Gift Card (malware)","created":"2012-01-26T16:17:49Z"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"1372c8ab-5452-745a-461a-aa78e3e12c4b","last_modified":1482945809840},{"guid":"activity@facebook.com","prefs":[],"schema":1482945112982,"blockID":"i65","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=726803","who":"All Firefox users who have installed this add-on.","why":"Add-on behaves maliciously and poses as an official Facebook add-on.","name":"Facebook extension (malware)","created":"2012-02-13T15:41:02Z"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"79ad1c9b-0828-7823-4574-dd1cdd46c3d6","last_modified":1482945809437},{"guid":"jid0-EcdqvFOgWLKHNJPuqAnawlykCGZ@jetpack","prefs":[],"schema":1482945112982,"blockID":"i62","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=724650","who":"All Firefox users who have installed this add-on.","why":"Add-on is installed under false pretenses and delivers malware.","name":"YouTube extension (malware)","created":"2012-02-06T14:46:33Z"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"5ae1e642-b53c-54c0-19e7-5562cfdac3a3","last_modified":1482945809415},{"guid":"{B7082FAA-CB62-4872-9106-E42DD88EDE45}","prefs":[],"schema":1482945112982,"blockID":"i25","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=637542","who":"Users of McAfee SiteAdvisor below version 3.3.1 for Firefox 4.\r\n\r\nUsers of McAfee SiteAdvisor 3.3.1 and below for Firefox 5 and higher.","why":"This add-on causes a high volume of crashes and is incompatible with certain versions of Firefox.","name":"McAfee SiteAdvisor","created":"2011-03-14T15:53:07Z"},"enabled":true,"versionRange":[{"severity":1,"maxVersion":"3.3.0.*","minVersion":"0.1","targetApplication":[{"guid":"{ec8030f7-c20a-464f-9b0e-13a3a9e97384}","maxVersion":"*","minVersion":"3.7a1"}]}],"id":"c950501b-1f08-2ab2-d817-7c664c0d16fe","last_modified":1482945809393},{"guid":"{B7082FAA-CB62-4872-9106-E42DD88EDE45}","prefs":[],"schema":1482945112982,"blockID":"i38","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=660111","who":"Users of McAfee SiteAdvisor below version 3.3.1 for Firefox 4.\r\n\r\nUsers of McAfee SiteAdvisor 3.3.1 and below for Firefox 5 and higher.","why":"This add-on causes a high volume of crashes and is incompatible with certain versions of Firefox.","name":"McAfee SiteAdvisor","created":"2011-05-27T13:55:02Z"},"enabled":true,"versionRange":[{"severity":1,"maxVersion":"*","minVersion":"3.3.1","targetApplication":[{"guid":"{ec8030f7-c20a-464f-9b0e-13a3a9e97384}","maxVersion":"*","minVersion":"5.0a1"}]}],"id":"f11de388-4511-8d06-1414-95d3b2b122c5","last_modified":1482945809371},{"guid":"{3f963a5b-e555-4543-90e2-c3908898db71}","prefs":[],"schema":1482945112982,"blockID":"i6","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=527135","who":"Users of AVG SafeSearch version 8.5 and older for all Mozilla applications.","why":"This add-on causes a high volume of crashes and causes other stability issues.","name":"AVG SafeSearch","created":"2009-06-17T13:12:12Z"},"enabled":true,"versionRange":[{"severity":1,"maxVersion":"8.5","minVersion":"0","targetApplication":[]}],"id":"0d6f7d4c-bf5d-538f-1ded-ea4c6b775617","last_modified":1482945809348},{"guid":"langpack-vi-VN@firefox.mozilla.org","prefs":[],"schema":1482945112982,"blockID":"i3","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=432406","who":"Users of Vietnamese Language Pack version 2.0 for all Mozilla applications.","why":"Corrupted files. For more information, please see this blog post.","name":"Vietnamese Language Pack","created":"2011-03-31T16:28:25Z"},"enabled":true,"versionRange":[{"severity":1,"maxVersion":"2.0","minVersion":"2.0","targetApplication":[]}],"id":"51d4b581-d21c-20a1-6147-b17c3adc7867","last_modified":1482945809326},{"guid":"youtube@youtube7.com","prefs":[],"schema":1482945112982,"blockID":"i55","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=721646","who":"All Firefox users with this add-on installed.","why":"This is malware posing as video software.","name":"Plugin Video (malware)","created":"2012-01-27T09:39:31Z"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"08ceedf5-c7c1-f54f-db0c-02f01f0e319a","last_modified":1482945809304},{"guid":"crossriderapp3924@crossrider.com","prefs":[],"schema":1482945112982,"blockID":"i76","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=738282","who":"All Firefox users who have installed this add-on.","why":"This add-on compromises Facebook privacy and security and spams friends lists without user intervention.","name":"Fblixx (malware)","created":"2012-03-22T10:38:47Z"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"39d0a019-62fb-837b-1f1f-6831e56442b5","last_modified":1482945809279},{"guid":"{45147e67-4020-47e2-8f7a-55464fb535aa}","prefs":[],"schema":1482945112982,"blockID":"i86","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=748993","who":"All Firefox users who have this add-on installed.","why":"This add-on injects scripts into Facebook and performs malicious activity.","name":"Mukemmel Face+","created":"2012-04-25T16:33:21Z"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"960443f9-cf48-0b71-1ff2-b8c34a3411ea","last_modified":1482945809255},{"guid":"{4B3803EA-5230-4DC3-A7FC-33638F3D3542}","prefs":[],"schema":1482945112982,"blockID":"i4","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=441649","who":"Users of Firefox 3 and later with version 1.2 of Crawler Toolbar","why":"This add-on causes a high volume of crashes.","name":"Crawler Toolbar","created":"2008-07-08T10:23:31Z"},"enabled":true,"versionRange":[{"severity":1,"maxVersion":"1.2","minVersion":"1.2","targetApplication":[{"guid":"{ec8030f7-c20a-464f-9b0e-13a3a9e97384}","maxVersion":"*","minVersion":"3.0a1"}]}],"id":"a9818d53-3a6a-8673-04dd-2a16f5644215","last_modified":1482945809232},{"guid":"flashupdate@adobe.com","prefs":[],"schema":1482945112982,"blockID":"i68","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=722526","who":"All Firefox users who have this add-on installed.","why":"Add-on is malware, installed under false pretenses.","name":"Flash Update (malware)","created":"2012-02-21T13:55:10Z"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"1ba5b46e-790d-5af2-9580-a5f1e6e65522","last_modified":1482945809208},{"guid":"plugin@youtubeplayer.com","prefs":[],"schema":1482945112982,"blockID":"i127","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=783356","who":"All users who have this add-on installed.","why":"This add-on tries to pass as a YouTube player and runs malicious scripts on webpages.","name":"Youtube Facebook Player (malware)","created":"2012-08-16T13:03:10Z"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"17a8bece-e2df-a55d-8a72-95faff028b83","last_modified":1482945809185},{"guid":"GifBlock@facebook.com","prefs":[],"schema":1482945112982,"blockID":"i79","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=739482","who":"All Firefox users who have installed this extension.","why":"This extension is malicious and is installed under false pretenses.","name":"Facebook Essentials (malware)","created":"2012-03-27T10:53:33Z"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"728451e8-1273-d887-37e9-5712b1cc3bff","last_modified":1482945809162},{"guid":"ff-ext@youtube","prefs":[],"schema":1482945112982,"blockID":"i52","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=719296","who":"All Firefox users that have this add-on installed.","why":"This add-on poses as a YouTube player while posting spam into Facebook account.","name":"Youtube player (malware)","created":"2012-01-19T08:26:35Z"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"cd2dd72a-dd52-6752-a0cd-a4b312fd0b65","last_modified":1482945809138},{"guid":"ShopperReports@ShopperReports.com","prefs":[],"schema":1482945112982,"blockID":"i22","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=630191","who":"Users of Shopper Reports version 3.1.22.0 in Firefox 4 and later.","why":"This add-on causes a high volume of Firefox crashes.","name":"Shopper Reports","created":"2011-02-09T17:03:39Z"},"enabled":true,"versionRange":[{"severity":1,"maxVersion":"3.1.22.0","minVersion":"3.1.22.0","targetApplication":[]}],"id":"f26b049c-d856-750f-f050-996e6bec7cbb","last_modified":1482945809115},{"guid":"{27182e60-b5f3-411c-b545-b44205977502}","prefs":[],"schema":1482945112982,"blockID":"i16","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=599971","who":"Users of version 1.0 of this add-on in all versions of Firefox.","why":"This add-on has security issues and was blocked at Microsoft's request. For more information, please see this article.","name":"Search Helper Extension (Microsoft)","created":"2011-03-31T16:28:25Z"},"enabled":true,"versionRange":[{"severity":1,"maxVersion":"1.0","minVersion":"1.0","targetApplication":[]}],"id":"2655f230-11f3-fe4c-7c3d-757d37d5f9a5","last_modified":1482945809092},{"guid":"{841468a1-d7f4-4bd3-84e6-bb0f13a06c64}","prefs":[],"schema":1482945112982,"blockID":"i46","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=712369","who":"Users of all versions of Nectar Search Toolbar in Firefox 9.","why":"This add-on causes crashes and other stability issues in Firefox.","name":"Nectar Search Toolbar","created":"2011-12-20T11:38:17Z"},"enabled":true,"versionRange":[{"severity":1,"maxVersion":"*","minVersion":"0.1","targetApplication":[{"guid":"{ec8030f7-c20a-464f-9b0e-13a3a9e97384}","maxVersion":"9.0","minVersion":"9.0a1"}]}],"id":"b660dabd-0dc0-a55c-4b86-416080b345d9","last_modified":1482945809069},{"guid":"support@daemon-tools.cc","prefs":[],"schema":1482945112982,"blockID":"i5","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=459850","who":"Users of Daemon Tools Toolbar version 1.0.0.5 and older for all Mozilla applications.","why":"This add-on causes a high volume of crashes.","name":"Daemon Tools Toolbar","created":"2009-02-13T18:39:01Z"},"enabled":true,"versionRange":[{"severity":1,"maxVersion":"1.0.0.5","minVersion":"0","targetApplication":[]}],"id":"8cabafd3-576a-b487-31c8-ab59e0349a0e","last_modified":1482945809045},{"guid":"{a3a5c777-f583-4fef-9380-ab4add1bc2a8}","prefs":[],"schema":1482945112982,"blockID":"i53","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=719605","who":"All users of Firefox with this add-on installed.","why":"This add-on is being offered as an online movie viewer, when it reality it only inserts scripts and ads into known sites.","name":"Peliculas-FLV (malware)","created":"2012-01-19T15:58:10Z"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"2.0.3","minVersion":"2.0.3","targetApplication":[]}],"id":"07bc0962-60da-087b-c3ab-f2a6ab84d81c","last_modified":1482945809021},{"guid":"royal@facebook.com","prefs":[],"schema":1482945112982,"blockID":"i64","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=725777","who":"All Firefox users who have installed this add-on.","why":"Malicious add-on posing as a Facebook tool.","name":"Facebook ! (malware)","created":"2012-02-09T13:24:23Z"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"dd1d2623-0d15-c93e-8fbd-ba07b0299a44","last_modified":1482945808997},{"guid":"{28bfb930-7620-11e1-b0c4-0800200c9a66}","prefs":[],"schema":1482945112982,"blockID":"i108","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=766852","who":"All Firefox user who have this add-on installed.","why":"This is malware disguised as an Adobe product. It spams Facebook pages.","name":"Aplicativo (malware)","created":"2012-06-21T09:24:11Z"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"908dc4fb-ebc9-cea1-438f-55e4507ba834","last_modified":1482945808973},{"guid":"socialnetworktools@mozilla.doslash.org","prefs":[],"schema":1482945112982,"blockID":"i78","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=739441","who":"All Firefox users who have installed this add-on.","why":"This add-on hijacks the Facebook UI and adds scripts to track users.","name":"Social Network Tools (malware)","created":"2012-03-26T16:46:55Z"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"1064cd25-3b87-64bb-b0a6-2518ad281574","last_modified":1482945808950},{"guid":"youtubeeing@youtuberie.com","prefs":[],"schema":1482945112982,"blockID":"i98","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=759663","who":"All Firefox users who have installed this add-on.","why":"This add-on is malware disguised as a Youtube add-on.","name":"Youtube Video Player (malware)","created":"2012-05-30T09:30:14Z"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"3484f860-56e1-28e8-5a70-cdcd5ab9d6ee","last_modified":1482945808927},{"guid":"{3a12052a-66ef-49db-8c39-e5b0bd5c83fa}","prefs":[],"schema":1482945112982,"blockID":"i101","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=761874","who":"All Firefox users who have installed this add-on.","why":"This add-on is malware disguised as a Facebook timeline remover.","name":"Timeline Remove (malware)","created":"2012-06-05T18:37:42Z"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"b01b321b-6628-7166-bd15-52f21a04d8bd","last_modified":1482945808904},{"guid":"pfzPXmnzQRXX6@2iABkVe.com","prefs":[],"schema":1482945112982,"blockID":"i99","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=759950","who":"All Firefox users who have this add-on installed.","why":"This add-on is malware disguised as a Flash Player update.","name":"Flash Player (malware)","created":"2012-05-30T17:10:18Z"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"29cc4abc-4f52-01f1-eb0b-cad84ba4db13","last_modified":1482945808881},{"guid":"/^(@pluginscribens_firefox|extension@vidscrab.com|firefox@jjj.ee|firefox@shop-reward.de|FxExtPasteNGoHtk@github.lostdj|himanshudotrai@gmail.com|jid0-bigoD0uivzAMmt07zrf3OHqa418@jetpack|jid0-iXbAR01tjT2BsbApyS6XWnjDhy8@jetpack)$/","prefs":[],"schema":1482341309012,"blockID":"i1423","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1325060","who":"All users who have any of the affected versions installed.","why":"A security vulnerability was discovered in old versions of the Add-ons SDK, which is exposed by certain old versions of add-ons. In the case of some add-ons that haven't been updated for a long time, all versions are being blocked.","name":"Various vulnerable add-on versions","created":"2016-12-21T17:21:10Z"},"enabled":true,"versionRange":[{"severity":1,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"a58a2836-e4e7-74b5-c109-fa3d41e9ed56","last_modified":1482343886390},{"guid":"/^(pdftoword@addingapps.com|jid0-EYTXLS0GyfQME5irGbnD4HksnbQ@jetpack|jid1-ZjJ7t75BAcbGCX@jetpack)$/","prefs":[],"schema":1482341309012,"blockID":"i1425","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1325060","who":"All users who have any of the affected versions installed.","why":"A security vulnerability was discovered in old versions of the Add-ons SDK, which is exposed by certain old versions of add-ons. In the case of some add-ons that haven't been updated for a long time, all versions are being blocked.","name":"Various vulnerable add-on versions","created":"2016-12-21T17:23:14Z"},"enabled":true,"versionRange":[{"severity":1,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"150e639f-c832-63d0-a775-59313b2e1bf9","last_modified":1482343886365},{"guid":"{cc8f597b-0765-404e-a575-82aefbd81daf}","prefs":[],"schema":1480349193877,"blockID":"i380","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=866332","who":"All Firefox users who have this add-on installed.","why":"This is a malicious add-on that hijacks Facebook accounts and performs unwanted actions on behalf of the user.","name":"Update My Browser (malware)","created":"2013-06-19T13:03:00Z"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"4950d7aa-c602-15f5-a7a2-d844182d5cbd","last_modified":1480349217152},{"guid":"extension@FastFreeConverter.com","prefs":[],"schema":1480349193877,"blockID":"i470","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=935779","who":"All Firefox users who have this add-on installed.","why":"This add-on is part of a malicious Firefox installer bundle.","name":"Installer bundle (malware)","created":"2013-11-07T15:38:26Z"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"649dd933-debf-69b7-020f-496c2c9f99c8","last_modified":1480349217071},{"guid":"59D317DB041748fdB89B47E6F96058F3@jetpack","prefs":[],"schema":1480349193877,"blockID":"i694","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1053540","who":"All Firefox users who have this add-ons installed. Users who wish to continue using this add-on can enable it in the Add-ons Manager.","why":"This is a suspicious add-on that appears to be installed without user consent, in violation of the Add-on Guidelines.","name":"JsInjectExtension","created":"2014-08-21T13:46:30Z"},"enabled":true,"versionRange":[{"severity":1,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"75692bd4-18e5-a9be-7ec3-9327e159ef68","last_modified":1480349217005},{"guid":"/^({bfec236d-e122-4102-864f-f5f19d897f5e}|{3f842035-47f4-4f10-846b-6199b07f09b8}|{92ed4bbd-83f2-4c70-bb4e-f8d3716143fe})$/","prefs":[],"schema":1480349193877,"blockID":"i527","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=949566","who":"All Firefox users who have this add-on installed. Users who wish to continue using it can enable it in the Add-ons Manager.","why":"The installer that includes this add-on violates the Add-on Guidelines by making changes that can't be easily reverted and uses multiple IDs.","name":"KeyBar add-on","created":"2013-12-20T14:13:38Z"},"enabled":true,"versionRange":[{"severity":1,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"6d68dd97-7965-0a84-8ca7-435aac3c8040","last_modified":1480349216927},{"guid":"support@vide1flash2.com","prefs":[],"schema":1480349193877,"blockID":"i246","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=830159","who":"All Firefox users who have this add-on installed.","why":"This is an add-on that poses as the Adobe Flash Player and runs malicious code in the user's system.","name":"Lastest Adobe Flash Player (malware)","created":"2013-01-14T09:17:47Z"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"2004fba1-74bf-a072-2a59-6e0ba827b541","last_modified":1480349216871},{"guid":"extension21804@extension21804.com","prefs":[],"schema":1480349193877,"blockID":"i312","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=835665","who":"All Firefox users who have this add-on installed.","why":"This add-on doesn't follow our Add-on Guidelines, bypassing our third party install opt-in screen. Users who wish to continue using this extension can enable it in the Add-ons Manager.","name":"Coupon Companion","created":"2013-03-06T14:14:05Z"},"enabled":true,"versionRange":[{"severity":1,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"b2cf1256-dadd-6501-1f4e-25902d408692","last_modified":1480349216827},{"guid":"toolbar@ask.com","prefs":[],"schema":1480349193877,"blockID":"i602","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1024719","who":"All Firefox users who have these versions of the Ask Toolbar installed. Users who wish to continue using it can enable it in the Add-ons Manager.\r\n","why":"Certain old versions of the Ask Toolbar are causing problems to users when trying to open new tabs. Using more recent versions of the Ask Toolbar should also fix this problem.\r\n","name":"Ask Toolbar (old Avira Security Toolbar bundle)","created":"2014-06-12T14:18:05Z"},"enabled":true,"versionRange":[{"severity":1,"maxVersion":"3.15.8.*","minVersion":"3.15.8","targetApplication":[]}],"id":"b2b4236d-5d4d-82b2-99cd-00ff688badf1","last_modified":1480349216765},{"guid":"nosquint@urandom.ca","prefs":[],"schema":1480349193877,"blockID":"i1232","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1279561","who":"Users on Firefox 47, and higher, using version 2.1.9.1, and earlier, of this add-on. If you wish to continue using it, you can enable it in the Add-ons Manager.","why":"The add-on is breaking the in-built zoom functionality on Firefox 47.","name":"NoSquint","created":"2016-06-10T17:12:55Z"},"enabled":true,"versionRange":[{"severity":1,"maxVersion":"2.1.9.1-signed.1-signed","minVersion":"0","targetApplication":[{"guid":"{ec8030f7-c20a-464f-9b0e-13a3a9e97384}","maxVersion":"*","minVersion":"47"}]}],"id":"30e0a35c-056a-054b-04f3-ade68b83985a","last_modified":1480349216711},{"guid":"{FE1DEEEA-DB6D-44b8-83F0-34FC0F9D1052}","prefs":[],"schema":1480349193877,"blockID":"i364","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=867670","who":"All Firefox users who have this add-on installed. Users who want to enable the add-on again can do so in the Add-ons Manager.","why":"This add-on is side-installed with other software, and blocks setting reversions attempted by users who want to recover their settings after they are hijacked by other add-ons.","name":"IB Updater","created":"2013-06-10T16:14:41Z"},"enabled":true,"versionRange":[{"severity":1,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"a59b967c-66ca-7ad9-2dc6-d0ad37ded5fd","last_modified":1480349216652},{"guid":"vpyekkifgv@vpyekkifgv.org","prefs":[],"schema":1480349193877,"blockID":"i352","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=872211","who":"All Firefox users who have this add-on installed.","why":"Uses a deceptive name and injects ads into pages without user consent.","name":"SQLlite Addon (malware)","created":"2013-05-14T13:42:04Z"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"8fd981ab-7ee0-e367-d804-0efe29d63178","last_modified":1480349216614},{"guid":"/^firefox@(albrechto|swiftbrowse|springsmart|storimbo|squirrelweb|betterbrowse|lizardlink|rolimno|browsebeyond|clingclang|weblayers|kasimos|higher-aurum|xaven|bomlabio)\\.(com?|net|org|info|biz)$/","prefs":[],"schema":1480349193877,"blockID":"i549","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=937405","who":"All Firefox users who have one or more of these add-ons installed. If you wish to continue using any of these add-ons, they can be enabled in the Add-ons Manager.","why":"A large amount of add-ons developed by Yontoo are known to be silently installed and otherwise violate the Add-on Guidelines.","name":"Yontoo add-ons","created":"2014-01-30T15:08:04Z"},"enabled":true,"versionRange":[{"severity":1,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"3a124164-b177-805b-06f7-70a358b37e08","last_modified":1480349216570},{"guid":"thefoxonlybetter@quicksaver","prefs":[],"schema":1480349193877,"blockID":"i702","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1053469","who":"All Firefox users who have any of these versions of the add-on installed.","why":"Certain versions of The Fox, Only Better weren't developed by the original developer, and are likely malicious in nature. This violates the Add-on Guidelines for reusing an already existent ID.","name":"The Fox, Only Better (malicious versions)","created":"2014-08-27T10:05:31Z"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"1.10","targetApplication":[]}],"id":"60e54f6a-1b10-f889-837f-60a76a98fccc","last_modified":1480349216512},{"guid":"/@(ft|putlocker|clickmovie|m2k|sharerepo|smarter-?)downloader\\.com$/","prefs":[],"schema":1480349193877,"blockID":"i396","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=881454","who":"All Firefox users who have this add-on installed. Users who wish to continue using it can enable it in the Add-ons Manager.","why":"This group of add-ons is silently installed, bypassing our install opt-in screen. This violates our Add-on Guidelines.","name":"PutLockerDownloader and related","created":"2013-06-25T12:48:57Z"},"enabled":true,"versionRange":[{"severity":1,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"e98ba6e3-f2dd-fdee-b106-3e0d2a03cda4","last_modified":1480349216487},{"guid":"my7thfakeid@gmail.com","prefs":[],"schema":1480349193877,"blockID":"i1262","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1295616","who":"Anyone who has this add-on installed.","why":"This add-on is a keylogger that sends the data to a remote server, and goes under the name Real_player.addon.","name":"Remote Keylogger test 0 addon","created":"2016-08-17T10:54:59Z"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"81b380c0-8092-ea5e-11cd-54c7f563ff5a","last_modified":1480349216460},{"guid":"{f0e59437-6148-4a98-b0a6-60d557ef57f4}","prefs":[],"schema":1480349193877,"blockID":"i304","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=845975","who":"All Firefox users who have this add-on installed.","why":"This add-on doesn't follow our installation guidelines and is dropped silently into user's profiles.","name":"WhiteSmoke B","created":"2013-02-27T13:10:18Z"},"enabled":true,"versionRange":[{"severity":1,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"0469e643-1a90-f9be-4aad-b347469adcbe","last_modified":1480349216402},{"os":"Darwin,Linux","guid":"firebug@software.joehewitt.com","prefs":[],"schema":1480349193877,"blockID":"i75","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=718831","who":"All Firefox 9 users on Mac OS X or Linux who have Firebug 1.9.0 installed.","why":"Firebug 1.9.0 creates stability problems on Firefox 9, on Mac OS X and Linux. Upgrading to Firefox 10 or later, or upgrading to Firebug 1.9.1 or later fixes this problem.","name":"Firebug","created":"2012-03-21T16:00:01Z"},"enabled":true,"versionRange":[{"severity":1,"maxVersion":"1.9.0","minVersion":"1.9.0","targetApplication":[{"guid":"{ec8030f7-c20a-464f-9b0e-13a3a9e97384}","maxVersion":"9.*","minVersion":"9.0a1"}]}],"id":"a1f9f055-ef34-1412-c39f-35605a70d031","last_modified":1480349216375},{"guid":"xz123@ya456.com","prefs":[],"schema":1480349193877,"blockID":"i486","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=939254","who":"All Firefox users who have this add-on installed.","why":"This add-on appears to be malware and is installed silently in violation of the Add-on Guidelines.","name":"BetterSurf (malware)","created":"2013-11-15T13:34:53Z"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"b9825a25-a96c-407e-e656-46a7948e5745","last_modified":1480349215808},{"guid":"{C7AE725D-FA5C-4027-BB4C-787EF9F8248A}","prefs":[],"schema":1480349193877,"blockID":"i424","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=860641","who":"Users of Firefox 23 or later who have RelevantKnowledge 1.0.0.2 or lower.","why":"Old versions of this add-on are causing startup crashes in Firefox 23, currently on the Beta channel. RelevantKnowledge users on Firefox 23 and above should update to version 1.0.0.3 of the add-on.","name":"RelevantKnowledge 1.0.0.2 and lower","created":"2013-07-01T10:45:20Z"},"enabled":true,"versionRange":[{"severity":1,"maxVersion":"1.0.0.2","minVersion":"0","targetApplication":[{"guid":"{ec8030f7-c20a-464f-9b0e-13a3a9e97384}","maxVersion":"*","minVersion":"23.0a1"}]}],"id":"c888d167-7970-4b3f-240f-2d8e6f14ded4","last_modified":1480349215779},{"guid":"{5C655500-E712-41e7-9349-CE462F844B19}","prefs":[],"schema":1480349193877,"blockID":"i966","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1175425","who":"All users who have this add-on installed.","why":"This add-on is vulnerable to a cross-site scripting attack, putting users at risk when using it in arbitrary websites.","name":"Quick Translator","created":"2015-07-17T13:42:28Z"},"enabled":true,"versionRange":[{"severity":1,"maxVersion":"1.0.1-signed","minVersion":"0","targetApplication":[]}],"id":"f34b00a6-c783-7851-a441-0d80fb1d1031","last_modified":1480349215743},{"guid":"superlrcs@svenyor.net","prefs":[],"schema":1480349193877,"blockID":"i545","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=949596","who":"All Firefox users who have this add-on installed. If you wish to continue using this add-on, you can enable it in the Add-ons Manager.","why":"This add-on is in violation of the Add-on Guidelines, using multiple add-on IDs and potentially doing other unwanted activities.","name":"SuperLyrics","created":"2014-01-30T11:52:42Z"},"enabled":true,"versionRange":[{"severity":1,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"002cd4fa-4c2b-e28b-9220-4a520f4d9ec6","last_modified":1480349215672},{"guid":"mbrsepone@facebook.com","prefs":[],"schema":1480349193877,"blockID":"i479","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=937331","who":"All Firefox users who have this add-on installed.","why":"This add-on is malware that hijacks Facebook accounts.","name":"Mozilla Lightweight Pack (malware)","created":"2013-11-11T15:42:30Z"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"0549645e-5f50-5089-1f24-6e7d3bfab8e0","last_modified":1480349215645},{"guid":"/^brasilescape.*\\@facebook\\.com$/","prefs":[],"schema":1480349193877,"blockID":"i453","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=918566","who":"All Firefox users who have these add-ons installed.","why":"This is a group of malicious add-ons that use deceitful names like \"Facebook Video Pack\" or \"Mozilla Service Pack\" and hijack Facebook accounts.","name":"Brasil Escape (malware)","created":"2013-09-20T09:54:04Z"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"8e6b1176-1794-2117-414e-f0821443f27b","last_modified":1480349215591},{"guid":"foxyproxy-basic@eric.h.jung","prefs":[],"schema":1480349193877,"blockID":"i952","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1183890","who":"All users who have this add-on installed on Thunderbird 38 and above.","why":"This add-on is causing consistent startup crashes on Thunderbird 38 and above.","name":"FoxyProxy Basic for Thunderbird","created":"2015-07-15T09:35:50Z"},"enabled":true,"versionRange":[{"severity":1,"maxVersion":"3.5.5","minVersion":"0","targetApplication":[{"guid":"{3550f703-e582-4d05-9a08-453d09bdfdc6}","maxVersion":"*","minVersion":"38.0a2"},{"guid":"{92650c4d-4b8e-4d2a-b7eb-24ecf4f6b63a}","maxVersion":"*","minVersion":"2.35"}]}],"id":"81658491-feda-2ed3-3c6c-8e60c2b73aee","last_modified":1480349215536},{"guid":"mbroctone@facebook.com","prefs":[],"schema":1480349193877,"blockID":"i476","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=936590","who":"All Firefox users who have this add-on installed.","why":"This add-on is malware that hijacks the users' Facebook account.","name":"Mozilla Storage Service (malware)","created":"2013-11-08T15:32:13Z"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"92198396-8756-8d09-7f18-a68d29894f71","last_modified":1480349215504},{"guid":"toolbar@ask.com","prefs":[],"schema":1480349193877,"blockID":"i616","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1024719","who":"All Firefox users who have these versions of the Ask Toolbar installed. Users who wish to continue using it can enable it in the Add-ons Manager.\r\n","why":"Certain old versions of the Ask Toolbar are causing problems to users when trying to open new tabs. Using more recent versions of the Ask Toolbar should also fix this problem.\r\n","name":"Ask Toolbar (old Avira Security Toolbar bundle)","created":"2014-06-12T14:24:20Z"},"enabled":true,"versionRange":[{"severity":1,"maxVersion":"3.15.28.*","minVersion":"3.15.28","targetApplication":[]}],"id":"f11b485f-320e-233c-958b-a63377024fad","last_modified":1480349215479},{"guid":"/^({e9df9360-97f8-4690-afe6-996c80790da4}|{687578b9-7132-4a7a-80e4-30ee31099e03}|{46a3135d-3683-48cf-b94c-82655cbc0e8a}|{49c795c2-604a-4d18-aeb1-b3eba27e5ea2}|{7473b6bd-4691-4744-a82b-7854eb3d70b6}|{96f454ea-9d38-474f-b504-56193e00c1a5})$/","prefs":[],"schema":1480349193877,"blockID":"i494","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=776404","who":"All Firefox users who have this add-on installed. Users who wish to continue using it can enable it in the Add-ons Manager.","why":"This add-on changes search settings without user interaction, and fails to reset them after it is removed. It also uses multiple add-on IDs for no apparent reason. This violates our Add-on Guidelines.","name":"uTorrent and related","created":"2013-12-02T14:52:32Z"},"enabled":true,"versionRange":[{"severity":1,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"485210d0-8e69-3436-536f-5d1deeea4167","last_modified":1480349215454},{"guid":"{EB7508CA-C7B2-46E0-8C04-3E94A035BD49}","prefs":[],"schema":1480349193877,"blockID":"i162","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=799266","who":"All Firefox users who have installed any of these add-ons.","why":"This block covers a number of malicious add-ons that deceive users, using names like \"Mozilla Safe Browsing\" and \"Translate This!\", and claiming they are developed by \"Mozilla Corp.\". They hijack searches and redirects users to pages they didn't intend to go to.\r\n\r\nNote: this block won't be active until bug 799266 is fixed.","name":"Mozilla Safe Browsing and others (Medfos malware)","created":"2012-10-11T12:25:36Z"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"07566aa3-4ff9-ac4f-9de9-71c77454b4da","last_modified":1480349215428},{"guid":"toolbar@ask.com","prefs":[],"schema":1480349193877,"blockID":"i614","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1024719","who":"All Firefox users who have these versions of the Ask Toolbar installed. Users who wish to continue using it can enable it in the Add-ons Manager.\r\n","why":"Certain old versions of the Ask Toolbar are causing problems to users when trying to open new tabs. Using more recent versions of the Ask Toolbar should also fix this problem.\r\n","name":"Ask Toolbar (old Avira Security Toolbar bundle)","created":"2014-06-12T14:23:39Z"},"enabled":true,"versionRange":[{"severity":1,"maxVersion":"3.15.26.*","minVersion":"3.15.26","targetApplication":[]}],"id":"ede541f3-1748-7b33-9bd6-80e2f948e14f","last_modified":1480349215399},{"guid":"/^({976cd962-e0ca-4337-aea7-d93fae63a79c}|{525ba996-1ce4-4677-91c5-9fc4ead2d245}|{91659dab-9117-42d1-a09f-13ec28037717}|{c1211069-1163-4ba8-b8b3-32fc724766be})$/","prefs":[],"schema":1480349193877,"blockID":"i522","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=947485","who":"All Firefox users who have this add-on installed. Users who wish to continue using it can enable it in the Add-ons Manager.","why":"The installer that includes this add-on violates the Add-on Guidelines by being silently installed and using multiple add-on IDs.","name":"appbario7","created":"2013-12-20T13:15:33Z"},"enabled":true,"versionRange":[{"severity":1,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"580aed26-dc3b-eef8-fa66-a0a402447b7b","last_modified":1480349215360},{"guid":"jid0-O6MIff3eO5dIGf5Tcv8RsJDKxrs@jetpack","prefs":[],"schema":1480349193877,"blockID":"i552","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=974041","who":"All Firefox users who have this extension installed.","why":"This extension is malware that attempts to make it impossible for a second extension and itself to be disabled, and also forces the new tab page to have a specific URL.","name":"Extension_Protected (malware)","created":"2014-02-19T15:26:37Z"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"e53063b4-5702-5b66-c860-d368cba4ccb6","last_modified":1480349215327},{"guid":"toolbar@ask.com","prefs":[],"schema":1480349193877,"blockID":"i604","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1024719","who":"All Firefox users who have these versions of the Ask Toolbar installed. Users who wish to continue using it can enable it in the Add-ons Manager.\r\n","why":"Certain old versions of the Ask Toolbar are causing problems to users when trying to open new tabs. Using more recent versions of the Ask Toolbar should also fix this problem.\r\n","name":"Ask Toolbar (old Avira Security Toolbar bundle)","created":"2014-06-12T14:18:58Z"},"enabled":true,"versionRange":[{"severity":1,"maxVersion":"3.15.11.*","minVersion":"3.15.10","targetApplication":[]}],"id":"b910f779-f36e-70e1-b17a-8afb75988c03","last_modified":1480349215302},{"guid":"brasilescapefive@facebook.com","prefs":[],"schema":1480349193877,"blockID":"i483","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=938473","who":"All Firefox users who have this add-on installed.","why":"This add-on is malware that hijacks Facebook accounts.","name":"Facebook Video Pack (malware)","created":"2013-11-14T09:37:06Z"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"85ee7840-f262-ad30-eb91-74b3248fd13d","last_modified":1480349215276},{"guid":"brasilescapeeight@facebook.com","prefs":[],"schema":1480349193877,"blockID":"i482","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=938476","who":"All Firefox users who have this add-on installed.","why":"This add-on is malware that hijacks Facebook accounts.","name":"Mozilla Security Pack (malware)","created":"2013-11-14T09:36:55Z"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"457a5722-be90-5a9f-5fa0-4c753e9f324c","last_modified":1480349215249},{"guid":"happylyrics@hpyproductions.net","prefs":[],"schema":1480349193877,"blockID":"i370","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=881815","who":"All Firefox users who have this add-on installed. Users who wish to continue using this add-on can enable it in the Add-ons Manager.","why":"This add-on is silently installed into Firefox without the users' consent, violating our Add-on Guidelines.","name":"Happy Lyrics","created":"2013-06-11T15:42:24Z"},"enabled":true,"versionRange":[{"severity":1,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"730e616d-94a7-df0c-d31a-98b7875d60c2","last_modified":1480349215225},{"guid":"search-snacks@search-snacks.com","prefs":[],"schema":1480349193877,"blockID":"i872","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1082733","who":"All users who have this add-on installed. Users who wish to continue using the add-on can enable it in the Add-ons Manager.","why":"This add-on is silently installed into users' systems, in violation of our Add-on Guidelines.","name":"Search Snacks","created":"2015-03-04T14:37:33Z"},"enabled":true,"versionRange":[{"severity":1,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"7567b06f-98fb-9400-8007-5d0357c345d9","last_modified":1480349215198},{"os":"WINNT","guid":"{ABDE892B-13A8-4d1b-88E6-365A6E755758}","prefs":[],"schema":1480349193877,"blockID":"i107","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=764210","who":"All Firefox users on Windows who have the RealPlayer Browser Record extension installed.","why":"The RealPlayer Browser Record extension is causing significant problems on Flash video sites like YouTube. This block automatically disables the add-on, but users can re-enable it from the Add-ons Manager if necessary.\r\n\r\nThis block shouldn't disable any other RealPlayer plugins, so watching RealPlayer content on the web should be unaffected.\r\n\r\nIf you still have problems playing videos on YouTube or elsewhere, please visit our support site for help.","name":"RealPlayer Browser Record Plugin","created":"2012-06-14T13:54:27Z"},"enabled":true,"versionRange":[{"severity":1,"maxVersion":"15.0.5","minVersion":"0","targetApplication":[]}],"id":"e3b89e55-b35f-8694-6f0e-f856e57a191d","last_modified":1480349215173},{"guid":"/(\\{7aeae561-714b-45f6-ace3-4a8aed6e227b\\})|(\\{01e86e69-a2f8-48a0-b068-83869bdba3d0\\})|(\\{77f5fe49-12e3-4cf5-abb4-d993a0164d9e\\})/","prefs":[],"schema":1480349193877,"blockID":"i436","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=891606","who":"All Firefox users who have this add-on installed.","why":"This add-on doesn't follow the Add-on Guidelines, changing Firefox default settings and not reverting them on uninstall. If you want to continue using this add-on, it can be enabled in the Add-ons Manager.","name":"Visual Bee","created":"2013-08-09T15:04:44Z"},"enabled":true,"versionRange":[{"severity":1,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"ad6dc811-ab95-46fa-4bff-42186c149980","last_modified":1480349215147},{"guid":"amo-validator-bypass@example.com","prefs":[],"schema":1480349193877,"blockID":"i1058","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1227605","who":"All users who install this add-on.","why":"This add-on is a proof of concept of a malicious add-on that bypasses the code validator.","name":" AMO Validator Bypass","created":"2015-11-24T09:03:01Z"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"86e38e3e-a729-b5a2-20a8-4738b376eea6","last_modified":1480349214743},{"guid":"6lIy@T.edu","prefs":[],"schema":1480349193877,"blockID":"i852","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1128269","who":"All Firefox users who have this add-on installed.","why":"This add-on is silently installed and performs unwanted actions, in violation of the Add-on Guidelines.","name":"unIsaless","created":"2015-02-09T15:30:27Z"},"enabled":true,"versionRange":[{"severity":1,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"39798bc2-9c75-f172-148b-13f3ca1dde9b","last_modified":1480349214613},{"guid":"{394DCBA4-1F92-4f8e-8EC9-8D2CB90CB69B}","prefs":[],"schema":1480349193877,"blockID":"i100","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=761339","who":"All Firefox users who have Lightshot 2.5.0 installed.","why":"The Lightshot add-on, version 2.5.0, is causing widespread and frequent crashes in Firefox. Lightshot users are strongly recommended to update to version 2.6.0 as soon as possible.","name":"Lightshot","created":"2012-06-05T09:24:51Z"},"enabled":true,"versionRange":[{"severity":1,"maxVersion":"2.5.0","minVersion":"2.5.0","targetApplication":[]}],"id":"57829ea2-5a95-1b6e-953c-7c4a7b3b21ac","last_modified":1480349214568},{"guid":"{a7f2cb14-0472-42a1-915a-8adca2280a2c}","prefs":["browser.startup.homepage","browser.search.defaultenginename"],"schema":1480349193877,"blockID":"i686","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1033809","who":"All users who have this add-on installed. Users who wish to continue using this add-on can enable it in the Add-on Manager.","why":"This add-on is silently installed into users' systems, in violation of the Add-on Guidelines.","name":"HomeTab","created":"2014-08-06T16:35:39Z"},"enabled":true,"versionRange":[{"severity":1,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"33a8f403-b2c8-cadf-e1ba-40b39edeaf18","last_modified":1480349214537},{"guid":"{CA8C84C6-3918-41b1-BE77-049B2BDD887C}","prefs":["browser.startup.homepage","browser.search.defaultenginename"],"schema":1480349193877,"blockID":"i862","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1131230","who":"All users who have this add-on installed. Users who wish to continue using the add-on can enable it in the Add-ons Manager.","why":"This add-on is silently installed into users' systems, in violation of our Add-on Guidelines.","name":"Ebay Shopping Assistant by Spigot","created":"2015-02-26T12:51:25Z"},"enabled":true,"versionRange":[{"severity":1,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"9a9d6da2-90a1-5b71-8b24-96492d57dfd1","last_modified":1480349214479},{"guid":"update@firefox.com","prefs":[],"schema":1480349193877,"blockID":"i374","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=781088","who":"All Firefox users who have this add-on installed.","why":"This is a malicious extension that hijacks Facebook accounts.","name":"Premium Update (malware)","created":"2013-06-18T13:58:38Z"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"bb388413-60ea-c9d6-9a3b-c90df950c319","last_modified":1480349214427},{"guid":"sqlmoz@facebook.com","prefs":[],"schema":1480349193877,"blockID":"i350","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=871610","who":"All Firefox users who have this extension installed.","why":"This extension is malware posing as Mozilla software. It hijacks Facebook accounts and spams other Facebook users.","name":"Mozilla Service Pack (malware)","created":"2013-05-13T09:43:07Z"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"715082e8-7a30-b27b-51aa-186c38e078f6","last_modified":1480349214360},{"guid":"iobitapps@mybrowserbar.com","prefs":[],"schema":1480349193877,"blockID":"i562","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=948695","who":"All Firefox users who have this add-on installed. If you wish to continue using it, it can be enabled in the Add-ons Manager.","why":"This add-on is installed silently and changes users settings without reverting them, in violation of the Add-on Guidelines.","name":"IObit Apps Toolbar","created":"2014-02-27T10:00:54Z"},"enabled":true,"versionRange":[{"severity":1,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"be9a54f6-20c1-7dee-3aea-300b336b2ae5","last_modified":1480349214299},{"guid":"{9e09ac65-43c0-4b9d-970f-11e2e9616c55}","prefs":[],"schema":1480349193877,"blockID":"i376","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=857847","who":"All Firefox users who have installed this add-on.","why":"This add-on is malware that hijacks Facebook accounts and posts content on it.","name":"The Social Networks (malware)","created":"2013-06-18T14:16:25Z"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"753638b4-65ca-6d71-f1f5-ce32ba2edf3b","last_modified":1480349214246},{"guid":"mozillahmpg@mozilla.org","prefs":[],"schema":1480349193877,"blockID":"i140","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=791867","who":"All Firefox users who have installed this add-on.","why":"This is a malicious add-on that tries to monetize on its users by embedding unauthorized affiliate codes on shopping websites, and sometimes redirecting users to alternate sites that could be malicious in nature.","name":"Google YouTube HD Player (malware)","created":"2012-09-17T16:04:10Z"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"98150e2e-cb45-1fee-8458-28d3602ec2ec","last_modified":1480349214216},{"guid":"astrovia@facebook.com","prefs":[],"schema":1480349193877,"blockID":"i489","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=942699","who":"All Firefox users who have this add-on installed.","why":"This add-on is malware that hijacks Facebook accounts.","name":"Facebook Security Service (malware)","created":"2013-11-25T12:40:30Z"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"6f365ff4-e48f-8a06-d19d-55e19fba81f4","last_modified":1480349214157},{"guid":"{bbea93c6-64a3-4a5a-854a-9cc61c8d309e}","prefs":[],"schema":1480349193877,"blockID":"i1126","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1251940","who":"All users who have this add-on installed.","why":"This is a malicious add-on that disables various security checks in Firefox.","name":"Tab Extension (malware)","created":"2016-02-29T21:58:10Z"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"5acb9dcc-59d4-46d1-2a11-1194c4948239","last_modified":1480349214066},{"guid":"ffxtlbr@iminent.com","prefs":["browser.startup.homepage","browser.search.defaultenginename"],"schema":1480349193877,"blockID":"i628","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=866943","who":"All Firefox users who have any of these add-ons installed. Users who wish to continue using them can enable them in the Add-ons Manager.","why":"These add-ons have been silently installed repeatedly, and change settings without user consent, in violation of the Add-on Guidelines.","name":"Iminent Minibar","created":"2014-06-26T15:47:15Z"},"enabled":true,"versionRange":[{"severity":1,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"4387ad94-8500-d74d-68e3-20564a9aac9e","last_modified":1480349214036},{"guid":"{28387537-e3f9-4ed7-860c-11e69af4a8a0}","prefs":[],"schema":1480349193877,"blockID":"i40","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=665775","who":"Users of MediaBar versions 4.3.1.00 and below in all versions of Firefox.","why":"This add-on causes a high volume of crashes and is incompatible with certain versions of Firefox.","name":"MediaBar (2)","created":"2011-07-19T10:19:41Z"},"enabled":true,"versionRange":[{"severity":1,"maxVersion":"4.3.1.00","minVersion":"0.1","targetApplication":[]}],"id":"ff95664b-93e4-aa73-ac20-5ffb7c87d8b7","last_modified":1480349214002},{"guid":"{41e5ef7a-171d-4ab5-8351-951c65a29908}","prefs":[],"schema":1480349193877,"blockID":"i784","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1073810","who":"All Firefox users who have this add-on installed.","why":"This add-on is silently installed into users' systems. It uses very unsafe practices to load its code, and leaks information of all web browsing activity. These are all violations of the Add-on Guidelines.","name":"HelpSiteExpert","created":"2014-11-14T14:37:56Z"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"0c05a0bb-30b4-979e-33a7-9f3955eba17d","last_modified":1480349213962},{"guid":"/^({2d7886a0-85bb-4bf2-b684-ba92b4b21d23}|{2fab2e94-d6f9-42de-8839-3510cef6424b}|{c02397f7-75b0-446e-a8fa-6ef70cfbf12b}|{8b337819-d1e8-48d3-8178-168ae8c99c36}|firefox@neurowise.info|firefox@allgenius.info)$/","prefs":[],"schema":1480349193877,"blockID":"i762","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1082599","who":"All Firefox users who have this add-on installed. Users who wish to continue using it can enable it in the Add-ons Manager.","why":"These add-ons are silently installed into users' systems, in violation of the Add-on Guidelines.","name":"SaveSense, neurowise, allgenius","created":"2014-10-17T16:58:10Z"},"enabled":true,"versionRange":[{"severity":1,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"c5439f55-ace5-ad73-1270-017c0ba7b2ce","last_modified":1480349213913},{"guid":"{462be121-2b54-4218-bf00-b9bf8135b23f}","prefs":[],"schema":1480349193877,"blockID":"i226","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=812303","who":"All Firefox users who have this add-on installed.","why":"This add-on is silently side-installed by other software, and doesn't do much more than changing the users' settings, without reverting them on removal.","name":"WhiteSmoke","created":"2012-11-29T16:27:36Z"},"enabled":true,"versionRange":[{"severity":1,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"994c6084-e864-0e4e-ac91-455083ee46c7","last_modified":1480349213879},{"guid":"firefox@browsefox.com","prefs":[],"schema":1480349193877,"blockID":"i546","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=936244","who":"All Firefox users who have this add-on installed. If you want to continue using it, it can be enabled in the Add-ons Manager.","why":"This add-on is silently installed, in violation of the Add-on Guidelines.","name":"BrowseFox","created":"2014-01-30T12:26:57Z"},"enabled":true,"versionRange":[{"severity":1,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"407d8c84-8939-cd28-b284-9b680e529bf6","last_modified":1480349213853},{"guid":"{6926c7f7-6006-42d1-b046-eba1b3010315}","prefs":[],"schema":1480349193877,"blockID":"i382","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=844956","who":"All Firefox users who have this add-on installed. Those who wish to continue using it can enable it again in the Add-ons Manager.","why":"This add-on is silently installed, bypassing the Firefox opt-in screen and violating our Add-on Guidelines.","name":"appbario7","created":"2013-06-25T12:05:34Z"},"enabled":true,"versionRange":[{"severity":1,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"2367bd94-2bdd-c615-de89-023ba071a443","last_modified":1480349213825},{"guid":"faststartff@gmail.com","prefs":[],"schema":1480349193877,"blockID":"i866","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1131217","who":"All users who have this add-on installed. Users who wish to continue using the add-on can enable it in the Add-ons Manager.","why":"This add-on is silently installed into users' systems, in violation of our Add-on Guidelines.","name":"Fast Start","created":"2015-02-26T13:12:47Z"},"enabled":true,"versionRange":[{"severity":1,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"9e730bca-c7d1-da82-64f6-c74de216cb7d","last_modified":1480349213799},{"guid":"05dd836e-2cbd-4204-9ff3-2f8a8665967d@a8876730-fb0c-4057-a2fc-f9c09d438e81.com","prefs":[],"schema":1480349193877,"blockID":"i468","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=935135","who":"All Firefox users who have this add-on installed.","why":"This add-on appears to be part of a Trojan software package.","name":"Trojan.DownLoader9.50268 (malware)","created":"2013-11-07T14:43:39Z"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"2fd53d9b-7096-f1fb-fbcb-2b40a6193894","last_modified":1480349213774},{"guid":"jid1-0xtMKhXFEs4jIg@jetpack","prefs":[],"schema":1480349193877,"blockID":"i586","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1011286","who":"All Firefox users who have this add-on installed.","why":"This add-on appears to be malware installed without user consent.","name":"ep (malware)","created":"2014-06-03T15:50:19Z"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"50ca2179-83ab-1817-163d-39ed2a9fbd28","last_modified":1480349213717},{"guid":"/^({16e193c8-1706-40bf-b6f3-91403a9a22be}|{284fed43-2e13-4afe-8aeb-50827d510e20}|{5e3cc5d8-ed11-4bed-bc47-35b4c4bc1033}|{7429e64a-1fd4-4112-a186-2b5630816b91}|{8c9980d7-0f09-4459-9197-99b3e559660c}|{8f1d9545-0bb9-4583-bb3c-5e1ac1e2920c})$/","prefs":[],"schema":1480349193877,"blockID":"i517","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=947509","who":"All Firefox users who have this add-on installed. Users who wish to continue using it can enable it in the Add-ons Manager.","why":"The installer that includes this add-on violates the Add-on Guidelines by silently installing the add-on, and using multiple add-on IDs.","name":"Re-markit","created":"2013-12-20T12:54:33Z"},"enabled":true,"versionRange":[{"severity":1,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"e88a28ab-5569-f06d-b0e2-15c51bb2a4b7","last_modified":1480349213344},{"guid":"safebrowse@safebrowse.co","prefs":[],"schema":1480349193877,"blockID":"i782","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1097696","who":"All Firefox users who have this add-on installed.","why":"This add-on loads scripts with malicious code that appears intended to steal usernames, passwords, and other private information.","name":"SafeBrowse","created":"2014-11-12T14:20:44Z"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"edd81c91-383b-f041-d8f6-d0b9a90230bd","last_modified":1480349213319},{"guid":"{af95cc15-3b9b-45ae-8d9b-98d08eda3111}","prefs":[],"schema":1480349193877,"blockID":"i492","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=945126","who":"All Firefox users who have this add-on installed.","why":"This is a malicious Firefox extension that uses a deceptive name and hijacks users' Facebook accounts.","name":"Facebook (malware)","created":"2013-12-02T12:45:06Z"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"7064e9e2-fba4-7b57-86d7-6f4afbf6f560","last_modified":1480349213294},{"guid":"{84a93d51-b7a9-431e-8ff8-d60e5d7f5df1}","prefs":[],"schema":1480349193877,"blockID":"i744","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1080817","who":"All Firefox users who have this add-on installed. Users who wish to continue using it can enable it in the Add-ons Manager.","why":"This add-on appears to be silently installed into users' systems, and changes settings without consent, in violation of the Add-on Guidelines.","name":"Spigot Shopping Assistant","created":"2014-10-17T15:47:06Z"},"enabled":true,"versionRange":[{"severity":1,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"dbc7ef8b-2c48-5dae-73a0-f87288c669f0","last_modified":1480349213264},{"guid":"{C3949AC2-4B17-43ee-B4F1-D26B9D42404D}","prefs":[],"schema":1480349193877,"blockID":"i918","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1170633","who":"All Firefox users who have this add-on installed in Firefox 39 and above.\r\n","why":"Certain versions of this extension are causing startup crashes in Firefox 39 and above.\r\n","name":"RealPlayer Browser Record Plugin","created":"2015-06-02T09:58:16Z"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0","targetApplication":[{"guid":"{ec8030f7-c20a-464f-9b0e-13a3a9e97384}","maxVersion":"*","minVersion":"39.0a1"}]}],"id":"7f2a68f3-aa8a-ae41-1e48-d1f8f63d53c7","last_modified":1480349213231},{"guid":"831778-poidjao88DASfsAnindsd@jetpack","prefs":[],"schema":1480349193877,"blockID":"i972","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1190962","who":"All users who have this add-on installed.","why":"This is a malicious add-on that hijacks Facebook accounts.","name":"Video patch (malware)","created":"2015-08-04T15:18:03Z"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"39471221-6926-e11b-175a-b28424d49bf6","last_modified":1480349213194},{"guid":"lbmsrvfvxcblvpane@lpaezhjez.org","prefs":[],"schema":1480349193877,"blockID":"i342","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=863385","who":"All Firefox users who have this add-on installed.","why":"This add-on is silently installed, violating our Add-on Guidelines. It also appears to install itself both locally and globally, producing a confusing uninstall experience.","name":"RapidFinda","created":"2013-05-06T16:18:14Z"},"enabled":true,"versionRange":[{"severity":1,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"98fb4536-07a4-d03a-f7c5-945acecc8203","last_modified":1480349213128},{"guid":"{babb9931-ad56-444c-b935-38bffe18ad26}","prefs":[],"schema":1480349193877,"blockID":"i499","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=946086","who":"All Firefox users who have this add-on installed.","why":"This is a malicious Firefox extension that uses a deceptive name and hijacks users' Facebook accounts.","name":"Facebook Credits (malware)","created":"2013-12-04T15:22:02Z"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"be1d19fa-1662-322a-13e6-5fa5474f33a7","last_modified":1480349213100},{"guid":"{18d5a8fe-5428-485b-968f-b97b05a92b54}","prefs":["browser.startup.homepage","browser.search.defaultenginename"],"schema":1480349193877,"blockID":"i802","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1080839","who":"All Firefox users who have this add-on installed.","why":"This add-on is silently installed and is considered malware, in violation of the Add-on Guidelines.","name":"Astromenda Search Addon","created":"2014-12-15T10:52:49Z"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"bc846147-cdc1-141f-5846-b705c48bd6ed","last_modified":1480349213074},{"guid":"{b6ef1336-69bb-45b6-8cba-e578fc0e4433}","prefs":[],"schema":1480349193877,"blockID":"i780","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1073810","who":"All Firefox users who have this add-on installed.","why":"This add-on is silently installed into users' systems. It uses very unsafe practices to load its code, and leaks information of all web browsing activity. These are all violations of the Add-on Guidelines.","name":"Power-SW","created":"2014-11-12T14:00:47Z"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"3b080157-2900-d071-60fe-52b0aa376cf0","last_modified":1480349213024},{"guid":"info@wxdownloadmanager.com","prefs":[],"schema":1480349193877,"blockID":"i196","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=806451","who":"All Firefox users who have these add-ons installed.","why":"These are malicious add-ons that are distributed with a trojan and negatively affect web browsing.","name":"Codec (malware)","created":"2012-11-05T09:24:13Z"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"b62597d0-d2cb-d597-7358-5143a1d13658","last_modified":1480349212999},{"os":"WINNT","guid":"{C3949AC2-4B17-43ee-B4F1-D26B9D42404D}","prefs":[],"schema":1480349193877,"blockID":"i111","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=771802","who":"All Firefox users on Windows who have the RealPlayer Browser Record extension installed.","why":"The RealPlayer Browser Record extension is causing significant problems on Flash video sites like YouTube. This block automatically disables the add-on, but users can re-enable it from the Add-ons Manager if necessary.\r\n\r\nThis block shouldn't disable any other RealPlayer plugins, so watching RealPlayer content on the web should be unaffected.\r\n\r\nIf you still have problems playing videos on YouTube or elsewhere, please visit our support site for help.","name":"RealPlayer Browser Record Plugin","created":"2012-07-10T15:28:16Z"},"enabled":true,"versionRange":[{"severity":1,"maxVersion":"15.0.5","minVersion":"0","targetApplication":[]}],"id":"d3f96257-7635-555f-ef48-34d426322992","last_modified":1480349212971},{"guid":"l@AdLJ7uz.net","prefs":["browser.startup.homepage"],"schema":1480349193877,"blockID":"i728","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1076771","who":"All Firefox users who have this add-on installed. Users who wish to continue using it can enable it in the Add-ons Manager.","why":"This add-on is silently installed and changes user settings without consent, in violation of the Add-on Guidelines","name":"GGoSavee","created":"2014-10-16T16:34:54Z"},"enabled":true,"versionRange":[{"severity":1,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"e6bfa340-7d8a-1627-5cdf-40c0c4982e9d","last_modified":1480349212911},{"guid":"{6b2a75c8-6e2e-4267-b955-43e25b54e575}","prefs":[],"schema":1480349193877,"blockID":"i698","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1052611","who":"All Firefox users who have this add-on installed. Users who wish to continue using it can enable it in the Add-ons Manager.","why":"This add-on is silently installed into users' systems, in violation of the Add-on Guidelines.","name":"BrowserShield","created":"2014-08-21T15:46:31Z"},"enabled":true,"versionRange":[{"severity":1,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"492e4e43-f89f-da58-9c09-d99528ee9ca9","last_modified":1480349212871},{"guid":"/^({65f9f6b7-2dae-46fc-bfaf-f88e4af1beca}|{9ed31f84-c8b3-4926-b950-dff74047ff79}|{0134af61-7a0c-4649-aeca-90d776060cb3}|{02edb56b-9b33-435b-b7df-b2843273a694}|{da51d4f6-3e7e-4ef8-b400-9198e0874606}|{b24577db-155e-4077-bb37-3fdd3c302bb5})$/","prefs":[],"schema":1480349193877,"blockID":"i525","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=949566","who":"All Firefox users who have this add-on installed. Users who wish to continue using it can enable it in the Add-ons Manager.","why":"The installer that includes this add-on violates the Add-on Guidelines by making changes that can't be easily reverted and using multiple IDs.","name":"KeyBar add-on","created":"2013-12-20T14:11:14Z"},"enabled":true,"versionRange":[{"severity":1,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"78562d79-9a64-c259-fb63-ce24e29bb141","last_modified":1480349212839},{"guid":"adsremoval@adsremoval.net","prefs":[],"schema":1480349193877,"blockID":"i560","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=962793","who":"All Firefox users who have this add-on installed. If you wish to continue using this add-on, you can enable it in the Add-ons Manager.","why":"This add-on is silently installed and changes various user settings, in violation of the Add-on Guidelines.","name":"Ad Removal","created":"2014-02-27T09:57:31Z"},"enabled":true,"versionRange":[{"severity":1,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"4d150ad4-dc22-9790-07a9-36e0a23f857f","last_modified":1480349212798},{"guid":"firefoxaddon@youtubeenhancer.com","prefs":[],"schema":1480349193877,"blockID":"i445","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=911966","who":"All Firefox users who have this add-on installed.","why":"This is a malicious add-on that imitates a popular video downloader extension, and attempts to hijack Facebook accounts. The add-on available in the add-ons site is safe to use.","name":"YouTube Enhancer Plus (malware)","created":"2013-09-04T16:53:37Z"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"208.7.0","minVersion":"208.7.0","targetApplication":[]}],"id":"41d75d3f-a57e-d5ad-b95b-22f5fa010b4e","last_modified":1480349212747},{"guid":"suchpony@suchpony.de","prefs":[],"schema":1480349193877,"blockID":"i1264","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1251911","who":"All users who have version 1.6.7 or less of this add-on installed.","why":"Old versions of this add-on contained code from YouTube Unblocker, which was originally blocked due to malicious activity. Version 1.6.8 is now okay.","name":"Suchpony (pre 1.6.8)","created":"2016-08-24T10:48:13Z"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"1.6.7","minVersion":"0","targetApplication":[]}],"id":"1bbf00f3-53b5-3777-43c7-0a0b11f9c433","last_modified":1480349212719},{"guid":"{336D0C35-8A85-403a-B9D2-65C292C39087}","prefs":[],"schema":1480349193877,"blockID":"i224","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=812292","who":"All Firefox users who have this add-on installed.","why":"This add-on is side-installed with other software, and blocks setting reversions attempted by users who want to recover their settings after they are hijacked by other add-ons.","name":"IB Updater","created":"2012-11-29T16:22:49Z"},"enabled":true,"versionRange":[{"severity":1,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"c87666e6-ec9a-2f1e-ad03-a722d2fa2a25","last_modified":1480349212655},{"guid":"G4Ce4@w.net","prefs":["browser.startup.homepage"],"schema":1480349193877,"blockID":"i718","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1076771","who":"All Firefox users who have this add-on installed. Users who wish to continue using it can enable it in the Add-ons Manager.","why":"This add-on is silently installed into users' systems and changes settings without consent, in violation of the Add-on Guidelines.","name":"YoutUbeAdBlaocke","created":"2014-10-02T12:21:22Z"},"enabled":true,"versionRange":[{"severity":1,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"3e1e9322-93e9-4ce1-41f5-46ad4ef1471b","last_modified":1480349212277},{"guid":"extension@Fast_Free_Converter.com","prefs":[],"schema":1480349193877,"blockID":"i533","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=949597","who":"All Firefox users who have this add-on installed. Users who wish to continue using it can enable it in the Add-ons Manager.","why":"The installer that includes this add-on violates the Add-on Guidelines by silently installing it.","name":"FastFreeConverter","created":"2013-12-20T15:04:18Z"},"enabled":true,"versionRange":[{"severity":1,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"726f5645-c0bf-66dc-a97a-d072b46e63e7","last_modified":1480349212247},{"guid":"@stopad","prefs":[],"schema":1480349193877,"blockID":"i1266","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1298780","who":"Users who have version 0.0.4 and earlier of the add-on installed.","why":"Stop Ads sends each visited url to a third party server which is not necessary for the add-on to work or disclosed in a privacy policy or user opt-in. Versions 0.0.4 and earlier are affected.","name":"Stop Ads Addon","created":"2016-08-30T12:24:20Z"},"enabled":true,"versionRange":[{"severity":1,"maxVersion":"0.0.4","minVersion":"0","targetApplication":[]}],"id":"3d1893dd-2092-d1f7-03f3-9629b7d7139e","last_modified":1480349212214},{"guid":"703db0db-5fe9-44b6-9f53-c6a91a0ad5bd@7314bc82-969e-4d2a-921b-e5edd0b02cf1.com","prefs":[],"schema":1480349193877,"blockID":"i519","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=947509","who":"All Firefox users who have this add-on installed. Users who wish to continue using it can enable it in the Add-ons Manager.","why":"The installer that includes this add-on violates the Add-on Guidelines by silently installing the add-on, and using multiple add-on IDs.","name":"Re-markit","created":"2013-12-20T12:57:27Z"},"enabled":true,"versionRange":[{"severity":1,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"a27d0f9f-7708-3d5f-82e1-e3f29e6098a0","last_modified":1480349212183},{"guid":"imbaty@taringamp3.com","prefs":[],"schema":1480349193877,"blockID":"i662","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1036757","who":"All Firefox users who have this add-on installed.","why":"This is a malicious add-on that attempts to hide itself by impersonating the Adobe Flash plugin.","name":"Taringa MP3 / Adobe Flash","created":"2014-07-10T15:39:44Z"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"f43859d4-46b7-c028-4738-d40a73ddad7b","last_modified":1480349212157},{"guid":"{13c9f1f9-2322-4d5c-81df-6d4bf8476ba4}","prefs":[],"schema":1480349193877,"blockID":"i348","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=867359","who":"All Firefox users who have this add-on installed.","why":"This add-on is silently installed, violating our Add-on Guidelines. It also fails to revert settings changes on removal.\r\n\r\nUsers who wish to continue using this add-on can enable it in the Add-ons Manager.","name":"mywebsearch","created":"2013-05-08T15:55:57Z"},"enabled":true,"versionRange":[{"severity":1,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"372cf3df-0810-85d8-b5d7-faffff309a11","last_modified":1480349212102},{"guid":"{a6e67e6f-8615-4fe0-a599-34a73fc3fba5}","prefs":[],"schema":1480349193877,"blockID":"i346","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=867333","who":"All Firefox users who have this add-on installed.","why":"This add-on is silently installed, violating our Add-on Guidelines. Also, it doesn't reset its settings changes on uninstall.\r\n\r\nUsers who wish to continue using this add-on can enable it in the Add-ons Manager.","name":"Startnow","created":"2013-05-06T17:06:06Z"},"enabled":true,"versionRange":[{"severity":1,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"1caf911c-ff2f-b0f6-0d32-29ef74be81bb","last_modified":1480349212077},{"guid":"garg_sms@yahoo.in","prefs":[],"schema":1480349193877,"blockID":"i652","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1036757","who":"All Firefox users who have this version of the add-on installed.","why":"Certain versions of the Save My YouTube Day! extension weren't developed by the original developer, and are likely malicious in nature. This violates the Add-on Guidelines for reusing an already existent ID.","name":"Save My YouTube Day!, version 67.9","created":"2014-07-10T15:17:38Z"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"67.9","minVersion":"67.9","targetApplication":[]}],"id":"e50c0189-a7cd-774d-702b-62eade1bf18e","last_modified":1480349212044},{"guid":"9518042e-7ad6-4dac-b377-056e28d00c8f@f1cc0a13-4df1-4d66-938f-088db8838882.com","prefs":[],"schema":1480349193877,"blockID":"i308","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=846455","who":"All Firefox users who have this add-on installed. Users who wish to continue using this add-on can enable it in the Add-ons Manager.","why":"This add-on is silently installed, bypassing our third-party opt-in screen, in violation of our Add-on Guidelines.","name":"Solid Savings","created":"2013-02-28T13:48:32Z"},"enabled":true,"versionRange":[{"severity":1,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"df25ee07-74d4-ccd9-dbbe-7eb053015144","last_modified":1480349212020},{"guid":"jufa098j-LKooapd9jasJ9jliJsd@jetpack","prefs":[],"schema":1480349193877,"blockID":"i1000","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1201163","who":"All users who have this add-on installed.","why":"This is a malicious add-on that hijacks Facebook accounts.","name":"Secure Video (malware)","created":"2015-09-07T14:00:20Z"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"c3a98025-0f4e-3bb4-b475-97329e7b1426","last_modified":1480349211979},{"guid":"{46eddf51-a4f6-4476-8d6c-31c5187b2a2f}","prefs":[],"schema":1480349193877,"blockID":"i750","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=963788","who":"All Firefox users who have this add-on installed. Users who wish to continue using it can enable it in the Add-ons Manager.","why":"This add-on is silently installed into users' systems, in violation of the Add-on Guidelines.","name":"Slick Savings","created":"2014-10-17T16:17:47Z"},"enabled":true,"versionRange":[{"severity":1,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"9b4ef650-e1ad-d55f-c420-4f26dbb4139c","last_modified":1480349211953},{"guid":"{DAC3F861-B30D-40dd-9166-F4E75327FAC7}","prefs":[],"schema":1480349193877,"blockID":"i924","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1173154","who":"All Firefox users who have this add-on installed in Firefox 39 and above.\r\n","why":"Certain versions of this extension are causing startup crashes in Firefox 39 and above.\r\n","name":"RealPlayer Browser Record Plugin","created":"2015-06-09T15:28:17Z"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0","targetApplication":[{"guid":"{ec8030f7-c20a-464f-9b0e-13a3a9e97384}","maxVersion":"*","minVersion":"39.0a1"}]}],"id":"be57998b-9e4d-1040-e6bb-ed9de056338d","last_modified":1480349211896},{"guid":"JMLv@njMaHh.org","prefs":[],"schema":1480349193877,"blockID":"i790","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1103516","who":"All users who have this add-on installed.","why":"This is a malicious add-on that hijacks Facebook accounts.","name":"YouttubeAdBlocke","created":"2014-11-24T14:14:47Z"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"070d5747-137d-8500-8713-cfc6437558a3","last_modified":1480349211841},{"guid":"istart_ffnt@gmail.com","prefs":["browser.startup.homepage","browser.search.defaultenginename"],"schema":1480349193877,"blockID":"i888","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1152553","who":"All Firefox users who have this add-on installed. Users who wish to continue using this add-on can enable it in the Add-on Manager.","why":"This add-on appears to be malware, being silently installed and hijacking user settings, in violation of the Add-on Guidelines.","name":"Istart","created":"2015-04-10T16:27:47Z"},"enabled":true,"versionRange":[{"severity":1,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"32fad759-38d9-dad9-2295-e44cc6887040","last_modified":1480349211785},{"guid":"gystqfr@ylgga.com","prefs":[],"schema":1480349193877,"blockID":"i449","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=912742","who":"All Firefox users who have this add-on installed.","why":"This add-on doesn't follow our Add-on Guidelines. It is installed bypassing the Firefox opt-in screen, and manipulates settings without reverting them on removal. Users who wish to continue using this add-on can enable it in the Add-ons Manager.","name":"Define Ext","created":"2013-09-13T16:19:39Z"},"enabled":true,"versionRange":[{"severity":1,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"8fe8f509-c530-777b-dccf-d10d58ae78cf","last_modified":1480349211748},{"guid":"e9d197d59f2f45f382b1aa5c14d82@8706aaed9b904554b5cb7984e9.com","prefs":["browser.startup.homepage","browser.search.defaultenginename"],"schema":1480349193877,"blockID":"i844","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1128324","who":"All Firefox users who have this add-on installed.","why":"This add-on is silently installed and attempts to change user settings like the home page and default search, in violation of the Add-on Guidelines.","name":"Sense","created":"2015-02-06T15:01:47Z"},"enabled":true,"versionRange":[{"severity":1,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"f8f8695c-a356-a1d6-9291-502b377c63c2","last_modified":1480349211713},{"guid":"{184AA5E6-741D-464a-820E-94B3ABC2F3B4}","prefs":[],"schema":1480349193877,"blockID":"i968","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1164243","who":"All users who have this add-on installed.","why":"This is a malicious add-on that poses as a Java extension.","name":"Java String Helper (malware)","created":"2015-08-04T09:41:27Z"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"fac1d2cb-eed7-fcef-5d5a-43c556371bd7","last_modified":1480349211687},{"guid":"7d51fb17-b199-4d8f-894e-decaff4fc36a@a298838b-7f50-4c7c-9277-df6abbd42a0c.com","prefs":[],"schema":1480349193877,"blockID":"i455","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=919792","who":"All Firefox users who have this add-on installed.","why":"This is a malicious extension that hijacks Facebook accounts and posts spam to the users' friends.","name":"Video Console (malware)","created":"2013-09-25T10:28:36Z"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"dd4d2e17-4ce6-36b0-3035-93e9cc5846d4","last_modified":1480349211660},{"guid":"prositez@prz.com","prefs":[],"schema":1480349193877,"blockID":"i764","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1073810","who":"All Firefox users who have this add-on installed.","why":"This add-on is silently installed into users' systems. It uses very unsafe practices to load its code, and leaks information of all web browsing activity. These are all violations of the Add-on Guidelines.","name":"ProfSitez","created":"2014-10-29T16:43:15Z"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"684ad4fd-2cbd-ce2a-34cd-bc66b20ac8af","last_modified":1480349211628},{"guid":"/^toolbar[0-9]*@findwide\\.com$/","prefs":["browser.startup.homepage","browser.search.defaultenginename"],"schema":1480349193877,"blockID":"i874","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1082758","who":"All users who have this add-on installed. Users who wish to continue using the add-on can enable it in the Add-ons Manager.","why":"This add-on is silently installed into users' systems, in violation of our Add-on Guidelines.\r\n","name":"FindWide Toolbars","created":"2015-03-04T14:54:10Z"},"enabled":true,"versionRange":[{"severity":1,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"a317ad9f-af4d-e086-4afd-cd5eead1ed62","last_modified":1480349211601},{"guid":"{25D77636-38B1-1260-887C-2D4AFA92D6A4}","prefs":[],"schema":1480349193877,"blockID":"i536","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=959279","who":"All Firefox users who have this extension installed.","why":"This is a malicious extension that is installed alongside a trojan. It hijacks searches on selected sites.","name":"Microsoft DirectInput Object (malware)","created":"2014-01-13T10:36:05Z"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"cd174588-940e-f5b3-12ea-896c957bd4b3","last_modified":1480349211555},{"guid":"fdm_ffext@freedownloadmanager.org","prefs":[],"schema":1480349193877,"blockID":"i216","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=789700","who":"All Firefox users who have installed version 1.5.7.5 of the Free Download Manager extension.","why":"Version 1.5.7.5 of the Free Download Manager extension is causing frequent crashes in recent versions of Firefox. Version 1.5.7.6 corrects this problem, but it is currently not available on addons.mozilla.org. We recommend all users to update to the new version once it becomes available.","name":"Free Download Manager","created":"2012-11-27T12:47:51Z"},"enabled":true,"versionRange":[{"severity":1,"maxVersion":"1.5.7.5","minVersion":"1.5.7.5","targetApplication":[]}],"id":"736417a2-6161-9973-991a-aff566314733","last_modified":1480349211163},{"guid":"{badea1ae-72ed-4f6a-8c37-4db9a4ac7bc9}","prefs":[],"schema":1480349193877,"blockID":"i543","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=963809","who":"All Firefox users who have this add-on installed. If you wish to continue using this add-on, you can enable it in the Add-ons Manager.","why":"This add-on is apparently malware that is silently installed into users' systems, in violation of the Add-on Guidelines.","name":"Address Bar Search","created":"2014-01-28T14:28:18Z"},"enabled":true,"versionRange":[{"severity":1,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"8c1dd68e-7df6-0c37-2f41-107745a7be54","last_modified":1480349211119},{"guid":"addon@gemaoff","prefs":[],"schema":1480349193877,"blockID":"i1230","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1251911","who":"All users who have this add-on installed.","why":"These add-ons are copies of YouTube Unblocker, which was originally blocked due to malicious activity.","name":"YouTube Unblocker (addon@gemaoff)","created":"2016-06-08T16:15:11Z"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"6bc49e9f-322f-9952-15a6-0a723a61c2d9","last_modified":1480349211044},{"guid":"{d87d56b2-1379-49f4-b081-af2850c79d8e}","prefs":[],"schema":1480349193877,"blockID":"i726","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1080835","who":"All Firefox users who have this add-on installed.","why":"This add-on is silently installed into users' systems. It uses very unsafe practices to load its code, and leaks information of all web browsing activity. These are all violations of the Add-on Guidelines.","name":"Website Xplorer Lite","created":"2014-10-13T16:01:03Z"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"7b0895b4-dd4f-1c91-f4e3-31afdbdf3178","last_modified":1480349211007},{"guid":"OKitSpace@OKitSpace.es","prefs":[],"schema":1480349193877,"blockID":"i469","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=935779","who":"All Firefox users who have this add-on installed.","why":"This add-on is part of a malicious Firefox installer bundle.","name":"Installer bundle (malware)","created":"2013-11-07T15:35:01Z"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"6a11aa68-0dae-5524-cc96-a5053a31c466","last_modified":1480349210982},{"guid":"{c96d1ae6-c4cf-4984-b110-f5f561b33b5a}","prefs":[],"schema":1480349193877,"blockID":"i808","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1073810","who":"All Firefox users who have this add-on installed.","why":"This add-on is silently installed into users' systems. It uses very unsafe practices to load its code, and leaks information of all web browsing activity. These are all violations of the Add-on Guidelines.","name":"Better Web","created":"2014-12-19T09:36:52Z"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"0413d46b-8205-d9e0-65df-4caa3e6355c4","last_modified":1480349210956},{"guid":"lightningnewtab@gmail.com","prefs":[],"schema":1480349193877,"blockID":"i554","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=974041","who":"All Firefox users who have this add-on installed. If you wish to continue using this add-on, it can be enabled in the Add-ons Manager.","why":"This add-on is silently installed in Firefox and includes a companion extension that also performs malicious actions.","name":"Lightning SpeedDial","created":"2014-02-19T15:28:24Z"},"enabled":true,"versionRange":[{"severity":1,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"875513e1-e6b1-a383-2ec5-eb4deb87eafc","last_modified":1480349210931},{"guid":"/^ext@bettersurfplus/","prefs":[],"schema":1480349193877,"blockID":"i506","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=939254","who":"All Firefox users who have this add-on installed.","why":"This add-on appears to be malware and is installed silently in violation of the Add-on Guidelines.","name":"BetterSurf (malware)","created":"2013-12-10T15:10:31Z"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"b4da06d2-a0fd-09b6-aadb-7e3b29c3be3a","last_modified":1480349210905},{"guid":"thefoxonlybetter@quicksaver","prefs":[],"schema":1480349193877,"blockID":"i706","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1053469","who":"All Firefox users who have any of these versions of the add-on installed.","why":"Certain versions of The Fox, Only Better weren't developed by the original developer, and are likely malicious in nature. This violates the Add-on Guidelines for reusing an already existent ID.","name":"The Fox, Only Better (malicious versions)","created":"2014-08-27T14:50:32Z"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"1.6.160","minVersion":"1.6.160","targetApplication":[]}],"id":"bb2b2114-f8e7-511d-04dc-abc8366712cc","last_modified":1480349210859},{"guid":"CortonExt@ext.com","prefs":[],"schema":1480349193877,"blockID":"i336","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=864551","who":"All Firefox users who have this add-on installed.","why":"This add-on is reported to be installed without user consent, with a non-descriptive name, and ties a number of browser features to Amazon URLs, probably monetizing on affiliate codes.","name":"CortonExt","created":"2013-04-22T16:10:17Z"},"enabled":true,"versionRange":[{"severity":1,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"a5bdd05d-eb4c-ce34-9909-a677b4322384","last_modified":1480349210805},{"guid":"1chtw@facebook.com","prefs":[],"schema":1480349193877,"blockID":"i430","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=901770","who":"All Firefox users who have this add-on installed.","why":"This is a malicious add-on that uses a deceptive name and hijacks social networks.","name":" Mozilla Service Pack (malware)","created":"2013-08-05T16:42:24Z"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"bf1e31c7-ba50-1075-29ae-47368ac1d6de","last_modified":1480349210773},{"guid":"lrcsTube@hansanddeta.com","prefs":[],"schema":1480349193877,"blockID":"i344","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=866944","who":"All Firefox users who have this add-on installed.","why":"This add-on is silently installed, violating our Add-on Guidelines.\r\n\r\nUsers who wish to continue using this add-on can enable it in the Add-ons Manager.","name":"LyricsTube","created":"2013-05-06T16:44:04Z"},"enabled":true,"versionRange":[{"severity":1,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"424b9f39-d028-b1fb-d011-d8ffbbd20fe9","last_modified":1480349210718},{"guid":"{341f4dac-1966-47ff-aacf-0ce175f1498a}","prefs":[],"schema":1480349193877,"blockID":"i356","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=868129","who":"All Firefox users who have this add-on installed.","why":"This add-on is silently installed, violating our Add-on Guidelines.\r\n\r\nUsers who wish to continue using this add-on can enable it in the Add-ons Manager.","name":"MyFreeGames","created":"2013-05-23T14:45:35Z"},"enabled":true,"versionRange":[{"severity":1,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"560e08b1-3471-ad34-8ca9-463f5ca5328c","last_modified":1480349210665},{"guid":"/^({d6e79525-4524-4707-9b97-1d70df8e7e59}|{ddb4644d-1a37-4e6d-8b6e-8e35e2a8ea6c}|{e55007f4-80c5-418e-ac33-10c4d60db01e}|{e77d8ca6-3a60-4ae9-8461-53b22fa3125b}|{e89a62b7-248e-492f-9715-43bf8c507a2f}|{5ce3e0cb-aa83-45cb-a7da-a2684f05b8f3})$/","prefs":[],"schema":1480349193877,"blockID":"i518","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=947509","who":"All Firefox users who have this add-on installed. Users who wish to continue using it can enable it in the Add-ons Manager.","why":"The installer that includes this add-on violates the Add-on Guidelines by silently installing the add-on, and using multiple add-on IDs.","name":"Re-markit","created":"2013-12-20T12:56:17Z"},"enabled":true,"versionRange":[{"severity":1,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"145b0f22-501e-39eb-371e-ec8342a5add9","last_modified":1480349210606},{"guid":"{72b98dbc-939a-4e0e-b5a9-9fdbf75963ef}","prefs":[],"schema":1480349193877,"blockID":"i772","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1073810","who":"All Firefox users who have this add-on installed.","why":"This add-on is silently installed into users' systems. It uses very unsafe practices to load its code, and leaks information of all web browsing activity. These are all violations of the Add-on Guidelines.","name":"SitezExpert","created":"2014-10-31T16:15:26Z"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"386cb2c9-e674-ce2e-345f-d30a785f90c5","last_modified":1480349210536},{"guid":"hha8771ui3-Fo9j9h7aH98jsdfa8sda@jetpack","prefs":[],"schema":1480349193877,"blockID":"i970","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1190963","who":"All users who have this add-on installed.","why":"This is a malicious add-on that hijacks Facebook accounts.","name":"Video fix (malware)","created":"2015-08-04T15:15:07Z"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"3ca577d8-3685-4ba9-363b-5b2d8d8dd608","last_modified":1480349210477},{"guid":"{7e8a1050-cf67-4575-92df-dcc60e7d952d}","prefs":[],"schema":1480349193877,"blockID":"i478","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=935796","who":"All Firefox users who have this add-on installed.","why":"This add-on violates the Add-on Guidelines. Users who wish to continue using this add-on can enable it in the Add-ons Manager.","name":"SweetPacks","created":"2013-11-08T15:42:28Z"},"enabled":true,"versionRange":[{"severity":1,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"1519eb45-fcaa-b531-490d-fe366490ed45","last_modified":1480349210416},{"guid":"/^({66b103a7-d772-4fcd-ace4-16f79a9056e0}|{6926c7f7-6006-42d1-b046-eba1b3010315}|{72cabc40-64b2-46ed-8648-26d831761150}|{73ee2cf2-7b76-4c49-b659-c3d8cf30825d}|{ca6446a5-73d5-4c35-8aa1-c71dc1024a18}|{5373a31d-9410-45e2-b299-4f61428f0be4})$/","prefs":[],"schema":1480349193877,"blockID":"i521","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=947485","who":"All Firefox users who have this add-on installed. Users who wish to continue using it can enable it in the Add-ons Manager.","why":"The installer that includes this add-on violates the Add-on Guidelines by being silently installed and using multiple add-on IDs.","name":"appbario7","created":"2013-12-20T13:14:29Z"},"enabled":true,"versionRange":[{"severity":1,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"983cb7fe-e0b4-6a2e-f174-d2670876b2cd","last_modified":1480349210351},{"guid":"{dd6b651f-dfb9-4142-b0bd-09912ad22674}","prefs":[],"schema":1480349193877,"blockID":"i400","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=835678","who":"All Firefox users who have this add-on installed. Users who wish to continue using it can enable it in the Add-ons Manager.","why":"This group of add-ons is silently installed, bypassing our install opt-in screen. This violates our Add-on Guidelines.","name":"Searchqu","created":"2013-06-25T15:16:01Z"},"enabled":true,"versionRange":[{"severity":1,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"975d2126-f727-f5b9-ca01-b83345b80c56","last_modified":1480349210301},{"guid":"25p@9eAkaLq.net","prefs":["browser.startup.homepage"],"schema":1480349193877,"blockID":"i730","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1076771","who":"All Firefox users who have this add-on installed. Users who wish to continue using it can enable it in the Add-ons Manager.","why":"This add-on is silently installed and changes user settings without consent, in violation of the Add-on Guidelines\r\n","name":"YYOutoubeAdBlocke","created":"2014-10-16T16:35:35Z"},"enabled":true,"versionRange":[{"severity":1,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"5a0c5818-693f-43ae-f85a-c6928d9c2cc4","last_modified":1480349210275},{"os":"Darwin","guid":"thunder@xunlei.com","prefs":[],"schema":1480349193877,"blockID":"i568","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=988490","who":"All Firefox users who have versions 2.0.6 or lower of the Thunder add-on installed on Mac OS.","why":"Versions 2.0.6 and lower of the Thunder add-on are causing startup crashes on Mac OS.","name":"Thunder, 2.0.6 and lower","created":"2014-03-28T15:48:38Z"},"enabled":true,"versionRange":[{"severity":1,"maxVersion":"2.0.6","minVersion":"0","targetApplication":[]}],"id":"cee484f6-2d5d-f708-88be-cd12d825a79a","last_modified":1480349210242},{"guid":"tmbepff@trendmicro.com","prefs":[],"schema":1480349193877,"blockID":"i1222","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1275245","who":"All users of this add-on. If you wish to continue using it, you can enable it in the Add-ons Manager.","why":"Add-on is causing a high-frequency crash in Firefox","name":"Trend Micro BEP 9.1.0.1035 and lower","created":"2016-05-24T12:10:34Z"},"enabled":true,"versionRange":[{"severity":1,"maxVersion":"9.1.0.1035","minVersion":"0","targetApplication":[]}],"id":"8045c799-486a-927c-b972-b9da1c2dab2f","last_modified":1480349209818},{"guid":"pricepeep@getpricepeep.com","prefs":[],"schema":1480349193877,"blockID":"i220","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=811433","who":"All Firefox users who have Pricepeed below 2.1.0.20 installed.","why":"Versions older than 2.1.0.20 of the PricePeep add-on were silently side-installed with other software, injecting advertisements in Firefox. Versions 2.1.0.20 and above don't have the install problems are not blocked.","name":"PricePeep","created":"2012-11-29T16:18:26Z"},"enabled":true,"versionRange":[{"severity":1,"maxVersion":"2.1.0.19.99","minVersion":"0","targetApplication":[]}],"id":"227b9a8d-c18d-239c-135e-d79e614fe392","last_modified":1480349209794},{"guid":"ytd@mybrowserbar.com","prefs":[],"schema":1480349193877,"blockID":"i360","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=845969","who":"All Firefox users who have this add-on installed. Users who want to enable the add-on again can do so in the Add-ons Manager tab.","why":"The installer that includes this add-on performs Firefox settings changes separately from the add-on install, making it very difficult to opt-out to these changes.","name":"YouTube Downloader","created":"2013-06-06T12:29:13Z"},"enabled":true,"versionRange":[{"severity":1,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"63669524-93fe-4823-95ba-37cf6cbd4914","last_modified":1480349209770},{"guid":"hoverst@facebook.com","prefs":[],"schema":1480349193877,"blockID":"i498","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=946029","who":"All Firefox users who have this add-on installed.","why":"This is a malicious Firefox extension that uses a deceptive name and hijacks users' Facebook accounts.","name":"Adobe Flash Player (malware)","created":"2013-12-04T15:17:58Z"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"2b25ba3e-45db-0e6c-965a-3acda1a44117","last_modified":1480349209745},{"guid":"toolbar@ask.com","prefs":[],"schema":1480349193877,"blockID":"i606","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1024719","who":"All Firefox users who have these versions of the Ask Toolbar installed. Users who wish to continue using it can enable it in the Add-ons Manager.\r\n","why":"Certain old versions of the Ask Toolbar are causing problems to users when trying to open new tabs. Using more recent versions of the Ask Toolbar should also fix this problem.\r\n","name":"Ask Toolbar (old Avira Security Toolbar bundle)","created":"2014-06-12T14:20:07Z"},"enabled":true,"versionRange":[{"severity":1,"maxVersion":"3.15.13.*","minVersion":"3.15.13","targetApplication":[]}],"id":"c3d88e22-386a-da3b-8aba-3cb526e08053","last_modified":1480349209713},{"guid":"advance@windowsclient.com","prefs":[],"schema":1480349193877,"blockID":"i508","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=950773","who":"All Firefox users who have this add-on installed.","why":"This is not the Microsoft .NET Framework Assistant created and distributed by Microsoft. It is a malicious extension that is distributed under the same name to trick users into installing it, and turns users into a botnet that conducts SQL injection attacks on visited websites.","name":"Microsoft .NET Framework Assistant (malware)","created":"2013-12-16T10:15:01Z"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"e5d30a74-732e-c3fa-f13b-097ee28d4b27","last_modified":1480349209674},{"guid":"{5eeb83d0-96ea-4249-942c-beead6847053}","prefs":[],"schema":1480349193877,"blockID":"i756","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1080846","who":"All Firefox users who have this add-on installed. Users who wish to continue using it can enable it in the Add-ons Manager.","why":"This add-on is silently installed into users' systems, in violation of the Add-on Guidelines.","name":"SmarterPower","created":"2014-10-17T16:30:30Z"},"enabled":true,"versionRange":[{"severity":1,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"e101dbc0-190c-f6d8-e168-0c1380581cc9","last_modified":1480349209625},{"guid":"/^({7e8a1050-cf67-4575-92df-dcc60e7d952d}|{b3420a9c-a397-4409-b90d-bcf22da1a08a}|{eca6641f-2176-42ba-bdbe-f3e327f8e0af}|{707dca12-3f99-4d94-afea-06dcc0ae0108}|{aea20431-87fc-40be-bc5b-18066fe2819c}|{30ee6676-1ba6-455a-a7e8-298fa863a546})$/","prefs":[],"schema":1480349193877,"blockID":"i523","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=947481","who":"All Firefox users who have this add-on installed. Users who wish to continue using it can enable it in the Add-ons Manager.","why":"The installer that includes this add-on violates the Add-on Guidelines by making changes that can't be easily reverted.","name":"SweetPacks","created":"2013-12-20T13:42:15Z"},"enabled":true,"versionRange":[{"severity":1,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"a3a6bc8e-46a1-b3d5-1b20-58b90ba099c3","last_modified":1480349209559},{"guid":"{e0352044-1439-48ba-99b6-b05ed1a4d2de}","prefs":[],"schema":1480349193877,"blockID":"i710","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1073810","who":"All Firefox users who have this add-on installed.","why":"This add-on is silently installed into users' systems. It uses very unsafe practices to load its code, and leaks information of all web browsing activity. These are all violations of the Add-on Guidelines.","name":"Site Counselor","created":"2014-09-30T15:28:14Z"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"b8fedf07-dcaf-f0e3-b42b-32db75c4c304","last_modified":1480349209491},{"guid":"{bee6eb20-01e0-ebd1-da83-080329fb9a3a}","prefs":[],"schema":1480349193877,"blockID":"i642","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1036757","who":"All Firefox users who have this version of the add-on installed.","why":"Certain versions of the Flash and Video Download extension weren't developed by the original developer, and are likely malicious in nature. This violates the Add-on Guidelines for reusing an already existent ID.","name":"Flash and Video Download, between 40.10.1 and 44.10.1","created":"2014-07-10T15:02:26Z"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"44.10.1","minVersion":"40.10.1","targetApplication":[]}],"id":"16db0c85-02ec-4f7c-24a3-a504fbce902d","last_modified":1480349209443},{"guid":"addlyrics@addlyrics.net","prefs":[],"schema":1480349193877,"blockID":"i426","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=891605","who":"All Firefox users who have this add-on installed.","why":"This add-on is silently installed, violating our Add-on Guidelines.\r\n\r\nUsers who wish to continue using this add-on can enable it in the Add-ons Manager.","name":"Add Lyrics","created":"2013-07-09T15:25:30Z"},"enabled":true,"versionRange":[{"severity":1,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"81678e9e-ebf0-47d6-e409-085c25e67c7e","last_modified":1480349209383},{"guid":"{7b1bf0b6-a1b9-42b0-b75d-252036438bdc}","prefs":[],"schema":1480349193877,"blockID":"i638","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1036137","who":"All Firefox users who have this version of the add-on installed.","why":"Versions 27.8 and 27.9 of the YouTube High Definition extension weren't developed by the original developer, and are likely malicious in nature. It violates the Add-on Guidelines for reusing an already existent ID.","name":"YouTube High Definition 27.8 and 27.9","created":"2014-07-08T16:07:56Z"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"27.9","minVersion":"27.8","targetApplication":[]}],"id":"ffdc8ba0-d548-dc5b-d2fd-79a20837124b","last_modified":1480349209260},{"guid":"toolbar@ask.com","prefs":[],"schema":1480349193877,"blockID":"i610","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1024719","who":"All Firefox users who have these versions of the Ask Toolbar installed. Users who wish to continue using it can enable it in the Add-ons Manager.\r\n","why":"Certain old versions of the Ask Toolbar are causing problems to users when trying to open new tabs. Using more recent versions of the Ask Toolbar should also fix this problem.\r\n","name":"Ask Toolbar (old Avira Security Toolbar bundle)","created":"2014-06-12T14:21:47Z"},"enabled":true,"versionRange":[{"severity":1,"maxVersion":"3.15.22.*","minVersion":"3.15.22","targetApplication":[]}],"id":"935dfec3-d017-5660-db5b-94ae7cea6e5f","last_modified":1480349209128},{"guid":"info@allpremiumplay.info","prefs":[],"schema":1480349193877,"blockID":"i163","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=806451","who":"All Firefox users who have these add-ons installed.","why":"These are malicious add-ons that are distributed with a trojan and negatively affect web browsing.","name":"Codec-C (malware)","created":"2012-10-29T16:40:07Z"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"6afbf9b8-ae3a-6a48-0f6c-7a3e065ec043","last_modified":1480349209076},{"guid":"now.msn.com@services.mozilla.org","prefs":[],"schema":1480349193877,"blockID":"i490","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=926378","who":"All Firefox users who have this add-on installed.","why":"As part of their ongoing work to fine-tune their editorial mix, msnNOW has decided that msnNOW will stop publishing on Dec. 3, 2013. Rather than having a single home for trending content, they will continue integrating that material throughout all MSN channels. A big thank you to everyone who followed msnNOW stories using the Firefox sidebar","name":"MSNNow (discontinued social provider)","created":"2013-11-27T08:06:04Z"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"de7d699d-016d-d973-5e39-52568de6ffde","last_modified":1480349209021},{"guid":"fftoolbar2014@etech.com","prefs":["browser.startup.homepage","browser.search.defaultenginename"],"schema":1480349193877,"blockID":"i858","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1131078","who":"All Firefox users who have this add-on installed.","why":"This add-on is silently installed and changes users' settings, in violation of the Add-on Guidelines.","name":"FF Toolbar","created":"2015-02-11T15:32:36Z"},"enabled":true,"versionRange":[{"severity":1,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"6877bf40-9e45-7017-4dac-14d09e7f0ef6","last_modified":1480349208988},{"guid":"mbrnovone@facebook.com","prefs":[],"schema":1480349193877,"blockID":"i477","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=936249","who":"All Firefox users who have this add-on installed.","why":"This add-on is malware that hijacks Facebook accounts.","name":"Mozilla Security Service (malware)","created":"2013-11-08T15:35:51Z"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"758c2503-766d-a2f5-4c58-7cea93acfe05","last_modified":1480349208962},{"guid":"{739df940-c5ee-4bab-9d7e-270894ae687a}","prefs":[],"schema":1480349193877,"blockID":"i530","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=949558","who":"All Firefox users who have this add-on installed. Users who wish to continue using it can enable it in the Add-ons Manager.","why":"The installer that includes this add-on violates the Add-on Guidelines by making changes that can't be easily reverted.","name":"WhiteSmoke New","created":"2013-12-20T14:49:25Z"},"enabled":true,"versionRange":[{"severity":1,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"f8097aa6-3009-6dfc-59df-353ba6b1142b","last_modified":1480349208933},{"guid":"{ec8030f7-c20a-464f-9b0e-13a3a9e97384}","prefs":[],"schema":1480349193877,"blockID":"i115","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=779014","who":"All Firefox users who have this add-on installed.","why":"This extension is malware that is installed under false pretenses, and it conducts attacks against certain video websites.","name":"Adobe Flash Player (malware)","created":"2012-08-01T13:53:00Z"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"aef9312d-5f2e-a44d-464d-6113394148e3","last_modified":1480349208904},{"guid":"g99hiaoekjoasiijdkoleabsy278djasi@jetpack","prefs":[],"schema":1480349193877,"blockID":"i1022","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1208708","who":"All users who have this add-on installed.","why":"This is a malicious add-on that hijacks Facebook accounts.","name":"WatchIt (malware)","created":"2015-09-28T15:23:08Z"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"25e057ea-f500-67df-d078-ec3f37f99036","last_modified":1480349208877},{"guid":"firefoxaddon@youtubeenhancer.com","prefs":[],"schema":1480349193877,"blockID":"i636","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1033120","who":"All Firefox users who have this version of the add-on installed.","why":"Version 199.7.0 of the YoutubeEnhancer extension isn't developed by the original developer, and is likely malicious in nature. It violates the Add-on Guidelines for reusing an already existent ID.","name":"YoutubeEnhancer - Firefox","created":"2014-07-08T15:58:12Z"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"199.7.0","minVersion":"199.7.0","targetApplication":[]}],"id":"204a074b-da87-2784-f15b-43a9ea9a6b36","last_modified":1480349208851},{"guid":"extacylife@a.com","prefs":[],"schema":1480349193877,"blockID":"i505","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=947741","who":"All Firefox users who have this add-on installed.","why":"This is a malicious extension that hijacks users' Facebook accounts.","name":"Facebook Haber (malware)","created":"2013-12-09T15:08:51Z"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"5acadb8d-d3be-e0e0-4656-9107f9de0ea9","last_modified":1480349208823},{"guid":"{746505DC-0E21-4667-97F8-72EA6BCF5EEF}","prefs":[],"schema":1480349193877,"blockID":"i842","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1128325","who":"All Firefox users who have this add-on installed.","why":"This add-on is silently installed into users' systems, in violation of the Add-on Guidelines.","name":"Shopper-Pro","created":"2015-02-06T14:45:57Z"},"enabled":true,"versionRange":[{"severity":1,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"5f19c5fb-1c78-cbd6-8a03-1678efb54cbc","last_modified":1480349208766},{"guid":"{51c77233-c0ad-4220-8388-47c11c18b355}","prefs":[],"schema":1480349193877,"blockID":"i580","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1004132","who":"All Firefox users who have this add-on installed. If you wish to continue using this add-on, it can be enabled in the Add-ons Manager.","why":"This add-on is silently installed into Firefox, in violation of the Add-on Guidelines.","name":"Browser Utility","created":"2014-04-30T13:55:35Z"},"enabled":true,"versionRange":[{"severity":1,"maxVersion":"0.1.9999999","minVersion":"0","targetApplication":[]}],"id":"daa2c60a-5009-2c65-a432-161d50bef481","last_modified":1480349208691},{"guid":"{a2bfe612-4cf5-48ea-907c-f3fb25bc9d6b}","prefs":[],"schema":1480349193877,"blockID":"i712","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1073810","who":"All Firefox users who have this add-on installed.","why":"This add-on is silently installed into users' systems. It uses very unsafe practices to load its code, and leaks information of all web browsing activity. These are all violations of the Add-on Guidelines.","name":"Website Xplorer","created":"2014-09-30T15:28:22Z"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"13450534-93d7-f2a2-7f0a-e4e3948c4dc1","last_modified":1480349208027},{"guid":"ScorpionSaver@jetpack","prefs":[],"schema":1480349193877,"blockID":"i539","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=963826","who":"All Firefox users who have this add-on installed. If you wish to continue using this add-on, you can enable it in the Add-ons Manager.","why":"This add-on is being silently installed, in violation of the Add-on Guidelines","name":"ScorpionSaver","created":"2014-01-28T14:00:30Z"},"enabled":true,"versionRange":[{"severity":1,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"3499c968-6e8b-37f1-5f6e-2384807c2a6d","last_modified":1480349207972},{"guid":"unblocker20@unblocker.yt","prefs":[],"schema":1480349193877,"blockID":"i1212","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1251911","who":"All users who have this add-on installed.","why":"This add-on is a copy of YouTube Unblocker, which was originally blocked due to malicious activity.","name":"YouTube Unblocker 2.0","created":"2016-05-05T18:13:29Z"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"2.0.0","minVersion":"0","targetApplication":[]}],"id":"57785030-909f-e985-2a82-8bd057781227","last_modified":1480349207912},{"guid":"{D19CA586-DD6C-4a0a-96F8-14644F340D60}","prefs":[],"schema":1480349193877,"blockID":"i42","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=690184","who":"Users of McAfee ScriptScan versions 14.4.0 and below for all versions of Firefox and SeaMonkey.","why":"This add-on causes a high volume of crashes.","name":"McAfee ScriptScan","created":"2011-10-03T09:38:39Z"},"enabled":true,"versionRange":[{"severity":1,"maxVersion":"14.4.0","minVersion":"0.1","targetApplication":[]}],"id":"1d35ac9d-49df-23cf-51f5-f3c228ad0dc9","last_modified":1480349207877},{"guid":"gjhrjenrengoe@jfdnkwelfwkm.com","prefs":[],"schema":1480349193877,"blockID":"i1042","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1212174","who":"All users who have this add-on installed.","why":"This is a malicious add-on that takes over Facebook accounts.","name":"Avant Player (malware)","created":"2015-10-07T13:12:54Z"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"d6453893-becc-7617-2050-0db284e0e0db","last_modified":1480349207840},{"guid":"/^(@9338379C-DD5C-4A45-9A36-9733DC806FAE|9338379C-DD5C-4A45-9A36-9733DC806FAE|@EBC7B466-8A28-4061-81B5-10ACC05FFE53|@bd6a97c0-4b18-40ed-bce7-3b7d3309e3c4222|@bd6a97c0-4b18-40ed-bce7-3b7d3309e3c4|@b2d6a97c0-4b18-40ed-bce7-3b7d3309e3c4222)$/","prefs":[],"schema":1480349193877,"blockID":"i1079","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1240597","who":"All Firefox users who have these add-ons installed.","why":"These add-ons are malicious, manipulating registry and search settings for users.","name":"Default SearchProtected (malware)","created":"2016-01-18T12:32:32Z"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"ddc5237e-42e4-1bf1-54d3-a5e5799dd828","last_modified":1480349207815},{"guid":"{33e0daa6-3af3-d8b5-6752-10e949c61516}","prefs":[],"schema":1480349193877,"blockID":"i282","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=835683","who":"All Firefox users who have this add-on installed. Users who wish to continue using this add-on can enable it in the Add-ons Manager.","why":"This add-on violates our add-on guidelines, bypassing the third party opt-in screen.","name":"Complitly","created":"2013-02-15T12:19:26Z"},"enabled":true,"versionRange":[{"severity":1,"maxVersion":"1.1.999","minVersion":"0","targetApplication":[]}],"id":"1f94bc8d-9d5f-c8f5-45c0-ad1f6e147c71","last_modified":1480349207789},{"guid":"toolbar@ask.com","prefs":[],"schema":1480349193877,"blockID":"i608","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1024719","who":"All Firefox users who have these versions of the Ask Toolbar installed. Users who wish to continue using it can enable it in the Add-ons Manager.\r\n","why":"Certain old versions of the Ask Toolbar are causing problems to users when trying to open new tabs. Using more recent versions of the Ask Toolbar should also fix this problem.\r\n","name":"Ask Toolbar (old Avira Security Toolbar bundle)","created":"2014-06-12T14:20:57Z"},"enabled":true,"versionRange":[{"severity":1,"maxVersion":"3.15.20.*","minVersion":"3.15.18","targetApplication":[]}],"id":"e7d50ff2-5948-d571-6711-37908ccb863f","last_modified":1480349207761},{"guid":"chiang@programmer.net","prefs":[],"schema":1480349193877,"blockID":"i340","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=867156","who":"All Firefox users who have this add-on installed.","why":"This is a malicious add-on that logs keyboard input and sends it to a remote server.","name":"Cache Manager (malware)","created":"2013-04-30T07:44:09Z"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"d50d0434-78e4-faa7-ce2a-9b0a8bb5120e","last_modified":1480349207736},{"guid":"{63eb5ed4-e1b3-47ec-a253-f8462f205350}","prefs":[],"schema":1480349193877,"blockID":"i786","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1073810","who":"All Firefox users who have this add-on installed.","why":"This add-on is silently installed into users' systems. It uses very unsafe practices to load its code, and leaks information of all web browsing activity. These are all violations of the Add-on Guidelines.","name":"FF-Plugin","created":"2014-11-18T12:33:13Z"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"ca4558a2-8ce4-3ca0-3d29-63019f680c8c","last_modified":1480349207705},{"guid":"jid1-4vUehhSALFNqCw@jetpack","prefs":[],"schema":1480349193877,"blockID":"i634","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1033002","who":"All Firefox users who have this version of the add-on installed.","why":"Version 99.7 of the YouTube Plus Plus extension isn't developed by the original developer, and is likely malicious in nature. It violates the Add-on Guidelines for reusing an already existent ID.","name":"YouTube Plus Plus 99.7","created":"2014-07-04T14:13:57Z"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"99.7","minVersion":"99.7","targetApplication":[]}],"id":"a6d017cb-e33f-2239-4e42-ab4e7cfb19fe","last_modified":1480349207680},{"guid":"{aab02ab1-33cf-4dfa-8a9f-f4e60e976d27}","prefs":[],"schema":1480349193877,"blockID":"i820","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1073810","who":"All Firefox users who have this add-on installed.","why":"This add-on is silently installed into users' systems without their consent, in violation of the Add-on Guidelines.","name":"Incredible Web","created":"2015-01-13T09:27:49Z"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"847ecc6e-1bc1-f7ff-e1d5-a76e6b8447d2","last_modified":1480349207654},{"guid":"torntv@torntv.com","prefs":[],"schema":1480349193877,"blockID":"i320","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=845610","who":"All Firefox users who have this add-on installed.","why":"This add-on doesn't follow our Add-on Guidelines, bypassing our third party install opt-in screen. Users who wish to continue using this extension can enable it in the Add-ons Manager.","name":"TornTV","created":"2013-03-20T16:35:24Z"},"enabled":true,"versionRange":[{"severity":1,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"cdd492b8-8101-74a9-5760-52ff709fd445","last_modified":1480349207608},{"guid":"crossriderapp12555@crossrider.com","prefs":[],"schema":1480349193877,"blockID":"i674","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=877836","who":"All Firefox users who have this add-on installed. Users who wish to continue using this add-on can enable it in the Add-ons Manager.","why":"The add-on is silently installed, in violation of our Add-on Guidelines.","name":"JollyWallet","created":"2014-07-22T16:26:19Z"},"enabled":true,"versionRange":[{"severity":1,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"d4467e20-0f71-f0e0-8cd6-40c82b6c7379","last_modified":1480349207561},{"guid":"pluggets@gmail.com","prefs":[],"schema":1480349193877,"blockID":"i435","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=903544","who":"All Firefox users who have this add-on installed.","why":"This add-on is malware that hijacks users' Facebook accounts and posts spam on their behalf. ","name":"Facebook Pluggets Plugin (malware)","created":"2013-08-09T13:12:14Z"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"3a63fd92-9290-02fb-a2e8-bc1b4424201a","last_modified":1480349207535},{"guid":"344141-fasf9jas08hasoiesj9ia8ws@jetpack","prefs":[],"schema":1480349193877,"blockID":"i1038","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1211169","who":"All users who have this add-on installed.","why":"This is a malicious add-on that hijacks Facebook accounts.","name":"Video Plugin (malware)","created":"2015-10-05T16:42:09Z"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"f7986b7b-9b5a-d372-8147-8b4bd6f5a29b","last_modified":1480349207485},{"guid":"meOYKQEbBBjH5Ml91z0p9Aosgus8P55bjTa4KPfl@jetpack","prefs":[],"schema":1480349193877,"blockID":"i998","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1201164","who":"All users who have this add-on installed.","why":"This is a malicious add-on that hijacks Facebook accounts.","name":"Smooth Player (malware)","created":"2015-09-07T13:54:25Z"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"30c3e511-9e8d-15ee-0867-d61047e56515","last_modified":1480349207370},{"guid":"{8dc5c42e-9204-2a64-8b97-fa94ff8a241f}","prefs":["browser.startup.homepage","browser.search.defaultenginename"],"schema":1480349193877,"blockID":"i770","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1088726","who":"All Firefox users who have this add-on installed.","why":"This add-on is silently installed and is considered malware, in violation of the Add-on Guidelines.","name":"Astrmenda Search","created":"2014-10-30T14:52:52Z"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"8a9c7702-0349-70d6-e64e-3a666ab084c6","last_modified":1480349207320},{"guid":"savingsslider@mybrowserbar.com","prefs":[],"schema":1480349193877,"blockID":"i752","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=963788","who":"All Firefox users who have this add-on installed. Users who wish to continue using it can enable it in the Add-ons Manager.","why":"This add-on is silently installed into users' systems, in violation of the Add-on Guidelines.","name":"Slick Savings","created":"2014-10-17T16:18:12Z"},"enabled":true,"versionRange":[{"severity":1,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"9b1faf30-5725-7847-d993-b5cdaabc9829","last_modified":1480349207290},{"guid":"youtubeunblocker__web@unblocker.yt","prefs":[],"schema":1480349193877,"blockID":"i1129","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1251911","who":"All users who have this add-on installed.","why":"The add-on has a mechanism that updates certain configuration files from the developer\u2019s website. This mechanism has a vulnerability that is being exploited through this website (unblocker.yt) to change security settings in Firefox and install malicious add-ons.","name":"YouTube Unblocker","created":"2016-03-01T21:20:05Z"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"aa246b36-0a80-81e3-2129-4847e872d5fe","last_modified":1480349207262},{"guid":"toolbar@ask.com","prefs":[],"schema":1480349193877,"blockID":"i612","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1024719","who":"All Firefox users who have these versions of the Ask Toolbar installed. Users who wish to continue using it can enable it in the Add-ons Manager.\r\n","why":"Certain old versions of the Ask Toolbar are causing problems to users when trying to open new tabs. Using more recent versions of the Ask Toolbar should also fix this problem.\r\n","name":"Ask Toolbar (old Avira Security Toolbar bundle)","created":"2014-06-12T14:23:00Z"},"enabled":true,"versionRange":[{"severity":1,"maxVersion":"3.15.24.*","minVersion":"3.15.24","targetApplication":[]}],"id":"e0ff9df4-60e4-dbd0-8018-57f395e6610a","last_modified":1480349206818},{"guid":"{1e4ea5fc-09e5-4f45-a43b-c048304899fc}","prefs":[],"schema":1480349193877,"blockID":"i812","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1073810","who":"All Firefox users who have this add-on installed.","why":"This add-on is silently installed into users' systems. It uses very unsafe practices to load its code, and leaks information of all web browsing activity. These are all violations of the Add-on Guidelines.","name":"Great Finder","created":"2015-01-06T13:22:39Z"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"1ea40b9f-2423-a2fd-a5e9-4ec1df2715f4","last_modified":1480349206784},{"guid":"psid-vhvxQHMZBOzUZA@jetpack","prefs":[],"schema":1480349193877,"blockID":"i70","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=730059","who":"All Firefox users who have installed this add-on.","why":"Add-on spams Facebook accounts and blocks Facebook warnings.","name":"PublishSync (malware)","created":"2012-02-23T13:44:41Z"},"enabled":true,"versionRange":[{"severity":1,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"f1528b02-7cef-0e80-f747-8bbf1f0f2f06","last_modified":1480349206758},{"guid":"{B18B1E5C-4D81-11E1-9C00-AFEB4824019B}","prefs":[],"schema":1480349193877,"blockID":"i447","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=788838","who":"All Firefox users who have this add-on installed. The add-on can be enabled again in the Add-ons Manager.","why":"This add-on is installed silently, in violation of our Add-on Guidelines.","name":"My Smart Tabs","created":"2013-09-06T16:00:19Z"},"enabled":true,"versionRange":[{"severity":1,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"40332fae-0444-a141-ade9-8d9e50370f56","last_modified":1480349206733},{"guid":"crossriderapp8812@crossrider.com","prefs":[],"schema":1480349193877,"blockID":"i314","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=835665","who":"All Firefox users who have this add-on installed.","why":"This add-on doesn't follow our Add-on Guidelines, bypassing our third party install opt-in screen. Users who wish to continue using this extension can enable it in the Add-ons Manager.","name":"Coupon Companion","created":"2013-03-06T14:14:51Z"},"enabled":true,"versionRange":[{"severity":1,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"06c07e28-0a34-e5ee-e724-491a2f6ce586","last_modified":1480349206708},{"guid":"/^(ffxtlbr@mixidj\\.com|{c0c2693d-2ee8-47b4-9df7-b67a0ee31988}|{67097627-fd8e-4f6b-af4b-ecb65e50112e}|{f6f0f973-a4a3-48cf-9a7a-b7a69c30d71a}|{a3d0e35f-f1da-4ccb-ae77-e9d27777e68d}|{1122b43d-30ee-403f-9bfa-3cc99b0caddd})$/","prefs":[],"schema":1480349193877,"blockID":"i540","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=963819","who":"All Firefox users who have this add-on installed.","why":"This add-on has been repeatedly blocked before and keeps showing up with new add-on IDs, in violation of the Add-on Guidelines.","name":"MixiDJ (malware)","created":"2014-01-28T14:07:56Z"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"4c03ddda-bb3f-f097-0a7b-b7b77b050584","last_modified":1480349206678},{"guid":"hansin@topvest.id","prefs":[],"schema":1480349193877,"blockID":"i836","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1130406","who":"All Firefox users who have this add-on installed.","why":"This is a malicious add-on that hijacks Facebook accounts.","name":"Inside News (malware)","created":"2015-02-06T14:17:39Z"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"0945a657-f28d-a02c-01b2-5115b3f90d7a","last_modified":1480349206628},{"guid":"lfind@nijadsoft.net","prefs":[],"schema":1480349193877,"blockID":"i358","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=874131","who":"All Firefox users who have this add-on installed.","why":"This add-on is silently installed, violating our Add-on Guidelines.\r\n\r\nUsers who wish to continue using this add-on can enable it in the Add-ons Manager.","name":"Lyrics Finder","created":"2013-05-24T14:09:47Z"},"enabled":true,"versionRange":[{"severity":1,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"2307f11c-6216-0dbf-a464-b2921055ce2b","last_modified":1480349206603},{"guid":"plugin@getwebcake.com","prefs":[],"schema":1480349193877,"blockID":"i484","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=938264","who":"All Firefox users who have this add-on installed.","why":"This add-on violates the Add-on Guidelines and is broadly considered to be malware. Users who wish to continue using this add-on can enable it in the Add-ons Manager.","name":"WebCake","created":"2013-11-14T09:55:24Z"},"enabled":true,"versionRange":[{"severity":1,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"2865addd-da1c-20c4-742f-6a2270da2e78","last_modified":1480349206578},{"guid":"{c0c2693d-2ee8-47b4-9df7-b67a0ee31988}","prefs":[],"schema":1480349193877,"blockID":"i354","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=837838","who":"All Firefox users who have this add-on installed.","why":"This add-on is silently installed, violating our Add-on Guidelines.\r\n\r\nUsers who wish to continue using this add-on can enable it in the Add-ons Manager.","name":"Mixi DJ","created":"2013-05-23T14:31:21Z"},"enabled":true,"versionRange":[{"severity":1,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"03a745c3-0ee7-e262-ba31-62d4f78ddb62","last_modified":1480349206525},{"guid":"/^({7316e43a-3ebd-4bb4-95c1-9caf6756c97f}|{0cc09160-108c-4759-bab1-5c12c216e005}|{ef03e721-f564-4333-a331-d4062cee6f2b}|{465fcfbb-47a4-4866-a5d5-d12f9a77da00}|{7557724b-30a9-42a4-98eb-77fcb0fd1be3}|{b7c7d4b0-7a84-4b73-a7ef-48ef59a52c3b})$/","prefs":[],"schema":1480349193877,"blockID":"i520","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=947485","who":"All Firefox users who have this add-on installed. Users who wish to continue using it can enable it in the Add-ons Manager.","why":"The installer that includes this add-on violates the Add-on Guidelines by being silently installed and using multiple add-on IDs.","name":"appbario7","created":"2013-12-20T13:11:46Z"},"enabled":true,"versionRange":[{"severity":1,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"e3901c48-9c06-fecb-87d3-efffd9940c22","last_modified":1480349206491},{"guid":"{354dbb0a-71d5-4e9f-9c02-6c88b9d387ba}","prefs":[],"schema":1480349193877,"blockID":"i538","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=964081","who":"All Firefox users who have this add-on installed.","why":"This is a malicious add-on that hijacks Facebook accounts.","name":"Show Mask ON (malware)","created":"2014-01-27T10:13:17Z"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"aad90253-8921-b5df-3658-45a70d75f3d7","last_modified":1480349206465},{"guid":"{8E9E3331-D360-4f87-8803-52DE43566502}","prefs":[],"schema":1480349193877,"blockID":"i461","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=906071","who":"All Firefox users who have this add-on installed. Users who wish to continue using it can enable it in the Add-ons Manager.","why":"This is a companion add-on for the SweetPacks Toolbar which is blocked due to guideline violations.","name":"Updater By SweetPacks","created":"2013-10-17T16:10:51Z"},"enabled":true,"versionRange":[{"severity":1,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"ae8cca6e-4258-545f-9a69-3d908264a701","last_modified":1480349206437},{"guid":"info@bflix.info","prefs":[],"schema":1480349193877,"blockID":"i172","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=806802","who":"All Firefox users who have this add-on installed.","why":"These are malicious add-ons that are distributed with a trojan and negatively affect web browsing.","name":"Bflix (malware)","created":"2012-10-30T13:39:22Z"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"7a9062f4-218d-51d2-9b8c-b282e6eada4f","last_modified":1480349206384},{"guid":"{dff137ae-1ffd-11e3-8277-b8ac6f996f26}","prefs":[],"schema":1480349193877,"blockID":"i450","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=917861","who":"All Firefox users who have this add-on installed.","why":"This is add-on is malware that silently redirects popular search queries to a third party.","name":"Addons Engine (malware)","created":"2013-09-18T16:19:34Z"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"8e583fe4-1c09-9bea-2473-faecf3260685","last_modified":1480349206312},{"guid":"12x3q@3244516.com","prefs":[],"schema":1480349193877,"blockID":"i493","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=939254","who":"All Firefox users who have this add-on installed.","why":"This add-on appears to be malware and is installed silently in violation of the Add-on Guidelines.","name":"BetterSurf (malware)","created":"2013-12-02T12:49:36Z"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"af2a9e74-3753-9ff1-d899-5d1e79ed3dce","last_modified":1480349206286},{"guid":"{20AD702C-661E-4534-8CE9-BA4EC9AD6ECC}","prefs":[],"schema":1480349193877,"blockID":"i626","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1027886","who":"All Firefox users who have this add-on installed.","why":"This add-on is probably silently installed, and is causing significant stability issues for users, in violation of the Add-on Guidelines.","name":"V-Bates","created":"2014-06-19T15:16:38Z"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"9b9ccabe-8f9a-e3d1-a689-1aefba1f33b6","last_modified":1480349206261},{"guid":"{c5e48979-bd7f-4cf7-9b73-2482a67a4f37}","prefs":[],"schema":1480349193877,"blockID":"i736","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1080842","who":"All Firefox users who have this add-on installed. Users who wish to continue using it can enable it in the Add-ons Manager.","why":"This add-on is silently installed into users' systems, in violation of the Add-on Guidelines.","name":"ClearThink","created":"2014-10-17T15:22:41Z"},"enabled":true,"versionRange":[{"severity":1,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"6e8b3e4f-2f59-cde3-e6d2-5bc6e216c506","last_modified":1480349206231},{"guid":"{41339ee8-61ed-489d-b049-01e41fd5d7e0}","prefs":[],"schema":1480349193877,"blockID":"i810","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1073810","who":"All Firefox users who have this add-on installed.","why":"This add-on is silently installed into users' systems. It uses very unsafe practices to load its code, and leaks information of all web browsing activity. These are all violations of the Add-on Guidelines.","name":"FireWeb","created":"2014-12-23T10:32:26Z"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"a35f2ca6-aec4-c01d-170e-650258ebcd2c","last_modified":1480349206165},{"guid":"jid0-l9BxpNUhx1UUgRfKigWzSfrZqAc@jetpack","prefs":[],"schema":1480349193877,"blockID":"i640","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1036640","who":"All Firefox users who have this add-on installed.","why":"This add-on attempts to gather private user data and send it to a remote location. It doesn't appear to be very effective at it, but its malicious nature is undeniable.","name":"Bitcoin Mining Software","created":"2014-07-09T14:35:40Z"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"8fe3c35e-1a6f-a89a-fa96-81bda3b71db1","last_modified":1480349206133},{"guid":"{845cab51-d8d2-472f-8bd9-2b44642d97c2}","prefs":[],"schema":1480349193877,"blockID":"i460","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=927456","who":"All Firefox users who have this add-on installed.","why":"This add-on is silently installed and handles users' settings, violating some of the Add-on Guidelines. Users who wish to continue using this add-on can enable it in the Add-ons Manager.","name":"Vafmusic9","created":"2013-10-17T15:50:38Z"},"enabled":true,"versionRange":[{"severity":1,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"8538ccb4-3b71-9858-3f6d-c0fff7af58b0","last_modified":1480349205746},{"guid":"SpecialSavings@SpecialSavings.com","prefs":[],"schema":1480349193877,"blockID":"i676","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=881511","who":"All Firefox users who have this add-on installed. Users who wish to continue using this add-on can enable it in the Add-ons Manager.","why":"This is add-on is generally considered to be unwanted and is probably silently installed, in violation of the Add-on Guidelines.","name":"SpecialSavings","created":"2014-07-22T16:31:56Z"},"enabled":true,"versionRange":[{"severity":1,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"5e921810-fc3a-0729-6749-47e38ad10a22","last_modified":1480349205688},{"guid":"afurladvisor@anchorfree.com","prefs":[],"schema":1480349193877,"blockID":"i434","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=844945","who":"All Firefox users who have this add-on installed.","why":"This add-on bypasses the external install opt in screen in Firefox, violating the Add-on Guidelines. Users who wish to continue using this add-on can enable it in the Add-ons Manager.","name":"Hotspot Shield Helper","created":"2013-08-09T11:26:11Z"},"enabled":true,"versionRange":[{"severity":1,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"083585eb-d7e7-e228-5fbf-bf35c52044e4","last_modified":1480349205645},{"guid":"addonhack@mozilla.kewis.ch","prefs":[],"schema":1480349193877,"blockID":"i994","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1200848","who":"All users who have this add-on installed.","why":"This add-on is a proof of concept of malicious behavior in an add-on. In itself it doesn't cause any harm, but it still needs to be blocked for security reasons.","name":"Addon Hack","created":"2015-09-01T15:32:36Z"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"81f75571-ca2a-0e50-a925-daf2037ce63c","last_modified":1480349205584},{"guid":"info@thebflix.com","prefs":[],"schema":1480349193877,"blockID":"i174","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=806802","who":"All Firefox users who have these add-ons installed.","why":"These are malicious add-ons that are distributed with a trojan and negatively affect web browsing.","name":"Bflix (malware)","created":"2012-10-30T13:40:31Z"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"811a61d4-9435-133e-6262-fb72486c36b0","last_modified":1480349205526},{"guid":"{EEE6C361-6118-11DC-9C72-001320C79847}","prefs":[],"schema":1480349193877,"blockID":"i392","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=881447","who":"All Firefox users who have this add-on installed. Users who wish to continue using it can enable it in the Add-ons Manager.","why":"This add-on changes search settings without user interaction, and fails to reset them after it is removed. This violates our Add-on Guidelines.","name":"SweetPacks Toolbar","created":"2013-06-25T12:38:45Z"},"enabled":true,"versionRange":[{"severity":1,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"c1dc6607-4c0a-4031-9f14-70ef1ae1edcb","last_modified":1480349205455},{"guid":"/^(4cb61367-efbf-4aa1-8e3a-7f776c9d5763@cdece6e9-b2ef-40a9-b178-291da9870c59\\.com|0efc9c38-1ec7-49ed-8915-53a48b6b7600@e7f17679-2a42-4659-83c5-7ba961fdf75a\\.com|6be3335b-ef79-4b0b-a0ba-b87afbc6f4ad@6bbb4d2e-e33e-4fa5-9b37-934f4fb50182\\.com)$/","prefs":[],"schema":1480349193877,"blockID":"i531","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=949672","who":"All Firefox users who have this add-on installed. Users who wish to continue using it can enable it in the Add-ons Manager.","why":"The installer that includes this add-on violates the Add-on Guidelines by making changes that can't be easily reverted and using multiple IDs.","name":"Feven","created":"2013-12-20T15:01:22Z"},"enabled":true,"versionRange":[{"severity":1,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"46aa79a9-d329-f713-d4f2-07d31fe7071e","last_modified":1480349205287},{"guid":"afext@anchorfree.com","prefs":[],"schema":1480349193877,"blockID":"i466","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=933988","who":"All Firefox users who have this add-on installed.","why":"This add-on doesn't respect user choice, violating the Add-on Guidelines. Users who wish to continue using this add-on can enable it in the Add-ons Manager.","name":"Hotspot Shield Extension","created":"2013-11-07T13:32:41Z"},"enabled":true,"versionRange":[{"severity":1,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"8176f879-bd73-5468-e908-2d7cfc115ac2","last_modified":1480349205108},{"guid":"{FCE04E1F-9378-4f39-96F6-5689A9159E45}","prefs":[],"schema":1480349193877,"blockID":"i920","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1173154","who":"All Firefox users who have this add-on installed in Firefox 39 and above.\r\n","why":"Certain versions of this extension are causing startup crashes in Firefox 39 and above.\r\n","name":"RealPlayer Browser Record Plugin","created":"2015-06-09T15:26:47Z"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0","targetApplication":[{"guid":"{ec8030f7-c20a-464f-9b0e-13a3a9e97384}","maxVersion":"*","minVersion":"39.0a1"}]}],"id":"eb191ff0-20f4-6e04-4344-d880af4faf51","last_modified":1480349204978},{"guid":"{9CE11043-9A15-4207-A565-0C94C42D590D}","prefs":[],"schema":1480349193877,"blockID":"i503","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=947384","who":"All Firefox users who have this add-on installed.","why":"This is a malicious extension that uses a deceptive name to stay in users' systems.","name":"XUL Cache (malware)","created":"2013-12-06T11:58:38Z"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"dcdae267-8d3a-5671-dff2-f960febbbb20","last_modified":1480349204951},{"guid":"/^[a-z0-9]+@foxysecure[a-z0-9]*\\.com$/","prefs":[],"schema":1480349193877,"blockID":"i766","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1088615","who":"All Firefox users who have this add-on installed. Users who wish to continue using this add-on can enable it in the Add-ons Manager.","why":"This add-on is silently installed into users' systems, in violation of the Add-on Guidelines.","name":"Fox Sec 7","created":"2014-10-30T14:22:18Z"},"enabled":true,"versionRange":[{"severity":1,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"503fbd7c-04cd-65f3-9d0e-3ecf427b4a8f","last_modified":1480349204925},{"guid":"/^(jid1-W4CLFIRExukJIFW@jetpack|jid1-W4CLFIRExukJIFW@jetpack_1|jid1-W3CLwrP[a-z]+@jetpack)$/","prefs":[],"schema":1480349193877,"blockID":"i1078","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1240561","who":"All Firefox users who have this add-on installed.","why":"This is a malicious extension that tries to pass itself for the Adobe Flash Player and hides itself in the Add-ons Manager.","name":"Adobe Flash Player (malware)","created":"2016-01-18T10:31:51Z"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"b026fe67-ec77-a240-2fa1-e78f581a6fe4","last_modified":1480349204899},{"guid":"{0153E448-190B-4987-BDE1-F256CADA672F}","prefs":[],"schema":1480349193877,"blockID":"i914","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1170633","who":"All Firefox users who have this add-on installed in Firefox 39 and above.","why":"Certain versions of this extension are causing startup crashes in Firefox 39 and above.","name":"RealPlayer Browser Record Plugin","created":"2015-06-02T09:56:58Z"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0","targetApplication":[{"guid":"{ec8030f7-c20a-464f-9b0e-13a3a9e97384}","maxVersion":"*","minVersion":"39.0a1"}]}],"id":"2bfe0d89-e458-9d0e-f944-ddeaf8c4db6c","last_modified":1480349204871},{"guid":"{77beece6-3997-403a-92fa-0055bfcf88e5}","prefs":[],"schema":1480349193877,"blockID":"i452","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=916966","who":"All Firefox users who have this add-on installed.","why":"This add-on doesn't follow our Add-on Guidelines, manipulating settings without reverting them on removal. Users who wish to continue using this add-on can enable it in the Add-ons Manager.","name":"Entrusted11","created":"2013-09-18T16:34:58Z"},"enabled":true,"versionRange":[{"severity":1,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"d348f91f-caeb-a803-dfd9-fd5d285aa0fa","last_modified":1480349204844},{"guid":"dealcabby@jetpack","prefs":[],"schema":1480349193877,"blockID":"i222","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=811435","who":"All Firefox users who have this add-on installed.","why":"This add-on is silently side-installed with other software, injecting advertisements in Firefox.","name":"DealCabby","created":"2012-11-29T16:20:24Z"},"enabled":true,"versionRange":[{"severity":1,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"6585f0bd-4f66-71e8-c565-d9762c5c084a","last_modified":1480349204818},{"guid":"{3c9a72a0-b849-40f3-8c84-219109c27554}","prefs":[],"schema":1480349193877,"blockID":"i510","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=951301","who":"All Firefox users who have this add-on installed.","why":"This add-on is malware that hijacks users' Facebook accounts.","name":"Facebook Haber (malware)","created":"2013-12-17T14:27:13Z"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"7cfa3d0b-0ab2-5e3a-8143-1031c180e32f","last_modified":1480349204778},{"guid":"{4ED1F68A-5463-4931-9384-8FFF5ED91D92}","prefs":[],"schema":1480349193877,"blockID":"i1245","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1286368","who":"All users who have McAfee SiteAdvisor lower than 4.0. \r\n\r\nTo resolve this issue, users will need to uninstall McAfee SiteAdvisor/WebAdvisor, reboot the computer, and then reinstall McAfee SiteAdvisor/WebAdvisor. \r\n\r\nFor detailed instructions, please refer to the McAfee support knowledge base.","why":"Old versions of McAfee SiteAdvisor cause startup crashes starting with Firefox 48.0 beta.","name":"McAfee SiteAdvisor lower than 4.0","created":"2016-07-14T21:24:02Z"},"enabled":true,"versionRange":[{"severity":1,"maxVersion":"3.9.9","minVersion":"0","targetApplication":[]}],"id":"d727d8c5-3329-c98a-7c7e-38b0813ca516","last_modified":1480349204748},{"guid":"{2aab351c-ad56-444c-b935-38bffe18ad26}","prefs":[],"schema":1480349193877,"blockID":"i500","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=946087","who":"All Firefox users who have this add-on installed.","why":"This is a malicious Firefox extension that uses a deceptive name and hijacks users' Facebook accounts.","name":"Adobe Photo (malware)","created":"2013-12-04T15:29:44Z"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"f7a76d34-ddcd-155e-9fae-5967bd796041","last_modified":1480349204716},{"guid":"jid1-4P0kohSJxU1qGg@jetpack","prefs":[],"schema":1480349193877,"blockID":"i488","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=942935","who":"All Firefox users who have version 1.2.50 of the Hola extension. Updating to the latest version should remove the block.","why":"Version 1.2.50 of the Hola extension is causing frequent crashes in Firefox. All users are strongly recommended to update to the latest version, which shouldn't have this problem.","name":"Hola, version 1.2.50","created":"2013-11-25T12:14:57Z"},"enabled":true,"versionRange":[{"severity":1,"maxVersion":"1.2.50","minVersion":"1.2.50","targetApplication":[]}],"id":"5c7f1635-b39d-4278-5f95-9042399c776e","last_modified":1480349204668},{"guid":"{0A92F062-6AC6-8180-5881-B6E0C0DC2CC5}","prefs":["browser.startup.homepage","browser.search.defaultenginename"],"schema":1480349193877,"blockID":"i864","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1131220","who":"All users who have this add-on installed. Users who wish to continue using the add-on can enable it in the Add-ons Manager.","why":"This add-on is silently installed into users' systems and makes unwanted settings changes, in violation of our Add-on Guidelines.","name":"BlockAndSurf","created":"2015-02-26T12:56:19Z"},"enabled":true,"versionRange":[{"severity":1,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"acb16d1c-6274-93a3-7c1c-7ed36ede64a9","last_modified":1480349204612},{"guid":"jid0-Y6TVIzs0r7r4xkOogmJPNAGFGBw@jetpack","prefs":[],"schema":1480349193877,"blockID":"i322","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=847018","who":"All users who have this add-on installed.","why":"This extension is malware, installed pretending to be the Flash Player plugin.","name":"Flash Player (malware)","created":"2013-03-22T14:39:40Z"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"54df22cd-19ce-a7f0-63cc-ffe3113748b9","last_modified":1480349204532},{"guid":"trackerbird@bustany.org","prefs":[],"schema":1480349193877,"blockID":"i986","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1189264","who":"All Thunderbird users who have this version of the add-on installed on Thunderbird 38.0a2 and above.","why":"This add-on is causing consistent crashes on Thunderbird 38.0a2 and above.","name":"trackerbird 1.2.6","created":"2015-08-17T15:56:04Z"},"enabled":true,"versionRange":[{"severity":1,"maxVersion":"1.2.6","minVersion":"1.2.6","targetApplication":[{"guid":"{3550f703-e582-4d05-9a08-453d09bdfdc6}","maxVersion":"*","minVersion":"38.0a2"}]}],"id":"bb1c699e-8790-4528-0b6d-4f83b7a3152d","last_modified":1480349204041},{"guid":"{0134af61-7a0c-4649-aeca-90d776060cb3}","prefs":[],"schema":1480349193877,"blockID":"i448","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=912746","who":"All Firefox users who have this add-on installed.","why":"This add-on doesn't follow our Add-on Guidelines. It manipulates settings without reverting them on removal. Users who wish to continue using this add-on can enable it in the Add-ons Manager.","name":"KeyBar add-on","created":"2013-09-13T16:15:39Z"},"enabled":true,"versionRange":[{"severity":1,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"cf428416-4974-8bb4-7928-c0cb2cfe7957","last_modified":1480349203968},{"guid":"/^(firefox@vebergreat\\.net|EFGLQA@78ETGYN-0W7FN789T87\\.COM)$/","prefs":[],"schema":1480349193877,"blockID":"i564","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=974104","who":"All Firefox users who have these add-ons installed. If you wish to continue using these add-ons, you can enable them in the Add-ons Manager.","why":"These add-ons are silently installed by the Free Driver Scout installer, in violation of our Add-on Guidelines.","name":"veberGreat and vis (Free Driver Scout bundle)","created":"2014-03-05T13:02:57Z"},"enabled":true,"versionRange":[{"severity":1,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"487538f1-698e-147e-6395-986759ceed7e","last_modified":1480349203902},{"guid":"69ffxtbr@PackageTracer_69.com","prefs":["browser.startup.homepage","browser.search.defaultenginename"],"schema":1480349193877,"blockID":"i882","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1153001","who":"All Firefox users who have this add-on installed. Users who wish to continue using it can enable it in the Add-ons Manager.","why":"This add-on appears to be malware, hijacking user's settings, in violation of the Add-on Guidelines.","name":"PackageTracer","created":"2015-04-10T16:18:35Z"},"enabled":true,"versionRange":[{"severity":1,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"0d37b4e0-3c60-fdad-dd8c-59baff6eae87","last_modified":1480349203836},{"guid":"{ACAA314B-EEBA-48e4-AD47-84E31C44796C}","prefs":[],"schema":1480349193877,"blockID":"i496","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=945530","who":"All Firefox users who have this add-on installed. Users who wish to continue using it can enable it in the Add-ons Manager.","why":"The installer that includes this add-on violates the Add-on Guidelines by making settings changes that can't be easily reverted.","name":"DVDVideoSoft Menu","created":"2013-12-03T16:07:59Z"},"enabled":true,"versionRange":[{"severity":1,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"70d2c912-8d04-8065-56d6-d793b13d5f67","last_modified":1480349203779},{"guid":"jid1-4vUehhSALFNqCw@jetpack","prefs":[],"schema":1480349193877,"blockID":"i632","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1033002","who":"All Firefox users who have this version of the add-on installed.","why":"Version 100.7 of the YouTube Plus Plus extension isn't developed by the original developer, and is likely malicious in nature. It violates the Add-on Guidelines for reusing an already existent ID.","name":"YouTube Plus Plus 100.7","created":"2014-07-01T13:16:55Z"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"100.7","minVersion":"100.7","targetApplication":[]}],"id":"8bef6026-6697-99cd-7c1f-812877c4211d","last_modified":1480349203658},{"guid":"{a9bb9fa0-4122-4c75-bd9a-bc27db3f9155}","prefs":[],"schema":1480349193877,"blockID":"i404","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=835678","who":"All Firefox users who have this add-on installed. Users who wish to continue using it can enable it in the Add-ons Manager.","why":"This group of add-ons is silently installed, bypassing our install opt-in screen. This violates our Add-on Guidelines.","name":"Searchqu","created":"2013-06-25T15:16:43Z"},"enabled":true,"versionRange":[{"severity":1,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"fb7a1dc7-16a0-4f70-8289-4df494e0d0fa","last_modified":1480349203633},{"guid":"P2@D.edu","prefs":[],"schema":1480349193877,"blockID":"i850","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1128269","who":"All Firefox users who have this add-on installed.","why":"This add-on is silently installed and performs unwanted actions, in violation of the Add-on Guidelines.","name":"unIsaless","created":"2015-02-09T15:29:21Z"},"enabled":true,"versionRange":[{"severity":1,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"49536a29-fc7e-9fd0-f415-e15ac090fa56","last_modified":1480349203605},{"guid":"linksicle@linksicle.com","prefs":[],"schema":1480349193877,"blockID":"i472","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=935779","who":"All Firefox users who have this add-on installed.","why":"This add-on is part of a malicious Firefox installer bundle.","name":"Installer bundle (malware)","created":"2013-11-07T15:38:38Z"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"9b5b15b3-6da7-cb7c-3c44-30b4fe079d52","last_modified":1480349203581},{"guid":"{377e5d4d-77e5-476a-8716-7e70a9272da0}","prefs":[],"schema":1480349193877,"blockID":"i398","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=835678","who":"All Firefox users who have this add-on installed. Users who wish to continue using it can enable it in the Add-ons Manager.","why":"This group of add-ons is silently installed, bypassing our install opt-in screen. This violates our Add-on Guidelines.","name":"Searchqu","created":"2013-06-25T15:15:46Z"},"enabled":true,"versionRange":[{"severity":1,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"ea94df32-2a85-23da-43f7-3fc5714530ec","last_modified":1480349203519},{"guid":"{4933189D-C7F7-4C6E-834B-A29F087BFD23}","prefs":[],"schema":1480349193877,"blockID":"i437","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=900695","who":"All Firefox users.","why":"This add-on is widely reported to be malware.","name":"Win32.SMSWebalta (malware)","created":"2013-08-09T15:14:27Z"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"cbef1357-d6bc-c8d3-7a82-44af6b1c390f","last_modified":1480349203486},{"guid":"{ADFA33FD-16F5-4355-8504-DF4D664CFE10}","prefs":[],"schema":1480349193877,"blockID":"i306","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=844972","who":"All Firefox users who have this add-on installed. Users who wish to continue using this add-on can enable it in the Add-ons Manager.","why":"This add-on is silently installed, bypassing our third-party opt-in screen, in violation of our Add-on Guidelines. It's also possible that it changes user settings without their consent.","name":"Nation Toolbar","created":"2013-02-28T12:56:48Z"},"enabled":true,"versionRange":[{"severity":1,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"017fd151-37ca-4646-4763-1d303fb918fa","last_modified":1480349203460},{"guid":"detgdp@gmail.com","prefs":["browser.startup.homepage","browser.search.defaultenginename"],"schema":1480349193877,"blockID":"i884","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1152614","who":"All Firefox users who have this add-on installed.","why":"This add-on appears to be malware, hijacking user settings, in violation of the Add-on Guidelines.","name":"Security Protection (malware)","created":"2015-04-10T16:21:34Z"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"1b5cc88e-499d-2a47-d793-982d4c05e6ee","last_modified":1480349203433},{"guid":"/^(67314b39-24e6-4f05-99f3-3f88c7cddd17@6c5fa560-13a3-4d42-8e90-53d9930111f9\\.com|ffxtlbr@visualbee\\.com|{7aeae561-714b-45f6-ace3-4a8aed6e227b}|{7093ee04-f2e4-4637-a667-0f730797b3a0}|{53c4024f-5a2e-4f2a-b33e-e8784d730938})$/","prefs":[],"schema":1480349193877,"blockID":"i514","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=947473","who":"All Firefox users who have this add-on installed. Users who wish to continue using it can enable it in the Add-ons Manager.","why":"The installer that includes this add-on violates the Add-on Guidelines by using multiple add-on IDs and making unwanted settings changes.","name":"VisualBee Toolbar","created":"2013-12-20T12:25:50Z"},"enabled":true,"versionRange":[{"severity":1,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"5f91eee1-7303-3f97-dfe6-1e897a156c7f","last_modified":1480349203408},{"guid":"FXqG@xeeR.net","prefs":["browser.startup.homepage"],"schema":1480349193877,"blockID":"i720","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1076771","who":"All Firefox users who have this add-on installed. Users who wish to continue using it can enable it in the Add-ons Manager.","why":"This add-on is silently installed into users' systems and changes settings without consent, in violation of the Add-on Guidelines.","name":"GoSSave","created":"2014-10-02T12:23:01Z"},"enabled":true,"versionRange":[{"severity":1,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"8ebbc061-a4ff-b75b-ec42-eb17c42a2956","last_modified":1480349203341},{"guid":"{87934c42-161d-45bc-8cef-ef18abe2a30c}","prefs":[],"schema":1480349193877,"blockID":"i547","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=798621","who":"All Firefox users who have this add-on installed. If you wish to continue using it, it can be enabled in the Add-ons Manager.","why":"This add-on is silently installed and makes various unwanted changes, in violation of the Add-on Guidelines.","name":"Ad-Aware Security Toolbar","created":"2014-01-30T12:42:01Z"},"enabled":true,"versionRange":[{"severity":1,"maxVersion":"3.7.9999999999","minVersion":"0","targetApplication":[]}],"id":"bcfbc502-24c2-4699-7435-e4837118f05a","last_modified":1480349203310},{"guid":"kallow@facebook.com","prefs":[],"schema":1480349193877,"blockID":"i495","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=945426","who":"All Firefox users who have this add-on installed.","why":"This is a malicious Firefox extension that uses a deceptive name and hijacks users' Facebook accounts.","name":"Facebook Security Service (malware)","created":"2013-12-02T15:09:42Z"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"1a2c37a9-e7cc-2d03-2043-098d36b8aca2","last_modified":1480349203247},{"guid":"support@lastpass.com","prefs":[],"schema":1480349193877,"blockID":"i1261","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1289907","who":"All users who install affected versions of this add-on - beta versions 4.0 to 4.1.20a from addons.mozilla.org or lastpass.com.","why":"LastPass have announced there are security issues that would allow a malicious website to perform some actions (e.g. deleting passwords) without the user's knowledge. Beta versions 4.0 to 4.1.20a of their add-on that were available from addons.mozilla.org are affected and Lastpass also distributed these versions direct from their website.","name":"LastPass addon","created":"2016-07-29T14:17:31Z"},"enabled":true,"versionRange":[{"severity":1,"maxVersion":"4.1.20a","minVersion":"4.0.0a","targetApplication":[]}],"id":"ffe94023-b4aa-87ac-962c-5beabe34b1a0","last_modified":1480349203208},{"guid":"008abed2-b43a-46c9-9a5b-a771c87b82da@1ad61d53-2bdc-4484-a26b-b888ecae1906.com","prefs":[],"schema":1480349193877,"blockID":"i528","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=949565","who":"All Firefox users who have this add-on installed. Users who wish to continue using it can enable it in the Add-ons Manager.","why":"The installer that includes this add-on violates the Add-on Guidelines by being silently installed.","name":"weDownload Manager Pro","created":"2013-12-20T14:40:58Z"},"enabled":true,"versionRange":[{"severity":1,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"da46065f-1c68-78f7-80fc-8ae07b5df68d","last_modified":1480349203131},{"guid":"{25dd52dc-89a8-469d-9e8f-8d483095d1e8}","prefs":[],"schema":1480349193877,"blockID":"i714","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1073810","who":"All Firefox users who have this add-on installed.","why":"This add-on is silently installed into users' systems. It uses very unsafe practices to load its code, and leaks information of all web browsing activity. These are all violations of the Add-on Guidelines.","name":"Web Counselor","created":"2014-10-01T15:36:06Z"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"e46c31ad-0ab3-e48a-47aa-9fa91b675fda","last_modified":1480349203066},{"guid":"{B1FC07E1-E05B-4567-8891-E63FBE545BA8}","prefs":[],"schema":1480349193877,"blockID":"i926","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1173154","who":"All Firefox users who have this add-on installed in Firefox 39 and above.\r\n","why":"Certain versions of this extension are causing startup crashes in Firefox 39 and above.\r\n","name":"RealPlayer Browser Record Plugin","created":"2015-06-09T15:28:46Z"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0","targetApplication":[{"guid":"{ec8030f7-c20a-464f-9b0e-13a3a9e97384}","maxVersion":"*","minVersion":"39.0a1"}]}],"id":"09868783-261a-ac24-059d-fc772218c1ba","last_modified":1480349202708},{"guid":"/^(torntv@torntv\\.com|trtv3@trtv\\.com|torntv2@torntv\\.com|e2fd07a6-e282-4f2e-8965-85565fcb6384@b69158e6-3c3b-476c-9d98-ae5838c5b707\\.com)$/","prefs":[],"schema":1480349193877,"blockID":"i529","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=949559","who":"All Firefox users who have this add-on installed. Users who wish to continue using it can enable it in the Add-ons Manager.","why":"The installer that includes this add-on violates the Add-on Guidelines by being silently installed.","name":"TornTV","created":"2013-12-20T14:46:03Z"},"enabled":true,"versionRange":[{"severity":1,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"040e5ec2-ea34-816a-f99f-93296ce845e8","last_modified":1480349202677},{"guid":"249911bc-d1bd-4d66-8c17-df533609e6d8@c76f3de9-939e-4922-b73c-5d7a3139375d.com","prefs":[],"schema":1480349193877,"blockID":"i532","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=949672","who":"All Firefox users who have this add-on installed. Users who wish to continue using it can enable it in the Add-ons Manager.","why":"The installer that includes this add-on violates the Add-on Guidelines by making changes that can't be easily reverted and using multiple IDs.","name":"Feven","created":"2013-12-20T15:02:01Z"},"enabled":true,"versionRange":[{"severity":1,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"d32b850d-82d5-b63d-087c-fb2041b2c232","last_modified":1480349202631},{"guid":"thefoxonlybetter@quicksaver","prefs":[],"schema":1480349193877,"blockID":"i704","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1053469","who":"All Firefox users who have any of these versions of the add-on installed.","why":"Certain versions of The Fox, Only Better weren't developed by the original developer, and are likely malicious in nature. This violates the Add-on Guidelines for reusing an already existent ID.","name":"The Fox, Only Better (malicious versions)","created":"2014-08-27T14:49:02Z"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"0.*","minVersion":"0","targetApplication":[]}],"id":"79ea6621-b414-17a4-4872-bfc4af7fd428","last_modified":1480349202588},{"guid":"{B40794A0-7477-4335-95C5-8CB9BBC5C4A5}","prefs":[],"schema":1480349193877,"blockID":"i429","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=899178","who":"All Firefox users who have this add-on installed.","why":"This add-on is malware that spreads spam through Facebook.","name":"Video Player 1.3 (malware)","created":"2013-07-30T14:31:17Z"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"d98b2b76-4082-3387-ae33-971d973fa278","last_modified":1480349202541},{"guid":"firefoxaddon@youtubeenhancer.com","prefs":[],"schema":1480349193877,"blockID":"i648","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1036757","who":"All Firefox users who have this version of the add-on installed.","why":"Certain versions of the YouTube Enhancer Plus extension weren't developed by the original developer, and are likely malicious in nature. This violates the Add-on Guidelines for reusing an already existent ID.","name":"YouTube Enhancer Plus, versions between 199.7.0 and 208.7.0","created":"2014-07-10T15:12:48Z"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"208.7.0","minVersion":"199.7.0","targetApplication":[]}],"id":"7e64d7fc-ff16-8687-dbd1-bc4c7dfc5097","last_modified":1480349202462},{"guid":"addon@defaulttab.com","prefs":[],"schema":1480349193877,"blockID":"i362","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=863387","who":"All users who have this add-on installed. Users who wish to enable it again can do so in the Add-ons Manager tab.","why":"Old versions of this add-on had been silently installed into users' systems, without showing the opt-in install page that is built into Firefox.","name":"Default Tab","created":"2013-06-06T12:57:29Z"},"enabled":true,"versionRange":[{"severity":1,"maxVersion":"1.4.4","minVersion":"0","targetApplication":[]}],"id":"df3fe753-5bae-bfb4-022b-6b6bfc534937","last_modified":1480349202429},{"guid":"{7D4F1959-3F72-49d5-8E59-F02F8AA6815D}","prefs":[],"schema":1480349193877,"blockID":"i394","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=881447","who":"All Firefox users who have this add-on installed. Users who wish to continue using it can enable it in the Add-ons Manager.","why":"This is a companion add-on for the SweetPacks Toolbar which is blocked due to guideline violations.","name":"Updater By SweetPacks","created":"2013-06-25T12:40:41Z"},"enabled":true,"versionRange":[{"severity":1,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"851c2b8e-ea19-3a63-eac5-f931a8da5d6e","last_modified":1480349202341},{"guid":"g@uzcERQ6ko.net","prefs":["browser.startup.homepage","browser.search.defaultenginename"],"schema":1480349193877,"blockID":"i776","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1076771","who":"All Firefox users who have this add-on installed. Users who wish to continue using it can enable it in the Add-ons Manager.","why":"This add-on is silently installed and changes user settings without consent, in violation of the Add-on Guidelines","name":"GoSave","created":"2014-10-31T16:23:36Z"},"enabled":true,"versionRange":[{"severity":1,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"ee1e1a44-b51b-9f12-819d-64c3e515a147","last_modified":1480349202307},{"guid":"ffxtlbr@incredibar.com","prefs":[],"schema":1480349193877,"blockID":"i318","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=812264","who":"All Firefox users who have this add-on installed.","why":"This add-on doesn't follow our Add-on Guidelines, bypassing our third party install opt-in screen. Users who wish to continue using this extension can enable it in the Add-ons Manager.","name":"IncrediBar","created":"2013-03-20T14:40:32Z"},"enabled":true,"versionRange":[{"severity":1,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"9e84b07c-84d5-c932-85f2-589713d7e380","last_modified":1480349202280},{"guid":"M1uwW0@47z8gRpK8sULXXLivB.com","prefs":[],"schema":1480349193877,"blockID":"i870","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1131159","who":"All users who have this add-on installed.","why":"This is a malicious add-on that goes by the the name \"Flash Player 11\".","name":"Flash Player 11 (malware)","created":"2015-03-04T14:34:08Z"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"71d961b2-37d1-d393-76f5-3afeef57e749","last_modified":1480349202252},{"guid":"jid1-qj0w91o64N7Eeg@jetpack","prefs":[],"schema":1480349193877,"blockID":"i650","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1036757","who":"All Firefox users who have this version of the add-on installed.","why":"Certain versions of the YouTube ALL HTML5 extension weren't developed by the original developer, and are likely malicious in nature. This violates the Add-on Guidelines for reusing an already existent ID.","name":"YouTube ALL HTML5, versions between 39.5.1 and 47.0.4","created":"2014-07-10T15:14:26Z"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"47.0.4","minVersion":"39.5.1","targetApplication":[]}],"id":"b30b1f7a-2a30-a6cd-fc20-6c9cb23c7198","last_modified":1480349202186},{"guid":"4zffxtbr-bs@VideoDownloadConverter_4z.com","prefs":[],"schema":1480349193877,"blockID":"i507","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=949266","who":"All Firefox users who have this add-on installed.","why":"Certain versions of this add-on contains an executable that is flagged by multiple tools as malware. Newer versions no longer use it.","name":"VideoDownloadConverter","created":"2013-12-12T15:37:23Z"},"enabled":true,"versionRange":[{"severity":1,"maxVersion":"5.75.3.25126","minVersion":"0","targetApplication":[]}],"id":"0a0f106a-ecc6-c537-1818-b36934943e91","last_modified":1480349202156},{"guid":"hdv@vovcacik.addons.mozilla.org","prefs":[],"schema":1480349193877,"blockID":"i656","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1036757","who":"All Firefox users who have this version of the add-on installed.","why":"Certain versions of the High Definition Video extension weren't developed by the original developer, and are likely malicious in nature. This violates the Add-on Guidelines for reusing an already existent ID.","name":"High Definition Video, version 102.0","created":"2014-07-10T15:22:59Z"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"102.0","minVersion":"102.0","targetApplication":[]}],"id":"972249b2-bba8-b508-2ead-c336631135ac","last_modified":1480349202125},{"guid":"@video_downloader_pro","prefs":[],"schema":1480349193877,"blockID":"i1265","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1298335","who":"Users of versions of 1.2.1 to 1.2.5 inclusive.","why":"Versions 1.2.1 to 1.2.5 of Video Downloader Pro included code that violated our polices - affected versions send every visited url to a remote server without the user's consent. Versions older than 1.2.1 and more recent than 1.2.5 are okay.","name":"Video Downloader Pro","created":"2016-08-26T18:26:39Z"},"enabled":true,"versionRange":[{"severity":1,"maxVersion":"1.2.5","minVersion":"1.2.1","targetApplication":[]}],"id":"ff9c8def-7d50-66b4-d42a-f9a4b04bd224","last_modified":1480349202099},{"guid":"contato@facefollow.net","prefs":[],"schema":1480349193877,"blockID":"i509","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=950846","who":"All Firefox users who have this add-on installed.","why":"This add-on spams users' Facebook accounts.","name":"Face follow","created":"2013-12-16T16:15:15Z"},"enabled":true,"versionRange":[{"severity":1,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"56f15747-af8c-342c-6877-a41eeacded84","last_modified":1480349202067},{"guid":"wecarereminder@bryan","prefs":[],"schema":1480349193877,"blockID":"i666","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=818614","who":"All Firefox users who have this add-on installed. Users who wish to continue using it can enable it in the Add-ons Manager.","why":"This add-on is being silently installed by various software packages, in violation of the Add-on Guidelines.","name":"We-Care Reminder","created":"2014-07-10T16:18:36Z"},"enabled":true,"versionRange":[{"severity":1,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"51e0ead7-144c-c1f4-32f2-25fc5fcde870","last_modified":1480349202039},{"guid":"/^({83a8ce1b-683c-4784-b86d-9eb601b59f38}|{ef1feedd-d8da-4930-96f1-0a1a598375c6}|{79ff1aae-701f-4ca5-aea3-74b3eac6f01b}|{8a184644-a171-4b05-bc9a-28d75ffc9505}|{bc09c55d-0375-4dcc-836e-0e3c8addfbda}|{cef81415-2059-4dd5-9829-1aef3cf27f4f})$/","prefs":[],"schema":1480349193877,"blockID":"i526","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=949566","who":"All Firefox users who have this add-on installed. Users who wish to continue using it can enable it in the Add-ons Manager.","why":"The installer that includes this add-on violates the Add-on Guidelines by making changes that can't be easily reverted and uses multiple IDs.","name":"KeyBar add-on","created":"2013-12-20T14:12:31Z"},"enabled":true,"versionRange":[{"severity":1,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"9dfa4e92-bbf2-66d1-59a9-51402d1d226c","last_modified":1480349202010},{"guid":"{d9284e50-81fc-11da-a72b-0800200c9a66}","prefs":[],"schema":1480349193877,"blockID":"i806","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1106948","who":"All Firefox users who have this add-on installed. Users who wish to continue using it can enable the add-on in the Add-on Manager.","why":"Starting with Firefox 34, current versions of the Yoono add-on cause all tabs to appear blank.","name":"Yoono","created":"2014-12-16T08:35:41Z"},"enabled":true,"versionRange":[{"severity":1,"maxVersion":"7.7.34","minVersion":"0","targetApplication":[{"guid":"{ec8030f7-c20a-464f-9b0e-13a3a9e97384}","maxVersion":"*","minVersion":"34.0a1"}]}],"id":"ccdceb04-3083-012f-9d9f-aac85f10b494","last_modified":1480349201976},{"guid":"{f2548724-373f-45fe-be6a-3a85e87b7711}","prefs":["browser.startup.homepage","browser.search.defaultenginename"],"schema":1480349193877,"blockID":"i768","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1088726","who":"All Firefox users who have this add-on installed.","why":"This add-on is silently installed and is considered malware, in violation of the Add-on Guidelines.","name":"Astro New Tab","created":"2014-10-30T14:52:09Z"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"8510e9e2-c7d8-90d0-a2ff-eb09293acc6e","last_modified":1480349201854},{"guid":"KSqOiTeSJEDZtTGuvc18PdPmYodROmYzfpoyiCr2@jetpack","prefs":[],"schema":1480349193877,"blockID":"i1032","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1211172","who":"All users who have this add-on installed.","why":"This is a malicious add-on that hijacks Facebook accounts.","name":"Video Player (malware)","created":"2015-10-05T16:22:58Z"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"3d9188ac-235f-773a-52a2-261b3ea9c03c","last_modified":1480349201504},{"guid":"{849ded12-59e9-4dae-8f86-918b70d213dc}","prefs":["browser.startup.homepage","browser.search.defaultenginename"],"schema":1480349193877,"blockID":"i708","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1047102","who":"All Firefox users who have this add-on installed. Users who wish to continue using it can enable it in the Add-ons Manager.","why":"This add-on is silently installed and changes homepage and search settings without the user's consent, in violation of the Add-on Guidelines.","name":"Astromenda New Tab","created":"2014-09-02T16:29:08Z"},"enabled":true,"versionRange":[{"severity":1,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"a319bfee-464f-1c33-61ad-738c52842fbd","last_modified":1480349201453},{"guid":"grjkntbhr@hgergerherg.com","prefs":[],"schema":1480349193877,"blockID":"i1018","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1208196","who":"All users who have this add-on installed.","why":"This is a malicious add-on that hijacks Facebook accounts.","name":"GreenPlayer (malware)","created":"2015-09-24T16:04:53Z"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"9c47d940-bdd9-729f-e32e-1774d87f24b5","last_modified":1480349201425},{"guid":"quick_start@gmail.com","prefs":[],"schema":1480349193877,"blockID":"i588","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1011316","who":"All Firefox users who have this add-on installed.","why":"This add-on appears to be malware that is installed without user consent.","name":"Quick Start (malware)","created":"2014-06-03T15:53:15Z"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"2affbebe-8776-3edb-28b9-237cb8b85f97","last_modified":1480349201398},{"guid":"/^(matchersite(pro(srcs?)?)?\\@matchersite(pro(srcs?)?)?\\.com)|((pro)?sitematcher(_srcs?|pro|site|sitesrc|-generic)?\\@(pro)?sitematcher(_srcs?|pro|site|sitesrc|-generic)?\\.com)$/","prefs":[],"schema":1480349193877,"blockID":"i668","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1039892","who":"All Firefox users who have any of these add-ons installed. User who wish to continue using these add-ons can enable them in the Add-ons Manager.","why":"This is a group of add-ons that are being distributed under multiple different IDs and likely being silently installed, in violation of the Add-on Guidelines.","name":"Site Matcher","created":"2014-07-17T14:35:14Z"},"enabled":true,"versionRange":[{"severity":1,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"52e1a2de-ab35-be27-4810-334f681ccc4a","last_modified":1480349201372},{"guid":"{EEF73632-A085-4fd3-A778-ECD82C8CB297}","prefs":[],"schema":1480349193877,"blockID":"i165","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=806451","who":"All Firefox users who have these add-ons installed.","why":"These are malicious add-ons that are distributed with a trojan and negatively affect web browsing.","name":"Codec-M (malware)","created":"2012-10-29T16:41:06Z"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"e5ecd02a-20ee-749b-d5cf-3d74d1173a1f","last_modified":1480349201262},{"guid":"firefox-extension@mozilla.org","prefs":[],"schema":1480349193877,"blockID":"i688","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1049533","who":"All Firefox users who have this add-on installed.","why":"This is a malicious add-on that hides itself under the name Java_plugin, among others.","name":"FinFisher (malware)","created":"2014-08-06T17:13:00Z"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"98aca74a-69c7-9960-cccc-096a4a4adc6c","last_modified":1480349201235},{"guid":"jid1-vW9nopuIAJiRHw@jetpack","prefs":[],"schema":1480349193877,"blockID":"i570","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=990291","who":"All Firefox users who have this add-on installed. Those who wish to continue using it can enable it in the Add-ons Manager.","why":"This add-on is silently installed, reverts settings changes to enforce its own, and is also causing stability problems in Firefox, all in violation of the Add-on Guidelines.","name":"SmileysWeLove","created":"2014-03-31T16:17:27Z"},"enabled":true,"versionRange":[{"severity":1,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"bf2abd66-f910-650e-89aa-cd1d5c2f8a89","last_modified":1480349201204},{"guid":"87aukfkausiopoawjsuifhasefgased278djasi@jetpack","prefs":[],"schema":1480349193877,"blockID":"i1050","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1220461","who":"All users who have this add-on installed.","why":"This is a malicious add-on that poses as a video update and hijacks Facebook accounts.","name":"Trace Video (malware)","created":"2015-11-02T14:53:21Z"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"cb4cfac0-79c2-0fbf-206a-324aa3abbea5","last_modified":1480349201157},{"guid":"{e44a1809-4d10-4ab8-b343-3326b64c7cdd}","prefs":[],"schema":1480349193877,"blockID":"i451","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=916966","who":"All Firefox users who have this add-on installed.","why":"This add-on doesn't follow our Add-on Guidelines, manipulating settings without reverting them on removal. Users who wish to continue using this add-on can enable it in the Add-ons Manager.","name":"Entrusted","created":"2013-09-18T16:33:57Z"},"enabled":true,"versionRange":[{"severity":1,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"ad5f53ed-7a43-cb1f-cbd7-41808fac1791","last_modified":1480349201128},{"guid":"{21EAF666-26B3-4A3C-ABD0-CA2F5A326744}","prefs":[],"schema":1480349193877,"blockID":"i620","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1024752","who":"All Firefox users who have this add-on installed.","why":"This add-on is probably silently installed, and is causing significant stability issues for users, in violation of the Add-on Guidelines.","name":"V-Bates","created":"2014-06-12T15:27:00Z"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"2d8833db-01a7-a758-080f-19e47abc54cb","last_modified":1480349201096},{"guid":"{1FD91A9C-410C-4090-BBCC-55D3450EF433}","prefs":[],"schema":1480349193877,"blockID":"i338","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=844979","who":"All Firefox users who have this add-on installed.","why":"This extension overrides search settings, and monitors any further changes done to them so that they can be reverted. This violates our add-on guidelines.","name":"DataMngr (malware)","created":"2013-04-24T11:30:28Z"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"2e35995f-bec6-aa2b-3372-346d3325f72e","last_modified":1480349201059},{"guid":"9598582LLKmjasieijkaslesae@jetpack","prefs":[],"schema":1480349193877,"blockID":"i996","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1201165","who":"All users who have this add-on installed.","why":"This is a malicious add-on that takes over Facebook accounts.","name":"Secure Player (malware)","created":"2015-09-07T13:50:27Z"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"52f9c6e7-f7d5-f52e-cc35-eb99ef8b4b6a","last_modified":1480349201029},{"guid":"{bf7380fa-e3b4-4db2-af3e-9d8783a45bfc}","prefs":[],"schema":1480349193877,"blockID":"i406","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=776404","who":"All Firefox users who have this add-on installed. Users who wish to continue using it can enable it in the Add-ons Manager.","why":"This add-on changes search settings without user interaction, and fails to reset them after it is removed. This violates our Add-on Guidelines.","name":"uTorrentBar","created":"2013-06-27T10:46:53Z"},"enabled":true,"versionRange":[{"severity":1,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"3bcefc4b-110c-f3b8-17ad-f9fc97c1120a","last_modified":1480349201000},{"guid":"{ce7e73df-6a44-4028-8079-5927a588c948}","prefs":[],"schema":1480349193877,"blockID":"i117","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=781269","who":"All Firefox users who have this add-on installed.","why":"The Search By Image (by Google) extension causes very high CPU utilization during regular browsing, often damaging user experience significantly, in a way that is very difficult to associate with the extension.\r\n\r\nUsers who want to continue using the add-on regardless of its performance impact can enable it in the Add-ons Manager.","name":"Search By Image (by Google)","created":"2012-08-10T08:50:52Z"},"enabled":true,"versionRange":[{"severity":1,"maxVersion":"1.0.8","minVersion":"0","targetApplication":[]}],"id":"fb1f9aed-2f1f-3e2c-705d-3b34ca9168b6","last_modified":1480349200972},{"guid":"{424b0d11-e7fe-4a04-b7df-8f2c77f58aaf}","prefs":["browser.startup.homepage","browser.search.defaultenginename"],"schema":1480349193877,"blockID":"i800","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1080839","who":"All Firefox users who have this add-on installed.","why":"This add-on is silently installed and is considered malware, in violation of the Add-on Guidelines.","name":"Astromenda NT","created":"2014-12-15T10:51:56Z"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"07bdf6aa-cfc8-ed21-6b36-6f90af02b169","last_modified":1480349200939},{"guid":"toolbar@ask.com","prefs":[],"schema":1480349193877,"blockID":"i618","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1024719","who":"All Firefox users who have these versions of the Ask Toolbar installed. Users who wish to continue using it can enable it in the Add-ons Manager.\r\n","why":"Certain old versions of the Ask Toolbar are causing problems to users when trying to open new tabs. Using more recent versions of the Ask Toolbar should also fix this problem.\r\n","name":"Ask Toolbar (old Avira Security Toolbar bundle)","created":"2014-06-12T14:25:04Z"},"enabled":true,"versionRange":[{"severity":1,"maxVersion":"3.15.31.*","minVersion":"3.15.31","targetApplication":[]}],"id":"825feb43-d6c2-7911-4189-6f589f612c34","last_modified":1480349200911},{"guid":"{167d9323-f7cc-48f5-948a-6f012831a69f}","prefs":[],"schema":1480349193877,"blockID":"i262","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=812303","who":"All Firefox users who have this add-on installed.","why":"This add-on is silently side-installed by other software, and doesn't do much more than changing the users' settings, without reverting them on removal.","name":"WhiteSmoke (malware)","created":"2013-01-29T13:33:25Z"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"a8f249fe-3db8-64b8-da89-7b584337a7af","last_modified":1480349200885},{"guid":"/^({988919ff-0cd8-4d0c-bc7e-60d55a49eb64}|{494b9726-9084-415c-a499-68c07e187244}|{55b95864-3251-45e9-bb30-1a82589aaff1}|{eef3855c-fc2d-41e6-8d91-d368f51b3055}|{90a1b331-c2b4-4933-9f63-ba7b84d60d58}|{d2cf9842-af95-48cd-b873-bfbb48cd7f5e})$/","prefs":[],"schema":1480349193877,"blockID":"i541","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=963819","who":"All Firefox users who have this add-on installed","why":"This add-on has been repeatedly blocked before and keeps showing up with new add-on IDs, in violation of the Add-on Guidelines.","name":"MixiDJ (malware)","created":"2014-01-28T14:09:08Z"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"36196aed-9d0d-ebee-adf1-d1f7fadbc48f","last_modified":1480349200819},{"guid":"{29b136c9-938d-4d3d-8df8-d649d9b74d02}","prefs":[],"schema":1480349193877,"blockID":"i598","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1011322","who":"All Firefox users who have this add-on installed. Users who wish to continue using it can enable it in the Add-ons Manager.","why":"This add-on is silently installed, in violation with our Add-on Guidelines.","name":"Mega Browse","created":"2014-06-12T13:21:25Z"},"enabled":true,"versionRange":[{"severity":1,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"63b1c965-27c3-cd06-1b76-8721add39edf","last_modified":1480349200775},{"guid":"{6e7f6f9f-8ce6-4611-add2-05f0f7049ee6}","prefs":[],"schema":1480349193877,"blockID":"i868","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1086574","who":"All users who have this add-on installed. Users who wish to continue using the add-on can enable it in the Add-ons Manager.","why":"This add-on is silently installed into users' systems, in violation of our Add-on Guidelines.","name":"Word Proser","created":"2015-02-26T14:58:59Z"},"enabled":true,"versionRange":[{"severity":1,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"f54797da-cdcd-351a-c95e-874b64b0d226","last_modified":1480349200690},{"guid":"{02edb56b-9b33-435b-b7df-b2843273a694}","prefs":[],"schema":1480349193877,"blockID":"i438","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=896581","who":"All Firefox users who have this add-on installed.","why":"This add-on doesn't follow our Add-on Guidelines. It is installed bypassing the Firefox opt-in screen, and manipulates settings without reverting them on removal. Users who wish to continue using this add-on can enable it in the Add-ons Manager.","name":"KeyBar Toolbar","created":"2013-08-09T15:27:49Z"},"enabled":true,"versionRange":[{"severity":1,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"896710d2-5a65-e9b0-845b-05aa72c2bd51","last_modified":1480349200338},{"guid":"{e1aaa9f8-4500-47f1-9a0a-b02bd60e4076}","prefs":[],"schema":1480349193877,"blockID":"i646","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1036757","who":"All Firefox users who have this version of the add-on installed.","why":"Certain versions of the Youtube Video Replay extension weren't developed by the original developer, and are likely malicious in nature. This violates the Add-on Guidelines for reusing an already existent ID.","name":"Youtube Video Replay, version 178.7.0","created":"2014-07-10T15:10:05Z"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"178.7.0","minVersion":"178.7.0","targetApplication":[]}],"id":"ac5d1083-6753-bbc1-a83d-c63c35371b22","last_modified":1480349200312},{"guid":"{1cdbda58-45f8-4d91-b566-8edce18f8d0a}","prefs":[],"schema":1480349193877,"blockID":"i724","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1080835","who":"All Firefox users who have this add-on installed.","why":"This add-on is silently installed into users' systems. It uses very unsafe practices to load its code, and leaks information of all web browsing activity. These are all violations of the Add-on Guidelines.","name":"Website Counselor Pro","created":"2014-10-13T16:00:08Z"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"7b70bd36-d2f7-26fa-9038-8b8dd132cd81","last_modified":1480349200288},{"guid":"{b12785f5-d8d0-4530-a3ea-5c4263b85bef}","prefs":[],"schema":1480349193877,"blockID":"i988","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1161573","who":"All users who have this add-on installed. Those who wish continue using this add-on can enable it in the Add-ons Manager.","why":"This add-on overrides user's preferences without consent, in violation of the Add-on Guidelines.","name":"Hero Fighter Community Toolbar","created":"2015-08-17T16:04:35Z"},"enabled":true,"versionRange":[{"severity":1,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"3e6d73f2-e8e3-af69-866e-30d3977b09e4","last_modified":1480349200171},{"guid":"{c2d64ff7-0ab8-4263-89c9-ea3b0f8f050c}","prefs":[],"schema":1480349193877,"blockID":"i39","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=665775","who":"Users of MediaBar versions 4.3.1.00 and below in all versions of Firefox.","why":"This add-on causes a high volume of crashes and is incompatible with certain versions of Firefox.","name":"MediaBar","created":"2011-07-19T10:18:12Z"},"enabled":true,"versionRange":[{"severity":1,"maxVersion":"4.3.1.00","minVersion":"0.1","targetApplication":[]}],"id":"e928a115-9d8e-86a4-e2c7-de39627bd9bf","last_modified":1480349200047},{"guid":"{9edd0ea8-2819-47c2-8320-b007d5996f8a}","prefs":["browser.search.defaultenginename"],"schema":1480349193877,"blockID":"i684","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1033857","who":"All Firefox users who have this add-on installed. Users who wish to continue using this add-on can enable it in the Add-ons Manager.","why":"This add-on is believed to be silently installed in Firefox, in violation of the Add-on Guidelines.","name":"webget","created":"2014-08-06T13:33:33Z"},"enabled":true,"versionRange":[{"severity":1,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"d38561f5-370f-14be-1443-a74dad29b1f3","last_modified":1480349199962},{"guid":"/^({ad9a41d2-9a49-4fa6-a79e-71a0785364c8})|(ffxtlbr@mysearchdial\\.com)$/","prefs":["browser.search.defaultenginename"],"schema":1480349193877,"blockID":"i670","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1036740","who":"All Firefox users who have this add-on installed. Users who wish to continue using this add-on can enable it in the Add-ons Manager.","why":"This add-on has been repeatedly been silently installed into users' systems, and is known for changing the default search without user consent, in violation of the Add-on Guidelines.","name":"MySearchDial","created":"2014-07-18T15:47:35Z"},"enabled":true,"versionRange":[{"severity":1,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"a04075e6-5df2-2e1f-85a6-3a0171247349","last_modified":1480349199927},{"guid":"odtffplugin@ibm.com","prefs":[],"schema":1480349193877,"blockID":"i982","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1190630","who":"All users who have these versions installed. The latest versions of this add-on aren't blocked, so updating to them should be sufficient to fix this problem.","why":"Certain versions of the IBM Remote Control add-on could leave a machine vulnerable to run untrusted code.","name":"IBM Endpoint Manager for Remote Control 9.0.1.1 to 9.0.1.100","created":"2015-08-11T11:25:43Z"},"enabled":true,"versionRange":[{"severity":1,"maxVersion":"9.0.1.100","minVersion":"9.0.1.1","targetApplication":[]}],"id":"f6e3e5d2-9331-1097-ba4b-cf2e484b7187","last_modified":1480349199886},{"guid":"support@todoist.com","prefs":[],"schema":1480349193877,"blockID":"i1030","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1205479","who":"All users who have this add-on installed. Users who wish to continue using this add-on can enable it in the Add-ons Manager.","why":"This add-on is sending all sites visited by the user to a remote server, additionally doing so in an unsafe way.","name":"Todoist","created":"2015-10-01T16:53:06Z"},"enabled":true,"versionRange":[{"severity":1,"maxVersion":"3.9","minVersion":"0","targetApplication":[]}],"id":"d0a84aab-0661-b3c5-c184-a2fd3f9dfb9c","last_modified":1480349199850},{"guid":"/^({1f43c8af-e9e4-4e5a-b77a-f51c7a916324}|{3a3bd700-322e-440a-8a6a-37243d5c7f92}|{6a5b9fc2-733a-4964-a96a-958dd3f3878e}|{7b5d6334-8bc7-4bca-a13e-ff218d5a3f17}|{b87bca5b-2b5d-4ae8-ad53-997aa2e238d4}|{bf8e032b-150f-4656-8f2d-6b5c4a646e0d})$/","prefs":[],"schema":1480349193877,"blockID":"i1136","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1251940","who":"All users who have this add-on installed.","why":"This is a malicious add-on that hides itself from view and disables various security features in Firefox.","name":"Watcher (malware)","created":"2016-03-04T17:56:08Z"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"a2d0378f-ebe4-678c-62d8-2e4c6a613c17","last_modified":1480349199818},{"guid":"liiros@facebook.com","prefs":[],"schema":1480349193877,"blockID":"i814","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1119657","who":"All Firefox users who have this add-on installed.","why":"This add-on is silently installed into users' systems without their consent and performs unwanted operations.","name":"One Tab (malware)","created":"2015-01-09T12:49:05Z"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"387c054d-cc9f-7ebd-c814-b4c1fbcb2880","last_modified":1480349199791},{"guid":"youtubeunblocker@unblocker.yt","prefs":[],"schema":1480349193877,"blockID":"i1128","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1251911","who":"All users who have this add-on installed.","why":"The add-on has a mechanism that updates certain configuration files from the developer\u2019s website. This mechanism has a vulnerability that is being exploited through this website (unblocker.yt) to change security settings in Firefox and install malicious add-ons.","name":"YouTube Unblocker","created":"2016-03-01T21:18:33Z"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"3395fce1-42dd-e31a-1466-2da3f32456a0","last_modified":1480349199768},{"guid":"{97E22097-9A2F-45b1-8DAF-36AD648C7EF4}","prefs":[],"schema":1480349193877,"blockID":"i916","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1170633","who":"All Firefox users who have this add-on installed in Firefox 39 and above.\r\n","why":"Certain versions of this extension are causing startup crashes in Firefox 39 and above.\r\n","name":"RealPlayer Browser Record Plugin","created":"2015-06-02T09:57:38Z"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0","targetApplication":[{"guid":"{ec8030f7-c20a-464f-9b0e-13a3a9e97384}","maxVersion":"*","minVersion":"39.0a1"}]}],"id":"94fba774-c4e6-046a-bc7d-ede787a9d0fe","last_modified":1480349199738},{"guid":"{b64982b1-d112-42b5-b1e4-d3867c4533f8}","prefs":[],"schema":1480349193877,"blockID":"i167","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=805973","who":"All Firefox users who have this add-on installed.","why":"This add-on is a frequent cause for browser crashes and other problems.","name":"Browser Manager","created":"2012-10-29T17:17:46Z"},"enabled":true,"versionRange":[{"severity":1,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"00bbe501-2d27-7a1c-c344-6eea1c707473","last_modified":1480349199673},{"guid":"{58bd07eb-0ee0-4df0-8121-dc9b693373df}","prefs":[],"schema":1480349193877,"blockID":"i286","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=842206","who":"All Firefox users who have this extension installed.","why":"This extension is malicious and is installed under false pretenses, causing problems for many Firefox users. Note that this is not the same BrowserProtect extension that is listed on our add-ons site. That one is safe to use.","name":"Browser Protect / bProtector (malware)","created":"2013-02-18T10:54:28Z"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"b40a60d3-b9eb-09eb-bb02-d50b27aaac9f","last_modified":1480349199619},{"guid":"trtv3@trtv.com","prefs":[],"schema":1480349193877,"blockID":"i465","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=845610","who":"All Firefox users who have this add-on installed.","why":"This add-on doesn't follow our Add-on Guidelines, bypassing our third party install opt-in screen. Users who wish to continue using this extension can enable it in the Add-ons Manager.","name":"TornTV","created":"2013-11-01T15:21:49Z"},"enabled":true,"versionRange":[{"severity":1,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"3d4d8a33-2eff-2556-c699-9be0841a8cd4","last_modified":1480349199560},{"guid":"youtube@downloader.yt","prefs":[],"schema":1480349193877,"blockID":"i1231","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1278932","who":"All users who have this add-on installed.","why":"The add-on has a mechanism that updates certain configuration files from the developer\u2019s website. This mechanism has a vulnerability that can being exploited through this website (downloader.yt) to change security settings in Firefox and/or install malicious add-ons. \r\n","name":"YouTube downloader","created":"2016-06-09T14:50:27Z"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"8514eaee-850c-e27a-a058-8badeeafc26e","last_modified":1480349199528},{"guid":"low_quality_flash@pie2k.com","prefs":[],"schema":1480349193877,"blockID":"i658","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1036757","who":"All Firefox users who have this version of the add-on installed.","why":"Certain versions of the Low Quality Flash extension weren't developed by the original developer, and are likely malicious in nature. This violates the Add-on Guidelines for reusing an already existent ID.","name":"Low Quality Flash, versions between 46.2 and 47.1","created":"2014-07-10T15:27:51Z"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"47.1","minVersion":"46.2","targetApplication":[]}],"id":"b869fae6-c18c-0d39-59a2-603814656404","last_modified":1480349199504},{"guid":"{d2cf9842-af95-48cd-b873-bfbb48cd7f5e}","prefs":[],"schema":1480349193877,"blockID":"i439","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=902569","who":"All Firefox users who have this add-on installed.","why":"This is another instance of the previously blocked Mixi DJ add-on, which doesn't follow our Add-on Guidelines. If you wish to continue using it, it can be enabled in the Add-ons Manager.","name":"Mixi DJ V45","created":"2013-08-09T16:08:18Z"},"enabled":true,"versionRange":[{"severity":1,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"e81c31fc-265e-61b9-d4c1-0e2f31f1652e","last_modified":1480349199478},{"guid":"/^({b95faac1-a3d7-4d69-8943-ddd5a487d966}|{ecce0073-a837-45a2-95b9-600420505f7e}|{2713b394-286f-4d7c-89ea-4174eeab9f5a}|{da7a20cf-bef4-4342-ad78-0240fdf87055})$/","prefs":[],"schema":1480349193877,"blockID":"i624","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=947482","who":"All Firefox users who have this add-on installed. Users who wish to continue using this add-on can enable it in the Add-ons Manager.","why":"This add-on is known to change user settings without their consent, is distributed under multiple add-on IDs, and is also correlated with reports of tab functions being broken in Firefox, in violation of the Add-on Guidelines.\r\n","name":"WiseConvert","created":"2014-06-18T13:50:38Z"},"enabled":true,"versionRange":[{"severity":1,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"ed57d7a6-5996-c7da-8e07-1ad125183e84","last_modified":1480349199446},{"guid":"{f894a29a-f065-40c3-bb19-da6057778493}","prefs":[],"schema":1480349193877,"blockID":"i742","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1080817","who":"All Firefox users who have this add-on installed. Users who wish to continue using it can enable it in the Add-ons Manager.","why":"This add-on appears to be silently installed into users' systems, and changes settings without consent, in violation of the Add-on Guidelines.","name":"Spigot Shopping Assistant","created":"2014-10-17T15:46:59Z"},"enabled":true,"versionRange":[{"severity":1,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"39d8334e-4b7c-4336-2d90-e6aa2d783967","last_modified":1480349199083},{"guid":"plugin@analytic-s.com","prefs":[],"schema":1480349193877,"blockID":"i467","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=935797","who":"All Firefox users who have this add-on installed.","why":"This add-on bypasses the external install opt in screen in Firefox, violating the Add-on Guidelines. Users who wish to continue using this add-on can enable it in the Add-ons Manager.","name":"Analytics","created":"2013-11-07T14:08:48Z"},"enabled":true,"versionRange":[{"severity":1,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"ffbed3f3-e5c9-bc6c-7530-f68f47b7efd6","last_modified":1480349199026},{"guid":"{C4A4F5A0-4B89-4392-AFAC-D58010E349AF}","prefs":[],"schema":1480349193877,"blockID":"i678","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=895668","who":"All Firefox users who have this add-on installed. If you wish to continue using it, you can enable it in the Add-ons Manager.","why":"This add-on is generally silently installed, in violation of the Add-on Guidelines.","name":"DataMngr","created":"2014-07-23T14:12:23Z"},"enabled":true,"versionRange":[{"severity":1,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"151021fc-ce4e-a734-e075-4ece19610f64","last_modified":1480349198947},{"guid":"HxLVJK1ioigz9WEWo8QgCs3evE7uW6LEExAniBGG@jetpack","prefs":[],"schema":1480349193877,"blockID":"i1036","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1211170","who":"All users who have this add-on installed.","why":"This is a malicious add-on that hijacks Facebook accounts.","name":"Mega Player (malware)","created":"2015-10-05T16:37:08Z"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"32e34b41-a73c-72d4-c96c-136917ad1d4d","last_modified":1480349198894},{"guid":"{6af08a71-380e-42dd-9312-0111d2bc0630}","prefs":[],"schema":1480349193877,"blockID":"i822","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1126353","who":"All Firefox users who have this add-on installed.","why":"This add-on appears to be malware, hiding itself in the Add-ons Manager, and keeping track of certain user actions.","name":"{6af08a71-380e-42dd-9312-0111d2bc0630} (malware)","created":"2015-01-27T09:50:40Z"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"96d0c12b-a6cf-4539-c1cf-a1c75c14ff24","last_modified":1480349198826},{"guid":"colmer@yopmail.com","prefs":[],"schema":1480349193877,"blockID":"i550","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=968445","who":"All Firefox users who have this add-on installed.","why":"This add-on is malware that hijacks Facebook accounts.","name":"Video Plugin Facebook (malware)","created":"2014-02-06T15:49:25Z"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"c394d10b-384e-cbd0-f357-9c521715c373","last_modified":1480349198744},{"guid":"fplayer@adobe.flash","prefs":[],"schema":1480349193877,"blockID":"i444","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=909433","who":"All Firefox users who have this add-on installed.","why":"This add-on is malware disguised as the Flash Player plugin.","name":"Flash Player (malware)","created":"2013-08-26T14:49:48Z"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"c6557989-1b59-72a9-da25-b816c4a4c723","last_modified":1480349198667},{"guid":"ascsurfingprotection@iobit.com","prefs":[],"schema":1480349193877,"blockID":"i740","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=963776","who":"All Firefox users who have this add-on installed. Users who wish to continue using it can enable it in the Add-ons Manager.","why":"This add-on is silently installed into users' systems, in violation of the Add-on Guidelines.","name":"Advanced SystemCare Surfing Protection","created":"2014-10-17T15:39:59Z"},"enabled":true,"versionRange":[{"severity":1,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"4405f99d-c9b7-c496-1b45-268163ce29b7","last_modified":1480349198637},{"guid":"{6E19037A-12E3-4295-8915-ED48BC341614}","prefs":[],"schema":1480349193877,"blockID":"i24","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=615518","who":"Users of RelevantKnowledge version 1.3.328.4 and older in Firefox 4 and later.","why":"This add-on causes a high volume of Firefox crashes.","name":"comScore RelevantKnowledge","created":"2011-03-02T17:42:56Z"},"enabled":true,"versionRange":[{"severity":1,"maxVersion":"1.3.328.4","minVersion":"0.1","targetApplication":[{"guid":"{ec8030f7-c20a-464f-9b0e-13a3a9e97384}","maxVersion":"*","minVersion":"3.7a1pre"}]}],"id":"7c189c5e-f95b-0aef-e9e3-8e879336503b","last_modified":1480349198606},{"guid":"crossriderapp4926@crossrider.com","prefs":[],"schema":1480349193877,"blockID":"i91","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=754648","who":"All Firefox users who have installed this add-on.","why":"Versions of this add-on prior to 0.81.44 automatically post message to users' walls and hide them from their view. Version 0.81.44 corrects this.","name":"Remove My Timeline (malware)","created":"2012-05-14T14:16:43Z"},"enabled":true,"versionRange":[{"severity":1,"maxVersion":"0.81.43","minVersion":"0","targetApplication":[]}],"id":"5ee3e72e-96fb-c150-fc50-dd581e960963","last_modified":1480349198547},{"guid":"/^(93abedcf-8e3a-4d02-b761-d1441e437c09@243f129d-aee2-42c2-bcd1-48858e1c22fd\\.com|9acfc440-ac2d-417a-a64c-f6f14653b712@09f9a966-9258-4b12-af32-da29bdcc28c5\\.com|58ad0086-1cfb-48bb-8ad2-33a8905572bc@5715d2be-69b9-4930-8f7e-64bdeb961cfd\\.com)$/","prefs":[],"schema":1480349193877,"blockID":"i544","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=949596","who":"All Firefox users who have this add-on installed. If you wish to continue using it, it can be enabled in the Add-ons Manager.","why":"This add-on is in violation of the Add-on Guidelines, using multiple add-on IDs and potentially doing other unwanted activities.","name":"SuperLyrics","created":"2014-01-30T11:51:19Z"},"enabled":true,"versionRange":[{"severity":1,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"d8d25967-9814-3b65-0787-a0525c16e11e","last_modified":1480349198510},{"guid":"wHO@W9.net","prefs":[],"schema":1480349193877,"blockID":"i980","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1192468","who":"All users who have this add-on installed.","why":"This is a malicious add-on that hijacks Facebook accounts.","name":"BestSavEFOrYoU (malware)","created":"2015-08-11T11:20:01Z"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"4beb917f-68f2-1f91-beed-dff6d83006f8","last_modified":1480349198483},{"guid":"frhegnejkgner@grhjgewfewf.com","prefs":[],"schema":1480349193877,"blockID":"i1040","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1212451","who":"All users who have this add-on installed.","why":"This is a malicious add-on that hijacks Facebook accounts.","name":"Async Codec (malware)","created":"2015-10-07T13:03:37Z"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"fb6ab4ce-5517-bd68-2cf7-a93a109a528a","last_modified":1480349198458},{"guid":"firefox@luckyleap.net","prefs":[],"schema":1480349193877,"blockID":"i471","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=935779","who":"All Firefox users who have this add-on installed.","why":"This add-on is part of a malicious Firefox installer bundle.","name":"Installer bundle (malware)","created":"2013-11-07T15:38:33Z"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"3a9e04c7-5e64-6297-8442-2816915aad77","last_modified":1480349198433},{"guid":"auto-plugin-checker@jetpack","prefs":[],"schema":1480349193877,"blockID":"i1210","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1270175","who":"All users of this add-on. If you wish to continue using it, you can enable it in the Add-ons Manager.","why":"This add-on reports every visited URL to a third party without disclosing it to the user.","name":"auto-plugin-checker","created":"2016-05-04T16:25:27Z"},"enabled":true,"versionRange":[{"severity":1,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"3e202419-5318-2025-b579-c828af24a06e","last_modified":1480349198401},{"guid":"lugcla21@gmail.com","prefs":[],"schema":1480349193877,"blockID":"i432","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=902072","who":"All Firefox users who have this add-on installed.","why":"This add-on includes malicious code that spams users' Facebook accounts with unwanted messages.","name":"FB Color Changer (malware)","created":"2013-08-06T13:16:22Z"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"b6943f35-9429-1f8e-bf8e-fe37979fe183","last_modified":1480349198372},{"guid":"{99079a25-328f-4bd4-be04-00955acaa0a7}","prefs":[],"schema":1480349193877,"blockID":"i402","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=835678","who":"All Firefox users who have this add-on installed. Users who wish to continue using it can enable it in the Add-ons Manager.","why":"This group of add-ons is silently installed, bypassing our install opt-in screen. This violates our Add-on Guidelines.","name":"Searchqu","created":"2013-06-25T15:16:17Z"},"enabled":true,"versionRange":[{"severity":1,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"16008331-8b47-57c8-a6f7-989914d1cb8a","last_modified":1480349198341},{"guid":"{81b13b5d-fba1-49fd-9a6b-189483ac548a}","prefs":[],"schema":1480349193877,"blockID":"i473","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=935779","who":"All Firefox users who have this add-on installed.","why":"This add-on is part of a malicious Firefox installer bundle.","name":"Installer bundle (malware)","created":"2013-11-07T15:38:43Z"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"76debc7b-b875-6da4-4342-1243cbe437f6","last_modified":1480349198317},{"guid":"{e935dd68-f90d-46a6-b89e-c4657534b353}","prefs":[],"schema":1480349193877,"blockID":"i732","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1073810","who":"All Firefox users who have this add-on installed.","why":"This add-on is silently installed into users' systems. It uses very unsafe practices to load its code, and leaks information of all web browsing activity. These are all violations of the Add-on Guidelines.","name":"Sites Pro","created":"2014-10-16T16:38:24Z"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"97fdc235-ac1a-9f20-1b4a-17c2f0d89ad1","last_modified":1480349198260},{"guid":"{32da2f20-827d-40aa-a3b4-2fc4a294352e}","prefs":[],"schema":1480349193877,"blockID":"i748","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=963787","who":"All Firefox users who have this add-on installed. Users who wish to continue using it can enable it in the Add-ons Manager.","why":"This add-on is silently installed into users' systems, in violation of the Add-on Guidelines.","name":"Start Page","created":"2014-10-17T16:02:20Z"},"enabled":true,"versionRange":[{"severity":1,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"6c980c8e-4a3c-7912-4a3a-80add457575a","last_modified":1480349198223},{"guid":"chinaescapeone@facebook.com","prefs":[],"schema":1480349193877,"blockID":"i431","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=901770","who":"All Firefox users who have this add-on installed.","why":"This is a malicious add-on that uses a deceptive name and hijacks social networks.","name":"F-Secure Security Pack (malware)","created":"2013-08-05T16:43:24Z"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"fbd89a9d-9c98-8481-e4cf-93e327ca8be1","last_modified":1480349198192},{"guid":"{cc6cc772-f121-49e0-b1f0-c26583cb0c5e}","prefs":[],"schema":1480349193877,"blockID":"i716","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1073810","who":"All Firefox users who have this add-on installed.","why":"This add-on is silently installed into users' systems. It uses very unsafe practices to load its code, and leaks information of all web browsing activity. These are all violations of the Add-on Guidelines.","name":"Website Counselor","created":"2014-10-02T12:12:34Z"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"debcd28c-884b-ca42-d983-6fabf91034dd","last_modified":1480349198148},{"guid":"{906000a4-88d9-4d52-b209-7a772970d91f}","prefs":[],"schema":1480349193877,"blockID":"i474","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=935779","who":"All Firefox users who have this add-on installed.","why":"This add-on is part of a malicious Firefox installer bundle.","name":"Installer bundle (malware)","created":"2013-11-07T15:38:48Z"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"326d05b9-ace7-67c6-b094-aad926c185a5","last_modified":1480349197744},{"guid":"{A34CAF42-A3E3-11E5-945F-18C31D5D46B0}","prefs":["security.csp.enable","security.fileuri.strict_origin_policy","security.mixed_content.block_active_content"],"schema":1480349193877,"blockID":"i1227","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1274995","who":"All users of this add-on. If you wish to continue using it, you can enable it in the Add-ons Manager.","why":"This add-on downgrades the security of all iframes from https to http and changes important Firefox security preferences.","name":"Mococheck WAP browser","created":"2016-05-31T15:45:53Z"},"enabled":true,"versionRange":[{"severity":1,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"2230a5ce-a8f8-a20a-7974-3b960a03aba9","last_modified":1480349197699},{"guid":"{AB2CE124-6272-4b12-94A9-7303C7397BD1}","prefs":[],"schema":1480349193877,"blockID":"i20","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=627278","who":"Users of Skype extension versions below 5.2.0.7165 for all versions of Firefox.","why":"This add-on causes a high volume of Firefox crashes and introduces severe performance issues. Please update to the latest version. For more information, please read our announcement.","name":"Skype extension","created":"2011-01-20T18:39:25Z"},"enabled":true,"versionRange":[{"severity":1,"maxVersion":"5.2.0.7164","minVersion":"0.1","targetApplication":[]}],"id":"60e16015-1803-197a-3241-484aa961d18f","last_modified":1480349197667},{"guid":"f6682b47-e12f-400b-9bc0-43b3ccae69d1@39d6f481-b198-4349-9ebe-9a93a86f9267.com","prefs":[],"schema":1480349193877,"blockID":"i682","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1043017","who":"All Firefox users who have this add-on installed. Users who wish to continue using this add-on can enable it in the Add-ons Manager.","why":"This add-on is being silently installed, in violation of the Add-on Guidelines.","name":"enformation","created":"2014-08-04T16:07:20Z"},"enabled":true,"versionRange":[{"severity":1,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"a7ae65cd-0869-67e8-02f8-6d22c56a83d4","last_modified":1480349197636},{"guid":"rally_toolbar_ff@bulletmedia.com","prefs":[],"schema":1480349193877,"blockID":"i537","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=950267","who":"All Firefox users who have this extension installed. If you want to continue using it, you can enable it in the Add-ons Manager.","why":"The installer that includes this add-on violates the Add-on Guidelines by silently installing it.","name":"Rally Toolbar","created":"2014-01-23T15:51:48Z"},"enabled":true,"versionRange":[{"severity":1,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"4ac6eb63-b51a-3296-5b02-bae77f424032","last_modified":1480349197604},{"guid":"x77IjS@xU.net","prefs":["browser.startup.homepage","browser.search.defaultenginename"],"schema":1480349193877,"blockID":"i774","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1076771","who":"All Firefox users who have this add-on installed. Users who wish to continue using it can enable it in the Add-ons Manager.","why":"This add-on is silently installed and changes user settings without consent, in violation of the Add-on Guidelines\r\n","name":"YoutubeAdBlocke","created":"2014-10-31T16:22:53Z"},"enabled":true,"versionRange":[{"severity":1,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"4771da14-bcf2-19b1-3d71-bc61a1c7d457","last_modified":1480349197578},{"guid":"{49c53dce-afa0-49a1-a08b-2eb8e8444128}","prefs":[],"schema":1480349193877,"blockID":"i441","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=844985","who":"All Firefox users who have this add-on installed.","why":"This add-on is silently installed, violating our Add-on Guidelines. Users who wish to continue using this add-on can enable it in the Add-ons Manager.","name":"ytbyclick","created":"2013-08-09T16:58:50Z"},"enabled":true,"versionRange":[{"severity":1,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"5f08d720-58c2-6acb-78ad-7af45c82c90b","last_modified":1480349197550},{"guid":"searchengine@gmail.com","prefs":["browser.startup.homepage","browser.search.defaultenginename"],"schema":1480349193877,"blockID":"i886","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1152555","who":"All Firefox users who have this add-on installed. Users who wish to continue using this add-on can enable it in the Add-on Manager.","why":"This add-on appears to be malware, being silently installed and hijacking user settings, in violation of the Add-on Guidelines.","name":"Search Enginer","created":"2015-04-10T16:25:21Z"},"enabled":true,"versionRange":[{"severity":1,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"46de4f6e-2b29-7334-ebbb-e0048f114f7b","last_modified":1480349197525},{"guid":"{bb7b7a60-f574-47c2-8a0b-4c56f2da9802}","prefs":[],"schema":1480349193877,"blockID":"i754","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1080850","who":"All Firefox users who have this add-on installed. Users who wish to continue using it can enable it in the Add-ons Manager.","why":"This add-on is silently installed into users' systems, in violation of the Add-on Guidelines.","name":"AdvanceElite","created":"2014-10-17T16:27:32Z"},"enabled":true,"versionRange":[{"severity":1,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"f222ceb2-9b69-89d1-8dce-042d8131a12e","last_modified":1480349197500},{"guid":"/^(test3@test.org|test2@test.org|test@test.org|support@mozilla.org)$/","prefs":[],"schema":1480349193877,"blockID":"i1119","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1242721","who":"All users who have these add-ons installed.","why":"These add-ons are malicious, or at least attempts at being malicious, using misleading names and including risky code.","name":"test.org add-ons (malware)","created":"2016-01-25T13:31:43Z"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"afd2a0d7-b050-44c9-4e45-b63696d9b22f","last_modified":1480349197468},{"guid":"/^((34qEOefiyYtRJT@IM5Munavn\\.com)|(Mro5Fm1Qgrmq7B@ByrE69VQfZvZdeg\\.com)|(KtoY3KGxrCe5ie@yITPUzbBtsHWeCdPmGe\\.com)|(9NgIdLK5Dq4ZMwmRo6zk@FNt2GCCLGyUuOD\\.com)|(NNux7bWWW@RBWyXdnl6VGls3WAwi\\.com)|(E3wI2n@PEHTuuNVu\\.com)|(2d3VuWrG6JHBXbQdbr@3BmSnQL\\.com))$/","prefs":[],"schema":1480349193877,"blockID":"i324","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=841791","who":"All users who have this add-on installed.","why":"This extension is malware, installed pretending to be the Flash Player plugin.","name":"Flash Player (malware)","created":"2013-03-22T14:48:00Z"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"5be3a399-af3e-644e-369d-628273b3fdc2","last_modified":1480349197432},{"guid":"axtara__web@axtara.com","prefs":[],"schema":1480349193877,"blockID":"i1263","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1251911","who":"All users who have version 1.1.1 or less of this add-on installed.","why":"Old versions of this add-on contained code from YouTube Unblocker, which was originally blocked due to malicious activity. Version 1.1.2 is now okay.","name":"AXTARA Search (pre 1.1.2)","created":"2016-08-17T16:47:06Z"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"1.1.1","minVersion":"0","targetApplication":[]}],"id":"c58be1c9-3d63-a948-219f-e3225e1eec8e","last_modified":1480349197404},{"guid":"{8f894ed3-0bf2-498e-a103-27ef6e88899f}","prefs":[],"schema":1480349193877,"blockID":"i792","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1073810","who":"All Firefox users who have this add-on installed.","why":"This add-on is silently installed into users' systems. It uses very unsafe practices to load its code, and leaks information of all web browsing activity. These are all violations of the Add-on Guidelines.","name":"ExtraW","created":"2014-11-26T13:49:30Z"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"bebc9e15-59a1-581d-0163-329d7414edff","last_modified":1480349197368},{"guid":"profsites@pr.com","prefs":[],"schema":1480349193877,"blockID":"i734","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1073810","who":"All Firefox users who have this add-on installed.\r\n","why":"This add-on is silently installed into users' systems. It uses very unsafe practices to load its code, and leaks information of all web browsing activity. These are all violations of the Add-on Guidelines.","name":"ProfSites","created":"2014-10-16T16:39:26Z"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"0d6d84d7-0b3f-c5ab-57cc-6b66b0775a23","last_modified":1480349197341},{"guid":"{872b5b88-9db5-4310-bdd0-ac189557e5f5}","prefs":[],"schema":1480349193877,"blockID":"i497","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=945530","who":"All Firefox users who have this add-on installed. Users who wish to continue using it can enable it in the Add-ons Manager.","why":"The installer that includes this add-on violates the Add-on Guidelines by making settings changes that can't be easily reverted.","name":"DVDVideoSoft Menu","created":"2013-12-03T16:08:09Z"},"enabled":true,"versionRange":[{"severity":1,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"e8da89c4-c585-77e4-9872-591d20723a7e","last_modified":1480349197240},{"guid":"123456789@offeringmedia.com","prefs":[],"schema":1480349193877,"blockID":"i664","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1036757","who":"All Firefox users who have this add-on installed.","why":"This is a malicious add-on that attempts to hide itself by impersonating the Adobe Flash plugin.","name":"Taringa MP3 / Adobe Flash","created":"2014-07-10T15:41:24Z"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"6d0a7dda-d92a-c8e2-21be-c92b0a88ac8d","last_modified":1480349197208},{"guid":"firefoxdav@icloud.com","prefs":[],"schema":1480349193877,"blockID":"i1214","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1271358","who":"All users of this add-on. If you wish to continue using it, you can enable it in the Add-ons Manager.","why":"This add-on is causing frequent and persistent crashing.","name":"iCloud Bookmarks","created":"2016-05-17T16:55:39Z"},"enabled":true,"versionRange":[{"severity":1,"maxVersion":"1.4.22","minVersion":"0","targetApplication":[]}],"id":"2dddd7a7-b081-45e2-3eeb-2a7f76a1465f","last_modified":1480349197172},{"guid":"youplayer@addons.mozilla.org","prefs":[],"schema":1480349193877,"blockID":"i660","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1036757","who":"All Firefox users who have this version of the add-on installed.","why":"Certain versions of the YouPlayer extension weren't developed by the original developer, and are likely malicious in nature. This violates the Add-on Guidelines for reusing an already existent ID.","name":"YouPlayer, versions between 79.9.8 and 208.0.1","created":"2014-07-10T15:31:04Z"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"208.0.1","minVersion":"79.9.8","targetApplication":[]}],"id":"82dca22b-b889-5d9d-3fc9-b2184851f2d1","last_modified":1480349197136},{"guid":"{df6bb2ec-333b-4267-8c4f-3f27dc8c6e07}","prefs":[],"schema":1480349193877,"blockID":"i487","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=940681","who":"All Firefox users who have this add-on installed.","why":"This is a malicious add-on that hijacks Facebook accounts.","name":"Facebook 2013 (malware)","created":"2013-11-19T14:59:45Z"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"5867c409-b342-121e-3c3b-426e2f0ba1d4","last_modified":1480349197109},{"guid":"/^({4e988b08-8c51-45c1-8d74-73e0c8724579}|{93ec97bf-fe43-4bca-a735-5c5d6a0a40c4}|{aed63b38-7428-4003-a052-ca6834d8bad3}|{0b5130a9-cc50-4ced-99d5-cda8cc12ae48}|{C4CFC0DE-134F-4466-B2A2-FF7C59A8BFAD})$/","prefs":[],"schema":1480349193877,"blockID":"i524","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=947481","who":"All Firefox users who have this add-on installed. Users who wish to continue using it can enable it in the Add-ons Manager.","why":"The installer that includes this add-on violates the Add-on Guidelines by making changes that can't be easily reverted.","name":"SweetPacks","created":"2013-12-20T13:43:21Z"},"enabled":true,"versionRange":[{"severity":1,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"1a3a26a2-cdaa-e5ba-f6ac-47b98ae2cc26","last_modified":1480349197082},{"guid":"foxyproxy@eric.h.jung","prefs":[],"schema":1480349193877,"blockID":"i950","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1183890","who":"All users who have this add-on installed on Thunderbird 38 and above.","why":"This add-on is causing consistent startup crashes on Thunderbird 38 and above.","name":"FoxyProxy Standard for Thunderbird","created":"2015-07-15T09:34:44Z"},"enabled":true,"versionRange":[{"severity":1,"maxVersion":"4.5.5","minVersion":"0","targetApplication":[{"guid":"{3550f703-e582-4d05-9a08-453d09bdfdc6}","maxVersion":"*","minVersion":"38.0a2"},{"guid":"{92650c4d-4b8e-4d2a-b7eb-24ecf4f6b63a}","maxVersion":"*","minVersion":"2.35"}]}],"id":"5ee8203d-bea2-6cd5-9ba0-d1922ffb3d21","last_modified":1480349197056},{"guid":"{82AF8DCA-6DE9-405D-BD5E-43525BDAD38A}","prefs":[],"schema":1480349193877,"blockID":"i1056","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1225639","who":"All users who have this add-on installed in Firefox 43 and above. User who wish to continue using this add-on can enable it in the Add-ons Manager.","why":"This add-on is associated with frequent shutdown crashes in Firefox.","name":"Skype Click to Call","created":"2015-11-17T14:03:05Z"},"enabled":true,"versionRange":[{"severity":1,"maxVersion":"7.5.0.9082","minVersion":"0","targetApplication":[{"guid":"{ec8030f7-c20a-464f-9b0e-13a3a9e97384}","maxVersion":"*","minVersion":"43.0a1"}]}],"id":"484f8386-c415-7499-a8a0-f4e16f5a142f","last_modified":1480349197027},{"guid":"{22119944-ED35-4ab1-910B-E619EA06A115}","prefs":[],"schema":1480349193877,"blockID":"i45","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=699134","who":"Users of version 7.9.20.6 of RoboForm Toolbar and earlier on Firefox 48 and above.","why":"Older versions of the RoboForm Toolbar add-on are causing crashes in Firefox 48 and above. The developer has released a fix, available in versions 7.9.21+.","name":"Roboform","created":"2011-11-19T06:14:56Z"},"enabled":true,"versionRange":[{"severity":1,"maxVersion":"7.9.20.6","minVersion":"0.1","targetApplication":[{"guid":"{ec8030f7-c20a-464f-9b0e-13a3a9e97384}","maxVersion":"*","minVersion":"8.0a1"}]}],"id":"5f7f9e13-d3e8-ea74-8341-b83e36d67d94","last_modified":1480349196995},{"guid":"{87b5a11e-3b54-42d2-9102-0a7cb1f79ebf}","prefs":[],"schema":1480349193877,"blockID":"i838","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1128327","who":"All Firefox users who have this add-on installed.","why":"This add-on is silently installed and performs unwanted actions, in violation of the Add-on Guidelines.","name":"Cyti Web (malware)","created":"2015-02-06T14:29:12Z"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"1ba0e57c-4c0c-4eb6-26e7-c2016769c343","last_modified":1480349196965},{"guid":"/^({bf67a47c-ea97-4caf-a5e3-feeba5331231}|{24a0cfe1-f479-4b19-b627-a96bf1ea3a56})$/","prefs":[],"schema":1480349193877,"blockID":"i542","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=963819","who":"All Firefox users who have this add-on installed.","why":"This add-on has been repeatedly blocked before and keeps showing up with new add-on IDs, in violation of the Add-on Guidelines.","name":"MixiDJ (malware)","created":"2014-01-28T14:10:49Z"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"fc442b64-1b5d-bebb-c486-f431b154f3db","last_modified":1480349196622},{"guid":"/^({ebd898f8-fcf6-4694-bc3b-eabc7271eeb1}|{46008e0d-47ac-4daa-a02a-5eb69044431a}|{213c8ed6-1d78-4d8f-8729-25006aa86a76}|{fa23121f-ee7c-4bd8-8c06-123d087282c5}|{19803860-b306-423c-bbb5-f60a7d82cde5})$/","prefs":[],"schema":1480349193877,"blockID":"i622","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=947482","who":"All Firefox users who have this add-on installed. Users who wish to continue using this add-on can enable it in the Add-ons Manager.","why":"This add-on is known to change user settings without their consent, is distributed under multiple add-on IDs, and is also correlated with reports of tab functions being broken in Firefox, in violation of the Add-on Guidelines.","name":"WiseConvert","created":"2014-06-18T13:48:26Z"},"enabled":true,"versionRange":[{"severity":1,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"ffd184fa-aa8f-8a75-ff00-ce285dec5b22","last_modified":1480349196597},{"guid":"/^({fa95f577-07cb-4470-ac90-e843f5f83c52}|ffxtlbr@speedial\\.com)$/","prefs":["browser.startup.homepage","browser.search.defaultenginename"],"schema":1480349193877,"blockID":"i696","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1031115","who":"All Firefox users who have any of these add-ons installed. Users who wish to continue using these add-ons can enable them in the Add-ons Manager.","why":"These add-ons are silently installed and change homepage and search defaults without user consent, in violation of the Add-on Guidelines. They are also distributed under more than one add-on ID.","name":"Speedial","created":"2014-08-21T13:55:41Z"},"enabled":true,"versionRange":[{"severity":1,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"130c7419-f727-a2fb-3891-627bc69a43bb","last_modified":1480349196565},{"guid":"pennerdu@faceobooks.ws","prefs":[],"schema":1480349193877,"blockID":"i442","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=904050","who":"All Firefox users who have this add-on installed.","why":"This is a malicious add-on that hijacks Facebook accounts.","name":"Console Video (malware)","created":"2013-08-13T14:00:36Z"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"fb83e48e-a780-9d06-132c-9ecc65b43674","last_modified":1480349196541},{"guid":"anttoolbar@ant.com","prefs":[],"schema":1480349193877,"blockID":"i88","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=748269","who":"All Firefox users who have installed version 2.4.6.4 of the Ant Video Downloader and Player add-on.","why":"Version 2.4.6.4 of the Ant Video Downloader and Player add-on is causing a very high number of crashes in Firefox. There's an updated version 2.4.6.5 that doesn't have this problem. All users are recommended to update as soon as possible.","name":"Ant Video Downloader and Player","created":"2012-05-01T10:32:11Z"},"enabled":true,"versionRange":[{"severity":1,"maxVersion":"2.4.6.4","minVersion":"2.4.6.4","targetApplication":[]}],"id":"9eef435b-39d4-2b73-0810-44b0d3ff52ad","last_modified":1480349196509},{"guid":"{E90FA778-C2B7-41D0-9FA9-3FEC1CA54D66}","prefs":[],"schema":1480349193877,"blockID":"i446","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=788838","who":"All Firefox users who have this add-on installed. The add-on can be enabled again in the Add-ons Manager.","why":"This add-on is installed silently, in violation of our Add-on Guidelines.","name":"YouTube to MP3 Converter","created":"2013-09-06T15:59:29Z"},"enabled":true,"versionRange":[{"severity":1,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"83eb6337-a3b6-84e4-e76c-ee9200b80796","last_modified":1480349196471},{"guid":"{ad7ce998-a77b-4062-9ffb-1d0b7cb23183}","prefs":["browser.startup.homepage","browser.search.defaultenginename"],"schema":1480349193877,"blockID":"i804","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1080839","who":"All Firefox users who have this add-on installed.","why":"This add-on is silently installed and is considered malware, in violation of the Add-on Guidelines.","name":"Astromenda Search Addon","created":"2014-12-15T10:53:58Z"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"633f9999-c81e-bd7a-e756-de7d34feb39d","last_modified":1480349196438},{"guid":"{52b0f3db-f988-4788-b9dc-861d016f4487}","prefs":[],"schema":1480349193877,"blockID":"i584","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=974104","who":"All Firefox users who have these add-ons installed. If you wish to continue using these add-ons, you can enable them in the Add-ons Manager.","why":"Versions of this add-on are silently installed by the Free Driver Scout installer, in violation of our Add-on Guidelines.","name":"Web Check (Free Driver Scout bundle)","created":"2014-05-22T11:07:00Z"},"enabled":true,"versionRange":[{"severity":1,"maxVersion":"0.1.9999999","minVersion":"0","targetApplication":[]}],"id":"cba0ac44-90f9-eabb-60b0-8da2b645e067","last_modified":1480349196363},{"guid":"dodatek@flash2.pl","prefs":[],"schema":1480349193877,"blockID":"i1279","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1312748","who":"Any user with version 1.3 or newer of this add-on installed.","why":"This add-on claims to be a flash plugin and it does some work on youtube, but it also steals your facebook and adfly credentials and sends them to a remote server.","name":"Aktualizacja Flash WORK addon","created":"2016-10-27T15:52:00Z"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"1.3","targetApplication":[]}],"id":"2dab5211-f9ec-a1bf-c617-6f94f28b5ee1","last_modified":1480349196331},{"guid":"{2d069a16-fca1-4e81-81ea-5d5086dcbd0c}","prefs":[],"schema":1480349193877,"blockID":"i440","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=903647","who":"All Firefox users who have this add-on installed.","why":"This add-on is installed silently and doesn't follow many other of the Add-on Guidelines. If you want to continue using this add-on, you can enable it in the Add-ons Manager.","name":"GlitterFun","created":"2013-08-09T16:26:46Z"},"enabled":true,"versionRange":[{"severity":1,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"e3f77f3c-b1d6-3b29-730a-846007b9cb16","last_modified":1480349196294},{"guid":"xivars@aol.com","prefs":[],"schema":1480349193877,"blockID":"i501","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=946420","who":"All Firefox users who have this add-on installed.","why":"This is a malicious Firefox extension that uses a deceptive name and hijacks users' Facebook accounts.","name":"Video Plugin Facebook (malware)","created":"2013-12-04T15:34:32Z"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"3303d201-7006-3c0d-5fd5-45503e2e690c","last_modified":1480349196247},{"guid":"2bbadf1f-a5af-499f-9642-9942fcdb7c76@f05a14cc-8842-4eee-be17-744677a917ed.com","prefs":[],"schema":1480349193877,"blockID":"i700","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1052599","who":"All Firefox users who have this add-on installed. Users who wish to continue using this add-on can enable it in the Add-ons Manager.","why":"This add-on is widely considered malware and is apparently installed silently into users' systems, in violation of the Add-on Guidelines.","name":"PIX Image Viewer","created":"2014-08-21T16:15:16Z"},"enabled":true,"versionRange":[{"severity":1,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"1b72889b-90e6-ea58-4fe8-d48257df7d8b","last_modified":1480349196212},{"guid":"/^[0-9a-f]+@[0-9a-f]+\\.info/","prefs":[],"schema":1480349193877,"blockID":"i256","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=806451","who":"All Firefox users who have installed any of these add-ons.","why":"The set of extensions labeled as Codec, Codec-M, Codec-C and other names are malware being distributed as genuine add-ons.\r\n\r\nIf you think an add-on you installed was incorrectly blocked and the block dialog pointed you to this page, please comment on this blog post.","name":"Codec extensions (malware)","created":"2013-01-22T12:16:13Z"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"0c654540-00f2-0ad4-c9be-7ca2ace5341e","last_modified":1480349196184},{"guid":"toolbar@ask.com","prefs":[],"schema":1480349193877,"blockID":"i600","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1024719","who":"All Firefox users who have these versions of the Ask Toolbar installed. Users who wish to continue using it can enable it in the Add-ons Manager.","why":"Certain old versions of the Ask Toolbar are causing problems to users when trying to open new tabs. Using more recent versions of the Ask Toolbar should also fix this problem.","name":"Ask Toolbar (old Avira Security Toolbar bundle)","created":"2014-06-12T14:16:08Z"},"enabled":true,"versionRange":[{"severity":1,"maxVersion":"3.15.5.*","minVersion":"3.15.5","targetApplication":[]}],"id":"51c4ab3b-9ad3-c5c3-98c8-a220025fc5a3","last_modified":1480349196158},{"guid":"{729c9605-0626-4792-9584-4cbe65b243e6}","prefs":[],"schema":1480349193877,"blockID":"i788","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1073810","who":"All Firefox users who have this add-on installed.","why":"This add-on is silently installed into users' systems. It uses very unsafe practices to load its code, and leaks information of all web browsing activity. These are all violations of the Add-on Guidelines.","name":"Browser Ext Assistance","created":"2014-11-20T10:07:19Z"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"3c588238-2501-6a53-65ea-5c8ff0f3e51d","last_modified":1480349196123},{"guid":"unblocker20__web@unblocker.yt","prefs":[],"schema":1480349193877,"blockID":"i1213","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1251911","who":"All users who have this add-on installed.","why":"This add-on is a copy of YouTube Unblocker, which was originally blocked due to malicious activity.","name":"YouTube Unblocker 2.0","created":"2016-05-09T17:28:18Z"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"de305335-e9f3-f410-cf5c-f88b7ad4b088","last_modified":1480349196088},{"guid":"webbooster@iminent.com","prefs":["browser.startup.homepage","browser.search.defaultenginename"],"schema":1480349193877,"blockID":"i630","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=866943","who":"All Firefox users who have any of these add-ons installed. Users who wish to continue using them can enable them in the Add-ons Manager.","why":"These add-ons have been silently installed repeatedly, and change settings without user consent, in violation of the Add-on Guidelines.","name":"Iminent Minibar","created":"2014-06-26T15:49:27Z"},"enabled":true,"versionRange":[{"severity":1,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"d894ea79-8215-7a0c-b0e9-be328c3afceb","last_modified":1480349196032},{"guid":"jid1-uabu5A9hduqzCw@jetpack","prefs":[],"schema":1480349193877,"blockID":"i1016","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1208051","who":"All users who have this add-on installed.","why":"This add-on is injecting unwanted and unexpected advertisements into all web pages, and masking this behavior as ad-blocking in its code.","name":"SpeedFox (malware)","created":"2015-09-24T09:49:42Z"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"31397419-3dfa-9db3-f1aa-e812d4220669","last_modified":1480349196001},{"guid":"/^firefox@(jumpflip|webconnect|browsesmart|mybuzzsearch|outobox|greygray|lemurleap|divapton|secretsauce|batbrowse|whilokii|linkswift|qualitink|browsefox|kozaka|diamondata|glindorus|saltarsmart|bizzybolt|websparkle)\\.(com?|net|org|info|biz)$/","prefs":[],"schema":1480349193877,"blockID":"i548","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=937405","who":"All Firefox users who have one or more of these add-ons installed. If you wish to continue using any of these add-ons, they can be enabled in the Add-ons Manager.","why":"A large amount of add-ons developed by Yontoo are known to be silently installed and otherwise violate the Add-on Guidelines.","name":"Yontoo add-ons","created":"2014-01-30T15:06:01Z"},"enabled":true,"versionRange":[{"severity":1,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"bfaf3510-397e-48e6-cc4f-74202aaaed54","last_modified":1480349195955},{"guid":"firefox@bandoo.com","prefs":[],"schema":1480349193877,"blockID":"i23","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=629634","who":"Users of Bandoo version 5.0 for Firefox 3.6 and later.","why":"This add-on causes a high volume of Firefox crashes.","name":"Bandoo","created":"2011-03-01T23:30:23Z"},"enabled":true,"versionRange":[{"severity":1,"maxVersion":"5.0","minVersion":"5.0","targetApplication":[{"guid":"{ec8030f7-c20a-464f-9b0e-13a3a9e97384}","maxVersion":"*","minVersion":"3.7a1pre"}]}],"id":"bd487cf4-3f6a-f956-a6e9-842ac8deeac5","last_modified":1480349195915},{"guid":"5nc3QHFgcb@r06Ws9gvNNVRfH.com","prefs":[],"schema":1480349193877,"blockID":"i372","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=875752","who":"All Firefox users who have this add-on installed.","why":"This add-on is malware pretending to be the Flash Player plugin.","name":"Flash Player 11 (malware)","created":"2013-06-18T13:23:40Z"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"dc71fcf5-fae4-5a5f-6455-ca7bbe4202db","last_modified":1480349195887},{"guid":"/^(7tG@zEb\\.net|ru@gfK0J\\.edu)$/","prefs":[],"schema":1480349193877,"blockID":"i854","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=952255","who":"All Firefox users who have this add-on installed.","why":"This add-on is silently installed and performs unwanted actions, in violation of the Add-on Guidelines.","name":"youtubeadblocker (malware)","created":"2015-02-09T15:41:36Z"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"cfe42207-67a9-9b88-f80c-994e6bdd0c55","last_modified":1480349195851},{"guid":"{a7aae4f0-bc2e-a0dd-fb8d-68ce32c9261f}","prefs":[],"schema":1480349193877,"blockID":"i378","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=865090","who":"All Firefox users who have installed this add-on.","why":"This extension is malware that hijacks Facebook accounts for malicious purposes.","name":"Myanmar Extension for Facebook (malware)","created":"2013-06-18T15:58:54Z"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"30ecd9b9-4023-d9ef-812d-f1a75bb189b0","last_modified":1480349195823},{"guid":"a88a77ahjjfjakckmmabsy278djasi@jetpack","prefs":[],"schema":1480349193877,"blockID":"i1034","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1211171","who":"All users who have this add-on installed.","why":"This is a malicious add-on that takes over Facebook accounts.","name":"Fast Unlock (malware)","created":"2015-10-05T16:28:48Z"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"f801f112-3e8f-770f-10db-384349a36026","last_modified":1480349195798},{"guid":"crossriderapp5060@crossrider.com","prefs":[],"schema":1480349193877,"blockID":"i228","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=810016","who":"All Firefox users who have this add-on installed.","why":"This add-on is silently side-installed by other software, and it overrides user preferences and inserts advertisements in web content.","name":"Savings Sidekick","created":"2012-11-29T16:31:13Z"},"enabled":true,"versionRange":[{"severity":1,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"a37f76ac-7b77-b5a3-bac8-addaacf34bae","last_modified":1480349195769},{"guid":"/^(saamazon@mybrowserbar\\.com)|(saebay@mybrowserbar\\.com)$/","prefs":[],"schema":1480349193877,"blockID":"i672","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1011337","who":"All Firefox users who have these add-ons installed. Users wishing to continue using these add-ons can enable them in the Add-ons Manager.","why":"These add-ons are being silently installed, in violation of the Add-on Guidelines.","name":"Spigot Shopping Assistant","created":"2014-07-22T15:13:57Z"},"enabled":true,"versionRange":[{"severity":1,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"e072a461-ee5a-c83d-8d4e-5686eb585a15","last_modified":1480349195347},{"guid":"{b99c8534-7800-48fa-bd71-519a46cdc7e1}","prefs":[],"schema":1480349193877,"blockID":"i596","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1011325","who":"All Firefox users who have this add-on installed. Users who wish to continue using it can enable it in the Add-ons Manager.","why":"This add-on is silently installed, in violation with our Add-on Guidelines.","name":"BrowseMark","created":"2014-06-12T13:19:59Z"},"enabled":true,"versionRange":[{"severity":1,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"f411bb0f-7c82-9061-4a80-cabc8ff45beb","last_modified":1480349195319},{"guid":"/^({94d62e35-4b43-494c-bf52-ba5935df36ef}|firefox@advanceelite\\.com|{bb7b7a60-f574-47c2-8a0b-4c56f2da9802})$/","prefs":[],"schema":1480349193877,"blockID":"i856","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1130323","who":"All Firefox users who have this add-on installed.","why":"This add-on is silently installed and performs unwanted actions, in violation of the Add-on Guidelines.","name":"AdvanceElite (malware)","created":"2015-02-09T15:51:11Z"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"e3d52650-d3e2-4cef-71f7-e6188f56fe4d","last_modified":1480349195286},{"guid":"{458fb825-2370-4973-bf66-9d7142141847}","prefs":["app.update.auto","app.update.enabled","app.update.interval","app.update.url"],"schema":1480349193877,"blockID":"i1024","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1209588","who":"All users who have this add-on installed. Users who wish to continue using it can enable it in the Add-ons Manager.","why":"This add-on hides itself in the Add-ons Manager, interrupts the Firefox update process, and reportedly causes other problems to users, in violation of the Add-on Guidelines.","name":"Web Shield","created":"2015-09-29T09:25:27Z"},"enabled":true,"versionRange":[{"severity":1,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"32c5baa7-d547-eaab-302d-b873c83bfe2d","last_modified":1480349195258},{"guid":"{f2456568-e603-43db-8838-ffa7c4a685c7}","prefs":[],"schema":1480349193877,"blockID":"i778","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1073810","who":"All Firefox users who have this add-on installed.","why":"This add-on is silently installed into users' systems. It uses very unsafe practices to load its code, and leaks information of all web browsing activity. These are all violations of the Add-on Guidelines.","name":"Sup-SW","created":"2014-11-07T13:53:13Z"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"93568fa2-0cb7-4e1d-e893-d7261e81547c","last_modified":1480349195215},{"guid":"{77BEC163-D389-42c1-91A4-C758846296A5}","prefs":[],"schema":1480349193877,"blockID":"i566","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=964594","who":"All Firefox users who have this add-on installed. Users who wish to continue using it can enable it in the Add-on Manager.","why":"This add-on is silently installed into Firefox, in violation of the Add-on Guidelines.","name":"V-Bates","created":"2014-03-05T13:20:54Z"},"enabled":true,"versionRange":[{"severity":1,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"080edbac-25d6-e608-abdd-feb1ce7a9a77","last_modified":1480349195185},{"guid":"helper@vidscrab.com","prefs":[],"schema":1480349193877,"blockID":"i1077","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1231010","who":"All Firefox users who have this add-on installed. Users who wish to continue using the add-on can enable it in the Add-ons Manager.","why":"This add-on injects remote scripts and injects unwanted content into web pages.","name":"YouTube Video Downloader (from AddonCrop)","created":"2016-01-14T14:32:53Z"},"enabled":true,"versionRange":[{"severity":1,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"36b2e1e0-5fda-bde3-db55-dfcbe24dfd04","last_modified":1480349195157},{"guid":"/^ext@WebexpEnhancedV1alpha[0-9]+\\.net$/","prefs":[],"schema":1480349193877,"blockID":"i535","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=952717","who":"All Firefox users who have this add-on installed. If you wish to continue using this add-on, it can be enabled in the Add-ons Manager.","why":"This add-on is generally unwanted by users and uses multiple random IDs in violation of the Add-on Guidelines.","name":"Webexp Enhanced","created":"2014-01-09T11:22:19Z"},"enabled":true,"versionRange":[{"severity":1,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"c7d6a30d-f3ee-40fb-5256-138dd4593a61","last_modified":1480349195123},{"guid":"jid1-XLjasWL55iEE1Q@jetpack","prefs":[],"schema":1480349193877,"blockID":"i578","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1002037","who":"All Firefox users who have this add-on installed.","why":"This is a malicious add-on that presents itself as \"Flash Player\" but is really injecting unwanted content into Facebook pages.","name":"Flash Player (malware)","created":"2014-04-28T16:25:03Z"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"1e75b2f0-02fc-77a4-ad2f-52a4caff1a71","last_modified":1480349195058},{"guid":"{a3a5c777-f583-4fef-9380-ab4add1bc2a8}","prefs":[],"schema":1480349193877,"blockID":"i142","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=792132","who":"Todos los usuarios de Firefox que instalaron la versi\u00f3n 4.2 del complemento Cuevana Stream.\r\n\r\nAll Firefox users who have installed version 4.2 of the Cuevana Stream add-on.","why":"Espa\u00f1ol\r\nUna versi\u00f3n maliciosa del complemento Cuevana Stream (4.2) fue colocada en el sitio Cuevana y distribuida a muchos usuarios del sitio. Esta versi\u00f3n recopila informaci\u00f3n de formularios web y los env\u00eda a una direcci\u00f3n remota con fines maliciosos. Se le recomienda a todos los usuarios que instalaron esta versi\u00f3n que cambien sus contrase\u00f1as inmediatamente, y que se actualicen a la nueva versi\u00f3n segura, que es la 4.3.\r\n\r\nEnglish\r\nA malicious version of the Cuevana Stream add-on (4.2) was uploaded to the Cuevana website and distributed to many of its users. This version takes form data and sends it to a remote location with malicious intent. It is recommended that all users who installed this version to update their passwords immediately, and update to the new safe version, version 4.3.\r\n\r\n","name":"Cuevana Stream (malicious version)","created":"2012-09-18T13:37:47Z"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"4.2","minVersion":"4.2","targetApplication":[]}],"id":"91e551b9-7e94-60e2-f1bd-52f25844ab16","last_modified":1480349195007},{"guid":"{34712C68-7391-4c47-94F3-8F88D49AD632}","prefs":[],"schema":1480349193877,"blockID":"i922","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1173154","who":"All Firefox users who have this add-on installed in Firefox 39 and above.\r\n","why":"Certain versions of this extension are causing startup crashes in Firefox 39 and above.\r\n","name":"RealPlayer Browser Record Plugin","created":"2015-06-09T15:27:31Z"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0","targetApplication":[{"guid":"{ec8030f7-c20a-464f-9b0e-13a3a9e97384}","maxVersion":"*","minVersion":"39.0a1"}]}],"id":"dd350efb-34ac-2bb5-5afd-eed722dbb916","last_modified":1480349194976},{"guid":"PDVDZDW52397720@XDDWJXW57740856.com","prefs":["browser.startup.homepage","browser.search.defaultenginename"],"schema":1480349193877,"blockID":"i846","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1128320","who":"All Firefox users who have this add-on installed.","why":"This add-on is silently installed and attempts to change user settings like the home page and default search, in violation of the Add-on Guidelines.","name":"Ge-Force","created":"2015-02-06T15:03:39Z"},"enabled":true,"versionRange":[{"severity":1,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"c33e950c-c977-ed89-c86a-3be8c4be1967","last_modified":1480349194949},{"guid":"{977f3b97-5461-4346-92c8-a14c749b77c9}","prefs":[],"schema":1480349193877,"blockID":"i69","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=729356","who":"All Firefox users who have this add-on installed.","why":"This add-on adds apps to users' accounts, with full access permissions, and sends spam posts using these apps, all without any consent from users.","name":"Zuperface+","created":"2012-02-22T16:41:23Z"},"enabled":true,"versionRange":[{"severity":1,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"f105bdc7-7ebd-587c-6344-1533249f50b3","last_modified":1480349194919},{"guid":"discoverypro@discoverypro.com","prefs":[],"schema":1480349193877,"blockID":"i582","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1004231","who":"All Firefox users who have this add-on installed. If you wish to continue using this add-on, you can enabled it in the Add-ons Manager.","why":"This add-on is silently installed by the CNET installer for MP3 Rocket and probably other software packages. This is in violation of the Add-on Guidelines.","name":"Website Discovery Pro","created":"2014-04-30T16:10:03Z"},"enabled":true,"versionRange":[{"severity":1,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"34eab242-6fbc-a459-a89e-0dc1a0b8355d","last_modified":1480349194878},{"guid":"jid1-bKSXgRwy1UQeRA@jetpack","prefs":[],"schema":1480349193877,"blockID":"i680","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=979856","who":"All Firefox users who have this add-on installed. Users who wish to continue using this add-on can enable it in the Add-ons Manager.","why":"This add-on is silently installed into user's systems, in violation of the Add-on Guidelines.","name":"Trusted Shopper","created":"2014-08-01T16:34:01Z"},"enabled":true,"versionRange":[{"severity":1,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"f701b790-b266-c69d-0fba-f2d189cb0f34","last_modified":1480349194851},{"guid":"bcVX5@nQm9l.org","prefs":[],"schema":1480349193877,"blockID":"i848","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1128266","who":"All Firefox users who have this add-on installed.","why":"This add-on is silently installed and performs unwanted actions, in violation of the Add-on Guidelines.","name":"boomdeal","created":"2015-02-09T15:21:17Z"},"enabled":true,"versionRange":[{"severity":1,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"f8d6d4e1-b9e6-07f5-2b49-192106a45d82","last_modified":1480349194799},{"guid":"aytac@abc.com","prefs":[],"schema":1480349193877,"blockID":"i504","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=947341","who":"All Firefox users who have this add-on installed.","why":"This is a malicious extension that hijacks users' Facebook accounts.","name":"Facebook Haber (malware)","created":"2013-12-06T12:07:58Z"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"bfaf8298-dd69-165c-e1ed-ad55584abd18","last_modified":1480349194724},{"guid":"Adobe@flash.com","prefs":[],"schema":1480349193877,"blockID":"i136","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=790100","who":"All Firefox users who have this add-on installed.","why":"This add-on is malware posing as a legitimate Adobe product.","name":"Adobe Flash (malware)","created":"2012-09-10T16:09:06Z"},"enabled":true,"versionRange":[{"severity":1,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"47ac744e-3176-5cb6-1d02-b460e0c7ada0","last_modified":1480349194647},{"guid":"{515b2424-5911-40bd-8a2c-bdb20286d8f5}","prefs":[],"schema":1480349193877,"blockID":"i491","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=940753","who":"All Firefox users who have this add-on installed. Users who wish to continue using it can enable it in the Add-ons Manager.","why":"The installer that includes this add-on violates the Add-on Guidelines by making changes that can't be easily reverted.","name":"Connect DLC","created":"2013-11-29T14:52:24Z"},"enabled":true,"versionRange":[{"severity":1,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"6d658443-b34a-67ad-934e-cbf7cd407460","last_modified":1480349194580},{"guid":"/^({3f3cddf8-f74d-430c-bd19-d2c9147aed3d}|{515b2424-5911-40bd-8a2c-bdb20286d8f5}|{17464f93-137e-4646-a0c6-0dc13faf0113}|{d1b5aad5-d1ae-4b20-88b1-feeaeb4c1ebc}|{aad50c91-b136-49d9-8b30-0e8d3ead63d0})$/","prefs":[],"schema":1480349193877,"blockID":"i516","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=947478","who":"All Firefox users who have this add-on installed. Users who wish to continue using it can enable it in the Add-ons Manager.","why":"The installer that includes this add-on violates the Add-on Guidelines by making changes that can't be easily reverted and being distributed under multiple add-on IDs.","name":"Connect DLC","created":"2013-12-20T12:38:20Z"},"enabled":true,"versionRange":[{"severity":1,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"96f8e157-8b8b-8e2e-76cd-6850599b4370","last_modified":1480349194521},{"guid":"wxtui502n2xce9j@no14","prefs":[],"schema":1480349193877,"blockID":"i1012","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1206157","who":"All users who have this add-on installed.","why":"This is a malicious add-on that takes over Facebook accounts.","name":"Video fix (malware)","created":"2015-09-21T13:04:09Z"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"246798ac-25fa-f4a4-258c-a71f9f6ae091","last_modified":1480349194463},{"guid":"flashX@adobe.com","prefs":[],"schema":1480349193877,"blockID":"i168","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=807052","who":"All Firefox users who have this add-on installed.","why":"This is an exploit proof-of-concept created for a conference presentation, which will probably be copied and modified for malicious purposes. \r\n","name":"Zombie Browser Pack","created":"2012-10-30T12:07:41Z"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"d7c69812-801c-8d8e-12cb-c5171bdc48a1","last_modified":1480349194428},{"guid":"/^(ff\\-)?dodate(kKKK|XkKKK|k|kk|kkx|kR)@(firefox|flash(1)?)\\.pl|dode(ee)?k@firefoxnet\\.pl|(addon|1)@upsolutions\\.pl$/","prefs":[],"schema":1480349193877,"blockID":"i1278","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1312748","who":"Any user with a version of this add-on installed.","why":"This add-on claims to be a flash plugin and it does some work on youtube, but it also steals your facebook and adfly credentials and sends them to a remote server.","name":"Aktualizacja dodatku Flash Add-on","created":"2016-10-27T10:52:53Z"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"389aec65-a15d-8276-c7a8-691ac283c9f1","last_modified":1480349194386},{"guid":"tmbepff@trendmicro.com","prefs":[],"schema":1480349193877,"blockID":"i1223","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1275245","who":"All users of this add-on. If you wish to continue using it, you can enable it in the Add-ons Manager.","why":"Add-on is causing a high-frequency crash in Firefox.","name":"Trend Micro BEP 9.2 to 9.2.0.1023","created":"2016-05-30T17:07:04Z"},"enabled":true,"versionRange":[{"severity":1,"maxVersion":"9.2.0.1023","minVersion":"9.2","targetApplication":[]}],"id":"46f75b67-2675-bdde-be93-7ea03475d405","last_modified":1480349194331},{"guid":"{4889ddce-7a83-45e6-afc9-1e4f1149fff4}","prefs":[],"schema":1480343836083,"blockID":"i840","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1128327","who":"All Firefox users who have this add-on installed.","why":"This add-on is silently installed and performs unwanted actions, in violation of the Add-on Guidelines.","name":"Cyti Web (malware)","created":"2015-02-06T14:30:06Z"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"be600f35-0633-29f3-c571-819e19d85db9","last_modified":1480349193867},{"guid":"{55dce8ba-9dec-4013-937e-adbf9317d990","prefs":[],"schema":1480343836083,"blockID":"i690","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1048647","who":"All Firefox users. Users who wish to continue using this add-on can enable it in the Add-ons Manager.","why":"This add-on is being silently installed in users' systems, in violation of the Add-on Guidelines.","name":"Deal Keeper","created":"2014-08-12T16:23:46Z"},"enabled":true,"versionRange":[{"severity":1,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"512b0d40-a10a-5ddc-963b-b9c487eb1422","last_modified":1480349193833},{"guid":"/^new@kuot\\.pro|{13ec6687-0b15-4f01-a5a0-7a891c18e4ee}|rebeccahoppkins(ty(tr)?)?@gmail\\.com|{501815af-725e-45be-b0f2-8f36f5617afc}|{9bdb5f1f-b1e1-4a75-be31-bdcaace20a99}|{e9d93e1d-792f-4f95-b738-7adb0e853b7b}|dojadewaskurwa@gmail\\.com$/","prefs":[],"schema":1480343836083,"blockID":"i1414","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1312748","who":"All users who have this add-on installed.","why":"This add-on claims to be a flash plugin and it does some work on youtube, but it also steals your facebook and adfly credentials and sends them to a remote server.","name":"Aktualizacja dodatku Flash (malware)","created":"2016-10-28T18:06:03Z"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"5cebc983-bc88-d5f8-6807-bd1cbfcd82fd","last_modified":1480349193798},{"guid":"/^pink@.*\\.info$/","prefs":[],"schema":1480343836083,"blockID":"i238","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=806543","who":"All Firefox users (Firefox 19 and above) who have any of these add-ons installed.","why":"This is a set of malicious add-ons that affect many users and are installed without their consent.","name":"Pink add-ons (malware)","created":"2012-12-07T13:46:20Z"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0","targetApplication":[{"guid":"{ec8030f7-c20a-464f-9b0e-13a3a9e97384}","maxVersion":"*","minVersion":"18.0"}]}],"id":"0d964264-8bd6-b78d-3c6c-92046c7dc8d0","last_modified":1480349193764},{"guid":"{58d2a791-6199-482f-a9aa-9b725ec61362}","prefs":[],"schema":1480343836083,"blockID":"i746","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=963787","who":"All Firefox users who have this add-on installed. Users who wish to continue using it can enable it in the Add-ons Manager.","why":"This add-on is silently installed into users' systems, in violation of the Add-on Guidelines.","name":"Start Page","created":"2014-10-17T16:01:53Z"},"enabled":true,"versionRange":[{"severity":1,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"8ebbc7d0-635c-b74a-de9f-16eb5837b36a","last_modified":1480349193730},{"guid":"{94cd2cc3-083f-49ba-a218-4cda4b4829fd}","prefs":[],"schema":1480343836083,"blockID":"i590","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1013678","who":"All Firefox users who have this add-on installed. Users who wish to continue using this add-on can enable it in the Add-ons Manager.","why":"This add-on is silently installed into users' profiles, in violation of the Add-on Guidelines.","name":"Value Apps","created":"2014-06-03T16:12:50Z"},"enabled":true,"versionRange":[{"severity":1,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"556b8d4d-d6c2-199d-9f33-8eccca07e8e7","last_modified":1480349193649},{"guid":"contentarget@maildrop.cc","prefs":[],"schema":1480343836083,"blockID":"i818","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1119971","who":"All Firefox users who have this add-on installed.","why":"This is a malicious extension that hijacks Facebook accounts.","name":"Astro Play (malware)","created":"2015-01-12T09:29:19Z"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"440e9923-027a-6089-e036-2f78937dc193","last_modified":1480349193622},{"guid":"unblocker30__web@unblocker.yt","prefs":[],"schema":1480343836083,"blockID":"i1228","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1251911","who":"All users who have this add-on installed.","why":"This add-on is a copy of YouTube Unblocker, which was originally blocked due to malicious activity.","name":"YouTube Unblocker 3.0","created":"2016-06-01T15:17:22Z"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"2d83e640-ef9d-f260-f5a3-a1a5c8390bfc","last_modified":1480349193595},{"guid":"noOpus@outlook.com","prefs":[],"schema":1480343836083,"blockID":"i816","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1119659","who":"All Firefox users who have this add-on installed.","why":"This add-on is silently installed into users' systems without their consent and performs unwanted operations.","name":"Full Screen (malware)","created":"2015-01-09T12:52:32Z"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"b64d7cef-8b6c-2575-16bc-732fca7db377","last_modified":1480349193537},{"guid":"{c95a4e8e-816d-4655-8c79-d736da1adb6d}","prefs":[],"schema":1480343836083,"blockID":"i433","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=844945","who":"All Firefox users who have this add-on installed.","why":"This add-on bypasses the external install opt in screen in Firefox, violating the Add-on Guidelines. Users who wish to continue using this add-on can enable it in the Add-ons Manager.","name":"Hotspot Shield","created":"2013-08-09T11:25:49Z"},"enabled":true,"versionRange":[{"severity":1,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"b3168278-a8ae-4882-7f26-355bc362bed0","last_modified":1480349193510},{"guid":"{9802047e-5a84-4da3-b103-c55995d147d1}","prefs":[],"schema":1480343836083,"blockID":"i722","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1073810","who":"All Firefox users who have this add-on installed.","why":"This add-on is silently installed into users' systems. It uses very unsafe practices to load its code, and leaks information of all web browsing activity. These are all violations of the Add-on Guidelines.","name":"Web Finder Pro","created":"2014-10-07T12:58:14Z"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"50097c29-26b1-bf45-ffe1-83da217eb127","last_modified":1480349193482},{"guid":"/^({bf9194c2-b86d-4ebc-9b53-1c08b6ff779e}|{61a83e16-7198-49c6-8874-3e4e8faeb4f3}|{f0af464e-5167-45cf-9cf0-66b396d1918c}|{5d9968c3-101c-4944-ba71-72d77393322d}|{01e86e69-a2f8-48a0-b068-83869bdba3d0})$/","prefs":[],"schema":1480343836083,"blockID":"i515","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=947473","who":"All Firefox users who have this add-on installed. Users who wish to continue using it can enable it in the Add-ons Manager.","why":"The installer that includes this add-on violates the Add-on Guidelines by using multiple add-on IDs and making unwanted settings changes.","name":"VisualBee Toolbar","created":"2013-12-20T12:26:49Z"},"enabled":true,"versionRange":[{"severity":1,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"029fa6f9-2351-40b7-5443-9a66e057f199","last_modified":1480349193449},{"guid":"/^({d50bfa5f-291d-48a8-909c-5f1a77b31948}|{d54bc985-6e7b-46cd-ad72-a4a266ad879e}|{d89e5de3-5543-4363-b320-a98cf150f86a}|{f3465017-6f51-4980-84a5-7bee2f961eba}|{fae25f38-ff55-46ea-888f-03b49aaf8812})$/","prefs":[],"schema":1480343836083,"blockID":"i1137","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1251940","who":"All users who have this add-on installed.","why":"This is a malicious add-on that hides itself from view and disables various security features in Firefox.","name":"Watcher (malware)","created":"2016-03-04T17:56:42Z"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"252e18d0-85bc-7bb3-6197-5f126424c9b3","last_modified":1480349193419},{"guid":"ffxtlbr@claro.com","prefs":[],"schema":1480343836083,"blockID":"i218","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=816762","who":"All Firefox users who have installed this add-on.","why":"The Claro Toolbar is side-installed with other software, unexpectedly changing users' settings and then making it impossible for these settings to be reverted by users.","name":"Claro Toolbar","created":"2012-11-29T16:07:00Z"},"enabled":true,"versionRange":[{"severity":1,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"e017a3b2-9b37-b8a0-21b0-bc412ae8a7f4","last_modified":1480349193385},{"guid":"/^(.*@(unblocker\\.yt|sparpilot\\.com))|(axtara@axtara\\.com)$/","prefs":[],"schema":1480343836083,"blockID":"i1229","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1251911","who":"All users who have this add-on installed.","why":"These add-ons are copies of YouTube Unblocker, which was originally blocked due to malicious activity.","name":"YouTube Unblocker (various)","created":"2016-06-03T15:28:39Z"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"c677cc5d-5b1e-8aa2-5cea-5a8dddce2ecf","last_modified":1480349193344},{"guid":"/^(j003-lqgrmgpcekslhg|SupraSavings|j003-dkqonnnthqjnkq|j003-kaggrpmirxjpzh)@jetpack$/","prefs":[],"schema":1480343836083,"blockID":"i692","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1048656","who":"All Firefox users who have this add-on installed. Users who wish to continue using this add-on can enable it in the Add-ons Manager.","why":"This add-on is being silently installed in users' systems, in violation of the Add-on Guidelines.","name":"SupraSavings","created":"2014-08-12T16:27:06Z"},"enabled":true,"versionRange":[{"severity":1,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"b0d30256-4581-1489-c241-d2e85b6c38f4","last_modified":1480349193295},{"guid":"helperbar@helperbar.com","prefs":[],"schema":1480343836083,"blockID":"i258","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=817786","who":"All Firefox users who have this add-on installed. This only applies to version 1.0 of Snap.do. Version 1.1 fixed all the issues for which this block was created.","why":"This extension violates a number of our Add-on Guidelines, particularly on installation and settings handling. It also causes some stability problems in Firefox due to the way the toolbar is handled.\r\n\r\nUsers who wish to keep the add-on enabled can enable it again in the Add-ons Manager.","name":"Snap.do","created":"2013-01-28T13:52:26Z"},"enabled":true,"versionRange":[{"severity":1,"maxVersion":"1.0","minVersion":"0","targetApplication":[]}],"id":"f1ede5b8-7757-5ec5-d8ed-1a01889154aa","last_modified":1480349193254},{"guid":"/^((support2_en@adobe14\\.com)|(XN4Xgjw7n4@yUWgc\\.com)|(C7yFVpIP@WeolS3acxgS\\.com)|(Kbeu4h0z@yNb7QAz7jrYKiiTQ3\\.com)|(aWQzX@a6z4gWdPu8FF\\.com)|(CBSoqAJLYpCbjTP90@JoV0VMywCjsm75Y0toAd\\.com)|(zZ2jWZ1H22Jb5NdELHS@o0jQVWZkY1gx1\\.com))$/","prefs":[],"schema":1480343836083,"blockID":"i326","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=841791","who":"All users who have this add-on installed.","why":"This extension is malware, installed pretending to be the Flash Player plugin.","name":"Flash Player (malware)","created":"2013-03-22T14:49:08Z"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"3142020b-8af9-1bac-60c5-ce5ad0ff3d42","last_modified":1480349193166},{"guid":"newmoz@facebook.com","prefs":[],"schema":1480343836083,"blockID":"i576","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=997986","who":"All Firefox users who have this add-on installed.","why":"This add-on is malware that hijacks Facebook user accounts and sends spam on the user's behalf.","name":"Facebook Service Pack (malware)","created":"2014-04-22T14:34:42Z"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"d85798d3-9b87-5dd9-ace2-64914b93df77","last_modified":1480349193114},{"guid":"flvto@hotger.com","prefs":[],"schema":1480343836083,"blockID":"i1211","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=1270175","who":"All users of this add-on. If you wish to continue using it, you can enable it in the Add-ons Manager.","why":"This add-on reports every visited URL to a third party without disclosing it to the user.","name":"YouTube to MP3 Button","created":"2016-05-04T16:26:32Z"},"enabled":true,"versionRange":[{"severity":1,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"a14d355f-719f-3b97-506c-083cc97cebaa","last_modified":1480349193088},{"guid":"{0F827075-B026-42F3-885D-98981EE7B1AE}","prefs":[],"schema":1480343836083,"blockID":"i334","details":{"bug":"https://bugzilla.mozilla.org/show_bug.cgi?id=862272","who":"All Firefox users who have this extension installed.","why":"This extension is malicious and is installed under false pretenses, causing problems for many Firefox users. Note that this is not the same BrowserProtect extension that is listed on our add-ons site. That one is safe to use.","name":"Browser Protect / bProtector (malware)","created":"2013-04-16T13:25:01Z"},"enabled":true,"versionRange":[{"severity":3,"maxVersion":"*","minVersion":"0","targetApplication":[]}],"id":"aad4545f-8f9d-dd53-2aa8-e8945cad6185","last_modified":1480349192987}]} \ No newline at end of file From aa9e661a429e2f90f5494743eb44ab2ee17cbf95 Mon Sep 17 00:00:00 2001 From: chrmod Date: Tue, 28 May 2019 16:54:40 +0000 Subject: [PATCH 46/80] Bug 1551377 - GeckoView unique tab id r=geckoview-reviewers,snorp Differential Revision: https://phabricator.services.mozilla.com/D32824 --HG-- extra : moz-landing-system : lando --- mobile/android/modules/geckoview/GeckoViewTab.jsm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/mobile/android/modules/geckoview/GeckoViewTab.jsm b/mobile/android/modules/geckoview/GeckoViewTab.jsm index 1df199b1ac7c..ebeae8a606a0 100644 --- a/mobile/android/modules/geckoview/GeckoViewTab.jsm +++ b/mobile/android/modules/geckoview/GeckoViewTab.jsm @@ -23,10 +23,10 @@ class Tab { // Stub BrowserApp implementation for WebExtensions support. class GeckoViewTab extends GeckoViewModule { onInit() { - // As this is only a stub implementation, we hardcode a single tab ID. // Because of bug 1410749, we can't use 0, though, and just to be safe // we choose a value that is unlikely to overlap with Fennec's tab IDs. - const tab = new Tab(10001, this.browser); + const tabId = 10000 + this.browser.ownerGlobal.windowUtils.outerWindowID; + const tab = new Tab(tabId, this.browser); this.window.gBrowser = this.window.BrowserApp = { selectedBrowser: this.browser, From eee1406ae26d2de14ee894ae8eb552811ae433c8 Mon Sep 17 00:00:00 2001 From: Matthew Gregan Date: Tue, 28 May 2019 09:43:08 +0000 Subject: [PATCH 47/80] Bug 1550695 - Avoid duplicating cubeb_init in both arms of MOZ_CUBEB_REMOTING ifdef. r=achronop Differential Revision: https://phabricator.services.mozilla.com/D32654 --HG-- extra : moz-landing-system : lando --- dom/media/CubebUtils.cpp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/dom/media/CubebUtils.cpp b/dom/media/CubebUtils.cpp index 2b46eedbc535..58d8cab7f70b 100644 --- a/dom/media/CubebUtils.cpp +++ b/dom/media/CubebUtils.cpp @@ -460,11 +460,11 @@ cubeb* GetCubebContextUnlocked() { "Did not initialize sbrandName, and not on the main thread?"); } + int rv = CUBEB_ERROR; #ifdef MOZ_CUBEB_REMOTING MOZ_LOG(gCubebLog, LogLevel::Info, ("%s: %s", PREF_CUBEB_SANDBOX, sCubebSandbox ? "true" : "false")); - int rv = CUBEB_OK; if (sCubebSandbox) { if (XRE_IsParentProcess()) { // TODO: Don't use audio IPC when within the same process. @@ -490,11 +490,11 @@ cubeb* GetCubebContextUnlocked() { rv = audioipc_client_init(&sCubebContext, sBrandName, &initParams); } else { +#endif // MOZ_CUBEB_REMOTING rv = cubeb_init(&sCubebContext, sBrandName, sCubebBackendName.get()); +#ifdef MOZ_CUBEB_REMOTING } sIPCConnection = nullptr; -#else // !MOZ_CUBEB_REMOTING - int rv = cubeb_init(&sCubebContext, sBrandName, sCubebBackendName.get()); #endif // MOZ_CUBEB_REMOTING NS_WARNING_ASSERTION(rv == CUBEB_OK, "Could not get a cubeb context."); sCubebState = From 66b75740df18ac859e2d1594cb9e506c863a9a86 Mon Sep 17 00:00:00 2001 From: Matthew Gregan Date: Tue, 28 May 2019 09:53:04 +0000 Subject: [PATCH 48/80] Bug 1550695 - Wrap cubeb_init in EnsureMTA to handle being called from threads where COM is uninitialized. r=achronop Depends on D32654 Differential Revision: https://phabricator.services.mozilla.com/D32655 --HG-- extra : moz-landing-system : lando --- dom/media/CubebUtils.cpp | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/dom/media/CubebUtils.cpp b/dom/media/CubebUtils.cpp index 58d8cab7f70b..d446ce4ca21f 100644 --- a/dom/media/CubebUtils.cpp +++ b/dom/media/CubebUtils.cpp @@ -32,6 +32,9 @@ #ifdef MOZ_WIDGET_ANDROID # include "GeneratedJNIWrappers.h" #endif +#ifdef XP_WIN +# include "mozilla/mscom/EnsureMTA.h" +#endif #define AUDIOIPC_POOL_SIZE_DEFAULT 2 #define AUDIOIPC_STACK_SIZE_DEFAULT (64 * 4096) @@ -491,7 +494,13 @@ cubeb* GetCubebContextUnlocked() { rv = audioipc_client_init(&sCubebContext, sBrandName, &initParams); } else { #endif // MOZ_CUBEB_REMOTING - rv = cubeb_init(&sCubebContext, sBrandName, sCubebBackendName.get()); +#ifdef XP_WIN + mozilla::mscom::EnsureMTA([&]() -> void { +#endif + rv = cubeb_init(&sCubebContext, sBrandName, sCubebBackendName.get()); +#ifdef XP_WIN + }); +#endif #ifdef MOZ_CUBEB_REMOTING } sIPCConnection = nullptr; From 61b50c514e1c100486c02b1c5233c95a35153f1e Mon Sep 17 00:00:00 2001 From: Jed Davis Date: Tue, 28 May 2019 21:08:36 +0000 Subject: [PATCH 49/80] Bug 1548525 - Detect Android launch failure. r=snorp Currently the Android implementation of process launch signals failure by returning pid 0 through an out-parameter; we don't check for that, so we report success and then the bad pid spreads through IPC until it sets off an assertion somewhere else. This patch adds the missing check and strengthens an assertion that would have caught the problem more directly. Differential Revision: https://phabricator.services.mozilla.com/D32875 --HG-- extra : moz-landing-system : lando --- ipc/glue/GeckoChildProcessHost.cpp | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/ipc/glue/GeckoChildProcessHost.cpp b/ipc/glue/GeckoChildProcessHost.cpp index ad268b77f578..7f8af17c02b8 100644 --- a/ipc/glue/GeckoChildProcessHost.cpp +++ b/ipc/glue/GeckoChildProcessHost.cpp @@ -946,6 +946,9 @@ bool GeckoChildProcessHost::PerformAsyncLaunch( # if defined(MOZ_WIDGET_ANDROID) LaunchAndroidService(childProcessType, childArgv, mLaunchOptions->fds_to_remap, &process); + if (process == 0) { + return false; + } # else // goes with defined(MOZ_WIDGET_ANDROID) if (!base::LaunchApp(childArgv, *mLaunchOptions, &process)) { return false; @@ -1254,7 +1257,7 @@ bool GeckoChildProcessHost::PerformAsyncLaunch( # error Sorry #endif // defined(OS_POSIX) - MOZ_ASSERT(process); + MOZ_DIAGNOSTIC_ASSERT(process); // NB: on OS X, we block much longer than we need to in order to // reach this call, waiting for the child process's task_t. The // best way to fix that is to refactor this file, hard. From 03cd7d1a435f2329d021b99819eb63490391aee0 Mon Sep 17 00:00:00 2001 From: Perry Jiang Date: Tue, 28 May 2019 21:14:44 +0000 Subject: [PATCH 50/80] Bug 1550059 - Clear ServiceWorker(Registration)Infos on shutdown. r=asuth Differential Revision: https://phabricator.services.mozilla.com/D30716 --HG-- extra : moz-landing-system : lando --- dom/serviceworkers/ServiceWorkerManager.cpp | 6 ++++++ dom/serviceworkers/ServiceWorkerRegistrationInfo.cpp | 7 +++++++ 2 files changed, 13 insertions(+) diff --git a/dom/serviceworkers/ServiceWorkerManager.cpp b/dom/serviceworkers/ServiceWorkerManager.cpp index 92491b65091a..fe0f9243b927 100644 --- a/dom/serviceworkers/ServiceWorkerManager.cpp +++ b/dom/serviceworkers/ServiceWorkerManager.cpp @@ -444,6 +444,12 @@ void ServiceWorkerManager::MaybeStartShutdown() { queue->CancelAll(); } it1.UserData()->mJobQueues.Clear(); + + for (auto it2 = it1.UserData()->mInfos.Iter(); !it2.Done(); it2.Next()) { + RefPtr regInfo = it2.UserData(); + regInfo->Clear(); + } + it1.UserData()->mInfos.Clear(); } nsCOMPtr obs = mozilla::services::GetObserverService(); diff --git a/dom/serviceworkers/ServiceWorkerRegistrationInfo.cpp b/dom/serviceworkers/ServiceWorkerRegistrationInfo.cpp index 34bc462e6306..831bf493a283 100644 --- a/dom/serviceworkers/ServiceWorkerRegistrationInfo.cpp +++ b/dom/serviceworkers/ServiceWorkerRegistrationInfo.cpp @@ -44,10 +44,17 @@ void ServiceWorkerRegistrationInfo::Clear() { mEvaluatingWorker = nullptr; } + RefPtr evaluating = mEvaluatingWorker.forget(); RefPtr installing = mInstallingWorker.forget(); RefPtr waiting = mWaitingWorker.forget(); RefPtr active = mActiveWorker.forget(); + if (evaluating) { + evaluating->UpdateState(ServiceWorkerState::Redundant); + evaluating->UpdateRedundantTime(); + evaluating->WorkerPrivate()->NoteDeadServiceWorkerInfo(); + } + if (installing) { installing->UpdateState(ServiceWorkerState::Redundant); installing->UpdateRedundantTime(); From 31b958661f86334b2ea3a9a6ac32afe0d9e4fbb5 Mon Sep 17 00:00:00 2001 From: Matthew Noorenberghe Date: Tue, 28 May 2019 21:50:10 +0000 Subject: [PATCH 51/80] Bug 1555152 - Make the 'aUsernameField' and 'aPasswordField' nsILoginInfo fields optional. r=sfoster I'm not removing them now since that will break Thunderbird. Differential Revision: https://phabricator.services.mozilla.com/D32426 --HG-- extra : moz-landing-system : lando --- .../tests/browser/browser_openSite.js | 2 +- .../tests/browser/browser_updateLogin.js | 2 +- toolkit/components/passwordmgr/LoginInfo.jsm | 6 +++--- .../components/passwordmgr/nsILoginInfo.idl | 2 +- .../passwordmgr/test/LoginTestUtils.jsm | 18 +++++++++--------- ...wser_focus_before_first_DOMContentLoaded.js | 4 ++-- .../passwordmgr/test/mochitest/test_xhr.html | 4 ++-- 7 files changed, 19 insertions(+), 19 deletions(-) diff --git a/browser/components/aboutlogins/tests/browser/browser_openSite.js b/browser/components/aboutlogins/tests/browser/browser_openSite.js index a79b15eb65b9..caa59eb4550a 100644 --- a/browser/components/aboutlogins/tests/browser/browser_openSite.js +++ b/browser/components/aboutlogins/tests/browser/browser_openSite.js @@ -4,7 +4,7 @@ let nsLoginInfo = new Components.Constructor("@mozilla.org/login-manager/loginInfo;1", Ci.nsILoginInfo, "init"); const LOGIN_URL = "https://example.com/"; -let TEST_LOGIN1 = new nsLoginInfo(LOGIN_URL, LOGIN_URL, null, "user1", "pass1", "username", "password"); +let TEST_LOGIN1 = new nsLoginInfo(LOGIN_URL, LOGIN_URL, null, "user1", "pass1"); add_task(async function setup() { let storageChangedPromised = TestUtils.topicObserved("passwordmgr-storage-changed", diff --git a/browser/components/aboutlogins/tests/browser/browser_updateLogin.js b/browser/components/aboutlogins/tests/browser/browser_updateLogin.js index 77fd3be7092c..0cbc59a67f56 100644 --- a/browser/components/aboutlogins/tests/browser/browser_updateLogin.js +++ b/browser/components/aboutlogins/tests/browser/browser_updateLogin.js @@ -4,7 +4,7 @@ let nsLoginInfo = new Components.Constructor("@mozilla.org/login-manager/loginInfo;1", Ci.nsILoginInfo, "init"); const LOGIN_URL = "https://www.example.com"; -let TEST_LOGIN1 = new nsLoginInfo(LOGIN_URL, LOGIN_URL, null, "user1", "pass1", "username", "password"); +let TEST_LOGIN1 = new nsLoginInfo(LOGIN_URL, LOGIN_URL, null, "user1", "pass1"); add_task(async function setup() { let storageChangedPromised = TestUtils.topicObserved("passwordmgr-storage-changed", diff --git a/toolkit/components/passwordmgr/LoginInfo.jsm b/toolkit/components/passwordmgr/LoginInfo.jsm index eaebed7e7c53..1ee225d44fdd 100644 --- a/toolkit/components/passwordmgr/LoginInfo.jsm +++ b/toolkit/components/passwordmgr/LoginInfo.jsm @@ -29,14 +29,14 @@ nsLoginInfo.prototype = { init(aHostname, aFormSubmitURL, aHttpRealm, aUsername, aPassword, - aUsernameField, aPasswordField) { + aUsernameField = "", aPasswordField = "") { this.hostname = aHostname; this.formSubmitURL = aFormSubmitURL; this.httpRealm = aHttpRealm; this.username = aUsername; this.password = aPassword; - this.usernameField = aUsernameField; - this.passwordField = aPasswordField; + this.usernameField = aUsernameField || ""; + this.passwordField = aPasswordField || ""; }, matches(aLogin, ignorePassword) { diff --git a/toolkit/components/passwordmgr/nsILoginInfo.idl b/toolkit/components/passwordmgr/nsILoginInfo.idl index 5b5b4a5b7908..2e3c6d376d0a 100644 --- a/toolkit/components/passwordmgr/nsILoginInfo.idl +++ b/toolkit/components/passwordmgr/nsILoginInfo.idl @@ -82,7 +82,7 @@ interface nsILoginInfo : nsISupports { void init(in AString aHostname, in AString aFormSubmitURL, in AString aHttpRealm, in AString aUsername, in AString aPassword, - in AString aUsernameField, in AString aPasswordField); + [optional] in AString aUsernameField, [optional] in AString aPasswordField); /** * Test for strict equality with another nsILoginInfo object. diff --git a/toolkit/components/passwordmgr/test/LoginTestUtils.jsm b/toolkit/components/passwordmgr/test/LoginTestUtils.jsm index 05c485e50bc9..729339aa3b83 100644 --- a/toolkit/components/passwordmgr/test/LoginTestUtils.jsm +++ b/toolkit/components/passwordmgr/test/LoginTestUtils.jsm @@ -117,7 +117,7 @@ this.LoginTestUtils.testData = { authLogin(modifications) { let loginInfo = new LoginInfo("http://www.example.org", null, "The HTTP Realm", "the username", - "the password", "", ""); + "the password"); loginInfo.QueryInterface(Ci.nsILoginMetaInfo); if (modifications) { for (let [name, value] of Object.entries(modifications)) { @@ -187,17 +187,17 @@ this.LoginTestUtils.testData = { // Simple HTTP authentication login. new LoginInfo("http://www.example.org", null, "The HTTP Realm", - "the username", "the password", "", ""), + "the username", "the password"), // Simple FTP authentication login. new LoginInfo("ftp://ftp.example.org", null, "ftp://ftp.example.org", - "the username", "the password", "", ""), + "the username", "the password"), // Multiple HTTP authentication logins can be stored for different realms. new LoginInfo("http://www2.example.org", null, "The HTTP Realm", - "the username", "the password", "", ""), + "the username", "the password"), new LoginInfo("http://www2.example.org", null, "The HTTP Realm Other", - "the username other", "the password other", "", ""), + "the username other", "the password other"), // --- Both form and authentication logins (example.net) --- @@ -211,18 +211,18 @@ this.LoginTestUtils.testData = { "username two", "the password", "form_field_username", "form_field_password"), new LoginInfo("http://example.net", null, "The HTTP Realm", - "the username", "the password", "", ""), + "the username", "the password"), new LoginInfo("http://example.net", null, "The HTTP Realm Other", - "username two", "the password", "", ""), + "username two", "the password"), new LoginInfo("ftp://example.net", null, "ftp://example.net", - "the username", "the password", "", ""), + "the username", "the password"), // --- Examples of logins added by extensions (chrome scheme) --- new LoginInfo("chrome://example_extension", null, "Example Login One", "the username", "the password one", "", ""), new LoginInfo("chrome://example_extension", null, "Example Login Two", - "the username", "the password two", "", ""), + "the username", "the password two"), ]; }, }; diff --git a/toolkit/components/passwordmgr/test/browser/browser_focus_before_first_DOMContentLoaded.js b/toolkit/components/passwordmgr/test/browser/browser_focus_before_first_DOMContentLoaded.js index 004bef9bc651..80a442e72b5d 100644 --- a/toolkit/components/passwordmgr/test/browser/browser_focus_before_first_DOMContentLoaded.js +++ b/toolkit/components/passwordmgr/test/browser/browser_focus_before_first_DOMContentLoaded.js @@ -12,10 +12,10 @@ add_task(function setup() { info("Adding two logins to get autocomplete instead of autofill"); let login1 = new nsLoginInfo("https://example.com", "https://autocomplete:8888", null, - "tempuser1", "temppass1", "", ""); + "tempuser1", "temppass1"); let login2 = new nsLoginInfo("https://example.com", "https://autocomplete:8888", null, - "testuser2", "testpass2", "", ""); + "testuser2", "testpass2"); Services.logins.addLogin(login1); Services.logins.addLogin(login2); diff --git a/toolkit/components/passwordmgr/test/mochitest/test_xhr.html b/toolkit/components/passwordmgr/test/mochitest/test_xhr.html index abe01820d76c..587bf00762b8 100644 --- a/toolkit/components/passwordmgr/test/mochitest/test_xhr.html +++ b/toolkit/components/passwordmgr/test/mochitest/test_xhr.html @@ -69,9 +69,9 @@ add_task(function setup() { let nsLoginInfo = Components.Constructor("@mozilla.org/login-manager/loginInfo;1", Ci.nsILoginInfo, "init"); let login1 = new nsLoginInfo("http://mochi.test:8888", null, "xhr", - "xhruser1", "xhrpass1", "", ""); + "xhruser1", "xhrpass1"); let login2 = new nsLoginInfo("http://mochi.test:8888", null, "xhr2", - "xhruser2", "xhrpass2", "", ""); + "xhruser2", "xhrpass2"); try { Services.logins.addLogin(login1); From 33e1b6488472bfba6497bdd47206d4cd4bd0e0c0 Mon Sep 17 00:00:00 2001 From: Matthew Noorenberghe Date: Tue, 28 May 2019 21:50:33 +0000 Subject: [PATCH 52/80] Bug 1555152 - Rename `looseActionOriginMatch` to `ignoreActionAndRealm` to be more correct. r=sfoster A loose actionOrigin match is achieved using "" for the formSubmitURL whereas the option also includes HTTP auth logins with a null `formSubmitURL`. Depends on D32426 Differential Revision: https://phabricator.services.mozilla.com/D32608 --HG-- extra : moz-landing-system : lando --- .../components/passwordmgr/LoginManagerParent.jsm | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/toolkit/components/passwordmgr/LoginManagerParent.jsm b/toolkit/components/passwordmgr/LoginManagerParent.jsm index 80eb484eb9ff..c556492a079b 100644 --- a/toolkit/components/passwordmgr/LoginManagerParent.jsm +++ b/toolkit/components/passwordmgr/LoginManagerParent.jsm @@ -54,11 +54,18 @@ this.LoginManagerParent = { // to avoid spamming master password prompts on autocomplete searches. _lastMPLoginCancelled: Math.NEGATIVE_INFINITY, + /** + * @param {origin} formOrigin + * @param {origin} actionOrigin + * @param {object} options + * @param {boolean} options.acceptDifferentSubdomains Include results for eTLD+1 matches + * @param {boolean} options.ignoreActionAndRealm Include all form and HTTP auth logins for the site + */ _searchAndDedupeLogins(formOrigin, actionOrigin, { - looseActionOriginMatch, acceptDifferentSubdomains, + ignoreActionAndRealm, } = {}) { let logins; let matchData = { @@ -66,7 +73,7 @@ this.LoginManagerParent = { schemeUpgrades: LoginHelper.schemeUpgrades, acceptDifferentSubdomains, }; - if (!looseActionOriginMatch) { + if (!ignoreActionAndRealm) { matchData.formSubmitURL = actionOrigin; } try { @@ -256,7 +263,7 @@ this.LoginManagerParent = { let logins = this._searchAndDedupeLogins(formOrigin, actionOrigin, { - looseActionOriginMatch: true, + ignoreActionAndRealm: true, acceptDifferentSubdomains: INCLUDE_OTHER_SUBDOMAINS_IN_LOOKUP, }); @@ -317,7 +324,7 @@ this.LoginManagerParent = { logins = this._searchAndDedupeLogins(formOrigin, actionOrigin, { - looseActionOriginMatch: true, + ignoreActionAndRealm: true, acceptDifferentSubdomains: INCLUDE_OTHER_SUBDOMAINS_IN_LOOKUP, }); } From ff732c2cdf0116e7a1d637dfb49fc965f411a5e0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Emilio=20Cobos=20=C3=81lvarez?= Date: Tue, 28 May 2019 22:47:08 +0000 Subject: [PATCH 53/80] Bug 1555143 - Remove unused aDeep argument from UnbindFromTree. r=bzbarsky $ for file in $(rg UnbindFromTree | cut -d : -f 1 | sort | uniq); do sed -i 's#UnbindFromTree(bool aDeep = true,#UnbindFromTree(#g' $file; done $ for file in $(rg UnbindFromTree | cut -d : -f 1 | sort | uniq); do sed -i 's#UnbindFromTree(bool aDeep,#UnbindFromTree(#g' $file; done $ for file in $(rg UnbindFromTree | cut -d : -f 1 | sort | uniq); do sed -i 's#UnbindFromTree(aDeep,#UnbindFromTree(#g' $file; done $ ./mach clang-format And fix the two callers and little use of the aDeep argument (see the "Manual changes" patch attached to bug). Differential Revision: https://phabricator.services.mozilla.com/D32898 --HG-- extra : moz-landing-system : lando --- dom/base/CharacterData.cpp | 2 +- dom/base/CharacterData.h | 2 +- dom/base/DocumentFragment.h | 2 +- dom/base/Element.cpp | 20 +++++++------------ dom/base/Element.h | 2 +- dom/base/ShadowRoot.cpp | 2 +- dom/base/nsIContent.h | 2 +- dom/base/nsImageLoadingContent.cpp | 2 +- dom/base/nsImageLoadingContent.h | 2 +- dom/base/nsObjectLoadingContent.cpp | 4 ++-- dom/base/nsObjectLoadingContent.h | 2 +- dom/base/nsTextNode.cpp | 11 +++++----- dom/base/nsTextNode.h | 3 +-- dom/html/HTMLAnchorElement.cpp | 4 ++-- dom/html/HTMLAnchorElement.h | 3 +-- dom/html/HTMLAreaElement.cpp | 4 ++-- dom/html/HTMLAreaElement.h | 3 +-- dom/html/HTMLButtonElement.cpp | 4 ++-- dom/html/HTMLButtonElement.h | 3 +-- dom/html/HTMLEmbedElement.cpp | 6 +++--- dom/html/HTMLEmbedElement.h | 3 +-- dom/html/HTMLFormElement.cpp | 4 ++-- dom/html/HTMLFormElement.h | 3 +-- dom/html/HTMLImageElement.cpp | 6 +++--- dom/html/HTMLImageElement.h | 2 +- dom/html/HTMLInputElement.cpp | 6 +++--- dom/html/HTMLInputElement.h | 3 +-- dom/html/HTMLLegendElement.cpp | 4 ++-- dom/html/HTMLLegendElement.h | 3 +-- dom/html/HTMLLinkElement.cpp | 4 ++-- dom/html/HTMLLinkElement.h | 3 +-- dom/html/HTMLMarqueeElement.cpp | 4 ++-- dom/html/HTMLMarqueeElement.h | 2 +- dom/html/HTMLMediaElement.cpp | 4 ++-- dom/html/HTMLMediaElement.h | 3 +-- dom/html/HTMLMetaElement.cpp | 4 ++-- dom/html/HTMLMetaElement.h | 3 +-- dom/html/HTMLObjectElement.cpp | 6 +++--- dom/html/HTMLObjectElement.h | 3 +-- dom/html/HTMLOptionElement.cpp | 4 ++-- dom/html/HTMLOptionElement.h | 3 +-- dom/html/HTMLSelectElement.cpp | 4 ++-- dom/html/HTMLSelectElement.h | 2 +- dom/html/HTMLSharedElement.cpp | 4 ++-- dom/html/HTMLSharedElement.h | 3 +-- dom/html/HTMLSlotElement.cpp | 4 ++-- dom/html/HTMLSlotElement.h | 2 +- dom/html/HTMLStyleElement.cpp | 4 ++-- dom/html/HTMLStyleElement.h | 3 +-- dom/html/HTMLTableElement.cpp | 4 ++-- dom/html/HTMLTableElement.h | 3 +-- dom/html/HTMLTextAreaElement.cpp | 4 ++-- dom/html/HTMLTextAreaElement.h | 3 +-- dom/html/HTMLTitleElement.cpp | 4 ++-- dom/html/HTMLTitleElement.h | 3 +-- dom/html/HTMLTrackElement.cpp | 4 ++-- dom/html/HTMLTrackElement.h | 2 +- dom/html/HTMLVideoElement.cpp | 4 ++-- dom/html/HTMLVideoElement.h | 3 +-- dom/html/nsGenericHTMLElement.cpp | 8 ++++---- dom/html/nsGenericHTMLElement.h | 6 ++---- dom/html/nsGenericHTMLFrameElement.cpp | 4 ++-- dom/html/nsGenericHTMLFrameElement.h | 3 +-- dom/mathml/nsMathMLElement.cpp | 4 ++-- dom/mathml/nsMathMLElement.h | 3 +-- dom/svg/SVGAElement.cpp | 4 ++-- dom/svg/SVGAElement.h | 3 +-- dom/svg/SVGAnimationElement.cpp | 4 ++-- dom/svg/SVGAnimationElement.h | 2 +- dom/svg/SVGFEImageElement.cpp | 6 +++--- dom/svg/SVGFEImageElement.h | 2 +- dom/svg/SVGImageElement.cpp | 6 +++--- dom/svg/SVGImageElement.h | 2 +- dom/svg/SVGMPathElement.cpp | 4 ++-- dom/svg/SVGMPathElement.h | 2 +- dom/svg/SVGSVGElement.cpp | 4 ++-- dom/svg/SVGSVGElement.h | 2 +- dom/svg/SVGStyleElement.cpp | 4 ++-- dom/svg/SVGStyleElement.h | 3 +-- dom/svg/SVGTitleElement.cpp | 4 ++-- dom/svg/SVGTitleElement.h | 3 +-- dom/svg/SVGUseElement.cpp | 4 ++-- dom/svg/SVGUseElement.h | 2 +- dom/xbl/nsXBLBinding.cpp | 2 +- .../XMLStylesheetProcessingInstruction.cpp | 5 ++--- dom/xml/XMLStylesheetProcessingInstruction.h | 3 +-- dom/xml/nsXMLElement.cpp | 4 ++-- dom/xml/nsXMLElement.h | 3 +-- dom/xul/XULFrameElement.cpp | 4 ++-- dom/xul/XULFrameElement.h | 2 +- dom/xul/XULTreeElement.cpp | 4 ++-- dom/xul/XULTreeElement.h | 2 +- dom/xul/nsXULElement.cpp | 4 ++-- dom/xul/nsXULElement.h | 2 +- 94 files changed, 154 insertions(+), 190 deletions(-) diff --git a/dom/base/CharacterData.cpp b/dom/base/CharacterData.cpp index 3d731d468aea..18b94b64796b 100644 --- a/dom/base/CharacterData.cpp +++ b/dom/base/CharacterData.cpp @@ -492,7 +492,7 @@ nsresult CharacterData::BindToTree(Document* aDocument, nsIContent* aParent, return NS_OK; } -void CharacterData::UnbindFromTree(bool aDeep, bool aNullParent) { +void CharacterData::UnbindFromTree(bool aNullParent) { // Unset frame flags; if we need them again later, they'll get set again. UnsetFlags(NS_CREATE_FRAME_IF_NON_WHITESPACE | NS_REFRAME_IF_WHITESPACE); diff --git a/dom/base/CharacterData.h b/dom/base/CharacterData.h index 78be2096f8da..dd3bf39476cf 100644 --- a/dom/base/CharacterData.h +++ b/dom/base/CharacterData.h @@ -110,7 +110,7 @@ class CharacterData : public nsIContent { nsresult BindToTree(Document* aDocument, nsIContent* aParent, nsIContent* aBindingParent) override; - void UnbindFromTree(bool aDeep = true, bool aNullParent = true) override; + void UnbindFromTree(bool aNullParent = true) override; already_AddRefed GetChildren(uint32_t aFilter) final { return nullptr; diff --git a/dom/base/DocumentFragment.h b/dom/base/DocumentFragment.h index 10fdf2a850d4..5649e2ba1cbb 100644 --- a/dom/base/DocumentFragment.h +++ b/dom/base/DocumentFragment.h @@ -65,7 +65,7 @@ class DocumentFragment : public FragmentOrElement { return NS_ERROR_NOT_IMPLEMENTED; } - virtual void UnbindFromTree(bool aDeep, bool aNullParent) override { + virtual void UnbindFromTree(bool aNullParent) override { NS_ASSERTION(false, "Trying to unbind a fragment from a tree"); } diff --git a/dom/base/Element.cpp b/dom/base/Element.cpp index 5a5f850adc60..46915ec5bac8 100644 --- a/dom/base/Element.cpp +++ b/dom/base/Element.cpp @@ -1839,11 +1839,7 @@ static bool ShouldRemoveFromIdTableOnUnbind(const Element& aElement, return aNullParent || !aElement.GetParent()->IsInShadowTree(); } -void Element::UnbindFromTree(bool aDeep, bool aNullParent) { - MOZ_ASSERT(aDeep || (!GetUncomposedDoc() && !GetBindingParent()), - "Shallow unbind won't clear document and binding parent on " - "kids!"); - +void Element::UnbindFromTree(bool aNullParent) { // Make sure to only remove from the ID table if our subtree root is actually // changing. if (ShouldRemoveFromIdTableOnUnbind(*this, aNullParent)) { @@ -1999,14 +1995,12 @@ void Element::UnbindFromTree(bool aDeep, bool aNullParent) { ResetDir(this); } - if (aDeep) { - for (nsIContent* child = GetFirstChild(); child; - child = child->GetNextSibling()) { - // Note that we pass false for aNullParent here, since we don't want - // the kids to forget us. We _do_ want them to forget their binding - // parent, though, since this only walks non-anonymous kids. - child->UnbindFromTree(true, false); - } + for (nsIContent* child = GetFirstChild(); child; + child = child->GetNextSibling()) { + // Note that we pass false for aNullParent here, since we don't want + // the kids to forget us. We _do_ want them to forget their binding + // parent, though, since this only walks non-anonymous kids. + child->UnbindFromTree(false); } nsNodeUtils::ParentChainChanged(this); diff --git a/dom/base/Element.h b/dom/base/Element.h index 4754e27c9b81..06b52a909a4b 100644 --- a/dom/base/Element.h +++ b/dom/base/Element.h @@ -656,7 +656,7 @@ class Element : public FragmentOrElement { nsresult BindToTree(Document* aDocument, nsIContent* aParent, nsIContent* aBindingParent) override; - void UnbindFromTree(bool aDeep = true, bool aNullParent = true) override; + void UnbindFromTree(bool aNullParent = true) override; /** * Normalizes an attribute name and returns it as a nodeinfo if an attribute diff --git a/dom/base/ShadowRoot.cpp b/dom/base/ShadowRoot.cpp index 84feb222f9ad..f03535911e28 100644 --- a/dom/base/ShadowRoot.cpp +++ b/dom/base/ShadowRoot.cpp @@ -148,7 +148,7 @@ void ShadowRoot::Unbind() { for (nsIContent* child = GetFirstChild(); child; child = child->GetNextSibling()) { - child->UnbindFromTree(true, false); + child->UnbindFromTree(false); } } diff --git a/dom/base/nsIContent.h b/dom/base/nsIContent.h index e4b0cb2b1fbb..1da88c95b09f 100644 --- a/dom/base/nsIContent.h +++ b/dom/base/nsIContent.h @@ -125,7 +125,7 @@ class nsIContent : public nsINode { * recursively calling UnbindFromTree when a subtree is detached. * @note This method is safe to call on nodes that are not bound to a tree. */ - virtual void UnbindFromTree(bool aDeep = true, bool aNullParent = true) = 0; + virtual void UnbindFromTree(bool aNullParent = true) = 0; enum { /** diff --git a/dom/base/nsImageLoadingContent.cpp b/dom/base/nsImageLoadingContent.cpp index d249d667e7d2..7c2e2618cb62 100644 --- a/dom/base/nsImageLoadingContent.cpp +++ b/dom/base/nsImageLoadingContent.cpp @@ -1619,7 +1619,7 @@ void nsImageLoadingContent::BindToTree(Document* aDocument, nsIContent* aParent, } } -void nsImageLoadingContent::UnbindFromTree(bool aDeep, bool aNullParent) { +void nsImageLoadingContent::UnbindFromTree(bool aNullParent) { // We may be leaving the document, so if our image is tracked, untrack it. nsCOMPtr doc = GetOurCurrentDoc(); if (!doc) return; diff --git a/dom/base/nsImageLoadingContent.h b/dom/base/nsImageLoadingContent.h index 6f02cffaf775..cce5ba38631b 100644 --- a/dom/base/nsImageLoadingContent.h +++ b/dom/base/nsImageLoadingContent.h @@ -218,7 +218,7 @@ class nsImageLoadingContent : public nsIImageLoadingContent { // Subclasses are *required* to call BindToTree/UnbindFromTree. void BindToTree(mozilla::dom::Document* aDocument, nsIContent* aParent, nsIContent* aBindingParent); - void UnbindFromTree(bool aDeep, bool aNullParent); + void UnbindFromTree(bool aNullParent); nsresult OnLoadComplete(imgIRequest* aRequest, nsresult aStatus); void OnUnlockedDraw(); diff --git a/dom/base/nsObjectLoadingContent.cpp b/dom/base/nsObjectLoadingContent.cpp index ecb4ff6f2462..682876249e69 100644 --- a/dom/base/nsObjectLoadingContent.cpp +++ b/dom/base/nsObjectLoadingContent.cpp @@ -575,8 +575,8 @@ nsresult nsObjectLoadingContent::BindToTree(Document* aDocument, return NS_OK; } -void nsObjectLoadingContent::UnbindFromTree(bool aDeep, bool aNullParent) { - nsImageLoadingContent::UnbindFromTree(aDeep, aNullParent); +void nsObjectLoadingContent::UnbindFromTree(bool aNullParent) { + nsImageLoadingContent::UnbindFromTree(aNullParent); nsCOMPtr thisElement = do_QueryInterface(static_cast(this)); diff --git a/dom/base/nsObjectLoadingContent.h b/dom/base/nsObjectLoadingContent.h index bb94f16f4d58..499997e04ddd 100644 --- a/dom/base/nsObjectLoadingContent.h +++ b/dom/base/nsObjectLoadingContent.h @@ -318,7 +318,7 @@ class nsObjectLoadingContent : public nsImageLoadingContent, nsresult BindToTree(mozilla::dom::Document* aDocument, nsIContent* aParent, nsIContent* aBindingParent); - void UnbindFromTree(bool aDeep = true, bool aNullParent = true); + void UnbindFromTree(bool aNullParent = true); /** * Return the content policy type used for loading the element. diff --git a/dom/base/nsTextNode.cpp b/dom/base/nsTextNode.cpp index e6398ba74730..364f69530852 100644 --- a/dom/base/nsTextNode.cpp +++ b/dom/base/nsTextNode.cpp @@ -44,8 +44,7 @@ class nsAttributeTextNode final : public nsTextNode, virtual nsresult BindToTree(Document* aDocument, nsIContent* aParent, nsIContent* aBindingParent) override; - virtual void UnbindFromTree(bool aDeep = true, - bool aNullParent = true) override; + virtual void UnbindFromTree(bool aNullParent = true) override; NS_DECL_NSIMUTATIONOBSERVER_ATTRIBUTECHANGED NS_DECL_NSIMUTATIONOBSERVER_NODEWILLBEDESTROYED @@ -124,10 +123,10 @@ nsresult nsTextNode::BindToTree(Document* aDocument, nsIContent* aParent, return NS_OK; } -void nsTextNode::UnbindFromTree(bool aDeep, bool aNullParent) { +void nsTextNode::UnbindFromTree(bool aNullParent) { ResetDirectionSetByTextNode(this); - CharacterData::UnbindFromTree(aDeep, aNullParent); + CharacterData::UnbindFromTree(aNullParent); } #ifdef DEBUG @@ -216,7 +215,7 @@ nsresult nsAttributeTextNode::BindToTree(Document* aDocument, return NS_OK; } -void nsAttributeTextNode::UnbindFromTree(bool aDeep, bool aNullParent) { +void nsAttributeTextNode::UnbindFromTree(bool aNullParent) { // UnbindFromTree can be called anytime so we have to be safe. if (mGrandparent) { // aNullParent might not be true here, but we want to remove the @@ -225,7 +224,7 @@ void nsAttributeTextNode::UnbindFromTree(bool aDeep, bool aNullParent) { mGrandparent->RemoveMutationObserver(this); mGrandparent = nullptr; } - nsTextNode::UnbindFromTree(aDeep, aNullParent); + nsTextNode::UnbindFromTree(aNullParent); } void nsAttributeTextNode::AttributeChanged(Element* aElement, diff --git a/dom/base/nsTextNode.h b/dom/base/nsTextNode.h index 3d1e965ccb5d..d96822955c27 100644 --- a/dom/base/nsTextNode.h +++ b/dom/base/nsTextNode.h @@ -48,8 +48,7 @@ class nsTextNode : public mozilla::dom::Text { virtual nsresult BindToTree(Document* aDocument, nsIContent* aParent, nsIContent* aBindingParent) override; - virtual void UnbindFromTree(bool aDeep = true, - bool aNullParent = true) override; + virtual void UnbindFromTree(bool aNullParent = true) override; nsresult AppendTextForNormalize(const char16_t* aBuffer, uint32_t aLength, bool aNotify, nsIContent* aNextSibling); diff --git a/dom/html/HTMLAnchorElement.cpp b/dom/html/HTMLAnchorElement.cpp index a4bc72e9f241..35cf7dd80490 100644 --- a/dom/html/HTMLAnchorElement.cpp +++ b/dom/html/HTMLAnchorElement.cpp @@ -111,7 +111,7 @@ nsresult HTMLAnchorElement::BindToTree(Document* aDocument, nsIContent* aParent, return rv; } -void HTMLAnchorElement::UnbindFromTree(bool aDeep, bool aNullParent) { +void HTMLAnchorElement::UnbindFromTree(bool aNullParent) { // Cancel any DNS prefetches // Note: Must come before ResetLinkState. If called after, it will recreate // mCachedURI based on data that is invalid - due to a call to GetHostname. @@ -122,7 +122,7 @@ void HTMLAnchorElement::UnbindFromTree(bool aDeep, bool aNullParent) { // in the mStyledLinks hashtable Link::ResetLinkState(false, Link::ElementHasHref()); - nsGenericHTMLElement::UnbindFromTree(aDeep, aNullParent); + nsGenericHTMLElement::UnbindFromTree(aNullParent); } static bool IsNodeInEditableRegion(nsINode* aNode) { diff --git a/dom/html/HTMLAnchorElement.h b/dom/html/HTMLAnchorElement.h index 66fbe362359a..15924ff7e8a5 100644 --- a/dom/html/HTMLAnchorElement.h +++ b/dom/html/HTMLAnchorElement.h @@ -45,8 +45,7 @@ class HTMLAnchorElement final : public nsGenericHTMLElement, public Link { virtual nsresult BindToTree(Document* aDocument, nsIContent* aParent, nsIContent* aBindingParent) override; - virtual void UnbindFromTree(bool aDeep = true, - bool aNullParent = true) override; + virtual void UnbindFromTree(bool aNullParent = true) override; virtual bool IsHTMLFocusable(bool aWithMouse, bool* aIsFocusable, int32_t* aTabIndex) override; diff --git a/dom/html/HTMLAreaElement.cpp b/dom/html/HTMLAreaElement.cpp index 644ee295f51f..d39247fc226f 100644 --- a/dom/html/HTMLAreaElement.cpp +++ b/dom/html/HTMLAreaElement.cpp @@ -80,12 +80,12 @@ nsresult HTMLAreaElement::BindToTree(Document* aDocument, nsIContent* aParent, return rv; } -void HTMLAreaElement::UnbindFromTree(bool aDeep, bool aNullParent) { +void HTMLAreaElement::UnbindFromTree(bool aNullParent) { // Without removing the link state we risk a dangling pointer // in the mStyledLinks hashtable Link::ResetLinkState(false, Link::ElementHasHref()); - nsGenericHTMLElement::UnbindFromTree(aDeep, aNullParent); + nsGenericHTMLElement::UnbindFromTree(aNullParent); } nsresult HTMLAreaElement::AfterSetAttr(int32_t aNamespaceID, nsAtom* aName, diff --git a/dom/html/HTMLAreaElement.h b/dom/html/HTMLAreaElement.h index 12296c56b679..1db9ca4fa29c 100644 --- a/dom/html/HTMLAreaElement.h +++ b/dom/html/HTMLAreaElement.h @@ -45,8 +45,7 @@ class HTMLAreaElement final : public nsGenericHTMLElement, public Link { virtual nsresult BindToTree(Document* aDocument, nsIContent* aParent, nsIContent* aBindingParent) override; - virtual void UnbindFromTree(bool aDeep = true, - bool aNullParent = true) override; + virtual void UnbindFromTree(bool aNullParent = true) override; virtual nsresult Clone(dom::NodeInfo*, nsINode** aResult) const override; diff --git a/dom/html/HTMLButtonElement.cpp b/dom/html/HTMLButtonElement.cpp index 0e291285bd0c..90ceaf524638 100644 --- a/dom/html/HTMLButtonElement.cpp +++ b/dom/html/HTMLButtonElement.cpp @@ -299,8 +299,8 @@ nsresult HTMLButtonElement::BindToTree(Document* aDocument, nsIContent* aParent, return NS_OK; } -void HTMLButtonElement::UnbindFromTree(bool aDeep, bool aNullParent) { - nsGenericHTMLFormElementWithState::UnbindFromTree(aDeep, aNullParent); +void HTMLButtonElement::UnbindFromTree(bool aNullParent) { + nsGenericHTMLFormElementWithState::UnbindFromTree(aNullParent); // Update our state; we may no longer be the default submit element UpdateState(false); diff --git a/dom/html/HTMLButtonElement.h b/dom/html/HTMLButtonElement.h index 15dad6e47447..d6dc34608d2f 100644 --- a/dom/html/HTMLButtonElement.h +++ b/dom/html/HTMLButtonElement.h @@ -62,8 +62,7 @@ class HTMLButtonElement final : public nsGenericHTMLFormElementWithState, // nsIContent virtual nsresult BindToTree(Document* aDocument, nsIContent* aParent, nsIContent* aBindingParent) override; - virtual void UnbindFromTree(bool aDeep = true, - bool aNullParent = true) override; + virtual void UnbindFromTree(bool aNullParent = true) override; virtual void DoneCreatingElement() override; void UpdateBarredFromConstraintValidation(); diff --git a/dom/html/HTMLEmbedElement.cpp b/dom/html/HTMLEmbedElement.cpp index f3bb230e8fcc..02d3eed6e66e 100644 --- a/dom/html/HTMLEmbedElement.cpp +++ b/dom/html/HTMLEmbedElement.cpp @@ -96,7 +96,7 @@ nsresult HTMLEmbedElement::BindToTree(Document* aDocument, nsIContent* aParent, return NS_OK; } -void HTMLEmbedElement::UnbindFromTree(bool aDeep, bool aNullParent) { +void HTMLEmbedElement::UnbindFromTree(bool aNullParent) { #ifdef XP_MACOSX // When a page is reloaded (when an Document's content is removed), the // focused element isn't necessarily sent an eBlur event. See @@ -105,8 +105,8 @@ void HTMLEmbedElement::UnbindFromTree(bool aDeep, bool aNullParent) { // disable text input in the browser window. See bug 1137229. HTMLObjectElement::OnFocusBlurPlugin(this, false); #endif - nsObjectLoadingContent::UnbindFromTree(aDeep, aNullParent); - nsGenericHTMLElement::UnbindFromTree(aDeep, aNullParent); + nsObjectLoadingContent::UnbindFromTree(aNullParent); + nsGenericHTMLElement::UnbindFromTree(aNullParent); } nsresult HTMLEmbedElement::AfterSetAttr(int32_t aNamespaceID, nsAtom* aName, diff --git a/dom/html/HTMLEmbedElement.h b/dom/html/HTMLEmbedElement.h index 52ccdeee57b3..1a4909fb2d64 100644 --- a/dom/html/HTMLEmbedElement.h +++ b/dom/html/HTMLEmbedElement.h @@ -38,8 +38,7 @@ class HTMLEmbedElement final : public nsGenericHTMLElement, virtual nsresult BindToTree(Document* aDocument, nsIContent* aParent, nsIContent* aBindingParent) override; - virtual void UnbindFromTree(bool aDeep = true, - bool aNullParent = true) override; + virtual void UnbindFromTree(bool aNullParent = true) override; virtual bool IsHTMLFocusable(bool aWithMouse, bool* aIsFocusable, int32_t* aTabIndex) override; diff --git a/dom/html/HTMLFormElement.cpp b/dom/html/HTMLFormElement.cpp index f6c1270bdb9a..8688cbc10985 100644 --- a/dom/html/HTMLFormElement.cpp +++ b/dom/html/HTMLFormElement.cpp @@ -356,7 +356,7 @@ static void CollectOrphans(nsINode* aRemovalRoot, } } -void HTMLFormElement::UnbindFromTree(bool aDeep, bool aNullParent) { +void HTMLFormElement::UnbindFromTree(bool aNullParent) { // Note, this is explicitly using uncomposed doc, since we count // only forms in document. nsCOMPtr oldDocument = do_QueryInterface(GetUncomposedDoc()); @@ -366,7 +366,7 @@ void HTMLFormElement::UnbindFromTree(bool aDeep, bool aNullParent) { MarkOrphans(mControls->mNotInElements); MarkOrphans(mImageElements); - nsGenericHTMLElement::UnbindFromTree(aDeep, aNullParent); + nsGenericHTMLElement::UnbindFromTree(aNullParent); nsINode* ancestor = this; nsINode* cur; diff --git a/dom/html/HTMLFormElement.h b/dom/html/HTMLFormElement.h index 1a547f0501d4..6fec6619f4f9 100644 --- a/dom/html/HTMLFormElement.h +++ b/dom/html/HTMLFormElement.h @@ -96,8 +96,7 @@ class HTMLFormElement final : public nsGenericHTMLElement, virtual nsresult BindToTree(Document* aDocument, nsIContent* aParent, nsIContent* aBindingParent) override; - virtual void UnbindFromTree(bool aDeep = true, - bool aNullParent = true) override; + virtual void UnbindFromTree(bool aNullParent = true) override; virtual nsresult BeforeSetAttr(int32_t aNamespaceID, nsAtom* aName, const nsAttrValueOrString* aValue, bool aNotify) override; diff --git a/dom/html/HTMLImageElement.cpp b/dom/html/HTMLImageElement.cpp index 8dc7ee96aeec..3a81f5fdc5d7 100644 --- a/dom/html/HTMLImageElement.cpp +++ b/dom/html/HTMLImageElement.cpp @@ -547,7 +547,7 @@ nsresult HTMLImageElement::BindToTree(Document* aDocument, nsIContent* aParent, return rv; } -void HTMLImageElement::UnbindFromTree(bool aDeep, bool aNullParent) { +void HTMLImageElement::UnbindFromTree(bool aNullParent) { if (mForm) { if (aNullParent || !FindAncestorForm(mForm)) { ClearForm(true); @@ -561,8 +561,8 @@ void HTMLImageElement::UnbindFromTree(bool aDeep, bool aNullParent) { mInDocResponsiveContent = false; } - nsImageLoadingContent::UnbindFromTree(aDeep, aNullParent); - nsGenericHTMLElement::UnbindFromTree(aDeep, aNullParent); + nsImageLoadingContent::UnbindFromTree(aNullParent); + nsGenericHTMLElement::UnbindFromTree(aNullParent); } void HTMLImageElement::UpdateFormOwner() { diff --git a/dom/html/HTMLImageElement.h b/dom/html/HTMLImageElement.h index dc96a64163d1..725e299e7a6b 100644 --- a/dom/html/HTMLImageElement.h +++ b/dom/html/HTMLImageElement.h @@ -75,7 +75,7 @@ class HTMLImageElement final : public nsGenericHTMLElement, virtual nsresult BindToTree(Document* aDocument, nsIContent* aParent, nsIContent* aBindingParent) override; - virtual void UnbindFromTree(bool aDeep, bool aNullParent) override; + virtual void UnbindFromTree(bool aNullParent) override; virtual EventStates IntrinsicState() const override; virtual nsresult Clone(dom::NodeInfo*, nsINode** aResult) const override; diff --git a/dom/html/HTMLInputElement.cpp b/dom/html/HTMLInputElement.cpp index c87edd1de0e2..9d36f0db5047 100644 --- a/dom/html/HTMLInputElement.cpp +++ b/dom/html/HTMLInputElement.cpp @@ -4334,7 +4334,7 @@ nsresult HTMLInputElement::BindToTree(Document* aDocument, nsIContent* aParent, return rv; } -void HTMLInputElement::UnbindFromTree(bool aDeep, bool aNullParent) { +void HTMLInputElement::UnbindFromTree(bool aNullParent) { // If we have a form and are unbound from it, // nsGenericHTMLFormElementWithState::UnbindFromTree() will unset the form and // that takes care of form's WillRemove so we just have to take care @@ -4349,8 +4349,8 @@ void HTMLInputElement::UnbindFromTree(bool aDeep, bool aNullParent) { NotifyUAWidgetTeardown(); } - nsImageLoadingContent::UnbindFromTree(aDeep, aNullParent); - nsGenericHTMLFormElementWithState::UnbindFromTree(aDeep, aNullParent); + nsImageLoadingContent::UnbindFromTree(aNullParent); + nsGenericHTMLFormElementWithState::UnbindFromTree(aNullParent); // GetCurrentDoc is returning nullptr so we can update the value // missing validity state to reflect we are no longer into a doc. diff --git a/dom/html/HTMLInputElement.h b/dom/html/HTMLInputElement.h index 86c36d45c97f..4011fe1e544e 100644 --- a/dom/html/HTMLInputElement.h +++ b/dom/html/HTMLInputElement.h @@ -202,8 +202,7 @@ class HTMLInputElement final : public nsGenericHTMLFormElementWithState, virtual nsresult BindToTree(Document* aDocument, nsIContent* aParent, nsIContent* aBindingParent) override; - virtual void UnbindFromTree(bool aDeep = true, - bool aNullParent = true) override; + virtual void UnbindFromTree(bool aNullParent = true) override; MOZ_CAN_RUN_SCRIPT_BOUNDARY virtual void DoneCreatingElement() override; diff --git a/dom/html/HTMLLegendElement.cpp b/dom/html/HTMLLegendElement.cpp index ba7f443dcd5b..52a9c0b93511 100644 --- a/dom/html/HTMLLegendElement.cpp +++ b/dom/html/HTMLLegendElement.cpp @@ -62,8 +62,8 @@ nsresult HTMLLegendElement::BindToTree(Document* aDocument, nsIContent* aParent, return nsGenericHTMLElement::BindToTree(aDocument, aParent, aBindingParent); } -void HTMLLegendElement::UnbindFromTree(bool aDeep, bool aNullParent) { - nsGenericHTMLElement::UnbindFromTree(aDeep, aNullParent); +void HTMLLegendElement::UnbindFromTree(bool aNullParent) { + nsGenericHTMLElement::UnbindFromTree(aNullParent); } void HTMLLegendElement::Focus(const FocusOptions& aOptions, diff --git a/dom/html/HTMLLegendElement.h b/dom/html/HTMLLegendElement.h index eae3371bb970..f38c46188213 100644 --- a/dom/html/HTMLLegendElement.h +++ b/dom/html/HTMLLegendElement.h @@ -32,8 +32,7 @@ class HTMLLegendElement final : public nsGenericHTMLElement { // nsIContent virtual nsresult BindToTree(Document* aDocument, nsIContent* aParent, nsIContent* aBindingParent) override; - virtual void UnbindFromTree(bool aDeep = true, - bool aNullParent = true) override; + virtual void UnbindFromTree(bool aNullParent = true) override; virtual bool ParseAttribute(int32_t aNamespaceID, nsAtom* aAttribute, const nsAString& aValue, nsIPrincipal* aMaybeScriptedPrincipal, diff --git a/dom/html/HTMLLinkElement.cpp b/dom/html/HTMLLinkElement.cpp index e6d81e43941a..a98331ff43a4 100644 --- a/dom/html/HTMLLinkElement.cpp +++ b/dom/html/HTMLLinkElement.cpp @@ -154,7 +154,7 @@ void HTMLLinkElement::LinkRemoved() { CreateAndDispatchEvent(OwnerDoc(), NS_LITERAL_STRING("DOMLinkRemoved")); } -void HTMLLinkElement::UnbindFromTree(bool aDeep, bool aNullParent) { +void HTMLLinkElement::UnbindFromTree(bool aNullParent) { // Cancel any DNS prefetches // Note: Must come before ResetLinkState. If called after, it will recreate // mCachedURI based on data that is invalid - due to a call to GetHostname. @@ -182,7 +182,7 @@ void HTMLLinkElement::UnbindFromTree(bool aDeep, bool aNullParent) { } CreateAndDispatchEvent(oldDoc, NS_LITERAL_STRING("DOMLinkRemoved")); - nsGenericHTMLElement::UnbindFromTree(aDeep, aNullParent); + nsGenericHTMLElement::UnbindFromTree(aNullParent); Unused << UpdateStyleSheetInternal(oldDoc, oldShadowRoot); } diff --git a/dom/html/HTMLLinkElement.h b/dom/html/HTMLLinkElement.h index 4f15b289d0b3..d43aabb4e81b 100644 --- a/dom/html/HTMLLinkElement.h +++ b/dom/html/HTMLLinkElement.h @@ -50,8 +50,7 @@ class HTMLLinkElement final : public nsGenericHTMLElement, // nsIContent virtual nsresult BindToTree(Document* aDocument, nsIContent* aParent, nsIContent* aBindingParent) override; - virtual void UnbindFromTree(bool aDeep = true, - bool aNullParent = true) override; + virtual void UnbindFromTree(bool aNullParent = true) override; virtual nsresult BeforeSetAttr(int32_t aNameSpaceID, nsAtom* aName, const nsAttrValueOrString* aValue, bool aNotify) override; diff --git a/dom/html/HTMLMarqueeElement.cpp b/dom/html/HTMLMarqueeElement.cpp index a46c4788d3be..ecb15641c5bc 100644 --- a/dom/html/HTMLMarqueeElement.cpp +++ b/dom/html/HTMLMarqueeElement.cpp @@ -61,14 +61,14 @@ nsresult HTMLMarqueeElement::BindToTree(Document* aDocument, return rv; } -void HTMLMarqueeElement::UnbindFromTree(bool aDeep, bool aNullParent) { +void HTMLMarqueeElement::UnbindFromTree(bool aNullParent) { if (IsInComposedDoc()) { // We don't want to unattach the shadow root because it used to // contain a . NotifyUAWidgetTeardown(UnattachShadowRoot::No); } - nsGenericHTMLElement::UnbindFromTree(aDeep, aNullParent); + nsGenericHTMLElement::UnbindFromTree(aNullParent); } void HTMLMarqueeElement::GetBehavior(nsAString& aValue) { diff --git a/dom/html/HTMLMarqueeElement.h b/dom/html/HTMLMarqueeElement.h index fc6026bc441d..bf178877dfbb 100644 --- a/dom/html/HTMLMarqueeElement.h +++ b/dom/html/HTMLMarqueeElement.h @@ -19,7 +19,7 @@ class HTMLMarqueeElement final : public nsGenericHTMLElement { nsresult BindToTree(Document* aDocument, nsIContent* aParent, nsIContent* aBindingParent) override; - void UnbindFromTree(bool aDeep = true, bool aNullParent = true) override; + void UnbindFromTree(bool aNullParent = true) override; static const int kDefaultLoop = -1; static const int kDefaultScrollAmount = 6; diff --git a/dom/html/HTMLMediaElement.cpp b/dom/html/HTMLMediaElement.cpp index 608d6a54d6cf..bd2b716289ea 100644 --- a/dom/html/HTMLMediaElement.cpp +++ b/dom/html/HTMLMediaElement.cpp @@ -4291,7 +4291,7 @@ void HTMLMediaElement::ReportTelemetry() { } } -void HTMLMediaElement::UnbindFromTree(bool aDeep, bool aNullParent) { +void HTMLMediaElement::UnbindFromTree(bool aNullParent) { mUnboundFromTree = true; mVisibilityState = Visibility::Untracked; @@ -4299,7 +4299,7 @@ void HTMLMediaElement::UnbindFromTree(bool aDeep, bool aNullParent) { NotifyUAWidgetTeardown(); } - nsGenericHTMLElement::UnbindFromTree(aDeep, aNullParent); + nsGenericHTMLElement::UnbindFromTree(aNullParent); MOZ_ASSERT(IsHidden()); NotifyDecoderActivityChanges(); diff --git a/dom/html/HTMLMediaElement.h b/dom/html/HTMLMediaElement.h index b077a34f9423..68a5b528e54f 100644 --- a/dom/html/HTMLMediaElement.h +++ b/dom/html/HTMLMediaElement.h @@ -150,8 +150,7 @@ class HTMLMediaElement : public nsGenericHTMLElement, virtual nsresult BindToTree(Document* aDocument, nsIContent* aParent, nsIContent* aBindingParent) override; - virtual void UnbindFromTree(bool aDeep = true, - bool aNullParent = true) override; + virtual void UnbindFromTree(bool aNullParent = true) override; virtual void DoneCreatingElement() override; virtual bool IsHTMLFocusable(bool aWithMouse, bool* aIsFocusable, diff --git a/dom/html/HTMLMetaElement.cpp b/dom/html/HTMLMetaElement.cpp index 47536f338ca0..ee8b80d783d8 100644 --- a/dom/html/HTMLMetaElement.cpp +++ b/dom/html/HTMLMetaElement.cpp @@ -136,10 +136,10 @@ nsresult HTMLMetaElement::BindToTree(Document* aDocument, nsIContent* aParent, return rv; } -void HTMLMetaElement::UnbindFromTree(bool aDeep, bool aNullParent) { +void HTMLMetaElement::UnbindFromTree(bool aNullParent) { nsCOMPtr oldDoc = GetUncomposedDoc(); CreateAndDispatchEvent(oldDoc, NS_LITERAL_STRING("DOMMetaRemoved")); - nsGenericHTMLElement::UnbindFromTree(aDeep, aNullParent); + nsGenericHTMLElement::UnbindFromTree(aNullParent); } void HTMLMetaElement::CreateAndDispatchEvent(Document* aDoc, diff --git a/dom/html/HTMLMetaElement.h b/dom/html/HTMLMetaElement.h index 3a70af676572..3d86fbd93941 100644 --- a/dom/html/HTMLMetaElement.h +++ b/dom/html/HTMLMetaElement.h @@ -23,8 +23,7 @@ class HTMLMetaElement final : public nsGenericHTMLElement { virtual nsresult BindToTree(Document* aDocument, nsIContent* aParent, nsIContent* aBindingParent) override; - virtual void UnbindFromTree(bool aDeep = true, - bool aNullParent = true) override; + virtual void UnbindFromTree(bool aNullParent = true) override; virtual nsresult AfterSetAttr(int32_t aNameSpaceID, nsAtom* aName, const nsAttrValue* aValue, diff --git a/dom/html/HTMLObjectElement.cpp b/dom/html/HTMLObjectElement.cpp index 686ff6f48e6b..4f0d92dc6e41 100644 --- a/dom/html/HTMLObjectElement.cpp +++ b/dom/html/HTMLObjectElement.cpp @@ -220,7 +220,7 @@ nsresult HTMLObjectElement::BindToTree(Document* aDocument, nsIContent* aParent, return NS_OK; } -void HTMLObjectElement::UnbindFromTree(bool aDeep, bool aNullParent) { +void HTMLObjectElement::UnbindFromTree(bool aNullParent) { #ifdef XP_MACOSX // When a page is reloaded (when an Document's content is removed), the // focused element isn't necessarily sent an eBlur event. See @@ -229,8 +229,8 @@ void HTMLObjectElement::UnbindFromTree(bool aDeep, bool aNullParent) { // disable text input in the browser window. See bug 1137229. OnFocusBlurPlugin(this, false); #endif - nsObjectLoadingContent::UnbindFromTree(aDeep, aNullParent); - nsGenericHTMLFormElement::UnbindFromTree(aDeep, aNullParent); + nsObjectLoadingContent::UnbindFromTree(aNullParent); + nsGenericHTMLFormElement::UnbindFromTree(aNullParent); } nsresult HTMLObjectElement::AfterSetAttr(int32_t aNamespaceID, nsAtom* aName, diff --git a/dom/html/HTMLObjectElement.h b/dom/html/HTMLObjectElement.h index cf9b6b5b2161..76e5a6085528 100644 --- a/dom/html/HTMLObjectElement.h +++ b/dom/html/HTMLObjectElement.h @@ -54,8 +54,7 @@ class HTMLObjectElement final : public nsGenericHTMLFormElement, virtual nsresult BindToTree(Document* aDocument, nsIContent* aParent, nsIContent* aBindingParent) override; - virtual void UnbindFromTree(bool aDeep = true, - bool aNullParent = true) override; + virtual void UnbindFromTree(bool aNullParent = true) override; virtual bool IsHTMLFocusable(bool aWithMouse, bool* aIsFocusable, int32_t* aTabIndex) override; diff --git a/dom/html/HTMLOptionElement.cpp b/dom/html/HTMLOptionElement.cpp index bd18ddf139ac..ff114b27eb66 100644 --- a/dom/html/HTMLOptionElement.cpp +++ b/dom/html/HTMLOptionElement.cpp @@ -255,8 +255,8 @@ nsresult HTMLOptionElement::BindToTree(Document* aDocument, nsIContent* aParent, return NS_OK; } -void HTMLOptionElement::UnbindFromTree(bool aDeep, bool aNullParent) { - nsGenericHTMLElement::UnbindFromTree(aDeep, aNullParent); +void HTMLOptionElement::UnbindFromTree(bool aNullParent) { + nsGenericHTMLElement::UnbindFromTree(aNullParent); // Our previous parent could have been involved in :disabled/:enabled state. UpdateDisabledState(false); diff --git a/dom/html/HTMLOptionElement.h b/dom/html/HTMLOptionElement.h index 4a0ba4985129..2fcd867406da 100644 --- a/dom/html/HTMLOptionElement.h +++ b/dom/html/HTMLOptionElement.h @@ -67,8 +67,7 @@ class HTMLOptionElement final : public nsGenericHTMLElement { virtual nsresult BindToTree(Document* aDocument, nsIContent* aParent, nsIContent* aBindingParent) override; - virtual void UnbindFromTree(bool aDeep = true, - bool aNullParent = true) override; + virtual void UnbindFromTree(bool aNullParent = true) override; // nsIContent virtual EventStates IntrinsicState() const override; diff --git a/dom/html/HTMLSelectElement.cpp b/dom/html/HTMLSelectElement.cpp index 76f21db23b31..4289aa9abca0 100644 --- a/dom/html/HTMLSelectElement.cpp +++ b/dom/html/HTMLSelectElement.cpp @@ -1021,8 +1021,8 @@ nsresult HTMLSelectElement::BindToTree(Document* aDocument, nsIContent* aParent, return rv; } -void HTMLSelectElement::UnbindFromTree(bool aDeep, bool aNullParent) { - nsGenericHTMLFormElementWithState::UnbindFromTree(aDeep, aNullParent); +void HTMLSelectElement::UnbindFromTree(bool aNullParent) { + nsGenericHTMLFormElementWithState::UnbindFromTree(aNullParent); // We might be no longer disabled because our parent chain changed. // XXXbz is this still needed now that fieldset changes always call diff --git a/dom/html/HTMLSelectElement.h b/dom/html/HTMLSelectElement.h index 6a767e847d08..b4c5a0c28fe6 100644 --- a/dom/html/HTMLSelectElement.h +++ b/dom/html/HTMLSelectElement.h @@ -270,7 +270,7 @@ class HTMLSelectElement final : public nsGenericHTMLFormElementWithState, */ virtual nsresult BindToTree(Document* aDocument, nsIContent* aParent, nsIContent* aBindingParent) override; - virtual void UnbindFromTree(bool aDeep, bool aNullParent) override; + virtual void UnbindFromTree(bool aNullParent) override; virtual nsresult BeforeSetAttr(int32_t aNameSpaceID, nsAtom* aName, const nsAttrValueOrString* aValue, bool aNotify) override; diff --git a/dom/html/HTMLSharedElement.cpp b/dom/html/HTMLSharedElement.cpp index b1eddc9926e6..bf2fac617441 100644 --- a/dom/html/HTMLSharedElement.cpp +++ b/dom/html/HTMLSharedElement.cpp @@ -244,10 +244,10 @@ nsresult HTMLSharedElement::BindToTree(Document* aDocument, nsIContent* aParent, return NS_OK; } -void HTMLSharedElement::UnbindFromTree(bool aDeep, bool aNullParent) { +void HTMLSharedElement::UnbindFromTree(bool aNullParent) { Document* doc = GetUncomposedDoc(); - nsGenericHTMLElement::UnbindFromTree(aDeep, aNullParent); + nsGenericHTMLElement::UnbindFromTree(aNullParent); // If we're removing a from a document, we may need to update the // document's base URI and base target diff --git a/dom/html/HTMLSharedElement.h b/dom/html/HTMLSharedElement.h index 6a5769b16007..86235ae1e18a 100644 --- a/dom/html/HTMLSharedElement.h +++ b/dom/html/HTMLSharedElement.h @@ -39,8 +39,7 @@ class HTMLSharedElement final : public nsGenericHTMLElement { virtual nsresult BindToTree(Document* aDocument, nsIContent* aParent, nsIContent* aBindingParent) override; - virtual void UnbindFromTree(bool aDeep = true, - bool aNullParent = true) override; + virtual void UnbindFromTree(bool aNullParent = true) override; virtual nsMapRuleToAttributesFunc GetAttributeMappingFunction() const override; diff --git a/dom/html/HTMLSlotElement.cpp b/dom/html/HTMLSlotElement.cpp index 936511d0726b..09b6bb0999de 100644 --- a/dom/html/HTMLSlotElement.cpp +++ b/dom/html/HTMLSlotElement.cpp @@ -55,10 +55,10 @@ nsresult HTMLSlotElement::BindToTree(Document* aDocument, nsIContent* aParent, return NS_OK; } -void HTMLSlotElement::UnbindFromTree(bool aDeep, bool aNullParent) { +void HTMLSlotElement::UnbindFromTree(bool aNullParent) { RefPtr oldContainingShadow = GetContainingShadow(); - nsGenericHTMLElement::UnbindFromTree(aDeep, aNullParent); + nsGenericHTMLElement::UnbindFromTree(aNullParent); if (oldContainingShadow && !GetContainingShadow()) { oldContainingShadow->RemoveSlot(this); diff --git a/dom/html/HTMLSlotElement.h b/dom/html/HTMLSlotElement.h index 5352f6d9b6db..13752d55abc7 100644 --- a/dom/html/HTMLSlotElement.h +++ b/dom/html/HTMLSlotElement.h @@ -29,7 +29,7 @@ class HTMLSlotElement final : public nsGenericHTMLElement { // nsIContent virtual nsresult BindToTree(Document* aDocument, nsIContent* aParent, nsIContent* aBindingParent) override; - virtual void UnbindFromTree(bool aDeep, bool aNullParent) override; + virtual void UnbindFromTree(bool aNullParent) override; virtual nsresult BeforeSetAttr(int32_t aNameSpaceID, nsAtom* aName, const nsAttrValueOrString* aValue, diff --git a/dom/html/HTMLStyleElement.cpp b/dom/html/HTMLStyleElement.cpp index 025d529d75f1..e419a2019067 100644 --- a/dom/html/HTMLStyleElement.cpp +++ b/dom/html/HTMLStyleElement.cpp @@ -95,11 +95,11 @@ nsresult HTMLStyleElement::BindToTree(Document* aDocument, nsIContent* aParent, return rv; } -void HTMLStyleElement::UnbindFromTree(bool aDeep, bool aNullParent) { +void HTMLStyleElement::UnbindFromTree(bool aNullParent) { nsCOMPtr oldDoc = GetUncomposedDoc(); ShadowRoot* oldShadow = GetContainingShadow(); - nsGenericHTMLElement::UnbindFromTree(aDeep, aNullParent); + nsGenericHTMLElement::UnbindFromTree(aNullParent); if (oldShadow && GetContainingShadow()) { // The style is in a shadow tree and is still in the diff --git a/dom/html/HTMLStyleElement.h b/dom/html/HTMLStyleElement.h index f4202000c9b6..9f00b1f67727 100644 --- a/dom/html/HTMLStyleElement.h +++ b/dom/html/HTMLStyleElement.h @@ -40,8 +40,7 @@ class HTMLStyleElement final : public nsGenericHTMLElement, virtual nsresult BindToTree(Document* aDocument, nsIContent* aParent, nsIContent* aBindingParent) override; - virtual void UnbindFromTree(bool aDeep = true, - bool aNullParent = true) override; + virtual void UnbindFromTree(bool aNullParent = true) override; virtual nsresult AfterSetAttr(int32_t aNameSpaceID, nsAtom* aName, const nsAttrValue* aValue, const nsAttrValue* aOldValue, diff --git a/dom/html/HTMLTableElement.cpp b/dom/html/HTMLTableElement.cpp index a0913e6b4620..d8342c3baa6e 100644 --- a/dom/html/HTMLTableElement.cpp +++ b/dom/html/HTMLTableElement.cpp @@ -1033,9 +1033,9 @@ nsresult HTMLTableElement::BindToTree(Document* aDocument, nsIContent* aParent, return NS_OK; } -void HTMLTableElement::UnbindFromTree(bool aDeep, bool aNullParent) { +void HTMLTableElement::UnbindFromTree(bool aNullParent) { ReleaseInheritedAttributes(); - nsGenericHTMLElement::UnbindFromTree(aDeep, aNullParent); + nsGenericHTMLElement::UnbindFromTree(aNullParent); } nsresult HTMLTableElement::BeforeSetAttr(int32_t aNameSpaceID, nsAtom* aName, diff --git a/dom/html/HTMLTableElement.h b/dom/html/HTMLTableElement.h index 29ec875dc1a3..68fcc1318841 100644 --- a/dom/html/HTMLTableElement.h +++ b/dom/html/HTMLTableElement.h @@ -159,8 +159,7 @@ class HTMLTableElement final : public nsGenericHTMLElement { virtual nsresult BindToTree(Document* aDocument, nsIContent* aParent, nsIContent* aBindingParent) override; - virtual void UnbindFromTree(bool aDeep = true, - bool aNullParent = true) override; + virtual void UnbindFromTree(bool aNullParent = true) override; /** * Called when an attribute is about to be changed */ diff --git a/dom/html/HTMLTextAreaElement.cpp b/dom/html/HTMLTextAreaElement.cpp index 0d1ba35c8b59..e2aa09883770 100644 --- a/dom/html/HTMLTextAreaElement.cpp +++ b/dom/html/HTMLTextAreaElement.cpp @@ -799,8 +799,8 @@ nsresult HTMLTextAreaElement::BindToTree(Document* aDocument, return rv; } -void HTMLTextAreaElement::UnbindFromTree(bool aDeep, bool aNullParent) { - nsGenericHTMLFormElementWithState::UnbindFromTree(aDeep, aNullParent); +void HTMLTextAreaElement::UnbindFromTree(bool aNullParent) { + nsGenericHTMLFormElementWithState::UnbindFromTree(aNullParent); // We might be no longer disabled because of parent chain changed. UpdateValueMissingValidityState(); diff --git a/dom/html/HTMLTextAreaElement.h b/dom/html/HTMLTextAreaElement.h index d24b7e33e0c4..8dbfb927ada9 100644 --- a/dom/html/HTMLTextAreaElement.h +++ b/dom/html/HTMLTextAreaElement.h @@ -108,8 +108,7 @@ class HTMLTextAreaElement final : public nsGenericHTMLFormElementWithState, // nsIContent virtual nsresult BindToTree(Document* aDocument, nsIContent* aParent, nsIContent* aBindingParent) override; - virtual void UnbindFromTree(bool aDeep = true, - bool aNullParent = true) override; + virtual void UnbindFromTree(bool aNullParent = true) override; virtual bool ParseAttribute(int32_t aNamespaceID, nsAtom* aAttribute, const nsAString& aValue, nsIPrincipal* aMaybeScriptedPrincipal, diff --git a/dom/html/HTMLTitleElement.cpp b/dom/html/HTMLTitleElement.cpp index ac676005daad..40c8b95aeb90 100644 --- a/dom/html/HTMLTitleElement.cpp +++ b/dom/html/HTMLTitleElement.cpp @@ -75,11 +75,11 @@ nsresult HTMLTitleElement::BindToTree(Document* aDocument, nsIContent* aParent, return NS_OK; } -void HTMLTitleElement::UnbindFromTree(bool aDeep, bool aNullParent) { +void HTMLTitleElement::UnbindFromTree(bool aNullParent) { SendTitleChangeEvent(false); // Let this fall through. - nsGenericHTMLElement::UnbindFromTree(aDeep, aNullParent); + nsGenericHTMLElement::UnbindFromTree(aNullParent); } void HTMLTitleElement::DoneAddingChildren(bool aHaveNotified) { diff --git a/dom/html/HTMLTitleElement.h b/dom/html/HTMLTitleElement.h index 79703feb17e9..737fca986068 100644 --- a/dom/html/HTMLTitleElement.h +++ b/dom/html/HTMLTitleElement.h @@ -42,8 +42,7 @@ class HTMLTitleElement final : public nsGenericHTMLElement, virtual nsresult BindToTree(Document* aDocument, nsIContent* aParent, nsIContent* aBindingParent) override; - virtual void UnbindFromTree(bool aDeep = true, - bool aNullParent = true) override; + virtual void UnbindFromTree(bool aNullParent = true) override; virtual void DoneAddingChildren(bool aHaveNotified) override; diff --git a/dom/html/HTMLTrackElement.cpp b/dom/html/HTMLTrackElement.cpp index c568f83b5f3b..2324432c1177 100644 --- a/dom/html/HTMLTrackElement.cpp +++ b/dom/html/HTMLTrackElement.cpp @@ -410,7 +410,7 @@ nsresult HTMLTrackElement::BindToTree(Document* aDocument, nsIContent* aParent, return NS_OK; } -void HTMLTrackElement::UnbindFromTree(bool aDeep, bool aNullParent) { +void HTMLTrackElement::UnbindFromTree(bool aNullParent) { if (mMediaParent && aNullParent) { // mTrack can be null if HTMLTrackElement::LoadResource has never been // called. @@ -421,7 +421,7 @@ void HTMLTrackElement::UnbindFromTree(bool aDeep, bool aNullParent) { mMediaParent = nullptr; } - nsGenericHTMLElement::UnbindFromTree(aDeep, aNullParent); + nsGenericHTMLElement::UnbindFromTree(aNullParent); } uint16_t HTMLTrackElement::ReadyState() const { diff --git a/dom/html/HTMLTrackElement.h b/dom/html/HTMLTrackElement.h index eaa2d114d626..59b80c02d0e1 100644 --- a/dom/html/HTMLTrackElement.h +++ b/dom/html/HTMLTrackElement.h @@ -85,7 +85,7 @@ class HTMLTrackElement final : public nsGenericHTMLElement { // the child of a media element. virtual nsresult BindToTree(Document* aDocument, nsIContent* aParent, nsIContent* aBindingParent) override; - virtual void UnbindFromTree(bool aDeep, bool aNullParent) override; + virtual void UnbindFromTree(bool aNullParent) override; virtual nsresult AfterSetAttr(int32_t aNameSpaceID, nsAtom* aName, const nsAttrValue* aValue, diff --git a/dom/html/HTMLVideoElement.cpp b/dom/html/HTMLVideoElement.cpp index e7c11353181e..57b0ece318a0 100644 --- a/dom/html/HTMLVideoElement.cpp +++ b/dom/html/HTMLVideoElement.cpp @@ -180,14 +180,14 @@ nsMapRuleToAttributesFunc HTMLVideoElement::GetAttributeMappingFunction() return &MapAttributesIntoRule; } -void HTMLVideoElement::UnbindFromTree(bool aDeep, bool aNullParent) { +void HTMLVideoElement::UnbindFromTree(bool aNullParent) { if (mVisualCloneSource) { mVisualCloneSource->EndCloningVisually(); } else if (mVisualCloneTarget) { EndCloningVisually(); } - HTMLMediaElement::UnbindFromTree(aDeep, aNullParent); + HTMLMediaElement::UnbindFromTree(aNullParent); } nsresult HTMLVideoElement::SetAcceptHeader(nsIHttpChannel* aChannel) { diff --git a/dom/html/HTMLVideoElement.h b/dom/html/HTMLVideoElement.h index ed2096548af4..df1307ca9cd9 100644 --- a/dom/html/HTMLVideoElement.h +++ b/dom/html/HTMLVideoElement.h @@ -51,8 +51,7 @@ class HTMLVideoElement final : public HTMLMediaElement { virtual nsresult Clone(NodeInfo*, nsINode** aResult) const override; - virtual void UnbindFromTree(bool aDeep = true, - bool aNullParent = true) override; + virtual void UnbindFromTree(bool aNullParent = true) override; // Set size with the current video frame's height and width. // If there is no video frame, returns NS_ERROR_FAILURE. diff --git a/dom/html/nsGenericHTMLElement.cpp b/dom/html/nsGenericHTMLElement.cpp index 57a9e7e34b93..af3593eafcea 100644 --- a/dom/html/nsGenericHTMLElement.cpp +++ b/dom/html/nsGenericHTMLElement.cpp @@ -452,7 +452,7 @@ nsresult nsGenericHTMLElement::BindToTree(Document* aDocument, return rv; } -void nsGenericHTMLElement::UnbindFromTree(bool aDeep, bool aNullParent) { +void nsGenericHTMLElement::UnbindFromTree(bool aNullParent) { if (IsInUncomposedDoc()) { UnregAccessKey(); } @@ -467,7 +467,7 @@ void nsGenericHTMLElement::UnbindFromTree(bool aDeep, bool aNullParent) { } } - nsStyledElement::UnbindFromTree(aDeep, aNullParent); + nsStyledElement::UnbindFromTree(aNullParent); // Invalidate .labels list. It will be repopulated when used the next time. nsExtendedDOMSlots* slots = GetExistingExtendedDOMSlots(); @@ -1628,7 +1628,7 @@ nsresult nsGenericHTMLFormElement::BindToTree(Document* aDocument, return NS_OK; } -void nsGenericHTMLFormElement::UnbindFromTree(bool aDeep, bool aNullParent) { +void nsGenericHTMLFormElement::UnbindFromTree(bool aNullParent) { // Save state before doing anything SaveState(); @@ -1660,7 +1660,7 @@ void nsGenericHTMLFormElement::UnbindFromTree(bool aDeep, bool aNullParent) { RemoveFormIdObserver(); } - nsGenericHTMLElement::UnbindFromTree(aDeep, aNullParent); + nsGenericHTMLElement::UnbindFromTree(aNullParent); // The element might not have a fieldset anymore. UpdateFieldSet(false); diff --git a/dom/html/nsGenericHTMLElement.h b/dom/html/nsGenericHTMLElement.h index 3d7953bb3575..ed5ca1444297 100644 --- a/dom/html/nsGenericHTMLElement.h +++ b/dom/html/nsGenericHTMLElement.h @@ -242,8 +242,7 @@ class nsGenericHTMLElement : public nsGenericHTMLElementBase { // Implementation for nsIContent virtual nsresult BindToTree(Document* aDocument, nsIContent* aParent, nsIContent* aBindingParent) override; - virtual void UnbindFromTree(bool aDeep = true, - bool aNullParent = true) override; + virtual void UnbindFromTree(bool aNullParent = true) override; virtual bool IsFocusableInternal(int32_t* aTabIndex, bool aWithMouse) override { @@ -935,8 +934,7 @@ class nsGenericHTMLFormElement : public nsGenericHTMLElement, // nsIContent virtual nsresult BindToTree(Document* aDocument, nsIContent* aParent, nsIContent* aBindingParent) override; - virtual void UnbindFromTree(bool aDeep = true, - bool aNullParent = true) override; + virtual void UnbindFromTree(bool aNullParent = true) override; virtual IMEState GetDesiredIMEState() override; virtual mozilla::EventStates IntrinsicState() const override; diff --git a/dom/html/nsGenericHTMLFrameElement.cpp b/dom/html/nsGenericHTMLFrameElement.cpp index 0379603b5538..fea2c766fb54 100644 --- a/dom/html/nsGenericHTMLFrameElement.cpp +++ b/dom/html/nsGenericHTMLFrameElement.cpp @@ -236,7 +236,7 @@ nsresult nsGenericHTMLFrameElement::BindToTree(Document* aDocument, return rv; } -void nsGenericHTMLFrameElement::UnbindFromTree(bool aDeep, bool aNullParent) { +void nsGenericHTMLFrameElement::UnbindFromTree(bool aNullParent) { if (mFrameLoader) { // This iframe is being taken out of the document, destroy the // iframe's frame loader (doing that will tear down the window in @@ -248,7 +248,7 @@ void nsGenericHTMLFrameElement::UnbindFromTree(bool aDeep, bool aNullParent) { mFrameLoader = nullptr; } - nsGenericHTMLElement::UnbindFromTree(aDeep, aNullParent); + nsGenericHTMLElement::UnbindFromTree(aNullParent); } /* static */ diff --git a/dom/html/nsGenericHTMLFrameElement.h b/dom/html/nsGenericHTMLFrameElement.h index a08b615aeef2..4ff0e8ff5e81 100644 --- a/dom/html/nsGenericHTMLFrameElement.h +++ b/dom/html/nsGenericHTMLFrameElement.h @@ -65,8 +65,7 @@ class nsGenericHTMLFrameElement : public nsGenericHTMLElement, int32_t* aTabIndex) override; virtual nsresult BindToTree(Document* aDocument, nsIContent* aParent, nsIContent* aBindingParent) override; - virtual void UnbindFromTree(bool aDeep = true, - bool aNullParent = true) override; + virtual void UnbindFromTree(bool aNullParent = true) override; virtual void DestroyContent() override; nsresult CopyInnerTo(mozilla::dom::Element* aDest); diff --git a/dom/mathml/nsMathMLElement.cpp b/dom/mathml/nsMathMLElement.cpp index a5cafc984023..59ae2d9203fa 100644 --- a/dom/mathml/nsMathMLElement.cpp +++ b/dom/mathml/nsMathMLElement.cpp @@ -93,12 +93,12 @@ nsresult nsMathMLElement::BindToTree(Document* aDocument, nsIContent* aParent, return rv; } -void nsMathMLElement::UnbindFromTree(bool aDeep, bool aNullParent) { +void nsMathMLElement::UnbindFromTree(bool aNullParent) { // Without removing the link state we risk a dangling pointer // in the mStyledLinks hashtable Link::ResetLinkState(false, Link::ElementHasHref()); - nsMathMLElementBase::UnbindFromTree(aDeep, aNullParent); + nsMathMLElementBase::UnbindFromTree(aNullParent); } bool nsMathMLElement::ParseAttribute(int32_t aNamespaceID, nsAtom* aAttribute, diff --git a/dom/mathml/nsMathMLElement.h b/dom/mathml/nsMathMLElement.h index 44392a8235ba..3e27328db967 100644 --- a/dom/mathml/nsMathMLElement.h +++ b/dom/mathml/nsMathMLElement.h @@ -37,8 +37,7 @@ class nsMathMLElement final : public nsMathMLElementBase, nsresult BindToTree(Document* aDocument, nsIContent* aParent, nsIContent* aBindingParent) override; - virtual void UnbindFromTree(bool aDeep = true, - bool aNullParent = true) override; + virtual void UnbindFromTree(bool aNullParent = true) override; virtual bool ParseAttribute(int32_t aNamespaceID, nsAtom* aAttribute, const nsAString& aValue, diff --git a/dom/svg/SVGAElement.cpp b/dom/svg/SVGAElement.cpp index 40c923e3392f..eac9298aaf49 100644 --- a/dom/svg/SVGAElement.cpp +++ b/dom/svg/SVGAElement.cpp @@ -169,12 +169,12 @@ nsresult SVGAElement::BindToTree(Document* aDocument, nsIContent* aParent, return NS_OK; } -void SVGAElement::UnbindFromTree(bool aDeep, bool aNullParent) { +void SVGAElement::UnbindFromTree(bool aNullParent) { // Without removing the link state we risk a dangling pointer // in the mStyledLinks hashtable Link::ResetLinkState(false, Link::ElementHasHref()); - SVGAElementBase::UnbindFromTree(aDeep, aNullParent); + SVGAElementBase::UnbindFromTree(aNullParent); } already_AddRefed SVGAElement::GetHrefURI() const { diff --git a/dom/svg/SVGAElement.h b/dom/svg/SVGAElement.h index 56a461b157e3..028d47c8e0dc 100644 --- a/dom/svg/SVGAElement.h +++ b/dom/svg/SVGAElement.h @@ -49,8 +49,7 @@ class SVGAElement final : public SVGAElementBase, public Link { // nsIContent virtual nsresult BindToTree(Document* aDocument, nsIContent* aParent, nsIContent* aBindingParent) override; - virtual void UnbindFromTree(bool aDeep = true, - bool aNullParent = true) override; + virtual void UnbindFromTree(bool aNullParent = true) override; NS_IMETHOD_(bool) IsAttributeMapped(const nsAtom* aAttribute) const override; virtual int32_t TabIndexDefault() override; bool IsFocusableInternal(int32_t* aTabIndex, bool aWithMouse) override; diff --git a/dom/svg/SVGAnimationElement.cpp b/dom/svg/SVGAnimationElement.cpp index d78811ba68f1..ecbbaf798f28 100644 --- a/dom/svg/SVGAnimationElement.cpp +++ b/dom/svg/SVGAnimationElement.cpp @@ -165,7 +165,7 @@ nsresult SVGAnimationElement::BindToTree(Document* aDocument, return NS_OK; } -void SVGAnimationElement::UnbindFromTree(bool aDeep, bool aNullParent) { +void SVGAnimationElement::UnbindFromTree(bool aNullParent) { SMILAnimationController* controller = OwnerDoc()->GetAnimationController(); if (controller) { controller->UnregisterAnimationElement(this); @@ -176,7 +176,7 @@ void SVGAnimationElement::UnbindFromTree(bool aDeep, bool aNullParent) { AnimationNeedsResample(); - SVGAnimationElementBase::UnbindFromTree(aDeep, aNullParent); + SVGAnimationElementBase::UnbindFromTree(aNullParent); } bool SVGAnimationElement::ParseAttribute(int32_t aNamespaceID, diff --git a/dom/svg/SVGAnimationElement.h b/dom/svg/SVGAnimationElement.h index e77432d7005d..154c80ef0ec2 100644 --- a/dom/svg/SVGAnimationElement.h +++ b/dom/svg/SVGAnimationElement.h @@ -37,7 +37,7 @@ class SVGAnimationElement : public SVGAnimationElementBase, public SVGTests { // nsIContent specializations virtual nsresult BindToTree(Document* aDocument, nsIContent* aParent, nsIContent* aBindingParent) override; - virtual void UnbindFromTree(bool aDeep, bool aNullParent) override; + virtual void UnbindFromTree(bool aNullParent) override; virtual bool IsNodeOfType(uint32_t aFlags) const override; diff --git a/dom/svg/SVGFEImageElement.cpp b/dom/svg/SVGFEImageElement.cpp index b487917f9930..0187fef2d0bc 100644 --- a/dom/svg/SVGFEImageElement.cpp +++ b/dom/svg/SVGFEImageElement.cpp @@ -150,9 +150,9 @@ nsresult SVGFEImageElement::BindToTree(Document* aDocument, nsIContent* aParent, return rv; } -void SVGFEImageElement::UnbindFromTree(bool aDeep, bool aNullParent) { - nsImageLoadingContent::UnbindFromTree(aDeep, aNullParent); - SVGFEImageElementBase::UnbindFromTree(aDeep, aNullParent); +void SVGFEImageElement::UnbindFromTree(bool aNullParent) { + nsImageLoadingContent::UnbindFromTree(aNullParent); + SVGFEImageElementBase::UnbindFromTree(aNullParent); } EventStates SVGFEImageElement::IntrinsicState() const { diff --git a/dom/svg/SVGFEImageElement.h b/dom/svg/SVGFEImageElement.h index c88a71cb2e8d..287371769818 100644 --- a/dom/svg/SVGFEImageElement.h +++ b/dom/svg/SVGFEImageElement.h @@ -67,7 +67,7 @@ class SVGFEImageElement final : public SVGFEImageElementBase, bool aNotify) override; virtual nsresult BindToTree(Document* aDocument, nsIContent* aParent, nsIContent* aBindingParent) override; - virtual void UnbindFromTree(bool aDeep, bool aNullParent) override; + virtual void UnbindFromTree(bool aNullParent) override; virtual EventStates IntrinsicState() const override; NS_IMETHOD Notify(imgIRequest* aRequest, int32_t aType, diff --git a/dom/svg/SVGImageElement.cpp b/dom/svg/SVGImageElement.cpp index 8a23bf63742a..3bdde6a19194 100644 --- a/dom/svg/SVGImageElement.cpp +++ b/dom/svg/SVGImageElement.cpp @@ -221,9 +221,9 @@ nsresult SVGImageElement::BindToTree(Document* aDocument, nsIContent* aParent, return rv; } -void SVGImageElement::UnbindFromTree(bool aDeep, bool aNullParent) { - nsImageLoadingContent::UnbindFromTree(aDeep, aNullParent); - SVGImageElementBase::UnbindFromTree(aDeep, aNullParent); +void SVGImageElement::UnbindFromTree(bool aNullParent) { + nsImageLoadingContent::UnbindFromTree(aNullParent); + SVGImageElementBase::UnbindFromTree(aNullParent); } EventStates SVGImageElement::IntrinsicState() const { diff --git a/dom/svg/SVGImageElement.h b/dom/svg/SVGImageElement.h index 55564455e2bd..c332d20835d0 100644 --- a/dom/svg/SVGImageElement.h +++ b/dom/svg/SVGImageElement.h @@ -58,7 +58,7 @@ class SVGImageElement : public SVGImageElementBase, bool aNotify) override; virtual nsresult BindToTree(Document* aDocument, nsIContent* aParent, nsIContent* aBindingParent) override; - virtual void UnbindFromTree(bool aDeep, bool aNullParent) override; + virtual void UnbindFromTree(bool aNullParent) override; virtual EventStates IntrinsicState() const override; diff --git a/dom/svg/SVGMPathElement.cpp b/dom/svg/SVGMPathElement.cpp index 1431c8324a1e..48c1988099ad 100644 --- a/dom/svg/SVGMPathElement.cpp +++ b/dom/svg/SVGMPathElement.cpp @@ -90,9 +90,9 @@ nsresult SVGMPathElement::BindToTree(Document* aDocument, nsIContent* aParent, return NS_OK; } -void SVGMPathElement::UnbindFromTree(bool aDeep, bool aNullParent) { +void SVGMPathElement::UnbindFromTree(bool aNullParent) { UnlinkHrefTarget(true); - SVGMPathElementBase::UnbindFromTree(aDeep, aNullParent); + SVGMPathElementBase::UnbindFromTree(aNullParent); } bool SVGMPathElement::ParseAttribute(int32_t aNamespaceID, nsAtom* aAttribute, diff --git a/dom/svg/SVGMPathElement.h b/dom/svg/SVGMPathElement.h index 3db97816415d..83b2a9082852 100644 --- a/dom/svg/SVGMPathElement.h +++ b/dom/svg/SVGMPathElement.h @@ -46,7 +46,7 @@ class SVGMPathElement final : public SVGMPathElementBase, virtual nsresult Clone(dom::NodeInfo*, nsINode** aResult) const override; virtual nsresult BindToTree(Document* aDocument, nsIContent* aParent, nsIContent* aBindingParent) override; - virtual void UnbindFromTree(bool aDeep, bool aNullParent) override; + virtual void UnbindFromTree(bool aNullParent) override; // Element specializations virtual bool ParseAttribute(int32_t aNamespaceID, nsAtom* aAttribute, diff --git a/dom/svg/SVGSVGElement.cpp b/dom/svg/SVGSVGElement.cpp index 5351e4b60eab..a9cff430703a 100644 --- a/dom/svg/SVGSVGElement.cpp +++ b/dom/svg/SVGSVGElement.cpp @@ -404,12 +404,12 @@ nsresult SVGSVGElement::BindToTree(Document* aDocument, nsIContent* aParent, return rv; } -void SVGSVGElement::UnbindFromTree(bool aDeep, bool aNullParent) { +void SVGSVGElement::UnbindFromTree(bool aNullParent) { if (mTimedDocumentRoot) { mTimedDocumentRoot->SetParent(nullptr); } - SVGGraphicsElement::UnbindFromTree(aDeep, aNullParent); + SVGGraphicsElement::UnbindFromTree(aNullParent); } SVGAnimatedTransformList* SVGSVGElement::GetAnimatedTransformList( diff --git a/dom/svg/SVGSVGElement.h b/dom/svg/SVGSVGElement.h index 69402a126ca9..8c9287c292ad 100644 --- a/dom/svg/SVGSVGElement.h +++ b/dom/svg/SVGSVGElement.h @@ -149,7 +149,7 @@ class SVGSVGElement final : public SVGSVGElementBase { virtual nsresult BindToTree(Document* aDocument, nsIContent* aParent, nsIContent* aBindingParent) override; - virtual void UnbindFromTree(bool aDeep, bool aNullParent) override; + virtual void UnbindFromTree(bool aNullParent) override; virtual SVGAnimatedTransformList* GetAnimatedTransformList( uint32_t aFlags = 0) override; diff --git a/dom/svg/SVGStyleElement.cpp b/dom/svg/SVGStyleElement.cpp index f95aee2afce2..475b3cb9d481 100644 --- a/dom/svg/SVGStyleElement.cpp +++ b/dom/svg/SVGStyleElement.cpp @@ -72,10 +72,10 @@ nsresult SVGStyleElement::BindToTree(Document* aDocument, nsIContent* aParent, return rv; } -void SVGStyleElement::UnbindFromTree(bool aDeep, bool aNullParent) { +void SVGStyleElement::UnbindFromTree(bool aNullParent) { nsCOMPtr oldDoc = GetUncomposedDoc(); ShadowRoot* oldShadow = GetContainingShadow(); - SVGStyleElementBase::UnbindFromTree(aDeep, aNullParent); + SVGStyleElementBase::UnbindFromTree(aNullParent); Unused << UpdateStyleSheetInternal(oldDoc, oldShadow); } diff --git a/dom/svg/SVGStyleElement.h b/dom/svg/SVGStyleElement.h index 24e4e668b8db..bef4ced3baff 100644 --- a/dom/svg/SVGStyleElement.h +++ b/dom/svg/SVGStyleElement.h @@ -42,8 +42,7 @@ class SVGStyleElement final : public SVGStyleElementBase, // nsIContent virtual nsresult BindToTree(Document* aDocument, nsIContent* aParent, nsIContent* aBindingParent) override; - virtual void UnbindFromTree(bool aDeep = true, - bool aNullParent = true) override; + virtual void UnbindFromTree(bool aNullParent = true) override; virtual nsresult AfterSetAttr(int32_t aNameSpaceID, nsAtom* aName, const nsAttrValue* aValue, const nsAttrValue* aOldValue, diff --git a/dom/svg/SVGTitleElement.cpp b/dom/svg/SVGTitleElement.cpp index 684329e8f1a1..0d528fef653c 100644 --- a/dom/svg/SVGTitleElement.cpp +++ b/dom/svg/SVGTitleElement.cpp @@ -62,11 +62,11 @@ nsresult SVGTitleElement::BindToTree(Document* aDocument, nsIContent* aParent, return NS_OK; } -void SVGTitleElement::UnbindFromTree(bool aDeep, bool aNullParent) { +void SVGTitleElement::UnbindFromTree(bool aNullParent) { SendTitleChangeEvent(false); // Let this fall through. - SVGTitleElementBase::UnbindFromTree(aDeep, aNullParent); + SVGTitleElementBase::UnbindFromTree(aNullParent); } void SVGTitleElement::DoneAddingChildren(bool aHaveNotified) { diff --git a/dom/svg/SVGTitleElement.h b/dom/svg/SVGTitleElement.h index d49200e38d19..8cfbd9f71791 100644 --- a/dom/svg/SVGTitleElement.h +++ b/dom/svg/SVGTitleElement.h @@ -47,8 +47,7 @@ class SVGTitleElement final : public SVGTitleElementBase, virtual nsresult BindToTree(Document* aDocument, nsIContent* aParent, nsIContent* aBindingParent) override; - virtual void UnbindFromTree(bool aDeep = true, - bool aNullParent = true) override; + virtual void UnbindFromTree(bool aNullParent = true) override; virtual void DoneAddingChildren(bool aHaveNotified) override; diff --git a/dom/svg/SVGUseElement.cpp b/dom/svg/SVGUseElement.cpp index 5fdefb40e5a4..d8443436d4b3 100644 --- a/dom/svg/SVGUseElement.cpp +++ b/dom/svg/SVGUseElement.cpp @@ -159,8 +159,8 @@ nsresult SVGUseElement::BindToTree(Document* aDocument, nsIContent* aParent, return NS_OK; } -void SVGUseElement::UnbindFromTree(bool aDeep, bool aNullParent) { - SVGUseElementBase::UnbindFromTree(aDeep, aNullParent); +void SVGUseElement::UnbindFromTree(bool aNullParent) { + SVGUseElementBase::UnbindFromTree(aNullParent); OwnerDoc()->UnscheduleSVGUseElementShadowTreeUpdate(*this); } diff --git a/dom/svg/SVGUseElement.h b/dom/svg/SVGUseElement.h index 942c3f005498..c9ac8e9fa5e0 100644 --- a/dom/svg/SVGUseElement.h +++ b/dom/svg/SVGUseElement.h @@ -51,7 +51,7 @@ class SVGUseElement final : public SVGUseElementBase, nsresult BindToTree(Document* aDocument, nsIContent* aParent, nsIContent* aBindingParent) override; - void UnbindFromTree(bool aDeep = true, bool aNullParent = true) override; + void UnbindFromTree(bool aNullParent = true) override; // interfaces: NS_DECL_ISUPPORTS_INHERITED diff --git a/dom/xbl/nsXBLBinding.cpp b/dom/xbl/nsXBLBinding.cpp index 83ad1c0e0317..e63c817ec8b8 100644 --- a/dom/xbl/nsXBLBinding.cpp +++ b/dom/xbl/nsXBLBinding.cpp @@ -201,7 +201,7 @@ void nsXBLBinding::UnbindAnonymousContent(Document* aDocument, nsCOMPtr anonParent = aAnonParent; for (nsIContent* child = aAnonParent->GetFirstChild(); child; child = child->GetNextSibling()) { - child->UnbindFromTree(true, aNullParent); + child->UnbindFromTree(aNullParent); } } diff --git a/dom/xml/XMLStylesheetProcessingInstruction.cpp b/dom/xml/XMLStylesheetProcessingInstruction.cpp index 52093f3f5bc3..c3cc0ac290b0 100644 --- a/dom/xml/XMLStylesheetProcessingInstruction.cpp +++ b/dom/xml/XMLStylesheetProcessingInstruction.cpp @@ -47,11 +47,10 @@ nsresult XMLStylesheetProcessingInstruction::BindToTree( return rv; } -void XMLStylesheetProcessingInstruction::UnbindFromTree(bool aDeep, - bool aNullParent) { +void XMLStylesheetProcessingInstruction::UnbindFromTree(bool aNullParent) { nsCOMPtr oldDoc = GetUncomposedDoc(); - ProcessingInstruction::UnbindFromTree(aDeep, aNullParent); + ProcessingInstruction::UnbindFromTree(aNullParent); Unused << UpdateStyleSheetInternal(oldDoc, nullptr); } diff --git a/dom/xml/XMLStylesheetProcessingInstruction.h b/dom/xml/XMLStylesheetProcessingInstruction.h index 7c4c4ffe19fc..ad6932d0dabd 100644 --- a/dom/xml/XMLStylesheetProcessingInstruction.h +++ b/dom/xml/XMLStylesheetProcessingInstruction.h @@ -46,8 +46,7 @@ class XMLStylesheetProcessingInstruction final : public ProcessingInstruction { // nsIContent virtual nsresult BindToTree(Document* aDocument, nsIContent* aParent, nsIContent* aBindingParent) override; - virtual void UnbindFromTree(bool aDeep = true, - bool aNullParent = true) override; + virtual void UnbindFromTree(bool aNullParent = true) override; // nsIStyleSheetLinkingElement virtual void OverrideBaseURI(nsIURI* aNewBaseURI) override; diff --git a/dom/xml/nsXMLElement.cpp b/dom/xml/nsXMLElement.cpp index 9747b9d2cdc7..2e83bd674eef 100644 --- a/dom/xml/nsXMLElement.cpp +++ b/dom/xml/nsXMLElement.cpp @@ -25,7 +25,7 @@ JSObject* nsXMLElement::WrapNode(JSContext* aCx, return Element_Binding::Wrap(aCx, this, aGivenProto); } -void nsXMLElement::UnbindFromTree(bool aDeep, bool aNullParent) { +void nsXMLElement::UnbindFromTree(bool aNullParent) { nsAtom* property; switch (GetPseudoElementType()) { case PseudoStyleType::marker: @@ -45,7 +45,7 @@ void nsXMLElement::UnbindFromTree(bool aDeep, bool aNullParent) { MOZ_ASSERT(GetParent()->IsElement()); GetParent()->DeleteProperty(property); } - Element::UnbindFromTree(aDeep, aNullParent); + Element::UnbindFromTree(aNullParent); } NS_IMPL_ELEMENT_CLONE(nsXMLElement) diff --git a/dom/xml/nsXMLElement.h b/dom/xml/nsXMLElement.h index 7aff7f302b99..01dbec93c0bf 100644 --- a/dom/xml/nsXMLElement.h +++ b/dom/xml/nsXMLElement.h @@ -23,8 +23,7 @@ class nsXMLElement : public mozilla::dom::Element { virtual nsresult Clone(mozilla::dom::NodeInfo*, nsINode** aResult) const override; - virtual void UnbindFromTree(bool aDeep = true, - bool aNullParent = true) override; + virtual void UnbindFromTree(bool aNullParent = true) override; protected: virtual ~nsXMLElement() {} diff --git a/dom/xul/XULFrameElement.cpp b/dom/xul/XULFrameElement.cpp index f594fc7ae3f3..ccbbc1feea03 100644 --- a/dom/xul/XULFrameElement.cpp +++ b/dom/xul/XULFrameElement.cpp @@ -152,14 +152,14 @@ nsresult XULFrameElement::BindToTree(Document* aDocument, nsIContent* aParent, return NS_OK; } -void XULFrameElement::UnbindFromTree(bool aDeep, bool aNullParent) { +void XULFrameElement::UnbindFromTree(bool aNullParent) { RefPtr frameLoader = GetFrameLoader(); if (frameLoader) { frameLoader->Destroy(); } mFrameLoader = nullptr; - nsXULElement::UnbindFromTree(aDeep, aNullParent); + nsXULElement::UnbindFromTree(aNullParent); } void XULFrameElement::DestroyContent() { diff --git a/dom/xul/XULFrameElement.h b/dom/xul/XULFrameElement.h index 8108de78204d..df1ed08fe073 100644 --- a/dom/xul/XULFrameElement.h +++ b/dom/xul/XULFrameElement.h @@ -55,7 +55,7 @@ class XULFrameElement final : public nsXULElement, public nsFrameLoaderOwner { // nsIContent virtual nsresult BindToTree(Document* aDocument, nsIContent* aParent, nsIContent* aBindingParent) override; - virtual void UnbindFromTree(bool aDeep, bool aNullParent) override; + virtual void UnbindFromTree(bool aNullParent) override; virtual void DestroyContent() override; virtual nsresult AfterSetAttr(int32_t aNamespaceID, nsAtom* aName, diff --git a/dom/xul/XULTreeElement.cpp b/dom/xul/XULTreeElement.cpp index 7b030c09e7f1..6eba3717c98c 100644 --- a/dom/xul/XULTreeElement.cpp +++ b/dom/xul/XULTreeElement.cpp @@ -28,7 +28,7 @@ JSObject* XULTreeElement::WrapNode(JSContext* aCx, return XULTreeElement_Binding::Wrap(aCx, this, aGivenProto); } -void XULTreeElement::UnbindFromTree(bool aDeep, bool aNullParent) { +void XULTreeElement::UnbindFromTree(bool aNullParent) { // Drop the view's ref to us. if (mView) { nsCOMPtr sel; @@ -40,7 +40,7 @@ void XULTreeElement::UnbindFromTree(bool aDeep, bool aNullParent) { } mView = nullptr; - nsXULElement::UnbindFromTree(aDeep, aNullParent); + nsXULElement::UnbindFromTree(aNullParent); } void XULTreeElement::DestroyContent() { diff --git a/dom/xul/XULTreeElement.h b/dom/xul/XULTreeElement.h index da4a0e52d6a4..f08018ddcbae 100644 --- a/dom/xul/XULTreeElement.h +++ b/dom/xul/XULTreeElement.h @@ -100,7 +100,7 @@ class XULTreeElement final : public nsXULElement { void EndUpdateBatch(void); void ClearStyleAndImageCaches(void); - virtual void UnbindFromTree(bool aDeep, bool aNullParent) override; + virtual void UnbindFromTree(bool aNullParent) override; virtual void DestroyContent() override; void BodyDestroyed(int32_t aFirstVisibleRow) { diff --git a/dom/xul/nsXULElement.cpp b/dom/xul/nsXULElement.cpp index 420c7ee424c8..de31e0a4bad1 100644 --- a/dom/xul/nsXULElement.cpp +++ b/dom/xul/nsXULElement.cpp @@ -696,7 +696,7 @@ nsresult nsXULElement::BindToTree(Document* aDocument, nsIContent* aParent, return rv; } -void nsXULElement::UnbindFromTree(bool aDeep, bool aNullParent) { +void nsXULElement::UnbindFromTree(bool aNullParent) { if (NodeInfo()->Equals(nsGkAtoms::keyset, kNameSpaceID_XUL)) { nsXBLService::DetachGlobalKeyHandler(this); } @@ -729,7 +729,7 @@ void nsXULElement::UnbindFromTree(bool aDeep, bool aNullParent) { slots->mControllers = nullptr; } - nsStyledElement::UnbindFromTree(aDeep, aNullParent); + nsStyledElement::UnbindFromTree(aNullParent); } void nsXULElement::DoneAddingChildren(bool aHaveNotified) { diff --git a/dom/xul/nsXULElement.h b/dom/xul/nsXULElement.h index b465c0704709..8206c83dbf61 100644 --- a/dom/xul/nsXULElement.h +++ b/dom/xul/nsXULElement.h @@ -330,7 +330,7 @@ class nsXULElement : public nsStyledElement { // nsIContent virtual nsresult BindToTree(Document* aDocument, nsIContent* aParent, nsIContent* aBindingParent) override; - virtual void UnbindFromTree(bool aDeep, bool aNullParent) override; + virtual void UnbindFromTree(bool aNullParent) override; virtual void DestroyContent() override; virtual void DoneAddingChildren(bool aHaveNotified) override; From acbc3518d5453668b3b0ec08c6ca494f68977f8c Mon Sep 17 00:00:00 2001 From: sotaro Date: Tue, 28 May 2019 22:03:54 +0000 Subject: [PATCH 54/80] Bug 1554091 - Remove WrExternalImageBufferType r=jrmuizel If ExternalImageType is just passed from C to rust, it caused crash on non-Windows platform. It was caused by stack corruption. Then &ExternalImageType is used instead of ExternalImageType to bypass the problem. Differential Revision: https://phabricator.services.mozilla.com/D32436 --HG-- extra : moz-landing-system : lando --- gfx/layers/composite/TextureHost.cpp | 10 ++--- gfx/layers/d3d11/TextureD3D11.cpp | 21 +++++----- .../opengl/MacIOSurfaceTextureHostOGL.cpp | 11 +++--- gfx/layers/opengl/TextureHostOGL.cpp | 10 +++-- gfx/layers/wr/WebRenderBridgeParent.cpp | 5 +-- gfx/webrender_bindings/WebRenderAPI.cpp | 30 ++++++++------- gfx/webrender_bindings/WebRenderAPI.h | 14 ++++--- gfx/webrender_bindings/src/bindings.rs | 38 +++---------------- gfx/wr/webrender_api/src/image.rs | 1 + 9 files changed, 63 insertions(+), 77 deletions(-) diff --git a/gfx/layers/composite/TextureHost.cpp b/gfx/layers/composite/TextureHost.cpp index ec50de2ec4ae..b36071d96329 100644 --- a/gfx/layers/composite/TextureHost.cpp +++ b/gfx/layers/composite/TextureHost.cpp @@ -574,7 +574,7 @@ void BufferTextureHost::PushResourceUpdates( auto method = aOp == TextureHost::ADD_IMAGE ? &wr::TransactionBuilder::AddExternalImage : &wr::TransactionBuilder::UpdateExternalImage; - auto bufferType = wr::WrExternalImageBufferType::ExternalBuffer; + auto imageType = wr::ExternalImageType::Buffer(); if (GetFormat() != gfx::SurfaceFormat::YUV) { MOZ_ASSERT(aImageKeys.length() == 1); @@ -583,7 +583,7 @@ void BufferTextureHost::PushResourceUpdates( GetSize(), ImageDataSerializer::ComputeRGBStride(GetFormat(), GetSize().width), GetFormat()); - (aResources.*method)(aImageKeys[0], descriptor, aExtID, bufferType, 0); + (aResources.*method)(aImageKeys[0], descriptor, aExtID, imageType, 0); } else { MOZ_ASSERT(aImageKeys.length() == 3); @@ -594,9 +594,9 @@ void BufferTextureHost::PushResourceUpdates( wr::ImageDescriptor cbcrDescriptor( desc.cbCrSize(), desc.cbCrStride(), SurfaceFormatForColorDepth(desc.colorDepth())); - (aResources.*method)(aImageKeys[0], yDescriptor, aExtID, bufferType, 0); - (aResources.*method)(aImageKeys[1], cbcrDescriptor, aExtID, bufferType, 1); - (aResources.*method)(aImageKeys[2], cbcrDescriptor, aExtID, bufferType, 2); + (aResources.*method)(aImageKeys[0], yDescriptor, aExtID, imageType, 0); + (aResources.*method)(aImageKeys[1], cbcrDescriptor, aExtID, imageType, 1); + (aResources.*method)(aImageKeys[2], cbcrDescriptor, aExtID, imageType, 2); } } diff --git a/gfx/layers/d3d11/TextureD3D11.cpp b/gfx/layers/d3d11/TextureD3D11.cpp index c75f4e5aba18..528ca137108e 100644 --- a/gfx/layers/d3d11/TextureD3D11.cpp +++ b/gfx/layers/d3d11/TextureD3D11.cpp @@ -997,8 +997,9 @@ void DXGITextureHostD3D11::PushResourceUpdates( MOZ_ASSERT(aImageKeys.length() == 1); wr::ImageDescriptor descriptor(mSize, GetFormat()); - auto bufferType = wr::WrExternalImageBufferType::TextureExternalHandle; - (aResources.*method)(aImageKeys[0], descriptor, aExtID, bufferType, 0); + auto imageType = + wr::ExternalImageType::TextureHandle(wr::TextureTarget::External); + (aResources.*method)(aImageKeys[0], descriptor, aExtID, imageType, 0); break; } case gfx::SurfaceFormat::P010: @@ -1015,9 +1016,10 @@ void DXGITextureHostD3D11::PushResourceUpdates( mFormat == gfx::SurfaceFormat::NV12 ? gfx::SurfaceFormat::R8G8 : gfx::SurfaceFormat::R16G16); - auto bufferType = wr::WrExternalImageBufferType::TextureExternalHandle; - (aResources.*method)(aImageKeys[0], descriptor0, aExtID, bufferType, 0); - (aResources.*method)(aImageKeys[1], descriptor1, aExtID, bufferType, 1); + auto imageType = + wr::ExternalImageType::TextureHandle(wr::TextureTarget::External); + (aResources.*method)(aImageKeys[0], descriptor0, aExtID, imageType, 0); + (aResources.*method)(aImageKeys[1], descriptor1, aExtID, imageType, 1); break; } default: { @@ -1239,15 +1241,16 @@ void DXGIYCbCrTextureHostD3D11::PushResourceUpdates( auto method = aOp == TextureHost::ADD_IMAGE ? &wr::TransactionBuilder::AddExternalImage : &wr::TransactionBuilder::UpdateExternalImage; - auto bufferType = wr::WrExternalImageBufferType::TextureExternalHandle; + auto imageType = + wr::ExternalImageType::TextureHandle(wr::TextureTarget::External); // y wr::ImageDescriptor descriptor0(mSize, gfx::SurfaceFormat::A8); // cb and cr wr::ImageDescriptor descriptor1(mSizeCbCr, gfx::SurfaceFormat::A8); - (aResources.*method)(aImageKeys[0], descriptor0, aExtID, bufferType, 0); - (aResources.*method)(aImageKeys[1], descriptor1, aExtID, bufferType, 1); - (aResources.*method)(aImageKeys[2], descriptor1, aExtID, bufferType, 2); + (aResources.*method)(aImageKeys[0], descriptor0, aExtID, imageType, 0); + (aResources.*method)(aImageKeys[1], descriptor1, aExtID, imageType, 1); + (aResources.*method)(aImageKeys[2], descriptor1, aExtID, imageType, 2); } void DXGIYCbCrTextureHostD3D11::PushDisplayItems( diff --git a/gfx/layers/opengl/MacIOSurfaceTextureHostOGL.cpp b/gfx/layers/opengl/MacIOSurfaceTextureHostOGL.cpp index 5f7cf6890e91..590501420e93 100644 --- a/gfx/layers/opengl/MacIOSurfaceTextureHostOGL.cpp +++ b/gfx/layers/opengl/MacIOSurfaceTextureHostOGL.cpp @@ -158,7 +158,8 @@ void MacIOSurfaceTextureHostOGL::PushResourceUpdates( auto method = aOp == TextureHost::ADD_IMAGE ? &wr::TransactionBuilder::AddExternalImage : &wr::TransactionBuilder::UpdateExternalImage; - auto bufferType = wr::WrExternalImageBufferType::TextureRectHandle; + auto imageType = + wr::ExternalImageType::TextureHandle(wr::TextureTarget::Rect); switch (GetFormat()) { case gfx::SurfaceFormat::R8G8B8X8: @@ -171,7 +172,7 @@ void MacIOSurfaceTextureHostOGL::PushResourceUpdates( ? gfx::SurfaceFormat::B8G8R8A8 : gfx::SurfaceFormat::B8G8R8X8; wr::ImageDescriptor descriptor(GetSize(), format); - (aResources.*method)(aImageKeys[0], descriptor, aExtID, bufferType, 0); + (aResources.*method)(aImageKeys[0], descriptor, aExtID, imageType, 0); break; } case gfx::SurfaceFormat::YUV422: { @@ -182,7 +183,7 @@ void MacIOSurfaceTextureHostOGL::PushResourceUpdates( MOZ_ASSERT(aImageKeys.length() == 1); MOZ_ASSERT(mSurface->GetPlaneCount() == 0); wr::ImageDescriptor descriptor(GetSize(), gfx::SurfaceFormat::B8G8R8X8); - (aResources.*method)(aImageKeys[0], descriptor, aExtID, bufferType, 0); + (aResources.*method)(aImageKeys[0], descriptor, aExtID, imageType, 0); break; } case gfx::SurfaceFormat::NV12: { @@ -196,8 +197,8 @@ void MacIOSurfaceTextureHostOGL::PushResourceUpdates( gfx::IntSize(mSurface->GetDevicePixelWidth(1), mSurface->GetDevicePixelHeight(1)), gfx::SurfaceFormat::R8G8); - (aResources.*method)(aImageKeys[0], descriptor0, aExtID, bufferType, 0); - (aResources.*method)(aImageKeys[1], descriptor1, aExtID, bufferType, 1); + (aResources.*method)(aImageKeys[0], descriptor0, aExtID, imageType, 0); + (aResources.*method)(aImageKeys[1], descriptor1, aExtID, imageType, 1); break; } default: { diff --git a/gfx/layers/opengl/TextureHostOGL.cpp b/gfx/layers/opengl/TextureHostOGL.cpp index 2cf375fd4720..a7b34a02201a 100644 --- a/gfx/layers/opengl/TextureHostOGL.cpp +++ b/gfx/layers/opengl/TextureHostOGL.cpp @@ -639,7 +639,8 @@ void SurfaceTextureHost::PushResourceUpdates( auto method = aOp == TextureHost::ADD_IMAGE ? &wr::TransactionBuilder::AddExternalImage : &wr::TransactionBuilder::UpdateExternalImage; - auto bufferType = wr::WrExternalImageBufferType::TextureExternalHandle; + auto imageType = + wr::ExternalImageType::TextureHandle(wr::TextureTarget::External); switch (GetFormat()) { case gfx::SurfaceFormat::R8G8B8X8: @@ -652,7 +653,7 @@ void SurfaceTextureHost::PushResourceUpdates( ? gfx::SurfaceFormat::B8G8R8A8 : gfx::SurfaceFormat::B8G8R8X8; wr::ImageDescriptor descriptor(GetSize(), format); - (aResources.*method)(aImageKeys[0], descriptor, aExtID, bufferType, 0); + (aResources.*method)(aImageKeys[0], descriptor, aExtID, imageType, 0); break; } default: { @@ -836,7 +837,8 @@ void EGLImageTextureHost::PushResourceUpdates( auto method = aOp == TextureHost::ADD_IMAGE ? &wr::TransactionBuilder::AddExternalImage : &wr::TransactionBuilder::UpdateExternalImage; - auto bufferType = wr::WrExternalImageBufferType::TextureExternalHandle; + auto imageType = + wr::ExternalImageType::TextureHandle(wr::TextureTarget::External); gfx::SurfaceFormat format = mHasAlpha ? gfx::SurfaceFormat::R8G8B8A8 : gfx::SurfaceFormat::R8G8B8X8; @@ -848,7 +850,7 @@ void EGLImageTextureHost::PushResourceUpdates( ? gfx::SurfaceFormat::B8G8R8A8 : gfx::SurfaceFormat::B8G8R8X8; wr::ImageDescriptor descriptor(GetSize(), formatTmp); - (aResources.*method)(aImageKeys[0], descriptor, aExtID, bufferType, 0); + (aResources.*method)(aImageKeys[0], descriptor, aExtID, imageType, 0); } void EGLImageTextureHost::PushDisplayItems( diff --git a/gfx/layers/wr/WebRenderBridgeParent.cpp b/gfx/layers/wr/WebRenderBridgeParent.cpp index b89bbfb1bedf..d6ccb2ff18cb 100644 --- a/gfx/layers/wr/WebRenderBridgeParent.cpp +++ b/gfx/layers/wr/WebRenderBridgeParent.cpp @@ -574,8 +574,7 @@ bool WebRenderBridgeParent::AddExternalImage( wr::ImageDescriptor descriptor(dSurf->GetSize(), dSurf->Stride(), dSurf->GetFormat()); aResources.AddExternalImage(aKey, descriptor, aExtId, - wr::WrExternalImageBufferType::ExternalBuffer, - 0); + wr::ExternalImageType::Buffer(), 0); return true; } @@ -705,7 +704,7 @@ bool WebRenderBridgeParent::UpdateExternalImage( wr::ImageDescriptor descriptor(dSurf->GetSize(), dSurf->Stride(), dSurf->GetFormat()); aResources.UpdateExternalImageWithDirtyRect( - aKey, descriptor, aExtId, wr::WrExternalImageBufferType::ExternalBuffer, + aKey, descriptor, aExtId, wr::ExternalImageType::Buffer(), wr::ToDeviceIntRect(aDirtyRect), 0); return true; } diff --git a/gfx/webrender_bindings/WebRenderAPI.cpp b/gfx/webrender_bindings/WebRenderAPI.cpp index 7cd0d7f10cd5..fa0e07f321dc 100644 --- a/gfx/webrender_bindings/WebRenderAPI.cpp +++ b/gfx/webrender_bindings/WebRenderAPI.cpp @@ -597,19 +597,21 @@ void TransactionBuilder::AddBlobImage(BlobImageKey key, wr_resource_updates_add_blob_image(mTxn, key, &aDescriptor, &aBytes.inner); } -void TransactionBuilder::AddExternalImage( - ImageKey key, const ImageDescriptor& aDescriptor, ExternalImageId aExtID, - wr::WrExternalImageBufferType aBufferType, uint8_t aChannelIndex) { +void TransactionBuilder::AddExternalImage(ImageKey key, + const ImageDescriptor& aDescriptor, + ExternalImageId aExtID, + wr::ExternalImageType aImageType, + uint8_t aChannelIndex) { wr_resource_updates_add_external_image(mTxn, key, &aDescriptor, aExtID, - aBufferType, aChannelIndex); + &aImageType, aChannelIndex); } void TransactionBuilder::AddExternalImageBuffer( ImageKey aKey, const ImageDescriptor& aDescriptor, ExternalImageId aHandle) { auto channelIndex = 0; - AddExternalImage(aKey, aDescriptor, aHandle, - wr::WrExternalImageBufferType::ExternalBuffer, channelIndex); + AddExternalImage(aKey, aDescriptor, aHandle, wr::ExternalImageType::Buffer(), + channelIndex); } void TransactionBuilder::UpdateImageBuffer(ImageKey aKey, @@ -626,19 +628,21 @@ void TransactionBuilder::UpdateBlobImage(BlobImageKey aKey, aDirtyRect); } -void TransactionBuilder::UpdateExternalImage( - ImageKey aKey, const ImageDescriptor& aDescriptor, ExternalImageId aExtID, - wr::WrExternalImageBufferType aBufferType, uint8_t aChannelIndex) { +void TransactionBuilder::UpdateExternalImage(ImageKey aKey, + const ImageDescriptor& aDescriptor, + ExternalImageId aExtID, + wr::ExternalImageType aImageType, + uint8_t aChannelIndex) { wr_resource_updates_update_external_image(mTxn, aKey, &aDescriptor, aExtID, - aBufferType, aChannelIndex); + &aImageType, aChannelIndex); } void TransactionBuilder::UpdateExternalImageWithDirtyRect( ImageKey aKey, const ImageDescriptor& aDescriptor, ExternalImageId aExtID, - wr::WrExternalImageBufferType aBufferType, - const wr::DeviceIntRect& aDirtyRect, uint8_t aChannelIndex) { + wr::ExternalImageType aImageType, const wr::DeviceIntRect& aDirtyRect, + uint8_t aChannelIndex) { wr_resource_updates_update_external_image_with_dirty_rect( - mTxn, aKey, &aDescriptor, aExtID, aBufferType, aChannelIndex, aDirtyRect); + mTxn, aKey, &aDescriptor, aExtID, &aImageType, aChannelIndex, aDirtyRect); } void TransactionBuilder::SetImageVisibleArea(BlobImageKey aKey, diff --git a/gfx/webrender_bindings/WebRenderAPI.h b/gfx/webrender_bindings/WebRenderAPI.h index 3376db594453..e14579817ca3 100644 --- a/gfx/webrender_bindings/WebRenderAPI.h +++ b/gfx/webrender_bindings/WebRenderAPI.h @@ -128,7 +128,7 @@ class TransactionBuilder final { void AddExternalImage(ImageKey key, const ImageDescriptor& aDescriptor, ExternalImageId aExtID, - wr::WrExternalImageBufferType aBufferType, + wr::ExternalImageType aImageType, uint8_t aChannelIndex = 0); void UpdateImageBuffer(wr::ImageKey aKey, const ImageDescriptor& aDescriptor, @@ -141,13 +141,15 @@ class TransactionBuilder final { void UpdateExternalImage(ImageKey aKey, const ImageDescriptor& aDescriptor, ExternalImageId aExtID, - wr::WrExternalImageBufferType aBufferType, + wr::ExternalImageType aImageType, uint8_t aChannelIndex = 0); - void UpdateExternalImageWithDirtyRect( - ImageKey aKey, const ImageDescriptor& aDescriptor, ExternalImageId aExtID, - wr::WrExternalImageBufferType aBufferType, - const wr::DeviceIntRect& aDirtyRect, uint8_t aChannelIndex = 0); + void UpdateExternalImageWithDirtyRect(ImageKey aKey, + const ImageDescriptor& aDescriptor, + ExternalImageId aExtID, + wr::ExternalImageType aImageType, + const wr::DeviceIntRect& aDirtyRect, + uint8_t aChannelIndex = 0); void SetImageVisibleArea(BlobImageKey aKey, const wr::DeviceIntRect& aArea); diff --git a/gfx/webrender_bindings/src/bindings.rs b/gfx/webrender_bindings/src/bindings.rs index 46168415f7ed..98e59a627183 100644 --- a/gfx/webrender_bindings/src/bindings.rs +++ b/gfx/webrender_bindings/src/bindings.rs @@ -63,15 +63,6 @@ pub enum AntialiasBorder { Yes, } -#[repr(C)] -pub enum WrExternalImageBufferType { - TextureHandle = 0, - TextureRectHandle = 1, - TextureArrayHandle = 2, - TextureExternalHandle = 3, - ExternalBuffer = 4, -} - /// Used to indicate if an image is opaque, or has an alpha channel. #[repr(u8)] #[derive(Copy, Clone, Debug, PartialEq, Eq)] @@ -80,23 +71,6 @@ pub enum OpacityType { HasAlphaChannel = 1, } -impl WrExternalImageBufferType { - fn to_wr(self) -> ExternalImageType { - match self { - WrExternalImageBufferType::TextureHandle => - ExternalImageType::TextureHandle(TextureTarget::Default), - WrExternalImageBufferType::TextureRectHandle => - ExternalImageType::TextureHandle(TextureTarget::Rect), - WrExternalImageBufferType::TextureArrayHandle => - ExternalImageType::TextureHandle(TextureTarget::Array), - WrExternalImageBufferType::TextureExternalHandle => - ExternalImageType::TextureHandle(TextureTarget::External), - WrExternalImageBufferType::ExternalBuffer => - ExternalImageType::Buffer, - } - } -} - /// cbindgen:field-names=[mHandle] /// cbindgen:derive-lt=true /// cbindgen:derive-lte=true @@ -1611,7 +1585,7 @@ pub extern "C" fn wr_resource_updates_add_external_image( image_key: WrImageKey, descriptor: &WrImageDescriptor, external_image_id: WrExternalImageId, - buffer_type: WrExternalImageBufferType, + image_type: &ExternalImageType, channel_index: u8 ) { txn.add_image( @@ -1621,7 +1595,7 @@ pub extern "C" fn wr_resource_updates_add_external_image( ExternalImageData { id: external_image_id.into(), channel_index: channel_index, - image_type: buffer_type.to_wr(), + image_type: *image_type, } ), None @@ -1658,7 +1632,7 @@ pub extern "C" fn wr_resource_updates_update_external_image( key: WrImageKey, descriptor: &WrImageDescriptor, external_image_id: WrExternalImageId, - image_type: WrExternalImageBufferType, + image_type: &ExternalImageType, channel_index: u8 ) { txn.update_image( @@ -1668,7 +1642,7 @@ pub extern "C" fn wr_resource_updates_update_external_image( ExternalImageData { id: external_image_id.into(), channel_index, - image_type: image_type.to_wr(), + image_type: *image_type, } ), &DirtyRect::All, @@ -1681,7 +1655,7 @@ pub extern "C" fn wr_resource_updates_update_external_image_with_dirty_rect( key: WrImageKey, descriptor: &WrImageDescriptor, external_image_id: WrExternalImageId, - image_type: WrExternalImageBufferType, + image_type: &ExternalImageType, channel_index: u8, dirty_rect: DeviceIntRect, ) { @@ -1692,7 +1666,7 @@ pub extern "C" fn wr_resource_updates_update_external_image_with_dirty_rect( ExternalImageData { id: external_image_id.into(), channel_index, - image_type: image_type.to_wr(), + image_type: *image_type, } ), &DirtyRect::Partial(dirty_rect) diff --git a/gfx/wr/webrender_api/src/image.rs b/gfx/wr/webrender_api/src/image.rs index 829e54ebae76..1d24f18b232d 100644 --- a/gfx/wr/webrender_api/src/image.rs +++ b/gfx/wr/webrender_api/src/image.rs @@ -51,6 +51,7 @@ impl BlobImageKey { pub struct ExternalImageId(pub u64); /// Specifies the type of texture target in driver terms. +#[repr(u8)] #[derive(Copy, Clone, Debug, Eq, Hash, PartialEq, Serialize, Deserialize)] pub enum TextureTarget { /// Standard texture. This maps to GL_TEXTURE_2D in OpenGL. From ed2f2811ba1849d99c00834ecd6e0d10a33e7a26 Mon Sep 17 00:00:00 2001 From: alwu Date: Tue, 28 May 2019 23:02:45 +0000 Subject: [PATCH 55/80] Bug 1553692 - enable wpt 'track-text-track-cue-list.html' r=jib For getter, it will return undefined [1] when we can't get the element. We should use assert_equals because undefined is not an object. For getCueById, it will return null [2] when we can't get the element. We should use assert_equals because null is not an object. [1] https://heycam.github.io/webidl/#dfn-attribute-getter [2] https://html.spec.whatwg.org/multipage/media.html#dom-texttrackcuelist-getcuebyid Differential Revision: https://phabricator.services.mozilla.com/D32246 --HG-- extra : moz-landing-system : lando --- .../track/track-element/track-text-track-cue-list.html.ini | 4 ---- .../track/track-element/track-text-track-cue-list.html | 6 +++--- 2 files changed, 3 insertions(+), 7 deletions(-) delete mode 100644 testing/web-platform/meta/html/semantics/embedded-content/media-elements/track/track-element/track-text-track-cue-list.html.ini diff --git a/testing/web-platform/meta/html/semantics/embedded-content/media-elements/track/track-element/track-text-track-cue-list.html.ini b/testing/web-platform/meta/html/semantics/embedded-content/media-elements/track/track-element/track-text-track-cue-list.html.ini deleted file mode 100644 index e1fd0c952bdb..000000000000 --- a/testing/web-platform/meta/html/semantics/embedded-content/media-elements/track/track-element/track-text-track-cue-list.html.ini +++ /dev/null @@ -1,4 +0,0 @@ -[track-text-track-cue-list.html] - [TextTrackCueList functionality: length, operator[\], and getCueById()] - expected: FAIL - diff --git a/testing/web-platform/tests/html/semantics/embedded-content/media-elements/track/track-element/track-text-track-cue-list.html b/testing/web-platform/tests/html/semantics/embedded-content/media-elements/track/track-element/track-text-track-cue-list.html index 5b11bfdea4cf..73241ce0d4a1 100644 --- a/testing/web-platform/tests/html/semantics/embedded-content/media-elements/track/track-element/track-text-track-cue-list.html +++ b/testing/web-platform/tests/html/semantics/embedded-content/media-elements/track/track-element/track-text-track-cue-list.html @@ -17,13 +17,13 @@ // Testing TextTrackCueList [] operator. assert_equals(cues[0].id, "1"); assert_equals(cues[3].id, "4"); - assert_object_equals(cues[4], undefined); + assert_equals(cues[4], undefined); // Testing TextTrackCueList getCueById(). assert_equals(cues.getCueById("1").startTime, 0); assert_equals(cues.getCueById("4").startTime, 121); - assert_object_equals(cues.getCueById("junk"), undefined); + assert_equals(cues.getCueById("junk"), null); }); }); - \ No newline at end of file + From 3f836271b7eb0ad750981a5b5b2a0567622df0b5 Mon Sep 17 00:00:00 2001 From: Edouard Oger Date: Wed, 29 May 2019 01:15:44 +0000 Subject: [PATCH 56/80] Bug 1554724 - Disable push connection for perf tests. r=lina Differential Revision: https://phabricator.services.mozilla.com/D32930 --HG-- extra : moz-landing-system : lando --- testing/profiles/perf/user.js | 1 + 1 file changed, 1 insertion(+) diff --git a/testing/profiles/perf/user.js b/testing/profiles/perf/user.js index 7582f35623f3..8d9a35ebf0f8 100644 --- a/testing/profiles/perf/user.js +++ b/testing/profiles/perf/user.js @@ -47,6 +47,7 @@ user_pref("dom.allow_scripts_to_close_windows", true); user_pref("dom.disable_open_during_load", false); user_pref("dom.disable_window_flip", true); user_pref("dom.disable_window_move_resize", true); +user_pref("dom.push.connection.enabled", false); user_pref("extensions.autoDisableScopes", 10); user_pref("extensions.blocklist.enabled", false); user_pref("extensions.blocklist.url", "http://127.0.0.1/extensions-dummy/blocklistURL"); From 937eef0e91d12f97203383edda7a8d292544849d Mon Sep 17 00:00:00 2001 From: Nico Grunbaum Date: Wed, 29 May 2019 01:52:52 +0000 Subject: [PATCH 57/80] Bug 1554284 - log unexpected SDP parse results on error level - r=drno Differential Revision: https://phabricator.services.mozilla.com/D32525 --HG-- extra : moz-landing-system : lando --- .../src/sdp/ParsingResultComparer.cpp | 119 ++++++++++-------- .../signaling/src/sdp/ParsingResultComparer.h | 20 ++- 2 files changed, 85 insertions(+), 54 deletions(-) diff --git a/media/webrtc/signaling/src/sdp/ParsingResultComparer.cpp b/media/webrtc/signaling/src/sdp/ParsingResultComparer.cpp index 1be6321c69e6..f6eefd1d9cd5 100644 --- a/media/webrtc/signaling/src/sdp/ParsingResultComparer.cpp +++ b/media/webrtc/signaling/src/sdp/ParsingResultComparer.cpp @@ -17,6 +17,17 @@ using mozilla::LogLevel; static mozilla::LazyLogModule sSdpDiffLogger("sdpdiff_logger"); #define LOGD(msg) MOZ_LOG(sSdpDiffLogger, LogLevel::Debug, msg) +#define LOGE(msg) MOZ_LOG(sSdpDiffLogger, LogLevel::Error, msg) + +#define LOG_EXPECT(result, expect, msg) \ + { \ + if (((expect) == SdpComparisonResult::Equal) == (result)) { \ + LOGD(msg); \ + } else { \ + LOGE(("UNEXPECTED COMPARISON RESULT: vvvvvv")); \ + LOGE(msg); \ + } \ + } namespace mozilla { @@ -31,31 +42,33 @@ std::string ToString(const T& serializable) { } bool ParsingResultComparer::Compare(const Sdp& rsdparsaSdp, const Sdp& sipccSdp, - const std::string& originalSdp) { - bool result = true; + const std::string& originalSdp, + const SdpComparisonResult expect) { mOriginalSdp = originalSdp; - LOGD(("The original sdp: \n%s", mOriginalSdp.c_str())); - const std::string sipccSdpStr = sipccSdp.ToString(); const std::string rsdparsaSdpStr = rsdparsaSdp.ToString(); - if (rsdparsaSdpStr == sipccSdpStr) { + bool result = rsdparsaSdpStr == sipccSdpStr; + LOG_EXPECT(result, expect, ("The original sdp: \n%s", mOriginalSdp.c_str())); + if (result) { Telemetry::ScalarAdd(Telemetry::ScalarID::WEBRTC_SDP_PARSER_DIFF, NS_LITERAL_STRING("serialization_is_equal"), 1); - LOGD(("Serialization is equal")); - return true; + LOG_EXPECT(result, expect, ("Serialization is equal")); + return result; } + // Do a deep comparison + result = true; Telemetry::ScalarAdd(Telemetry::ScalarID::WEBRTC_SDP_PARSER_DIFF, NS_LITERAL_STRING("serialization_is_not_equal"), 1); - LOGD( - ("Serialization is not equal\n" - " --- Sipcc SDP ---\n" - "%s\n" - "--- Rsdparsa SDP ---\n" - "%s\n", - sipccSdpStr.c_str(), rsdparsaSdpStr.c_str())); + LOG_EXPECT(result, expect, + ("Serialization is not equal\n" + " --- Sipcc SDP ---\n" + "%s\n" + "--- Rsdparsa SDP ---\n" + "%s\n", + sipccSdpStr.c_str(), rsdparsaSdpStr.c_str())); const std::string rsdparsaOriginStr = ToString(rsdparsaSdp.GetOrigin()); const std::string sipccOriginStr = ToString(sipccSdp.GetOrigin()); @@ -64,9 +77,10 @@ bool ParsingResultComparer::Compare(const Sdp& rsdparsaSdp, const Sdp& sipccSdp, if (rsdparsaOriginStr != sipccOriginStr) { Telemetry::ScalarAdd(Telemetry::ScalarID::WEBRTC_SDP_PARSER_DIFF, NS_LITERAL_STRING("o="), 1); - LOGD(("origin is not equal\nrust origin: %s\nsipcc origin: %s", - rsdparsaOriginStr.c_str(), sipccOriginStr.c_str())); result = false; + LOG_EXPECT(result, expect, + ("origin is not equal\nrust origin: %s\nsipcc origin: %s", + rsdparsaOriginStr.c_str(), sipccOriginStr.c_str())); } if (MOZ_LOG_TEST(sSdpDiffLogger, LogLevel::Debug)) { @@ -74,10 +88,10 @@ bool ParsingResultComparer::Compare(const Sdp& rsdparsaSdp, const Sdp& sipccSdp, const auto sipcc_sess_attr_count = sipccSdp.GetAttributeList().Count(); if (rust_sess_attr_count != sipcc_sess_attr_count) { - LOGD( - ("Session level attribute count is NOT equal, rsdparsa: %u, " - "sipcc: %u\n", - rust_sess_attr_count, sipcc_sess_attr_count)); + LOG_EXPECT(false, expect, + ("Session level attribute count is NOT equal, rsdparsa: %u, " + "sipcc: %u\n", + rust_sess_attr_count, sipcc_sess_attr_count)); } } @@ -90,11 +104,12 @@ bool ParsingResultComparer::Compare(const Sdp& rsdparsaSdp, const Sdp& sipccSdp, static_cast(rsdparsaSdp.GetMediaSectionCount()); if (sipccMediaSecCount != rsdparsaMediaSecCount) { + result = false; Telemetry::ScalarAdd(Telemetry::ScalarID::WEBRTC_SDP_PARSER_DIFF, NS_LITERAL_STRING("inequal_msec_count"), 1); - LOGD(("Media section count is NOT equal, rsdparsa: %d, sipcc: %d \n", - rsdparsaMediaSecCount, sipccMediaSecCount)); - result = false; + LOG_EXPECT(result, expect, + ("Media section count is NOT equal, rsdparsa: %d, sipcc: %d \n", + rsdparsaMediaSecCount, sipccMediaSecCount)); } for (size_t i = 0; i < std::min(sipccMediaSecCount, rsdparsaMediaSecCount); @@ -108,21 +123,23 @@ bool ParsingResultComparer::Compare(const Sdp& rsdparsaSdp, const Sdp& sipccSdp, bool ParsingResultComparer::CompareMediaSections( const SdpMediaSection& rustMediaSection, - const SdpMediaSection& sipccMediaSection) const { + const SdpMediaSection& sipccMediaSection, + const SdpComparisonResult expect) const { bool result = true; - auto trackMediaLineMismatch = [&result](auto rustValue, auto sipccValue, - const nsString& valueDescription) { + auto trackMediaLineMismatch = [&result, &expect]( + auto rustValue, auto sipccValue, + const nsString& valueDescription) { + result = false; nsString typeStr = NS_LITERAL_STRING("m="); typeStr += valueDescription; Telemetry::ScalarAdd(Telemetry::ScalarID::WEBRTC_SDP_PARSER_DIFF, typeStr, 1); - LOGD( - ("The media line values %s are not equal\n" - "rsdparsa value: %s\n" - "sipcc value: %s\n", - NS_LossyConvertUTF16toASCII(valueDescription).get(), - ToString(rustValue).c_str(), ToString(sipccValue).c_str())); - result = false; + LOG_EXPECT(result, expect, + ("The media line values %s are not equal\n" + "rsdparsa value: %s\n" + "sipcc value: %s\n", + NS_LossyConvertUTF16toASCII(valueDescription).get(), + ToString(rustValue).c_str(), ToString(sipccValue).c_str())); }; auto compareMediaLineValue = [trackMediaLineMismatch]( @@ -170,7 +187,7 @@ bool ParsingResultComparer::CompareMediaSections( bool ParsingResultComparer::CompareAttrLists( const SdpAttributeList& rustAttrlist, const SdpAttributeList& sipccAttrlist, - int level) const { + int level, const SdpComparisonResult expect) const { bool result = true; for (size_t i = AttributeType::kFirstAttribute; @@ -187,15 +204,17 @@ bool ParsingResultComparer::CompareAttrLists( auto sipccAttrStr = ToString(*sipccAttrlist.GetAttribute(type, false)); if (!rustAttrlist.HasAttribute(type, false)) { + result = false; nsString typeStr; typeStr.AssignASCII(attrStr.c_str()); typeStr += NS_LITERAL_STRING("_missing"); Telemetry::ScalarAdd(Telemetry::ScalarID::WEBRTC_SDP_PARSER_DIFF, typeStr, 1); - LOGD(("Rust is missing the attribute: %s\n", attrStr.c_str())); - LOGD(("Rust is missing: %s\n", sipccAttrStr.c_str())); + LOG_EXPECT(result, expect, + ("Rust is missing the attribute: %s\n", attrStr.c_str())); + LOG_EXPECT(result, expect, + ("Rust is missing: %s\n", sipccAttrStr.c_str())); - result = false; continue; } @@ -210,24 +229,26 @@ bool ParsingResultComparer::CompareAttrLists( std::string originalAttrStr = GetAttributeLines(attrStr, level); if (rustAttrStr != originalAttrStr) { + result = false; nsString typeStr; typeStr.AssignASCII(attrStr.c_str()); typeStr += NS_LITERAL_STRING("_inequal"); Telemetry::ScalarAdd(Telemetry::ScalarID::WEBRTC_SDP_PARSER_DIFF, typeStr, 1); - LOGD( - ("%s is neither equal to sipcc nor to the orginal sdp\n" - "--------------rsdparsa attribute---------------\n" - "%s" - "--------------sipcc attribute---------------\n" - "%s" - "--------------original attribute---------------\n" - "%s\n", - attrStr.c_str(), rustAttrStr.c_str(), sipccAttrStr.c_str(), - originalAttrStr.c_str())); - result = false; + LOG_EXPECT(result, expect, + ("%s is neither equal to sipcc nor to the orginal sdp\n" + "--------------rsdparsa attribute---------------\n" + "%s" + "--------------sipcc attribute---------------\n" + "%s" + "--------------original attribute---------------\n" + "%s\n", + attrStr.c_str(), rustAttrStr.c_str(), + sipccAttrStr.c_str(), originalAttrStr.c_str())); } else { - LOGD(("But the rust serialization is equal to the orignal sdp\n")); + LOG_EXPECT( + result, expect, + ("But the rust serialization is equal to the orignal sdp\n")); } } } else { diff --git a/media/webrtc/signaling/src/sdp/ParsingResultComparer.h b/media/webrtc/signaling/src/sdp/ParsingResultComparer.h index 2777edf55528..da1370b5908c 100644 --- a/media/webrtc/signaling/src/sdp/ParsingResultComparer.h +++ b/media/webrtc/signaling/src/sdp/ParsingResultComparer.h @@ -15,16 +15,26 @@ class Sdp; class SdpMediaSection; class SdpAttributeList; +enum class SdpComparisonResult { + Inequal = false, + Equal = true, +}; + class ParsingResultComparer { public: ParsingResultComparer() = default; bool Compare(const Sdp& rsdparsaSdp, const Sdp& sipccSdp, - const std::string& originalSdp); - bool CompareMediaSections(const SdpMediaSection& rustMediaSection, - const SdpMediaSection& sipccMediaSection) const; - bool CompareAttrLists(const SdpAttributeList& rustAttrlist, - const SdpAttributeList& sipccAttrlist, int level) const; + const std::string& originalSdp, + const SdpComparisonResult expect = SdpComparisonResult::Equal); + bool CompareMediaSections( + const SdpMediaSection& rustMediaSection, + const SdpMediaSection& sipccMediaSection, + const SdpComparisonResult expect = SdpComparisonResult::Equal) const; + bool CompareAttrLists( + const SdpAttributeList& rustAttrlist, + const SdpAttributeList& sipccAttrlist, int level, + const SdpComparisonResult expect = SdpComparisonResult::Equal) const; void TrackRustParsingFailed(size_t sipccErrorCount) const; private: From 435ba395cf8798e2f42e9a79925cf68eb7cd08ce Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Emilio=20Cobos=20=C3=81lvarez?= Date: Tue, 28 May 2019 21:05:03 +0000 Subject: [PATCH 58/80] Bug 1552080 - Don't clobber library features with test features in the make backend. r=chmanchester We weren't honoring the case where the library features differ from the tests features (situation which my previous patch does). We were incorrectly overriding `rust_feature_flags`, which of course ended up with a working rusttests with my patches, but a bunch of negative leaks :) Name the test features differently so that they don't affect the regular library features. Differential Revision: https://phabricator.services.mozilla.com/D32777 --HG-- extra : moz-landing-system : lando --- config/makefiles/rust.mk | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/config/makefiles/rust.mk b/config/makefiles/rust.mk index aeb7bd12319c..833dc52ec506 100644 --- a/config/makefiles/rust.mk +++ b/config/makefiles/rust.mk @@ -261,14 +261,14 @@ ifdef RUST_TESTS rust_test_options := $(foreach test,$(RUST_TESTS),-p $(test)) ifdef RUST_TEST_FEATURES -rust_features_flag := --features '$(RUST_TEST_FEATURES)' +rust_test_features_flag := --features '$(RUST_TEST_FEATURES)' endif # Don't stop at the first failure. We want to list all failures together. rust_test_flag := --no-fail-fast force-cargo-test-run: - $(call RUN_CARGO,test $(cargo_target_flag) $(rust_test_flag) $(rust_test_options) $(rust_features_flag)) + $(call RUN_CARGO,test $(cargo_target_flag) $(rust_test_flag) $(rust_test_options) $(rust_test_features_flag)) endif From 3ba1a2625c774b2ae23108bf4b079333b5c6e1a0 Mon Sep 17 00:00:00 2001 From: jaril Date: Tue, 28 May 2019 21:01:00 +0000 Subject: [PATCH 59/80] Bug 1551631 - Changed popover position. The preview unrenders because of the whitespace in between the token and the preview popup. This patch moves the preview popup closer to the token and changes the conditions for unrendering the preview. Differential Revision: https://phabricator.services.mozilla.com/D31897 --HG-- extra : moz-landing-system : lando --- .../debugger/src/components/Editor/Preview/Popup.js | 10 +++++----- .../debugger/src/components/shared/Popover.css | 13 ++++++++----- .../debugger/src/components/shared/Popover.js | 11 ++++++----- 3 files changed, 19 insertions(+), 15 deletions(-) diff --git a/devtools/client/debugger/src/components/Editor/Preview/Popup.js b/devtools/client/debugger/src/components/Editor/Preview/Popup.js index 612ad56d2948..34b50e38b6b0 100644 --- a/devtools/client/debugger/src/components/Editor/Preview/Popup.js +++ b/devtools/client/debugger/src/components/Editor/Preview/Popup.js @@ -55,7 +55,7 @@ type State = { export class Popup extends Component { marker: any; pos: any; - popup: ?HTMLDivElement; + popover: ?HTMLDivElement; timerId: ?IntervalID; constructor(props: Props) { @@ -89,7 +89,8 @@ export class Popup extends Component { if ( isTesting() || currentTarget.matches(":hover") || - (this.popup && this.popup.matches(":hover")) + (this.popover.$popover && this.popover.$popover.matches(":hover")) || + (this.popover.$tooltip && this.popover.$tooltip.matches(":hover")) ) { return; } @@ -118,7 +119,6 @@ export class Popup extends Component { return (
(this.popup = a)} onClick={() => selectSourceURL(cx, result.location.url, { line: result.location.line, @@ -143,7 +143,6 @@ export class Popup extends Component {
(this.popup = a)} > { preview: { result }, } = this.props; return ( -
(this.popup = a)}> +
{Rep({ object: result, mode: MODE.LONG, @@ -229,6 +228,7 @@ export class Popup extends Component { type={type} onPopoverCoords={this.onPopoverCoords} editorRef={editorRef} + ref={a => (this.popover = a)} > {this.renderPreview()} diff --git a/devtools/client/debugger/src/components/shared/Popover.css b/devtools/client/debugger/src/components/shared/Popover.css index 060fb3c7407c..c7a999992e3a 100644 --- a/devtools/client/debugger/src/components/shared/Popover.css +++ b/devtools/client/debugger/src/components/shared/Popover.css @@ -5,6 +5,8 @@ .popover { position: fixed; z-index: 100; + --gap-size: 10px; + --left-offset: -55px; } .popover { @@ -18,18 +20,19 @@ } .popover.orientation-right .gap { - padding-left: 5px; + padding-left: var(--gap-size); } .popover:not(.orientation-right) .gap { - height: 5px; - padding-top: 5px; + height: var(--gap-size); + padding-top: var(--gap-size); + margin-left: var(--left-offset); } .popover:not(.orientation-right) .preview-popup { - margin-left: -55px; + margin-left: var(--left-offset); } .popover .add-to-expression-bar { - margin-left: -55px; + margin-left: var(--left-offset); } diff --git a/devtools/client/debugger/src/components/shared/Popover.js b/devtools/client/debugger/src/components/shared/Popover.js index b908a311808a..4d0fe2f0bc0d 100644 --- a/devtools/client/debugger/src/components/shared/Popover.js +++ b/devtools/client/debugger/src/components/shared/Popover.js @@ -70,7 +70,7 @@ class Popover extends Component { const estimatedRight = estimatedLeft + popover.width; const isOverflowingRight = estimatedRight > editor.right; if (orientation === "right") { - return target.left + target.width + 5; + return target.left + target.width; } if (isOverflowingRight) { const adjustedLeft = editor.right - popover.width - 8; @@ -211,13 +211,14 @@ class Popover extends Component { } getPopoverArrow(orientation: Orientation, left: number, top: number) { - const arrowProps = {}; + let arrowProps = {}; + if (orientation === "up") { - Object.assign(arrowProps, { orientation: "down", bottom: 5, left }); + arrowProps = { orientation: "down", bottom: 10, left }; } else if (orientation === "down") { - Object.assign(arrowProps, { orientation: "up", top: -7, left }); + arrowProps = { orientation: "up", top: -2, left }; } else { - Object.assign(arrowProps, { orientation: "left", top, left: -9 }); + arrowProps = { orientation: "left", top, left: -4 }; } return ; From fe73607e6845cad33600f983a12325a846154c7a Mon Sep 17 00:00:00 2001 From: Razvan Maries Date: Wed, 29 May 2019 05:31:21 +0300 Subject: [PATCH 60/80] Backed out changeset 4d71f6b28394 (bug 1551631) for node debugger perma failures. CLOSED TREE --- .../debugger/src/components/Editor/Preview/Popup.js | 10 +++++----- .../debugger/src/components/shared/Popover.css | 13 +++++-------- .../debugger/src/components/shared/Popover.js | 11 +++++------ 3 files changed, 15 insertions(+), 19 deletions(-) diff --git a/devtools/client/debugger/src/components/Editor/Preview/Popup.js b/devtools/client/debugger/src/components/Editor/Preview/Popup.js index 34b50e38b6b0..612ad56d2948 100644 --- a/devtools/client/debugger/src/components/Editor/Preview/Popup.js +++ b/devtools/client/debugger/src/components/Editor/Preview/Popup.js @@ -55,7 +55,7 @@ type State = { export class Popup extends Component { marker: any; pos: any; - popover: ?HTMLDivElement; + popup: ?HTMLDivElement; timerId: ?IntervalID; constructor(props: Props) { @@ -89,8 +89,7 @@ export class Popup extends Component { if ( isTesting() || currentTarget.matches(":hover") || - (this.popover.$popover && this.popover.$popover.matches(":hover")) || - (this.popover.$tooltip && this.popover.$tooltip.matches(":hover")) + (this.popup && this.popup.matches(":hover")) ) { return; } @@ -119,6 +118,7 @@ export class Popup extends Component { return (
(this.popup = a)} onClick={() => selectSourceURL(cx, result.location.url, { line: result.location.line, @@ -143,6 +143,7 @@ export class Popup extends Component {
(this.popup = a)} > { preview: { result }, } = this.props; return ( -
+
(this.popup = a)}> {Rep({ object: result, mode: MODE.LONG, @@ -228,7 +229,6 @@ export class Popup extends Component { type={type} onPopoverCoords={this.onPopoverCoords} editorRef={editorRef} - ref={a => (this.popover = a)} > {this.renderPreview()} diff --git a/devtools/client/debugger/src/components/shared/Popover.css b/devtools/client/debugger/src/components/shared/Popover.css index c7a999992e3a..060fb3c7407c 100644 --- a/devtools/client/debugger/src/components/shared/Popover.css +++ b/devtools/client/debugger/src/components/shared/Popover.css @@ -5,8 +5,6 @@ .popover { position: fixed; z-index: 100; - --gap-size: 10px; - --left-offset: -55px; } .popover { @@ -20,19 +18,18 @@ } .popover.orientation-right .gap { - padding-left: var(--gap-size); + padding-left: 5px; } .popover:not(.orientation-right) .gap { - height: var(--gap-size); - padding-top: var(--gap-size); - margin-left: var(--left-offset); + height: 5px; + padding-top: 5px; } .popover:not(.orientation-right) .preview-popup { - margin-left: var(--left-offset); + margin-left: -55px; } .popover .add-to-expression-bar { - margin-left: var(--left-offset); + margin-left: -55px; } diff --git a/devtools/client/debugger/src/components/shared/Popover.js b/devtools/client/debugger/src/components/shared/Popover.js index 4d0fe2f0bc0d..b908a311808a 100644 --- a/devtools/client/debugger/src/components/shared/Popover.js +++ b/devtools/client/debugger/src/components/shared/Popover.js @@ -70,7 +70,7 @@ class Popover extends Component { const estimatedRight = estimatedLeft + popover.width; const isOverflowingRight = estimatedRight > editor.right; if (orientation === "right") { - return target.left + target.width; + return target.left + target.width + 5; } if (isOverflowingRight) { const adjustedLeft = editor.right - popover.width - 8; @@ -211,14 +211,13 @@ class Popover extends Component { } getPopoverArrow(orientation: Orientation, left: number, top: number) { - let arrowProps = {}; - + const arrowProps = {}; if (orientation === "up") { - arrowProps = { orientation: "down", bottom: 10, left }; + Object.assign(arrowProps, { orientation: "down", bottom: 5, left }); } else if (orientation === "down") { - arrowProps = { orientation: "up", top: -2, left }; + Object.assign(arrowProps, { orientation: "up", top: -7, left }); } else { - arrowProps = { orientation: "left", top, left: -4 }; + Object.assign(arrowProps, { orientation: "left", top, left: -9 }); } return ; From 6c96368373819331e788d070b6c5b2bf862ee4cc Mon Sep 17 00:00:00 2001 From: Matt Howell Date: Tue, 28 May 2019 20:52:23 +0000 Subject: [PATCH 61/80] Bug 1554141 - Use installs.ini to find per-install profiles. r=agashlin This should be more reliable than exclusively using profiles.ini, which doesn't always get rewritten to include path hashes for the per-install profiles. Differential Revision: https://phabricator.services.mozilla.com/D32884 --HG-- extra : moz-landing-system : lando --- browser/installer/windows/nsis/stub.nsi | 79 ++++++++++++++----------- 1 file changed, 44 insertions(+), 35 deletions(-) diff --git a/browser/installer/windows/nsis/stub.nsi b/browser/installer/windows/nsis/stub.nsi index 2af57505c491..6afece2e0926 100644 --- a/browser/installer/windows/nsis/stub.nsi +++ b/browser/installer/windows/nsis/stub.nsi @@ -1922,47 +1922,56 @@ Function ShouldPromptForProfileCleanup SetShellVarContext current StrCpy $R0 "" - ${If} ${FileExists} "$APPDATA\Mozilla\Firefox\profiles.ini" - ; See if there's an installation-specific profile for our INSTDIR. + ; First look for an install-specific profile, which might be listed as + ; either a relative or an absolute path (installs.ini doesn't say which). + ${If} ${FileExists} "$APPDATA\Mozilla\Firefox\installs.ini" ClearErrors - ReadINIStr $1 "$APPDATA\Mozilla\Firefox\profiles.ini" "Install$AppUserModelID" "Default" + ReadINIStr $1 "$APPDATA\Mozilla\Firefox\installs.ini" "$AppUserModelID" "Default" ${IfNot} ${Errors} - ; We found an installation-specific profile, let's use that one. - ; These don't set IsRelative but they're always relative paths. - StrCpy $R0 "$APPDATA\Mozilla\Firefox\$1" - ${Else} - ; We don't have an install-specific profile, so look for an old-style - ; default profile instead by checking each numbered Profile section. - StrCpy $0 0 - ${Do} - ClearErrors - ; Check if the section exists by reading a value that must be present. - ReadINIStr $1 "$APPDATA\Mozilla\Firefox\profiles.ini" "Profile$0" "Path" - ${If} ${Errors} - ; We've run out of profile sections. - ${Break} + ${GetLongPath} "$APPDATA\Mozilla\Firefox\$1" $2 + ${If} ${FileExists} $2 + StrCpy $R0 $2 + ${Else} + ${GetLongPath} "$1" $2 + ${If} ${FileExists} $2 + StrCpy $R0 $2 ${EndIf} - - ClearErrors - ReadINIStr $1 "$APPDATA\Mozilla\Firefox\profiles.ini" "Profile$0" "Default" - ${IfNot} ${Errors} - ${AndIf} $1 == "1" - ; We've found the default profile - ReadINIStr $1 "$APPDATA\Mozilla\Firefox\profiles.ini" "Profile$0" "Path" - ReadINIStr $2 "$APPDATA\Mozilla\Firefox\profiles.ini" "Profile$0" "IsRelative" - ${If} $2 == "1" - StrCpy $R0 "$APPDATA\Mozilla\Firefox\$1" - ${Else} - StrCpy $R0 "$1" - ${EndIf} - ${Break} - ${EndIf} - - IntOp $0 $0 + 1 - ${Loop} + ${EndIf} ${EndIf} ${EndIf} + ${If} $R0 == "" + ; We don't have an install-specific profile, so look for an old-style + ; default profile instead by checking each numbered Profile section. + StrCpy $0 0 + ${Do} + ClearErrors + ; Check if the section exists by reading a value that must be present. + ReadINIStr $1 "$APPDATA\Mozilla\Firefox\profiles.ini" "Profile$0" "Path" + ${If} ${Errors} + ; We've run out of profile sections. + ${Break} + ${EndIf} + + ClearErrors + ReadINIStr $1 "$APPDATA\Mozilla\Firefox\profiles.ini" "Profile$0" "Default" + ${IfNot} ${Errors} + ${AndIf} $1 == "1" + ; We've found the default profile + ReadINIStr $1 "$APPDATA\Mozilla\Firefox\profiles.ini" "Profile$0" "Path" + ReadINIStr $2 "$APPDATA\Mozilla\Firefox\profiles.ini" "Profile$0" "IsRelative" + ${If} $2 == "1" + StrCpy $R0 "$APPDATA\Mozilla\Firefox\$1" + ${Else} + StrCpy $R0 "$1" + ${EndIf} + ${Break} + ${EndIf} + + IntOp $0 $0 + 1 + ${Loop} + ${EndIf} + GetFullPathName $R0 $R0 ${If} $R0 == "" From 6c8ee33407492a47a14a7c73fc4ffb0b6a97cad9 Mon Sep 17 00:00:00 2001 From: jaril Date: Tue, 28 May 2019 21:25:23 +0000 Subject: [PATCH 62/80] Bug 1553668 - Preview should always show the most recent request. Differential Revision: https://phabricator.services.mozilla.com/D32771 --HG-- extra : moz-landing-system : lando --- devtools/client/debugger/jest-test.config.js | 2 +- .../client/debugger/src/actions/preview.js | 8 + .../tests/__snapshots__/preview.spec.js.snap | 3 + .../src/actions/tests/preview.spec.js | 194 ++++++++++++++++++ .../src/actions/types/PreviewAction.js | 3 + .../client/debugger/src/reducers/preview.js | 10 + .../client/debugger/src/utils/test-head.js | 10 + 7 files changed, 229 insertions(+), 1 deletion(-) create mode 100644 devtools/client/debugger/src/actions/tests/__snapshots__/preview.spec.js.snap create mode 100644 devtools/client/debugger/src/actions/tests/preview.spec.js diff --git a/devtools/client/debugger/jest-test.config.js b/devtools/client/debugger/jest-test.config.js index 87dcc7942a75..2e5be72c1ce6 100644 --- a/devtools/client/debugger/jest-test.config.js +++ b/devtools/client/debugger/jest-test.config.js @@ -17,7 +17,7 @@ module.exports = { "package.json", "/packages", ], - modulePathIgnorePatterns: ["test/mochitest", "firefox"], + modulePathIgnorePatterns: ["test/mochitest", "firefox/"], collectCoverageFrom: [ "src/**/*.js", "!src/**/fixtures/*.js", diff --git a/devtools/client/debugger/src/actions/preview.js b/devtools/client/debugger/src/actions/preview.js index 2e66b3826d28..51d845ce2d19 100644 --- a/devtools/client/debugger/src/actions/preview.js +++ b/devtools/client/debugger/src/actions/preview.js @@ -18,6 +18,7 @@ import { getSelectedFrame, getSymbols, getCurrentThread, + getPreviewCount, } from "../selectors"; import { getMappedExpression } from "./expressions"; @@ -83,6 +84,8 @@ export function setPreview( target: HTMLElement ) { return async ({ dispatch, getState, client, sourceMaps }: ThunkArgs) => { + dispatch({ type: "START_PREVIEW" }); + const previewCount = getPreviewCount(getState()); if (getPreview(getState())) { dispatch(clearPreview(cx)); } @@ -139,6 +142,11 @@ export function setPreview( return; } + // Don't finish dispatching if another setPreview was started + if (previewCount != getPreviewCount(getState())) { + return; + } + dispatch({ type: "SET_PREVIEW", cx, diff --git a/devtools/client/debugger/src/actions/tests/__snapshots__/preview.spec.js.snap b/devtools/client/debugger/src/actions/tests/__snapshots__/preview.spec.js.snap new file mode 100644 index 000000000000..026bfe4a8958 --- /dev/null +++ b/devtools/client/debugger/src/actions/tests/__snapshots__/preview.spec.js.snap @@ -0,0 +1,3 @@ +// Jest Snapshot v1, https://goo.gl/fbAQLP + +exports[`preview should generate previews 1`] = `null`; diff --git a/devtools/client/debugger/src/actions/tests/preview.spec.js b/devtools/client/debugger/src/actions/tests/preview.spec.js new file mode 100644 index 000000000000..6d22c004a21f --- /dev/null +++ b/devtools/client/debugger/src/actions/tests/preview.spec.js @@ -0,0 +1,194 @@ +/* eslint max-nested-callbacks: ["error", 6] */ +/* 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 . */ + +// @flow + +import { + createStore, + selectors, + actions, + makeSource, + makeFrame, + waitForState, + waitATick, +} from "../../utils/test-head"; +import defer from "../../utils/defer.js"; + +function waitForPreview(store, expression) { + return waitForState(store, state => { + const preview = selectors.getPreview(state); + return preview && preview.expression == expression; + }); +} + +function mockThreadClient(overrides) { + return { + evaluateInFrame: async () => ({ result: {} }), + getFrameScopes: async () => {}, + sourceContents: async () => ({ + source: "", + contentType: "text/javascript", + }), + getBreakpointPositions: async () => ({}), + getBreakableLines: async () => [], + evaluateExpressions: async () => [], + loadObjectProperties: async () => ({}), + ...overrides, + }; +} + +function dispatchSetPreview(dispatch, context, expression, target) { + return dispatch( + actions.setPreview( + context, + expression, + { + start: { url: "foo.js", line: 1, column: 2 }, + end: { url: "foo.js", line: 1, column: 5 }, + }, + { line: 2, column: 3 }, + target.getBoundingClientRect(), + target + ) + ); +} + +async function pause({ dispatch, cx }) { + const base = await dispatch( + actions.newGeneratedSource(makeSource("base.js")) + ); + + await dispatch(actions.selectSource(cx, base.id)); + const frames = [makeFrame({ id: "frame1", sourceId: base.id })]; + + await dispatch( + actions.paused({ + thread: "FakeThread", + frame: frames[0], + frames, + loadedObjects: [], + why: { type: "debuggerStatement" }, + }) + ); +} + +describe("preview", () => { + it("should generate previews", async () => { + const store = createStore(mockThreadClient()); + const { dispatch, getState, cx } = store; + const base = await dispatch( + actions.newGeneratedSource(makeSource("base.js")) + ); + + await dispatch(actions.selectSource(cx, base.id)); + const frames = [makeFrame({ id: "f1", sourceId: base.id })]; + + await dispatch( + actions.paused({ + thread: "FakeThread", + frame: frames[0], + frames, + loadedObjects: [], + why: { type: "debuggerStatement" }, + }) + ); + + const newCx = selectors.getContext(getState()); + const firstTarget = document.createElement("div"); + + dispatchSetPreview(dispatch, newCx, "foo", firstTarget); + + expect(selectors.getPreview(getState())).toMatchSnapshot(); + }); + + // When a 2nd setPreview is called before a 1st setPreview dispatches + // and the 2nd setPreview has not dispatched yet, + // the first setPreview should not finish dispatching + it("queued previews (w/ the 1st finishing first)", async () => { + const firstSetPreview = defer(); + const secondSetPreview = defer(); + const promises = [firstSetPreview, secondSetPreview]; + + const store = createStore( + mockThreadClient({ + loadObjectProperties: () => promises.shift().promise, + }) + ); + + const { dispatch, getState } = store; + await pause(store); + + const newCx = selectors.getContext(getState()); + const firstTarget = document.createElement("div"); + const secondTarget = document.createElement("div"); + + // Start the dispatch of the first setPreview. At this point, it will not + // finish execution until we resolve the firstSetPreview + dispatchSetPreview(dispatch, newCx, "firstSetPreview", firstTarget); + + // Start the dispatch of the second setPreview. At this point, it will not + // finish execution until we resolve the secondSetPreview + dispatchSetPreview(dispatch, newCx, "secondSetPreview", secondTarget); + + let fail = false; + + firstSetPreview.resolve(); + waitForPreview(store, "firstSetPreview").then(() => { + fail = true; + }); + + secondSetPreview.resolve(); + await waitForPreview(store, "secondSetPreview"); + expect(fail).toEqual(false); + + const preview = selectors.getPreview(getState()); + expect(preview && preview.expression).toEqual("secondSetPreview"); + }); + + // When a 2nd setPreview is called before a 1st setPreview dispatches + // and the 2nd setPreview has dispatched, + // the first setPreview should not finish dispatching + it("queued previews (w/ the 2nd finishing first)", async () => { + const firstSetPreview = defer(); + const secondSetPreview = defer(); + const promises = [firstSetPreview, secondSetPreview]; + + const store = createStore( + mockThreadClient({ + loadObjectProperties: () => promises.shift().promise, + }) + ); + + const { dispatch, getState } = store; + await pause(store); + + const newCx = selectors.getContext(getState()); + const firstTarget = document.createElement("div"); + const secondTarget = document.createElement("div"); + + // Start the dispatch of the first setPreview. At this point, it will not + // finish execution until we resolve the firstSetPreview + dispatchSetPreview(dispatch, newCx, "firstSetPreview", firstTarget); + + // Start the dispatch of the second setPreview. At this point, it will not + // finish execution until we resolve the secondSetPreview + dispatchSetPreview(dispatch, newCx, "secondSetPreview", secondTarget); + + let fail = false; + + secondSetPreview.resolve(); + await waitForPreview(store, "secondSetPreview"); + + firstSetPreview.resolve(); + waitForPreview(store, "firstSetPreview").then(() => { + fail = true; + }); + + await waitATick(() => expect(fail).toEqual(false)); + + const preview = selectors.getPreview(getState()); + expect(preview && preview.expression).toEqual("secondSetPreview"); + }); +}); diff --git a/devtools/client/debugger/src/actions/types/PreviewAction.js b/devtools/client/debugger/src/actions/types/PreviewAction.js index 99c2af2cf3ee..7b59897a150d 100644 --- a/devtools/client/debugger/src/actions/types/PreviewAction.js +++ b/devtools/client/debugger/src/actions/types/PreviewAction.js @@ -16,4 +16,7 @@ export type PreviewAction = | {| +type: "CLEAR_PREVIEW", +cx: Context, + |} + | {| + +type: "START_PREVIEW", |}; diff --git a/devtools/client/debugger/src/reducers/preview.js b/devtools/client/debugger/src/reducers/preview.js index 067ed9dc6ae5..74f11bae82c9 100644 --- a/devtools/client/debugger/src/reducers/preview.js +++ b/devtools/client/debugger/src/reducers/preview.js @@ -22,11 +22,13 @@ export type Preview = {| export type PreviewState = { +preview: ?Preview, + previewCount: number, }; export function initialPreviewState(): PreviewState { return { preview: null, + previewCount: 0, }; } @@ -39,6 +41,10 @@ function update( return { ...state, preview: null }; } + case "START_PREVIEW": { + return { ...state, previewCount: state.previewCount + 1 }; + } + case "SET_PREVIEW": { return { ...state, preview: action.value }; } @@ -55,4 +61,8 @@ export function getPreview(state: OuterState) { return state.preview.preview; } +export function getPreviewCount(state: OuterState) { + return state.preview.previewCount; +} + export default update; diff --git a/devtools/client/debugger/src/utils/test-head.js b/devtools/client/debugger/src/utils/test-head.js index a5e088faf6e8..9f2ef476e16c 100644 --- a/devtools/client/debugger/src/utils/test-head.js +++ b/devtools/client/debugger/src/utils/test-head.js @@ -257,6 +257,15 @@ function getTelemetryEvents(eventName: string) { return window.dbg._telemetry.events[eventName] || []; } +function waitATick(callback: Function): Promise<*> { + return new Promise(resolve => { + setTimeout(() => { + callback(); + resolve(); + }); + }); +} + export { actions, selectors, @@ -275,4 +284,5 @@ export { waitForState, watchForState, getHistory, + waitATick, }; From f7738c91deffdb5c744fbacc1b171290fa55e6b6 Mon Sep 17 00:00:00 2001 From: Geoff Brown Date: Tue, 28 May 2019 21:37:42 +0000 Subject: [PATCH 63/80] Bug 1555141 - Simplify process management in android mozrunner; r=jmaher There is no real need to use mozprocess from this code, so switched to subprocess. Differential Revision: https://phabricator.services.mozilla.com/D32897 --HG-- extra : moz-landing-system : lando --- .../mozrunner/devices/android_device.py | 50 ++++++++----------- 1 file changed, 20 insertions(+), 30 deletions(-) diff --git a/testing/mozbase/mozrunner/mozrunner/devices/android_device.py b/testing/mozbase/mozrunner/mozrunner/devices/android_device.py index 3d049f20f1a8..04ea4b9d4ba1 100644 --- a/testing/mozbase/mozrunner/mozrunner/devices/android_device.py +++ b/testing/mozbase/mozrunner/mozrunner/devices/android_device.py @@ -20,7 +20,6 @@ from distutils.spawn import find_executable import psutil import six.moves.urllib as urllib from mozdevice import ADBHost, ADBDevice -from mozprocess import ProcessHandler from six.moves.urllib.parse import urlparse EMULATOR_HOME_DIR = os.path.join(os.path.expanduser('~'), '.mozbuild', 'android-device') @@ -500,11 +499,6 @@ class AndroidEmulator(object): auth_file = open(EMULATOR_AUTH_FILE, 'w') auth_file.close() - def outputHandler(line): - self.emulator_log.write("<%s>\n" % line) - if "Invalid value for -gpu" in line or "Invalid GPU mode" in line: - self.gpu = False - env = os.environ env['ANDROID_AVD_HOME'] = os.path.join(EMULATOR_HOME_DIR, "avd") command = [self.emulator_path, "-avd", self.avd_info.name] @@ -517,17 +511,14 @@ class AndroidEmulator(object): self.avd_info.extra_args.remove('-enable-kvm') command += self.avd_info.extra_args log_path = os.path.join(EMULATOR_HOME_DIR, 'emulator.log') - self.emulator_log = open(log_path, 'w') + self.emulator_log = open(log_path, 'w+') _log_debug("Starting the emulator with this command: %s" % ' '.join(command)) _log_debug("Emulator output will be written to '%s'" % log_path) - self.proc = ProcessHandler( - command, storeOutput=False, processOutputLine=outputHandler, - stdin=subprocess.PIPE, env=env, ignore_children=True) - self.proc.run() - _log_debug("Emulator started with pid %d" % - int(self.proc.proc.pid)) + self.proc = subprocess.Popen(command, env=env, stdin=subprocess.PIPE, + stdout=self.emulator_log, stderr=self.emulator_log) + _log_debug("Emulator started with pid %d" % int(self.proc.pid)) def wait_for_start(self): """ @@ -581,7 +572,16 @@ class AndroidEmulator(object): return True def check_completed(self): - if self.proc.proc.poll() is not None: + if self.proc.poll() is not None: + if self.gpu: + try: + for line in self.emulator_log.readlines(): + if "Invalid value for -gpu" in line or "Invalid GPU mode" in line: + self.gpu = False + break + except Exception as e: + _log_warning(str(e)) + if not self.gpu and not self.restarted: _log_warning("Emulator failed to start. Your emulator may be out of date.") _log_warning("Trying to restart the emulator without -gpu argument.") @@ -671,7 +671,7 @@ class AndroidEmulator(object): tn.close() if not telnet_ok: time.sleep(10) - if self.proc.proc.poll() is not None: + if self.proc.poll() is not None: _log_warning("Emulator has already completed!") return False return telnet_ok @@ -820,21 +820,14 @@ def _get_tooltool_manifest(substs, src_path, dst_path, filename): def _tooltool_fetch(): - def outputHandler(line): - _log_debug(line) - tooltool_full_path = os.path.abspath(TOOLTOOL_PATH) command = [sys.executable, tooltool_full_path, 'fetch', '-o', '-m', 'releng.manifest'] - proc = ProcessHandler( - command, processOutputLine=outputHandler, storeOutput=False, - cwd=EMULATOR_HOME_DIR) - proc.run() try: - proc.wait() - except Exception: - if proc.poll() is None: - proc.kill(signal.SIGTERM) + response = subprocess.check_output(command, cwd=EMULATOR_HOME_DIR) + _log_debug(response) + except Exception as e: + _log_warning(str(e)) def _get_host_platform(): @@ -904,10 +897,7 @@ def _verify_kvm(substs): emulator_path = 'emulator' command = [emulator_path, '-accel-check'] try: - p = ProcessHandler(command, storeOutput=True) - p.run() - p.wait() - out = p.output + out = subprocess.check_output(command) if 'is installed and usable' in ''.join(out): return except Exception as e: From 9a4862fe5e5f40be0641f1ee953a4aaa11223276 Mon Sep 17 00:00:00 2001 From: Alexander Surkov Date: Tue, 28 May 2019 22:00:16 +0000 Subject: [PATCH 64/80] Bug 1519514 - convert tab binding to a Custom Element, r=bgrins Differential Revision: https://phabricator.services.mozilla.com/D26600 --HG-- extra : moz-landing-system : lando --- toolkit/content/widgets/tabbox.js | 160 +++++++++++++++++++++++++++++ toolkit/content/widgets/tabbox.xml | 135 ------------------------ toolkit/content/xul.css | 1 - 3 files changed, 160 insertions(+), 136 deletions(-) diff --git a/toolkit/content/widgets/tabbox.js b/toolkit/content/widgets/tabbox.js index d1ea8046015c..4956204021ce 100644 --- a/toolkit/content/widgets/tabbox.js +++ b/toolkit/content/widgets/tabbox.js @@ -250,4 +250,164 @@ class MozTabpanels extends MozXULElement { MozXULElement.implementCustomInterface(MozTabpanels, [Ci.nsIDOMXULRelatedElement]); customElements.define("tabpanels", MozTabpanels); + +MozElements.MozTab = class MozTab extends MozElements.BaseText { + constructor() { + super(); + + this.addEventListener("mousedown", (event) => { + if (event.button != 0 || this.disabled) { + return; + } + + this.parentNode.ariaFocusedItem = null; + + if (this != this.parentNode.selectedItem) { // Not selected yet + let stopwatchid = this.parentNode.getAttribute("stopwatchid"); + if (stopwatchid) { + TelemetryStopwatch.start(stopwatchid); + } + + // Call this before setting the 'ignorefocus' attribute because this + // will pass on focus if the formerly selected tab was focused as well. + this.parentNode._selectNewTab(this); + + var isTabFocused = false; + try { + isTabFocused = (document.commandDispatcher.focusedElement == this); + } catch (e) {} + + // Set '-moz-user-focus' to 'ignore' so that PostHandleEvent() can't + // focus the tab; we only want tabs to be focusable by the mouse if + // they are already focused. After a short timeout we'll reset + // '-moz-user-focus' so that tabs can be focused by keyboard again. + if (!isTabFocused) { + this.setAttribute("ignorefocus", "true"); + setTimeout(tab => tab.removeAttribute("ignorefocus"), 0, this); + } + + if (stopwatchid) { + TelemetryStopwatch.finish(stopwatchid); + } + } + // Otherwise this tab is already selected and we will fall + // through to mousedown behavior which sets focus on the current tab, + // Only a click on an already selected tab should focus the tab itself. + }); + + this.addEventListener("keydown", (event) => { + if (event.ctrlKey || event.altKey || event.metaKey || event.shiftKey) { + return; + } + switch (event.keyCode) { + case KeyEvent.DOM_VK_LEFT: { + let direction = window.getComputedStyle(this.parentNode).direction; + this.parentNode.advanceSelectedTab(direction == "ltr" ? -1 : 1, + this.arrowKeysShouldWrap); + event.preventDefault(); + } break; + + case KeyEvent.DOM_VK_RIGHT: { + let direction = window.getComputedStyle(this.parentNode).direction; + this.parentNode.advanceSelectedTab(direction == "ltr" ? 1 : -1, + this.arrowKeysShouldWrap); + event.preventDefault(); + } break; + + case KeyEvent.DOM_VK_UP: + this.parentNode.advanceSelectedTab(-1, this.arrowKeysShouldWrap); + event.preventDefault(); + break; + + case KeyEvent.DOM_VK_DOWN: + this.parentNode.advanceSelectedTab(1, this.arrowKeysShouldWrap); + event.preventDefault(); + break; + + case KeyEvent.DOM_VK_HOME: + this.parentNode._selectNewTab(this.parentNode.children[0]); + event.preventDefault(); + break; + + case KeyEvent.DOM_VK_END: + let tabs = this.parentNode.children; + this.parentNode._selectNewTab(tabs[tabs.length - 1], -1); + event.preventDefault(); + break; + } + }); + + this.arrowKeysShouldWrap = /Mac/.test(navigator.platform); + } + + static get inheritedAttributes() { + return { + ".tab-middle": "align,dir,pack,orient,selected,visuallyselected", + ".tab-icon": "validate,src=image", + ".tab-text": "value=label,accesskey,crop,disabled", + }; + } + + get fragment() { + if (!this._fragment) { + this._fragment = MozXULElement.parseXULToFragment(` + + + + + `); + } + return this.ownerDocument.importNode(this._fragment, true); + } + + connectedCallback() { + if (!this._initialized) { + this.textContent = ""; + this.appendChild(this.fragment); + this.initializeAttributeInheritance(); + this._initialized = true; + } + } + + set value(val) { + this.setAttribute("value", val); + return val; + } + + get value() { + return this.getAttribute("value"); + } + + get control() { + var parent = this.parentNode; + return (parent.localName == "tabs") ? parent : null; + } + + get selected() { + return this.getAttribute("selected") == "true"; + } + + set _selected(val) { + if (val) { + this.setAttribute("selected", "true"); + this.setAttribute("visuallyselected", "true"); + } else { + this.removeAttribute("selected"); + this.removeAttribute("visuallyselected"); + } + + return val; + } + + set linkedPanel(val) { + this.setAttribute("linkedpanel", val); + } + + get linkedPanel() { + return this.getAttribute("linkedpanel"); + } +}; + +MozXULElement.implementCustomInterface(MozElements.MozTab, [Ci.nsIDOMXULSelectControlItemElement]); +customElements.define("tab", MozElements.MozTab); } diff --git a/toolkit/content/widgets/tabbox.xml b/toolkit/content/widgets/tabbox.xml index ffa3d0e23011..015ddacf1439 100644 --- a/toolkit/content/widgets/tabbox.xml +++ b/toolkit/content/widgets/tabbox.xml @@ -374,139 +374,4 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - /Mac/.test(navigator.platform) - - - - - - tab.removeAttribute("ignorefocus"), 0, this); - } - - if (stopwatchid) { - TelemetryStopwatch.finish(stopwatchid); - } - } - // Otherwise this tab is already selected and we will fall - // through to mousedown behavior which sets focus on the current tab, - // Only a click on an already selected tab should focus the tab itself. - ]]> - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/toolkit/content/xul.css b/toolkit/content/xul.css index 6c3e8b1414d9..6ac017cdcf0e 100644 --- a/toolkit/content/xul.css +++ b/toolkit/content/xul.css @@ -411,7 +411,6 @@ tabs { } tab { - -moz-binding: url("chrome://global/content/bindings/tabbox.xml#tab"); -moz-box-align: center; -moz-box-pack: center; } From 0d427d43606080f53799792204d77eb5508478bd Mon Sep 17 00:00:00 2001 From: Alexander Surkov Date: Tue, 28 May 2019 22:00:18 +0000 Subject: [PATCH 65/80] Bug 1519514 - hg copy tabbrowser.xml to tabbrowser-tabs.js to preserve history for tab binding conversion to a Custom Element, r=bgrins Differential Revision: https://phabricator.services.mozilla.com/D26601 --HG-- rename : browser/base/content/tabbrowser.xml => browser/base/content/tabbrowser-tab.js extra : moz-landing-system : lando --- browser/base/content/tabbrowser-tab.js | 574 +++++++++++++++++++++++++ 1 file changed, 574 insertions(+) create mode 100644 browser/base/content/tabbrowser-tab.js diff --git a/browser/base/content/tabbrowser-tab.js b/browser/base/content/tabbrowser-tab.js new file mode 100644 index 000000000000..b58c6629b2b7 --- /dev/null +++ b/browser/base/content/tabbrowser-tab.js @@ -0,0 +1,574 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + false + + + + return this.getAttribute("pinned") == "true"; + + + + + return this.getAttribute("hidden") == "true"; + + + + + return this.getAttribute("muted") == "true"; + + + + + return this.getAttribute("multiselected") == "true"; + + + + + return this.getAttribute("before-multiselected") == "true"; + + + + undefined + + + + return this.hasAttribute("usercontextid") + ? parseInt(this.getAttribute("usercontextid")) + : 0; + + + + + + return this.getAttribute("soundplaying") == "true"; + + + + + + return this.getAttribute("pictureinpicture") == "true"; + + + + + + return this.getAttribute("activemedia-blocked") == "true"; + + + + + + // Determines if a tab is "empty", usually used in the context of determining + // if it's ok to close the tab. + if (this.hasAttribute("busy")) + return false; + + if (this.hasAttribute("customizemode")) + return false; + + let browser = this.linkedBrowser; + if (!isBlankPageURL(browser.currentURI.spec)) + return false; + + if (!checkEmptyPageOrigin(browser)) + return false; + + if (browser.canGoForward || browser.canGoBack) + return false; + + return true; + + + + + + return this._lastAccessed == Infinity ? Date.now() : this._lastAccessed; + + + + + + + + false + + + + null + + + + + + + + + + + + + + + + + { + if (TelemetryStopwatch.running("HOVER_UNTIL_UNSELECTED_TAB_OPENED", this)) { + TelemetryStopwatch.cancel("HOVER_UNTIL_UNSELECTED_TAB_OPENED", this); + } + }, 100); + ]]> + + + + + + + + + + + + + + + + + + + + + + + + + + + this.style.MozUserFocus = ""; + + + + + + + + + // Make sure that clear-selection is released. + // Otherwise selection using Shift key may be broken. + gBrowser.unlockClearMultiSelection(); + + this.style.MozUserFocus = ""; + + + 0 && + !event.originalTarget.classList.contains("tab-close-button") && + !event.originalTarget.classList.contains("tab-icon-sound") && + !event.originalTarget.classList.contains("tab-icon-overlay")) { + // Tabs were previously multi-selected and user clicks on a tab + // without holding Ctrl/Cmd Key + + // Force positional attributes to update when the + // target (of the click) is the "active" tab. + let updatePositionalAttr = gBrowser.selectedTab == this; + + gBrowser.clearMultiSelectedTabs(updatePositionalAttr); + } + + if (event.originalTarget.classList.contains("tab-icon-sound") || + (event.originalTarget.classList.contains("tab-icon-overlay") && + (event.originalTarget.hasAttribute("soundplaying") || + event.originalTarget.hasAttribute("muted") || + event.originalTarget.hasAttribute("activemedia-blocked")))) { + if (this.multiselected) { + gBrowser.toggleMuteAudioOnMultiSelectedTabs(this); + } else { + this.toggleMuteAudio(); + } + return; + } + + if (event.originalTarget.getAttribute("anonid") == "close-button") { + if (this.multiselected) { + gBrowser.removeMultiSelectedTabs(); + } else { + gBrowser.removeTab(this, { + animate: true, + byMouse: event.mozInputSource == MouseEvent.MOZ_SOURCE_MOUSE, + }); + } + // This enables double-click protection for the tab container + // (see tabbrowser-tabs 'click' handler). + gBrowser.tabContainer._blockDblClick = true; + } + ]]> + + + + + + + + From 0f1bc68db89107daf796f100130e6fec509688b6 Mon Sep 17 00:00:00 2001 From: Alexander Surkov Date: Tue, 28 May 2019 22:00:28 +0000 Subject: [PATCH 66/80] Bug 1519514 - convert tabbrowser-tab binding to a Custom Element, r=aswan Differential Revision: https://phabricator.services.mozilla.com/D28662 --HG-- extra : moz-landing-system : lando --- browser/base/content/browser-siteIdentity.js | 2 +- browser/base/content/browser.css | 4 - browser/base/content/browser.xul | 3 +- browser/base/content/tabbrowser-tab.js | 1112 ++++++++--------- browser/base/content/tabbrowser.js | 15 +- browser/base/content/tabbrowser.xml | 588 +-------- .../test/favicons/browser_title_flicker.js | 4 +- .../browser_beforeunload_duplicate_dialogs.js | 6 +- .../test/general/browser_double_close_tab.js | 4 +- .../browser_tabs_close_beforeunload.js | 2 +- .../test/performance/browser_tabopen.js | 4 +- .../content/test/tabs/browser_audioTabIcon.js | 20 +- .../tabs/browser_multiselect_tabs_close.js | 4 +- .../browser_multiselect_tabs_mute_unmute.js | 8 +- .../test/tabs/browser_tabCloseSpacer.js | 2 +- .../browser_devices_get_user_media_anim.js | 3 +- browser/base/jar.mn | 1 + .../components/extensions/parent/ext-menus.js | 7 +- browser/components/uitour/UITour.jsm | 4 +- .../firefox_puppeteer/ui/browser/tabbar.py | 2 +- .../browser/browser_ext_themes_tab_line.js | 2 +- .../browser/browser_ext_themes_tab_loading.js | 2 +- .../browser_ext_themes_tab_selected.js | 4 +- .../reader/test/browser_readerMode.js | 2 +- .../browser_block_silentAudioTrack_media.js | 2 +- .../tests/browser/browser_mute_plugIn.js | 2 +- .../tests/browser/browser_mute_webAudio.js | 2 +- 27 files changed, 613 insertions(+), 1198 deletions(-) diff --git a/browser/base/content/browser-siteIdentity.js b/browser/base/content/browser-siteIdentity.js index cbff499b9685..be9b71e6da85 100644 --- a/browser/base/content/browser-siteIdentity.js +++ b/browser/base/content/browser-siteIdentity.js @@ -977,7 +977,7 @@ var gIdentityHandler = { let ctx = canvas.getContext("2d"); ctx.font = `${14 * scale}px sans-serif`; ctx.fillText(`${value}`, 20 * scale, 14 * scale); - let tabIcon = document.getAnonymousElementByAttribute(gBrowser.selectedTab, "anonid", "tab-icon-image"); + let tabIcon = gBrowser.selectedTab.iconImage; let image = new Image(); image.src = tabIcon.src; ctx.drawImage(image, 0, 0, 16 * scale, 16 * scale); diff --git a/browser/base/content/browser.css b/browser/base/content/browser.css index 3fa715f8696f..8dd343eea717 100644 --- a/browser/base/content/browser.css +++ b/browser/base/content/browser.css @@ -158,10 +158,6 @@ panelview[mainview] > .panel-header { visibility: hidden; /* temporary space to keep a tab's close button under the cursor */ } -.tabbrowser-tab { - -moz-binding: url("chrome://browser/content/tabbrowser.xml#tabbrowser-tab"); -} - .tabbrowser-tab:not([pinned]) { -moz-box-flex: 100; max-width: 225px; diff --git a/browser/base/content/browser.xul b/browser/base/content/browser.xul index 54bb31b69582..890c0311e039 100644 --- a/browser/base/content/browser.xul +++ b/browser/base/content/browser.xul @@ -96,6 +96,7 @@ Services.scriptloader.loadSubScript("chrome://browser/content/browser-sidebar.js", this); Services.scriptloader.loadSubScript("chrome://browser/content/browser-tabsintitlebar.js", this); Services.scriptloader.loadSubScript("chrome://browser/content/tabbrowser.js", this); + Services.scriptloader.loadSubScript("chrome://browser/content/tabbrowser-tab.js", this); Services.scriptloader.loadSubScript("chrome://browser/content/search/autocomplete-popup.js", this); Services.scriptloader.loadSubScript("chrome://browser/content/search/searchbar.js", this); @@ -728,7 +729,7 @@ setfocus="false" tooltip="tabbrowser-tab-tooltip" stopwatchid="FX_TAB_CLICK_MS"> - + - - - - - - - - - - - - - - - - - - - - - - - +/* 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"; - - - { + if (event.originalTarget.classList.contains("tab-close-button")) { + this.mOverCloseButton = true; + } + this._mouseenter(); + }); + + this.addEventListener("mouseout", (event) => { + if (event.originalTarget.classList.contains("tab-close-button")) { + this.mOverCloseButton = false; + } + this._mouseleave(); + }); + + this.addEventListener("dragstart", (event) => { + this.style.MozUserFocus = ""; + }, true); + + this.addEventListener("dragstart", (event) => { + if (this.mOverCloseButton) { + event.stopPropagation(); + } + }); + + this.addEventListener("mousedown", (event) => { + let tabContainer = this.parentNode; + + if (tabContainer._closeTabByDblclick && + event.button == 0 && + event.detail == 1) { + this._selectedOnFirstMouseDown = this.selected; + } + + if (this.selected) { + this.style.MozUserFocus = "ignore"; + } else if (event.originalTarget.classList.contains("tab-close-button") || + event.originalTarget.classList.contains("tab-icon-sound") || + event.originalTarget.classList.contains("tab-icon-overlay")) { + // Prevent tabbox.xml from selecting the tab. + event.stopPropagation(); + } + + if (event.button == 1) { + gBrowser.warmupTab(gBrowser._findTabToBlurTo(this)); + } + + if (event.button == 0 && tabContainer._multiselectEnabled) { + let shiftKey = event.shiftKey; + let accelKey = event.getModifierState("Accel"); + if (shiftKey) { + const lastSelectedTab = gBrowser.lastMultiSelectedTab; + if (!accelKey) { + gBrowser.selectedTab = lastSelectedTab; + + // Make sure selection is cleared when tab-switch doesn't happen. + gBrowser.clearMultiSelectedTabs(false); } + gBrowser.addRangeToMultiSelectedTabs(lastSelectedTab, this); - if (val) { - this.setAttribute("visuallyselected", "true"); - } else { - this.removeAttribute("visuallyselected"); - } - gBrowser._tabAttrModified(this, ["visuallyselected"]); - - return val; - ]]> - - - - - - - - - false - - - - return this.getAttribute("pinned") == "true"; - - - - - return this.getAttribute("hidden") == "true"; - - - - - return this.getAttribute("muted") == "true"; - - - - - return this.getAttribute("multiselected") == "true"; - - - - - return this.getAttribute("before-multiselected") == "true"; - - - - undefined - - - - return this.hasAttribute("usercontextid") - ? parseInt(this.getAttribute("usercontextid")) - : 0; - - - - - - return this.getAttribute("soundplaying") == "true"; - - - - - - return this.getAttribute("pictureinpicture") == "true"; - - - - - - return this.getAttribute("activemedia-blocked") == "true"; - - - - - - // Determines if a tab is "empty", usually used in the context of determining - // if it's ok to close the tab. - if (this.hasAttribute("busy")) - return false; - - if (this.hasAttribute("customizemode")) - return false; - - let browser = this.linkedBrowser; - if (!isBlankPageURL(browser.currentURI.spec)) - return false; - - if (!checkEmptyPageOrigin(browser)) - return false; - - if (browser.canGoForward || browser.canGoBack) - return false; - - return true; - - - - - - return this._lastAccessed == Infinity ? Date.now() : this._lastAccessed; - - - - - - - - false - - - - null - - - - - - - - - - - - - - - - - { - if (TelemetryStopwatch.running("HOVER_UNTIL_UNSELECTED_TAB_OPENED", this)) { - TelemetryStopwatch.cancel("HOVER_UNTIL_UNSELECTED_TAB_OPENED", this); - } - }, 100); - ]]> - - - - - - - - - - - - - - - - - - - - - - - - - - - this.style.MozUserFocus = ""; - - - - - - - - - // Make sure that clear-selection is released. - // Otherwise selection using Shift key may be broken. - gBrowser.unlockClearMultiSelection(); - - this.style.MozUserFocus = ""; - - - 0 && - !event.originalTarget.classList.contains("tab-close-button") && - !event.originalTarget.classList.contains("tab-icon-sound") && - !event.originalTarget.classList.contains("tab-icon-overlay")) { - // Tabs were previously multi-selected and user clicks on a tab - // without holding Ctrl/Cmd Key - - // Force positional attributes to update when the - // target (of the click) is the "active" tab. - let updatePositionalAttr = gBrowser.selectedTab == this; - - gBrowser.clearMultiSelectedTabs(updatePositionalAttr); - } - - if (event.originalTarget.classList.contains("tab-icon-sound") || - (event.originalTarget.classList.contains("tab-icon-overlay") && - (event.originalTarget.hasAttribute("soundplaying") || - event.originalTarget.hasAttribute("muted") || - event.originalTarget.hasAttribute("activemedia-blocked")))) { + } else if (accelKey) { + // Ctrl (Cmd for mac) key is pressed if (this.multiselected) { - gBrowser.toggleMuteAudioOnMultiSelectedTabs(this); - } else { - this.toggleMuteAudio(); + gBrowser.removeFromMultiSelectedTabs(this, true); + } else if (this != gBrowser.selectedTab) { + gBrowser.addToMultiSelectedTabs(this, false); + gBrowser.lastMultiSelectedTab = this; } - return; - } - if (event.originalTarget.getAttribute("anonid") == "close-button") { - if (this.multiselected) { - gBrowser.removeMultiSelectedTabs(); - } else { - gBrowser.removeTab(this, { - animate: true, - byMouse: event.mozInputSource == MouseEvent.MOZ_SOURCE_MOUSE, - }); - } - // This enables double-click protection for the tab container - // (see tabbrowser-tabs 'click' handler). - gBrowser.tabContainer._blockDblClick = true; - } - ]]> - - { + // Make sure that clear-selection is released. + // Otherwise selection using Shift key may be broken. + gBrowser.unlockClearMultiSelection(); + + this.style.MozUserFocus = ""; + }); + + this.addEventListener("click", (event) => { + if (event.button != 0) { + return; + } + + if (event.getModifierState("Accel") || event.shiftKey) { + return; + } + + if (gBrowser.multiSelectedTabsCount > 0 && + !event.originalTarget.classList.contains("tab-close-button") && + !event.originalTarget.classList.contains("tab-icon-sound") && + !event.originalTarget.classList.contains("tab-icon-overlay")) { + // Tabs were previously multi-selected and user clicks on a tab + // without holding Ctrl/Cmd Key + + // Force positional attributes to update when the + // target (of the click) is the "active" tab. + let updatePositionalAttr = gBrowser.selectedTab == this; + + gBrowser.clearMultiSelectedTabs(updatePositionalAttr); + } + + if (event.originalTarget.classList.contains("tab-icon-sound") || + (event.originalTarget.classList.contains("tab-icon-overlay") && + (event.originalTarget.hasAttribute("soundplaying") || + event.originalTarget.hasAttribute("muted") || + event.originalTarget.hasAttribute("activemedia-blocked")))) { + if (this.multiselected) { + gBrowser.toggleMuteAudioOnMultiSelectedTabs(this); + } else { + this.toggleMuteAudio(); + } + return; + } + + if (event.originalTarget.classList.contains("tab-close-button")) { + if (this.multiselected) { + gBrowser.removeMultiSelectedTabs(); + } else { gBrowser.removeTab(this, { animate: true, byMouse: event.mozInputSource == MouseEvent.MOZ_SOURCE_MOUSE, }); } - ]]> + // This enables double-click protection for the tab container + // (see tabbrowser-tabs 'click' handler). + gBrowser.tabContainer._blockDblClick = true; + } + }); - - { + if (event.button != 0) { + return; + } + + // for the one-close-button case + if (event.originalTarget.classList.contains("tab-close-button")) { + event.stopPropagation(); + } + + let tabContainer = this.parentNode; + if (tabContainer._closeTabByDblclick && + this._selectedOnFirstMouseDown && + this.selected && + !(event.originalTarget.classList.contains("tab-icon-sound") || + event.originalTarget.classList.contains("tab-icon-overlay"))) { + gBrowser.removeTab(this, { + animate: true, + byMouse: event.mozInputSource == MouseEvent.MOZ_SOURCE_MOUSE, + }); + } + }, true); + + this.addEventListener("animationend", (event) => { + if (event.originalTarget.classList.contains("tab-loading-burst")) { + this.removeAttribute("bursting"); + } + }); + + this._selectedOnFirstMouseDown = false; + + /** + * Describes how the tab ended up in this mute state. May be any of: + * + * - undefined: The tabs mute state has never changed. + * - null: The mute state was last changed through the UI. + * - Any string: The ID was changed through an extension API. The string + * must be the ID of the extension which changed it. + */ + this.muteReason = undefined; + + this.mOverCloseButton = false; + + this.mCorrespondingMenuitem = null; + } + + static get inheritedAttributes() { + return { + ".tab-background": "selected=visuallyselected,fadein,multiselected", + ".tab-line": "selected=visuallyselected,multiselected,before-multiselected", + ".tab-loading-burst": "pinned,bursting,notselectedsinceload", + ".tab-content": "pinned,selected=visuallyselected,titlechanged,attention", + ".tab-throbber": "fadein,pinned,busy,progress,selected=visuallyselected", + ".tab-icon-pending": "fadein,pinned,busy,progress,selected=visuallyselected,pendingicon", + ".tab-icon-image": "src=image,triggeringprincipal=iconloadingprincipal,requestcontextid,fadein,pinned,selected=visuallyselected,busy,crashed,sharing", + ".tab-sharing-icon-overlay": "sharing,selected=visuallyselected,pinned", + ".tab-icon-overlay": "crashed,busy,soundplaying,soundplaying-scheduledremoval,pinned,muted,blocked,selected=visuallyselected,activemedia-blocked", + ".tab-label-container": "pinned,selected=visuallyselected,labeldirection", + ".tab-label": "text=label,accesskey,fadein,pinned,selected=visuallyselected,attention", + ".tab-icon-pip": "pictureinpicture", + ".tab-icon-sound": "soundplaying,soundplaying-scheduledremoval,pinned,muted,blocked,selected=visuallyselected,activemedia-blocked,pictureinpicture", + ".tab-close-button": "fadein,pinned,selected=visuallyselected", + }; + } + + get fragment() { + if (!this._fragment) { + this._fragment = MozXULElement.parseXULToFragment(` + + + + + + + + + + + + + + + + + + + + + + `); + } + return this.ownerDocument.importNode(this._fragment, true); + } + + connectedCallback() { + if (this._initialized) { + return; + } + + this.textContent = ""; + this.appendChild(this.fragment); + this.initializeAttributeInheritance(); + this.setAttribute("context", "tabContextMenu"); + this._initialized = true; + + if (!("_lastAccessed" in this)) { + this.updateLastAccessed(); + } + } + + set _visuallySelected(val) { + if (val == (this.getAttribute("visuallyselected") == "true")) { + return val; + } + + if (val) { + this.setAttribute("visuallyselected", "true"); + } else { + this.removeAttribute("visuallyselected"); + } + gBrowser._tabAttrModified(this, ["visuallyselected"]); + + return val; + } + + set _selected(val) { + // in e10s we want to only pseudo-select a tab before its rendering is done, so that + // the rest of the system knows that the tab is selected, but we don't want to update its + // visual status to selected until after we receive confirmation that its content has painted. + if (val) + this.setAttribute("selected", "true"); + else + this.removeAttribute("selected"); + + // If we're non-e10s we should update the visual selection as well at the same time, + // *or* if we're e10s and the visually selected tab isn't changing, in which case the + // tab switcher code won't run and update anything else (like the before- and after- + // selected attributes). + if (!gMultiProcessBrowser || (val && this.hasAttribute("visuallyselected"))) { + this._visuallySelected = val; + } + + return val; + } + + get pinned() { + return this.getAttribute("pinned") == "true"; + } + + get hidden() { + return this.getAttribute("hidden") == "true"; + } + + get muted() { + return this.getAttribute("muted") == "true"; + } + + get multiselected() { + return this.getAttribute("multiselected") == "true"; + } + + get beforeMultiselected() { + return this.getAttribute("before-multiselected") == "true"; + } + + get userContextId() { + return this.hasAttribute("usercontextid") ? + parseInt(this.getAttribute("usercontextid")) : + 0; + } + + get soundPlaying() { + return this.getAttribute("soundplaying") == "true"; + } + + get pictureinpicture() { + return this.getAttribute("pictureinpicture") == "true"; + } + + get activeMediaBlocked() { + return this.getAttribute("activemedia-blocked") == "true"; + } + + get isEmpty() { + // Determines if a tab is "empty", usually used in the context of determining + // if it's ok to close the tab. + if (this.hasAttribute("busy")) + return false; + + if (this.hasAttribute("customizemode")) + return false; + + let browser = this.linkedBrowser; + if (!isBlankPageURL(browser.currentURI.spec)) + return false; + + if (!checkEmptyPageOrigin(browser)) + return false; + + if (browser.canGoForward || browser.canGoBack) + return false; + + return true; + } + + get lastAccessed() { + return this._lastAccessed == Infinity ? Date.now() : this._lastAccessed; + } + + get _overPlayingIcon() { + let iconVisible = this.hasAttribute("soundplaying") || + this.hasAttribute("muted") || + this.hasAttribute("activemedia-blocked"); + + let soundPlayingIcon = this.soundPlayingIcon; + let overlayIcon = this.overlayIcon; + return soundPlayingIcon && soundPlayingIcon.matches(":hover") || + (overlayIcon && overlayIcon.matches(":hover") && iconVisible); + } + + get soundPlayingIcon() { + return this.querySelector(".tab-icon-sound"); + } + + get overlayIcon() { + return this.querySelector(".tab-icon-overlay"); + } + + get throbber() { + return this.querySelector(".tab-throbber"); + } + + get iconImage() { + return this.querySelector(".tab-icon-image"); + } + + get sharingIcon() { + return this.querySelector(".tab-sharing-icon-overlay"); + } + + get textLabel() { + return this.querySelector(".tab-label"); + } + + get closeButton() { + return this.querySelector(".tab-close-button"); + } + + updateLastAccessed(aDate) { + this._lastAccessed = this.selected ? Infinity : (aDate || Date.now()); + } + + /** + * While it would make sense to track this in a field, the field will get nuked + * once the node is gone from the DOM, which causes us to think the tab is not + * closed, which causes us to make wrong decisions. So we use an expando instead. + * false + */ + _mouseenter() { + if (this.hidden || this.closing) { + return; + } + + let tabContainer = this.parentNode; + let visibleTabs = tabContainer._getVisibleTabs(); + let tabIndex = visibleTabs.indexOf(this); + + if (this.selected) + tabContainer._handleTabSelect(); + + if (tabIndex == 0) { + tabContainer._beforeHoveredTab = null; + } else { + let candidate = visibleTabs[tabIndex - 1]; + let separatedByScrollButton = + tabContainer.getAttribute("overflow") == "true" && + candidate.pinned && !this.pinned; + if (!candidate.selected && !separatedByScrollButton) { + tabContainer._beforeHoveredTab = candidate; + candidate.setAttribute("beforehovered", "true"); + } + } + + if (tabIndex == visibleTabs.length - 1) { + tabContainer._afterHoveredTab = null; + } else { + let candidate = visibleTabs[tabIndex + 1]; + if (!candidate.selected) { + tabContainer._afterHoveredTab = candidate; + candidate.setAttribute("afterhovered", "true"); + } + } + + tabContainer._hoveredTab = this; + if (this.linkedPanel && !this.selected) { + this.linkedBrowser.unselectedTabHover(true); + this.startUnselectedTabHoverTimer(); + } + + // Prepare connection to host beforehand. + SessionStore.speculativeConnectOnTabHover(this); + + let tabToWarm = this; + if (this.mOverCloseButton) { + tabToWarm = gBrowser._findTabToBlurTo(this); + } + gBrowser.warmupTab(tabToWarm); + } + + _mouseleave() { + let tabContainer = this.parentNode; + if (tabContainer._beforeHoveredTab) { + tabContainer._beforeHoveredTab.removeAttribute("beforehovered"); + tabContainer._beforeHoveredTab = null; + } + if (tabContainer._afterHoveredTab) { + tabContainer._afterHoveredTab.removeAttribute("afterhovered"); + tabContainer._afterHoveredTab = null; + } + + tabContainer._hoveredTab = null; + if (this.linkedPanel && !this.selected) { + this.linkedBrowser.unselectedTabHover(false); + this.cancelUnselectedTabHoverTimer(); + } + } + + startUnselectedTabHoverTimer() { + // Only record data when we need to. + if (!this.linkedBrowser.shouldHandleUnselectedTabHover) { + return; + } + + if (!TelemetryStopwatch.running("HOVER_UNTIL_UNSELECTED_TAB_OPENED", this)) { + TelemetryStopwatch.start("HOVER_UNTIL_UNSELECTED_TAB_OPENED", this); + } + + if (this._hoverTabTimer) { + clearTimeout(this._hoverTabTimer); + this._hoverTabTimer = null; + } + } + + cancelUnselectedTabHoverTimer() { + // Since we're listening "mouseout" event, instead of "mouseleave". + // Every time the cursor is moving from the tab to its child node (icon), + // it would dispatch "mouseout"(for tab) first and then dispatch + // "mouseover" (for icon, eg: close button, speaker icon) soon. + // It causes we would cancel present TelemetryStopwatch immediately + // when cursor is moving on the icon, and then start a new one. + // In order to avoid this situation, we could delay cancellation and + // remove it if we get "mouseover" within very short period. + this._hoverTabTimer = setTimeout(() => { + if (TelemetryStopwatch.running("HOVER_UNTIL_UNSELECTED_TAB_OPENED", this)) { + TelemetryStopwatch.cancel("HOVER_UNTIL_UNSELECTED_TAB_OPENED", this); + } + }, 100); + } + + finishUnselectedTabHoverTimer() { + // Stop timer when the tab is opened. + if (TelemetryStopwatch.running("HOVER_UNTIL_UNSELECTED_TAB_OPENED", this)) { + TelemetryStopwatch.finish("HOVER_UNTIL_UNSELECTED_TAB_OPENED", this); + } + } + + toggleMuteAudio(aMuteReason) { + let browser = this.linkedBrowser; + let modifiedAttrs = []; + let hist = Services.telemetry.getHistogramById("TAB_AUDIO_INDICATOR_USED"); + + if (this.hasAttribute("activemedia-blocked")) { + this.removeAttribute("activemedia-blocked"); + modifiedAttrs.push("activemedia-blocked"); + + browser.resumeMedia(); + hist.add(3 /* unblockByClickingIcon */ ); + } else { + if (browser.audioMuted) { + if (this.linkedPanel) { + // "Lazy Browser" should not invoke its unmute method + browser.unmute(); } - ]]> - - - + this.removeAttribute("muted"); + hist.add(1 /* unmute */ ); + } else { + if (this.linkedPanel) { + // "Lazy Browser" should not invoke its mute method + browser.mute(); + } + this.setAttribute("muted", "true"); + hist.add(0 /* mute */ ); + } + this.muteReason = aMuteReason || null; + modifiedAttrs.push("muted"); + } + gBrowser._tabAttrModified(this, modifiedAttrs); + } + + setUserContextId(aUserContextId) { + if (aUserContextId) { + if (this.linkedBrowser) { + this.linkedBrowser.setAttribute("usercontextid", aUserContextId); + } + this.setAttribute("usercontextid", aUserContextId); + } else { + if (this.linkedBrowser) { + this.linkedBrowser.removeAttribute("usercontextid"); + } + this.removeAttribute("usercontextid"); + } + + ContextualIdentityService.setTabStyle(this); + } +} + +customElements.define("tabbrowser-tab", MozTabbrowserTab, { + extends: "tab", +}); +} diff --git a/browser/base/content/tabbrowser.js b/browser/base/content/tabbrowser.js index b0e13020112b..68358b242fc4 100644 --- a/browser/base/content/tabbrowser.js +++ b/browser/base/content/tabbrowser.js @@ -655,8 +655,7 @@ window._gBrowser = { const animations = Array.from(aTab.parentNode.getElementsByTagName("tab")) .map(tab => { - const throbber = - document.getAnonymousElementByAttribute(tab, "anonid", "tab-throbber"); + const throbber = tab.throbber; return throbber ? throbber.getAnimations({ subtree: true }) : []; }) .reduce((a, b) => a.concat(b)) @@ -2319,8 +2318,7 @@ window._gBrowser = { let openerTab = ((openerBrowser && this.getTabForBrowser(openerBrowser)) || (relatedToCurrent && this.selectedTab)); - var t = document.createXULElement("tab"); - + var t = document.createXULElement("tab", { is: "tabbrowser-tab" }); t.openerTab = openerTab; aURI = aURI || "about:blank"; @@ -4228,8 +4226,8 @@ window._gBrowser = { createTooltip(event) { event.stopPropagation(); - var tab = document.tooltipNode; - if (!tab || tab.localName != "tab") { + let tab = document.tooltipNode ? document.tooltipNode.closest("tab") : null; + if (!tab) { event.preventDefault(); return; } @@ -5410,8 +5408,9 @@ var TabContextMenu = { }); }, updateContextMenu(aPopupMenu) { - this.contextTab = aPopupMenu.triggerNode.localName == "tab" ? - aPopupMenu.triggerNode : gBrowser.selectedTab; + let tab = aPopupMenu.triggerNode && aPopupMenu.triggerNode.closest("tab"); + this.contextTab = tab || gBrowser.selectedTab; + let disabled = gBrowser.tabs.length == 1; let multiselectionContext = this.contextTab.multiselected; diff --git a/browser/base/content/tabbrowser.xml b/browser/base/content/tabbrowser.xml index 0ee33ad8d3a5..6913f90c4595 100644 --- a/browser/base/content/tabbrowser.xml +++ b/browser/base/content/tabbrowser.xml @@ -991,7 +991,10 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - false - - - - return this.getAttribute("pinned") == "true"; - - - - - return this.getAttribute("hidden") == "true"; - - - - - return this.getAttribute("muted") == "true"; - - - - - return this.getAttribute("multiselected") == "true"; - - - - - return this.getAttribute("before-multiselected") == "true"; - - - - undefined - - - - return this.hasAttribute("usercontextid") - ? parseInt(this.getAttribute("usercontextid")) - : 0; - - - - - - return this.getAttribute("soundplaying") == "true"; - - - - - - return this.getAttribute("pictureinpicture") == "true"; - - - - - - return this.getAttribute("activemedia-blocked") == "true"; - - - - - - // Determines if a tab is "empty", usually used in the context of determining - // if it's ok to close the tab. - if (this.hasAttribute("busy")) - return false; - - if (this.hasAttribute("customizemode")) - return false; - - let browser = this.linkedBrowser; - if (!isBlankPageURL(browser.currentURI.spec)) - return false; - - if (!checkEmptyPageOrigin(browser)) - return false; - - if (browser.canGoForward || browser.canGoBack) - return false; - - return true; - - - - - - return this._lastAccessed == Infinity ? Date.now() : this._lastAccessed; - - - - - - - - false - - - - null - - - - - - - - - - - - - - - - - { - if (TelemetryStopwatch.running("HOVER_UNTIL_UNSELECTED_TAB_OPENED", this)) { - TelemetryStopwatch.cancel("HOVER_UNTIL_UNSELECTED_TAB_OPENED", this); - } - }, 100); - ]]> - - - - - - - - - - - - - - - - - - - - - - - - - - - this.style.MozUserFocus = ""; - - - - - - - - - // Make sure that clear-selection is released. - // Otherwise selection using Shift key may be broken. - gBrowser.unlockClearMultiSelection(); - - this.style.MozUserFocus = ""; - - - 0 && - !event.originalTarget.classList.contains("tab-close-button") && - !event.originalTarget.classList.contains("tab-icon-sound") && - !event.originalTarget.classList.contains("tab-icon-overlay")) { - // Tabs were previously multi-selected and user clicks on a tab - // without holding Ctrl/Cmd Key - - // Force positional attributes to update when the - // target (of the click) is the "active" tab. - let updatePositionalAttr = gBrowser.selectedTab == this; - - gBrowser.clearMultiSelectedTabs(updatePositionalAttr); - } - - if (event.originalTarget.classList.contains("tab-icon-sound") || - (event.originalTarget.classList.contains("tab-icon-overlay") && - (event.originalTarget.hasAttribute("soundplaying") || - event.originalTarget.hasAttribute("muted") || - event.originalTarget.hasAttribute("activemedia-blocked")))) { - if (this.multiselected) { - gBrowser.toggleMuteAudioOnMultiSelectedTabs(this); - } else { - this.toggleMuteAudio(); - } - return; - } - - if (event.originalTarget.getAttribute("anonid") == "close-button") { - if (this.multiselected) { - gBrowser.removeMultiSelectedTabs(); - } else { - gBrowser.removeTab(this, { - animate: true, - byMouse: event.mozInputSource == MouseEvent.MOZ_SOURCE_MOUSE, - }); - } - // This enables double-click protection for the tab container - // (see tabbrowser-tabs 'click' handler). - gBrowser.tabContainer._blockDblClick = true; - } - ]]> - - - - - - - - diff --git a/browser/base/content/test/favicons/browser_title_flicker.js b/browser/base/content/test/favicons/browser_title_flicker.js index 7599bdb3489b..40350b80dc96 100644 --- a/browser/base/content/test/favicons/browser_title_flicker.js +++ b/browser/base/content/test/favicons/browser_title_flicker.js @@ -38,7 +38,7 @@ add_task(async () => { await waitForAttributeChange(tab, "label"); ok(tab.hasAttribute("busy"), "Should have seen the busy attribute"); - let label = document.getAnonymousElementByAttribute(tab, "anonid", "tab-label"); + let label = tab.textLabel; let bounds = label.getBoundingClientRect(); await waitForAttributeChange(tab, "busy"); @@ -60,7 +60,7 @@ add_task(async () => { is(icon.iconURL, "http://example.com/favicon.ico"); let tab = gBrowser.getTabForBrowser(browser); - let label = document.getAnonymousElementByAttribute(tab, "anonid", "tab-label"); + let label = tab.textLabel; let bounds = label.getBoundingClientRect(); await ContentTask.spawn(browser, null, () => { diff --git a/browser/base/content/test/general/browser_beforeunload_duplicate_dialogs.js b/browser/base/content/test/general/browser_beforeunload_duplicate_dialogs.js index 5615f0e9cbad..c31f0e21b4a3 100644 --- a/browser/base/content/test/general/browser_beforeunload_duplicate_dialogs.js +++ b/browser/base/content/test/general/browser_beforeunload_duplicate_dialogs.js @@ -34,7 +34,7 @@ add_task(async function closeLastTabInWindow() { let windowClosedPromise = BrowserTestUtils.domWindowClosed(newWin); expectingDialog = true; // close tab: - document.getAnonymousElementByAttribute(firstTab, "anonid", "close-button").click(); + firstTab.closeButton.click(); await windowClosedPromise; ok(!expectingDialog, "There should have been a dialog."); ok(newWin.closed, "Window should be closed."); @@ -63,13 +63,13 @@ add_task(async function closeWindoWithSingleTabTwice() { expectingDialog = true; wantToClose = false; let firstDialogShownPromise = new Promise((resolve, reject) => { resolveDialogPromise = resolve; }); - document.getAnonymousElementByAttribute(firstTab, "anonid", "close-button").click(); + firstTab.closeButton.click(); await firstDialogShownPromise; info("Got initial dialog, now trying again"); expectingDialog = true; wantToClose = true; resolveDialogPromise = null; - document.getAnonymousElementByAttribute(firstTab, "anonid", "close-button").click(); + firstTab.closeButton.click(); await windowClosedPromise; ok(!expectingDialog, "There should have been a dialog."); ok(newWin.closed, "Window should be closed."); diff --git a/browser/base/content/test/general/browser_double_close_tab.js b/browser/base/content/test/general/browser_double_close_tab.js index 6d69a4fca424..1a1df5a6b53e 100644 --- a/browser/base/content/test/general/browser_double_close_tab.js +++ b/browser/base/content/test/general/browser_double_close_tab.js @@ -61,10 +61,10 @@ add_task(async function() { doCompletion(); }); // Click again: - document.getAnonymousElementByAttribute(testTab, "anonid", "close-button").click(); + testTab.closeButton.click(); }); // Click once: - document.getAnonymousElementByAttribute(testTab, "anonid", "close-button").click(); + testTab.closeButton.click(); }); await TestUtils.waitForCondition(() => !testTab.parentNode); ok(!testTab.parentNode, "Tab should be closed completely"); diff --git a/browser/base/content/test/general/browser_tabs_close_beforeunload.js b/browser/base/content/test/general/browser_tabs_close_beforeunload.js index df24f5511a09..3e7e1bef6247 100644 --- a/browser/base/content/test/general/browser_tabs_close_beforeunload.js +++ b/browser/base/content/test/general/browser_tabs_close_beforeunload.js @@ -31,7 +31,7 @@ add_task(async function() { info("Waiting for the load in that tab to finish"); await secondTabLoadedPromise; - let closeBtn = document.getAnonymousElementByAttribute(secondTab, "anonid", "close-button"); + let closeBtn = secondTab.closeButton; info("closing second tab (which will self-close in beforeunload)"); closeBtn.click(); ok(secondTab.closing, "Second tab should be marked as closing synchronously."); diff --git a/browser/base/content/test/performance/browser_tabopen.js b/browser/base/content/test/performance/browser_tabopen.js index 2422a6be4dd1..27d30de2d0a4 100644 --- a/browser/base/content/test/performance/browser_tabopen.js +++ b/browser/base/content/test/performance/browser_tabopen.js @@ -31,9 +31,7 @@ add_task(async function() { let tabStripRect = gBrowser.tabContainer.arrowScrollbox.getBoundingClientRect(); let firstTabRect = gBrowser.selectedTab.getBoundingClientRect(); - let firstTabLabelRect = - document.getAnonymousElementByAttribute(gBrowser.selectedTab, "anonid", "tab-label") - .getBoundingClientRect(); + let firstTabLabelRect = gBrowser.selectedTab.textLabel.getBoundingClientRect(); let textBoxRect = document.getAnonymousElementByAttribute(gURLBar.textbox, "anonid", "moz-input-box").getBoundingClientRect(); let inRange = (val, min, max) => min <= val && val <= max; diff --git a/browser/base/content/test/tabs/browser_audioTabIcon.js b/browser/base/content/test/tabs/browser_audioTabIcon.js index 592dd9e05619..c3df357d9dd5 100644 --- a/browser/base/content/test/tabs/browser_audioTabIcon.js +++ b/browser/base/content/test/tabs/browser_audioTabIcon.js @@ -111,8 +111,7 @@ async function test_muting_using_menu(tab, expectMuted) { } async function test_playing_icon_on_tab(tab, browser, isPinned) { - let icon = document.getAnonymousElementByAttribute(tab, "anonid", - isPinned ? "overlay-icon" : "soundplaying-icon"); + let icon = isPinned ? tab.overlayIcon : tab.soundPlayingIcon; let isActiveTab = tab === gBrowser.selectedTab; await play(tab); @@ -241,9 +240,7 @@ async function test_swapped_browser_while_playing(oldTab, newBrowser) { is(newTab.muteReason, null, "Expected the correct muteReason property on the new tab"); ok(!newTab.hasAttribute("soundplaying"), "Expected the correct soundplaying attribute on the new tab"); - let icon = document.getAnonymousElementByAttribute(newTab, "anonid", - "soundplaying-icon"); - await test_tooltip(icon, "Unmute tab", true); + await test_tooltip(newTab.soundPlayingIcon, "Unmute tab", true); } async function test_swapped_browser_while_not_playing(oldTab, newBrowser) { @@ -281,18 +278,14 @@ async function test_swapped_browser_while_not_playing(oldTab, newBrowser) { is(newTab.muteReason, null, "Expected the correct muteReason property on the new tab"); ok(!newTab.hasAttribute("soundplaying"), "Expected the correct soundplaying attribute on the new tab"); - let icon = document.getAnonymousElementByAttribute(newTab, "anonid", - "soundplaying-icon"); - await test_tooltip(icon, "Unmute tab", true); + await test_tooltip(newTab.soundPlayingIcon, "Unmute tab", true); } async function test_browser_swapping(tab, browser) { // First, test swapping with a playing but muted tab. await play(tab); - let icon = document.getAnonymousElementByAttribute(tab, "anonid", - "soundplaying-icon"); - await test_mute_tab(tab, icon, true); + await test_mute_tab(tab, tab.soundPlayingIcon, true); await BrowserTestUtils.withNewTab({ gBrowser, @@ -327,7 +320,7 @@ async function test_click_on_pinned_tab_after_mute() { await play(tab); // Mute the tab. - let icon = document.getAnonymousElementByAttribute(tab, "anonid", "overlay-icon"); + let icon = tab.overlayIcon; await test_mute_tab(tab, icon, true); // Pause playback and wait for it to finish. @@ -337,8 +330,7 @@ async function test_click_on_pinned_tab_after_mute() { await test_mute_tab(tab, icon, false); // Now click on the tab. - let image = document.getAnonymousElementByAttribute(tab, "anonid", "tab-icon-image"); - EventUtils.synthesizeMouseAtCenter(image, {button: 0}); + EventUtils.synthesizeMouseAtCenter(tab.iconImage, {button: 0}); is(tab, gBrowser.selectedTab, "Tab switch should be successful"); diff --git a/browser/base/content/test/tabs/browser_multiselect_tabs_close.js b/browser/base/content/test/tabs/browser_multiselect_tabs_close.js index a67d514bdb31..811e6e4c900f 100644 --- a/browser/base/content/test/tabs/browser_multiselect_tabs_close.js +++ b/browser/base/content/test/tabs/browser_multiselect_tabs_close.js @@ -29,7 +29,7 @@ add_task(async function usingTabCloseButton() { is(gBrowser.selectedTab, tab1, "Tab1 is active"); // Closing a tab which is not multiselected - let tab4CloseBtn = document.getAnonymousElementByAttribute(tab4, "anonid", "close-button"); + let tab4CloseBtn = tab4.closeButton; let tab4Closing = BrowserTestUtils.waitForTabClosing(tab4); tab4.mOverCloseButton = true; @@ -48,7 +48,7 @@ add_task(async function usingTabCloseButton() { is(gBrowser.multiSelectedTabsCount, 2, "Two multiselected tabs"); // Closing a selected tab - let tab2CloseBtn = document.getAnonymousElementByAttribute(tab2, "anonid", "close-button"); + let tab2CloseBtn = tab2.closeButton; tab2.mOverCloseButton = true; let tab1Closing = BrowserTestUtils.waitForTabClosing(tab1); let tab2Closing = BrowserTestUtils.waitForTabClosing(tab2); diff --git a/browser/base/content/test/tabs/browser_multiselect_tabs_mute_unmute.js b/browser/base/content/test/tabs/browser_multiselect_tabs_mute_unmute.js index 7d35d779da97..4ee585377943 100644 --- a/browser/base/content/test/tabs/browser_multiselect_tabs_mute_unmute.js +++ b/browser/base/content/test/tabs/browser_multiselect_tabs_mute_unmute.js @@ -55,7 +55,7 @@ add_task(async function muteTabs_usingButton() { } // Mute tab0 which is not multiselected, thus other tabs muted state should not be affected - let tab0MuteAudioBtn = document.getAnonymousElementByAttribute(tab0, "anonid", "soundplaying-icon"); + let tab0MuteAudioBtn = tab0.soundPlayingIcon; await test_mute_tab(tab0, tab0MuteAudioBtn, true); ok(muted(tab0), "Tab0 is muted"); @@ -85,7 +85,7 @@ add_task(async function muteTabs_usingButton() { // b) unmuted tabs (tab1, tab3) will become muted. // b) media-blocked tabs (tab2) will remain media-blocked. // However tab4 (unmuted) which is not multiselected should not be affected. - let tab1MuteAudioBtn = document.getAnonymousElementByAttribute(tab1, "anonid", "soundplaying-icon"); + let tab1MuteAudioBtn = tab1.soundPlayingIcon; await test_mute_tab(tab1, tab1MuteAudioBtn, true); // Check mute state @@ -141,7 +141,7 @@ add_task(async function unmuteTabs_usingButton() { // b) unmuted tabs (tab0) will remain unmuted. // b) media-blocked tabs (tab1, tab2) will get playing. (media not blocked anymore) // However tab4 (muted) which is not multiselected should not be affected. - let tab3MuteAudioBtn = document.getAnonymousElementByAttribute(tab3, "anonid", "soundplaying-icon"); + let tab3MuteAudioBtn = tab3.soundPlayingIcon; await test_mute_tab(tab3, tab3MuteAudioBtn, false); ok(!muted(tab0) && !activeMediaBlocked(tab0), "Tab0 is unmuted and not media-blocked"); @@ -249,7 +249,7 @@ add_task(async function playTabs_usingButton() { // b) unmuted tabs (tab3) will remain unmuted. // b) media-blocked tabs (tab1, tab2) will get playing. (media not blocked anymore) // However tab4 (muted) which is not multiselected should not be affected. - let tab2MuteAudioBtn = document.getAnonymousElementByAttribute(tab2, "anonid", "soundplaying-icon"); + let tab2MuteAudioBtn = tab2.soundPlayingIcon; await test_mute_tab(tab2, tab2MuteAudioBtn, false); ok(!muted(tab0) && !activeMediaBlocked(tab0), "Tab0 is unmuted and not activemedia-blocked"); diff --git a/browser/base/content/test/tabs/browser_tabCloseSpacer.js b/browser/base/content/test/tabs/browser_tabCloseSpacer.js index dbfb4eab7479..4142f8ef80fa 100644 --- a/browser/base/content/test/tabs/browser_tabCloseSpacer.js +++ b/browser/base/content/test/tabs/browser_tabCloseSpacer.js @@ -53,7 +53,7 @@ async function overflowTabs() { function getLastCloseButton() { let lastTab = gBrowser.tabs[gBrowser.tabs.length - 1]; - return document.getAnonymousElementByAttribute(lastTab, "anonid", "close-button"); + return lastTab.closeButton; } function getLastCloseButtonLocation() { diff --git a/browser/base/content/test/webrtc/browser_devices_get_user_media_anim.js b/browser/base/content/test/webrtc/browser_devices_get_user_media_anim.js index f966f290576c..a9dbae99a44b 100644 --- a/browser/base/content/test/webrtc/browser_devices_get_user_media_anim.js +++ b/browser/base/content/test/webrtc/browser_devices_get_user_media_anim.js @@ -33,8 +33,7 @@ var gTests = [ let tab = gBrowser.selectedTab; is(tab.getAttribute("sharing"), aSharing, "the tab has the attribute to show the " + aSharing + " icon"); - let icon = - document.getAnonymousElementByAttribute(tab, "anonid", "sharing-icon"); + let icon = tab.sharingIcon; is(window.getComputedStyle(icon).display, "none", "the animated sharing icon of the tab is hidden"); diff --git a/browser/base/jar.mn b/browser/base/jar.mn index 12e6de2aba53..a0217ad91f80 100644 --- a/browser/base/jar.mn +++ b/browser/base/jar.mn @@ -95,6 +95,7 @@ browser.jar: content/browser/contentSearchUI.css (content/contentSearchUI.css) content/browser/tabbrowser.css (content/tabbrowser.css) content/browser/tabbrowser.js (content/tabbrowser.js) + content/browser/tabbrowser-tab.js (content/tabbrowser-tab.js) content/browser/tabbrowser.xml (content/tabbrowser.xml) * content/browser/urlbarBindings.xml (content/urlbarBindings.xml) content/browser/utilityOverlay.js (content/utilityOverlay.js) diff --git a/browser/components/extensions/parent/ext-menus.js b/browser/components/extensions/parent/ext-menus.js index 3366a85cd050..cf514818a357 100644 --- a/browser/components/extensions/parent/ext-menus.js +++ b/browser/components/extensions/parent/ext-menus.js @@ -1065,8 +1065,11 @@ const menuTracker = { gMenuBuilder.build({menu, tab, pageUrl, inToolsMenu: true}); } if (menu.id === "tabContextMenu") { - const trigger = menu.triggerNode; - const tab = trigger.localName === "tab" ? trigger : tabTracker.activeTab; + let trigger = menu.triggerNode; + while (trigger && trigger.localName != "tab") { + trigger = trigger.parentNode; + } + const tab = trigger || tabTracker.activeTab; const pageUrl = tab.linkedBrowser.currentURI.spec; gMenuBuilder.build({menu, tab, pageUrl, onTab: true}); } diff --git a/browser/components/uitour/UITour.jsm b/browser/components/uitour/UITour.jsm index b23d07115408..e26ec2e81dcd 100644 --- a/browser/components/uitour/UITour.jsm +++ b/browser/components/uitour/UITour.jsm @@ -172,9 +172,7 @@ var UITour = { ["selectedTabIcon", { query: (aDocument) => { let selectedtab = aDocument.defaultView.gBrowser.selectedTab; - let element = aDocument.getAnonymousElementByAttribute(selectedtab, - "anonid", - "tab-icon-image"); + let element = selectedtab.iconImage; if (!element || !UITour.isElementVisible(element)) { return null; } diff --git a/testing/marionette/puppeteer/firefox/firefox_puppeteer/ui/browser/tabbar.py b/testing/marionette/puppeteer/firefox/firefox_puppeteer/ui/browser/tabbar.py index 63ccce1ef73d..2cf77ad52900 100644 --- a/testing/marionette/puppeteer/firefox/firefox_puppeteer/ui/browser/tabbar.py +++ b/testing/marionette/puppeteer/firefox/firefox_puppeteer/ui/browser/tabbar.py @@ -233,7 +233,7 @@ class Tab(UIBaseLib): :returns: Reference to the tab close button. """ - return self.tab_element.find_element(By.ANON_ATTRIBUTE, {'anonid': 'close-button'}) + return self.tab_element.find_element(By.CSS_SELECTOR, '.tab-close-button') @property def tab_element(self): diff --git a/toolkit/components/extensions/test/browser/browser_ext_themes_tab_line.js b/toolkit/components/extensions/test/browser/browser_ext_themes_tab_line.js index 432773043450..01d63ca50617 100644 --- a/toolkit/components/extensions/test/browser/browser_ext_themes_tab_line.js +++ b/toolkit/components/extensions/test/browser/browser_ext_themes_tab_line.js @@ -21,7 +21,7 @@ add_task(async function test_support_tab_line() { info("Checking selected tab line color"); let selectedTab = document.querySelector(".tabbrowser-tab[selected]"); - let line = document.getAnonymousElementByAttribute(selectedTab, "class", "tab-line"); + let line = selectedTab.querySelector(".tab-line"); Assert.equal(window.getComputedStyle(line).backgroundColor, `rgb(${hexToRGB(TAB_LINE_COLOR).join(", ")})`, "Tab line should have theme color"); diff --git a/toolkit/components/extensions/test/browser/browser_ext_themes_tab_loading.js b/toolkit/components/extensions/test/browser/browser_ext_themes_tab_loading.js index a094aa70a47f..3a22477cb18e 100644 --- a/toolkit/components/extensions/test/browser/browser_ext_themes_tab_loading.js +++ b/toolkit/components/extensions/test/browser/browser_ext_themes_tab_loading.js @@ -33,7 +33,7 @@ add_task(async function test_support_tab_loading_filling() { selectedTab.setAttribute("busy", "true"); selectedTab.setAttribute("progress", "true"); - let throbber = document.getAnonymousElementByAttribute(selectedTab, "class", "tab-throbber"); + let throbber = selectedTab.throbber; Assert.equal(window.getComputedStyle(throbber, "::before").fill, `rgb(${hexToRGB(TAB_LOADING_COLOR).join(", ")})`, "Throbber is filled with theme color"); diff --git a/toolkit/components/extensions/test/browser/browser_ext_themes_tab_selected.js b/toolkit/components/extensions/test/browser/browser_ext_themes_tab_selected.js index cf89fa834e4e..fd4c2594dc5f 100644 --- a/toolkit/components/extensions/test/browser/browser_ext_themes_tab_selected.js +++ b/toolkit/components/extensions/test/browser/browser_ext_themes_tab_selected.js @@ -22,10 +22,10 @@ add_task(async function test_tab_background_color_property() { info("Checking selected tab color"); let openTab = document.querySelector(".tabbrowser-tab[visuallyselected=true]"); - let openTabBackground = document.getAnonymousElementByAttribute(openTab, "class", "tab-background"); + let openTabBackground = openTab.querySelector(".tab-background"); let selectedTab = await BrowserTestUtils.openNewForegroundTab(gBrowser, "about:blank"); - let selectedTabBackground = document.getAnonymousElementByAttribute(selectedTab, "class", "tab-background"); + let selectedTabBackground = selectedTab.querySelector(".tab-background"); let openTabGradient = window.getComputedStyle(openTabBackground).getPropertyValue("background-image"); let selectedTabGradient = window.getComputedStyle(selectedTabBackground).getPropertyValue("background-image"); diff --git a/toolkit/components/reader/test/browser_readerMode.js b/toolkit/components/reader/test/browser_readerMode.js index 05a0ed5286f8..a13ba1943a14 100644 --- a/toolkit/components/reader/test/browser_readerMode.js +++ b/toolkit/components/reader/test/browser_readerMode.js @@ -62,7 +62,7 @@ add_task(async function test_reader_button() { let readerUrl = gBrowser.selectedBrowser.currentURI.spec; ok(readerUrl.startsWith("about:reader"), "about:reader loaded after clicking reader mode button"); is_element_visible(readerButton, "Reader mode button is present on about:reader"); - let iconEl = document.getAnonymousElementByAttribute(tab, "anonid", "tab-icon-image"); + let iconEl = tab.iconImage; await TestUtils.waitForCondition(() => iconEl.getBoundingClientRect().width != 0); is_element_visible(iconEl, "Favicon should be visible"); is(iconEl.src, favicon, "Correct favicon should be loaded"); diff --git a/toolkit/content/tests/browser/browser_block_silentAudioTrack_media.js b/toolkit/content/tests/browser/browser_block_silentAudioTrack_media.js index a6c229c9d80e..6379f5461195 100644 --- a/toolkit/content/tests/browser/browser_block_silentAudioTrack_media.js +++ b/toolkit/content/tests/browser/browser_block_silentAudioTrack_media.js @@ -8,7 +8,7 @@ var SuspendedType = { }; async function click_unblock_icon(tab) { - let icon = document.getAnonymousElementByAttribute(tab, "anonid", "soundplaying-icon"); + let icon = tab.soundPlayingIcon; await hover_icon(icon, document.getElementById("tabbrowser-tab-tooltip")); EventUtils.synthesizeMouseAtCenter(icon, {button: 0}); diff --git a/toolkit/content/tests/browser/browser_mute_plugIn.js b/toolkit/content/tests/browser/browser_mute_plugIn.js index 1520bea783d4..9bf81b2b528e 100644 --- a/toolkit/content/tests/browser/browser_mute_plugIn.js +++ b/toolkit/content/tests/browser/browser_mute_plugIn.js @@ -1,7 +1,7 @@ const PAGE = "https://example.com/browser/toolkit/content/tests/browser/file_plugIn.html"; async function click_icon(tab) { - let icon = document.getAnonymousElementByAttribute(tab, "anonid", "soundplaying-icon"); + let icon = tab.soundPlayingIcon; await hover_icon(icon, document.getElementById("tabbrowser-tab-tooltip")); EventUtils.synthesizeMouseAtCenter(icon, {button: 0}); diff --git a/toolkit/content/tests/browser/browser_mute_webAudio.js b/toolkit/content/tests/browser/browser_mute_webAudio.js index 19ff95bc8ee6..00cfb8339b44 100644 --- a/toolkit/content/tests/browser/browser_mute_webAudio.js +++ b/toolkit/content/tests/browser/browser_mute_webAudio.js @@ -8,7 +8,7 @@ if (!gMultiProcessBrowser) { const PAGE = "https://example.com/browser/toolkit/content/tests/browser/file_webAudio.html"; async function click_icon(tab) { - let icon = document.getAnonymousElementByAttribute(tab, "anonid", "soundplaying-icon"); + let icon = tab.soundPlayingIcon; await hover_icon(icon, document.getElementById("tabbrowser-tab-tooltip")); EventUtils.synthesizeMouseAtCenter(icon, {button: 0}); From f2d4188dcb34391a004c773e1e0373ff119ee619 Mon Sep 17 00:00:00 2001 From: Alexander Surkov Date: Tue, 28 May 2019 22:00:30 +0000 Subject: [PATCH 67/80] Bug 1519514 - whitelist tabopen.js and appmenu.js flicker tests r=florian Differential Revision: https://phabricator.services.mozilla.com/D29876 --HG-- extra : moz-landing-system : lando --- browser/base/content/test/performance/browser_appmenu.js | 6 ++++++ browser/base/content/test/performance/browser_tabopen.js | 9 +++++++++ 2 files changed, 15 insertions(+) diff --git a/browser/base/content/test/performance/browser_appmenu.js b/browser/base/content/test/performance/browser_appmenu.js index 67924d0742c8..86eaa6af095f 100644 --- a/browser/base/content/test/performance/browser_appmenu.js +++ b/browser/base/content/test/performance/browser_appmenu.js @@ -46,6 +46,7 @@ add_task(async function() { "anonid", "moz-input-box").getBoundingClientRect(); let menuButtonRect = document.getElementById("PanelUI-menu-button").getBoundingClientRect(); + let firstTabRect = gBrowser.selectedTab.getBoundingClientRect(); let frameExpectations = { filter: rects => rects.filter(r => !( // We expect the menu button to get into the active state. @@ -60,6 +61,11 @@ add_task(async function() { r.x1 >= textBoxRect.left && r.x2 <= textBoxRect.right && r.y1 >= textBoxRect.top && r.y2 <= textBoxRect.bottom, }, + {name: "bug 1547341 - a first tab gets drawn early", + condition: r => + r.x1 >= firstTabRect.left && r.x2 <= firstTabRect.right && + r.y1 >= firstTabRect.top && r.y2 <= firstTabRect.bottom, + }, ], }; diff --git a/browser/base/content/test/performance/browser_tabopen.js b/browser/base/content/test/performance/browser_tabopen.js index 27d30de2d0a4..c9ae6753b595 100644 --- a/browser/base/content/test/performance/browser_tabopen.js +++ b/browser/base/content/test/performance/browser_tabopen.js @@ -34,6 +34,9 @@ add_task(async function() { let firstTabLabelRect = gBrowser.selectedTab.textLabel.getBoundingClientRect(); let textBoxRect = document.getAnonymousElementByAttribute(gURLBar.textbox, "anonid", "moz-input-box").getBoundingClientRect(); + let historyDropmarkerRect = document.getAnonymousElementByAttribute( + gURLBar.textbox, "anonid", "historydropmarker").getBoundingClientRect(); + let inRange = (val, min, max) => min <= val && val <= max; // Add a reflow observer and open a new tab. @@ -91,6 +94,12 @@ add_task(async function() { r.y1 >= firstTabLabelRect.y && r.y2 <= firstTabLabelRect.bottom, }, + {name: "bug 1547341 - addressbar history dropmarker is shown", + condition: r => r.x1 >= historyDropmarkerRect.x && + r.x2 <= historyDropmarkerRect.right && + r.y1 >= historyDropmarkerRect.y && + r.y2 <= historyDropmarkerRect.bottom, + }, ], }, }); From f0748df6146a1d835d96e18d33ac5397da6c741b Mon Sep 17 00:00:00 2001 From: Nick Alexander Date: Tue, 28 May 2019 22:08:41 +0000 Subject: [PATCH 68/80] Bug 1554256 - Read GeckoView configuration file in release builds when package is the current Android "debug-app". r=geckoview-reviewers,snorp Bug 1533385 taught GeckoView to read configuration from a file. But right now, release APKs don't read that configuration: see the documentation at See https://mozilla.github.io/geckoview/tutorials/automation.html#enabling-reading-configuration-from-a-file-for-release-builds. However, Android has a flag -- the "debug_app" flag -- that Chrome uses to control this configuration file behaviour, and this commit makes GeckoView uses that flag as well. To use this, invoke `adb shell am set-debug-app --persistent PACKAGE` (see https://developer.android.com/studio/command-line/adb). Differential Revision: https://phabricator.services.mozilla.com/D32511 --HG-- extra : moz-landing-system : lando --- .../org/mozilla/gecko/util/ContextUtils.java | 23 +++++++++++++++++++ .../org/mozilla/geckoview/GeckoRuntime.java | 11 ++++----- 2 files changed, 28 insertions(+), 6 deletions(-) diff --git a/mobile/android/geckoview/src/main/java/org/mozilla/gecko/util/ContextUtils.java b/mobile/android/geckoview/src/main/java/org/mozilla/gecko/util/ContextUtils.java index 1067c4edb02e..4fb88ea41574 100644 --- a/mobile/android/geckoview/src/main/java/org/mozilla/gecko/util/ContextUtils.java +++ b/mobile/android/geckoview/src/main/java/org/mozilla/gecko/util/ContextUtils.java @@ -7,8 +7,12 @@ package org.mozilla.gecko.util; import android.content.Context; +import android.content.pm.ApplicationInfo; import android.content.pm.PackageInfo; import android.content.pm.PackageManager; +import android.os.Build; +import android.provider.Settings; +import android.support.annotation.NonNull; import android.text.TextUtils; public class ContextUtils { @@ -46,4 +50,23 @@ public class ContextUtils { return INSTALLER_GOOGLE_PLAY.equals(installerPackageName); } + + public static boolean isApplicationDebuggable(final @NonNull Context context) { + final ApplicationInfo applicationInfo = context.getApplicationInfo(); + return (applicationInfo.flags & ApplicationInfo.FLAG_DEBUGGABLE) != 0; + } + + public static boolean isApplicationCurrentDebugApp(final @NonNull Context context) { + final ApplicationInfo applicationInfo = context.getApplicationInfo(); + + final String currentDebugApp; + if (Build.VERSION.SDK_INT >= 17) { + currentDebugApp = Settings.Global.getString(context.getContentResolver(), + Settings.Global.DEBUG_APP); + } else { + currentDebugApp = Settings.System.getString(context.getContentResolver(), + Settings.System.DEBUG_APP); + } + return applicationInfo.packageName.equals(currentDebugApp); + } } diff --git a/mobile/android/geckoview/src/main/java/org/mozilla/geckoview/GeckoRuntime.java b/mobile/android/geckoview/src/main/java/org/mozilla/geckoview/GeckoRuntime.java index 7797b69090ce..6023e2512398 100644 --- a/mobile/android/geckoview/src/main/java/org/mozilla/geckoview/GeckoRuntime.java +++ b/mobile/android/geckoview/src/main/java/org/mozilla/geckoview/GeckoRuntime.java @@ -15,7 +15,6 @@ import android.app.ActivityManager; import android.content.ComponentName; import android.content.Context; import android.content.Intent; -import android.content.pm.ApplicationInfo; import android.content.pm.PackageManager; import android.content.pm.ServiceInfo; import android.content.res.Configuration; @@ -37,6 +36,7 @@ import org.mozilla.gecko.GeckoSystemStateListener; import org.mozilla.gecko.GeckoThread; import org.mozilla.gecko.PrefsHelper; import org.mozilla.gecko.util.BundleEventListener; +import org.mozilla.gecko.util.ContextUtils; import org.mozilla.gecko.util.DebugConfig; import org.mozilla.gecko.util.EventCallback; import org.mozilla.gecko.util.GeckoBundle; @@ -264,11 +264,10 @@ public final class GeckoRuntime implements Parcelable { String configFilePath = settings.getConfigFilePath(); if (configFilePath == null) { // Default to /data/local/tmp/$PACKAGE-geckoview-config.yaml if android:debuggable="true" - // and to not read configuration from a file if android:debuggable="false". - final ApplicationInfo applicationInfo = context.getApplicationInfo(); - final boolean isPackageDebuggable = (applicationInfo.flags & ApplicationInfo.FLAG_DEBUGGABLE) != 0; - if (isPackageDebuggable) { - configFilePath = String.format(CONFIG_FILE_PATH_TEMPLATE, applicationInfo.packageName); + // or if this application is the current Android "debug_app", and to not read configuration + // from a file otherwise. + if (ContextUtils.isApplicationDebuggable(context) || ContextUtils.isApplicationCurrentDebugApp(context)) { + configFilePath = String.format(CONFIG_FILE_PATH_TEMPLATE, context.getApplicationInfo().packageName); } } From 31e8325621f09f6b283b2d05f975d83136d2cfe4 Mon Sep 17 00:00:00 2001 From: Mike Hommey Date: Tue, 28 May 2019 18:45:03 +0000 Subject: [PATCH 69/80] Bug 1554056 - Don't allow --enable-shared-js outside of standalone spidermonkey builds. r=dmajor The option has presumably not worked for at least a year, and was seldom used. Differential Revision: https://phabricator.services.mozilla.com/D32418 --HG-- extra : moz-landing-system : lando --- js/moz.configure | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/js/moz.configure b/js/moz.configure index 4e1a7853f72f..e9566fdd6501 100644 --- a/js/moz.configure +++ b/js/moz.configure @@ -48,13 +48,13 @@ set_define('JS_NUNBOX32', depends(target)(lambda t: t.bitness == 32 or None)) # SpiderMonkey as a shared library, and how its symbols are exported # ================================================================== -js_option('--disable-shared-js', default=building_js, +js_option('--disable-shared-js', when=js_standalone, help='{Create|Do not create} a shared library') -js_option('--disable-export-js', default=building_js, +js_option('--disable-export-js', when=js_standalone, help='{Mark|Do not mark} JS symbols as DLL exported/visible') -@depends('--disable-shared-js', '--disable-export-js') +@depends('--disable-shared-js', '--disable-export-js', when=js_standalone) def shared_js(shared_js, export_js): if shared_js: if not export_js: @@ -64,21 +64,21 @@ def shared_js(shared_js, export_js): set_config('JS_SHARED_LIBRARY', shared_js) add_old_configure_assignment('JS_SHARED_LIBRARY', shared_js) -@depends('--disable-shared-js', '--disable-export-js') +@depends(shared_js, '--disable-export-js', when=js_standalone) def exportable_js_api(shared_js, export_js): if not shared_js and export_js: return True set_define('STATIC_EXPORTABLE_JS_API', exportable_js_api) -@depends('--disable-shared-js', '--disable-export-js') +@depends(shared_js, exportable_js_api) def static_js_api(shared_js, export_js): if not shared_js and not export_js: return True set_define('STATIC_JS_API', static_js_api) -@depends('--disable-shared-js') +@depends(shared_js) def static_js(value): if not value: return True From 66cb95a768a4f031e8b2443e6d6fd72dfae142d6 Mon Sep 17 00:00:00 2001 From: Mike Hommey Date: Wed, 29 May 2019 00:59:20 +0000 Subject: [PATCH 70/80] Bug 1554063 - Move decimal to mozglue. r=jwalden Differential Revision: https://phabricator.services.mozilla.com/D32435 --HG-- rename : mfbt/decimal/Decimal.cpp => mozglue/misc/decimal/Decimal.cpp rename : mfbt/decimal/Decimal.h => mozglue/misc/decimal/Decimal.h rename : mfbt/decimal/UPSTREAM-GIT-SHA => mozglue/misc/decimal/UPSTREAM-GIT-SHA rename : mfbt/decimal/comparison-with-nan.patch => mozglue/misc/decimal/comparison-with-nan.patch rename : mfbt/decimal/fix-wshadow-warnings.patch => mozglue/misc/decimal/fix-wshadow-warnings.patch rename : mfbt/decimal/mfbt-abi-markers.patch => mozglue/misc/decimal/mfbt-abi-markers.patch rename : mfbt/decimal/moz-decimal-utils.h => mozglue/misc/decimal/moz-decimal-utils.h rename : mfbt/decimal/to-moz-dependencies.patch => mozglue/misc/decimal/to-moz-dependencies.patch rename : mfbt/decimal/update.sh => mozglue/misc/decimal/update.sh rename : mfbt/decimal/zero-serialization.patch => mozglue/misc/decimal/zero-serialization.patch extra : moz-landing-system : lando --- .clang-format-ignore | 2 +- config/check_spidermonkey_style.py | 1 - mfbt/moz.build | 6 ------ {mfbt => mozglue/misc}/decimal/Decimal.cpp | 0 {mfbt => mozglue/misc}/decimal/Decimal.h | 0 {mfbt => mozglue/misc}/decimal/UPSTREAM-GIT-SHA | 0 .../misc}/decimal/comparison-with-nan.patch | 6 +++--- .../misc}/decimal/fix-wshadow-warnings.patch | 12 ++++++------ .../misc}/decimal/mfbt-abi-markers.patch | 6 +++--- {mfbt => mozglue/misc}/decimal/moz-decimal-utils.h | 0 .../misc}/decimal/to-moz-dependencies.patch | 12 ++++++------ {mfbt => mozglue/misc}/decimal/update.sh | 0 .../misc}/decimal/zero-serialization.patch | 6 +++--- mozglue/misc/moz.build | 9 +++++++++ tools/rewriting/ThirdPartyPaths.txt | 2 +- 15 files changed, 32 insertions(+), 30 deletions(-) rename {mfbt => mozglue/misc}/decimal/Decimal.cpp (100%) rename {mfbt => mozglue/misc}/decimal/Decimal.h (100%) rename {mfbt => mozglue/misc}/decimal/UPSTREAM-GIT-SHA (100%) rename {mfbt => mozglue/misc}/decimal/comparison-with-nan.patch (91%) rename {mfbt => mozglue/misc}/decimal/fix-wshadow-warnings.patch (94%) rename {mfbt => mozglue/misc}/decimal/mfbt-abi-markers.patch (97%) rename {mfbt => mozglue/misc}/decimal/moz-decimal-utils.h (100%) rename {mfbt => mozglue/misc}/decimal/to-moz-dependencies.patch (95%) rename {mfbt => mozglue/misc}/decimal/update.sh (100%) rename {mfbt => mozglue/misc}/decimal/zero-serialization.patch (75%) diff --git a/.clang-format-ignore b/.clang-format-ignore index 17f6002d91b0..041d83ec0f67 100644 --- a/.clang-format-ignore +++ b/.clang-format-ignore @@ -136,7 +136,6 @@ media/openmax_dl/.* media/openmax_il/.* media/webrtc/signaling/src/sdp/sipcc/.* media/webrtc/trunk/.* -mfbt/decimal/.* mfbt/double-conversion/double-conversion/.* mfbt/lz4.* mobile/android/geckoview/src/thirdparty/.* @@ -150,6 +149,7 @@ modules/pdfium/.* modules/woff2/.* modules/xz-embedded/.* modules/zlib/.* +mozglue/misc/decimal/.* netwerk/dns/nsIDNKitInterface.h netwerk/sctp/src/.* netwerk/srtp/src/.* diff --git a/config/check_spidermonkey_style.py b/config/check_spidermonkey_style.py index 260b00d923ab..7bf9e2a78e0a 100644 --- a/config/check_spidermonkey_style.py +++ b/config/check_spidermonkey_style.py @@ -246,7 +246,6 @@ def check_style(enable_fixup): # # Examples (filename -> inclname) # - "mfbt/Attributes.h" -> "mozilla/Attributes.h" - # - "mfbt/decimal/Decimal.h -> "mozilla/Decimal.h" # - "mozglue/misc/TimeStamp.h -> "mozilla/TimeStamp.h" # - "memory/mozalloc/mozalloc.h -> "mozilla/mozalloc.h" # - "js/public/Vector.h" -> "js/Vector.h" diff --git a/mfbt/moz.build b/mfbt/moz.build index 5aa697a5e603..a12c9c890781 100644 --- a/mfbt/moz.build +++ b/mfbt/moz.build @@ -31,7 +31,6 @@ EXPORTS.mozilla = [ 'Compression.h', 'DbgMacro.h', 'DebugOnly.h', - 'decimal/Decimal.h', 'DefineEnum.h', 'DoublyLinkedList.h', 'EndianUtils.h', @@ -169,16 +168,11 @@ DEFINES['IMPL_MFBT'] = True SOURCES += [ 'Compression.cpp', - 'decimal/Decimal.cpp', 'lz4.c', ] DisableStlWrapping() -if CONFIG['CC_TYPE'] == 'clang': - # Suppress warnings from third-party V8 Decimal code. - SOURCES['decimal/Decimal.cpp'].flags += ['-Wno-implicit-fallthrough'] - if CONFIG['MOZ_NEEDS_LIBATOMIC']: OS_LIBS += ['atomic'] diff --git a/mfbt/decimal/Decimal.cpp b/mozglue/misc/decimal/Decimal.cpp similarity index 100% rename from mfbt/decimal/Decimal.cpp rename to mozglue/misc/decimal/Decimal.cpp diff --git a/mfbt/decimal/Decimal.h b/mozglue/misc/decimal/Decimal.h similarity index 100% rename from mfbt/decimal/Decimal.h rename to mozglue/misc/decimal/Decimal.h diff --git a/mfbt/decimal/UPSTREAM-GIT-SHA b/mozglue/misc/decimal/UPSTREAM-GIT-SHA similarity index 100% rename from mfbt/decimal/UPSTREAM-GIT-SHA rename to mozglue/misc/decimal/UPSTREAM-GIT-SHA diff --git a/mfbt/decimal/comparison-with-nan.patch b/mozglue/misc/decimal/comparison-with-nan.patch similarity index 91% rename from mfbt/decimal/comparison-with-nan.patch rename to mozglue/misc/decimal/comparison-with-nan.patch index 477a61437588..0e274ce033ba 100644 --- a/mfbt/decimal/comparison-with-nan.patch +++ b/mozglue/misc/decimal/comparison-with-nan.patch @@ -1,6 +1,6 @@ -diff --git a/mfbt/decimal/Decimal.cpp b/mfbt/decimal/Decimal.cpp ---- a/mfbt/decimal/Decimal.cpp -+++ b/mfbt/decimal/Decimal.cpp +diff --git a/mozglue/misc/decimal/Decimal.cpp b/mozglue/misc/decimal/Decimal.cpp +--- a/mozglue/misc/decimal/Decimal.cpp ++++ b/mozglue/misc/decimal/Decimal.cpp @@ -509,21 +509,25 @@ Decimal Decimal::operator/(const Decimal if (remainder > divisor / 2) ++result; diff --git a/mfbt/decimal/fix-wshadow-warnings.patch b/mozglue/misc/decimal/fix-wshadow-warnings.patch similarity index 94% rename from mfbt/decimal/fix-wshadow-warnings.patch rename to mozglue/misc/decimal/fix-wshadow-warnings.patch index eed7b60f720b..465c61a223d0 100644 --- a/mfbt/decimal/fix-wshadow-warnings.patch +++ b/mozglue/misc/decimal/fix-wshadow-warnings.patch @@ -1,6 +1,6 @@ -diff --git a/mfbt/decimal/Decimal.cpp b/mfbt/decimal/Decimal.cpp ---- a/mfbt/decimal/Decimal.cpp -+++ b/mfbt/decimal/Decimal.cpp +diff --git a/mozglue/misc/decimal/Decimal.cpp b/mozglue/misc/decimal/Decimal.cpp +--- a/mozglue/misc/decimal/Decimal.cpp ++++ b/mozglue/misc/decimal/Decimal.cpp @@ -118,18 +118,18 @@ Decimal SpecialValueHandler::value() con ASSERT_NOT_REACHED(); return m_lhs; @@ -147,9 +147,9 @@ diff --git a/mfbt/decimal/Decimal.cpp b/mfbt/decimal/Decimal.cpp bool Decimal::operator==(const Decimal& rhs) const { if (isNaN() || rhs.isNaN()) -diff --git a/mfbt/decimal/Decimal.h b/mfbt/decimal/Decimal.h ---- a/mfbt/decimal/Decimal.h -+++ b/mfbt/decimal/Decimal.h +diff --git a/mozglue/misc/decimal/Decimal.h b/mozglue/misc/decimal/Decimal.h +--- a/mozglue/misc/decimal/Decimal.h ++++ b/mozglue/misc/decimal/Decimal.h @@ -88,17 +88,17 @@ public: int countDigits() const; int exponent() const { return m_exponent; } diff --git a/mfbt/decimal/mfbt-abi-markers.patch b/mozglue/misc/decimal/mfbt-abi-markers.patch similarity index 97% rename from mfbt/decimal/mfbt-abi-markers.patch rename to mozglue/misc/decimal/mfbt-abi-markers.patch index 4399c2134de0..1d50d3d643b5 100644 --- a/mfbt/decimal/mfbt-abi-markers.patch +++ b/mozglue/misc/decimal/mfbt-abi-markers.patch @@ -1,6 +1,6 @@ -diff --git a/mfbt/decimal/Decimal.h b/mfbt/decimal/Decimal.h ---- a/mfbt/decimal/Decimal.h -+++ b/mfbt/decimal/Decimal.h +diff --git a/mozglue/misc/decimal/Decimal.h b/mozglue/misc/decimal/Decimal.h +--- a/mozglue/misc/decimal/Decimal.h ++++ b/mozglue/misc/decimal/Decimal.h @@ -26,16 +26,18 @@ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE diff --git a/mfbt/decimal/moz-decimal-utils.h b/mozglue/misc/decimal/moz-decimal-utils.h similarity index 100% rename from mfbt/decimal/moz-decimal-utils.h rename to mozglue/misc/decimal/moz-decimal-utils.h diff --git a/mfbt/decimal/to-moz-dependencies.patch b/mozglue/misc/decimal/to-moz-dependencies.patch similarity index 95% rename from mfbt/decimal/to-moz-dependencies.patch rename to mozglue/misc/decimal/to-moz-dependencies.patch index 25f52d7bf716..bf19a6da96cb 100644 --- a/mfbt/decimal/to-moz-dependencies.patch +++ b/mozglue/misc/decimal/to-moz-dependencies.patch @@ -1,6 +1,6 @@ -diff --git a/mfbt/decimal/Decimal.cpp b/mfbt/decimal/Decimal.cpp ---- a/mfbt/decimal/Decimal.cpp -+++ b/mfbt/decimal/Decimal.cpp +diff --git a/mozglue/misc/decimal/Decimal.cpp b/mozglue/misc/decimal/Decimal.cpp +--- a/mozglue/misc/decimal/Decimal.cpp ++++ b/mozglue/misc/decimal/Decimal.cpp @@ -23,22 +23,20 @@ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, @@ -112,9 +112,9 @@ diff --git a/mfbt/decimal/Decimal.cpp b/mfbt/decimal/Decimal.cpp } } // namespace blink -diff --git a/mfbt/decimal/Decimal.h b/mfbt/decimal/Decimal.h ---- a/mfbt/decimal/Decimal.h -+++ b/mfbt/decimal/Decimal.h +diff --git a/mozglue/misc/decimal/Decimal.h b/mozglue/misc/decimal/Decimal.h +--- a/mozglue/misc/decimal/Decimal.h ++++ b/mozglue/misc/decimal/Decimal.h @@ -23,26 +23,49 @@ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, diff --git a/mfbt/decimal/update.sh b/mozglue/misc/decimal/update.sh similarity index 100% rename from mfbt/decimal/update.sh rename to mozglue/misc/decimal/update.sh diff --git a/mfbt/decimal/zero-serialization.patch b/mozglue/misc/decimal/zero-serialization.patch similarity index 75% rename from mfbt/decimal/zero-serialization.patch rename to mozglue/misc/decimal/zero-serialization.patch index bafa35956314..b8de9241bd3f 100644 --- a/mfbt/decimal/zero-serialization.patch +++ b/mozglue/misc/decimal/zero-serialization.patch @@ -1,6 +1,6 @@ -diff --git a/mfbt/decimal/Decimal.cpp b/mfbt/decimal/Decimal.cpp ---- a/mfbt/decimal/Decimal.cpp -+++ b/mfbt/decimal/Decimal.cpp +diff --git a/mozglue/misc/decimal/Decimal.cpp b/mozglue/misc/decimal/Decimal.cpp +--- a/mozglue/misc/decimal/Decimal.cpp ++++ b/mozglue/misc/decimal/Decimal.cpp @@ -277,17 +277,17 @@ bool Decimal::EncodedData::operator==(co } diff --git a/mozglue/misc/moz.build b/mozglue/misc/moz.build index cc27aa24b8e1..fd65a16cc98f 100644 --- a/mozglue/misc/moz.build +++ b/mozglue/misc/moz.build @@ -8,6 +8,7 @@ FINAL_LIBRARY = 'mozglue' EXPORTS.mozilla += [ 'AutoProfilerLabel.h', + 'decimal/Decimal.h', 'PlatformConditionVariable.h', 'PlatformMutex.h', 'Printf.h', @@ -77,3 +78,11 @@ else: 'ConditionVariable_posix.cpp', 'Mutex_posix.cpp', ] + +SOURCES += [ + 'decimal/Decimal.cpp', +] + +if CONFIG['CC_TYPE'] == 'clang': + # Suppress warnings from third-party V8 Decimal code. + SOURCES['decimal/Decimal.cpp'].flags += ['-Wno-implicit-fallthrough'] diff --git a/tools/rewriting/ThirdPartyPaths.txt b/tools/rewriting/ThirdPartyPaths.txt index 89a5827b34d5..56875ff0a4a3 100644 --- a/tools/rewriting/ThirdPartyPaths.txt +++ b/tools/rewriting/ThirdPartyPaths.txt @@ -80,7 +80,6 @@ media/openmax_dl/ media/openmax_il/ media/webrtc/signaling/src/sdp/sipcc/ media/webrtc/trunk/ -mfbt/decimal/ mfbt/double-conversion/double-conversion/ mfbt/lz4.* mobile/android/geckoview/src/thirdparty/ @@ -91,6 +90,7 @@ modules/freetype2/ modules/woff2/ modules/xz-embedded/ modules/zlib/ +mozglue/misc/decimal/ netwerk/dns/nsIDNKitInterface.h netwerk/sctp/src/ netwerk/srtp/src/ From 41261b6bd43f801cdd52f1f2ccdd9f05e5de207d Mon Sep 17 00:00:00 2001 From: James Teh Date: Tue, 28 May 2019 17:42:59 +0000 Subject: [PATCH 71/80] Bug 1543282 part 1: Reference counting for DocAccessibleParent. r=eeejay,nika Supporting out-of-process iframes requires us to hold onto a DocAccessibleParent in BrowserBridgeParent. However, we can't guarantee the order of cleanup between the two content processes. Therefore, we need reference counting to kee the object alive. Differential Revision: https://phabricator.services.mozilla.com/D32277 --HG-- extra : moz-landing-system : lando --- accessible/ipc/DocAccessibleParent.cpp | 16 +++++++++++----- accessible/ipc/DocAccessibleParent.h | 16 ++++++++-------- dom/ipc/BrowserParent.cpp | 6 ++++-- 3 files changed, 23 insertions(+), 15 deletions(-) diff --git a/accessible/ipc/DocAccessibleParent.cpp b/accessible/ipc/DocAccessibleParent.cpp index adb9175449a9..0c92c15d6cbc 100644 --- a/accessible/ipc/DocAccessibleParent.cpp +++ b/accessible/ipc/DocAccessibleParent.cpp @@ -676,12 +676,17 @@ void DocAccessibleParent::MaybeInitWindowEmulation() { isActive = browserParent->GetDocShellIsActive(); } - nsWinUtils::NativeWindowCreateProc onCreate([this](HWND aHwnd) -> void { + // onCreate is guaranteed to be called synchronously by + // nsWinUtils::CreateNativeWindow, so this reference isn't really necessary. + // However, static analysis complains without it. + RefPtr thisRef = this; + nsWinUtils::NativeWindowCreateProc onCreate([thisRef](HWND aHwnd) -> void { IDispatchHolder hWndAccHolder; - ::SetPropW(aHwnd, kPropNameDocAccParent, reinterpret_cast(this)); + ::SetPropW(aHwnd, kPropNameDocAccParent, + reinterpret_cast(thisRef.get())); - SetEmulatedWindowHandle(aHwnd); + thisRef->SetEmulatedWindowHandle(aHwnd); RefPtr hwndAcc; if (SUCCEEDED(::AccessibleObjectFromWindow( @@ -692,8 +697,9 @@ void DocAccessibleParent::MaybeInitWindowEmulation() { mscom::ToProxyUniquePtr(std::move(wrapped)))); } - Unused << SendEmulatedWindow( - reinterpret_cast(mEmulatedWindowHandle), hWndAccHolder); + Unused << thisRef->SendEmulatedWindow( + reinterpret_cast(thisRef->mEmulatedWindowHandle), + hWndAccHolder); }); HWND parentWnd = reinterpret_cast(rootDocument->GetNativeWindow()); diff --git a/accessible/ipc/DocAccessibleParent.h b/accessible/ipc/DocAccessibleParent.h index 6d02ed621f03..71fed39b8293 100644 --- a/accessible/ipc/DocAccessibleParent.h +++ b/accessible/ipc/DocAccessibleParent.h @@ -26,6 +26,8 @@ class xpcAccessibleGeneric; class DocAccessibleParent : public ProxyAccessible, public PDocAccessibleParent { public: + NS_INLINE_DECL_REFCOUNTING(DocAccessibleParent); + DocAccessibleParent() : ProxyAccessible(this), mParentDoc(kNoParentDoc), @@ -34,20 +36,12 @@ class DocAccessibleParent : public ProxyAccessible, #endif // defined(XP_WIN) mTopLevel(false), mShutdown(false) { - MOZ_COUNT_CTOR_INHERITED(DocAccessibleParent, ProxyAccessible); sMaxDocID++; mActorID = sMaxDocID; MOZ_ASSERT(!LiveDocs().Get(mActorID)); LiveDocs().Put(mActorID, this); } - ~DocAccessibleParent() { - LiveDocs().Remove(mActorID); - MOZ_COUNT_DTOR_INHERITED(DocAccessibleParent, ProxyAccessible); - MOZ_ASSERT(mChildDocs.Length() == 0); - MOZ_ASSERT(!ParentDoc()); - } - void SetTopLevel() { mTopLevel = true; } bool IsTopLevel() const { return mTopLevel; } @@ -221,6 +215,12 @@ class DocAccessibleParent : public ProxyAccessible, #endif private: + ~DocAccessibleParent() { + LiveDocs().Remove(mActorID); + MOZ_ASSERT(mChildDocs.Length() == 0); + MOZ_ASSERT(!ParentDoc()); + } + class ProxyEntry : public PLDHashEntryHdr { public: explicit ProxyEntry(const void*) : mProxy(nullptr) {} diff --git a/dom/ipc/BrowserParent.cpp b/dom/ipc/BrowserParent.cpp index 1a139036a05b..91a2b4d06ad5 100644 --- a/dom/ipc/BrowserParent.cpp +++ b/dom/ipc/BrowserParent.cpp @@ -1059,7 +1059,8 @@ a11y::PDocAccessibleParent* BrowserParent::AllocPDocAccessibleParent( PDocAccessibleParent* aParent, const uint64_t&, const uint32_t&, const IAccessibleHolder&) { #ifdef ACCESSIBILITY - return new a11y::DocAccessibleParent(); + // Reference freed in DeallocPDocAccessibleParent. + return do_AddRef(new a11y::DocAccessibleParent()).take(); #else return nullptr; #endif @@ -1067,7 +1068,8 @@ a11y::PDocAccessibleParent* BrowserParent::AllocPDocAccessibleParent( bool BrowserParent::DeallocPDocAccessibleParent(PDocAccessibleParent* aParent) { #ifdef ACCESSIBILITY - delete static_cast(aParent); + // Free reference from AllocPDocAccessibleParent. + static_cast(aParent)->Release(); #endif return true; } From 69a15839ecd6c2c7da07dd3d1eed482d97fbbec5 Mon Sep 17 00:00:00 2001 From: James Teh Date: Fri, 24 May 2019 19:23:18 +0000 Subject: [PATCH 72/80] Bug 1543282 part 2: Add PBrowserBridge::SetEmbedderAccessible so the child can tell the parent the embedder iframe accessible. r=nika,eeejay Differential Revision: https://phabricator.services.mozilla.com/D31393 --HG-- extra : moz-landing-system : lando --- dom/ipc/BrowserBridgeParent.cpp | 15 ++++++++++++++- dom/ipc/BrowserBridgeParent.h | 21 +++++++++++++++++++++ dom/ipc/PBrowserBridge.ipdl | 9 +++++++++ 3 files changed, 44 insertions(+), 1 deletion(-) diff --git a/dom/ipc/BrowserBridgeParent.cpp b/dom/ipc/BrowserBridgeParent.cpp index 104c788138f9..cfd95d9622d4 100644 --- a/dom/ipc/BrowserBridgeParent.cpp +++ b/dom/ipc/BrowserBridgeParent.cpp @@ -4,6 +4,9 @@ * 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/. */ +#ifdef ACCESSIBILITY +# include "mozilla/a11y/DocAccessibleParent.h" +#endif #include "mozilla/dom/BrowserBridgeParent.h" #include "mozilla/dom/BrowserParent.h" #include "mozilla/dom/ContentParent.h" @@ -19,7 +22,8 @@ using namespace mozilla::hal; namespace mozilla { namespace dom { -BrowserBridgeParent::BrowserBridgeParent() : mIPCOpen(false) {} +BrowserBridgeParent::BrowserBridgeParent() + : mEmbedderAccessibleID(0), mIPCOpen(false) {} BrowserBridgeParent::~BrowserBridgeParent() { Destroy(); } @@ -204,6 +208,15 @@ IPCResult BrowserBridgeParent::RecvSetIsUnderHiddenEmbedderElement( return IPC_OK(); } +IPCResult BrowserBridgeParent::RecvSetEmbedderAccessible( + PDocAccessibleParent* aDoc, uint64_t aID) { +#ifdef ACCESSIBILITY + mEmbedderAccessibleDoc = static_cast(aDoc); + mEmbedderAccessibleID = aID; +#endif + return IPC_OK(); +} + void BrowserBridgeParent::ActorDestroy(ActorDestroyReason aWhy) { mIPCOpen = false; Destroy(); diff --git a/dom/ipc/BrowserBridgeParent.h b/dom/ipc/BrowserBridgeParent.h index de629a406bb3..6b9b2bc67751 100644 --- a/dom/ipc/BrowserBridgeParent.h +++ b/dom/ipc/BrowserBridgeParent.h @@ -8,8 +8,14 @@ #define mozilla_dom_BrowserBridgeParent_h #include "mozilla/dom/PBrowserBridgeParent.h" +#include "mozilla/Tuple.h" namespace mozilla { + +namespace a11y { +class DocAccessibleParent; +} + namespace dom { class BrowserParent; @@ -36,6 +42,16 @@ class BrowserBridgeParent : public PBrowserBridgeParent { // Get our manager actor. BrowserParent* Manager(); + /** + * Get the accessible for this iframe's embedder OuterDocAccessible. + * This returns the actor for the containing document and the unique id of + * the embedder accessible within that document. + */ + Tuple GetEmbedderAccessible() { + return Tuple(mEmbedderAccessibleDoc, + mEmbedderAccessibleID); + } + // Tear down this BrowserBridgeParent. void Destroy(); @@ -68,12 +84,17 @@ class BrowserBridgeParent : public PBrowserBridgeParent { mozilla::ipc::IPCResult RecvSetIsUnderHiddenEmbedderElement( const bool& aIsUnderHiddenEmbedderElement); + mozilla::ipc::IPCResult RecvSetEmbedderAccessible(PDocAccessibleParent* aDoc, + uint64_t aID); + void ActorDestroy(ActorDestroyReason aWhy) override; private: ~BrowserBridgeParent(); RefPtr mBrowserParent; + RefPtr mEmbedderAccessibleDoc; + uint64_t mEmbedderAccessibleID; bool mIPCOpen; }; diff --git a/dom/ipc/PBrowserBridge.ipdl b/dom/ipc/PBrowserBridge.ipdl index 244df339c089..6dfb10302cc3 100644 --- a/dom/ipc/PBrowserBridge.ipdl +++ b/dom/ipc/PBrowserBridge.ipdl @@ -5,6 +5,7 @@ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ include protocol PBrowser; +include protocol PDocAccessible; include DOMTypes; @@ -76,6 +77,14 @@ parent: async SetIsUnderHiddenEmbedderElement(bool aIsUnderHiddenEmbedderElement); async SkipBrowsingContextDetach(); + + /** + * Tell the parent the accessible for this iframe's embedder + * OuterDocAccessible. + * aDoc is the actor for the containing document. + * aID is the unique id of the embedder accessible within that document. + */ + async SetEmbedderAccessible(PDocAccessible aDoc, uint64_t aID); }; } // namespace dom From 25b9e2f1f589b35acdc7d47dbe53ae827a156d10 Mon Sep 17 00:00:00 2001 From: James Teh Date: Wed, 29 May 2019 04:42:55 +0000 Subject: [PATCH 73/80] Bug 1543282 part 3: For iframes rendered in other processes, tell the parent the embedder iframe accessible. r=eeejay We do this when the OuterDocAccessible is constructed. This will be used later in the parent process to link the trees together when the iframe's embedded document accessible is added. Differential Revision: https://phabricator.services.mozilla.com/D31394 --HG-- extra : moz-landing-system : lando --- accessible/generic/OuterDocAccessible.cpp | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/accessible/generic/OuterDocAccessible.cpp b/accessible/generic/OuterDocAccessible.cpp index 461dc08c411a..843212a360b5 100644 --- a/accessible/generic/OuterDocAccessible.cpp +++ b/accessible/generic/OuterDocAccessible.cpp @@ -8,7 +8,9 @@ #include "Accessible-inl.h" #include "nsAccUtils.h" #include "DocAccessible-inl.h" +#include "mozilla/a11y/DocAccessibleChild.h" #include "mozilla/a11y/DocAccessibleParent.h" +#include "mozilla/dom/BrowserBridgeChild.h" #include "mozilla/dom/BrowserParent.h" #include "Role.h" #include "States.h" @@ -35,6 +37,20 @@ OuterDocAccessible::OuterDocAccessible(nsIContent* aContent, } #endif + if (IPCAccessibilityActive()) { + auto bridge = dom::BrowserBridgeChild::GetFrom(aContent); + if (bridge) { + // This is an iframe which will be rendered in another process. Tell the + // parent process the iframe accessible so it can link the + // trees together when the iframe document is added. + DocAccessibleChild* ipcDoc = aDoc->IPCDoc(); + if (ipcDoc) { + uint64_t id = reinterpret_cast(UniqueID()); + bridge->SendSetEmbedderAccessible(ipcDoc, id); + } + } + } + // Request document accessible for the content document to make sure it's // created. It will appended to outerdoc accessible children asynchronously. dom::Document* outerDoc = mContent->GetUncomposedDoc(); From bfb6c4c160b3a74e783d1f73204dd2c6be15c412 Mon Sep 17 00:00:00 2001 From: James Teh Date: Wed, 29 May 2019 04:36:18 +0000 Subject: [PATCH 74/80] Bug 1543287: Add embedded out-of-process iframe DocAccessibleParent as a child of its embedder DocAccessibleParent. r=eeejay,nika For iframes in a different process to their embedder, when the embedded iframe content process tells the parent process about the iframe document, it does not have the actor for the parent document accessible, nor does it know the accessible id of the embedding iframe. However, the embedder will have previously sendt the actor and id for the embedder accessible to the parent via PBrowserBridge, so we can use that to identify the parent accessible. Differential Revision: https://phabricator.services.mozilla.com/D31395 --HG-- extra : moz-landing-system : lando --- accessible/ipc/DocAccessibleParent.cpp | 19 +++++++++++++++++++ accessible/ipc/DocAccessibleParent.h | 8 ++++++++ dom/ipc/BrowserParent.cpp | 24 ++++++++++++++++++++++++ 3 files changed, 51 insertions(+) diff --git a/accessible/ipc/DocAccessibleParent.cpp b/accessible/ipc/DocAccessibleParent.cpp index 0c92c15d6cbc..89f97476e582 100644 --- a/accessible/ipc/DocAccessibleParent.cpp +++ b/accessible/ipc/DocAccessibleParent.cpp @@ -6,6 +6,7 @@ #include "DocAccessibleParent.h" #include "mozilla/a11y/Platform.h" +#include "mozilla/dom/BrowserBridgeParent.h" #include "mozilla/dom/BrowserParent.h" #include "xpcAccessibleDocument.h" #include "xpcAccEvents.h" @@ -836,5 +837,23 @@ mozilla::ipc::IPCResult DocAccessibleParent::RecvBatch( } #endif // !defined(XP_WIN) +Tuple DocAccessibleParent::GetRemoteEmbedder() { + dom::BrowserParent* embeddedBrowser = dom::BrowserParent::GetFrom(Manager()); + dom::BrowserBridgeParent* bridge = embeddedBrowser->GetBrowserBridgeParent(); + if (!bridge) { + return Tuple(nullptr, 0); + } + DocAccessibleParent* doc; + uint64_t id; + Tie(doc, id) = bridge->GetEmbedderAccessible(); + if (doc && doc->IsShutdown()) { + // Sometimes, the embedder document is destroyed before its + // BrowserBridgeParent. Don't return a destroyed document. + doc = nullptr; + id = 0; + } + return Tuple(doc, id); +} + } // namespace a11y } // namespace mozilla diff --git a/accessible/ipc/DocAccessibleParent.h b/accessible/ipc/DocAccessibleParent.h index 71fed39b8293..3c3bc8988acc 100644 --- a/accessible/ipc/DocAccessibleParent.h +++ b/accessible/ipc/DocAccessibleParent.h @@ -10,6 +10,7 @@ #include "nsAccessibilityService.h" #include "mozilla/a11y/PDocAccessibleParent.h" #include "mozilla/a11y/ProxyAccessible.h" +#include "mozilla/Tuple.h" #include "nsClassHashtable.h" #include "nsHashKeys.h" #include "nsISupportsImpl.h" @@ -214,6 +215,13 @@ class DocAccessibleParent : public ProxyAccessible, const uint64_t& aBatchType, nsTArray&& aData) override; #endif + /** + * If this is an iframe document rendered in a different process to its + * embedder, return the DocAccessibleParent and id for the embedder + * accessible. Otherwise, return null and 0. + */ + Tuple GetRemoteEmbedder(); + private: ~DocAccessibleParent() { LiveDocs().Remove(mActorID); diff --git a/dom/ipc/BrowserParent.cpp b/dom/ipc/BrowserParent.cpp index 91a2b4d06ad5..1b6c09a1c34c 100644 --- a/dom/ipc/BrowserParent.cpp +++ b/dom/ipc/BrowserParent.cpp @@ -1115,6 +1115,30 @@ mozilla::ipc::IPCResult BrowserParent::RecvPDocAccessibleConstructor( } # endif + return IPC_OK(); + } + + a11y::DocAccessibleParent* embedderDoc; + uint64_t embedderID; + Tie(embedderDoc, embedderID) = doc->GetRemoteEmbedder(); + if (embedderDoc) { + // Iframe document rendered in a different process to its embedder. + // In this case, we don't get aParentDoc and aParentID. + MOZ_ASSERT(!aParentDoc && !aParentID); + MOZ_ASSERT(embedderID); + mozilla::ipc::IPCResult added = embedderDoc->AddChildDoc(doc, embedderID); + if (!added) { +# ifdef DEBUG + return added; +# else + return IPC_OK(); +# endif + } +# ifdef XP_WIN + if (a11y::nsWinUtils::IsWindowEmulationStarted()) { + doc->SetEmulatedWindowHandle(embedderDoc->GetEmulatedWindowHandle()); + } +# endif return IPC_OK(); } else { // null aParentDoc means this document is at the top level in the child From 761f01d612c0472274114f3cf05b36e397fea56b Mon Sep 17 00:00:00 2001 From: Masayuki Nakano Date: Wed, 29 May 2019 04:44:23 +0000 Subject: [PATCH 75/80] Bug 1533913 - Make HTMLEditRules::ApplyBlockStyle() stop handling it if target node is moved from expected container unexpectedly r=m_kato `HTMLEditRules::ApplyBlockStyle()` stores `curBlock` and `newBlock` during its loop to keep handling from deeper child to ancestor, and may do two things for a `curNode`. If `curBlock` and/or `newBlock` is moved from expected container when it sets one of or both of them, this patch check whether mutation event listeners change the DOM tree. Additionally, this patch also checks whether `curNode' is moved by mutation event listener at first step of two jobs for it. Differential Revision: https://phabricator.services.mozilla.com/D32689 --HG-- extra : moz-landing-system : lando --- editor/libeditor/EditorDOMPoint.h | 4 ++ editor/libeditor/HTMLEditRules.cpp | 73 ++++++++++++++++++--- editor/libeditor/HTMLEditor.cpp | 24 +++++-- editor/libeditor/crashtests/1533913.html | 14 ++++ editor/libeditor/crashtests/crashtests.list | 1 + 5 files changed, 102 insertions(+), 14 deletions(-) create mode 100644 editor/libeditor/crashtests/1533913.html diff --git a/editor/libeditor/EditorDOMPoint.h b/editor/libeditor/EditorDOMPoint.h index b6780715fe95..e354f9b5fd9a 100644 --- a/editor/libeditor/EditorDOMPoint.h +++ b/editor/libeditor/EditorDOMPoint.h @@ -501,6 +501,10 @@ class EditorDOMPointBase final { return true; } + bool HasChildMovedFromContainer() const { + return mChild && mChild->GetParentNode() != mParent; + } + bool IsStartOfContainer() const { // If we're referring the first point in the container: // If mParent is not a container like a text node, mOffset is 0. diff --git a/editor/libeditor/HTMLEditRules.cpp b/editor/libeditor/HTMLEditRules.cpp index 5561e394b1e8..e1ce4b16d37d 100644 --- a/editor/libeditor/HTMLEditRules.cpp +++ b/editor/libeditor/HTMLEditRules.cpp @@ -8654,6 +8654,15 @@ nsresult HTMLEditRules::ApplyBlockStyle( nsCOMPtr curBlock; for (auto& curNode : aNodeArray) { + if (NS_WARN_IF(!curNode->GetParent())) { + // If given node has been removed from the document, let's ignore it + // since the following code may need its parent replace it with new + // block. + curBlock = nullptr; + newBlock = nullptr; + continue; + } + EditorDOMPoint atCurNode(curNode); // Is it already the right kind of block, or an uneditable block? @@ -8681,6 +8690,12 @@ nsresult HTMLEditRules::ApplyBlockStyle( if (NS_WARN_IF(!newBlock)) { return NS_ERROR_FAILURE; } + // If the new block element was moved to different element or removed by + // the web app via mutation event listener, we should stop handling this + // action since we cannot handle each of a lot of edge cases. + if (NS_WARN_IF(newBlock->GetParentNode() != atCurNode.GetContainer())) { + return NS_ERROR_EDITOR_UNEXPECTED_DOM_TREE; + } continue; } @@ -8707,16 +8722,29 @@ nsresult HTMLEditRules::ApplyBlockStyle( if (NS_WARN_IF(splitNodeResult.Failed())) { return splitNodeResult.Rv(); } + // If current handling node has been moved from the container by a + // mutation event listener when we need to do something more for it, + // we should stop handling this action since we cannot handle each of + // a lot of edge cases. + if (NS_WARN_IF(atCurNode.HasChildMovedFromContainer())) { + return NS_ERROR_EDITOR_UNEXPECTED_DOM_TREE; + } + EditorDOMPoint splitPoint = splitNodeResult.SplitPoint(); RefPtr theBlock = MOZ_KnownLive(HTMLEditorRef()) - .CreateNodeWithTransaction(aBlockTag, - splitNodeResult.SplitPoint()); + .CreateNodeWithTransaction(aBlockTag, splitPoint); if (NS_WARN_IF(!CanHandleEditAction())) { return NS_ERROR_EDITOR_DESTROYED; } if (NS_WARN_IF(!theBlock)) { return NS_ERROR_FAILURE; } + // If the new block element was moved to different element or removed by + // the web app via mutation event listener, we should stop handling this + // action since we cannot handle each of a lot of edge cases. + if (NS_WARN_IF(theBlock->GetParentNode() != splitPoint.GetContainer())) { + return NS_ERROR_EDITOR_UNEXPECTED_DOM_TREE; + } // Remember our new block for postprocessing mNewBlock = theBlock; continue; @@ -8746,15 +8774,28 @@ nsresult HTMLEditRules::ApplyBlockStyle( if (NS_WARN_IF(splitNodeResult.Failed())) { return splitNodeResult.Rv(); } + // If current handling node has been moved from the container by a + // mutation event listener when we need to do something more for it, + // we should stop handling this action since we cannot handle each of + // a lot of edge cases. + if (NS_WARN_IF(atCurNode.HasChildMovedFromContainer())) { + return NS_ERROR_EDITOR_UNEXPECTED_DOM_TREE; + } + EditorDOMPoint splitPoint = splitNodeResult.SplitPoint(); curBlock = MOZ_KnownLive(HTMLEditorRef()) - .CreateNodeWithTransaction(aBlockTag, - splitNodeResult.SplitPoint()); + .CreateNodeWithTransaction(aBlockTag, splitPoint); if (NS_WARN_IF(!CanHandleEditAction())) { return NS_ERROR_EDITOR_DESTROYED; } if (NS_WARN_IF(!curBlock)) { return NS_ERROR_FAILURE; } + // If the new block element was moved to different element or removed by + // the web app via mutation event listener, we should stop handling this + // action since we cannot handle each of a lot of edge cases. + if (NS_WARN_IF(curBlock->GetParentNode() != splitPoint.GetContainer())) { + return NS_ERROR_EDITOR_UNEXPECTED_DOM_TREE; + } // Remember our new block for postprocessing mNewBlock = curBlock; // Note: doesn't matter if we set mNewBlock multiple times. @@ -8786,22 +8827,38 @@ nsresult HTMLEditRules::ApplyBlockStyle( // If no curBlock, make one if (!curBlock) { - AutoEditorDOMPointOffsetInvalidator lockChild(atCurNode); - SplitNodeResult splitNodeResult = MaybeSplitAncestorsForInsertWithTransaction(aBlockTag, atCurNode); if (NS_WARN_IF(splitNodeResult.Failed())) { return splitNodeResult.Rv(); } + // If current handling node has been moved from the container by a + // mutation event listener when we need to do something more for it, + // we should stop handling this action since we cannot handle each of + // a lot of edge cases. + if (NS_WARN_IF(atCurNode.HasChildMovedFromContainer())) { + return NS_ERROR_EDITOR_UNEXPECTED_DOM_TREE; + } + EditorDOMPoint splitPoint = splitNodeResult.SplitPoint(); curBlock = MOZ_KnownLive(HTMLEditorRef()) - .CreateNodeWithTransaction(aBlockTag, - splitNodeResult.SplitPoint()); + .CreateNodeWithTransaction(aBlockTag, splitPoint); if (NS_WARN_IF(!CanHandleEditAction())) { return NS_ERROR_EDITOR_DESTROYED; } if (NS_WARN_IF(!curBlock)) { return NS_ERROR_FAILURE; } + // If the new block element was moved to different element or removed by + // the web app via mutation event listener, we should stop handling this + // action since we cannot handle each of a lot of edge cases. + if (NS_WARN_IF(curBlock->GetParentNode() != + splitPoint.GetContainer())) { + return NS_ERROR_EDITOR_UNEXPECTED_DOM_TREE; + } + + // Update container of curNode. + atCurNode.Set(curNode); + // Remember our new block for postprocessing mNewBlock = curBlock; // Note: doesn't matter if we set mNewBlock multiple times. diff --git a/editor/libeditor/HTMLEditor.cpp b/editor/libeditor/HTMLEditor.cpp index 166a053b04cd..cca6c75cdf64 100644 --- a/editor/libeditor/HTMLEditor.cpp +++ b/editor/libeditor/HTMLEditor.cpp @@ -759,10 +759,16 @@ nsresult HTMLEditor::HandleKeyPressEvent(WidgetKeyboardEvent* aKeyboardEvent) { aKeyboardEvent->PreventDefault(); // consumed if (aKeyboardEvent->IsShift()) { // Only inserts a
element. - return InsertLineBreakAsAction(); + nsresult rv = InsertLineBreakAsAction(); + NS_WARNING_ASSERTION(NS_SUCCEEDED(rv), + "InsertLineBreakAsAction() failed"); + return EditorBase::ToGenericNSResult(rv); } // uses rules to figure out what to insert - return InsertParagraphSeparatorAsAction(); + nsresult rv = InsertParagraphSeparatorAsAction(); + NS_WARNING_ASSERTION(NS_SUCCEEDED(rv), + "InsertParagraphSeparatorAsAction() failed"); + return EditorBase::ToGenericNSResult(rv); } if (!aKeyboardEvent->IsInputtingText()) { @@ -997,7 +1003,7 @@ HTMLEditor::InsertLineBreak() { AutoPlaceholderBatch treatAsOneTransaction(*this, *nsGkAtoms::TypingTxnName); nsresult rv = InsertParagraphSeparatorAsSubAction(); if (NS_WARN_IF(NS_FAILED(rv))) { - return rv; + return EditorBase::ToGenericNSResult(rv); } return NS_OK; } @@ -1030,7 +1036,7 @@ nsresult HTMLEditor::InsertParagraphSeparatorAsAction() { AutoPlaceholderBatch treatAsOneTransaction(*this, *nsGkAtoms::TypingTxnName); nsresult rv = InsertParagraphSeparatorAsSubAction(); if (NS_WARN_IF(NS_FAILED(rv))) { - return rv; + return EditorBase::ToGenericNSResult(rv); } return NS_OK; } @@ -1806,9 +1812,15 @@ HTMLEditor::SetParagraphFormat(const nsAString& aParagraphFormat) { RefPtr tagName = NS_Atomize(lowerCaseTagName); MOZ_ASSERT(tagName); if (tagName == nsGkAtoms::dd || tagName == nsGkAtoms::dt) { - return MakeDefinitionListItemWithTransaction(*tagName); + nsresult rv = MakeDefinitionListItemWithTransaction(*tagName); + NS_WARNING_ASSERTION(NS_SUCCEEDED(rv), + "MakeDefinitionListItemWithTransaction() failed"); + return EditorBase::ToGenericNSResult(rv); } - return InsertBasicBlockWithTransaction(*tagName); + nsresult rv = InsertBasicBlockWithTransaction(*tagName); + NS_WARNING_ASSERTION(NS_SUCCEEDED(rv), + "InsertBasicBlockWithTransaction() failed"); + return EditorBase::ToGenericNSResult(rv); } NS_IMETHODIMP diff --git a/editor/libeditor/crashtests/1533913.html b/editor/libeditor/crashtests/1533913.html new file mode 100644 index 000000000000..81040c91f4cc --- /dev/null +++ b/editor/libeditor/crashtests/1533913.html @@ -0,0 +1,14 @@ + + +
A + diff --git a/editor/libeditor/crashtests/crashtests.list b/editor/libeditor/crashtests/crashtests.list index cc3ce9404b26..3a088e88690e 100644 --- a/editor/libeditor/crashtests/crashtests.list +++ b/editor/libeditor/crashtests/crashtests.list @@ -108,6 +108,7 @@ load 1446451.html asserts(0-2) load 1464251.html # assertion is that mutation event listener modifies content pref(layout.accessiblecaret.enabled,true) load 1470926.html load 1525481.html +load 1533913.html load 1534394.html load 1547897.html load 1547898.html From 8f1b2d6384414698f8c928d7524cc5f413506fd6 Mon Sep 17 00:00:00 2001 From: Paul Bone Date: Wed, 29 May 2019 06:04:08 +0000 Subject: [PATCH 76/80] Bug 1499570 - Decommit nursery chunks when they're recycled r=jonco Differential Revision: https://phabricator.services.mozilla.com/D32789 --HG-- extra : moz-landing-system : lando --- js/src/gc/Heap.h | 2 ++ js/src/gc/Nursery.cpp | 63 +++++++++++++++++++++++++++++++++++++++---- js/src/gc/Nursery.h | 20 ++++++++++++++ 3 files changed, 80 insertions(+), 5 deletions(-) diff --git a/js/src/gc/Heap.h b/js/src/gc/Heap.h index 843536c08c8d..7fde0cefd24e 100644 --- a/js/src/gc/Heap.h +++ b/js/src/gc/Heap.h @@ -22,6 +22,7 @@ namespace js { class AutoLockGC; class AutoLockGCBgAlloc; class FreeOp; +class NurseryDecommitChunksTask; namespace gc { @@ -542,6 +543,7 @@ struct ChunkInfo { private: friend class ChunkPool; + friend class js::NurseryDecommitChunksTask; Chunk* next; Chunk* prev; diff --git a/js/src/gc/Nursery.cpp b/js/src/gc/Nursery.cpp index a68d8d7bd355..9b4aa79109d9 100644 --- a/js/src/gc/Nursery.cpp +++ b/js/src/gc/Nursery.cpp @@ -98,6 +98,48 @@ inline Chunk* js::NurseryChunk::toChunk(JSRuntime* rt) { return chunk; } +void js::NurseryDecommitChunksTask::queueChunk( + NurseryChunk* nchunk, const AutoLockHelperThreadState& lock) { + // Using the chunk pointers is infalliable. + Chunk* chunk = nchunk->toChunk(runtime()); + chunk->info.prev = nullptr; + chunk->info.next = queue; + queue = chunk; +} + +Chunk* js::NurseryDecommitChunksTask::popChunk() { + AutoLockHelperThreadState lock; + + if (!queue) { + // We call setFinishing here while we have the lock that checks for work, + // rather than in run's loop. + setFinishing(lock); + return nullptr; + } + + Chunk* chunk = queue; + queue = chunk->info.next; + chunk->info.next = nullptr; + MOZ_ASSERT(chunk->info.prev == nullptr); + return chunk; +} + +void js::NurseryDecommitChunksTask::run() { + Chunk* chunk; + + while ((chunk = popChunk())) { + decommitChunk(chunk); + } +} + +void js::NurseryDecommitChunksTask::decommitChunk(Chunk* chunk) { + MarkPagesUnused(&chunk->arenas[0], ArenaSize * ArenasPerChunk); + { + AutoLockGC lock(runtime()); + runtime()->gc.recycleChunk(chunk, lock); + } +} + js::Nursery::Nursery(JSRuntime* rt) : runtime_(rt), position_(0), @@ -113,7 +155,8 @@ js::Nursery::Nursery(JSRuntime* rt) enableProfiling_(false), canAllocateStrings_(true), reportTenurings_(0), - minorGCTriggerReason_(JS::GCReason::NO_REASON) + minorGCTriggerReason_(JS::GCReason::NO_REASON), + decommitChunksTask(rt) #ifdef JS_GC_ZEAL , lastCanary_(nullptr) @@ -226,6 +269,8 @@ void js::Nursery::disable() { currentStringEnd_ = 0; position_ = 0; runtime()->gc.storeBuffer().disable(); + + decommitChunksTask.join(); } void js::Nursery::enableStrings() { @@ -1303,12 +1348,20 @@ void js::Nursery::growAllocableSpace(size_t newCapacity) { void js::Nursery::freeChunksFrom(unsigned firstFreeChunk) { MOZ_ASSERT(firstFreeChunk < chunks_.length()); - { - AutoLockGC lock(runtime()); - for (unsigned i = firstFreeChunk; i < chunks_.length(); i++) { - runtime()->gc.recycleChunk(chunk(i).toChunk(runtime()), lock); + + if (CanUseExtraThreads()) { + AutoLockHelperThreadState lock; + for (size_t i = firstFreeChunk; i < chunks_.length(); i++) { + decommitChunksTask.queueChunk(chunks_[i], lock); + } + decommitChunksTask.startOrRunIfIdle(lock); + } else { + // Sequential path + for (size_t i = firstFreeChunk; i < chunks_.length(); i++) { + decommitChunksTask.decommitChunk(chunks_[i]->toChunk(runtime())); } } + chunks_.shrinkTo(firstFreeChunk); } diff --git a/js/src/gc/Nursery.h b/js/src/gc/Nursery.h index 320ab871fd5f..6a9af4c96837 100644 --- a/js/src/gc/Nursery.h +++ b/js/src/gc/Nursery.h @@ -11,6 +11,8 @@ #include "mozilla/EnumeratedArray.h" #include "mozilla/TimeStamp.h" +#include "gc/GCParallelTask.h" +#include "gc/Heap.h" #include "js/Class.h" #include "js/HeapAPI.h" #include "js/TracingAPI.h" @@ -71,6 +73,22 @@ namespace jit { class MacroAssembler; } // namespace jit +class NurseryDecommitChunksTask + : public GCParallelTaskHelper { + public: + explicit NurseryDecommitChunksTask(JSRuntime* rt) + : GCParallelTaskHelper(rt) {} + void queueChunk(NurseryChunk* chunk, const AutoLockHelperThreadState& lock); + void run(); + void decommitChunk(gc::Chunk* chunk); + + private: + // Use the next pointers in Chunk::info to form a singly-linked list. + MainThreadOrGCTaskData queue; + + gc::Chunk* popChunk(); +}; + class TenuringTracer : public JSTracer { friend class Nursery; Nursery& nursery_; @@ -545,6 +563,8 @@ class Nursery { Vector mapsWithNurseryMemory_; Vector setsWithNurseryMemory_; + NurseryDecommitChunksTask decommitChunksTask; + #ifdef JS_GC_ZEAL struct Canary; Canary* lastCanary_; From 372773e7f53a328bf4f4648d326bb2213934949e Mon Sep 17 00:00:00 2001 From: Mihai Alexandru Michis Date: Wed, 29 May 2019 09:54:37 +0300 Subject: [PATCH 77/80] Backed out changeset 3edc5be703be (bug 1554063) for mass test failures. CLOSED TREE --HG-- rename : mozglue/misc/decimal/Decimal.cpp => mfbt/decimal/Decimal.cpp rename : mozglue/misc/decimal/Decimal.h => mfbt/decimal/Decimal.h rename : mozglue/misc/decimal/UPSTREAM-GIT-SHA => mfbt/decimal/UPSTREAM-GIT-SHA rename : mozglue/misc/decimal/comparison-with-nan.patch => mfbt/decimal/comparison-with-nan.patch rename : mozglue/misc/decimal/fix-wshadow-warnings.patch => mfbt/decimal/fix-wshadow-warnings.patch rename : mozglue/misc/decimal/mfbt-abi-markers.patch => mfbt/decimal/mfbt-abi-markers.patch rename : mozglue/misc/decimal/moz-decimal-utils.h => mfbt/decimal/moz-decimal-utils.h rename : mozglue/misc/decimal/to-moz-dependencies.patch => mfbt/decimal/to-moz-dependencies.patch rename : mozglue/misc/decimal/update.sh => mfbt/decimal/update.sh rename : mozglue/misc/decimal/zero-serialization.patch => mfbt/decimal/zero-serialization.patch --- .clang-format-ignore | 2 +- config/check_spidermonkey_style.py | 1 + {mozglue/misc => mfbt}/decimal/Decimal.cpp | 0 {mozglue/misc => mfbt}/decimal/Decimal.h | 0 {mozglue/misc => mfbt}/decimal/UPSTREAM-GIT-SHA | 0 .../misc => mfbt}/decimal/comparison-with-nan.patch | 6 +++--- .../misc => mfbt}/decimal/fix-wshadow-warnings.patch | 12 ++++++------ .../misc => mfbt}/decimal/mfbt-abi-markers.patch | 6 +++--- {mozglue/misc => mfbt}/decimal/moz-decimal-utils.h | 0 .../misc => mfbt}/decimal/to-moz-dependencies.patch | 12 ++++++------ {mozglue/misc => mfbt}/decimal/update.sh | 0 .../misc => mfbt}/decimal/zero-serialization.patch | 6 +++--- mfbt/moz.build | 6 ++++++ mozglue/misc/moz.build | 9 --------- tools/rewriting/ThirdPartyPaths.txt | 2 +- 15 files changed, 30 insertions(+), 32 deletions(-) rename {mozglue/misc => mfbt}/decimal/Decimal.cpp (100%) rename {mozglue/misc => mfbt}/decimal/Decimal.h (100%) rename {mozglue/misc => mfbt}/decimal/UPSTREAM-GIT-SHA (100%) rename {mozglue/misc => mfbt}/decimal/comparison-with-nan.patch (91%) rename {mozglue/misc => mfbt}/decimal/fix-wshadow-warnings.patch (94%) rename {mozglue/misc => mfbt}/decimal/mfbt-abi-markers.patch (97%) rename {mozglue/misc => mfbt}/decimal/moz-decimal-utils.h (100%) rename {mozglue/misc => mfbt}/decimal/to-moz-dependencies.patch (95%) rename {mozglue/misc => mfbt}/decimal/update.sh (100%) rename {mozglue/misc => mfbt}/decimal/zero-serialization.patch (75%) diff --git a/.clang-format-ignore b/.clang-format-ignore index 041d83ec0f67..17f6002d91b0 100644 --- a/.clang-format-ignore +++ b/.clang-format-ignore @@ -136,6 +136,7 @@ media/openmax_dl/.* media/openmax_il/.* media/webrtc/signaling/src/sdp/sipcc/.* media/webrtc/trunk/.* +mfbt/decimal/.* mfbt/double-conversion/double-conversion/.* mfbt/lz4.* mobile/android/geckoview/src/thirdparty/.* @@ -149,7 +150,6 @@ modules/pdfium/.* modules/woff2/.* modules/xz-embedded/.* modules/zlib/.* -mozglue/misc/decimal/.* netwerk/dns/nsIDNKitInterface.h netwerk/sctp/src/.* netwerk/srtp/src/.* diff --git a/config/check_spidermonkey_style.py b/config/check_spidermonkey_style.py index 7bf9e2a78e0a..260b00d923ab 100644 --- a/config/check_spidermonkey_style.py +++ b/config/check_spidermonkey_style.py @@ -246,6 +246,7 @@ def check_style(enable_fixup): # # Examples (filename -> inclname) # - "mfbt/Attributes.h" -> "mozilla/Attributes.h" + # - "mfbt/decimal/Decimal.h -> "mozilla/Decimal.h" # - "mozglue/misc/TimeStamp.h -> "mozilla/TimeStamp.h" # - "memory/mozalloc/mozalloc.h -> "mozilla/mozalloc.h" # - "js/public/Vector.h" -> "js/Vector.h" diff --git a/mozglue/misc/decimal/Decimal.cpp b/mfbt/decimal/Decimal.cpp similarity index 100% rename from mozglue/misc/decimal/Decimal.cpp rename to mfbt/decimal/Decimal.cpp diff --git a/mozglue/misc/decimal/Decimal.h b/mfbt/decimal/Decimal.h similarity index 100% rename from mozglue/misc/decimal/Decimal.h rename to mfbt/decimal/Decimal.h diff --git a/mozglue/misc/decimal/UPSTREAM-GIT-SHA b/mfbt/decimal/UPSTREAM-GIT-SHA similarity index 100% rename from mozglue/misc/decimal/UPSTREAM-GIT-SHA rename to mfbt/decimal/UPSTREAM-GIT-SHA diff --git a/mozglue/misc/decimal/comparison-with-nan.patch b/mfbt/decimal/comparison-with-nan.patch similarity index 91% rename from mozglue/misc/decimal/comparison-with-nan.patch rename to mfbt/decimal/comparison-with-nan.patch index 0e274ce033ba..477a61437588 100644 --- a/mozglue/misc/decimal/comparison-with-nan.patch +++ b/mfbt/decimal/comparison-with-nan.patch @@ -1,6 +1,6 @@ -diff --git a/mozglue/misc/decimal/Decimal.cpp b/mozglue/misc/decimal/Decimal.cpp ---- a/mozglue/misc/decimal/Decimal.cpp -+++ b/mozglue/misc/decimal/Decimal.cpp +diff --git a/mfbt/decimal/Decimal.cpp b/mfbt/decimal/Decimal.cpp +--- a/mfbt/decimal/Decimal.cpp ++++ b/mfbt/decimal/Decimal.cpp @@ -509,21 +509,25 @@ Decimal Decimal::operator/(const Decimal if (remainder > divisor / 2) ++result; diff --git a/mozglue/misc/decimal/fix-wshadow-warnings.patch b/mfbt/decimal/fix-wshadow-warnings.patch similarity index 94% rename from mozglue/misc/decimal/fix-wshadow-warnings.patch rename to mfbt/decimal/fix-wshadow-warnings.patch index 465c61a223d0..eed7b60f720b 100644 --- a/mozglue/misc/decimal/fix-wshadow-warnings.patch +++ b/mfbt/decimal/fix-wshadow-warnings.patch @@ -1,6 +1,6 @@ -diff --git a/mozglue/misc/decimal/Decimal.cpp b/mozglue/misc/decimal/Decimal.cpp ---- a/mozglue/misc/decimal/Decimal.cpp -+++ b/mozglue/misc/decimal/Decimal.cpp +diff --git a/mfbt/decimal/Decimal.cpp b/mfbt/decimal/Decimal.cpp +--- a/mfbt/decimal/Decimal.cpp ++++ b/mfbt/decimal/Decimal.cpp @@ -118,18 +118,18 @@ Decimal SpecialValueHandler::value() con ASSERT_NOT_REACHED(); return m_lhs; @@ -147,9 +147,9 @@ diff --git a/mozglue/misc/decimal/Decimal.cpp b/mozglue/misc/decimal/Decimal.cpp bool Decimal::operator==(const Decimal& rhs) const { if (isNaN() || rhs.isNaN()) -diff --git a/mozglue/misc/decimal/Decimal.h b/mozglue/misc/decimal/Decimal.h ---- a/mozglue/misc/decimal/Decimal.h -+++ b/mozglue/misc/decimal/Decimal.h +diff --git a/mfbt/decimal/Decimal.h b/mfbt/decimal/Decimal.h +--- a/mfbt/decimal/Decimal.h ++++ b/mfbt/decimal/Decimal.h @@ -88,17 +88,17 @@ public: int countDigits() const; int exponent() const { return m_exponent; } diff --git a/mozglue/misc/decimal/mfbt-abi-markers.patch b/mfbt/decimal/mfbt-abi-markers.patch similarity index 97% rename from mozglue/misc/decimal/mfbt-abi-markers.patch rename to mfbt/decimal/mfbt-abi-markers.patch index 1d50d3d643b5..4399c2134de0 100644 --- a/mozglue/misc/decimal/mfbt-abi-markers.patch +++ b/mfbt/decimal/mfbt-abi-markers.patch @@ -1,6 +1,6 @@ -diff --git a/mozglue/misc/decimal/Decimal.h b/mozglue/misc/decimal/Decimal.h ---- a/mozglue/misc/decimal/Decimal.h -+++ b/mozglue/misc/decimal/Decimal.h +diff --git a/mfbt/decimal/Decimal.h b/mfbt/decimal/Decimal.h +--- a/mfbt/decimal/Decimal.h ++++ b/mfbt/decimal/Decimal.h @@ -26,16 +26,18 @@ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE diff --git a/mozglue/misc/decimal/moz-decimal-utils.h b/mfbt/decimal/moz-decimal-utils.h similarity index 100% rename from mozglue/misc/decimal/moz-decimal-utils.h rename to mfbt/decimal/moz-decimal-utils.h diff --git a/mozglue/misc/decimal/to-moz-dependencies.patch b/mfbt/decimal/to-moz-dependencies.patch similarity index 95% rename from mozglue/misc/decimal/to-moz-dependencies.patch rename to mfbt/decimal/to-moz-dependencies.patch index bf19a6da96cb..25f52d7bf716 100644 --- a/mozglue/misc/decimal/to-moz-dependencies.patch +++ b/mfbt/decimal/to-moz-dependencies.patch @@ -1,6 +1,6 @@ -diff --git a/mozglue/misc/decimal/Decimal.cpp b/mozglue/misc/decimal/Decimal.cpp ---- a/mozglue/misc/decimal/Decimal.cpp -+++ b/mozglue/misc/decimal/Decimal.cpp +diff --git a/mfbt/decimal/Decimal.cpp b/mfbt/decimal/Decimal.cpp +--- a/mfbt/decimal/Decimal.cpp ++++ b/mfbt/decimal/Decimal.cpp @@ -23,22 +23,20 @@ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, @@ -112,9 +112,9 @@ diff --git a/mozglue/misc/decimal/Decimal.cpp b/mozglue/misc/decimal/Decimal.cpp } } // namespace blink -diff --git a/mozglue/misc/decimal/Decimal.h b/mozglue/misc/decimal/Decimal.h ---- a/mozglue/misc/decimal/Decimal.h -+++ b/mozglue/misc/decimal/Decimal.h +diff --git a/mfbt/decimal/Decimal.h b/mfbt/decimal/Decimal.h +--- a/mfbt/decimal/Decimal.h ++++ b/mfbt/decimal/Decimal.h @@ -23,26 +23,49 @@ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, diff --git a/mozglue/misc/decimal/update.sh b/mfbt/decimal/update.sh similarity index 100% rename from mozglue/misc/decimal/update.sh rename to mfbt/decimal/update.sh diff --git a/mozglue/misc/decimal/zero-serialization.patch b/mfbt/decimal/zero-serialization.patch similarity index 75% rename from mozglue/misc/decimal/zero-serialization.patch rename to mfbt/decimal/zero-serialization.patch index b8de9241bd3f..bafa35956314 100644 --- a/mozglue/misc/decimal/zero-serialization.patch +++ b/mfbt/decimal/zero-serialization.patch @@ -1,6 +1,6 @@ -diff --git a/mozglue/misc/decimal/Decimal.cpp b/mozglue/misc/decimal/Decimal.cpp ---- a/mozglue/misc/decimal/Decimal.cpp -+++ b/mozglue/misc/decimal/Decimal.cpp +diff --git a/mfbt/decimal/Decimal.cpp b/mfbt/decimal/Decimal.cpp +--- a/mfbt/decimal/Decimal.cpp ++++ b/mfbt/decimal/Decimal.cpp @@ -277,17 +277,17 @@ bool Decimal::EncodedData::operator==(co } diff --git a/mfbt/moz.build b/mfbt/moz.build index a12c9c890781..5aa697a5e603 100644 --- a/mfbt/moz.build +++ b/mfbt/moz.build @@ -31,6 +31,7 @@ EXPORTS.mozilla = [ 'Compression.h', 'DbgMacro.h', 'DebugOnly.h', + 'decimal/Decimal.h', 'DefineEnum.h', 'DoublyLinkedList.h', 'EndianUtils.h', @@ -168,11 +169,16 @@ DEFINES['IMPL_MFBT'] = True SOURCES += [ 'Compression.cpp', + 'decimal/Decimal.cpp', 'lz4.c', ] DisableStlWrapping() +if CONFIG['CC_TYPE'] == 'clang': + # Suppress warnings from third-party V8 Decimal code. + SOURCES['decimal/Decimal.cpp'].flags += ['-Wno-implicit-fallthrough'] + if CONFIG['MOZ_NEEDS_LIBATOMIC']: OS_LIBS += ['atomic'] diff --git a/mozglue/misc/moz.build b/mozglue/misc/moz.build index fd65a16cc98f..cc27aa24b8e1 100644 --- a/mozglue/misc/moz.build +++ b/mozglue/misc/moz.build @@ -8,7 +8,6 @@ FINAL_LIBRARY = 'mozglue' EXPORTS.mozilla += [ 'AutoProfilerLabel.h', - 'decimal/Decimal.h', 'PlatformConditionVariable.h', 'PlatformMutex.h', 'Printf.h', @@ -78,11 +77,3 @@ else: 'ConditionVariable_posix.cpp', 'Mutex_posix.cpp', ] - -SOURCES += [ - 'decimal/Decimal.cpp', -] - -if CONFIG['CC_TYPE'] == 'clang': - # Suppress warnings from third-party V8 Decimal code. - SOURCES['decimal/Decimal.cpp'].flags += ['-Wno-implicit-fallthrough'] diff --git a/tools/rewriting/ThirdPartyPaths.txt b/tools/rewriting/ThirdPartyPaths.txt index 56875ff0a4a3..89a5827b34d5 100644 --- a/tools/rewriting/ThirdPartyPaths.txt +++ b/tools/rewriting/ThirdPartyPaths.txt @@ -80,6 +80,7 @@ media/openmax_dl/ media/openmax_il/ media/webrtc/signaling/src/sdp/sipcc/ media/webrtc/trunk/ +mfbt/decimal/ mfbt/double-conversion/double-conversion/ mfbt/lz4.* mobile/android/geckoview/src/thirdparty/ @@ -90,7 +91,6 @@ modules/freetype2/ modules/woff2/ modules/xz-embedded/ modules/zlib/ -mozglue/misc/decimal/ netwerk/dns/nsIDNKitInterface.h netwerk/sctp/src/ netwerk/srtp/src/ From da86c908b4721cc2f34e5ec69ce09994fcdb0486 Mon Sep 17 00:00:00 2001 From: Martin Stransky Date: Wed, 29 May 2019 06:07:03 +0000 Subject: [PATCH 78/80] Bug 1554517 - [Wayland] Ship Wayland DMABuf protocol headers, r=jhorak Ship Wayland DMABuf protocol headers. This is a non-offical extension thus it's missing in stable wayland headers. Differential Revision: https://phabricator.services.mozilla.com/D32632 --HG-- extra : moz-landing-system : lando --- ...linux-dmabuf-unstable-v1-client-protocol.h | 650 ++++++++++++++++++ .../linux-dmabuf-unstable-v1-protocol.c | 81 +++ widget/gtk/wayland/moz.build | 6 + 3 files changed, 737 insertions(+) create mode 100644 widget/gtk/wayland/linux-dmabuf-unstable-v1-client-protocol.h create mode 100644 widget/gtk/wayland/linux-dmabuf-unstable-v1-protocol.c diff --git a/widget/gtk/wayland/linux-dmabuf-unstable-v1-client-protocol.h b/widget/gtk/wayland/linux-dmabuf-unstable-v1-client-protocol.h new file mode 100644 index 000000000000..cff0426a9c99 --- /dev/null +++ b/widget/gtk/wayland/linux-dmabuf-unstable-v1-client-protocol.h @@ -0,0 +1,650 @@ +/* Generated by wayland-scanner 1.17.0 */ + +#ifndef LINUX_DMABUF_UNSTABLE_V1_CLIENT_PROTOCOL_H +#define LINUX_DMABUF_UNSTABLE_V1_CLIENT_PROTOCOL_H + +#include +#include +#include "wayland-client.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/** + * @page page_linux_dmabuf_unstable_v1 The linux_dmabuf_unstable_v1 protocol + * @section page_ifaces_linux_dmabuf_unstable_v1 Interfaces + * - @subpage page_iface_zwp_linux_dmabuf_v1 - factory for creating dmabuf-based + * wl_buffers + * - @subpage page_iface_zwp_linux_buffer_params_v1 - parameters for creating a + * dmabuf-based wl_buffer + * @section page_copyright_linux_dmabuf_unstable_v1 Copyright + *
+ *
+ * Copyright © 2014, 2015 Collabora, Ltd.
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a
+ * copy of this software and associated documentation files (the "Software"),
+ * to deal in the Software without restriction, including without limitation
+ * the rights to use, copy, modify, merge, publish, distribute, sublicense,
+ * and/or sell copies of the Software, and to permit persons to whom the
+ * Software is furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice (including the next
+ * paragraph) shall be included in all copies or substantial portions of the
+ * Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL
+ * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+ * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+ * DEALINGS IN THE SOFTWARE.
+ * 
+ */ +struct wl_buffer; +struct zwp_linux_buffer_params_v1; +struct zwp_linux_dmabuf_v1; + +/** + * @page page_iface_zwp_linux_dmabuf_v1 zwp_linux_dmabuf_v1 + * @section page_iface_zwp_linux_dmabuf_v1_desc Description + * + * Following the interfaces from: + * https://www.khronos.org/registry/egl/extensions/EXT/EGL_EXT_image_dma_buf_import.txt + * and the Linux DRM sub-system's AddFb2 ioctl. + * + * This interface offers ways to create generic dmabuf-based + * wl_buffers. Immediately after a client binds to this interface, + * the set of supported formats and format modifiers is sent with + * 'format' and 'modifier' events. + * + * The following are required from clients: + * + * - Clients must ensure that either all data in the dma-buf is + * coherent for all subsequent read access or that coherency is + * correctly handled by the underlying kernel-side dma-buf + * implementation. + * + * - Don't make any more attachments after sending the buffer to the + * compositor. Making more attachments later increases the risk of + * the compositor not being able to use (re-import) an existing + * dmabuf-based wl_buffer. + * + * The underlying graphics stack must ensure the following: + * + * - The dmabuf file descriptors relayed to the server will stay valid + * for the whole lifetime of the wl_buffer. This means the server may + * at any time use those fds to import the dmabuf into any kernel + * sub-system that might accept it. + * + * To create a wl_buffer from one or more dmabufs, a client creates a + * zwp_linux_dmabuf_params_v1 object with a zwp_linux_dmabuf_v1.create_params + * request. All planes required by the intended format are added with + * the 'add' request. Finally, a 'create' or 'create_immed' request is + * issued, which has the following outcome depending on the import success. + * + * The 'create' request, + * - on success, triggers a 'created' event which provides the final + * wl_buffer to the client. + * - on failure, triggers a 'failed' event to convey that the server + * cannot use the dmabufs received from the client. + * + * For the 'create_immed' request, + * - on success, the server immediately imports the added dmabufs to + * create a wl_buffer. No event is sent from the server in this case. + * - on failure, the server can choose to either: + * - terminate the client by raising a fatal error. + * - mark the wl_buffer as failed, and send a 'failed' event to the + * client. If the client uses a failed wl_buffer as an argument to any + * request, the behaviour is compositor implementation-defined. + * + * Warning! The protocol described in this file is experimental and + * backward incompatible changes may be made. Backward compatible changes + * may be added together with the corresponding interface version bump. + * Backward incompatible changes are done by bumping the version number in + * the protocol and interface names and resetting the interface version. + * Once the protocol is to be declared stable, the 'z' prefix and the + * version number in the protocol and interface names are removed and the + * interface version number is reset. + * @section page_iface_zwp_linux_dmabuf_v1_api API + * See @ref iface_zwp_linux_dmabuf_v1. + */ +/** + * @defgroup iface_zwp_linux_dmabuf_v1 The zwp_linux_dmabuf_v1 interface + * + * Following the interfaces from: + * https://www.khronos.org/registry/egl/extensions/EXT/EGL_EXT_image_dma_buf_import.txt + * and the Linux DRM sub-system's AddFb2 ioctl. + * + * This interface offers ways to create generic dmabuf-based + * wl_buffers. Immediately after a client binds to this interface, + * the set of supported formats and format modifiers is sent with + * 'format' and 'modifier' events. + * + * The following are required from clients: + * + * - Clients must ensure that either all data in the dma-buf is + * coherent for all subsequent read access or that coherency is + * correctly handled by the underlying kernel-side dma-buf + * implementation. + * + * - Don't make any more attachments after sending the buffer to the + * compositor. Making more attachments later increases the risk of + * the compositor not being able to use (re-import) an existing + * dmabuf-based wl_buffer. + * + * The underlying graphics stack must ensure the following: + * + * - The dmabuf file descriptors relayed to the server will stay valid + * for the whole lifetime of the wl_buffer. This means the server may + * at any time use those fds to import the dmabuf into any kernel + * sub-system that might accept it. + * + * To create a wl_buffer from one or more dmabufs, a client creates a + * zwp_linux_dmabuf_params_v1 object with a zwp_linux_dmabuf_v1.create_params + * request. All planes required by the intended format are added with + * the 'add' request. Finally, a 'create' or 'create_immed' request is + * issued, which has the following outcome depending on the import success. + * + * The 'create' request, + * - on success, triggers a 'created' event which provides the final + * wl_buffer to the client. + * - on failure, triggers a 'failed' event to convey that the server + * cannot use the dmabufs received from the client. + * + * For the 'create_immed' request, + * - on success, the server immediately imports the added dmabufs to + * create a wl_buffer. No event is sent from the server in this case. + * - on failure, the server can choose to either: + * - terminate the client by raising a fatal error. + * - mark the wl_buffer as failed, and send a 'failed' event to the + * client. If the client uses a failed wl_buffer as an argument to any + * request, the behaviour is compositor implementation-defined. + * + * Warning! The protocol described in this file is experimental and + * backward incompatible changes may be made. Backward compatible changes + * may be added together with the corresponding interface version bump. + * Backward incompatible changes are done by bumping the version number in + * the protocol and interface names and resetting the interface version. + * Once the protocol is to be declared stable, the 'z' prefix and the + * version number in the protocol and interface names are removed and the + * interface version number is reset. + */ +extern const struct wl_interface zwp_linux_dmabuf_v1_interface; +/** + * @page page_iface_zwp_linux_buffer_params_v1 zwp_linux_buffer_params_v1 + * @section page_iface_zwp_linux_buffer_params_v1_desc Description + * + * This temporary object is a collection of dmabufs and other + * parameters that together form a single logical buffer. The temporary + * object may eventually create one wl_buffer unless cancelled by + * destroying it before requesting 'create'. + * + * Single-planar formats only require one dmabuf, however + * multi-planar formats may require more than one dmabuf. For all + * formats, an 'add' request must be called once per plane (even if the + * underlying dmabuf fd is identical). + * + * You must use consecutive plane indices ('plane_idx' argument for 'add') + * from zero to the number of planes used by the drm_fourcc format code. + * All planes required by the format must be given exactly once, but can + * be given in any order. Each plane index can be set only once. + * @section page_iface_zwp_linux_buffer_params_v1_api API + * See @ref iface_zwp_linux_buffer_params_v1. + */ +/** + * @defgroup iface_zwp_linux_buffer_params_v1 The zwp_linux_buffer_params_v1 + * interface + * + * This temporary object is a collection of dmabufs and other + * parameters that together form a single logical buffer. The temporary + * object may eventually create one wl_buffer unless cancelled by + * destroying it before requesting 'create'. + * + * Single-planar formats only require one dmabuf, however + * multi-planar formats may require more than one dmabuf. For all + * formats, an 'add' request must be called once per plane (even if the + * underlying dmabuf fd is identical). + * + * You must use consecutive plane indices ('plane_idx' argument for 'add') + * from zero to the number of planes used by the drm_fourcc format code. + * All planes required by the format must be given exactly once, but can + * be given in any order. Each plane index can be set only once. + */ +extern const struct wl_interface zwp_linux_buffer_params_v1_interface; + +/** + * @ingroup iface_zwp_linux_dmabuf_v1 + * @struct zwp_linux_dmabuf_v1_listener + */ +struct zwp_linux_dmabuf_v1_listener { + /** + * supported buffer format + * + * This event advertises one buffer format that the server + * supports. All the supported formats are advertised once when the + * client binds to this interface. A roundtrip after binding + * guarantees that the client has received all supported formats. + * + * For the definition of the format codes, see the + * zwp_linux_buffer_params_v1::create request. + * + * Warning: the 'format' event is likely to be deprecated and + * replaced with the 'modifier' event introduced in + * zwp_linux_dmabuf_v1 version 3, described below. Please refrain + * from using the information received from this event. + * @param format DRM_FORMAT code + */ + void (*format)(void* data, struct zwp_linux_dmabuf_v1* zwp_linux_dmabuf_v1, + uint32_t format); + /** + * supported buffer format modifier + * + * This event advertises the formats that the server supports, + * along with the modifiers supported for each format. All the + * supported modifiers for all the supported formats are advertised + * once when the client binds to this interface. A roundtrip after + * binding guarantees that the client has received all supported + * format-modifier pairs. + * + * For the definition of the format and modifier codes, see the + * zwp_linux_buffer_params_v1::create request. + * @param format DRM_FORMAT code + * @param modifier_hi high 32 bits of layout modifier + * @param modifier_lo low 32 bits of layout modifier + * @since 3 + */ + void (*modifier)(void* data, struct zwp_linux_dmabuf_v1* zwp_linux_dmabuf_v1, + uint32_t format, uint32_t modifier_hi, uint32_t modifier_lo); +}; + +/** + * @ingroup iface_zwp_linux_dmabuf_v1 + */ +static inline int zwp_linux_dmabuf_v1_add_listener( + struct zwp_linux_dmabuf_v1* zwp_linux_dmabuf_v1, + const struct zwp_linux_dmabuf_v1_listener* listener, void* data) { + return wl_proxy_add_listener((struct wl_proxy*)zwp_linux_dmabuf_v1, + (void (**)(void))listener, data); +} + +#define ZWP_LINUX_DMABUF_V1_DESTROY 0 +#define ZWP_LINUX_DMABUF_V1_CREATE_PARAMS 1 + +/** + * @ingroup iface_zwp_linux_dmabuf_v1 + */ +#define ZWP_LINUX_DMABUF_V1_FORMAT_SINCE_VERSION 1 +/** + * @ingroup iface_zwp_linux_dmabuf_v1 + */ +#define ZWP_LINUX_DMABUF_V1_MODIFIER_SINCE_VERSION 3 + +/** + * @ingroup iface_zwp_linux_dmabuf_v1 + */ +#define ZWP_LINUX_DMABUF_V1_DESTROY_SINCE_VERSION 1 +/** + * @ingroup iface_zwp_linux_dmabuf_v1 + */ +#define ZWP_LINUX_DMABUF_V1_CREATE_PARAMS_SINCE_VERSION 1 + +/** @ingroup iface_zwp_linux_dmabuf_v1 */ +static inline void zwp_linux_dmabuf_v1_set_user_data( + struct zwp_linux_dmabuf_v1* zwp_linux_dmabuf_v1, void* user_data) { + wl_proxy_set_user_data((struct wl_proxy*)zwp_linux_dmabuf_v1, user_data); +} + +/** @ingroup iface_zwp_linux_dmabuf_v1 */ +static inline void* zwp_linux_dmabuf_v1_get_user_data( + struct zwp_linux_dmabuf_v1* zwp_linux_dmabuf_v1) { + return wl_proxy_get_user_data((struct wl_proxy*)zwp_linux_dmabuf_v1); +} + +static inline uint32_t zwp_linux_dmabuf_v1_get_version( + struct zwp_linux_dmabuf_v1* zwp_linux_dmabuf_v1) { + return wl_proxy_get_version((struct wl_proxy*)zwp_linux_dmabuf_v1); +} + +/** + * @ingroup iface_zwp_linux_dmabuf_v1 + * + * Objects created through this interface, especially wl_buffers, will + * remain valid. + */ +static inline void zwp_linux_dmabuf_v1_destroy( + struct zwp_linux_dmabuf_v1* zwp_linux_dmabuf_v1) { + wl_proxy_marshal((struct wl_proxy*)zwp_linux_dmabuf_v1, + ZWP_LINUX_DMABUF_V1_DESTROY); + + wl_proxy_destroy((struct wl_proxy*)zwp_linux_dmabuf_v1); +} + +/** + * @ingroup iface_zwp_linux_dmabuf_v1 + * + * This temporary object is used to collect multiple dmabuf handles into + * a single batch to create a wl_buffer. It can only be used once and + * should be destroyed after a 'created' or 'failed' event has been + * received. + */ +static inline struct zwp_linux_buffer_params_v1* +zwp_linux_dmabuf_v1_create_params( + struct zwp_linux_dmabuf_v1* zwp_linux_dmabuf_v1) { + struct wl_proxy* params_id; + + params_id = wl_proxy_marshal_constructor( + (struct wl_proxy*)zwp_linux_dmabuf_v1, ZWP_LINUX_DMABUF_V1_CREATE_PARAMS, + &zwp_linux_buffer_params_v1_interface, NULL); + + return (struct zwp_linux_buffer_params_v1*)params_id; +} + +#ifndef ZWP_LINUX_BUFFER_PARAMS_V1_ERROR_ENUM +# define ZWP_LINUX_BUFFER_PARAMS_V1_ERROR_ENUM +enum zwp_linux_buffer_params_v1_error { + /** + * the dmabuf_batch object has already been used to create a wl_buffer + */ + ZWP_LINUX_BUFFER_PARAMS_V1_ERROR_ALREADY_USED = 0, + /** + * plane index out of bounds + */ + ZWP_LINUX_BUFFER_PARAMS_V1_ERROR_PLANE_IDX = 1, + /** + * the plane index was already set + */ + ZWP_LINUX_BUFFER_PARAMS_V1_ERROR_PLANE_SET = 2, + /** + * missing or too many planes to create a buffer + */ + ZWP_LINUX_BUFFER_PARAMS_V1_ERROR_INCOMPLETE = 3, + /** + * format not supported + */ + ZWP_LINUX_BUFFER_PARAMS_V1_ERROR_INVALID_FORMAT = 4, + /** + * invalid width or height + */ + ZWP_LINUX_BUFFER_PARAMS_V1_ERROR_INVALID_DIMENSIONS = 5, + /** + * offset + stride * height goes out of dmabuf bounds + */ + ZWP_LINUX_BUFFER_PARAMS_V1_ERROR_OUT_OF_BOUNDS = 6, + /** + * invalid wl_buffer resulted from importing dmabufs via the + * create_immed request on given buffer_params + */ + ZWP_LINUX_BUFFER_PARAMS_V1_ERROR_INVALID_WL_BUFFER = 7, +}; +#endif /* ZWP_LINUX_BUFFER_PARAMS_V1_ERROR_ENUM */ + +#ifndef ZWP_LINUX_BUFFER_PARAMS_V1_FLAGS_ENUM +# define ZWP_LINUX_BUFFER_PARAMS_V1_FLAGS_ENUM +enum zwp_linux_buffer_params_v1_flags { + /** + * contents are y-inverted + */ + ZWP_LINUX_BUFFER_PARAMS_V1_FLAGS_Y_INVERT = 1, + /** + * content is interlaced + */ + ZWP_LINUX_BUFFER_PARAMS_V1_FLAGS_INTERLACED = 2, + /** + * bottom field first + */ + ZWP_LINUX_BUFFER_PARAMS_V1_FLAGS_BOTTOM_FIRST = 4, +}; +#endif /* ZWP_LINUX_BUFFER_PARAMS_V1_FLAGS_ENUM */ + +/** + * @ingroup iface_zwp_linux_buffer_params_v1 + * @struct zwp_linux_buffer_params_v1_listener + */ +struct zwp_linux_buffer_params_v1_listener { + /** + * buffer creation succeeded + * + * This event indicates that the attempted buffer creation was + * successful. It provides the new wl_buffer referencing the + * dmabuf(s). + * + * Upon receiving this event, the client should destroy the + * zlinux_dmabuf_params object. + * @param buffer the newly created wl_buffer + */ + void (*created)(void* data, + struct zwp_linux_buffer_params_v1* zwp_linux_buffer_params_v1, + struct wl_buffer* buffer); + /** + * buffer creation failed + * + * This event indicates that the attempted buffer creation has + * failed. It usually means that one of the dmabuf constraints has + * not been fulfilled. + * + * Upon receiving this event, the client should destroy the + * zlinux_buffer_params object. + */ + void (*failed)(void* data, + struct zwp_linux_buffer_params_v1* zwp_linux_buffer_params_v1); +}; + +/** + * @ingroup iface_zwp_linux_buffer_params_v1 + */ +static inline int zwp_linux_buffer_params_v1_add_listener( + struct zwp_linux_buffer_params_v1* zwp_linux_buffer_params_v1, + const struct zwp_linux_buffer_params_v1_listener* listener, void* data) { + return wl_proxy_add_listener((struct wl_proxy*)zwp_linux_buffer_params_v1, + (void (**)(void))listener, data); +} + +#define ZWP_LINUX_BUFFER_PARAMS_V1_DESTROY 0 +#define ZWP_LINUX_BUFFER_PARAMS_V1_ADD 1 +#define ZWP_LINUX_BUFFER_PARAMS_V1_CREATE 2 +#define ZWP_LINUX_BUFFER_PARAMS_V1_CREATE_IMMED 3 + +/** + * @ingroup iface_zwp_linux_buffer_params_v1 + */ +#define ZWP_LINUX_BUFFER_PARAMS_V1_CREATED_SINCE_VERSION 1 +/** + * @ingroup iface_zwp_linux_buffer_params_v1 + */ +#define ZWP_LINUX_BUFFER_PARAMS_V1_FAILED_SINCE_VERSION 1 + +/** + * @ingroup iface_zwp_linux_buffer_params_v1 + */ +#define ZWP_LINUX_BUFFER_PARAMS_V1_DESTROY_SINCE_VERSION 1 +/** + * @ingroup iface_zwp_linux_buffer_params_v1 + */ +#define ZWP_LINUX_BUFFER_PARAMS_V1_ADD_SINCE_VERSION 1 +/** + * @ingroup iface_zwp_linux_buffer_params_v1 + */ +#define ZWP_LINUX_BUFFER_PARAMS_V1_CREATE_SINCE_VERSION 1 +/** + * @ingroup iface_zwp_linux_buffer_params_v1 + */ +#define ZWP_LINUX_BUFFER_PARAMS_V1_CREATE_IMMED_SINCE_VERSION 2 + +/** @ingroup iface_zwp_linux_buffer_params_v1 */ +static inline void zwp_linux_buffer_params_v1_set_user_data( + struct zwp_linux_buffer_params_v1* zwp_linux_buffer_params_v1, + void* user_data) { + wl_proxy_set_user_data((struct wl_proxy*)zwp_linux_buffer_params_v1, + user_data); +} + +/** @ingroup iface_zwp_linux_buffer_params_v1 */ +static inline void* zwp_linux_buffer_params_v1_get_user_data( + struct zwp_linux_buffer_params_v1* zwp_linux_buffer_params_v1) { + return wl_proxy_get_user_data((struct wl_proxy*)zwp_linux_buffer_params_v1); +} + +static inline uint32_t zwp_linux_buffer_params_v1_get_version( + struct zwp_linux_buffer_params_v1* zwp_linux_buffer_params_v1) { + return wl_proxy_get_version((struct wl_proxy*)zwp_linux_buffer_params_v1); +} + +/** + * @ingroup iface_zwp_linux_buffer_params_v1 + * + * Cleans up the temporary data sent to the server for dmabuf-based + * wl_buffer creation. + */ +static inline void zwp_linux_buffer_params_v1_destroy( + struct zwp_linux_buffer_params_v1* zwp_linux_buffer_params_v1) { + wl_proxy_marshal((struct wl_proxy*)zwp_linux_buffer_params_v1, + ZWP_LINUX_BUFFER_PARAMS_V1_DESTROY); + + wl_proxy_destroy((struct wl_proxy*)zwp_linux_buffer_params_v1); +} + +/** + * @ingroup iface_zwp_linux_buffer_params_v1 + * + * This request adds one dmabuf to the set in this + * zwp_linux_buffer_params_v1. + * + * The 64-bit unsigned value combined from modifier_hi and modifier_lo + * is the dmabuf layout modifier. DRM AddFB2 ioctl calls this the + * fb modifier, which is defined in drm_mode.h of Linux UAPI. + * This is an opaque token. Drivers use this token to express tiling, + * compression, etc. driver-specific modifications to the base format + * defined by the DRM fourcc code. + * + * This request raises the PLANE_IDX error if plane_idx is too large. + * The error PLANE_SET is raised if attempting to set a plane that + * was already set. + */ +static inline void zwp_linux_buffer_params_v1_add( + struct zwp_linux_buffer_params_v1* zwp_linux_buffer_params_v1, int32_t fd, + uint32_t plane_idx, uint32_t offset, uint32_t stride, uint32_t modifier_hi, + uint32_t modifier_lo) { + wl_proxy_marshal((struct wl_proxy*)zwp_linux_buffer_params_v1, + ZWP_LINUX_BUFFER_PARAMS_V1_ADD, fd, plane_idx, offset, + stride, modifier_hi, modifier_lo); +} + +/** + * @ingroup iface_zwp_linux_buffer_params_v1 + * + * This asks for creation of a wl_buffer from the added dmabuf + * buffers. The wl_buffer is not created immediately but returned via + * the 'created' event if the dmabuf sharing succeeds. The sharing + * may fail at runtime for reasons a client cannot predict, in + * which case the 'failed' event is triggered. + * + * The 'format' argument is a DRM_FORMAT code, as defined by the + * libdrm's drm_fourcc.h. The Linux kernel's DRM sub-system is the + * authoritative source on how the format codes should work. + * + * The 'flags' is a bitfield of the flags defined in enum "flags". + * 'y_invert' means the that the image needs to be y-flipped. + * + * Flag 'interlaced' means that the frame in the buffer is not + * progressive as usual, but interlaced. An interlaced buffer as + * supported here must always contain both top and bottom fields. + * The top field always begins on the first pixel row. The temporal + * ordering between the two fields is top field first, unless + * 'bottom_first' is specified. It is undefined whether 'bottom_first' + * is ignored if 'interlaced' is not set. + * + * This protocol does not convey any information about field rate, + * duration, or timing, other than the relative ordering between the + * two fields in one buffer. A compositor may have to estimate the + * intended field rate from the incoming buffer rate. It is undefined + * whether the time of receiving wl_surface.commit with a new buffer + * attached, applying the wl_surface state, wl_surface.frame callback + * trigger, presentation, or any other point in the compositor cycle + * is used to measure the frame or field times. There is no support + * for detecting missed or late frames/fields/buffers either, and + * there is no support whatsoever for cooperating with interlaced + * compositor output. + * + * The composited image quality resulting from the use of interlaced + * buffers is explicitly undefined. A compositor may use elaborate + * hardware features or software to deinterlace and create progressive + * output frames from a sequence of interlaced input buffers, or it + * may produce substandard image quality. However, compositors that + * cannot guarantee reasonable image quality in all cases are recommended + * to just reject all interlaced buffers. + * + * Any argument errors, including non-positive width or height, + * mismatch between the number of planes and the format, bad + * format, bad offset or stride, may be indicated by fatal protocol + * errors: INCOMPLETE, INVALID_FORMAT, INVALID_DIMENSIONS, + * OUT_OF_BOUNDS. + * + * Dmabuf import errors in the server that are not obvious client + * bugs are returned via the 'failed' event as non-fatal. This + * allows attempting dmabuf sharing and falling back in the client + * if it fails. + * + * This request can be sent only once in the object's lifetime, after + * which the only legal request is destroy. This object should be + * destroyed after issuing a 'create' request. Attempting to use this + * object after issuing 'create' raises ALREADY_USED protocol error. + * + * It is not mandatory to issue 'create'. If a client wants to + * cancel the buffer creation, it can just destroy this object. + */ +static inline void zwp_linux_buffer_params_v1_create( + struct zwp_linux_buffer_params_v1* zwp_linux_buffer_params_v1, + int32_t width, int32_t height, uint32_t format, uint32_t flags) { + wl_proxy_marshal((struct wl_proxy*)zwp_linux_buffer_params_v1, + ZWP_LINUX_BUFFER_PARAMS_V1_CREATE, width, height, format, + flags); +} + +/** + * @ingroup iface_zwp_linux_buffer_params_v1 + * + * This asks for immediate creation of a wl_buffer by importing the + * added dmabufs. + * + * In case of import success, no event is sent from the server, and the + * wl_buffer is ready to be used by the client. + * + * Upon import failure, either of the following may happen, as seen fit + * by the implementation: + * - the client is terminated with one of the following fatal protocol + * errors: + * - INCOMPLETE, INVALID_FORMAT, INVALID_DIMENSIONS, OUT_OF_BOUNDS, + * in case of argument errors such as mismatch between the number + * of planes and the format, bad format, non-positive width or + * height, or bad offset or stride. + * - INVALID_WL_BUFFER, in case the cause for failure is unknown or + * plaform specific. + * - the server creates an invalid wl_buffer, marks it as failed and + * sends a 'failed' event to the client. The result of using this + * invalid wl_buffer as an argument in any request by the client is + * defined by the compositor implementation. + * + * This takes the same arguments as a 'create' request, and obeys the + * same restrictions. + */ +static inline struct wl_buffer* zwp_linux_buffer_params_v1_create_immed( + struct zwp_linux_buffer_params_v1* zwp_linux_buffer_params_v1, + int32_t width, int32_t height, uint32_t format, uint32_t flags) { + struct wl_proxy* buffer_id; + + buffer_id = wl_proxy_marshal_constructor( + (struct wl_proxy*)zwp_linux_buffer_params_v1, + ZWP_LINUX_BUFFER_PARAMS_V1_CREATE_IMMED, &wl_buffer_interface, NULL, + width, height, format, flags); + + return (struct wl_buffer*)buffer_id; +} + +#ifdef __cplusplus +} +#endif + +#endif diff --git a/widget/gtk/wayland/linux-dmabuf-unstable-v1-protocol.c b/widget/gtk/wayland/linux-dmabuf-unstable-v1-protocol.c new file mode 100644 index 000000000000..51c1e8e57502 --- /dev/null +++ b/widget/gtk/wayland/linux-dmabuf-unstable-v1-protocol.c @@ -0,0 +1,81 @@ +/* Generated by wayland-scanner 1.17.0 */ + +/* + * Copyright © 2014, 2015 Collabora, Ltd. + * + * Permission is hereby granted, free of charge, to any person obtaining a + * copy of this software and associated documentation files (the "Software"), + * to deal in the Software without restriction, including without limitation + * the rights to use, copy, modify, merge, publish, distribute, sublicense, + * and/or sell copies of the Software, and to permit persons to whom the + * Software is furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice (including the next + * paragraph) shall be included in all copies or substantial portions of the + * Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL + * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING + * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER + * DEALINGS IN THE SOFTWARE. + */ + +#include +#include +#include "wayland-util.h" + +#pragma GCC visibility push(default) +extern const struct wl_interface wl_buffer_interface; +extern const struct wl_interface zwp_linux_buffer_params_v1_interface; +#pragma GCC visibility pop + +static const struct wl_interface* types[] = { + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + &zwp_linux_buffer_params_v1_interface, + &wl_buffer_interface, + NULL, + NULL, + NULL, + NULL, + &wl_buffer_interface, +}; + +static const struct wl_message zwp_linux_dmabuf_v1_requests[] = { + {"destroy", "", types + 0}, + {"create_params", "n", types + 6}, +}; + +static const struct wl_message zwp_linux_dmabuf_v1_events[] = { + {"format", "u", types + 0}, + {"modifier", "3uuu", types + 0}, +}; + +const struct wl_interface zwp_linux_dmabuf_v1_interface = { + "zwp_linux_dmabuf_v1", 3, 2, + zwp_linux_dmabuf_v1_requests, 2, zwp_linux_dmabuf_v1_events, +}; + +static const struct wl_message zwp_linux_buffer_params_v1_requests[] = { + {"destroy", "", types + 0}, + {"add", "huuuuu", types + 0}, + {"create", "iiuu", types + 0}, + {"create_immed", "2niiuu", types + 7}, +}; + +static const struct wl_message zwp_linux_buffer_params_v1_events[] = { + {"created", "n", types + 12}, + {"failed", "", types + 0}, +}; + +const struct wl_interface zwp_linux_buffer_params_v1_interface = { + "zwp_linux_buffer_params_v1", 3, 4, + zwp_linux_buffer_params_v1_requests, 2, zwp_linux_buffer_params_v1_events, +}; diff --git a/widget/gtk/wayland/moz.build b/widget/gtk/wayland/moz.build index 2da6a49f20a5..cc026db4edbe 100644 --- a/widget/gtk/wayland/moz.build +++ b/widget/gtk/wayland/moz.build @@ -9,6 +9,12 @@ with Files("**"): SOURCES += [ 'gtk-primary-selection-protocol.c', + 'linux-dmabuf-unstable-v1-protocol.c' +] + +EXPORTS.mozilla.widget += [ + 'gtk-primary-selection-client-protocol.h', + 'linux-dmabuf-unstable-v1-client-protocol.h', ] include('/ipc/chromium/chromium-config.mozbuild') From b091c956c1637b914f10ad8973a4dfe7ca30184a Mon Sep 17 00:00:00 2001 From: Brad Arant Date: Mon, 27 May 2019 19:23:58 +0000 Subject: [PATCH 79/80] Bug 1538270 - Removal of extra space at end of message.;r=VladBaicu Differential Revision: https://phabricator.services.mozilla.com/D32411 --HG-- extra : moz-landing-system : lando --- mobile/android/base/locales/en-US/android_strings.dtd | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mobile/android/base/locales/en-US/android_strings.dtd b/mobile/android/base/locales/en-US/android_strings.dtd index 10aa89965b0c..723b15e63ec2 100644 --- a/mobile/android/base/locales/en-US/android_strings.dtd +++ b/mobile/android/base/locales/en-US/android_strings.dtd @@ -671,7 +671,7 @@ shown from Android O while a tab is being queued.--> - + From fa7207a14dc141bd00c66a377a9ecddc329c2869 Mon Sep 17 00:00:00 2001 From: Cosmin Sabou Date: Wed, 29 May 2019 11:01:47 +0300 Subject: [PATCH 80/80] Backed out 4 changesets (bug 1519514) for causing several browser chrome failures. CLOSED TREE Backed out changeset 485c2c76fab6 (bug 1519514) Backed out changeset 8488d800a785 (bug 1519514) Backed out changeset 858b9456eb3c (bug 1519514) Backed out changeset 2cd983857de6 (bug 1519514) --- browser/base/content/browser-siteIdentity.js | 2 +- browser/base/content/browser.css | 4 + browser/base/content/browser.xul | 3 +- browser/base/content/tabbrowser-tab.js | 574 ----------------- browser/base/content/tabbrowser.js | 15 +- browser/base/content/tabbrowser.xml | 588 +++++++++++++++++- .../test/favicons/browser_title_flicker.js | 4 +- .../browser_beforeunload_duplicate_dialogs.js | 6 +- .../test/general/browser_double_close_tab.js | 4 +- .../browser_tabs_close_beforeunload.js | 2 +- .../test/performance/browser_appmenu.js | 6 - .../test/performance/browser_tabopen.js | 13 +- .../content/test/tabs/browser_audioTabIcon.js | 20 +- .../tabs/browser_multiselect_tabs_close.js | 4 +- .../browser_multiselect_tabs_mute_unmute.js | 8 +- .../test/tabs/browser_tabCloseSpacer.js | 2 +- .../browser_devices_get_user_media_anim.js | 3 +- browser/base/jar.mn | 1 - .../components/extensions/parent/ext-menus.js | 7 +- browser/components/uitour/UITour.jsm | 4 +- .../firefox_puppeteer/ui/browser/tabbar.py | 2 +- .../browser/browser_ext_themes_tab_line.js | 2 +- .../browser/browser_ext_themes_tab_loading.js | 2 +- .../browser_ext_themes_tab_selected.js | 4 +- .../reader/test/browser_readerMode.js | 2 +- .../browser_block_silentAudioTrack_media.js | 2 +- .../tests/browser/browser_mute_plugIn.js | 2 +- .../tests/browser/browser_mute_webAudio.js | 2 +- toolkit/content/widgets/tabbox.js | 160 ----- toolkit/content/widgets/tabbox.xml | 135 ++++ toolkit/content/xul.css | 1 + 31 files changed, 778 insertions(+), 806 deletions(-) delete mode 100644 browser/base/content/tabbrowser-tab.js diff --git a/browser/base/content/browser-siteIdentity.js b/browser/base/content/browser-siteIdentity.js index be9b71e6da85..cbff499b9685 100644 --- a/browser/base/content/browser-siteIdentity.js +++ b/browser/base/content/browser-siteIdentity.js @@ -977,7 +977,7 @@ var gIdentityHandler = { let ctx = canvas.getContext("2d"); ctx.font = `${14 * scale}px sans-serif`; ctx.fillText(`${value}`, 20 * scale, 14 * scale); - let tabIcon = gBrowser.selectedTab.iconImage; + let tabIcon = document.getAnonymousElementByAttribute(gBrowser.selectedTab, "anonid", "tab-icon-image"); let image = new Image(); image.src = tabIcon.src; ctx.drawImage(image, 0, 0, 16 * scale, 16 * scale); diff --git a/browser/base/content/browser.css b/browser/base/content/browser.css index 8dd343eea717..3fa715f8696f 100644 --- a/browser/base/content/browser.css +++ b/browser/base/content/browser.css @@ -158,6 +158,10 @@ panelview[mainview] > .panel-header { visibility: hidden; /* temporary space to keep a tab's close button under the cursor */ } +.tabbrowser-tab { + -moz-binding: url("chrome://browser/content/tabbrowser.xml#tabbrowser-tab"); +} + .tabbrowser-tab:not([pinned]) { -moz-box-flex: 100; max-width: 225px; diff --git a/browser/base/content/browser.xul b/browser/base/content/browser.xul index 890c0311e039..54bb31b69582 100644 --- a/browser/base/content/browser.xul +++ b/browser/base/content/browser.xul @@ -96,7 +96,6 @@ Services.scriptloader.loadSubScript("chrome://browser/content/browser-sidebar.js", this); Services.scriptloader.loadSubScript("chrome://browser/content/browser-tabsintitlebar.js", this); Services.scriptloader.loadSubScript("chrome://browser/content/tabbrowser.js", this); - Services.scriptloader.loadSubScript("chrome://browser/content/tabbrowser-tab.js", this); Services.scriptloader.loadSubScript("chrome://browser/content/search/autocomplete-popup.js", this); Services.scriptloader.loadSubScript("chrome://browser/content/search/searchbar.js", this); @@ -729,7 +728,7 @@ setfocus="false" tooltip="tabbrowser-tab-tooltip" stopwatchid="FX_TAB_CLICK_MS"> - + { - if (event.originalTarget.classList.contains("tab-close-button")) { - this.mOverCloseButton = true; - } - this._mouseenter(); - }); - - this.addEventListener("mouseout", (event) => { - if (event.originalTarget.classList.contains("tab-close-button")) { - this.mOverCloseButton = false; - } - this._mouseleave(); - }); - - this.addEventListener("dragstart", (event) => { - this.style.MozUserFocus = ""; - }, true); - - this.addEventListener("dragstart", (event) => { - if (this.mOverCloseButton) { - event.stopPropagation(); - } - }); - - this.addEventListener("mousedown", (event) => { - let tabContainer = this.parentNode; - - if (tabContainer._closeTabByDblclick && - event.button == 0 && - event.detail == 1) { - this._selectedOnFirstMouseDown = this.selected; - } - - if (this.selected) { - this.style.MozUserFocus = "ignore"; - } else if (event.originalTarget.classList.contains("tab-close-button") || - event.originalTarget.classList.contains("tab-icon-sound") || - event.originalTarget.classList.contains("tab-icon-overlay")) { - // Prevent tabbox.xml from selecting the tab. - event.stopPropagation(); - } - - if (event.button == 1) { - gBrowser.warmupTab(gBrowser._findTabToBlurTo(this)); - } - - if (event.button == 0 && tabContainer._multiselectEnabled) { - let shiftKey = event.shiftKey; - let accelKey = event.getModifierState("Accel"); - if (shiftKey) { - const lastSelectedTab = gBrowser.lastMultiSelectedTab; - if (!accelKey) { - gBrowser.selectedTab = lastSelectedTab; - - // Make sure selection is cleared when tab-switch doesn't happen. - gBrowser.clearMultiSelectedTabs(false); - } - gBrowser.addRangeToMultiSelectedTabs(lastSelectedTab, this); - - // Prevent tabbox.xml from selecting the tab. - event.stopPropagation(); - } else if (accelKey) { - // Ctrl (Cmd for mac) key is pressed - if (this.multiselected) { - gBrowser.removeFromMultiSelectedTabs(this, true); - } else if (this != gBrowser.selectedTab) { - gBrowser.addToMultiSelectedTabs(this, false); - gBrowser.lastMultiSelectedTab = this; - } - - // Prevent tabbox.xml from selecting the tab. - event.stopPropagation(); - } else if (!this.selected && this.multiselected) { - gBrowser.lockClearMultiSelectionOnce(); - } - } - }, true); - - this.addEventListener("mouseup", (event) => { - // Make sure that clear-selection is released. - // Otherwise selection using Shift key may be broken. - gBrowser.unlockClearMultiSelection(); - - this.style.MozUserFocus = ""; - }); - - this.addEventListener("click", (event) => { - if (event.button != 0) { - return; - } - - if (event.getModifierState("Accel") || event.shiftKey) { - return; - } - - if (gBrowser.multiSelectedTabsCount > 0 && - !event.originalTarget.classList.contains("tab-close-button") && - !event.originalTarget.classList.contains("tab-icon-sound") && - !event.originalTarget.classList.contains("tab-icon-overlay")) { - // Tabs were previously multi-selected and user clicks on a tab - // without holding Ctrl/Cmd Key - - // Force positional attributes to update when the - // target (of the click) is the "active" tab. - let updatePositionalAttr = gBrowser.selectedTab == this; - - gBrowser.clearMultiSelectedTabs(updatePositionalAttr); - } - - if (event.originalTarget.classList.contains("tab-icon-sound") || - (event.originalTarget.classList.contains("tab-icon-overlay") && - (event.originalTarget.hasAttribute("soundplaying") || - event.originalTarget.hasAttribute("muted") || - event.originalTarget.hasAttribute("activemedia-blocked")))) { - if (this.multiselected) { - gBrowser.toggleMuteAudioOnMultiSelectedTabs(this); - } else { - this.toggleMuteAudio(); - } - return; - } - - if (event.originalTarget.classList.contains("tab-close-button")) { - if (this.multiselected) { - gBrowser.removeMultiSelectedTabs(); - } else { - gBrowser.removeTab(this, { - animate: true, - byMouse: event.mozInputSource == MouseEvent.MOZ_SOURCE_MOUSE, - }); - } - // This enables double-click protection for the tab container - // (see tabbrowser-tabs 'click' handler). - gBrowser.tabContainer._blockDblClick = true; - } - }); - - this.addEventListener("dblclick", (event) => { - if (event.button != 0) { - return; - } - - // for the one-close-button case - if (event.originalTarget.classList.contains("tab-close-button")) { - event.stopPropagation(); - } - - let tabContainer = this.parentNode; - if (tabContainer._closeTabByDblclick && - this._selectedOnFirstMouseDown && - this.selected && - !(event.originalTarget.classList.contains("tab-icon-sound") || - event.originalTarget.classList.contains("tab-icon-overlay"))) { - gBrowser.removeTab(this, { - animate: true, - byMouse: event.mozInputSource == MouseEvent.MOZ_SOURCE_MOUSE, - }); - } - }, true); - - this.addEventListener("animationend", (event) => { - if (event.originalTarget.classList.contains("tab-loading-burst")) { - this.removeAttribute("bursting"); - } - }); - - this._selectedOnFirstMouseDown = false; - - /** - * Describes how the tab ended up in this mute state. May be any of: - * - * - undefined: The tabs mute state has never changed. - * - null: The mute state was last changed through the UI. - * - Any string: The ID was changed through an extension API. The string - * must be the ID of the extension which changed it. - */ - this.muteReason = undefined; - - this.mOverCloseButton = false; - - this.mCorrespondingMenuitem = null; - } - - static get inheritedAttributes() { - return { - ".tab-background": "selected=visuallyselected,fadein,multiselected", - ".tab-line": "selected=visuallyselected,multiselected,before-multiselected", - ".tab-loading-burst": "pinned,bursting,notselectedsinceload", - ".tab-content": "pinned,selected=visuallyselected,titlechanged,attention", - ".tab-throbber": "fadein,pinned,busy,progress,selected=visuallyselected", - ".tab-icon-pending": "fadein,pinned,busy,progress,selected=visuallyselected,pendingicon", - ".tab-icon-image": "src=image,triggeringprincipal=iconloadingprincipal,requestcontextid,fadein,pinned,selected=visuallyselected,busy,crashed,sharing", - ".tab-sharing-icon-overlay": "sharing,selected=visuallyselected,pinned", - ".tab-icon-overlay": "crashed,busy,soundplaying,soundplaying-scheduledremoval,pinned,muted,blocked,selected=visuallyselected,activemedia-blocked", - ".tab-label-container": "pinned,selected=visuallyselected,labeldirection", - ".tab-label": "text=label,accesskey,fadein,pinned,selected=visuallyselected,attention", - ".tab-icon-pip": "pictureinpicture", - ".tab-icon-sound": "soundplaying,soundplaying-scheduledremoval,pinned,muted,blocked,selected=visuallyselected,activemedia-blocked,pictureinpicture", - ".tab-close-button": "fadein,pinned,selected=visuallyselected", - }; - } - - get fragment() { - if (!this._fragment) { - this._fragment = MozXULElement.parseXULToFragment(` - - - - - - - - - - - - - - - - - - - - - - `); - } - return this.ownerDocument.importNode(this._fragment, true); - } - - connectedCallback() { - if (this._initialized) { - return; - } - - this.textContent = ""; - this.appendChild(this.fragment); - this.initializeAttributeInheritance(); - this.setAttribute("context", "tabContextMenu"); - this._initialized = true; - - if (!("_lastAccessed" in this)) { - this.updateLastAccessed(); - } - } - - set _visuallySelected(val) { - if (val == (this.getAttribute("visuallyselected") == "true")) { - return val; - } - - if (val) { - this.setAttribute("visuallyselected", "true"); - } else { - this.removeAttribute("visuallyselected"); - } - gBrowser._tabAttrModified(this, ["visuallyselected"]); - - return val; - } - - set _selected(val) { - // in e10s we want to only pseudo-select a tab before its rendering is done, so that - // the rest of the system knows that the tab is selected, but we don't want to update its - // visual status to selected until after we receive confirmation that its content has painted. - if (val) - this.setAttribute("selected", "true"); - else - this.removeAttribute("selected"); - - // If we're non-e10s we should update the visual selection as well at the same time, - // *or* if we're e10s and the visually selected tab isn't changing, in which case the - // tab switcher code won't run and update anything else (like the before- and after- - // selected attributes). - if (!gMultiProcessBrowser || (val && this.hasAttribute("visuallyselected"))) { - this._visuallySelected = val; - } - - return val; - } - - get pinned() { - return this.getAttribute("pinned") == "true"; - } - - get hidden() { - return this.getAttribute("hidden") == "true"; - } - - get muted() { - return this.getAttribute("muted") == "true"; - } - - get multiselected() { - return this.getAttribute("multiselected") == "true"; - } - - get beforeMultiselected() { - return this.getAttribute("before-multiselected") == "true"; - } - - get userContextId() { - return this.hasAttribute("usercontextid") ? - parseInt(this.getAttribute("usercontextid")) : - 0; - } - - get soundPlaying() { - return this.getAttribute("soundplaying") == "true"; - } - - get pictureinpicture() { - return this.getAttribute("pictureinpicture") == "true"; - } - - get activeMediaBlocked() { - return this.getAttribute("activemedia-blocked") == "true"; - } - - get isEmpty() { - // Determines if a tab is "empty", usually used in the context of determining - // if it's ok to close the tab. - if (this.hasAttribute("busy")) - return false; - - if (this.hasAttribute("customizemode")) - return false; - - let browser = this.linkedBrowser; - if (!isBlankPageURL(browser.currentURI.spec)) - return false; - - if (!checkEmptyPageOrigin(browser)) - return false; - - if (browser.canGoForward || browser.canGoBack) - return false; - - return true; - } - - get lastAccessed() { - return this._lastAccessed == Infinity ? Date.now() : this._lastAccessed; - } - - get _overPlayingIcon() { - let iconVisible = this.hasAttribute("soundplaying") || - this.hasAttribute("muted") || - this.hasAttribute("activemedia-blocked"); - - let soundPlayingIcon = this.soundPlayingIcon; - let overlayIcon = this.overlayIcon; - return soundPlayingIcon && soundPlayingIcon.matches(":hover") || - (overlayIcon && overlayIcon.matches(":hover") && iconVisible); - } - - get soundPlayingIcon() { - return this.querySelector(".tab-icon-sound"); - } - - get overlayIcon() { - return this.querySelector(".tab-icon-overlay"); - } - - get throbber() { - return this.querySelector(".tab-throbber"); - } - - get iconImage() { - return this.querySelector(".tab-icon-image"); - } - - get sharingIcon() { - return this.querySelector(".tab-sharing-icon-overlay"); - } - - get textLabel() { - return this.querySelector(".tab-label"); - } - - get closeButton() { - return this.querySelector(".tab-close-button"); - } - - updateLastAccessed(aDate) { - this._lastAccessed = this.selected ? Infinity : (aDate || Date.now()); - } - - /** - * While it would make sense to track this in a field, the field will get nuked - * once the node is gone from the DOM, which causes us to think the tab is not - * closed, which causes us to make wrong decisions. So we use an expando instead. - * false - */ - _mouseenter() { - if (this.hidden || this.closing) { - return; - } - - let tabContainer = this.parentNode; - let visibleTabs = tabContainer._getVisibleTabs(); - let tabIndex = visibleTabs.indexOf(this); - - if (this.selected) - tabContainer._handleTabSelect(); - - if (tabIndex == 0) { - tabContainer._beforeHoveredTab = null; - } else { - let candidate = visibleTabs[tabIndex - 1]; - let separatedByScrollButton = - tabContainer.getAttribute("overflow") == "true" && - candidate.pinned && !this.pinned; - if (!candidate.selected && !separatedByScrollButton) { - tabContainer._beforeHoveredTab = candidate; - candidate.setAttribute("beforehovered", "true"); - } - } - - if (tabIndex == visibleTabs.length - 1) { - tabContainer._afterHoveredTab = null; - } else { - let candidate = visibleTabs[tabIndex + 1]; - if (!candidate.selected) { - tabContainer._afterHoveredTab = candidate; - candidate.setAttribute("afterhovered", "true"); - } - } - - tabContainer._hoveredTab = this; - if (this.linkedPanel && !this.selected) { - this.linkedBrowser.unselectedTabHover(true); - this.startUnselectedTabHoverTimer(); - } - - // Prepare connection to host beforehand. - SessionStore.speculativeConnectOnTabHover(this); - - let tabToWarm = this; - if (this.mOverCloseButton) { - tabToWarm = gBrowser._findTabToBlurTo(this); - } - gBrowser.warmupTab(tabToWarm); - } - - _mouseleave() { - let tabContainer = this.parentNode; - if (tabContainer._beforeHoveredTab) { - tabContainer._beforeHoveredTab.removeAttribute("beforehovered"); - tabContainer._beforeHoveredTab = null; - } - if (tabContainer._afterHoveredTab) { - tabContainer._afterHoveredTab.removeAttribute("afterhovered"); - tabContainer._afterHoveredTab = null; - } - - tabContainer._hoveredTab = null; - if (this.linkedPanel && !this.selected) { - this.linkedBrowser.unselectedTabHover(false); - this.cancelUnselectedTabHoverTimer(); - } - } - - startUnselectedTabHoverTimer() { - // Only record data when we need to. - if (!this.linkedBrowser.shouldHandleUnselectedTabHover) { - return; - } - - if (!TelemetryStopwatch.running("HOVER_UNTIL_UNSELECTED_TAB_OPENED", this)) { - TelemetryStopwatch.start("HOVER_UNTIL_UNSELECTED_TAB_OPENED", this); - } - - if (this._hoverTabTimer) { - clearTimeout(this._hoverTabTimer); - this._hoverTabTimer = null; - } - } - - cancelUnselectedTabHoverTimer() { - // Since we're listening "mouseout" event, instead of "mouseleave". - // Every time the cursor is moving from the tab to its child node (icon), - // it would dispatch "mouseout"(for tab) first and then dispatch - // "mouseover" (for icon, eg: close button, speaker icon) soon. - // It causes we would cancel present TelemetryStopwatch immediately - // when cursor is moving on the icon, and then start a new one. - // In order to avoid this situation, we could delay cancellation and - // remove it if we get "mouseover" within very short period. - this._hoverTabTimer = setTimeout(() => { - if (TelemetryStopwatch.running("HOVER_UNTIL_UNSELECTED_TAB_OPENED", this)) { - TelemetryStopwatch.cancel("HOVER_UNTIL_UNSELECTED_TAB_OPENED", this); - } - }, 100); - } - - finishUnselectedTabHoverTimer() { - // Stop timer when the tab is opened. - if (TelemetryStopwatch.running("HOVER_UNTIL_UNSELECTED_TAB_OPENED", this)) { - TelemetryStopwatch.finish("HOVER_UNTIL_UNSELECTED_TAB_OPENED", this); - } - } - - toggleMuteAudio(aMuteReason) { - let browser = this.linkedBrowser; - let modifiedAttrs = []; - let hist = Services.telemetry.getHistogramById("TAB_AUDIO_INDICATOR_USED"); - - if (this.hasAttribute("activemedia-blocked")) { - this.removeAttribute("activemedia-blocked"); - modifiedAttrs.push("activemedia-blocked"); - - browser.resumeMedia(); - hist.add(3 /* unblockByClickingIcon */ ); - } else { - if (browser.audioMuted) { - if (this.linkedPanel) { - // "Lazy Browser" should not invoke its unmute method - browser.unmute(); - } - this.removeAttribute("muted"); - hist.add(1 /* unmute */ ); - } else { - if (this.linkedPanel) { - // "Lazy Browser" should not invoke its mute method - browser.mute(); - } - this.setAttribute("muted", "true"); - hist.add(0 /* mute */ ); - } - this.muteReason = aMuteReason || null; - modifiedAttrs.push("muted"); - } - gBrowser._tabAttrModified(this, modifiedAttrs); - } - - setUserContextId(aUserContextId) { - if (aUserContextId) { - if (this.linkedBrowser) { - this.linkedBrowser.setAttribute("usercontextid", aUserContextId); - } - this.setAttribute("usercontextid", aUserContextId); - } else { - if (this.linkedBrowser) { - this.linkedBrowser.removeAttribute("usercontextid"); - } - this.removeAttribute("usercontextid"); - } - - ContextualIdentityService.setTabStyle(this); - } -} - -customElements.define("tabbrowser-tab", MozTabbrowserTab, { - extends: "tab", -}); -} diff --git a/browser/base/content/tabbrowser.js b/browser/base/content/tabbrowser.js index 68358b242fc4..b0e13020112b 100644 --- a/browser/base/content/tabbrowser.js +++ b/browser/base/content/tabbrowser.js @@ -655,7 +655,8 @@ window._gBrowser = { const animations = Array.from(aTab.parentNode.getElementsByTagName("tab")) .map(tab => { - const throbber = tab.throbber; + const throbber = + document.getAnonymousElementByAttribute(tab, "anonid", "tab-throbber"); return throbber ? throbber.getAnimations({ subtree: true }) : []; }) .reduce((a, b) => a.concat(b)) @@ -2318,7 +2319,8 @@ window._gBrowser = { let openerTab = ((openerBrowser && this.getTabForBrowser(openerBrowser)) || (relatedToCurrent && this.selectedTab)); - var t = document.createXULElement("tab", { is: "tabbrowser-tab" }); + var t = document.createXULElement("tab"); + t.openerTab = openerTab; aURI = aURI || "about:blank"; @@ -4226,8 +4228,8 @@ window._gBrowser = { createTooltip(event) { event.stopPropagation(); - let tab = document.tooltipNode ? document.tooltipNode.closest("tab") : null; - if (!tab) { + var tab = document.tooltipNode; + if (!tab || tab.localName != "tab") { event.preventDefault(); return; } @@ -5408,9 +5410,8 @@ var TabContextMenu = { }); }, updateContextMenu(aPopupMenu) { - let tab = aPopupMenu.triggerNode && aPopupMenu.triggerNode.closest("tab"); - this.contextTab = tab || gBrowser.selectedTab; - + this.contextTab = aPopupMenu.triggerNode.localName == "tab" ? + aPopupMenu.triggerNode : gBrowser.selectedTab; let disabled = gBrowser.tabs.length == 1; let multiselectionContext = this.contextTab.multiselected; diff --git a/browser/base/content/tabbrowser.xml b/browser/base/content/tabbrowser.xml index 6913f90c4595..0ee33ad8d3a5 100644 --- a/browser/base/content/tabbrowser.xml +++ b/browser/base/content/tabbrowser.xml @@ -991,10 +991,7 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + false + + + + return this.getAttribute("pinned") == "true"; + + + + + return this.getAttribute("hidden") == "true"; + + + + + return this.getAttribute("muted") == "true"; + + + + + return this.getAttribute("multiselected") == "true"; + + + + + return this.getAttribute("before-multiselected") == "true"; + + + + undefined + + + + return this.hasAttribute("usercontextid") + ? parseInt(this.getAttribute("usercontextid")) + : 0; + + + + + + return this.getAttribute("soundplaying") == "true"; + + + + + + return this.getAttribute("pictureinpicture") == "true"; + + + + + + return this.getAttribute("activemedia-blocked") == "true"; + + + + + + // Determines if a tab is "empty", usually used in the context of determining + // if it's ok to close the tab. + if (this.hasAttribute("busy")) + return false; + + if (this.hasAttribute("customizemode")) + return false; + + let browser = this.linkedBrowser; + if (!isBlankPageURL(browser.currentURI.spec)) + return false; + + if (!checkEmptyPageOrigin(browser)) + return false; + + if (browser.canGoForward || browser.canGoBack) + return false; + + return true; + + + + + + return this._lastAccessed == Infinity ? Date.now() : this._lastAccessed; + + + + + + + + false + + + + null + + + + + + + + + + + + + + + + + { + if (TelemetryStopwatch.running("HOVER_UNTIL_UNSELECTED_TAB_OPENED", this)) { + TelemetryStopwatch.cancel("HOVER_UNTIL_UNSELECTED_TAB_OPENED", this); + } + }, 100); + ]]> + + + + + + + + + + + + + + + + + + + + + + + + + + + this.style.MozUserFocus = ""; + + + + + + + + + // Make sure that clear-selection is released. + // Otherwise selection using Shift key may be broken. + gBrowser.unlockClearMultiSelection(); + + this.style.MozUserFocus = ""; + + + 0 && + !event.originalTarget.classList.contains("tab-close-button") && + !event.originalTarget.classList.contains("tab-icon-sound") && + !event.originalTarget.classList.contains("tab-icon-overlay")) { + // Tabs were previously multi-selected and user clicks on a tab + // without holding Ctrl/Cmd Key + + // Force positional attributes to update when the + // target (of the click) is the "active" tab. + let updatePositionalAttr = gBrowser.selectedTab == this; + + gBrowser.clearMultiSelectedTabs(updatePositionalAttr); + } + + if (event.originalTarget.classList.contains("tab-icon-sound") || + (event.originalTarget.classList.contains("tab-icon-overlay") && + (event.originalTarget.hasAttribute("soundplaying") || + event.originalTarget.hasAttribute("muted") || + event.originalTarget.hasAttribute("activemedia-blocked")))) { + if (this.multiselected) { + gBrowser.toggleMuteAudioOnMultiSelectedTabs(this); + } else { + this.toggleMuteAudio(); + } + return; + } + + if (event.originalTarget.getAttribute("anonid") == "close-button") { + if (this.multiselected) { + gBrowser.removeMultiSelectedTabs(); + } else { + gBrowser.removeTab(this, { + animate: true, + byMouse: event.mozInputSource == MouseEvent.MOZ_SOURCE_MOUSE, + }); + } + // This enables double-click protection for the tab container + // (see tabbrowser-tabs 'click' handler). + gBrowser.tabContainer._blockDblClick = true; + } + ]]> + + + + + + + + diff --git a/browser/base/content/test/favicons/browser_title_flicker.js b/browser/base/content/test/favicons/browser_title_flicker.js index 40350b80dc96..7599bdb3489b 100644 --- a/browser/base/content/test/favicons/browser_title_flicker.js +++ b/browser/base/content/test/favicons/browser_title_flicker.js @@ -38,7 +38,7 @@ add_task(async () => { await waitForAttributeChange(tab, "label"); ok(tab.hasAttribute("busy"), "Should have seen the busy attribute"); - let label = tab.textLabel; + let label = document.getAnonymousElementByAttribute(tab, "anonid", "tab-label"); let bounds = label.getBoundingClientRect(); await waitForAttributeChange(tab, "busy"); @@ -60,7 +60,7 @@ add_task(async () => { is(icon.iconURL, "http://example.com/favicon.ico"); let tab = gBrowser.getTabForBrowser(browser); - let label = tab.textLabel; + let label = document.getAnonymousElementByAttribute(tab, "anonid", "tab-label"); let bounds = label.getBoundingClientRect(); await ContentTask.spawn(browser, null, () => { diff --git a/browser/base/content/test/general/browser_beforeunload_duplicate_dialogs.js b/browser/base/content/test/general/browser_beforeunload_duplicate_dialogs.js index c31f0e21b4a3..5615f0e9cbad 100644 --- a/browser/base/content/test/general/browser_beforeunload_duplicate_dialogs.js +++ b/browser/base/content/test/general/browser_beforeunload_duplicate_dialogs.js @@ -34,7 +34,7 @@ add_task(async function closeLastTabInWindow() { let windowClosedPromise = BrowserTestUtils.domWindowClosed(newWin); expectingDialog = true; // close tab: - firstTab.closeButton.click(); + document.getAnonymousElementByAttribute(firstTab, "anonid", "close-button").click(); await windowClosedPromise; ok(!expectingDialog, "There should have been a dialog."); ok(newWin.closed, "Window should be closed."); @@ -63,13 +63,13 @@ add_task(async function closeWindoWithSingleTabTwice() { expectingDialog = true; wantToClose = false; let firstDialogShownPromise = new Promise((resolve, reject) => { resolveDialogPromise = resolve; }); - firstTab.closeButton.click(); + document.getAnonymousElementByAttribute(firstTab, "anonid", "close-button").click(); await firstDialogShownPromise; info("Got initial dialog, now trying again"); expectingDialog = true; wantToClose = true; resolveDialogPromise = null; - firstTab.closeButton.click(); + document.getAnonymousElementByAttribute(firstTab, "anonid", "close-button").click(); await windowClosedPromise; ok(!expectingDialog, "There should have been a dialog."); ok(newWin.closed, "Window should be closed."); diff --git a/browser/base/content/test/general/browser_double_close_tab.js b/browser/base/content/test/general/browser_double_close_tab.js index 1a1df5a6b53e..6d69a4fca424 100644 --- a/browser/base/content/test/general/browser_double_close_tab.js +++ b/browser/base/content/test/general/browser_double_close_tab.js @@ -61,10 +61,10 @@ add_task(async function() { doCompletion(); }); // Click again: - testTab.closeButton.click(); + document.getAnonymousElementByAttribute(testTab, "anonid", "close-button").click(); }); // Click once: - testTab.closeButton.click(); + document.getAnonymousElementByAttribute(testTab, "anonid", "close-button").click(); }); await TestUtils.waitForCondition(() => !testTab.parentNode); ok(!testTab.parentNode, "Tab should be closed completely"); diff --git a/browser/base/content/test/general/browser_tabs_close_beforeunload.js b/browser/base/content/test/general/browser_tabs_close_beforeunload.js index 3e7e1bef6247..df24f5511a09 100644 --- a/browser/base/content/test/general/browser_tabs_close_beforeunload.js +++ b/browser/base/content/test/general/browser_tabs_close_beforeunload.js @@ -31,7 +31,7 @@ add_task(async function() { info("Waiting for the load in that tab to finish"); await secondTabLoadedPromise; - let closeBtn = secondTab.closeButton; + let closeBtn = document.getAnonymousElementByAttribute(secondTab, "anonid", "close-button"); info("closing second tab (which will self-close in beforeunload)"); closeBtn.click(); ok(secondTab.closing, "Second tab should be marked as closing synchronously."); diff --git a/browser/base/content/test/performance/browser_appmenu.js b/browser/base/content/test/performance/browser_appmenu.js index 86eaa6af095f..67924d0742c8 100644 --- a/browser/base/content/test/performance/browser_appmenu.js +++ b/browser/base/content/test/performance/browser_appmenu.js @@ -46,7 +46,6 @@ add_task(async function() { "anonid", "moz-input-box").getBoundingClientRect(); let menuButtonRect = document.getElementById("PanelUI-menu-button").getBoundingClientRect(); - let firstTabRect = gBrowser.selectedTab.getBoundingClientRect(); let frameExpectations = { filter: rects => rects.filter(r => !( // We expect the menu button to get into the active state. @@ -61,11 +60,6 @@ add_task(async function() { r.x1 >= textBoxRect.left && r.x2 <= textBoxRect.right && r.y1 >= textBoxRect.top && r.y2 <= textBoxRect.bottom, }, - {name: "bug 1547341 - a first tab gets drawn early", - condition: r => - r.x1 >= firstTabRect.left && r.x2 <= firstTabRect.right && - r.y1 >= firstTabRect.top && r.y2 <= firstTabRect.bottom, - }, ], }; diff --git a/browser/base/content/test/performance/browser_tabopen.js b/browser/base/content/test/performance/browser_tabopen.js index c9ae6753b595..2422a6be4dd1 100644 --- a/browser/base/content/test/performance/browser_tabopen.js +++ b/browser/base/content/test/performance/browser_tabopen.js @@ -31,12 +31,11 @@ add_task(async function() { let tabStripRect = gBrowser.tabContainer.arrowScrollbox.getBoundingClientRect(); let firstTabRect = gBrowser.selectedTab.getBoundingClientRect(); - let firstTabLabelRect = gBrowser.selectedTab.textLabel.getBoundingClientRect(); + let firstTabLabelRect = + document.getAnonymousElementByAttribute(gBrowser.selectedTab, "anonid", "tab-label") + .getBoundingClientRect(); let textBoxRect = document.getAnonymousElementByAttribute(gURLBar.textbox, "anonid", "moz-input-box").getBoundingClientRect(); - let historyDropmarkerRect = document.getAnonymousElementByAttribute( - gURLBar.textbox, "anonid", "historydropmarker").getBoundingClientRect(); - let inRange = (val, min, max) => min <= val && val <= max; // Add a reflow observer and open a new tab. @@ -94,12 +93,6 @@ add_task(async function() { r.y1 >= firstTabLabelRect.y && r.y2 <= firstTabLabelRect.bottom, }, - {name: "bug 1547341 - addressbar history dropmarker is shown", - condition: r => r.x1 >= historyDropmarkerRect.x && - r.x2 <= historyDropmarkerRect.right && - r.y1 >= historyDropmarkerRect.y && - r.y2 <= historyDropmarkerRect.bottom, - }, ], }, }); diff --git a/browser/base/content/test/tabs/browser_audioTabIcon.js b/browser/base/content/test/tabs/browser_audioTabIcon.js index c3df357d9dd5..592dd9e05619 100644 --- a/browser/base/content/test/tabs/browser_audioTabIcon.js +++ b/browser/base/content/test/tabs/browser_audioTabIcon.js @@ -111,7 +111,8 @@ async function test_muting_using_menu(tab, expectMuted) { } async function test_playing_icon_on_tab(tab, browser, isPinned) { - let icon = isPinned ? tab.overlayIcon : tab.soundPlayingIcon; + let icon = document.getAnonymousElementByAttribute(tab, "anonid", + isPinned ? "overlay-icon" : "soundplaying-icon"); let isActiveTab = tab === gBrowser.selectedTab; await play(tab); @@ -240,7 +241,9 @@ async function test_swapped_browser_while_playing(oldTab, newBrowser) { is(newTab.muteReason, null, "Expected the correct muteReason property on the new tab"); ok(!newTab.hasAttribute("soundplaying"), "Expected the correct soundplaying attribute on the new tab"); - await test_tooltip(newTab.soundPlayingIcon, "Unmute tab", true); + let icon = document.getAnonymousElementByAttribute(newTab, "anonid", + "soundplaying-icon"); + await test_tooltip(icon, "Unmute tab", true); } async function test_swapped_browser_while_not_playing(oldTab, newBrowser) { @@ -278,14 +281,18 @@ async function test_swapped_browser_while_not_playing(oldTab, newBrowser) { is(newTab.muteReason, null, "Expected the correct muteReason property on the new tab"); ok(!newTab.hasAttribute("soundplaying"), "Expected the correct soundplaying attribute on the new tab"); - await test_tooltip(newTab.soundPlayingIcon, "Unmute tab", true); + let icon = document.getAnonymousElementByAttribute(newTab, "anonid", + "soundplaying-icon"); + await test_tooltip(icon, "Unmute tab", true); } async function test_browser_swapping(tab, browser) { // First, test swapping with a playing but muted tab. await play(tab); - await test_mute_tab(tab, tab.soundPlayingIcon, true); + let icon = document.getAnonymousElementByAttribute(tab, "anonid", + "soundplaying-icon"); + await test_mute_tab(tab, icon, true); await BrowserTestUtils.withNewTab({ gBrowser, @@ -320,7 +327,7 @@ async function test_click_on_pinned_tab_after_mute() { await play(tab); // Mute the tab. - let icon = tab.overlayIcon; + let icon = document.getAnonymousElementByAttribute(tab, "anonid", "overlay-icon"); await test_mute_tab(tab, icon, true); // Pause playback and wait for it to finish. @@ -330,7 +337,8 @@ async function test_click_on_pinned_tab_after_mute() { await test_mute_tab(tab, icon, false); // Now click on the tab. - EventUtils.synthesizeMouseAtCenter(tab.iconImage, {button: 0}); + let image = document.getAnonymousElementByAttribute(tab, "anonid", "tab-icon-image"); + EventUtils.synthesizeMouseAtCenter(image, {button: 0}); is(tab, gBrowser.selectedTab, "Tab switch should be successful"); diff --git a/browser/base/content/test/tabs/browser_multiselect_tabs_close.js b/browser/base/content/test/tabs/browser_multiselect_tabs_close.js index 811e6e4c900f..a67d514bdb31 100644 --- a/browser/base/content/test/tabs/browser_multiselect_tabs_close.js +++ b/browser/base/content/test/tabs/browser_multiselect_tabs_close.js @@ -29,7 +29,7 @@ add_task(async function usingTabCloseButton() { is(gBrowser.selectedTab, tab1, "Tab1 is active"); // Closing a tab which is not multiselected - let tab4CloseBtn = tab4.closeButton; + let tab4CloseBtn = document.getAnonymousElementByAttribute(tab4, "anonid", "close-button"); let tab4Closing = BrowserTestUtils.waitForTabClosing(tab4); tab4.mOverCloseButton = true; @@ -48,7 +48,7 @@ add_task(async function usingTabCloseButton() { is(gBrowser.multiSelectedTabsCount, 2, "Two multiselected tabs"); // Closing a selected tab - let tab2CloseBtn = tab2.closeButton; + let tab2CloseBtn = document.getAnonymousElementByAttribute(tab2, "anonid", "close-button"); tab2.mOverCloseButton = true; let tab1Closing = BrowserTestUtils.waitForTabClosing(tab1); let tab2Closing = BrowserTestUtils.waitForTabClosing(tab2); diff --git a/browser/base/content/test/tabs/browser_multiselect_tabs_mute_unmute.js b/browser/base/content/test/tabs/browser_multiselect_tabs_mute_unmute.js index 4ee585377943..7d35d779da97 100644 --- a/browser/base/content/test/tabs/browser_multiselect_tabs_mute_unmute.js +++ b/browser/base/content/test/tabs/browser_multiselect_tabs_mute_unmute.js @@ -55,7 +55,7 @@ add_task(async function muteTabs_usingButton() { } // Mute tab0 which is not multiselected, thus other tabs muted state should not be affected - let tab0MuteAudioBtn = tab0.soundPlayingIcon; + let tab0MuteAudioBtn = document.getAnonymousElementByAttribute(tab0, "anonid", "soundplaying-icon"); await test_mute_tab(tab0, tab0MuteAudioBtn, true); ok(muted(tab0), "Tab0 is muted"); @@ -85,7 +85,7 @@ add_task(async function muteTabs_usingButton() { // b) unmuted tabs (tab1, tab3) will become muted. // b) media-blocked tabs (tab2) will remain media-blocked. // However tab4 (unmuted) which is not multiselected should not be affected. - let tab1MuteAudioBtn = tab1.soundPlayingIcon; + let tab1MuteAudioBtn = document.getAnonymousElementByAttribute(tab1, "anonid", "soundplaying-icon"); await test_mute_tab(tab1, tab1MuteAudioBtn, true); // Check mute state @@ -141,7 +141,7 @@ add_task(async function unmuteTabs_usingButton() { // b) unmuted tabs (tab0) will remain unmuted. // b) media-blocked tabs (tab1, tab2) will get playing. (media not blocked anymore) // However tab4 (muted) which is not multiselected should not be affected. - let tab3MuteAudioBtn = tab3.soundPlayingIcon; + let tab3MuteAudioBtn = document.getAnonymousElementByAttribute(tab3, "anonid", "soundplaying-icon"); await test_mute_tab(tab3, tab3MuteAudioBtn, false); ok(!muted(tab0) && !activeMediaBlocked(tab0), "Tab0 is unmuted and not media-blocked"); @@ -249,7 +249,7 @@ add_task(async function playTabs_usingButton() { // b) unmuted tabs (tab3) will remain unmuted. // b) media-blocked tabs (tab1, tab2) will get playing. (media not blocked anymore) // However tab4 (muted) which is not multiselected should not be affected. - let tab2MuteAudioBtn = tab2.soundPlayingIcon; + let tab2MuteAudioBtn = document.getAnonymousElementByAttribute(tab2, "anonid", "soundplaying-icon"); await test_mute_tab(tab2, tab2MuteAudioBtn, false); ok(!muted(tab0) && !activeMediaBlocked(tab0), "Tab0 is unmuted and not activemedia-blocked"); diff --git a/browser/base/content/test/tabs/browser_tabCloseSpacer.js b/browser/base/content/test/tabs/browser_tabCloseSpacer.js index 4142f8ef80fa..dbfb4eab7479 100644 --- a/browser/base/content/test/tabs/browser_tabCloseSpacer.js +++ b/browser/base/content/test/tabs/browser_tabCloseSpacer.js @@ -53,7 +53,7 @@ async function overflowTabs() { function getLastCloseButton() { let lastTab = gBrowser.tabs[gBrowser.tabs.length - 1]; - return lastTab.closeButton; + return document.getAnonymousElementByAttribute(lastTab, "anonid", "close-button"); } function getLastCloseButtonLocation() { diff --git a/browser/base/content/test/webrtc/browser_devices_get_user_media_anim.js b/browser/base/content/test/webrtc/browser_devices_get_user_media_anim.js index a9dbae99a44b..f966f290576c 100644 --- a/browser/base/content/test/webrtc/browser_devices_get_user_media_anim.js +++ b/browser/base/content/test/webrtc/browser_devices_get_user_media_anim.js @@ -33,7 +33,8 @@ var gTests = [ let tab = gBrowser.selectedTab; is(tab.getAttribute("sharing"), aSharing, "the tab has the attribute to show the " + aSharing + " icon"); - let icon = tab.sharingIcon; + let icon = + document.getAnonymousElementByAttribute(tab, "anonid", "sharing-icon"); is(window.getComputedStyle(icon).display, "none", "the animated sharing icon of the tab is hidden"); diff --git a/browser/base/jar.mn b/browser/base/jar.mn index a0217ad91f80..12e6de2aba53 100644 --- a/browser/base/jar.mn +++ b/browser/base/jar.mn @@ -95,7 +95,6 @@ browser.jar: content/browser/contentSearchUI.css (content/contentSearchUI.css) content/browser/tabbrowser.css (content/tabbrowser.css) content/browser/tabbrowser.js (content/tabbrowser.js) - content/browser/tabbrowser-tab.js (content/tabbrowser-tab.js) content/browser/tabbrowser.xml (content/tabbrowser.xml) * content/browser/urlbarBindings.xml (content/urlbarBindings.xml) content/browser/utilityOverlay.js (content/utilityOverlay.js) diff --git a/browser/components/extensions/parent/ext-menus.js b/browser/components/extensions/parent/ext-menus.js index cf514818a357..3366a85cd050 100644 --- a/browser/components/extensions/parent/ext-menus.js +++ b/browser/components/extensions/parent/ext-menus.js @@ -1065,11 +1065,8 @@ const menuTracker = { gMenuBuilder.build({menu, tab, pageUrl, inToolsMenu: true}); } if (menu.id === "tabContextMenu") { - let trigger = menu.triggerNode; - while (trigger && trigger.localName != "tab") { - trigger = trigger.parentNode; - } - const tab = trigger || tabTracker.activeTab; + const trigger = menu.triggerNode; + const tab = trigger.localName === "tab" ? trigger : tabTracker.activeTab; const pageUrl = tab.linkedBrowser.currentURI.spec; gMenuBuilder.build({menu, tab, pageUrl, onTab: true}); } diff --git a/browser/components/uitour/UITour.jsm b/browser/components/uitour/UITour.jsm index e26ec2e81dcd..b23d07115408 100644 --- a/browser/components/uitour/UITour.jsm +++ b/browser/components/uitour/UITour.jsm @@ -172,7 +172,9 @@ var UITour = { ["selectedTabIcon", { query: (aDocument) => { let selectedtab = aDocument.defaultView.gBrowser.selectedTab; - let element = selectedtab.iconImage; + let element = aDocument.getAnonymousElementByAttribute(selectedtab, + "anonid", + "tab-icon-image"); if (!element || !UITour.isElementVisible(element)) { return null; } diff --git a/testing/marionette/puppeteer/firefox/firefox_puppeteer/ui/browser/tabbar.py b/testing/marionette/puppeteer/firefox/firefox_puppeteer/ui/browser/tabbar.py index 2cf77ad52900..63ccce1ef73d 100644 --- a/testing/marionette/puppeteer/firefox/firefox_puppeteer/ui/browser/tabbar.py +++ b/testing/marionette/puppeteer/firefox/firefox_puppeteer/ui/browser/tabbar.py @@ -233,7 +233,7 @@ class Tab(UIBaseLib): :returns: Reference to the tab close button. """ - return self.tab_element.find_element(By.CSS_SELECTOR, '.tab-close-button') + return self.tab_element.find_element(By.ANON_ATTRIBUTE, {'anonid': 'close-button'}) @property def tab_element(self): diff --git a/toolkit/components/extensions/test/browser/browser_ext_themes_tab_line.js b/toolkit/components/extensions/test/browser/browser_ext_themes_tab_line.js index 01d63ca50617..432773043450 100644 --- a/toolkit/components/extensions/test/browser/browser_ext_themes_tab_line.js +++ b/toolkit/components/extensions/test/browser/browser_ext_themes_tab_line.js @@ -21,7 +21,7 @@ add_task(async function test_support_tab_line() { info("Checking selected tab line color"); let selectedTab = document.querySelector(".tabbrowser-tab[selected]"); - let line = selectedTab.querySelector(".tab-line"); + let line = document.getAnonymousElementByAttribute(selectedTab, "class", "tab-line"); Assert.equal(window.getComputedStyle(line).backgroundColor, `rgb(${hexToRGB(TAB_LINE_COLOR).join(", ")})`, "Tab line should have theme color"); diff --git a/toolkit/components/extensions/test/browser/browser_ext_themes_tab_loading.js b/toolkit/components/extensions/test/browser/browser_ext_themes_tab_loading.js index 3a22477cb18e..a094aa70a47f 100644 --- a/toolkit/components/extensions/test/browser/browser_ext_themes_tab_loading.js +++ b/toolkit/components/extensions/test/browser/browser_ext_themes_tab_loading.js @@ -33,7 +33,7 @@ add_task(async function test_support_tab_loading_filling() { selectedTab.setAttribute("busy", "true"); selectedTab.setAttribute("progress", "true"); - let throbber = selectedTab.throbber; + let throbber = document.getAnonymousElementByAttribute(selectedTab, "class", "tab-throbber"); Assert.equal(window.getComputedStyle(throbber, "::before").fill, `rgb(${hexToRGB(TAB_LOADING_COLOR).join(", ")})`, "Throbber is filled with theme color"); diff --git a/toolkit/components/extensions/test/browser/browser_ext_themes_tab_selected.js b/toolkit/components/extensions/test/browser/browser_ext_themes_tab_selected.js index fd4c2594dc5f..cf89fa834e4e 100644 --- a/toolkit/components/extensions/test/browser/browser_ext_themes_tab_selected.js +++ b/toolkit/components/extensions/test/browser/browser_ext_themes_tab_selected.js @@ -22,10 +22,10 @@ add_task(async function test_tab_background_color_property() { info("Checking selected tab color"); let openTab = document.querySelector(".tabbrowser-tab[visuallyselected=true]"); - let openTabBackground = openTab.querySelector(".tab-background"); + let openTabBackground = document.getAnonymousElementByAttribute(openTab, "class", "tab-background"); let selectedTab = await BrowserTestUtils.openNewForegroundTab(gBrowser, "about:blank"); - let selectedTabBackground = selectedTab.querySelector(".tab-background"); + let selectedTabBackground = document.getAnonymousElementByAttribute(selectedTab, "class", "tab-background"); let openTabGradient = window.getComputedStyle(openTabBackground).getPropertyValue("background-image"); let selectedTabGradient = window.getComputedStyle(selectedTabBackground).getPropertyValue("background-image"); diff --git a/toolkit/components/reader/test/browser_readerMode.js b/toolkit/components/reader/test/browser_readerMode.js index a13ba1943a14..05a0ed5286f8 100644 --- a/toolkit/components/reader/test/browser_readerMode.js +++ b/toolkit/components/reader/test/browser_readerMode.js @@ -62,7 +62,7 @@ add_task(async function test_reader_button() { let readerUrl = gBrowser.selectedBrowser.currentURI.spec; ok(readerUrl.startsWith("about:reader"), "about:reader loaded after clicking reader mode button"); is_element_visible(readerButton, "Reader mode button is present on about:reader"); - let iconEl = tab.iconImage; + let iconEl = document.getAnonymousElementByAttribute(tab, "anonid", "tab-icon-image"); await TestUtils.waitForCondition(() => iconEl.getBoundingClientRect().width != 0); is_element_visible(iconEl, "Favicon should be visible"); is(iconEl.src, favicon, "Correct favicon should be loaded"); diff --git a/toolkit/content/tests/browser/browser_block_silentAudioTrack_media.js b/toolkit/content/tests/browser/browser_block_silentAudioTrack_media.js index 6379f5461195..a6c229c9d80e 100644 --- a/toolkit/content/tests/browser/browser_block_silentAudioTrack_media.js +++ b/toolkit/content/tests/browser/browser_block_silentAudioTrack_media.js @@ -8,7 +8,7 @@ var SuspendedType = { }; async function click_unblock_icon(tab) { - let icon = tab.soundPlayingIcon; + let icon = document.getAnonymousElementByAttribute(tab, "anonid", "soundplaying-icon"); await hover_icon(icon, document.getElementById("tabbrowser-tab-tooltip")); EventUtils.synthesizeMouseAtCenter(icon, {button: 0}); diff --git a/toolkit/content/tests/browser/browser_mute_plugIn.js b/toolkit/content/tests/browser/browser_mute_plugIn.js index 9bf81b2b528e..1520bea783d4 100644 --- a/toolkit/content/tests/browser/browser_mute_plugIn.js +++ b/toolkit/content/tests/browser/browser_mute_plugIn.js @@ -1,7 +1,7 @@ const PAGE = "https://example.com/browser/toolkit/content/tests/browser/file_plugIn.html"; async function click_icon(tab) { - let icon = tab.soundPlayingIcon; + let icon = document.getAnonymousElementByAttribute(tab, "anonid", "soundplaying-icon"); await hover_icon(icon, document.getElementById("tabbrowser-tab-tooltip")); EventUtils.synthesizeMouseAtCenter(icon, {button: 0}); diff --git a/toolkit/content/tests/browser/browser_mute_webAudio.js b/toolkit/content/tests/browser/browser_mute_webAudio.js index 00cfb8339b44..19ff95bc8ee6 100644 --- a/toolkit/content/tests/browser/browser_mute_webAudio.js +++ b/toolkit/content/tests/browser/browser_mute_webAudio.js @@ -8,7 +8,7 @@ if (!gMultiProcessBrowser) { const PAGE = "https://example.com/browser/toolkit/content/tests/browser/file_webAudio.html"; async function click_icon(tab) { - let icon = tab.soundPlayingIcon; + let icon = document.getAnonymousElementByAttribute(tab, "anonid", "soundplaying-icon"); await hover_icon(icon, document.getElementById("tabbrowser-tab-tooltip")); EventUtils.synthesizeMouseAtCenter(icon, {button: 0}); diff --git a/toolkit/content/widgets/tabbox.js b/toolkit/content/widgets/tabbox.js index 4956204021ce..d1ea8046015c 100644 --- a/toolkit/content/widgets/tabbox.js +++ b/toolkit/content/widgets/tabbox.js @@ -250,164 +250,4 @@ class MozTabpanels extends MozXULElement { MozXULElement.implementCustomInterface(MozTabpanels, [Ci.nsIDOMXULRelatedElement]); customElements.define("tabpanels", MozTabpanels); - -MozElements.MozTab = class MozTab extends MozElements.BaseText { - constructor() { - super(); - - this.addEventListener("mousedown", (event) => { - if (event.button != 0 || this.disabled) { - return; - } - - this.parentNode.ariaFocusedItem = null; - - if (this != this.parentNode.selectedItem) { // Not selected yet - let stopwatchid = this.parentNode.getAttribute("stopwatchid"); - if (stopwatchid) { - TelemetryStopwatch.start(stopwatchid); - } - - // Call this before setting the 'ignorefocus' attribute because this - // will pass on focus if the formerly selected tab was focused as well. - this.parentNode._selectNewTab(this); - - var isTabFocused = false; - try { - isTabFocused = (document.commandDispatcher.focusedElement == this); - } catch (e) {} - - // Set '-moz-user-focus' to 'ignore' so that PostHandleEvent() can't - // focus the tab; we only want tabs to be focusable by the mouse if - // they are already focused. After a short timeout we'll reset - // '-moz-user-focus' so that tabs can be focused by keyboard again. - if (!isTabFocused) { - this.setAttribute("ignorefocus", "true"); - setTimeout(tab => tab.removeAttribute("ignorefocus"), 0, this); - } - - if (stopwatchid) { - TelemetryStopwatch.finish(stopwatchid); - } - } - // Otherwise this tab is already selected and we will fall - // through to mousedown behavior which sets focus on the current tab, - // Only a click on an already selected tab should focus the tab itself. - }); - - this.addEventListener("keydown", (event) => { - if (event.ctrlKey || event.altKey || event.metaKey || event.shiftKey) { - return; - } - switch (event.keyCode) { - case KeyEvent.DOM_VK_LEFT: { - let direction = window.getComputedStyle(this.parentNode).direction; - this.parentNode.advanceSelectedTab(direction == "ltr" ? -1 : 1, - this.arrowKeysShouldWrap); - event.preventDefault(); - } break; - - case KeyEvent.DOM_VK_RIGHT: { - let direction = window.getComputedStyle(this.parentNode).direction; - this.parentNode.advanceSelectedTab(direction == "ltr" ? 1 : -1, - this.arrowKeysShouldWrap); - event.preventDefault(); - } break; - - case KeyEvent.DOM_VK_UP: - this.parentNode.advanceSelectedTab(-1, this.arrowKeysShouldWrap); - event.preventDefault(); - break; - - case KeyEvent.DOM_VK_DOWN: - this.parentNode.advanceSelectedTab(1, this.arrowKeysShouldWrap); - event.preventDefault(); - break; - - case KeyEvent.DOM_VK_HOME: - this.parentNode._selectNewTab(this.parentNode.children[0]); - event.preventDefault(); - break; - - case KeyEvent.DOM_VK_END: - let tabs = this.parentNode.children; - this.parentNode._selectNewTab(tabs[tabs.length - 1], -1); - event.preventDefault(); - break; - } - }); - - this.arrowKeysShouldWrap = /Mac/.test(navigator.platform); - } - - static get inheritedAttributes() { - return { - ".tab-middle": "align,dir,pack,orient,selected,visuallyselected", - ".tab-icon": "validate,src=image", - ".tab-text": "value=label,accesskey,crop,disabled", - }; - } - - get fragment() { - if (!this._fragment) { - this._fragment = MozXULElement.parseXULToFragment(` - - - - - `); - } - return this.ownerDocument.importNode(this._fragment, true); - } - - connectedCallback() { - if (!this._initialized) { - this.textContent = ""; - this.appendChild(this.fragment); - this.initializeAttributeInheritance(); - this._initialized = true; - } - } - - set value(val) { - this.setAttribute("value", val); - return val; - } - - get value() { - return this.getAttribute("value"); - } - - get control() { - var parent = this.parentNode; - return (parent.localName == "tabs") ? parent : null; - } - - get selected() { - return this.getAttribute("selected") == "true"; - } - - set _selected(val) { - if (val) { - this.setAttribute("selected", "true"); - this.setAttribute("visuallyselected", "true"); - } else { - this.removeAttribute("selected"); - this.removeAttribute("visuallyselected"); - } - - return val; - } - - set linkedPanel(val) { - this.setAttribute("linkedpanel", val); - } - - get linkedPanel() { - return this.getAttribute("linkedpanel"); - } -}; - -MozXULElement.implementCustomInterface(MozElements.MozTab, [Ci.nsIDOMXULSelectControlItemElement]); -customElements.define("tab", MozElements.MozTab); } diff --git a/toolkit/content/widgets/tabbox.xml b/toolkit/content/widgets/tabbox.xml index 015ddacf1439..ffa3d0e23011 100644 --- a/toolkit/content/widgets/tabbox.xml +++ b/toolkit/content/widgets/tabbox.xml @@ -374,4 +374,139 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + /Mac/.test(navigator.platform) + + + + + + tab.removeAttribute("ignorefocus"), 0, this); + } + + if (stopwatchid) { + TelemetryStopwatch.finish(stopwatchid); + } + } + // Otherwise this tab is already selected and we will fall + // through to mousedown behavior which sets focus on the current tab, + // Only a click on an already selected tab should focus the tab itself. + ]]> + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/toolkit/content/xul.css b/toolkit/content/xul.css index 6ac017cdcf0e..6c3e8b1414d9 100644 --- a/toolkit/content/xul.css +++ b/toolkit/content/xul.css @@ -411,6 +411,7 @@ tabs { } tab { + -moz-binding: url("chrome://global/content/bindings/tabbox.xml#tab"); -moz-box-align: center; -moz-box-pack: center; }