LINQPad 7 Util.DisplayWebPage(); uses IE not WebView2?
Will this change, will LINQPad 7 DisplayWebPage() be updated to the new rendering engine?
DisplayWebPage
IE rendering engine
Uses full output panel space
HTML from the source. Your content is not inside an IFrame.
IFrame
Edge/Chrome rendering engine
Can change width and height
IFrame under the hood. Your content is inside an IFrame.
Are there any other differences I missed?
Thanks.
Comments
@JoeAlbahari is this a thing? Or am I misunderstanding something?
Also can you please explain the features I attached? I work with web tech inside LINQPad regularly and want to understand things better.
Is this the same engine used by LINQPad 5? I've noticed some rendering differences which is why I'm not sure.
I have Edge Canary installed, so is canary used or the stable release? Evergreen vs fixed version. https://docs.microsoft.com/en-us/microsoft-edge/webview2/concepts/distribution
https://developer.microsoft.com/en-us/microsoft-edge/webview2/#download-section
https://docs.microsoft.com/en-us/microsoft-edge/webview2/how-to/set-preview-channel
Thanks
DisplayWebPage creates a WebBrowser control and dumps it, using code similar to this. At some stage, it will be updated to the WebView2 control, so as to also use the Edge rendering engine. In the meantime, you could achieve the same (or better) result by referencing the WebView2 NuGet package and dumping a WebView2 control. The obvious benefit is that you can then automate and control the browser. You can use the Util.BrowserEngine.GetWebView2ExecutableFolder() method to obtain the folder containing the WebView2 runtime used by LINQPad. Be sure to also set a data folder when creating the WebView2 environment.
Note that LINQPad has the ability to use your retail Edge installation if the WebView2 runtime hasn't been installed (it does this by creating a copy of it). Enabling the "Retail Edge" option forces LINQPad to always use the Edge retail installation, whether or not the WebView2 runtime has been installed. This can be useful if you suspect that something is wrong with your WebView2 runtime. It doesn't use any of the preview channels.
Thank you.