|
|
@ -390,6 +390,11 @@ vAPI.tabs.get = function(tabId, callback) { |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
// for internal use
|
|
|
|
if (tab && callback === undefined) { |
|
|
|
return tab; |
|
|
|
} |
|
|
|
|
|
|
|
if (!tab) { |
|
|
|
callback(); |
|
|
|
return; |
|
|
@ -538,7 +543,27 @@ vAPI.tabs.close = function(tabIds) { |
|
|
|
/******************************************************************************/ |
|
|
|
|
|
|
|
vAPI.tabs.injectScript = function(tabId, details, callback) { |
|
|
|
var tab = vAPI.tabs.get(tabId); |
|
|
|
|
|
|
|
if (!tab) { |
|
|
|
return; |
|
|
|
} |
|
|
|
|
|
|
|
tab.linkedBrowser.messageManager.sendAsyncMessage( |
|
|
|
vAPI.app.cleanName + ':broadcast', |
|
|
|
JSON.stringify({ |
|
|
|
broadcast: true, |
|
|
|
portName: 'vAPI', |
|
|
|
msg: { |
|
|
|
cmd: 'injectScript', |
|
|
|
details: details |
|
|
|
} |
|
|
|
}) |
|
|
|
); |
|
|
|
|
|
|
|
if (typeof callback === 'function') { |
|
|
|
setTimeout(callback, 13); |
|
|
|
} |
|
|
|
}; |
|
|
|
|
|
|
|
/******************************************************************************/ |
|
|
@ -566,7 +591,8 @@ vAPI.setIcon = function(tabId, img, badge) { |
|
|
|
var button = curWin.document.getElementById(vAPI.toolbarButton.widgetId); |
|
|
|
var icon = vAPI.tabIcons[tabId]; |
|
|
|
button.setAttribute('badge', icon && icon.badge || ''); |
|
|
|
button.style.listStyleImage = 'url(' + vAPI.getURL(icon && icon.img || 'img/browsericons/icon16-off.svg') + ')'; |
|
|
|
icon = vAPI.getURL(icon && icon.img || 'img/browsericons/icon16-off.svg'); |
|
|
|
button.style.listStyleImage = 'url(' + icon + ')'; |
|
|
|
}; |
|
|
|
|
|
|
|
/******************************************************************************/ |
|
|
|