diff --git a/MotionMark/developer.html b/MotionMark/developer.html
index b2de742..b9a77ec 100644
--- a/MotionMark/developer.html
+++ b/MotionMark/developer.html
@@ -59,7 +59,12 @@
version
Suites:
-
Drop results here
+
+ Drop results here
+
+
+
Options:
diff --git a/MotionMark/resources/debug-runner/debug-runner.js b/MotionMark/resources/debug-runner/debug-runner.js
index 085f4d3..77efb81 100644
--- a/MotionMark/resources/debug-runner/debug-runner.js
+++ b/MotionMark/resources/debug-runner/debug-runner.js
@@ -558,7 +558,7 @@ class DebugBenchmarkController extends BenchmarkController {
let progressElement = document.querySelector("#frame-rate-detection span");
await this.detectFrameRate(progressElement);
}
-
+
#setupDropTarget()
{
var dropTarget = document.getElementById("drop-target");
@@ -587,34 +587,38 @@ class DebugBenchmarkController extends BenchmarkController {
}
dropTarget.textContent = 'Processing…';
+ this.handleResultsFile(e.dataTransfer.files[0]);
+ }, false);
+ }
- var file = e.dataTransfer.files[0];
-
- var reader = new FileReader();
- reader.filename = file.name;
- reader.onload = (e) => {
- const data = JSON.parse(e.target.result);
-
- let results;
- if (data['debugOutput'] instanceof Array)
- results = RunData.resultsDataFromBenchmarkRunnerData(data['debugOutput']);
- else
- results = RunData.resultsDataFromSingleRunData(data);
+ loadResults() {
+ document.getElementById("load-results-input").click();
+ }
- this.ensureRunnerClient([ ], { });
- this.runnerClient.scoreCalculator = new ScoreCalculator(results);
- this.showResults();
- };
+ handleResultsFile(fileOrInput) {
+ const file = fileOrInput instanceof File ? fileOrInput : fileOrInput.files[0];
+ if (!file)
+ return;
- reader.readAsText(file);
- document.title = "File: " + reader.filename;
- }, false);
+ const reader = new FileReader();
+ reader.filename = file.name;
+ reader.onload = (e) => {
+ const data = JSON.parse(e.target.result);
+ const results = (data['debugOutput'] instanceof Array) ?
+ RunData.resultsDataFromBenchmarkRunnerData(data['debugOutput']) :
+ RunData.resultsDataFromSingleRunData(data);
+ this.ensureRunnerClient([], {});
+ this.runnerClient.scoreCalculator = new ScoreCalculator(results);
+ this.showResults();
+ };
+ reader.readAsText(file);
+ document.title = "File: " + reader.filename;
}
frameRateDeterminationComplete(targetFrameRate)
{
let frameRateLabelContent = Strings.text.usingFrameRate.replace("%s", targetFrameRate);
-
+
if (!targetFrameRate) {
frameRateLabelContent = Strings.text.frameRateDetectionFailure;
targetFrameRate = 60;
@@ -635,7 +639,7 @@ class DebugBenchmarkController extends BenchmarkController {
startButton.disabled = true;
return;
}
-
+
startButton.disabled = (!suitesManager.isAtLeastOneTestSelected()) || !this.frameRateDetectionComplete;
}