diff --git a/common/content/dactyl.js b/common/content/dactyl.js
index 8c65f810..d169299d 100644
--- a/common/content/dactyl.js
+++ b/common/content/dactyl.js
@@ -37,6 +37,9 @@ var Dactyl = Module("dactyl", XPCOM(Ci.nsISupportsWeakReference, ModuleBase), {
let elem = event.originalTarget;
dactyl.help(elem.getAttribute("tag") || elem.textContent);
};
+ this.commands["dactyl.restart"] = function (event) {
+ dactyl.restart();
+ };
},
cleanup: function () {
diff --git a/common/modules/addons.jsm b/common/modules/addons.jsm
index 80090bb7..ed971c1c 100644
--- a/common/modules/addons.jsm
+++ b/common/modules/addons.jsm
@@ -145,6 +145,7 @@ var Addon = Class("Addon", {
this.nodes = {
commandTarget: this
};
+ XML.ignoreWhitespace = true;
util.xmlToDom(
@@ -189,6 +190,9 @@ var Addon = Class("Addon", {
compare: function compare(other) String.localeCompare(this.name, other.name),
get statusInfo() {
+ XML.ignoreWhitespace = XML.prettyPrinting = false;
+ default xml namespace = XHTML;
+
let info = this.isActive ? enabled
: disabled;
@@ -205,7 +209,7 @@ var Addon = Class("Addon", {
pending = ["Enabled", "upgraded"];
if (pending)
return <>{info} ({pending[1]}
- on restart)>;
+ on restart)>;
return info;
},
@@ -269,6 +273,7 @@ var AddonList = Class("AddonList", {
message: Class.memoize(function () {
+ XML.ignoreWhitespace = true;
util.xmlToDom(
-
Name
@@ -535,7 +540,6 @@ var addonErrors = array.toObject([
[AddonManager.ERROR_CORRUPT_FILE, "The file appears to be corrupt"],
[AddonManager.ERROR_FILE_ACCESS, "There was an error accessing the filesystem"]]);
-
endModule();
} catch(e){ if (isString(e)) e = Error(e); dump(e.fileName+":"+e.lineNumber+": "+e+"\n" + e.stack); }
diff --git a/common/skin/dactyl.css b/common/skin/dactyl.css
index 116df39b..43788990 100644
--- a/common/skin/dactyl.css
+++ b/common/skin/dactyl.css
@@ -83,6 +83,9 @@ input[type=file][dactyl|highlight~=HintElem] {
url-prefix(dactyl:),
url-prefix(resource://dactyl) {
+*:-moz-any-link {
+ color: green;
+}
*:-moz-any-link:hover {
text-decoration: underline;
}