/* globals ExtensionAPI, Services */
ChromeUtils.defineESModuleGetters(this , {
AboutNewTab: "resource:///modules/AboutNewTab.sys.mjs",
});
this .tabswitch = class extends ExtensionAPI {
getAPI(context) {
return {
tabswitch: {
setup() {
AboutNewTab.newTabURL = "about:blank" ;
let uri = Services.io.newURI(
"actors/" ,
null ,
context.extension.rootURI
);
let resProto = Services.io
.getProtocolHandler("resource" )
.QueryInterface(Ci.nsIResProtocolHandler);
resProto.setSubstitution("talos-tabswitch" , uri);
const processScriptURL = context.extension.baseURI.resolve(
"content/tabswitch-content-process.js"
);
Services.ppmm.loadProcessScript(processScriptURL, true );
ChromeUtils.registerWindowActor("TalosTabSwitch" , {
parent: {
esModuleURI:
"resource://talos-tabswitch/TalosTabSwitchParent.sys.mjs",
},
child: {
esModuleURI:
"resource://talos-tabswitch/TalosTabSwitchChild.sys.mjs",
events: {
DOMDocElementInserted: { capture: true },
},
},
});
return () => {
Services.ppmm.sendAsyncMessage("Tabswitch:Teardown" );
ChromeUtils.unregisterWindowActor("TalosTabSwitch" );
AboutNewTab.resetNewTabURL();
resProto.setSubstitution("talos-tabswitch" , null );
};
},
},
};
}
};
Messung V0.5 in Prozent C=88 H=96 G=91
¤ Dauer der Verarbeitung: 0.11 Sekunden
(vorverarbeitet am 2026-08-25)
¤
*© Formatika GbR, Deutschland