simple_native_web_view_browser 0.5.0 copy "simple_native_web_view_browser: ^0.5.0" to clipboard
simple_native_web_view_browser: ^0.5.0 copied to clipboard

Простой полноэкранный нативный браузер на основе WebView

0.5.0 #

  • Новый параметр запроса isSharingAvailable: стандартная кнопка «Поделиться» на верхней панели справа от заголовка/адресной строки. Кнопка открывает системный шеринг и передаёт ему адрес текущей страницы браузера. На iPad поповер шеринга привязывается к кнопке (якорь). Настройка применяется при повторном открытии браузера (reopen-политика).
  • Исправление (iOS): кнопка «Поделиться» не реагировала на нажатия — слот панели имел нулевую высоту, и hit-testing не находил кнопку.

0.4.1 #

  • Документация: инструкция подключения обновлена на pub.flutter-io.cn (^0.4.0), убран раздел «Запуск тестов».

0.4.0 #

  • Плагин переведён на единую структуру пакета: нативные реализации iOS и Android перенесены в основной пакет (вместо federated-подпакетов simple_native_web_view_browser_ios / _android). Публичный API не изменился.
  • Подготовка к публикации на pub.flutter-io.cn: убран publish_to: none, добавлены homepage, repository, topics.

0.3.1 #

  • iOS: исправлена проверка успешности презентации браузера (isBeingPresented → presentingViewController) — устранены ложный present_failed и срыв флоу аутентификации (события не доставлялись открытой сессии).

0.3.0 #

  • Новый обработчик onDownloadStart (поле запроса): сообщает адрес файла, когда пользователь пытается скачать файл. Загрузка не функция браузера: переход на файл отменяется, скачивание выполняет приложение.
  • Android: перехват через DownloadListener; iOS: WKDownload (14.5+) и эвристика по MIME-типу главного кадра (13–14.4).

0.2.2 #

  • Гарантия onClosed: если нативное событие о закрытии потеряно (детaч движка и т.п.), сессия принудительно закрывается по таймауту, колбэк вызывается, состояние активной сессии очищается.
  • Android: при детаче движка с открытым браузером Activity завершается.

0.2.1 #

  • Безопасность: нативная валидация кук на обеих платформах (защита от инъекции атрибутов при прямом вызове канала), валидация userAgent (запрет CR/LF), явный запрет mixed content (Android).
  • Исправления: reloadWithCookies применяет куки к текущему адресу страницы (а не к стартовому), игнорирование отмены навигации на iOS (ложный onLoadError), защита от краша при обращении к уничтоженному WebView (Android), сброс веб-инспектора при повторном открытии без отладки (Android), исключения пользовательских колбэков не рвут маршрутизацию событий, унификация ошибки reloadWithCookies без аргументов.
  • Передача initialCookies в Intent JSON-строкой (вместо устаревшего getSerializable), launchMode singleTask для BrowserActivity.
  • Внимание: конструктор SimpleBrowserOpenRequest теперь валидирует userAgent и не является const.

0.2.0 #

  • Новые параметры запроса: enableCookiesAndroid (только Android: отключение приёма кук, восстанавливается при закрытии браузера) и allowFileAccess (загрузка file://, по умолчанию выключена на обеих платформах).
  • Безопасность: валидация кук (запрет «;», «,» и управляющих символов), блокировка file:// по умолчанию, жёсткие настройки файлового доступа WebView (Android), единственная доставка onSchemeRedirect за сеанс (Android), onLoadError только для главного кадра (Android), сброс веб-инспектора при повторном открытии без отладки (iOS), игнорирование enableDebugging в release-сборках.
  • Исправления: ложный onClosed при смене темы Android (uiMode в configChanges), зависание open() при неудачной презентации (iOS).
  • Внимание: конструктор SimpleBrowserCookie теперь валидирует значения и не является const.
0
likes
130
points
161
downloads

Documentation

API reference

Publisher

unverified uploader

Weekly Downloads

Простой полноэкранный нативный браузер на основе WebView

Repository (GitHub)
View/report issues

Topics

#webview #browser #native

License

MIT (license)

Dependencies

flutter, plugin_platform_interface

More

Packages that depend on simple_native_web_view_browser

Packages that implement simple_native_web_view_browser