diff options
author | Matt A. Tobin <mattatobin@localhost.localdomain> | 2018-02-02 04:16:08 -0500 |
---|---|---|
committer | Matt A. Tobin <mattatobin@localhost.localdomain> | 2018-02-02 04:16:08 -0500 |
commit | 5f8de423f190bbb79a62f804151bc24824fa32d8 (patch) | |
tree | 10027f336435511475e392454359edea8e25895d /layout/reftests/css-grid/support/dyn.js | |
parent | 49ee0794b5d912db1f95dce6eb52d781dc210db5 (diff) | |
download | UXP-5f8de423f190bbb79a62f804151bc24824fa32d8.tar UXP-5f8de423f190bbb79a62f804151bc24824fa32d8.tar.gz UXP-5f8de423f190bbb79a62f804151bc24824fa32d8.tar.lz UXP-5f8de423f190bbb79a62f804151bc24824fa32d8.tar.xz UXP-5f8de423f190bbb79a62f804151bc24824fa32d8.zip |
Add m-esr52 at 52.6.0
Diffstat (limited to 'layout/reftests/css-grid/support/dyn.js')
-rw-r--r-- | layout/reftests/css-grid/support/dyn.js | 127 |
1 files changed, 127 insertions, 0 deletions
diff --git a/layout/reftests/css-grid/support/dyn.js b/layout/reftests/css-grid/support/dyn.js new file mode 100644 index 000000000..816a6f9b6 --- /dev/null +++ b/layout/reftests/css-grid/support/dyn.js @@ -0,0 +1,127 @@ +/* -*- indent-tabs-mode: nil; js-indent-level: 2 -*- + * vim: sw=2 ts=2 sts=2 et filetype=javascript + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this file, + * You can obtain one at http://mozilla.org/MPL/2.0/. */ + +function loadURL(url,callback) { + var xhttp = new XMLHttpRequest(); + xhttp.onreadystatechange = function() { + if (xhttp.readyState == 4 && xhttp.status == 200) { + callback(xhttp.responseText); + } + }; + xhttp.open("GET", url, true); + xhttp.send(); +} + +function dyn1(selector) { + // get an array of elements matching |selector| + var elems = Array.prototype.slice.call(document.querySelectorAll(selector)) + + // remove the first item in each grid + var removed = elems.map(function(e) { + var child = e.children[0]; + if (child) { + var next = child.nextSibling; + e.removeChild(child); + return [ e, child, next ]; + } else { + return null; + } + }); + + document.body.style.display = 'block'; + document.body.offsetHeight; + + // insert the removed item + removed.map(function(a) { + if (a) { + a[0].insertBefore(a[1],a[2]); + } + }); +} + +function dyn2(selector) { + // get an array of elements matching |selector| + var elems = Array.prototype.slice.call(document.querySelectorAll(selector)) + + // inject a new first item in each grid + var inserted = elems.map(function(e) { + var child = document.createElement('span'); + e.insertBefore(child, e.firstChild); + return [ e, child ]; + }); + + document.body.style.display = 'block'; + document.body.offsetHeight; + + // remove the inserted item + inserted.map(function(a) { + a[0].removeChild(a[1]); + }); +} + +function dyn3(selector) { + // get an array of elements matching |selector| + var elems = Array.prototype.slice.call(document.querySelectorAll(selector)) + + // remove the second item in each grid + var removed = elems.map(function(e) { + var child = e.children[1]; + if (child) { + var next = child.nextSibling; + e.removeChild(child); + return [ e, child, next ]; + } else { + return null; + } + }); + + document.body.style.display = 'block'; + document.body.offsetHeight; + + // insert the removed items + removed.map(function(a) { + if (a) { + a[0].insertBefore(a[1],a[2]); + } + }); +} + +function dyn4(selector) { + dyn3(selector); + dyn2(selector); +} + +function dyn5(selector) { + // get an array of elements matching |selector| + var elems = Array.prototype.slice.call(document.querySelectorAll(selector)) + + // inject 20 new items in each grid + var inserted = elems.map(function(e) { + var a = new Array; + for (var i = 0; i < 20; ++i) { + var child = document.createElement('span'); + e.insertBefore(child, e.firstChild); + a.push(child); + } + return [ e, a ]; + }); + + document.body.style.display = 'block'; + document.body.offsetHeight; + + // remove the inserted item + inserted.map(function(a) { + a[1].forEach(function(child) { + a[0].removeChild(child); + }); + }); +} + +function dynamicTest(url, callback) { + document.body.style.display=''; + document.body.offsetHeight; + loadURL(url,callback); +} |