Exemple #1
0
var extensionInfo=require("kango/extension_info"),utils=require("kango/utils"),browser=require("kango/browser"),io=require("kango/io"),array=utils.array;function OptionsPage(){}OptionsPage.prototype={open:function(a){var b=io.getExtensionFileUrl(extensionInfo.options_page);"undefined"!=typeof a&&(b+="#"+a);browser.tabs.getAll(function(a){var c=!1;array.forEach(a,function(a){-1!=a.getUrl().indexOf(b)&&(c=!0,a.activate())});c||browser.tabs.create({url:b,focused:!0})});return!0}};
function OptionsPage(){var e=this._optionsUrl=io.getExtensionFileUrl(extensionInfo.options_page).toLowerCase();browser.addEventListener("DocumentLoaded",function(o){0==o.url.toLowerCase().indexOf(e)&&(o.window.__kango_require=require,o.window.__kango_optionsPageMode=!0)})}var extensionInfo=require("kango/extension_info"),utils=require("kango/utils"),browser=require("kango/browser"),io=require("kango/io"),chromeWindows=require("kango/chrome_windows"),array=utils.array;OptionsPage.prototype={dispose:function(){this.close()},open:function(e){if(""!=this._optionsUrl){var o=this._optionsUrl;return"undefined"!=typeof e&&(o+="#"+e),browser.tabs.create({url:o,focused:!0,reuse:!0}),!0}return!1},close:function(){var e=this._optionsUrl;if(""!=e)for(var o=chromeWindows.getMostRecentChromeWindow().gBrowser,r=0;r<o.browsers.length;r++){var n=o.getBrowserAtIndex(r);if(0==n.currentURI.spec.indexOf(e)){o.removeTab(o.tabContainer.childNodes[r]);break}}}},extensionInfo.options_page&&(module.exports=new OptionsPage,module.exports.getPublicApi=getPublicApi);
OptionsPage.prototype={dispose:function(){this.close()},open:function(b){if(""!=this._optionsUrl){var a=this._optionsUrl;"undefined"!=typeof b&&(a+="#"+b);browser.tabs.create({url:a,focused:!0,reuse:!0});return!0}return!1},close:function(){var b=this._optionsUrl;if(""!=b)for(var a=chromeWindows.getMostRecentChromeWindow().gBrowser,c=0;c<a.browsers.length;c++)if(0==a.getBrowserAtIndex(c).currentURI.spec.indexOf(b)){a.removeTab(a.tabContainer.childNodes[c]);break}}};
function OptionsPage(){this._optionsUrl=io.getExtensionFileUrl(extensionInfo.options_page).toLowerCase(),array.forEach(chromeWindows.getLoadedChromeWindows(),function(e){this._listenEvents(e)},this),chromeWindows.addEventListener(chromeWindows.event.WINDOW_LOAD,func.bind(function(e){this._listenEvents(e.window)},this))}var extensionInfo=require("kango/extension_info"),utils=require("kango/utils"),browser=require("kango/browser"),io=require("kango/io"),chromeWindows=require("kango/chrome_windows"),array=utils.array,func=utils.func;OptionsPage.prototype={_contentLoadedListener:function(e){var o=e.target;if(0==o.URL.toLowerCase().indexOf(this._optionsUrl)){var n=e.target.defaultView;n.__kango_require=require,n.__kango_optionsPageMode=!0}},_listenEvents:function(e){var o=func.bind(this._contentLoadedListener,this);e.gBrowser.addEventListener("DOMContentLoaded",o,!0),chromeWindows.registerContainerUnloader(function(){e.gBrowser.removeEventListener("DOMContentLoaded",o,!0)},e)},dispose:function(){this.close()},open:function(e){if(""!=this._optionsUrl){var o=this._optionsUrl;return"undefined"!=typeof e&&(o+="#"+e),browser.tabs.create({url:o,focused:!0,reuse:!0}),!0}return!1},close:function(){var e=this._optionsUrl;if(""!=e)for(var o=chromeWindows.getMostRecentChromeWindow().gBrowser,n=0;n<o.browsers.length;n++){var t=o.getBrowserAtIndex(n);if(0==t.currentURI.spec.indexOf(e)){o.removeTab(o.tabContainer.childNodes[n]);break}}}},extensionInfo.options_page&&(module.exports=new OptionsPage,module.exports.getPublicApi=getPublicApi);