{ "task": "CORE-23", "status": "partial-contextmenu", "capturedAt": "2026-09-11T12:38:34.178Z", "parentCommit": "faaa3e8c2d84a9b7864e81e06cbe5bb66c517bd6", "source": { "packages/artplayer/src/accessibility/button.ts": "e5afa7aade56116082f54678c44961157950fa550d66e21a4e1ff9bb5369a6f8", "packages/artplayer/src/accessibility/focus.ts": "2fa16941ac3632cb1e4b466e9a7e29700ef97b7eb2facd4330c59ec0a9320594", "packages/artplayer/src/accessibility/keyboard.ts": "2d82122732f84f39e59c6852ca081614caa6430a82b32c4749e297826c77eb12", "packages/artplayer/src/accessibility/moved-focus.ts": "c3d2a7d496381b2a86819b82fbd26cc940a1204fdf19408ccc8db267741d96c9", "packages/artplayer/src/accessibility/overlay-focus.ts": "93fa088daaa3afed88f645507828a10cb63292937c49b16f6c2a0ea895897878", "packages/artplayer/src/accessibility/player-focus.ts": "e8fd5222cbfc38cd4938324c83d9f5cef3d01a439464e1570d63a5131c84f20a", "packages/artplayer/src/accessibility/slider.ts": "533d5e6d806c32a84a578b43ed50993d30b4a414b5a85a34bbc68c37c5673a44", "packages/artplayer/src/accessibility/suspend-focus.ts": "d95c6097236be66e252165287435cca01b50553d64259add6b011721e4bbc644", "packages/artplayer/src/bootstrap/browser.ts": "8d401627e8ea1c87fb44204227b04177a70cc7a0f79f95fb5dc73fe828e46a8c", "packages/artplayer/src/capture/frame.ts": "eb25d81ec2d40a239103c63cfd80333705251291f2c2da77c740b4d413ea9cd9", "packages/artplayer/src/component/dom.ts": "740f63e6e5942c444b9f05605880f8d56a77b066dbe5c4791da74f78cb96c668", "packages/artplayer/src/component/focus.ts": "f4aff802711f6146c80e8c6bd90bc2cb406ccbdb581aef41f436ff5c03871ad3", "packages/artplayer/src/component/resources.ts": "ff158ef0db8ba13343ff6ba329713820cfe2f5c2c446a7873a6cfff782855edf", "packages/artplayer/src/component/selection.ts": "1f0bd089415da28db862647ffd1a0b4af752576465fb616d4b97ae4f8dcae3a7", "packages/artplayer/src/component/types.ts": "d7b0e7008b0f6c82e3e97ac43e0188598dca4f740a860e7a60b3b38a46f4565d", "packages/artplayer/src/config/index.ts": "a56b4d3d6942cfa3e2b47f909fc5ad87e6e3202fd61b29c7afd7649049e31d05", "packages/artplayer/src/contextmenu/aspectRatio.ts": "18ab60c9acee1e0cecd76c0b6cf750763eed7cfbede4220328b5200154c5c478", "packages/artplayer/src/contextmenu/choices.ts": "6bb880b27afc9457442c3973992da6dc8da48fc61d6b66b3b5a3bb4fc4651dc8", "packages/artplayer/src/contextmenu/close.ts": "84b7a96df910e6f38140df8b1e73519d209a7331e9be9f42d076ae791757024f", "packages/artplayer/src/contextmenu/flip.ts": "a7a4ac375da45dc7b6c996d4534098838646a078abfc4438f688e91e14ef0b38", "packages/artplayer/src/contextmenu/index.ts": "7532165d162fa463f1fe3c538d6bda0f579b5907b05137382efeb0018719b011", "packages/artplayer/src/contextmenu/info.ts": "f37cf0104510c13a130d2f55114c8f7ff15cc1b51863f97e60825442bdb2bf01", "packages/artplayer/src/contextmenu/keyboard.ts": "eaa1af6b1abf8947d957208a0535f1b34f6c88e95394efd56cae905ccdea564c", "packages/artplayer/src/contextmenu/playbackRate.ts": "7e06bb6fab3acdd71fb3ed63f77083172af517b49c1ecaefa3ee6a9068bdfe54", "packages/artplayer/src/contextmenu/position.ts": "851ed1a884a13fbe430be77e7f72ae46d8a719175647e058644834aabd27ac58", "packages/artplayer/src/contextmenu/types.ts": "a93fc90f4e17b731e8f6b486a507117810b61c1f1b0d9e775eba27dabeaeee1d", "packages/artplayer/src/contextmenu/version.ts": "0553a716be0ba49f614059c41eef6dc694a9641fca79e6448b1b30382c6b582b", "packages/artplayer/src/control/airplay.ts": "539bcc3671c7fe428ab95f9fea8a4943444066bcb742c7cf71591ba347642547", "packages/artplayer/src/control/builtins.ts": "2a0e12a9741713c92938e1d2009149bbbde498284aa85c63f270d02b27dc22b1", "packages/artplayer/src/control/fullscreen.ts": "7f8a9e8915abf9cbb9dda05b5c68523a47cc0ccf9ef5e0d9b82bc5c362fe346d", "packages/artplayer/src/control/fullscreenWeb.ts": "9cb30987a3d2cbb334a80d3f2c41f39fd339bf37a9524c7ed0145cf5c98f1859", "packages/artplayer/src/control/index.ts": "0d8e5a281f2eeba06c4cc4ac5a042847df53db1a19fdf140efea17d6ab2c0b78", "packages/artplayer/src/control/layout.ts": "b5134a9d0cb5ad128b1fb229dce79a306b944f750d8620e224a99f5791e6cab5", "packages/artplayer/src/control/pip.ts": "b829a7c83c5efa6751c2e434345e077339c9f5bc5022af9973f181ca8ce7f7ce", "packages/artplayer/src/control/playAndPause.ts": "20ed88bcc7ac7622e02a7c4e6be518582c05f0d7c571a97a54b851d79dcf13c5", "packages/artplayer/src/control/progress.ts": "629c622864619e2515b2eacb1bdfcf523ccce7ce680c8fdf51812e8e50a0cc7e", "packages/artplayer/src/control/progress/interactions.ts": "da03600375451ecf8c152be5afcc5f1a4f8b759e837bbd54b7faaf8f8b228497", "packages/artplayer/src/control/progress/keyboard.ts": "03d1d47e6641ea08f765d731f10a6aad35f7c3edc16aa97df822c5f9a7f75eb0", "packages/artplayer/src/control/progress/position.ts": "a3794ab5ac5dafa5fd61e56acb12c94998bd4b9065dbf0fa4739c6bba1094aa1", "packages/artplayer/src/control/progress/view.ts": "60ee16d5170be81b8132bb56dd0bc0eaf23e50f5c268d0697c9187b38a14aba9", "packages/artplayer/src/control/resources.ts": "16fd7c53ac8f47b333041c4f298313390dc102523d47767b8a16f39a2564ba74", "packages/artplayer/src/control/screenshot.ts": "11a1e3da919e476e7882abc3f74aaa809c3e9fc1de4346ec808731f78b6f27e2", "packages/artplayer/src/control/selector-keyboard.ts": "6a749f48b23cda62148298e648bb380a6067cc18c7be4258b9ec85c382a56165", "packages/artplayer/src/control/selector.ts": "a6f0c564c674530da9a0e4ed8762c6dfb81fa89373d64313e1020550731441f6", "packages/artplayer/src/control/setting.ts": "10ee1118858c41f2e97a6df70d6d5dc978757d0e5d79ec36c11e743e6df86726", "packages/artplayer/src/control/time.ts": "fa572092e0848878689367fb536e9658d13888d0a0d476babc5acd165af0f8d3", "packages/artplayer/src/control/types.ts": "454846310d4fc3a8576ba030c2e8428bb795cde7b89308d29943bb4d4bc2aaa4", "packages/artplayer/src/control/volume.ts": "45474d8d7f43d59263aa42e774eaaafeb45530ec24b81a5f589f6c906954568b", "packages/artplayer/src/display/fullscreen-abandoned.ts": "1715b30d336976921b4957b444418702b7d93dbf1debce47429269638d15810f", "packages/artplayer/src/display/fullscreen-adapter.ts": "71da10ec21c7706a8264badedac9022c74b865887931e9e369168fe3233c3b2f", "packages/artplayer/src/display/fullscreen-request.ts": "c6292ded96aab0f2dbc978af251f6cd9f5fd074819529ca498077db8d14e1bfe", "packages/artplayer/src/display/mini-drag.ts": "73d2f48f868c0ba4d8d5e5df40cbbdb4698c26540f3973b178d9cd374008f1cb", "packages/artplayer/src/display/mini-focus.ts": "1f717619e183b1cfab668bd2e41c8e9ba02210c94cdb58034ec97aa41e71aa34", "packages/artplayer/src/display/mini-layout.ts": "3835fe3d314da2fc624cbeb0e79fcdfa5393f08d87dfde730d2eac4e827f405b", "packages/artplayer/src/display/mini-view.ts": "bbe69e4419ffc0f6c744cb730a51778f23c311a0fac157223bcf8d8bf0f3edc7", "packages/artplayer/src/display/mini.ts": "a6fed598428bbf8d52931f21bb68b7560a3643d2576f7e7bfbae98b2f7cdd1e5", "packages/artplayer/src/display/native-fullscreen.ts": "323401f2b3ea5186da981a1215b1b9e7dcf4ef4261a8e885fe8ff0c090de6a7a", "packages/artplayer/src/display/native-pip.ts": "647879ae027cc0ebe684daa31d75511dd882e123e4ca8da2942e659bae3719f2", "packages/artplayer/src/display/orientation-native.ts": "909980ba837471d9b456545a18fb0ab19f0990e8788936f0580a4b332cd4baee", "packages/artplayer/src/display/orientation-types.ts": "0d68d2bc99d04db1e2fdf16b74e406e31f8b7e03fd9b6ea271773ed263ffa890", "packages/artplayer/src/display/orientation-web.ts": "aea55c3b9e8c708fe5559f07cf8f0afd7ad37ac5b1a43bf519245c3072ec4129", "packages/artplayer/src/display/placement.ts": "dbe4491ebd0f46b4efe13ac567e476fcd9ca5b84da675f19025935b5e3f8d733", "packages/artplayer/src/display/sizing-types.ts": "da9b3d957dafaca9331f7319257dd8156b3c3e7b6db11f33f11ded48512450ad", "packages/artplayer/src/display/sizing.ts": "c19856976320f1f35ff5a1049d19a940768300e095270b336dd12861b200da2a", "packages/artplayer/src/display/types.ts": "e88c868fd370fcc9dc612489992d446a8d0558bd87c26c5c05fdd73d8a3d1b02", "packages/artplayer/src/display/video-fullscreen-state.ts": "5fcb5e6b80ac45577664ef67e0460e0ceefd4022cafacdd7434c376a86d619be", "packages/artplayer/src/display/video-fullscreen.ts": "b425bf0df462524b5d3accc9e3df383c6635676c152bf4bef09c477a90662728", "packages/artplayer/src/display/web-fullscreen.ts": "bc091e6dcfb28784dd40ea619ce1fb9061b9e85dcc5bf2b6a303679eee5c727d", "packages/artplayer/src/display/webkit-pip.ts": "3617927b4bb8fa46f651d0e584141f804ae438e2b4531cc2e9cf9f7eeb027550", "packages/artplayer/src/dom/event-path.ts": "e952ea847a2e844a79c5c1b83035e03917e0294b80b1eb8af3b3bec0d2f7d333", "packages/artplayer/src/dom/measure.ts": "84a599351d26a790c5a8f6e7d271486a0a68d5b58457d8ce754d540b54902b96", "packages/artplayer/src/dom/presentation.ts": "500bded394579dd8194778f73cc44d0724f0a59cb5400957491928534ed091c6", "packages/artplayer/src/dom/styles.ts": "734e0a4e04d666417a18ac09ed6271ee7630c399d52d7f510a1c19fd6e7b3493", "packages/artplayer/src/dom/tree.ts": "3bc517ab9fa5317a1445156d53afb27182685eb3b4c0ac2ff41bbde55c9eecb6", "packages/artplayer/src/events/clickInit.ts": "bd1ba29fe0af4332ceb19297797c4c942a3a74bfd901998d6b93293f1b309300", "packages/artplayer/src/events/core-types.ts": "a607a3b2eea1b031f23ec0f620f1f4cd68799c4a77138a1443ecb196b00d1662", "packages/artplayer/src/events/gestureInit.ts": "9e9d1ac0da7f87e89dd0d86fa2820b980e9cb810782d6ab30017de8686fc910b", "packages/artplayer/src/events/global-types.ts": "3f4672d7af959cfa34ba39aa84ce614f422901437686bba98b14f578df40021c", "packages/artplayer/src/events/globalInit.ts": "6f6ea497a20a8fd0746b1f020caff76ad6817cd70a1a90fbaea12f992b6d03a7", "packages/artplayer/src/events/hoverInit.ts": "d1250e0dd35a8ba8067275986acbe6320c22adf1a977ec1009c0c012ed1563fe", "packages/artplayer/src/events/index.ts": "30d2286316dbd351e93f5a2234dcca84bf68ca28c05921169cca70c2e0b1ecf9", "packages/artplayer/src/events/listener-registry.ts": "fb062df5151c4e8e970de469f1c7d9af948f72214d32c293c81a5feeb8406124", "packages/artplayer/src/events/moveInit.ts": "da97591723f8b94a34702559b7ee67a35f172aa696d37dfbecd472581ad3de35", "packages/artplayer/src/events/resizeInit.ts": "719e27d11d2f93fcbe8368393c9190e251fc86dd0c3c2919f60e9b3b1edd0192", "packages/artplayer/src/events/scheduling-types.ts": "0fd98e94397064f32cae4c004d9932c006d2db69a7d6d9374ff174d74ff93cd4", "packages/artplayer/src/events/subscriptions.ts": "98573ed6cce73a73467c0e7fdb8ddc45e66b6bdf684c38886749453b2002a1d8", "packages/artplayer/src/events/types.ts": "df03625039605314a96ef15b5e3777cbb9d444fd317e1a2fbeaaa0f1e83f6b0f", "packages/artplayer/src/events/updateInit.ts": "6f174db14d20319f03a76e6ea267a3d71973faac44a92483badfa4420791817a", "packages/artplayer/src/events/viewInit.ts": "d77b83eab802ff0046a4966e28b810a25592bcada49f526adae37556c1e4c3e9", "packages/artplayer/src/events/viewport.ts": "6196fccb8b08ae22bde732c4389d9aceb5d727a63efd87b6d3914e338aadc46f", "packages/artplayer/src/hotkey.ts": "d8e477bf451143e566e1f743a5f253dcf00beb23544709794779f275e11498e8", "packages/artplayer/src/i18n/ar.ts": "897d8935384da16c3c4e96480777fe7fc022f6e3c0d87f62f79ae5f3c98e228c", "packages/artplayer/src/i18n/cs.ts": "cc154ee50d258495d04dd2d49e89e9c0166e8b368969c443ec80cb5e48cf357c", "packages/artplayer/src/i18n/es.ts": "0ed0283cb78847d6d1674be8c8ffa45feab88beaa8dbd11954b793c7b1657c75", "packages/artplayer/src/i18n/fa.ts": "a72e83717f2e3e8f19f1de82516aef4a54ea70563223637bcbb25d21e9eac084", "packages/artplayer/src/i18n/fr.ts": "a7366c75530e87f069216e20a6f09da42f7e77fdce862c02b32acf311068124b", "packages/artplayer/src/i18n/id.ts": "146bf4c4e5bb39d8e1eb1a6fe3c639eb3128c55789de20511201f8ec02c56c0e", "packages/artplayer/src/i18n/index.ts": "09c6f5bce58e4118dde10e8b2a2d3808785b7fde913a54dd189e0b473e21266a", "packages/artplayer/src/i18n/pl.ts": "420f3b620d5c7ccdeba7857872be6176239fdf5da30b9cc72341e85dc95c2c8d", "packages/artplayer/src/i18n/publish.ts": "5b216bbe313b3cda56a5da41fba4fb9d095eeec0dc903fcf284ddd8f94926e99", "packages/artplayer/src/i18n/ru.ts": "9a9f61e6a66b3cd884c609250bf765dcdbc850dae3270d8a1600a5c2542436d3", "packages/artplayer/src/i18n/tr.ts": "631c262a5e6cd00fada5bf2e146007d845816e47edb7643ec792250a403e4ec6", "packages/artplayer/src/i18n/vi.ts": "e6f3f8e53599e27755e162c76c3b049457aae7089eca73ee531986e67f517f6f", "packages/artplayer/src/i18n/zh-cn.ts": "51eb75562ae1ae4e248e1db85c90bcbc69b388a177ada6cbf8c3196a2c343ac6", "packages/artplayer/src/i18n/zh-tw.ts": "6b098739e27ad531172d0f13e53849be30e9936365ce9613a7d938d9f01cce53", "packages/artplayer/src/icons/airplay.svg": "8c75a40f1bfacee2be2a425e132ff51f3712eba60679010f7b1349d4a04374bc", "packages/artplayer/src/icons/arrow-left.svg": "8b9d544b7bd728d01747005fc7a2d63f822eed3b605393e2435b6733861b585f", "packages/artplayer/src/icons/arrow-right.svg": "68c63d6d5810173ec9192c9e96ee7b6aefdc3b79d3c1329fb4d6c750f859fe10", "packages/artplayer/src/icons/aspect-ratio.svg": "987752a87701523057d8dfa7c45a6a139c4542b96fdcfaf8665722bbeb41f3b2", "packages/artplayer/src/icons/check.svg": "963ce0aee2337fdee951aa6c917cc75ee0b4e75158887ccc16baebfd3925942b", "packages/artplayer/src/icons/close.svg": "ebabfe8044f48d5df4d13f4f906a163fd55a4d6f1dedb3b5ba95601209bc8888", "packages/artplayer/src/icons/config.svg": "e1884d5411296b5cd1bfec7803b558b0afa5ab64478393977b07a662e2e0f15c", "packages/artplayer/src/icons/defaults.ts": "31df862d754922fe5d68b20911c477d7c22893a6a67b5dcb1a48d3b437a0b23a", "packages/artplayer/src/icons/error.svg": "b40c01e511a599c9dd369aeb9a3b2a0d1a76ef3c5ede8124cbbc23f8e4e7248c", "packages/artplayer/src/icons/fast-forward.svg": "abef6fe4d75ffa74d3a84683373b4702a4eda2a5b4045952f969ee62cc68b0be", "packages/artplayer/src/icons/flip.svg": "474a9d53a97add71e3fb7bc6530a68580ce63a1d83f9b75d1c2908a7cf494152", "packages/artplayer/src/icons/fullscreen-off.svg": "71125ac56586897e2c0e52035a4d65cff34cf52043a95b45d186e0d268671399", "packages/artplayer/src/icons/fullscreen-on.svg": "d46cdf265cac729c9b7382722ebe7a4c76d71ad4e5a27c2d5ed8323fd595ebf5", "packages/artplayer/src/icons/fullscreen-web-off.svg": "52a6862ecd7cba12ab7042de5064c498bc2e9f86b430358c912401fafe4f4a98", "packages/artplayer/src/icons/fullscreen-web-on.svg": "5cfaae62b61456251e771bff01356fad8376ebedb10a4b8819740f60e6e5a073", "packages/artplayer/src/icons/index.ts": "7152126328f6e485ee92b6d924c34776518b4a3925b2887867b516f7523b15cc", "packages/artplayer/src/icons/loading.svg": "485472153890eff3ed49963f7bf7d841f66ca2f40894c01d6e8bcf1bf4ad1c58", "packages/artplayer/src/icons/lock.svg": "431e9a25fae051016be0efa286387ec3e5f7651c3ecf569bf0ece9842f57156c", "packages/artplayer/src/icons/pause.svg": "57405dba81dd3d9f329d957fdc704101cbb6f6654325eb0083c03324c4453a68", "packages/artplayer/src/icons/pip.svg": "1e922140e0941e5b9ef53dc0b4776813e1c470ea229fe3ec786fd148148c3352", "packages/artplayer/src/icons/play.svg": "41a961c629a55cb25a813e115a25204e492d4e935a0879177e65d6e1ddfd6796", "packages/artplayer/src/icons/playback-rate.svg": "872deecac0365ab04aeb5ccb1cdd9a0c88589a1442709fdac7c0ed12a241ff2b", "packages/artplayer/src/icons/screenshot.svg": "538b5cd0c6b20afb98bd850e15019072d652d191075c2869f2fc0f28b597b131", "packages/artplayer/src/icons/setting.svg": "2976b00d1f03e78f28d0e55ebcb01d5a0746ec1a6ff8de97a5e8294bacdd1fad", "packages/artplayer/src/icons/state.svg": "620a127f74bb5e249993bd7008c027373263eacb4a44af8adeaa0d7523346887", "packages/artplayer/src/icons/switch-off.svg": "95a8d81a4a3bfcf7c016d5f71d46a72be73c5e94790c55fd1d31023416ef5deb", "packages/artplayer/src/icons/switch-on.svg": "cccd0f9c1e54d9ac50c323360da944d8ff44633a82ff17889914b6bc8b1652ae", "packages/artplayer/src/icons/unlock.svg": "fc058db3d99a475fb9ffbbbb6248978a95990a9c532b83d0955ac28eaa626c60", "packages/artplayer/src/icons/volume-close.svg": "f7e100fd9e9f3f6e06afe5bc994d5d9305ee4d1ee23fae37e4108cf286dab379", "packages/artplayer/src/icons/volume.svg": "3a78f40d8b48595e8f15d9189e4d767e0c7abbf0338d3f2db1ac810049dd3942", "packages/artplayer/src/image/load.ts": "b4f1517243249d5fb017b89f993660e8b148906bbf28d08fe5c9f6d3a41e1e88", "packages/artplayer/src/index.ts": "20cfe3738b3ce7e11b69721a5f0bdad9db77807417d8e421397a40dfade4c047", "packages/artplayer/src/info.ts": "6594ff3ee5643d63fec874631865d0e35b4ebdcf8aeafdd9fd3d9c595cfa3713", "packages/artplayer/src/info/keyboard.ts": "13a6f617514388b4d14e0bf752780937f2baf545edb216b8259f56a198112c83", "packages/artplayer/src/info/poll.ts": "d26ff67d9eadf1e032445371dde6f15293a7fc0b2ae6b87c3815e4b4e1ed5dda", "packages/artplayer/src/input/gesture-controller.ts": "1ebbd18184771a623b02ec19c363f84dcc72fdb7cd82bcf2adc97f4a138cb2b4", "packages/artplayer/src/input/gesture-direction.ts": "65737f60e177338ebb3337a13ca75aeae77d77e94bc21495ddb829cc30de33a7", "packages/artplayer/src/input/gesture-types.ts": "5ed25db69e0d9579a2fc0ab6faadf00fa073ad73a1ea5aa48096b4430c71141a", "packages/artplayer/src/input/hotkey-defaults.ts": "c28e14821e5c7f7ac92a302e92439ab68fe77d5ef7d90a36b147b7c979ab96c6", "packages/artplayer/src/input/hotkey-types.ts": "c7232470d725f3700481ab98bf9203403a67f1ab82e72394baa9c3ad6f3c9a4b", "packages/artplayer/src/input/keyboard-focus.ts": "270c9dba40c0eb6d9fb36118b53e7f1d42a301ba4514917849523b6a05ed9e11", "packages/artplayer/src/input/long-press.ts": "110cf16cf9dae845597377ebbc43249e103cbc0ece56f89e44ec6ecc7f3819b0", "packages/artplayer/src/input/pointer-focus.ts": "802087098c786135eefa6727f13177ffe4a98e2abf48fad0e356b91e26960077", "packages/artplayer/src/input/pointer-types.ts": "63e679498f8f42f6842f63e910c38717ac3438d58df3a75ef5b77c009b7931d4", "packages/artplayer/src/layer.ts": "4014268eed043d5dd7b925cdeef6245e357cda67192a1301c5612ef98cdbec12", "packages/artplayer/src/libs/screenfull.js": "2332b50c0c6364d5c99080be0f5739255e4b9e465d2cca40f761adce9a1908f8", "packages/artplayer/src/lifecycle/instance.ts": "3168f7db4271bae7a242e80798546b755ac15443e15dd9ebb7675f5a259299d8", "packages/artplayer/src/lifecycle/resources.ts": "399ea5e84545c973f8967e8ffd7326dad7b3168ca6f96f77286995a5b62ee389", "packages/artplayer/src/lifecycle/scope.ts": "e2188e8544b27cf8c7ac149e7146af628a2d6166c82b719a247adef5d85be5db", "packages/artplayer/src/lifecycle/template-rollback.ts": "7a83da6739bcec1587b02f8157934988910d7f9103fe489a0d6f4f65290c3d77", "packages/artplayer/src/loading.ts": "216fa5e2af5be5fcbf95a1578c869553a02f625683a98333d4a404f9a70df9f5", "packages/artplayer/src/mask.ts": "500b8c2fb5ded63d5acab3c984fc9757f28a8b6cbd4d5beeac8c5a6d73ca63e4", "packages/artplayer/src/media/events/forward.ts": "6b1b7e80036bfb523b51843dc6ec6d83c2b949cefb9cef085b2d679a444e46d8", "packages/artplayer/src/media/events/listen.ts": "4eb7e943c1ebca77da8025d83b7d408276187cd02860b7793284344378bd0fe0", "packages/artplayer/src/media/events/playback.ts": "2c68e4f6274a0dc65e56d42c928e500fc1d63bf3e03bbdd8a83c3f3ed7ae8ee4", "packages/artplayer/src/media/events/readiness.ts": "3ba74f26dd9ff0729967097c2cb6f329a9cea57745bfe8173f9173e0d134476a", "packages/artplayer/src/media/events/reconnect.ts": "876027b5116d0d3628755705682b30630f4b713199ed8015541932d81d2944be", "packages/artplayer/src/media/events/types.ts": "02bd29ad8b158fa04ce5c1524e397260ef24b94c2cf1f053e7bd02b23e5d29dd", "packages/artplayer/src/media/hosts.ts": "498d1cde31bf9ee12af1f13523eb0a4553adb285264529378abba5b629829e9a", "packages/artplayer/src/media/playback.ts": "b0364027e1ea26e44e435a938e93c022836885c2622cda6bc3a7ca791d3c2964", "packages/artplayer/src/media/position-revision.ts": "ba074cce7e7c6bda84aa234de8eb315e5ca482aa9b06250896f9ac6251192851", "packages/artplayer/src/media/types.ts": "96d4a7f066cbb6fb9138165dd736b4ca500cb19c827bd7702134d61c44cc0e87", "packages/artplayer/src/notice.ts": "4faa700323a8fdfd91a59491a5f57da2dee9bd1f2de0d900ed16e9809a208c94", "packages/artplayer/src/option/defaults.ts": "f357ef80cf32085fcbc3409d92dfa27b31c13fbcf823f576052c0347911c0cca", "packages/artplayer/src/option/resolve.ts": "53a73627cd540e3f21349c0a43beda35ea5195647a31e3f5b30ac292390b4b1b", "packages/artplayer/src/option/runtime.ts": "d1bcc7682da05a74d7af173304e47f71ba9eb59e5351436040e9dbdef5c58fa8", "packages/artplayer/src/option/types.ts": "f2ce01c01acf45fac6cbb34685b8e6c321bcad6b0da2526f3f189eb5962ea0e5", "packages/artplayer/src/player/airplayMix.ts": "bfa30e1dcd7cbaef97e977344e8a35524fad6bd23089cd8e45945e3b32b4bf04", "packages/artplayer/src/player/aspectRatioMix.ts": "9e5e7365d469aeaef65a6010cb92734702191f9086b2f21d98c9f0ad7f356898", "packages/artplayer/src/player/attrMix.ts": "d82150611a69423ed46bf673f44c3e0f61e80425026effd486a6951b6c0dd90c", "packages/artplayer/src/player/autoHeightMix.ts": "5848e34cd826f5d4cc81d076c83fb3bcea0aed1228cd93a1edb6b8ca402ad175", "packages/artplayer/src/player/autoSizeMix.ts": "6373a8ea7fff4cd875d17c5d3df6dc37764055ab77850a6c6348526969071cbb", "packages/artplayer/src/player/cssVarMix.ts": "0d023f28b7a8b4c1a5e2c4dd5672ef4294c86bce0013babd9d52efa32a443b2a", "packages/artplayer/src/player/currentTimeMix.ts": "cc374abeb85b203b9f31c566a6b9e53a4a1723d609fccc7b0c9c210993b79e75", "packages/artplayer/src/player/durationMix.ts": "60a9d665cf302dcb6b3e37e2f057e31720935e5e588fd7709231f691f6014191", "packages/artplayer/src/player/eventInit.ts": "a915c5a618e70b1ab10536b1273ba0fea4ec11d3a2ca629b538e90b5ad2b55f9", "packages/artplayer/src/player/flipMix.ts": "a1519c83f8c9437a9b7e99a59e38a3d931032c579f4085226fc0955c7c9eab67", "packages/artplayer/src/player/fullscreenMix.ts": "b339bebb4c87f7b75232d7e0d637ebe25bd09a0a0428ba87339a16af5daa71aa", "packages/artplayer/src/player/fullscreenWebMix.ts": "75b83a6093c7887ca8725f63c55503d0bf3aafdbbf2347b579120cb257503555", "packages/artplayer/src/player/index.ts": "359943c88dc99863e510fc0d51f8e8ee2397217e68045f755d4e9538579bdaec", "packages/artplayer/src/player/loadedMix.ts": "6a4c4a08ed74346dad3e138b1dda22c8c9c12f175fe6d00da41b89c78cbe2c18", "packages/artplayer/src/player/miniMix.ts": "d68a0c4f6c6059d5831d2d1fd4823b8d3cbce95eefd6d36d38670d6d8720f44e", "packages/artplayer/src/player/optionInit.ts": "7c1c47679ee6201d0e0d203fc7b449a09309e7b24a0a1099ad259a70fc1b1a35", "packages/artplayer/src/player/pauseMix.ts": "5bbb68eab7dcf2170c944cabb8d4b82be4e6d7623e37ad6ea464b81c1028bc0b", "packages/artplayer/src/player/pipMix.ts": "63dfb29ffd66ce7d081b24f8e8bf697c041675b49ab8919e206d2df5132de236", "packages/artplayer/src/player/playMix.ts": "60249fcacdc5b1bc6f33bcd806e8a4f5472cea21d40550b042794a75027fe34a", "packages/artplayer/src/player/playbackRateMix.ts": "e185c6ff52cd567f7fd7c30553bbd6c65517324d1d16c4948c3623ef457ef536", "packages/artplayer/src/player/playedMix.ts": "5b6b89bf8dec1efb19cd51e46af1505bae006bdb3fb798e9dec7e3fb5cf0acaa", "packages/artplayer/src/player/playingMix.ts": "968c9f6e6d23c233c77d62a593db64adcc6d1a2411f5f1c61a35c6996d6a54d9", "packages/artplayer/src/player/posterMix.ts": "d569dc24e8e64efe398bd76942bfaf563ffbf64d2a7387ea2e1cb1cf511183d4", "packages/artplayer/src/player/properties.ts": "76806d6273545ff556cf9c6d341b59b9041455a8ecbe1fd40510e841c0d5710b", "packages/artplayer/src/player/qualityMix.ts": "980ff584c8a5793f5ec9f049f144df31d184d7c9acef49fbe9d504b7657a96bb", "packages/artplayer/src/player/rectMix.ts": "a741ee09fa3271df84363c5d73eac1b2e5adb39491f95f8112af81f1219ffed4", "packages/artplayer/src/player/screenshotMix.ts": "1754bbce09f713204c120cd4657b52c06eb09eb1fe3244f84474e5967cd68e50", "packages/artplayer/src/player/seekMix.ts": "e6e1bf00e8441f1ce58d2a67a66f7e5e98c86d78620ff10a5e6268d54f13fadb", "packages/artplayer/src/player/stateMix.ts": "e45b3209a93ab14665d19c5740d5c632187e9fe234b019a2a0263e26884ab3b2", "packages/artplayer/src/player/subtitleOffsetMix.ts": "e7866cf3a6d9fe271a4c34973f7a961542a738e89a3647df85197cee5853ce8b", "packages/artplayer/src/player/switchMix.ts": "b47e174ef0edb2b96ff29f2ddd3c9f2dd2a38713db2a81002b18c89ce71994e9", "packages/artplayer/src/player/themeMix.ts": "5bf11bcf8b77cd5d5f2970bc3edcee315c693c1be3d567770d5107a5951cb48f", "packages/artplayer/src/player/thumbnailsMix.ts": "6c097d7d00779a6d0d3d65cf9ffd126624a48c9bdb98396c84c39f4de4bdf712", "packages/artplayer/src/player/toggleMix.ts": "a3050136248e7d0b942387484c61286ac2b33a90724b1dc3460f5061be76f247", "packages/artplayer/src/player/typeMix.ts": "c2a234a9c09f0269a4bd0659087635995945075ac70a5cf2478c8a135fc1b2fe", "packages/artplayer/src/player/urlMix.ts": "726a42899261879e03c8b1d4f716458bf3e6e614cecc3bb8d7a581afc2b7866d", "packages/artplayer/src/player/volumeMix.ts": "d830bb27b984e0ab2f687943fb49abcbd0331d71fe96049fd81edbddaa64f07f", "packages/artplayer/src/plugins/auto-playback/prompt.ts": "58c6dcaf540296ee6f6bdeeda38ee7302aca2b06ddb152b716c0c2bf9c6c96b4", "packages/artplayer/src/plugins/auto-playback/records.ts": "133a4ba2fd2d3df724d96eb203d05cffb0b82ecb8de72403974f7979bd37ce01", "packages/artplayer/src/plugins/autoOrientation.ts": "4a13b0c010ea7a5002e66c422260ed24bb0d18b3ed41ce10974ac7ca2804cc09", "packages/artplayer/src/plugins/autoPlayback.ts": "e349010813bbcd53503383b707c5f6e6e60d8ade6442d020fe6ba07a128c3122", "packages/artplayer/src/plugins/builtins.ts": "4631c9775732982dfdc87e16b1bd6b41a350be36fb27e0a9132c11a85b0c016d", "packages/artplayer/src/plugins/fastForward.ts": "74c03e3fcfe2f87dcb0ef1a5da5410cb96322509fd07e32930128584c54f62b5", "packages/artplayer/src/plugins/index.ts": "4c97f354769bbcb338263f321876a90745a87a9af2d267e216bd3d9d007f268a", "packages/artplayer/src/plugins/lock-keyboard.ts": "d59ac2fc9d0daf48c7946e0b49698a74e01f5f55e903c1b090fbda5516cbd16f", "packages/artplayer/src/plugins/lock.ts": "8f5fe4469787b7b2a0a302d0fbd925f8eb6d1b261cae6e17367e4d97666a096c", "packages/artplayer/src/plugins/miniProgressBar.ts": "21b4850fcaf6b0e82d5e62ca7aca60c179c578f7ff6d5606e6025628ff4b1cc7", "packages/artplayer/src/plugins/registration.ts": "9891686c32aeaa33c48ca500cf30ab24ffbb0835c6248769b4c645a5ff20129b", "packages/artplayer/src/plugins/types.ts": "6823098d5ec1bf053f60ddfdd36bfcd3f06f3b528cc5dd30fd676a1318dac590", "packages/artplayer/src/scheme/index.ts": "dc4a3b5e08478cf72b46b0b59c023359ad5f79b891ea8a6a119ce24a5251821a", "packages/artplayer/src/setting/activity.ts": "699ceed4bdeddb6d48eacf79c8dbf737f5d2d8c4983be70205322b14807a91b7", "packages/artplayer/src/setting/aspectRatio.ts": "a16eb58fadf77f0a9009cf162d957ffd59d9b8fde83cc193d510fd642e3456cb", "packages/artplayer/src/setting/checkpoint.ts": "9d3bff311f9b15c067ca49661af4f48de939f266b8077e7c2f0d66edef22dde6", "packages/artplayer/src/setting/events.ts": "f7a3347ca146232caf2a8c9a5a18731cf7bc91dca4cd36370e0265c6eb70df53", "packages/artplayer/src/setting/flip.ts": "e72a4ae33300d9e48880897a4f85a04fa6d9a5fff7b06ecaf9081cfb1bb14404", "packages/artplayer/src/setting/index.ts": "f6319af15ebe3600a466123dd9d343b86a8d6ed201693ac7ac86dc1d674d477f", "packages/artplayer/src/setting/keyboard-focus.ts": "2717ce081f9bace0af287759571aadaab7e95c4be3b109a3168311a439b7d158", "packages/artplayer/src/setting/keyboard-item.ts": "d94bfc0266486615ddb79b9eee3886f48891ebb2e5f465652ef98f142ada89d2", "packages/artplayer/src/setting/keyboard.ts": "14781e4308b2ea7043314e88fb40f379a3dcfb4c97f10508b96b3455a05c3286", "packages/artplayer/src/setting/layout.ts": "584604e8fffaeaf1d633d1ed45e64d94595c2a56976e3a3f7ede01839b83a37d", "packages/artplayer/src/setting/model.ts": "c47348f0f9494c4ce8ea5561bcde6eb698fb11e9197ccdc1ca1359a6d5e370dd", "packages/artplayer/src/setting/panels.ts": "64d48720971763985a2a652a18c2ed2f32300c3553d56b52049ae40c4dfceae1", "packages/artplayer/src/setting/playbackRate.ts": "2e70e0d2a33cb0ec9fcdd6d22424979fed7b2e01f87015d6be4e520d5cf4e88a", "packages/artplayer/src/setting/registration.ts": "c29db62b5d90e0efa4a926c753015e65e96a47add3f5b8840ee51017052edf7c", "packages/artplayer/src/setting/render.ts": "ed73745f2c7e2d76bbe8ce7202336e5f4de217dc8f0806b769127cb25316faba", "packages/artplayer/src/setting/resources.ts": "64c28cc2cb08cb87b0864ab957d7999bc94931be4788f282d6f190b8806a81fd", "packages/artplayer/src/setting/selection.ts": "a642e630924eaf4ad91705fad1fa6e6dc946b32970d809a23da274399fce20ef", "packages/artplayer/src/setting/subtitleOffset.ts": "86513835d4e542ac39e9d551507473e3e14c71fd0d5ea725267008ecbff6ab83", "packages/artplayer/src/setting/types.ts": "21a07d75a28bbbe20b3e107b6f1a09cb6f8ef2773ea10a4bd7caa88956e9b99c", "packages/artplayer/src/setting/update.ts": "79326cb55c52243a7aa8df347a3b081dcd84eb7932fc6162061cc0d9f7078add", "packages/artplayer/src/source/listen.ts": "c0596b98258c1544c8e4b762509646428450e56588da36908cb8583b8b716c37", "packages/artplayer/src/source/operation.ts": "a6cb65594a5b28247e3a6889fe0a2f47a34aeb08cdde5f0125800a87862cd559", "packages/artplayer/src/source/restore-position.ts": "da98a47e8419b33069191e51fc94cc9652302ee4f3eff8ccc7a6dbd4c4c0e2bc", "packages/artplayer/src/source/switch.ts": "16f5418d73a1d6e89fbb797afcd79af13857861ba25cca9046c16b70ad31d431", "packages/artplayer/src/source/types.ts": "e5fa3a9cd6b84dffbbb02f61aad966d6046204d857de3e4564c795f02a0259ff", "packages/artplayer/src/storage.ts": "9c0a0f3d8ac18261db6e49b2ea14322d1d53bfec3531c7337b85005e708fef30", "packages/artplayer/src/style/accessibility.less": "eb9cfe282c64a059d2e102280750bcd33ac33726fa09042eb9875f534335efef", "packages/artplayer/src/style/artplayer.less": "4e8513138d5d10c05b66986977d24ed17f1de3c0df3816dec6d90db7a97b5da3", "packages/artplayer/src/style/aspectRatio.less": "091931a0cdc83e65a669332811ef3276b85bca9e55f7fff42aa46893d728c1ef", "packages/artplayer/src/style/backdrop.less": "6c2cd0fa200d1f3525df98c3c56dbdc553445724aece3feb0386949245813343", "packages/artplayer/src/style/bottom.less": "6fb307d8449fd04b804d5e72ea0f175f8aa9c9dd2bf1efbf756f800b39ac97ab", "packages/artplayer/src/style/contextmenu.less": "70f6c7e26dc96652b659c7bf6fdad92737ed477dea69d253c57dc7266c76586d", "packages/artplayer/src/style/controls.less": "eb6d4bf4e4ff903d724d45f3ff60f0cf10c02e622fba195555a8179100cdce87", "packages/artplayer/src/style/danmuku.less": "e4215ee9fa2f1d0599e7311a2415cc975138265b7c6af0448d27d21b6c9e3511", "packages/artplayer/src/style/flip.less": "5d3c7a81df9be455c2f683ebf48f39597d218dc2144addacb72ee1736bac3b7f", "packages/artplayer/src/style/fullscreen.less": "dd350d3a0fc556d59b622a53c786b8c2a583e8fb28176e4b9e91baff90479496", "packages/artplayer/src/style/fullscreenWeb.less": "d74e785c2fbbb2976e131620e751326f622f2916eceff9f2333059ca3296cdc9", "packages/artplayer/src/style/hideCursor.less": "09a4607c8b0005dc199828172aa8dda395f861e407769b9696d793476c4a7823", "packages/artplayer/src/style/hint.less": "ae9f3115dfdb1e2d7b8249497c080e6a25f9667f915f6e89820338d67bbc2d85", "packages/artplayer/src/style/icon.less": "52d8f75c1d193e6160f57ca6997c3f9135adad8eb2338ed60c1eb8e5fe443be5", "packages/artplayer/src/style/index.less": "7fece0bc5b5a106d051eb80152d5e4558f2e73953c4c33175aa901b9695be61b", "packages/artplayer/src/style/index.ts": "856afc037ffcd4d18c4b54901ddbb30e310014553fe9d19560e34fb54b8378c1", "packages/artplayer/src/style/info.less": "fa56d1b8c8936218e581b2426026e4ba85cd5fea20d045c4f69aca96be4059be", "packages/artplayer/src/style/inject.ts": "9cddbe51b5de0da74f27c045ab982b509c3854cc6b81eeb02a6b974914760a4d", "packages/artplayer/src/style/layers.less": "9653c581190bb22d60a706109819cd010908898740701c9526957b5682991c5f", "packages/artplayer/src/style/loading.less": "185b0f05274196ba71fdb1d088b55af568f3342a495490c99c3f0e058a40659e", "packages/artplayer/src/style/mask.less": "d1239a171b71ea6184cb4aee6660d74d6ffc0c48f7c47c3cf5fbe52d2e93ac92", "packages/artplayer/src/style/mini.less": "8be782a3054154ab908b1cce650b6131330cf0f0e936b749accb4b2dfe605a27", "packages/artplayer/src/style/mixins.less": "c6be95aa682f266749fe37cb89796fbec6488abc537174f817da79bdac6e00b5", "packages/artplayer/src/style/mobile.less": "ff3f64fca5d2dd7ddd50385d88d9b2fa1a645909488ab7a0978ba4f1670b7c0e", "packages/artplayer/src/style/notice.less": "72a935c0effc557a9d7ab3baccb2c3b77fc3a1783450b4e3178a40a5325fe369", "packages/artplayer/src/style/plugins.less": "ea345094ea5708dd3a3c290f357dbb301b38af35464d213c47e3ec6c60eaadca", "packages/artplayer/src/style/poster.less": "36b38fe138f8c9537ff4e93f7ec4f2dbdba1ec41d243d741ddf1da7c6581e546", "packages/artplayer/src/style/progress.less": "59b9d95d49dbcb1be40752d7086239b6de5925b0574da231199d999e22ff4990", "packages/artplayer/src/style/selector.less": "44585c6b0179e34d21eeefce6d3494faacc0e9d108079426876e8847fd441513", "packages/artplayer/src/style/setting.less": "5618eb443ab6368bc4a18e9a379ce6552629555cdca6074e753aa6fd7baf9bf9", "packages/artplayer/src/style/subtitle.less": "273cacb63ec0214ba434dcf19a4a455dbbdd408fb2d1749de4878804c1371e41", "packages/artplayer/src/style/variables.less": "703739b2bdfc77bfde063d8788ef6b6a55b8730764baae8e7d755b7c54d8ecc7", "packages/artplayer/src/style/video.less": "b89c6f6e27592d49825c68c9ab98d46e81cb1e5add855863f89d19637f98e35f", "packages/artplayer/src/style/volume.less": "6e99bbe0dbcb40667ef99789b65812dc9c94ce8a1071c00d2edec5eba041c434", "packages/artplayer/src/subtitle/index.ts": "b4ead680dc82fa47c53d1ec7e5fb8bf94abbf55730d5d1130ad8d544cb42adc8", "packages/artplayer/src/subtitle/parse.ts": "7db540c5edb1d2312eed82757fd15a7ce6a28996ba20d0087e56730f21dede74", "packages/artplayer/src/subtitle/render.ts": "96493fc35680af635a8db225a8bf002208df79ed48b1d4ee6cc73587543add5c", "packages/artplayer/src/subtitle/request.ts": "543c964571bd5ab984bc1adc9f64a8917dd134ed2892ad10b30ed9c859f34119", "packages/artplayer/src/subtitle/state.ts": "9f79b982d66747170bc39bdaf99b65676310965f23da62a4dec15547c756a56b", "packages/artplayer/src/subtitle/track.ts": "707f4c43af4ebf4b87521f6f577168460e739274d0cec28b9efe5704d2540d18", "packages/artplayer/src/subtitle/types.ts": "615e389b4bb36196a69a059eb04cf7e519cdac13d2da15e4374fede2f3b6631b", "packages/artplayer/src/template.ts": "0ea9155b9292d4c528a464d3c97996ee5a1c9c4aabc2959a744989085db2251b", "packages/artplayer/src/template/html.ts": "351c472bfd01fa5ba1a4e347ed31bd5faaf823d9b4c5cab1ce8c651e3b175021", "packages/artplayer/src/template/nodes.ts": "1572746a636647e4d313cc8752d3a110ff81fddb390ad7b0feb6a0db0d42b9d4", "packages/artplayer/src/template/types.ts": "2bf906b4a209e17dae4d79225e758e2e53772e93f19f188d0131051ea2a0143a", "packages/artplayer/src/thumbnails/layout.ts": "6630439242a880f53fcb374b7b15c7f486405aab8a0fad651b137f02971eeb59", "packages/artplayer/src/utils/compatibility.ts": "1fd2a5b17ee3245712eda961d3c0a15caf3c428010112e48231890176ce1e5e2", "packages/artplayer/src/utils/component.ts": "c3fa96467e8b315d974a42a19591aa4a4a7514853db796135b2acbcdcb160ea3", "packages/artplayer/src/utils/dom.ts": "72f3539dabf296df37ab4cc7ade0c8ac9480f399987101589450c787e7d6719b", "packages/artplayer/src/utils/emitter.ts": "26a93d3ff35b53e71a5f3bb22c252a854559d8151ede50a66a28d9eefae6c008", "packages/artplayer/src/utils/error.ts": "ba303c7d4e4228919088f9d608fa364596f5853ee646eda2008deee354866f38", "packages/artplayer/src/utils/file.ts": "ea71d7fc0e818d473bf5a596211ba9d571e4febdf1878014eadefa8d0a98d4cc", "packages/artplayer/src/utils/format.ts": "891df5b7542b713aef46bf2b93924f42e68eee574afd802db3e6c62ff2655ede", "packages/artplayer/src/utils/index.ts": "5211af833dddb2937d25dcc772740d62f9d5c5039ce5505bffff0796d4afd756", "packages/artplayer/src/utils/property.ts": "c737d4582a4382f4038d12dafdf8b43418e508c9b8b859b2f0cc17c20f370343", "packages/artplayer/src/utils/subtitle.ts": "f058851d11a418e321a8a498472b67fa535fec2c7b5d3df739b6b4f263d00337", "packages/artplayer/src/utils/time.ts": "b8ce3d50865f6c343e8e3ce9f5c87de565a87b4e9fbcbccbe7030e30e80b93fe" }, "publicTypes": { "docs/assets/ts/artplayer.d.ts": "652c0fdf605e87203526777a05851bd69c95c1660d5ff29eab19c00967c9a985", "packages/artplayer/public/artplayer.cts": "0e91e907d021db02a68004603e6190505fdc0806d873ebb6af171aa089a81da7", "packages/artplayer/public/artplayer.mts": "f6292596a9ccb1d43a6d6a12c35f859b1889ad15924c5ae0f9f280941aade313", "packages/artplayer/public/artplayer.ts": "26a42ac66811e70f68a8ebe62cbf304eb1993451b3e658961be98e7106162527", "packages/artplayer/public/component.ts": "aa1c43be67322781b4b355b143bc69d9f29d22e578e4974d6a13e957a7c0334f", "packages/artplayer/public/config.ts": "c4fd8681bf32b10c743e3e561c532520c8f32e43fd765524850b15e55cb91c72", "packages/artplayer/public/cssVar.ts": "e027d82fb4f01c9ce7559cf679b2d5ee1962d3f7e5b4dd64ca21f472b933efb6", "packages/artplayer/public/emitter.ts": "9c62551cdcc6dd3966bed8a7a85dd477435db977c91a294d2ac8f162f9592537", "packages/artplayer/public/events.ts": "af191f862af4ec8933b09113b8c074603ae254a8b70460d0f3006646cd74ae42", "packages/artplayer/public/i18n.ts": "34b0c684668044f7600c80b9d3979f8fb730138007b7cb4e7034326b340156fb", "packages/artplayer/public/icons.ts": "0d8e8e52e52130dd4a29bab551dd7a2a954797e42e92a6e068c85d583e23e6a4", "packages/artplayer/public/language.cts": "2248040d86a8e34626755c4ecf53ea0174706c653073cf0e15884a030d173120", "packages/artplayer/public/language.mts": "c391e863012c77769e661afbf8fa949e9373aa88d17f58cbba7f5696edb8077f", "packages/artplayer/public/legacy/language.ts": "c452ffd764ff9b29b819b3475c42395d2ea7a33560d8c186ef5df3844b9524c3", "packages/artplayer/public/option.ts": "850e5264219b8b438c80694402225b690b131786677a5da0d22739ec2352d263", "packages/artplayer/public/playback.ts": "1ceaed3aa1cef511fe8b20f4874647f6065c723ad805b742a0a9247e16bb1bb5", "packages/artplayer/public/player.ts": "f1e50257df2ea592d0a0e1f36078dda77eaf2cf3b3d795307501396562d99f28", "packages/artplayer/public/plugin.ts": "2a57e148fda00ee687da5036b890b0f611cb94bb403a1ed52602179060259d35", "packages/artplayer/public/quality.ts": "7ed6ed78cea52991b2f6ddd2bd3b7bd8c5146fdfff7486fe8b814c3e632f1567", "packages/artplayer/public/runtime.cts": "52cfff1daeb6841a90212c8fa8d46ca46d6650bb7ed1b59b62115d854b8ad652", "packages/artplayer/public/runtime.mts": "1b09bc0ee0f0ee2f788689eaff441bdeda1fab0ce783e71b61b9792d81072b03", "packages/artplayer/public/runtime.ts": "ec4b1d56993eb482a77eb0f94b701047549d009e6ba6433f27e7d464fef30c2b", "packages/artplayer/public/runtime/component.ts": "840213299c942fe058eb5436977ceec066b9dccda24c55ae9f464b399c979e39", "packages/artplayer/public/runtime/construction.ts": "24cc5cda1f614314db382271a9b0d5583b781894cfdf6c548700b1b5270467ee", "packages/artplayer/public/runtime/events.ts": "52848f57d35eb1037cf74c8877521edf99a015bcd77f30ef6bbcba1807a99bfe", "packages/artplayer/public/runtime/media.ts": "8828f80953aec3e95328cefe691661e8897cb27cb309483cf806ec45a8549ae3", "packages/artplayer/public/runtime/option.ts": "bb672e49ffe74a6fc78543217f6de80d7d738890146df0857c709d4dc283e4ce", "packages/artplayer/public/runtime/player.ts": "a4a24794e26cfb9e4310bf0f459a7a407e85bf81b4f3a4feb6294331af8036fb", "packages/artplayer/public/runtime/plugin.ts": "9ad482f2a77914a91450419680b8af6b314b926f0831c2f7f6d7c466690f95c9", "packages/artplayer/public/runtime/services.ts": "8e4648d8c61bff47343f9e1c2b995af69fc00947264b826109ceadcbaf553254", "packages/artplayer/public/runtime/setting.ts": "c48d20957b57f79f985ef76a2950cc8a5cfa25dafa8ec5939e562661778e6218", "packages/artplayer/public/runtime/subtitle.ts": "13241c4f9a87517aa2cf7b3e0bb8cedaa12fa0b4d3f8934285797583b752557e", "packages/artplayer/public/runtime/template.ts": "da9975513a1938e7f386f4f65f718f0fc595164bfeac8f0cd99a3e97a54919a1", "packages/artplayer/public/runtime/utils.ts": "cab9916f5224a3b047812b9f759cc9cc62105662599744067a6955020ab36916", "packages/artplayer/public/setting.ts": "d12a75b656fff70cbb30be4bffec46d9c4273636e8722bce971a4d2b188712a1", "packages/artplayer/public/subtitle.ts": "d25b470e47d6a9bd696d9c1ad8adb58e56a208f05695186d513bc8c43c2e8acf", "packages/artplayer/public/template.ts": "68aed9e97d006d6be4fabb8504ca84dafab770b0925f4d6e7319e67c82f21b0d", "packages/artplayer/public/utils.ts": "494ec447ab467a07ddd7a2c2abf778b3fce69fd28a09aaa8ced9759f8de2e3f6", "packages/artplayer/types/COMPATIBILITY.md": "a7da9e102a116104b513df4f7451247b7759bc502d3375f30bd5b14a541826e0", "packages/artplayer/types/README.md": "1bd9868e773610e6312fd48a1c5aa20772d29df0af40c3db66e75b7ab4a1aee0", "packages/artplayer/types/artplayer.d.cts": "3685065e4263abcfd9d953176e461d5b3eb990b0363b54689a7f55deba770fef", "packages/artplayer/types/artplayer.d.mts": "b664fec51ee5c5381f2ceab25d99d52aee56feab04a2ee7b4ea5b2145ea5fa0e", "packages/artplayer/types/artplayer.d.ts": "5d0162adf7ac6d0f2bb9b5cfe361f28657c4d9c540cadbf36eba3cc954ce50f8", "packages/artplayer/types/component.d.ts": "ae5bc1ddeaa1ee1ebbc62573e32423993727079205c64751a5a314170e588a32", "packages/artplayer/types/config.d.ts": "36f9a84cd436f17701a0d11d3417fc1fe0414e0c52c80083b94a85dfc329e37e", "packages/artplayer/types/cssVar.d.ts": "93217860fff2ebf750f606d95ddd22220a58837119e63bdf2f5f78fd7488458b", "packages/artplayer/types/emitter.d.ts": "7e1f9a2a8ce65feb95734f1ed52d1334e57aa388bbef2a43d8bc53a9b6f6623c", "packages/artplayer/types/events.d.ts": "f83624c9268a284477e8bd793fe3562a2363b72f2a44d5c64fe8c6a6cede8830", "packages/artplayer/types/i18n.d.ts": "f4f2f05bdfda73c74fef34767cb18ee8e11b743120b1c4598e9714d7846018e5", "packages/artplayer/types/icons.d.ts": "326a67ba7bdcf52862c5b2a269e540140aff98d05c7b96196485a77f84fe5960", "packages/artplayer/types/language.d.cts": "f7928e108cf7b7814c2d75cb0a525333e95873fca6cd6d89a740450656b9c1cd", "packages/artplayer/types/language.d.mts": "6619a26d604b7cccbe2f596243d87ae37cfaae33b8b52874ec071d9787446f9e", "packages/artplayer/types/legacy/language.d.ts": "c7abda4d506fd933c350e9030290bf9e64347a921d683a66115da1995ebe0a81", "packages/artplayer/types/option.d.ts": "ccf2c8ddc537dc65c9682d39f044726e23bff18f476b622512d7e6a4b949b5f6", "packages/artplayer/types/playback.d.ts": "58705c273df6e76a77a6575e769a9ec6c013785c25080f2551aa22415788d870", "packages/artplayer/types/player.d.ts": "92b00211b70ac71336e495899df972a0519dd138111846044fe4e0f967966177", "packages/artplayer/types/plugin.d.ts": "fc3594a41c51d8248713e33c486fb1f6a518ac5c7ce31be6988a6cd8d052c5f3", "packages/artplayer/types/quality.d.ts": "1ac1a48b4f74ff9ba1ce60443e1463d50d1c6a2e5d87d63dc7d2a8eb7f4c2c34", "packages/artplayer/types/runtime.d.cts": "7ee988dfea9a0ac71a34a656f96f7b74e78aa92547cfdfab7ff7e1139a77d4a3", "packages/artplayer/types/runtime.d.mts": "dcb85f59a8b7714918ced0c1d18c2bb24e8b80b56d8c594e019dcbdb5ad88b08", "packages/artplayer/types/runtime.d.ts": "9c6ccd39a1be293f17ae46dae8ea077053e12635ee79d73a5e3b3a559230fcff", "packages/artplayer/types/runtime/component.d.ts": "1b4c0cee44568649e80140fe778febfcae88af0ac85515f1cbeff78ab0c6d14f", "packages/artplayer/types/runtime/construction.d.ts": "7a87bedf6f7ffff0c46078aa5f1551e0077d35574e286516121f5f935e2d9ce4", "packages/artplayer/types/runtime/events.d.ts": "a1e2f9d387475453eaf95c2a5ee79e228636c0bb859bda3fcc46da46574a0c31", "packages/artplayer/types/runtime/media.d.ts": "8fc89401be7fe25542c169d07dd5675f10916ed20be8493e19695966cf3864a8", "packages/artplayer/types/runtime/option.d.ts": "6e334e1a76fdcc40b4665c02523bd31c3994d96078fadeb40e23422aa54c1a1d", "packages/artplayer/types/runtime/player.d.ts": "8ac6383502e4872e83659838844856903031a81a0adc8e8535feb78453aa042c", "packages/artplayer/types/runtime/plugin.d.ts": "8528f2b17843149f42f9cc16d6fd70baa238c9dc2c329b67d2c38096799c69bd", "packages/artplayer/types/runtime/services.d.ts": "604c9f8e4b6c0da818f96576bf9f4b0e96085a9003927b2f7ba30027b1ba237e", "packages/artplayer/types/runtime/setting.d.ts": "349c1fcb205ad312916bd3ee55e6bf241ea8a569fb2ab6c80822e69fc518f7d7", "packages/artplayer/types/runtime/subtitle.d.ts": "269ff84678d327b3a9dc2f5bc6cc0d731d1e081b85422e474621d5d792efb153", "packages/artplayer/types/runtime/template.d.ts": "7a62f968a38b4bf9109a4439557c02074eb1d62ba1f6e21a8eb194e91f0badfe", "packages/artplayer/types/runtime/utils.d.ts": "6bf731705d86853e066dbaf3b8d4003b6548423fe615b7412b722bd0d3a6e48b", "packages/artplayer/types/setting.d.ts": "08305a75dff96f06490430e099338b463df471b550c1d0dac3abc8995b39eb09", "packages/artplayer/types/subtitle.d.ts": "b18314e2d64efdb6045830b6e12f615ae2ed585416130e562329ad3ea337f6ce", "packages/artplayer/types/template.d.ts": "4792bc0c2cbcb7966e4375118bd34b326166e0831862e94ace4cf6b1bbe6a8c8", "packages/artplayer/types/utils.d.ts": "fca0d3d814df94a25f9eb067c86fa0cf272e2791bac793b91229d57680797712" }, "tooling": { "package.json": "315746ada69ccb62b8b8c10016b3e467667db9e39518b32dc8036cbade662ea4", "test/browser/accessibility-contextmenu.spec.js": "f7d4be7e317abe7790bf7134479838b0d775974d33bd5bda97319708a6876b27", "test/browser/accessibility-controls.spec.js": "d07d9919b9e9d960116770f82ebb61d165bd4b9fbc343a4e821d9cf9313dccef", "test/browser/accessibility-info.spec.js": "348268395523d4fb5c2d9b6a2486cfb0d1e1b8ef84d13e97ad9db22f5e3ed173", "test/browser/accessibility-lock.spec.js": "2c208fa3deda0f10769a95c697cb7618225897ede408d857d107706acae5e7f4", "test/browser/accessibility-mini.spec.js": "a0d667265145ff24e37624775ae388f184ad425c4844c47ce8c692de31123a32", "test/browser/accessibility-selector.spec.js": "aae91d2449e2257bfd19999505cf0bb5c631bd49b0dbf597ea1ac48e2f2a25d1", "test/browser/accessibility-setting.spec.js": "067ace54bf2f73daed4d26c005daaaba09f292f7474825070f2dfbc0c50b544b", "test/browser/accessibility-slider.spec.js": "b88aa23fc1b76e3a902150a8a9d4a801531f397b0a27120b4741baf67f82bc47", "test/browser/accessibility.spec.js": "f10bdefdaac2359d1af5d2099cb8e1770bd7ca486362143f663b5c54459d6cab", "test/browser/components.spec.js": "2be381b052b69baa3b4ae9cf2582593b9d611158e709e056aaa5df3cf969bef4", "test/browser/display-mini.spec.js": "eecb351ef6c1b4d5a96c682e9d9b4507260473b10159bad0b918af277c2c58f3", "test/browser/hotkey.spec.js": "a6565949f25d702aeb33ef8ebbddf2ed995d67f09a47c7bfaa20010da34dfa1c", "test/browser/prompt-components.spec.js": "2513a31306bb17b713aca2f9bc44f045ce34ac547482b4507955b0f1f14484ed" }, "ci": { "passed": 468, "productionTypeScript": 249, "logSha256": "343a1580f31ae187b7898028293a7e79c157608fffa959715e6a330e6fd4ce3b" }, "browser": { "stats": { "startTime": "2026-09-11T12:35:20.129Z", "duration": 118455.22, "expected": 444, "skipped": 0, "unexpected": 0, "flaky": 0 }, "versions": { "chromium": "153.0.8010.12", "firefox": "155.0", "webkit": "26.6" }, "sourceBuildSha256": "86035d7894aa83868c31d471c85c83716ea4382e3d6af862a04f0a6fd1839fcf", "cases": [ { "file": "accessibility-contextmenu.spec.js", "title": "candidate: Shift F10 opens the default info action and closing info returns to the original control", "engine": "chromium" }, { "file": "accessibility-contextmenu.spec.js", "title": "candidate: context menu Escape closes before fullscreen and Tab continues from its origin", "engine": "chromium" }, { "file": "accessibility-contextmenu.spec.js", "title": "candidate: keyboard choice navigation waits for activation and retains existing selection events", "engine": "chromium" }, { "file": "accessibility-contextmenu.spec.js", "title": "candidate: custom context actions retain callbacks, typeahead and focus across replacement", "engine": "chromium" }, { "file": "accessibility-contextmenu.spec.js", "title": "candidate: native context content retains input editing and button activation without nested roles", "engine": "chromium" }, { "file": "accessibility-contextmenu.spec.js", "title": "candidate: disabled context menus do not claim the keyboard opening gesture", "engine": "chromium" }, { "file": "accessibility-contextmenu.spec.js", "title": "candidate: a hidden or disabled origin falls back to the player and outside focus is preserved", "engine": "chromium" }, { "file": "accessibility-contextmenu.spec.js", "title": "candidate: menu reinitialization replaces listeners and a rejected duplicate initialization keeps them", "engine": "chromium" }, { "file": "accessibility-contextmenu.spec.js", "title": "candidate: menu activation preserves callback focus transfers and destruction leaves detached controls inert", "engine": "chromium" }, { "file": "accessibility-contextmenu.spec.js", "title": "candidate: native editable context gestures remain native while pointer opening preserves external focus", "engine": "chromium" }, { "file": "accessibility-contextmenu.spec.js", "title": "candidate: keyboard menu remains inside the player and ignores a canceled opening", "engine": "chromium" }, { "file": "accessibility-contextmenu.spec.js", "title": "candidate: custom menu handoff to mini returns to the control that opened the menu", "engine": "chromium" }, { "file": "accessibility-contextmenu.spec.js", "title": "candidate: context keyboard and focus ownership stay local to each player", "engine": "chromium" }, { "file": "accessibility-contextmenu.spec.js", "title": "candidate: Shift F10 opens the default info action and closing info returns to the original control", "engine": "firefox" }, { "file": "accessibility-contextmenu.spec.js", "title": "candidate: context menu Escape closes before fullscreen and Tab continues from its origin", "engine": "firefox" }, { "file": "accessibility-contextmenu.spec.js", "title": "candidate: keyboard choice navigation waits for activation and retains existing selection events", "engine": "firefox" }, { "file": "accessibility-contextmenu.spec.js", "title": "candidate: custom context actions retain callbacks, typeahead and focus across replacement", "engine": "firefox" }, { "file": "accessibility-contextmenu.spec.js", "title": "candidate: native context content retains input editing and button activation without nested roles", "engine": "firefox" }, { "file": "accessibility-contextmenu.spec.js", "title": "candidate: disabled context menus do not claim the keyboard opening gesture", "engine": "firefox" }, { "file": "accessibility-contextmenu.spec.js", "title": "candidate: a hidden or disabled origin falls back to the player and outside focus is preserved", "engine": "firefox" }, { "file": "accessibility-contextmenu.spec.js", "title": "candidate: menu reinitialization replaces listeners and a rejected duplicate initialization keeps them", "engine": "firefox" }, { "file": "accessibility-contextmenu.spec.js", "title": "candidate: menu activation preserves callback focus transfers and destruction leaves detached controls inert", "engine": "firefox" }, { "file": "accessibility-contextmenu.spec.js", "title": "candidate: native editable context gestures remain native while pointer opening preserves external focus", "engine": "firefox" }, { "file": "accessibility-contextmenu.spec.js", "title": "candidate: keyboard menu remains inside the player and ignores a canceled opening", "engine": "firefox" }, { "file": "accessibility-contextmenu.spec.js", "title": "candidate: custom menu handoff to mini returns to the control that opened the menu", "engine": "firefox" }, { "file": "accessibility-contextmenu.spec.js", "title": "candidate: context keyboard and focus ownership stay local to each player", "engine": "firefox" }, { "file": "accessibility-contextmenu.spec.js", "title": "candidate: Shift F10 opens the default info action and closing info returns to the original control", "engine": "webkit" }, { "file": "accessibility-contextmenu.spec.js", "title": "candidate: context menu Escape closes before fullscreen and Tab continues from its origin", "engine": "webkit" }, { "file": "accessibility-contextmenu.spec.js", "title": "candidate: keyboard choice navigation waits for activation and retains existing selection events", "engine": "webkit" }, { "file": "accessibility-contextmenu.spec.js", "title": "candidate: custom context actions retain callbacks, typeahead and focus across replacement", "engine": "webkit" }, { "file": "accessibility-contextmenu.spec.js", "title": "candidate: native context content retains input editing and button activation without nested roles", "engine": "webkit" }, { "file": "accessibility-contextmenu.spec.js", "title": "candidate: disabled context menus do not claim the keyboard opening gesture", "engine": "webkit" }, { "file": "accessibility-contextmenu.spec.js", "title": "candidate: a hidden or disabled origin falls back to the player and outside focus is preserved", "engine": "webkit" }, { "file": "accessibility-contextmenu.spec.js", "title": "candidate: menu reinitialization replaces listeners and a rejected duplicate initialization keeps them", "engine": "webkit" }, { "file": "accessibility-contextmenu.spec.js", "title": "candidate: menu activation preserves callback focus transfers and destruction leaves detached controls inert", "engine": "webkit" }, { "file": "accessibility-contextmenu.spec.js", "title": "candidate: native editable context gestures remain native while pointer opening preserves external focus", "engine": "webkit" }, { "file": "accessibility-contextmenu.spec.js", "title": "candidate: keyboard menu remains inside the player and ignores a canceled opening", "engine": "webkit" }, { "file": "accessibility-contextmenu.spec.js", "title": "candidate: custom menu handoff to mini returns to the control that opened the menu", "engine": "webkit" }, { "file": "accessibility-contextmenu.spec.js", "title": "candidate: context keyboard and focus ownership stay local to each player", "engine": "webkit" }, { "file": "accessibility-controls.spec.js", "title": "candidate: replacing a focused control restores its new entry without intermediate focus", "engine": "chromium" }, { "file": "accessibility-controls.spec.js", "title": "candidate: removing a focused control chooses a surviving neighbor and preserves external focus", "engine": "chromium" }, { "file": "accessibility-controls.spec.js", "title": "candidate: failed control replacement recovers focus but a veto keeps the original focused entry", "engine": "chromium" }, { "file": "accessibility-controls.spec.js", "title": "candidate: callbacks can transfer focus outside without an intermediate or final control focus", "engine": "chromium" }, { "file": "accessibility-controls.spec.js", "title": "candidate: replacing a focused selector option transfers focus to the new control", "engine": "chromium" }, { "file": "accessibility-controls.spec.js", "title": "candidate: removing the last focusable control leaves focus on the player without an extra sequential Tab stop", "engine": "chromium" }, { "file": "accessibility-controls.spec.js", "title": "candidate: focus recovery skips unavailable controls and uses a replacement native button", "engine": "chromium" }, { "file": "accessibility-controls.spec.js", "title": "candidate: an unrelated instance update cannot take focus from another player", "engine": "chromium" }, { "file": "accessibility-controls.spec.js", "title": "candidate: a disabled native replacement falls back and focus callbacks can destroy the player", "engine": "chromium" }, { "file": "accessibility-controls.spec.js", "title": "candidate: replacing a focused control restores its new entry without intermediate focus", "engine": "firefox" }, { "file": "accessibility-controls.spec.js", "title": "candidate: removing a focused control chooses a surviving neighbor and preserves external focus", "engine": "firefox" }, { "file": "accessibility-controls.spec.js", "title": "candidate: failed control replacement recovers focus but a veto keeps the original focused entry", "engine": "firefox" }, { "file": "accessibility-controls.spec.js", "title": "candidate: callbacks can transfer focus outside without an intermediate or final control focus", "engine": "firefox" }, { "file": "accessibility-controls.spec.js", "title": "candidate: replacing a focused selector option transfers focus to the new control", "engine": "firefox" }, { "file": "accessibility-controls.spec.js", "title": "candidate: removing the last focusable control leaves focus on the player without an extra sequential Tab stop", "engine": "firefox" }, { "file": "accessibility-controls.spec.js", "title": "candidate: focus recovery skips unavailable controls and uses a replacement native button", "engine": "firefox" }, { "file": "accessibility-controls.spec.js", "title": "candidate: an unrelated instance update cannot take focus from another player", "engine": "firefox" }, { "file": "accessibility-controls.spec.js", "title": "candidate: a disabled native replacement falls back and focus callbacks can destroy the player", "engine": "firefox" }, { "file": "accessibility-controls.spec.js", "title": "candidate: replacing a focused control restores its new entry without intermediate focus", "engine": "webkit" }, { "file": "accessibility-controls.spec.js", "title": "candidate: removing a focused control chooses a surviving neighbor and preserves external focus", "engine": "webkit" }, { "file": "accessibility-controls.spec.js", "title": "candidate: failed control replacement recovers focus but a veto keeps the original focused entry", "engine": "webkit" }, { "file": "accessibility-controls.spec.js", "title": "candidate: callbacks can transfer focus outside without an intermediate or final control focus", "engine": "webkit" }, { "file": "accessibility-controls.spec.js", "title": "candidate: replacing a focused selector option transfers focus to the new control", "engine": "webkit" }, { "file": "accessibility-controls.spec.js", "title": "candidate: removing the last focusable control leaves focus on the player without an extra sequential Tab stop", "engine": "webkit" }, { "file": "accessibility-controls.spec.js", "title": "candidate: focus recovery skips unavailable controls and uses a replacement native button", "engine": "webkit" }, { "file": "accessibility-controls.spec.js", "title": "candidate: an unrelated instance update cannot take focus from another player", "engine": "webkit" }, { "file": "accessibility-controls.spec.js", "title": "candidate: a disabled native replacement falls back and focus callbacks can destroy the player", "engine": "webkit" }, { "file": "accessibility-info.spec.js", "title": "candidate: info keyboard entry, Space close and Escape preserve the opening control", "engine": "chromium" }, { "file": "accessibility-info.spec.js", "title": "candidate: info pointer and programmatic visibility preserve unrelated focus", "engine": "chromium" }, { "file": "accessibility-info.spec.js", "title": "candidate: repeated info init replaces keyboard bindings and retains the current return target", "engine": "chromium" }, { "file": "accessibility-info.spec.js", "title": "candidate: info with a removed origin returns to the player and destruction disables retained controls", "engine": "chromium" }, { "file": "accessibility-info.spec.js", "title": "published: optional SSR info wrapper may be absent without preventing polling and close", "engine": "chromium" }, { "file": "accessibility-info.spec.js", "title": "candidate: optional SSR info wrapper may be absent without preventing polling and close", "engine": "chromium" }, { "file": "accessibility-info.spec.js", "title": "candidate: failed info name initialization releases its handlers and permits a clean retry", "engine": "chromium" }, { "file": "accessibility-info.spec.js", "title": "candidate: info keyboard entry, Space close and Escape preserve the opening control", "engine": "firefox" }, { "file": "accessibility-info.spec.js", "title": "candidate: info pointer and programmatic visibility preserve unrelated focus", "engine": "firefox" }, { "file": "accessibility-info.spec.js", "title": "candidate: repeated info init replaces keyboard bindings and retains the current return target", "engine": "firefox" }, { "file": "accessibility-info.spec.js", "title": "candidate: info with a removed origin returns to the player and destruction disables retained controls", "engine": "firefox" }, { "file": "accessibility-info.spec.js", "title": "published: optional SSR info wrapper may be absent without preventing polling and close", "engine": "firefox" }, { "file": "accessibility-info.spec.js", "title": "candidate: optional SSR info wrapper may be absent without preventing polling and close", "engine": "firefox" }, { "file": "accessibility-info.spec.js", "title": "candidate: failed info name initialization releases its handlers and permits a clean retry", "engine": "firefox" }, { "file": "accessibility-info.spec.js", "title": "candidate: info keyboard entry, Space close and Escape preserve the opening control", "engine": "webkit" }, { "file": "accessibility-info.spec.js", "title": "candidate: info pointer and programmatic visibility preserve unrelated focus", "engine": "webkit" }, { "file": "accessibility-info.spec.js", "title": "candidate: repeated info init replaces keyboard bindings and retains the current return target", "engine": "webkit" }, { "file": "accessibility-info.spec.js", "title": "candidate: info with a removed origin returns to the player and destruction disables retained controls", "engine": "webkit" }, { "file": "accessibility-info.spec.js", "title": "published: optional SSR info wrapper may be absent without preventing polling and close", "engine": "webkit" }, { "file": "accessibility-info.spec.js", "title": "candidate: optional SSR info wrapper may be absent without preventing polling and close", "engine": "webkit" }, { "file": "accessibility-info.spec.js", "title": "candidate: failed info name initialization releases its handlers and permits a clean retry", "engine": "webkit" }, { "file": "accessibility-lock.spec.js", "title": "candidate: lock uses one stable keyboard button, Escape unlocks and hidden controls leave Tab order", "engine": "chromium" }, { "file": "accessibility-lock.spec.js", "title": "candidate: programmatic lock moves hidden control focus to unlock and caller tabindex survives", "engine": "chromium" }, { "file": "accessibility-lock.spec.js", "title": "candidate: locked additions stay out of Tab order and removal or destruction releases focus attributes", "engine": "chromium" }, { "file": "accessibility-lock.spec.js", "title": "candidate: lock Tab fallback works without native inert and preserves caller focus attributes", "engine": "chromium" }, { "file": "accessibility-lock.spec.js", "title": "candidate: moving a control outside a locked region restores its tabindex and cleanup preserves later caller edits", "engine": "chromium" }, { "file": "accessibility-lock.spec.js", "title": "candidate: remounting an already locked layer reflects actual state and replaces its keyboard scope", "engine": "chromium" }, { "file": "accessibility-lock.spec.js", "title": "candidate: lock uses one stable keyboard button, Escape unlocks and hidden controls leave Tab order", "engine": "firefox" }, { "file": "accessibility-lock.spec.js", "title": "candidate: programmatic lock moves hidden control focus to unlock and caller tabindex survives", "engine": "firefox" }, { "file": "accessibility-lock.spec.js", "title": "candidate: locked additions stay out of Tab order and removal or destruction releases focus attributes", "engine": "firefox" }, { "file": "accessibility-lock.spec.js", "title": "candidate: lock Tab fallback works without native inert and preserves caller focus attributes", "engine": "firefox" }, { "file": "accessibility-lock.spec.js", "title": "candidate: moving a control outside a locked region restores its tabindex and cleanup preserves later caller edits", "engine": "firefox" }, { "file": "accessibility-lock.spec.js", "title": "candidate: remounting an already locked layer reflects actual state and replaces its keyboard scope", "engine": "firefox" }, { "file": "accessibility-lock.spec.js", "title": "candidate: lock uses one stable keyboard button, Escape unlocks and hidden controls leave Tab order", "engine": "webkit" }, { "file": "accessibility-lock.spec.js", "title": "candidate: programmatic lock moves hidden control focus to unlock and caller tabindex survives", "engine": "webkit" }, { "file": "accessibility-lock.spec.js", "title": "candidate: locked additions stay out of Tab order and removal or destruction releases focus attributes", "engine": "webkit" }, { "file": "accessibility-lock.spec.js", "title": "candidate: lock Tab fallback works without native inert and preserves caller focus attributes", "engine": "webkit" }, { "file": "accessibility-lock.spec.js", "title": "candidate: moving a control outside a locked region restores its tabindex and cleanup preserves later caller edits", "engine": "webkit" }, { "file": "accessibility-lock.spec.js", "title": "candidate: remounting an already locked layer reflects actual state and replaces its keyboard scope", "engine": "webkit" }, { "file": "accessibility-mini.spec.js", "title": "candidate: mini keyboard entry reaches close and stable playback controls and Escape returns focus", "engine": "chromium" }, { "file": "accessibility-mini.spec.js", "title": "candidate: mini pointer entry preserves focus and Space closes after keyboard navigation", "engine": "chromium" }, { "file": "accessibility-mini.spec.js", "title": "candidate: programmatic mini exit preserves external focus and removed return targets use the player", "engine": "chromium" }, { "file": "accessibility-mini.spec.js", "title": "candidate: destroying from mini return focus cancels late notifications and retained controls", "engine": "chromium" }, { "file": "accessibility-mini.spec.js", "title": "candidate: mini reuse keeps keyboard entry and never returns to a stale or hidden origin", "engine": "chromium" }, { "file": "accessibility-mini.spec.js", "title": "candidate: mini names use existing i18n keys and hidden controls cannot reactivate the mode", "engine": "chromium" }, { "file": "accessibility-mini.spec.js", "title": "candidate: mini keyboard entry reaches close and stable playback controls and Escape returns focus", "engine": "firefox" }, { "file": "accessibility-mini.spec.js", "title": "candidate: mini pointer entry preserves focus and Space closes after keyboard navigation", "engine": "firefox" }, { "file": "accessibility-mini.spec.js", "title": "candidate: programmatic mini exit preserves external focus and removed return targets use the player", "engine": "firefox" }, { "file": "accessibility-mini.spec.js", "title": "candidate: destroying from mini return focus cancels late notifications and retained controls", "engine": "firefox" }, { "file": "accessibility-mini.spec.js", "title": "candidate: mini reuse keeps keyboard entry and never returns to a stale or hidden origin", "engine": "firefox" }, { "file": "accessibility-mini.spec.js", "title": "candidate: mini names use existing i18n keys and hidden controls cannot reactivate the mode", "engine": "firefox" }, { "file": "accessibility-mini.spec.js", "title": "candidate: mini keyboard entry reaches close and stable playback controls and Escape returns focus", "engine": "webkit" }, { "file": "accessibility-mini.spec.js", "title": "candidate: mini pointer entry preserves focus and Space closes after keyboard navigation", "engine": "webkit" }, { "file": "accessibility-mini.spec.js", "title": "candidate: programmatic mini exit preserves external focus and removed return targets use the player", "engine": "webkit" }, { "file": "accessibility-mini.spec.js", "title": "candidate: destroying from mini return focus cancels late notifications and retained controls", "engine": "webkit" }, { "file": "accessibility-mini.spec.js", "title": "candidate: mini reuse keeps keyboard entry and never returns to a stale or hidden origin", "engine": "webkit" }, { "file": "accessibility-mini.spec.js", "title": "candidate: mini names use existing i18n keys and hidden controls cannot reactivate the mode", "engine": "webkit" }, { "file": "accessibility-selector.spec.js", "title": "candidate: selector Tab entry, focus navigation and typeahead do not commit before Enter", "engine": "chromium" }, { "file": "accessibility-selector.spec.js", "title": "candidate: selector Space commits once and Escape closes before web fullscreen exits", "engine": "chromium" }, { "file": "accessibility-selector.spec.js", "title": "candidate: keyboard selector retains asynchronous choice ownership and disposal", "engine": "chromium" }, { "file": "accessibility-selector.spec.js", "title": "candidate: pointer hover and selector selection retain their existing click behavior", "engine": "chromium" }, { "file": "accessibility-selector.spec.js", "title": "candidate: custom native controls retain their semantics and typing inside selector content", "engine": "chromium" }, { "file": "accessibility-selector.spec.js", "title": "candidate: empty selectors are disabled and selection callbacks keep explicitly moved focus", "engine": "chromium" }, { "file": "accessibility-selector.spec.js", "title": "candidate: typeahead accepts prefixes, resets after navigation and leaves modified input alone", "engine": "chromium" }, { "file": "accessibility-selector.spec.js", "title": "candidate: native trigger markup remains a single button and can open the existing popup", "engine": "chromium" }, { "file": "accessibility-selector.spec.js", "title": "candidate: a dismissed hovered selector releases the next Escape to fullscreen", "engine": "chromium" }, { "file": "accessibility-selector.spec.js", "title": "candidate: hovering an empty selector does not announce an expanded popup", "engine": "chromium" }, { "file": "accessibility-selector.spec.js", "title": "candidate: selector Tab entry, focus navigation and typeahead do not commit before Enter", "engine": "firefox" }, { "file": "accessibility-selector.spec.js", "title": "candidate: selector Space commits once and Escape closes before web fullscreen exits", "engine": "firefox" }, { "file": "accessibility-selector.spec.js", "title": "candidate: keyboard selector retains asynchronous choice ownership and disposal", "engine": "firefox" }, { "file": "accessibility-selector.spec.js", "title": "candidate: pointer hover and selector selection retain their existing click behavior", "engine": "firefox" }, { "file": "accessibility-selector.spec.js", "title": "candidate: custom native controls retain their semantics and typing inside selector content", "engine": "firefox" }, { "file": "accessibility-selector.spec.js", "title": "candidate: empty selectors are disabled and selection callbacks keep explicitly moved focus", "engine": "firefox" }, { "file": "accessibility-selector.spec.js", "title": "candidate: typeahead accepts prefixes, resets after navigation and leaves modified input alone", "engine": "firefox" }, { "file": "accessibility-selector.spec.js", "title": "candidate: native trigger markup remains a single button and can open the existing popup", "engine": "firefox" }, { "file": "accessibility-selector.spec.js", "title": "candidate: a dismissed hovered selector releases the next Escape to fullscreen", "engine": "firefox" }, { "file": "accessibility-selector.spec.js", "title": "candidate: hovering an empty selector does not announce an expanded popup", "engine": "firefox" }, { "file": "accessibility-selector.spec.js", "title": "candidate: selector Tab entry, focus navigation and typeahead do not commit before Enter", "engine": "webkit" }, { "file": "accessibility-selector.spec.js", "title": "candidate: selector Space commits once and Escape closes before web fullscreen exits", "engine": "webkit" }, { "file": "accessibility-selector.spec.js", "title": "candidate: keyboard selector retains asynchronous choice ownership and disposal", "engine": "webkit" }, { "file": "accessibility-selector.spec.js", "title": "candidate: pointer hover and selector selection retain their existing click behavior", "engine": "webkit" }, { "file": "accessibility-selector.spec.js", "title": "candidate: custom native controls retain their semantics and typing inside selector content", "engine": "webkit" }, { "file": "accessibility-selector.spec.js", "title": "candidate: empty selectors are disabled and selection callbacks keep explicitly moved focus", "engine": "webkit" }, { "file": "accessibility-selector.spec.js", "title": "candidate: typeahead accepts prefixes, resets after navigation and leaves modified input alone", "engine": "webkit" }, { "file": "accessibility-selector.spec.js", "title": "candidate: native trigger markup remains a single button and can open the existing popup", "engine": "webkit" }, { "file": "accessibility-selector.spec.js", "title": "candidate: a dismissed hovered selector releases the next Escape to fullscreen", "engine": "webkit" }, { "file": "accessibility-selector.spec.js", "title": "candidate: hovering an empty selector does not announce an expanded popup", "engine": "webkit" }, { "file": "accessibility-setting.spec.js", "title": "candidate: setting keyboard enters nested panels and returns to the originating item", "engine": "chromium" }, { "file": "accessibility-setting.spec.js", "title": "candidate: setting switches and native ranges keep callbacks and avoid player shortcuts", "engine": "chromium" }, { "file": "accessibility-setting.spec.js", "title": "candidate: setting Tab leaves without trapping focus and pointer opening keeps its old focus path", "engine": "chromium" }, { "file": "accessibility-setting.spec.js", "title": "candidate: setting update, failed replacement and removal recover visible focus", "engine": "chromium" }, { "file": "accessibility-setting.spec.js", "title": "candidate: suspended settings ignore keyboard callbacks and restored items resume", "engine": "chromium" }, { "file": "accessibility-setting.spec.js", "title": "candidate: native setting buttons retain their role, click path and keyboard navigation", "engine": "chromium" }, { "file": "accessibility-setting.spec.js", "title": "candidate: destroying during moved focus restoration cancels fullscreen notifications", "engine": "chromium" }, { "file": "accessibility-setting.spec.js", "title": "candidate: setting keyboard enters nested panels and returns to the originating item", "engine": "firefox" }, { "file": "accessibility-setting.spec.js", "title": "candidate: setting switches and native ranges keep callbacks and avoid player shortcuts", "engine": "firefox" }, { "file": "accessibility-setting.spec.js", "title": "candidate: setting Tab leaves without trapping focus and pointer opening keeps its old focus path", "engine": "firefox" }, { "file": "accessibility-setting.spec.js", "title": "candidate: setting update, failed replacement and removal recover visible focus", "engine": "firefox" }, { "file": "accessibility-setting.spec.js", "title": "candidate: suspended settings ignore keyboard callbacks and restored items resume", "engine": "firefox" }, { "file": "accessibility-setting.spec.js", "title": "candidate: native setting buttons retain their role, click path and keyboard navigation", "engine": "firefox" }, { "file": "accessibility-setting.spec.js", "title": "candidate: destroying during moved focus restoration cancels fullscreen notifications", "engine": "firefox" }, { "file": "accessibility-setting.spec.js", "title": "candidate: setting keyboard enters nested panels and returns to the originating item", "engine": "webkit" }, { "file": "accessibility-setting.spec.js", "title": "candidate: setting switches and native ranges keep callbacks and avoid player shortcuts", "engine": "webkit" }, { "file": "accessibility-setting.spec.js", "title": "candidate: setting Tab leaves without trapping focus and pointer opening keeps its old focus path", "engine": "webkit" }, { "file": "accessibility-setting.spec.js", "title": "candidate: setting update, failed replacement and removal recover visible focus", "engine": "webkit" }, { "file": "accessibility-setting.spec.js", "title": "candidate: suspended settings ignore keyboard callbacks and restored items resume", "engine": "webkit" }, { "file": "accessibility-setting.spec.js", "title": "candidate: native setting buttons retain their role, click path and keyboard navigation", "engine": "webkit" }, { "file": "accessibility-setting.spec.js", "title": "candidate: destroying during moved focus restoration cancels fullscreen notifications", "engine": "webkit" }, { "file": "accessibility-slider.spec.js", "title": "candidate: progress is the first control, seeks with owned keys and follows actual media time", "engine": "chromium" }, { "file": "accessibility-slider.spec.js", "title": "candidate: volume panel opens from keyboard focus and the slider unmutes without seeking", "engine": "chromium" }, { "file": "accessibility-slider.spec.js", "title": "candidate: unknown duration disables progress until metadata returns and labels use i18n", "engine": "chromium" }, { "file": "accessibility-slider.spec.js", "title": "candidate: progress removal and volume destruction inside callbacks cancel pending writes", "engine": "chromium" }, { "file": "accessibility-slider.spec.js", "title": "candidate: progress is the first control, seeks with owned keys and follows actual media time", "engine": "firefox" }, { "file": "accessibility-slider.spec.js", "title": "candidate: volume panel opens from keyboard focus and the slider unmutes without seeking", "engine": "firefox" }, { "file": "accessibility-slider.spec.js", "title": "candidate: unknown duration disables progress until metadata returns and labels use i18n", "engine": "firefox" }, { "file": "accessibility-slider.spec.js", "title": "candidate: progress removal and volume destruction inside callbacks cancel pending writes", "engine": "firefox" }, { "file": "accessibility-slider.spec.js", "title": "candidate: progress is the first control, seeks with owned keys and follows actual media time", "engine": "webkit" }, { "file": "accessibility-slider.spec.js", "title": "candidate: volume panel opens from keyboard focus and the slider unmutes without seeking", "engine": "webkit" }, { "file": "accessibility-slider.spec.js", "title": "candidate: unknown duration disables progress until metadata returns and labels use i18n", "engine": "webkit" }, { "file": "accessibility-slider.spec.js", "title": "candidate: progress removal and volume destruction inside callbacks cancel pending writes", "engine": "webkit" }, { "file": "accessibility.spec.js", "title": "published: Tab skips the non-interactive main controls", "engine": "chromium" }, { "file": "accessibility.spec.js", "title": "candidate: keyboard reaches stable play control and toggles once with focus retained", "engine": "chromium" }, { "file": "accessibility.spec.js", "title": "candidate: mute state, focus visibility and automatic hiding follow keyboard focus", "engine": "chromium" }, { "file": "accessibility.spec.js", "title": "candidate: custom control keyboard clicks retain the callback and release on replacement", "engine": "chromium" }, { "file": "accessibility.spec.js", "title": "candidate: native buttons inside custom controls retain activation without player hotkeys", "engine": "chromium" }, { "file": "accessibility.spec.js", "title": "candidate: pointer focus does not prevent the existing automatic control hiding", "engine": "chromium" }, { "file": "accessibility.spec.js", "title": "published: Tab skips the non-interactive main controls", "engine": "firefox" }, { "file": "accessibility.spec.js", "title": "candidate: keyboard reaches stable play control and toggles once with focus retained", "engine": "firefox" }, { "file": "accessibility.spec.js", "title": "candidate: mute state, focus visibility and automatic hiding follow keyboard focus", "engine": "firefox" }, { "file": "accessibility.spec.js", "title": "candidate: custom control keyboard clicks retain the callback and release on replacement", "engine": "firefox" }, { "file": "accessibility.spec.js", "title": "candidate: native buttons inside custom controls retain activation without player hotkeys", "engine": "firefox" }, { "file": "accessibility.spec.js", "title": "candidate: pointer focus does not prevent the existing automatic control hiding", "engine": "firefox" }, { "file": "accessibility.spec.js", "title": "published: Tab skips the non-interactive main controls", "engine": "webkit" }, { "file": "accessibility.spec.js", "title": "candidate: keyboard reaches stable play control and toggles once with focus retained", "engine": "webkit" }, { "file": "accessibility.spec.js", "title": "candidate: mute state, focus visibility and automatic hiding follow keyboard focus", "engine": "webkit" }, { "file": "accessibility.spec.js", "title": "candidate: custom control keyboard clicks retain the callback and release on replacement", "engine": "webkit" }, { "file": "accessibility.spec.js", "title": "candidate: native buttons inside custom controls retain activation without player hotkeys", "engine": "webkit" }, { "file": "accessibility.spec.js", "title": "candidate: pointer focus does not prevent the existing automatic control hiding", "engine": "webkit" }, { "file": "components.spec.js", "title": "candidate: control layout follows resize and removal with observer fallback=false", "engine": "chromium" }, { "file": "components.spec.js", "title": "candidate: control layout follows resize and removal with observer fallback=true", "engine": "chromium" }, { "file": "components.spec.js", "title": "published: selector background clicks and rejection ownership are explicit", "engine": "chromium" }, { "file": "components.spec.js", "title": "published: beforeUnmount errors remain retryable and detached nodes can be removed", "engine": "chromium" }, { "file": "components.spec.js", "title": "published: failed mounted reentry preserves its successful replacement", "engine": "chromium" }, { "file": "components.spec.js", "title": "published: context menu builtin selection and owned updates preserve state", "engine": "chromium" }, { "file": "components.spec.js", "title": "published: a prototype-named component keeps the registry prototype intact", "engine": "chromium" }, { "file": "components.spec.js", "title": "published: component factories, ordering, bound methods and update hooks retain contracts", "engine": "chromium" }, { "file": "components.spec.js", "title": "published: removed builtin time and volume controls stop owned effects", "engine": "chromium" }, { "file": "components.spec.js", "title": "published: selector items can be reused by an update without changing getter flags", "engine": "chromium" }, { "file": "components.spec.js", "title": "published: async selector results cannot overwrite a newer choice or removed entry", "engine": "chromium" }, { "file": "components.spec.js", "title": "published: a failed mounted hook rolls back its DOM alias and listeners", "engine": "chromium" }, { "file": "components.spec.js", "title": "published: reentrant beforeUnmount removes only once", "engine": "chromium" }, { "file": "components.spec.js", "title": "published: narrow controls stay inside the player without hiding buttons", "engine": "chromium" }, { "file": "components.spec.js", "title": "published: progress markers treat text as data and removed drags cannot seek", "engine": "chromium" }, { "file": "components.spec.js", "title": "candidate: selector background clicks and rejection ownership are explicit", "engine": "chromium" }, { "file": "components.spec.js", "title": "candidate: beforeUnmount errors remain retryable and detached nodes can be removed", "engine": "chromium" }, { "file": "components.spec.js", "title": "candidate: failed mounted reentry preserves its successful replacement", "engine": "chromium" }, { "file": "components.spec.js", "title": "candidate: context menu builtin selection and owned updates preserve state", "engine": "chromium" }, { "file": "components.spec.js", "title": "candidate: a prototype-named component keeps the registry prototype intact", "engine": "chromium" }, { "file": "components.spec.js", "title": "candidate: component factories, ordering, bound methods and update hooks retain contracts", "engine": "chromium" }, { "file": "components.spec.js", "title": "candidate: removed builtin time and volume controls stop owned effects", "engine": "chromium" }, { "file": "components.spec.js", "title": "candidate: selector items can be reused by an update without changing getter flags", "engine": "chromium" }, { "file": "components.spec.js", "title": "candidate: async selector results cannot overwrite a newer choice or removed entry", "engine": "chromium" }, { "file": "components.spec.js", "title": "candidate: a failed mounted hook rolls back its DOM alias and listeners", "engine": "chromium" }, { "file": "components.spec.js", "title": "candidate: reentrant beforeUnmount removes only once", "engine": "chromium" }, { "file": "components.spec.js", "title": "candidate: narrow controls stay inside the player without hiding buttons", "engine": "chromium" }, { "file": "components.spec.js", "title": "candidate: progress markers treat text as data and removed drags cannot seek", "engine": "chromium" }, { "file": "components.spec.js", "title": "candidate: control layout follows resize and removal with observer fallback=false", "engine": "firefox" }, { "file": "components.spec.js", "title": "candidate: control layout follows resize and removal with observer fallback=true", "engine": "firefox" }, { "file": "components.spec.js", "title": "published: selector background clicks and rejection ownership are explicit", "engine": "firefox" }, { "file": "components.spec.js", "title": "published: beforeUnmount errors remain retryable and detached nodes can be removed", "engine": "firefox" }, { "file": "components.spec.js", "title": "published: failed mounted reentry preserves its successful replacement", "engine": "firefox" }, { "file": "components.spec.js", "title": "published: context menu builtin selection and owned updates preserve state", "engine": "firefox" }, { "file": "components.spec.js", "title": "published: a prototype-named component keeps the registry prototype intact", "engine": "firefox" }, { "file": "components.spec.js", "title": "published: component factories, ordering, bound methods and update hooks retain contracts", "engine": "firefox" }, { "file": "components.spec.js", "title": "published: removed builtin time and volume controls stop owned effects", "engine": "firefox" }, { "file": "components.spec.js", "title": "published: selector items can be reused by an update without changing getter flags", "engine": "firefox" }, { "file": "components.spec.js", "title": "published: async selector results cannot overwrite a newer choice or removed entry", "engine": "firefox" }, { "file": "components.spec.js", "title": "published: a failed mounted hook rolls back its DOM alias and listeners", "engine": "firefox" }, { "file": "components.spec.js", "title": "published: reentrant beforeUnmount removes only once", "engine": "firefox" }, { "file": "components.spec.js", "title": "published: narrow controls stay inside the player without hiding buttons", "engine": "firefox" }, { "file": "components.spec.js", "title": "published: progress markers treat text as data and removed drags cannot seek", "engine": "firefox" }, { "file": "components.spec.js", "title": "candidate: selector background clicks and rejection ownership are explicit", "engine": "firefox" }, { "file": "components.spec.js", "title": "candidate: beforeUnmount errors remain retryable and detached nodes can be removed", "engine": "firefox" }, { "file": "components.spec.js", "title": "candidate: failed mounted reentry preserves its successful replacement", "engine": "firefox" }, { "file": "components.spec.js", "title": "candidate: context menu builtin selection and owned updates preserve state", "engine": "firefox" }, { "file": "components.spec.js", "title": "candidate: a prototype-named component keeps the registry prototype intact", "engine": "firefox" }, { "file": "components.spec.js", "title": "candidate: component factories, ordering, bound methods and update hooks retain contracts", "engine": "firefox" }, { "file": "components.spec.js", "title": "candidate: removed builtin time and volume controls stop owned effects", "engine": "firefox" }, { "file": "components.spec.js", "title": "candidate: selector items can be reused by an update without changing getter flags", "engine": "firefox" }, { "file": "components.spec.js", "title": "candidate: async selector results cannot overwrite a newer choice or removed entry", "engine": "firefox" }, { "file": "components.spec.js", "title": "candidate: a failed mounted hook rolls back its DOM alias and listeners", "engine": "firefox" }, { "file": "components.spec.js", "title": "candidate: reentrant beforeUnmount removes only once", "engine": "firefox" }, { "file": "components.spec.js", "title": "candidate: narrow controls stay inside the player without hiding buttons", "engine": "firefox" }, { "file": "components.spec.js", "title": "candidate: progress markers treat text as data and removed drags cannot seek", "engine": "firefox" }, { "file": "components.spec.js", "title": "candidate: control layout follows resize and removal with observer fallback=false", "engine": "webkit" }, { "file": "components.spec.js", "title": "candidate: control layout follows resize and removal with observer fallback=true", "engine": "webkit" }, { "file": "components.spec.js", "title": "published: selector background clicks and rejection ownership are explicit", "engine": "webkit" }, { "file": "components.spec.js", "title": "published: beforeUnmount errors remain retryable and detached nodes can be removed", "engine": "webkit" }, { "file": "components.spec.js", "title": "published: failed mounted reentry preserves its successful replacement", "engine": "webkit" }, { "file": "components.spec.js", "title": "published: context menu builtin selection and owned updates preserve state", "engine": "webkit" }, { "file": "components.spec.js", "title": "published: a prototype-named component keeps the registry prototype intact", "engine": "webkit" }, { "file": "components.spec.js", "title": "published: component factories, ordering, bound methods and update hooks retain contracts", "engine": "webkit" }, { "file": "components.spec.js", "title": "published: removed builtin time and volume controls stop owned effects", "engine": "webkit" }, { "file": "components.spec.js", "title": "published: selector items can be reused by an update without changing getter flags", "engine": "webkit" }, { "file": "components.spec.js", "title": "published: async selector results cannot overwrite a newer choice or removed entry", "engine": "webkit" }, { "file": "components.spec.js", "title": "published: a failed mounted hook rolls back its DOM alias and listeners", "engine": "webkit" }, { "file": "components.spec.js", "title": "published: reentrant beforeUnmount removes only once", "engine": "webkit" }, { "file": "components.spec.js", "title": "published: narrow controls stay inside the player without hiding buttons", "engine": "webkit" }, { "file": "components.spec.js", "title": "published: progress markers treat text as data and removed drags cannot seek", "engine": "webkit" }, { "file": "components.spec.js", "title": "candidate: selector background clicks and rejection ownership are explicit", "engine": "webkit" }, { "file": "components.spec.js", "title": "candidate: beforeUnmount errors remain retryable and detached nodes can be removed", "engine": "webkit" }, { "file": "components.spec.js", "title": "candidate: failed mounted reentry preserves its successful replacement", "engine": "webkit" }, { "file": "components.spec.js", "title": "candidate: context menu builtin selection and owned updates preserve state", "engine": "webkit" }, { "file": "components.spec.js", "title": "candidate: a prototype-named component keeps the registry prototype intact", "engine": "webkit" }, { "file": "components.spec.js", "title": "candidate: component factories, ordering, bound methods and update hooks retain contracts", "engine": "webkit" }, { "file": "components.spec.js", "title": "candidate: removed builtin time and volume controls stop owned effects", "engine": "webkit" }, { "file": "components.spec.js", "title": "candidate: selector items can be reused by an update without changing getter flags", "engine": "webkit" }, { "file": "components.spec.js", "title": "candidate: async selector results cannot overwrite a newer choice or removed entry", "engine": "webkit" }, { "file": "components.spec.js", "title": "candidate: a failed mounted hook rolls back its DOM alias and listeners", "engine": "webkit" }, { "file": "components.spec.js", "title": "candidate: reentrant beforeUnmount removes only once", "engine": "webkit" }, { "file": "components.spec.js", "title": "candidate: narrow controls stay inside the player without hiding buttons", "engine": "webkit" }, { "file": "components.spec.js", "title": "candidate: progress markers treat text as data and removed drags cannot seek", "engine": "webkit" }, { "file": "display-mini.spec.js", "title": "published: mini retains first-entry and reuse DOM order and display", "engine": "chromium" }, { "file": "display-mini.spec.js", "title": "published: mini restores the original video parent and sibling after repeated entry", "engine": "chromium" }, { "file": "display-mini.spec.js", "title": "published: destroying active mini removeHtml=false removes the owned popup", "engine": "chromium" }, { "file": "display-mini.spec.js", "title": "published: destroying active mini removeHtml=true removes the owned popup", "engine": "chromium" }, { "file": "display-mini.spec.js", "title": "candidate: mini retains first-entry and reuse DOM order and display", "engine": "chromium" }, { "file": "display-mini.spec.js", "title": "candidate: mini restores the original video parent and sibling after repeated entry", "engine": "chromium" }, { "file": "display-mini.spec.js", "title": "candidate: destroying active mini removeHtml=false removes the owned popup", "engine": "chromium" }, { "file": "display-mini.spec.js", "title": "candidate: destroying active mini removeHtml=true removes the owned popup", "engine": "chromium" }, { "file": "display-mini.spec.js", "title": "candidate: hiding mini cancels drag and later document events cannot persist a hidden popup", "engine": "chromium" }, { "file": "display-mini.spec.js", "title": "candidate: mini remains in the viewport on small screens", "engine": "chromium" }, { "file": "display-mini.spec.js", "title": "candidate: mini drag stores the actual position and playback buttons remain usable", "engine": "chromium" }, { "file": "display-mini.spec.js", "title": "candidate: mini exit failure keeps the active video and can restore on retry", "engine": "chromium" }, { "file": "display-mini.spec.js", "title": "candidate: mini reentry during restoration retains the new placement snapshot", "engine": "chromium" }, { "file": "display-mini.spec.js", "title": "candidate: mini construction hide releases incomplete UI and restores the video", "engine": "chromium" }, { "file": "display-mini.spec.js", "title": "candidate: mini construction destroy releases incomplete UI and restores the video", "engine": "chromium" }, { "file": "display-mini.spec.js", "title": "candidate: mini construction fail releases incomplete UI and restores the video", "engine": "chromium" }, { "file": "display-mini.spec.js", "title": "candidate: mini preserves a caller-owned popup on destruction", "engine": "chromium" }, { "file": "display-mini.spec.js", "title": "candidate: reentrant mini creation allocates only one owned popup", "engine": "chromium" }, { "file": "display-mini.spec.js", "title": "candidate: mini switches to body web fullscreen and restores the original video placement", "engine": "chromium" }, { "file": "display-mini.spec.js", "title": "candidate: destroying a mini drag removes its document subscriptions", "engine": "chromium" }, { "file": "display-mini.spec.js", "title": "published: mini retains first-entry and reuse DOM order and display", "engine": "firefox" }, { "file": "display-mini.spec.js", "title": "published: mini restores the original video parent and sibling after repeated entry", "engine": "firefox" }, { "file": "display-mini.spec.js", "title": "published: destroying active mini removeHtml=false removes the owned popup", "engine": "firefox" }, { "file": "display-mini.spec.js", "title": "published: destroying active mini removeHtml=true removes the owned popup", "engine": "firefox" }, { "file": "display-mini.spec.js", "title": "candidate: mini retains first-entry and reuse DOM order and display", "engine": "firefox" }, { "file": "display-mini.spec.js", "title": "candidate: mini restores the original video parent and sibling after repeated entry", "engine": "firefox" }, { "file": "display-mini.spec.js", "title": "candidate: destroying active mini removeHtml=false removes the owned popup", "engine": "firefox" }, { "file": "display-mini.spec.js", "title": "candidate: destroying active mini removeHtml=true removes the owned popup", "engine": "firefox" }, { "file": "display-mini.spec.js", "title": "candidate: hiding mini cancels drag and later document events cannot persist a hidden popup", "engine": "firefox" }, { "file": "display-mini.spec.js", "title": "candidate: mini remains in the viewport on small screens", "engine": "firefox" }, { "file": "display-mini.spec.js", "title": "candidate: mini drag stores the actual position and playback buttons remain usable", "engine": "firefox" }, { "file": "display-mini.spec.js", "title": "candidate: mini exit failure keeps the active video and can restore on retry", "engine": "firefox" }, { "file": "display-mini.spec.js", "title": "candidate: mini reentry during restoration retains the new placement snapshot", "engine": "firefox" }, { "file": "display-mini.spec.js", "title": "candidate: mini construction hide releases incomplete UI and restores the video", "engine": "firefox" }, { "file": "display-mini.spec.js", "title": "candidate: mini construction destroy releases incomplete UI and restores the video", "engine": "firefox" }, { "file": "display-mini.spec.js", "title": "candidate: mini construction fail releases incomplete UI and restores the video", "engine": "firefox" }, { "file": "display-mini.spec.js", "title": "candidate: mini preserves a caller-owned popup on destruction", "engine": "firefox" }, { "file": "display-mini.spec.js", "title": "candidate: reentrant mini creation allocates only one owned popup", "engine": "firefox" }, { "file": "display-mini.spec.js", "title": "candidate: mini switches to body web fullscreen and restores the original video placement", "engine": "firefox" }, { "file": "display-mini.spec.js", "title": "candidate: destroying a mini drag removes its document subscriptions", "engine": "firefox" }, { "file": "display-mini.spec.js", "title": "published: mini retains first-entry and reuse DOM order and display", "engine": "webkit" }, { "file": "display-mini.spec.js", "title": "published: mini restores the original video parent and sibling after repeated entry", "engine": "webkit" }, { "file": "display-mini.spec.js", "title": "published: destroying active mini removeHtml=false removes the owned popup", "engine": "webkit" }, { "file": "display-mini.spec.js", "title": "published: destroying active mini removeHtml=true removes the owned popup", "engine": "webkit" }, { "file": "display-mini.spec.js", "title": "candidate: mini retains first-entry and reuse DOM order and display", "engine": "webkit" }, { "file": "display-mini.spec.js", "title": "candidate: mini restores the original video parent and sibling after repeated entry", "engine": "webkit" }, { "file": "display-mini.spec.js", "title": "candidate: destroying active mini removeHtml=false removes the owned popup", "engine": "webkit" }, { "file": "display-mini.spec.js", "title": "candidate: destroying active mini removeHtml=true removes the owned popup", "engine": "webkit" }, { "file": "display-mini.spec.js", "title": "candidate: hiding mini cancels drag and later document events cannot persist a hidden popup", "engine": "webkit" }, { "file": "display-mini.spec.js", "title": "candidate: mini remains in the viewport on small screens", "engine": "webkit" }, { "file": "display-mini.spec.js", "title": "candidate: mini drag stores the actual position and playback buttons remain usable", "engine": "webkit" }, { "file": "display-mini.spec.js", "title": "candidate: mini exit failure keeps the active video and can restore on retry", "engine": "webkit" }, { "file": "display-mini.spec.js", "title": "candidate: mini reentry during restoration retains the new placement snapshot", "engine": "webkit" }, { "file": "display-mini.spec.js", "title": "candidate: mini construction hide releases incomplete UI and restores the video", "engine": "webkit" }, { "file": "display-mini.spec.js", "title": "candidate: mini construction destroy releases incomplete UI and restores the video", "engine": "webkit" }, { "file": "display-mini.spec.js", "title": "candidate: mini construction fail releases incomplete UI and restores the video", "engine": "webkit" }, { "file": "display-mini.spec.js", "title": "candidate: mini preserves a caller-owned popup on destruction", "engine": "webkit" }, { "file": "display-mini.spec.js", "title": "candidate: reentrant mini creation allocates only one owned popup", "engine": "webkit" }, { "file": "display-mini.spec.js", "title": "candidate: mini switches to body web fullscreen and restores the original video placement", "engine": "webkit" }, { "file": "display-mini.spec.js", "title": "candidate: destroying a mini drag removes its document subscriptions", "engine": "webkit" }, { "file": "hotkey.spec.js", "title": "published: mobile keeps keyboard initialization opt-in through the existing init method", "engine": "chromium" }, { "file": "hotkey.spec.js", "title": "published: prototype-named hotkeys do not crash or replace the keys prototype", "engine": "chromium" }, { "file": "hotkey.spec.js", "title": "candidate: mobile keeps keyboard initialization opt-in through the existing init method", "engine": "chromium" }, { "file": "hotkey.spec.js", "title": "candidate: prototype-named hotkeys do not crash or replace the keys prototype", "engine": "chromium" }, { "file": "hotkey.spec.js", "title": "candidate: native keyboard play/pause, seek, volume and web-fullscreen Escape retain their behavior", "engine": "chromium" }, { "file": "hotkey.spec.js", "title": "candidate: inherited editing and IME composition do not activate player shortcuts", "engine": "chromium" }, { "file": "hotkey.spec.js", "title": "candidate: plaintext editing and IME composition do not activate player shortcuts", "engine": "chromium" }, { "file": "hotkey.spec.js", "title": "candidate: select editing and IME composition do not activate player shortcuts", "engine": "chromium" }, { "file": "hotkey.spec.js", "title": "candidate: destroying during a key callback stops remaining keys and notifications", "engine": "chromium" }, { "file": "hotkey.spec.js", "title": "published: hotkey registration retains chain, array identity, receiver and event order", "engine": "chromium" }, { "file": "hotkey.spec.js", "title": "published: rebound document input retains typing instead of triggering a hotkey", "engine": "chromium" }, { "file": "hotkey.spec.js", "title": "published: shadow-root input retains typing instead of triggering a hotkey", "engine": "chromium" }, { "file": "hotkey.spec.js", "title": "published: repeated hotkey init does not multiply the keyboard subscription", "engine": "chromium" }, { "file": "hotkey.spec.js", "title": "candidate: hotkey registration retains chain, array identity, receiver and event order", "engine": "chromium" }, { "file": "hotkey.spec.js", "title": "candidate: rebound document input retains typing instead of triggering a hotkey", "engine": "chromium" }, { "file": "hotkey.spec.js", "title": "candidate: shadow-root input retains typing instead of triggering a hotkey", "engine": "chromium" }, { "file": "hotkey.spec.js", "title": "candidate: repeated hotkey init does not multiply the keyboard subscription", "engine": "chromium" }, { "file": "hotkey.spec.js", "title": "published: mobile keeps keyboard initialization opt-in through the existing init method", "engine": "firefox" }, { "file": "hotkey.spec.js", "title": "published: prototype-named hotkeys do not crash or replace the keys prototype", "engine": "firefox" }, { "file": "hotkey.spec.js", "title": "candidate: mobile keeps keyboard initialization opt-in through the existing init method", "engine": "firefox" }, { "file": "hotkey.spec.js", "title": "candidate: prototype-named hotkeys do not crash or replace the keys prototype", "engine": "firefox" }, { "file": "hotkey.spec.js", "title": "candidate: native keyboard play/pause, seek, volume and web-fullscreen Escape retain their behavior", "engine": "firefox" }, { "file": "hotkey.spec.js", "title": "candidate: inherited editing and IME composition do not activate player shortcuts", "engine": "firefox" }, { "file": "hotkey.spec.js", "title": "candidate: plaintext editing and IME composition do not activate player shortcuts", "engine": "firefox" }, { "file": "hotkey.spec.js", "title": "candidate: select editing and IME composition do not activate player shortcuts", "engine": "firefox" }, { "file": "hotkey.spec.js", "title": "candidate: destroying during a key callback stops remaining keys and notifications", "engine": "firefox" }, { "file": "hotkey.spec.js", "title": "published: hotkey registration retains chain, array identity, receiver and event order", "engine": "firefox" }, { "file": "hotkey.spec.js", "title": "published: rebound document input retains typing instead of triggering a hotkey", "engine": "firefox" }, { "file": "hotkey.spec.js", "title": "published: shadow-root input retains typing instead of triggering a hotkey", "engine": "firefox" }, { "file": "hotkey.spec.js", "title": "published: repeated hotkey init does not multiply the keyboard subscription", "engine": "firefox" }, { "file": "hotkey.spec.js", "title": "candidate: hotkey registration retains chain, array identity, receiver and event order", "engine": "firefox" }, { "file": "hotkey.spec.js", "title": "candidate: rebound document input retains typing instead of triggering a hotkey", "engine": "firefox" }, { "file": "hotkey.spec.js", "title": "candidate: shadow-root input retains typing instead of triggering a hotkey", "engine": "firefox" }, { "file": "hotkey.spec.js", "title": "candidate: repeated hotkey init does not multiply the keyboard subscription", "engine": "firefox" }, { "file": "hotkey.spec.js", "title": "published: mobile keeps keyboard initialization opt-in through the existing init method", "engine": "webkit" }, { "file": "hotkey.spec.js", "title": "published: prototype-named hotkeys do not crash or replace the keys prototype", "engine": "webkit" }, { "file": "hotkey.spec.js", "title": "candidate: mobile keeps keyboard initialization opt-in through the existing init method", "engine": "webkit" }, { "file": "hotkey.spec.js", "title": "candidate: prototype-named hotkeys do not crash or replace the keys prototype", "engine": "webkit" }, { "file": "hotkey.spec.js", "title": "candidate: native keyboard play/pause, seek, volume and web-fullscreen Escape retain their behavior", "engine": "webkit" }, { "file": "hotkey.spec.js", "title": "candidate: inherited editing and IME composition do not activate player shortcuts", "engine": "webkit" }, { "file": "hotkey.spec.js", "title": "candidate: plaintext editing and IME composition do not activate player shortcuts", "engine": "webkit" }, { "file": "hotkey.spec.js", "title": "candidate: select editing and IME composition do not activate player shortcuts", "engine": "webkit" }, { "file": "hotkey.spec.js", "title": "candidate: destroying during a key callback stops remaining keys and notifications", "engine": "webkit" }, { "file": "hotkey.spec.js", "title": "published: hotkey registration retains chain, array identity, receiver and event order", "engine": "webkit" }, { "file": "hotkey.spec.js", "title": "published: rebound document input retains typing instead of triggering a hotkey", "engine": "webkit" }, { "file": "hotkey.spec.js", "title": "published: shadow-root input retains typing instead of triggering a hotkey", "engine": "webkit" }, { "file": "hotkey.spec.js", "title": "published: repeated hotkey init does not multiply the keyboard subscription", "engine": "webkit" }, { "file": "hotkey.spec.js", "title": "candidate: hotkey registration retains chain, array identity, receiver and event order", "engine": "webkit" }, { "file": "hotkey.spec.js", "title": "candidate: rebound document input retains typing instead of triggering a hotkey", "engine": "webkit" }, { "file": "hotkey.spec.js", "title": "candidate: shadow-root input retains typing instead of triggering a hotkey", "engine": "webkit" }, { "file": "hotkey.spec.js", "title": "candidate: repeated hotkey init does not multiply the keyboard subscription", "engine": "webkit" }, { "file": "prompt-components.spec.js", "title": "published: mask preserves observations before and after its destroy handler", "engine": "chromium" }, { "file": "prompt-components.spec.js", "title": "published: info preserves fields, native media text and close visibility", "engine": "chromium" }, { "file": "prompt-components.spec.js", "title": "published: info retains native nullable string conversion for custom media fields", "engine": "chromium" }, { "file": "prompt-components.spec.js", "title": "published: repeated info init owns only one new timer and close handler", "engine": "chromium" }, { "file": "prompt-components.spec.js", "title": "published: info mobile construction waits for an explicit init", "engine": "chromium" }, { "file": "prompt-components.spec.js", "title": "published: mask click plays native video and destruction displays the terminal icon", "engine": "chromium" }, { "file": "prompt-components.spec.js", "title": "candidate: mask preserves observations before and after its destroy handler", "engine": "chromium" }, { "file": "prompt-components.spec.js", "title": "candidate: info preserves fields, native media text and close visibility", "engine": "chromium" }, { "file": "prompt-components.spec.js", "title": "candidate: info retains native nullable string conversion for custom media fields", "engine": "chromium" }, { "file": "prompt-components.spec.js", "title": "candidate: repeated info init owns only one new timer and close handler", "engine": "chromium" }, { "file": "prompt-components.spec.js", "title": "candidate: info mobile construction waits for an explicit init", "engine": "chromium" }, { "file": "prompt-components.spec.js", "title": "candidate: mask click plays native video and destruction displays the terminal icon", "engine": "chromium" }, { "file": "prompt-components.spec.js", "title": "candidate: info destruction during a media getter prevents text writes and late init", "engine": "chromium" }, { "file": "prompt-components.spec.js", "title": "candidate: reentrant info text conversion cannot write after player destruction", "engine": "chromium" }, { "file": "prompt-components.spec.js", "title": "candidate: mask finalization follows an earlier throwing observer without replacing its error", "engine": "chromium" }, { "file": "prompt-components.spec.js", "title": "published: mask preserves observations before and after its destroy handler", "engine": "firefox" }, { "file": "prompt-components.spec.js", "title": "published: info preserves fields, native media text and close visibility", "engine": "firefox" }, { "file": "prompt-components.spec.js", "title": "published: info retains native nullable string conversion for custom media fields", "engine": "firefox" }, { "file": "prompt-components.spec.js", "title": "published: repeated info init owns only one new timer and close handler", "engine": "firefox" }, { "file": "prompt-components.spec.js", "title": "published: info mobile construction waits for an explicit init", "engine": "firefox" }, { "file": "prompt-components.spec.js", "title": "published: mask click plays native video and destruction displays the terminal icon", "engine": "firefox" }, { "file": "prompt-components.spec.js", "title": "candidate: mask preserves observations before and after its destroy handler", "engine": "firefox" }, { "file": "prompt-components.spec.js", "title": "candidate: info preserves fields, native media text and close visibility", "engine": "firefox" }, { "file": "prompt-components.spec.js", "title": "candidate: info retains native nullable string conversion for custom media fields", "engine": "firefox" }, { "file": "prompt-components.spec.js", "title": "candidate: repeated info init owns only one new timer and close handler", "engine": "firefox" }, { "file": "prompt-components.spec.js", "title": "candidate: info mobile construction waits for an explicit init", "engine": "firefox" }, { "file": "prompt-components.spec.js", "title": "candidate: mask click plays native video and destruction displays the terminal icon", "engine": "firefox" }, { "file": "prompt-components.spec.js", "title": "candidate: info destruction during a media getter prevents text writes and late init", "engine": "firefox" }, { "file": "prompt-components.spec.js", "title": "candidate: reentrant info text conversion cannot write after player destruction", "engine": "firefox" }, { "file": "prompt-components.spec.js", "title": "candidate: mask finalization follows an earlier throwing observer without replacing its error", "engine": "firefox" }, { "file": "prompt-components.spec.js", "title": "published: mask preserves observations before and after its destroy handler", "engine": "webkit" }, { "file": "prompt-components.spec.js", "title": "published: info preserves fields, native media text and close visibility", "engine": "webkit" }, { "file": "prompt-components.spec.js", "title": "published: info retains native nullable string conversion for custom media fields", "engine": "webkit" }, { "file": "prompt-components.spec.js", "title": "published: repeated info init owns only one new timer and close handler", "engine": "webkit" }, { "file": "prompt-components.spec.js", "title": "published: info mobile construction waits for an explicit init", "engine": "webkit" }, { "file": "prompt-components.spec.js", "title": "published: mask click plays native video and destruction displays the terminal icon", "engine": "webkit" }, { "file": "prompt-components.spec.js", "title": "candidate: mask preserves observations before and after its destroy handler", "engine": "webkit" }, { "file": "prompt-components.spec.js", "title": "candidate: info preserves fields, native media text and close visibility", "engine": "webkit" }, { "file": "prompt-components.spec.js", "title": "candidate: info retains native nullable string conversion for custom media fields", "engine": "webkit" }, { "file": "prompt-components.spec.js", "title": "candidate: repeated info init owns only one new timer and close handler", "engine": "webkit" }, { "file": "prompt-components.spec.js", "title": "candidate: info mobile construction waits for an explicit init", "engine": "webkit" }, { "file": "prompt-components.spec.js", "title": "candidate: mask click plays native video and destruction displays the terminal icon", "engine": "webkit" }, { "file": "prompt-components.spec.js", "title": "candidate: info destruction during a media getter prevents text writes and late init", "engine": "webkit" }, { "file": "prompt-components.spec.js", "title": "candidate: reentrant info text conversion cannot write after player destruction", "engine": "webkit" }, { "file": "prompt-components.spec.js", "title": "candidate: mask finalization follows an earlier throwing observer without replacing its error", "engine": "webkit" } ], "reportSha256": "ca6c1df45268b2a94256f729fd79148d01f9e358d8078419c48c2143dee83566" }, "screenshots": { "refactor/.cache/core23-contextmenu-keyboard-chromium.png": "d807e470ab898c6c6a91064447e1a6b999bfc4daad16be7a97178f8c266e04be", "refactor/.cache/core23-contextmenu-keyboard-firefox.png": "fe5e6db88f27fe43473c2ea38cc62cfc2d11d892ae90d81c2196731496fc3ed6", "refactor/.cache/core23-contextmenu-keyboard-webkit.png": "e2ca9b030294d613bb51041fd1f15ee231e4f0b13322dfeeb2256de3ea344a71" }, "probes": [ { "name": "core23-contextmenu-before", "stats": { "startTime": "2026-09-11T12:22:14.311Z", "duration": 18378.817, "expected": 2, "skipped": 0, "unexpected": 4, "flaky": 0 }, "reportSha256": "1636176572e7756e40b1f5254dfec6411ce39108e59eca18c523840a535836d5", "failures": [ { "title": "candidate: Shift F10 opens the default info action and closing info returns to the original control", "engine": "chromium", "errors": [ "Error: \u001b[2mexpect(\u001b[22m\u001b[31mlocator\u001b[39m\u001b[2m).\u001b[22mtoBeFocused\u001b[2m(\u001b[22m\u001b[2m)\u001b[22m failed\n\nLocator: locator('.art-contextmenu-info')\nExpected: focused\nReceived: inactive\nTimeout: 7000ms\n\nCall log:\n\u001b[2m - Expect \"toBeFocused\" locator('.art-contextmenu-info') with timeout 7000ms\u001b[22m\n\u001b[2m - waiting for locator('.art-contextmenu-info')\u001b[22m\n\u001b[2m 18 × locator resolved to
\u001b[22m\n\u001b[2m - unexpected value \"inactive\"\u001b[22m\n\n\n 16 | await setup(page)\n 17 | await page.keyboard.press('Shift+F10')\n> 18 | await expect(page.locator('.art-contextmenu-info')).toBeFocused()\n | ^\n 19 | expect(await page.evaluate(() => window.menuEvents)).toEqual([true])\n 20 | await page.keyboard.press('Enter')\n 21 | await expect(page.locator('.art-info-close')).toBeFocused()\n at D:\\github\\ArtPlayer\\test\\browser\\accessibility-contextmenu.spec.js:18:55" ] }, { "title": "candidate: context menu Escape closes before fullscreen and Tab continues from its origin", "engine": "chromium", "errors": [ "Error: \u001b[2mexpect(\u001b[22m\u001b[31mlocator\u001b[39m\u001b[2m).\u001b[22mtoBeFocused\u001b[2m(\u001b[22m\u001b[2m)\u001b[22m failed\n\nLocator: locator('.art-contextmenu-info')\nExpected: focused\nReceived: inactive\nTimeout: 7000ms\n\nCall log:\n\u001b[2m - Expect \"toBeFocused\" locator('.art-contextmenu-info') with timeout 7000ms\u001b[22m\n\u001b[2m - waiting for locator('.art-contextmenu-info')\u001b[22m\n\u001b[2m 18 × locator resolved to \u001b[22m\n\u001b[2m - unexpected value \"inactive\"\u001b[22m\n\n\n 32 | })\n 33 | await page.keyboard.press('ContextMenu')\n> 34 | await expect(page.locator('.art-contextmenu-info')).toBeFocused()\n | ^\n 35 | await page.keyboard.press('Escape')\n 36 | await expect(page.locator('.art-control-playAndPause')).toBeFocused()\n 37 | expect(await page.evaluate(() => window.art.fullscreenWeb)).toBe(true)\n at D:\\github\\ArtPlayer\\test\\browser\\accessibility-contextmenu.spec.js:34:55" ] }, { "title": "candidate: keyboard choice navigation waits for activation and retains existing selection events", "engine": "chromium", "errors": [ "Error: \u001b[2mexpect(\u001b[22m\u001b[31mlocator\u001b[39m\u001b[2m).\u001b[22mtoBeFocused\u001b[2m(\u001b[22m\u001b[2m)\u001b[22m failed\n\nLocator: locator('.art-contextmenu-playbackRate [data-value]').first()\nExpected: focused\nReceived: inactive\nTimeout: 7000ms\n\nCall log:\n\u001b[2m - Expect \"toBeFocused\" locator('.art-contextmenu-playbackRate [data-value]').first() with timeout 7000ms\u001b[22m\n\u001b[2m - waiting for locator('.art-contextmenu-playbackRate [data-value]').first()\u001b[22m\n\u001b[2m 18 × locator resolved to 0.5\u001b[22m\n\u001b[2m - unexpected value \"inactive\"\u001b[22m\n\n\n 46 | await page.keyboard.press('Shift+F10')\n 47 | const choices = page.locator('.art-contextmenu-playbackRate [data-value]')\n> 48 | await expect(choices.first()).toBeFocused()\n | ^\n 49 | await page.keyboard.press('ArrowRight')\n 50 | await expect(choices.nth(1)).toBeFocused()\n 51 | expect(await page.evaluate(() => window.art.playbackRate)).toBe(1)\n at D:\\github\\ArtPlayer\\test\\browser\\accessibility-contextmenu.spec.js:48:33" ] }, { "title": "candidate: custom context actions retain callbacks, typeahead and focus across replacement", "engine": "chromium", "errors": [ "Error: \u001b[2mexpect(\u001b[22m\u001b[31mlocator\u001b[39m\u001b[2m).\u001b[22mtoBeFocused\u001b[2m(\u001b[22m\u001b[2m)\u001b[22m failed\n\nLocator: locator('.art-contextmenu-Beta')\nExpected: focused\nReceived: inactive\nTimeout: 7000ms\n\nCall log:\n\u001b[2m - Expect \"toBeFocused\" locator('.art-contextmenu-Beta') with timeout 7000ms\u001b[22m\n\u001b[2m - waiting for locator('.art-contextmenu-Beta')\u001b[22m\n\u001b[2m 18 × locator resolved to \u001b[22m\n\u001b[2m - unexpected value \"inactive\"\u001b[22m\n\n\n 69 | await page.keyboard.press('Shift+F10')\n 70 | await page.keyboard.press('b')\n> 71 | await expect(page.locator('.art-contextmenu-Beta')).toBeFocused()\n | ^\n 72 | await page.keyboard.press('Enter')\n 73 | expect(await page.evaluate(() => window.menuCalls)).toEqual([['Beta', true, true, 'click', true]])\n 74 | await expect(page.locator('.art-contextmenus')).toBeVisible()\n at D:\\github\\ArtPlayer\\test\\browser\\accessibility-contextmenu.spec.js:71:55" ] } ] }, { "name": "core23-contextmenu-first", "stats": { "startTime": "2026-09-11T12:26:14.487Z", "duration": 10533.312999999998, "expected": 5, "skipped": 0, "unexpected": 1, "flaky": 0 }, "reportSha256": "a9bf8c66e6e2723a852aae6bddedeecda2e4db55eede5d685d696ce6d1b21c07", "failures": [ { "title": "candidate: custom context actions retain callbacks, typeahead and focus across replacement", "engine": "chromium", "errors": [ "Error: \u001b[2mexpect(\u001b[22m\u001b[31mlocator\u001b[39m\u001b[2m).\u001b[22mtoBeFocused\u001b[2m(\u001b[22m\u001b[2m)\u001b[22m failed\n\nLocator: locator('.art-contextmenu-Alpha')\nExpected: focused\nReceived: inactive\nTimeout: 7000ms\n\nCall log:\n\u001b[2m - Expect \"toBeFocused\" locator('.art-contextmenu-Alpha') with timeout 7000ms\u001b[22m\n\u001b[2m - waiting for locator('.art-contextmenu-Alpha')\u001b[22m\n\u001b[2m 18 × locator resolved to \u001b[22m\n\u001b[2m - unexpected value \"inactive\"\u001b[22m\n\n\n 76 | await expect(page.locator('.art-contextmenu-Beta')).toBeFocused()\n 77 | await page.evaluate(() => window.art.contextmenu.remove('Beta'))\n> 78 | await expect(page.locator('.art-contextmenu-Alpha')).toBeFocused()\n | ^\n 79 | })\n 80 |\n 81 | test('candidate: native context content retains input editing and button activation without nested roles', async ({ page }) => {\n at D:\\github\\ArtPlayer\\test\\browser\\accessibility-contextmenu.spec.js:78:56" ] } ] }, { "name": "core23-contextmenu-second", "stats": { "startTime": "2026-09-11T12:33:08.121Z", "duration": 11470.374, "expected": 10, "skipped": 0, "unexpected": 1, "flaky": 0 }, "reportSha256": "fc05499df731d8fa8a817796072dcada9e36ed883944a85c03a4d81fdb681d56", "failures": [ { "title": "candidate: keyboard menu remains inside the player and ignores a canceled opening", "engine": "chromium", "errors": [ "Error: \u001b[2mexpect(\u001b[22m\u001b[31mlocator\u001b[39m\u001b[2m).\u001b[22mtoBeHidden\u001b[2m(\u001b[22m\u001b[2m)\u001b[22m failed\n\nLocator: locator('.art-contextmenus')\nExpected: hidden\nReceived: visible\nTimeout: 7000ms\n\nCall log:\n\u001b[2m - Expect \"toBeHidden\" locator('.art-contextmenus') with timeout 7000ms\u001b[22m\n\u001b[2m - waiting for locator('.art-contextmenus')\u001b[22m\n\u001b[2m 18 × locator resolved to \u001b[22m\n\u001b[2m - unexpected value \"visible\"\u001b[22m\n\n\n 228 | })\n 229 | await page.keyboard.press('Shift+F10')\n> 230 | await expect(page.locator('.art-contextmenus')).toBeHidden()\n | ^\n 231 | await expect(page.locator('.art-control-playAndPause')).toBeFocused()\n 232 | await page.keyboard.press('Shift+F10')\n 233 | await expect(page.locator('.art-contextmenus')).toHaveAttribute('aria-label', '快捷菜单')\n at D:\\github\\ArtPlayer\\test\\browser\\accessibility-contextmenu.spec.js:230:51", "Error: Unhandled browser errors\n\n\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 + 3\u001b[39m\n\n\u001b[32m- Array []\u001b[39m\n\u001b[31m+ Array [\u001b[39m\n\u001b[31m+ \"this.off is not a function\",\u001b[39m\n\u001b[31m+ ]\u001b[39m\n\n at fixtures.js:29\n\n 27 | }).catch(() => null)\n 28 | await testInfo.attach('browser-evidence', { contentType: 'application/json', body: JSON.stringify({ browser: browser.version(), platform: process.platform, manifest, state, errors, consoleErrors, failedRequests }, null, 2) })\n> 29 | expect(errors, 'Unhandled browser errors').toEqual([])\n | ^\n 30 | }, { auto: true }],\n 31 | })\n 32 |\n at Object.base.extend.diagnostics.auto (D:\\github\\ArtPlayer\\test\\browser\\fixtures.js:29:48)" ] } ] } ], "validationNotes": [ "The first test incorrectly expected Alpha after removing Beta; actual DOM order and screenshot show the next action is Info. The test now verifies the next sibling and its focus.", "The second probe incorrectly assumed an implicit art this for emitter listeners. The cancellation fixture now closes over window.art, preserving the historical emitter context contract.", "After CI, only browser tests changed; the final browser file passed focused ESLint before the 444-case run. Runtime and declaration sources match the CI run.", "Native editable context gesture checks assert unprevented events, not the appearance or operation of an OS context menu. Pointer position computation retains existing behavior.", "Menu action callbacks and info/mini event sequence remain intact; overlay origin resolution only changes the destination of owned focus restoration." ], "remaining": [ "CORE-23 remains doing and BASE-DOM-01 open. No completed-task commit.", "Native mode exit focus, whole-player SSR/subtitle accessibility and final core acceptance still need work.", "This is a Vite source build. Fresh installed modern/legacy artifacts and the full current browser matrix remain task-final gates.", "Physical devices, screen readers and release reviews remain gates. No push, tag, merge or npm publication." ] }