What was actually happening is that in the process of hovering into the
debug hover, another position was briefly hovered. No data was available
for this position, so the hover was hidden.
This PR implements "safe triangle" logic to avoid changing the hover position if the mouse moves in the safe triangle created by a displayed hover widget.
Fixes#212924
* add getPathForFIle function
* use electron webutils
* use webutils
* use getPathForFile
* add test
* fix import
* add web utils service
* register electron webutils service
* register contribution
* import contribution
* register web contribution
* feature: use webUtils service to not directly depend on electron global
* use webutils service for terminal
* update imports
* tsc
* update imports
* add servicebrand
* tsc
* tsc
* try different approach
* add class and subclass
* register contribution with subclass
* rename function
* remove web utils service
* register getPathForFile function
* fix import
* remove webutils service
* remove import
* remove import
* fix imports
* fix import
* fix overwriting view
* register method
* fix import
* register contribution
* don't overwrite electron service with browser service
* remove log
* remove log
* tsc
* Discard changes to src/vs/workbench/contrib/files/browser/fileActions.contribution.ts
* Discard changes to src/vs/workbench/contrib/files/browser/fileActions.ts
* Discard changes to src/vs/workbench/contrib/files/electron-sandbox/fileActions.contribution.ts
* Discard changes to src/vs/workbench/contrib/terminal/browser/terminal.contribution.ts
* Discard changes to src/vs/workbench/contrib/terminal/browser/terminal.ts
* Discard changes to src/vs/workbench/contrib/terminal/browser/terminalInstance.ts
* Discard changes to src/vs/workbench/contrib/terminal/browser/terminalInstanceService.ts
* Discard changes to src/vs/workbench/contrib/terminal/browser/terminalTabbedView.ts
* Discard changes to src/vs/workbench/contrib/terminal/browser/terminalTabsList.ts
* Discard changes to src/vs/workbench/contrib/terminal/browser/terminalView.ts
* Discard changes to src/vs/workbench/contrib/terminal/electron-sandbox/terminal.contribution.ts
* Discard changes to src/vs/workbench/contrib/terminal/electron-sandbox/terminalInstanceService.ts
* Discard changes to src/vs/workbench/contrib/terminal/electron-sandbox/terminalView.ts
* Discard changes to src/vs/workbench/contrib/terminal/test/browser/terminalInstance.test.ts
* add function to interface
* add function
* use host service
* use host service in terminal tabs list
* use host service in terminal instance
* remove unused code
* fix imports
* replace remaining usages of file path
* tsc
* add semicolon
* cleanup
---------
Co-authored-by: Benjamin Pasero <benjamin.pasero@microsoft.com>