1 /* ************************************************************************
3 qooxdoo - the new era of web development
8 2004-2006 by 1&1 Internet AG, Germany, http://www.1and1.org
11 LGPL 2.1: http://www.gnu.org/licenses/lgpl.html
14 * Sebastian Werner (wpbasti)
15 * Andreas Ecker (ecker)
17 ************************************************************************ */
19 /* ************************************************************************
23 ************************************************************************ */
25 qx.OO.defineClass("qx.dev.Pollution");
30 "document" : document,
31 "body" : document.body
43 // Firefox extension: Firebug
173 qx.Class.consoleInfo = function(object)
175 alert("Global namespace is polluted by:\n\n" + qx.dev.Pollution.getTextList(object));
178 qx.Class.extract = function(object)
181 var ign = qx.dev.Pollution.ignore[object];
182 var obj = qx.dev.Pollution.names[object];
188 // Ignore null or undefined values
189 if (typeof obj[key] == "undefined" || obj[key] === null) {
193 // Ignore native code
194 if (typeof obj[key] == "function" && obj[key].toString().indexOf("[native code]") != -1) {
198 // Ignore if configured
199 if (qx.lang.Array.contains(ign, key)) {
208 ext.push({ "key" : key, "value" : obj[key] });
214 qx.Class.getHtmlTable = function(object)
218 var rowStart = "<tr style='vertical-align:top'><td>";
219 var cellSplit = "</td><td>";
220 var rowEnd = "</td></tr>";
224 var ext = this.extract(object);
226 for (var i=0; i<ext.length; i++) {
227 all.push(rowStart + ext[i].key + cellSplit + ext[i].value + rowEnd);
230 all.push("</table>");
235 qx.Class.getTextList = function(object)
239 var cellSplit = ": ";
242 var ext = this.extract(object);
244 for (var i=0; i<ext.length; i++) {
245 all.push(ext[i].key + cellSplit + ext[i].value + rowEnd);