Commit Graph

1243 Commits

Author SHA1 Message Date
YUKI Hiroshi
c35a01035d Show animation for highlighted tab more slowly 2016-02-12 20:19:25 +09:00
YUKI Hiroshi
9eb445ce99 Highlight modified tab 2016-02-12 20:15:29 +09:00
YUKI Hiroshi
f21efeac3d Add a TODO comment 2016-02-12 19:58:45 +09:00
YUKI Hiroshi
2f557c218b Specify modified tab for feedback 2016-02-12 19:57:52 +09:00
YUKI Hiroshi
775c0f7a9c Show the tab bar when a tab's title is changed 2016-02-12 19:57:35 +09:00
YUKI Hiroshi
32cd96d1f2 Allow to customize observing attributes 2016-02-12 19:56:57 +09:00
YUKI Hiroshi
3de447706c Move the tab correctly 2016-02-12 19:32:59 +09:00
YUKI Hiroshi
e2aff9e21f Keep tree's position when a root tab is closed 2016-02-12 19:30:50 +09:00
YUKI Hiroshi
7050d5994c Revert "Don't replace parent tab with group tab if it ls already replaced"
This reverts commit c3efa9bd13.
2016-02-12 19:29:15 +09:00
YUKI Hiroshi
c3efa9bd13 Don't replace parent tab with group tab if it ls already replaced 2016-02-12 19:27:51 +09:00
YUKI Hiroshi
7480757a0f Disable animation for temporary modification of tree 2016-02-12 19:26:26 +09:00
YUKI Hiroshi
b4f153d083 Add ability to replace closed parent tab with new dummy tab #133 2016-02-12 19:23:56 +09:00
YUKI Hiroshi
8898534f10 Fix indent 2016-02-12 16:48:31 +09:00
YUKI Hiroshi
25e7783899 Don't update order of tab contents infinitely 2016-02-12 16:48:08 +09:00
YUKI Hiroshi
75050af492 Put closebox in each tab rightside 2016-02-12 16:15:37 +09:00
YUKI Hiroshi
12757cf2c3 Update the order of tab contents, when they are dynamically changed. 2016-02-12 16:10:56 +09:00
YUKI Hiroshi
a1c378f7b4 Ignore overwriting attribute value with same value 2016-02-10 19:33:40 +09:00
YUKI Hiroshi
f6cd1c2602 Output more debug logs 2016-02-10 19:31:01 +09:00
YUKI Hiroshi
1267db34b7 Fix typo 2016-02-10 19:14:51 +09:00
YUKI Hiroshi
7a579a7c2a Fix mismatched variable name 2016-02-10 19:13:15 +09:00
YUKI Hiroshi
80b77a1001 Fix typo 2016-02-10 19:12:03 +09:00
YUKI Hiroshi
e531d8cd93 Output debug log to the browser console also 2016-02-10 19:10:46 +09:00
YUKI Hiroshi
120dc6b522 Get parent tab correctly 2016-02-10 17:45:49 +09:00
YUKI Hiroshi
49a025a1da Move utility to find tab browser from tab related element from TSTBase to TSTUtils 2016-02-10 17:44:10 +09:00
YUKI Hiroshi
fe7cf571f5 Move XPath related utilities from TSTBase to TSTUtils 2016-02-10 17:42:37 +09:00
YUKI Hiroshi
bad68d5a9b Fix indent 2016-02-10 15:08:57 +09:00
YUKI Hiroshi
bb4a172308 Don't cancel new child tab action by default orphan tab action 2016-02-10 15:08:32 +09:00
Piro / YUKI Hiroshi
94e1b0d89d Open new tabs from histories as orphan tabs 2016-01-28 21:41:09 +09:00
YUKI Hiroshi
cf6e1c4f1c Don't touch to tab's session history to determine the tab is a group tab or not.
For remote tabs, browser.sessionHistory raises exception. See #1028
2016-01-26 14:51:51 +09:00
YUKI Hiroshi
7fdc114ed6 Output more debug log 2016-01-25 17:28:59 +09:00
YUKI Hiroshi
84c0822592 Disallow to move a new tab by loadOneTab itself 2016-01-25 17:28:22 +09:00
YUKI Hiroshi
355b3f181b Simplify 2016-01-25 17:28:06 +09:00
YUKI Hiroshi
0dab3f30ec Store "internally moving" for individual tab for tab events about individual tab 2016-01-25 17:00:03 +09:00
Piro / YUKI Hiroshi
d5b05b6017 Reduce eval hack 2016-01-22 00:13:56 +09:00
Piro / YUKI Hiroshi
190d8cd71c Add new utility TST.doAndGetNewTabs(aFunction) to get newly opened by the function 2016-01-22 00:13:37 +09:00
YUKI Hiroshi
fdc472441b Move codes to override behaviors around bookmarks to a JS code module.
Moreover, it reduces use of eval.
2016-01-21 18:23:11 +09:00
YUKI Hiroshi
e41d737fe2 Output more debug log 2016-01-20 20:39:46 +09:00
YUKI Hiroshi
f26193f55f Open new tabs from window.open() in non-tab frames as independent tab 2016-01-20 19:41:07 +09:00
YUKI Hiroshi
7973071bd1 Open orphan tab from links if it is not related to the current tab 2016-01-20 11:58:25 +09:00
YUKI Hiroshi
9ef9f0ec62 Open as orphan by default 2016-01-20 11:38:01 +09:00
YUKI Hiroshi
475798dcb6 Output more debug messages 2016-01-20 11:37:14 +09:00
YUKI Hiroshi
49f17f596d Fix typo 2016-01-20 11:15:22 +09:00
YUKI Hiroshi
1b8f61f778 Place newly opened tab to the correct position 2016-01-19 20:27:43 +09:00
YUKI Hiroshi
97e1ae2eb9 Restore backuped preference correctly 2016-01-19 18:55:31 +09:00
YUKI Hiroshi
6dd37567c1 Open as orphan by default 2016-01-19 18:51:33 +09:00
YUKI Hiroshi
e2c93cc59c Introduce new API to open orphan tab intentionally.
It is required to open a new tab with "relatedToCurrent" as orphaned.
This solves the problem https://github.com/piroor/treestyletab/issues/1013#issuecomment-172780573
2016-01-19 18:09:49 +09:00
YUKI Hiroshi
2ede365e18 Delete flags from the service object when they are expired 2016-01-19 18:04:29 +09:00
YUKI Hiroshi
f4fff387b1 Make new tabs opened with "relatedToCurrent:true" as a child of the current tab 2016-01-19 17:47:45 +09:00
YUKI Hiroshi
ef5d21b413 Give up to disable browser.tabs.insertRelatedAfterCurrent 2016-01-19 17:47:18 +09:00
YUKI Hiroshi
6ba7134d08 Don't hide/shrink the tab bar when the visibility of menu items is changed.
It unexpectedly reacted changes of the visibility of the menu item #menu_readerModeItem and others.
2016-01-18 19:01:07 +09:00
YUKI Hiroshi
28ba3b54ad Fixup tree structure after tab move correctly.
Keyboard shortcuts Ctrl-Shift-PageUp/PageDown sometimes broke the tree.
This commit fixes following cases:

