Add support for statically linking to a specific test
authorjonlee@apple.com <jonlee@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Fri, 18 Mar 2016 17:58:11 +0000 (17:58 +0000)
committerjonlee@apple.com <jonlee@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Fri, 18 Mar 2016 17:58:11 +0000 (17:58 +0000)
commit4fa8f218cd6224b6f4ca4ca78166510e6d170478
tree8003f3ce9ee8334b0885a2af8b715996cb089b97
parent024c45b5ba54f44ab03cc299cf63cc25877cc1de
Add support for statically linking to a specific test
https://bugs.webkit.org/show_bug.cgi?id=155631

Rubber-stamped by Darin Adler.

* Animometer/developer.html: Update to call restartBenchmark instead so that it works for
both the preset and the manually set test sessions.
* Animometer/resources/debug-runner/animometer.css:
(.tree .link): Style the "link" UI.
* Animometer/resources/debug-runner/animometer.js: Move updateDisplay from suitesManager
to optionsManager since this is a visual option and has nothing to do with the suites
settings. Update the construction of the test UI by including a "link" after each test.
Clicking on that link brings up a JS prompt with a URL and a query string with the current
parameters of the controller, and selected test. Pasting this URL into the location bar will
automatically start running the selected test.
(suitesManager.suitesFromQueryString): Iterate through the Suites and tests and find the one
that matches the provided parameters. Returns an object similar to the form in
suitesManager.updateLocalStorageFromUI.
(benchmarkController.initialize): After settings up the events and options, try parsing the
query string and running the benchmark immediately. Otherwise, fall back to the form.
(benchmarkController.startBenchmark): Store the options and suites into member variables for
reuse in restartBenchmark.
(benchmarkController.startBenchmarkImmediatelyIfEncoded): Convert the query string to an object.
If that's successful, find the suite and test referenced in the query string. Start the benchmark if
the search for the test succeeded.
* Animometer/resources/extensions.js:
(Utilities.stripNonASCIICharacters): Helper method to convert the name of the suite and test
into a query-string-friendly version.
(Utilities.convertObjectToQueryString): Helper method to convert an object to query string
format.
(Utilities.convertQueryStringToObject): Helper method to convert query string into an object
with properties and values.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@198428 268f45cc-cd09-0410-ab3c-d52691b4dbfc
PerformanceTests/Animometer/developer.html
PerformanceTests/Animometer/resources/debug-runner/animometer.css
PerformanceTests/Animometer/resources/debug-runner/animometer.js
PerformanceTests/Animometer/resources/extensions.js
PerformanceTests/ChangeLog