# 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)