I am using the scheme "px:", e.g., "px://blahblah" and it refers to a local SPARQL endpoint I'm accessing over COM. I am not using the chrome .exe method for custom scheme handlers; instead, I am using CEF's CefRegisterScheme. For testing I use two different approaches. One actually makes it to my custom handler, the other doesn't.
Testing this in Chrome gives me this error, which led me to the underlying bug:
XMLHttpRequest cannot load px://blahblah. Cross origin requests are only supported for HTTP.
But with an unknown scheme, the meaning of the scheme-specific part is indeterminate. There is no way to actually know if it is cross origin. Which makes it a bug, but whether it's because of WebCore or a bug in integration, I don't know.
It turns out that if I use "px:///blahblah" it works just fine. So the scheme-specific part is being parsed as a domain and a path, which, it isn't.
So, is this something we should/could fix in Cef's scheme handling or is it buried in WebCore's assumptions about URLs?