PK
܅7 content/PK
܅7 content/fission/PK
*{7~? content/fission/fission.css@namespace url("http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul");
/* :::::::: new address bar binding ::::::::::::::: */
#urlbar {
-moz-binding: url(chrome://fission/content/fission.xml#fission-urlbar);
}
.autocomplete-textbox-container-fission {
-moz-box-align: center;
}
/* :::::::: default styles ::::::::::::::: */
/* ........ "Fusion" .............. */
#urlbar[fission="fusion"] > #statusbar-icon {
-moz-appearance: none;
padding: 0px;
border: none;
background-color: transparent;
}
#urlbar[fission="fusion"] > #statusbar-icon > .progress-bar {
-moz-appearance: none;
background-color: #B6BDD2; /* Fission blue */
}
#urlbar[fission="fusion"] > #statusbar-icon[value="100"],
#urlbar[fission="fusion"] > #statusbar-icon[value="0"] {
visibility: collapse;
}
/* ........ "Icon" .............. */
#urlbar[fission="icon"] #statusbar-icon {
-moz-margin-end: 2px;
height: 16px;
}
#urlbar[fission="icon"] #statusbar-icon[value="100"],
#urlbar[fission="icon"] #statusbar-icon[value="0"] {
display: none;
}
/* :::::::: link target ::::::::::::::: */
#urlbar[fission-link] #page-proxy-deck {
background: url(data:image/gif;base64,R0lGODlhEAAQALMAAAAAAP///7i4uPf39/39/fDw8Onp6dzc3PPz8////wAAAAAAAAAAAAAAAAAAAP8AgCH5BAEAAA8ALAAAAAAQABAAAwQ38MlJq704632B9xZAAUEJjqJEBsPnfiohy6/7AEM+HPUJIIUgDzUBFAxIQUo1OgieykyPQ61mIgA7);
}
#urlbar[fission-link] #page-proxy-deck image {
visibility: hidden;
}
/* :::::::: status text ::::::::::::::: */
#fission-status {
-moz-user-focus: ignore;
padding-top: 1px;
margin-bottom: -1px;
}
#urlbar[fission="icon"][progress]:not([progress="0"]):not([progress="100"]) #fission-status,
#fission-status[value=""] {
display: none;
}
/* :::::::: options dialog ::::::::::::::: */
#FissionOptions #colorpickBox {
-moz-margin-end: 4px;
}
#FissionOptions #colorpickBox + button {
visibility: hidden;
-moz-user-focus: ignore;
}
#FissionOptions #urlbar #statusbar-icon {
margin: 0px;
}
PK
Y7wz content/fission/fission.jsconst Fission = {
mPrefBranch: Components.classes["@mozilla.org/preferences-service;1"].getService(Components.interfaces.nsIPrefService).getBranch("extensions.fission.").QueryInterface(Components.interfaces.nsIPrefBranch2),
/* ........ (Un)initialization .............. */
onLoad: function()
{
if (!window.gProgressMeterPanel)
{
setTimeout(function() { Fission.onLoad(); }, 100);
return;
}
this.init();
document.getElementById("cmd_CustomizeToolbars").addEventListener("DOMAttrModified", this.onDOMAttrModified_command, false);
this.mPrefBranch.addObserver("", this, false);
},
onUnload: function()
{
document.getElementById("cmd_CustomizeToolbars").removeEventListener("DOMAttrModified", this.onDOMAttrModified_command, false);
this.mPrefBranch.removeObserver("", this);
this.uninit();
this.mProgressPanel = null;
this.mProgressBar = null;
this.mText = null;
},
init: function()
{
if (!this.mProgressPanel)
{
this.mProgressPanel = gProgressMeterPanel;
}
if (!gURLBar && !((gURLBar = document.getElementById("urlbar"))))
{
return;
}
this.mProgressBar = document.getElementById("statusbar-icon");
var iconize = this.mPrefBranch.getBoolPref("iconize");
if (iconize)
{
var iconBox = document.getElementById("urlbar-icons") || document.getElementById("lock-icon").parentNode;
iconBox.insertBefore(this.mProgressBar, iconBox.firstChild);
}
else
{
gURLBar.appendChild(this.mProgressBar);
}
if (this.mPrefBranch.getBoolPref("textify"))
{
this.textify();
}
if (this.mPrefBranch.getBoolPref("linkify"))
{
this.linkify();
}
this.updateBackgroundColor();
gProgressMeterPanel.hidden = true;
gProgressMeterPanel = this;
gURLBar.setAttribute("fission", iconize ? "icon" : "fusion");
gURLBar.addEventListener("ValueChange", this.onValueChange_urlbar, true);
if (this.mLinkified || this.mText && this.mText.parentNode)
{
gURLBar.addEventListener("focus", this.onFocusBlur_urlbar, true);
gURLBar.addEventListener("blur", this.onFocusBlur_urlbar, true);
}
this.mLoaded = true;
},
textify: function()
{
if (!this.mText)
{
this.mText = document.createElement("label");
this.mText.setAttribute("id", "fission-status");
this.mText.setAttribute("crop", "right");
eval("nsBrowserStatusHandler.prototype.updateStatusField = " + nsBrowserStatusHandler.prototype.updateStatusField.toString().replace(/{/, "$& Fission.updateStatusField(this.status || this.defaultStatus);"));
}
var iconBox = document.getElementById("urlbar-icons") || document.getElementById("lock-icon").parentNode;
iconBox.insertBefore(this.mText, iconBox.firstChild);
},
linkify: function()
{
if (!/Fission/.test(nsBrowserStatusHandler.prototype.setOverLink))
{
eval("nsBrowserStatusHandler.prototype.setOverLink = " + nsBrowserStatusHandler.prototype.setOverLink.toString().replace(/{/, "$& link = Fission.setOverLink(link);"));
}
this.mLinkified = true;
},
uninit: function()
{
if (!this.mLoaded)
{
return;
}
this.updateBackgroundColor(true);
gProgressMeterPanel = this.mProgressPanel;
gProgressMeterPanel.appendChild(this.mProgressBar);
gProgressMeterPanel.hidden = false;
gURLBar.setAttribute("fission", "");
gURLBar.removeEventListener("ValueChange", this.onValueChange_urlbar, true);
if (this.mLinkified || this.mText && this.mText.parentNode)
{
gURLBar.removeEventListener("focus", this.onFocusBlur_urlbar, true);
gURLBar.removeEventListener("blur", this.onFocusBlur_urlbar, true);
}
if (this.mText && this.mText.parentNode)
{
this.mText.parentNode.removeChild(this.mText);
}
this.mLinkified = false;
this.mLoaded = false;
},
/* ........ State Change Observers .............. */
set collapsed(aValue)
{
if (aValue && this.mProgressBar.value != 100)
{
this.mProgressBar.value = 100;
}
},
onValueChange_urlbar: function(aEvent)
{
if (aEvent.originalTarget == Fission.mProgressBar)
{
this.setAttribute("progress", Fission.mProgressBar.value);
}
},
onFocusBlur_urlbar: function(aEvent)
{
if (!(Fission.mURLBar_focused = aEvent.type == "focus") && "mPendingOverLink" in Fission)
{
Fission.setOverLink(Fission.mPendingOverLink);
delete Fission.mPendingOverLink;
}
if (Fission.mText)
{
Fission.mText.hidden = Fission.mURLBar_focused;
}
},
onDOMAttrModified_command: function(aEvent)
{
if (aEvent.attrName == "disabled")
{
Fission[aEvent.newValue != "true" ? "init" : "uninit"]();
}
},
observe: function(aSubject, aTopic, aData)
{
if (aTopic == "nsPref:changed" && this.mLoaded)
{
switch (aData)
{
case "color":
this.updateBackgroundColor();
break;
case "iconize":
case "textify":
case "linkify":
setTimeout(function() { Fission.uninit(); Fission.init(); }, 0);
break;
}
}
},
/* ........ Auxiliary Functions .............. */
updateStatusField: function(aString)
{
if (this.mText && this.mText.parentNode)
{
aString = aString != gNavigatorBundle.getString("nv_done") ? aString : "";
if (this.mText.value != aString)
{
this.mText.value = aString;
}
}
},
setOverLink: function(aLink)
{
if (this.mURLBar_focused)
{
this.mPendingOverLink = aLink;
return this.mLinkified ? "" : aLink;
}
if (this.mLinkified && aLink && content.location.href != "about:blank")
{
if (!this.mURLBar_value)
{
this.mURLBar_value = "@" + gURLBar.value;
}
if (gURLBar.getAttribute("fission-link") != aLink)
{
gURLBar.setAttribute("fission-link", (gURLBar.value = aLink));
}
return "";
}
if (this.mURLBar_value)
{
if (gURLBar.value == gURLBar.getAttribute("fission-link"))
{
gURLBar.value = this.mURLBar_value.substr(1);
}
delete this.mURLBar_value;
gURLBar.removeAttribute("fission-link");
}
return aLink;
},
updateBackgroundColor: function(aReset)
{
document.getAnonymousElementByAttribute(this.mProgressBar, "class", "progress-bar").style.background = !aReset ? this.mPrefBranch.getCharPref("color").replace(/^(url\(.+\)) #[0-9A-F]{6}$/, "$1 transparent") : "";
}
};
window.addEventListener("load", function() { Fission.onLoad(); }, false);
window.addEventListener("unload", function() { Fission.onUnload(); }, false);
PK
F{7MҎ+ + content/fission/fission.xml
PK
.sp7 content/fission/fission.xul
PK
p75n content/fission/options.jsvar gDefaultColor = "#B6BDD2";
var gURLBar_value = "http://www.example.net/";
var gAnimation;
function initDialog()
{
gAnimation = setInterval(function(aProgressBar) {
aProgressBar.value = 33 + (parseInt(aProgressBar.value) - 29) % 67;
}, 500, _("statusbar-icon"));
}
function uninitDialog()
{
clearInterval(gAnimation);
}
function writeColor()
{
var image = _("color-image").value.replace(/^\s+|\s+$/g, "");
var color = _("color-plain").color;
return (image || color != gDefaultColor) ? (image ? "url(" + image + ") " : "") + color : "";
}
function readColorPlain()
{
document.getAnonymousElementByAttribute(_("statusbar-icon"), "class", "progress-bar").style.background = _("extensions.fission.color").value.replace(/^(url\(.+\)) #[0-9A-F]{6}$/, "$1 transparent");
return /(#[0-9A-F]{6})$/i.test(_("extensions.fission.color").value) ? RegExp.$1 : gDefaultColor;
}
function readColorImage()
{
return /^url\((.+)\)/.test(_("extensions.fission.color").value) ? RegExp.$1 : "";
}
function readIconize()
{
var iconize = _("extensions.fission.iconize").value;
var urlbar = _("urlbar");
urlbar.setAttribute("fission", iconize ? "icon" : "fusion");
urlbar.flex = iconize ? 0 : 1000;
urlbar.value = iconize ? "" : gURLBar_value;
return iconize;
}
function onFindImage()
{
var nsIFilePicker = Components.interfaces.nsIFilePicker;
var filePicker = Components.classes["@mozilla.org/filepicker;1"].createInstance(nsIFilePicker);
filePicker.init(window, null, nsIFilePicker.modeOpen);
filePicker.appendFilters(nsIFilePicker.filterImages);
try
{
var uri = Components.classes["@mozilla.org/network/io-service;1"].getService(Components.interfaces.nsIIOService).newURI(_("color-image").value, null, null);
if (uri instanceof Components.interfaces.nsIFileURL && uri.file instanceof Components.interfaces.nsILocalFile)
{
filePicker.displayDirectory = uri.file.parent;
}
}
catch (ex) { }
if (filePicker.show() == nsIFilePicker.returnOK)
{
_("color-image").value = filePicker.fileURL.spec;
_("FissionOptionsPane").userChangedValue(_("color-image"));
}
}
function onResetColor()
{
_("extensions.fission.color").value = "";
}
function _(aId)
{
return document.getElementById(aId);
}
PK
sp7v
content/fission/options.xul
PK
܅7 locale/PK
܅7
locale/ar/PK
܅7 locale/ar/fission/PK
5$ȹ locale/ar/fission/fission.dtd
PK
s5* $ locale/ar/fission/fission.propertiesextensions.{1280606b-2510-4fe0-97ef-9b5a22eafe41}.description=شريط التحميل في شريط العنوان (كمتصفح سفاري)
PK
܅7
locale/be-BY/PK
܅7 locale/be-BY/fission/PK
97 nwy y locale/be-BY/fission/fission.dtd
PK
RD6p ' locale/be-BY/fission/fission.propertiesextensions.{1280606b-2510-4fe0-97ef-9b5a22eafe41}.description=Адлюстраванне прагрэсу загрузкі старонкі ў панэлі адрасу (у стыле Safary)
PK
܅7
locale/ca-AD/PK
܅7 locale/ca-AD/fission/PK
Xp53ך locale/ca-AD/fission/fission.dtd
PK
s5USL{ { ' locale/ca-AD/fission/fission.propertiesextensions.{1280606b-2510-4fe0-97ef-9b5a22eafe41}.description=Barra de progrés dins de la barra d'adreces (Estil Safari)
PK
܅7
locale/cs-CZ/PK
܅7 locale/cs-CZ/fission/PK
b6=͂_ _ locale/cs-CZ/fission/fission.dtd
PK
mwd6v y y ' locale/cs-CZ/fission/fission.propertiesextensions.{1280606b-2510-4fe0-97ef-9b5a22eafe41}.description=Stavová lišta uvnitř adresového řádku (à la Safari)
PK
܅7
locale/da-DK/PK
܅7 locale/da-DK/fission/PK
Z4ة0c c locale/da-DK/fission/fission.dtd
PK
s5-wp p ' locale/da-DK/fission/fission.propertiesextensions.{1280606b-2510-4fe0-97ef-9b5a22eafe41}.description=Fremskridtsmåler i adresselinien (Safari-stil).
PK
܅7
locale/de-CH/PK
܅7 locale/de-CH/fission/PK
ES4TiS S locale/de-CH/fission/fission.dtd
PK
R4Klz z ' locale/de-CH/fission/fission.propertiesextensions.{1280606b-2510-4fe0-97ef-9b5a22eafe41}.description=Fortschrittsbalken und Adresszeile vereint (à la Safari).
PK
ۅ7
locale/el-GR/PK
܅7 locale/el-GR/fission/PK
97G locale/el-GR/fission/fission.dtd
PK
%7μ ' locale/el-GR/fission/fission.propertiesextensions.{1280606b-2510-4fe0-97ef-9b5a22eafe41}.description=Μπάρα προόδου στην μπάρα διευθύνσεων (Στυλ Safari).
PK
ۅ7
locale/en-US/PK
ۅ7 locale/en-US/fission/PK
S4bO O locale/en-US/fission/fission.dtd
PK
zR4tTo o ' locale/en-US/fission/fission.propertiesextensions.{1280606b-2510-4fe0-97ef-9b5a22eafe41}.description=Progress bar in the address bar (Safari style).
PK
ۅ7
locale/es-ES/PK
ۅ7 locale/es-ES/fission/PK
Z4"h locale/es-ES/fission/fission.dtd
PK
s5!