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:
@@ -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
|
||||
);
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -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;
|
||||
},
|
||||
|
||||
Reference in New Issue
Block a user