When using the SCK thumbnail capturer, the first refresh has the list of
sources, and the second refresh has the thumbnails. If thumbnails are
not needed, only wait for the first refresh.
This fixes a crash with the PipeWire capturer caused by a Chromium
change introduced in
5783826.
DesktopMediaListBase now calls Refresh(true) after dispatching
DesktopMediaListObserver::OnDelegatedSourceListDismissed, so it's
important not to call DesktopCapturer::HandleFailure (which deallocates
the DesktopMediaList) synchronously from OnDelegatedSourceListDismissed.
* fix: Wayland resizing border
Closes https://github.com/electron/electron/issues/44543
Refs CL:5180720
Fixes an issue where the resizing border didn't work as expected on Wayland windows.
* fix: border insets when fullscreen
* perf: make ElectronUsbDelegate::controller_map_ an absl::flat_hash_map
* perf: make ElectronSerialDelegate::controller_map_ an absl::flat_hash_map
* perf: make ElectronHidDelegate::controller_map_ an absl::flat_hash_map
* perf: make FrameTreeNodeIdMap an absl::flat_hash_map
* perf: make AutofillDriverFactory::driver_map_ an absl::flat_hash_map
* perf: make asar::Archive::external_files_ an absl::flat_hash_map
* perf: make VersionIdMap an absl::flat_hash_map
* perf: make ObjectCache::proxy_map_ an absl::flat_hash_map
* docs: add TODO to investigate absl map in KeyWeakMap
* refactor: use forward declaration of MediaDeviceIDSalt in electron_browser_context.h
* refactor: remove unused #include from browser_context.h
* refactor: remove unused ElectronBrowserContext::GetWeakPtr()
last use removed in Aug 2020 by bac2f46
* refactor: decouple api::Protocol from ElectronBrowserContext
now they do not know about each other
* refactor: make electron::api::ProtocolError private
* refactor: remove unused isolate arg in Protocol constructor
* refactor: use =default for trivial destructor
* refactor: add ElectronBrowserContext::BrowserContexts()
* refactor: use ElectronBrowserContext::BrowserContexts() in ElectronBrowserMainParts::PostMainMessageLoopRun()
* refactor: use ElectronBrowserContext::BrowserContexts() in ElectronExtensionsBrowserClient::IsValidContext()
* refactor: use ElectronBrowserContext::BrowserContexts() in ElectronExtensionsBrowserClient::BroadcastEventToRenderers()
* refactor: move PartitionKey, BrowserContextMap private
* refactor: add ElectronBrowserContext::IsValidContext()
decouple ElectronExtensionsBrowserClient from the internals of ElectronBrowserContext
refactor: use GetDefaultStoragePartition()
Use GetDefaultStorageParition() instead of GetStoragePartition(nullptr)
- It improves code uniformity, since we use get-default everywhere else
- It's more readable
- It's marginally faster, since GetStoragePartition() has more steps
Added in 49b0a1bf4a
refactor: remove unused ElectronBrowserContext::extension_system()
Last use removed on Jul 21, 2020 by 2fb14f5 in PR #24575
This fixes a raw_ptr warning by letting us remove the raw_ptr field
`ElectronBrowserContext::extension_system_`.
* refactor: make UtilityProcessWrapper inherit privately from mojo::MessageReceiver
* refactor: make ParentPort inherit privately from mojo::MessageReceiver
* refactor: make MessagePort inherit privately from mojo::MessageReceiver
* perf: use base::SplitStringPiece() in SetNodeOptions()
* perf: use base::SplitStringPiece() in StringToAccelerator()
* refactor: StringToAccelerator() now takes a std::string_view
* chore: bump chromium in DEPS to 136.0.7054.0
* chore: update allow_in-process_windows_to_have_different_web_prefs.patch
Xref: 5906158
patch applied manually due to context shear
* chore: e patches all
* refactor!: Session.clearStorageData(syncable)
Xref: 6309405
Remove syncable type from opts.quota in Session.clearStorageData(opts)
because it that category has been removed upstream.
BREAKING CHANGE: Removed ses.clearDataStorage({ quota: 'syncable' })
* docs: deprecate Session.clearDataStorage({ quota })
---------
Co-authored-by: electron-roller[bot] <84116207+electron-roller[bot]@users.noreply.github.com>
Co-authored-by: Charles Kerr <charles@charleskerr.com>
* chore: bump chromium in DEPS to 136.0.7052.0
* chore: update mas_avoid_private_macos_api_usage.patch.patch
6318359
patch applied manually due to context shear
* chore: update preconnect_manager.patch
Xref: 6318420
patch applied manually due to context shear
* chore: e patches all
* chore: bump chromium to 136.0.7053.1
* chore: update fix_remove_profiles_from_spellcheck_service.patch
Xref: 6326575
patch applied manually due to context shear
* chore: e patches all
* chore: revert removal of v8 API used by Node.js
* devtools: Remove DevToolsUIBindings::SendJsonRequest() | 6326236
* 6244461: Merge //content/common/user_agent.cc into //components/embedder_support:user_agent | 6244461
* 6313744: Migrate views::Background factory methods to ColorVariant | 6313744
* 6314545: Remove multiple argument support from base::ToString() | 6314545
* 6317362: [Extensions] Inline MessagingDelegate::CreateReceiverForTab() | 6317362
* 6308998: Add SettingAccess structured metrics event for DevTools | 6308998
* 6295214: Remove redundant state field in per-extension preferences | 6295214
NB: this change is copied from the upstream change to extensions/shell/browser/shell_extension_loader.cc
* fix: ui/ linter error
This is showing up in an eslint build step in Electron:
> /__w/electron/electron/src/out/Default/gen/ui/webui/resources/cr_elements/preprocessed/cr_menu_selector/cr_menu_selector.ts
> 77:23 error This assertion is unnecessary since the receiver accepts the original type of the expression @typescript-eslint/no-unnecessary-type-assertion
>
> ✖ 1 problem (1 error, 0 warnings)
> 1 error and 0 warnings potentially fixable with the `--fix` option.
However, removing the assertion causes a typescript build failure:
> gen/ui/webui/resources/cr_elements/preprocessed/cr_menu_selector/cr_menu_selector.ts:77:23 - error TS2345: Argument of type 'HTMLElement | null' is not assignable to parameter of type 'HTMLElement'.
> Type 'null' is not assignable to type 'HTMLElement'.
>
> 77 items.indexOf(this.querySelector<HTMLElement>(':focus'));
> ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
So I think the two different steps may be picking up typescript definitions.
This patch should be removed after the issue is tracked down
and fixed in a followup task.
* fix: -Wnonnull warning
Fixes this warning:
> 2025-03-07T01:05:01.8637705Z ../../third_party/electron_node/src/debug_utils.cc(257,12): error: null passed to a callee that requires a non-null argument [-Werror,-Wnonnull]
> 2025-03-07T01:05:01.8638267Z 257 | return nullptr;
> 2025-03-07T01:05:01.8638481Z | ^~~~~~~
> 2025-03-07T01:05:01.8638700Z 1 error generated.
Not sure why this warning was never triggered before; `git blame`
indicates this code hasn't changed in ages:
> c40a8273ef2 (Michaël Zasso 2024-05-10 09:50:20 +0200 255) #endif // DEBUG
> 8e2d33f1562 (Anna Henningsen 2018-06-07 16:54:29 +0200 256) }
> 247b5130595 (Refael Ackermann 2018-10-22 15:07:00 -0400 257) return nullptr;
> 247b5130595 (Refael Ackermann 2018-10-22 15:07:00 -0400 258) }
Presumably this is failing in this Chromium roll due to a
clang version bump.
We should remove this patch after upstreaming it.
* docs: add upstream pr link for Node patch
---------
Co-authored-by: electron-roller[bot] <84116207+electron-roller[bot]@users.noreply.github.com>
Co-authored-by: Charles Kerr <charles@charleskerr.com>
* chore: bump chromium in DEPS to 135.0.7043.0
* chore: bump chromium in DEPS to 135.0.7045.0
* 6305947: Preconnect to the Glic FRE when the button is hovered.
6305947
* 6207093: Remove line_bounds from ImeCompositionRangeChanged
6207093
---------
Co-authored-by: electron-roller[bot] <84116207+electron-roller[bot]@users.noreply.github.com>
Co-authored-by: Shelley Vohr <shelley.vohr@gmail.com>