Replace SimplePromise with native Promises

This PR replaces usage of SimplePromise with native Promises. The API shape
is slightly different, requiring some logic changes.

The biggest change is that `Stage.initialize()` is now async, which
lets us remove `waitUntilRead()`, and `_runBenchmarkAndRecordResults()`
is also async.

modified:   MotionMark/resources/debug-runner/debug-runner.js: Fix a bug that broke clicking some controls.
modified:   MotionMark/resources/extensions.js
modified:   MotionMark/resources/runner/benchmark-runner.js
modified:   MotionMark/resources/runner/motionmark.js
modified:   MotionMark/tests/3d/resources/webgl.js
modified:   MotionMark/tests/3d/resources/webgpu.js
modified:   MotionMark/tests/bouncing-particles/resources/bouncing-canvas-images.js
modified:   MotionMark/tests/bouncing-particles/resources/bouncing-canvas-particles.js
modified:   MotionMark/tests/bouncing-particles/resources/bouncing-canvas-shapes.js
modified:   MotionMark/tests/bouncing-particles/resources/bouncing-css-images.js
modified:   MotionMark/tests/bouncing-particles/resources/bouncing-css-shapes.js
modified:   MotionMark/tests/bouncing-particles/resources/bouncing-particles.js
modified:   MotionMark/tests/bouncing-particles/resources/bouncing-svg-images.js
modified:   MotionMark/tests/bouncing-particles/resources/bouncing-svg-shapes.js
modified:   MotionMark/tests/bouncing-particles/resources/bouncing-tagged-images.js
modified:   MotionMark/tests/core/resources/canvas-stage.js
modified:   MotionMark/tests/core/resources/canvas-tests.js
modified:   MotionMark/tests/core/resources/design.js
modified:   MotionMark/tests/core/resources/focus.js
modified:   MotionMark/tests/core/resources/image-data.js
modified:   MotionMark/tests/core/resources/leaves.js
modified:   MotionMark/tests/core/resources/multiply.js
modified:   MotionMark/tests/core/resources/suits.js
modified:   MotionMark/tests/dom/resources/compositing-transforms.js
modified:   MotionMark/tests/dom/resources/dom-particles.js
modified:   MotionMark/tests/dom/resources/focus.js
modified:   MotionMark/tests/resources/main.js
modified:   MotionMark/tests/simple/resources/simple-canvas-paths.js
modified:   MotionMark/tests/simple/resources/tiled-canvas-image.js
modified:   MotionMark/tests/template/resources/template-canvas.js
modified:   MotionMark/tests/template/resources/template-css.js
modified:   MotionMark/tests/template/resources/template-svg.js
31 files changed
tree: ab1da68ac93d1d9d8c30de0058e2721ea2e7c072
  1. MotionMark/
  2. .gitignore
  3. Governance.md
  4. index.html
  5. LICENSE
  6. README.md
README.md

MotionMark

MotionMark is a graphics benchmark to measure the performance of graphics operations on the web.