Commit Graph

419 Commits

Author SHA1 Message Date
YUKI Hiroshi
573556a834 Store state of actual sound-playing for each tab 2015-11-19 18:10:17 +09:00
YUKI Hiroshi
44c7cd117a Separate method to update tab's descendant count 2015-11-19 17:21:22 +09:00
YUKI Hiroshi
1a1e609b9d Restore tab bar visible after the grippy is clicked again (regression) 2015-11-19 15:20:30 +09:00
YUKI Hiroshi
ffd7c26150 Add a comment to describe its design around promoting of children 2015-11-18 19:16:06 +09:00
Piro / YUKI Hiroshi
3fa5aec658 Add reference counter implementation to detect memory leak 2015-11-10 03:00:43 +09:00
Piro / YUKI Hiroshi
4b32a22531 Remove registered event listeners more completely 2015-11-10 01:44:39 +09:00
YUKI Hiroshi
36ccd7a321 Fix misspelling of "phisical" - it should be "physical" #889 2015-11-06 15:47:39 +09:00
Piro / YUKI Hiroshi
d534c28a6d Use meaningful name for "tabs in titlebar" hack 2015-11-05 23:28:38 +09:00
Piro / YUKI Hiroshi
49dd724d0d Revert hacks for "tabs on top" partially.
It is still required to disable "tabs in titlebar".
2015-11-05 23:26:34 +09:00
YUKI Hiroshi
3bfa87f0e0 Remove obsolete hack for TabsOnTop 2015-11-05 18:44:03 +09:00
YUKI Hiroshi
296bae010f Output more debug print 2015-11-05 18:08:22 +09:00
YUKI Hiroshi
f75443ce6f Fix indent 2015-11-02 16:15:48 +09:00
YUKI Hiroshi
7e5916cce5 Allow to update the size of the tab bar by other addons with the nsDOMTreeStyleTabTabbarRendered event 2015-11-02 16:14:46 +09:00
YUKI Hiroshi
050a87e108 Dispatch custom event to notify other addons that the tab bar is rendered by TST.
This event is required to fix the issue #938 with Unified Sidebar.
2015-11-02 16:01:35 +09:00
Piro / YUKI Hiroshi
036ca2a5d5 Hide toolbar related elements completely in the DOM fullscreen mode.
The "inDOMFullscreen" attribute is introduced at Firefox 36 by http://hg.mozilla.org/mozilla-central/rev/3aef39ca3919 and now TST supports only Firefox 38 and newer. So we should use it instead of my custom attribute.
2015-10-27 00:42:52 +09:00
YUKI Hiroshi
ad15b22b39 Output more debug prints 2015-10-26 18:50:38 +09:00
YUKI Hiroshi
5bd7112a24 Control more debug prints by preferences 2015-10-26 16:37:28 +09:00
YUKI Hiroshi
de777e7ff2 Control debug prints via preferences 2015-10-26 16:32:31 +09:00
Piro / YUKI Hiroshi
8185bafaae Define global symbol which to be exported, by "var" instead of "const".
This should avoid the issue caused by new behavior of ES6 "const".
See also https://bugzilla.mozilla.org/show_bug.cgi?id=1202902
2015-10-11 12:40:17 +09:00
YUKI Hiroshi
9985efab20 Fix typo 2015-10-05 20:04:10 +09:00
YUKI Hiroshi
b4cac92814 Update insertion position info about detached tabs by the method detachTab itself 2015-10-05 20:02:04 +09:00
YUKI Hiroshi
b248f68fad Update insertion position info of old previous/next tabs after rearrangement 2015-10-05 19:57:17 +09:00
YUKI Hiroshi
7c592fce12 Gather methods to update insertion position info of tabs 2015-10-05 19:56:02 +09:00
YUKI Hiroshi
7c0abf4ee9 Ignore null argument 2015-10-05 19:55:33 +09:00
YUKI Hiroshi
055a64f114 Use commom method to fixup insertion info 2015-10-05 19:34:54 +09:00
YUKI Hiroshi
6fd907ff9a Use meanignful method name 2015-10-05 19:33:50 +09:00
YUKI Hiroshi
3980ea3c5d Add method to dump stored tree structure.
gBrowser.treeStyleTab.dumpTreeInformation() exports the result as an object, so you can see the result like:

  JSON.stringify(gBrowser.treeStyleTab.dumpTreeInformation())

