+2017-05-19 Ryosuke Niwa <rniwa@webkit.org>
+
+ Merge Speedometer 2.0 fixes up to r217121 to browserbench.org
+ https://bugs.webkit.org/show_bug.cgi?id=172389
+
+ Rubber-stamped by Chris Dumez.
+
+ Merged the various fixes for Speedometer 2.0 starting from r217107 through r217121.
+
+ * Speedometer2.0/InteractiveRunner.html:
+ * Speedometer2.0/resources/benchmark-runner.js:
+ * Speedometer2.0/resources/tests.js:
+ * Speedometer2.0/resources/todomvc/dependency-examples/flight/flight/app/js/main.js:
+ * Speedometer2.0/resources/todomvc/dependency-examples/flight/flight/node_modules/requirejs/require.js:
+ * Speedometer2.0/resources/todomvc/functional-prog-examples/elm/dist/elm.js:
+ * Speedometer2.0/resources/todomvc/vanilla-examples/vanillajs/js/store.js:
+
2017-05-18 Ryosuke Niwa <rniwa@webkit.org>
Add Speedometer 2.0 to browserbench.org for final testing
checkboxes[i].click();
}),
new BenchmarkTestStep('DeletingAllItems', function (newTodo, contentWindow, contentDocument) {
- var deleteButtons = contentDocument.querySelectorAll('.destroy');
- for (var i = 0; i < deleteButtons.length; i++)
- deleteButtons[i].click();
+ for (var i = 0; i < numberOfItemsToAdd; i++)
+ contentDocument.querySelector('.destroy').click();
}),
]
});
}
}),
new BenchmarkTestStep('CompletingAllItems', function (newTodo, contentWindow, contentDocument) {
- var checkboxes = contentDocument.querySelectorAll('.toggle');
+ var checkboxes = contentDocument.getElementsByClassName('toggle');
for (var i = 0; i < checkboxes.length; i++)
checkboxes[i].click();
}),
new BenchmarkTestStep('DeletingAllItems', function (newTodo, contentWindow, contentDocument) {
- var deleteButtons = contentDocument.querySelectorAll('.destroy');
- for (var i = 0; i < deleteButtons.length; i++)
- deleteButtons[i].click();
+ for (var i = 0; i < numberOfItemsToAdd; i++)
+ contentDocument.querySelector('.destroy').click();
}),
]
})
}),
new BenchmarkTestStep('DeletingItems', function (params, contentWindow, contentDocument) {
var deleteButtons = contentDocument.querySelectorAll('.destroy');
- for (var i = 0; i < deleteButtons.length; i++)
- deleteButtons[i].click();
+ for (var i = 0; i < numberOfItemsToAdd; i++)
+ contentDocument.querySelector('.destroy').click();
}),
]
});
+function processElmWorkQueue(contentWindow)
+{
+ contentWindow.elmWork();
+ var callbacks = contentWindow.rAFCallbackList;
+ var i = 0;
+ while (i < callbacks.length) {
+ callbacks[i]();
+ i++;
+ }
+ contentWindow.rAFCallbackList = [];
+}
+
Suites.push({
name: 'Elm-TodoMVC',
url: 'todomvc/functional-prog-examples/elm/index.html',
bubbles: true,
cancelable: true
}));
+ processElmWorkQueue(contentWindow);
triggerEnter(newTodo, 'keydown');
+ processElmWorkQueue(contentWindow);
}
}),
new BenchmarkTestStep('CompletingAllItems', function (params, contentWindow, contentDocument) {
var checkboxes = contentDocument.querySelectorAll('.toggle');
- for (var i = 0; i < checkboxes.length; i++)
+ for (var i = 0; i < checkboxes.length; i++) {
checkboxes[i].click();
+ processElmWorkQueue(contentWindow);
+ }
}),
new BenchmarkTestStep('DeletingItems', function (params, contentWindow, contentDocument) {
- var deleteButtons = contentDocument.querySelectorAll('.destroy');
- for (var i = 0; i < deleteButtons.length; i++)
- deleteButtons[i].click();
+ for (var i = 0; i < numberOfItemsToAdd; i++) {
+ contentDocument.querySelector('.destroy').click();
+ processElmWorkQueue(contentWindow);
+ }
}),
]
});
name: 'Flight-TodoMVC',
url: 'todomvc/dependency-examples/flight/flight/index.html',
prepare: function (runner, contentWindow, contentDocument) {
- return runner.waitForElement('#new-todo').then(function (element) {
- element.focus();
- return element;
+ return runner.waitForElement('#appIsReady').then(function (element) {
+ var newTodo = contentDocument.getElementById('new-todo');
+ newTodo.focus();
+ return newTodo;
});
},
tests: [