mirror of
https://repo.dactyloidae.xyz/Dactyloidae/UXP.git
synced 2026-09-06 15:58:39 +09:00
import FIREFOX_52_6_0esr_RELEASE from mozilla-esr52 hg repo
This commit is contained in:
commit
dcd9973243
150858 changed files with 23884658 additions and 0 deletions
98
docshell/test/browser/file_bug422543_script.js
Normal file
98
docshell/test/browser/file_bug422543_script.js
Normal file
|
|
@ -0,0 +1,98 @@
|
|||
const { utils: Cu, interfaces: Ci } = Components;
|
||||
Cu.import("resource://gre/modules/XPCOMUtils.jsm");
|
||||
|
||||
function SHistoryListener() {
|
||||
}
|
||||
|
||||
SHistoryListener.prototype = {
|
||||
retval: true,
|
||||
last: "initial",
|
||||
|
||||
OnHistoryNewEntry: function (aNewURI) {
|
||||
this.last = "newentry";
|
||||
},
|
||||
|
||||
OnHistoryGoBack: function (aBackURI) {
|
||||
this.last = "goback";
|
||||
return this.retval;
|
||||
},
|
||||
|
||||
OnHistoryGoForward: function (aForwardURI) {
|
||||
this.last = "goforward";
|
||||
return this.retval;
|
||||
},
|
||||
|
||||
OnHistoryGotoIndex: function (aIndex, aGotoURI) {
|
||||
this.last = "gotoindex";
|
||||
return this.retval;
|
||||
},
|
||||
|
||||
OnHistoryPurge: function (aNumEntries) {
|
||||
this.last = "purge";
|
||||
return this.retval;
|
||||
},
|
||||
|
||||
OnHistoryReload: function (aReloadURI, aReloadFlags) {
|
||||
this.last = "reload";
|
||||
return this.retval;
|
||||
},
|
||||
|
||||
OnHistoryReplaceEntry: function (aIndex) {},
|
||||
|
||||
QueryInterface: XPCOMUtils.generateQI([Ci.nsISHistoryListener,
|
||||
Ci.nsISupportsWeakReference])
|
||||
};
|
||||
|
||||
let testAPI = {
|
||||
shistory: null,
|
||||
listeners: [ new SHistoryListener(),
|
||||
new SHistoryListener() ],
|
||||
|
||||
init() {
|
||||
this.shistory = docShell.QueryInterface(Ci.nsIWebNavigation).sessionHistory;
|
||||
for (let listener of this.listeners) {
|
||||
this.shistory.addSHistoryListener(listener);
|
||||
}
|
||||
},
|
||||
|
||||
cleanup() {
|
||||
for (let listener of this.listeners) {
|
||||
this.shistory.removeSHistoryListener(listener);
|
||||
}
|
||||
this.shistory = null;
|
||||
sendAsyncMessage("bug422543:cleanup:return", {});
|
||||
},
|
||||
|
||||
getListenerStatus() {
|
||||
sendAsyncMessage("bug422543:getListenerStatus:return",
|
||||
this.listeners.map(l => l.last));
|
||||
},
|
||||
|
||||
resetListeners() {
|
||||
for (let listener of this.listeners) {
|
||||
listener.last = "initial";
|
||||
}
|
||||
|
||||
sendAsyncMessage("bug422543:resetListeners:return", {});
|
||||
},
|
||||
|
||||
notifyReload() {
|
||||
let internal = this.shistory.QueryInterface(Ci.nsISHistoryInternal);
|
||||
let rval =
|
||||
internal.notifyOnHistoryReload(content.document.documentURIObject, 0);
|
||||
sendAsyncMessage("bug422543:notifyReload:return", { rval });
|
||||
},
|
||||
|
||||
setRetval({ num, val }) {
|
||||
this.listeners[num].retval = val;
|
||||
sendAsyncMessage("bug422543:setRetval:return", {});
|
||||
},
|
||||
};
|
||||
|
||||
addMessageListener("bug422543:cleanup", () => { testAPI.cleanup(); });
|
||||
addMessageListener("bug422543:getListenerStatus", () => { testAPI.getListenerStatus(); });
|
||||
addMessageListener("bug422543:notifyReload", () => { testAPI.notifyReload(); });
|
||||
addMessageListener("bug422543:resetListeners", () => { testAPI.resetListeners(); });
|
||||
addMessageListener("bug422543:setRetval", (msg) => { testAPI.setRetval(msg.data); });
|
||||
|
||||
testAPI.init();
|
||||
Loading…
Add table
Add a link
Reference in a new issue