diff --git a/content/util.js b/content/util.js
index e6cae247..2fb5f167 100644
--- a/content/util.js
+++ b/content/util.js
@@ -45,40 +45,48 @@ vimperator.util = {
{
var type = typeof(arg);
- if (type == "number")
+ // some objects like window.JSON or getBrowsers()._browsers need the try/catch
+ try
{
- return "" + arg + "";
- }
- else if (type == "string")
- {
- if (process_strings)
- arg = '"' + vimperator.util.escapeHTML(arg.replace(/\n/, "\\n")) + '"';
+ if (type == "number")
+ {
+ return "" + arg + "";
+ }
+ else if (type == "string")
+ {
+ if (process_strings)
+ arg = '"' + vimperator.util.escapeHTML(arg.replace(/\n/, "\\n")) + '"';
- return "" + arg + "";
- }
- else if (type == "boolean")
- {
- return "" + arg + "";
- }
- else if (arg == null || arg == "undefined")
- {
- return "" + arg + "";
- }
- else if (type == "object" || type == "function")
- {
- // for java packages value.toString() would crash so badly
- // that we cannot even try/catch it
- if (/^\[JavaPackage.*\]$/.test(arg))
- return "[JavaPackage]";
+ return "" + arg + "";
+ }
+ else if (type == "boolean")
+ {
+ return "" + arg + "";
+ }
+ else if (arg == null || arg == "undefined")
+ {
+ return "" + arg + "";
+ }
+ else if (type == "object" || type == "function")
+ {
+ // for java packages value.toString() would crash so badly
+ // that we cannot even try/catch it
+ if (/^\[JavaPackage.*\]$/.test(arg))
+ return "[JavaPackage]";
- var str = arg.toString();
- if (typeof str == "string") // can be "undefined"
- return vimperator.util.escapeHTML(str);
- else
- return "undefined";
+ var str = arg.toString();
+ if (typeof str == "string") // can be "undefined"
+ return vimperator.util.escapeHTML(str);
+ else
+ return "undefined";
+ }
+ }
+ catch (e)
+ {
+ return "<unknown>";
}
- return arg;
+ return "<unknown type>";
},
// takes a string like 'google bla, www.osnews.com'
@@ -160,7 +168,7 @@ vimperator.util = {
highlightURL: function (str, force)
{
- if (force || /^[a-zA-Z]+:\/\/.*\//.test(str))
+ if (force || /^[a-zA-Z]+:\/\//.test(str))
return "" + vimperator.util.escapeHTML(str) + "";
else
return str;