Closed Bug 611514 Opened 14 years ago Closed 14 years ago

Setting browser.sessionstore.max_concurrent_tabs to 0 breaks cmd+clicking back/forward

Categories

(Firefox :: Session Restore, defect)

defect
Not set
normal

Tracking

()

VERIFIED DUPLICATE of bug 623893
Tracking Status
blocking2.0 --- .x+

People

(Reporter: fryn, Unassigned)

References

Details

STR:
1. Set browser.sessionstore.max_concurrent_tabs to 0.
2. Cmd+click (ctrl+click on win/lin) back/forward on a tab.

Expected results:
A new tab opens with the url of the previous/next page in the tab's history.
(Note that we now inherit tab history when cmd+clicking back/forward.)

Actual results:
A new tab opens with the same url. (The tab was duplicated.)
Alright, so my guess after a quick look is that since we aren't calling restoreTab when the tab is duplicated, we think that the tab needs to be restored when it gets selected. So in session restore we call gotoIndex when the tab gets selected, overriding the index that was just selected.

I'm guessing this should also be reproducible when done in the middle of restoring a bunch of tabs.

There are potentially other issues with this. The build history & call gotoIndex balance is delicate and currently broken in sessionstore. It would be easier to keep all of that together than have random other things calling into a potentially broken history (c.f. bug 597315)

This is a bit tricky since in sessionstore we expect these restores to happen by us. I'm thinking The best thing to do here is to special case the duplicateTab API so that it restores immediately instead of being put into the cascading queue. Might make things a little messy(ier) internally though :/
blocking?

Personally I'd say no and take a fix in a .x, but this does cause an existing feature to break for a minority of users.
blocking2.0: --- → ?
Non-standard about:config prefs don't block, no.
blocking2.0: ? → .x
Dao has a patch in bug 623893 so just going to dupe to that.
Status: NEW → RESOLVED
Closed: 14 years ago
Resolution: --- → DUPLICATE
Status: RESOLVED → VERIFIED
You need to log in before you can comment on or make changes to this bug.