Commit Graph

67 Commits

Author SHA1 Message Date
Matt Bierner
d87041edde Downgrade simple browser to prompt instead of being the default on web
We need more testing in codespaces before enabling it automatically
2021-01-15 10:38:50 -08:00
Matt Bierner
6cceb4eab0 Remove enabled setting and try to open simple browser to side of current editor 2021-01-14 17:06:14 -08:00
Matt Bierner
1e3a23b4e0 Fix simple browser button color for light themes 2021-01-14 17:06:14 -08:00
Matt Bierner
cc5e8b22fa Continue work on url opener api
For #109277

- Add `option` opener priority. This means the oper will only be shown if requested but will not replace the default opener
- Persist registered openers for IntelliSense suggestions
2021-01-14 17:06:14 -08:00
Matt Bierner
5d6cba5cbc Reworking external opener implementation to allow configured openers to be called directly without a canOpen check
If the user has configured a specific external uri opener, we should always try to use that without first calling `canOpen` to filter down the list of openers.

This change also adds `ExternalUriOpenerEnablement` which allows an opener to mark itself as the preferred opener for a given uri. If only a single preferred opener is returned, it will be used automatically for that uri (although user configuration can override this)
2021-01-14 10:37:00 -08:00
Matt Bierner
710846866f Activate extension on simpleBrowser.api.open 2021-01-13 16:56:39 -08:00
Matt Bierner
b7f9eddf04 Allow passing viewColumn to simpleBrowser.api.open 2021-01-13 16:56:39 -08:00
Matt Bierner
e7aa009ac3 Remove enabledHosts setting
This setting is no longer used
2021-01-13 12:53:18 -08:00
Matt Bierner
47aa3ad09a Continue work on opener service
- Add error notification if opener throws an exception
- Add public facing id to openers. This is used in settings
- Add intellisense for the opener id setting
2021-01-13 12:53:18 -08:00
Matt Bierner
47a135e715 Rework opener api proposal
For #109277

- Add more explicit two phase structure to api
- Make opener pass along label when registered
2021-01-12 16:14:42 -08:00
Matt Bierner
0949d5b794 Remove unused var 2021-01-07 17:52:06 -08:00
Matt Bierner
acda4aed82 Make the external opener a two phase process
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
2021-01-07 17:42:12 -08:00
Matt Bierner
e2c305f3a3 Allow registering additional external uri openers
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
2021-01-07 11:41:07 -08:00
Matt Bierner
bdf57b45ce Remove button background in simple browser 2021-01-07 11:41:07 -08:00
Matt Bierner
809d2f63d0 Added show options to simple browser open command 2021-01-06 12:17:36 -08:00
Matt Bierner
2fed7ba374 Adding settings to control which schemes simple browser is enabled for
Also adds a setting to enable/disable the focus lock indicator
2021-01-06 12:17:36 -08:00
Matt Bierner
3ed300eb9d Add simple browser extension (#109276)
* 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
2021-01-04 19:06:53 -08:00