/usr/share/xul-ext/greasemonkey/modules/documentObserver.js is in xul-ext-greasemonkey 3.8-1~deb8u1.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 | 'use strict';
var EXPORTED_SYMBOLS = ['onNewDocument'];
var Cu = Components.utils;
Cu.import('resource://gre/modules/Services.jsm');
Cu.import('chrome://greasemonkey-modules/content/util.js');
var callbacks = new WeakMap();
function onNewDocument(topWindow, callback) {
callbacks.set(topWindow, callback);
}
var contentObserver = {
observe: function (aSubject, aTopic, aData) {
if (!GM_util.getEnabled()) return;
switch (aTopic) {
case 'document-element-inserted':
var doc = aSubject;
var win = doc && doc.defaultView;
if (!doc || !win) return;
var topWin = win.top;
var frameCallback = callbacks.get(topWin);
if (!frameCallback) return;
frameCallback(win);
break;
default:
dump('Content frame observed unknown topic: ' + aTopic + '\n');
}
}
};
Services.obs.addObserver(contentObserver, 'document-element-inserted', false);
|