From 31f9024bffff59cb4f4ee51aef7a2ee011731c62 Mon Sep 17 00:00:00 2001 From: Harvey Zhao Date: Mon, 14 Sep 2026 13:02:49 +0800 Subject: [PATCH] test(multiple-subtitles): [PKG-MULTI-SUB-09] isolate old-core source seeking from caption loss --- .../ARCHITECTURE.md | 9 +- .../multiple-subtitles-switch-validation.json | 8172 +++++++++++++++++ ...026-09-14-PKG-MULTI-SUB-09-switch-order.md | 81 + refactor/plan.md | 12 +- refactor/progress.md | 15 + refactor/risk-table.md | 2 +- refactor/risks.json | 23 +- refactor/tasks.json | 24 +- test/README.md | 11 +- .../multiple-subtitles-combinations.spec.js | 4 + .../browser/multiple-subtitles-switch.spec.js | 84 + 11 files changed, 8419 insertions(+), 18 deletions(-) create mode 100644 refactor/baselines/multiple-subtitles-switch-validation.json create mode 100644 refactor/changes/2026-09-14-PKG-MULTI-SUB-09-switch-order.md create mode 100644 test/browser/multiple-subtitles-switch.spec.js diff --git a/packages/artplayer-plugin-multiple-subtitles/ARCHITECTURE.md b/packages/artplayer-plugin-multiple-subtitles/ARCHITECTURE.md index 88f009761..6197b7c21 100644 --- a/packages/artplayer-plugin-multiple-subtitles/ARCHITECTURE.md +++ b/packages/artplayer-plugin-multiple-subtitles/ARCHITECTURE.md @@ -151,9 +151,12 @@ active cue; the matrix explicitly records lost simultaneous languages for1.1.0+ and candidate, while1.0.0's index-merged cue displays both. This remains an open compatibility issue, not an approved limitation. CORE-SUBTITLE-OFFSET-01 corrects paused offsets in the candidate core; published Firefox hosts retain their exact -historical defect observations. WebKit5.3.0/5.4.0 source-switch failures remain -under task05 investigation. See its change and validation JSON for original failures -and the independent core offset change for the corrected candidate evidence. +historical defect observations. Task09 traced apparent WebKit5.3.0/5.4.0 caption +loss to native seeks ending near zero: the cue itself remained intact. A no-plugin +control reproduces the same old-host problem. Candidate core already waits for +source seeking to complete. The ordering probe retains immediate old calls, while +caption combinations wait for native seeking to settle before an independent seek. +See task09's change/validation record and the core offset change for precise scope. The matrix is runnable with `yarn test:browser test/browser/multiple-subtitles-combinations.spec.js`; do not replace these failures with skips or count boundary observations as acceptance. See `../../refactor/baselines/multiple-subtitles-contract.md` for exact historical differences. diff --git a/refactor/baselines/multiple-subtitles-switch-validation.json b/refactor/baselines/multiple-subtitles-switch-validation.json new file mode 100644 index 000000000..cdd1579ba --- /dev/null +++ b/refactor/baselines/multiple-subtitles-switch-validation.json @@ -0,0 +1,8172 @@ +{ + "task": "PKG-MULTI-SUB-09", + "baselineCommit": "efed847cdfcbe5110e88b31527c46e622bcc83ee", + "recordedAt": "2026-09-14T05:01:19.140Z", + "node": "v24.21.0", + "yarn": "1.22.22", + "sources": [ + { + "path": "test/browser/multiple-subtitles-switch.spec.js", + "sha256": "95ecbbb5a35d0ac9f00b27cb10472995d79bd36d4bd3272f22931cd287292f8f" + }, + { + "path": "test/browser/multiple-subtitles-combinations.spec.js", + "sha256": "3d42549ac6915be274ce91da8153c96f9461a47b8d99364b3a8949af52630f4a" + } + ], + "artifacts": [ + { + "path": "packages/artplayer/dist/artplayer.js", + "sha256": "cab41b4a6b47dfacfc2d99b923273043b48f0ad93c3e808af0bfa84ffe1cf26e", + "unchangedFromBaseline": true + }, + { + "path": "packages/artplayer-plugin-multiple-subtitles/dist/artplayer-plugin-multiple-subtitles.js", + "sha256": "e2192514ab4836a04c56420fa8c260efa657e2afa32f299d0cf7786c91adc39b", + "unchangedFromBaseline": true + } + ], + "runs": [ + { + "name": "webkit-source", + "report": { + "path": "refactor/.cache/multi-switch-order-webkit-browser/report.json", + "sha256": "cfa0d88ba41f45a2d4f2a9b181f21ff12e1bbf4d18cafa3f264645b5b9091abb" + }, + "log": { + "path": "refactor/.cache/multi-switch-order-webkit.log", + "sha256": "c4948f32b4611794403e73c7920971d58fe28fa2475c832ef0b48a26a595b36e" + }, + "stats": { + "startTime": "2026-09-14T04:53:19.629Z", + "duration": 44303.815, + "expected": 9, + "skipped": 0, + "unexpected": 0, + "flaky": 0 + }, + "inputs": [ + { + "browser": "26.6", + "platform": "win32", + "candidateCore": { + "source": { + "kind": "workspace-build", + "entry": "packages\\artplayer\\src\\index.ts" + }, + "sha256": "2b99c7fe675a0aa73b32ec955455db86e33d560c31882b146a30e6510b5690cc", + "bytes": 378769 + }, + "media": { + "source": { + "kind": "generated-media", + "file": "test/browser/media/pattern.mp4" + }, + "sha256": "0ad1d7ad286aec6e0fa9e27fc1e487e7277df2e603e30040fb942365763d0233", + "bytes": 251538 + } + } + ], + "tests": [ + { + "title": "Source seek ordering / published-5.3.0 / no-plugin", + "project": "webkit", + "status": "passed", + "order": { + "core": "published-5.3.0", + "plugin": "none", + "pluginSha256": null, + "browser": "26.6", + "outcomes": [ + { + "round": 0, + "settled": { + "time": 0, + "seeking": true, + "duration": 8, + "readyState": 4, + "paused": true, + "source": "http://127.0.0.1:8084/test/pattern.mp4?seek-order=0", + "active": [], + "displayed": "" + }, + "firstSeek": { + "time": 0.0013487, + "seeking": false, + "duration": 8, + "readyState": 4, + "paused": true, + "source": "http://127.0.0.1:8084/test/pattern.mp4?seek-order=0", + "active": [], + "displayed": "" + }, + "landed": false, + "afterSettledSeek": { + "time": 1.5005778, + "seeking": false, + "duration": 8, + "readyState": 4, + "paused": true, + "source": "http://127.0.0.1:8084/test/pattern.mp4?seek-order=0", + "active": [], + "displayed": "" + } + }, + { + "round": 1, + "settled": { + "time": 0, + "seeking": true, + "duration": 8, + "readyState": 4, + "paused": true, + "source": "http://127.0.0.1:8084/test/pattern.mp4?seek-order=1", + "active": [], + "displayed": "" + }, + "firstSeek": { + "time": 1.5024098, + "seeking": false, + "duration": 8, + "readyState": 4, + "paused": true, + "source": "http://127.0.0.1:8084/test/pattern.mp4?seek-order=1", + "active": [], + "displayed": "" + }, + "landed": true, + "afterSettledSeek": { + "time": 1.5024098, + "seeking": false, + "duration": 8, + "readyState": 4, + "paused": true, + "source": "http://127.0.0.1:8084/test/pattern.mp4?seek-order=1", + "active": [], + "displayed": "" + } + }, + { + "round": 2, + "settled": { + "time": 0.0065766, + "seeking": false, + "duration": 8, + "readyState": 4, + "paused": true, + "source": "http://127.0.0.1:8084/test/pattern.mp4?seek-order=2", + "active": [], + "displayed": "" + }, + "firstSeek": { + "time": 1.5022347, + "seeking": false, + "duration": 8, + "readyState": 4, + "paused": true, + "source": "http://127.0.0.1:8084/test/pattern.mp4?seek-order=2", + "active": [], + "displayed": "" + }, + "landed": true, + "afterSettledSeek": { + "time": 1.5022347, + "seeking": false, + "duration": 8, + "readyState": 4, + "paused": true, + "source": "http://127.0.0.1:8084/test/pattern.mp4?seek-order=2", + "active": [], + "displayed": "" + } + } + ], + "trace": [ + { + "event": "loadedmetadata", + "time": 0, + "seeking": false, + "duration": 8, + "readyState": 4, + "paused": true, + "source": "http://127.0.0.1:8084/test/pattern.mp4", + "active": [], + "displayed": "" + }, + { + "event": "loadeddata", + "time": 0, + "seeking": false, + "duration": 8, + "readyState": 4, + "paused": true, + "source": "http://127.0.0.1:8084/test/pattern.mp4", + "active": [], + "displayed": "" + }, + { + "event": "canplay", + "time": 0, + "seeking": false, + "duration": 8, + "readyState": 4, + "paused": true, + "source": "http://127.0.0.1:8084/test/pattern.mp4", + "active": [], + "displayed": "" + }, + { + "event": "pause", + "time": 0.281145, + "seeking": false, + "duration": 8, + "readyState": 4, + "paused": true, + "source": "http://127.0.0.1:8084/test/pattern.mp4", + "active": [], + "displayed": "" + }, + { + "event": "emptied", + "time": 0, + "seeking": false, + "duration": null, + "readyState": 0, + "paused": true, + "source": "http://127.0.0.1:8084/test/pattern.mp4", + "active": [], + "displayed": "" + }, + { + "event": "write-currentTime", + "value": 0, + "time": 0, + "seeking": false, + "duration": 8, + "readyState": 4, + "paused": true, + "source": "http://127.0.0.1:8084/test/pattern.mp4?seek-order=0", + "active": [], + "displayed": "" + }, + { + "event": "loadedmetadata", + "time": 0, + "seeking": true, + "duration": 8, + "readyState": 4, + "paused": true, + "source": "http://127.0.0.1:8084/test/pattern.mp4?seek-order=0", + "active": [], + "displayed": "" + }, + { + "event": "loadeddata", + "time": 0, + "seeking": true, + "duration": 8, + "readyState": 4, + "paused": true, + "source": "http://127.0.0.1:8084/test/pattern.mp4?seek-order=0", + "active": [], + "displayed": "" + }, + { + "event": "canplay", + "time": 0, + "seeking": true, + "duration": 8, + "readyState": 4, + "paused": true, + "source": "http://127.0.0.1:8084/test/pattern.mp4?seek-order=0", + "active": [], + "displayed": "" + }, + { + "event": "write-currentTime", + "value": 1.5, + "time": 0, + "seeking": true, + "duration": 8, + "readyState": 4, + "paused": true, + "source": "http://127.0.0.1:8084/test/pattern.mp4?seek-order=0", + "active": [], + "displayed": "" + }, + { + "event": "seeking", + "time": 0.0013487, + "seeking": false, + "duration": 8, + "readyState": 4, + "paused": true, + "source": "http://127.0.0.1:8084/test/pattern.mp4?seek-order=0", + "active": [], + "displayed": "" + }, + { + "event": "seeked", + "time": 0.0013487, + "seeking": false, + "duration": 8, + "readyState": 4, + "paused": true, + "source": "http://127.0.0.1:8084/test/pattern.mp4?seek-order=0", + "active": [], + "displayed": "" + }, + { + "event": "canplay", + "time": 0.0013487, + "seeking": false, + "duration": 8, + "readyState": 4, + "paused": true, + "source": "http://127.0.0.1:8084/test/pattern.mp4?seek-order=0", + "active": [], + "displayed": "" + }, + { + "event": "write-currentTime", + "value": 1.5, + "time": 0.0013487, + "seeking": false, + "duration": 8, + "readyState": 4, + "paused": true, + "source": "http://127.0.0.1:8084/test/pattern.mp4?seek-order=0", + "active": [], + "displayed": "" + }, + { + "event": "seeking", + "time": 1.5005778, + "seeking": false, + "duration": 8, + "readyState": 4, + "paused": true, + "source": "http://127.0.0.1:8084/test/pattern.mp4?seek-order=0", + "active": [], + "displayed": "" + }, + { + "event": "canplay", + "time": 1.5005778, + "seeking": false, + "duration": 8, + "readyState": 4, + "paused": true, + "source": "http://127.0.0.1:8084/test/pattern.mp4?seek-order=0", + "active": [], + "displayed": "" + }, + { + "event": "seeked", + "time": 1.5005778, + "seeking": false, + "duration": 8, + "readyState": 4, + "paused": true, + "source": "http://127.0.0.1:8084/test/pattern.mp4?seek-order=0", + "active": [], + "displayed": "" + }, + { + "event": "emptied", + "time": 0, + "seeking": false, + "duration": null, + "readyState": 0, + "paused": true, + "source": "http://127.0.0.1:8084/test/pattern.mp4?seek-order=0", + "active": [], + "displayed": "" + }, + { + "event": "write-currentTime", + "value": 0, + "time": 0, + "seeking": false, + "duration": 8, + "readyState": 4, + "paused": true, + "source": "http://127.0.0.1:8084/test/pattern.mp4?seek-order=1", + "active": [], + "displayed": "" + }, + { + "event": "loadedmetadata", + "time": 0, + "seeking": true, + "duration": 8, + "readyState": 4, + "paused": true, + "source": "http://127.0.0.1:8084/test/pattern.mp4?seek-order=1", + "active": [], + "displayed": "" + }, + { + "event": "loadeddata", + "time": 0, + "seeking": true, + "duration": 8, + "readyState": 4, + "paused": true, + "source": "http://127.0.0.1:8084/test/pattern.mp4?seek-order=1", + "active": [], + "displayed": "" + }, + { + "event": "canplay", + "time": 0, + "seeking": true, + "duration": 8, + "readyState": 4, + "paused": true, + "source": "http://127.0.0.1:8084/test/pattern.mp4?seek-order=1", + "active": [], + "displayed": "" + }, + { + "event": "write-currentTime", + "value": 1.5, + "time": 0, + "seeking": true, + "duration": 8, + "readyState": 4, + "paused": true, + "source": "http://127.0.0.1:8084/test/pattern.mp4?seek-order=1", + "active": [], + "displayed": "" + }, + { + "event": "seeking", + "time": 1.5, + "seeking": true, + "duration": 8, + "readyState": 4, + "paused": true, + "source": "http://127.0.0.1:8084/test/pattern.mp4?seek-order=1", + "active": [], + "displayed": "" + }, + { + "event": "canplay", + "time": 1.5, + "seeking": true, + "duration": 8, + "readyState": 4, + "paused": true, + "source": "http://127.0.0.1:8084/test/pattern.mp4?seek-order=1", + "active": [], + "displayed": "" + }, + { + "event": "seeked", + "time": 1.5024098, + "seeking": false, + "duration": 8, + "readyState": 4, + "paused": true, + "source": "http://127.0.0.1:8084/test/pattern.mp4?seek-order=1", + "active": [], + "displayed": "" + }, + { + "event": "emptied", + "time": 0, + "seeking": false, + "duration": null, + "readyState": 0, + "paused": true, + "source": "http://127.0.0.1:8084/test/pattern.mp4?seek-order=1", + "active": [], + "displayed": "" + }, + { + "event": "write-currentTime", + "value": 0, + "time": 0, + "seeking": false, + "duration": 8, + "readyState": 4, + "paused": true, + "source": "http://127.0.0.1:8084/test/pattern.mp4?seek-order=2", + "active": [], + "displayed": "" + }, + { + "event": "loadedmetadata", + "time": 0, + "seeking": true, + "duration": 8, + "readyState": 4, + "paused": true, + "source": "http://127.0.0.1:8084/test/pattern.mp4?seek-order=2", + "active": [], + "displayed": "" + }, + { + "event": "loadeddata", + "time": 0, + "seeking": true, + "duration": 8, + "readyState": 4, + "paused": true, + "source": "http://127.0.0.1:8084/test/pattern.mp4?seek-order=2", + "active": [], + "displayed": "" + }, + { + "event": "canplay", + "time": 0, + "seeking": true, + "duration": 8, + "readyState": 4, + "paused": true, + "source": "http://127.0.0.1:8084/test/pattern.mp4?seek-order=2", + "active": [], + "displayed": "" + }, + { + "event": "seeking", + "time": 0.0065766, + "seeking": false, + "duration": 8, + "readyState": 4, + "paused": true, + "source": "http://127.0.0.1:8084/test/pattern.mp4?seek-order=2", + "active": [], + "displayed": "" + }, + { + "event": "seeked", + "time": 0.0065766, + "seeking": false, + "duration": 8, + "readyState": 4, + "paused": true, + "source": "http://127.0.0.1:8084/test/pattern.mp4?seek-order=2", + "active": [], + "displayed": "" + }, + { + "event": "write-currentTime", + "value": 1.5, + "time": 0.0065766, + "seeking": false, + "duration": 8, + "readyState": 4, + "paused": true, + "source": "http://127.0.0.1:8084/test/pattern.mp4?seek-order=2", + "active": [], + "displayed": "" + }, + { + "event": "seeking", + "time": 1.5, + "seeking": true, + "duration": 8, + "readyState": 4, + "paused": true, + "source": "http://127.0.0.1:8084/test/pattern.mp4?seek-order=2", + "active": [], + "displayed": "" + }, + { + "event": "canplay", + "time": 1.5, + "seeking": true, + "duration": 8, + "readyState": 4, + "paused": true, + "source": "http://127.0.0.1:8084/test/pattern.mp4?seek-order=2", + "active": [], + "displayed": "" + }, + { + "event": "seeked", + "time": 1.5022347, + "seeking": false, + "duration": 8, + "readyState": 4, + "paused": true, + "source": "http://127.0.0.1:8084/test/pattern.mp4?seek-order=2", + "active": [], + "displayed": "" + } + ], + "scope": "Three real source changes with immediate versus settled seek; old misses are recorded, candidate must honor every first seek", + "missedFirstSeeks": 1, + "seekingAtSettlement": 2, + "traceSha256": "b576aed59c758201afa5c0237e633c9f3a18bc10c5a4a5bf1e160ad61080e981" + } + }, + { + "title": "Source seek ordering / published-5.3.0 / candidate", + "project": "webkit", + "status": "passed", + "order": { + "core": "published-5.3.0", + "plugin": "candidate", + "pluginSha256": "66664050ae97facbf56f2e885792beee2e3ff7400889d78951f46d207e0fe2d9", + "browser": "26.6", + "outcomes": [ + { + "round": 0, + "settled": { + "time": 0, + "seeking": true, + "duration": 8, + "readyState": 4, + "paused": true, + "source": "http://127.0.0.1:8084/test/pattern.mp4?seek-order=0", + "active": [], + "displayed": "" + }, + "firstSeek": { + "time": 1.5019888, + "seeking": false, + "duration": 8, + "readyState": 4, + "paused": true, + "source": "http://127.0.0.1:8084/test/pattern.mp4?seek-order=0", + "active": [ + "
Caption
" + ], + "displayed": "Caption" + }, + "landed": true, + "afterSettledSeek": { + "time": 1.5019888, + "seeking": false, + "duration": 8, + "readyState": 4, + "paused": true, + "source": "http://127.0.0.1:8084/test/pattern.mp4?seek-order=0", + "active": [ + "
Caption
" + ], + "displayed": "Caption" + } + }, + { + "round": 1, + "settled": { + "time": 0, + "seeking": true, + "duration": 8, + "readyState": 4, + "paused": true, + "source": "http://127.0.0.1:8084/test/pattern.mp4?seek-order=1", + "active": [], + "displayed": "" + }, + "firstSeek": { + "time": 0.0012296, + "seeking": false, + "duration": 8, + "readyState": 4, + "paused": true, + "source": "http://127.0.0.1:8084/test/pattern.mp4?seek-order=1", + "active": [], + "displayed": "" + }, + "landed": false, + "afterSettledSeek": { + "time": 1.5012698, + "seeking": false, + "duration": 8, + "readyState": 4, + "paused": true, + "source": "http://127.0.0.1:8084/test/pattern.mp4?seek-order=1", + "active": [ + "
Caption
" + ], + "displayed": "Caption" + } + }, + { + "round": 2, + "settled": { + "time": 0, + "seeking": true, + "duration": 8, + "readyState": 4, + "paused": true, + "source": "http://127.0.0.1:8084/test/pattern.mp4?seek-order=2", + "active": [], + "displayed": "" + }, + "firstSeek": { + "time": 1.500611, + "seeking": false, + "duration": 8, + "readyState": 4, + "paused": true, + "source": "http://127.0.0.1:8084/test/pattern.mp4?seek-order=2", + "active": [ + "
Caption
" + ], + "displayed": "Caption" + }, + "landed": true, + "afterSettledSeek": { + "time": 1.500611, + "seeking": false, + "duration": 8, + "readyState": 4, + "paused": true, + "source": "http://127.0.0.1:8084/test/pattern.mp4?seek-order=2", + "active": [ + "
Caption
" + ], + "displayed": "Caption" + } + } + ], + "trace": [ + { + "event": "loadedmetadata", + "time": 0, + "seeking": false, + "duration": 8, + "readyState": 3, + "paused": true, + "source": "http://127.0.0.1:8084/test/pattern.mp4", + "active": [], + "displayed": "" + }, + { + "event": "loadeddata", + "time": 0, + "seeking": false, + "duration": 8, + "readyState": 3, + "paused": true, + "source": "http://127.0.0.1:8084/test/pattern.mp4", + "active": [], + "displayed": "" + }, + { + "event": "canplay", + "time": 0, + "seeking": false, + "duration": 8, + "readyState": 3, + "paused": true, + "source": "http://127.0.0.1:8084/test/pattern.mp4", + "active": [], + "displayed": "" + }, + { + "event": "pause", + "time": 0.3272059, + "seeking": false, + "duration": 8, + "readyState": 4, + "paused": true, + "source": "http://127.0.0.1:8084/test/pattern.mp4", + "active": [], + "displayed": "" + }, + { + "event": "emptied", + "time": 0, + "seeking": false, + "duration": null, + "readyState": 0, + "paused": true, + "source": "http://127.0.0.1:8084/test/pattern.mp4", + "active": [], + "displayed": "" + }, + { + "event": "write-currentTime", + "value": 0, + "time": 0, + "seeking": false, + "duration": 8, + "readyState": 4, + "paused": true, + "source": "http://127.0.0.1:8084/test/pattern.mp4?seek-order=0", + "active": [], + "displayed": "" + }, + { + "event": "loadedmetadata", + "time": 0, + "seeking": true, + "duration": 8, + "readyState": 4, + "paused": true, + "source": "http://127.0.0.1:8084/test/pattern.mp4?seek-order=0", + "active": [], + "displayed": "" + }, + { + "event": "loadeddata", + "time": 0, + "seeking": true, + "duration": 8, + "readyState": 4, + "paused": true, + "source": "http://127.0.0.1:8084/test/pattern.mp4?seek-order=0", + "active": [], + "displayed": "" + }, + { + "event": "canplay", + "time": 0, + "seeking": true, + "duration": 8, + "readyState": 4, + "paused": true, + "source": "http://127.0.0.1:8084/test/pattern.mp4?seek-order=0", + "active": [], + "displayed": "" + }, + { + "event": "write-currentTime", + "value": 1.5, + "time": 0.0014826, + "seeking": false, + "duration": 8, + "readyState": 4, + "paused": true, + "source": "http://127.0.0.1:8084/test/pattern.mp4?seek-order=0", + "active": [], + "displayed": "" + }, + { + "event": "seeking", + "time": 1.5, + "seeking": true, + "duration": 8, + "readyState": 4, + "paused": true, + "source": "http://127.0.0.1:8084/test/pattern.mp4?seek-order=0", + "active": [], + "displayed": "" + }, + { + "event": "seeked", + "time": 1.5, + "seeking": true, + "duration": 8, + "readyState": 4, + "paused": true, + "source": "http://127.0.0.1:8084/test/pattern.mp4?seek-order=0", + "active": [], + "displayed": "" + }, + { + "event": "seeking", + "time": 1.5019888, + "seeking": false, + "duration": 8, + "readyState": 4, + "paused": true, + "source": "http://127.0.0.1:8084/test/pattern.mp4?seek-order=0", + "active": [], + "displayed": "" + }, + { + "event": "seeked", + "time": 1.5019888, + "seeking": false, + "duration": 8, + "readyState": 4, + "paused": true, + "source": "http://127.0.0.1:8084/test/pattern.mp4?seek-order=0", + "active": [ + "
Caption
" + ], + "displayed": "" + }, + { + "event": "emptied", + "time": 0, + "seeking": false, + "duration": null, + "readyState": 0, + "paused": true, + "source": "http://127.0.0.1:8084/test/pattern.mp4?seek-order=0", + "active": [], + "displayed": "Caption" + }, + { + "event": "write-currentTime", + "value": 0, + "time": 0, + "seeking": false, + "duration": 8, + "readyState": 4, + "paused": true, + "source": "http://127.0.0.1:8084/test/pattern.mp4?seek-order=1", + "active": [], + "displayed": "" + }, + { + "event": "loadedmetadata", + "time": 0, + "seeking": true, + "duration": 8, + "readyState": 4, + "paused": true, + "source": "http://127.0.0.1:8084/test/pattern.mp4?seek-order=1", + "active": [], + "displayed": "" + }, + { + "event": "loadeddata", + "time": 0, + "seeking": true, + "duration": 8, + "readyState": 4, + "paused": true, + "source": "http://127.0.0.1:8084/test/pattern.mp4?seek-order=1", + "active": [], + "displayed": "" + }, + { + "event": "canplay", + "time": 0, + "seeking": true, + "duration": 8, + "readyState": 4, + "paused": true, + "source": "http://127.0.0.1:8084/test/pattern.mp4?seek-order=1", + "active": [], + "displayed": "" + }, + { + "event": "write-currentTime", + "value": 1.5, + "time": 0, + "seeking": true, + "duration": 8, + "readyState": 4, + "paused": true, + "source": "http://127.0.0.1:8084/test/pattern.mp4?seek-order=1", + "active": [], + "displayed": "" + }, + { + "event": "seeking", + "time": 1.5, + "seeking": true, + "duration": 8, + "readyState": 4, + "paused": true, + "source": "http://127.0.0.1:8084/test/pattern.mp4?seek-order=1", + "active": [], + "displayed": "" + }, + { + "event": "seeked", + "time": 0.0012296, + "seeking": false, + "duration": 8, + "readyState": 4, + "paused": true, + "source": "http://127.0.0.1:8084/test/pattern.mp4?seek-order=1", + "active": [], + "displayed": "" + }, + { + "event": "write-currentTime", + "value": 1.5, + "time": 0.0012296, + "seeking": false, + "duration": 8, + "readyState": 4, + "paused": true, + "source": "http://127.0.0.1:8084/test/pattern.mp4?seek-order=1", + "active": [], + "displayed": "" + }, + { + "event": "seeking", + "time": 1.5012698, + "seeking": false, + "duration": 8, + "readyState": 4, + "paused": true, + "source": "http://127.0.0.1:8084/test/pattern.mp4?seek-order=1", + "active": [], + "displayed": "" + }, + { + "event": "canplay", + "time": 1.5012698, + "seeking": false, + "duration": 8, + "readyState": 4, + "paused": true, + "source": "http://127.0.0.1:8084/test/pattern.mp4?seek-order=1", + "active": [], + "displayed": "" + }, + { + "event": "seeked", + "time": 1.5012698, + "seeking": false, + "duration": 8, + "readyState": 4, + "paused": true, + "source": "http://127.0.0.1:8084/test/pattern.mp4?seek-order=1", + "active": [ + "
Caption
" + ], + "displayed": "" + }, + { + "event": "emptied", + "time": 0, + "seeking": false, + "duration": null, + "readyState": 0, + "paused": true, + "source": "http://127.0.0.1:8084/test/pattern.mp4?seek-order=1", + "active": [], + "displayed": "Caption" + }, + { + "event": "write-currentTime", + "value": 0, + "time": 0, + "seeking": false, + "duration": 8, + "readyState": 4, + "paused": true, + "source": "http://127.0.0.1:8084/test/pattern.mp4?seek-order=2", + "active": [], + "displayed": "" + }, + { + "event": "loadedmetadata", + "time": 0, + "seeking": true, + "duration": 8, + "readyState": 4, + "paused": true, + "source": "http://127.0.0.1:8084/test/pattern.mp4?seek-order=2", + "active": [], + "displayed": "" + }, + { + "event": "loadeddata", + "time": 0, + "seeking": true, + "duration": 8, + "readyState": 4, + "paused": true, + "source": "http://127.0.0.1:8084/test/pattern.mp4?seek-order=2", + "active": [], + "displayed": "" + }, + { + "event": "canplay", + "time": 0, + "seeking": true, + "duration": 8, + "readyState": 4, + "paused": true, + "source": "http://127.0.0.1:8084/test/pattern.mp4?seek-order=2", + "active": [], + "displayed": "" + }, + { + "event": "write-currentTime", + "value": 1.5, + "time": 0, + "seeking": false, + "duration": 8, + "readyState": 4, + "paused": true, + "source": "http://127.0.0.1:8084/test/pattern.mp4?seek-order=2", + "active": [], + "displayed": "" + }, + { + "event": "seeking", + "time": 1.5, + "seeking": true, + "duration": 8, + "readyState": 4, + "paused": true, + "source": "http://127.0.0.1:8084/test/pattern.mp4?seek-order=2", + "active": [], + "displayed": "" + }, + { + "event": "seeked", + "time": 1.5, + "seeking": true, + "duration": 8, + "readyState": 4, + "paused": true, + "source": "http://127.0.0.1:8084/test/pattern.mp4?seek-order=2", + "active": [], + "displayed": "" + }, + { + "event": "seeking", + "time": 1.500611, + "seeking": false, + "duration": 8, + "readyState": 4, + "paused": true, + "source": "http://127.0.0.1:8084/test/pattern.mp4?seek-order=2", + "active": [], + "displayed": "" + }, + { + "event": "seeked", + "time": 1.500611, + "seeking": false, + "duration": 8, + "readyState": 4, + "paused": true, + "source": "http://127.0.0.1:8084/test/pattern.mp4?seek-order=2", + "active": [ + "
Caption
" + ], + "displayed": "" + } + ], + "scope": "Three real source changes with immediate versus settled seek; old misses are recorded, candidate must honor every first seek", + "missedFirstSeeks": 1, + "seekingAtSettlement": 3, + "traceSha256": "66e7e5ae5962e381a5565ff1d12661d3a0e61749aee33b08aa911ee0ddf762b0" + } + }, + { + "title": "Source seek ordering / published-5.3.0 / published-1.2.0-main", + "project": "webkit", + "status": "passed", + "order": { + "core": "published-5.3.0", + "plugin": "published-1.2.0-main", + "pluginSha256": "c1cb0b511da88347165cc855185de9450a44835bb34bb802281ccdb854ef603c", + "browser": "26.6", + "outcomes": [ + { + "round": 0, + "settled": { + "time": 0, + "seeking": true, + "duration": 8, + "readyState": 4, + "paused": true, + "source": "http://127.0.0.1:8084/test/pattern.mp4?seek-order=0", + "active": [], + "displayed": "" + }, + "firstSeek": { + "time": 0.0013196, + "seeking": false, + "duration": 8, + "readyState": 4, + "paused": true, + "source": "http://127.0.0.1:8084/test/pattern.mp4?seek-order=0", + "active": [], + "displayed": "" + }, + "landed": false, + "afterSettledSeek": { + "time": 1.5006853, + "seeking": false, + "duration": 8, + "readyState": 4, + "paused": true, + "source": "http://127.0.0.1:8084/test/pattern.mp4?seek-order=0", + "active": [ + "
Caption
" + ], + "displayed": "Caption" + } + }, + { + "round": 1, + "settled": { + "time": 0.0014661, + "seeking": false, + "duration": 8, + "readyState": 4, + "paused": true, + "source": "http://127.0.0.1:8084/test/pattern.mp4?seek-order=1", + "active": [], + "displayed": "" + }, + "firstSeek": { + "time": 1.5007324, + "seeking": false, + "duration": 8, + "readyState": 4, + "paused": true, + "source": "http://127.0.0.1:8084/test/pattern.mp4?seek-order=1", + "active": [ + "
Caption
" + ], + "displayed": "Caption" + }, + "landed": true, + "afterSettledSeek": { + "time": 1.5007324, + "seeking": false, + "duration": 8, + "readyState": 4, + "paused": true, + "source": "http://127.0.0.1:8084/test/pattern.mp4?seek-order=1", + "active": [ + "
Caption
" + ], + "displayed": "Caption" + } + }, + { + "round": 2, + "settled": { + "time": 0.002308, + "seeking": false, + "duration": 8, + "readyState": 4, + "paused": true, + "source": "http://127.0.0.1:8084/test/pattern.mp4?seek-order=2", + "active": [], + "displayed": "" + }, + "firstSeek": { + "time": 1.5023927, + "seeking": false, + "duration": 8, + "readyState": 4, + "paused": true, + "source": "http://127.0.0.1:8084/test/pattern.mp4?seek-order=2", + "active": [ + "
Caption
" + ], + "displayed": "Caption" + }, + "landed": true, + "afterSettledSeek": { + "time": 1.5023927, + "seeking": false, + "duration": 8, + "readyState": 4, + "paused": true, + "source": "http://127.0.0.1:8084/test/pattern.mp4?seek-order=2", + "active": [ + "
Caption
" + ], + "displayed": "Caption" + } + } + ], + "trace": [ + { + "event": "loadedmetadata", + "time": 0, + "seeking": false, + "duration": 8, + "readyState": 4, + "paused": true, + "source": "http://127.0.0.1:8084/test/pattern.mp4", + "active": [], + "displayed": "" + }, + { + "event": "loadeddata", + "time": 0, + "seeking": false, + "duration": 8, + "readyState": 4, + "paused": true, + "source": "http://127.0.0.1:8084/test/pattern.mp4", + "active": [], + "displayed": "" + }, + { + "event": "canplay", + "time": 0, + "seeking": false, + "duration": 8, + "readyState": 4, + "paused": true, + "source": "http://127.0.0.1:8084/test/pattern.mp4", + "active": [], + "displayed": "" + }, + { + "event": "pause", + "time": 0.2750343, + "seeking": false, + "duration": 8, + "readyState": 4, + "paused": true, + "source": "http://127.0.0.1:8084/test/pattern.mp4", + "active": [], + "displayed": "" + }, + { + "event": "emptied", + "time": 0, + "seeking": false, + "duration": null, + "readyState": 0, + "paused": true, + "source": "http://127.0.0.1:8084/test/pattern.mp4", + "active": [], + "displayed": "" + }, + { + "event": "write-currentTime", + "value": 0, + "time": 0, + "seeking": false, + "duration": 8, + "readyState": 4, + "paused": true, + "source": "http://127.0.0.1:8084/test/pattern.mp4?seek-order=0", + "active": [], + "displayed": "" + }, + { + "event": "loadedmetadata", + "time": 0, + "seeking": true, + "duration": 8, + "readyState": 4, + "paused": true, + "source": "http://127.0.0.1:8084/test/pattern.mp4?seek-order=0", + "active": [], + "displayed": "" + }, + { + "event": "loadeddata", + "time": 0, + "seeking": true, + "duration": 8, + "readyState": 4, + "paused": true, + "source": "http://127.0.0.1:8084/test/pattern.mp4?seek-order=0", + "active": [], + "displayed": "" + }, + { + "event": "canplay", + "time": 0, + "seeking": true, + "duration": 8, + "readyState": 4, + "paused": true, + "source": "http://127.0.0.1:8084/test/pattern.mp4?seek-order=0", + "active": [], + "displayed": "" + }, + { + "event": "write-currentTime", + "value": 1.5, + "time": 0, + "seeking": true, + "duration": 8, + "readyState": 4, + "paused": true, + "source": "http://127.0.0.1:8084/test/pattern.mp4?seek-order=0", + "active": [], + "displayed": "" + }, + { + "event": "seeking", + "time": 0.0013196, + "seeking": false, + "duration": 8, + "readyState": 4, + "paused": true, + "source": "http://127.0.0.1:8084/test/pattern.mp4?seek-order=0", + "active": [], + "displayed": "" + }, + { + "event": "seeked", + "time": 0.0013196, + "seeking": false, + "duration": 8, + "readyState": 4, + "paused": true, + "source": "http://127.0.0.1:8084/test/pattern.mp4?seek-order=0", + "active": [], + "displayed": "" + }, + { + "event": "write-currentTime", + "value": 1.5, + "time": 0.0013196, + "seeking": false, + "duration": 8, + "readyState": 4, + "paused": true, + "source": "http://127.0.0.1:8084/test/pattern.mp4?seek-order=0", + "active": [], + "displayed": "" + }, + { + "event": "seeking", + "time": 1.5006853, + "seeking": false, + "duration": 8, + "readyState": 4, + "paused": true, + "source": "http://127.0.0.1:8084/test/pattern.mp4?seek-order=0", + "active": [], + "displayed": "" + }, + { + "event": "canplay", + "time": 1.5006853, + "seeking": false, + "duration": 8, + "readyState": 4, + "paused": true, + "source": "http://127.0.0.1:8084/test/pattern.mp4?seek-order=0", + "active": [], + "displayed": "" + }, + { + "event": "seeked", + "time": 1.5006853, + "seeking": false, + "duration": 8, + "readyState": 4, + "paused": true, + "source": "http://127.0.0.1:8084/test/pattern.mp4?seek-order=0", + "active": [ + "
Caption
" + ], + "displayed": "" + }, + { + "event": "emptied", + "time": 0, + "seeking": false, + "duration": null, + "readyState": 0, + "paused": true, + "source": "http://127.0.0.1:8084/test/pattern.mp4?seek-order=0", + "active": [], + "displayed": "Caption" + }, + { + "event": "write-currentTime", + "value": 0, + "time": 0, + "seeking": false, + "duration": 8, + "readyState": 4, + "paused": true, + "source": "http://127.0.0.1:8084/test/pattern.mp4?seek-order=1", + "active": [], + "displayed": "" + }, + { + "event": "loadedmetadata", + "time": 0, + "seeking": true, + "duration": 8, + "readyState": 4, + "paused": true, + "source": "http://127.0.0.1:8084/test/pattern.mp4?seek-order=1", + "active": [], + "displayed": "" + }, + { + "event": "loadeddata", + "time": 0, + "seeking": true, + "duration": 8, + "readyState": 4, + "paused": true, + "source": "http://127.0.0.1:8084/test/pattern.mp4?seek-order=1", + "active": [], + "displayed": "" + }, + { + "event": "canplay", + "time": 0, + "seeking": true, + "duration": 8, + "readyState": 4, + "paused": true, + "source": "http://127.0.0.1:8084/test/pattern.mp4?seek-order=1", + "active": [], + "displayed": "" + }, + { + "event": "seeking", + "time": 0.0014661, + "seeking": false, + "duration": 8, + "readyState": 4, + "paused": true, + "source": "http://127.0.0.1:8084/test/pattern.mp4?seek-order=1", + "active": [], + "displayed": "" + }, + { + "event": "seeked", + "time": 0.0014661, + "seeking": false, + "duration": 8, + "readyState": 4, + "paused": true, + "source": "http://127.0.0.1:8084/test/pattern.mp4?seek-order=1", + "active": [], + "displayed": "" + }, + { + "event": "write-currentTime", + "value": 1.5, + "time": 0.0014661, + "seeking": false, + "duration": 8, + "readyState": 4, + "paused": true, + "source": "http://127.0.0.1:8084/test/pattern.mp4?seek-order=1", + "active": [], + "displayed": "" + }, + { + "event": "seeking", + "time": 1.5007324, + "seeking": false, + "duration": 8, + "readyState": 4, + "paused": true, + "source": "http://127.0.0.1:8084/test/pattern.mp4?seek-order=1", + "active": [], + "displayed": "" + }, + { + "event": "canplay", + "time": 1.5007324, + "seeking": false, + "duration": 8, + "readyState": 4, + "paused": true, + "source": "http://127.0.0.1:8084/test/pattern.mp4?seek-order=1", + "active": [], + "displayed": "" + }, + { + "event": "seeked", + "time": 1.5007324, + "seeking": false, + "duration": 8, + "readyState": 4, + "paused": true, + "source": "http://127.0.0.1:8084/test/pattern.mp4?seek-order=1", + "active": [ + "
Caption
" + ], + "displayed": "" + }, + { + "event": "emptied", + "time": 0, + "seeking": false, + "duration": null, + "readyState": 0, + "paused": true, + "source": "http://127.0.0.1:8084/test/pattern.mp4?seek-order=1", + "active": [], + "displayed": "Caption" + }, + { + "event": "write-currentTime", + "value": 0, + "time": 0, + "seeking": false, + "duration": 8, + "readyState": 4, + "paused": true, + "source": "http://127.0.0.1:8084/test/pattern.mp4?seek-order=2", + "active": [], + "displayed": "" + }, + { + "event": "loadedmetadata", + "time": 0, + "seeking": true, + "duration": 8, + "readyState": 4, + "paused": true, + "source": "http://127.0.0.1:8084/test/pattern.mp4?seek-order=2", + "active": [], + "displayed": "" + }, + { + "event": "loadeddata", + "time": 0, + "seeking": true, + "duration": 8, + "readyState": 4, + "paused": true, + "source": "http://127.0.0.1:8084/test/pattern.mp4?seek-order=2", + "active": [], + "displayed": "" + }, + { + "event": "canplay", + "time": 0, + "seeking": true, + "duration": 8, + "readyState": 4, + "paused": true, + "source": "http://127.0.0.1:8084/test/pattern.mp4?seek-order=2", + "active": [], + "displayed": "" + }, + { + "event": "seeking", + "time": 0.002308, + "seeking": false, + "duration": 8, + "readyState": 4, + "paused": true, + "source": "http://127.0.0.1:8084/test/pattern.mp4?seek-order=2", + "active": [], + "displayed": "" + }, + { + "event": "seeked", + "time": 0.002308, + "seeking": false, + "duration": 8, + "readyState": 4, + "paused": true, + "source": "http://127.0.0.1:8084/test/pattern.mp4?seek-order=2", + "active": [], + "displayed": "" + }, + { + "event": "write-currentTime", + "value": 1.5, + "time": 0.002308, + "seeking": false, + "duration": 8, + "readyState": 4, + "paused": true, + "source": "http://127.0.0.1:8084/test/pattern.mp4?seek-order=2", + "active": [], + "displayed": "" + }, + { + "event": "seeking", + "time": 1.5023927, + "seeking": false, + "duration": 8, + "readyState": 4, + "paused": true, + "source": "http://127.0.0.1:8084/test/pattern.mp4?seek-order=2", + "active": [], + "displayed": "" + }, + { + "event": "canplay", + "time": 1.5023927, + "seeking": false, + "duration": 8, + "readyState": 4, + "paused": true, + "source": "http://127.0.0.1:8084/test/pattern.mp4?seek-order=2", + "active": [], + "displayed": "" + }, + { + "event": "seeked", + "time": 1.5023927, + "seeking": false, + "duration": 8, + "readyState": 4, + "paused": true, + "source": "http://127.0.0.1:8084/test/pattern.mp4?seek-order=2", + "active": [ + "
Caption
" + ], + "displayed": "" + } + ], + "scope": "Three real source changes with immediate versus settled seek; old misses are recorded, candidate must honor every first seek", + "missedFirstSeeks": 1, + "seekingAtSettlement": 1, + "traceSha256": "71040d9fd8ac5c67c9b0d0c6be447caaecaf814e867debf06f29897f35735044" + } + }, + { + "title": "Source seek ordering / published / no-plugin", + "project": "webkit", + "status": "passed", + "order": { + "core": "published", + "plugin": "none", + "pluginSha256": null, + "browser": "26.6", + "outcomes": [ + { + "round": 0, + "settled": { + "time": 0.0057615, + "seeking": false, + "duration": 8, + "readyState": 4, + "paused": true, + "source": "http://127.0.0.1:8084/test/pattern.mp4?seek-order=0", + "active": [], + "displayed": "" + }, + "firstSeek": { + "time": 1.5017628, + "seeking": false, + "duration": 8, + "readyState": 4, + "paused": true, + "source": "http://127.0.0.1:8084/test/pattern.mp4?seek-order=0", + "active": [], + "displayed": "" + }, + "landed": true, + "afterSettledSeek": { + "time": 1.5017628, + "seeking": false, + "duration": 8, + "readyState": 4, + "paused": true, + "source": "http://127.0.0.1:8084/test/pattern.mp4?seek-order=0", + "active": [], + "displayed": "" + } + }, + { + "round": 1, + "settled": { + "time": 0, + "seeking": true, + "duration": 8, + "readyState": 4, + "paused": true, + "source": "http://127.0.0.1:8084/test/pattern.mp4?seek-order=1", + "active": [], + "displayed": "" + }, + "firstSeek": { + "time": 1.5015745, + "seeking": false, + "duration": 8, + "readyState": 4, + "paused": true, + "source": "http://127.0.0.1:8084/test/pattern.mp4?seek-order=1", + "active": [], + "displayed": "" + }, + "landed": true, + "afterSettledSeek": { + "time": 1.5015745, + "seeking": false, + "duration": 8, + "readyState": 4, + "paused": true, + "source": "http://127.0.0.1:8084/test/pattern.mp4?seek-order=1", + "active": [], + "displayed": "" + } + }, + { + "round": 2, + "settled": { + "time": 0, + "seeking": true, + "duration": 8, + "readyState": 4, + "paused": true, + "source": "http://127.0.0.1:8084/test/pattern.mp4?seek-order=2", + "active": [], + "displayed": "" + }, + "firstSeek": { + "time": 0.0011688, + "seeking": false, + "duration": 8, + "readyState": 4, + "paused": true, + "source": "http://127.0.0.1:8084/test/pattern.mp4?seek-order=2", + "active": [], + "displayed": "" + }, + "landed": false, + "afterSettledSeek": { + "time": 1.5012857, + "seeking": false, + "duration": 8, + "readyState": 4, + "paused": true, + "source": "http://127.0.0.1:8084/test/pattern.mp4?seek-order=2", + "active": [], + "displayed": "" + } + } + ], + "trace": [ + { + "event": "loadedmetadata", + "time": 0, + "seeking": false, + "duration": 8, + "readyState": 4, + "paused": true, + "source": "http://127.0.0.1:8084/test/pattern.mp4", + "active": [], + "displayed": "" + }, + { + "event": "loadeddata", + "time": 0, + "seeking": false, + "duration": 8, + "readyState": 4, + "paused": true, + "source": "http://127.0.0.1:8084/test/pattern.mp4", + "active": [], + "displayed": "" + }, + { + "event": "canplay", + "time": 0, + "seeking": false, + "duration": 8, + "readyState": 4, + "paused": true, + "source": "http://127.0.0.1:8084/test/pattern.mp4", + "active": [], + "displayed": "" + }, + { + "event": "pause", + "time": 0.2714638, + "seeking": false, + "duration": 8, + "readyState": 4, + "paused": true, + "source": "http://127.0.0.1:8084/test/pattern.mp4", + "active": [], + "displayed": "" + }, + { + "event": "emptied", + "time": 0, + "seeking": false, + "duration": null, + "readyState": 0, + "paused": true, + "source": "http://127.0.0.1:8084/test/pattern.mp4", + "active": [], + "displayed": "" + }, + { + "event": "write-currentTime", + "value": 0, + "time": 0, + "seeking": false, + "duration": 8, + "readyState": 4, + "paused": true, + "source": "http://127.0.0.1:8084/test/pattern.mp4?seek-order=0", + "active": [], + "displayed": "" + }, + { + "event": "loadedmetadata", + "time": 0, + "seeking": true, + "duration": 8, + "readyState": 4, + "paused": true, + "source": "http://127.0.0.1:8084/test/pattern.mp4?seek-order=0", + "active": [], + "displayed": "" + }, + { + "event": "loadeddata", + "time": 0, + "seeking": true, + "duration": 8, + "readyState": 4, + "paused": true, + "source": "http://127.0.0.1:8084/test/pattern.mp4?seek-order=0", + "active": [], + "displayed": "" + }, + { + "event": "canplay", + "time": 0, + "seeking": true, + "duration": 8, + "readyState": 4, + "paused": true, + "source": "http://127.0.0.1:8084/test/pattern.mp4?seek-order=0", + "active": [], + "displayed": "" + }, + { + "event": "seeking", + "time": 0.0057615, + "seeking": false, + "duration": 8, + "readyState": 4, + "paused": true, + "source": "http://127.0.0.1:8084/test/pattern.mp4?seek-order=0", + "active": [], + "displayed": "" + }, + { + "event": "seeked", + "time": 0.0057615, + "seeking": false, + "duration": 8, + "readyState": 4, + "paused": true, + "source": "http://127.0.0.1:8084/test/pattern.mp4?seek-order=0", + "active": [], + "displayed": "" + }, + { + "event": "write-currentTime", + "value": 1.5, + "time": 0.0057615, + "seeking": false, + "duration": 8, + "readyState": 4, + "paused": true, + "source": "http://127.0.0.1:8084/test/pattern.mp4?seek-order=0", + "active": [], + "displayed": "" + }, + { + "event": "seeking", + "time": 1.5017628, + "seeking": false, + "duration": 8, + "readyState": 4, + "paused": true, + "source": "http://127.0.0.1:8084/test/pattern.mp4?seek-order=0", + "active": [], + "displayed": "" + }, + { + "event": "canplay", + "time": 1.5017628, + "seeking": false, + "duration": 8, + "readyState": 4, + "paused": true, + "source": "http://127.0.0.1:8084/test/pattern.mp4?seek-order=0", + "active": [], + "displayed": "" + }, + { + "event": "seeked", + "time": 1.5017628, + "seeking": false, + "duration": 8, + "readyState": 4, + "paused": true, + "source": "http://127.0.0.1:8084/test/pattern.mp4?seek-order=0", + "active": [], + "displayed": "" + }, + { + "event": "emptied", + "time": 0, + "seeking": false, + "duration": null, + "readyState": 0, + "paused": true, + "source": "http://127.0.0.1:8084/test/pattern.mp4?seek-order=0", + "active": [], + "displayed": "" + }, + { + "event": "write-currentTime", + "value": 0, + "time": 0, + "seeking": false, + "duration": 8, + "readyState": 4, + "paused": true, + "source": "http://127.0.0.1:8084/test/pattern.mp4?seek-order=1", + "active": [], + "displayed": "" + }, + { + "event": "loadedmetadata", + "time": 0, + "seeking": true, + "duration": 8, + "readyState": 4, + "paused": true, + "source": "http://127.0.0.1:8084/test/pattern.mp4?seek-order=1", + "active": [], + "displayed": "" + }, + { + "event": "loadeddata", + "time": 0, + "seeking": true, + "duration": 8, + "readyState": 4, + "paused": true, + "source": "http://127.0.0.1:8084/test/pattern.mp4?seek-order=1", + "active": [], + "displayed": "" + }, + { + "event": "canplay", + "time": 0, + "seeking": true, + "duration": 8, + "readyState": 4, + "paused": true, + "source": "http://127.0.0.1:8084/test/pattern.mp4?seek-order=1", + "active": [], + "displayed": "" + }, + { + "event": "write-currentTime", + "value": 1.5, + "time": 0, + "seeking": false, + "duration": 8, + "readyState": 4, + "paused": true, + "source": "http://127.0.0.1:8084/test/pattern.mp4?seek-order=1", + "active": [], + "displayed": "" + }, + { + "event": "seeking", + "time": 1.5, + "seeking": true, + "duration": 8, + "readyState": 4, + "paused": true, + "source": "http://127.0.0.1:8084/test/pattern.mp4?seek-order=1", + "active": [], + "displayed": "" + }, + { + "event": "seeked", + "time": 1.5, + "seeking": true, + "duration": 8, + "readyState": 4, + "paused": true, + "source": "http://127.0.0.1:8084/test/pattern.mp4?seek-order=1", + "active": [], + "displayed": "" + }, + { + "event": "seeking", + "time": 1.5015745, + "seeking": false, + "duration": 8, + "readyState": 4, + "paused": true, + "source": "http://127.0.0.1:8084/test/pattern.mp4?seek-order=1", + "active": [], + "displayed": "" + }, + { + "event": "canplay", + "time": 1.5015745, + "seeking": false, + "duration": 8, + "readyState": 4, + "paused": true, + "source": "http://127.0.0.1:8084/test/pattern.mp4?seek-order=1", + "active": [], + "displayed": "" + }, + { + "event": "seeked", + "time": 1.5015745, + "seeking": false, + "duration": 8, + "readyState": 4, + "paused": true, + "source": "http://127.0.0.1:8084/test/pattern.mp4?seek-order=1", + "active": [], + "displayed": "" + }, + { + "event": "emptied", + "time": 0, + "seeking": false, + "duration": null, + "readyState": 0, + "paused": true, + "source": "http://127.0.0.1:8084/test/pattern.mp4?seek-order=1", + "active": [], + "displayed": "" + }, + { + "event": "write-currentTime", + "value": 0, + "time": 0, + "seeking": false, + "duration": 8, + "readyState": 4, + "paused": true, + "source": "http://127.0.0.1:8084/test/pattern.mp4?seek-order=2", + "active": [], + "displayed": "" + }, + { + "event": "loadedmetadata", + "time": 0, + "seeking": true, + "duration": 8, + "readyState": 4, + "paused": true, + "source": "http://127.0.0.1:8084/test/pattern.mp4?seek-order=2", + "active": [], + "displayed": "" + }, + { + "event": "loadeddata", + "time": 0, + "seeking": true, + "duration": 8, + "readyState": 4, + "paused": true, + "source": "http://127.0.0.1:8084/test/pattern.mp4?seek-order=2", + "active": [], + "displayed": "" + }, + { + "event": "canplay", + "time": 0, + "seeking": true, + "duration": 8, + "readyState": 4, + "paused": true, + "source": "http://127.0.0.1:8084/test/pattern.mp4?seek-order=2", + "active": [], + "displayed": "" + }, + { + "event": "write-currentTime", + "value": 1.5, + "time": 0, + "seeking": true, + "duration": 8, + "readyState": 4, + "paused": true, + "source": "http://127.0.0.1:8084/test/pattern.mp4?seek-order=2", + "active": [], + "displayed": "" + }, + { + "event": "seeking", + "time": 0.0011688, + "seeking": false, + "duration": 8, + "readyState": 4, + "paused": true, + "source": "http://127.0.0.1:8084/test/pattern.mp4?seek-order=2", + "active": [], + "displayed": "" + }, + { + "event": "seeked", + "time": 0.0011688, + "seeking": false, + "duration": 8, + "readyState": 4, + "paused": true, + "source": "http://127.0.0.1:8084/test/pattern.mp4?seek-order=2", + "active": [], + "displayed": "" + }, + { + "event": "canplay", + "time": 0.0011688, + "seeking": false, + "duration": 8, + "readyState": 4, + "paused": true, + "source": "http://127.0.0.1:8084/test/pattern.mp4?seek-order=2", + "active": [], + "displayed": "" + }, + { + "event": "write-currentTime", + "value": 1.5, + "time": 0.0011688, + "seeking": false, + "duration": 8, + "readyState": 4, + "paused": true, + "source": "http://127.0.0.1:8084/test/pattern.mp4?seek-order=2", + "active": [], + "displayed": "" + }, + { + "event": "seeking", + "time": 1.5012857, + "seeking": false, + "duration": 8, + "readyState": 4, + "paused": true, + "source": "http://127.0.0.1:8084/test/pattern.mp4?seek-order=2", + "active": [], + "displayed": "" + }, + { + "event": "canplay", + "time": 1.5012857, + "seeking": false, + "duration": 8, + "readyState": 4, + "paused": true, + "source": "http://127.0.0.1:8084/test/pattern.mp4?seek-order=2", + "active": [], + "displayed": "" + }, + { + "event": "seeked", + "time": 1.5012857, + "seeking": false, + "duration": 8, + "readyState": 4, + "paused": true, + "source": "http://127.0.0.1:8084/test/pattern.mp4?seek-order=2", + "active": [], + "displayed": "" + } + ], + "scope": "Three real source changes with immediate versus settled seek; old misses are recorded, candidate must honor every first seek", + "missedFirstSeeks": 1, + "seekingAtSettlement": 2, + "traceSha256": "e852717d47f4f4552c3d569fbc06ff97f4f677ec49dd13217d978fee9ffbafa9" + } + }, + { + "title": "Source seek ordering / published / candidate", + "project": "webkit", + "status": "passed", + "order": { + "core": "published", + "plugin": "candidate", + "pluginSha256": "66664050ae97facbf56f2e885792beee2e3ff7400889d78951f46d207e0fe2d9", + "browser": "26.6", + "outcomes": [ + { + "round": 0, + "settled": { + "time": 0.0063004, + "seeking": false, + "duration": 8, + "readyState": 4, + "paused": true, + "source": "http://127.0.0.1:8084/test/pattern.mp4?seek-order=0", + "active": [], + "displayed": "" + }, + "firstSeek": { + "time": 1.501703, + "seeking": false, + "duration": 8, + "readyState": 4, + "paused": true, + "source": "http://127.0.0.1:8084/test/pattern.mp4?seek-order=0", + "active": [ + "
Caption
" + ], + "displayed": "\n Caption\n " + }, + "landed": true, + "afterSettledSeek": { + "time": 1.501703, + "seeking": false, + "duration": 8, + "readyState": 4, + "paused": true, + "source": "http://127.0.0.1:8084/test/pattern.mp4?seek-order=0", + "active": [ + "
Caption
" + ], + "displayed": "\n Caption\n " + } + }, + { + "round": 1, + "settled": { + "time": 0, + "seeking": true, + "duration": 8, + "readyState": 4, + "paused": true, + "source": "http://127.0.0.1:8084/test/pattern.mp4?seek-order=1", + "active": [], + "displayed": "" + }, + "firstSeek": { + "time": 1.5014674, + "seeking": false, + "duration": 8, + "readyState": 4, + "paused": true, + "source": "http://127.0.0.1:8084/test/pattern.mp4?seek-order=1", + "active": [ + "
Caption
" + ], + "displayed": "\n Caption\n " + }, + "landed": true, + "afterSettledSeek": { + "time": 1.5014674, + "seeking": false, + "duration": 8, + "readyState": 4, + "paused": true, + "source": "http://127.0.0.1:8084/test/pattern.mp4?seek-order=1", + "active": [ + "
Caption
" + ], + "displayed": "\n Caption\n " + } + }, + { + "round": 2, + "settled": { + "time": 0, + "seeking": false, + "duration": 8, + "readyState": 4, + "paused": true, + "source": "http://127.0.0.1:8084/test/pattern.mp4?seek-order=2", + "active": [], + "displayed": "" + }, + "firstSeek": { + "time": 1.5018074, + "seeking": false, + "duration": 8, + "readyState": 4, + "paused": true, + "source": "http://127.0.0.1:8084/test/pattern.mp4?seek-order=2", + "active": [ + "
Caption
" + ], + "displayed": "\n Caption\n " + }, + "landed": true, + "afterSettledSeek": { + "time": 1.5018074, + "seeking": false, + "duration": 8, + "readyState": 4, + "paused": true, + "source": "http://127.0.0.1:8084/test/pattern.mp4?seek-order=2", + "active": [ + "
Caption
" + ], + "displayed": "\n Caption\n " + } + } + ], + "scope": "Three real source changes with immediate versus settled seek; old misses are recorded, candidate must honor every first seek", + "missedFirstSeeks": 0, + "seekingAtSettlement": 1, + "traceSha256": "8df3efc9801737194547d4e914bc145bf593431200e073456bb6671f53ba89b5" + } + }, + { + "title": "Source seek ordering / published / published-1.2.0-main", + "project": "webkit", + "status": "passed", + "order": { + "core": "published", + "plugin": "published-1.2.0-main", + "pluginSha256": "c1cb0b511da88347165cc855185de9450a44835bb34bb802281ccdb854ef603c", + "browser": "26.6", + "outcomes": [ + { + "round": 0, + "settled": { + "time": 0, + "seeking": true, + "duration": 8, + "readyState": 4, + "paused": true, + "source": "http://127.0.0.1:8084/test/pattern.mp4?seek-order=0", + "active": [], + "displayed": "" + }, + "firstSeek": { + "time": 0.0014996, + "seeking": false, + "duration": 8, + "readyState": 4, + "paused": true, + "source": "http://127.0.0.1:8084/test/pattern.mp4?seek-order=0", + "active": [], + "displayed": "" + }, + "landed": false, + "afterSettledSeek": { + "time": 1.5013514, + "seeking": false, + "duration": 8, + "readyState": 4, + "paused": true, + "source": "http://127.0.0.1:8084/test/pattern.mp4?seek-order=0", + "active": [ + "
Caption
" + ], + "displayed": "\n Caption\n " + } + }, + { + "round": 1, + "settled": { + "time": 0, + "seeking": false, + "duration": 8, + "readyState": 4, + "paused": true, + "source": "http://127.0.0.1:8084/test/pattern.mp4?seek-order=1", + "active": [], + "displayed": "" + }, + "firstSeek": { + "time": 1.5018172, + "seeking": false, + "duration": 8, + "readyState": 4, + "paused": true, + "source": "http://127.0.0.1:8084/test/pattern.mp4?seek-order=1", + "active": [ + "
Caption
" + ], + "displayed": "\n Caption\n " + }, + "landed": true, + "afterSettledSeek": { + "time": 1.5018172, + "seeking": false, + "duration": 8, + "readyState": 4, + "paused": true, + "source": "http://127.0.0.1:8084/test/pattern.mp4?seek-order=1", + "active": [ + "
Caption
" + ], + "displayed": "\n Caption\n " + } + }, + { + "round": 2, + "settled": { + "time": 0.0055642, + "seeking": false, + "duration": 8, + "readyState": 4, + "paused": true, + "source": "http://127.0.0.1:8084/test/pattern.mp4?seek-order=2", + "active": [], + "displayed": "" + }, + "firstSeek": { + "time": 1.5020243, + "seeking": false, + "duration": 8, + "readyState": 4, + "paused": true, + "source": "http://127.0.0.1:8084/test/pattern.mp4?seek-order=2", + "active": [ + "
Caption
" + ], + "displayed": "\n Caption\n " + }, + "landed": true, + "afterSettledSeek": { + "time": 1.5020243, + "seeking": false, + "duration": 8, + "readyState": 4, + "paused": true, + "source": "http://127.0.0.1:8084/test/pattern.mp4?seek-order=2", + "active": [ + "
Caption
" + ], + "displayed": "\n Caption\n " + } + } + ], + "trace": [ + { + "event": "loadedmetadata", + "time": 0, + "seeking": false, + "duration": 8, + "readyState": 4, + "paused": true, + "source": "http://127.0.0.1:8084/test/pattern.mp4", + "active": [], + "displayed": "" + }, + { + "event": "loadeddata", + "time": 0, + "seeking": false, + "duration": 8, + "readyState": 4, + "paused": true, + "source": "http://127.0.0.1:8084/test/pattern.mp4", + "active": [], + "displayed": "" + }, + { + "event": "canplay", + "time": 0, + "seeking": false, + "duration": 8, + "readyState": 4, + "paused": true, + "source": "http://127.0.0.1:8084/test/pattern.mp4", + "active": [], + "displayed": "" + }, + { + "event": "pause", + "time": 0.2836643, + "seeking": false, + "duration": 8, + "readyState": 4, + "paused": true, + "source": "http://127.0.0.1:8084/test/pattern.mp4", + "active": [], + "displayed": "" + }, + { + "event": "emptied", + "time": 0, + "seeking": false, + "duration": null, + "readyState": 0, + "paused": true, + "source": "http://127.0.0.1:8084/test/pattern.mp4", + "active": [], + "displayed": "" + }, + { + "event": "write-currentTime", + "value": 0, + "time": 0, + "seeking": false, + "duration": 8, + "readyState": 4, + "paused": true, + "source": "http://127.0.0.1:8084/test/pattern.mp4?seek-order=0", + "active": [], + "displayed": "" + }, + { + "event": "loadedmetadata", + "time": 0, + "seeking": true, + "duration": 8, + "readyState": 4, + "paused": true, + "source": "http://127.0.0.1:8084/test/pattern.mp4?seek-order=0", + "active": [], + "displayed": "" + }, + { + "event": "loadeddata", + "time": 0, + "seeking": true, + "duration": 8, + "readyState": 4, + "paused": true, + "source": "http://127.0.0.1:8084/test/pattern.mp4?seek-order=0", + "active": [], + "displayed": "" + }, + { + "event": "canplay", + "time": 0, + "seeking": true, + "duration": 8, + "readyState": 4, + "paused": true, + "source": "http://127.0.0.1:8084/test/pattern.mp4?seek-order=0", + "active": [], + "displayed": "" + }, + { + "event": "write-currentTime", + "value": 1.5, + "time": 0, + "seeking": true, + "duration": 8, + "readyState": 4, + "paused": true, + "source": "http://127.0.0.1:8084/test/pattern.mp4?seek-order=0", + "active": [], + "displayed": "" + }, + { + "event": "seeking", + "time": 0.0014996, + "seeking": false, + "duration": 8, + "readyState": 4, + "paused": true, + "source": "http://127.0.0.1:8084/test/pattern.mp4?seek-order=0", + "active": [], + "displayed": "" + }, + { + "event": "seeked", + "time": 0.0014996, + "seeking": false, + "duration": 8, + "readyState": 4, + "paused": true, + "source": "http://127.0.0.1:8084/test/pattern.mp4?seek-order=0", + "active": [], + "displayed": "" + }, + { + "event": "canplay", + "time": 0.0014996, + "seeking": false, + "duration": 8, + "readyState": 4, + "paused": true, + "source": "http://127.0.0.1:8084/test/pattern.mp4?seek-order=0", + "active": [], + "displayed": "" + }, + { + "event": "write-currentTime", + "value": 1.5, + "time": 0.0014996, + "seeking": false, + "duration": 8, + "readyState": 4, + "paused": true, + "source": "http://127.0.0.1:8084/test/pattern.mp4?seek-order=0", + "active": [], + "displayed": "" + }, + { + "event": "seeking", + "time": 1.5013514, + "seeking": false, + "duration": 8, + "readyState": 4, + "paused": true, + "source": "http://127.0.0.1:8084/test/pattern.mp4?seek-order=0", + "active": [], + "displayed": "" + }, + { + "event": "seeked", + "time": 1.5013514, + "seeking": false, + "duration": 8, + "readyState": 4, + "paused": true, + "source": "http://127.0.0.1:8084/test/pattern.mp4?seek-order=0", + "active": [ + "
Caption
" + ], + "displayed": "" + }, + { + "event": "emptied", + "time": 0, + "seeking": false, + "duration": null, + "readyState": 0, + "paused": true, + "source": "http://127.0.0.1:8084/test/pattern.mp4?seek-order=0", + "active": [], + "displayed": "\n Caption\n " + }, + { + "event": "write-currentTime", + "value": 0, + "time": 0, + "seeking": false, + "duration": 8, + "readyState": 4, + "paused": true, + "source": "http://127.0.0.1:8084/test/pattern.mp4?seek-order=1", + "active": [], + "displayed": "" + }, + { + "event": "loadedmetadata", + "time": 0, + "seeking": true, + "duration": 8, + "readyState": 4, + "paused": true, + "source": "http://127.0.0.1:8084/test/pattern.mp4?seek-order=1", + "active": [], + "displayed": "" + }, + { + "event": "loadeddata", + "time": 0, + "seeking": true, + "duration": 8, + "readyState": 4, + "paused": true, + "source": "http://127.0.0.1:8084/test/pattern.mp4?seek-order=1", + "active": [], + "displayed": "" + }, + { + "event": "canplay", + "time": 0, + "seeking": true, + "duration": 8, + "readyState": 4, + "paused": true, + "source": "http://127.0.0.1:8084/test/pattern.mp4?seek-order=1", + "active": [], + "displayed": "" + }, + { + "event": "write-currentTime", + "value": 1.5, + "time": 0, + "seeking": false, + "duration": 8, + "readyState": 4, + "paused": true, + "source": "http://127.0.0.1:8084/test/pattern.mp4?seek-order=1", + "active": [], + "displayed": "" + }, + { + "event": "seeking", + "time": 1.5, + "seeking": true, + "duration": 8, + "readyState": 4, + "paused": true, + "source": "http://127.0.0.1:8084/test/pattern.mp4?seek-order=1", + "active": [], + "displayed": "" + }, + { + "event": "seeked", + "time": 1.5, + "seeking": true, + "duration": 8, + "readyState": 4, + "paused": true, + "source": "http://127.0.0.1:8084/test/pattern.mp4?seek-order=1", + "active": [], + "displayed": "" + }, + { + "event": "seeking", + "time": 1.5018172, + "seeking": false, + "duration": 8, + "readyState": 4, + "paused": true, + "source": "http://127.0.0.1:8084/test/pattern.mp4?seek-order=1", + "active": [], + "displayed": "" + }, + { + "event": "canplay", + "time": 1.5018172, + "seeking": false, + "duration": 8, + "readyState": 4, + "paused": true, + "source": "http://127.0.0.1:8084/test/pattern.mp4?seek-order=1", + "active": [], + "displayed": "" + }, + { + "event": "seeked", + "time": 1.5018172, + "seeking": false, + "duration": 8, + "readyState": 4, + "paused": true, + "source": "http://127.0.0.1:8084/test/pattern.mp4?seek-order=1", + "active": [ + "
Caption
" + ], + "displayed": "" + }, + { + "event": "emptied", + "time": 0, + "seeking": false, + "duration": null, + "readyState": 0, + "paused": true, + "source": "http://127.0.0.1:8084/test/pattern.mp4?seek-order=1", + "active": [], + "displayed": "\n Caption\n " + }, + { + "event": "write-currentTime", + "value": 0, + "time": 0, + "seeking": false, + "duration": 8, + "readyState": 4, + "paused": true, + "source": "http://127.0.0.1:8084/test/pattern.mp4?seek-order=2", + "active": [], + "displayed": "" + }, + { + "event": "loadedmetadata", + "time": 0, + "seeking": true, + "duration": 8, + "readyState": 4, + "paused": true, + "source": "http://127.0.0.1:8084/test/pattern.mp4?seek-order=2", + "active": [], + "displayed": "" + }, + { + "event": "loadeddata", + "time": 0, + "seeking": true, + "duration": 8, + "readyState": 4, + "paused": true, + "source": "http://127.0.0.1:8084/test/pattern.mp4?seek-order=2", + "active": [], + "displayed": "" + }, + { + "event": "canplay", + "time": 0, + "seeking": true, + "duration": 8, + "readyState": 4, + "paused": true, + "source": "http://127.0.0.1:8084/test/pattern.mp4?seek-order=2", + "active": [], + "displayed": "" + }, + { + "event": "seeking", + "time": 0.0055642, + "seeking": false, + "duration": 8, + "readyState": 4, + "paused": true, + "source": "http://127.0.0.1:8084/test/pattern.mp4?seek-order=2", + "active": [], + "displayed": "" + }, + { + "event": "seeked", + "time": 0.0055642, + "seeking": false, + "duration": 8, + "readyState": 4, + "paused": true, + "source": "http://127.0.0.1:8084/test/pattern.mp4?seek-order=2", + "active": [], + "displayed": "" + }, + { + "event": "write-currentTime", + "value": 1.5, + "time": 0.0055642, + "seeking": false, + "duration": 8, + "readyState": 4, + "paused": true, + "source": "http://127.0.0.1:8084/test/pattern.mp4?seek-order=2", + "active": [], + "displayed": "" + }, + { + "event": "seeking", + "time": 1.5020243, + "seeking": false, + "duration": 8, + "readyState": 4, + "paused": true, + "source": "http://127.0.0.1:8084/test/pattern.mp4?seek-order=2", + "active": [], + "displayed": "" + }, + { + "event": "seeked", + "time": 1.5020243, + "seeking": false, + "duration": 8, + "readyState": 4, + "paused": true, + "source": "http://127.0.0.1:8084/test/pattern.mp4?seek-order=2", + "active": [ + "
Caption
" + ], + "displayed": "" + } + ], + "scope": "Three real source changes with immediate versus settled seek; old misses are recorded, candidate must honor every first seek", + "missedFirstSeeks": 1, + "seekingAtSettlement": 1, + "traceSha256": "77c0fff459d4b567acaee638d5e754be4c6b863d891622778614e83cdfc8eecd" + } + }, + { + "title": "Source seek ordering / candidate / no-plugin", + "project": "webkit", + "status": "passed", + "order": { + "core": "candidate", + "plugin": "none", + "pluginSha256": null, + "browser": "26.6", + "outcomes": [ + { + "round": 0, + "settled": { + "time": 0.00235, + "seeking": false, + "duration": 8, + "readyState": 4, + "paused": true, + "source": "http://127.0.0.1:8084/test/pattern.mp4?seek-order=0", + "active": [], + "displayed": "" + }, + "firstSeek": { + "time": 1.5014877, + "seeking": false, + "duration": 8, + "readyState": 4, + "paused": true, + "source": "http://127.0.0.1:8084/test/pattern.mp4?seek-order=0", + "active": [], + "displayed": "" + }, + "landed": true, + "afterSettledSeek": { + "time": 1.5014877, + "seeking": false, + "duration": 8, + "readyState": 4, + "paused": true, + "source": "http://127.0.0.1:8084/test/pattern.mp4?seek-order=0", + "active": [], + "displayed": "" + } + }, + { + "round": 1, + "settled": { + "time": 0.0056108, + "seeking": false, + "duration": 8, + "readyState": 4, + "paused": true, + "source": "http://127.0.0.1:8084/test/pattern.mp4?seek-order=1", + "active": [], + "displayed": "" + }, + "firstSeek": { + "time": 1.501924, + "seeking": false, + "duration": 8, + "readyState": 4, + "paused": true, + "source": "http://127.0.0.1:8084/test/pattern.mp4?seek-order=1", + "active": [], + "displayed": "" + }, + "landed": true, + "afterSettledSeek": { + "time": 1.501924, + "seeking": false, + "duration": 8, + "readyState": 4, + "paused": true, + "source": "http://127.0.0.1:8084/test/pattern.mp4?seek-order=1", + "active": [], + "displayed": "" + } + }, + { + "round": 2, + "settled": { + "time": 0.0050648, + "seeking": false, + "duration": 8, + "readyState": 4, + "paused": true, + "source": "http://127.0.0.1:8084/test/pattern.mp4?seek-order=2", + "active": [], + "displayed": "" + }, + "firstSeek": { + "time": 1.5012786, + "seeking": false, + "duration": 8, + "readyState": 4, + "paused": true, + "source": "http://127.0.0.1:8084/test/pattern.mp4?seek-order=2", + "active": [], + "displayed": "" + }, + "landed": true, + "afterSettledSeek": { + "time": 1.5012786, + "seeking": false, + "duration": 8, + "readyState": 4, + "paused": true, + "source": "http://127.0.0.1:8084/test/pattern.mp4?seek-order=2", + "active": [], + "displayed": "" + } + } + ], + "trace": [ + { + "event": "loadedmetadata", + "time": 0, + "seeking": false, + "duration": 8, + "readyState": 4, + "paused": true, + "source": "http://127.0.0.1:8084/test/pattern.mp4", + "active": [], + "displayed": "" + }, + { + "event": "loadeddata", + "time": 0, + "seeking": false, + "duration": 8, + "readyState": 4, + "paused": true, + "source": "http://127.0.0.1:8084/test/pattern.mp4", + "active": [], + "displayed": "" + }, + { + "event": "canplay", + "time": 0, + "seeking": false, + "duration": 8, + "readyState": 4, + "paused": true, + "source": "http://127.0.0.1:8084/test/pattern.mp4", + "active": [], + "displayed": "" + }, + { + "event": "pause", + "time": 0.2702455, + "seeking": false, + "duration": 8, + "readyState": 4, + "paused": true, + "source": "http://127.0.0.1:8084/test/pattern.mp4", + "active": [], + "displayed": "" + }, + { + "event": "emptied", + "time": 0, + "seeking": false, + "duration": null, + "readyState": 0, + "paused": true, + "source": "http://127.0.0.1:8084/test/pattern.mp4", + "active": [], + "displayed": "" + }, + { + "event": "write-currentTime", + "value": 0, + "time": 0, + "seeking": false, + "duration": 8, + "readyState": 4, + "paused": true, + "source": "http://127.0.0.1:8084/test/pattern.mp4?seek-order=0", + "active": [], + "displayed": "" + }, + { + "event": "loadedmetadata", + "time": 0, + "seeking": true, + "duration": 8, + "readyState": 4, + "paused": true, + "source": "http://127.0.0.1:8084/test/pattern.mp4?seek-order=0", + "active": [], + "displayed": "" + }, + { + "event": "loadeddata", + "time": 0, + "seeking": true, + "duration": 8, + "readyState": 4, + "paused": true, + "source": "http://127.0.0.1:8084/test/pattern.mp4?seek-order=0", + "active": [], + "displayed": "" + }, + { + "event": "canplay", + "time": 0, + "seeking": true, + "duration": 8, + "readyState": 4, + "paused": true, + "source": "http://127.0.0.1:8084/test/pattern.mp4?seek-order=0", + "active": [], + "displayed": "" + }, + { + "event": "seeking", + "time": 0.00235, + "seeking": false, + "duration": 8, + "readyState": 4, + "paused": true, + "source": "http://127.0.0.1:8084/test/pattern.mp4?seek-order=0", + "active": [], + "displayed": "" + }, + { + "event": "seeked", + "time": 0.00235, + "seeking": false, + "duration": 8, + "readyState": 4, + "paused": true, + "source": "http://127.0.0.1:8084/test/pattern.mp4?seek-order=0", + "active": [], + "displayed": "" + }, + { + "event": "write-currentTime", + "value": 1.5, + "time": 0.00235, + "seeking": false, + "duration": 8, + "readyState": 4, + "paused": true, + "source": "http://127.0.0.1:8084/test/pattern.mp4?seek-order=0", + "active": [], + "displayed": "" + }, + { + "event": "seeking", + "time": 1.5014877, + "seeking": false, + "duration": 8, + "readyState": 4, + "paused": true, + "source": "http://127.0.0.1:8084/test/pattern.mp4?seek-order=0", + "active": [], + "displayed": "" + }, + { + "event": "seeked", + "time": 1.5014877, + "seeking": false, + "duration": 8, + "readyState": 4, + "paused": true, + "source": "http://127.0.0.1:8084/test/pattern.mp4?seek-order=0", + "active": [], + "displayed": "" + }, + { + "event": "emptied", + "time": 0, + "seeking": false, + "duration": null, + "readyState": 0, + "paused": true, + "source": "http://127.0.0.1:8084/test/pattern.mp4?seek-order=0", + "active": [], + "displayed": "" + }, + { + "event": "write-currentTime", + "value": 0, + "time": 0, + "seeking": false, + "duration": 8, + "readyState": 4, + "paused": true, + "source": "http://127.0.0.1:8084/test/pattern.mp4?seek-order=1", + "active": [], + "displayed": "" + }, + { + "event": "loadedmetadata", + "time": 0, + "seeking": true, + "duration": 8, + "readyState": 4, + "paused": true, + "source": "http://127.0.0.1:8084/test/pattern.mp4?seek-order=1", + "active": [], + "displayed": "" + }, + { + "event": "loadeddata", + "time": 0, + "seeking": true, + "duration": 8, + "readyState": 4, + "paused": true, + "source": "http://127.0.0.1:8084/test/pattern.mp4?seek-order=1", + "active": [], + "displayed": "" + }, + { + "event": "canplay", + "time": 0, + "seeking": true, + "duration": 8, + "readyState": 4, + "paused": true, + "source": "http://127.0.0.1:8084/test/pattern.mp4?seek-order=1", + "active": [], + "displayed": "" + }, + { + "event": "seeking", + "time": 0.0056108, + "seeking": false, + "duration": 8, + "readyState": 4, + "paused": true, + "source": "http://127.0.0.1:8084/test/pattern.mp4?seek-order=1", + "active": [], + "displayed": "" + }, + { + "event": "seeked", + "time": 0.0056108, + "seeking": false, + "duration": 8, + "readyState": 4, + "paused": true, + "source": "http://127.0.0.1:8084/test/pattern.mp4?seek-order=1", + "active": [], + "displayed": "" + }, + { + "event": "write-currentTime", + "value": 1.5, + "time": 0.0056108, + "seeking": false, + "duration": 8, + "readyState": 4, + "paused": true, + "source": "http://127.0.0.1:8084/test/pattern.mp4?seek-order=1", + "active": [], + "displayed": "" + }, + { + "event": "seeking", + "time": 1.501924, + "seeking": false, + "duration": 8, + "readyState": 4, + "paused": true, + "source": "http://127.0.0.1:8084/test/pattern.mp4?seek-order=1", + "active": [], + "displayed": "" + }, + { + "event": "seeked", + "time": 1.501924, + "seeking": false, + "duration": 8, + "readyState": 4, + "paused": true, + "source": "http://127.0.0.1:8084/test/pattern.mp4?seek-order=1", + "active": [], + "displayed": "" + }, + { + "event": "emptied", + "time": 0, + "seeking": false, + "duration": null, + "readyState": 0, + "paused": true, + "source": "http://127.0.0.1:8084/test/pattern.mp4?seek-order=1", + "active": [], + "displayed": "" + }, + { + "event": "write-currentTime", + "value": 0, + "time": 0, + "seeking": false, + "duration": 8, + "readyState": 4, + "paused": true, + "source": "http://127.0.0.1:8084/test/pattern.mp4?seek-order=2", + "active": [], + "displayed": "" + }, + { + "event": "loadedmetadata", + "time": 0, + "seeking": true, + "duration": 8, + "readyState": 4, + "paused": true, + "source": "http://127.0.0.1:8084/test/pattern.mp4?seek-order=2", + "active": [], + "displayed": "" + }, + { + "event": "loadeddata", + "time": 0, + "seeking": true, + "duration": 8, + "readyState": 4, + "paused": true, + "source": "http://127.0.0.1:8084/test/pattern.mp4?seek-order=2", + "active": [], + "displayed": "" + }, + { + "event": "canplay", + "time": 0, + "seeking": true, + "duration": 8, + "readyState": 4, + "paused": true, + "source": "http://127.0.0.1:8084/test/pattern.mp4?seek-order=2", + "active": [], + "displayed": "" + }, + { + "event": "seeking", + "time": 0.0050648, + "seeking": false, + "duration": 8, + "readyState": 4, + "paused": true, + "source": "http://127.0.0.1:8084/test/pattern.mp4?seek-order=2", + "active": [], + "displayed": "" + }, + { + "event": "seeked", + "time": 0.0050648, + "seeking": false, + "duration": 8, + "readyState": 4, + "paused": true, + "source": "http://127.0.0.1:8084/test/pattern.mp4?seek-order=2", + "active": [], + "displayed": "" + }, + { + "event": "write-currentTime", + "value": 1.5, + "time": 0.0050648, + "seeking": false, + "duration": 8, + "readyState": 4, + "paused": true, + "source": "http://127.0.0.1:8084/test/pattern.mp4?seek-order=2", + "active": [], + "displayed": "" + }, + { + "event": "seeking", + "time": 1.5012786, + "seeking": false, + "duration": 8, + "readyState": 4, + "paused": true, + "source": "http://127.0.0.1:8084/test/pattern.mp4?seek-order=2", + "active": [], + "displayed": "" + }, + { + "event": "canplay", + "time": 1.5012786, + "seeking": false, + "duration": 8, + "readyState": 4, + "paused": true, + "source": "http://127.0.0.1:8084/test/pattern.mp4?seek-order=2", + "active": [], + "displayed": "" + }, + { + "event": "seeked", + "time": 1.5012786, + "seeking": false, + "duration": 8, + "readyState": 4, + "paused": true, + "source": "http://127.0.0.1:8084/test/pattern.mp4?seek-order=2", + "active": [], + "displayed": "" + } + ], + "scope": "Three real source changes with immediate versus settled seek; old misses are recorded, candidate must honor every first seek", + "missedFirstSeeks": 0, + "seekingAtSettlement": 0, + "traceSha256": "f36250402c57c49973c2240020145906f897cd494f9c49474247a92092b8ebe8" + } + }, + { + "title": "Source seek ordering / candidate / candidate", + "project": "webkit", + "status": "passed", + "order": { + "core": "candidate", + "plugin": "candidate", + "pluginSha256": "66664050ae97facbf56f2e885792beee2e3ff7400889d78951f46d207e0fe2d9", + "browser": "26.6", + "outcomes": [ + { + "round": 0, + "settled": { + "time": 0.0023683, + "seeking": false, + "duration": 8, + "readyState": 4, + "paused": true, + "source": "http://127.0.0.1:8084/test/pattern.mp4?seek-order=0", + "active": [], + "displayed": "" + }, + "firstSeek": { + "time": 1.5012621, + "seeking": false, + "duration": 8, + "readyState": 4, + "paused": true, + "source": "http://127.0.0.1:8084/test/pattern.mp4?seek-order=0", + "active": [ + "
Caption
" + ], + "displayed": "\n Caption\n " + }, + "landed": true, + "afterSettledSeek": { + "time": 1.5012621, + "seeking": false, + "duration": 8, + "readyState": 4, + "paused": true, + "source": "http://127.0.0.1:8084/test/pattern.mp4?seek-order=0", + "active": [ + "
Caption
" + ], + "displayed": "\n Caption\n " + } + }, + { + "round": 1, + "settled": { + "time": 0.002805, + "seeking": false, + "duration": 8, + "readyState": 4, + "paused": true, + "source": "http://127.0.0.1:8084/test/pattern.mp4?seek-order=1", + "active": [], + "displayed": "" + }, + "firstSeek": { + "time": 1.5018601, + "seeking": false, + "duration": 8, + "readyState": 4, + "paused": true, + "source": "http://127.0.0.1:8084/test/pattern.mp4?seek-order=1", + "active": [ + "
Caption
" + ], + "displayed": "\n Caption\n " + }, + "landed": true, + "afterSettledSeek": { + "time": 1.5018601, + "seeking": false, + "duration": 8, + "readyState": 4, + "paused": true, + "source": "http://127.0.0.1:8084/test/pattern.mp4?seek-order=1", + "active": [ + "
Caption
" + ], + "displayed": "\n Caption\n " + } + }, + { + "round": 2, + "settled": { + "time": 0.0063872, + "seeking": false, + "duration": 8, + "readyState": 4, + "paused": true, + "source": "http://127.0.0.1:8084/test/pattern.mp4?seek-order=2", + "active": [], + "displayed": "" + }, + "firstSeek": { + "time": 1.5017199, + "seeking": false, + "duration": 8, + "readyState": 4, + "paused": true, + "source": "http://127.0.0.1:8084/test/pattern.mp4?seek-order=2", + "active": [ + "
Caption
" + ], + "displayed": "\n Caption\n " + }, + "landed": true, + "afterSettledSeek": { + "time": 1.5017199, + "seeking": false, + "duration": 8, + "readyState": 4, + "paused": true, + "source": "http://127.0.0.1:8084/test/pattern.mp4?seek-order=2", + "active": [ + "
Caption
" + ], + "displayed": "\n Caption\n " + } + } + ], + "scope": "Three real source changes with immediate versus settled seek; old misses are recorded, candidate must honor every first seek", + "missedFirstSeeks": 0, + "seekingAtSettlement": 0, + "traceSha256": "ddc090dc0dc05ddb53772ebecc097dea7cb9f640f08c1001aeefec0fd136da93" + } + }, + { + "title": "Source seek ordering / candidate / published-1.2.0-main", + "project": "webkit", + "status": "passed", + "order": { + "core": "candidate", + "plugin": "published-1.2.0-main", + "pluginSha256": "c1cb0b511da88347165cc855185de9450a44835bb34bb802281ccdb854ef603c", + "browser": "26.6", + "outcomes": [ + { + "round": 0, + "settled": { + "time": 0.0067683, + "seeking": false, + "duration": 8, + "readyState": 4, + "paused": true, + "source": "http://127.0.0.1:8084/test/pattern.mp4?seek-order=0", + "active": [], + "displayed": "" + }, + "firstSeek": { + "time": 1.5013025, + "seeking": false, + "duration": 8, + "readyState": 4, + "paused": true, + "source": "http://127.0.0.1:8084/test/pattern.mp4?seek-order=0", + "active": [ + "
Caption
" + ], + "displayed": "\n Caption\n " + }, + "landed": true, + "afterSettledSeek": { + "time": 1.5013025, + "seeking": false, + "duration": 8, + "readyState": 4, + "paused": true, + "source": "http://127.0.0.1:8084/test/pattern.mp4?seek-order=0", + "active": [ + "
Caption
" + ], + "displayed": "\n Caption\n " + } + }, + { + "round": 1, + "settled": { + "time": 0, + "seeking": false, + "duration": 8, + "readyState": 4, + "paused": true, + "source": "http://127.0.0.1:8084/test/pattern.mp4?seek-order=1", + "active": [], + "displayed": "" + }, + "firstSeek": { + "time": 1.5008252, + "seeking": false, + "duration": 8, + "readyState": 4, + "paused": true, + "source": "http://127.0.0.1:8084/test/pattern.mp4?seek-order=1", + "active": [ + "
Caption
" + ], + "displayed": "\n Caption\n " + }, + "landed": true, + "afterSettledSeek": { + "time": 1.5008252, + "seeking": false, + "duration": 8, + "readyState": 4, + "paused": true, + "source": "http://127.0.0.1:8084/test/pattern.mp4?seek-order=1", + "active": [ + "
Caption
" + ], + "displayed": "\n Caption\n " + } + }, + { + "round": 2, + "settled": { + "time": 0.0020279, + "seeking": false, + "duration": 8, + "readyState": 4, + "paused": true, + "source": "http://127.0.0.1:8084/test/pattern.mp4?seek-order=2", + "active": [], + "displayed": "" + }, + "firstSeek": { + "time": 1.5020693, + "seeking": false, + "duration": 8, + "readyState": 4, + "paused": true, + "source": "http://127.0.0.1:8084/test/pattern.mp4?seek-order=2", + "active": [ + "
Caption
" + ], + "displayed": "\n Caption\n " + }, + "landed": true, + "afterSettledSeek": { + "time": 1.5020693, + "seeking": false, + "duration": 8, + "readyState": 4, + "paused": true, + "source": "http://127.0.0.1:8084/test/pattern.mp4?seek-order=2", + "active": [ + "
Caption
" + ], + "displayed": "\n Caption\n " + } + } + ], + "scope": "Three real source changes with immediate versus settled seek; old misses are recorded, candidate must honor every first seek", + "missedFirstSeeks": 0, + "seekingAtSettlement": 0, + "traceSha256": "65aa792e08b12dc531ab62a56b53f278cc03e88d0d95b4f8ab9bbf13d98c05fb" + } + } + ] + }, + { + "name": "main-matrix", + "report": { + "path": "refactor/.cache/multi-switch-order-main-initial-browser/report.json", + "sha256": "069aee57d759d80ed07e3b423f415c97be08cab3c5825c862163452f8805ad0e" + }, + "log": { + "path": "refactor/.cache/multi-switch-order-main.log", + "sha256": "6b76f2afd6bd3e89e0e528128b67feeefb4377e26ca7565c98c5d7add9f0fa8d" + }, + "stats": { + "startTime": "2026-09-14T04:55:11.073Z", + "duration": 94952.964, + "expected": 83, + "skipped": 0, + "unexpected": 1, + "flaky": 0 + }, + "inputs": [ + { + "browser": "153.0.8010.12", + "platform": "win32", + "candidateCore": { + "source": { + "kind": "artifact", + "file": "D:\\github\\ArtPlayer\\packages\\artplayer\\dist\\artplayer.js" + }, + "sha256": "cab41b4a6b47dfacfc2d99b923273043b48f0ad93c3e808af0bfa84ffe1cf26e", + "bytes": 208931 + }, + "media": { + "source": { + "kind": "generated-media", + "file": "test/browser/media/pattern.mp4" + }, + "sha256": "0ad1d7ad286aec6e0fa9e27fc1e487e7277df2e603e30040fb942365763d0233", + "bytes": 251538 + } + }, + { + "browser": "155.0", + "platform": "win32", + "candidateCore": { + "source": { + "kind": "artifact", + "file": "D:\\github\\ArtPlayer\\packages\\artplayer\\dist\\artplayer.js" + }, + "sha256": "cab41b4a6b47dfacfc2d99b923273043b48f0ad93c3e808af0bfa84ffe1cf26e", + "bytes": 208931 + }, + "media": { + "source": { + "kind": "generated-media", + "file": "test/browser/media/pattern.mp4" + }, + "sha256": "0ad1d7ad286aec6e0fa9e27fc1e487e7277df2e603e30040fb942365763d0233", + "bytes": 251538 + } + }, + { + "browser": "26.6", + "platform": "win32", + "candidateCore": { + "source": { + "kind": "artifact", + "file": "D:\\github\\ArtPlayer\\packages\\artplayer\\dist\\artplayer.js" + }, + "sha256": "cab41b4a6b47dfacfc2d99b923273043b48f0ad93c3e808af0bfa84ffe1cf26e", + "bytes": 208931 + }, + "media": { + "source": { + "kind": "generated-media", + "file": "test/browser/media/pattern.mp4" + }, + "sha256": "0ad1d7ad286aec6e0fa9e27fc1e487e7277df2e603e30040fb942365763d0233", + "bytes": 251538 + } + } + ], + "tests": [ + { + "title": "Multiple subtitles candidate / published-5.3.0: timed VTT and SRT, offsets, fullscreen and source change", + "project": "chromium", + "status": "passed", + "combinationInputs": { + "core": "published-5.3.0", + "plugin": "candidate", + "pluginSha256": "e2192514ab4836a04c56420fa8c260efa657e2afa32f299d0cf7786c91adc39b", + "browser": "153.0.8010.12", + "scope": "Desktop engines; 5.3.0 is adjacent stable, not the unavailable 5.3.1 release; no minimum-version or physical-device claim" + } + }, + { + "title": "Multiple subtitles candidate / published: timed VTT and SRT, offsets, fullscreen and source change", + "project": "chromium", + "status": "passed", + "combinationInputs": { + "core": "published", + "plugin": "candidate", + "pluginSha256": "e2192514ab4836a04c56420fa8c260efa657e2afa32f299d0cf7786c91adc39b", + "browser": "153.0.8010.12", + "scope": "Desktop engines; 5.3.0 is adjacent stable, not the unavailable 5.3.1 release; no minimum-version or physical-device claim" + } + }, + { + "title": "Multiple subtitles candidate / candidate: timed VTT and SRT, offsets, fullscreen and source change", + "project": "chromium", + "status": "passed", + "combinationInputs": { + "core": "candidate", + "plugin": "candidate", + "pluginSha256": "e2192514ab4836a04c56420fa8c260efa657e2afa32f299d0cf7786c91adc39b", + "browser": "153.0.8010.12", + "scope": "Desktop engines; 5.3.0 is adjacent stable, not the unavailable 5.3.1 release; no minimum-version or physical-device claim" + } + }, + { + "title": "Multiple subtitles candidate / published-5.1.2: destroying one player preserves another player's captions and URLs", + "project": "chromium", + "status": "passed", + "combinationInputs": { + "core": "published-5.1.2", + "plugin": "candidate", + "pluginSha256": "e2192514ab4836a04c56420fa8c260efa657e2afa32f299d0cf7786c91adc39b", + "browser": "153.0.8010.12", + "scope": "Desktop engines; 5.3.0 is adjacent stable, not the unavailable 5.3.1 release; no minimum-version or physical-device claim" + } + }, + { + "title": "Multiple subtitles candidate / published-5.1.7: destroying one player preserves another player's captions and URLs", + "project": "chromium", + "status": "passed", + "combinationInputs": { + "core": "published-5.1.7", + "plugin": "candidate", + "pluginSha256": "e2192514ab4836a04c56420fa8c260efa657e2afa32f299d0cf7786c91adc39b", + "browser": "153.0.8010.12", + "scope": "Desktop engines; 5.3.0 is adjacent stable, not the unavailable 5.3.1 release; no minimum-version or physical-device claim" + } + }, + { + "title": "Multiple subtitles candidate / published-5.3.0: destroying one player preserves another player's captions and URLs", + "project": "chromium", + "status": "passed", + "combinationInputs": { + "core": "published-5.3.0", + "plugin": "candidate", + "pluginSha256": "e2192514ab4836a04c56420fa8c260efa657e2afa32f299d0cf7786c91adc39b", + "browser": "153.0.8010.12", + "scope": "Desktop engines; 5.3.0 is adjacent stable, not the unavailable 5.3.1 release; no minimum-version or physical-device claim" + } + }, + { + "title": "Multiple subtitles candidate / published: destroying one player preserves another player's captions and URLs", + "project": "chromium", + "status": "passed", + "combinationInputs": { + "core": "published", + "plugin": "candidate", + "pluginSha256": "e2192514ab4836a04c56420fa8c260efa657e2afa32f299d0cf7786c91adc39b", + "browser": "153.0.8010.12", + "scope": "Desktop engines; 5.3.0 is adjacent stable, not the unavailable 5.3.1 release; no minimum-version or physical-device claim" + } + }, + { + "title": "Multiple subtitles candidate / candidate: destroying one player preserves another player's captions and URLs", + "project": "chromium", + "status": "passed", + "combinationInputs": { + "core": "candidate", + "plugin": "candidate", + "pluginSha256": "e2192514ab4836a04c56420fa8c260efa657e2afa32f299d0cf7786c91adc39b", + "browser": "153.0.8010.12", + "scope": "Desktop engines; 5.3.0 is adjacent stable, not the unavailable 5.3.1 release; no minimum-version or physical-device claim" + } + }, + { + "title": "Multiple subtitles published-1.2.0-main / published-5.1.2: record single-active-cue overlap boundary", + "project": "chromium", + "status": "passed", + "combinationInputs": { + "core": "published-5.1.2", + "plugin": "published-1.2.0-main", + "pluginSha256": "c1cb0b511da88347165cc855185de9450a44835bb34bb802281ccdb854ef603c", + "browser": "153.0.8010.12", + "scope": "Desktop engines; 5.3.0 is adjacent stable, not the unavailable 5.3.1 release; no minimum-version or physical-device claim" + } + }, + { + "title": "Multiple subtitles published-1.1.0-main / published-5.1.2: record single-active-cue overlap boundary", + "project": "chromium", + "status": "passed", + "combinationInputs": { + "core": "published-5.1.2", + "plugin": "published-1.1.0-main", + "pluginSha256": "df40c0728decb7e39779d0f22cad0a32d5586a66bfdb19bcfecffbecca083a83", + "browser": "153.0.8010.12", + "scope": "Desktop engines; 5.3.0 is adjacent stable, not the unavailable 5.3.1 release; no minimum-version or physical-device claim" + } + }, + { + "title": "Multiple subtitles published-1.0.0-main / published-5.1.2: record single-active-cue overlap boundary", + "project": "chromium", + "status": "passed", + "combinationInputs": { + "core": "published-5.1.2", + "plugin": "published-1.0.0-main", + "pluginSha256": "89ba01b678b5ca5e5277482718f55f496317ca9416d0d7b3d46b5c306f399c42", + "browser": "153.0.8010.12", + "scope": "Desktop engines; 5.3.0 is adjacent stable, not the unavailable 5.3.1 release; no minimum-version or physical-device claim" + } + }, + { + "title": "Multiple subtitles candidate / published-5.1.2: record single-active-cue overlap boundary", + "project": "chromium", + "status": "passed", + "combinationInputs": { + "core": "published-5.1.2", + "plugin": "candidate", + "pluginSha256": "e2192514ab4836a04c56420fa8c260efa657e2afa32f299d0cf7786c91adc39b", + "browser": "153.0.8010.12", + "scope": "Desktop engines; 5.3.0 is adjacent stable, not the unavailable 5.3.1 release; no minimum-version or physical-device claim" + } + }, + { + "title": "Multiple subtitles published-1.2.0-main / published-5.1.7: record single-active-cue overlap boundary", + "project": "chromium", + "status": "passed", + "combinationInputs": { + "core": "published-5.1.7", + "plugin": "published-1.2.0-main", + "pluginSha256": "c1cb0b511da88347165cc855185de9450a44835bb34bb802281ccdb854ef603c", + "browser": "153.0.8010.12", + "scope": "Desktop engines; 5.3.0 is adjacent stable, not the unavailable 5.3.1 release; no minimum-version or physical-device claim" + } + }, + { + "title": "Multiple subtitles published-1.1.0-main / published-5.1.7: record single-active-cue overlap boundary", + "project": "chromium", + "status": "passed", + "combinationInputs": { + "core": "published-5.1.7", + "plugin": "published-1.1.0-main", + "pluginSha256": "df40c0728decb7e39779d0f22cad0a32d5586a66bfdb19bcfecffbecca083a83", + "browser": "153.0.8010.12", + "scope": "Desktop engines; 5.3.0 is adjacent stable, not the unavailable 5.3.1 release; no minimum-version or physical-device claim" + } + }, + { + "title": "Multiple subtitles published-1.0.0-main / published-5.1.7: record single-active-cue overlap boundary", + "project": "chromium", + "status": "passed", + "combinationInputs": { + "core": "published-5.1.7", + "plugin": "published-1.0.0-main", + "pluginSha256": "89ba01b678b5ca5e5277482718f55f496317ca9416d0d7b3d46b5c306f399c42", + "browser": "153.0.8010.12", + "scope": "Desktop engines; 5.3.0 is adjacent stable, not the unavailable 5.3.1 release; no minimum-version or physical-device claim" + } + }, + { + "title": "Multiple subtitles candidate / published-5.1.7: record single-active-cue overlap boundary", + "project": "chromium", + "status": "passed", + "combinationInputs": { + "core": "published-5.1.7", + "plugin": "candidate", + "pluginSha256": "e2192514ab4836a04c56420fa8c260efa657e2afa32f299d0cf7786c91adc39b", + "browser": "153.0.8010.12", + "scope": "Desktop engines; 5.3.0 is adjacent stable, not the unavailable 5.3.1 release; no minimum-version or physical-device claim" + } + }, + { + "title": "Multiple subtitles published-1.2.0-main / candidate core: unchanged old factory and selection calls", + "project": "chromium", + "status": "passed", + "combinationInputs": { + "core": "candidate", + "plugin": "published-1.2.0-main", + "pluginSha256": "c1cb0b511da88347165cc855185de9450a44835bb34bb802281ccdb854ef603c", + "browser": "153.0.8010.12", + "scope": "Desktop engines; 5.3.0 is adjacent stable, not the unavailable 5.3.1 release; no minimum-version or physical-device claim" + } + }, + { + "title": "Multiple subtitles published-1.1.0-main / candidate core: unchanged old factory and selection calls", + "project": "chromium", + "status": "passed", + "combinationInputs": { + "core": "candidate", + "plugin": "published-1.1.0-main", + "pluginSha256": "df40c0728decb7e39779d0f22cad0a32d5586a66bfdb19bcfecffbecca083a83", + "browser": "153.0.8010.12", + "scope": "Desktop engines; 5.3.0 is adjacent stable, not the unavailable 5.3.1 release; no minimum-version or physical-device claim" + } + }, + { + "title": "Multiple subtitles published-1.0.0-main / candidate core: unchanged old factory and selection calls", + "project": "chromium", + "status": "passed", + "combinationInputs": { + "core": "candidate", + "plugin": "published-1.0.0-main", + "pluginSha256": "89ba01b678b5ca5e5277482718f55f496317ca9416d0d7b3d46b5c306f399c42", + "browser": "153.0.8010.12", + "scope": "Desktop engines; 5.3.0 is adjacent stable, not the unavailable 5.3.1 release; no minimum-version or physical-device claim" + } + }, + { + "title": "Multiple subtitles candidate / published-5.3.0: timed VTT and SRT, offsets, fullscreen and source change", + "project": "firefox", + "status": "passed", + "combinationInputs": { + "core": "published-5.3.0", + "plugin": "candidate", + "pluginSha256": "e2192514ab4836a04c56420fa8c260efa657e2afa32f299d0cf7786c91adc39b", + "browser": "155.0", + "scope": "Desktop engines; 5.3.0 is adjacent stable, not the unavailable 5.3.1 release; no minimum-version or physical-device claim" + } + }, + { + "title": "Multiple subtitles candidate / published: timed VTT and SRT, offsets, fullscreen and source change", + "project": "firefox", + "status": "passed", + "combinationInputs": { + "core": "published", + "plugin": "candidate", + "pluginSha256": "e2192514ab4836a04c56420fa8c260efa657e2afa32f299d0cf7786c91adc39b", + "browser": "155.0", + "scope": "Desktop engines; 5.3.0 is adjacent stable, not the unavailable 5.3.1 release; no minimum-version or physical-device claim" + } + }, + { + "title": "Multiple subtitles candidate / candidate: timed VTT and SRT, offsets, fullscreen and source change", + "project": "firefox", + "status": "passed", + "combinationInputs": { + "core": "candidate", + "plugin": "candidate", + "pluginSha256": "e2192514ab4836a04c56420fa8c260efa657e2afa32f299d0cf7786c91adc39b", + "browser": "155.0", + "scope": "Desktop engines; 5.3.0 is adjacent stable, not the unavailable 5.3.1 release; no minimum-version or physical-device claim" + } + }, + { + "title": "Multiple subtitles candidate / published-5.1.2: destroying one player preserves another player's captions and URLs", + "project": "firefox", + "status": "passed", + "combinationInputs": { + "core": "published-5.1.2", + "plugin": "candidate", + "pluginSha256": "e2192514ab4836a04c56420fa8c260efa657e2afa32f299d0cf7786c91adc39b", + "browser": "155.0", + "scope": "Desktop engines; 5.3.0 is adjacent stable, not the unavailable 5.3.1 release; no minimum-version or physical-device claim" + } + }, + { + "title": "Multiple subtitles candidate / published-5.1.7: destroying one player preserves another player's captions and URLs", + "project": "firefox", + "status": "passed", + "combinationInputs": { + "core": "published-5.1.7", + "plugin": "candidate", + "pluginSha256": "e2192514ab4836a04c56420fa8c260efa657e2afa32f299d0cf7786c91adc39b", + "browser": "155.0", + "scope": "Desktop engines; 5.3.0 is adjacent stable, not the unavailable 5.3.1 release; no minimum-version or physical-device claim" + } + }, + { + "title": "Multiple subtitles candidate / published-5.3.0: destroying one player preserves another player's captions and URLs", + "project": "firefox", + "status": "passed", + "combinationInputs": { + "core": "published-5.3.0", + "plugin": "candidate", + "pluginSha256": "e2192514ab4836a04c56420fa8c260efa657e2afa32f299d0cf7786c91adc39b", + "browser": "155.0", + "scope": "Desktop engines; 5.3.0 is adjacent stable, not the unavailable 5.3.1 release; no minimum-version or physical-device claim" + } + }, + { + "title": "Multiple subtitles candidate / published: destroying one player preserves another player's captions and URLs", + "project": "firefox", + "status": "passed", + "combinationInputs": { + "core": "published", + "plugin": "candidate", + "pluginSha256": "e2192514ab4836a04c56420fa8c260efa657e2afa32f299d0cf7786c91adc39b", + "browser": "155.0", + "scope": "Desktop engines; 5.3.0 is adjacent stable, not the unavailable 5.3.1 release; no minimum-version or physical-device claim" + } + }, + { + "title": "Multiple subtitles candidate / candidate: destroying one player preserves another player's captions and URLs", + "project": "firefox", + "status": "passed", + "combinationInputs": { + "core": "candidate", + "plugin": "candidate", + "pluginSha256": "e2192514ab4836a04c56420fa8c260efa657e2afa32f299d0cf7786c91adc39b", + "browser": "155.0", + "scope": "Desktop engines; 5.3.0 is adjacent stable, not the unavailable 5.3.1 release; no minimum-version or physical-device claim" + } + }, + { + "title": "Multiple subtitles published-1.2.0-main / published-5.1.2: record single-active-cue overlap boundary", + "project": "firefox", + "status": "passed", + "combinationInputs": { + "core": "published-5.1.2", + "plugin": "published-1.2.0-main", + "pluginSha256": "c1cb0b511da88347165cc855185de9450a44835bb34bb802281ccdb854ef603c", + "browser": "155.0", + "scope": "Desktop engines; 5.3.0 is adjacent stable, not the unavailable 5.3.1 release; no minimum-version or physical-device claim" + } + }, + { + "title": "Multiple subtitles published-1.1.0-main / published-5.1.2: record single-active-cue overlap boundary", + "project": "firefox", + "status": "passed", + "combinationInputs": { + "core": "published-5.1.2", + "plugin": "published-1.1.0-main", + "pluginSha256": "df40c0728decb7e39779d0f22cad0a32d5586a66bfdb19bcfecffbecca083a83", + "browser": "155.0", + "scope": "Desktop engines; 5.3.0 is adjacent stable, not the unavailable 5.3.1 release; no minimum-version or physical-device claim" + } + }, + { + "title": "Multiple subtitles published-1.0.0-main / published-5.1.2: record single-active-cue overlap boundary", + "project": "firefox", + "status": "passed", + "combinationInputs": { + "core": "published-5.1.2", + "plugin": "published-1.0.0-main", + "pluginSha256": "89ba01b678b5ca5e5277482718f55f496317ca9416d0d7b3d46b5c306f399c42", + "browser": "155.0", + "scope": "Desktop engines; 5.3.0 is adjacent stable, not the unavailable 5.3.1 release; no minimum-version or physical-device claim" + } + }, + { + "title": "Multiple subtitles candidate / published-5.1.2: record single-active-cue overlap boundary", + "project": "firefox", + "status": "passed", + "combinationInputs": { + "core": "published-5.1.2", + "plugin": "candidate", + "pluginSha256": "e2192514ab4836a04c56420fa8c260efa657e2afa32f299d0cf7786c91adc39b", + "browser": "155.0", + "scope": "Desktop engines; 5.3.0 is adjacent stable, not the unavailable 5.3.1 release; no minimum-version or physical-device claim" + } + }, + { + "title": "Multiple subtitles published-1.2.0-main / published-5.1.7: record single-active-cue overlap boundary", + "project": "firefox", + "status": "passed", + "combinationInputs": { + "core": "published-5.1.7", + "plugin": "published-1.2.0-main", + "pluginSha256": "c1cb0b511da88347165cc855185de9450a44835bb34bb802281ccdb854ef603c", + "browser": "155.0", + "scope": "Desktop engines; 5.3.0 is adjacent stable, not the unavailable 5.3.1 release; no minimum-version or physical-device claim" + } + }, + { + "title": "Multiple subtitles published-1.1.0-main / published-5.1.7: record single-active-cue overlap boundary", + "project": "firefox", + "status": "passed", + "combinationInputs": { + "core": "published-5.1.7", + "plugin": "published-1.1.0-main", + "pluginSha256": "df40c0728decb7e39779d0f22cad0a32d5586a66bfdb19bcfecffbecca083a83", + "browser": "155.0", + "scope": "Desktop engines; 5.3.0 is adjacent stable, not the unavailable 5.3.1 release; no minimum-version or physical-device claim" + } + }, + { + "title": "Multiple subtitles published-1.0.0-main / published-5.1.7: record single-active-cue overlap boundary", + "project": "firefox", + "status": "passed", + "combinationInputs": { + "core": "published-5.1.7", + "plugin": "published-1.0.0-main", + "pluginSha256": "89ba01b678b5ca5e5277482718f55f496317ca9416d0d7b3d46b5c306f399c42", + "browser": "155.0", + "scope": "Desktop engines; 5.3.0 is adjacent stable, not the unavailable 5.3.1 release; no minimum-version or physical-device claim" + } + }, + { + "title": "Multiple subtitles candidate / published-5.1.7: record single-active-cue overlap boundary", + "project": "firefox", + "status": "passed", + "combinationInputs": { + "core": "published-5.1.7", + "plugin": "candidate", + "pluginSha256": "e2192514ab4836a04c56420fa8c260efa657e2afa32f299d0cf7786c91adc39b", + "browser": "155.0", + "scope": "Desktop engines; 5.3.0 is adjacent stable, not the unavailable 5.3.1 release; no minimum-version or physical-device claim" + } + }, + { + "title": "Multiple subtitles published-1.2.0-main / candidate core: unchanged old factory and selection calls", + "project": "firefox", + "status": "passed", + "combinationInputs": { + "core": "candidate", + "plugin": "published-1.2.0-main", + "pluginSha256": "c1cb0b511da88347165cc855185de9450a44835bb34bb802281ccdb854ef603c", + "browser": "155.0", + "scope": "Desktop engines; 5.3.0 is adjacent stable, not the unavailable 5.3.1 release; no minimum-version or physical-device claim" + } + }, + { + "title": "Multiple subtitles published-1.1.0-main / candidate core: unchanged old factory and selection calls", + "project": "firefox", + "status": "passed", + "combinationInputs": { + "core": "candidate", + "plugin": "published-1.1.0-main", + "pluginSha256": "df40c0728decb7e39779d0f22cad0a32d5586a66bfdb19bcfecffbecca083a83", + "browser": "155.0", + "scope": "Desktop engines; 5.3.0 is adjacent stable, not the unavailable 5.3.1 release; no minimum-version or physical-device claim" + } + }, + { + "title": "Multiple subtitles published-1.0.0-main / candidate core: unchanged old factory and selection calls", + "project": "firefox", + "status": "passed", + "combinationInputs": { + "core": "candidate", + "plugin": "published-1.0.0-main", + "pluginSha256": "89ba01b678b5ca5e5277482718f55f496317ca9416d0d7b3d46b5c306f399c42", + "browser": "155.0", + "scope": "Desktop engines; 5.3.0 is adjacent stable, not the unavailable 5.3.1 release; no minimum-version or physical-device claim" + } + }, + { + "title": "Multiple subtitles candidate / published-5.3.0: timed VTT and SRT, offsets, fullscreen and source change", + "project": "webkit", + "status": "failed", + "error": "Error: \u001b[2mexpect(\u001b[22m\u001b[31mreceived\u001b[39m\u001b[2m).\u001b[22mtoEqual\u001b[2m(\u001b[22m\u001b[32mexpected\u001b[39m\u001b[2m) // deep equality\u001b[22m\n\n\u001b[32m- Expected - 1\u001b[39m\n\u001b[31m+ Received + 1\u001b[39m\n\n\u001b[2m Array [\u001b[22m\n\u001b[32m- true,\u001b[39m\n\u001b[31m+ false,\u001b[39m\n\u001b[2m false,\u001b[22m\n\u001b[2m ]\u001b[22m\n\nCall Log:\n- Timeout 7000ms exceeded while waiting on the predicate", + "combinationInputs": { + "core": "published-5.3.0", + "plugin": "candidate", + "pluginSha256": "e2192514ab4836a04c56420fa8c260efa657e2afa32f299d0cf7786c91adc39b", + "browser": "26.6", + "scope": "Desktop engines; 5.3.0 is adjacent stable, not the unavailable 5.3.1 release; no minimum-version or physical-device claim" + }, + "failureState": { + "destroyed": false, + "paused": true, + "time": 2.5025703, + "offset": 0, + "cues": [ + { + "start": 1, + "end": 3, + "text": "
First
" + }, + { + "start": 1, + "end": 3, + "text": "
Translation
" + }, + { + "start": 4, + "end": 6, + "text": "
Second
" + } + ], + "active": [ + { + "start": 1, + "end": 3, + "text": "
First
" + }, + { + "start": 1, + "end": 3, + "text": "
Translation
" + } + ], + "displayed": "FirstTranslation" + } + }, + { + "title": "Multiple subtitles candidate / published: timed VTT and SRT, offsets, fullscreen and source change", + "project": "webkit", + "status": "passed", + "combinationInputs": { + "core": "published", + "plugin": "candidate", + "pluginSha256": "e2192514ab4836a04c56420fa8c260efa657e2afa32f299d0cf7786c91adc39b", + "browser": "26.6", + "scope": "Desktop engines; 5.3.0 is adjacent stable, not the unavailable 5.3.1 release; no minimum-version or physical-device claim" + } + }, + { + "title": "Multiple subtitles candidate / candidate: timed VTT and SRT, offsets, fullscreen and source change", + "project": "webkit", + "status": "passed", + "combinationInputs": { + "core": "candidate", + "plugin": "candidate", + "pluginSha256": "e2192514ab4836a04c56420fa8c260efa657e2afa32f299d0cf7786c91adc39b", + "browser": "26.6", + "scope": "Desktop engines; 5.3.0 is adjacent stable, not the unavailable 5.3.1 release; no minimum-version or physical-device claim" + } + }, + { + "title": "Multiple subtitles candidate / published-5.1.2: destroying one player preserves another player's captions and URLs", + "project": "webkit", + "status": "passed", + "combinationInputs": { + "core": "published-5.1.2", + "plugin": "candidate", + "pluginSha256": "e2192514ab4836a04c56420fa8c260efa657e2afa32f299d0cf7786c91adc39b", + "browser": "26.6", + "scope": "Desktop engines; 5.3.0 is adjacent stable, not the unavailable 5.3.1 release; no minimum-version or physical-device claim" + } + }, + { + "title": "Multiple subtitles candidate / published-5.1.7: destroying one player preserves another player's captions and URLs", + "project": "webkit", + "status": "passed", + "combinationInputs": { + "core": "published-5.1.7", + "plugin": "candidate", + "pluginSha256": "e2192514ab4836a04c56420fa8c260efa657e2afa32f299d0cf7786c91adc39b", + "browser": "26.6", + "scope": "Desktop engines; 5.3.0 is adjacent stable, not the unavailable 5.3.1 release; no minimum-version or physical-device claim" + } + }, + { + "title": "Multiple subtitles candidate / published-5.3.0: destroying one player preserves another player's captions and URLs", + "project": "webkit", + "status": "passed", + "combinationInputs": { + "core": "published-5.3.0", + "plugin": "candidate", + "pluginSha256": "e2192514ab4836a04c56420fa8c260efa657e2afa32f299d0cf7786c91adc39b", + "browser": "26.6", + "scope": "Desktop engines; 5.3.0 is adjacent stable, not the unavailable 5.3.1 release; no minimum-version or physical-device claim" + } + }, + { + "title": "Multiple subtitles candidate / published: destroying one player preserves another player's captions and URLs", + "project": "webkit", + "status": "passed", + "combinationInputs": { + "core": "published", + "plugin": "candidate", + "pluginSha256": "e2192514ab4836a04c56420fa8c260efa657e2afa32f299d0cf7786c91adc39b", + "browser": "26.6", + "scope": "Desktop engines; 5.3.0 is adjacent stable, not the unavailable 5.3.1 release; no minimum-version or physical-device claim" + } + }, + { + "title": "Multiple subtitles candidate / candidate: destroying one player preserves another player's captions and URLs", + "project": "webkit", + "status": "passed", + "combinationInputs": { + "core": "candidate", + "plugin": "candidate", + "pluginSha256": "e2192514ab4836a04c56420fa8c260efa657e2afa32f299d0cf7786c91adc39b", + "browser": "26.6", + "scope": "Desktop engines; 5.3.0 is adjacent stable, not the unavailable 5.3.1 release; no minimum-version or physical-device claim" + } + }, + { + "title": "Multiple subtitles published-1.2.0-main / published-5.1.2: record single-active-cue overlap boundary", + "project": "webkit", + "status": "passed", + "combinationInputs": { + "core": "published-5.1.2", + "plugin": "published-1.2.0-main", + "pluginSha256": "c1cb0b511da88347165cc855185de9450a44835bb34bb802281ccdb854ef603c", + "browser": "26.6", + "scope": "Desktop engines; 5.3.0 is adjacent stable, not the unavailable 5.3.1 release; no minimum-version or physical-device claim" + } + }, + { + "title": "Multiple subtitles published-1.1.0-main / published-5.1.2: record single-active-cue overlap boundary", + "project": "webkit", + "status": "passed", + "combinationInputs": { + "core": "published-5.1.2", + "plugin": "published-1.1.0-main", + "pluginSha256": "df40c0728decb7e39779d0f22cad0a32d5586a66bfdb19bcfecffbecca083a83", + "browser": "26.6", + "scope": "Desktop engines; 5.3.0 is adjacent stable, not the unavailable 5.3.1 release; no minimum-version or physical-device claim" + } + }, + { + "title": "Multiple subtitles published-1.0.0-main / published-5.1.2: record single-active-cue overlap boundary", + "project": "webkit", + "status": "passed", + "combinationInputs": { + "core": "published-5.1.2", + "plugin": "published-1.0.0-main", + "pluginSha256": "89ba01b678b5ca5e5277482718f55f496317ca9416d0d7b3d46b5c306f399c42", + "browser": "26.6", + "scope": "Desktop engines; 5.3.0 is adjacent stable, not the unavailable 5.3.1 release; no minimum-version or physical-device claim" + } + }, + { + "title": "Multiple subtitles candidate / published-5.1.2: record single-active-cue overlap boundary", + "project": "webkit", + "status": "passed", + "combinationInputs": { + "core": "published-5.1.2", + "plugin": "candidate", + "pluginSha256": "e2192514ab4836a04c56420fa8c260efa657e2afa32f299d0cf7786c91adc39b", + "browser": "26.6", + "scope": "Desktop engines; 5.3.0 is adjacent stable, not the unavailable 5.3.1 release; no minimum-version or physical-device claim" + } + }, + { + "title": "Multiple subtitles published-1.2.0-main / published-5.1.7: record single-active-cue overlap boundary", + "project": "webkit", + "status": "passed", + "combinationInputs": { + "core": "published-5.1.7", + "plugin": "published-1.2.0-main", + "pluginSha256": "c1cb0b511da88347165cc855185de9450a44835bb34bb802281ccdb854ef603c", + "browser": "26.6", + "scope": "Desktop engines; 5.3.0 is adjacent stable, not the unavailable 5.3.1 release; no minimum-version or physical-device claim" + } + }, + { + "title": "Multiple subtitles published-1.1.0-main / published-5.1.7: record single-active-cue overlap boundary", + "project": "webkit", + "status": "passed", + "combinationInputs": { + "core": "published-5.1.7", + "plugin": "published-1.1.0-main", + "pluginSha256": "df40c0728decb7e39779d0f22cad0a32d5586a66bfdb19bcfecffbecca083a83", + "browser": "26.6", + "scope": "Desktop engines; 5.3.0 is adjacent stable, not the unavailable 5.3.1 release; no minimum-version or physical-device claim" + } + }, + { + "title": "Multiple subtitles published-1.0.0-main / published-5.1.7: record single-active-cue overlap boundary", + "project": "webkit", + "status": "passed", + "combinationInputs": { + "core": "published-5.1.7", + "plugin": "published-1.0.0-main", + "pluginSha256": "89ba01b678b5ca5e5277482718f55f496317ca9416d0d7b3d46b5c306f399c42", + "browser": "26.6", + "scope": "Desktop engines; 5.3.0 is adjacent stable, not the unavailable 5.3.1 release; no minimum-version or physical-device claim" + } + }, + { + "title": "Multiple subtitles candidate / published-5.1.7: record single-active-cue overlap boundary", + "project": "webkit", + "status": "passed", + "combinationInputs": { + "core": "published-5.1.7", + "plugin": "candidate", + "pluginSha256": "e2192514ab4836a04c56420fa8c260efa657e2afa32f299d0cf7786c91adc39b", + "browser": "26.6", + "scope": "Desktop engines; 5.3.0 is adjacent stable, not the unavailable 5.3.1 release; no minimum-version or physical-device claim" + } + }, + { + "title": "Multiple subtitles published-1.2.0-main / candidate core: unchanged old factory and selection calls", + "project": "webkit", + "status": "passed", + "combinationInputs": { + "core": "candidate", + "plugin": "published-1.2.0-main", + "pluginSha256": "c1cb0b511da88347165cc855185de9450a44835bb34bb802281ccdb854ef603c", + "browser": "26.6", + "scope": "Desktop engines; 5.3.0 is adjacent stable, not the unavailable 5.3.1 release; no minimum-version or physical-device claim" + } + }, + { + "title": "Multiple subtitles published-1.1.0-main / candidate core: unchanged old factory and selection calls", + "project": "webkit", + "status": "passed", + "combinationInputs": { + "core": "candidate", + "plugin": "published-1.1.0-main", + "pluginSha256": "df40c0728decb7e39779d0f22cad0a32d5586a66bfdb19bcfecffbecca083a83", + "browser": "26.6", + "scope": "Desktop engines; 5.3.0 is adjacent stable, not the unavailable 5.3.1 release; no minimum-version or physical-device claim" + } + }, + { + "title": "Multiple subtitles published-1.0.0-main / candidate core: unchanged old factory and selection calls", + "project": "webkit", + "status": "passed", + "combinationInputs": { + "core": "candidate", + "plugin": "published-1.0.0-main", + "pluginSha256": "89ba01b678b5ca5e5277482718f55f496317ca9416d0d7b3d46b5c306f399c42", + "browser": "26.6", + "scope": "Desktop engines; 5.3.0 is adjacent stable, not the unavailable 5.3.1 release; no minimum-version or physical-device claim" + } + }, + { + "title": "Source seek ordering / published-5.3.0 / no-plugin", + "project": "chromium", + "status": "passed", + "order": { + "core": "published-5.3.0", + "plugin": "none", + "pluginSha256": null, + "browser": "153.0.8010.12", + "outcomes": [ + { + "round": 0, + "settled": { + "time": 0, + "seeking": false, + "duration": 8, + "readyState": 4, + "paused": true, + "source": "http://127.0.0.1:8084/test/pattern.mp4?seek-order=0", + "active": [], + "displayed": "" + }, + "firstSeek": { + "time": 1.5, + "seeking": false, + "duration": 8, + "readyState": 4, + "paused": true, + "source": "http://127.0.0.1:8084/test/pattern.mp4?seek-order=0", + "active": [], + "displayed": "" + }, + "landed": true, + "afterSettledSeek": { + "time": 1.5, + "seeking": false, + "duration": 8, + "readyState": 4, + "paused": true, + "source": "http://127.0.0.1:8084/test/pattern.mp4?seek-order=0", + "active": [], + "displayed": "" + } + }, + { + "round": 1, + "settled": { + "time": 0, + "seeking": false, + "duration": 8, + "readyState": 4, + "paused": true, + "source": "http://127.0.0.1:8084/test/pattern.mp4?seek-order=1", + "active": [], + "displayed": "" + }, + "firstSeek": { + "time": 1.5, + "seeking": false, + "duration": 8, + "readyState": 4, + "paused": true, + "source": "http://127.0.0.1:8084/test/pattern.mp4?seek-order=1", + "active": [], + "displayed": "" + }, + "landed": true, + "afterSettledSeek": { + "time": 1.5, + "seeking": false, + "duration": 8, + "readyState": 4, + "paused": true, + "source": "http://127.0.0.1:8084/test/pattern.mp4?seek-order=1", + "active": [], + "displayed": "" + } + }, + { + "round": 2, + "settled": { + "time": 0, + "seeking": false, + "duration": 8, + "readyState": 4, + "paused": true, + "source": "http://127.0.0.1:8084/test/pattern.mp4?seek-order=2", + "active": [], + "displayed": "" + }, + "firstSeek": { + "time": 1.5, + "seeking": false, + "duration": 8, + "readyState": 4, + "paused": true, + "source": "http://127.0.0.1:8084/test/pattern.mp4?seek-order=2", + "active": [], + "displayed": "" + }, + "landed": true, + "afterSettledSeek": { + "time": 1.5, + "seeking": false, + "duration": 8, + "readyState": 4, + "paused": true, + "source": "http://127.0.0.1:8084/test/pattern.mp4?seek-order=2", + "active": [], + "displayed": "" + } + } + ], + "scope": "Three real source changes with immediate versus settled seek; old misses are recorded, candidate must honor every first seek", + "missedFirstSeeks": 0, + "seekingAtSettlement": 0, + "traceSha256": "27bed19bd80baff99311892eb868d0f5c1b3b121caed5f914ee7a080d3d211cf" + } + }, + { + "title": "Source seek ordering / published-5.3.0 / candidate", + "project": "chromium", + "status": "passed", + "order": { + "core": "published-5.3.0", + "plugin": "candidate", + "pluginSha256": "e2192514ab4836a04c56420fa8c260efa657e2afa32f299d0cf7786c91adc39b", + "browser": "153.0.8010.12", + "outcomes": [ + { + "round": 0, + "settled": { + "time": 0, + "seeking": false, + "duration": 8, + "readyState": 4, + "paused": true, + "source": "http://127.0.0.1:8084/test/pattern.mp4?seek-order=0", + "active": [], + "displayed": "" + }, + "firstSeek": { + "time": 1.5, + "seeking": false, + "duration": 8, + "readyState": 4, + "paused": true, + "source": "http://127.0.0.1:8084/test/pattern.mp4?seek-order=0", + "active": [ + "
Caption
" + ], + "displayed": "Caption" + }, + "landed": true, + "afterSettledSeek": { + "time": 1.5, + "seeking": false, + "duration": 8, + "readyState": 4, + "paused": true, + "source": "http://127.0.0.1:8084/test/pattern.mp4?seek-order=0", + "active": [ + "
Caption
" + ], + "displayed": "Caption" + } + }, + { + "round": 1, + "settled": { + "time": 0, + "seeking": false, + "duration": 8, + "readyState": 4, + "paused": true, + "source": "http://127.0.0.1:8084/test/pattern.mp4?seek-order=1", + "active": [], + "displayed": "Caption" + }, + "firstSeek": { + "time": 1.5, + "seeking": false, + "duration": 8, + "readyState": 4, + "paused": true, + "source": "http://127.0.0.1:8084/test/pattern.mp4?seek-order=1", + "active": [ + "
Caption
" + ], + "displayed": "Caption" + }, + "landed": true, + "afterSettledSeek": { + "time": 1.5, + "seeking": false, + "duration": 8, + "readyState": 4, + "paused": true, + "source": "http://127.0.0.1:8084/test/pattern.mp4?seek-order=1", + "active": [ + "
Caption
" + ], + "displayed": "Caption" + } + }, + { + "round": 2, + "settled": { + "time": 0, + "seeking": false, + "duration": 8, + "readyState": 4, + "paused": true, + "source": "http://127.0.0.1:8084/test/pattern.mp4?seek-order=2", + "active": [], + "displayed": "Caption" + }, + "firstSeek": { + "time": 1.5, + "seeking": false, + "duration": 8, + "readyState": 4, + "paused": true, + "source": "http://127.0.0.1:8084/test/pattern.mp4?seek-order=2", + "active": [ + "
Caption
" + ], + "displayed": "Caption" + }, + "landed": true, + "afterSettledSeek": { + "time": 1.5, + "seeking": false, + "duration": 8, + "readyState": 4, + "paused": true, + "source": "http://127.0.0.1:8084/test/pattern.mp4?seek-order=2", + "active": [ + "
Caption
" + ], + "displayed": "Caption" + } + } + ], + "scope": "Three real source changes with immediate versus settled seek; old misses are recorded, candidate must honor every first seek", + "missedFirstSeeks": 0, + "seekingAtSettlement": 0, + "traceSha256": "4892b1b5cc7f70640d8b76843731c1b3bdb310be4e2c8622d875a83a6b16b7e9" + } + }, + { + "title": "Source seek ordering / published-5.3.0 / published-1.2.0-main", + "project": "chromium", + "status": "passed", + "order": { + "core": "published-5.3.0", + "plugin": "published-1.2.0-main", + "pluginSha256": "c1cb0b511da88347165cc855185de9450a44835bb34bb802281ccdb854ef603c", + "browser": "153.0.8010.12", + "outcomes": [ + { + "round": 0, + "settled": { + "time": 0, + "seeking": false, + "duration": 8, + "readyState": 4, + "paused": true, + "source": "http://127.0.0.1:8084/test/pattern.mp4?seek-order=0", + "active": [], + "displayed": "" + }, + "firstSeek": { + "time": 1.5, + "seeking": false, + "duration": 8, + "readyState": 4, + "paused": true, + "source": "http://127.0.0.1:8084/test/pattern.mp4?seek-order=0", + "active": [ + "
Caption
" + ], + "displayed": "Caption" + }, + "landed": true, + "afterSettledSeek": { + "time": 1.5, + "seeking": false, + "duration": 8, + "readyState": 4, + "paused": true, + "source": "http://127.0.0.1:8084/test/pattern.mp4?seek-order=0", + "active": [ + "
Caption
" + ], + "displayed": "Caption" + } + }, + { + "round": 1, + "settled": { + "time": 0, + "seeking": false, + "duration": 8, + "readyState": 4, + "paused": true, + "source": "http://127.0.0.1:8084/test/pattern.mp4?seek-order=1", + "active": [], + "displayed": "Caption" + }, + "firstSeek": { + "time": 1.5, + "seeking": false, + "duration": 8, + "readyState": 4, + "paused": true, + "source": "http://127.0.0.1:8084/test/pattern.mp4?seek-order=1", + "active": [ + "
Caption
" + ], + "displayed": "Caption" + }, + "landed": true, + "afterSettledSeek": { + "time": 1.5, + "seeking": false, + "duration": 8, + "readyState": 4, + "paused": true, + "source": "http://127.0.0.1:8084/test/pattern.mp4?seek-order=1", + "active": [ + "
Caption
" + ], + "displayed": "Caption" + } + }, + { + "round": 2, + "settled": { + "time": 0, + "seeking": false, + "duration": 8, + "readyState": 4, + "paused": true, + "source": "http://127.0.0.1:8084/test/pattern.mp4?seek-order=2", + "active": [], + "displayed": "Caption" + }, + "firstSeek": { + "time": 1.5, + "seeking": false, + "duration": 8, + "readyState": 4, + "paused": true, + "source": "http://127.0.0.1:8084/test/pattern.mp4?seek-order=2", + "active": [ + "
Caption
" + ], + "displayed": "Caption" + }, + "landed": true, + "afterSettledSeek": { + "time": 1.5, + "seeking": false, + "duration": 8, + "readyState": 4, + "paused": true, + "source": "http://127.0.0.1:8084/test/pattern.mp4?seek-order=2", + "active": [ + "
Caption
" + ], + "displayed": "Caption" + } + } + ], + "scope": "Three real source changes with immediate versus settled seek; old misses are recorded, candidate must honor every first seek", + "missedFirstSeeks": 0, + "seekingAtSettlement": 0, + "traceSha256": "09e6e7e1032a565389b197cf06023635c5c3e6f135dff1c65fc058813513d414" + } + }, + { + "title": "Source seek ordering / published / no-plugin", + "project": "chromium", + "status": "passed", + "order": { + "core": "published", + "plugin": "none", + "pluginSha256": null, + "browser": "153.0.8010.12", + "outcomes": [ + { + "round": 0, + "settled": { + "time": 0, + "seeking": false, + "duration": 8, + "readyState": 4, + "paused": true, + "source": "http://127.0.0.1:8084/test/pattern.mp4?seek-order=0", + "active": [], + "displayed": "" + }, + "firstSeek": { + "time": 1.5, + "seeking": false, + "duration": 8, + "readyState": 4, + "paused": true, + "source": "http://127.0.0.1:8084/test/pattern.mp4?seek-order=0", + "active": [], + "displayed": "" + }, + "landed": true, + "afterSettledSeek": { + "time": 1.5, + "seeking": false, + "duration": 8, + "readyState": 4, + "paused": true, + "source": "http://127.0.0.1:8084/test/pattern.mp4?seek-order=0", + "active": [], + "displayed": "" + } + }, + { + "round": 1, + "settled": { + "time": 0, + "seeking": false, + "duration": 8, + "readyState": 4, + "paused": true, + "source": "http://127.0.0.1:8084/test/pattern.mp4?seek-order=1", + "active": [], + "displayed": "" + }, + "firstSeek": { + "time": 1.5, + "seeking": false, + "duration": 8, + "readyState": 4, + "paused": true, + "source": "http://127.0.0.1:8084/test/pattern.mp4?seek-order=1", + "active": [], + "displayed": "" + }, + "landed": true, + "afterSettledSeek": { + "time": 1.5, + "seeking": false, + "duration": 8, + "readyState": 4, + "paused": true, + "source": "http://127.0.0.1:8084/test/pattern.mp4?seek-order=1", + "active": [], + "displayed": "" + } + }, + { + "round": 2, + "settled": { + "time": 0, + "seeking": false, + "duration": 8, + "readyState": 4, + "paused": true, + "source": "http://127.0.0.1:8084/test/pattern.mp4?seek-order=2", + "active": [], + "displayed": "" + }, + "firstSeek": { + "time": 1.5, + "seeking": false, + "duration": 8, + "readyState": 4, + "paused": true, + "source": "http://127.0.0.1:8084/test/pattern.mp4?seek-order=2", + "active": [], + "displayed": "" + }, + "landed": true, + "afterSettledSeek": { + "time": 1.5, + "seeking": false, + "duration": 8, + "readyState": 4, + "paused": true, + "source": "http://127.0.0.1:8084/test/pattern.mp4?seek-order=2", + "active": [], + "displayed": "" + } + } + ], + "scope": "Three real source changes with immediate versus settled seek; old misses are recorded, candidate must honor every first seek", + "missedFirstSeeks": 0, + "seekingAtSettlement": 0, + "traceSha256": "e186b96b0d550640e2b639a0fe5372aac2e0e9d6b271002d6afce9a3bcf29402" + } + }, + { + "title": "Source seek ordering / published / candidate", + "project": "chromium", + "status": "passed", + "order": { + "core": "published", + "plugin": "candidate", + "pluginSha256": "e2192514ab4836a04c56420fa8c260efa657e2afa32f299d0cf7786c91adc39b", + "browser": "153.0.8010.12", + "outcomes": [ + { + "round": 0, + "settled": { + "time": 0, + "seeking": false, + "duration": 8, + "readyState": 4, + "paused": true, + "source": "http://127.0.0.1:8084/test/pattern.mp4?seek-order=0", + "active": [], + "displayed": "" + }, + "firstSeek": { + "time": 1.5, + "seeking": false, + "duration": 8, + "readyState": 4, + "paused": true, + "source": "http://127.0.0.1:8084/test/pattern.mp4?seek-order=0", + "active": [ + "
Caption
" + ], + "displayed": "\n Caption\n " + }, + "landed": true, + "afterSettledSeek": { + "time": 1.5, + "seeking": false, + "duration": 8, + "readyState": 4, + "paused": true, + "source": "http://127.0.0.1:8084/test/pattern.mp4?seek-order=0", + "active": [ + "
Caption
" + ], + "displayed": "\n Caption\n " + } + }, + { + "round": 1, + "settled": { + "time": 0, + "seeking": false, + "duration": 8, + "readyState": 4, + "paused": true, + "source": "http://127.0.0.1:8084/test/pattern.mp4?seek-order=1", + "active": [], + "displayed": "\n Caption\n " + }, + "firstSeek": { + "time": 1.5, + "seeking": false, + "duration": 8, + "readyState": 4, + "paused": true, + "source": "http://127.0.0.1:8084/test/pattern.mp4?seek-order=1", + "active": [ + "
Caption
" + ], + "displayed": "\n Caption\n " + }, + "landed": true, + "afterSettledSeek": { + "time": 1.5, + "seeking": false, + "duration": 8, + "readyState": 4, + "paused": true, + "source": "http://127.0.0.1:8084/test/pattern.mp4?seek-order=1", + "active": [ + "
Caption
" + ], + "displayed": "\n Caption\n " + } + }, + { + "round": 2, + "settled": { + "time": 0, + "seeking": false, + "duration": 8, + "readyState": 4, + "paused": true, + "source": "http://127.0.0.1:8084/test/pattern.mp4?seek-order=2", + "active": [], + "displayed": "\n Caption\n " + }, + "firstSeek": { + "time": 1.5, + "seeking": false, + "duration": 8, + "readyState": 4, + "paused": true, + "source": "http://127.0.0.1:8084/test/pattern.mp4?seek-order=2", + "active": [ + "
Caption
" + ], + "displayed": "\n Caption\n " + }, + "landed": true, + "afterSettledSeek": { + "time": 1.5, + "seeking": false, + "duration": 8, + "readyState": 4, + "paused": true, + "source": "http://127.0.0.1:8084/test/pattern.mp4?seek-order=2", + "active": [ + "
Caption
" + ], + "displayed": "\n Caption\n " + } + } + ], + "scope": "Three real source changes with immediate versus settled seek; old misses are recorded, candidate must honor every first seek", + "missedFirstSeeks": 0, + "seekingAtSettlement": 0, + "traceSha256": "28d1f7d295b1b3a4e0332c90c8ff4644a6433b2a71e25865f5b5055dd5777fd3" + } + }, + { + "title": "Source seek ordering / published / published-1.2.0-main", + "project": "chromium", + "status": "passed", + "order": { + "core": "published", + "plugin": "published-1.2.0-main", + "pluginSha256": "c1cb0b511da88347165cc855185de9450a44835bb34bb802281ccdb854ef603c", + "browser": "153.0.8010.12", + "outcomes": [ + { + "round": 0, + "settled": { + "time": 0, + "seeking": false, + "duration": 8, + "readyState": 4, + "paused": true, + "source": "http://127.0.0.1:8084/test/pattern.mp4?seek-order=0", + "active": [], + "displayed": "" + }, + "firstSeek": { + "time": 1.5, + "seeking": false, + "duration": 8, + "readyState": 4, + "paused": true, + "source": "http://127.0.0.1:8084/test/pattern.mp4?seek-order=0", + "active": [ + "
Caption
" + ], + "displayed": "\n Caption\n " + }, + "landed": true, + "afterSettledSeek": { + "time": 1.5, + "seeking": false, + "duration": 8, + "readyState": 4, + "paused": true, + "source": "http://127.0.0.1:8084/test/pattern.mp4?seek-order=0", + "active": [ + "
Caption
" + ], + "displayed": "\n Caption\n " + } + }, + { + "round": 1, + "settled": { + "time": 0, + "seeking": false, + "duration": 8, + "readyState": 4, + "paused": true, + "source": "http://127.0.0.1:8084/test/pattern.mp4?seek-order=1", + "active": [], + "displayed": "\n Caption\n " + }, + "firstSeek": { + "time": 1.5, + "seeking": false, + "duration": 8, + "readyState": 4, + "paused": true, + "source": "http://127.0.0.1:8084/test/pattern.mp4?seek-order=1", + "active": [ + "
Caption
" + ], + "displayed": "\n Caption\n " + }, + "landed": true, + "afterSettledSeek": { + "time": 1.5, + "seeking": false, + "duration": 8, + "readyState": 4, + "paused": true, + "source": "http://127.0.0.1:8084/test/pattern.mp4?seek-order=1", + "active": [ + "
Caption
" + ], + "displayed": "\n Caption\n " + } + }, + { + "round": 2, + "settled": { + "time": 0, + "seeking": false, + "duration": 8, + "readyState": 4, + "paused": true, + "source": "http://127.0.0.1:8084/test/pattern.mp4?seek-order=2", + "active": [], + "displayed": "\n Caption\n " + }, + "firstSeek": { + "time": 1.5, + "seeking": false, + "duration": 8, + "readyState": 4, + "paused": true, + "source": "http://127.0.0.1:8084/test/pattern.mp4?seek-order=2", + "active": [ + "
Caption
" + ], + "displayed": "\n Caption\n " + }, + "landed": true, + "afterSettledSeek": { + "time": 1.5, + "seeking": false, + "duration": 8, + "readyState": 4, + "paused": true, + "source": "http://127.0.0.1:8084/test/pattern.mp4?seek-order=2", + "active": [ + "
Caption
" + ], + "displayed": "\n Caption\n " + } + } + ], + "scope": "Three real source changes with immediate versus settled seek; old misses are recorded, candidate must honor every first seek", + "missedFirstSeeks": 0, + "seekingAtSettlement": 0, + "traceSha256": "00e20000a6d791bc4e49d54c6fae7995c5e51ad831b156968905306ece888e9f" + } + }, + { + "title": "Source seek ordering / candidate / no-plugin", + "project": "chromium", + "status": "passed", + "order": { + "core": "candidate", + "plugin": "none", + "pluginSha256": null, + "browser": "153.0.8010.12", + "outcomes": [ + { + "round": 0, + "settled": { + "time": 0, + "seeking": false, + "duration": 8, + "readyState": 4, + "paused": true, + "source": "http://127.0.0.1:8084/test/pattern.mp4?seek-order=0", + "active": [], + "displayed": "" + }, + "firstSeek": { + "time": 1.5, + "seeking": false, + "duration": 8, + "readyState": 4, + "paused": true, + "source": "http://127.0.0.1:8084/test/pattern.mp4?seek-order=0", + "active": [], + "displayed": "" + }, + "landed": true, + "afterSettledSeek": { + "time": 1.5, + "seeking": false, + "duration": 8, + "readyState": 4, + "paused": true, + "source": "http://127.0.0.1:8084/test/pattern.mp4?seek-order=0", + "active": [], + "displayed": "" + } + }, + { + "round": 1, + "settled": { + "time": 0, + "seeking": false, + "duration": 8, + "readyState": 4, + "paused": true, + "source": "http://127.0.0.1:8084/test/pattern.mp4?seek-order=1", + "active": [], + "displayed": "" + }, + "firstSeek": { + "time": 1.5, + "seeking": false, + "duration": 8, + "readyState": 4, + "paused": true, + "source": "http://127.0.0.1:8084/test/pattern.mp4?seek-order=1", + "active": [], + "displayed": "" + }, + "landed": true, + "afterSettledSeek": { + "time": 1.5, + "seeking": false, + "duration": 8, + "readyState": 4, + "paused": true, + "source": "http://127.0.0.1:8084/test/pattern.mp4?seek-order=1", + "active": [], + "displayed": "" + } + }, + { + "round": 2, + "settled": { + "time": 0, + "seeking": false, + "duration": 8, + "readyState": 4, + "paused": true, + "source": "http://127.0.0.1:8084/test/pattern.mp4?seek-order=2", + "active": [], + "displayed": "" + }, + "firstSeek": { + "time": 1.5, + "seeking": false, + "duration": 8, + "readyState": 4, + "paused": true, + "source": "http://127.0.0.1:8084/test/pattern.mp4?seek-order=2", + "active": [], + "displayed": "" + }, + "landed": true, + "afterSettledSeek": { + "time": 1.5, + "seeking": false, + "duration": 8, + "readyState": 4, + "paused": true, + "source": "http://127.0.0.1:8084/test/pattern.mp4?seek-order=2", + "active": [], + "displayed": "" + } + } + ], + "scope": "Three real source changes with immediate versus settled seek; old misses are recorded, candidate must honor every first seek", + "missedFirstSeeks": 0, + "seekingAtSettlement": 0, + "traceSha256": "071632f3ca28949b996537a60dc7edef34fcb2126a389147439161b0a6fdf19e" + } + }, + { + "title": "Source seek ordering / candidate / candidate", + "project": "chromium", + "status": "passed", + "order": { + "core": "candidate", + "plugin": "candidate", + "pluginSha256": "e2192514ab4836a04c56420fa8c260efa657e2afa32f299d0cf7786c91adc39b", + "browser": "153.0.8010.12", + "outcomes": [ + { + "round": 0, + "settled": { + "time": 0, + "seeking": false, + "duration": 8, + "readyState": 4, + "paused": true, + "source": "http://127.0.0.1:8084/test/pattern.mp4?seek-order=0", + "active": [], + "displayed": "" + }, + "firstSeek": { + "time": 1.5, + "seeking": false, + "duration": 8, + "readyState": 4, + "paused": true, + "source": "http://127.0.0.1:8084/test/pattern.mp4?seek-order=0", + "active": [ + "
Caption
" + ], + "displayed": "\n Caption\n " + }, + "landed": true, + "afterSettledSeek": { + "time": 1.5, + "seeking": false, + "duration": 8, + "readyState": 4, + "paused": true, + "source": "http://127.0.0.1:8084/test/pattern.mp4?seek-order=0", + "active": [ + "
Caption
" + ], + "displayed": "\n Caption\n " + } + }, + { + "round": 1, + "settled": { + "time": 0, + "seeking": false, + "duration": 8, + "readyState": 4, + "paused": true, + "source": "http://127.0.0.1:8084/test/pattern.mp4?seek-order=1", + "active": [], + "displayed": "\n Caption\n " + }, + "firstSeek": { + "time": 1.5, + "seeking": false, + "duration": 8, + "readyState": 4, + "paused": true, + "source": "http://127.0.0.1:8084/test/pattern.mp4?seek-order=1", + "active": [ + "
Caption
" + ], + "displayed": "\n Caption\n " + }, + "landed": true, + "afterSettledSeek": { + "time": 1.5, + "seeking": false, + "duration": 8, + "readyState": 4, + "paused": true, + "source": "http://127.0.0.1:8084/test/pattern.mp4?seek-order=1", + "active": [ + "
Caption
" + ], + "displayed": "\n Caption\n " + } + }, + { + "round": 2, + "settled": { + "time": 0, + "seeking": false, + "duration": 8, + "readyState": 4, + "paused": true, + "source": "http://127.0.0.1:8084/test/pattern.mp4?seek-order=2", + "active": [], + "displayed": "\n Caption\n " + }, + "firstSeek": { + "time": 1.5, + "seeking": false, + "duration": 8, + "readyState": 4, + "paused": true, + "source": "http://127.0.0.1:8084/test/pattern.mp4?seek-order=2", + "active": [ + "
Caption
" + ], + "displayed": "\n Caption\n " + }, + "landed": true, + "afterSettledSeek": { + "time": 1.5, + "seeking": false, + "duration": 8, + "readyState": 4, + "paused": true, + "source": "http://127.0.0.1:8084/test/pattern.mp4?seek-order=2", + "active": [ + "
Caption
" + ], + "displayed": "\n Caption\n " + } + } + ], + "scope": "Three real source changes with immediate versus settled seek; old misses are recorded, candidate must honor every first seek", + "missedFirstSeeks": 0, + "seekingAtSettlement": 0, + "traceSha256": "a0fb9ded8dcbfbd42f8023fa69ffaf89381bf56a05bbc7cee2d282a252221b20" + } + }, + { + "title": "Source seek ordering / candidate / published-1.2.0-main", + "project": "chromium", + "status": "passed", + "order": { + "core": "candidate", + "plugin": "published-1.2.0-main", + "pluginSha256": "c1cb0b511da88347165cc855185de9450a44835bb34bb802281ccdb854ef603c", + "browser": "153.0.8010.12", + "outcomes": [ + { + "round": 0, + "settled": { + "time": 0, + "seeking": false, + "duration": 8, + "readyState": 4, + "paused": true, + "source": "http://127.0.0.1:8084/test/pattern.mp4?seek-order=0", + "active": [], + "displayed": "" + }, + "firstSeek": { + "time": 1.5, + "seeking": false, + "duration": 8, + "readyState": 4, + "paused": true, + "source": "http://127.0.0.1:8084/test/pattern.mp4?seek-order=0", + "active": [ + "
Caption
" + ], + "displayed": "\n Caption\n " + }, + "landed": true, + "afterSettledSeek": { + "time": 1.5, + "seeking": false, + "duration": 8, + "readyState": 4, + "paused": true, + "source": "http://127.0.0.1:8084/test/pattern.mp4?seek-order=0", + "active": [ + "
Caption
" + ], + "displayed": "\n Caption\n " + } + }, + { + "round": 1, + "settled": { + "time": 0, + "seeking": false, + "duration": 8, + "readyState": 4, + "paused": true, + "source": "http://127.0.0.1:8084/test/pattern.mp4?seek-order=1", + "active": [], + "displayed": "\n Caption\n " + }, + "firstSeek": { + "time": 1.5, + "seeking": false, + "duration": 8, + "readyState": 4, + "paused": true, + "source": "http://127.0.0.1:8084/test/pattern.mp4?seek-order=1", + "active": [ + "
Caption
" + ], + "displayed": "\n Caption\n " + }, + "landed": true, + "afterSettledSeek": { + "time": 1.5, + "seeking": false, + "duration": 8, + "readyState": 4, + "paused": true, + "source": "http://127.0.0.1:8084/test/pattern.mp4?seek-order=1", + "active": [ + "
Caption
" + ], + "displayed": "\n Caption\n " + } + }, + { + "round": 2, + "settled": { + "time": 0, + "seeking": false, + "duration": 8, + "readyState": 4, + "paused": true, + "source": "http://127.0.0.1:8084/test/pattern.mp4?seek-order=2", + "active": [], + "displayed": "\n Caption\n " + }, + "firstSeek": { + "time": 1.5, + "seeking": false, + "duration": 8, + "readyState": 4, + "paused": true, + "source": "http://127.0.0.1:8084/test/pattern.mp4?seek-order=2", + "active": [ + "
Caption
" + ], + "displayed": "\n Caption\n " + }, + "landed": true, + "afterSettledSeek": { + "time": 1.5, + "seeking": false, + "duration": 8, + "readyState": 4, + "paused": true, + "source": "http://127.0.0.1:8084/test/pattern.mp4?seek-order=2", + "active": [ + "
Caption
" + ], + "displayed": "\n Caption\n " + } + } + ], + "scope": "Three real source changes with immediate versus settled seek; old misses are recorded, candidate must honor every first seek", + "missedFirstSeeks": 0, + "seekingAtSettlement": 0, + "traceSha256": "8ed4f9ed9ba2c76105bcf0f777ae1079334f6acd795d2c26c023795b06b259d2" + } + }, + { + "title": "Source seek ordering / published-5.3.0 / no-plugin", + "project": "firefox", + "status": "passed", + "order": { + "core": "published-5.3.0", + "plugin": "none", + "pluginSha256": null, + "browser": "155.0", + "outcomes": [ + { + "round": 0, + "settled": { + "time": 0, + "seeking": false, + "duration": 8, + "readyState": 4, + "paused": true, + "source": "http://127.0.0.1:8084/test/pattern.mp4?seek-order=0", + "active": [], + "displayed": "" + }, + "firstSeek": { + "time": 1.5, + "seeking": false, + "duration": 8, + "readyState": 4, + "paused": true, + "source": "http://127.0.0.1:8084/test/pattern.mp4?seek-order=0", + "active": [], + "displayed": "" + }, + "landed": true, + "afterSettledSeek": { + "time": 1.5, + "seeking": false, + "duration": 8, + "readyState": 4, + "paused": true, + "source": "http://127.0.0.1:8084/test/pattern.mp4?seek-order=0", + "active": [], + "displayed": "" + } + }, + { + "round": 1, + "settled": { + "time": 0, + "seeking": false, + "duration": 8, + "readyState": 4, + "paused": true, + "source": "http://127.0.0.1:8084/test/pattern.mp4?seek-order=1", + "active": [], + "displayed": "" + }, + "firstSeek": { + "time": 1.5, + "seeking": false, + "duration": 8, + "readyState": 4, + "paused": true, + "source": "http://127.0.0.1:8084/test/pattern.mp4?seek-order=1", + "active": [], + "displayed": "" + }, + "landed": true, + "afterSettledSeek": { + "time": 1.5, + "seeking": false, + "duration": 8, + "readyState": 4, + "paused": true, + "source": "http://127.0.0.1:8084/test/pattern.mp4?seek-order=1", + "active": [], + "displayed": "" + } + }, + { + "round": 2, + "settled": { + "time": 0, + "seeking": false, + "duration": 8, + "readyState": 4, + "paused": true, + "source": "http://127.0.0.1:8084/test/pattern.mp4?seek-order=2", + "active": [], + "displayed": "" + }, + "firstSeek": { + "time": 1.5, + "seeking": false, + "duration": 8, + "readyState": 4, + "paused": true, + "source": "http://127.0.0.1:8084/test/pattern.mp4?seek-order=2", + "active": [], + "displayed": "" + }, + "landed": true, + "afterSettledSeek": { + "time": 1.5, + "seeking": false, + "duration": 8, + "readyState": 4, + "paused": true, + "source": "http://127.0.0.1:8084/test/pattern.mp4?seek-order=2", + "active": [], + "displayed": "" + } + } + ], + "scope": "Three real source changes with immediate versus settled seek; old misses are recorded, candidate must honor every first seek", + "missedFirstSeeks": 0, + "seekingAtSettlement": 0, + "traceSha256": "faeae71d13ea74c543be3a1a485fc70f4ce4ded44d0066296000c28d160cccde" + } + }, + { + "title": "Source seek ordering / published-5.3.0 / candidate", + "project": "firefox", + "status": "passed", + "order": { + "core": "published-5.3.0", + "plugin": "candidate", + "pluginSha256": "e2192514ab4836a04c56420fa8c260efa657e2afa32f299d0cf7786c91adc39b", + "browser": "155.0", + "outcomes": [ + { + "round": 0, + "settled": { + "time": 0, + "seeking": false, + "duration": 8, + "readyState": 4, + "paused": true, + "source": "http://127.0.0.1:8084/test/pattern.mp4?seek-order=0", + "active": [], + "displayed": "" + }, + "firstSeek": { + "time": 1.5, + "seeking": false, + "duration": 8, + "readyState": 4, + "paused": true, + "source": "http://127.0.0.1:8084/test/pattern.mp4?seek-order=0", + "active": [ + "
Caption
" + ], + "displayed": "Caption" + }, + "landed": true, + "afterSettledSeek": { + "time": 1.5, + "seeking": false, + "duration": 8, + "readyState": 4, + "paused": true, + "source": "http://127.0.0.1:8084/test/pattern.mp4?seek-order=0", + "active": [ + "
Caption
" + ], + "displayed": "Caption" + } + }, + { + "round": 1, + "settled": { + "time": 0, + "seeking": false, + "duration": 8, + "readyState": 4, + "paused": true, + "source": "http://127.0.0.1:8084/test/pattern.mp4?seek-order=1", + "active": [], + "displayed": "Caption" + }, + "firstSeek": { + "time": 1.5, + "seeking": false, + "duration": 8, + "readyState": 4, + "paused": true, + "source": "http://127.0.0.1:8084/test/pattern.mp4?seek-order=1", + "active": [ + "
Caption
" + ], + "displayed": "Caption" + }, + "landed": true, + "afterSettledSeek": { + "time": 1.5, + "seeking": false, + "duration": 8, + "readyState": 4, + "paused": true, + "source": "http://127.0.0.1:8084/test/pattern.mp4?seek-order=1", + "active": [ + "
Caption
" + ], + "displayed": "Caption" + } + }, + { + "round": 2, + "settled": { + "time": 0, + "seeking": false, + "duration": 8, + "readyState": 4, + "paused": true, + "source": "http://127.0.0.1:8084/test/pattern.mp4?seek-order=2", + "active": [], + "displayed": "Caption" + }, + "firstSeek": { + "time": 1.5, + "seeking": false, + "duration": 8, + "readyState": 4, + "paused": true, + "source": "http://127.0.0.1:8084/test/pattern.mp4?seek-order=2", + "active": [ + "
Caption
" + ], + "displayed": "Caption" + }, + "landed": true, + "afterSettledSeek": { + "time": 1.5, + "seeking": false, + "duration": 8, + "readyState": 4, + "paused": true, + "source": "http://127.0.0.1:8084/test/pattern.mp4?seek-order=2", + "active": [ + "
Caption
" + ], + "displayed": "Caption" + } + } + ], + "scope": "Three real source changes with immediate versus settled seek; old misses are recorded, candidate must honor every first seek", + "missedFirstSeeks": 0, + "seekingAtSettlement": 0, + "traceSha256": "cc1b055383accc1ba07ae96b94c2b6c9ab7aa02d0293bb42d432cbda598ca5c4" + } + }, + { + "title": "Source seek ordering / published-5.3.0 / published-1.2.0-main", + "project": "firefox", + "status": "passed", + "order": { + "core": "published-5.3.0", + "plugin": "published-1.2.0-main", + "pluginSha256": "c1cb0b511da88347165cc855185de9450a44835bb34bb802281ccdb854ef603c", + "browser": "155.0", + "outcomes": [ + { + "round": 0, + "settled": { + "time": 0, + "seeking": false, + "duration": 8, + "readyState": 4, + "paused": true, + "source": "http://127.0.0.1:8084/test/pattern.mp4?seek-order=0", + "active": [], + "displayed": "" + }, + "firstSeek": { + "time": 1.5, + "seeking": false, + "duration": 8, + "readyState": 4, + "paused": true, + "source": "http://127.0.0.1:8084/test/pattern.mp4?seek-order=0", + "active": [ + "
Caption
" + ], + "displayed": "Caption" + }, + "landed": true, + "afterSettledSeek": { + "time": 1.5, + "seeking": false, + "duration": 8, + "readyState": 4, + "paused": true, + "source": "http://127.0.0.1:8084/test/pattern.mp4?seek-order=0", + "active": [ + "
Caption
" + ], + "displayed": "Caption" + } + }, + { + "round": 1, + "settled": { + "time": 0, + "seeking": false, + "duration": 8, + "readyState": 4, + "paused": true, + "source": "http://127.0.0.1:8084/test/pattern.mp4?seek-order=1", + "active": [], + "displayed": "Caption" + }, + "firstSeek": { + "time": 1.5, + "seeking": false, + "duration": 8, + "readyState": 4, + "paused": true, + "source": "http://127.0.0.1:8084/test/pattern.mp4?seek-order=1", + "active": [ + "
Caption
" + ], + "displayed": "Caption" + }, + "landed": true, + "afterSettledSeek": { + "time": 1.5, + "seeking": false, + "duration": 8, + "readyState": 4, + "paused": true, + "source": "http://127.0.0.1:8084/test/pattern.mp4?seek-order=1", + "active": [ + "
Caption
" + ], + "displayed": "Caption" + } + }, + { + "round": 2, + "settled": { + "time": 0, + "seeking": false, + "duration": 8, + "readyState": 4, + "paused": true, + "source": "http://127.0.0.1:8084/test/pattern.mp4?seek-order=2", + "active": [], + "displayed": "Caption" + }, + "firstSeek": { + "time": 1.5, + "seeking": false, + "duration": 8, + "readyState": 4, + "paused": true, + "source": "http://127.0.0.1:8084/test/pattern.mp4?seek-order=2", + "active": [ + "
Caption
" + ], + "displayed": "Caption" + }, + "landed": true, + "afterSettledSeek": { + "time": 1.5, + "seeking": false, + "duration": 8, + "readyState": 4, + "paused": true, + "source": "http://127.0.0.1:8084/test/pattern.mp4?seek-order=2", + "active": [ + "
Caption
" + ], + "displayed": "Caption" + } + } + ], + "scope": "Three real source changes with immediate versus settled seek; old misses are recorded, candidate must honor every first seek", + "missedFirstSeeks": 0, + "seekingAtSettlement": 0, + "traceSha256": "a2a03e1af3de87f056f1b61c236bcdf2c3a34ea0433cf3bebe1f26a84e46a799" + } + }, + { + "title": "Source seek ordering / published / no-plugin", + "project": "firefox", + "status": "passed", + "order": { + "core": "published", + "plugin": "none", + "pluginSha256": null, + "browser": "155.0", + "outcomes": [ + { + "round": 0, + "settled": { + "time": 0, + "seeking": false, + "duration": 8, + "readyState": 4, + "paused": true, + "source": "http://127.0.0.1:8084/test/pattern.mp4?seek-order=0", + "active": [], + "displayed": "" + }, + "firstSeek": { + "time": 1.5, + "seeking": false, + "duration": 8, + "readyState": 4, + "paused": true, + "source": "http://127.0.0.1:8084/test/pattern.mp4?seek-order=0", + "active": [], + "displayed": "" + }, + "landed": true, + "afterSettledSeek": { + "time": 1.5, + "seeking": false, + "duration": 8, + "readyState": 4, + "paused": true, + "source": "http://127.0.0.1:8084/test/pattern.mp4?seek-order=0", + "active": [], + "displayed": "" + } + }, + { + "round": 1, + "settled": { + "time": 0, + "seeking": false, + "duration": 8, + "readyState": 4, + "paused": true, + "source": "http://127.0.0.1:8084/test/pattern.mp4?seek-order=1", + "active": [], + "displayed": "" + }, + "firstSeek": { + "time": 1.5, + "seeking": false, + "duration": 8, + "readyState": 4, + "paused": true, + "source": "http://127.0.0.1:8084/test/pattern.mp4?seek-order=1", + "active": [], + "displayed": "" + }, + "landed": true, + "afterSettledSeek": { + "time": 1.5, + "seeking": false, + "duration": 8, + "readyState": 4, + "paused": true, + "source": "http://127.0.0.1:8084/test/pattern.mp4?seek-order=1", + "active": [], + "displayed": "" + } + }, + { + "round": 2, + "settled": { + "time": 0, + "seeking": false, + "duration": 8, + "readyState": 4, + "paused": true, + "source": "http://127.0.0.1:8084/test/pattern.mp4?seek-order=2", + "active": [], + "displayed": "" + }, + "firstSeek": { + "time": 1.5, + "seeking": false, + "duration": 8, + "readyState": 4, + "paused": true, + "source": "http://127.0.0.1:8084/test/pattern.mp4?seek-order=2", + "active": [], + "displayed": "" + }, + "landed": true, + "afterSettledSeek": { + "time": 1.5, + "seeking": false, + "duration": 8, + "readyState": 4, + "paused": true, + "source": "http://127.0.0.1:8084/test/pattern.mp4?seek-order=2", + "active": [], + "displayed": "" + } + } + ], + "scope": "Three real source changes with immediate versus settled seek; old misses are recorded, candidate must honor every first seek", + "missedFirstSeeks": 0, + "seekingAtSettlement": 0, + "traceSha256": "faeae71d13ea74c543be3a1a485fc70f4ce4ded44d0066296000c28d160cccde" + } + }, + { + "title": "Source seek ordering / published / candidate", + "project": "firefox", + "status": "passed", + "order": { + "core": "published", + "plugin": "candidate", + "pluginSha256": "e2192514ab4836a04c56420fa8c260efa657e2afa32f299d0cf7786c91adc39b", + "browser": "155.0", + "outcomes": [ + { + "round": 0, + "settled": { + "time": 0, + "seeking": false, + "duration": 8, + "readyState": 4, + "paused": true, + "source": "http://127.0.0.1:8084/test/pattern.mp4?seek-order=0", + "active": [], + "displayed": "" + }, + "firstSeek": { + "time": 1.5, + "seeking": false, + "duration": 8, + "readyState": 4, + "paused": true, + "source": "http://127.0.0.1:8084/test/pattern.mp4?seek-order=0", + "active": [ + "
Caption
" + ], + "displayed": "\n Caption\n " + }, + "landed": true, + "afterSettledSeek": { + "time": 1.5, + "seeking": false, + "duration": 8, + "readyState": 4, + "paused": true, + "source": "http://127.0.0.1:8084/test/pattern.mp4?seek-order=0", + "active": [ + "
Caption
" + ], + "displayed": "\n Caption\n " + } + }, + { + "round": 1, + "settled": { + "time": 0, + "seeking": false, + "duration": 8, + "readyState": 4, + "paused": true, + "source": "http://127.0.0.1:8084/test/pattern.mp4?seek-order=1", + "active": [], + "displayed": "\n Caption\n " + }, + "firstSeek": { + "time": 1.5, + "seeking": false, + "duration": 8, + "readyState": 4, + "paused": true, + "source": "http://127.0.0.1:8084/test/pattern.mp4?seek-order=1", + "active": [ + "
Caption
" + ], + "displayed": "\n Caption\n " + }, + "landed": true, + "afterSettledSeek": { + "time": 1.5, + "seeking": false, + "duration": 8, + "readyState": 4, + "paused": true, + "source": "http://127.0.0.1:8084/test/pattern.mp4?seek-order=1", + "active": [ + "
Caption
" + ], + "displayed": "\n Caption\n " + } + }, + { + "round": 2, + "settled": { + "time": 0, + "seeking": false, + "duration": 8, + "readyState": 4, + "paused": true, + "source": "http://127.0.0.1:8084/test/pattern.mp4?seek-order=2", + "active": [], + "displayed": "\n Caption\n " + }, + "firstSeek": { + "time": 1.5, + "seeking": false, + "duration": 8, + "readyState": 4, + "paused": true, + "source": "http://127.0.0.1:8084/test/pattern.mp4?seek-order=2", + "active": [ + "
Caption
" + ], + "displayed": "\n Caption\n " + }, + "landed": true, + "afterSettledSeek": { + "time": 1.5, + "seeking": false, + "duration": 8, + "readyState": 4, + "paused": true, + "source": "http://127.0.0.1:8084/test/pattern.mp4?seek-order=2", + "active": [ + "
Caption
" + ], + "displayed": "\n Caption\n " + } + } + ], + "scope": "Three real source changes with immediate versus settled seek; old misses are recorded, candidate must honor every first seek", + "missedFirstSeeks": 0, + "seekingAtSettlement": 0, + "traceSha256": "5bac4d4d85b28a3915c337f45ff942365b9a3302120a86a2d4f2a5890c458866" + } + }, + { + "title": "Source seek ordering / published / published-1.2.0-main", + "project": "firefox", + "status": "passed", + "order": { + "core": "published", + "plugin": "published-1.2.0-main", + "pluginSha256": "c1cb0b511da88347165cc855185de9450a44835bb34bb802281ccdb854ef603c", + "browser": "155.0", + "outcomes": [ + { + "round": 0, + "settled": { + "time": 0, + "seeking": false, + "duration": 8, + "readyState": 4, + "paused": true, + "source": "http://127.0.0.1:8084/test/pattern.mp4?seek-order=0", + "active": [], + "displayed": "" + }, + "firstSeek": { + "time": 1.5, + "seeking": false, + "duration": 8, + "readyState": 4, + "paused": true, + "source": "http://127.0.0.1:8084/test/pattern.mp4?seek-order=0", + "active": [ + "
Caption
" + ], + "displayed": "\n Caption\n " + }, + "landed": true, + "afterSettledSeek": { + "time": 1.5, + "seeking": false, + "duration": 8, + "readyState": 4, + "paused": true, + "source": "http://127.0.0.1:8084/test/pattern.mp4?seek-order=0", + "active": [ + "
Caption
" + ], + "displayed": "\n Caption\n " + } + }, + { + "round": 1, + "settled": { + "time": 0, + "seeking": false, + "duration": 8, + "readyState": 4, + "paused": true, + "source": "http://127.0.0.1:8084/test/pattern.mp4?seek-order=1", + "active": [], + "displayed": "\n Caption\n " + }, + "firstSeek": { + "time": 1.5, + "seeking": false, + "duration": 8, + "readyState": 4, + "paused": true, + "source": "http://127.0.0.1:8084/test/pattern.mp4?seek-order=1", + "active": [ + "
Caption
" + ], + "displayed": "\n Caption\n " + }, + "landed": true, + "afterSettledSeek": { + "time": 1.5, + "seeking": false, + "duration": 8, + "readyState": 4, + "paused": true, + "source": "http://127.0.0.1:8084/test/pattern.mp4?seek-order=1", + "active": [ + "
Caption
" + ], + "displayed": "\n Caption\n " + } + }, + { + "round": 2, + "settled": { + "time": 0, + "seeking": false, + "duration": 8, + "readyState": 4, + "paused": true, + "source": "http://127.0.0.1:8084/test/pattern.mp4?seek-order=2", + "active": [], + "displayed": "\n Caption\n " + }, + "firstSeek": { + "time": 1.5, + "seeking": false, + "duration": 8, + "readyState": 4, + "paused": true, + "source": "http://127.0.0.1:8084/test/pattern.mp4?seek-order=2", + "active": [ + "
Caption
" + ], + "displayed": "\n Caption\n " + }, + "landed": true, + "afterSettledSeek": { + "time": 1.5, + "seeking": false, + "duration": 8, + "readyState": 4, + "paused": true, + "source": "http://127.0.0.1:8084/test/pattern.mp4?seek-order=2", + "active": [ + "
Caption
" + ], + "displayed": "\n Caption\n " + } + } + ], + "scope": "Three real source changes with immediate versus settled seek; old misses are recorded, candidate must honor every first seek", + "missedFirstSeeks": 0, + "seekingAtSettlement": 0, + "traceSha256": "645c0df54533b99beb5a84b452fd2acc2025d7c9f47726b3d328080e663e9ad8" + } + }, + { + "title": "Source seek ordering / candidate / no-plugin", + "project": "firefox", + "status": "passed", + "order": { + "core": "candidate", + "plugin": "none", + "pluginSha256": null, + "browser": "155.0", + "outcomes": [ + { + "round": 0, + "settled": { + "time": 0, + "seeking": false, + "duration": 8, + "readyState": 4, + "paused": true, + "source": "http://127.0.0.1:8084/test/pattern.mp4?seek-order=0", + "active": [], + "displayed": "" + }, + "firstSeek": { + "time": 1.5, + "seeking": false, + "duration": 8, + "readyState": 4, + "paused": true, + "source": "http://127.0.0.1:8084/test/pattern.mp4?seek-order=0", + "active": [], + "displayed": "" + }, + "landed": true, + "afterSettledSeek": { + "time": 1.5, + "seeking": false, + "duration": 8, + "readyState": 4, + "paused": true, + "source": "http://127.0.0.1:8084/test/pattern.mp4?seek-order=0", + "active": [], + "displayed": "" + } + }, + { + "round": 1, + "settled": { + "time": 0, + "seeking": false, + "duration": 8, + "readyState": 4, + "paused": true, + "source": "http://127.0.0.1:8084/test/pattern.mp4?seek-order=1", + "active": [], + "displayed": "" + }, + "firstSeek": { + "time": 1.5, + "seeking": false, + "duration": 8, + "readyState": 4, + "paused": true, + "source": "http://127.0.0.1:8084/test/pattern.mp4?seek-order=1", + "active": [], + "displayed": "" + }, + "landed": true, + "afterSettledSeek": { + "time": 1.5, + "seeking": false, + "duration": 8, + "readyState": 4, + "paused": true, + "source": "http://127.0.0.1:8084/test/pattern.mp4?seek-order=1", + "active": [], + "displayed": "" + } + }, + { + "round": 2, + "settled": { + "time": 0, + "seeking": false, + "duration": 8, + "readyState": 4, + "paused": true, + "source": "http://127.0.0.1:8084/test/pattern.mp4?seek-order=2", + "active": [], + "displayed": "" + }, + "firstSeek": { + "time": 1.5, + "seeking": false, + "duration": 8, + "readyState": 4, + "paused": true, + "source": "http://127.0.0.1:8084/test/pattern.mp4?seek-order=2", + "active": [], + "displayed": "" + }, + "landed": true, + "afterSettledSeek": { + "time": 1.5, + "seeking": false, + "duration": 8, + "readyState": 4, + "paused": true, + "source": "http://127.0.0.1:8084/test/pattern.mp4?seek-order=2", + "active": [], + "displayed": "" + } + } + ], + "scope": "Three real source changes with immediate versus settled seek; old misses are recorded, candidate must honor every first seek", + "missedFirstSeeks": 0, + "seekingAtSettlement": 0, + "traceSha256": "554ef7bca1698ce286b6b9dd211f597d88abea37229154277013993b9f9b8e39" + } + }, + { + "title": "Source seek ordering / candidate / candidate", + "project": "firefox", + "status": "passed", + "order": { + "core": "candidate", + "plugin": "candidate", + "pluginSha256": "e2192514ab4836a04c56420fa8c260efa657e2afa32f299d0cf7786c91adc39b", + "browser": "155.0", + "outcomes": [ + { + "round": 0, + "settled": { + "time": 0, + "seeking": false, + "duration": 8, + "readyState": 4, + "paused": true, + "source": "http://127.0.0.1:8084/test/pattern.mp4?seek-order=0", + "active": [], + "displayed": "" + }, + "firstSeek": { + "time": 1.5, + "seeking": false, + "duration": 8, + "readyState": 4, + "paused": true, + "source": "http://127.0.0.1:8084/test/pattern.mp4?seek-order=0", + "active": [ + "
Caption
" + ], + "displayed": "\n Caption\n " + }, + "landed": true, + "afterSettledSeek": { + "time": 1.5, + "seeking": false, + "duration": 8, + "readyState": 4, + "paused": true, + "source": "http://127.0.0.1:8084/test/pattern.mp4?seek-order=0", + "active": [ + "
Caption
" + ], + "displayed": "\n Caption\n " + } + }, + { + "round": 1, + "settled": { + "time": 0, + "seeking": false, + "duration": 8, + "readyState": 4, + "paused": true, + "source": "http://127.0.0.1:8084/test/pattern.mp4?seek-order=1", + "active": [], + "displayed": "\n Caption\n " + }, + "firstSeek": { + "time": 1.5, + "seeking": false, + "duration": 8, + "readyState": 4, + "paused": true, + "source": "http://127.0.0.1:8084/test/pattern.mp4?seek-order=1", + "active": [ + "
Caption
" + ], + "displayed": "\n Caption\n " + }, + "landed": true, + "afterSettledSeek": { + "time": 1.5, + "seeking": false, + "duration": 8, + "readyState": 4, + "paused": true, + "source": "http://127.0.0.1:8084/test/pattern.mp4?seek-order=1", + "active": [ + "
Caption
" + ], + "displayed": "\n Caption\n " + } + }, + { + "round": 2, + "settled": { + "time": 0, + "seeking": false, + "duration": 8, + "readyState": 4, + "paused": true, + "source": "http://127.0.0.1:8084/test/pattern.mp4?seek-order=2", + "active": [], + "displayed": "\n Caption\n " + }, + "firstSeek": { + "time": 1.5, + "seeking": false, + "duration": 8, + "readyState": 4, + "paused": true, + "source": "http://127.0.0.1:8084/test/pattern.mp4?seek-order=2", + "active": [ + "
Caption
" + ], + "displayed": "\n Caption\n " + }, + "landed": true, + "afterSettledSeek": { + "time": 1.5, + "seeking": false, + "duration": 8, + "readyState": 4, + "paused": true, + "source": "http://127.0.0.1:8084/test/pattern.mp4?seek-order=2", + "active": [ + "
Caption
" + ], + "displayed": "\n Caption\n " + } + } + ], + "scope": "Three real source changes with immediate versus settled seek; old misses are recorded, candidate must honor every first seek", + "missedFirstSeeks": 0, + "seekingAtSettlement": 0, + "traceSha256": "d684066b1b6a9895bf87738fe99cfeffa18b9ff56f71175c3f3a63843e76c4c0" + } + }, + { + "title": "Source seek ordering / candidate / published-1.2.0-main", + "project": "firefox", + "status": "passed", + "order": { + "core": "candidate", + "plugin": "published-1.2.0-main", + "pluginSha256": "c1cb0b511da88347165cc855185de9450a44835bb34bb802281ccdb854ef603c", + "browser": "155.0", + "outcomes": [ + { + "round": 0, + "settled": { + "time": 0, + "seeking": false, + "duration": 8, + "readyState": 4, + "paused": true, + "source": "http://127.0.0.1:8084/test/pattern.mp4?seek-order=0", + "active": [], + "displayed": "" + }, + "firstSeek": { + "time": 1.5, + "seeking": false, + "duration": 8, + "readyState": 4, + "paused": true, + "source": "http://127.0.0.1:8084/test/pattern.mp4?seek-order=0", + "active": [ + "
Caption
" + ], + "displayed": "\n Caption\n " + }, + "landed": true, + "afterSettledSeek": { + "time": 1.5, + "seeking": false, + "duration": 8, + "readyState": 4, + "paused": true, + "source": "http://127.0.0.1:8084/test/pattern.mp4?seek-order=0", + "active": [ + "
Caption
" + ], + "displayed": "\n Caption\n " + } + }, + { + "round": 1, + "settled": { + "time": 0, + "seeking": false, + "duration": 8, + "readyState": 4, + "paused": true, + "source": "http://127.0.0.1:8084/test/pattern.mp4?seek-order=1", + "active": [], + "displayed": "\n Caption\n " + }, + "firstSeek": { + "time": 1.5, + "seeking": false, + "duration": 8, + "readyState": 4, + "paused": true, + "source": "http://127.0.0.1:8084/test/pattern.mp4?seek-order=1", + "active": [ + "
Caption
" + ], + "displayed": "\n Caption\n " + }, + "landed": true, + "afterSettledSeek": { + "time": 1.5, + "seeking": false, + "duration": 8, + "readyState": 4, + "paused": true, + "source": "http://127.0.0.1:8084/test/pattern.mp4?seek-order=1", + "active": [ + "
Caption
" + ], + "displayed": "\n Caption\n " + } + }, + { + "round": 2, + "settled": { + "time": 0, + "seeking": false, + "duration": 8, + "readyState": 4, + "paused": true, + "source": "http://127.0.0.1:8084/test/pattern.mp4?seek-order=2", + "active": [], + "displayed": "\n Caption\n " + }, + "firstSeek": { + "time": 1.5, + "seeking": false, + "duration": 8, + "readyState": 4, + "paused": true, + "source": "http://127.0.0.1:8084/test/pattern.mp4?seek-order=2", + "active": [ + "
Caption
" + ], + "displayed": "\n Caption\n " + }, + "landed": true, + "afterSettledSeek": { + "time": 1.5, + "seeking": false, + "duration": 8, + "readyState": 4, + "paused": true, + "source": "http://127.0.0.1:8084/test/pattern.mp4?seek-order=2", + "active": [ + "
Caption
" + ], + "displayed": "\n Caption\n " + } + } + ], + "scope": "Three real source changes with immediate versus settled seek; old misses are recorded, candidate must honor every first seek", + "missedFirstSeeks": 0, + "seekingAtSettlement": 0, + "traceSha256": "c93be108ede866beb7bc52c1871f2a8d7b2d54508c3e180492c96361626d946f" + } + }, + { + "title": "Source seek ordering / published-5.3.0 / no-plugin", + "project": "webkit", + "status": "passed", + "order": { + "core": "published-5.3.0", + "plugin": "none", + "pluginSha256": null, + "browser": "26.6", + "outcomes": [ + { + "round": 0, + "settled": { + "time": 0.0066568, + "seeking": false, + "duration": 8, + "readyState": 4, + "paused": true, + "source": "http://127.0.0.1:8084/test/pattern.mp4?seek-order=0", + "active": [], + "displayed": "" + }, + "firstSeek": { + "time": 1.5020766, + "seeking": false, + "duration": 8, + "readyState": 4, + "paused": true, + "source": "http://127.0.0.1:8084/test/pattern.mp4?seek-order=0", + "active": [], + "displayed": "" + }, + "landed": true, + "afterSettledSeek": { + "time": 1.5020766, + "seeking": false, + "duration": 8, + "readyState": 4, + "paused": true, + "source": "http://127.0.0.1:8084/test/pattern.mp4?seek-order=0", + "active": [], + "displayed": "" + } + }, + { + "round": 1, + "settled": { + "time": 0.0029066, + "seeking": false, + "duration": 8, + "readyState": 4, + "paused": true, + "source": "http://127.0.0.1:8084/test/pattern.mp4?seek-order=1", + "active": [], + "displayed": "" + }, + "firstSeek": { + "time": 1.5008361, + "seeking": false, + "duration": 8, + "readyState": 4, + "paused": true, + "source": "http://127.0.0.1:8084/test/pattern.mp4?seek-order=1", + "active": [], + "displayed": "" + }, + "landed": true, + "afterSettledSeek": { + "time": 1.5008361, + "seeking": false, + "duration": 8, + "readyState": 4, + "paused": true, + "source": "http://127.0.0.1:8084/test/pattern.mp4?seek-order=1", + "active": [], + "displayed": "" + } + }, + { + "round": 2, + "settled": { + "time": 0.0013619, + "seeking": false, + "duration": 8, + "readyState": 4, + "paused": true, + "source": "http://127.0.0.1:8084/test/pattern.mp4?seek-order=2", + "active": [], + "displayed": "" + }, + "firstSeek": { + "time": 1.5015099, + "seeking": false, + "duration": 8, + "readyState": 4, + "paused": true, + "source": "http://127.0.0.1:8084/test/pattern.mp4?seek-order=2", + "active": [], + "displayed": "" + }, + "landed": true, + "afterSettledSeek": { + "time": 1.5015099, + "seeking": false, + "duration": 8, + "readyState": 4, + "paused": true, + "source": "http://127.0.0.1:8084/test/pattern.mp4?seek-order=2", + "active": [], + "displayed": "" + } + } + ], + "scope": "Three real source changes with immediate versus settled seek; old misses are recorded, candidate must honor every first seek", + "missedFirstSeeks": 0, + "seekingAtSettlement": 0, + "traceSha256": "79cdea16a79d512c3f2186f610f16bfd0230c4762416cb8b02c9ec25386fe8cd" + } + }, + { + "title": "Source seek ordering / published-5.3.0 / candidate", + "project": "webkit", + "status": "passed", + "order": { + "core": "published-5.3.0", + "plugin": "candidate", + "pluginSha256": "e2192514ab4836a04c56420fa8c260efa657e2afa32f299d0cf7786c91adc39b", + "browser": "26.6", + "outcomes": [ + { + "round": 0, + "settled": { + "time": 0, + "seeking": true, + "duration": 8, + "readyState": 4, + "paused": true, + "source": "http://127.0.0.1:8084/test/pattern.mp4?seek-order=0", + "active": [], + "displayed": "" + }, + "firstSeek": { + "time": 1.5016674, + "seeking": false, + "duration": 8, + "readyState": 4, + "paused": true, + "source": "http://127.0.0.1:8084/test/pattern.mp4?seek-order=0", + "active": [ + "
Caption
" + ], + "displayed": "Caption" + }, + "landed": true, + "afterSettledSeek": { + "time": 1.5016674, + "seeking": false, + "duration": 8, + "readyState": 4, + "paused": true, + "source": "http://127.0.0.1:8084/test/pattern.mp4?seek-order=0", + "active": [ + "
Caption
" + ], + "displayed": "Caption" + } + }, + { + "round": 1, + "settled": { + "time": 0.0027749, + "seeking": false, + "duration": 8, + "readyState": 4, + "paused": true, + "source": "http://127.0.0.1:8084/test/pattern.mp4?seek-order=1", + "active": [], + "displayed": "" + }, + "firstSeek": { + "time": 1.5019451, + "seeking": false, + "duration": 8, + "readyState": 4, + "paused": true, + "source": "http://127.0.0.1:8084/test/pattern.mp4?seek-order=1", + "active": [ + "
Caption
" + ], + "displayed": "Caption" + }, + "landed": true, + "afterSettledSeek": { + "time": 1.5019451, + "seeking": false, + "duration": 8, + "readyState": 4, + "paused": true, + "source": "http://127.0.0.1:8084/test/pattern.mp4?seek-order=1", + "active": [ + "
Caption
" + ], + "displayed": "Caption" + } + }, + { + "round": 2, + "settled": { + "time": 0.0026096, + "seeking": false, + "duration": 8, + "readyState": 4, + "paused": true, + "source": "http://127.0.0.1:8084/test/pattern.mp4?seek-order=2", + "active": [], + "displayed": "" + }, + "firstSeek": { + "time": 1.5017886, + "seeking": false, + "duration": 8, + "readyState": 4, + "paused": true, + "source": "http://127.0.0.1:8084/test/pattern.mp4?seek-order=2", + "active": [ + "
Caption
" + ], + "displayed": "Caption" + }, + "landed": true, + "afterSettledSeek": { + "time": 1.5017886, + "seeking": false, + "duration": 8, + "readyState": 4, + "paused": true, + "source": "http://127.0.0.1:8084/test/pattern.mp4?seek-order=2", + "active": [ + "
Caption
" + ], + "displayed": "Caption" + } + } + ], + "scope": "Three real source changes with immediate versus settled seek; old misses are recorded, candidate must honor every first seek", + "missedFirstSeeks": 0, + "seekingAtSettlement": 1, + "traceSha256": "d4c41fcbc3e7a651acca45e839d2a52184220c18d096fca04d3109d58ca3afaa" + } + }, + { + "title": "Source seek ordering / published-5.3.0 / published-1.2.0-main", + "project": "webkit", + "status": "passed", + "order": { + "core": "published-5.3.0", + "plugin": "published-1.2.0-main", + "pluginSha256": "c1cb0b511da88347165cc855185de9450a44835bb34bb802281ccdb854ef603c", + "browser": "26.6", + "outcomes": [ + { + "round": 0, + "settled": { + "time": 0, + "seeking": true, + "duration": 8, + "readyState": 4, + "paused": true, + "source": "http://127.0.0.1:8084/test/pattern.mp4?seek-order=0", + "active": [], + "displayed": "" + }, + "firstSeek": { + "time": 1.5020307, + "seeking": false, + "duration": 8, + "readyState": 4, + "paused": true, + "source": "http://127.0.0.1:8084/test/pattern.mp4?seek-order=0", + "active": [ + "
Caption
" + ], + "displayed": "" + }, + "landed": true, + "afterSettledSeek": { + "time": 1.5020307, + "seeking": false, + "duration": 8, + "readyState": 4, + "paused": true, + "source": "http://127.0.0.1:8084/test/pattern.mp4?seek-order=0", + "active": [ + "
Caption
" + ], + "displayed": "Caption" + } + }, + { + "round": 1, + "settled": { + "time": 0, + "seeking": true, + "duration": 8, + "readyState": 4, + "paused": true, + "source": "http://127.0.0.1:8084/test/pattern.mp4?seek-order=1", + "active": [], + "displayed": "" + }, + "firstSeek": { + "time": 1.5035211, + "seeking": false, + "duration": 8, + "readyState": 4, + "paused": true, + "source": "http://127.0.0.1:8084/test/pattern.mp4?seek-order=1", + "active": [ + "
Caption
" + ], + "displayed": "Caption" + }, + "landed": true, + "afterSettledSeek": { + "time": 1.5035211, + "seeking": false, + "duration": 8, + "readyState": 4, + "paused": true, + "source": "http://127.0.0.1:8084/test/pattern.mp4?seek-order=1", + "active": [ + "
Caption
" + ], + "displayed": "Caption" + } + }, + { + "round": 2, + "settled": { + "time": 0.0019198, + "seeking": false, + "duration": 8, + "readyState": 4, + "paused": true, + "source": "http://127.0.0.1:8084/test/pattern.mp4?seek-order=2", + "active": [], + "displayed": "" + }, + "firstSeek": { + "time": 1.5015399, + "seeking": false, + "duration": 8, + "readyState": 4, + "paused": true, + "source": "http://127.0.0.1:8084/test/pattern.mp4?seek-order=2", + "active": [ + "
Caption
" + ], + "displayed": "Caption" + }, + "landed": true, + "afterSettledSeek": { + "time": 1.5015399, + "seeking": false, + "duration": 8, + "readyState": 4, + "paused": true, + "source": "http://127.0.0.1:8084/test/pattern.mp4?seek-order=2", + "active": [ + "
Caption
" + ], + "displayed": "Caption" + } + } + ], + "scope": "Three real source changes with immediate versus settled seek; old misses are recorded, candidate must honor every first seek", + "missedFirstSeeks": 0, + "seekingAtSettlement": 2, + "traceSha256": "828c90c637e73359b88ac1af326e4da4f5b3ee7252596357ba4c5a39c8ca6480" + } + }, + { + "title": "Source seek ordering / published / no-plugin", + "project": "webkit", + "status": "passed", + "order": { + "core": "published", + "plugin": "none", + "pluginSha256": null, + "browser": "26.6", + "outcomes": [ + { + "round": 0, + "settled": { + "time": 0.0013087, + "seeking": false, + "duration": 8, + "readyState": 4, + "paused": true, + "source": "http://127.0.0.1:8084/test/pattern.mp4?seek-order=0", + "active": [], + "displayed": "" + }, + "firstSeek": { + "time": 1.5012388, + "seeking": false, + "duration": 8, + "readyState": 4, + "paused": true, + "source": "http://127.0.0.1:8084/test/pattern.mp4?seek-order=0", + "active": [], + "displayed": "" + }, + "landed": true, + "afterSettledSeek": { + "time": 1.5012388, + "seeking": false, + "duration": 8, + "readyState": 4, + "paused": true, + "source": "http://127.0.0.1:8084/test/pattern.mp4?seek-order=0", + "active": [], + "displayed": "" + } + }, + { + "round": 1, + "settled": { + "time": 0, + "seeking": false, + "duration": 8, + "readyState": 4, + "paused": true, + "source": "http://127.0.0.1:8084/test/pattern.mp4?seek-order=1", + "active": [], + "displayed": "" + }, + "firstSeek": { + "time": 1.5017678, + "seeking": false, + "duration": 8, + "readyState": 4, + "paused": true, + "source": "http://127.0.0.1:8084/test/pattern.mp4?seek-order=1", + "active": [], + "displayed": "" + }, + "landed": true, + "afterSettledSeek": { + "time": 1.5017678, + "seeking": false, + "duration": 8, + "readyState": 4, + "paused": true, + "source": "http://127.0.0.1:8084/test/pattern.mp4?seek-order=1", + "active": [], + "displayed": "" + } + }, + { + "round": 2, + "settled": { + "time": 0, + "seeking": true, + "duration": 8, + "readyState": 4, + "paused": true, + "source": "http://127.0.0.1:8084/test/pattern.mp4?seek-order=2", + "active": [], + "displayed": "" + }, + "firstSeek": { + "time": 1.5018261, + "seeking": false, + "duration": 8, + "readyState": 4, + "paused": true, + "source": "http://127.0.0.1:8084/test/pattern.mp4?seek-order=2", + "active": [], + "displayed": "" + }, + "landed": true, + "afterSettledSeek": { + "time": 1.5018261, + "seeking": false, + "duration": 8, + "readyState": 4, + "paused": true, + "source": "http://127.0.0.1:8084/test/pattern.mp4?seek-order=2", + "active": [], + "displayed": "" + } + } + ], + "scope": "Three real source changes with immediate versus settled seek; old misses are recorded, candidate must honor every first seek", + "missedFirstSeeks": 0, + "seekingAtSettlement": 1, + "traceSha256": "18463270eb48841cf7c9652466d577186d4bcdbb9c08b4e4549595dd7895b574" + } + }, + { + "title": "Source seek ordering / published / candidate", + "project": "webkit", + "status": "passed", + "order": { + "core": "published", + "plugin": "candidate", + "pluginSha256": "e2192514ab4836a04c56420fa8c260efa657e2afa32f299d0cf7786c91adc39b", + "browser": "26.6", + "outcomes": [ + { + "round": 0, + "settled": { + "time": 0.0030255, + "seeking": false, + "duration": 8, + "readyState": 4, + "paused": true, + "source": "http://127.0.0.1:8084/test/pattern.mp4?seek-order=0", + "active": [], + "displayed": "" + }, + "firstSeek": { + "time": 1.501822, + "seeking": false, + "duration": 8, + "readyState": 4, + "paused": true, + "source": "http://127.0.0.1:8084/test/pattern.mp4?seek-order=0", + "active": [ + "
Caption
" + ], + "displayed": "\n Caption\n " + }, + "landed": true, + "afterSettledSeek": { + "time": 1.501822, + "seeking": false, + "duration": 8, + "readyState": 4, + "paused": true, + "source": "http://127.0.0.1:8084/test/pattern.mp4?seek-order=0", + "active": [ + "
Caption
" + ], + "displayed": "\n Caption\n " + } + }, + { + "round": 1, + "settled": { + "time": 0.0053375, + "seeking": false, + "duration": 8, + "readyState": 4, + "paused": true, + "source": "http://127.0.0.1:8084/test/pattern.mp4?seek-order=1", + "active": [], + "displayed": "" + }, + "firstSeek": { + "time": 1.5017861, + "seeking": false, + "duration": 8, + "readyState": 4, + "paused": true, + "source": "http://127.0.0.1:8084/test/pattern.mp4?seek-order=1", + "active": [ + "
Caption
" + ], + "displayed": "\n Caption\n " + }, + "landed": true, + "afterSettledSeek": { + "time": 1.5017861, + "seeking": false, + "duration": 8, + "readyState": 4, + "paused": true, + "source": "http://127.0.0.1:8084/test/pattern.mp4?seek-order=1", + "active": [ + "
Caption
" + ], + "displayed": "\n Caption\n " + } + }, + { + "round": 2, + "settled": { + "time": 0, + "seeking": true, + "duration": 8, + "readyState": 4, + "paused": true, + "source": "http://127.0.0.1:8084/test/pattern.mp4?seek-order=2", + "active": [], + "displayed": "" + }, + "firstSeek": { + "time": 1.5021185, + "seeking": false, + "duration": 8, + "readyState": 4, + "paused": true, + "source": "http://127.0.0.1:8084/test/pattern.mp4?seek-order=2", + "active": [ + "
Caption
" + ], + "displayed": "\n Caption\n " + }, + "landed": true, + "afterSettledSeek": { + "time": 1.5021185, + "seeking": false, + "duration": 8, + "readyState": 4, + "paused": true, + "source": "http://127.0.0.1:8084/test/pattern.mp4?seek-order=2", + "active": [ + "
Caption
" + ], + "displayed": "\n Caption\n " + } + } + ], + "scope": "Three real source changes with immediate versus settled seek; old misses are recorded, candidate must honor every first seek", + "missedFirstSeeks": 0, + "seekingAtSettlement": 1, + "traceSha256": "f84f456198d9e67596a1cbd85a19d83cf1ffd9f56a159c0c68a82e14dce99452" + } + }, + { + "title": "Source seek ordering / published / published-1.2.0-main", + "project": "webkit", + "status": "passed", + "order": { + "core": "published", + "plugin": "published-1.2.0-main", + "pluginSha256": "c1cb0b511da88347165cc855185de9450a44835bb34bb802281ccdb854ef603c", + "browser": "26.6", + "outcomes": [ + { + "round": 0, + "settled": { + "time": 0, + "seeking": false, + "duration": 8, + "readyState": 4, + "paused": true, + "source": "http://127.0.0.1:8084/test/pattern.mp4?seek-order=0", + "active": [], + "displayed": "" + }, + "firstSeek": { + "time": 1.5019994, + "seeking": false, + "duration": 8, + "readyState": 4, + "paused": true, + "source": "http://127.0.0.1:8084/test/pattern.mp4?seek-order=0", + "active": [ + "
Caption
" + ], + "displayed": "\n Caption\n " + }, + "landed": true, + "afterSettledSeek": { + "time": 1.5019994, + "seeking": false, + "duration": 8, + "readyState": 4, + "paused": true, + "source": "http://127.0.0.1:8084/test/pattern.mp4?seek-order=0", + "active": [ + "
Caption
" + ], + "displayed": "\n Caption\n " + } + }, + { + "round": 1, + "settled": { + "time": 0.003243, + "seeking": false, + "duration": 8, + "readyState": 4, + "paused": true, + "source": "http://127.0.0.1:8084/test/pattern.mp4?seek-order=1", + "active": [], + "displayed": "" + }, + "firstSeek": { + "time": 1.5025479, + "seeking": false, + "duration": 8, + "readyState": 4, + "paused": true, + "source": "http://127.0.0.1:8084/test/pattern.mp4?seek-order=1", + "active": [ + "
Caption
" + ], + "displayed": "\n Caption\n " + }, + "landed": true, + "afterSettledSeek": { + "time": 1.5025479, + "seeking": false, + "duration": 8, + "readyState": 4, + "paused": true, + "source": "http://127.0.0.1:8084/test/pattern.mp4?seek-order=1", + "active": [ + "
Caption
" + ], + "displayed": "\n Caption\n " + } + }, + { + "round": 2, + "settled": { + "time": 0, + "seeking": true, + "duration": 8, + "readyState": 4, + "paused": true, + "source": "http://127.0.0.1:8084/test/pattern.mp4?seek-order=2", + "active": [], + "displayed": "" + }, + "firstSeek": { + "time": 1.5005634, + "seeking": false, + "duration": 8, + "readyState": 4, + "paused": true, + "source": "http://127.0.0.1:8084/test/pattern.mp4?seek-order=2", + "active": [ + "
Caption
" + ], + "displayed": "\n Caption\n " + }, + "landed": true, + "afterSettledSeek": { + "time": 1.5005634, + "seeking": false, + "duration": 8, + "readyState": 4, + "paused": true, + "source": "http://127.0.0.1:8084/test/pattern.mp4?seek-order=2", + "active": [ + "
Caption
" + ], + "displayed": "\n Caption\n " + } + } + ], + "scope": "Three real source changes with immediate versus settled seek; old misses are recorded, candidate must honor every first seek", + "missedFirstSeeks": 0, + "seekingAtSettlement": 1, + "traceSha256": "65aebee7fcab5399ba1f49e372b3918e36c9eae44a0bce743a508c720b43ba8d" + } + }, + { + "title": "Source seek ordering / candidate / no-plugin", + "project": "webkit", + "status": "passed", + "order": { + "core": "candidate", + "plugin": "none", + "pluginSha256": null, + "browser": "26.6", + "outcomes": [ + { + "round": 0, + "settled": { + "time": 0.005911, + "seeking": false, + "duration": 8, + "readyState": 4, + "paused": true, + "source": "http://127.0.0.1:8084/test/pattern.mp4?seek-order=0", + "active": [], + "displayed": "" + }, + "firstSeek": { + "time": 1.5021313, + "seeking": false, + "duration": 8, + "readyState": 4, + "paused": true, + "source": "http://127.0.0.1:8084/test/pattern.mp4?seek-order=0", + "active": [], + "displayed": "" + }, + "landed": true, + "afterSettledSeek": { + "time": 1.5021313, + "seeking": false, + "duration": 8, + "readyState": 4, + "paused": true, + "source": "http://127.0.0.1:8084/test/pattern.mp4?seek-order=0", + "active": [], + "displayed": "" + } + }, + { + "round": 1, + "settled": { + "time": 0.0013112, + "seeking": false, + "duration": 8, + "readyState": 4, + "paused": true, + "source": "http://127.0.0.1:8084/test/pattern.mp4?seek-order=1", + "active": [], + "displayed": "" + }, + "firstSeek": { + "time": 1.5024505, + "seeking": false, + "duration": 8, + "readyState": 4, + "paused": true, + "source": "http://127.0.0.1:8084/test/pattern.mp4?seek-order=1", + "active": [], + "displayed": "" + }, + "landed": true, + "afterSettledSeek": { + "time": 1.5024505, + "seeking": false, + "duration": 8, + "readyState": 4, + "paused": true, + "source": "http://127.0.0.1:8084/test/pattern.mp4?seek-order=1", + "active": [], + "displayed": "" + } + }, + { + "round": 2, + "settled": { + "time": 0.0011754, + "seeking": false, + "duration": 8, + "readyState": 4, + "paused": true, + "source": "http://127.0.0.1:8084/test/pattern.mp4?seek-order=2", + "active": [], + "displayed": "" + }, + "firstSeek": { + "time": 1.5015787, + "seeking": false, + "duration": 8, + "readyState": 4, + "paused": true, + "source": "http://127.0.0.1:8084/test/pattern.mp4?seek-order=2", + "active": [], + "displayed": "" + }, + "landed": true, + "afterSettledSeek": { + "time": 1.5015787, + "seeking": false, + "duration": 8, + "readyState": 4, + "paused": true, + "source": "http://127.0.0.1:8084/test/pattern.mp4?seek-order=2", + "active": [], + "displayed": "" + } + } + ], + "scope": "Three real source changes with immediate versus settled seek; old misses are recorded, candidate must honor every first seek", + "missedFirstSeeks": 0, + "seekingAtSettlement": 0, + "traceSha256": "40460302041950f7e58b1a9411de755db478a02ccb7e22fa224b77206159cd45" + } + }, + { + "title": "Source seek ordering / candidate / candidate", + "project": "webkit", + "status": "passed", + "order": { + "core": "candidate", + "plugin": "candidate", + "pluginSha256": "e2192514ab4836a04c56420fa8c260efa657e2afa32f299d0cf7786c91adc39b", + "browser": "26.6", + "outcomes": [ + { + "round": 0, + "settled": { + "time": 0.0020923, + "seeking": false, + "duration": 8, + "readyState": 4, + "paused": true, + "source": "http://127.0.0.1:8084/test/pattern.mp4?seek-order=0", + "active": [], + "displayed": "" + }, + "firstSeek": { + "time": 1.5017854, + "seeking": false, + "duration": 8, + "readyState": 4, + "paused": true, + "source": "http://127.0.0.1:8084/test/pattern.mp4?seek-order=0", + "active": [ + "
Caption
" + ], + "displayed": "\n Caption\n " + }, + "landed": true, + "afterSettledSeek": { + "time": 1.5017854, + "seeking": false, + "duration": 8, + "readyState": 4, + "paused": true, + "source": "http://127.0.0.1:8084/test/pattern.mp4?seek-order=0", + "active": [ + "
Caption
" + ], + "displayed": "\n Caption\n " + } + }, + { + "round": 1, + "settled": { + "time": 0, + "seeking": false, + "duration": 8, + "readyState": 4, + "paused": true, + "source": "http://127.0.0.1:8084/test/pattern.mp4?seek-order=1", + "active": [], + "displayed": "" + }, + "firstSeek": { + "time": 1.5004611, + "seeking": false, + "duration": 8, + "readyState": 4, + "paused": true, + "source": "http://127.0.0.1:8084/test/pattern.mp4?seek-order=1", + "active": [ + "
Caption
" + ], + "displayed": "\n Caption\n " + }, + "landed": true, + "afterSettledSeek": { + "time": 1.5004611, + "seeking": false, + "duration": 8, + "readyState": 4, + "paused": true, + "source": "http://127.0.0.1:8084/test/pattern.mp4?seek-order=1", + "active": [ + "
Caption
" + ], + "displayed": "\n Caption\n " + } + }, + { + "round": 2, + "settled": { + "time": 0, + "seeking": false, + "duration": 8, + "readyState": 4, + "paused": true, + "source": "http://127.0.0.1:8084/test/pattern.mp4?seek-order=2", + "active": [], + "displayed": "" + }, + "firstSeek": { + "time": 1.500382, + "seeking": false, + "duration": 8, + "readyState": 4, + "paused": true, + "source": "http://127.0.0.1:8084/test/pattern.mp4?seek-order=2", + "active": [ + "
Caption
" + ], + "displayed": "\n Caption\n " + }, + "landed": true, + "afterSettledSeek": { + "time": 1.500382, + "seeking": false, + "duration": 8, + "readyState": 4, + "paused": true, + "source": "http://127.0.0.1:8084/test/pattern.mp4?seek-order=2", + "active": [ + "
Caption
" + ], + "displayed": "\n Caption\n " + } + } + ], + "scope": "Three real source changes with immediate versus settled seek; old misses are recorded, candidate must honor every first seek", + "missedFirstSeeks": 0, + "seekingAtSettlement": 0, + "traceSha256": "ca2242497b9f4d6db854315cfbeb9a6f7398aeb034c54432039669e71c8f6d45" + } + }, + { + "title": "Source seek ordering / candidate / published-1.2.0-main", + "project": "webkit", + "status": "passed", + "order": { + "core": "candidate", + "plugin": "published-1.2.0-main", + "pluginSha256": "c1cb0b511da88347165cc855185de9450a44835bb34bb802281ccdb854ef603c", + "browser": "26.6", + "outcomes": [ + { + "round": 0, + "settled": { + "time": 0.0012811, + "seeking": false, + "duration": 8, + "readyState": 4, + "paused": true, + "source": "http://127.0.0.1:8084/test/pattern.mp4?seek-order=0", + "active": [], + "displayed": "" + }, + "firstSeek": { + "time": 1.5015663, + "seeking": false, + "duration": 8, + "readyState": 4, + "paused": true, + "source": "http://127.0.0.1:8084/test/pattern.mp4?seek-order=0", + "active": [ + "
Caption
" + ], + "displayed": "\n Caption\n " + }, + "landed": true, + "afterSettledSeek": { + "time": 1.5015663, + "seeking": false, + "duration": 8, + "readyState": 4, + "paused": true, + "source": "http://127.0.0.1:8084/test/pattern.mp4?seek-order=0", + "active": [ + "
Caption
" + ], + "displayed": "\n Caption\n " + } + }, + { + "round": 1, + "settled": { + "time": 0.0053664, + "seeking": false, + "duration": 8, + "readyState": 4, + "paused": true, + "source": "http://127.0.0.1:8084/test/pattern.mp4?seek-order=1", + "active": [], + "displayed": "" + }, + "firstSeek": { + "time": 1.5019714, + "seeking": false, + "duration": 8, + "readyState": 4, + "paused": true, + "source": "http://127.0.0.1:8084/test/pattern.mp4?seek-order=1", + "active": [ + "
Caption
" + ], + "displayed": "\n Caption\n " + }, + "landed": true, + "afterSettledSeek": { + "time": 1.5019714, + "seeking": false, + "duration": 8, + "readyState": 4, + "paused": true, + "source": "http://127.0.0.1:8084/test/pattern.mp4?seek-order=1", + "active": [ + "
Caption
" + ], + "displayed": "\n Caption\n " + } + }, + { + "round": 2, + "settled": { + "time": 0.0062674, + "seeking": false, + "duration": 8, + "readyState": 4, + "paused": true, + "source": "http://127.0.0.1:8084/test/pattern.mp4?seek-order=2", + "active": [], + "displayed": "" + }, + "firstSeek": { + "time": 1.5021755, + "seeking": false, + "duration": 8, + "readyState": 4, + "paused": true, + "source": "http://127.0.0.1:8084/test/pattern.mp4?seek-order=2", + "active": [ + "
Caption
" + ], + "displayed": "\n Caption\n " + }, + "landed": true, + "afterSettledSeek": { + "time": 1.5021755, + "seeking": false, + "duration": 8, + "readyState": 4, + "paused": true, + "source": "http://127.0.0.1:8084/test/pattern.mp4?seek-order=2", + "active": [ + "
Caption
" + ], + "displayed": "\n Caption\n " + } + } + ], + "scope": "Three real source changes with immediate versus settled seek; old misses are recorded, candidate must honor every first seek", + "missedFirstSeeks": 0, + "seekingAtSettlement": 0, + "traceSha256": "00f1023bd75f5209d441872f06319dfe1f3fa696f0eef103f817f7f4b51ede26" + } + } + ] + }, + { + "name": "main-corrected-sequencing", + "report": { + "path": "refactor/.cache/multi-switch-combinations-final-browser/report.json", + "sha256": "ffd4cecf732368ae6b687c249eec62884ab5e1f4758b216617bab4ecd6ced715" + }, + "log": { + "path": "refactor/.cache/multi-switch-combinations-final.log", + "sha256": "e2d5a1235557b550ca4c338062c33391227a6b32b0652b553d8e7d6abb6e5249" + }, + "stats": { + "startTime": "2026-09-14T04:57:32.459Z", + "duration": 20953.262000000002, + "expected": 9, + "skipped": 0, + "unexpected": 0, + "flaky": 0 + }, + "inputs": [ + { + "browser": "153.0.8010.12", + "platform": "win32", + "candidateCore": { + "source": { + "kind": "artifact", + "file": "D:\\github\\ArtPlayer\\packages\\artplayer\\dist\\artplayer.js" + }, + "sha256": "cab41b4a6b47dfacfc2d99b923273043b48f0ad93c3e808af0bfa84ffe1cf26e", + "bytes": 208931 + }, + "media": { + "source": { + "kind": "generated-media", + "file": "test/browser/media/pattern.mp4" + }, + "sha256": "0ad1d7ad286aec6e0fa9e27fc1e487e7277df2e603e30040fb942365763d0233", + "bytes": 251538 + } + }, + { + "browser": "155.0", + "platform": "win32", + "candidateCore": { + "source": { + "kind": "artifact", + "file": "D:\\github\\ArtPlayer\\packages\\artplayer\\dist\\artplayer.js" + }, + "sha256": "cab41b4a6b47dfacfc2d99b923273043b48f0ad93c3e808af0bfa84ffe1cf26e", + "bytes": 208931 + }, + "media": { + "source": { + "kind": "generated-media", + "file": "test/browser/media/pattern.mp4" + }, + "sha256": "0ad1d7ad286aec6e0fa9e27fc1e487e7277df2e603e30040fb942365763d0233", + "bytes": 251538 + } + }, + { + "browser": "26.6", + "platform": "win32", + "candidateCore": { + "source": { + "kind": "artifact", + "file": "D:\\github\\ArtPlayer\\packages\\artplayer\\dist\\artplayer.js" + }, + "sha256": "cab41b4a6b47dfacfc2d99b923273043b48f0ad93c3e808af0bfa84ffe1cf26e", + "bytes": 208931 + }, + "media": { + "source": { + "kind": "generated-media", + "file": "test/browser/media/pattern.mp4" + }, + "sha256": "0ad1d7ad286aec6e0fa9e27fc1e487e7277df2e603e30040fb942365763d0233", + "bytes": 251538 + } + } + ], + "tests": [ + { + "title": "Multiple subtitles candidate / published-5.3.0: timed VTT and SRT, offsets, fullscreen and source change", + "project": "chromium", + "status": "passed", + "combinationInputs": { + "core": "published-5.3.0", + "plugin": "candidate", + "pluginSha256": "e2192514ab4836a04c56420fa8c260efa657e2afa32f299d0cf7786c91adc39b", + "browser": "153.0.8010.12", + "scope": "Desktop engines; 5.3.0 is adjacent stable, not the unavailable 5.3.1 release; no minimum-version or physical-device claim" + } + }, + { + "title": "Multiple subtitles candidate / published: timed VTT and SRT, offsets, fullscreen and source change", + "project": "chromium", + "status": "passed", + "combinationInputs": { + "core": "published", + "plugin": "candidate", + "pluginSha256": "e2192514ab4836a04c56420fa8c260efa657e2afa32f299d0cf7786c91adc39b", + "browser": "153.0.8010.12", + "scope": "Desktop engines; 5.3.0 is adjacent stable, not the unavailable 5.3.1 release; no minimum-version or physical-device claim" + } + }, + { + "title": "Multiple subtitles candidate / candidate: timed VTT and SRT, offsets, fullscreen and source change", + "project": "chromium", + "status": "passed", + "combinationInputs": { + "core": "candidate", + "plugin": "candidate", + "pluginSha256": "e2192514ab4836a04c56420fa8c260efa657e2afa32f299d0cf7786c91adc39b", + "browser": "153.0.8010.12", + "scope": "Desktop engines; 5.3.0 is adjacent stable, not the unavailable 5.3.1 release; no minimum-version or physical-device claim" + } + }, + { + "title": "Multiple subtitles candidate / published-5.3.0: timed VTT and SRT, offsets, fullscreen and source change", + "project": "firefox", + "status": "passed", + "combinationInputs": { + "core": "published-5.3.0", + "plugin": "candidate", + "pluginSha256": "e2192514ab4836a04c56420fa8c260efa657e2afa32f299d0cf7786c91adc39b", + "browser": "155.0", + "scope": "Desktop engines; 5.3.0 is adjacent stable, not the unavailable 5.3.1 release; no minimum-version or physical-device claim" + } + }, + { + "title": "Multiple subtitles candidate / published: timed VTT and SRT, offsets, fullscreen and source change", + "project": "firefox", + "status": "passed", + "combinationInputs": { + "core": "published", + "plugin": "candidate", + "pluginSha256": "e2192514ab4836a04c56420fa8c260efa657e2afa32f299d0cf7786c91adc39b", + "browser": "155.0", + "scope": "Desktop engines; 5.3.0 is adjacent stable, not the unavailable 5.3.1 release; no minimum-version or physical-device claim" + } + }, + { + "title": "Multiple subtitles candidate / candidate: timed VTT and SRT, offsets, fullscreen and source change", + "project": "firefox", + "status": "passed", + "combinationInputs": { + "core": "candidate", + "plugin": "candidate", + "pluginSha256": "e2192514ab4836a04c56420fa8c260efa657e2afa32f299d0cf7786c91adc39b", + "browser": "155.0", + "scope": "Desktop engines; 5.3.0 is adjacent stable, not the unavailable 5.3.1 release; no minimum-version or physical-device claim" + } + }, + { + "title": "Multiple subtitles candidate / published-5.3.0: timed VTT and SRT, offsets, fullscreen and source change", + "project": "webkit", + "status": "passed", + "combinationInputs": { + "core": "published-5.3.0", + "plugin": "candidate", + "pluginSha256": "e2192514ab4836a04c56420fa8c260efa657e2afa32f299d0cf7786c91adc39b", + "browser": "26.6", + "scope": "Desktop engines; 5.3.0 is adjacent stable, not the unavailable 5.3.1 release; no minimum-version or physical-device claim" + } + }, + { + "title": "Multiple subtitles candidate / published: timed VTT and SRT, offsets, fullscreen and source change", + "project": "webkit", + "status": "passed", + "combinationInputs": { + "core": "published", + "plugin": "candidate", + "pluginSha256": "e2192514ab4836a04c56420fa8c260efa657e2afa32f299d0cf7786c91adc39b", + "browser": "26.6", + "scope": "Desktop engines; 5.3.0 is adjacent stable, not the unavailable 5.3.1 release; no minimum-version or physical-device claim" + } + }, + { + "title": "Multiple subtitles candidate / candidate: timed VTT and SRT, offsets, fullscreen and source change", + "project": "webkit", + "status": "passed", + "combinationInputs": { + "core": "candidate", + "plugin": "candidate", + "pluginSha256": "e2192514ab4836a04c56420fa8c260efa657e2afa32f299d0cf7786c91adc39b", + "browser": "26.6", + "scope": "Desktop engines; 5.3.0 is adjacent stable, not the unavailable 5.3.1 release; no minimum-version or physical-device claim" + } + } + ] + } + ], + "checks": [ + { + "path": "refactor/.cache/multi-switch-lint-final.log", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "exitCode": 0 + }, + { + "path": "refactor/.cache/multi-switch-ci-final.log", + "sha256": "404731ded1ab057c42f0782bf11cf335ebed0ef025bf7321c19e09cb61e10391", + "exitCode": 0 + } + ], + "classification": "Old source Promise/native seek overlap, not lost plugin cue data; candidate core already waits for native seeking. Existing BASE-LIFE-44 context and original failures remain preserved.", + "limits": [ + "Initial WebKit source27 changes include5 old misses; actual main81 changes contain no misses but6 old WebKit settlements while seeking", + "Main84 run has83 passing assertions and1 fullscreen fixture sequencing failure; final affected9 pass, not a new full84 rerun", + "Historical overlap and offset observation tests are not all successful compatibility acceptance", + "No production, dependency, version or declaration edits; package task05 and physical-device/distribution gates remain incomplete" + ], + "finalChecks": { + "path": "refactor/.cache/multi-switch-final-checks.log", + "sha256": "8ab7893abd0be9babc0438793bd692491479e5a452095587d65fb02d048fa492", + "exitCode": 0 + } +} diff --git a/refactor/changes/2026-09-14-PKG-MULTI-SUB-09-switch-order.md b/refactor/changes/2026-09-14-PKG-MULTI-SUB-09-switch-order.md new file mode 100644 index 000000000..61a285219 --- /dev/null +++ b/refactor/changes/2026-09-14-PKG-MULTI-SUB-09-switch-order.md @@ -0,0 +1,81 @@ +# PKG-MULTI-SUB-09: distinguish source seeking from caption loss + +Baseline: efed847cdfcbe5110e88b31527c46e622bcc83ee. This task closes the +misattributed switching finding with independent native evidence and corrects +integration sequencing. No production code, public type, dependency, version, +lockfile or built artifact changes. PKG-MULTI-SUB-05 remains doing. + +## Root cause evidence + +The original WebKit failures retained a valid Translation cue at1..3 seconds, +but the actual media clock was approximately0.002 seconds, with no active cues. +The subtitle was correctly absent at that time; the intended seek to1.5 had not +landed. Those reports predate currentTime instrumentation. + +`multiple-subtitles-switch.spec.js` compares no plugin, current plugin, and actual +npm plugin1.2.0 on cores5.3.0/5.4.0/candidate. Each case plays real local media, +enters/exits native fullscreen, then performs three source changes. It captures +native currentTime writes and media events, Promise settlement state, first seek +completion and a second seek only if the first missed after native seeking ended. +The property probe forwards to the original native getter/setter; it does not +intercept or replace source operations. Outcomes and full traces are stored in +[multiple-subtitles-switch-validation.json](../baselines/multiple-subtitles-switch-validation.json). + +The first WebKit run confirms5 misses in18 old-core source changes, including +both no-plugin old-core controls. All9 candidate-core changes land correctly. +Old core promises sometimes resolve while video.seeking is still true, allowing +the caller's new seek to overlap native restoration. After the restoration has +ended, a fresh seek reaches the cue interval and both old/new plugins display it. +Candidate source/switch.ts already waits for native seeking to finish and uses +the position restoration logic covered by BASE-LIFE-44/CORE-19. No plugin-level +seek retry, clock rewrite, blanket source reload or global core patch is needed. + +The actual-main three-engine trace run has no missed first seeks in81 changes, +but old WebKit hosts still settle during native seeking in6 of18 changes. This +variation is retained; it is an intermittent old-host race, not proof that the +initial misses were fixed by rerunning. All27 candidate-core changes in that run +have seeking=false at settlement and honor the first caller seek. + +## Test sequencing and validation + +The caption combination test now waits for video.seeking=false after switchUrl +before testing the separate user seek/caption behavior. The immediate old-call +path is retained in the independent ordering test above, including its misses. +This wait is a predicate on real native state, not a fixed delay or a silent +retry of the acceptance assertion. It does not claim old switchUrl promises have +been changed or all historical playback contracts are correct. + +One later full run exposed an unrelated fixture sequence: it started exiting +fullscreen when the document property changed but before the public enter event +arrived, resulting in old-core notifications[false,false]. The normal enter/exit +scenario now waits for the entering event before requesting exit; the original +strict final[true,false] assertion remains. The failed trace is retained. No +production fullscreen correction is claimed by this test-sequencing adjustment. + +- Initial source WebKit ordering probe:9 cases pass their observation/candidate + assertions, including the5 old first-seek misses noted above. +- Actual core and plugin main artifacts, three engines:84 cases,83 passing + assertions,1 fullscreen-sequencing failure. All27 ordering cases pass, and the + run also includes explicitly labelled historical overlap/offset defects. +- After the entering-event predicate correction, the affected timed-combination + matrix is rerun unchanged otherwise:9/9 pass across three cores and engines. + Do not describe this as a fresh84-case all-green run. +- The two changed browser scripts pass lint;50 CI regression tests pass. Final + plan/risk and risk-validator checks cover the completed task state. + +MULTI-SUB-SWITCH-01 is resolved as a classified old-core seeking issue already +handled in the candidate core, with the original calls and failures preserved. +This does not resolve MULTI-SUB-MERGE-01 or complete device/distribution acceptance. +Use the actual loaded core/plugin hashes when comparing future runs; the fixture +supports both source builds and the existing explicit artifact map. + +## Maintenance and rollback + +Keep source readiness, actual seek landing and caption rendering distinct when +debugging media failures. Run the ordering probe with/without the plugin before +adding plugin retries for an underlying player clock problem. Keep candidate +first-seek assertions strict; old observations must never count as correct calls. +Both suites run under yarn test:browser. A normal core/plugin build was not needed +because production bytes are unchanged; the checked artifacts came from the prior +completed implementation commits. Revert this independent task09 commit to remove +the new probe and integration predicates. Local commit only, no push/publication. diff --git a/refactor/plan.md b/refactor/plan.md index b3020b1ee..ee047e610 100644 --- a/refactor/plan.md +++ b/refactor/plan.md @@ -2,9 +2,9 @@ > 由 tasks.json 生成。请修改数据后运行 `node refactor/scripts/plan.mjs --write`,不要手改本表。 -基线:`40fcda6a37d0049d42e49c1e64e70d4fd9ba5f7f`。总任务 248 项,范围 22 个包及工作区/示例。 +基线:`40fcda6a37d0049d42e49c1e64e70d4fd9ba5f7f`。总任务 249 项,范围 22 个包及工作区/示例。 -状态:todo 55 / doing 17 / blocked 0 / done 176 / deferred 0。风险 L/M/H 表示兼容风险,不表示工期。 +状态:todo 55 / doing 17 / blocked 0 / done 177 / deferred 0。风险 L/M/H 表示兼容风险,不表示工期。 前置依赖是启动条件;验收是完成条件。任务可以继续拆分,但不能复用或悄悄删除旧 ID。 @@ -14,7 +14,7 @@ | 包 | 基线版本 | 任务 | | --- | --- | --- | -| artplayer | 5.4.1 | CORE-01, CORE-02, CORE-03, CORE-04, CORE-05, CORE-06, CORE-07, CORE-08, CORE-09, CORE-10, CORE-11, CORE-12, CORE-13, CORE-14, CORE-15, CORE-16, CORE-17, CORE-18, CORE-19, CORE-20, CORE-21, CORE-23, CORE-22, CORE-24, SITE-BUILD-01, CORE-25, ENG-12, CORE-SUBTITLE-OFFSET-01 | +| artplayer | 5.4.1 | CORE-01, CORE-02, CORE-03, CORE-04, CORE-05, CORE-06, CORE-07, CORE-08, CORE-09, CORE-10, CORE-11, CORE-12, CORE-13, CORE-14, CORE-15, CORE-16, CORE-17, CORE-18, CORE-19, CORE-20, CORE-21, CORE-23, CORE-22, CORE-24, SITE-BUILD-01, CORE-25, ENG-12, CORE-SUBTITLE-OFFSET-01, PKG-MULTI-SUB-09 | | artplayer-plugin-ads | 2.1.0 | PKG-ADS-01, PKG-ADS-02, PKG-ADS-03, PKG-ADS-04, PKG-ADS-05, PKG-ADS-06 | | artplayer-plugin-ambilight | 1.1.0 | PKG-AMBILIGHT-01, PKG-AMBILIGHT-02, PKG-AMBILIGHT-03, PKG-AMBILIGHT-04, PKG-AMBILIGHT-PROXY-01, PKG-AMBILIGHT-05, PKG-AMBILIGHT-06, PKG-FACTORY-01 | | artplayer-plugin-asr | 2.1.0 | PKG-ASR-01, PKG-ASR-02, PKG-ASR-03, PKG-ASR-04, PKG-ASR-05, PKG-ASR-06, PKG-ASR-07, PKG-ASR-08, PKG-ASR-09 | @@ -28,7 +28,7 @@ | artplayer-plugin-document-pip | 1.1.0 | PKG-DPIP-01, PKG-DPIP-02, PKG-DPIP-03, PKG-DPIP-04, PKG-DPIP-05, PKG-DPIP-06 | | artplayer-plugin-hls-control | 1.1.0 | PKG-HLS-01, PKG-HLS-02, PKG-HLS-03, PKG-HLS-04, PKG-HLS-SDK-01, PKG-HLS-05, PKG-HLS-06 | | artplayer-plugin-jassub | 1.1.0 | PKG-JASSUB-01, PKG-JASSUB-02, PKG-JASSUB-03, PKG-JASSUB-04, PKG-JASSUB-05, PKG-JASSUB-06, PKG-JASSUB-07, PKG-JASSUB-08, PKG-JASSUB-09 | -| artplayer-plugin-multiple-subtitles | 1.2.0 | PKG-MULTI-SUB-01, PKG-MULTI-SUB-02, PKG-MULTI-SUB-03, PKG-MULTI-SUB-04, PKG-MULTI-SUB-07, PKG-MULTI-SUB-08, PKG-MULTI-SUB-05, PKG-MULTI-SUB-06 | +| artplayer-plugin-multiple-subtitles | 1.2.0 | PKG-MULTI-SUB-01, PKG-MULTI-SUB-02, PKG-MULTI-SUB-03, PKG-MULTI-SUB-04, PKG-MULTI-SUB-07, PKG-MULTI-SUB-08, PKG-MULTI-SUB-05, PKG-MULTI-SUB-06, PKG-MULTI-SUB-09 | | artplayer-plugin-vast | 1.2.0 | PKG-VAST-01, PKG-VAST-02, PKG-VAST-03, PKG-VAST-04, PKG-VAST-05, PKG-VAST-06 | | artplayer-plugin-vtt-thumbnail | 1.1.0 | PKG-VTT-THUMB-01, PKG-VTT-THUMB-02, PKG-VTT-THUMB-03, PKG-VTT-THUMB-04, PKG-VTT-THUMB-05, PKG-VTT-THUMB-06 | | artplayer-proxy-canvas | 1.1.0 | PKG-AMBILIGHT-PROXY-01, PKG-CANVAS-01, PKG-CANVAS-02, PKG-CANVAS-03, PKG-CANVAS-04, PKG-CANVAS-05, PKG-CANVAS-06, PKG-FACTORY-01 | @@ -229,7 +229,8 @@ | PKG-MULTI-SUB-07 | artplayer-plugin-multiple-subtitles
修复字幕内嵌时间戳序列化 | PKG-MULTI-SUB-03 | 保留数字时间戳节点、修正无效 NaN 输出、明确旧/新字幕输出差异 | 旧九份实现可复现,候选有效内嵌时间戳及文字/CSS/原生字幕通过,公开工厂与选择接口不变 | H | done | | PKG-MULTI-SUB-08 | artplayer-plugin-multiple-subtitles
修复字幕实体解码与嵌套标签包装 | PKG-MULTI-SUB-04, PKG-MULTI-SUB-07 | 使用解析器既有实体表入口修复多余分号;保护字面文本并以兄弟节点包装标签,保留CSS钩子和时间戳 | 冻结旧实现复现、实体/双重编码/标签/选择重置回归、新旧核心真实字幕显示通过;vendor原文与来源校验不变,类型/分发兼容 | M | done | | PKG-MULTI-SUB-05 | artplayer-plugin-multiple-subtitles
验证新旧核心和组合 | PKG-MULTI-SUB-04, CORE-22, PKG-MULTI-SUB-07, PKG-MULTI-SUB-08 | 与核心字幕/偏移/全屏组合,旧名称调用不变 | 最终核心与原支持范围核心分别通过;设备/SDK 缺证据不能标完成 | H | doing | -| PKG-MULTI-SUB-06 | artplayer-plugin-multiple-subtitles
验证分发并同步文档 | PKG-MULTI-SUB-05, ENG-07, CORE-SUBTITLE-OFFSET-01 | multiple.subtitles.js、parser 来源许可及打包边界 | tarball 入口/资源、类型、8082 demo 和 README 一致,有回退记录 | H | todo | +| PKG-MULTI-SUB-06 | artplayer-plugin-multiple-subtitles
验证分发并同步文档 | PKG-MULTI-SUB-05, ENG-07, CORE-SUBTITLE-OFFSET-01, PKG-MULTI-SUB-09 | multiple.subtitles.js、parser 来源许可及打包边界 | tarball 入口/资源、类型、8082 demo 和 README 一致,有回退记录 | H | todo | +| PKG-MULTI-SUB-09 | artplayer-plugin-multiple-subtitles, artplayer
定位旧核心切源寻址与字幕显示边界 | PKG-MULTI-SUB-08, CORE-19 | 无插件及旧新插件对照、真实事件轨迹、原切源失败归因和组合测试顺序 | 保留旧核心立即寻址观察,候选首次寻址与正常字幕组合通过;不把原生时钟失败误归为字幕丢失 | M | done | ## 5 包迁移:artplayer-plugin-jassub @@ -647,3 +648,4 @@ - PKG-AUTO-THUMB-10: [记录](changes/2026-09-14-PKG-AUTO-THUMB-10-encoding.md) [记录](baselines/auto-thumbnail-encoding-validation.json) - ENG-LINT-01: [记录](changes/2026-09-14-ENG-LINT-01-manifest-order.md) [记录](baselines/manifest-lint-validation.json) - CORE-SUBTITLE-OFFSET-01: [记录](changes/2026-09-14-CORE-SUBTITLE-OFFSET-01-paused.md) [记录](baselines/subtitle-offset-validation.json) +- PKG-MULTI-SUB-09: [记录](changes/2026-09-14-PKG-MULTI-SUB-09-switch-order.md) [记录](baselines/multiple-subtitles-switch-validation.json) diff --git a/refactor/progress.md b/refactor/progress.md index c2684d715..20fa0625b 100644 --- a/refactor/progress.md +++ b/refactor/progress.md @@ -1,5 +1,20 @@ # 进度与证据 +## PKG-MULTI-SUB-09 切源显示问题归因完成 + +失败时字幕cue仍在1至3秒,媒体却停在约0.002秒;新增无插件/候选插件/旧1.2.0 +对照并记录原生currentTime写入、事件和Promise状态。首轮WebKit27次切源中旧 +核心18次有5次立即seek未到达,两个无插件旧核心组也复现;候选9次全部到达。 +正式main三引擎81次切源无失位,但旧WebKit仍有6次在seeking中结算;候选27次 +均在原生定位结束后结算并兑现首个seek。确认是已有旧核心寻址问题,候选CORE-19 +路径已处理,无需在多字幕插件追加重试或改时钟。原失败及立即调用路径完整留证。 +84项正式产物矩阵83断言通过,1项测试未等待全屏进入通知即退出而失败;保留 +严格true/false顺序断言,补事件谓词后受影响9项三引擎全通过,不声称重跑84项。 +脚本lint与CI50项通过。见[归因记录](changes/2026-09-14-PKG-MULTI-SUB-09-switch-order.md) +和[证据](baselines/multiple-subtitles-switch-validation.json)。关闭误归因的SWITCH风险, +无生产、声明、依赖、版本或构建产物修改;249项为177 done、17 doing、55 todo。 +任务05仍未完成,下一步处理旧5.1核心的双语渲染适配,再补剩余组合与分发验收。 + ## CORE-SUBTITLE-OFFSET-01 暂停字幕偏移修复完成 原生video/track探针确认Firefox155暂停时cue时间更新后活动标记陈旧;候选核心 diff --git a/refactor/risk-table.md b/refactor/risk-table.md index 47f2ce181..ca8aacb1e 100644 --- a/refactor/risk-table.md +++ b/refactor/risk-table.md @@ -266,4 +266,4 @@ | AUTO-THUMB-ENCODE-TIMEOUT-01 | resolved / 源码/产物事实 | Pending JPEG encoding has no bounded lifetime after frame readiness finishes | PKG-AUTO-THUMB-10 | | MULTI-SUB-MARKUP-01 | resolved / 已复现 | Semantic cue nodes receive HTML wrappers inside their annotation fields | PKG-MULTI-SUB-08 | | MULTI-SUB-OFFSET-01 | resolved / 已复现 | Paused Firefox subtitle offset leaves out-of-time native cues active and captions visible | PKG-MULTI-SUB-05, CORE-SUBTITLE-OFFSET-01 | -| MULTI-SUB-SWITCH-01 | open / 待取证 | Intermittent WebKit core5.3.0 caption loss after selected-track source switch | PKG-MULTI-SUB-05 | +| MULTI-SUB-SWITCH-01 | resolved / 已复现 | Intermittent WebKit core5.3.0 caption loss after selected-track source switch | PKG-MULTI-SUB-05, PKG-MULTI-SUB-09 | diff --git a/refactor/risks.json b/refactor/risks.json index 27b745d8d..9ca5a1a5d 100644 --- a/refactor/risks.json +++ b/refactor/risks.json @@ -6028,21 +6028,30 @@ { "id": "MULTI-SUB-SWITCH-01", "title": "Intermittent WebKit core5.3.0 caption loss after selected-track source switch", - "confirmation": "unverified", - "workspaceState": "One Windows WebKit26.6 run lost Translation after switchUrl and seek1.5; diagnostic rerun passed without a production change. Root cause and reproducibility are unresolved; do not mark accepted or fixed. Expanded153 offset/lifecycle run again lost the selected caption after source switch on published5.3.0 and5.4.0 in WebKit, while candidate core passed. Root cause remains unclassified; the offset fix does not close this issue.", - "compatibleResolution": "Inspect native track loading and source-switch ordering with deterministic state evidence; distinguish historical host failure from fixture ordering and candidate regression.", + "confirmation": "reproduced", + "workspaceState": "Original failing snapshots kept the1..3 cue intact but video time was near0.002. Independent no-plugin and published1.2/current-plugin WebKit traces reproduce5 old-core first-seek misses, with promises sometimes settled during native seeking. Candidate already waits and honors every first seek. Actual main three-engine probes and corrected normal caption sequencing pass; old race observations remain explicit.", + "compatibleResolution": "Classify the old-host source/native-seek race separately from caption rendering; preserve immediate-call probes, require candidate first seeks, and wait for real native source completion before independent caption-seek assertions.", "closureCriteria": "Root cause classified with targeted evidence, any required fix validated, and changed candidate/old-core combination rerun without hiding the original failure.", - "status": "open", + "status": "resolved", "owners": [ - "PKG-MULTI-SUB-05" + "PKG-MULTI-SUB-05", + "PKG-MULTI-SUB-09" ], "evidence": [ "refactor/changes/2026-09-14-PKG-MULTI-SUB-05-combinations.md", "refactor/baselines/multiple-subtitles-combinations-validation.json", "test/browser/multiple-subtitles-combinations.spec.js", "refactor/changes/2026-09-14-CORE-SUBTITLE-OFFSET-01-paused.md", - "refactor/baselines/subtitle-offset-validation.json" - ] + "refactor/baselines/subtitle-offset-validation.json", + "refactor/changes/2026-09-14-PKG-MULTI-SUB-09-switch-order.md", + "refactor/baselines/multiple-subtitles-switch-validation.json", + "test/browser/multiple-subtitles-switch.spec.js" + ], + "resolutionEvidence": [ + "refactor/changes/2026-09-14-PKG-MULTI-SUB-09-switch-order.md", + "refactor/baselines/multiple-subtitles-switch-validation.json" + ], + "resolutionRationale": "No-plugin controls reproduce the same miss and a settled seek restores correct old/new captions without changing plugin data. Candidate source code already provides the necessary readiness guard (BASE-LIFE-44/CORE-19 context). This resolves the suspected plugin-switch defect; it does not approve every historical source call or complete package task05." } ] } diff --git a/refactor/tasks.json b/refactor/tasks.json index e47f80d4a..bdd28cddb 100644 --- a/refactor/tasks.json +++ b/refactor/tasks.json @@ -2430,7 +2430,8 @@ "dependsOn": [ "PKG-MULTI-SUB-05", "ENG-07", - "CORE-SUBTITLE-OFFSET-01" + "CORE-SUBTITLE-OFFSET-01", + "PKG-MULTI-SUB-09" ], "status": "todo", "risk": "H", @@ -5157,6 +5158,27 @@ "changes/2026-09-14-CORE-SUBTITLE-OFFSET-01-paused.md", "baselines/subtitle-offset-validation.json" ] + }, + { + "id": "PKG-MULTI-SUB-09", + "phase": "5 包迁移:artplayer-plugin-multiple-subtitles", + "title": "定位旧核心切源寻址与字幕显示边界", + "scope": [ + "artplayer-plugin-multiple-subtitles", + "artplayer" + ], + "dependsOn": [ + "PKG-MULTI-SUB-08", + "CORE-19" + ], + "status": "done", + "risk": "M", + "deliverable": "无插件及旧新插件对照、真实事件轨迹、原切源失败归因和组合测试顺序", + "acceptance": "保留旧核心立即寻址观察,候选首次寻址与正常字幕组合通过;不把原生时钟失败误归为字幕丢失", + "evidence": [ + "changes/2026-09-14-PKG-MULTI-SUB-09-switch-order.md", + "baselines/multiple-subtitles-switch-validation.json" + ] } ] } diff --git a/test/README.md b/test/README.md index 3f4471748..456cba308 100644 --- a/test/README.md +++ b/test/README.md @@ -221,7 +221,8 @@ Explicit single-active-cue probes record historical and candidate overlap defect their passing assertions do not mean simultaneous captions are compatible. Candidate paused Firefox offsets are corrected by CORE-SUBTITLE-OFFSET-01. Old Firefox hosts retain explicit defect observations; their behavior is not silently -counted as correct. WebKit source-switch failures remain under investigation. +counted as correct. Task09 classified the apparent WebKit source-switch caption +loss as an old-host seek landing near zero, reproducible without any plugin. See `refactor/changes/2026-09-14-PKG-MULTI-SUB-05-combinations.md` before changing expectations. Reports include native active cues and rendered text. The new frozen 5.1.2 core route verifies archive integrity and member hashes before serving. @@ -235,3 +236,11 @@ without creating an Artplayer instance to compare native timing edits, cue reinsertion and mode toggling. It records actual time within the required interval, not a fabricated millisecond-exact seek landing. These diagnostic observations do not claim every native engine strategy is correct. + +`multiple-subtitles-switch.spec.js` records source Promise settlement, native +currentTime writes/events and actual seek landing with no plugin, candidate and +published1.2.0. Old first-seek misses are retained as observations; every candidate +first seek must land. The caption combination fixture separately waits for native +source seeking to finish and for fullscreen-enter notification before testing +subsequent commands. It retains exact caption and enter/exit order assertions; +do not add delays or plugin retries to cover old core readiness behavior. diff --git a/test/browser/multiple-subtitles-combinations.spec.js b/test/browser/multiple-subtitles-combinations.spec.js index 8b5dc8c0a..93bbd3f99 100644 --- a/test/browser/multiple-subtitles-combinations.spec.js +++ b/test/browser/multiple-subtitles-combinations.spec.js @@ -84,6 +84,7 @@ for (const core of cores.filter(core => !['published-5.1.2', 'published-5.1.7']. }) await page.locator('#play').click() await expect.poll(() => page.evaluate(() => (document.fullscreenElement || document.webkitFullscreenElement) === window.art.template.$player)).toBe(true) + await expect.poll(() => page.evaluate(() => window.fullscreenEvents)).toEqual([true]) await expect(page.locator('.art-subtitle-a')).toBeVisible() expect(await page.evaluate(() => (document.fullscreenElement || document.webkitFullscreenElement).contains(window.art.template.$subtitle))).toBe(true) await page.evaluate(() => { @@ -94,6 +95,9 @@ for (const core of cores.filter(core => !['published-5.1.2', 'published-5.1.7']. await expect(page.locator('.art-subtitle-a')).toHaveCount(0) await expect(page.locator('.art-subtitle-b')).toHaveText('Translation') await page.evaluate(() => window.art.switchUrl('/test/pattern.mp4?subtitles-combination')) + // Old core promises can settle during their native restoration seek. + // The immediate-seek path is retained separately in multiple-subtitles-switch.spec.js. + await expect.poll(() => page.evaluate(() => window.art.video.seeking)).toBe(false) await seek(page, 1.5) await expect(page.locator('.art-subtitle-b')).toHaveText('Translation') await page.evaluate(() => window.art.plugins.multipleSubtitles.reset()) diff --git a/test/browser/multiple-subtitles-switch.spec.js b/test/browser/multiple-subtitles-switch.spec.js new file mode 100644 index 000000000..73c21415a --- /dev/null +++ b/test/browser/multiple-subtitles-switch.spec.js @@ -0,0 +1,84 @@ +import { hash } from '../../refactor/scripts/releases.mjs' +import { multipleSubtitlesCandidate, multipleSubtitlesHistorical } from '../helpers/multiple-subtitles.js' +import { expect, test } from './fixtures.js' + +const candidate = await multipleSubtitlesCandidate() +const published = (await multipleSubtitlesHistorical()).find(item => item.name === 'published-1.2.0-main') +const variants = [null, candidate, published] + +for (const core of ['published-5.3.0', 'published', 'candidate']) { + for (const implementation of variants) { + test(`Source seek ordering / ${core} / ${implementation?.name || 'no-plugin'}`, async ({ page, browser }, testInfo) => { + await page.route('**/test/switch-caption.vtt', route => route.fulfill({ contentType: 'text/vtt', body: 'WEBVTT\n\n00:01.000 --> 00:03.000\nCaption\n' })) + await page.goto(`/test/player.html?core=${core}`) + if (implementation) + await page.addScriptTag({ content: `(() => { const module = { exports: {} }; const exports = module.exports; ${implementation.code}; window.multipleFactory = module.exports.default || module.exports; })();` }) + await page.evaluate(() => { + window.createPlayer('/test/pattern.mp4') + const video = window.art.video + window.switchTrace = [] + window.switchState = () => ({ time: video.currentTime, seeking: video.seeking, duration: video.duration, readyState: video.readyState, paused: video.paused, source: video.currentSrc, active: Array.from(window.art.template.$track.track.activeCues || [], cue => cue.text), displayed: window.art.template.$subtitle.textContent }) + const record = (event, value) => window.switchTrace.push({ event, value, ...window.switchState() }) + const descriptor = Object.getOwnPropertyDescriptor(HTMLMediaElement.prototype, 'currentTime') + Object.defineProperty(video, 'currentTime', { + configurable: true, + get() { return descriptor.get.call(this) }, + set(value) { + record('write-currentTime', value) + descriptor.set.call(this, value) + }, + }) + for (const event of ['loadedmetadata', 'loadeddata', 'canplay', 'seeking', 'seeked', 'emptied', 'pause']) + video.addEventListener(event, () => record(event)) + }) + await expect.poll(() => page.evaluate(() => window.art.isReady)).toBe(true) + if (implementation) { + await page.evaluate(async () => { + await window.art.plugins.add(window.multipleFactory({ subtitles: [{ name: 'caption', url: '/test/switch-caption.vtt' }] })) + }) + await expect.poll(() => page.evaluate(() => window.art.template.$track.track.cues?.length)).toBe(1) + } + await page.locator('#play').click() + await expect.poll(() => page.evaluate(() => window.art.currentTime)).toBeGreaterThan(0.1) + await page.locator('#pause').click() + await page.evaluate(() => { + document.querySelector('#play').onclick = () => { + window.art.fullscreen = true + } + }) + await page.locator('#play').click() + await expect.poll(() => page.evaluate(() => Boolean(document.fullscreenElement || document.webkitFullscreenElement))).toBe(true) + await page.evaluate(() => { + window.art.fullscreen = false + }) + await expect.poll(() => page.evaluate(() => Boolean(document.fullscreenElement || document.webkitFullscreenElement))).toBe(false) + const outcomes = [] + for (let round = 0; round < 3; round++) { + await page.evaluate(round => window.art.switchUrl(`/test/pattern.mp4?seek-order=${round}`), round) + const settled = await page.evaluate(() => window.switchState()) + await page.evaluate(() => new Promise((resolve) => { + window.art.once('video:seeked', resolve) + window.art.seek = 1.5 + })) + await expect.poll(() => page.evaluate(() => window.art.video.seeking)).toBe(false) + const firstSeek = await page.evaluate(() => window.switchState()) + const landed = Math.abs(firstSeek.time - 1.5) < 0.05 + if (!landed) { + await page.evaluate(() => new Promise((resolve) => { + window.art.once('video:seeked', resolve) + window.art.seek = 1.5 + })) + await expect.poll(() => page.evaluate(() => window.art.video.seeking)).toBe(false) + } + await expect.poll(() => page.evaluate(() => Math.abs(window.art.currentTime - 1.5))).toBeLessThan(0.05) + if (implementation) + await expect(page.locator('.art-subtitle-caption')).toHaveText('Caption') + outcomes.push({ round, settled, firstSeek, landed, afterSettledSeek: await page.evaluate(() => window.switchState()) }) + } + await testInfo.attach('source-seek-order', { contentType: 'application/json', body: JSON.stringify({ core, plugin: implementation?.name || 'none', pluginSha256: implementation ? hash(implementation.code) : null, browser: browser.version(), outcomes, trace: await page.evaluate(() => window.switchTrace), scope: 'Three real source changes with immediate versus settled seek; old misses are recorded, candidate must honor every first seek' }) }) + if (core === 'candidate') + expect(outcomes.every(item => item.landed)).toBe(true) + await page.evaluate(() => window.art.destroy()) + }) + } +}