* deprecate native_mate/native_mate/object_template_builder.h
* add gin_helper/object_template_builder.h
* add patch to avoid ambiguous error
* remove usage of object_template_builder_deprecated.h in a few files
* add note we should remove gin_helper/object_template_builder.h in future
* fix: emit updated on NativeTheme on the UI thread to avoid DCHECK
* Update atom_api_native_theme.cc
* spec: wait a few ticks for async events to emit so that test events do not leak into each other
Exposing these in the renderer didn't make sense as they weren't backed
by the same instance / value store. This API should be browser only
especially now that we have nativeTheme.themeSource. Exposing in
//common was a mistake from the beginning.
* refactor: fix clang-tidy vector operation warnings
Fix vector population performance-inefficient-vector-operation warnings
generated by clang-tidy
* refactor: fix clang-tidy emplace_back warnings
In cases where a temporary is created to be passed
to push_back(), replace it with emplace_back().
Warning: modernize-use-emplace
* refactor: fix clang-tidy loop iteration warnings
When practical, use range-based for loops instead of C-style for loops.
clang-tiny check: modernize-loop-convert
* refactor: fix clang-tidy string initialize warning
Remove redundant empty string initialization.
clang-tidy check: readability-redundant-string-init
* use gin converter in atom_api_menu
* please only put necessary includes in header
Having include in header means they have dependency relationship,
putting arbitrary includes really really really really really makes
refacoring much harder.
* remove some simple uses of callback_converter_deprecated.h
* use gin callback converter in file_dialog code
* use gin in ErrorThrower
* use gin in atom_bundle_mover
* fix mistake in node stream
* deprecate native_mate version of event_emitter_caller
* use gin in node_bindings
* remove usages of native_mate event_emitter_caller.h except for EventEmitter
* fix compilation on Windows
* gin::Arguments behaves differently on GetNext
* just use StringToV8
* add notice to files being removed
* add gin version of function_template.h
* rename callback.h to avoid confliction
* add gin version of callback_converter
* add gin converter for OnceCallback
* remove callback_converter_gin_adapter.h
* remove gin_util.h and gin_utils.h
* fix lint warning
* add helper for setting methods
* move Destroyable utilities out of native_mate
* do not set "destroy" in ObjectTemplateBuilder
* remove ObjectTemplateBuilder::MakeDestroyable
* do not pollute gin namespace
* add more comments
* remove hack of Arguments
* 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
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
* 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
* 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???