blob: 6428343f1d4d5d3bbede99ef5172063db19499c3 [file] [log] [blame]
# Copyright 2024 The Chromium Authors
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.
from __future__ import annotations
import datetime as dt
from typing import Tuple
from crossbench.benchmarks.motionmark.motionmark_1 import (MotionMark1Benchmark,
MotionMark1Probe,
MotionMark1Story)
class MotionMark13Probe(MotionMark1Probe):
__doc__ = MotionMark1Probe.__doc__
NAME = "motionmark_1.3"
class MotionMark13Story(MotionMark1Story):
NAME = "motionmark_1.3"
URL: str = "https://chromium-workloads.web.app/motionmark/v1.3/MotionMark/"
URL_OFFICIAL: str = "https://browserbench.org/MotionMark1.3/"
READY_TIMEOUT: dt.timedelta = dt.timedelta(seconds=12)
DEVELOPER_READY_JS: str = (
"return !(document.querySelector('#frame-rate-detection span'));")
READY_JS: str = (
"return !!("
" document.querySelector('#frame-rate-label')?.textContent?.trim());")
class MotionMark13Benchmark(MotionMark1Benchmark):
"""
Benchmark runner for MotionMark 1.3.
See https://browserbench.org/MotionMark1.3/ for more details.
"""
NAME = "motionmark_1.3"
DEFAULT_STORY_CLS = MotionMark13Story
PROBES = (MotionMark13Probe,)
@classmethod
def version(cls) -> Tuple[int, ...]:
return (1, 3)