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

Safari Technology Preview 251 сохраняет width в -webkit-border-image

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

Safari Technology Preview 251 сохраняет width в -webkit-border-image. Безопасная локальная диагностика: round-trip ledger «source → cssText → reparsed → computed edge widths», одна переменная, отрицательный контроль, rollback и минимизированный пакет для поддержки.

Граница пользовательской боли

Запрос «как проверить потерю width при CSSOM round-trip -webkit-border-image в Safari Technology Preview 251» сводится к одной проверяемой боли: после чтения и повторной записи старого -webkit-border-image одна из ширин границы пропадает, когда числовой край стоит перед нечисловым. До опыта фиксируется ожидаемый признак: width-компонент остаётся в сериализованной декларации и даёт те же вычисленные ширины после повторного парсинга. Нельзя расширять вывод на stable Safari, другой движок, произвольный сайт или массовость симптома. Главная ловушка здесь такова: визуально одинаковая рамка не гарантирует сохранность CSSOM; сравнивать нужно и строку, и вычисленные значения. Поэтому наблюдение получает статус reproduced только после повторного одинакового результата и успешного возврата; not reproduced относится исключительно к этому стенду, а unsupported, environment-blocked и unknown остаются разными статусами.

Что подтверждают Release 251 и commit

Официальные Release Notes WebKit от 26 августа 2026 года формулируют изменение так: WebKit сообщает об исправлении потери width-флага, когда length edge предшествует non-length edge в -webkit-border-image. Пункт связан с первичной записью 318214@main. Release page доказывает наличие изменения в ветке Safari Technology Preview 251, а commit задаёт техническую границу конкретной правки. Ни один из этих источников сам по себе не подтверждает частоту запроса, результат на конкретном устройстве или будущий перенос в стабильный выпуск. Публичная ветка о релизе использована только как свежий community lead; комментарии, реакции и поисковые snippets не превращаются в доказательство причины.

Паспорт воспроизведения без лишних данных

Стенд: локальный div и две декларации -webkit-border-image, отличающиеся только порядком length и non-length edge; изображение берётся из data URL без сети. До воздействия запишите: исходная декларация, cssText, значение CSSStyleDeclaration, computed border widths и контрольный снимок рамки. Рабочий артефакт — round-trip ledger «source → cssText → reparsed → computed edge widths». У каждого ряда должны быть версия TP 251, время, expected, observed и отметка о валидности контроля. Не сохраняются IP, cookie, токены, Authorization, полные URL с приватными query, локальные пути, имена профилей и содержимое рабочих документов. Случайные или вымышленные данные стенда помечаются как тестовые. Если обязательное поле нельзя получить без доступа к реальным данным, эксперимент останавливается: пробел не заполняют догадкой и не компенсируют дополнительной мутацией.

Canary-процедура и отрицательный контроль

Canary меняет ровно одну причину: прочитать правило через CSSOM, записать сериализованную строку в новый stylesheet и повторно снять те же пять полей. Контроль устроен отдельно: зеркальная декларация с обратным порядком краёв и обычный border-image без префикса показывают, связан ли сбой именно с порядком и legacy shorthand. Сначала снимается baseline, затем выполняется единственное воздействие, после него — заранее выбранное измерение, затем полный rollback и повтор baseline. Новый шаг не добавляют, пока предыдущий не получил результат и контроль. Если rollback не вернул исходное состояние, прогон invalid, даже когда картинка кажется убедительной. Тест выполняется только локально или на специально подготовленном безопасном стенде; production, пользовательские сессии и чужие страницы в процедуру не входят.

Решение по результату и пакет поддержки

PASS для узкой гипотезы означает: width-компонент остаётся в сериализованной декларации и даёт те же вычисленные ширины после повторного парсинга. Практический результат оформляется как round-trip ledger «source → cssText → reparsed → computed edge widths». Stop-line: если хотя бы одна декларация отвергнута парсером или тест смешивает разные изображения и slice, вывод о width-флаге недействителен. Для передачи разработчику достаточно: версия браузера, четыре декларации, значения до и после round-trip, скриншот только тестового блока и 318214@main. Перед отправкой артефакт ещё раз очищают от идентификаторов и проверяют, что отрицательный контроль действительно отличался только указанной переменной. Материал не обещает исправление на другом сайте, стабильную поддержку функции, индексацию, позиции или универсальное поведение; он даёт воспроизводимый путь, по которому команда может отделить наблюдаемый факт от предположения.

Материал подготовлен редакцией VOne с помощью ИИ; дата, первичный WebKit commit 318214@main, техническая граница, контроль, обратимость, privacy-stop и роль community lead постатейно проверены 29 августа 2026 года.

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

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

Ответы

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

Ваш ответ

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

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

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