aboutsummaryrefslogtreecommitdiffstats
path: root/tests/html
diff options
context:
space:
mode:
authorNupur Baghel <nupurbaghel@gmail.com>2018-02-14 02:11:58 +0530
committerNupur Baghel <nupurbaghel@gmail.com>2018-02-16 21:52:29 +0530
commita1fd6c39a213fbe50db4138304c8cccbfa196486 (patch)
tree299b2af4f9dbedda15844f4cd3a390db7820c3bc /tests/html
parent7945dff8ea18cd4084c1baa075d506837359ebe5 (diff)
downloadservo-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.html47
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>