* refactor: add a wrapper for wrangling uv handles.
Part 1 of a fix for #25248, #22069.
Place the uv_asyncs owned by NodeBindings, ElectronBindings inside a new
UvHandle wrapper class which manages uv_handles' need for their closed()
callback to be invoked before the handles' memory can be freed.
* chore: make lint happy
* refactor: use DCHECK_EQ() instead of DCHECK()
* refactor: fix oops
refactor(extensions): remove unused InitWithBrowserContext method
fix(extensions): release background page WebContents to avoid crash
The background page WebContents instance is managed by the ExtensionHost.
fix(extensions): open background page devtools detached by default
test(extensions): add background page devtools test
chore: test fix for null web_contents()
fix: close background page devtools in test after opening
* adopt per monitor scale factor
* fix: client area inset calculation when maximized
* address review feedback
* pass correct glass insets to GetDwmFrameInsetsInPixels
* remove unused code
* Windows 8 and 10 use the same DWM frame calculation
Co-authored-by: Cheng Zhao <zcbenz@gmail.com>
* initial commit, mac implementation
* add documentation
* convert createThumbnailFromPath to async function
* windows impl protoype
* add tests
* added test
* fix
* fix test
* clean up
* update docs
* cleaning up code
* fix test
* retrigger CI
* retrigger CI
* refactor from app to native_image
* windows build
* lint
* lint
* add smart pointers, fix test
* change tests and update docs
* fix test, remove nolint
* add renderer-main process routing to fix tests
* lint
* thanks sam
* thanks sam
* feat: add optional font type to macOS tray title
* test: add tests for tray font type
* docs: update API reference for Tray setTitle
* review: change API to use an options object
* review: fix string enum in docs
Co-authored-by: Samuel Attard <samuel.r.attard@gmail.com>
* review: return after throwing errors
* review: don't need thrower anymore now that we have args
Co-authored-by: Samuel Attard <samuel.r.attard@gmail.com>