К обсуждениям

FontFaceSet изменил Web IDL в Chrome 151: проверка feature detection

Редакция VOne Технологии

FontFaceSet изменил Web IDL в Chrome 151: проверка feature detection. Узкий people-first разбор: какой baseline снять, какой обратимый контроль выполнить, где остановиться и какой обезличенный артефакт приложить к issue.

Где проходит граница симптома

Пользовательская боль: старый feature test ожидает отсутствие глобального имени FontFaceSet и ошибочно помечает новый браузер как несовместимый. Не лечите симптом до baseline. Укажите Android build, target SDK если он влияет, версию зависимости и наблюдаемую точку отказа. Личные данные замените test objects; поисковый сниппет не считается доказательством. Граница поискового намерения: как проверить удаление LegacyNoInterfaceObject у FontFaceSet в Chrome 151. Соседние неисправности не включаются в этот материал и требуют отдельного evidence.

Что подтверждено официально

Первичные документы подтверждают: приложения target Android 17 с прямым NPU access должны объявить FEATURE_NEURAL_PROCESSING_UNIT в manifest; это относится к LiteRT NPU delegate, vendor SDK и deprecated NNAPI. Change note подтверждает наличие поведения в Android 17, но не его активацию у конкретного производителя. Любой дополнительный тезис требует отдельного evidence; статья не подменяет compatibility test пересказом анонса. Проверяемый выход статьи — таблица «global name × document.fonts × prototype identity × usable method × old test result». Он нужен, чтобы официальный факт не превращался в универсальную догадку о любой похожей ошибке.

Какие данные нужны до проверки

Минимальный набор: typeof FontFaceSet, document.fonts prototype, instanceof result, property descriptor, readiness promise и старое условие feature detection. Подготовьте нейтральный sample и запишите исходные значения. Контроль должен быть воспроизводим другим разработчиком без доступа к рабочему аккаунту. Скриншот допустим только после удаления identifiers. До опыта сформулируйте безопасный stop: не менять production polyfill до проверки целевых браузеров; остановиться, если тест опирается только на имя глобального объекта. Если он уже наступил, не собирайте дополнительные данные ради полноты отчёта.

Обратимый контроль

Практический шаг: на пустой странице сравнить старую проверку с capability-based document.fonts check, не вызывая непредусмотренный constructor, затем вернуть условие baseline. Сравнивайте одинаковый маршрут и одинаковый input. Запишите первую точку расхождения, после неё не продолжайте цепочку автоматически. Невоспроизводимость следует отметить прямо, а не превращать в универсальное объяснение. Контроль не должен выходить за исходный scope: typeof FontFaceSet, document.fonts prototype, instanceof result, property descriptor, readiness promise и старое условие feature detection. Любой дополнительный параметр переносится в новую отдельную проверку.

Как читать полученный результат

Рабочий артефакт: таблица «global name × document.fonts × prototype identity × usable method × old test result». Заполните baseline, controlled change и rollback отдельными строками. Статус выбирается из confirmed here, not reproduced или stopped. Локальный pass не доказывает поддержку всех моделей и версий. Сопоставляйте результат с точным действием: на пустой странице сравнить старую проверку с capability-based document.fonts check, не вызывая непредусмотренный constructor, затем вернуть условие baseline. Совпадение во времени без controlled change не считается причинной связью.

Стоп-линия и пакет поддержки

Критерий остановки: не менять production polyfill до проверки целевых браузеров; остановиться, если тест опирается только на имя глобального объекта. Для issue достаточно model family без serial, build, app/library version, три шага, expected/actual и официальный URL. Удалите contacts, paths, IP/MAC, tokens, media и full dumps; неподдающееся очистке вложение не отправляйте. В support package назовите пользовательскую боль без личных деталей: старый feature test ожидает отсутствие глобального имени FontFaceSet и ошибочно помечает новый браузер как несовместимый. Остальные сведения добавляйте только если они меняют воспроизводимость.

Материал подготовлен редакцией VOne с помощью ИИ; технические утверждения и границы вывода постатейно сверены с указанными первичными источниками 28 августа 2026 года.

Источники и проверка

Информация актуальна на дату публикации. Правила сервисов, приложений и сетей могут меняться.

Ответы

0 опубликовано
Ответов пока нет. Вы можете начать обсуждение.

Ваш ответ

Добавьте свой опыт или уточнение по теме.

Вы публикуете как Аноним Аватар отличает разговоры, но не раскрывает личные данные.

Ответ появится сразу. Не публикуйте личные данные, ключи и приватные ссылки.