Bzgl CID, bei der Definition von newURI steht:
https://searchfox.org/comm-central/s…OService.idl#31
Das Ding wählt also selber das richtige Protokoll anhand der URL aus. Evtl brauchst du das ganze if else Geraffel nicht und createStartupUrl könnte komplett ersetzt werden durch:
Was passiert?