summaryrefslogtreecommitdiff
path: root/helpers/DATA/firefox/trisquel/extensions/spyblock@gnu.org/lib/windowObserver.js
diff options
context:
space:
mode:
authorRuben Rodriguez <ruben@gnu.org>2014-10-20 02:43:14 +0200
committerRuben Rodriguez <ruben@gnu.org>2014-10-20 02:44:30 +0200
commit14e6d0ed4be07a4d6bf94a141af83b7d60f1ac5f (patch)
tree9f8141f34e030eca326c1b0e39a8ba143a528dff /helpers/DATA/firefox/trisquel/extensions/spyblock@gnu.org/lib/windowObserver.js
parent686445fab20c835b9649f2278542069a5be87546 (diff)
Make generation scripts distro-independent
Diffstat (limited to 'helpers/DATA/firefox/trisquel/extensions/spyblock@gnu.org/lib/windowObserver.js')
-rw-r--r--helpers/DATA/firefox/trisquel/extensions/spyblock@gnu.org/lib/windowObserver.js112
1 files changed, 0 insertions, 112 deletions
diff --git a/helpers/DATA/firefox/trisquel/extensions/spyblock@gnu.org/lib/windowObserver.js b/helpers/DATA/firefox/trisquel/extensions/spyblock@gnu.org/lib/windowObserver.js
deleted file mode 100644
index eb0b13a..0000000
--- a/helpers/DATA/firefox/trisquel/extensions/spyblock@gnu.org/lib/windowObserver.js
+++ /dev/null
@@ -1,112 +0,0 @@
-/*
- * This file is part of the Adblock Plus build tools,
- * Copyright (C) 2006-2014 Eyeo GmbH
- *
- * Adblock Plus is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License version 3 as
- * published by the Free Software Foundation.
- *
- * Adblock Plus is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with Adblock Plus. If not, see <http://www.gnu.org/licenses/>.
- */
-
-Cu.import("resource://gre/modules/Services.jsm");
-Cu.import("resource://gre/modules/XPCOMUtils.jsm");
-
-exports.WindowObserver = WindowObserver;
-
-/**
- * This class will call listener's method applyToWindow() for all new chrome
- * windows being opened. It will also call listener's method removeFromWindow()
- * for all windows still open when the extension is shut down.
- * @param {Object} listener
- * @param {String} [when] when to execute applyToWindow(). "start" means immediately
- * when the window opens, "ready" when its contents are available
- * and "end" (default) means to wait until the "load" event.
- * @constructor
- */
-function WindowObserver(listener, when)
-{
- this._listener = listener;
- this._when = when;
-
- let windows = [];
- let e = Services.wm.getZOrderDOMWindowEnumerator(null, true);
- while (e.hasMoreElements())
- windows.push(e.getNext());
-
- // Check if there are any windows that we missed
- let eAll = Services.ww.getWindowEnumerator();
- while (eAll.hasMoreElements())
- {
- let element = eAll.getNext();
- if (windows.indexOf(element) < 0)
- windows.push(element);
- }
-
- for (let i = 0; i < windows.length; i++)
- {
- let window = windows[i].QueryInterface(Ci.nsIDOMWindow);
- if (when == "start" || window.document.readyState == "complete")
- this._listener.applyToWindow(window);
- else
- this.observe(window, "chrome-document-global-created", null);
- }
-
- Services.obs.addObserver(this, "chrome-document-global-created", true);
-
- this._shutdownHandler = function()
- {
- let e = Services.ww.getWindowEnumerator();
- while (e.hasMoreElements())
- this._listener.removeFromWindow(e.getNext().QueryInterface(Ci.nsIDOMWindow));
-
- Services.obs.removeObserver(this, "chrome-document-global-created");
- }.bind(this);
- onShutdown.add(this._shutdownHandler);
-}
-WindowObserver.prototype =
-{
- _listener: null,
- _when: null,
- _shutdownHandler: null,
-
- shutdown: function()
- {
- if (!this._shutdownHandler)
- return;
-
- onShutdown.remove(this._shutdownHandler);
- this._shutdownHandler();
- this._shutdownHandler = null;
- },
-
- observe: function(subject, topic, data)
- {
- if (topic == "chrome-document-global-created")
- {
- let window = subject.QueryInterface(Ci.nsIDOMWindow);
- if (this._when == "start")
- {
- this._listener.applyToWindow(window);
- return;
- }
-
- let event = (this._when == "ready" ? "DOMContentLoaded" : "load");
- let listener = function()
- {
- window.removeEventListener(event, listener, false);
- if (this._shutdownHandler)
- this._listener.applyToWindow(window);
- }.bind(this);
- window.addEventListener(event, listener, false);
- }
- },
-
- QueryInterface: XPCOMUtils.generateQI([Ci.nsISupportsWeakReference, Ci.nsIObserver])
-};