Closed Bug 931534 Opened 8 years ago Closed 8 years ago

Make back/forward dropdowns work using CPOWs

Categories

(Firefox :: General, defect)

x86_64
Linux
defect
Not set
normal

Tracking

()

VERIFIED FIXED
Firefox 28

People

(Reporter: billm, Assigned: billm)

References

(Blocks 1 open bug)

Details

Attachments

(1 file)

Attached patch cpow-for-historySplinter Review
Bug 916974 discusses some options for making this work asynchronously. For now, though, the uses of the sessionHistory object in the browser seem fairly limited (besides session restore, which we're doing differently). The back/forward dropdowns are the only ones I know about. I'm not very concerned about blocking on the content process here.

This patch also cleans up some of the remote navigation code.

A few points:
1. I had to create the RemoteWebNavigation object eagerly (rather than lazily as is done now) so that it can install a message listener to wait for the CPOW from the child.

2. Some of the remote stubs for reload() and stop() were ORing in some extra flags. I don't understand why this was happening, so I took them out.
Attachment #822975 - Flags: review?(felipc)
Comment on attachment 822975 [details] [diff] [review]
cpow-for-history

Review of attachment 822975 [details] [diff] [review]:
-----------------------------------------------------------------

::: toolkit/content/browser-child.js
@@ +116,5 @@
>      addMessageListener("WebNavigation:Stop", this);
> +
> +    // Send a CPOW for the sessionHistory object.
> +    let history = this._webNavigation.sessionHistory;
> +    sendSyncMessage("WebNavigation:setHistory", {}, {history: history});

is it necessary to be a sync message for the cpow setup?
Attachment #822975 - Flags: review?(felipc) → review+
https://hg.mozilla.org/mozilla-central/rev/281d1805f360
Status: NEW → RESOLVED
Closed: 8 years ago
Resolution: --- → FIXED
Target Milestone: --- → Firefox 28
Adding verifyme me for QA to do some exploratory on the back/forward dropdowns (check for possible regressions).
Keywords: verifyme
I tested with Firefox 28.0b4 on Windows 7 64bit, Mac OS X 10.8.5, Ubuntu 13.04 32-bit. No regression were found.
Status: RESOLVED → VERIFIED
Keywords: verifyme
Depends on: 1093373
You need to log in before you can comment on or make changes to this bug.