1
0
mirror of https://github.com/gryf/pentadactyl-pm.git synced 2025-12-22 22:08:00 +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;
});
// 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()
this.list = function(fullmode)
{

View File

@@ -1237,12 +1237,12 @@ function Commands() //{{{
//}}}
} //}}}
/* takes a string like 'google bla, www.osnews.com'
* and returns an array ['www.google.com/search?q=bla', 'www.osnews.com']
*/
String.prototype.toURLArray = function()
// takes a string like 'google bla, www.osnews.com'
// and returns an array ['www.google.com/search?q=bla', 'www.osnews.com']
String.prototype.toURLArray = function() // {{{
{
var urls = this.split(/\s*\,\s+/);
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
@@ -1311,33 +1311,8 @@ String.prototype.toURLArray = function()
// if we are here let Firefox handle the url and hope it does
// something useful with it :)
}
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:

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. ' +
'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' +
'<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)
{
return evaluateXPath('//code[@class="tag" and text()="' + section + '"]')
return vimperator.buffer.evaluateXPath('//code[@class="tag" and text()="' + section + '"]')
.snapshotItem(0);
}

View File

@@ -64,7 +64,7 @@ function Hints() //{{{
wins.push(win);
}
// 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);
}
@@ -141,7 +141,7 @@ function Hints() //{{{
area[3] = area[1] + win.innerHeight;
var doc = win.document;
var res = evaluateXPath(vimperator.options["hinttags"], doc);
var res = vimperator.buffer.evaluateXPath(vimperator.options["hinttags"], doc);
var elem, i;
@@ -260,7 +260,7 @@ function Hints() //{{{
win = window.content;
var doc = win.document;
var res = evaluateXPath("//HINTS/SPAN", doc)
var res = vimperator.buffer.evaluateXPath("//HINTS/SPAN", doc)
var elem, i;
for (i = 0; i < res.snapshotLength; i++)