-
Notifications
You must be signed in to change notification settings - Fork 1.1k
Description
Is your feature request related to a problem? Please describe
The WebBrowser control is based on IE Trident engine, which is almost universally unusable for general web browsing these days. It is also based on COM/ActiveX, which poses difficulties in trimming/native AOT scenarios.
Also, Internet Explorer 11 has been retired and is officially out of support as of 15 June 2022. Whilst the underlying Trident engine (mshtml.dll) isn't being removed (yet?) from Windows, the general guidance is to use the modern replacement, which is WebView2 web browser control.
Describe the solution you'd like and alternatives you've considered
For .NET 7 and .NET 8 decorate all web- and html-related types as obsolete (error: false) with a link to directing developers use WebView2 control instead.
The obsoletion process entails the following:
- marking the API as obsolete, which will emit a build warning with a link to more information (refer to https://github.com/dotnet/designs/blob/main/accepted/2020/better-obsoletion/better-obsoletion.md),
- documenting the obsoletion (the team will work with the docs team to make sure the docs are updated),
- enhancing the .NET Upgrade Assistant to guide developer to use the WebView2 API instead (the team will work with .NET Upgrade Assistant team).
The obsoletion will also happen in several stages:
- .NET 7/8 release - build warnings/documentation only
- (likely) subsequent release - build errors / implementation removal
- (possibly) subsequent future release - complete removal of API.
Will this feature affect UI controls?
The affected controls will need to be made hidden from the designer.