Skip to content

Instantly share code, notes, and snippets.

const windowUtils = require("window-utils");
const NS_XUL = "http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul";
exports.Menuitem = function Menuitem(options) {
new windowUtils.WindowTracker({
onTrack: function (window) {
if ("chrome://browser/content/browser.xul" != window.location) return;
// Using https://github.com/erikvold/addon-pathfinder
const { RequestRule } = require('pathfinder/connections');
RequestRule({
headers: {
'DNT': 'PLZ!!!'
}
});
let sidebar = window.document.getElementById('sidebar');
sidebar.addEventListener('DOMWindowCreated', function loadListener({target: window}) {
console.log('DOMWindowCreated');
}, true)
sidebar.addEventListener('DOMWindowCreated', function loadListener({target: window}) {
console.log('DOMWindowCreated2');
}, false);
tabs.on('activate', function(tab) {
let w = tab.attach({
contentScript: 'self.postMessage();',
onMessage: function() {
w.destroy();
}
})
});
// lib/main.js:
const { Panel } = require("sdk/panel");
const windows = require('sdk/windows').browserWindows;
const { setTimeout } = require('sdk/timers');
windows.on('open', function() {console.log('window opened');
setTimeout(function() Panel({ contentURL: 'https://google.com' }).show(), 1000);
});
@erikvold
erikvold / sc-dl.js
Created February 22, 2013 09:01 — forked from pheuter/sc-dl.js
(function(d) {
var dl = d.createElement('a');
dl.innerText = 'Download MP3';
dl.href = "http://media.soundcloud.com/stream/"+d.querySelector('#main-content-inner img[class=waveform]').src.match(/\.com\/(.+)\_/)[1];
dl.download = d.querySelector('em').innerText+".mp3";
d.querySelector('.primary').appendChild(dl);
dl.style.marginLeft = '10px';
dl.style.color = 'red';
dl.style.fontWeight = 700;
})(document);
@erikvold
erikvold / policy.js
Created January 21, 2013 17:02 — forked from Gozala/policy.js
// For details see:
// https://developer.mozilla.org/en/XPCOM_Interface_Reference/nsIContentPolicy
// https://developer.mozilla.org/en/XPCOM_Interface_Reference/nsICategoryManager
const { Ci } = require('chrome')
const xpcom = require('api-utils/xpcom')
const policy = {
contractID: '@lduros.net/PreventImage-policy',
name: 'Implements content policy to prevent images from being loaded',
var pbService = Components.classes["@mozilla.org/privatebrowsing;1"].
getService(Ci.nsIPrivateBrowsingService);
var listener = {
QueryInterface: function(iid) {
if (Ci.nsIPrivacyTransitionObserver.equals(iid) ||
Ci.nsISupportsWeakReference.equals(iid) ||
Ci.nsISupports.equals(iid))
return this;
var pbService = Components.classes["@mozilla.org/privatebrowsing;1"].
getService(Ci.nsIPrivateBrowsingService);
var listener = {
QueryInterface: function(iid) {
if (Ci.nsIPrivacyTransitionObserver.equals(iid) ||
Ci.nsISupportsWeakReference.equals(iid) ||
Ci.nsISupports.equals(iid))
return this;
@erikvold
erikvold / notes.md
Created September 25, 2012 17:23
Notes for Mozcamp
  • Tab usage statistics add-on
  • Collusion add-on
  • Searchable tab diary ** geolocation
  • new tab page

presentation