mirror of
https://github.com/gryf/pentadactyl-pm.git
synced 2025-12-22 10:27:58 +01:00
add vimperator.util.escapeHTML
This commit is contained in:
@@ -262,11 +262,11 @@ function Bookmarks() //{{{
|
|||||||
"<table><tr align=\"left\" class=\"hl-Title\"><th>title</th><th>keyword</th><th>URL</th><th align=\"right\">tags</th></tr>";
|
"<table><tr align=\"left\" class=\"hl-Title\"><th>title</th><th>keyword</th><th>URL</th><th align=\"right\">tags</th></tr>";
|
||||||
for (var i = 0; i < items.length; i++)
|
for (var i = 0; i < items.length; i++)
|
||||||
{
|
{
|
||||||
var title = items[i][1].replace(/</, "<").replace(/>/, ">");
|
var title = vimperator.util.escapeHTML(items[i][1]);
|
||||||
if (title.length > 50)
|
if (title.length > 50)
|
||||||
title = title.substr(0, 47) + "...";
|
title = title.substr(0, 47) + "...";
|
||||||
var keyword = "".substr(0,12); // maximum 12 chars
|
var keyword = "".substr(0,12); // maximum 12 chars
|
||||||
var url = items[i][0].replace(/</, "<").replace(/>/, ">");
|
var url = vimperator.util.escapeHTML(items[i][0]);
|
||||||
var tags = "tag1, tag2";
|
var tags = "tag1, tag2";
|
||||||
list += "<tr><td>" + title + "</td><td style=\"color: blue\" align=\"center\">" + keyword +
|
list += "<tr><td>" + title + "</td><td style=\"color: blue\" align=\"center\">" + keyword +
|
||||||
"</td><td style=\"color: green; width: 100%\">" + url +
|
"</td><td style=\"color: green; width: 100%\">" + url +
|
||||||
@@ -493,10 +493,10 @@ function History() //{{{
|
|||||||
"<table><tr align=\"left\" class=\"hl-Title\"><th>title</th><th>URL</th></tr>";
|
"<table><tr align=\"left\" class=\"hl-Title\"><th>title</th><th>URL</th></tr>";
|
||||||
for (var i = 0; i < items.length; i++)
|
for (var i = 0; i < items.length; i++)
|
||||||
{
|
{
|
||||||
var title = items[i][1].replace(/</, "<").replace(/>/, ">");
|
var title = vimperator.util.escapeHTML(items[i][1]);
|
||||||
if (title.length > 50)
|
if (title.length > 50)
|
||||||
title = title.substr(0, 47) + "...";
|
title = title.substr(0, 47) + "...";
|
||||||
var url = items[i][0].replace(/</, "<").replace(/>/, ">");
|
var url = vimperator.util.escapeHTML(items[i][0]);
|
||||||
list += "<tr><td>" + title + "</td><td style=\"color: green;\">" + url + "</td></tr>";
|
list += "<tr><td>" + title + "</td><td style=\"color: green;\">" + url + "</td></tr>";
|
||||||
}
|
}
|
||||||
list += "</table>";
|
list += "</table>";
|
||||||
@@ -753,7 +753,7 @@ function Marks() //{{{
|
|||||||
+ "<td> " + marks[i][0] + "</td>"
|
+ "<td> " + marks[i][0] + "</td>"
|
||||||
+ "<td align=\"right\">" + Math.round(marks[i][1].position.y * 100) + "%</td>"
|
+ "<td align=\"right\">" + Math.round(marks[i][1].position.y * 100) + "%</td>"
|
||||||
+ "<td align=\"right\">" + Math.round(marks[i][1].position.x * 100) + "%</td>"
|
+ "<td align=\"right\">" + Math.round(marks[i][1].position.x * 100) + "%</td>"
|
||||||
+ "<td style=\"color: green;\">" + marks[i][1].location.replace(/</, "<").replace(/>/, ">") + "</td>"
|
+ "<td style=\"color: green;\">" + vimperator.util.escapeHTML(marks[i][1].location) + "</td>"
|
||||||
+ "</tr>";
|
+ "</tr>";
|
||||||
}
|
}
|
||||||
list += "</table>";
|
list += "</table>";
|
||||||
@@ -846,7 +846,7 @@ function QuickMarks() //{{{
|
|||||||
for (var i = 0; i < marks.length; i++)
|
for (var i = 0; i < marks.length; i++)
|
||||||
{
|
{
|
||||||
list += "<tr><td> " + marks[i][0] +
|
list += "<tr><td> " + marks[i][0] +
|
||||||
"</td><td style=\"color: green;\">" + marks[i][1].replace(/</, "<").replace(/>/, ">") + "</td></tr>";
|
"</td><td style=\"color: green;\">" + vimperator.util.escapeHTML(marks[i][1]) + "</td></tr>";
|
||||||
}
|
}
|
||||||
list += "</table>";
|
list += "</table>";
|
||||||
|
|
||||||
|
|||||||
@@ -244,8 +244,8 @@ function Buffer() //{{{
|
|||||||
|
|
||||||
[number, title] = items[i][0].split(/:\s+/, 2);
|
[number, title] = items[i][0].split(/:\s+/, 2);
|
||||||
url = items[i][1];
|
url = items[i][1];
|
||||||
url = url.replace(/>/, ">").replace(/</, "<");
|
url = vimperator.util.escapeHTML(url);
|
||||||
title = title.replace(/>/, ">").replace(/</, "<");
|
title = vimperator.util.escapeHTML(title);
|
||||||
|
|
||||||
list += "<tr><td align=\"right\"> " + number + "</td><td>" + indicator +
|
list += "<tr><td align=\"right\"> " + number + "</td><td>" + indicator +
|
||||||
"</td><td style=\"width: 250px; max-width: 500px; overflow: hidden;\">" + title +
|
"</td><td style=\"width: 250px; max-width: 500px; overflow: hidden;\">" + title +
|
||||||
|
|||||||
@@ -503,7 +503,7 @@ function Commands() //{{{
|
|||||||
if (typeof arg === "object")
|
if (typeof arg === "object")
|
||||||
arg = vimperator.objectToString(arg, color);
|
arg = vimperator.objectToString(arg, color);
|
||||||
else if (typeof arg === "function")
|
else if (typeof arg === "function")
|
||||||
arg = arg.toString().replace(/</g, "<").replace(/>/, ">");
|
arg = vimperator.util.escapeHTML(arg.toString());
|
||||||
else if (typeof arg === "number" || typeof arg === "boolean")
|
else if (typeof arg === "number" || typeof arg === "boolean")
|
||||||
arg = "" + arg;
|
arg = "" + arg;
|
||||||
else if (typeof arg === "undefined")
|
else if (typeof arg === "undefined")
|
||||||
|
|||||||
@@ -59,9 +59,7 @@ vimperator.help = function(section, easter) //{{{
|
|||||||
// keep <br/>
|
// keep <br/>
|
||||||
//usage = usage.replace(/<([^b][^r].*>)/g, "<$1");
|
//usage = usage.replace(/<([^b][^r].*>)/g, "<$1");
|
||||||
//usage = usage.replace(/[^b][^r][^\/]>/g, ">");
|
//usage = usage.replace(/[^b][^r][^\/]>/g, ">");
|
||||||
usage = usage.replace(/&/g, "&");
|
usage = vimperator.util.escapeHTML(usage);
|
||||||
usage = usage.replace(/</g, "<");
|
|
||||||
usage = usage.replace(/>/g, ">");
|
|
||||||
usage = usage.replace(/\\n/g, "<br/>");
|
usage = usage.replace(/\\n/g, "<br/>");
|
||||||
// color [count], [!], {arg} and [arg] in the usage, not nice and error prone but the regexp work (for now)
|
// color [count], [!], {arg} and [arg] in the usage, not nice and error prone but the regexp work (for now)
|
||||||
usage = usage.replace(/({[^}]+})/g, "<span class=\"argument\">$1</span>"); // required args
|
usage = usage.replace(/({[^}]+})/g, "<span class=\"argument\">$1</span>"); // required args
|
||||||
@@ -98,11 +96,7 @@ vimperator.help = function(section, easter) //{{{
|
|||||||
for (var j=0; j < names.length; j++)
|
for (var j=0; j < names.length; j++)
|
||||||
{
|
{
|
||||||
var cmd_name = names[j];
|
var cmd_name = names[j];
|
||||||
cmd_name = cmd_name.replace(/</g, "<");
|
cmd_name = vimperator.util.escapeHTML(cmd_name);
|
||||||
cmd_name = cmd_name.replace(/>/g, ">");
|
|
||||||
// cmd_name = cmd_name.replace(/"/g, """);
|
|
||||||
// cmd_name = cmd_name.replace(/'/g, "'");
|
|
||||||
// cmd_name = cmd_name.replace(/&/g, "&");
|
|
||||||
ret += '<code class="tag">' + beg + cmd_name + end + '</code><br/>';
|
ret += '<code class="tag">' + beg + cmd_name + end + '</code><br/>';
|
||||||
}
|
}
|
||||||
ret += '</td></tr>';
|
ret += '</td></tr>';
|
||||||
|
|||||||
@@ -287,9 +287,9 @@ function Mappings() //{{{
|
|||||||
for (var j = 0; j < maps[i].names.length; j++)
|
for (var j = 0; j < maps[i].names.length; j++)
|
||||||
{
|
{
|
||||||
list += "<tr>";
|
list += "<tr>";
|
||||||
list += "<td> " + maps[i].names[j].replace(/</g, "<").replace(/>/g, ">") + "</td>"
|
list += "<td> " + vimperator.util.escapeHTML(maps[i].names[j]) + "</td>"
|
||||||
if (maps[i].rhs)
|
if (maps[i].rhs)
|
||||||
list += "<td> " + maps[i].rhs.replace(/</g, "<").replace(/>/g, ">") + "</td>"
|
list += "<td> " + vimperator.util.escapeHTML(maps[i].rhs) + "</td>"
|
||||||
list += "</tr>";
|
list += "</tr>";
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
38
content/util.js
Normal file
38
content/util.js
Normal file
@@ -0,0 +1,38 @@
|
|||||||
|
/***** BEGIN LICENSE BLOCK ***** {{{
|
||||||
|
Version: MPL 1.1/GPL 2.0/LGPL 2.1
|
||||||
|
|
||||||
|
The contents of this file are subject to the Mozilla Public License Version
|
||||||
|
1.1 (the "License"); you may not use this file except in compliance with
|
||||||
|
the License. You may obtain a copy of the License at
|
||||||
|
http://www.mozilla.org/MPL/
|
||||||
|
|
||||||
|
Software distributed under the License is distributed on an "AS IS" basis,
|
||||||
|
WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
|
||||||
|
for the specific language governing rights and limitations under the
|
||||||
|
License.
|
||||||
|
|
||||||
|
(c) 2006-2007: Martin Stubenschrott <stubenschrott@gmx.net>
|
||||||
|
|
||||||
|
Alternatively, the contents of this file may be used under the terms of
|
||||||
|
either the GNU General Public License Version 2 or later (the "GPL"), or
|
||||||
|
the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
|
||||||
|
in which case the provisions of the GPL or the LGPL are applicable instead
|
||||||
|
of those above. If you wish to allow use of your version of this file only
|
||||||
|
under the terms of either the GPL or the LGPL, and not to allow others to
|
||||||
|
use your version of this file under the terms of the MPL, indicate your
|
||||||
|
decision by deleting the provisions above and replace them with the notice
|
||||||
|
and other provisions required by the GPL or the LGPL. If you do not delete
|
||||||
|
the provisions above, a recipient may use your version of this file under
|
||||||
|
the terms of any one of the MPL, the GPL or the LGPL.
|
||||||
|
}}} ***** END LICENSE BLOCK *****/
|
||||||
|
|
||||||
|
vimperator.util = {
|
||||||
|
escapeHTML: function(str)
|
||||||
|
{
|
||||||
|
var e = window.content.document.createElement("div");
|
||||||
|
e.appendChild(window.content.document.createTextNode(str));
|
||||||
|
return e.innerHTML;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// vim: set fdm=marker sw=4 ts=4 et:
|
||||||
@@ -406,7 +406,7 @@ const vimperator = (function() //{{{
|
|||||||
{
|
{
|
||||||
var str = value.toString();
|
var str = value.toString();
|
||||||
if (typeof str == "string") // can be "undefined"
|
if (typeof str == "string") // can be "undefined"
|
||||||
value = str.replace(/</g, "<").replace(/>/g, ">");
|
value = vimperator.util.escapeHTML(str);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -53,6 +53,7 @@ the terms of any one of the MPL, the GPL or the LGPL.
|
|||||||
<script type="application/x-javascript;version=1.7" src="options.js"/>
|
<script type="application/x-javascript;version=1.7" src="options.js"/>
|
||||||
<script type="application/x-javascript;version=1.7" src="tabs.js"/>
|
<script type="application/x-javascript;version=1.7" src="tabs.js"/>
|
||||||
<script type="application/x-javascript;version=1.7" src="ui.js"/>
|
<script type="application/x-javascript;version=1.7" src="ui.js"/>
|
||||||
|
<script type="application/x-javascript;version=1.7" src="util.js"/>
|
||||||
|
|
||||||
<window id="main-window">
|
<window id="main-window">
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user