All the listener functions are empty stubs (and have been since d4e3c39)
so it doesn't seem like we need a listener?
SpeechRecognitionManagerDelegate declares this method:
> // Checks whether the delegate is interested (returning a non nullptr
> // ptr) or not (returning nullptr) in receiving a copy of all sessions
> // events. This is called on the IO thread.
> virtual SpeechRecognitionEventListener* GetEventListener() = 0;
This PR has ElectronSpeechRecognitionManagerDelegate stop subclassing
from the Listener and changes GetEventListener() to return nullptr.
The extension system is freed by the DestroyBrowserContextServices()
call in the destructor, so we need to zero out the pointer to avoid
a dangling raw_ptr error.
* refactor: run Windows SelectFileDialog out of process
* fix: add missing IS_WIN guard
* refactor: use upstream SelectFileDialogFactory
* fix: build chrome/services/util_win/public/mojom target
Fixes an issue where Chromium could crash on a dangling unretained pointer in one of several webRequest functions. This was happening as a result of the fact that we had outstanding blocking requests continue to reference state owned by ProxyingWebsocket and ProxyingURLLoaderFactory after the requests were destroyed.
This had been going on for a few years, and was likely leading to some ongoing memory issues. To fix this, we need to ensure that all state is cleaned up in OnRequestWillBeDestroyed. I chose to create a new BlockedRequest struct to do so, which approximates the approach that upstream takes. The complexities of doing so also made our templated approach more trouble than it felt worth, so i pried that apart into separate handlers.
* chore: expose system preferences to utility process
* chore: add tests, doc changes and module-list update
* relative link
* use @
* fix test
* chore: disable linux test
* kick
* noop on windows utility process
This allows apps to measure their CPU usage over any given period
without worrying about other calls affecting the output,
as they would with `percentCPUUsage`.
* refactor: move ReplyChannel into an anonymous namespace
* refactor: move ChunkedDataPipeReadableStream into an anonymous namespace
* refactor: move linux helpers into an anonymous namespace
* refactor: move linux helpers into an anonymous namespace
* chore: bump chromium in DEPS to 126.0.6470.0
* 5492605: Migrate TODOs referencing old crbug IDs to the new issue tracker IDs | 5492605
* 5513277: Move subresource-filter-ruleset to GCS | 5513277
* 5512656: Remove CustomizeChromeSupportsChromeRefresh2023 | 5512656
* 5516009: Accept mouse events in inactive window for Top Chrome WebUIs | 5516009
* 5376861: Change references to RWHVB in RWHIER and RenderWidgetTargeter to RWHVI. | 5376861
* 5490530: Use partition_alloc PA_BUILDFLAG(...) outside PA. #cleanup | 5490530
* 5296870: network: Allow trusted loaders to learn the sent request cookies. | 5296870
* 5453438: Delegate delegated ink trails to RWHI from RWHIER. | 5453438
* chore: update patches
* chore: bump chromium in DEPS to 126.0.6472.0
* chore: bump chromium in DEPS to 126.0.6474.0
* chore: update patches
* chore: bump chromium in DEPS to 126.0.6476.0
* chore: bump chromium in DEPS to 126.0.6478.0
* chore: bump chromium in DEPS to 126.0.6478.3
* chore: bump chromium in DEPS to 126.0.6478.8
* update patches
* only disable enterprise_cloud_content_analysis
* 5403888: [api] support v8::Data in v8::TracedReference and v8::EmbedderGraph
5403888
* chore: bump chromium in DEPS to 127.0.6484.0
* chore: bump chromium in DEPS to 127.0.6485.0
* 5539004: Use NOTREACHED_IN_MIGRATION() in remaining chrome/ | 5539004
* src: cast to v8::Value before using v8::EmbedderGraph::V8Node | https://github.com/nodejs/node/pull/52638/files
* chore: update patches
* chore: update v8 patches
* chore: bump chromium in DEPS to 127.0.6486.0
* chore: bump chromium in DEPS to 127.0.6488.0
* chore: bump chromium in DEPS to 127.0.6490.0
* chore: bump chromium in DEPS to 127.0.6492.0
* chore: update patches
For some reason, `feat_expose_raw_response_headers_from_urlloader.patch` got messed up in an earlier commit.
* chore: update patches
printing.patch was updated due to 5535938
* 5527572: Move Connectors prefs files to components/enterprise/connectors/
5527572
* chore: bump chromium in DEPS to 127.0.6494.0
* chore: bump chromium in DEPS to 127.0.6495.0
* chore: bump chromium in DEPS to 127.0.6496.0
* 5465511: [api] Mark v8::ObjectTemplate::SetAccessor(..) for deprecation
5465511
* chore: revert v8 deprecation
See patch message for more details.
5526611
* chore: update patches
* 5538771: Remove srcdoc else-if block in CalculateOrigin()
5538771
* 5522321: [devtools] Support saving base64 encoded files via host bindings
5522321
* 5376861: Change references to RWHVB in RWHIER and RenderWidgetTargeter to RWHVI.
5376861
* 5530163: [media] Use VideoFrame::Plane typed enum instead of nameless enum
5530163
* 5463431: iwa: Only create IsolatedWebAppURLLoaderFactory for subresources in IWAs
5463431
* fixup! 5465511: [api] Mark v8::ObjectTemplate::SetAccessor(..) for deprecation 5465511
* 5512176: Remove OnEnvironmentEstimationComplete()
5512176
* 5528282: Move Web Speech API .mojom files to //media/mojo/mojom
5528282
* 5513740: Reland "[Extensions] Restructure extensions::ProcessMap"
5513740
* 5483406: [PEPC] Make PEPC permission subscription take into account device status
5483406
* 5526034: [DoH] Remove kDnsOverHttps feature flag
5526034
The title is a bit misleading. They removed handling for the feature flag and generally intend to remove it but haven't yet.
I only changed our code to address the flag that was removed. A quick search on GitHub for `DnsOverHttpsFallback` yielded a few results, but they were all C++ chromium code or patches, 0 app code or discussion results. Since I couldn't find any evidence of this flag being used in developer applications, I've chosen to exclude this change from the breaking changes docs.
* chore: revert v8 removal
5497515
See patch message for more details.
* chore: cherry-pick Node.js patch for V8 API removal fix
Node.js PR: https://github.com/nodejs/node/pull/52996
V8 API Removal CL: 5539888
See the patch description for more details.
* 5492183: Extensions: CodeHealth: Give enums some class
5492183
* fixup! 5528282: Move Web Speech API .mojom files to //media/mojo/mojom 5528282
* 5514687: Reland "Add a secret handshake to the base::Feature constructor"
5514687
* fixup! 5530163: [media] Use VideoFrame::Plane typed enum instead of nameless enum 5530163
* 5466238: PDF Viewer: add metrics to record if PDF is opened with a11y
5466238
* 5502081: Migrate OnDisplayRemoved to OnDisplaysRemoved
5502081
* 5539888: [api] Remove several APIs deprecated in version 12.6
5539888
This commit essentially only removes the `only_terminate_in_safe_scope` isolate creation parameter. This undoes some work that was originally done in #35766.
* 5498236: Make browser_tests force full async initialization for OSCrypt Async
5498236
* fixup! 5528282: Move Web Speech API .mojom files to //media/mojo/mojom 5528282
* 5545807: Migrate most remaining NOTREACHED()
5545807
I took a systematic approach to modifying all of our uses of `NOTREACHED` that were causing errors:
* If there was a `return` or `break` (etc.) immediately after `NOTREACHED`, I removed the control flow instruction and left the `NOTREACHED` unmodified
* All other instances were migrated to `NOTREACHED_IN_MIGRATION`
We should revisit pretty much all usage of `NOTREACHED` as an upgrade follow-up item.
* fixup! 5526034: [DoH] Remove kDnsOverHttps feature flag 5526034
Turns out the feature flags were removed in the `.cc` file, but not the
`.h` feature list file. This means that the feature flags are pretty
much officially gone. (The leftover symbols in the header are likely an
oversight from what I can gather.)
We may potentially decide to put this in the breaking changes doc if we
decide this feature flag is important enough to highlight.
* chore: bump chromium in DEPS to 127.0.6498.3
* chore: bump chromium in DEPS to 127.0.6500.0
* chore: bump chromium in DEPS to 127.0.6502.0
* chore: bump chromium in DEPS to 127.0.6504.0
* chore: bump chromium in DEPS to 127.0.6505.0
* chore: bump chromium in DEPS to 127.0.6508.0
* build: use Sha256Sum in script/sysroots.json
Xref: 5506275
* chore: update chore_add_electron_deps_to_gitignores.patch
Xref: no manual changes; patch applied with fuzz 2
* chore: update feat_allow_code_cache_in_custom_schemes.patch
Xref: no manual changes; patch applied with fuzz 1
* chore: e patches all
* fixup! build: use Sha256Sum in script/sysroots.json
`sync` succeeds now
* chore: replace absl::optional with std::optional
Xref: 5253843
* chore: update CalculatePreferredSize() to new upstream semantics
Xref: 5459174
Xref: 5541220
Xref: 5514708
Xref: 5504212
Xref: https://chromium-review.googlesource.com/516542
* chore: replace absl::optional with std::optional
Xref: 5296147
* chore: add kPip to enumeration as a no-op
5546257
* [Autofill] Remove RenderFrame::ElementBoundsInWindow()
Xref: 5553982
* chore: fix feat_add_streaming-protocol_registry_to_multibuffer_data_source.patch
need new header to pick up definition of BLINK_PLATFORM_EXPORT macro
Xref: 5463143
* chore: bump chromium in DEPS to 127.0.6510.0
* chore: update patches
* chore: fix include path for native_web_keyboard_event.h
Xref: 5541976
* chore: add currently-unused should_include_device_status arg to GetPermissionStatusForCurrentDocument()
Xref: 5545382
* chore: bump chromium in DEPS to 127.0.6512.0
* chore: update mas_avoid_private_macos_api_usage.patch.patch
No manual changes; patch applied with fuzz 1
* chore: update feat_add_streaming-protocol_registry_to_multibuffer_data_source.patch
No manual changes; patch applied with fuzz 1
* chore: update webview_fullscreen.patch
No manual changes; patch applied with fuzz 1
* chore=: remove cherry-pick-22db6918bac9.patch
already present upstream
* chore: remove nonexistent patchfiles from .patches
* chore: remove cherry-pick-3e037e195e50.patch
no longer needed; merged upstream
* Update namespace for files moved to //components/input
Xref: 5563251
* Require client for InitParams to always specify an ownership mode.
Xref: 5532482
Xref: 5578714
* chore: e patches all
* fixup! Update namespace for files moved to //components/input
* chore: remove profile_keyed_service_factory, profile_selections from chromium_src
already being linked in via chrome browser for printing
* chore: bump chromium in DEPS to 127.0.6515.0
* chore: bump chromium in DEPS to 127.0.6516.0
* chore: update render_widget_host_view_base.patch
Xref: 5547803
patch applied manually due to simple upstream shear
* chore: update feat_allow_code_cache_in_custom_schemes.patch
No manual changes; patch applied with fuzz 1
* chore: e patches all
* Pull RWHIER and RWT to //content/common/input.
Xref: 5397681
* chore: bump chromium in DEPS to 127.0.6517.0
* chore: update patches
* fixup: Update namespace for files moved to //components/input
* Remove 0-arg (default) constructor for views::Widget::InitParams.
5578714
* fixup: only disable enterprise_cloud_content_analysis
The original commit a5480accc2, was due to this CL 5527572: Move Connectors prefs files to components/enterprise/connectors/ | 5527572
* chore: bump chromium in DEPS to 127.0.6519.0
* chore: update patches
* src: do not use deprecated V8 API
https://github.com/nodejs/node/pull/53084
* src: remove dependency on wrapper-descriptor-based cpp heap
https://github.com/nodejs/node/pull/53086
* 5344413: [DevTools] Add `getHostConfig` UI binding for sending status of `base::Features` to DevTools
5344413
* 5585788: Extensions: ManifestHandler: Separate Registry like ExtensionRegistry
5585788
* chore: update filenames.libcxx.gni
* 5506857: Reland "Migrate clang-format to gcs first class deps"
5506857
* fixup: 5539888: [api] Remove several APIs deprecated in version 12.6
* fixup: 5506857: Reland Migrate clang-format to gcs first class deps
* chore: bump chromium in DEPS to 127.0.6521.0
* chore: update patches
* spec: update navigator.keyboard should lock the keyboard
* Block or allow all MIDI using the existing SysEx permission
Refs 5154368
Refs 5499157
* spec: update test/parallel/test-v8-stats
* views: remove CalculatePreferredSize()
Refs 5504212
* chore: update patches after rebase
* 5560288: Re-enable ChromeOS XNNPack on Intel only
5560288
* chore: add nan patches for v8 changes
Refs
5539888: [api] Remove several APIs deprecated in version 12.6 | 5539888
and
5539852: [heap][api] Remove deprecated v8::Isolate::IdleNotificationDeadline | 5539852
* 5573603: Modularize //chrome/browser/themes
5573603
* 5539888: [api] Remove several APIs deprecated in version 12.6
5539888
* chore: update patches
* test: fixup navigator.keyboard.lock on Windows
* chore: remove unneeded profile target
---------
Co-authored-by: electron-roller[bot] <84116207+electron-roller[bot]@users.noreply.github.com>
Co-authored-by: Keeley Hammond <khammond@slack-corp.com>
Co-authored-by: VerteDinde <vertedinde@electronjs.org>
Co-authored-by: Jeremy Rose <nornagon@nornagon.net>
Co-authored-by: clavin <clavin@electronjs.org>
Co-authored-by: Charles Kerr <charles@charleskerr.com>
Co-authored-by: PatchUp <73610968+patchup[bot]@users.noreply.github.com>
Co-authored-by: John Kleinschmidt <jkleinsc@electronjs.org>
Co-authored-by: deepak1556 <hop2deep@gmail.com>
* refactor: use private inheritance in PushNotifications
* refactor: use private inheritance in electron::api::App
* refactor: use private inheritance in electron::api::BrowserWindow
* refactor: use private inheritance in electron::api::NativeTheme
* refactor: use private inheritance in electron::api::Tray
* refactor: use private inheritance in electron::api::Session
* refactor: use private inheritance in electron::api::WebContents
* refactor: use private inheritance in electron::api::DownloadItem
* refactor: use private inheritance in electron::api::MenuBar
* refactor: use private inheritance in ClearDataOperation
* refactor: use private inheritance in electron::api::Screen
* refactor: use private inheritance in electron::ElectronDesktopWindowTreeHostLinux
* refactor: use private inheritance in SpellCheckerHolder
* refactor: use private inheritance in electron::api::PowerMonitor
* refactor: use private inheritance in electron::api::BaseWindow
* refactor: use private inheritance in electron::api::AutoUpdater
* refactor: use private inheritance in electron::api::Menu
* refactor: use private inheritance in electron::api::NativeWindowViews
* refactor: use private inheritance in electron::ElectronBrowserClient
* refactor: use private inheritance in electron::AutofillPopupView
* refactor: use private inheritance in GtkMessageBox
* refactor: use private inheritance in electron::OffScreenRenderWidgetHostView
* refactor: use private inheritance in electron::InspectableWebContents
* refactor: use private inheritance in electron::ElectronUsbDelegate
* refactor: use private inheritance in electron::LoginHandler
* refactor: use private inheritance in WebFrameRenderer
* refactor: use private inheritance in electron::ElectronSerialDelegate
* refactor: use private inheritance in electron::ClientFrameViewLinux
* refactor: use private inheritance in electron::ElectronHidDelegate
* refactor: use private inheritance in IPCRenderer
* refactor: use private inheritance in electron::WinCaptionButtonContainer
* refactor: use private inheritance in electron::ElectronApiIPCHandlerImpl
* refactor: use private inheritance in electron::api::ServiceWorkerContext
* refactor: use private inheritance in ui::FileSelectHelper
* refactor: use private inheritance in electron::api::WebContentsView
* refactor: use private inheritance in electron::api::SimpleURLLoaderWrapper
* refactor: use private inheritance in electron::api::InAppPurchase
* refactor: use private inheritance in electron::api::Debugger
* refactor: use private inheritance in electron::ElectronWebContentsUtilityHandlerImpl
* refactor: use private inheritance in electron::OffScreenWebContentsView
* fix: calculate a hash for the Tag property of ToastNotification.
* fix: calculate a hash for the Tag property of ToastNotification.
---------
Co-authored-by: bill.shen <shenyb32768@gmail.com>
* refactor: use private inheritance in CookieChangeNotifier
* refactor: use private inheritance in WebViewGuestDelegate
* refactor: use private inheritance in UsbChooserController
* refactor: use private inheritance in DesktopCapturer
* refactor: use private inheritance in Browser
* refactor: use private inheritance in WebContentsZoomController
* refactor: use private inheritance in FrameSubscriber
* refactor: use private inheritance in AutofillAgent
* refactor: use private inheritance in HidChooserController
* refactor: use private inheritance in PepperHelper
* refactor: use private inheritance in AutofillPopup
* refactor: use private inheritance in SerialChooserController
* refactor: use private inheritance in MediaCaptureDevicesDispatcher
* refactor: use private inheritance in electron::api::View
* refactor: use private inheritance in AutofillDriverFactory
* refactor: use private inheritance in GPUInfoManager
* refactor: use private inheritance in SavePageHandler
* refactor: use private inheritance in GlobalShortcut
* refactor: use private inheritance in ElectronRenderFrameObserver
* refactor: make RootView::window_ a const raw_ref
The Chromium C++ style guide says "prefer const raw_ref<T> whenever
the held pointer will never be null," so let's do that.
* refactor: make RootView::main_view_ a const raw_ref
> The Chromium C++ style guide says "prefer const raw_ref<T> whenever
> the held pointer will never be null," so let's do that.
* refactor: aggregate RootView::last_focused_view_tracker_
RootView already owns it, so aggregate it
Fix cast in ElectronDesktopWindowTreeHostLinux
The frame view of the widget is an `ClientFrameViewLinux` instance only
when both `frame` and `client_frame` booleans are set to `true`.
Otherwise it is an instance of a different class and thus casting to
`ClientFrameViewLinux` is incorrect and leads to crashes.
Fix: #41839
* perf: avoid temporary strings in Converter<net::HttpRequestHeaders>::FromV8()
* perf: take strings instead of copying them in ToResponseHead()
* refactor: prefer base::Value::Take*() where appropriate
As per the base::Value docs: "prefer over `std::move(value.Get...())`
so clang-tidy can warn about potential use-after-move mistakes."
* chore: bump chromium in DEPS to 125.0.6421.0
* chore: bump chromium in DEPS to 125.0.6422.0
* Add ENABLE_BASE_TRACING flags for compatibility with enable_base_tracing = false on Windows
5434658
* chore: update patches
* fixup: Add ENABLE_BASE_TRACING flags for compatibility with enable_base_tracing = false on Windows
* chore: bump chromium in DEPS to 126.0.6423.0
* chore: update patches
* 5426599: Next generation control of unsafe-buffers-usage plugin
5426599
* chore: bump chromium in DEPS to 126.0.6425.0
* chore: update patches
* Roll clang+rust llvmorg-19-init-7229-g315c88c5-2 : llvmorg-19-init-8091-gab037c4f-1 / ceab6128fa48a616bfd3e3adf4bc80133b8ee223-1 : ab71ee7a9214c2793108a41efb065aa77aeb7326-1
5444328
Also see https://issues.chromium.org/issues/332931387
* 5445074: [Views AX] Move AXEventNotificationDetails to ui/accessibility/
5445074
Also
5455993: [Views AX] Rename AXEventNotificationDetails to AXUpdatesAndEvents | 5455993
* Pass IsolationInfo to ContentBrowserClient::WillCreateURLLoaderFactory()
5405301
* chore: bump chromium in DEPS to 126.0.6427.0
* chore: update patches
* chore: remove no longer needed patch
perfetto is now turned on so this patch is no longer needed.
* chore: bump chromium in DEPS to 126.0.6429.0
* chore: bump chromium in DEPS to 126.0.6431.0
* chore: bump chromium in DEPS to 126.0.6433.0
* 5466654: Do not create a console if logging to a handle
5466654
* chore: fixup patch indices
* Address Linux NonClientFrameView Changes
- 5180720
- 5367794
* chore: bump chromium in DEPS to 126.0.6435.0
* chore: bump chromium in DEPS to 126.0.6437.0
* chore: update patches
* chore: bump chromium in DEPS to 126.0.6439.0
* chore: bump chromium in DEPS to 126.0.6441.0
* 5477689: components/crash/content/tools: Format with yapf | 5477689
* 5485006: Remove enable_print_content_analysis GN flag | 5485006
* chore: update chromium patches
* chore: bump chromium in DEPS to 126.0.6443.0
* 5465608: Convert DCHECKs near RenderWidgetHost, DelegatedFrameHost to CHECK | 5465608
* 5492605: Migrate TODOs referencing old crbug IDs to the new issue tracker IDs | 5492605
* chore: update patches
* chore: bump chromium in DEPS to 126.0.6445.0
* chore: update patches
* 5468588: Fullscreen: Encapsulate ExclusiveAccessBubble params in a struct | 5468588
* fixup! 5485006: Remove enable_print_content_analysis GN flag | 5485006
* 5461340: `size_t` in `mojo::DataPipe[Consumer|Producer]Handle`: /components. | 5461340
* 5480213: Add an EvictIds struct to FrameEvictorClient | 5480213
* 4341506: [api] Deprecate Isolate::IdleNotificationDeadline | 4341506
* 5300826: [v8-tasks] Add source location to v8::TaskRunner, step 4/4. | 5300826
* partially revert is_newly_created to allow for browser initiated about:blank loads
* add dep on app_launch_prefetch
Ref: 5420149
* install sysroots from electron not from chrome
We should add a new var upstream for `download_sysroots` so that we can skip downloading chromes at all.
Ref: 5462469
* refactor: make UpdateFrameHints an override
Ref: 5473548
* fix ppapi
* refactor: update namespace for pwm switches
Ref: 5444617
* 5459367: WebSQL: Restrict WebSQL service creation to Android only | 5459367
* 5455853: Revert "[Clipboard] Don't add meta charset tag for async write() method on Mac." | 5455853
* fixup! refactor: update namespace for pwm switches
edd9e26
Ref: 5444617
* 5147611: [heap] Add checks for ensuring position info slow path is not used in heap snapshot | 5147611
* fixup! 5412666: [heap] Also avoid heap allocation for allocation tracked functions | 5412666
* chore: add websql removal to breaking-changes.md
---------
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: Shelley Vohr <shelley.vohr@gmail.com>
Co-authored-by: VerteDinde <vertedinde@electronjs.org>
Co-authored-by: Keeley Hammond <khammond@slack-corp.com>
Co-authored-by: Samuel Attard <marshallofsound@electronjs.org>