From 8dc726fe68577dbf51ddc783213d375544fa9c0c Mon Sep 17 00:00:00 2001 From: Kai Hendry Date: Wed, 4 Apr 2012 12:24:47 +0800 Subject: [PATCH] fixes #9 remove about:home since through that you can setup profile syncing which could help break out of the lock down --- Makefile | 4 ++-- chrome.manifest | 3 +++ components/aboutHome.js | 28 ++++++++++++++++++++++++++++ 3 files changed, 33 insertions(+), 2 deletions(-) create mode 100644 components/aboutHome.js diff --git a/Makefile b/Makefile index ca7e629..005fe7c 100644 --- a/Makefile +++ b/Makefile @@ -17,7 +17,7 @@ clean: upload: rsync *.xpi webconverger.com:webconverger.com/xpis/ -hetty: - rsync -art --delete extensions/ hetty:extensions +deploy: + rsync -art --delete extensions/ /home/hendry/debian/sid-root/root/webconverger/chroot/etc/webc/iceweasel/extensions .PHONY: clean all upload diff --git a/chrome.manifest b/chrome.manifest index 31ea071..a88ffc5 100644 --- a/chrome.manifest +++ b/chrome.manifest @@ -23,3 +23,6 @@ override chrome://global/content/about.xhtml chrome://webconverger/content/about component {607c1749-dc0a-463c-96cf-8ec6c3901319} components/fileBlockService.js contract @webconverger.com/fileblock-service;1 {607c1749-dc0a-463c-96cf-8ec6c3901319} category content-policy policy @webconverger.com/fileblock-service;1 + +component {c9201eeb-fbbd-459d-91d2-61e758e49ea2} components/aboutHome.js +contract @mozilla.org/network/protocol/about;1?what=home {c9201eeb-fbbd-459d-91d2-61e758e49ea2} diff --git a/components/aboutHome.js b/components/aboutHome.js new file mode 100644 index 0000000..6973905 --- /dev/null +++ b/components/aboutHome.js @@ -0,0 +1,28 @@ +Components.utils.import("resource://gre/modules/XPCOMUtils.jsm"); +const Ci = Components.interfaces; +const Cc = Components.classes; + +function AboutHandler() {} +AboutHandler.prototype = { + /* nsIAboutModule */ + newChannel: function(aURI) { + var ioService = Cc["@mozilla.org/network/io-service;1"].getService(Ci.nsIIOService); + var uri = ioService.newURI("about:blank", null, null); + var channel = ioService.newChannelFromURI(uri, null).QueryInterface(Ci.nsIHttpChannel); + return channel; + }, + + getURIFlags: function getURIFlags(aURI) { + return 0; + }, + + classDescription: "about home replacement", + contractID: "@mozilla.org/network/protocol/about;1?what=home", + classID: Components.ID("{c9201eeb-fbbd-459d-91d2-61e758e49ea2}"), + QueryInterface: XPCOMUtils.generateQI([Ci.nsIAboutModule]), +}; + +if (XPCOMUtils.generateNSGetFactory) // FF4 +var NSGetFactory = XPCOMUtils.generateNSGetFactory([AboutHandler]); +else // FF3.6 +var NSGetModule = XPCOMUtils.generateNSGetModule([AboutHandler]);