* fix: backport patch to fix systemd unit activation in Chromium
This backports a patch from Chromium, which fixes systemd unit
activation. That is, a globalShortcuts feature that Chromium has
needs to create a systemd unit and rename it properly. Portal's
global shortcuts uses that name afterwards to map the app with
the shortcuts bound. However, there might be a race between
Chromium binding shortcuts and renaming the unit.
This is a first step to add Portal's globalShortcuts to
Electron.
* feat: Support global shortcuts via GlobalShortcutsPortal feature
Chromium has a new feature called GlobalShortcutsPortal. It
allows clients to use Portal's globalShortcuts to register and
listen to shortcuts.
This patches adds necessary bits, which allows Electron to
use that feature.
In order to make it work, one has to add
--enable-features=GlobalShortcutsPortal
Test: tested manually with a sample app.
* docs: add GlobalShortcutsPortal feature to globalShortcuts docs
Electron supports Portal's globalShortcuts API now via Chromium, and Electron
apps can use that in a Wayland session. Update the docs with the required
feature flag that must be passed to be able to use that implementation.
* chore: bump chromium in DEPS to 133.0.6902.0
* chore: bump chromium in DEPS to 133.0.6903.0
* chore: update patches
* Update PdfViewer Save File Picker to use showSaveFilePicker.
Refs 6074308
* Code Health: Clean up stale MacWebContentsOcclusion
Refs 6078344
* Change RenderProcessHost::GetID to RenderProcessHost::GetDeprecatedID
Refs 6065543
* [WebRTC] Make WebRTC IP Handling policy a mojo enum
Refs 6063620
* chore: gen filenames.libcxx.gni
* Remove allow_unsafe_buffers pragma in //printing
Refs 6092280
* refactor: to use ChildProcessId where possible
Refs https://issues.chromium.org/issues/379869738
* [Win] Update TabletMode detection code
Refs 6003486
* chore: bump chromium in DEPS to 133.0.6905.0
* chore: update patches
* Reland "Move global shortcut listener to //ui/base"
Refs 6099035
* [shared storage] Implement the batch `with_lock` option for response header
Refs 6072742
* chore: bump chromium in DEPS to 133.0.6907.0
* chore: bump chromium in DEPS to 133.0.6909.0
* chore: bump chromium in DEPS to 133.0.6911.0
* chore: bump chromium in DEPS to 133.0.6912.0
* chore: update patches
* WebUI: Reveal hidden deps to ui/webui/resources.
Refs 6096291
* chore: bump chromium in DEPS to 133.0.6913.0
* chore: bump chromium in DEPS to 133.0.6915.0
* Code Health: Clean up stale base::Feature "AccessibilityTreeForViews"
Refs 6104174
Co-authored-by: David Sanders <dsanders11@ucsbalum.com>
* fix: remove fastapitypedarray usage
* chore: update patches
* chore: script/gen-libc++-filenames.js
* Code Health: Clean up stale base::Feature "WinRetrieveSuggestionsOnlyOnDemand"
Refs 6109477
* fix: empty suggestions with windows platform checker
Amends the fix from https://github.com/electron/electron/pull/29690
since the feature flag is no longer available. We follow the
same pattern as //chrome/browser/renderer_context_menu/spelling_menu_observer.cc
to generate the suggestion list on demand when context menu action
is invoked.
Co-authored-by: David Sanders <dsanders11@ucsbalum.com>
* fixup! fix: empty suggestions with windows platform checker
* fixup! fix: empty suggestions with windows platform checker
* revert: 6078344: Code Health: Clean up stale MacWebContentsOcclusion | 6078344
* Revert "revert: 6078344: Code Health: Clean up stale MacWebContentsOcclusion | 6078344"
This reverts commit 9cacda452ed5a072351e8f5a35b009d91843a08c.
* chore: bump to 133.0.6920.0, update patches
* Revert "6078344: Code Health: Clean up stale MacWebContentsOcclusion"
Refs: 6078344
* fixup! Update PdfViewer Save File Picker to use showSaveFilePicker.
---------
Co-authored-by: electron-roller[bot] <84116207+electron-roller[bot]@users.noreply.github.com>
Co-authored-by: deepak1556 <hop2deep@gmail.com>
Co-authored-by: David Sanders <dsanders11@ucsbalum.com>
Co-authored-by: Keeley Hammond <khammond@slack-corp.com>
* chore: bump chromium in DEPS to 133.0.6858.0
* chore: bump chromium in DEPS to 133.0.6860.0
* chore: update patches
v8/revert_fastapi_remove_dynamic_overload_resolution.patch had some additions due to 6023139
* 6044060: Reland "Moves shared GN templates into //build/config/apple."
6044060
* Revert "6023139: [fastapi] Add support for attribute setters"
6023139
* Update printing.patch
The removed include is present in the original source file now, just slightly before where it was being added.
6015430: Reduce platform-like buildflags in sandbox code
Refs: 6015430
* 6039836: Migrate Command::IsMediaKey to be a member of ui::Accelerator
6039836
* 6038659: [CodeHealth] Clean up the feature ZstdContentEncoding
6038659
* chore: bump chromium in DEPS to 133.0.6862.0
* chore: update patches
* 72747: crypto: switch to C++
https://boringssl-review.googlesource.com/c/boringssl/+/72747
* fixup! 72747: crypto: switch to C++ https://boringssl-review.googlesource.com/c/boringssl/+/72747
* chore: gen libc++ filenames
* 6042601: [shared storage] Implement with_lock option for methods from response headers
6042601
* chore: bump chromium in DEPS to 133.0.6864.0
* chore: bump chromium in DEPS to 133.0.6866.0
* chore: bump chromium in DEPS to 133.0.6868.0
* chore: bump chromium in DEPS to 133.0.6870.0
* chore: bump chromium in DEPS to 133.0.6872.0
* chore: bump chromium in DEPS to 133.0.6874.0
* chore: bump chromium in DEPS to 133.0.6876.0
* 6039992: Fix false activation logic for context menu. | 6039992
* chore: update patches
* chore: update patches
* chore: bump chromium in DEPS to 133.0.6878.0
* chore: update patches
* [Build] Organize //components/dbus into a single component
Xref: 6055280
* Merge //components/dbus/* into a single //components/dbus, which
matches how most components are organized. This avoids having
many small shared libraries which incurs unnecessary overhead.
* Limit visibility of //components/dbus/* to //components/dbus
* fixup! Update _LIBCPP_ABI_VERSION to always have a default value while keeping unstable false due to changes in llvm https://github.com/llvm/llvm-project/pull/112094
* 6040416: Let s know which widget the input came on. | 6040416
* 6056267: [MPArch guest view] Fix authentication for MPArch guests | 6056267
* make_span() is deprecated: https://issues.chromium.org/issues/341907909
* fixup: https://issues.chromium.org/issues/341907909
* chore: delete extra bracket from removing make_span commit
* fixup: 6059305: Make WTF::UTF8ConversionMode a scoped enum | 6059305
* 6051058: CookieInclusionStatus: Remove ctors which bypass invariants | 6051058
* 6038981: Remove most remaining CHECK(false)s | 6038981
* build: use third_party/simdutf in Node.js
* chore: node ./script/gen-libc++-filenames.js
* chore: fix strict-cast conversion error in subspan()
Xref: 6044946
* chore: fix strict-cast conversion error in base::as_bytes()
Xref: 6044946
* chore: fix strict-cast conversion error in span.split_at()
Xref: 6044946
* chore: use shorthand target name
* chore: better docs in build_add_public_config_simdutf_config.patch
---------
Co-authored-by: electron-roller[bot] <84116207+electron-roller[bot]@users.noreply.github.com>
Co-authored-by: clavin <clavin@electronjs.org>
Co-authored-by: alice <alice@makenotion.com>
Co-authored-by: Charles Kerr <charles@charleskerr.com>
* refactor: more return-braced-init-list, this time for v8 and gin objects
* refactor: more return-braced-init-list, this time for v8, gin, std, and base objects
* refactor: misc-use-internal-linkage warnings in context bridge
move impl functions into anonymous namespace so that they're not visible
to other compilation units:
- ExposeAPIInWorld()
- IsCalledFromMainWorld()
- OverrideGlobalPropertyFromIsolatedWorld()
- OverrideGlobalValueFromIsolatedWorld()
- TraceKeyPath()
* refactor: misc-use-internal-linkage warnings in skia util
move impl details into anonymous namespace so that they're not visible
to other compilation units:
- struct ScaleFactorPair
- kScaleFactorPairs[]
- GetScaleFactorFromPath()
- AddImageSkiaRepFromPath()
* refactor: misc-use-internal-linkage warnings in printing util
move impl details into anonymous namespace so that they're not visible
to other compilation units:
- GetFullPagePlugin()
* refactor: misc-use-internal-linkage warnings in blijnk converter
move impl details into anonymous namespace so that they're not visible
to other compilation units:
- GetKeyLocationCode()
- ModifiersToArray()
* refactor: misc-use-internal-linkage warnings in extrension system
move impl details into anonymous namespace so that they're not visible
to other compilation units:
- ParseManifest()
* refactor: misc-use-internal-linkage warnings in skia util
move impl details into anonymous namespace so that they're not visible
to other compilation units:
- GetFrameTokenMap()
- GetFrameTreeNodeIdMap()
* refactor: misc-use-internal-linkage warnings in electron_api_utility_process.cc
move impl details into anonymous namespace so that they're not visible
to other compilation units:
- GetAllUtilityProcessWrappers()
* refactor: misc-use-internal-linkage warnings in electron_api_menu
move impl details into anonymous namespace so that they're not visible
to other compilation units:
- InvokeBoolMethod()
* refactor: misc-use-internal-linkage warnings in platform util
move impl details into anonymous namespace so that they're not visible
to other compilation units:
- struct TrashItemResult
- TrashItemOnBlockingThread()
* refactor: avoid repeating the return type from the declaration; use a braced initializer list instead [modernize-return-braced-init-list]
* refactor: avoid repeating the return type from the declaration; use a braced initializer list instead [modernize-return-braced-init-list]
NB: using the braced-initializer list uncovered an error here:
the float returned by std::floor() can't be implicitly cast to
an int. This is solved by using base::ClampFloor<int>() instead.
std::floor()
* feat: add query-session-end event for Windows
* fix: remove debug line
* feat: notify with reason on session-end
* docs: add comments and return params
* docs: add same docs to the BrowserWindow
* fix: add shutdown reason if lParam == 0
* docs: remove 'force' word
* docs: revert multithreading.md change
* docs: add reasons documentation, reason variable renamed to reasons
* docs: improve 'shutdown' reason wording
* docs: reword with 'can be'
* fix: pass reasons by reference
* fix: use newer approach which expose reasons value directly on Event object
* docs: add escaping
* style: linter fixes
* fix: project now should compile
* fix: EmitWithoutEvent method added, EmitWithEvent moved to private again
* docs: typo fix
Co-authored-by: Sam Maddock <samuel.maddock@gmail.com>
* docs: dedicated WindowSessionEndEvent type created
* docs: better wording for session-end event description
Co-authored-by: Will Anderson <will@itsananderson.com>
---------
Co-authored-by: Sam Maddock <samuel.maddock@gmail.com>
Co-authored-by: Will Anderson <will@itsananderson.com>
* fix: performance-no-automatic-move in GetLogFileName()
remove `const` from log_filename.
Warning fixed by this commit:
../../electron/shell/common/logging.cc:40:12: warning: constness of 'log_filename' prevents automatic move [performance-no-automatic-move]
* fix: performance-no-automatic-move in GetBundleResourcePath()
remove `const` from request_relative_path.
Warning fixed by this commit:
electron/shell/browser/extensions/electron_extensions_browser_client.cc:187:10: warning: constness of 'request_relative_path' prevents automatic move [performance-no-automatic-move]
* refactor: use gdk_display_beep() to beep on Linux
* chore: make a stub declaration for gdk_display_beep()
* chore: remove unused file electron_gtk.sigs
* chore: remove unused #includes to make gn check happy
* fix: bugprone-narrowing-conversions warning in NativeImage::memory_usage_
- fix signed / unsigned math by using base/numerics/safe_conversions
- make memory_usage_ an int64_t so it can safely take the size_t
returned by computeByteSize()
Warning fixed by this commit:
../../electron/shell/common/api/electron_api_native_image.cc:155:26: warning: narrowing conversion from 'size_t' (aka 'unsigned long') to signed type 'int32_t' (aka 'int') is implementation-defined [bugprone-narrowing-conversions]
155 | new_memory_usage = image_skia->bitmap()->computeByteSize();
* fix: bugprone-narrowing-conversions warnings in NativeImage::CreateFromBitmap()
`SkImageInfo::MakeN32()` and `SkBitmap::allocN32Pixels()` both take int
width and height args, but we were feeding them unsigned ints.
../../electron/shell/common/api/electron_api_native_image.cc:508:36: warning: narrowing conversion from 'unsigned int' to signed type 'int' is implementation-defined [bugprone-narrowing-conversions]
508 | auto info = SkImageInfo::MakeN32(width, height, kPremul_SkAlphaType);
| ^
../../electron/shell/common/api/electron_api_native_image.cc:508:43: warning: narrowing conversion from 'unsigned int' to signed type 'int' is implementation-defined [bugprone-narrowing-conversions]
508 | auto info = SkImageInfo::MakeN32(width, height, kPremul_SkAlphaType);
| ^
../../electron/shell/common/api/electron_api_native_image.cc:524:25: warning: narrowing conversion from 'unsigned int' to signed type 'int' is implementation-defined [bugprone-narrowing-conversions]
524 | bitmap.allocN32Pixels(width, height, false);
| ^
../../electron/shell/common/api/electron_api_native_image.cc:524:32: warning: narrowing conversion from 'unsigned int' to signed type 'int' is implementation-defined [bugprone-narrowing-conversions]
524 | bitmap.allocN32Pixels(width, height, false);
| ^
../../electron/shell/common/api/electron_api_native_image.cc:528:48: warning: narrowing conversion from 'double' to 'float' [bugprone-narrowing-conversions]
528 | gfx::ImageSkia::CreateFromBitmap(bitmap, scale_factor);
* chore: bump chromium in DEPS to 132.0.6827.0
* chore: bump chromium in DEPS to 132.0.6828.0
* chore: bump chromium in DEPS to 132.0.6830.0
* chore: bump chromium in DEPS to 132.0.6832.0
* chore: bump chromium in DEPS to 132.0.6834.0
* chore: update chromium patches
* 5977022: Apply os setting of overlay scrollbar to web instances | 5977022
* 5991440: Cleanup //ui/compositor from LaCros support code. | 5991440
* chore: update all patches
* 6000058: Add base_subdirs to file_chooser.mojom NativeFileInfo | 6000058
* 6009949: Rename NOTREACHED_NORETURN() uses to NOTREACHED() | 6009949
* 5966419: [freezing] Expose frozen state to extensions (3/3 - add frozen to chrome.tabs.Tab).
5966419
Also 6006424
---------
Co-authored-by: electron-roller[bot] <84116207+electron-roller[bot]@users.noreply.github.com>
Co-authored-by: VerteDinde <vertedinde@electronjs.org>
Co-authored-by: John Kleinschmidt <jkleinsc@electronjs.org>
* chore: bump chromium in DEPS to 132.0.6791.0
* 5804481: [UI] Migrate remaining clients of `MenuSourceType`
5804481
* chore: try revert PA CL
* chore: bump chromium in DEPS to 132.0.6793.0
* chore: bump chromium in DEPS to 132.0.6794.0
* 5952404: Clean up //ui/base/resource from Lacros code.
5952404
* 5920842: Generate combined grd for PEPC strings and use them in the element
5920842
* 5943708: Enable DynamicSafeAreaInsets for eligible users only
5943708
* chore: fixup patch indices
* 5937004: Remove components/services/language_detection
5937004
* 5920322: [UI] Use mojo enum for `MenuSourceType` in ui/views/controls/
5920322
* chore: bump chromium in DEPS to 132.0.6797.0
* 5947724: [ui] Add missing shortcut text for VKEY_COMMAND on linux
5947724
* chore: fixup patch indices
* 5948024: [DNT] Fix NavigationController raw_ptr during WebContents destruction
5948024
* 5945209: Roll libc++ from c8eec3629a9e to e2c39ff9388b (1 revision)
5945209
* chore: bump chromium in DEPS to 132.0.6799.0
* chore: bump chromium in DEPS to 132.0.6801.0
* chore: bump chromium in DEPS to 132.0.6803.0
* 5942398: Remove some chrome:: namespace from chrome/browser/win/*
Refs: 5942398
* 5963016: FSA: Use the profile path for base::DIR_HOME on ChromeOS
Refs: 5963016
* chore: fixup patch indices
* chore: bump chromium in DEPS to 132.0.6805.0
* 5924816: [macOS][FSA] Block Access to Application Bundle Path
Refs: 5924816
* 5962517: [media] Apply inside blink to renderer/platform/media
Refs: 5962517
* 5829616: MPArch based GuestViews basic implementation
Refs: 5829616
* 5953710: Expose a rust_static_library instead of raw rs file from rust_bindgen
Refs: 5953710
* chore: fixup patch indices
* chore: disable ELF CREL on Linux Arm
5938657: Reapply "Enable ELF CREL, which reduces the size of ELF relocatable object files." | 5938657
* chore: bump chromium in DEPS to 132.0.6807.0
* 5868889: Shared Storage: Support saved queries in selectURL
Refs: 5868889
* Revert "5956408: [fastapi] Promote deprecation of FastApiTypedArray"
Refs: 5956408
* Revert "5962696: [mojo] Force blink headers to only be included in blink"
Refs: 5962696
* chore: update patches
* 5973073: [Extensions] Improve warnings parsing (host) permissions in MV3
Refs: 5973073
* chore: update filenames.libcxx.gni
* Apply suggestions from code review
Co-authored-by: John Kleinschmidt <jkleinsc@electronjs.org>
---------
Co-authored-by: electron-roller[bot] <84116207+electron-roller[bot]@users.noreply.github.com>
Co-authored-by: Shelley Vohr <shelley.vohr@gmail.com>
Co-authored-by: David Sanders <dsanders11@ucsbalum.com>
Co-authored-by: John Kleinschmidt <jkleinsc@electronjs.org>
* fix: Use openURL:configuration:completionHandler instead of openUrl
* test: add a test
* fix: add dispatch_async to replace GetUIThreadTaskRunner
* refactor: remove unused import
* fix: update to use BindPostTaskToCurrentDefault
* test: add regression test for window focus
* refactor: update to explicit task runner
* refactor: move uv_setup_args() calls to startup
* refactor: call base::CommandLine::Init() before ContentMain()
* feat: add ElectronCommandLine::AsUtf8()
* refactor: call base::CommandLine::Init() before NodeMain()
* refactor: use ElectronCommandLine::AsUtf8() in NodeMain()
* fix: -Wunsafe-buffer-usage warning in ElectronCommandLine::Init()
* chore: add a DCHECK to confirm ElectronCommandLine was initialized before AsUtf8() is called
* chore: const correctness in ElectronCommandLine::Init() args
* chore: add ElectronCommandLine to macOS Electron Helper app
* chore: move argc, argvc setup into electron_library_main on macOS
* chore: revert BUILD.gn changes
* fix: WideToUTF8() call in ElectronCommandLine::AsUtf8()
* build: add uv to the include paths for app/electron_main_linux
* build: add uv to the include paths for app/electron_library_main.mm
* chore: revert unrelated changes
these were intended for another branch
* refactor: BaseWindow::OnExecuteAppCommand() now takes a std::string_view
* refactor: NativeWindow::NotifyWindowExecuteAppCommand() takes a std::string_view
* refactor: AppCommandToString() returns a std::string_view, is now constexpr
* refactor: make kBrowserBackward, kBrowserForward inline constexpr std::string_view
Xref: https://abseil.io/tips/140https://groups.google.com/a/chromium.org/g/chromium-dev/c/jROTxMo_m2Q/m/HgciN2KsAgAJ
* refactor: use inline constexpr string_view for kDevice*Key constants
Xref: https://abseil.io/tips/140https://groups.google.com/a/chromium.org/g/chromium-dev/c/jROTxMo_m2Q/m/HgciN2KsAgAJ
* refactor: IsEnvSet now takes a base::cstring_view
* refactor: use inline constexpr cstring_view for kRunAsNode
* refactor: use inline constexpr string_view for kPDF*PluginName
* refactor: use base::FilePath::FromASCII() since "internal-pdf-viewer" is ascii
* chore: remove unused shell/common/electron_constants.cc
* fixup! refactor: IsEnvSet now takes a base::cstring_view
* perf: prefer NewFromUtf8Literal() over NewFromUtf8() for string literals
the string length is known at compile time and no need to call ToLocalChecked()
* perf: string length is known when calling NewFromUtf8(), so use it
* perf: remove unnecessary calls to c_str()
these just force the code being called to have to recalculate the string length
* chore: move as_byte_span() to new shell/common/mac_util.h
this way it can be used by multiple mm files
* fix: -Wunsafe-buffer-usage warnings in UNNotificationResponseToNSDictionary
* refactor: use base::HexEncode() instead of rolling our own
* fixup! chore: move as_byte_span() to new shell/common/mac_util.h
* fixup! chore: move as_byte_span() to new shell/common/mac_util.h
fix: move mac_util to the right place in filenames.gni
* chore: bump chromium in DEPS to 131.0.6756.0
* chore: update disable_hidden.patch
no code changes; just handling upstream context shear
5887019
* chore: update feat_expose_raw_response_headers_from_urlloader.patch
Factor out URLLoader's URLRequest configuration into a helper
Xref: 5902254
* chore: update fix_disabling_background_throttling_in_compositor.patch
no manual changes; patch applied with fuzz 1
* chore: e patches all
* 5882129: Fix basic auth issues for sub frame and sub resources | 5882129
- Add `is_request_for_navigation` param to
ElectronBrowserClient::CreateLoginDelegate().
- Propagate the flag as another undocumented property
in the app.login Event's authenticationResponseDetails object
- Side cleanup: also in CreateLoginDelegate(), use upstream's name
for the `is_request_for_main_frame` param, renamed back in
3256171
* 5875189: [FSA] Check for DANGEROUS extension types when creating a new file. | 5875189
* chore: node ./script/gen-libc++-filenames.js
* chore: bump chromium in DEPS to 131.0.6758.0
* chore: bump chromium in DEPS to 131.0.6760.0
* chore: update patches
* [A11y] Remove Accessibility Object Model (AOM)
Refs 5896593
* chore: bump chromium in DEPS to 131.0.6762.0
* [heap] Remove deprecated V8 flag
Refs 5904046
---------
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: deepak1556 <hop2deep@gmail.com>
perf: use ArrayBuffer::Data() API
Replace our `GetBackingStore()->Data()` calls with this instead.
Explained by the V8 docs, ArrayBuffer.Data() is
> More efficient shortcut for GetBackingStore()->Data(). The
> returned pointer is valid as long as the ArrayBuffer is alive.
* feat: add error event for utility process
* chore: use public report api
* chore: fix lint
* doc: mark error event as experimental
---------
Co-authored-by: Shelley Vohr <shelley.vohr@gmail.com>