* Allow reusing webview origins across reloads
Currently webviews are always loaded into a unique origin. This keeps them isolated but also means that we can't benefit from caching across window reloads
This change adds a new `origin` option that you can pass to webviews which controls the origin they use. If this origin is not provided, we use a random one instead
We then save off this origin for webview panels and restore it on window reloads. Webviews restore a little faster on window reload
* Update webview fallback version
* Revert service worker usage of MessageChannel
Reverts 66b6adf035
While I'm not 100% about this, I think 66b6adf035 causes resourses to occasionally not load. I believe this can happen if the service worker is unitilized while the webview remains active. I can't reproduce this myself so it may be related to memory pressure or resource usage, however relying on the service worker not being reinitilized does seem like a potentially bad idea https://stackoverflow.com/questions/34775105/what-causes-the-global-context-of-a-service-worker-to-be-reset
Will investigate if there's another way to achive this since using MessagePort did clean up the code and slightly improve performance
* Bump webview commit versions
* Switch webview service-worker to use message channel
This change hooks the service worker used for loading webview resources directly up to the main VS Code process over a message channel. Previously this communication had to go through an extra hop through the webview
This simplifies the logic somewhat (although this change required adding extra logic to exchange the message port). It also improves performance a little
* Update webview content commit version