* Remove the race condition between new process creation and old process releasing remote context
Previously there was a race condition where the getId() method would return the new context ID even
though the release was for the old context. This changes it to send the "initial" context ID with
the release message to ensure there is no race.
* fetch context ID from remote in sandbox mode
* Better GTK+ Menu color support
* Fix 'invisible menu' issue (#12275)
* Now updates menu text color when focus changes!
* Better caching of colors when system theme changes
* Removed all GTK+ deprecation warnings from menubar
* Don't highlight menu text on mouseover in GTK+
* Fix textColor declaration scope error
* Simplify FocusManager connection management a bit
* Make the linter happy
* Decouple MenuBar view recoloring from rebuilding
This way we don't need to rebuild the subview each time a recolor
is needed, e.g. when window focus changes or the system theme changes
* Don't iterate child views if we don't need to
* Move variable declaration outside of a loop
* More efficient iteration of MenuBar children
* Cleaner MenuButton bounds testing
* Fix oops
* Add a nullptr check in MenuBar::GetItemCount()
* Simplify iteration in MenuBar::RebuildChildren()
* Make the linter happy
* Fix signed-unsigned comparison
* Remove declarations of nonexistent methods
* Make SubmenuButton accessor const
* Cleaner accelerator iteration
* Windows fixes
This removes the .node-version file, it is a source of confusion and not incredibly useful.
It doesn't actually indicate the version of node that Electron uses, it's like a development helper that sets the version of node you should be using locally when devving on Electron. Not many major tools use it so too remove confusion I think we should remove it
* Persist defaults to webPreferences object to JS land can read the inferred values instead of just user defined values
* Test inherited default propogation
* Refactor to remove coupling from fetching values and defaults
* Test description type
* Fix up tests
* feat(BrowserWindow): expose interface to query system idle state
* test(BrowserWindow): update test cases for querySystemIdle interface
* docs(BrowserWindow): add querySystemIdle interface documentation
* refactor(powerMonitor): move querySystemIdle into powerMonitor
* test(powerMonitor): split test cases for all platform
* Enable easy rebuild of native modules for unreleased electron
Sometimes when developing locally (as I found this morning) you want to rebuild native modules
against an unreleased version of Electron (in this case local master). This PR adds a simple
script to launch a local HTTP server that generates and hosts the required header and checksum
files to rebuild modules. So far only tested on macOS but should work on all OS's
* Allow custom port
* clean up serve script
* make optionality more obvious