Add new secret option "extensions.treestyletab.autoAttach.fromCurrent" to control new tab position from the current tab (#452)
This commit is contained in:
parent
6fe9401c39
commit
5954e76c02
@ -155,14 +155,14 @@ var TreeStyleTabWindowHelper = {
|
|||||||
nsContextMenu.prototype.openLinkInTab.toSource().replace(
|
nsContextMenu.prototype.openLinkInTab.toSource().replace(
|
||||||
'{',
|
'{',
|
||||||
'{\n' +
|
'{\n' +
|
||||||
' TreeStyleTabService.readyToOpenChildTab(this.target.ownerDocument.defaultView);'
|
' TreeStyleTabService.handleNewTabFromCurrent(this.target.ownerDocument.defaultView);'
|
||||||
)
|
)
|
||||||
);
|
);
|
||||||
eval('nsContextMenu.prototype.openFrameInTab = '+
|
eval('nsContextMenu.prototype.openFrameInTab = '+
|
||||||
nsContextMenu.prototype.openFrameInTab.toSource().replace(
|
nsContextMenu.prototype.openFrameInTab.toSource().replace(
|
||||||
'{',
|
'{',
|
||||||
'{\n' +
|
'{\n' +
|
||||||
' TreeStyleTabService.readyToOpenChildTab(this.target.ownerDocument.defaultView);'
|
' TreeStyleTabService.handleNewTabFromCurrent(this.target.ownerDocument.defaultView);'
|
||||||
)
|
)
|
||||||
);
|
);
|
||||||
var viewImageMethod = ('viewImage' in nsContextMenu.prototype) ? 'viewImage' : 'viewMedia' ;
|
var viewImageMethod = ('viewImage' in nsContextMenu.prototype) ? 'viewImage' : 'viewMedia' ;
|
||||||
|
@ -518,6 +518,11 @@ pref("extensions.treestyletab.autoAttach.duplicateTabCommand.forward", 1);
|
|||||||
* Options are same to extensions.treestyletab.autoAttach.newTabCommand.
|
* Options are same to extensions.treestyletab.autoAttach.newTabCommand.
|
||||||
*/
|
*/
|
||||||
pref("extensions.treestyletab.autoAttach.goButton", 1);
|
pref("extensions.treestyletab.autoAttach.goButton", 1);
|
||||||
|
/**
|
||||||
|
* How to treat new tabs from the current tab (links, frames, media, etc.).
|
||||||
|
* Options are same to extensions.treestyletab.autoAttach.newTabCommand.
|
||||||
|
*/
|
||||||
|
pref("extensions.treestyletab.autoAttach.fromCurrent", 1);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Focus targets for Ctrl-Tab/Ctrl-Shift-Tab.
|
* Focus targets for Ctrl-Tab/Ctrl-Shift-Tab.
|
||||||
|
@ -1100,6 +1100,11 @@ TreeStyleTabWindow.prototype = {
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
|
handleNewTabFromCurrent : function TSTWindow_handleNewTabFromCurrent(aBaseTab)
|
||||||
|
{
|
||||||
|
this._handleNewTabCommand(aBaseTab, utils.getTreePref('autoAttach.fromCurrent'));
|
||||||
|
},
|
||||||
|
|
||||||
onBeforeNewTabCommand : function TSTWindow_onBeforeNewTabCommand(aTabBrowser)
|
onBeforeNewTabCommand : function TSTWindow_onBeforeNewTabCommand(aTabBrowser)
|
||||||
{
|
{
|
||||||
var self = this.windowService || this;
|
var self = this.windowService || this;
|
||||||
@ -1147,39 +1152,39 @@ TreeStyleTabWindow.prototype = {
|
|||||||
onBeforeOpenLink : function TSTWindow_onBeforeOpenLink(aWhere, aOwner)
|
onBeforeOpenLink : function TSTWindow_onBeforeOpenLink(aWhere, aOwner)
|
||||||
{
|
{
|
||||||
if (aWhere == 'tab' || aWhere == 'tabshifted')
|
if (aWhere == 'tab' || aWhere == 'tabshifted')
|
||||||
this.readyToOpenChildTab(aOwner);
|
this.handleNewTabFromCurrent(aOwner);
|
||||||
},
|
},
|
||||||
|
|
||||||
onBeforeOpenLinkWithParams : function TSTWindow_onBeforeOpenLinkWithParams(aParams)
|
onBeforeOpenLinkWithParams : function TSTWindow_onBeforeOpenLinkWithParams(aParams)
|
||||||
{
|
{
|
||||||
if (aParams.linkNode &&
|
if (aParams.linkNode &&
|
||||||
!this.checkToOpenChildTab(aParams.linkNode.ownerDocument.defaultView))
|
!this.checkToOpenChildTab(aParams.linkNode.ownerDocument.defaultView))
|
||||||
this.readyToOpenChildTab(aParams.linkNode.ownerDocument.defaultView);
|
this.handleNewTabFromCurrent(aParams.linkNode.ownerDocument.defaultView);
|
||||||
},
|
},
|
||||||
|
|
||||||
onBeforeOpenNewTabByThirdParty : function TSTWindow_onBeforeOpenNewTabByThirdParty(aOwner)
|
onBeforeOpenNewTabByThirdParty : function TSTWindow_onBeforeOpenNewTabByThirdParty(aOwner)
|
||||||
{
|
{
|
||||||
if (!this.checkToOpenChildTab(aOwner))
|
if (!this.checkToOpenChildTab(aOwner))
|
||||||
this.readyToOpenChildTab(aOwner);
|
this.handleNewTabFromCurrent(aOwner);
|
||||||
},
|
},
|
||||||
|
|
||||||
onBeforeBrowserAccessOpenURI : function TSTWindow_onBeforeBrowserAccessOpenURI(aOpener, aWhere)
|
onBeforeBrowserAccessOpenURI : function TSTWindow_onBeforeBrowserAccessOpenURI(aOpener, aWhere)
|
||||||
{
|
{
|
||||||
if (aOpener && aWhere == Ci.nsIBrowserDOMWindow.OPEN_NEWTAB)
|
if (aOpener && aWhere == Ci.nsIBrowserDOMWindow.OPEN_NEWTAB)
|
||||||
this.readyToOpenChildTab(aOpener);
|
this.handleNewTabFromCurrent(aOpener);
|
||||||
},
|
},
|
||||||
|
|
||||||
onBeforeViewMedia : function TSTWindow_onBeforeViewMedia(aEvent, aOwner)
|
onBeforeViewMedia : function TSTWindow_onBeforeViewMedia(aEvent, aOwner)
|
||||||
{
|
{
|
||||||
if (String(this.window.whereToOpenLink(aEvent, false, true)).indexOf('tab') == 0)
|
if (String(this.window.whereToOpenLink(aEvent, false, true)).indexOf('tab') == 0)
|
||||||
this.readyToOpenChildTab(aOwner);
|
this.handleNewTabFromCurrent(aOwner);
|
||||||
},
|
},
|
||||||
|
|
||||||
onBeforeBrowserSearch : function TSTWindow_onBeforeBrowserSearch(aTerm, aForceNewTab)
|
onBeforeBrowserSearch : function TSTWindow_onBeforeBrowserSearch(aTerm, aForceNewTab)
|
||||||
{
|
{
|
||||||
if ((arguments.length == 1 || aForceNewTab) &&
|
if ((arguments.length == 1 || aForceNewTab) &&
|
||||||
this.shouldOpenSearchResultAsChild(aTerm))
|
this.shouldOpenSearchResultAsChild(aTerm))
|
||||||
this.readyToOpenChildTab();
|
this.handleNewTabFromCurrent();
|
||||||
},
|
},
|
||||||
|
|
||||||
/* Tree Style Tabの初期化が行われる前に復元されたセッションについてツリー構造を復元 */
|
/* Tree Style Tabの初期化が行われる前に復元されたセッションについてツリー構造を復元 */
|
||||||
|
Loading…
x
Reference in New Issue
Block a user