Refactor test suites to a separate class.
authorjonlee@apple.com <jonlee@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Mon, 12 Oct 2015 23:22:23 +0000 (23:22 +0000)
committerjonlee@apple.com <jonlee@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Mon, 12 Oct 2015 23:22:23 +0000 (23:22 +0000)
commitb0dcdd82965fb5fdeccd1e8bb58f6126838cd30e
treef799e9b36bfe5ff6809b524b67e2337692dfa301
parent7ac3020e8ba9be4557d86b8619f87e1f3f8b862b
Refactor test suites to a separate class.
https://bugs.webkit.org/show_bug.cgi?id=150053
<rdar://problem/23078645>

Reviewed by Dean Jackson.

Create a Suite class to refactor out prepare() and run().
Generate the checkboxes representing the suites using Suites
instead of maintaining a separate list. Also, save the
selections out to localStorage.

* Animometer/runner/animometer.html: Remove the explicitly listed
suites. These will be generated from Suites instead.
* Animometer/runner/resources/animometer.js:
(populateSettings): Iterate through Suites, and create the
label and checkbox. Attach the Suite object to the checkbox so
when the benchmark is started, we get direct access. Initialize
the checkmark based on its value in localStorage. Set this to
run when DOMContentLoaded is dispatched.
(startBenchmark): Grab all of the checkboxes, inspect their
values, add it to enabledSuites if selected. Remember whether
the suite was enabled in localStorage, so that it's easy to do
repeated runs.
* Animometer/runner/resources/tests.js:
(Suite): Create a new Suite class. Refactor out prepare() and
run(), since all of them have the same implementation. Populate
Suites with Suite instances instead of generic objects.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@190902 268f45cc-cd09-0410-ab3c-d52691b4dbfc
PerformanceTests/Animometer/runner/animometer.html
PerformanceTests/Animometer/runner/resources/animometer.js
PerformanceTests/Animometer/runner/resources/tests.js
PerformanceTests/ChangeLog