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; }