0b021e6c42
* LoadData: Use regular load but intercept request The method we used before, `createBrowserWithHtml`, is implemented by KCEF. This method creates a `file://` url and adds handlers for that. Instead, use regular `createBrowser` and intercept the request later on. This has the effect of creating the page with the correct origin, while still setting the requested HTML instead of live data. This is important for scripts due to CORS. Also fixes a mistake in the ResourceRequestHandler, where (a) the status was not set, resulting in ABORT, (b) the return value of `readResponse` was correct (`false` too early) and (c) the callback was unnecessarily called on the MainLoop. Based on https://stackoverflow.com/a/52423252/ * Convince the compiler we're doing it right Invoking "public final" methods would fail. Not sure why this only happens for some extensions, but it does. We need to tell the compiler we're sure we have access to it, for some reason... * JS: Invoke result handler on the loop Some extensions call WebView methods on the result, so this should be on the same loop as the WebView itself * JS: Await arguments * Fix using wrong URL property for errors