* fix: improve the way frameless windows are handled on Windows
* tidy up code
* fix: return nullAcceleratedWidget instead of nullptr
* fix: format, use reinterpret cast
* refactor: improve menubar keyboard accessibility
* fix: create a temporary widget for tray icon context menu
* fix: focus menu bar with Alt when autohide is off
* fix: make menu bar focus work more like the native menus
* fix: only focus menu bar if it's not already focused
* fix: track accelerator registration to avoid duplicates
* docs: add docs for & notation in app menu item names
* fix: only try to activate accelerator if it's registered
* fix: add friend to monitor window focus change
* style: add <memory> include
* build: define compile time features with buildflag header
* refactor: switch to BUILDFLAG(ENABLE_DESKTOP_CAPTURER)
* refactor: switch to BUILDFLAG(ENABLE_RUN_AS_NODE)
* refactor: switch to BUILDFLAG(ENABLE_OSR)
* refactor: switch to BUILDFLAG(ENABLE_VIEW_API)
* refactor: switch to BUILDFLAG(ENABLE_PEPPER_FLASH)
* refactor: switch to BUILDFLAG(OVERRIDE_LOCATION_PROVIDER)
* refactor: switch to BUILDFLAG(ENABLE_PDF_VIEWER)
* chore: fix cpplint 'include_what_you_use' warnings
Typically by including <memory>, <utility> etc.
* chore: fix 'static/global string constant' warning
Use C style strings instead of std::string.
Style guide forbids non-trivial static / global variables. https://google.github.io/styleguide/cppguide.html#Static_and_Global_Variables
/home/charles/electron/electron-gn/src/electron/script/cpplint.js
* refactor: remove global string variables.
Fix 'global string variables are not permitted' linter warnings
by using the base::NoDestructor<> wrapper to make it explicit that
these variables are never destroyed.
The style guide's take on globals with nontrivial destructors:
https://google.github.io/styleguide/cppguide.html#Static_and_Global_Variables
* fix: initializer error introduced in last commit
* fix: remove WIP file that was included by accident
* fix: include order
* fix: include order
* fix: include order
* fix: include order, again
* 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