Refs:
Complexity: 4
Create Issue
This test is for making sure native context menus are well positioned in those cases where we want them to appear where the mouse cursor is. Previously we used to compute the x and y location for the context menu but with a new experimental setting we hand this off to Electron for positioning.
Setup:
- configure
window.experimental.nativeContextMenuLocation to be true (you can change this setting back and forth later without restart to compare the difference if any)
- Windows/Linux: configure
window.titleBarStyle to be native (this enables native context menu)
- Restart VS Code
Testing
- right click in various components of the UI to trigger the context menu at the mouse cursor, for example
- the editor
- items of lists and trees
- configurable UI elements such as status bar entries, actions or views
- verify that the context menu appears close to the mouse cursor
- ⚠️ most importantly, verify that the context menu does not open and close immediately when releasing the mouse having picked an item of the menu because the menu opened under the mouse (example video of the bug)
- make sure to cover context menus that open to the top / bottom / left / right by clicking at corner locations within the workbench window
- make sure to cover overflowing context menus by testing on a smaller window size
- change the window zoom levels and briefly check that the context menu is still usable
- change your screen resolution and/or display scaling and briefly check that the context menu is still usable
Refs:
Complexity: 4
Create Issue
This test is for making sure native context menus are well positioned in those cases where we want them to appear where the mouse cursor is. Previously we used to compute the
xandylocation for the context menu but with a new experimental setting we hand this off to Electron for positioning.Setup:
window.experimental.nativeContextMenuLocationto betrue(you can change this setting back and forth later without restart to compare the difference if any)window.titleBarStyleto benative(this enables native context menu)Testing