Last Comment Bug 524345 - Port Bug 461634 [new API: allow to delete a single closed tab] to SeaMonkey
: Port Bug 461634 [new API: allow to delete a single closed tab] to SeaMonkey
Product: SeaMonkey
Classification: Client Software
Component: Session Restore (show other bugs)
: Trunk
: All All
: -- normal (vote)
: seamonkey2.1a1
Assigned To: Misak Khachatryan
Depends on: 461634 478707
Blocks: 567531
  Show dependency treegraph
Reported: 2009-10-25 04:44 PDT by Misak Khachatryan
Modified: 2010-05-22 05:09 PDT (History)
0 users
bugzillamozillaorg_serge_20140323: in‑testsuite+
See Also:
Crash Signature:
QA Whiteboard:
Iteration: ---
Points: ---

patch (7.89 KB, patch)
2009-10-30 04:08 PDT, Misak Khachatryan
neil: superreview-
Details | Diff | Splinter Review
suggestion implemented. (9.59 KB, patch)
2009-11-02 04:54 PST, Misak Khachatryan
no flags Details | Diff | Splinter Review
comments fixed. (10.02 KB, patch)
2009-11-03 02:58 PST, Misak Khachatryan
neil: review+
neil: superreview+
Details | Diff | Splinter Review
for checkin [Checkin: Comment 10] (10.03 KB, patch)
2009-11-05 21:31 PST, Misak Khachatryan
misak.bugzilla: review+
misak.bugzilla: superreview+
Details | Diff | Splinter Review

Description Misak Khachatryan 2009-10-25 04:44:19 PDT
From parent bug:

Extensions desiring to selectively forget information about closed tabs/windows
have to be quite inventive. What about a new API:

void forgetClosedTab(in nsIDOMWindow aWindow, in unsigned long aIndex);
Comment 1 Misak Khachatryan 2009-10-30 04:08:03 PDT
Created attachment 409308 [details] [diff] [review]

Patch with test. I disabled some of tests related to our specific implementation of undCloseTab and bug 478707. Rest of tests passing.
Comment 2 2009-10-30 05:19:07 PDT
Comment on attachment 409308 [details] [diff] [review]

I don't think this relates to our version of undoCloseTab.
Comment 3 Misak Khachatryan 2009-10-30 05:26:42 PDT
Sorry, i just mean that because of our specific implementation of undoCloseTab, bug 478707 exist, and we have little mess with getClosedTabData. We don't restore closed tab data or save it when setWindowState called. That's why disabled test fail.
Comment 4 2009-10-30 05:46:22 PDT
Right, but this API is to forget about the closed tab of an open window, and we currently track that on the tabbrowser instead. At least from our point of view, it would make more sense to provide the API on the tabbrowser too, and it would simply destroy the saved browser in much the same way as the code at the end of removeTab destroys the oldest saved browser if it overflows the undo stack.
Comment 5 Misak Khachatryan 2009-11-02 04:54:03 PST
Created attachment 409676 [details] [diff] [review]
suggestion implemented.

Done as Neil suggested. Also i replaced gBrowser by getBrowser(). Test is almost useless now, it only check for wrong parameters, until bug 478707 will be fixed.
Comment 6 2009-11-02 05:48:07 PST
Comment on attachment 409676 [details] [diff] [review]
suggestion implemented.

>+      <method name="forgetSavedBrowser">
I wonder whether Firefox would be interested in an API on tabbrowser.

>+        <parameter name="aIndex"/>
Need to validate aIndex here, in case anyone calls it directly.

>+    aIndex = aIndex || 0;
Don't need this, XPConnect already defaults to 0. (And you'll be validating in the tabbrowser anyway, right?)

>+    ss.setWindowState(newWin, JSON.stringify(test_state), true);
Maybe we can add and close tabs directly, thus simulating closed tabs?
Comment 7 Misak Khachatryan 2009-11-03 02:58:36 PST
Created attachment 409893 [details] [diff] [review]
comments fixed.

Well, all done as suggested. Tests all enabled and passing.
Comment 8 2009-11-05 05:22:16 PST
Comment on attachment 409893 [details] [diff] [review]
comments fixed.

Warning: 9 lines add whitespace errors.

>diff --git a/suite/common/src/nsSessionStore.js b/suite/common/src/nsSessionStore.js
>--- a/suite/common/src/nsSessionStore.js
>+++ b/suite/common/src/nsSessionStore.js
>@@ -23,6 +23,7 @@
>  *   Ehsan Akhgari <>
>  *   Paul O’Shannessy <>
>  *   Nils Maier <>
>+ *   Michael Kraft <>
In this file, the changes are all yours :-)

>+	"... and tabs not specifically forgetten weren't.");
Nit: forgotten
Comment 9 Misak Khachatryan 2009-11-05 21:31:22 PST
Created attachment 410720 [details] [diff] [review]
for checkin
[Checkin: Comment 10]

patch for checkin, carrying forward r+ and sr+ from Neil.
Comment 10 Serge Gautherie (:sgautherie) 2009-11-09 19:33:53 PST
Comment on attachment 410720 [details] [diff] [review]
for checkin
[Checkin: Comment 10]
Comment 11 Misak Khachatryan 2009-11-11 22:16:09 PST
I guess we can close this bug.

Note You need to log in before you can comment on or make changes to this bug.