]> git.donarmstrong.com Git - dactyl.git/blobdiff - common/content/disable-acr.jsm
Imported Upstream version 1.1+hg7904
[dactyl.git] / common / content / disable-acr.jsm
diff --git a/common/content/disable-acr.jsm b/common/content/disable-acr.jsm
deleted file mode 100644 (file)
index 86e55c4..0000000
+++ /dev/null
@@ -1,76 +0,0 @@
-// By Kris Maglione. Public Domain.
-// Please feel free to copy and use at will.
-
-var ADDON_ID;
-
-const OVERLAY_URLS = [
-    "about:addons",
-    "chrome://mozapps/content/extensions/extensions.xul"
-];
-
-let { interfaces: Ci, utils: Cu } = Components;
-
-Cu.import("resource://gre/modules/Services.jsm");
-Cu.import("resource://gre/modules/XPCOMUtils.jsm");
-
-const TOPIC = "chrome-document-global-created";
-
-function observe(window, topic, url) {
-    if (topic === TOPIC)
-        checkDocument(window.document);
-}
-function init(id) {
-    if (id)
-        ADDON_ID = id;
-
-    Services.obs[id ? "addObserver" : "removeObserver"](observe, TOPIC, false);
-    for (let doc in chromeDocuments())
-        checkDocument(doc, !id);
-}
-function cleanup() { init(null); }
-
-function checkPopup(event) {
-    let doc = event.originalTarget.ownerDocument;
-    let binding = doc.getBindingParent(event.originalTarget);
-    if (binding && binding.addon && binding.addon.guid == ADDON_ID && !binding.addon.compatible) {
-        let elem = doc.getAnonymousElementByAttribute(binding, "anonid", "stillworks");
-        if (elem && elem.nextSibling) {
-            elem.nextSibling.disabled = true;
-            elem.nextSibling.setAttribute("tooltiptext", "Developer has opted out of incompatibility reports\n"+
-                                                         "Development versions are available with updated support");
-        }
-    }
-}
-
-function checkDocument(doc, disable, force) {
-    if (["interactive", "complete"].indexOf(doc.readyState) >= 0 || force && doc.readyState === "uninitialized") {
-        if (OVERLAY_URLS.indexOf(doc.documentURI) >= 0)
-            doc[disable ? "removeEventListener" : "addEventListener"]("popupshowing", checkPopup, false);
-    }
-    else {
-        doc.addEventListener("DOMContentLoaded", function listener() {
-            doc.removeEventListener("DOMContentLoaded", listener, false);
-            checkDocument(doc, disable, true);
-        }, false);
-    }
-}
-
-function chromeDocuments() {
-    let windows = Services.wm.getXULWindowEnumerator(null);
-    while (windows.hasMoreElements()) {
-        let window = windows.getNext().QueryInterface(Ci.nsIXULWindow);
-        for each (let type in ["typeChrome", "typeContent"]) {
-            let docShells = window.docShell.getDocShellEnumerator(Ci.nsIDocShellTreeItem[type],
-                                                                  Ci.nsIDocShell.ENUMERATE_FORWARDS);
-            while (docShells.hasMoreElements())
-                try {
-                    yield docShells.getNext().QueryInterface(Ci.nsIDocShell).contentViewer.DOMDocument;
-                }
-                catch (e) {}
-        }
-    }
-}
-
-var EXPORTED_SYMBOLS = ["cleanup", "init"];
-
-// vim: set fdm=marker sw=4 sts=4 ts=8 et ft=javascript: