SeaMonkey 2.53.1 doesn't jump back to calling tab if a tab has been closed
Categories
(SeaMonkey :: Tabbed Browser, defect)
Tracking
(seamonkey2.49esr unaffected, seamonkey2.53+ fixed)
Tracking | Status | |
---|---|---|
seamonkey2.49esr | --- | unaffected |
seamonkey2.53 | + | fixed |
People
(Reporter: polynomial-c, Assigned: frg)
References
(Blocks 2 open bugs)
Details
(Keywords: regression, Whiteboard: SM2.53.11)
Attachments
(1 file, 5 obsolete files)
10.41 KB,
patch
|
frg
:
review+
buc
:
feedback+
frg
:
approval-comm-release+
frg
:
approval-comm-esr60+
|
Details | Diff | Splinter Review |
User Agent: Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Firefox/60.0 SeaMonkey/2.53.1
Steps to reproduce:
The tab numbering is just to make my issue a bit better understandable:
Imagine, you have three open tabs numbered one to three from left to right. Now when I want a link in tab one being opened as new tab, it becomes tab four on the right side of the other tabs (I have the option "open related tabs after current tabs" disabled).
Actual results:
When I close tab four, seamonkey switches to tab three.
Expected results:
Seamonkey should switch back to tab one where I had called tab four from.
Assignee | ||
Updated•5 years ago
|
Assignee | ||
Updated•5 years ago
|
Comment 1•4 years ago
|
||
Because this bug's Severity has not been changed from the default since it was filed, and it's Priority is --
(Backlog,) indicating it has has not been previously triaged, the bug's Severity is being updated to --
(default, untriaged.)
Comment 2•4 years ago
|
||
Because this bug's Severity has not been changed from the default since it was filed, and it's Priority is --
(Backlog,) indicating it has has not been previously triaged, the bug's Severity is being updated to --
(default, untriaged.)
Comment 3•4 years ago
|
||
Because this bug's Severity has not been changed from the default since it was filed, and it's Priority is --
(Backlog,) indicating it has has not been previously triaged, the bug's Severity is being updated to --
(default, untriaged.)
Comment 4•4 years ago
|
||
The severity of these bugs was changed, mistakenly, from normal
to S3
.
Because these bugs have a priority of --
, indicating that they have not been previously triaged, these bugs should be changed to Severity of --
.
Comment 5•4 years ago
|
||
Just quick view:
The correspond Fx code respects browser.tabs.selectOwnerOnClose , where owner seems to be set by openerTab .
SM code has just one (seems unused) mention of ownerTab, ie. the implementation is not complete.
To return the feature, a proper changes needed at least inside SM's removeTab, similar to Fx's one .
Should be easy for those who implement tabbrowser.xml for SeaMonkey.
Comment 7•4 years ago
|
||
Some preliminary patch. Needs careful testing.
Note: Fx determines a tab owner before the addTab() call (and passes it as a parameter). Because SM has several addTab() calls in various places (suite/browser/navigator.js and suite/browser/tabbrowser.xml), it looks much easier to implement things immediately in addTab().
Comment 8•4 years ago
|
||
There is a report that tab restore is broken with the patch above.
Probably addTab() shouldn't set an owner unconditionally. Instead, a proper parameter must be passed to addTab() calls in suite/browser/navigator.js .
Assignee | ||
Updated•4 years ago
|
Comment 10•4 years ago
|
||
Fixed one (tab restoring should work now).
Comment 11•4 years ago
|
||
Lars,
Could you pls test it properly (in all the possible cases etc.)?
Comparing to Firefox, this implementation differs a bit. It always set an owner for the tab, whereas Fx seems do not set it in every case -- fe. for tabs opened in background.
Could you pls also compare the behaviour of 2.49.5, the current behaviour with the patch applied, and the behaviour of Firefox? What is better?
There is a bit mess here...
Probably strong following of Fx way is not what SM users want (and even not what was before in 2.49.5). It can be yet another difference required between Fx and Suite. So let's test it in particular user cases to deside what to implement exactly.
Reporter | ||
Comment 12•4 years ago
|
||
Thank you Dimitry.
Tab restore now works. Returning to the calling tab now also works. But with this patch there is now another inconsistency compared to 2.49.5 behavior. I am going to re-use my example from my initial post:
Imagine, you have five open tabs numbered one to five from left to right. I select tab four so that its content can be seen. Now I press the close button on the very right side of the tab bar. seamonkey now switches to tab one but original behavior would switch to tab three (the tab next left to the tab I have closed).
So this patch is an improvement but does not restore original tab behavior of before this regression was introduced.
Comment 13•4 years ago
|
||
It seems that you have both "browser.tabs.insertRelatedAfterCurrent" and "browser.tabs.loadInBackground" set to false.
Then in both 2.49.5 and Firefox >= 56, when you close the LAST opened tab, you are jumped to the opener tab.
Whether it is the only case which should be supported/implemented?
Comment 14•4 years ago
|
||
Patch v1.
An alternate version, most closely to the current Fx (and old SM) behaviour.
Since the backport was not entirely trivial, it would be good to independent verify and properly test it.
Assignee | ||
Comment 15•3 years ago
|
||
Had some time today and added the latest patch as a wip patch to Bills builds. The next 2.53.10b1 pre should contain it. Please test. It looks ok on first glance but I am not sure if the sessionstore / restores doesn't need to be patches too for it. Well lets see first how it does.
Reporter | ||
Comment 16•3 years ago
|
||
I am using buc's seamonkey-2.53.7-ownertab-v1.patch successfully for several weeks already. Never had issues with session restore.
Assignee | ||
Comment 17•3 years ago
|
||
Never had issues with session restore.
I am not 100% sure the owner is saved and retained after a restore. Other than that suspect no problems.
Assignee | ||
Comment 18•3 years ago
|
||
Patch from buc.
[Approval Request Comment]
Regression caused by (bug #): various
User impact if declined: Wrong tab selected after tab close
Testing completed (on m-c, etc.): 2.53.11b1 pre
Risk to taking this patch (and alternatives if risky): For some time now in Bills builds and Linux distributions so low risk.
String changes made by this patch: --
Might need a followup for the sessionstore but imho won't regress anything. We could also expose the pref in the ui but we have a bunch already and I think generally true is the right thing here. r+ from me but needs another set of eyes.
Assignee | ||
Updated•3 years ago
|
Assignee | ||
Updated•3 years ago
|
Assignee | ||
Updated•3 years ago
|
Comment 19•3 years ago
|
||
Comment 20•3 years ago
|
||
Perhaps safer to use instead:
let owner = ("owner" in aTab) ? aTab.owner : null;
Assignee | ||
Comment 21•3 years ago
|
||
New version with nits fixed. I added the proposed fix for the possible race condition. Will be in the next WG9s build.
Wonder if the remove triggers an async operation which sets flags but then it should always/mostly fail breakpoint or no breakpoint.
Letting it bake a little before checking in for 2.53.11b1 in case we need to change it again.
For the prefs I would do a followup bug.
Comment 22•3 years ago
|
||
Comment 23•3 years ago
|
||
It would be useful to expose this pref in the UI.
Does Firefox expose this pref in its UI as well?..
Comment 24•3 years ago
|
||
Pushed by frgrahl@gmx.net:
https://hg.mozilla.org/comm-central/rev/162b292ad652
Set owner tab for proper tab focus handling after close. r=IanN
Assignee | ||
Updated•3 years ago
|
Assignee | ||
Comment 25•3 years ago
|
||
Does Firefox expose this pref in its UI as well?..
No they only retain some very simple/basic customization options in the ui.
Assignee | ||
Comment 26•3 years ago
|
||
https://gitlab.com/seamonkey-project/seamonkey-2.53-comm/-/commit/654d4add54283e39db311a8a9a8a49c2856d6f03
Set owner tab for proper tab focus handling after close. r=IanN a=IanN
Description
•