case 1:
  * [-] A
    * A-1 <= Ctrl-Shift-PageDown at here
  * [+] B

  then they should be:

  * A
  * [+] B
  * A-1

  but actually:

  * [-] A
  * [+] B
  *   A-1 <= still a child of A!

case 2:

  * A
  * [-] B
    * [+] B-1 <= Ctrl-Shift-PageUp at here

  then they should be:

  * A
  * [+] B-1
  * B

  but actually:

  * A
  *  [+] B-1 <= still a child of B!
  * [-] B
2016-01-18 18:43:36 +09:00
YUKI Hiroshi
1623bc43a9 Output more logs for debugging 2016-01-18 17:02:53 +09:00
YUKI Hiroshi
9507102bfa Fix mismatched variable name 2016-01-15 15:52:52 +09:00
YUKI Hiroshi
9302255cf9 Handle keyboard events even if tab previews is activated 2016-01-15 15:21:57 +09:00
YUKI Hiroshi
a44d25c47b Simulate key release event only when the window is actually lost its focus 2016-01-15 15:18:46 +09:00
YUKI Hiroshi
1a16b8f657 Fix path to DOMDocument 2016-01-15 12:35:23 +09:00
Piro / YUKI Hiroshi
bd1e134c29 handle onsizemodechange events correctly 2016-01-15 00:12:44 +09:00
YUKI Hiroshi
ff08f39190 Detect vertical tab bar correctly 2016-01-05 17:05:47 +09:00
YUKI Hiroshi
279abc811c Ignroe show/hide change of scroll indicator in the vertical tab bar 2016-01-05 17:01:11 +09:00
YUKI Hiroshi
04427948de Output more debug logs 2016-01-05 16:47:37 +09:00
YUKI Hiroshi
63e291b603 Don't change scroll position of the tab bar when it is expanded from shrunken 2015-12-25 17:21:50 +09:00
YUKI Hiroshi
44825b4e24 Add more debug logs around fullscreen toggling 2015-12-25 16:17:27 +09:00
Piro / YUKI Hiroshi
21715d2c3c Don't touch missing "detail" information of TabAttrModified event on Firefox 38 #1010 2015-12-14 23:26:00 +09:00
Piro / YUKI Hiroshi
551ce8d809 Disallow to enlarge the width of the tab bar over a half of the window 2015-11-30 01:44:24 +09:00
Piro / YUKI Hiroshi
34278450e1 Add a secret preference to disable the safeguard for infinity promoting of all children #988 2015-11-30 01:04:54 +09:00
Piro / YUKI Hiroshi
184555c3fa Update insertion position info for old previous/next sibling elements too #735 2015-11-30 00:43:59 +09:00
Piro / YUKI Hiroshi
6cf8e5ee25 Reattach a moved tab to its preferred parent, for moving by Ctrl-Sihft-PageUp.
See also: https://github.com/piroor/treestyletab/issues/998#issuecomment-160177595
2015-11-28 02:31:22 +09:00
Piro / YUKI Hiroshi
191bb0ce26 Output more debug messages 2015-11-28 02:23:03 +09:00
YUKI Hiroshi
1b815f963c Limit maximum width of the tab bar to 50% of the window 2015-11-27 19:54:11 +09:00
YUKI Hiroshi
9b856616f7 Use preferred label for "Auto hide tab bar" in the context menu for auto hide or auto shrink 2015-11-27 19:17:47 +09:00
YUKI Hiroshi
d6ad23e167 Toggle visibility of the tab bar by mousemove on the developer tools.
See also #1003
2015-11-27 18:40:59 +09:00
YUKI Hiroshi
92e03c52a9 Control "muted" status of descendant tabs if the tab has a subtree and they are collapsed 2015-11-19 20:20:15 +09:00
YUKI Hiroshi
38928625a9 Fix indent 2015-11-19 19:41:26 +09:00
YUKI Hiroshi
d0cfd42c02 Apply virtual muted status for the parent tab correctly 2015-11-19 19:40:43 +09:00
YUKI Hiroshi
01587b928d Observe changes of "muted" attribute of tabs 2015-11-19 19:29:09 +09:00
YUKI Hiroshi
1d30207dc0 Apply soundplaying attribute restored from session as the really-sound-playing state 2015-11-19 19:11:41 +09:00
YUKI Hiroshi
e950d56879 Use better method name 2015-11-19 18:33:07 +09:00
YUKI Hiroshi
e6eac24805 Show sound indicator in a tab which have any soundplaying descendant 2015-11-19 18:30:38 +09:00
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
b98fe4afbc Remove registered event listeners more completely 2015-11-10 02:14:23 +09:00
Piro / YUKI Hiroshi
4b32a22531 Remove registered event listeners more completely 2015-11-10 01:44:39 +09:00
Piro / YUKI Hiroshi
991390d88f Export EXPORTED_SYMBOLS 2015-11-10 01:40:54 +09:00
Piro / YUKI Hiroshi
00d43f577c Remove obsolete code 2015-11-09 23:15:45 +09:00
YUKI Hiroshi
3cff4eb9ca Fix indent 2015-11-09 17:28:03 +09:00
YUKI Hiroshi
081acb238b Don't activate "tabs in titlebar" for OS X #983 2015-11-09 17:27:35 +09:00
Piro / YUKI Hiroshi
a6eb66c216 Activate "draw in titlebar" when the menubar is permanently shown #893
Because the special binding chrome://browser/content/customizableui/toolbar.xml#toolbar-drag works only when the "chromemargin" attribute is specified for the root element like "0,2,2,2". In other words, draggable UI elements don't work as expected for regular window.
2015-11-08 22:50:39 +09:00
Piro / YUKI Hiroshi
adc8a7e1ed Block to save TST specific internal attributes to the session data.
Unexpectedly persisted attributes automatically restored are cause many odd problems. We must block it.
2015-11-08 18:27:47 +09:00
Piro / YUKI Hiroshi
8cd426101a Open bookmarks in a folder as tabs when a folder is dragged and dropped onto the tab bar.
The feature did not work on lately Firefox, like Firefox 45.0a1.
2015-11-07 17:00:23 +09:00
Piro / YUKI Hiroshi
c710ecc0b2 Add TODO comment 2015-11-07 15:53:56 +09:00
Piro / YUKI Hiroshi
55002c5b50 Fix indent 2015-11-07 15:48:38 +09:00
Piro / YUKI Hiroshi
dbd94d4b62 Use getShortcutOrURIAndPostData() directly 2015-11-07 15:48:11 +09:00
Piro / YUKI Hiroshi
852587b0cd Allow to open new tab from dropped link again 2015-11-07 15:33:03 +09:00
YUKI Hiroshi
355993a08e Fix indent 2015-11-06 15:57:19 +09:00
YUKI Hiroshi
a1a519f189 Remove XPath-based method to find the last descendant tab.
It seems to be too complex for "last descendant".
This will solve the issue #888.
2015-11-06 15:55:33 +09:00
YUKI Hiroshi
710ca20510 Migrate old misspelled preference 2015-11-06 15:50:11 +09:00
YUKI Hiroshi
36ccd7a321 Fix misspelling of "phisical" - it should be "physical" #889 2015-11-06 15:47:39 +09:00
YUKI Hiroshi
38f01ba0a9 Detect position change of the tab bar.
This seems required for #895
2015-11-06 14:54:07 +09:00
YUKI Hiroshi
0ac67fcdff Update appearance of the tab bar by changes around the social sidebar #895 2015-11-06 14:36:54 +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
20afc67a68 Remove "isPopupWindow" utility.
Because it was used only by hacks for TabsOnTop.
2015-11-05 18:44:16 +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
e219b479f2 Reposition the floating tab bar only when the window mode is really changed between normal and maximized 2015-11-05 18:06:25 +09:00
YUKI Hiroshi
d8f4a17873 Suppress "TypeError: this.formatAccessKey is not a function" error on startup 2015-11-05 17:39:14 +09:00
YUKI Hiroshi
c1d0047c1d Do nothing if rootElementObserver is not initialized yet 2015-11-05 17:08:24 +09:00
YUKI Hiroshi
f7d4b970bd Output more debug information 2015-11-05 16:45:09 +09:00
YUKI Hiroshi
983edcb17a Simply use Timer.jsm 2015-11-05 16:43:59 +09:00
YUKI Hiroshi
5a9da781a8 Fix indent 2015-11-05 16:08:15 +09:00
YUKI Hiroshi
92e8912256 Dump more debug information 2015-11-05 16:00:32 +09:00
Piro / YUKI Hiroshi
7ffc1f3b89 Don't activate "tabs on top" after toolbar customizations (See #968) 2015-11-04 23:21:42 +09:00
YUKI Hiroshi
1029b40e09 Follow to changes introduced by the bug 1207594.
The method "_setEffectAllowedForDataTransfer" was renamed to "_getDropEffectForTabDrag".
2015-11-04 11:43:54 +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
YUKI Hiroshi
809cc403c6 Clear "last mousedown target" after mouseup event at anywhere 2015-11-02 15:18:23 +09:00
YUKI Hiroshi
ac78634432 Hide the tab bar automatically after a tab is moved by drag-and-drop. 2015-11-02 15:06:44 +09:00
YUKI Hiroshi
b3211b64e2 Output more debug information 2015-11-02 14:43:27 +09:00
YUKI Hiroshi
5111cf446b Don't apply "auto hide" prefs for mismatched mode 2015-11-02 12:00:24 +09:00
Piro / YUKI Hiroshi
8b2af7ce6f Fix misplaced tab bar when I exit from the DOM fullscreen mode (#957) 2015-10-31 00:53:29 +09:00
YUKI Hiroshi
d911e243c6 Open new search result tab as a child of the current tab, when a selection text is dragged and dropped to the searchbar.
This should fix the issue #884
2015-10-30 17:47:14 +09:00
YUKI Hiroshi
ee0937ee43 Get selection text from remote tab for context search.
This partially fixes the problem reported at #884
2015-10-29 12:17:08 +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
42c0bfa407 Indent stack trace 2015-10-26 18:50:27 +09:00
YUKI Hiroshi
c99c259549 Load required module 2015-10-26 16:46:20 +09:00
YUKI Hiroshi
b3b335b5da Load required modules correctly 2015-10-26 16:43:25 +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
Piro / YUKI Hiroshi
f2e07bd5b7 Define constant objects with "var", not "const".
Objects defined with "const" cannot be exported by the method:

    let { SymbolName } = Cu.import("URL", {})

because variables defined with "const" are not stored as a property of the global object, at Firefox 44 and later.
2015-10-10 19:25:00 +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
YUKI Hiroshi
47ee8fe048 Don't update the size of the floating tab bar when any descendant of self-managed elements is modified.
This should conflict with Unified Sidebar. See: #938
2015-10-05 16:58:08 +09:00
Piro / YUKI Hiroshi
dd6a01532d Add credit 2015-09-29 06:18:14 +09:00
Piro / YUKI Hiroshi
01eae840aa Partially revert 04b06ef084
Regression: width of tab bar is wrongly reset on the next startup.
2015-09-29 05:11:12 +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
fe39d5d6f3 Fix mismatched references 2015-09-28 21:42:05 +09:00