* refactor: don't walk maps twice to remove elements
* refactor: don't walk maps twice to read elements
* refactor: don't walk maps twice to insert elements
* refactor: don't walk map 3x on UvTaskRunner timeout
* refactor: more don't-walk-maps-twice cleanup
* fixup! refactor: don't walk maps twice to insert elements
* refactor: don't walk containers twice when erasing
* refactor: omit excess lookups in RemoteObjectFreer
* fix: remove WM_GETMINMAXINFO workaround since it's no longer needed
* fix: handle WM_GETMINMAXINFO ourselves
* fix: remove part of the chromium WM_GETMINMAXINFO handler
Sometimes it's necessary to convey more information about the window to screen reader users only (simply putting everything to the window title might be unnecessarily noisy).
For example, Chromium uses that technique to tell screen reader users that the window is in incognito mode (the incognito window looks differently and doesn't have «incognito» in the title, but for blind users the screen reader will announce that it's incognito).
* no need to get WebContents for URLLoaderFactory
* consult embedder for network_factory created in net module
* set disable_web_security to false
* re-enable webRequest tests in net module
* fix: i18n of gtk msgbox buttons
similar to #19756 (12df0e8) but for messageboxes
* refactor: DRY the gtk+ button mnemonics
* fix: don't compile gtk_util on non-Linux platforms
rename from `gtk_util.[cc,h]` to `util_gtk.[cc,h]` so that it gets
picked up by the `extra_source_filters` rule in `BUILD.gn`.
* fix: make linter happy
It really shows that I cannot build locally atm... :P
* refactor: make util::Promise type safe when chaining in native
* fixup! refactor: make util::Promise type safe when chaining in native
* chore: remove spare brackets
* feat: enable picture in picture mode for video tags
* test: add test to verify picture in picture support
* lint: fix indent
* fix: clean up after rebase
* test: update test with 16:9 test video
* fix: .paches after rebase
* fix: fill uploadData property
* fix: requestHeaders in onBeforeSendHeaders
* fix: responseHeaders in onHeadersReceived
* fix: header keys should not be lowercased
* fix: gin::Dictionary::Get succeeds even though key does not exist...
* fix: throw for invalid filters
* test: re-enable api-web-request-spec
* chore: do not use deprecated base::Value API
* fix: gin treats Function as Dictionary when doing convertions
* fix: check if listener exists
* fix: listener callback should be executed in next tick
* feat: make InProgressRequest work
* test: re-enable protocol test that relies on webRequest
* chore: merge conditions
* feat: Implement BrowserWindow.moveAbove(mediaSourceId)
BrowserWindow.{focus,blur,moveTop}() are not enough in some
situations. For example when implementing an overlay that
follows another window that can lose focus. In that case
it is useful to move the overlay above the tracked window.
sourceId is a string in the format of DesktopCapturerSource.id,
for example "window:1869:0".
Notes: Added BrowserWindow.moveAbove(mediaSourceId)
https://github.com/electron/electron/issues/18922
* feat: Implement BrowserWindow.getMediaSourceId
Return the Window id in the format of DesktopCapturerSource's id.
For example "window🔢0".
https://github.com/electron/electron/issues/16460
Notes: Added BrowserWindow.getMediaSourceId
* feat: add new nativeTheme API
* chore: deprecate and clean up old systemPreferences theme APIs in favor of new nativeTheme module
* chore: clean up and deprecate things per feedback
* chore: add tests for deprecate and clean up invert impl
* build: when is a boolean not a boolean???