1 class SHistoryListener {
7 OnHistoryNewEntry(aNewURI) {
8 this.last = "newentry";
11 OnHistoryGotoIndex() {
12 this.last = "gotoindex";
24 OnHistoryReplaceEntry() {}
26 SHistoryListener.prototype.QueryInterface = ChromeUtils.generateQI([
27 "nsISHistoryListener",
28 "nsISupportsWeakReference",
33 export class Bug422543Child extends JSWindowActorChild {
43 this.shistory = this.docShell.nsIWebNavigation.sessionHistory;
44 listeners = [new SHistoryListener(), new SHistoryListener()];
46 for (let listener of listeners) {
47 this.shistory.legacySHistory.addSHistoryListener(listener);
52 for (let listener of listeners) {
53 this.shistory.legacySHistory.removeSHistoryListener(listener);
61 return listeners.map(l => l.last);
65 for (let listener of listeners) {
66 listener.last = "initial";
73 let history = this.shistory.legacySHistory;
74 let rval = history.notifyOnHistoryReload();
78 setRetval({ num, val }) {
79 listeners[num].retval = val;
86 return this.cleanup();
87 case "getListenerStatus":
88 return this.getListenerStatus();
90 return this.notifyReload();
91 case "resetListeners":
92 return this.resetListeners();
94 return this.setRetval(msg.data);