Commit Graph

352 Commits

Author SHA1 Message Date
YUKI Hiroshi
1d988c6b3f Fix typo 2014-11-12 11:43:08 +09:00
Piro / YUKI Hiroshi
2e6c885ba3 Restore closed tabs at once correctly, even if e10s is activated. 2014-11-12 03:58:09 +09:00
YUKI Hiroshi
35d3cff449 Reduce arguments of setTimeout 2014-11-11 21:21:41 +09:00
YUKI Hiroshi
e43dd394c4 Report internal error while restoring tree 2014-11-11 21:21:27 +09:00
YUKI Hiroshi
933d71a1f6 Specify missing "this" correctly 2014-11-11 19:39:22 +09:00
YUKI Hiroshi
97a87d0b1a Remove obsolete "stopRendering" module 2014-11-11 18:58:31 +09:00
YUKI Hiroshi
02bcfe5d8b Handle mouse events for auto hide feature by a frame script, for e10s 2014-11-11 17:45:12 +09:00
YUKI Hiroshi
86b46c04cd Add a note for safely "contentWindow" access 2014-10-29 20:44:01 +09:00
YUKI Hiroshi
12cdd76f7e Detect targets for API calls about tab relations based on "browser" element, instead of "Window" objects 2014-10-29 20:36:12 +09:00
YUKI Hiroshi
e48cf4e38b Uniform coding style 2014-10-22 13:37:08 +09:00
Matthew Noorenberghe
4ea8f31301 Fix scrolling of tabs on Firefox 36 2014-10-21 18:23:17 -07:00
Piro / YUKI Hiroshi
9be3c3493d Flatten deeply nested "setTimeout()" 2014-10-22 03:00:12 +09:00
Piro / YUKI Hiroshi
e0a7e43b3c Flatten deeply nested "setTimeout()" 2014-10-22 02:57:45 +09:00
Piro / YUKI Hiroshi
f89d42db14 Free symbol after all accesses 2014-10-22 02:36:38 +09:00
Piro / YUKI Hiroshi
fe26d207ca Migrate from JSDeferred to ES6 Promise (Promise.jsm) 2014-10-22 02:28:19 +09:00
YUKI Hiroshi
b0b2305bd7 Output index of the "to be restored" tabs for debugging 2014-10-16 18:00:55 +09:00
YUKI Hiroshi
397894d678 Don't mark tab to be restored, if it is already restored 2014-10-16 18:00:37 +09:00
Piro / YUKI Hiroshi
72ae666e12 Restore ancestor relation of tabs even if it is restored by "undo close tab" 2014-10-02 02:10:10 +09:00
Piro / YUKI Hiroshi
35aab258b8 Update the "to be restored" state only once.
Don't update the state again and again, because the tab is unexpectedly "restored" twice after I do "undo close tab"...
2014-10-02 00:57:17 +09:00
Piro / YUKI Hiroshi
db487f32bb Detect DOM instances by constructor function instead of XPCOM interface 2014-10-01 01:32:27 +09:00
YUKI Hiroshi
09f43c8f84 Use LF instead of CRLF 2014-09-30 20:09:27 +09:00
YUKI Hiroshi
db4d2bac2c Update cached "toBeRestored" state for TSTWindow#restoringTree and others 2014-09-30 17:06:49 +09:00
YUKI Hiroshi
b7389dd744 Remove duplicated check ror to-be-restored tab 2014-09-30 16:46:33 +09:00
Piro / YUKI Hiroshi
503803c076 Drop support for Firefox 30 or older versions.
Because Firefox 31 becomes new ESR.
2014-07-27 02:44:23 +09:00
Piro / YUKI Hiroshi
fffcd3172f Fix typo 2014-07-03 02:06:10 +09:00
Piro / YUKI Hiroshi
579d926537 Get actual stored tab id correctly (#676) 2014-07-02 23:32:08 +09:00
Piro / YUKI Hiroshi
511a51dd7e Restore tab position for "Undo Close Tab" command correctly on Firefox 29 and newer versions (#676) 2014-07-02 23:02:53 +09:00
Piro / YUKI Hiroshi
66eb630cdf Revert "Read value of custom attributes of tabs via TSTBase.getTabAttribute() safely."
This reverts commit f4fb6174d2.

This change breaks other features...
2014-07-02 04:44:43 +09:00
Piro / YUKI Hiroshi
ca776a606f Get new position safely 2014-07-02 04:44:02 +09:00
Piro / YUKI Hiroshi
f4fb6174d2 Read value of custom attributes of tabs via TSTBase.getTabAttribute() safely.
Tab's ID and other attributes saved via setTabValue is not available before the tab is completely restored.
As the result, TST sometimes fail to restore tab positions. (See: #676)
This issue doesn't happen on Firefox 24ESR, because recent Firefox (29 and later) uses message manager to restore tabs and it causes such "delay" of initializations about custom attributes.
2014-07-02 04:29:49 +09:00
Piro / YUKI Hiroshi
b386b85bd3 Make the meaning of "tabsToRestore" clear 2014-07-02 02:27:26 +09:00
YUKI Hiroshi
9e32fbe386 Update tabbar appearance correctly, after toolbar customiation (fix #728) 2014-05-19 19:25:38 +09:00
Infocatcher
aea4d110ec Fix typo: 'Transition' -> 'transition'
We still have 'MozTransition' in latest Firefox 32.0a1, so all should have working fine
2014-05-05 17:23:45 +04:00
YUKI Hiroshi
9436957452 Don't update the size of the floating tab bar by "resize" event from another floating box.
This the compatibility issue with Unified Sidebar.
See: https://github.com/piroor/unifiedsidebar/issues/3
2014-05-01 15:44:06 +09:00
YUKI "Piro" Hiroshi
a92de60fd8 Clear wrong relation of duplicated tabs (#605) 2014-04-16 18:58:30 +09:00
YUKI "Piro" Hiroshi
6681a7cd44 Revert "Ignore already cleared redirection table (#605)"
This reverts commit bf576cfb75.
2014-04-16 18:47:11 +09:00
YUKI "Piro" Hiroshi
bf576cfb75 Ignore already cleared redirection table (#605) 2014-04-16 18:45:53 +09:00
YUKI "Piro" Hiroshi
97a06e85db Don't clear tab relations for correctly duplicated tabs (#605) 2014-04-16 18:41:46 +09:00
YUKI "Piro" Hiroshi
ed6fafb2ec Cleanup needless (wrong) tab relations correctly (#605) 2014-04-16 18:23:59 +09:00
YUKI "Piro" Hiroshi
66734bbfaf Ignore already removed tabs 2014-04-16 17:43:03 +09:00
YUKI "Piro" Hiroshi
b94b562446 Specify given tab correctly 2014-04-16 17:42:31 +09:00
YUKI "Piro" Hiroshi
7976852515 Fix missing ")" 2014-04-16 17:39:47 +09:00
YUKI "Piro" Hiroshi
5fccd33645 Clear tab relations based on redirected IDs, if they never been "restored" (#605) 2014-04-16 17:34:39 +09:00
YUKI "Piro" Hiroshi
6e3d43d24b Add "with delay" suffix 2014-04-16 17:19:17 +09:00
YUKI Hiroshi
fd6c08937a Use Object.create to create subclasses 2014-04-02 19:25:51 +09:00
YUKI Hiroshi
29982f0522 Skip dirty hack on Firefox 29 and later 2014-03-31 14:54:39 +09:00
YUKI Hiroshi
f58cd7a994 Restore tree structure on the startup correctly, with Firefox 28 2014-03-31 14:52:44 +09:00
Piro / YUKI Hiroshi
8b3792b312 Use CustomEvent instead of DataContainerEvent.
DataContainerEvent is going to be deprecated.
See: https://bugzilla.mozilla.org/show_bug.cgi?id=980134
2014-03-12 01:50:40 +09:00
YUKI Hiroshi
9a69cb5d1a Split prefs correctly 2014-03-11 11:51:32 +09:00
YUKI Hiroshi
9d1d964f74 Split preference fo different purpose 2014-03-11 11:09:28 +09:00
Piro / YUKI Hiroshi
67aa67a67f Detect number of "not restored yet" tabs on Firefox 29 and later correctly 2014-02-09 01:38:55 +09:00
YUKI Hiroshi
bf84e78673 Scroll to the current tab always, after the tab bar is shown (in auto-hide mode) (#653) 2014-02-06 18:53:58 +09:00
YUKI Hiroshi
617771c1c1 Restore scroll position of the tab bar in "auto hide" mode (#653) 2014-02-06 17:49:47 +09:00
YUKI Hiroshi
439697f462 Don't reset scroll position while the tab bar is invisible (#646) 2014-02-03 17:14:56 +09:00
YUKI Hiroshi
b3382623dd Detect visibility of the tab bar more robustly 2014-02-03 17:14:38 +09:00
YUKI Hiroshi
c91ffcac54 Remove codes for outdated versions of Firefox 2014-01-30 12:36:36 +09:00
Piro / YUKI Hiroshi
658a48a4f8 Open bookmark folder as a tree correctly, even if the user don't want to open a dummy grouping tab. 2014-01-29 02:27:35 +09:00
Piro / YUKI Hiroshi
c82e735bb0 Better compatibility with [Tab Control](https://addons.mozilla.org/firefox/addon/tab-control) #636 2014-01-29 01:53:58 +09:00
Piro / YUKI Hiroshi
c15d267a48 Turn the tab bar visible when it is resizing and going to be expanded from collapsed by dragging of the splitter 2013-11-28 03:43:21 +09:00
Piro / YUKI Hiroshi
1f0f93e9eb Add comment for compatibility with Australis 2013-11-19 23:26:23 +09:00
Piro / YUKI Hiroshi
7bae0f98f2 Fix broken tab contents order with Australis 2013-11-19 23:25:30 +09:00
Piro / YUKI Hiroshi
6b01e0f2b9 Show the tab bar again correctly when I click the grippy in the splitter (#593) 2013-11-10 05:24:36 +09:00
Piro / YUKI Hiroshi
461a8aca98 Update credit 2013-11-10 04:28:07 +09:00
Piro / YUKI Hiroshi
6678d4b697 Call original "stop" method with all given arguments correctly 2013-11-10 04:16:33 +09:00
Tetsuharu OHZEKI
b779d9306a Remove needless access to 'arguments'. 2013-11-10 04:16:14 +09:00
Tetsuharu OHZEKI
ee1eec680d Use ES6 Rest parameters. 2013-11-10 04:15:23 +09:00
Piro / YUKI Hiroshi
2964e64df5 Better compatibility with someone who change visibility of the tab bar.
ex. Hide Tab Bar With One Tab ( https://addons.mozilla.org/firefox/addon/hide-tab-bar-with-one-tab/ ), Tab Mix Plus, and Pale Moon.
2013-10-30 04:20:50 +09:00
Piro / YUKI Hiroshi
0c6acbce7d Support "auto hide tab bar" feature provided by Tab Mix Plus.
This commit is related to #574 and #557.
2013-10-30 04:11:16 +09:00
Piro / YUKI Hiroshi
d17c117804 Prevent infinity loop around show/hide of tab bar related elements. (#574)
With browser.tabs.autoHide=true, some environments (ex. Pale Moon) fall into infinity loop. To avoid this problem, I have to ignore changing visibility around tab bar elements controlled by TST itself.
2013-10-30 03:36:31 +09:00
Piro / YUKI Hiroshi
13584c712a Hide (collapse) the tab bar when the floating tab bar is going to be updated.
By this change, the size of the shrunken tab bar will saved and restored correctly. (#575)
2013-10-23 02:42:22 +09:00
Piro / YUKI Hiroshi
9f721f5be2 Re-show the tab bar correctly after exitting DOM fullscreen mode by F11 (#576) 2013-10-23 01:32:54 +09:00
Piro / YUKI Hiroshi
a234135786 Remove ruin for compatibility with Tab Mix Plus's "hide the tab bar when there is only one tab" feature 2013-10-09 02:38:47 +09:00
Piro / YUKI Hiroshi
a9c59cc286 Don't focus to the tab which is going to be removed.
This fixes #569. In the previous revision, onTabClose method tried to focus to the first child even if it was going to be closed as a member of closing tree. Then TabSelect event was unexpectedly fired, TabWindow.prototype.handleEven (defined in resource:///modules/WindowsPreviewPerTab.jsm) raised an error, and blocked all following event handlers for TabSelect event. As the result, cached tabs list were not cleared and Ctrl-Tab feature was killed.
2013-10-08 02:47:53 +09:00
YUKI Hiroshi
163df63f04 Hide vertical tab bar in the DOM-fullscreen mode (ex. YouTube) (#564) 2013-10-01 10:20:02 +09:00
YUKI Hiroshi
f42084c29d Disable detection for Tab Mix Plus because it is buggy for me. 2013-09-18 18:02:37 +09:00
YUKI Hiroshi
5d54fd5a38 Fix indent 2013-09-18 17:43:41 +09:00
YUKI Hiroshi
8bce1239b3 Detect mode of Tab Mix Plus correctly 2013-09-18 17:43:18 +09:00
YUKI Hiroshi
4bcca0d787 Support "hide tab bar only when one tab" again for Tab Mix Plus (#557) 2013-09-18 17:34:21 +09:00
YUKI Hiroshi
f0e71741a1 Break lines after condition block of "if" statements 2013-09-17 18:17:20 +09:00
YUKI Hiroshi
1f5188defd Add wanabe to the list of contributors in license blocks 2013-09-13 19:58:52 +09:00
wanabe
47ac7924e1 Improve compatibility with "How Many Times Can I Back?" (#397)
use commonAncestorContainer instead of getCommonAncestor()
2013-09-12 14:54:38 +09:00
wanabe
1a83376034 Improved compatibility with "How Many Times Can I Back?" (#397)
"getCommonAncestor" method is not available without jQuery
2013-09-12 12:36:00 +09:00
Piro / YUKI Hiroshi
6bce4e5e19 Inherit width, height, and others via xbl:inherits (#550)
The inner box of the tab bar should inherit width, height, and other attributes given via setTabbrowserAttribute(), from the parent element. However, if the binding is re-assigned again and again, then it can happen infinitely loop when the inheritance is done by xbl:constructor.
2013-08-28 02:25:49 +09:00
YUKI Hiroshi
163b14646d Close needless group tabs automatically if they are temporary 2013-08-21 12:53:36 +09:00
YUKI Hiroshi
db4cd9b6f1 Revert "Don't close the window with the last group tab, if the last child of the group is closed. (#537)"
This reverts commit 63a72c9e62.
2013-08-21 12:20:12 +09:00
Piro / YUKI Hiroshi
2b103ee178 Show/hide tab bar correctly after the grippy is clicked (#538) 2013-08-21 03:50:03 +09:00
Piro / YUKI Hiroshi
63a72c9e62 Don't close the window with the last group tab, if the last child of the group is closed. (#537)
This behaviour can be disabled (and get the old behaviour) by setting the preference "extensions.treestyletab.autoRemoveNeedlessGroupTab.lastTab" to "true".
2013-08-21 03:42:50 +09:00
Piro / YUKI Hiroshi
637a4fd9bc Don't hide the tab bar even if there is only one tab, on Firefox 23 and later (#541)
Because the feature is removed on Firefox 23.
https://bugzilla.mozilla.org/show_bug.cgi?id=855370
However, the addon "Hide Tab Bar With One Tab" still provides it.
https://addons.mozilla.org/firefox/addon/hide-tab-bar-with-one-tab/
So, I decided to activate the behavior only on old Firefox or the environment which has the addon.
2013-08-21 01:09:03 +09:00
Piro / YUKI Hiroshi
481bc1c303 Initialize "Close Tabs to the Right" menuitem even if Multiple Tab Handler is installed.
ddbd41163b (commitcomment-3731331)
2013-07-28 01:57:50 +09:00
Piro / YUKI Hiroshi
fd071ba859 Use vertical tab bar specific accesskey for "Close Tabs to Bottom" 2013-07-28 01:53:46 +09:00
Piro / YUKI Hiroshi
e35f7f04d3 Restore tree structure for "undo close tab" feature #525
It was a regression on 0.14.2013052901.
2013-07-27 13:56:24 +09:00
Piro / YUKI Hiroshi
a416b179a9 Print more information in the debugging mode 2013-07-27 13:55:20 +09:00
Piro / YUKI Hiroshi
54143f450d Don't shrink tab bar when user selects background tabs #526 2013-07-27 03:04:04 +09:00
Piro / YUKI Hiroshi
5b30204112 Output more messages for debugging 2013-07-27 02:03:44 +09:00
Piro / YUKI Hiroshi
ddbd41163b Update label of "Close Tabs to the Right" menuitem to "Close Tabs to the Bottom" in the vertical tab bar #529 2013-07-27 00:51:38 +09:00
YUKI Hiroshi
096830cf22 Don't use __SS_restoreState (See https://bugzilla.mozilla.org/show_bug.cgi?id=867142 ) 2013-05-28 15:43:37 +09:00
Piro / YUKI Hiroshi
43e1813650 Collect strongly related codes 2013-05-06 06:36:17 +09:00
Piro / YUKI Hiroshi
eedc895e22 _reserveCloseNeedlessGroupTabParent() should receive the closing tab instead of the parent tab.
Because another similar method _reserveCloseNeedlessGroupTabSibling() receives the closing tab.
2013-05-06 05:15:55 +09:00
Piro / YUKI Hiroshi
895b038fe7 Flatten codes 2013-05-06 04:52:55 +09:00
Piro / YUKI Hiroshi
1f6333c22c Split a large method onTabClose() to small methods 2013-05-06 02:01:36 +09:00