It seems these changes work when running in node directly (tested using the cesium-webpack example), but via electron it enters loadWithHttpRequest, parses C: as the protocol and fails on the HTTP request - when it shouldn't be a HTTP request at all.
To try and provide a simple example, I pulled up the basic tutorial for running cesium in electron from the blog (https://cesium.com/blog/2016/04/04/an-introduction-to-cesium-desktop-apps-with-electron/). If you change the package.json to exactly "cesium":"1.44.0" it works. Change it to "1.45.0" and Cesium crashes immediately with an "Error: No url" message.
This might be an unrelated issue due to Ion changes so I wasn't able to proceed with loading the local geojson file. In our application running webpack, Cesium does load for 1.46.1, but fails on the Cesium.GeoJsonDataSource.load("C:\\whatever\\example.geojson") call.
You’ll can’t load file directly from the disk, you’ll need to serve it at some sort of web server. Cesium includes a basic development server (server.js) you could try. The reason it was working with webpack is because it is bundling that local resource and serving it up at a URL which is hidden from you.
Thanks for the bug report. I can reproduce this and I agree it was probably related to the PR you linked to. I wrote up a Ceisum issue to track this: https://github.com/AnalyticalGraphicsInc/cesium/issues/6671 We’ll update this thread when the issue is fixed.