[Pkg-mozext-commits] [greasemonkey] 23/41: Switch to process message managers where practical.
David Prévot
taffit at moszumanska.debian.org
Thu Apr 30 22:06:34 UTC 2015
This is an automated email from the git hooks/post-receive script.
taffit pushed a commit to branch master
in repository greasemonkey.
commit 34c6da5dad2e53b71015138494fda0e882da8560
Author: Anthony Lieuallen <arantius at gmail.com>
Date: Wed Apr 22 15:05:48 2015 -0400
Switch to process message managers where practical.
It's trivial/easy to get a reference to the process-relative message managers, so wherever window/<browser> scope is not needed, use that style.
---
components/greasemonkey.js | 52 ++++++++++++++++++++--------------------------
content/framescript.js | 8 +++----
modules/installPolicy.js | 12 +++++------
modules/sandbox.js | 4 ++--
modules/scriptProtocol.js | 14 +++++++------
modules/storageFront.js | 11 +++++-----
6 files changed, 47 insertions(+), 54 deletions(-)
diff --git a/components/greasemonkey.js b/components/greasemonkey.js
index 9f16e2d..397214d 100644
--- a/components/greasemonkey.js
+++ b/components/greasemonkey.js
@@ -44,41 +44,33 @@ function startup(aService) {
loader.loadSubScript("chrome://greasemonkey/content/config.js");
loader.loadSubScript("chrome://greasemonkey/content/third-party/mpl-utils.js");
- // Most incoming messages go to the "global" message manager.
- var globalMessageManager = Cc["@mozilla.org/globalmessagemanager;1"]
+ var globalMm = Cc["@mozilla.org/globalmessagemanager;1"]
.getService(Ci.nsIMessageListenerManager);
- globalMessageManager.addMessageListener(
- 'greasemonkey:script-install', aService.scriptInstall.bind(aService));
- globalMessageManager.addMessageListener(
- 'greasemonkey:scripts-for-url', aService.getScriptsForUrl.bind(aService));
- globalMessageManager.addMessageListener(
- 'greasemonkey:url-is-temp-file', aService.urlIsTempFile.bind(aService));
-
- var scriptValHandler = aService.handleScriptValMsg.bind(aService);
- globalMessageManager.addMessageListener(
- 'greasemonkey:scriptVal-delete', scriptValHandler);
- globalMessageManager.addMessageListener(
- 'greasemonkey:scriptVal-get', scriptValHandler);
- globalMessageManager.addMessageListener(
- 'greasemonkey:scriptVal-list', scriptValHandler);
- globalMessageManager.addMessageListener(
- 'greasemonkey:scriptVal-set', scriptValHandler);
-
- // This particular message must be listened for by the "parent" and not
- // by "global". Why?!?!?
- var parentMessageManager = Cc["@mozilla.org/parentprocessmessagemanager;1"]
- .getService(Ci.nsIMessageListenerManager);
- parentMessageManager.addMessageListener(
- 'greasemonkey:scripts-for-uuid',
- aService.getScriptsForUuid.bind(aService));
- // Yes, we have to load the frame script once here in the parent scope.
- // Why? Who knows!?
- globalMessageManager.loadFrameScript(
- 'chrome://greasemonkey/content/framescript.js', true);
+ var s = aService;
+ var g = 'greasemonkey:';
+
+ globalMm.addMessageListener(
+ g + 'script-install', s.scriptInstall.bind(s));
+
+ Services.ppmm.addMessageListener(
+ g + 'scripts-for-url', s.getScriptsForUrl.bind(s));
+ Services.ppmm.addMessageListener(
+ g + 'scripts-for-uuid', s.getScriptsForUuid.bind(s));
+ Services.ppmm.addMessageListener(
+ g + 'url-is-temp-file', s.urlIsTempFile.bind(s));
+
+ var scriptValHandler = s.handleScriptValMsg.bind(s);
+ Services.ppmm.addMessageListener(g + 'scriptVal-delete', scriptValHandler);
+ Services.ppmm.addMessageListener(g + 'scriptVal-get', scriptValHandler);
+ Services.ppmm.addMessageListener(g + 'scriptVal-list', scriptValHandler);
+ Services.ppmm.addMessageListener(g + 'scriptVal-set', scriptValHandler);
Services.obs.addObserver(aService, 'quit-application', false);
+ Services.mm.loadFrameScript(
+ 'chrome://greasemonkey/content/framescript.js', true);
+
// Import this once, early, so that enqueued deletes can happen.
Cu.import("resource://greasemonkey/util/enqueueRemoveFile.js");
}
diff --git a/content/framescript.js b/content/framescript.js
index 5cc9cd7..62cc91e 100644
--- a/content/framescript.js
+++ b/content/framescript.js
@@ -180,12 +180,12 @@ ContentObserver.prototype.pagehide = function(aEvent) {
if (!gScriptRunners[windowId].menuCommands.length) return;
if (aEvent.persisted) {
- sendAsyncMessage('greasemonkey:toggle-menu-commands', {
+ Services.cpmm.sendAsyncMessage('greasemonkey:toggle-menu-commands', {
frozen: true,
windowId: windowId
});
} else {
- sendAsyncMessage('greasemonkey:clear-menu-commands', {
+ Services.cpmm.sendAsyncMessage('greasemonkey:clear-menu-commands', {
windowId: windowId
});
}
@@ -200,7 +200,7 @@ ContentObserver.prototype.pageshow = function(aEvent) {
if (!gScriptRunners[windowId].menuCommands.length) return;
- sendAsyncMessage('greasemonkey:toggle-menu-commands', {
+ Services.cpmm.sendAsyncMessage('greasemonkey:toggle-menu-commands', {
frozen: false,
windowId: windowId
});
@@ -255,7 +255,7 @@ ContentObserver.prototype.runScripts = function(aRunWhen, aContentWin) {
scriptRunner.window = aContentWin;
}
- var response = sendSyncMessage(
+ var response = Services.cpmm.sendSyncMessage(
'greasemonkey:scripts-for-url', {
'url': url,
'when': aRunWhen,
diff --git a/modules/installPolicy.js b/modules/installPolicy.js
index 8ec7f26..ce1cd4e 100644
--- a/modules/installPolicy.js
+++ b/modules/installPolicy.js
@@ -7,6 +7,7 @@ var Cc = Components.classes;
var Ci = Components.interfaces;
var Cu = Components.utils;
+Cu.import("resource://gre/modules/Services.jsm");
Cu.import('resource://gre/modules/XPCOMUtils.jsm');
Cu.import('resource://greasemonkey/util.js');
@@ -93,19 +94,18 @@ var InstallPolicy = {
return ret;
}
- var messageManager = GM_util.findMessageManager(aContext);
- var tmpResult = messageManager
- .sendSyncMessage('greasemonkey:url-is-temp-file', {
- 'url': aContentURI.spec,
- });
+ var tmpResult = Services.cpmm.sendSyncMessage(
+ 'greasemonkey:url-is-temp-file', {'url': aContentURI.spec});
if (tmpResult.length && tmpResult[0]) {
return ret;
}
if (!gIgnoreNextScript) {
ret = Ci.nsIContentPolicy.REJECT_REQUEST;
- messageManager.sendAsyncMessage('greasemonkey:script-install', {
+ var windowMm = GM_util.findMessageManager(aContext);
+ windowMm.sendAsyncMessage('greasemonkey:script-install', {
+ 'referer': aOriginURI.spec,
'url': aContentURI.spec,
});
}
diff --git a/modules/sandbox.js b/modules/sandbox.js
index 0907f98..274aa1d 100644
--- a/modules/sandbox.js
+++ b/modules/sandbox.js
@@ -25,7 +25,7 @@ function alert(msg) {
.alert(null, "Greasemonkey alert", msg);
}
-function createSandbox(aScript, aScriptRunner, aMessageManager) {
+function createSandbox(aScript, aScriptRunner) {
var contentWin = aScriptRunner.window;
var url = aScriptRunner.url;
@@ -87,7 +87,7 @@ function createSandbox(aScript, aScriptRunner, aMessageManager) {
sandbox.GM_registerMenuCommand = gmrmc;
}
- var scriptStorage = new GM_ScriptStorageFront(aScript, aMessageManager);
+ var scriptStorage = new GM_ScriptStorageFront(aScript);
if (GM_util.inArray(aScript.grants, 'GM_deleteValue')) {
sandbox.GM_deleteValue = GM_util.hitch(scriptStorage, 'deleteValue');
}
diff --git a/modules/scriptProtocol.js b/modules/scriptProtocol.js
index a6426ac..e6253a2 100644
--- a/modules/scriptProtocol.js
+++ b/modules/scriptProtocol.js
@@ -1,10 +1,14 @@
var EXPORTED_SYMBOLS = ['initScriptProtocol'];
-Components.utils.import("resource://gre/modules/XPCOMUtils.jsm");
-Components.utils.import('resource://greasemonkey/util.js');
-
const Cc = Components.classes;
const Ci = Components.interfaces;
+const Cu = Components.utils;
+
+Cu.import("resource://gre/modules/Services.jsm");
+Cu.import("resource://gre/modules/XPCOMUtils.jsm");
+
+Cu.import('resource://greasemonkey/util.js');
+
const schemeName = 'greasemonkey-script';
const ioService = Cc['@mozilla.org/network/io-service;1']
.getService(Ci.nsIIOService);
@@ -112,9 +116,7 @@ var ScriptProtocol = {
// Incomplete URI, send a 404.
if (!m) return dummy;
- var mm = Cc["@mozilla.org/childprocessmessagemanager;1"]
- .getService(Ci.nsISyncMessageSender);
- var response = mm.sendSyncMessage(
+ var response = Services.cpmm.sendSyncMessage(
'greasemonkey:scripts-for-uuid', {'uuid': m[1]});
// We expect exactly one response, listing exactly one script.
if (response.length != 1) return dummy;
diff --git a/modules/storageFront.js b/modules/storageFront.js
index 075ca51..76de3dd 100644
--- a/modules/storageFront.js
+++ b/modules/storageFront.js
@@ -14,9 +14,8 @@ var EXPORTED_SYMBOLS = ['GM_ScriptStorageFront'];
// \\ // \\ // \\ // \\ // \\ // \\ // \\ // \\ // \\ // \\ // \\ // \\ // \\ //
-function GM_ScriptStorageFront(aScript, aMessageManager) {
+function GM_ScriptStorageFront(aScript) {
this._db = null;
- this._messageManager = aMessageManager;
this._script = aScript;
this.stringBundle = Components
.classes["@mozilla.org/intl/stringbundle;1"]
@@ -48,14 +47,14 @@ GM_ScriptStorageFront.prototype.setValue = function(name, val) {
}
if ('undefined' == typeof val) val = null;
- this._messageManager.sendSyncMessage(
+ Services.cpmm.sendSyncMessage(
'greasemonkey:scriptVal-set',
{scriptId: this._script.id, name: name, val: val});
};
GM_ScriptStorageFront.prototype.getValue = function(name, defVal) {
- var value = this._messageManager.sendSyncMessage(
+ var value = Services.cpmm.sendSyncMessage(
'greasemonkey:scriptVal-get',
{scriptId: this._script.id, name: name});
value = value.length && value[0];
@@ -73,14 +72,14 @@ GM_ScriptStorageFront.prototype.getValue = function(name, defVal) {
GM_ScriptStorageFront.prototype.deleteValue = function(name) {
- this._messageManager.sendSyncMessage(
+ Services.cpmm.sendSyncMessage(
'greasemonkey:scriptVal-delete',
{scriptId: this._script.id, name: name});
};
GM_ScriptStorageFront.prototype.listValues = function() {
- var value = this._messageManager.sendSyncMessage(
+ var value = Services.cpmm.sendSyncMessage(
'greasemonkey:scriptVal-list',
{scriptId: this._script.id});
return JSON.stringify(value.length && value[0] || []);
--
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-mozext/greasemonkey.git
More information about the Pkg-mozext-commits
mailing list