aboutsummaryrefslogtreecommitdiff
path: root/tools/domprops.html
diff options
context:
space:
mode:
Diffstat (limited to 'tools/domprops.html')
-rw-r--r--tools/domprops.html456
1 files changed, 456 insertions, 0 deletions
diff --git a/tools/domprops.html b/tools/domprops.html
new file mode 100644
index 00000000..e217b173
--- /dev/null
+++ b/tools/domprops.html
@@ -0,0 +1,456 @@
+<!doctype html>
+<html>
+<body>
+ <script>
+ !function(G) {
+ var domprops = [];
+ var objs = [ G ];
+ var tagNames = [
+ "a",
+ "abbr",
+ "acronym",
+ "address",
+ "applet",
+ "area",
+ "article",
+ "aside",
+ "audio",
+ "b",
+ "base",
+ "basefont",
+ "bdi",
+ "bdo",
+ "bgsound",
+ "big",
+ "blink",
+ "blockquote",
+ "body",
+ "br",
+ "button",
+ "canvas",
+ "caption",
+ "center",
+ "checked",
+ "cite",
+ "code",
+ "col",
+ "colgroup",
+ "command",
+ "comment",
+ "compact",
+ "content",
+ "data",
+ "datalist",
+ "dd",
+ "declare",
+ "defer",
+ "del",
+ "details",
+ "dfn",
+ "dialog",
+ "dir",
+ "disabled",
+ "div",
+ "dl",
+ "dt",
+ "element",
+ "em",
+ "embed",
+ "fieldset",
+ "figcaption",
+ "figure",
+ "font",
+ "footer",
+ "form",
+ "frame",
+ "frameset",
+ "h1",
+ "h2",
+ "h3",
+ "h4",
+ "h5",
+ "h6",
+ "head",
+ "header",
+ "hgroup",
+ "hr",
+ "html",
+ "i",
+ "iframe",
+ "image",
+ "img",
+ "input",
+ "ins",
+ "isindex",
+ "ismap",
+ "kbd",
+ "keygen",
+ "label",
+ "legend",
+ "li",
+ "link",
+ "listing",
+ "main",
+ "map",
+ "mark",
+ "marquee",
+ "math",
+ "menu",
+ "menuitem",
+ "meta",
+ "meter",
+ "multicol",
+ "multiple",
+ "nav",
+ "nextid",
+ "nobr",
+ "noembed",
+ "noframes",
+ "nohref",
+ "noresize",
+ "noscript",
+ "noshade",
+ "nowrap",
+ "object",
+ "ol",
+ "optgroup",
+ "option",
+ "output",
+ "p",
+ "param",
+ "picture",
+ "plaintext",
+ "pre",
+ "progress",
+ "q",
+ "rb",
+ "readonly",
+ "rp",
+ "rt",
+ "rtc",
+ "ruby",
+ "s",
+ "samp",
+ "script",
+ "section",
+ "select",
+ "selected",
+ "shadow",
+ "slot",
+ "small",
+ "source",
+ "spacer",
+ "span",
+ "strike",
+ "strong",
+ "style",
+ "sub",
+ "summary",
+ "sup",
+ "svg",
+ "table",
+ "tbody",
+ "td",
+ "template",
+ "textarea",
+ "tfoot",
+ "th",
+ "thead",
+ "time",
+ "title",
+ "tr",
+ "track",
+ "tt",
+ "u",
+ "ul",
+ "var",
+ "video",
+ "wbr",
+ "xmp",
+ "XXX",
+ ];
+ for (var n = 0; n < tagNames.length; n++) {
+ add(document.createElement(tagNames[n]));
+ }
+ var nsNames = {
+ "http://www.w3.org/1998/Math/MathML": [
+ "annotation",
+ "annotation-xml",
+ "maction",
+ "maligngroup",
+ "malignmark",
+ "math",
+ "menclose",
+ "merror",
+ "mfenced",
+ "mfrac",
+ "mglyph",
+ "mi",
+ "mlabeledtr",
+ "mlongdiv",
+ "mmultiscripts",
+ "mn",
+ "mo",
+ "mover",
+ "mpadded",
+ "mphantom",
+ "mprescripts",
+ "mroot",
+ "mrow",
+ "ms",
+ "mscarries",
+ "mscarry",
+ "msgroup",
+ "msline",
+ "mspace",
+ "msqrt",
+ "msrow",
+ "mstack",
+ "mstyle",
+ "msub",
+ "msubsup",
+ "msup",
+ "mtable",
+ "mtd",
+ "mtext",
+ "mtr",
+ "munder",
+ "munderover",
+ "none",
+ "semantics",
+ ],
+ "http://www.w3.org/2000/svg": [
+ "a",
+ "altGlyph",
+ "altGlyphDef",
+ "altGlyphItem",
+ "animate",
+ "animateColor",
+ "animateMotion",
+ "animateTransform",
+ "circle",
+ "clipPath",
+ "color-profile",
+ "cursor",
+ "defs",
+ "desc",
+ "discard",
+ "ellipse",
+ "feBlend",
+ "feColorMatrix",
+ "feComponentTransfer",
+ "feComposite",
+ "feConvolveMatrix",
+ "feDiffuseLighting",
+ "feDisplacementMap",
+ "feDistantLight",
+ "feDropShadow",
+ "feFlood",
+ "feFuncA",
+ "feFuncB",
+ "feFuncG",
+ "feFuncR",
+ "feGaussianBlur",
+ "feImage",
+ "feMerge",
+ "feMergeNode",
+ "feMorphology",
+ "feOffset",
+ "fePointLight",
+ "feSpecularLighting",
+ "feSpotLight",
+ "feTile",
+ "feTurbulence",
+ "filter",
+ "font",
+ "font-face",
+ "font-face-format",
+ "font-face-name",
+ "font-face-src",
+ "font-face-uri",
+ "foreignObject",
+ "g",
+ "glyph",
+ "glyphRef",
+ "hatch",
+ "hatchpath",
+ "hkern",
+ "image",
+ "line",
+ "linearGradient",
+ "marker",
+ "mask",
+ "mesh",
+ "meshgradient",
+ "meshpatch",
+ "meshrow",
+ "metadata",
+ "missing-glyph",
+ "mpath",
+ "path",
+ "pattern",
+ "polygon",
+ "polyline",
+ "radialGradient",
+ "rect",
+ "script",
+ "set",
+ "solidcolor",
+ "stop",
+ "style",
+ "svg",
+ "switch",
+ "symbol",
+ "text",
+ "textPath",
+ "title",
+ "tref",
+ "tspan",
+ "unknown",
+ "use",
+ "view",
+ "vkern",
+ ],
+ };
+ if (document.createElementNS) for (var ns in nsNames) {
+ for (var n = 0; n < nsNames[ns].length; n++) {
+ add(document.createElementNS(ns, nsNames[ns][n]));
+ }
+ }
+ var skips = [
+ G.alert,
+ G.back,
+ G.blur,
+ G.captureEvents,
+ G.clearImmediate,
+ G.clearInterval,
+ G.clearTimeout,
+ G.close,
+ G.confirm,
+ G.console,
+ G.dump,
+ G.fetch,
+ G.find,
+ G.focus,
+ G.forward,
+ G.getAttention,
+ G.history,
+ G.home,
+ G.location,
+ G.moveBy,
+ G.moveTo,
+ G.navigator,
+ G.open,
+ G.openDialog,
+ G.print,
+ G.process,
+ G.prompt,
+ G.resizeBy,
+ G.resizeTo,
+ G.setImmediate,
+ G.setInterval,
+ G.setTimeout,
+ G.showModalDialog,
+ G.sizeToContent,
+ G.stop,
+ ];
+ var types = [];
+ var interfaces = [
+ "beforeunloadevent",
+ "compositionevent",
+ "customevent",
+ "devicemotionevent",
+ "deviceorientationevent",
+ "dragevent",
+ "event",
+ "events",
+ "focusevent",
+ "hashchangeevent",
+ "htmlevents",
+ "keyboardevent",
+ "messageevent",
+ "mouseevent",
+ "mouseevents",
+ "storageevent",
+ "svgevents",
+ "textevent",
+ "touchevent",
+ "uievent",
+ "uievents",
+ ];
+ var i = 0, full = false;
+ var addEvent = document.createEvent ? function(type) {
+ if (~indexOf(types, type)) return;
+ types.push(type);
+ for (var j = 0; j < interfaces.length; j++) try {
+ var event = document.createEvent(interfaces[j]);
+ event.initEvent(type, true, true);
+ add(event);
+ } catch (e) {}
+ } : function() {};
+ var scanProperties = Object.getOwnPropertyNames ? function(o, fn) {
+ var names = Object.getOwnPropertyNames(o);
+ names.forEach(fn);
+ for (var k in o) if (!~indexOf(names, k)) fn(k);
+ } : function(o, fn) {
+ for (var k in o) fn(k);
+ };
+ setTimeout(function next() {
+ for (var j = 10; --j >= 0 && i < objs.length; i++) {
+ var o = objs[i];
+ var skip = ~indexOf(skips, o);
+ try {
+ scanProperties(o, function(k) {
+ if (!~indexOf(domprops, k)) domprops.push(k);
+ if (/^on/.test(k)) addEvent(k.slice(2));
+ if (!full) try {
+ add(o[k]);
+ } catch (e) {}
+ });
+ } catch (e) {}
+ if (skip || full) continue;
+ try {
+ add(o.__proto__);
+ } catch (e) {}
+ try {
+ add(o.prototype);
+ } catch (e) {}
+ try {
+ add(new o());
+ } catch (e) {}
+ try {
+ add(o());
+ } catch (e) {}
+ }
+ if (!full && objs.length > 20000) {
+ alert(objs.length);
+ full = true;
+ }
+ if (i < objs.length) {
+ setTimeout(next, 0);
+ } else {
+ document.write('<pre>[\n "' + domprops.sort().join('",\n "').replace(/&/g, "&amp;").replace(/</g, "&lt;") + '"\n]</pre>');
+ }
+ }, 0);
+
+ function add(o) {
+ if (o) switch (typeof o) {
+ case "function":
+ case "object":
+ if (!~indexOf(objs, o)) objs.push(o);
+ }
+ }
+
+ function indexOf(list, value) {
+ var j = list.length;
+ while (--j >= 0) {
+ if (list[j] === value) break;
+ }
+ return j;
+ }
+ }(function() {
+ return this;
+ }());
+ </script>
+</body>
+</html>