Chromium Code Reviews| OLD | NEW |
|---|---|
| (Empty) | |
| 1 if (window.internals) { | |
| 2 window.internals.settings.setAcceleratedCompositingForOverflowScrollEnabled( true); | |
| 3 // internals.setUniversalAcceleratedCompositingForOverflowScrollEnabled(true) ; | |
|
Julien - ping for review
2013/08/21 01:34:40
This line is probably unneeded :)
Ian Vollick
2013/08/23 15:02:40
lol. Done.
| |
| 4 } | |
| 5 | |
| 6 var isFixedPositioned = true; | |
| 7 var isContainingBlock = true; | |
| 8 var hasSibling = true; | |
| 9 var hasGrandchildren = true; | |
|
Julien - ping for review
2013/08/21 01:34:40
These variables are just magical and make it hard
Ian Vollick
2013/08/23 15:02:40
I've rearranged things a bunch and come up with so
| |
| 10 | |
| 11 function addDomElement(elementType, className, id, parent, description, indent) | |
| 12 { | |
| 13 var element = document.createElement(elementType); | |
| 14 element.setAttribute("class", className); | |
| 15 element.setAttribute("id", id); | |
| 16 if (parent === "body") | |
| 17 document.body.appendChild(element); | |
| 18 else | |
| 19 document.getElementById(parent).appendChild(element); | |
| 20 | |
| 21 if (elementType === "div") { | |
| 22 for (var i = 0; i < indent; ++i) | |
| 23 description.push(" "); | |
| 24 description.push("+ "); | |
| 25 description.push(id); | |
| 26 if (className) { | |
| 27 description.push(", class: "); | |
| 28 description.push(className); | |
| 29 } | |
| 30 description.push("\n"); | |
| 31 } else { | |
| 32 element.innerHTML = description.join(""); | |
| 33 } | |
| 34 } | |
| 35 | |
| 36 function buildDom(description, indent) | |
| 37 { | |
| 38 var parentElement = "body"; | |
| 39 if (hasSibling) { | |
| 40 addDomElement("div", "", "ancestor", "body", description, indent); | |
| 41 indent++; | |
| 42 addDomElement("div", "positionFixed", "sibling", "ancestor", description , indent); | |
| 43 parentElement = "ancestor"; | |
| 44 } | |
| 45 | |
| 46 var overflowClass = isContainingBlock | |
| 47 ? "positionAbsolute overflow" | |
| 48 : "overflow"; | |
| 49 | |
| 50 addDomElement("div", overflowClass, "container", parentElement, description, indent); | |
| 51 indent++; | |
| 52 | |
| 53 parentElement = "container"; | |
| 54 if (hasGrandchildren) { | |
| 55 addDomElement("div", "", "scrollingContainer", parentElement, descriptio n, indent); | |
| 56 indent++; | |
| 57 parentElement = "scrollingContainer"; | |
| 58 } | |
| 59 | |
| 60 positionedClass = isFixedPositioned ? "positionFixed" : "positionAbsolute"; | |
| 61 | |
| 62 addDomElement("div", positionedClass, "positioned", parentElement, descripti on, indent); | |
| 63 | |
| 64 for (var i = 0; i < 5; ++i) { | |
| 65 var scrolledClass = "scrolled"; | |
| 66 if ((i % 2) == 0) { | |
|
Julien - ping for review
2013/08/21 01:34:40
We usually don't put curly braces for single line
Ian Vollick
2013/08/23 15:02:40
Done.
| |
| 67 scrolledClass += " onTop"; | |
| 68 } | |
| 69 addDomElement("div", scrolledClass, "scrolled", parentElement, descripti on, indent); | |
| 70 } | |
| 71 } | |
| 72 | |
| 73 function doTest() { | |
| 74 var description = ["This test constructs the following tree:\n"]; | |
| 75 var indent = 0; | |
| 76 buildDom(description, indent) | |
| 77 | |
| 78 if (!window.internals) { | |
| 79 addDomElement("pre", "", "console", "body", description, indent); | |
| 80 var pre = document.getElementById("console"); | |
| 81 pre.innerHTML += "\nWe then check that scrolling is accelerated."; | |
| 82 } else { | |
| 83 testRunner.dumpAsText(true); | |
| 84 | |
| 85 var container = document.getElementById("container"); | |
| 86 container.scrollTop = container.scrollHeight - container.clientHeight; | |
| 87 | |
| 88 var layerTreeAsText = internals.layerTreeAsText(document); | |
| 89 | |
| 90 addDomElement("pre", "", "console", "body", description, indent); | |
| 91 var pre = document.getElementById("console"); | |
| 92 pre.style.left = "-80000px"; | |
| 93 pre.innerHTML = layerTreeAsText; | |
| 94 } | |
| 95 } | |
| OLD | NEW |