* chore: migrate from base::StringPiece to std::string_view in keyboard_util.cc
* chore: migrate from base::StringPiece to std::string_view in error_thrower.cc
* chore: migrate from base::StringPiece to std::string_view in electron_api_web_contents.cc
* chore: migrate from base::StringPiece to std::string_view in gin_helper/dictionary.h
* chore: migrate from base::StringPiece to std::string_view in electron_api_url_loader.cc
* chore: phase out internal use of base:::StringPiece
`base::StringPiece` is being phased out upstream. Its code has been
removed upstream and it's just a typedef for `std::string_view`.
They haven't removed the typedef yet, so this PR tries to get ahead
of future breakage by migrating "internal" use (i.e. leaving alone the
places where the `base::StringPiece` name is coming from an upstream
method that we override).
Xref: https://bugs.chromium.org/p/chromium/issues/detail?id=691162
Xref: 4294483
Xref: https://docs.google.com/document/d/1d4RnD1uAE2t4iANR0nXy82ASIPGsPuw2mpO6v6T7JKs
* build: use aks arm64 test runners
* build: better image
* build: even more stuff
* build: arm par
* build: use aks arm32
* build: arm32 par
* build: get test timings from abs paths
* build: avoid realpath, use echo
* chore: add patch to always set macos platform for x-build
* build: add infra for reclient support
* build: override reclient version
* build: use RBE in CI
* chore: hardcode reclient fix version
* build: lower process count on macOS
* build: use large macOS instance for testing-arm64
* Revert "build: use large macOS instance for testing-arm64"
This reverts commit 6844adfd00a5230e68234112dfd84caa50d3f621.
* build: login in via helper not writing file
* chore: update patches
* build: use recelint from DEPS
* build: fix windows reproxy cfg
* build: use reclient in appveyor
* build: update WOA job too
* build: force another build
* build: do not checkout reclient
refactor: use fixed-size arrays for the font cache
Since we know at compile time which [family x script] combos we want to
cache, we can hold the cache in fixed std::arrays instead of in nested
std::unordered_maps.
* fix: macOS maximize button shouldn't be disabled just because the window is non-fullscreenable
* add test
* fix test by enabling maximize button if `resizable && (maximizable || fullscreenable)` instead of `(resizable && maximizable) && fullscreenable`
* refactor: use base::flat_map in ElectronMenuModel
* refactor: use base::flat_map in BuildSubmenuFromModel()
* refactor: use base::flat_map in GetDialogsMap()
* refactor: use base::flat_map in DesktopCapturer
* refactor: use base::flat_map, flat_set in ElectronBrowserClient
* refactor: use base::flat_map in ProxyingURLLoaderFactory
* refactor: use base::flat_map in MapToCommonId()
* refactor: use base::flat_map for g_map_id
* refactor: use base::flat_map for ViewsDelegate::AppbarAutohideEdgeMap
* refactor: use base::flat_map for App::app_metrics_
* refactor: use base::flat_map for PowerSaveBlocker::wake_lock_types_
* refactor: use base::flat_map for NativeImage::hicons_
* refactor: use base::flat_map for MenuViews::menu_runners_
* refactor: use base::flat_map for WebViewManager::web_contents_embedder_map_
* refactor: use base::flat_map for InspectableWebContents::extensions_api_
* refactor: use base::flat_set for libnotify GetServerCapabilities()
* refactor: use base::flat_set for InspectableWebContents::loaders_
* refactor: use base::flat_set for ElectronRendererClient::environments_
refactor: use base::flat_set for ElectronRendererClient::injected_frames_
* refactor: use base::flat_set for WebWorkerObserver::environments_
* feat: add transparent option to WebContents
* feat: add transparent attribute to webview
* test: add tests for webview transparent attribute
* docs: add transparent attribute to webview docs
* fix: run tests on macOS only
* refactor: remove unneeded html tag
* fix: only apply transparent option to guests
* refactor: correct comment
* refactor: use opaque instead
Retains current webview behaviour by default.
* fix: correct variable name to guest_opaque_
* refactor: use transparent webpreference
* docs: remove unused web preference
* fix: uncomment condition for transparency test
* docs: converted to list format and linked to MDN
* fix: make webviews transparent by default again
* fix: rebase error
---------
Co-authored-by: Cheng Zhao <zcbenz@gmail.com>
* chore: initial prototype of net api from utility process
* chore: update url loader to work on both browser and utility processes
* chore: add net files to utility process bundle
* chore: re-add app ready check but only on main process
* chore: replace browser thread dcheck's with sequence checker
* refactor: move url loader from browser to common
* refactor: move net-client-request.ts from browser to common
* docs: add utility process to net api docs
* refactor: move net module app ready check to browser only
* refactor: switch import from main to common after moving to common
* test: add basic net module test for utility process
* refactor: switch browser pid with utility pid
* refactor: move electron_api_net from browser to common
* chore: add fetch to utility net module
* chore: add isOnline and online to utility net module
* refactor: move net spec helpers into helper file
* refactor: break apart net module tests
Adds two additional net module test files: `api-net-session-spec.ts` for
tests that depend on a session being available (aka depend on running on
the main process) and `api-net-custom-protocols-spec.ts` for custom
protocol tests. This enables running `api-net-spec.ts` in the utility
process.
* test: add utility process mocha runner to run net module tests
* docs: add utility process to net module classes
* refactor: update imports in lib/utility to use electron/utility
* chore: check browser context before using in main process
Since the browser context supplied to the SimpleURLLoaderWrapper can now
be null for use in the UtilityProcess, adding a null check for the main
process before use to get a more sensible error if something goes wrong.
Co-authored-by: Cheng Zhao <github@zcbenz.com>
* chore: remove test debugging
* chore: remove unnecessary header include
* docs: add utility process net module limitations
* test: run net module tests in utility process individually
* refactor: clean up prior utility process net tests
* chore: add resolveHost to utility process net module
* chore: replace resolve host dcheck with sequence checker
* test: add net module tests for net.resolveHost
* docs: remove utility process limitation for resolveHost
---------
Co-authored-by: deepak1556 <hop2deep@gmail.com>
Co-authored-by: Cheng Zhao <github@zcbenz.com>
* Fix PR#38673
As requested in PR#38673 , a line has been added that explicitly states that accelerators are case sensitive
* Update docs/api/accelerator.md
Co-authored-by: Erick Zhao <erick@hotmail.ca>
* Update accelerator.md
---------
Co-authored-by: Erick Zhao <erick@hotmail.ca>
* chore: bump chromium in DEPS to 122.0.6180.0
* chore: update render_widget_host_view_base.patch
Xref: 5079532
minor manual changes to match upstream changes
* chore: update printing.patch
Xref: 5094777
Xref: 5054299
Update patch to upstream changes in print_view_manager_base.cc.
CC @codebytere for 👀
* chore: update feat_add_onclose_to_messageport.patch
Xref: 5083156
no manual changes; patch applied with fuzz 1
* chore: update build_do_not_depend_on_packed_resource_integrity.patch
Xref: 5087072
minor manual changes to match upstream changes
* chore: update port_autofill_colors_to_the_color_pipeline.patch
Xref: 4960481
no manual changes; patch applied with fuzz 2
* chore: update revert_api_dcheck-fail_when_we_reenter_v8_while_terminating.patch
Xref: 5076902
Xref: 5096253
The `bailout_value` variable, which allowed us to fail gracefully in
these macros, has been removed upstream. This raises the temperature
on https://github.com/electron/electron/issues/40741 ...
Since we don't have a bailout value, return a default-constructed
instance of whatever the return type is of the function that invokes
the macro.
* Remove performActionOnRemotePage
Xref: 5068017
It appears it is not used by anything within Chromium or outside.
* perf: in SubmenuButton ctor, move() the PressedCallback
Xref: 5066872
The copy construtor is more expensive and has been removed upstream
* chore: update constructor call for ElectronExtensionsRendererClient::dispatcher_
Xref: 5055146
* chore: handle CAPTURED_SURFACE_CONTROL in Converter<blink::PermissionType>::ToV8()
Xref: 5096614
* chore: e patches all
* chore: bump chromium to 122.0.6181.0
* chore: e patches all
* refactor: Add lookup for per-RenderFrame SpellCheckProvider
Xref: 5075094
Previously we could pass a routing ID into the spellcheck methods.
This ID arg has been replaced with a SpellCheckHost& arg.
We can get the SpellCheckHost from an accessor in SpellCheckProvider,
which was already being created on a per-render-frame basis in
RenderClientBase.
This commit adds a RenderFrame-to-SpellCheckProvider accessor
in RenderClientBase so that it can be used to get that needed
SpellCheckHost.
* chore: make lint happy
* chore: restore the will_cause_resize arg to WebContents::ExitFullscreen
Xref: 5074445
Xref: 5031312
upstream reverted this change
* chore: bump chromium in DEPS to 122.0.6182.0
* chore: update patches
* chore: fix virtual function names that were renamed upstream
Xref: 5115241
* chore: handle new blink::PermissionType::SMART_CARD in PermissionType converter
Xref: 5049989
* chore: node script/gen-libc++-filenames.js
* fixup! chore: update build_do_not_depend_on_packed_resource_integrity.patch
* chore: remove revert_api_dcheck-fail_when_we_reenter_v8_while_terminating.patch
The previous experiment of removing the DCHECK in 35093783 was a huge
failure. We either need to either:
A) use upstream as-is and fix the DCHECK failure, or
B) revert 5076902 too
C) find some other workaround
This commit is the first half of option A, removing the patch to use
upstream as-is.
* chore: bump chromium in DEPS to 122.0.6184.0
* chore: bump chromium in DEPS to 122.0.6186.0
* chore; update mas_avoid_private_macos_api_usage.patch.patch
Xref: 5085619
minor manual changes to match upstream changes
* chore: update build_do_not_depend_on_packed_resource_integrity.patch
Xref: 5120922
minor manual changes to match upstream changes
* chore: update fix_move_autopipsettingshelper_behind_branding_buildflag.patch
Xref: 5041595
no manual changes; patch applied with fuzz 1
* chore: e patches all
* chore: add refactor_update_node-platform_to_match_v8-platform_api_changes.patch
* chore: bump chromium in DEPS to 122.0.6188.0
* chore: bump chromium in DEPS to 122.0.6190.0
* chore: bump chromium in DEPS to 122.0.6192.0
* chore: bump chromium in DEPS to 122.0.6194.0
* Remove an unnecessary DCHECK which causes Lacros to crash.
5124880
* [FixIt Week] Add shared regular profile function that includes ash
5100709
* Simplify the PrintManagerHost::ScriptedPrint() call
5019703
* [local compile hints] Add tests
5024173
* chore: update patches
* fixup! chore: add refactor_update_node-platform_to_match_v8-platform_api_changes.patch
* chore: node script/gen-libc++-filenames.js
* Remove //ui/ozone/buildflags.h
5119048
* fixup! Remove //ui/ozone/buildflags.h
* fixup! Remove //ui/ozone/buildflags.h
* chore: update patches
* fixup! refactor: Add lookup for per-RenderFrame SpellCheckProvider
* fixup! Remove //ui/ozone/buildflags.h
* Add permission policy verification in PermissionControllerImpl
5059112
* fix: ensure spellcheck interface is registered for frame
* [exceptions] Unify pending and scheduled exceptions
5050065
* fix: dchecks in node.js tests
* fix: try adding termination check
* chore: document breaking iframe change
---------
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: Shelley Vohr <shelley.vohr@gmail.com>
* chore: bump chromium in DEPS to 121.0.6154.0
* chore: bump chromium in DEPS to 121.0.6155.0
* fix patches
* chore: update patches
* patch out reference to GetOcclusionTracker
* un-flag PIPOcclusionTracker
* chore: bump chromium in DEPS to 121.0.6157.0
* fix conflicts
5038807
* add PIP occlusion tracker sources to chromium_src
* 5037591: Replace feature_list's Initialize* methods with Init*.
5037591
* 4811903: Move //content/browser/renderer_host/input/synthetic_gesture_controller to //content/common/input
4811903
* 4917953: usb: Add usb-unrestricted to permission policy
4917953
* 5072395: Remove unused `creation_context` parameter from blink/public APIs
5072395
* 5052035: [X11] Change AtomCache from a singleton to owned by Connection
5052035
* fix v8/.patches
* node script/gen-libc++-filenames.js
* 5035771: Remove the SetImage method of ImageButton
5035771
* fixup! 5052035: [X11] Change AtomCache from a singleton to owned by Connection
* fixup! 5035771: Remove the SetImage method of ImageButton
* chore: bump chromium in DEPS to 121.0.6159.0
* 4505903: [Extensions] Add lastAccessed property to chrome.tabs.Tab
4505903
* update patches
* don't duplicate tabs API types
this causes weird memory bugs if the two get out of sync
* fix UAF in TrayIconCocoa
not sure why this is popping up just now ... this has been broken for ages afaict
* Revert "don't duplicate tabs API types"
This reverts commit 80dff2efaa1297e5c191b2c69648099d6665dbff.
This is failing tests with extensions API schema check failures, so
revert for now. we'll fix it later.
* revert v8 change causing node crashes
* chore: reduce diffs in revert_api_dcheck-fail_when_we_reenter_v8_while_terminating.patch
---------
Co-authored-by: electron-roller[bot] <84116207+electron-roller[bot]@users.noreply.github.com>
Co-authored-by: Jeremy Rose <jeremya@chromium.org>
Co-authored-by: PatchUp <73610968+patchup[bot]@users.noreply.github.com>
Co-authored-by: clavin <clavin@electronjs.org>
Co-authored-by: Charles Kerr <charles@charleskerr.com>