* Remove microtasks_scope.h and microtasks_scope.cc
* Use v8::MicrotasksScope when ignoring browser checkpoint
These call always skip the browser checkpoint, so they are equivalent to using v8::MicrotasksScope directly (modulo the optional wrapper behavior).
* Remove MicrotasksScope from node_bindings.cc
This code seems contradictory: it explicitly specifies "do not run microtasks" yet runs a microtask checkpoint in the browser process.
Looking at its history, it [was introduced][1] with the intention to not run microtasks, but a [subtle C++ language behavior][2] caused it to do the opposite later in the same roll. Since the original intention was to not run microtasks, and since that is also the simplest explanation, we can assume `ignore_browser_checkpoint` should be true and migrate this to `v8::MicrotasksScope` as it is equivalent (modulo the optional wrapper behavior).
[1]: a4ea80dd47 (diff-efe58cf03c97028f37f801db044d396a5f428686da6595d2c692f1c052bbd09c)
[2]: https://github.com/electron/electron/pull/43185
* Migrate gin_helper/promise.h and gin_helper/promise.cc to v8::MicrotasksScope
Restores the [original][1] behavior of running the microtask checkpoint at destruction, but preserves the behavior of running microtasks in the browser process. This had last changed in the migration to gin_helper::MicroTasks.
[1]: https://github.com/electron/electron/pull/16401
* chore: bump chromium in DEPS to 111.0.5522.0
* chore: bump chromium in DEPS to 111.0.5524.0
* chore: bump chromium in DEPS to 111.0.5526.0
* chore: bump chromium in DEPS to 111.0.5528.0
* chore: update patches/chromium/mas_avoid_usage_of_private_macos_apis.patch
Xref: 4132807
Fix simple code shear
* chore: update patches/chromium/unsandboxed_ppapi_processes_skip_zygote.patch
Xref: 4130675
Fix simple code shear
* chore: update patches/chromium/hack_plugin_response_interceptor_to_point_to_electron.patch
Xref: 4144281
Fix simple code shear; applied cleanly w/patch-fuzz
* chore: update patches/chromium/disable_unload_metrics.patch
Xref: 4126173
Fix simple code shear; applied cleanly w/patch-fuzz
* chore: update patches/chromium/feat_add_data_parameter_to_processsingleton.patch
Xref: 4144281
Fix simple code shear; applied cleanly w/patch-fuzz
* chore: update patches/chromium/preconnect_manager.patch
4144281
Fix simple code shear; applied cleanly w/patch-fuzz
* chore: update patches/v8/force_cppheapcreateparams_to_be_noncopyable.patch
3533019
Fix simple code shear; applied cleanly w/patch-fuzz
* chore: update patches
* chore: update patches/chromium/add_maximized_parameter_to_linuxui_getwindowframeprovider.patch
Xref: 4128765
Upstream added a new call to HeaderContext(), whose signature we have patched
* chore: bump chromium in DEPS to 111.0.5530.0
* chore: update patches
* Move ChildProcessHost* from content/common to content/browser
Xref: Move ChildProcessHost* from content/common to content/browser
* Remove RenderViewHostChanged
Xref: 4134103
[upstream removal of RenderViewHostChanged]
Xref: 4092763
Xref: 4093234
Xref: 4133892
Xref: 4134103
[examples of upstream code adjusting to the change]
Upstream handles this change in roughly two approaches:
1. Move the code over to RenderFrameHostChanged(old_host, new_host)
but test for new_host->IsInPrimaryMainFrame() before acting
2. Migrate to the PrimaryPageChanged(page) API and use
page.GetMainDocument() to get the RenderFrameHost.
I've chosen 1. because electron_api_web_contents needed that pointer
to old_host to call RemoveInputEventListener(), but I may be missing
some context & would appreciate review on this commit.
* Make electron/shell/browser/relauncher_win.cc use <winternl.h>
Xref: 4129135
Many internal Windows types are now available in winternl.h
so upstrem no longer defines the types themselves.
* Move ChildProcessHost* from content/common to content/browser
Xref: 4134795
* fixup! Make electron/shell/browser/relauncher_win.cc use <winternl.h>
winternl.h does not define the field we need, so clone the struct Chromium was using into unnamed namespace
* fixup! Move ChildProcessHost* from content/common to content/browser
chore: update #includes too
* chore: bump chromium in DEPS to 111.0.5532.0
* chore: sync patches/chromium/pepper_plugin_support.patch
Xref: 4133323
manually reync patch; no code changes
* chore: sync patches/chromium/mas_no_private_api.patch
Xref: 4143865
the content/common/pseudonymization_salt.cc patch is no longer needed
* chore: sync patches/chromium/mas_disable_remote_accessibility.patch
patch-fuzz update; no manual changes
* chore: sync patches/chromium/build_do_not_depend_on_packed_resource_integrity.patch
Xref: 4111725
manually reync patch; no code changes
* chore: sync patches/chromium/create_browser_v8_snapshot_file_name_fuse.patch
Xref: 4133323
manually reync patch; no code changes
* chore: sync patches/v8/fix_build_deprecated_attribute_for_older_msvc_versions.patch
Xref: 4127230
patch-fuzz update; no manual changes
* chore: rebuild patches
* fixup! Remove RenderViewHostChanged
Use PrimaryPageChanged()
* chore: remove unused method TabsUpdateFunction::OnExecuteCodeFinished()
Xref: 4133991
This private, already-unused function showed up as a FTBFS because it
took a base::ListValue parameter and ListValue was removed upstream.
* task posting v3: remove includes of runner handles and IWYU task runners
Xref: 4133323
* chore: lint
* chore: more lint
* fixup! task posting v3: remove includes of runner handles and IWYU task runners
macOS, too
* fixup! task posting v3: remove includes of runner handles and IWYU task runners
* chore: bump chromium in DEPS to 111.0.5534.0
* chore: sync patches/chromium/allow_new_privileges_in_unsandboxed_child_processes.patch
Xref: 4141862
patch-fuzz update; no manual changes
* chore: sync patches/chromium/logging_win32_only_create_a_console_if_logging_to_stderr.patch
Xref: 4153110
Sync to minor upstream changes. Add const correctness.
* chore: sync electron/patches/chromium/feat_configure_launch_options_for_service_process.patch
4141862
patch-fuzz update; no manual changes
* chore: patches/v8/fix_build_deprecated_attribute_for_older_msvc_versions.patch
sync 4147787
patch-fuzz update; no manual changes
* chore: update patches
* chore: bump chromium in DEPS to 111.0.5536.0
* chore: sync patches/chromium/allow_new_privileges_in_unsandboxed_child_processes.patch
Xref: 4141863
Sync with upstream code changes. Minor code golf for readability.
Note: upstream is laying groundwork for being able to work off of env vars
instead of switches. Doesn't affect us yet but worth being aware of.
> + // Environment variables could be supported in the future, but are not
> + // currently supported when launching with the zygote.
* chore: update patches/chromium/feat_expose_raw_response_headers_from_urlloader.patch
Xref: 4126836
patch-fuzz update; no manual changes
* chore: sync electron/patches/chromium/feat_configure_launch_options_for_service_process.patch
Xref: 4141863
manual sync
* chore: sync electron/patches/v8/fix_build_deprecated_attribute_for_older_msvc_versions.patch
4147788
fuzz-patch
* chore: rebuild patches
* chore: bump chromium in DEPS to 111.0.5538.0
* chore: bump chromium in DEPS to 111.0.5540.0
* chore: update patches
* Remove sdk_forward_declarations
4166680
* task posting v3: Remove task runner handles from codebase entirely
Refs 4150928
* Cleanup child_process_launcher_helper*
Refs 4141863
* fix: utilityprocess spec on macOS
* fix: build on windows
Refs 4141863
* chore: fix lint
* chore: bump chromium 111.0.5544.3
* chore: gen filenames.libcxx.gni
* Add check for Executable+Writable handles in renderer processes.
Refs 3774416
* fixup! Add check for Executable+Writable handles in renderer processes.
* 4143761: [110] Disable SwiftShader for WebGL on M1 Macs.
4143761
(cherry picked from commit 2f74db3c2139424c416f92d9169aeaa8a2f9c1ec)
* chore: bump chromium to 111.0.5555.0
* 56085: Remove hmac.h include from ssl.h.
https://boringssl-review.googlesource.com/c/boringssl/+/56085
* 4167020: Remove forwarding headers
4167020
* chore: bump chromium to 111.0.5559.0
* 4181044: Restrict WebCursor usage to RenderWidgetHostViewAura
4181044
* 4189437: views: rename ink_drop_host_view to ink_drop_host
4189437
* chore: bump chromium to 111.0.5560.0
* 4167016: win7dep: remove non aeroglass code
4167016
* fixup after rebase: Remove forwarding header
s 4167020
* 4125755: Reland "Reject getDisplayMedia calls without user activation"
4125755
* test: add workaround
* chore: update patches
* fix: alter coreModuleRegExp to prevent arm crash
* Revert "fix: alter coreModuleRegExp to prevent arm crash"
This reverts commit 7e50630c98137831a711c5abdbc8809e60cf1d73.
* 4218354: Disable the use of preserve_most on arm64 Windows
4218354
* chore: review changes
---------
Co-authored-by: electron-roller[bot] <84116207+electron-roller[bot]@users.noreply.github.com>
Co-authored-by: Charles Kerr <charles@charleskerr.com>
Co-authored-by: PatchUp <73610968+patchup[bot]@users.noreply.github.com>
Co-authored-by: deepak1556 <hop2deep@gmail.com>
Co-authored-by: John Kleinschmidt <jkleinsc@electronjs.org>
Co-authored-by: Shelley Vohr <shelley.vohr@gmail.com>
* chore: bump chromium in DEPS to 99.0.4819.0
* chore: update patches
* chore: bump chromium in DEPS to 99.0.4824.0
* chore: update patches
* chore: bump chromium in DEPS to 99.0.4827.0
* chore: update patches
* 3352511: PiP: Add inkdrop and pointer cursor to PiP window buttons
3352511
* 3309164: webhid: Show FIDO devices in the chooser if allowed
3309164
* 3297868: hid: Add experimental HIDDevice.forget()
3297868
* 3362491: [Extensions] Move i18n API to //extensions
3362491
* MCC Refactor step0: Allow embedders to register associated_interface binders with RenderFrameHostImpl::associated_registry_.
3281481
* 3352616: [Gtk] Remove libgtk from the link-line
3352616
* 3249211: Clear-Site-Data support for partitioned cookies
3249211
* [Extensions][COIL] Use [allow|block]list in //extensions/common
3372668
* Begin ScopedUserPrefUpdate migration to modern base::Value
3376154
* [Code Health] Refactor PrefService GetDict + GetList to use base::Value
3343526
* 3354997: [CodeHealth] Remove deprecated SetDictionary method
3354997
* 3287323: Add LacrosPrefStore for lacros settings
3287323
* 3365916: [PA] Clean up remaining lazy commit code
3365916
* [MPArch] Target the external protocol error at the responsible frame.
3011560
* Pass origin to RegisterNonNetworkSubresourceURLLoaderFactories
3350608
* Linux: Send OSCrypt raw encryption key to the Network Service
3320484
* [PlzServiceWorker] Remove remaining references to PlzServiceWorker.
3359441
* chore: fixup for lint
* 3327621: Fix tablet mode detection for Win 11.
3327621
* 3342428: ax_mac: move AXTextMarker conversion utils under ui umbrella
3342428
* 3353974: Mac: Use base::Feature for overlay features
3353974
* chore: bump chromium in DEPS to 99.0.4828.0
* chore: update patches
* chore: bump chromium in DEPS to 99.0.4837.0
* chore: update patches
* chore: update patches
* 3379142: Drop FALLTHROUGH macro
Ref: 3379142
* 3381749: C++17: Allow use of std::map::try_emplace and std::map::insert_or_assign
Ref: 3381749
* chore: bump chromium in DEPS to 99.0.4839.0
* chore: update patches
* chore: bump chromium in DEPS to 99.0.4840.0
* chore: bump chromium in DEPS to 99.0.4844.0
* 3395881: [api] Deprecate Local<v8::Context> v8::Object::CreationContext()
Ref: 3395881
* chore: update patches
* chore: bump chromium in DEPS to 100.0.4845.0
* chore: update patches
* chore: bump chromium in DEPS to 100.0.4847.0
* chore: update patches
* chore: bump chromium in DEPS to 100.0.4849.0
* chore: update patches
* chore: bump chromium in DEPS to 100.0.4851.0
* chore: bump chromium in DEPS to 100.0.4853.0
* update patches
* chore: update patches
* update patches
* 3383599: Fonts Access: Remove prototype that uses a font picker.
3383599
* 3404768: Remove ALLOW_UNUSED macros
3404768
* 3374762: Remove ignore_result.h
3374762
* 3399305: [unseasoned-pdf] Apply proper frame offsets for touch selections
3399305
* 3402210: [Extensions] Don't trigger unload event for already unloaded extension
3402210
* 3410912: Combine URLLoaderClient OnReceiveResponse and OnStartLoadingResponseBody.
3410912
* 3370428: Make the AuthSchemes policy support dynamic refresh
3370428
* 3407603: Finish ScopedUserPrefUpdate migration to modern base::Value
3407603
* 3378352: ozone/x11: move code from //ui/p/x11 to //ui/ozone/p/x11
3378352
* 3370810: Delete chrome/service, AKA the Cloud Print service process.
3370810
* chore: bump chromium in DEPS to 100.0.4855.0
* chore: update patches
* fixup! 3370810: Delete chrome/service, AKA the Cloud Print service process.
* revert 3348007 to fix windows build
* 3318572: [Code health] Fix gn check errors in //extensions/browser:*
3318572
* fix printing.patch
* fix iwyu issue
* 3408515: win: Make ShorcutOperation an enum class and modernize names
3408515
* 3388333: [UIA] Remove dead code accessibility_misc_utils.h/cc
3388333
* fix windows build? i hope
* patch gn visibility of //ui/ozone/platform/x11
* missing include base/logging.h
* use BUILDFLAG for USE_NSS_CERTS
3379123
* defined(OS_*) ==> BUILDFLAG(IS_*)
https://bugs.chromium.org/p/chromium/issues/detail?id=1234043
* fixup! 3404768: Remove ALLOW_UNUSED macros
* another attempt to fix windows build
* temporarily disable the custom scheme service worker test
https://github.com/electron/electron/issues/32664
* fix loading mv3 extensions
not sure what cl broke this unfort.
* fixup! 3404768: Remove ALLOW_UNUSED macros
* patch nan
3395880
* fix node test
* fix nullptr in FindPdfFrame
* patch perfetto to fix build issue on win-ia32
bc44c3c753
* fix build for linux-x64-testing-no-run-as-node
* fix patch
* skip <webview>.capturePage() test
https://github.com/electron/electron/issues/32705
* test: fix failing tests of focus/blur events of WebContents (#32711)
* inherit stdio from app module test child processes
this prevents them from timing out due to full stdout buffers
* test to see if we can get better logs on windows ci
* try again for appveyor log things
* skip contentTracing tests on ia32
* ci: disable gpu compositing
* drop applied patch
* fix merge fail
* Revert "ci: disable gpu compositing"
This reverts commit 0344129fcb19ea3e87e06c1110d751f22eba3fec.
Co-authored-by: electron-roller[bot] <84116207+electron-roller[bot]@users.noreply.github.com>
Co-authored-by: John Kleinschmidt <jkleinsc@electronjs.org>
Co-authored-by: PatchUp <73610968+patchup[bot]@users.noreply.github.com>
Co-authored-by: John Kleinschmidt <jkleinsc@github.com>
Co-authored-by: VerteDinde <khammond@slack-corp.com>
Co-authored-by: VerteDinde <vertedinde@electronjs.org>
Co-authored-by: Jeremy Rose <jeremya@chromium.org>
Co-authored-by: Jeremy Rose <nornagon@nornagon.net>
Co-authored-by: Cheng Zhao <zcbenz@gmail.com>
Co-authored-by: deepak1556 <hop2deep@gmail.com>
* fix: let Node.js perform microtask checkpoint in the main process
* fix: don't specify v8::MicrotasksScope for explicit policy
* fix: remove checkpoint from some call-sites
We already perform checkpoint at the end of a task,
either through MicrotaskRunner or through NodeBindings.
There isn't a need to add them again when calling into JS
except when dealing with promises.
* fix: remove checkpoint from some call-sites
We already perform checkpoint at the end of a task,
either through MicrotaskRunner or through NodeBindings.
There isn't a need to add them again when calling into JS
except when dealing with promises.
* fix incorrect specs
* default constructor arguments are considered for explicit mark
* add regression spec
* 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