Apple выпустила первое обновление Safari Technology Preview

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
Исправления ошибок
  • Исправлена автопрокрутка при выделении перетаскиванием, когда окно находится у края экрана, в том числе в полноэкранном режиме