Commit Graph
21 Commits
Author SHA1 Message Date
Matt BiernerandGitHub 522b80f9bc Don't throw on main thread when messaging disposed webviews (#182132)
Fixes #173291

It's possible for the ext host to try performing an action on a webview that has been disposed but where the dispose message hasn't yet reached the ext host.  We currently throw in these cases and there's nothing an extension could do to prevent this

With this change, I've removed the exception logic so these types of messages to the main thread will just noop. On the ext host side, we still throw an error if you try posting to a webview that the ext host knows for sure is disposed of. This is usually a real bug in extension code. Extensions can prevent it by checking if the webview they are holding has been disposed of before making a request to it
2023-05-11 01:23:26 +02:00
Matt BiernerandGitHub bcca070efa Set title on webviews (#171766)
Fixes #170440

This sets the `title` on webview iframe elements
2023-01-20 00:27:40 +01:00
Matt BiernerandGitHub 3f00e7edb8 Add allow list of webview command uris (#163501)
Add allow list of command uris

fixes #163500
2022-10-17 08:57:35 -07:00
SteVen BattenandGitHub b51955e4c8 pipe workspace boolean for opener service validator (#155545)
* pipe workspace boolean for opener service validator
fixes #150828

* add fromWorkspace to notebook backlayer webview
2022-07-21 11:48:09 -07:00
Matt Bierner 21173541e1 Make postMessage's behavior more sane
Fixes #146253

Two parts to this change:

- Make postMessage return false if a message cannot be delivered to a webview

- Don't queue messages for hidden (and non-retained) webviews. This was potentially causing a huge flood of messages to be dumped into the webview once it becomes visible again
2022-04-11 15:18:41 -07:00
Alex Dima e2541e9263 Move extHostCustomers.ts to workbench/services (#141003) 2022-01-31 19:57:21 +01:00
Matt Bierner 12ff67ad9d Use SerializableObjectWithBuffers instead of spread
Fixes #137757
2021-12-10 17:20:44 -08:00
Matt Bierner 304dac2554 💄 2021-11-09 16:52:06 -08:00
Matt Bierner 6902a65a76 Align ext host name with internal name 2021-11-09 16:47:00 -08:00
Matt Bierner 08ef40bd52 Clairify webview names
- Better mark interfaces using `I`
- Don't use `iframe` since all webviews now use iframes
- WebviewOverlay -> OverlayWebview
2021-11-04 17:30:03 -07:00
Matt Bierner 0e52275271 Introduce WebviewOptions.forms
Fixes #132157
2021-09-02 13:24:49 -07:00
Matt Bierner 18a986bef5 Fixing array buffer serialization
Fixes #115807
2021-04-30 17:05:07 -07:00
Johannes RiekenandAlexandru Dima 23e346ab55 Add allowCommands option (#121211) 2021-04-13 19:50:56 +02:00
Matt BiernerandGitHub 3499f63dc1 Exploration: Better transferring of TypedArrays used in Webview.postMessage (#115664)
* Improve passing of ArrayBuffers to and from webviews

Fixes #115807

* Serialize and restore typed arrays too

This also makes it so that if you pass the same ArrayBuffer twice in an object, we use a single object on the receiver side too

* Fix spelling

* Require VS Code 1.56+
2021-03-30 06:49:34 +00:00
Matt Bierner ea5f05a435 Trying to clairify how webview options are used and passed around
- Move protocol types into protocol
- Hold off on combining the options objects until serialization
- Add explicit converstions instead of using `...`
- Make a few methods take property bags to help avoid passing arguments in wrong order
2021-03-05 18:49:17 -08:00
Matt Bierner acdcb64a6c Throw error if a webview is double registered 2021-03-04 18:42:55 -08:00
Matt Bierner c42b385bce Disable contributed openers by default in calls to openExternal
Fixes #114543

External and internal callers to openExternal may not expect (or want) their urls to be handled by a contributed opener. This change makes it so you have to explicitly enable using contributed openers when calling openExternal.

It also enables using contributed openers for a few places in our codebase
2021-01-19 12:16:34 -08:00
Matt Bierner 51dc3193d3 Move webview editor into own module
This splits the core `webview` element services from the `webview` editor services.
2020-09-14 16:08:29 -07:00
Matt Bierner 80b1a775d6 Enable webview commands for webview views
Fixes #105670

Previously our webview commands assumed that webviews were always going to be in an editor. This is no longer true with webview views.

To fix this, I've added an `activeWebview` to the `IWebviewService`. This  tracks the currently focused webview.
2020-09-09 14:44:46 -07:00
Matt Bierner 7e4ccf1676 Rename WebviewPanelHandle -> WebviewHandle 2020-08-26 16:46:25 -07:00
Matt Bierner 4d88b39b7d Split up main thread webview services 2020-08-26 16:46:25 -07:00