This changes makes a few changes to the openers:
- Move the opener prompting from the extension host into the main thread
- Make the external opener process two phases: get openers and then open. This would let us skip the trusted domain validation for extension handled links if we want to in the future
- Add lifecycle to commands used by the uri opener
For #109277
This change moves the extension uri opener contribution point to instead use the internal `IExternalOpener` api instead of the more generic `IOpener` api. This is required since external uri openers should see the resolved uri that has gone through port forwarding, not the raw uri that the user clicked on
* Add support for TS's Hierarchical refactorings API
https://github.com/microsoft/TypeScript/pull/41975
* Add simple browser extension
This change adds a new 'simple browser' extension. This extension uses a webview to render webpages directly in VS Code. We plan on using it for optionally previewing local servers in both desktop and codespaces
The browser itself has a number of limitations due to the security around iframes:
- It traps keyboard focus
- We can't detect if a page fails to load
- We can't track the current url of the iframe
* Add experimental alert when the iframe is focused
* Disable events on focus warning
* Hooking up simple browser to opener