Files
ArtPlayer/refactor/baselines/auto-thumbnail-handler-validation.json

2701 lines
82 KiB
JSON

{
"task": "PKG-AUTO-THUMB-11",
"date": "2026-09-14",
"baselineCommit": "a8d19ce5ef8af8fe4c48424753742e8d78a77962",
"node": "24.21.0",
"yarn": "1.22.22",
"scope": "Independent cleanup under deliberately throwing event-property setters; native normal-lifecycle regression is separate from controlled faults and first-frame acceptance.",
"before": {
"artifact": {
"path": "refactor/.cache/auto-handler-before.js",
"sha256": "a9a1704f39ebd2ef6612cc146acf4ebd0d8eeb73764cb852320a85d31438ab01"
},
"log": {
"path": "refactor/.cache/auto-handler-red-final.log",
"sha256": "e723e6966a08fb9b7e94becded05574f55ebd1315f817794db087b551db0aded"
},
"exitCode": 1,
"pass": 19,
"fail": 8
},
"tests": [
{
"log": {
"path": "refactor/.cache/auto-handler-green.log",
"sha256": "3036e82c097b5aed9afe4f595af22412d51b9301cb7fe15a19049ee0a553bfb8"
},
"exitCode": 0,
"pass": 27,
"fail": 0
},
{
"log": {
"path": "refactor/.cache/auto-handler-suite.log",
"sha256": "e0a8c5bc18a0364c3d7a2920f38333fd4f215a73b6993129ed9632746df5cec7"
},
"exitCode": 0,
"pass": 182,
"fail": 0
},
{
"log": {
"path": "refactor/.cache/auto-handler-js.log",
"sha256": "89d0e6ca56bdf6a072ffdf6164ccf22c9861239cd2dc8adb06a20a6f1e4096d4"
},
"exitCode": 0,
"pass": 27,
"fail": 0
},
{
"log": {
"path": "refactor/.cache/auto-handler-legacy.js.log",
"sha256": "3d4ef5df38bf89dc5f9d6f5c3887c7242f3201a2fb3b38f3fbaed8b706255290"
},
"exitCode": 0,
"pass": 27,
"fail": 0
}
],
"files": [
{
"path": "packages/artplayer-plugin-auto-thumbnail/src/frames.ts",
"sha256": "b3e6a286cee6b365bf0a70abd2ce48f766d6e591f82fba24573ee3fcefe68021"
},
{
"path": "test/auto-thumbnail-frames.test.js",
"sha256": "a7a987e37232a5dac8316a5ffdfc9f73ca6c8efd13a5b3b3f9099b4d43ea7eb8"
},
{
"path": "packages/artplayer-plugin-auto-thumbnail/dist/artplayer-plugin-auto-thumbnail.js",
"sha256": "4c8bdd75f49ad0514167e1b67c6941236c27837d09dd1d5d69d0345d69fa0357"
},
{
"path": "docs/compiled/artplayer-plugin-auto-thumbnail.js",
"sha256": "4c8bdd75f49ad0514167e1b67c6941236c27837d09dd1d5d69d0345d69fa0357"
},
{
"path": "packages/artplayer-plugin-auto-thumbnail/dist/artplayer-plugin-auto-thumbnail.legacy.js",
"sha256": "389239c482d89639c70c796f2220a552ed8b1a87062fc5950cb03dc14c2b525c"
},
{
"path": "docs/compiled/artplayer-plugin-auto-thumbnail.legacy.js",
"sha256": "389239c482d89639c70c796f2220a552ed8b1a87062fc5950cb03dc14c2b525c"
},
{
"path": "packages/artplayer-plugin-auto-thumbnail/dist/artplayer-plugin-auto-thumbnail.mjs",
"sha256": "7c4ea237f03eaae0cbc06b27782ba03ee8e3639ec78f0de03c11841467f22a17"
},
{
"path": "docs/compiled/artplayer-plugin-auto-thumbnail.mjs",
"sha256": "7c4ea237f03eaae0cbc06b27782ba03ee8e3639ec78f0de03c11841467f22a17"
}
],
"browser": {
"main": {
"report": {
"path": "refactor/.cache/auto-handler-main-browser/report.json",
"sha256": "8708e65a0215d9264cfd1e54dfbb8fa8462af0dd57da4d3c39c007a12b233649"
},
"stats": {
"startTime": "2026-09-14T06:19:24.911Z",
"duration": 13697.495,
"expected": 21,
"skipped": 0,
"unexpected": 0,
"flaky": 0
},
"cases": [
{
"title": "Auto-thumbnail candidate native destroy owns decoder and encoded URLs",
"project": "chromium",
"status": "passed",
"retry": 0,
"browser": "153.0.8010.12",
"platform": "win32",
"native": {
"scenario": "destroy",
"useDefault": false,
"sha256": "4c8bdd75f49ad0514167e1b67c6941236c27837d09dd1d5d69d0345d69fa0357",
"scope": "Actual HTTP decoding/seek/JPEG and held native presentation callback lifecycle with a stub player host. Frame scenarios use a held Blob fallback only when native frame callbacks are absent. Pixel acceptance is separate; AUTO-THUMB-PIXEL-01 remains open.",
"before": {
"urls": 0,
"updates": 0
},
"after": {
"urls": 0,
"updates": 0
},
"video": {
"connected": false,
"src": null,
"readyState": 0,
"paused": true,
"handlers": [
true,
true,
true,
true
]
},
"canvasDimensions": [
[
0,
0
]
],
"publishedImage": null,
"final": {
"urls": 0,
"listeners": 0,
"updates": 0
},
"blobs": [
{
"type": "image/jpeg",
"bytes": 2635
}
],
"pendingDeadlines": 0,
"warnings": [],
"heldFrames": 0,
"frameSupport": true,
"result": {
"name": "artplayerPluginAutoThumbnail"
}
}
},
{
"title": "Auto-thumbnail candidate native restart owns decoder and encoded URLs",
"project": "chromium",
"status": "passed",
"retry": 0,
"browser": "153.0.8010.12",
"platform": "win32",
"native": {
"scenario": "restart",
"useDefault": false,
"sha256": "4c8bdd75f49ad0514167e1b67c6941236c27837d09dd1d5d69d0345d69fa0357",
"scope": "Actual HTTP decoding/seek/JPEG and held native presentation callback lifecycle with a stub player host. Frame scenarios use a held Blob fallback only when native frame callbacks are absent. Pixel acceptance is separate; AUTO-THUMB-PIXEL-01 remains open.",
"before": {
"urls": 0,
"updates": 0
},
"after": {
"urls": 0,
"updates": 0
},
"video": {
"connected": false,
"src": null,
"readyState": 0,
"paused": true,
"handlers": [
true,
true,
true,
true
]
},
"canvasDimensions": [
[
0,
0
]
],
"publishedImage": null,
"final": {
"urls": 0,
"listeners": 0,
"updates": 0
},
"blobs": [
{
"type": "image/jpeg",
"bytes": 2635
}
],
"pendingDeadlines": 0,
"warnings": [],
"heldFrames": 0,
"frameSupport": true,
"result": {
"name": "artplayerPluginAutoThumbnail"
}
}
},
{
"title": "Auto-thumbnail candidate native complete owns decoder and encoded URLs",
"project": "chromium",
"status": "passed",
"retry": 0,
"browser": "153.0.8010.12",
"platform": "win32",
"native": {
"scenario": "complete",
"useDefault": false,
"sha256": "4c8bdd75f49ad0514167e1b67c6941236c27837d09dd1d5d69d0345d69fa0357",
"scope": "Actual HTTP decoding/seek/JPEG and held native presentation callback lifecycle with a stub player host. Frame scenarios use a held Blob fallback only when native frame callbacks are absent. Pixel acceptance is separate; AUTO-THUMB-PIXEL-01 remains open.",
"before": {
"urls": 1,
"updates": 2
},
"after": {
"urls": 1,
"updates": 2
},
"video": {
"connected": false,
"src": null,
"readyState": 0,
"paused": true,
"handlers": [
true,
true,
true,
true
]
},
"canvasDimensions": [
[
0,
0
]
],
"publishedImage": {
"width": 800,
"height": 45
},
"final": {
"urls": 0,
"listeners": 0,
"updates": 2
},
"blobs": [
{
"type": "image/jpeg",
"bytes": 2635
},
{
"type": "image/jpeg",
"bytes": 4226
}
],
"pendingDeadlines": 0,
"warnings": [],
"heldFrames": 0,
"frameSupport": true,
"result": {
"name": "artplayerPluginAutoThumbnail"
}
}
},
{
"title": "Auto-thumbnail candidate native frame-destroy owns decoder and encoded URLs",
"project": "chromium",
"status": "passed",
"retry": 0,
"browser": "153.0.8010.12",
"platform": "win32",
"native": {
"scenario": "frame-destroy",
"useDefault": false,
"sha256": "4c8bdd75f49ad0514167e1b67c6941236c27837d09dd1d5d69d0345d69fa0357",
"scope": "Actual HTTP decoding/seek/JPEG and held native presentation callback lifecycle with a stub player host. Frame scenarios use a held Blob fallback only when native frame callbacks are absent. Pixel acceptance is separate; AUTO-THUMB-PIXEL-01 remains open.",
"before": {
"urls": 0,
"updates": 0
},
"after": {
"urls": 0,
"updates": 0
},
"video": {
"connected": false,
"src": null,
"readyState": 0,
"paused": true,
"handlers": [
true,
true,
true,
true
]
},
"canvasDimensions": [
[
0,
0
]
],
"publishedImage": null,
"final": {
"urls": 0,
"listeners": 0,
"updates": 0
},
"blobs": [],
"pendingDeadlines": 0,
"warnings": [],
"heldFrames": 1,
"frameSupport": true,
"result": {
"name": "artplayerPluginAutoThumbnail"
}
}
},
{
"title": "Auto-thumbnail candidate native frame-restart owns decoder and encoded URLs",
"project": "chromium",
"status": "passed",
"retry": 0,
"browser": "153.0.8010.12",
"platform": "win32",
"native": {
"scenario": "frame-restart",
"useDefault": false,
"sha256": "4c8bdd75f49ad0514167e1b67c6941236c27837d09dd1d5d69d0345d69fa0357",
"scope": "Actual HTTP decoding/seek/JPEG and held native presentation callback lifecycle with a stub player host. Frame scenarios use a held Blob fallback only when native frame callbacks are absent. Pixel acceptance is separate; AUTO-THUMB-PIXEL-01 remains open.",
"before": {
"urls": 0,
"updates": 0
},
"after": {
"urls": 0,
"updates": 0
},
"video": {
"connected": false,
"src": null,
"readyState": 0,
"paused": true,
"handlers": [
true,
true,
true,
true
]
},
"canvasDimensions": [
[
0,
0
]
],
"publishedImage": null,
"final": {
"urls": 0,
"listeners": 0,
"updates": 0
},
"blobs": [],
"pendingDeadlines": 0,
"warnings": [],
"heldFrames": 1,
"frameSupport": true,
"result": {
"name": "artplayerPluginAutoThumbnail"
}
}
},
{
"title": "Auto-thumbnail candidate native alias-complete owns decoder and encoded URLs",
"project": "chromium",
"status": "passed",
"retry": 0,
"browser": "153.0.8010.12",
"platform": "win32",
"native": {
"scenario": "complete",
"useDefault": true,
"sha256": "4c8bdd75f49ad0514167e1b67c6941236c27837d09dd1d5d69d0345d69fa0357",
"scope": "Actual HTTP decoding/seek/JPEG and held native presentation callback lifecycle with a stub player host. Frame scenarios use a held Blob fallback only when native frame callbacks are absent. Pixel acceptance is separate; AUTO-THUMB-PIXEL-01 remains open.",
"before": {
"urls": 1,
"updates": 2
},
"after": {
"urls": 1,
"updates": 2
},
"video": {
"connected": false,
"src": null,
"readyState": 0,
"paused": true,
"handlers": [
true,
true,
true,
true
]
},
"canvasDimensions": [
[
0,
0
]
],
"publishedImage": {
"width": 800,
"height": 45
},
"final": {
"urls": 0,
"listeners": 0,
"updates": 2
},
"blobs": [
{
"type": "image/jpeg",
"bytes": 2635
},
{
"type": "image/jpeg",
"bytes": 4226
}
],
"pendingDeadlines": 0,
"warnings": [],
"heldFrames": 0,
"frameSupport": true,
"result": {
"name": "artplayerPluginAutoThumbnail"
}
}
},
{
"title": "Auto-thumbnail candidate native encoding-timeout owns decoder and encoded URLs",
"project": "chromium",
"status": "passed",
"retry": 0,
"browser": "153.0.8010.12",
"platform": "win32",
"native": {
"scenario": "encoding-timeout",
"useDefault": false,
"sha256": "4c8bdd75f49ad0514167e1b67c6941236c27837d09dd1d5d69d0345d69fa0357",
"scope": "Actual HTTP decoding/seek/JPEG and held native presentation callback lifecycle with a stub player host. Frame scenarios use a held Blob fallback only when native frame callbacks are absent. Pixel acceptance is separate; AUTO-THUMB-PIXEL-01 remains open.",
"before": {
"urls": 0,
"updates": 0
},
"after": {
"urls": 0,
"updates": 0
},
"video": {
"connected": false,
"src": null,
"readyState": 0,
"paused": true,
"handlers": [
true,
true,
true,
true
]
},
"canvasDimensions": [
[
0,
0
]
],
"publishedImage": null,
"final": {
"urls": 0,
"listeners": 0,
"updates": 0
},
"blobs": [
{
"type": "image/jpeg",
"bytes": 2635
}
],
"pendingDeadlines": 0,
"warnings": [
[
"ArtPlayer auto-thumbnail failed:",
"Error: Auto-thumbnail encoding timed out"
]
],
"heldFrames": 0,
"frameSupport": true,
"result": {
"name": "artplayerPluginAutoThumbnail"
}
}
},
{
"title": "Auto-thumbnail candidate native destroy owns decoder and encoded URLs",
"project": "firefox",
"status": "passed",
"retry": 0,
"browser": "155.0",
"platform": "win32",
"native": {
"scenario": "destroy",
"useDefault": false,
"sha256": "4c8bdd75f49ad0514167e1b67c6941236c27837d09dd1d5d69d0345d69fa0357",
"scope": "Actual HTTP decoding/seek/JPEG and held native presentation callback lifecycle with a stub player host. Frame scenarios use a held Blob fallback only when native frame callbacks are absent. Pixel acceptance is separate; AUTO-THUMB-PIXEL-01 remains open.",
"before": {
"urls": 0,
"updates": 0
},
"after": {
"urls": 0,
"updates": 0
},
"video": {
"connected": false,
"src": null,
"readyState": 0,
"paused": true,
"handlers": [
true,
true,
true,
true
]
},
"canvasDimensions": [
[
0,
0
]
],
"publishedImage": null,
"final": {
"urls": 0,
"listeners": 0,
"updates": 0
},
"blobs": [
{
"type": "image/jpeg",
"bytes": 4076
}
],
"pendingDeadlines": 0,
"warnings": [],
"heldFrames": 0,
"frameSupport": true,
"result": {
"name": "artplayerPluginAutoThumbnail"
}
}
},
{
"title": "Auto-thumbnail candidate native restart owns decoder and encoded URLs",
"project": "firefox",
"status": "passed",
"retry": 0,
"browser": "155.0",
"platform": "win32",
"native": {
"scenario": "restart",
"useDefault": false,
"sha256": "4c8bdd75f49ad0514167e1b67c6941236c27837d09dd1d5d69d0345d69fa0357",
"scope": "Actual HTTP decoding/seek/JPEG and held native presentation callback lifecycle with a stub player host. Frame scenarios use a held Blob fallback only when native frame callbacks are absent. Pixel acceptance is separate; AUTO-THUMB-PIXEL-01 remains open.",
"before": {
"urls": 0,
"updates": 0
},
"after": {
"urls": 0,
"updates": 0
},
"video": {
"connected": false,
"src": null,
"readyState": 0,
"paused": true,
"handlers": [
true,
true,
true,
true
]
},
"canvasDimensions": [
[
0,
0
]
],
"publishedImage": null,
"final": {
"urls": 0,
"listeners": 0,
"updates": 0
},
"blobs": [
{
"type": "image/jpeg",
"bytes": 4076
}
],
"pendingDeadlines": 0,
"warnings": [],
"heldFrames": 0,
"frameSupport": true,
"result": {
"name": "artplayerPluginAutoThumbnail"
}
}
},
{
"title": "Auto-thumbnail candidate native complete owns decoder and encoded URLs",
"project": "firefox",
"status": "passed",
"retry": 0,
"browser": "155.0",
"platform": "win32",
"native": {
"scenario": "complete",
"useDefault": false,
"sha256": "4c8bdd75f49ad0514167e1b67c6941236c27837d09dd1d5d69d0345d69fa0357",
"scope": "Actual HTTP decoding/seek/JPEG and held native presentation callback lifecycle with a stub player host. Frame scenarios use a held Blob fallback only when native frame callbacks are absent. Pixel acceptance is separate; AUTO-THUMB-PIXEL-01 remains open.",
"before": {
"urls": 1,
"updates": 2
},
"after": {
"urls": 1,
"updates": 2
},
"video": {
"connected": false,
"src": null,
"readyState": 0,
"paused": true,
"handlers": [
true,
true,
true,
true
]
},
"canvasDimensions": [
[
0,
0
]
],
"publishedImage": {
"width": 800,
"height": 45
},
"final": {
"urls": 0,
"listeners": 0,
"updates": 2
},
"blobs": [
{
"type": "image/jpeg",
"bytes": 4076
},
{
"type": "image/jpeg",
"bytes": 6752
}
],
"pendingDeadlines": 0,
"warnings": [],
"heldFrames": 0,
"frameSupport": true,
"result": {
"name": "artplayerPluginAutoThumbnail"
}
}
},
{
"title": "Auto-thumbnail candidate native frame-destroy owns decoder and encoded URLs",
"project": "firefox",
"status": "passed",
"retry": 0,
"browser": "155.0",
"platform": "win32",
"native": {
"scenario": "frame-destroy",
"useDefault": false,
"sha256": "4c8bdd75f49ad0514167e1b67c6941236c27837d09dd1d5d69d0345d69fa0357",
"scope": "Actual HTTP decoding/seek/JPEG and held native presentation callback lifecycle with a stub player host. Frame scenarios use a held Blob fallback only when native frame callbacks are absent. Pixel acceptance is separate; AUTO-THUMB-PIXEL-01 remains open.",
"before": {
"urls": 0,
"updates": 0
},
"after": {
"urls": 0,
"updates": 0
},
"video": {
"connected": false,
"src": null,
"readyState": 0,
"paused": true,
"handlers": [
true,
true,
true,
true
]
},
"canvasDimensions": [
[
0,
0
]
],
"publishedImage": null,
"final": {
"urls": 0,
"listeners": 0,
"updates": 0
},
"blobs": [],
"pendingDeadlines": 0,
"warnings": [],
"heldFrames": 1,
"frameSupport": true,
"result": {
"name": "artplayerPluginAutoThumbnail"
}
}
},
{
"title": "Auto-thumbnail candidate native frame-restart owns decoder and encoded URLs",
"project": "firefox",
"status": "passed",
"retry": 0,
"browser": "155.0",
"platform": "win32",
"native": {
"scenario": "frame-restart",
"useDefault": false,
"sha256": "4c8bdd75f49ad0514167e1b67c6941236c27837d09dd1d5d69d0345d69fa0357",
"scope": "Actual HTTP decoding/seek/JPEG and held native presentation callback lifecycle with a stub player host. Frame scenarios use a held Blob fallback only when native frame callbacks are absent. Pixel acceptance is separate; AUTO-THUMB-PIXEL-01 remains open.",
"before": {
"urls": 0,
"updates": 0
},
"after": {
"urls": 0,
"updates": 0
},
"video": {
"connected": false,
"src": null,
"readyState": 0,
"paused": true,
"handlers": [
true,
true,
true,
true
]
},
"canvasDimensions": [
[
0,
0
]
],
"publishedImage": null,
"final": {
"urls": 0,
"listeners": 0,
"updates": 0
},
"blobs": [],
"pendingDeadlines": 0,
"warnings": [],
"heldFrames": 1,
"frameSupport": true,
"result": {
"name": "artplayerPluginAutoThumbnail"
}
}
},
{
"title": "Auto-thumbnail candidate native alias-complete owns decoder and encoded URLs",
"project": "firefox",
"status": "passed",
"retry": 0,
"browser": "155.0",
"platform": "win32",
"native": {
"scenario": "complete",
"useDefault": true,
"sha256": "4c8bdd75f49ad0514167e1b67c6941236c27837d09dd1d5d69d0345d69fa0357",
"scope": "Actual HTTP decoding/seek/JPEG and held native presentation callback lifecycle with a stub player host. Frame scenarios use a held Blob fallback only when native frame callbacks are absent. Pixel acceptance is separate; AUTO-THUMB-PIXEL-01 remains open.",
"before": {
"urls": 1,
"updates": 2
},
"after": {
"urls": 1,
"updates": 2
},
"video": {
"connected": false,
"src": null,
"readyState": 0,
"paused": true,
"handlers": [
true,
true,
true,
true
]
},
"canvasDimensions": [
[
0,
0
]
],
"publishedImage": {
"width": 800,
"height": 45
},
"final": {
"urls": 0,
"listeners": 0,
"updates": 2
},
"blobs": [
{
"type": "image/jpeg",
"bytes": 4076
},
{
"type": "image/jpeg",
"bytes": 6752
}
],
"pendingDeadlines": 0,
"warnings": [],
"heldFrames": 0,
"frameSupport": true,
"result": {
"name": "artplayerPluginAutoThumbnail"
}
}
},
{
"title": "Auto-thumbnail candidate native encoding-timeout owns decoder and encoded URLs",
"project": "firefox",
"status": "passed",
"retry": 0,
"browser": "155.0",
"platform": "win32",
"native": {
"scenario": "encoding-timeout",
"useDefault": false,
"sha256": "4c8bdd75f49ad0514167e1b67c6941236c27837d09dd1d5d69d0345d69fa0357",
"scope": "Actual HTTP decoding/seek/JPEG and held native presentation callback lifecycle with a stub player host. Frame scenarios use a held Blob fallback only when native frame callbacks are absent. Pixel acceptance is separate; AUTO-THUMB-PIXEL-01 remains open.",
"before": {
"urls": 0,
"updates": 0
},
"after": {
"urls": 0,
"updates": 0
},
"video": {
"connected": false,
"src": null,
"readyState": 0,
"paused": true,
"handlers": [
true,
true,
true,
true
]
},
"canvasDimensions": [
[
0,
0
]
],
"publishedImage": null,
"final": {
"urls": 0,
"listeners": 0,
"updates": 0
},
"blobs": [
{
"type": "image/jpeg",
"bytes": 4076
}
],
"pendingDeadlines": 0,
"warnings": [
[
"ArtPlayer auto-thumbnail failed:",
"Error: Auto-thumbnail encoding timed out"
]
],
"heldFrames": 0,
"frameSupport": true,
"result": {
"name": "artplayerPluginAutoThumbnail"
}
}
},
{
"title": "Auto-thumbnail candidate native destroy owns decoder and encoded URLs",
"project": "webkit",
"status": "passed",
"retry": 0,
"browser": "26.6",
"platform": "win32",
"native": {
"scenario": "destroy",
"useDefault": false,
"sha256": "4c8bdd75f49ad0514167e1b67c6941236c27837d09dd1d5d69d0345d69fa0357",
"scope": "Actual HTTP decoding/seek/JPEG and held native presentation callback lifecycle with a stub player host. Frame scenarios use a held Blob fallback only when native frame callbacks are absent. Pixel acceptance is separate; AUTO-THUMB-PIXEL-01 remains open.",
"before": {
"urls": 0,
"updates": 0
},
"after": {
"urls": 0,
"updates": 0
},
"video": {
"connected": false,
"src": null,
"readyState": 0,
"paused": true,
"handlers": [
true,
true,
true,
true
]
},
"canvasDimensions": [
[
0,
0
]
],
"publishedImage": null,
"final": {
"urls": 0,
"listeners": 0,
"updates": 0
},
"blobs": [
{
"type": "image/jpeg",
"bytes": 983
}
],
"pendingDeadlines": 0,
"warnings": [],
"heldFrames": 0,
"frameSupport": false,
"result": {
"name": "artplayerPluginAutoThumbnail"
}
}
},
{
"title": "Auto-thumbnail candidate native restart owns decoder and encoded URLs",
"project": "webkit",
"status": "passed",
"retry": 0,
"browser": "26.6",
"platform": "win32",
"native": {
"scenario": "restart",
"useDefault": false,
"sha256": "4c8bdd75f49ad0514167e1b67c6941236c27837d09dd1d5d69d0345d69fa0357",
"scope": "Actual HTTP decoding/seek/JPEG and held native presentation callback lifecycle with a stub player host. Frame scenarios use a held Blob fallback only when native frame callbacks are absent. Pixel acceptance is separate; AUTO-THUMB-PIXEL-01 remains open.",
"before": {
"urls": 0,
"updates": 0
},
"after": {
"urls": 0,
"updates": 0
},
"video": {
"connected": false,
"src": null,
"readyState": 0,
"paused": true,
"handlers": [
true,
true,
true,
true
]
},
"canvasDimensions": [
[
0,
0
]
],
"publishedImage": null,
"final": {
"urls": 0,
"listeners": 0,
"updates": 0
},
"blobs": [
{
"type": "image/jpeg",
"bytes": 983
}
],
"pendingDeadlines": 0,
"warnings": [],
"heldFrames": 0,
"frameSupport": false,
"result": {
"name": "artplayerPluginAutoThumbnail"
}
}
},
{
"title": "Auto-thumbnail candidate native complete owns decoder and encoded URLs",
"project": "webkit",
"status": "passed",
"retry": 0,
"browser": "26.6",
"platform": "win32",
"native": {
"scenario": "complete",
"useDefault": false,
"sha256": "4c8bdd75f49ad0514167e1b67c6941236c27837d09dd1d5d69d0345d69fa0357",
"scope": "Actual HTTP decoding/seek/JPEG and held native presentation callback lifecycle with a stub player host. Frame scenarios use a held Blob fallback only when native frame callbacks are absent. Pixel acceptance is separate; AUTO-THUMB-PIXEL-01 remains open.",
"before": {
"urls": 1,
"updates": 2
},
"after": {
"urls": 1,
"updates": 2
},
"video": {
"connected": false,
"src": null,
"readyState": 0,
"paused": true,
"handlers": [
true,
true,
true,
true
]
},
"canvasDimensions": [
[
0,
0
]
],
"publishedImage": {
"width": 800,
"height": 45
},
"final": {
"urls": 0,
"listeners": 0,
"updates": 2
},
"blobs": [
{
"type": "image/jpeg",
"bytes": 983
},
{
"type": "image/jpeg",
"bytes": 4215
}
],
"pendingDeadlines": 0,
"warnings": [],
"heldFrames": 0,
"frameSupport": false,
"result": {
"name": "artplayerPluginAutoThumbnail"
}
}
},
{
"title": "Auto-thumbnail candidate native frame-destroy owns decoder and encoded URLs",
"project": "webkit",
"status": "passed",
"retry": 0,
"browser": "26.6",
"platform": "win32",
"native": {
"scenario": "frame-destroy",
"useDefault": false,
"sha256": "4c8bdd75f49ad0514167e1b67c6941236c27837d09dd1d5d69d0345d69fa0357",
"scope": "Actual HTTP decoding/seek/JPEG and held native presentation callback lifecycle with a stub player host. Frame scenarios use a held Blob fallback only when native frame callbacks are absent. Pixel acceptance is separate; AUTO-THUMB-PIXEL-01 remains open.",
"before": {
"urls": 0,
"updates": 0
},
"after": {
"urls": 0,
"updates": 0
},
"video": {
"connected": false,
"src": null,
"readyState": 0,
"paused": true,
"handlers": [
true,
true,
true,
true
]
},
"canvasDimensions": [
[
0,
0
]
],
"publishedImage": null,
"final": {
"urls": 0,
"listeners": 0,
"updates": 0
},
"blobs": [
{
"type": "image/jpeg",
"bytes": 983
}
],
"pendingDeadlines": 0,
"warnings": [],
"heldFrames": 0,
"frameSupport": false,
"result": {
"name": "artplayerPluginAutoThumbnail"
}
}
},
{
"title": "Auto-thumbnail candidate native frame-restart owns decoder and encoded URLs",
"project": "webkit",
"status": "passed",
"retry": 0,
"browser": "26.6",
"platform": "win32",
"native": {
"scenario": "frame-restart",
"useDefault": false,
"sha256": "4c8bdd75f49ad0514167e1b67c6941236c27837d09dd1d5d69d0345d69fa0357",
"scope": "Actual HTTP decoding/seek/JPEG and held native presentation callback lifecycle with a stub player host. Frame scenarios use a held Blob fallback only when native frame callbacks are absent. Pixel acceptance is separate; AUTO-THUMB-PIXEL-01 remains open.",
"before": {
"urls": 0,
"updates": 0
},
"after": {
"urls": 0,
"updates": 0
},
"video": {
"connected": false,
"src": null,
"readyState": 0,
"paused": true,
"handlers": [
true,
true,
true,
true
]
},
"canvasDimensions": [
[
0,
0
]
],
"publishedImage": null,
"final": {
"urls": 0,
"listeners": 0,
"updates": 0
},
"blobs": [
{
"type": "image/jpeg",
"bytes": 983
}
],
"pendingDeadlines": 0,
"warnings": [],
"heldFrames": 0,
"frameSupport": false,
"result": {
"name": "artplayerPluginAutoThumbnail"
}
}
},
{
"title": "Auto-thumbnail candidate native alias-complete owns decoder and encoded URLs",
"project": "webkit",
"status": "passed",
"retry": 0,
"browser": "26.6",
"platform": "win32",
"native": {
"scenario": "complete",
"useDefault": true,
"sha256": "4c8bdd75f49ad0514167e1b67c6941236c27837d09dd1d5d69d0345d69fa0357",
"scope": "Actual HTTP decoding/seek/JPEG and held native presentation callback lifecycle with a stub player host. Frame scenarios use a held Blob fallback only when native frame callbacks are absent. Pixel acceptance is separate; AUTO-THUMB-PIXEL-01 remains open.",
"before": {
"urls": 1,
"updates": 2
},
"after": {
"urls": 1,
"updates": 2
},
"video": {
"connected": false,
"src": null,
"readyState": 0,
"paused": true,
"handlers": [
true,
true,
true,
true
]
},
"canvasDimensions": [
[
0,
0
]
],
"publishedImage": {
"width": 800,
"height": 45
},
"final": {
"urls": 0,
"listeners": 0,
"updates": 2
},
"blobs": [
{
"type": "image/jpeg",
"bytes": 983
},
{
"type": "image/jpeg",
"bytes": 983
}
],
"pendingDeadlines": 0,
"warnings": [],
"heldFrames": 0,
"frameSupport": false,
"result": {
"name": "artplayerPluginAutoThumbnail"
}
}
},
{
"title": "Auto-thumbnail candidate native encoding-timeout owns decoder and encoded URLs",
"project": "webkit",
"status": "passed",
"retry": 0,
"browser": "26.6",
"platform": "win32",
"native": {
"scenario": "encoding-timeout",
"useDefault": false,
"sha256": "4c8bdd75f49ad0514167e1b67c6941236c27837d09dd1d5d69d0345d69fa0357",
"scope": "Actual HTTP decoding/seek/JPEG and held native presentation callback lifecycle with a stub player host. Frame scenarios use a held Blob fallback only when native frame callbacks are absent. Pixel acceptance is separate; AUTO-THUMB-PIXEL-01 remains open.",
"before": {
"urls": 0,
"updates": 0
},
"after": {
"urls": 0,
"updates": 0
},
"video": {
"connected": false,
"src": null,
"readyState": 0,
"paused": true,
"handlers": [
true,
true,
true,
true
]
},
"canvasDimensions": [
[
0,
0
]
],
"publishedImage": null,
"final": {
"urls": 0,
"listeners": 0,
"updates": 0
},
"blobs": [
{
"type": "image/jpeg",
"bytes": 983
}
],
"pendingDeadlines": 0,
"warnings": [
[
"ArtPlayer auto-thumbnail failed:",
"Error: Auto-thumbnail encoding timed out"
]
],
"heldFrames": 0,
"frameSupport": false,
"result": {
"name": "artplayerPluginAutoThumbnail"
}
}
}
]
},
"legacy": {
"report": {
"path": "refactor/.cache/auto-handler-legacy-browser/report.json",
"sha256": "6daaab48303cf3c51be5a39ceb0d816693155134037a908e14e628b47769b3fd"
},
"stats": {
"startTime": "2026-09-14T06:20:19.573Z",
"duration": 12821.398,
"expected": 21,
"skipped": 0,
"unexpected": 0,
"flaky": 0
},
"cases": [
{
"title": "Auto-thumbnail candidate native destroy owns decoder and encoded URLs",
"project": "chromium",
"status": "passed",
"retry": 0,
"browser": "153.0.8010.12",
"platform": "win32",
"native": {
"scenario": "destroy",
"useDefault": false,
"sha256": "389239c482d89639c70c796f2220a552ed8b1a87062fc5950cb03dc14c2b525c",
"scope": "Actual HTTP decoding/seek/JPEG and held native presentation callback lifecycle with a stub player host. Frame scenarios use a held Blob fallback only when native frame callbacks are absent. Pixel acceptance is separate; AUTO-THUMB-PIXEL-01 remains open.",
"before": {
"urls": 0,
"updates": 0
},
"after": {
"urls": 0,
"updates": 0
},
"video": {
"connected": false,
"src": null,
"readyState": 0,
"paused": true,
"handlers": [
true,
true,
true,
true
]
},
"canvasDimensions": [
[
0,
0
]
],
"publishedImage": null,
"final": {
"urls": 0,
"listeners": 0,
"updates": 0
},
"blobs": [
{
"type": "image/jpeg",
"bytes": 2635
}
],
"pendingDeadlines": 0,
"warnings": [],
"heldFrames": 0,
"frameSupport": true,
"result": {
"name": "artplayerPluginAutoThumbnail"
}
}
},
{
"title": "Auto-thumbnail candidate native restart owns decoder and encoded URLs",
"project": "chromium",
"status": "passed",
"retry": 0,
"browser": "153.0.8010.12",
"platform": "win32",
"native": {
"scenario": "restart",
"useDefault": false,
"sha256": "389239c482d89639c70c796f2220a552ed8b1a87062fc5950cb03dc14c2b525c",
"scope": "Actual HTTP decoding/seek/JPEG and held native presentation callback lifecycle with a stub player host. Frame scenarios use a held Blob fallback only when native frame callbacks are absent. Pixel acceptance is separate; AUTO-THUMB-PIXEL-01 remains open.",
"before": {
"urls": 0,
"updates": 0
},
"after": {
"urls": 0,
"updates": 0
},
"video": {
"connected": false,
"src": null,
"readyState": 0,
"paused": true,
"handlers": [
true,
true,
true,
true
]
},
"canvasDimensions": [
[
0,
0
]
],
"publishedImage": null,
"final": {
"urls": 0,
"listeners": 0,
"updates": 0
},
"blobs": [
{
"type": "image/jpeg",
"bytes": 2635
}
],
"pendingDeadlines": 0,
"warnings": [],
"heldFrames": 0,
"frameSupport": true,
"result": {
"name": "artplayerPluginAutoThumbnail"
}
}
},
{
"title": "Auto-thumbnail candidate native complete owns decoder and encoded URLs",
"project": "chromium",
"status": "passed",
"retry": 0,
"browser": "153.0.8010.12",
"platform": "win32",
"native": {
"scenario": "complete",
"useDefault": false,
"sha256": "389239c482d89639c70c796f2220a552ed8b1a87062fc5950cb03dc14c2b525c",
"scope": "Actual HTTP decoding/seek/JPEG and held native presentation callback lifecycle with a stub player host. Frame scenarios use a held Blob fallback only when native frame callbacks are absent. Pixel acceptance is separate; AUTO-THUMB-PIXEL-01 remains open.",
"before": {
"urls": 1,
"updates": 2
},
"after": {
"urls": 1,
"updates": 2
},
"video": {
"connected": false,
"src": null,
"readyState": 0,
"paused": true,
"handlers": [
true,
true,
true,
true
]
},
"canvasDimensions": [
[
0,
0
]
],
"publishedImage": {
"width": 800,
"height": 45
},
"final": {
"urls": 0,
"listeners": 0,
"updates": 2
},
"blobs": [
{
"type": "image/jpeg",
"bytes": 2635
},
{
"type": "image/jpeg",
"bytes": 4226
}
],
"pendingDeadlines": 0,
"warnings": [],
"heldFrames": 0,
"frameSupport": true,
"result": {
"name": "artplayerPluginAutoThumbnail"
}
}
},
{
"title": "Auto-thumbnail candidate native frame-destroy owns decoder and encoded URLs",
"project": "chromium",
"status": "passed",
"retry": 0,
"browser": "153.0.8010.12",
"platform": "win32",
"native": {
"scenario": "frame-destroy",
"useDefault": false,
"sha256": "389239c482d89639c70c796f2220a552ed8b1a87062fc5950cb03dc14c2b525c",
"scope": "Actual HTTP decoding/seek/JPEG and held native presentation callback lifecycle with a stub player host. Frame scenarios use a held Blob fallback only when native frame callbacks are absent. Pixel acceptance is separate; AUTO-THUMB-PIXEL-01 remains open.",
"before": {
"urls": 0,
"updates": 0
},
"after": {
"urls": 0,
"updates": 0
},
"video": {
"connected": false,
"src": null,
"readyState": 0,
"paused": true,
"handlers": [
true,
true,
true,
true
]
},
"canvasDimensions": [
[
0,
0
]
],
"publishedImage": null,
"final": {
"urls": 0,
"listeners": 0,
"updates": 0
},
"blobs": [],
"pendingDeadlines": 0,
"warnings": [],
"heldFrames": 1,
"frameSupport": true,
"result": {
"name": "artplayerPluginAutoThumbnail"
}
}
},
{
"title": "Auto-thumbnail candidate native frame-restart owns decoder and encoded URLs",
"project": "chromium",
"status": "passed",
"retry": 0,
"browser": "153.0.8010.12",
"platform": "win32",
"native": {
"scenario": "frame-restart",
"useDefault": false,
"sha256": "389239c482d89639c70c796f2220a552ed8b1a87062fc5950cb03dc14c2b525c",
"scope": "Actual HTTP decoding/seek/JPEG and held native presentation callback lifecycle with a stub player host. Frame scenarios use a held Blob fallback only when native frame callbacks are absent. Pixel acceptance is separate; AUTO-THUMB-PIXEL-01 remains open.",
"before": {
"urls": 0,
"updates": 0
},
"after": {
"urls": 0,
"updates": 0
},
"video": {
"connected": false,
"src": null,
"readyState": 0,
"paused": true,
"handlers": [
true,
true,
true,
true
]
},
"canvasDimensions": [
[
0,
0
]
],
"publishedImage": null,
"final": {
"urls": 0,
"listeners": 0,
"updates": 0
},
"blobs": [],
"pendingDeadlines": 0,
"warnings": [],
"heldFrames": 1,
"frameSupport": true,
"result": {
"name": "artplayerPluginAutoThumbnail"
}
}
},
{
"title": "Auto-thumbnail candidate native alias-complete owns decoder and encoded URLs",
"project": "chromium",
"status": "passed",
"retry": 0,
"browser": "153.0.8010.12",
"platform": "win32",
"native": {
"scenario": "complete",
"useDefault": true,
"sha256": "389239c482d89639c70c796f2220a552ed8b1a87062fc5950cb03dc14c2b525c",
"scope": "Actual HTTP decoding/seek/JPEG and held native presentation callback lifecycle with a stub player host. Frame scenarios use a held Blob fallback only when native frame callbacks are absent. Pixel acceptance is separate; AUTO-THUMB-PIXEL-01 remains open.",
"before": {
"urls": 1,
"updates": 2
},
"after": {
"urls": 1,
"updates": 2
},
"video": {
"connected": false,
"src": null,
"readyState": 0,
"paused": true,
"handlers": [
true,
true,
true,
true
]
},
"canvasDimensions": [
[
0,
0
]
],
"publishedImage": {
"width": 800,
"height": 45
},
"final": {
"urls": 0,
"listeners": 0,
"updates": 2
},
"blobs": [
{
"type": "image/jpeg",
"bytes": 2635
},
{
"type": "image/jpeg",
"bytes": 4226
}
],
"pendingDeadlines": 0,
"warnings": [],
"heldFrames": 0,
"frameSupport": true,
"result": {
"name": "artplayerPluginAutoThumbnail"
}
}
},
{
"title": "Auto-thumbnail candidate native encoding-timeout owns decoder and encoded URLs",
"project": "chromium",
"status": "passed",
"retry": 0,
"browser": "153.0.8010.12",
"platform": "win32",
"native": {
"scenario": "encoding-timeout",
"useDefault": false,
"sha256": "389239c482d89639c70c796f2220a552ed8b1a87062fc5950cb03dc14c2b525c",
"scope": "Actual HTTP decoding/seek/JPEG and held native presentation callback lifecycle with a stub player host. Frame scenarios use a held Blob fallback only when native frame callbacks are absent. Pixel acceptance is separate; AUTO-THUMB-PIXEL-01 remains open.",
"before": {
"urls": 0,
"updates": 0
},
"after": {
"urls": 0,
"updates": 0
},
"video": {
"connected": false,
"src": null,
"readyState": 0,
"paused": true,
"handlers": [
true,
true,
true,
true
]
},
"canvasDimensions": [
[
0,
0
]
],
"publishedImage": null,
"final": {
"urls": 0,
"listeners": 0,
"updates": 0
},
"blobs": [
{
"type": "image/jpeg",
"bytes": 2635
}
],
"pendingDeadlines": 0,
"warnings": [
[
"ArtPlayer auto-thumbnail failed:",
"Error: Auto-thumbnail encoding timed out"
]
],
"heldFrames": 0,
"frameSupport": true,
"result": {
"name": "artplayerPluginAutoThumbnail"
}
}
},
{
"title": "Auto-thumbnail candidate native destroy owns decoder and encoded URLs",
"project": "firefox",
"status": "passed",
"retry": 0,
"browser": "155.0",
"platform": "win32",
"native": {
"scenario": "destroy",
"useDefault": false,
"sha256": "389239c482d89639c70c796f2220a552ed8b1a87062fc5950cb03dc14c2b525c",
"scope": "Actual HTTP decoding/seek/JPEG and held native presentation callback lifecycle with a stub player host. Frame scenarios use a held Blob fallback only when native frame callbacks are absent. Pixel acceptance is separate; AUTO-THUMB-PIXEL-01 remains open.",
"before": {
"urls": 0,
"updates": 0
},
"after": {
"urls": 0,
"updates": 0
},
"video": {
"connected": false,
"src": null,
"readyState": 0,
"paused": true,
"handlers": [
true,
true,
true,
true
]
},
"canvasDimensions": [
[
0,
0
]
],
"publishedImage": null,
"final": {
"urls": 0,
"listeners": 0,
"updates": 0
},
"blobs": [
{
"type": "image/jpeg",
"bytes": 4076
}
],
"pendingDeadlines": 0,
"warnings": [],
"heldFrames": 0,
"frameSupport": true,
"result": {
"name": "artplayerPluginAutoThumbnail"
}
}
},
{
"title": "Auto-thumbnail candidate native restart owns decoder and encoded URLs",
"project": "firefox",
"status": "passed",
"retry": 0,
"browser": "155.0",
"platform": "win32",
"native": {
"scenario": "restart",
"useDefault": false,
"sha256": "389239c482d89639c70c796f2220a552ed8b1a87062fc5950cb03dc14c2b525c",
"scope": "Actual HTTP decoding/seek/JPEG and held native presentation callback lifecycle with a stub player host. Frame scenarios use a held Blob fallback only when native frame callbacks are absent. Pixel acceptance is separate; AUTO-THUMB-PIXEL-01 remains open.",
"before": {
"urls": 0,
"updates": 0
},
"after": {
"urls": 0,
"updates": 0
},
"video": {
"connected": false,
"src": null,
"readyState": 0,
"paused": true,
"handlers": [
true,
true,
true,
true
]
},
"canvasDimensions": [
[
0,
0
]
],
"publishedImage": null,
"final": {
"urls": 0,
"listeners": 0,
"updates": 0
},
"blobs": [
{
"type": "image/jpeg",
"bytes": 4076
}
],
"pendingDeadlines": 0,
"warnings": [],
"heldFrames": 0,
"frameSupport": true,
"result": {
"name": "artplayerPluginAutoThumbnail"
}
}
},
{
"title": "Auto-thumbnail candidate native complete owns decoder and encoded URLs",
"project": "firefox",
"status": "passed",
"retry": 0,
"browser": "155.0",
"platform": "win32",
"native": {
"scenario": "complete",
"useDefault": false,
"sha256": "389239c482d89639c70c796f2220a552ed8b1a87062fc5950cb03dc14c2b525c",
"scope": "Actual HTTP decoding/seek/JPEG and held native presentation callback lifecycle with a stub player host. Frame scenarios use a held Blob fallback only when native frame callbacks are absent. Pixel acceptance is separate; AUTO-THUMB-PIXEL-01 remains open.",
"before": {
"urls": 1,
"updates": 2
},
"after": {
"urls": 1,
"updates": 2
},
"video": {
"connected": false,
"src": null,
"readyState": 0,
"paused": true,
"handlers": [
true,
true,
true,
true
]
},
"canvasDimensions": [
[
0,
0
]
],
"publishedImage": {
"width": 800,
"height": 45
},
"final": {
"urls": 0,
"listeners": 0,
"updates": 2
},
"blobs": [
{
"type": "image/jpeg",
"bytes": 4076
},
{
"type": "image/jpeg",
"bytes": 6752
}
],
"pendingDeadlines": 0,
"warnings": [],
"heldFrames": 0,
"frameSupport": true,
"result": {
"name": "artplayerPluginAutoThumbnail"
}
}
},
{
"title": "Auto-thumbnail candidate native frame-destroy owns decoder and encoded URLs",
"project": "firefox",
"status": "passed",
"retry": 0,
"browser": "155.0",
"platform": "win32",
"native": {
"scenario": "frame-destroy",
"useDefault": false,
"sha256": "389239c482d89639c70c796f2220a552ed8b1a87062fc5950cb03dc14c2b525c",
"scope": "Actual HTTP decoding/seek/JPEG and held native presentation callback lifecycle with a stub player host. Frame scenarios use a held Blob fallback only when native frame callbacks are absent. Pixel acceptance is separate; AUTO-THUMB-PIXEL-01 remains open.",
"before": {
"urls": 0,
"updates": 0
},
"after": {
"urls": 0,
"updates": 0
},
"video": {
"connected": false,
"src": null,
"readyState": 0,
"paused": true,
"handlers": [
true,
true,
true,
true
]
},
"canvasDimensions": [
[
0,
0
]
],
"publishedImage": null,
"final": {
"urls": 0,
"listeners": 0,
"updates": 0
},
"blobs": [],
"pendingDeadlines": 0,
"warnings": [],
"heldFrames": 1,
"frameSupport": true,
"result": {
"name": "artplayerPluginAutoThumbnail"
}
}
},
{
"title": "Auto-thumbnail candidate native frame-restart owns decoder and encoded URLs",
"project": "firefox",
"status": "passed",
"retry": 0,
"browser": "155.0",
"platform": "win32",
"native": {
"scenario": "frame-restart",
"useDefault": false,
"sha256": "389239c482d89639c70c796f2220a552ed8b1a87062fc5950cb03dc14c2b525c",
"scope": "Actual HTTP decoding/seek/JPEG and held native presentation callback lifecycle with a stub player host. Frame scenarios use a held Blob fallback only when native frame callbacks are absent. Pixel acceptance is separate; AUTO-THUMB-PIXEL-01 remains open.",
"before": {
"urls": 0,
"updates": 0
},
"after": {
"urls": 0,
"updates": 0
},
"video": {
"connected": false,
"src": null,
"readyState": 0,
"paused": true,
"handlers": [
true,
true,
true,
true
]
},
"canvasDimensions": [
[
0,
0
]
],
"publishedImage": null,
"final": {
"urls": 0,
"listeners": 0,
"updates": 0
},
"blobs": [],
"pendingDeadlines": 0,
"warnings": [],
"heldFrames": 1,
"frameSupport": true,
"result": {
"name": "artplayerPluginAutoThumbnail"
}
}
},
{
"title": "Auto-thumbnail candidate native alias-complete owns decoder and encoded URLs",
"project": "firefox",
"status": "passed",
"retry": 0,
"browser": "155.0",
"platform": "win32",
"native": {
"scenario": "complete",
"useDefault": true,
"sha256": "389239c482d89639c70c796f2220a552ed8b1a87062fc5950cb03dc14c2b525c",
"scope": "Actual HTTP decoding/seek/JPEG and held native presentation callback lifecycle with a stub player host. Frame scenarios use a held Blob fallback only when native frame callbacks are absent. Pixel acceptance is separate; AUTO-THUMB-PIXEL-01 remains open.",
"before": {
"urls": 1,
"updates": 2
},
"after": {
"urls": 1,
"updates": 2
},
"video": {
"connected": false,
"src": null,
"readyState": 0,
"paused": true,
"handlers": [
true,
true,
true,
true
]
},
"canvasDimensions": [
[
0,
0
]
],
"publishedImage": {
"width": 800,
"height": 45
},
"final": {
"urls": 0,
"listeners": 0,
"updates": 2
},
"blobs": [
{
"type": "image/jpeg",
"bytes": 4076
},
{
"type": "image/jpeg",
"bytes": 6752
}
],
"pendingDeadlines": 0,
"warnings": [],
"heldFrames": 0,
"frameSupport": true,
"result": {
"name": "artplayerPluginAutoThumbnail"
}
}
},
{
"title": "Auto-thumbnail candidate native encoding-timeout owns decoder and encoded URLs",
"project": "firefox",
"status": "passed",
"retry": 0,
"browser": "155.0",
"platform": "win32",
"native": {
"scenario": "encoding-timeout",
"useDefault": false,
"sha256": "389239c482d89639c70c796f2220a552ed8b1a87062fc5950cb03dc14c2b525c",
"scope": "Actual HTTP decoding/seek/JPEG and held native presentation callback lifecycle with a stub player host. Frame scenarios use a held Blob fallback only when native frame callbacks are absent. Pixel acceptance is separate; AUTO-THUMB-PIXEL-01 remains open.",
"before": {
"urls": 0,
"updates": 0
},
"after": {
"urls": 0,
"updates": 0
},
"video": {
"connected": false,
"src": null,
"readyState": 0,
"paused": true,
"handlers": [
true,
true,
true,
true
]
},
"canvasDimensions": [
[
0,
0
]
],
"publishedImage": null,
"final": {
"urls": 0,
"listeners": 0,
"updates": 0
},
"blobs": [
{
"type": "image/jpeg",
"bytes": 4076
}
],
"pendingDeadlines": 0,
"warnings": [
[
"ArtPlayer auto-thumbnail failed:",
"Error: Auto-thumbnail encoding timed out"
]
],
"heldFrames": 0,
"frameSupport": true,
"result": {
"name": "artplayerPluginAutoThumbnail"
}
}
},
{
"title": "Auto-thumbnail candidate native destroy owns decoder and encoded URLs",
"project": "webkit",
"status": "passed",
"retry": 0,
"browser": "26.6",
"platform": "win32",
"native": {
"scenario": "destroy",
"useDefault": false,
"sha256": "389239c482d89639c70c796f2220a552ed8b1a87062fc5950cb03dc14c2b525c",
"scope": "Actual HTTP decoding/seek/JPEG and held native presentation callback lifecycle with a stub player host. Frame scenarios use a held Blob fallback only when native frame callbacks are absent. Pixel acceptance is separate; AUTO-THUMB-PIXEL-01 remains open.",
"before": {
"urls": 0,
"updates": 0
},
"after": {
"urls": 0,
"updates": 0
},
"video": {
"connected": false,
"src": null,
"readyState": 0,
"paused": true,
"handlers": [
true,
true,
true,
true
]
},
"canvasDimensions": [
[
0,
0
]
],
"publishedImage": null,
"final": {
"urls": 0,
"listeners": 0,
"updates": 0
},
"blobs": [
{
"type": "image/jpeg",
"bytes": 983
}
],
"pendingDeadlines": 0,
"warnings": [],
"heldFrames": 0,
"frameSupport": false,
"result": {
"name": "artplayerPluginAutoThumbnail"
}
}
},
{
"title": "Auto-thumbnail candidate native restart owns decoder and encoded URLs",
"project": "webkit",
"status": "passed",
"retry": 0,
"browser": "26.6",
"platform": "win32",
"native": {
"scenario": "restart",
"useDefault": false,
"sha256": "389239c482d89639c70c796f2220a552ed8b1a87062fc5950cb03dc14c2b525c",
"scope": "Actual HTTP decoding/seek/JPEG and held native presentation callback lifecycle with a stub player host. Frame scenarios use a held Blob fallback only when native frame callbacks are absent. Pixel acceptance is separate; AUTO-THUMB-PIXEL-01 remains open.",
"before": {
"urls": 0,
"updates": 0
},
"after": {
"urls": 0,
"updates": 0
},
"video": {
"connected": false,
"src": null,
"readyState": 0,
"paused": true,
"handlers": [
true,
true,
true,
true
]
},
"canvasDimensions": [
[
0,
0
]
],
"publishedImage": null,
"final": {
"urls": 0,
"listeners": 0,
"updates": 0
},
"blobs": [
{
"type": "image/jpeg",
"bytes": 983
}
],
"pendingDeadlines": 0,
"warnings": [],
"heldFrames": 0,
"frameSupport": false,
"result": {
"name": "artplayerPluginAutoThumbnail"
}
}
},
{
"title": "Auto-thumbnail candidate native complete owns decoder and encoded URLs",
"project": "webkit",
"status": "passed",
"retry": 0,
"browser": "26.6",
"platform": "win32",
"native": {
"scenario": "complete",
"useDefault": false,
"sha256": "389239c482d89639c70c796f2220a552ed8b1a87062fc5950cb03dc14c2b525c",
"scope": "Actual HTTP decoding/seek/JPEG and held native presentation callback lifecycle with a stub player host. Frame scenarios use a held Blob fallback only when native frame callbacks are absent. Pixel acceptance is separate; AUTO-THUMB-PIXEL-01 remains open.",
"before": {
"urls": 1,
"updates": 2
},
"after": {
"urls": 1,
"updates": 2
},
"video": {
"connected": false,
"src": null,
"readyState": 0,
"paused": true,
"handlers": [
true,
true,
true,
true
]
},
"canvasDimensions": [
[
0,
0
]
],
"publishedImage": {
"width": 800,
"height": 45
},
"final": {
"urls": 0,
"listeners": 0,
"updates": 2
},
"blobs": [
{
"type": "image/jpeg",
"bytes": 983
},
{
"type": "image/jpeg",
"bytes": 983
}
],
"pendingDeadlines": 0,
"warnings": [],
"heldFrames": 0,
"frameSupport": false,
"result": {
"name": "artplayerPluginAutoThumbnail"
}
}
},
{
"title": "Auto-thumbnail candidate native frame-destroy owns decoder and encoded URLs",
"project": "webkit",
"status": "passed",
"retry": 0,
"browser": "26.6",
"platform": "win32",
"native": {
"scenario": "frame-destroy",
"useDefault": false,
"sha256": "389239c482d89639c70c796f2220a552ed8b1a87062fc5950cb03dc14c2b525c",
"scope": "Actual HTTP decoding/seek/JPEG and held native presentation callback lifecycle with a stub player host. Frame scenarios use a held Blob fallback only when native frame callbacks are absent. Pixel acceptance is separate; AUTO-THUMB-PIXEL-01 remains open.",
"before": {
"urls": 0,
"updates": 0
},
"after": {
"urls": 0,
"updates": 0
},
"video": {
"connected": false,
"src": null,
"readyState": 0,
"paused": true,
"handlers": [
true,
true,
true,
true
]
},
"canvasDimensions": [
[
0,
0
]
],
"publishedImage": null,
"final": {
"urls": 0,
"listeners": 0,
"updates": 0
},
"blobs": [
{
"type": "image/jpeg",
"bytes": 983
}
],
"pendingDeadlines": 0,
"warnings": [],
"heldFrames": 0,
"frameSupport": false,
"result": {
"name": "artplayerPluginAutoThumbnail"
}
}
},
{
"title": "Auto-thumbnail candidate native frame-restart owns decoder and encoded URLs",
"project": "webkit",
"status": "passed",
"retry": 0,
"browser": "26.6",
"platform": "win32",
"native": {
"scenario": "frame-restart",
"useDefault": false,
"sha256": "389239c482d89639c70c796f2220a552ed8b1a87062fc5950cb03dc14c2b525c",
"scope": "Actual HTTP decoding/seek/JPEG and held native presentation callback lifecycle with a stub player host. Frame scenarios use a held Blob fallback only when native frame callbacks are absent. Pixel acceptance is separate; AUTO-THUMB-PIXEL-01 remains open.",
"before": {
"urls": 0,
"updates": 0
},
"after": {
"urls": 0,
"updates": 0
},
"video": {
"connected": false,
"src": null,
"readyState": 0,
"paused": true,
"handlers": [
true,
true,
true,
true
]
},
"canvasDimensions": [
[
0,
0
]
],
"publishedImage": null,
"final": {
"urls": 0,
"listeners": 0,
"updates": 0
},
"blobs": [
{
"type": "image/jpeg",
"bytes": 983
}
],
"pendingDeadlines": 0,
"warnings": [],
"heldFrames": 0,
"frameSupport": false,
"result": {
"name": "artplayerPluginAutoThumbnail"
}
}
},
{
"title": "Auto-thumbnail candidate native alias-complete owns decoder and encoded URLs",
"project": "webkit",
"status": "passed",
"retry": 0,
"browser": "26.6",
"platform": "win32",
"native": {
"scenario": "complete",
"useDefault": true,
"sha256": "389239c482d89639c70c796f2220a552ed8b1a87062fc5950cb03dc14c2b525c",
"scope": "Actual HTTP decoding/seek/JPEG and held native presentation callback lifecycle with a stub player host. Frame scenarios use a held Blob fallback only when native frame callbacks are absent. Pixel acceptance is separate; AUTO-THUMB-PIXEL-01 remains open.",
"before": {
"urls": 1,
"updates": 2
},
"after": {
"urls": 1,
"updates": 2
},
"video": {
"connected": false,
"src": null,
"readyState": 0,
"paused": true,
"handlers": [
true,
true,
true,
true
]
},
"canvasDimensions": [
[
0,
0
]
],
"publishedImage": {
"width": 800,
"height": 45
},
"final": {
"urls": 0,
"listeners": 0,
"updates": 2
},
"blobs": [
{
"type": "image/jpeg",
"bytes": 983
},
{
"type": "image/jpeg",
"bytes": 983
}
],
"pendingDeadlines": 0,
"warnings": [],
"heldFrames": 0,
"frameSupport": false,
"result": {
"name": "artplayerPluginAutoThumbnail"
}
}
},
{
"title": "Auto-thumbnail candidate native encoding-timeout owns decoder and encoded URLs",
"project": "webkit",
"status": "passed",
"retry": 0,
"browser": "26.6",
"platform": "win32",
"native": {
"scenario": "encoding-timeout",
"useDefault": false,
"sha256": "389239c482d89639c70c796f2220a552ed8b1a87062fc5950cb03dc14c2b525c",
"scope": "Actual HTTP decoding/seek/JPEG and held native presentation callback lifecycle with a stub player host. Frame scenarios use a held Blob fallback only when native frame callbacks are absent. Pixel acceptance is separate; AUTO-THUMB-PIXEL-01 remains open.",
"before": {
"urls": 0,
"updates": 0
},
"after": {
"urls": 0,
"updates": 0
},
"video": {
"connected": false,
"src": null,
"readyState": 0,
"paused": true,
"handlers": [
true,
true,
true,
true
]
},
"canvasDimensions": [
[
0,
0
]
],
"publishedImage": null,
"final": {
"urls": 0,
"listeners": 0,
"updates": 0
},
"blobs": [
{
"type": "image/jpeg",
"bytes": 983
}
],
"pendingDeadlines": 0,
"warnings": [
[
"ArtPlayer auto-thumbnail failed:",
"Error: Auto-thumbnail encoding timed out"
]
],
"heldFrames": 0,
"frameSupport": false,
"result": {
"name": "artplayerPluginAutoThumbnail"
}
}
}
]
}
},
"checks": {
"packageStrictTypes": "pass",
"targetedLint": "pass",
"strictToolchain": "pass",
"coreDeclarations": {
"files": 37,
"changed": 0
},
"build": {
"path": "refactor/.cache/auto-handler-build.log",
"sha256": "6ace060991a131daf66c3c13fc7a8a5c7581f20577b02ac74dc86c134a5be201"
}
},
"remaining": [
"AUTO-THUMB-PIXEL-01",
"AUTO-THUMB-LIFE-01",
"PKG-AUTO-THUMB-03",
"PKG-AUTO-THUMB-04",
"PKG-AUTO-THUMB-05",
"PKG-AUTO-THUMB-06"
]
}