Closed Bug 2052787 Opened 5 days ago Closed 5 days ago

[IPC Urlbar] Phase 4: Complete the message-path controller-proxy stand-in

Categories

(Firefox :: Address Bar, task, P1)

task

Tracking

()

RESOLVED FIXED
154 Branch
Tracking Status
firefox154 --- fixed

People

(Reporter: dao, Assigned: dao)

References

Details

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

Attachments

(1 file)

The Phase 4 actor/proxy split (bug 2050399) left UrlbarParentControllerProxy an incomplete stand-in for the parent controller. The wire path needs the rest of the stand-in: NOTIFICATIONS moved to UrlbarShared so the view/parent reference it directly; platform served content-side; _lastQueryContextWrapper mirrored in a proxy-local cache; getHeuristicResult round-tripping via sendQuery; and startQuery round-tripping too, resolving at true query completion with the final toWire()'d context (mirroring the real controller's Promise<UrlbarQueryContext> contract) rather than fire-and-forget -- otherwise lastQueryContextPromise was undefined and promiseSearchComplete resolved immediately, so callers saw only the synchronous heuristic chunk and cancelled the query before the async providers delivered.

A dangling remainder of the Phase 4 split, surfaced when the wire path was first exercised end-to-end. It landed as part of the Phase 5 telemetry work but is really Phase 4 infrastructure. Behavior-neutral on the direct (in-process) path.

The Phase 4 actor/proxy split (bug 2050399) left UrlbarParentControllerProxy an
incomplete stand-in for the parent controller. Complete it for the wire path:
NOTIFICATIONS moves to UrlbarShared so the view/parent reference it directly;
platform is served content-side; _lastQueryContextWrapper is mirrored in a
proxy-local cache; getHeuristicResult round-trips via sendQuery; and startQuery
round-trips too, resolving at true query completion with the final toWire()'d
context (mirroring the real controller's Promise<UrlbarQueryContext> contract)
rather than fire-and-forget -- otherwise lastQueryContextPromise was undefined
and promiseSearchComplete resolved immediately, so callers saw only the
synchronous heuristic chunk and cancelled before the async history providers
delivered.

A dangling remainder of the Phase 4 split, surfaced when the wire path was first
exercised end-to-end. Behavior-neutral on the direct (in-process) path.

Assignee: nobody → dao+bmo
Status: NEW → ASSIGNED
See Also: 2050399
Pushed by dgottwald@mozilla.com: https://github.com/mozilla-firefox/firefox/commit/1c06855d412c https://hg.mozilla.org/integration/autoland/rev/770641cca327 [IPC Urlbar] Phase 4: Complete the message-path controller-proxy stand-in. r=daleharvey,urlbar-reviewers
Severity: -- → N/A
Priority: -- → P1
Status: ASSIGNED → RESOLVED
Closed: 5 days ago
Resolution: --- → FIXED
Target Milestone: --- → 154 Branch
QA Whiteboard: [search] [qa-triage-done-c154/b153]
See Also: → 2053935
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: