Closed Bug 2052554 Opened 8 days ago Closed 7 days ago

Make global-action (ActionsResult) results serializable for the urlbar actor boundary

Categories

(Firefox :: Address Bar, task)

task

Tracking

()

RESOLVED FIXED
154 Branch
Tracking Status
firefox154 --- fixed

People

(Reporter: dao, Assigned: dao)

References

(Blocks 2 open bugs)

Details

(Whiteboard: [sng][mcab-hnt])

Attachments

(1 file)

Global-action results (ActionsResult) store their data in private fields exposed through getters, which structuredClone drops when a result crosses the Urlbar JSWindowActor boundary. Give ActionsResult explicit toWire()/fromWire() serialization so it survives the boundary, mirroring UrlbarResult.

No-op on the default direct (in-process) path; prepares the type for the message path.

Global-action results (the actions row) carry their per-action data -- key,
l10nId, l10nArgs, icon, dataset, engine -- in ActionsResult objects
held on the result payload. ActionsResult stored that data in private fields
exposed through getters, which a structured clone drops (it copies only own
enumerable data properties), so over the actor message path the actions rendered
blank; only providerName, a public field, survived.

Store the data in plain public fields instead, so the payload stays structured-
cloneable, and freeze the instance to keep it read-only as the getters did.
providerName can no longer be stamped on after construction (the object is
frozen), so each provider passes its own name in; the constructor now requires
providerName and key and throws without them.

The default in-process path is unaffected.

Assignee: nobody → dao+bmo
Status: NEW → ASSIGNED
Pushed by dgottwald@mozilla.com: https://github.com/mozilla-firefox/firefox/commit/3642578ee505 https://hg.mozilla.org/integration/autoland/rev/ef1449c1b8d9 [IPC Urlbar] Phase 6: Make global-action results wire-safe. r=mbeier,urlbar-reviewers
Pushed by imoraru@mozilla.com: https://github.com/mozilla-firefox/firefox/commit/7eba9016c92f https://hg.mozilla.org/integration/autoland/rev/af778aeb69c9 Revert "Bug 2052554 - [IPC Urlbar] Phase 6: Make global-action results wire-safe. r=mbeier,urlbar-reviewers" for causing xpcshell failures on test_quicksuggest.js.

Revert for causing xpcshell failures on test_quicksuggest.js.

Flags: needinfo?(dao+bmo)
Flags: needinfo?(dao+bmo)
Pushed by dgottwald@mozilla.com: https://github.com/mozilla-firefox/firefox/commit/1be49a3769ee https://hg.mozilla.org/integration/autoland/rev/8e994b333b6c [IPC Urlbar] Phase 6: Make global-action results wire-safe. r=mbeier,urlbar-reviewers
Blocks: 2052621
Status: ASSIGNED → RESOLVED
Closed: 7 days ago
Resolution: --- → FIXED
Target Milestone: --- → 154 Branch
QA Whiteboard: [search][qa-triage-done-c154/b153]
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: