function createDOMTree(node, siblings, depth) {
if (!depth)
return;
for (var i=0; i<siblings; i++) {
var div = document.createElement("div");
node.appendChild(div);
createDOMTree(div, siblings, depth-1);
}
}
function createDeepDOMTree() {
createDOMTree(document.body, 2, 10);
}
function createShallowDOMTree() {
createDOMTree(document.body, 10, 2);
}
function createRegularDOMTree() {
createDOMTree(document.body, 4, 4);
}
function forceStyleRecalc(node) {
node.offsetTop; // forces style recalc
}
function applyCSSRule(rule) {
var css = document.createElement("style");
css.type = "text/css";
css.innerHTML = rule;
document.body.appendChild(css);
return css;
}