mirror of
https://gitlab.winehq.org/wine/wine-gecko.git
synced 2024-09-13 09:24:08 -07:00
Bug 1223585 - [webext] Annotate ignoreEvent (r=kmag)
This commit is contained in:
parent
fb73ec3419
commit
2639bfa14e
@ -6,7 +6,6 @@ var Bookmarks = PlacesUtils.bookmarks;
|
||||
Cu.import("resource://gre/modules/ExtensionUtils.jsm");
|
||||
var {
|
||||
EventManager,
|
||||
ignoreEvent,
|
||||
runSafe,
|
||||
} = ExtensionUtils;
|
||||
|
||||
|
@ -11,7 +11,6 @@ Cu.import("resource://gre/modules/ExtensionUtils.jsm");
|
||||
var {
|
||||
EventManager,
|
||||
DefaultWeakMap,
|
||||
ignoreEvent,
|
||||
runSafe,
|
||||
} = ExtensionUtils;
|
||||
|
||||
|
@ -6,7 +6,6 @@ Cu.import("resource://gre/modules/ExtensionUtils.jsm");
|
||||
var {
|
||||
EventManager,
|
||||
DefaultWeakMap,
|
||||
ignoreEvent,
|
||||
runSafe,
|
||||
} = ExtensionUtils;
|
||||
|
||||
|
@ -230,7 +230,7 @@ extensions.registerAPI((extension, context) => {
|
||||
};
|
||||
}).api(),
|
||||
|
||||
onReplaced: ignoreEvent(),
|
||||
onReplaced: ignoreEvent(context, "tabs.onReplaced"),
|
||||
|
||||
onRemoved: new EventManager(context, "tabs.onRemoved", fire => {
|
||||
let tabListener = event => {
|
||||
|
@ -5,7 +5,6 @@ XPCOMUtils.defineLazyServiceGetter(this, "aboutNewTabService",
|
||||
Cu.import("resource://gre/modules/ExtensionUtils.jsm");
|
||||
var {
|
||||
EventManager,
|
||||
ignoreEvent,
|
||||
runSafe,
|
||||
} = ExtensionUtils;
|
||||
|
||||
|
@ -33,7 +33,6 @@ var {
|
||||
runSafeSyncWithoutClone,
|
||||
MessageBroker,
|
||||
Messenger,
|
||||
ignoreEvent,
|
||||
injectAPI,
|
||||
flushJarCache,
|
||||
} = ExtensionUtils;
|
||||
|
@ -245,12 +245,27 @@ SingletonEventManager.prototype = {
|
||||
};
|
||||
|
||||
// Simple API for event listeners where events never fire.
|
||||
function ignoreEvent()
|
||||
function ignoreEvent(context, name)
|
||||
{
|
||||
return {
|
||||
addListener: function(context, callback) {},
|
||||
removeListener: function(context, callback) {},
|
||||
hasListener: function(context, callback) {},
|
||||
addListener: function(callback) {
|
||||
let id = context.extension.id;
|
||||
let frame = Components.stack.caller;
|
||||
let msg = `In add-on ${id}, attempting to use listener "${name}", which is unimplemented.`;
|
||||
let winID = context.contentWindow.QueryInterface(Ci.nsIInterfaceRequestor)
|
||||
.getInterface(Ci.nsIDOMWindowUtils).currentInnerWindowID;
|
||||
let scriptError = Cc["@mozilla.org/scripterror;1"]
|
||||
.createInstance(Ci.nsIScriptError);
|
||||
scriptError.initWithWindowID(msg, frame.filename, null,
|
||||
frame.lineNumber, frame.columnNumber,
|
||||
Ci.nsIScriptError.warningFlag,
|
||||
"content javascript", winID);
|
||||
let consoleService = Cc['@mozilla.org/consoleservice;1']
|
||||
.getService(Ci.nsIConsoleService);
|
||||
consoleService.logMessage(scriptError);
|
||||
},
|
||||
removeListener: function(callback) {},
|
||||
hasListener: function(callback) {},
|
||||
};
|
||||
}
|
||||
|
||||
|
@ -3,7 +3,6 @@ var { classes: Cc, interfaces: Ci, utils: Cu } = Components;
|
||||
Cu.import("resource://gre/modules/ExtensionUtils.jsm");
|
||||
var {
|
||||
EventManager,
|
||||
ignoreEvent,
|
||||
runSafe,
|
||||
} = ExtensionUtils;
|
||||
|
||||
|
@ -2,7 +2,6 @@ const { interfaces: Ci, utils: Cu } = Components;
|
||||
Cu.import("resource://gre/modules/ExtensionUtils.jsm");
|
||||
var {
|
||||
EventManager,
|
||||
ignoreEvent,
|
||||
runSafe,
|
||||
} = ExtensionUtils;
|
||||
|
||||
|
@ -138,8 +138,8 @@ extensions.registerPrivilegedAPI("notifications", (extension, context) => {
|
||||
}).api(),
|
||||
|
||||
// FIXME
|
||||
onButtonClicked: ignoreEvent(),
|
||||
onClicked: ignoreEvent(),
|
||||
onButtonClicked: ignoreEvent(context, "notifications.onButtonClicked"),
|
||||
onClicked: ignoreEvent(context, "notifications.onClicked"),
|
||||
},
|
||||
};
|
||||
});
|
||||
|
@ -37,7 +37,7 @@ extensions.registerAPI((extension, context) => {
|
||||
};
|
||||
}).api(),
|
||||
|
||||
onInstalled: ignoreEvent(),
|
||||
onInstalled: ignoreEvent(context, "runtime.onInstalled"),
|
||||
|
||||
onMessage: context.messenger.onMessage("runtime.onMessage"),
|
||||
|
||||
|
@ -6,7 +6,6 @@ XPCOMUtils.defineLazyModuleGetter(this, "ExtensionStorage",
|
||||
Cu.import("resource://gre/modules/ExtensionUtils.jsm");
|
||||
var {
|
||||
EventManager,
|
||||
ignoreEvent,
|
||||
runSafe,
|
||||
} = ExtensionUtils;
|
||||
|
||||
|
@ -68,7 +68,7 @@ extensions.registerPrivilegedAPI("webNavigation", (extension, context) => {
|
||||
onCompleted: new WebNavigationEventManager(context, "onCompleted").api(),
|
||||
onErrorOccurred: new WebNavigationEventManager(context, "onErrorOccurred").api(),
|
||||
onReferenceFragmentUpdated: new WebNavigationEventManager(context, "onReferenceFragmentUpdated").api(),
|
||||
onCreatedNavigationTarget: ignoreEvent(),
|
||||
onCreatedNavigationTarget: ignoreEvent(context, "webNavigation.onCreatedNavigationTarget"),
|
||||
},
|
||||
};
|
||||
});
|
||||
|
@ -17,6 +17,9 @@ add_task(function* test_notifications() {
|
||||
|
||||
var opts = {title: "Testing Notification", message: "Carry on"};
|
||||
|
||||
// Test an unimplemented listener.
|
||||
browser.notifications.onClicked.addListener(function() {});
|
||||
|
||||
browser.notifications.create("5", opts, function(id) {
|
||||
browser.test.sendMessage("running", id);
|
||||
browser.test.notifyPass("background test passed");
|
||||
|
Loading…
Reference in New Issue
Block a user