1
0
mirror of https://github.com/gryf/pentadactyl-pm.git synced 2026-02-12 07:55:45 +01:00

Fix :js context on Minefield.

This commit is contained in:
Kris Maglione
2011-09-17 00:08:02 -04:00
parent 423767238b
commit 057600d780
7 changed files with 66 additions and 20 deletions

View File

@@ -1399,18 +1399,26 @@ var DOM = Class("DOM", {
* @param {Node} elem The context element.
* @param {boolean} asIterator Whether to return the results as an
* XPath iterator.
* @param {object} namespaces Additional namespaces to recognize.
* @optional
* @returns {Object} Iterable result of the evaluation.
*/
XPath: update(
function XPath(expression, elem, asIterator) {
function XPath(expression, elem, asIterator, namespaces) {
try {
let doc = elem.ownerDocument || elem;
if (isArray(expression))
expression = DOM.makeXPath(expression);
let resolver = XPath.resolver;
if (namespaces) {
namespaces = update({}, DOM.namespaces, namespaces);
resolver = function (prefix) namespaces[prefix] || null;
}
let result = doc.evaluate(expression, elem,
XPath.resolver,
resolver,
asIterator ? Ci.nsIDOMXPathResult.ORDERED_NODE_ITERATOR_TYPE : Ci.nsIDOMXPathResult.ORDERED_NODE_SNAPSHOT_TYPE,
null
);

View File

@@ -717,7 +717,7 @@ var JavaScript = Module("javascript", {
try {
var result = dactyl.userEval(js, this.context);
var xml = util.objectToString(result, true);
var xml = result === undefined ? "" : util.objectToString(result, true);
}
catch (e) {
util.reportError(e);

View File

@@ -823,11 +823,15 @@ var Util = Module("Util", XPCOM([Ci.nsIObserver, Ci.nsISupportsWeakReference]),
* @returns {nsIURI}
*/
newURI: function newURI(uri, charset, base) {
let idx = uri.lastIndexOf(" -> ");
if (~idx)
uri = uri.slice(idx + 4);
if (uri instanceof Ci.nsIURI)
var res = uri.clone();
else {
let idx = uri.lastIndexOf(" -> ");
if (~idx)
uri = uri.slice(idx + 4);
let res = this.withProperErrors("newURI", services.io, uri, charset, base);
res = this.withProperErrors("newURI", services.io, uri, charset, base);
}
res instanceof Ci.nsIURL;
return res;
},