code: function (ipc) {
      protocol.registerStringProtocol("electron-safe-ipc", function (request) {
        // nextTick workaround to prevent crash on exception
        process.nextTick(function () {
          var urlContents = url.parse(request.url);
          var queries = qs.parse(urlContents.query);
  
          var channel = queries.channel;
          var args = JSON.parse(queries.argsJson);
  
          ipc.emit.apply(ipc, [channel].concat(args));
        });
        return "";
      });
    }
docs: FIXME: does not work in second registration