AzureStorageExplorer icon indicating copy to clipboard operation
AzureStorageExplorer copied to clipboard

Migrate from `<webview>` to `WebContentsView`

Open craxal opened this issue 1 year ago • 1 comments

According to Electron documentation, the use of <webview> elements to render embedded content is based on volatile Chromium features and is therefore discouraged.

We should investigate migrating our existing infrastructure to one that uses WebContentsView. Such a transition will come with several benefits:

  • The primary window renderer process will no longer need to mediate communications between webview the host. This will simplify and speed up provider function calls.
  • Most UI-related code, such as window management and renderer-based providers, can be moved to the main process.
## Tasks
- [ ] Reimplement shell UI components (tabs, split panels, etc.) in React
- [ ] Move app menu management to main process
- [ ] Implement window management in main process (today's panels reimplemented as windows with main process maintaining size/placement relationships)
- [x] Consider: Add support for panels as providers (for example, the tree view directly providing implementations for tree operations)
- [x] Consider: Add support for declare-once provider functions (not having to list provider functions in package.json)
- [ ] Consider: Add support for extensions declaring multiple providers
- [ ] #8171

craxal avatar Sep 16 '24 23:09 craxal

Focus on breaking this down to deliverables.

craxal avatar Oct 14 '24 18:10 craxal