
Apple выпустила первое обновление и второй релиз своего браузера Safari Technology Preview. Браузер ориентирован на выпуск стабильных сборок, готовых к предварительному тестированию технологий. Выпуская обновления каждые две недели, Apple демонстрирует стремление обеспечить стабильность для разработчиков, работающих на передовом крае веб-технологий.
Браузер можно установить параллельно с текущими сборками Safari, что позволяет разработчикам сравнивать различия по мере необходимости. Сегодняшнее обновление браузера включает изменения в JavaScript, CSS, Web API, Web Inspector, доступности, рендеринге, медиа, сетевых функциях и общие исправления ошибок.
Safari Technology Preview можно скачать с сайта разработчиков Apple; после установки последующие обновления будут устанавливаться через Mac App Store.
Полный список заметок к выпуску приведен ниже:
Релиз 2
Различия браузеров
- Изменена CFBundleSignature, чтобы разрешить Apple Events, такие как отправляемые из AppleScript, корректно различать Safari и Safari Technology Preview
JavaScript
- Добавлена поддержка ES6 для Symbol.isConcatSpreadable
- Запрещены присваивания var в циклах for-in в соответствии со спецификациями ES6
- Повышена стабильность классов ES6 при вызове метода родительского класса перед вызовом super() в конструкторе
- Разрешены значения undefined или null для Symbol.search и Symbol.match
- Включено взаимодействие нативных функций Array.prototype с прокси-серверами с помощью конструкторов видов
- Реализовано предложение для String.prototype.padStart() и String.prototype.padEnd()
- Реализована спецификация ES6 для String.prototype.match и RegExp.prototype[@@match]
- Включено обходное решение для совместимости с веб-приложениями при TypeError ES6 при доступе к свойствам флагов RegExp.prototype
- Исправлены квантифицированные юникадовые регулярные выражения
- Обеспечено корректное обратное отслеживание жадных юникадовых регулярных выражений за не-BMP символами
CSS
- Реализовано значение allow-end свойства CSS hanging-punctuation
- Повышена совместимость с веб-приложениями путем сброса правил интервалов CSS для элементов
- Добавлен новый медиа-запрос CSS color-gamut
- Обновлены запросы экрана для проверки возможностей текущего экрана, а не самого глубокого доступного экрана
Web API
- Ограничен парсинг заголовков WebSockets в соответствии с RFC6455 и RFC7230
- Повышена производительность определенных вызовов отрисовки в WebGL с оптимизацией текстур, не являющихся степенями двойки
- Отключен API Fetch до тех пор, пока реализация не будет готова к включению по умолчанию
- Улучшена поддержка Shadow DOM для вычисления стилей для атрибута стиля элементов
- Смягчены ограничения частоты pushState и replaceState
Web Inspector
- Повышена производительность и исправлены ошибки на вкладке Timelines
- Отключены операторы debugger при профилировании страницы для обеспечения максимальной точности производительности
- Добавлена возможность настройки инструментов временной шкалы для записей
- Добавлен индикатор количества отрисовок в левом верхнем углу непрозрачных слоев
- Добавлена font-variant-numeric в автодополнения CSS
- Добавлен метод console.takeHeapSnapshot для захвата снимков кучи
- Горячие клавиши боковой панели сведений изменены на Command-Option-0 и Command-Shift-0
- Двойные кавычки и обратные косые черты в строках теперь отображаются корректно в консоли
- Повышена согласованность сообщений о нарушении директивы CSP, сообщаемых в консоли
Доступность
- Исправлены новые строки в редактируемых элементах контента для уведомления о доступности
- Обновлена обработка SVG-элементов с презентационной ролью для соответствия другим элементам языка-хоста
- Ограничено объявление нумерованного списка для номера элемента списка только первой строкой текста в элементе списка
- Изменены описания ролей доступности для JavaScript-оповещений на «веб-диалог» и «веб-диалоговое оповещение» для лучшего понимания пользователями программ чтения с экрана
Рендеринг
- Обновлен фильтр фона для перерисовки при изменении в JavaScript
- Исправлена отрисовка узоров обводки SVG для объектов с пустыми элементами ограничивающей рамки
Медиа
- Повышена стабильность при изменении аудиоисточника во время обработки
- Исправлены списки аудиодорожек
Сеть
- Повышена надежность запросов на упреждающую проверку кэша диска с использованием заголовка HTTP Referer
Исправления ошибок
- Исправлена автопрокрутка при выделении перетаскиванием, когда окно находится у края экрана, в том числе в полноэкранном режиме