via the browser console.
2015-10-05 19:21:41 +09:00
YUKI Hiroshi
586ab135c3 Remove needless information to reference sibling tabs after rearrangement.
This commit is related to the issue #735
2015-10-05 18:59:13 +09:00
Piro / YUKI Hiroshi
dd6a01532d Add credit 2015-09-29 06:18:14 +09:00
Piro / YUKI Hiroshi
2018b2063e Apply new size of the tab bar specified at the configuration dialog, for all windows 2015-09-29 04:50:16 +09:00
Piro / YUKI Hiroshi
04b06ef084 Apply new pref value only for the topmost browser window smartly 2015-09-29 03:45:10 +09:00
YUKI Hiroshi
3a3d0945c7 Place sound button in tabs before the closebox 2015-09-28 20:33:31 +09:00
YUKI Hiroshi
a43b31b5c7 Set tab-strip-element attribute for the tabbar internal box ceratinly.
TreeStyleTabBrowser#init() fails to set the attribute for the tabbar internal box,
so resizing of the element is unexpectedly tracked by BrowserUIShowHideObserver
even if it is triggered by the "auto hide" feature. It causes the bug #942.
When the mouse cursor moves onth the shrunken tab bar, autohide service expands
the width of the tab bar by setting width/height attribuets. Such a "resizing"
must be ignored by BrowserUIShowHideObserver because only unexpected resizing
caused by other addons triggers "update size of the floating tab bar".
2015-09-25 15:32:58 +09:00
YUKI Hiroshi
15666abfcb Call renamed methods correctly 2015-08-28 17:39:04 +09:00
Xidorn Quan
1e8a1bc324 Fix Fullscreen API issue for Firefox 41+.
This is a change from bug 1161802 which makes the "fullscreen" event be
triggered after window.fullScreen value flips.
2015-08-18 12:11:23 +10:00
YUKI Hiroshi
c224b26066 Revert "Repair fullscreen detection. Fixes #903"
This reverts commit 5958766997.
It breaks Firefox 39 and older versions.
2015-07-23 12:18:59 +09:00
J. Ryan Stinnett
5958766997 Repair fullscreen detection. Fixes #903 2015-07-22 19:13:08 -05:00
Piro / YUKI Hiroshi
daa27ee336 Clear temporary position information of the tab bar after it is permanently changed.
This seems to fix broken appearance issue around toolbar customization (on second try or later).
2015-06-13 00:16:21 +09:00
Piro / YUKI Hiroshi
f9aa9d123c Restore/reinit tabbar asynchronously on toolbar customization 2015-06-13 00:06:15 +09:00
Piro / YUKI Hiroshi
523848a7ed Migrate from "selected" to "visuallyselected" attribute.
See also: http://www.hackermusings.com/2015/06/electrolysis-a-tale-of-tab-switching-and-themes/
2015-06-11 03:28:00 +09:00
YUKI Hiroshi
0c2c33e19d Fix typo 2015-03-19 18:12:07 +09:00
YUKI Hiroshi
6efc491e66 Cancel previous scroll before scroll to tab group 2015-03-19 11:20:52 +09:00
YUKI Hiroshi
d7963e36be Extract logic to scroll to specified tabs, from the method to scroll to a tree 2015-03-19 10:24:47 +09:00
Piro / YUKI Hiroshi
eccfe1ea8d Don't move scroll position if the target tab is already in the viewport (regression by the previous commit) 2015-03-18 02:59:58 +09:00
Piro / YUKI Hiroshi
4ff4584833 Use Firefox's native smooth scrolling method if possible, to activate accelerations #856 2015-03-18 02:52:02 +09:00
Piro / YUKI Hiroshi
d0fb0280e8 Fix indent 2015-03-18 02:40:08 +09:00
Piro / YUKI Hiroshi
d821755f2f Extract implementations about smooth scrolling 2015-03-18 02:39:36 +09:00
YUKI Hiroshi
0cae72fd00 Cancel previous scroll if the new to-be-scrolled tab is in the viewport 2015-03-17 18:57:12 +09:00
YUKI Hiroshi
d41a66603e Scroll to expanded tree more intelligently 2015-03-17 18:29:09 +09:00
YUKI Hiroshi
ec76dd9c04 Remove needless event handler for wheel scrolling on the tab bar 2015-03-17 17:49:39 +09:00
YUKI Hiroshi
f0c012710d Use given duration 2015-03-17 16:06:20 +09:00
YUKI Hiroshi
64f488575e Don't touch to browser.contentWindow if it is remote 2015-03-13 15:58:40 +09:00
Piro / YUKI Hiroshi
4acdd4104b Show Firefox Hello chat boxes only on the content area (Don't show chat boxes behind tabs) #753 2015-03-06 01:56:44 +09:00
YUKI Hiroshi
be375327ca Set temporary position after it is completely updated 2015-03-04 10:16:12 +09:00
Piro / YUKI Hiroshi
e80ffd1b11 Save position safely 2015-03-04 01:45:09 +09:00
Piro / YUKI Hiroshi
a6fe5e8fdb Set expanded width of the tab bar correctly 2015-03-04 01:34:24 +09:00
Piro / YUKI Hiroshi
2d8649735e Manage position of the tab bar for each window 2015-03-04 01:22:22 +09:00
Piro / YUKI Hiroshi
ff38e9587c Manage width and height of the tab bar for each window 2015-03-04 00:44:01 +09:00
YUKI Hiroshi
fbc6500262 Don't override autohide state of other windows by last window's state 2015-03-03 20:47:45 +09:00
YUKI Hiroshi
af8a061ca1 Store and restore last autohide mode for each window 2015-03-03 19:45:44 +09:00
YUKI Hiroshi
767479f9f1 Break line for condition and operation 2015-03-03 18:56:55 +09:00
Piro / YUKI Hiroshi
78de7e6b35 Bump copyright year 2015-03-01 23:37:49 +09:00
Piro / YUKI Hiroshi
0afae1c655 Don't try to scroll to the selected tab when it is already in the viewport in its axis.
This fixes annoyingly horizontal scroll happend when ColourfulTabs is activated. #842
2015-03-01 23:35:28 +09:00
Piro / YUKI Hiroshi
6352d57858 Remove deprecated JS1.7's let blocks 2015-02-27 00:59:31 +09:00
YUKI Hiroshi
18e105a561 Don't make hidden the tab bar by clicking on the grippy to expand the collapsed tab bar. (#783) 2014-11-13 17:24:59 +09:00
YUKI Hiroshi
b82f087f87 Don't clear existing tab relation, if the relation is restored and going to be cleared on same TabMove event 2014-11-12 12:46:26 +09:00
YUKI Hiroshi
b4bba86e30 Don't restore same tab multiple times 2014-11-12 12:39:06 +09:00
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