codebytere

#52955: fix: bind a stub for media.mojom.OnDeviceSpeechRecognition

Merged
Created: Aug 18, 2026, 7:24:09 AM
Merged: Aug 19, 2026, 2:42:02 AM
6 comments
Target: main

Description of Change

Blink requests media.mojom.OnDeviceSpeechRecognition from the frame's BrowserInterfaceBroker whenever a page calls SpeechRecognition.available() or SpeechRecognition.install() with processLocally, or starts a recognition with processLocally set. Only //chrome registers a binder for it, so in Electron the broker reported "No binder found for interface" as a bad message and the browser killed the renderer with RPH_MOJO_PROCESS_ERROR.

This registers a stub in RegisterBrowserInterfaceBindersForFrame that answers Available() with kUnavailable and Install() with false, so the promises settle and the renderer survives. Any page using the new on-device speech API triggers this, so it lands on whichever renderer loads one.

Checklist

Release Notes

Notes: Fixed a renderer crash when a page calls SpeechRecognition.available() or SpeechRecognition.install() with processLocally.

Backports

42-x-y
Merged
PR Number
#53016
Merged At
Aug 19, 2026, 9:40:52 AM
Released In
Not yet
Release Date
Not yet
43-x-y
Merged
PR Number
#53015
Merged At
Aug 19, 2026, 9:31:18 AM
Released In
Not yet
Release Date
Not yet
44-x-y
Merged
PR Number
#53021
Merged At
Aug 19, 2026, 8:05:18 AM
Released In
Not yet
Release Date
Not yet

Semver Impact

Major
Breaking changes
Minor
New features
Patch
Bug fixes
None
Docs, tests, etc.

Semantic Versioning helps users understand the impact of updates:

  • Major (X.y.z): Breaking changes that may require code modifications
  • Minor (x.Y.z): New features that maintain backward compatibility
  • Patch (x.y.Z): Bug fixes that don't change the API
  • None: Changes that don't affect using facing parts of Electron