1
0
mirror of https://github.com/gryf/pentadactyl-pm.git synced 2025-12-22 14:27:58 +01:00

move the global evaluateXPath() function to vimperator.buffer

This commit is contained in:
Doug Kearns
2007-08-16 11:14:50 +00:00
parent 1ec6743b5d
commit 7352f0a680
4 changed files with 33 additions and 36 deletions

View File

@@ -138,6 +138,28 @@ function Buffer() //{{{
return window.content.document.title; return window.content.document.title;
}); });
// returns an XPathResult object
this.evaluateXPath = function(expression, doc, ordered)
{
if (!doc)
doc = window.content.document;
var result = doc.evaluate(expression, doc,
function lookupNamespaceURI(prefix) {
switch (prefix) {
case 'xhtml':
return 'http://www.w3.org/1999/xhtml';
default:
return null;
}
},
ordered ? XPathResult.ORDERED_NODE_SNAPSHOT_TYPE : XPathResult.UNORDERED_NODE_SNAPSHOT_TYPE,
null
);
return result;
}
// TODO: move to v.buffers.list() // TODO: move to v.buffers.list()
this.list = function(fullmode) this.list = function(fullmode)
{ {

View File

@@ -1237,12 +1237,12 @@ function Commands() //{{{
//}}} //}}}
} //}}} } //}}}
/* takes a string like 'google bla, www.osnews.com' // takes a string like 'google bla, www.osnews.com'
* and returns an array ['www.google.com/search?q=bla', 'www.osnews.com'] // and returns an array ['www.google.com/search?q=bla', 'www.osnews.com']
*/ String.prototype.toURLArray = function() // {{{
String.prototype.toURLArray = function()
{ {
var urls = this.split(/\s*\,\s+/); var urls = this.split(/\s*\,\s+/);
begin: for (var url = 0; url < urls.length; url++) begin: for (var url = 0; url < urls.length; url++)
{ {
// FIXME: not really that good (doesn't handle .. in the middle), also problems with trailing slashes // FIXME: not really that good (doesn't handle .. in the middle), also problems with trailing slashes
@@ -1311,33 +1311,8 @@ String.prototype.toURLArray = function()
// if we are here let Firefox handle the url and hope it does // if we are here let Firefox handle the url and hope it does
// something useful with it :) // something useful with it :)
} }
return urls; return urls;
} } // }}}
/////////////////////////////////////////////////////////////////////}}}
// misc helper functions ///////////////////////////////////////////////
/////////////////////////////////////////////////////////////////////{{{
// returns an XPathResult object
function evaluateXPath(expression, doc, ordered)
{
if (!doc)
doc = window.content.document;
var res = doc.evaluate(expression, doc,
function lookupNamespaceURI(prefix) {
switch (prefix) {
case 'xhtml':
return 'http://www.w3.org/1999/xhtml';
default:
return null;
}
},
ordered ? XPathResult.ORDERED_NODE_SNAPSHOT_TYPE : XPathResult.UNORDERED_NODE_SNAPSHOT_TYPE,
null
);
return res;
}
//}}}
// vim: set fdm=marker sw=4 ts=4 et: // vim: set fdm=marker sw=4 ts=4 et:

View File

@@ -152,7 +152,7 @@ vimperator.help = function(section, easter) //{{{
'<p>Since Vimperator\'s GUI is embedded into a toolbar, it may look too 3D-like with the default theme. ' + '<p>Since Vimperator\'s GUI is embedded into a toolbar, it may look too 3D-like with the default theme. ' +
'For the best experience, I therefore recommend the <a href="https://addons.mozilla.org/firefox/364/">Whitehart</a> theme or any other flat theme.</p>\n' + 'For the best experience, I therefore recommend the <a href="https://addons.mozilla.org/firefox/364/">Whitehart</a> theme or any other flat theme.</p>\n' +
'<p>Vimperator was written by <a href="mailto:stubenschrott@gmx.net">Martin Stubenschrott</a>.' + '<p>Vimperator was written by <a href="mailto:stubenschrott@gmx.net">Martin Stubenschrott</a>. ' +
'If you appreciate my work on Vimperator and want to encourge me working on it more, you can either send me greetings, patches or make a donation: </p>\n' + 'If you appreciate my work on Vimperator and want to encourge me working on it more, you can either send me greetings, patches or make a donation: </p>\n' +
'<form action="https://www.paypal.com/cgi-bin/webscr" method="post">\n<fieldset class="paypal">' + '<form action="https://www.paypal.com/cgi-bin/webscr" method="post">\n<fieldset class="paypal">' +
@@ -245,7 +245,7 @@ vimperator.help = function(section, easter) //{{{
{ {
function findSectionElement(section) function findSectionElement(section)
{ {
return evaluateXPath('//code[@class="tag" and text()="' + section + '"]') return vimperator.buffer.evaluateXPath('//code[@class="tag" and text()="' + section + '"]')
.snapshotItem(0); .snapshotItem(0);
} }

View File

@@ -64,7 +64,7 @@ function Hints() //{{{
wins.push(win); wins.push(win);
} }
// logMessage("winId:"+win.winId); // logMessage("winId:"+win.winId);
win.res = evaluateXPath(vimperator.options["hinttags"], doc); win.res = vimperator.buffer.evaluateXPath(vimperator.options["hinttags"], doc);
win.coordLoaderId = window.setTimeout("vimperator.hints.loadCoord(" + win.winId + ", 0);", 1); win.coordLoaderId = window.setTimeout("vimperator.hints.loadCoord(" + win.winId + ", 0);", 1);
} }
@@ -141,7 +141,7 @@ function Hints() //{{{
area[3] = area[1] + win.innerHeight; area[3] = area[1] + win.innerHeight;
var doc = win.document; var doc = win.document;
var res = evaluateXPath(vimperator.options["hinttags"], doc); var res = vimperator.buffer.evaluateXPath(vimperator.options["hinttags"], doc);
var elem, i; var elem, i;
@@ -260,7 +260,7 @@ function Hints() //{{{
win = window.content; win = window.content;
var doc = win.document; var doc = win.document;
var res = evaluateXPath("//HINTS/SPAN", doc) var res = vimperator.buffer.evaluateXPath("//HINTS/SPAN", doc)
var elem, i; var elem, i;
for (i = 0; i < res.snapshotLength; i++) for (i = 0; i < res.snapshotLength; i++)