"bookmark this tree" doesn't work on Firefox 11 and later
This commit is contained in:
parent
8e1188d9be
commit
1e2ea4969f
@ -65,7 +65,7 @@ var TreeStyleTabBookmarksService = {
|
|||||||
bookmarkTabSubtree : function TSTBMService_bookmarkTabSubtree(aTabOrTabs)
|
bookmarkTabSubtree : function TSTBMService_bookmarkTabSubtree(aTabOrTabs)
|
||||||
{
|
{
|
||||||
var tabs = aTabOrTabs;
|
var tabs = aTabOrTabs;
|
||||||
if (!(tabs instanceof Array)) {
|
if (!Array.isArray(tabs)) {
|
||||||
tabs = [aTabOrTabs];
|
tabs = [aTabOrTabs];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -12,11 +12,11 @@
|
|||||||
in JS files:
|
in JS files:
|
||||||
window['piro.sakura.ne.jp'].bookmarkMultipleTabs.addBookmarkFor(tabsArray, folderName);
|
window['piro.sakura.ne.jp'].bookmarkMultipleTabs.addBookmarkFor(tabsArray, folderName);
|
||||||
|
|
||||||
license: The MIT License, Copyright (c) 2009-2010 SHIMODA "Piro" Hiroshi
|
license: The MIT License, Copyright (c) 2009-2012 SHIMODA "Piro" Hiroshi
|
||||||
http://www.cozmixng.org/repos/piro/fx3-compatibility-lib/trunk/license.txt
|
http://github.com/piroor/fxaddonlibs/blob/master/license.txt
|
||||||
original:
|
original:
|
||||||
http://www.cozmixng.org/repos/piro/fx3-compatibility-lib/trunk/bookmarkMultipleTabs.xul
|
http://github.com/piroor/fxaddonlibs/blob/master/bookmarkMultipleTabs.xul
|
||||||
http://www.cozmixng.org/repos/piro/fx3-compatibility-lib/trunk/bookmarkMultipleTabs_bookmarkPropertiesOverlay.xul
|
http://github.com/piroor/fxaddonlibs/blob/master/bookmarkMultipleTabs_bookmarkPropertiesOverlay.xul
|
||||||
-->
|
-->
|
||||||
<overlay xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">
|
<overlay xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">
|
||||||
<script type="application/javascript"><![CDATA[
|
<script type="application/javascript"><![CDATA[
|
||||||
@ -24,7 +24,7 @@
|
|||||||
window.addEventListener('DOMContentLoaded', function() {
|
window.addEventListener('DOMContentLoaded', function() {
|
||||||
window.removeEventListener('DOMContentLoaded', arguments.callee, true);
|
window.removeEventListener('DOMContentLoaded', arguments.callee, true);
|
||||||
|
|
||||||
const currentRevision = 4;
|
const currentRevision = 5;
|
||||||
|
|
||||||
if (!('piro.sakura.ne.jp' in window)) window['piro.sakura.ne.jp'] = {};
|
if (!('piro.sakura.ne.jp' in window)) window['piro.sakura.ne.jp'] = {};
|
||||||
|
|
||||||
@ -57,12 +57,34 @@ window.addEventListener('DOMContentLoaded', function() {
|
|||||||
|
|
||||||
var b = this.getTabBrowserFromChild(aTabs[0]);
|
var b = this.getTabBrowserFromChild(aTabs[0]);
|
||||||
|
|
||||||
if ('PlacesUIUtils' in window || 'PlacesUtils' in window) { // Firefox 3
|
if ('PlacesUIUtils' in window || 'PlacesUtils' in window) { // Firefox 3 or later
|
||||||
|
try {
|
||||||
|
var utils = 'PlacesUIUtils' in window ? PlacesUIUtils : PlacesUtils ;
|
||||||
|
var tabs = Array.slice(aTabs).map(this.addBookmarkTabsFilter);
|
||||||
if (aFolderName)
|
if (aFolderName)
|
||||||
this.Prefs.setCharPref('temp.showMinimalAddMultiBookmarkUI.folderName', unescape(encodeURIComponent(aFolderName)));
|
this.Prefs.setCharPref('temp.showMinimalAddMultiBookmarkUI.folderName', unescape(encodeURIComponent(aFolderName)));
|
||||||
var utils = 'PlacesUIUtils' in window ? PlacesUIUtils : PlacesUtils ;
|
if ('showBookmarkDialog' in utils) { // Firefox 11 or later
|
||||||
utils.showMinimalAddMultiBookmarkUI(Array.slice(aTabs).map(this.addBookmarkTabsFilter));
|
utils.showBookmarkDialog({
|
||||||
|
action : 'add',
|
||||||
|
type : 'folder',
|
||||||
|
// title : aFolderName, // don't specify it, because Firefox doesn't create bookmarks if the title is given!
|
||||||
|
URIList : tabs,
|
||||||
|
hiddenRows : ['description', 'location', 'loadInSidebar', 'keyword']
|
||||||
|
}, window);
|
||||||
|
}
|
||||||
|
else if ('showMinimalAddMultiBookmarkUI' in utils) { // Firefox 3 - 10
|
||||||
|
utils.showMinimalAddMultiBookmarkUI(tabs);
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
throw new Error('there is no method to create bookmarks from tabs!');
|
||||||
|
}
|
||||||
|
}
|
||||||
|
catch(e) {
|
||||||
|
alert(e.message+'\n'+e.stack);
|
||||||
|
}
|
||||||
|
finally {
|
||||||
this.Prefs.clearUserPref('temp.showMinimalAddMultiBookmarkUI.folderName');
|
this.Prefs.clearUserPref('temp.showMinimalAddMultiBookmarkUI.folderName');
|
||||||
|
}
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user