Рендеринг: - Новый движок вместо TWB: страница проходит через DOM, вычисление стилей, раскладку и отрисовку отдельными этапами - Рисуется только видимая область, холст размером с окно - расход памяти не растёт с длиной страницы - Прокрутка сдвигает уже нарисованный холст и дорисовывает только появившуюся полосу - Страница показывается, не дожидаясь картинок; таблицы стилей, наоборот, дожидаются - до них на экране остаётся предыдущая страница CSS: - Источники правил: <style>, атрибут style="", <link> и @import - Селекторы: тег, .class, #id, *, атрибутные, комбинаторы - пробел, >, +, ~ - :is() и :where() раскрываются в обычные правила - Псевдоклассы: first-child, last-child, only-child, first-of-type, last-of-type, only-of-type, root, empty, checked, disabled, not, nth-child, nth-last-child, nth-of-type, nth-last-of-type - Псевдоэлементы ::before и ::after - @media по ширине и высоте окна - var(), calc(), min(), max(), clamp() - Блочная модель целиком: margin, padding, border, min/max-width и height - float, flex, grid - position: static, relative, absolute, fixed, sticky, z-index - vertical-align, в том числе super и sub; теги <sup> и <sub> Таблицы: - colspan и rowspan, неявные строки и ячейки, <caption>, вложенные таблицы - Ширины колонок считаются по содержимому и по заданным процентам - <table align> и <center> вокруг таблицы Сеть и кэш: - Картинки и таблицы стилей грузятся параллельно потоками самого WebView - до 12 одновременно, вместо отдельного процесса dl на каждый файл - Снято ограничение в 256 байт на адрес, и запросы уходят с куками - Кэш файлов в /tmp0/1/Cache с индексом: повторный заход на страницу не перекачивает картинки - SVG и WebP открываются через конвертер (по умолчанию wsrv.nl, адрес меняется в app.ini) - Куки: приём, хранение и отправка - Оборванное соединение распознаётся - обрезанный файл не сохраняется и не попадает в кэш, страница помечается неполной Формы: - Отправка по GET и по POST - Контролы: текстовое поле, пароль, чекбокс, радиокнопка, обычная кнопка и кнопка отправки, <select>, <textarea> - Размеры контролов берутся из CSS и атрибутов страницы, а не фиксированы Текст и шрифты: - Выделение и копирование текста, поиск по странице - Курсив для <i>, <em>, <cite>, <var>, <dfn>, <address> и font-style: системные шрифты курсива не имеют, поэтому нарисованная строка наклоняется сдвигом пикселей - Мелкий шрифт для текста 10 px и меньше - но только если такого текста меньше половины страницы - Изменение размера шрифта: Ctrl+- и Ctrl++ - Определение кодировки по <meta charset> и по содержимому Интерфейс: - Обновлены встроенные страницы: новая вкладка и страница ошибки - Пункт меню "Открыть в NetSurf" - Кнопка папки загрузок на панели - Правый клик по картинке: открыть, сохранить, скопировать адрес - До 5 вкладок Убрано: - Страница истории WebView:history и пункт меню к ней Изменения вне браузера: - dl: оборванная загрузка считается ошибкой, обрезанный файл не сохраняется; путь назначения принимается после | в параметре - menu: не реагирует на события мыши до создания окна - иначе меню закрывалось сразу после запуска - lib/obj/http.h: в _http появилось поле flags, наружу выведен HTTP_GOT_ALL_DATA - lib/draw_buf.h: холст держит размер, заданный Init(); неиспользуемые методы не попадают в программу - lib/collection.h: swap() для двух записей - lib/obj/box_lib.h: edit_box приведена к раскладке переписанного box_lib (OS PR #662) Размер запакованного приложения - 64 КБ: 65 261 байт (EN) и 65 456 (RU). --------- Co-authored-by: Burer <burer@kolibrios.org> Reviewed-on: #14 Reviewed-by: Burer <burer@kolibrios.org> Co-authored-by: leency <lipatov.kiril@gmail.com>
9 lines
137 B
Batchfile
9 lines
137 B
Batchfile
@ECHO OFF
|
|
|
|
@c-- /D=LANG_RUS WebView.c
|
|
@del WebView
|
|
@rename WebView.com WebView
|
|
@del warning.txt
|
|
|
|
if not exist WebView ( @pause )
|