Differential D301189 Authored by sfarre on May 18 2026, 10:14 PM. Tags None Referenced Files
Subscribers None
Details
Summary The fullscreen-painted observer topic is named after its original implementation detail which is a paint observer inside FullscreenTransitionTask. But every external consumer (site-permission panel, WebAuthn prompt helper, MacTouchBar, test harnesses) seem to use it as a "fullscreen transition has settled" barrier. The "painted" guarantee is already best-effort: FullscreenTransitionTask falls back to a 1s timeout (full-screen-api.transition.timeout) and continues regardless. Over time the topic also acquired four manual re-broadcast sites (DOMFullscreenChild on MozAfterPaint, two paths in DOMFullscreenParent, and pictureinpicture/player.js against the PiP window) with subtly different triggers. This patch does not rename or remove the topic, but the redesign collapses the redundant emit sites and removes the dead content-process broadcast and its parent→child Painted IPC loopback; with hopefully the result being that the Fullscreen IPC architecture rework, will out of the box provide the same side-effects in the UI, as the JSWA implementation does. In the future, we may want to audit this and possibly remove it entirely.
Diff Detail
Event Timelinesfarre planned changes to this revision.May 18 2026, 10:14 PM sfarre created this revision. phab-bot changed the visibility from "Custom Policy" to "Public (No Login Required)".May 18 2026, 10:14 PM phab-bot changed the edit policy from "Custom Policy" to "Restricted Project (Project)". phab-bot removed a project: secure-revision.
Revision Contents
Diff 1277255 |
