diff options
author | Nupur Baghel <nupurbaghel@gmail.com> | 2018-02-14 02:11:58 +0530 |
---|---|---|
committer | Nupur Baghel <nupurbaghel@gmail.com> | 2018-02-16 21:52:29 +0530 |
commit | a1fd6c39a213fbe50db4138304c8cccbfa196486 (patch) | |
tree | 299b2af4f9dbedda15844f4cd3a390db7820c3bc /tests/html | |
parent | 7945dff8ea18cd4084c1baa075d506837359ebe5 (diff) | |
download | servo-a1fd6c39a213fbe50db4138304c8cccbfa196486.tar.gz servo-a1fd6c39a213fbe50db4138304c8cccbfa196486.zip |
Added extra bool in Window object to know about its Mutation Observers
Diffstat (limited to 'tests/html')
-rw-r--r-- | tests/html/mut_observer_perf.html | 47 |
1 files changed, 47 insertions, 0 deletions
diff --git a/tests/html/mut_observer_perf.html b/tests/html/mut_observer_perf.html new file mode 100644 index 00000000000..57fcedceb4d --- /dev/null +++ b/tests/html/mut_observer_perf.html @@ -0,0 +1,47 @@ +<!DOCTYPE html> +<html> +<head> +<meta charset='utf-8'> +</head> +<body> +<script> +window.onload = function(){ + + var script = document.createElement("script"); + script.setAttribute("attr", "val"); + + var start_test = function(targetNode,attr) { + var start = performance.now(); + for( val = 1; val <= 1000; val++) { + targetNode.setAttribute(attr, val); + } + var stop = performance.now(); + console.log('Time taken:'+ (stop - start)/1000.0); + }; + + var config = { attributes: true, childList: true }; + console.log('Mutation Observer Algorithm performance testing...'); + + console.log('\nMutation performed without observer ->'); + start_test(script,"attr"); + + console.log('\nMutation performed with observer ->'); + var callback = function(mutationsList) { + for(var mutation of mutationsList) { + if (mutation.type == 'childList') { + // Uncomment below line to see changes + // console.log('A child node has been added or removed.'); + } + else if (mutation.type == 'attributes') { + // Uncomment below line to see changes + // console.log('The ' + mutation.attributeName + ' attribute was modified.'); + } + } + }; + var observer = new MutationObserver(callback); + observer.observe(script, config); + start_test(script,"attr"); +} +</script> +</body> +</html> |