PK 9chrome.manifestcontent breadcrumb content/ locale breadcrumb en-US locale/en-US/ skin breadcrumb classic/1.0 skin/ overlay chrome://browser/content/browser.xul chrome://breadcrumb/content/overlay.xul PK }9content/PK 9M6 content/overlay.js/* * breadcrumb firefox extension * Copyright (c) 2008 Nicholas Ortenzio * nicholas.ortenzio@gmail.com * http://breadcrumb.downwith.us * * MIT License [http://www.opensource.org/licenses/mit-license.php] * */ var breadcrumb = { onLoad: function() { this.initialized = true; var urlbar = document.getElementById('urlbar'); urlbar.addEventListener('click', this.onSingleClick, true); urlbar.addEventListener('dblclick', this.onDoubleClick, true); }, getClickMode : function(){ var prefs = Components.classes["@mozilla.org/preferences-service;1"].getService(Components.interfaces.nsIPrefBranch); var clickmode = prefs.getIntPref("extensions.breadcrumb.clickmode"); return clickmode; }, onSingleClick : function(e){ if (breadcrumb.getClickMode() == 1){ breadcrumb.onActivated(e.target); } }, onDoubleClick : function(e){ if (breadcrumb.getClickMode() == 2){ breadcrumb.onActivated(e.target); } }, onActivated : function(strURL){ var adr = strURL.value; var omega = strURL.selectionEnd; if(adr.substring(omega-1).indexOf('/')>0){ var url = adr.substring(0,omega+1+adr.substring(omega).indexOf('/')); var sub = /(.*)\.(.*)\.(.*)/ var match = sub.exec(url); if (url != "http:/"){ if (match){ if(match[1]!='http://www'){ if(url.length>=adr.length){ url = url.replace(match[1],'http://www'); } } } gBrowser.loadURI(url) } } } }; window.addEventListener("load", function(e) {breadcrumb.onLoad(e);}, false); PK !90>>content/overlay.xul