- Improved the documentation on using the different Android Platform View modes.
- So that Android and iOS behave the same,
onWebResourceError
is now only called for the main page.
- Remove references to the Android V1 embedding.
- Fix keyboard issues link in the README.
- Add iOS UI integration test target.
- Suppress deprecation warning for iOS APIs deprecated in iOS 9.
- Migrate maven repository from jcenter to mavenCentral.
- Republished 2.0.6 with Flutter 2.2 to avoid dart-lang/pub#3001
- WebView requires at least Android 19 if you are using hybrid composition (flutter/issues/59894).
- Example app observes
uiMode
, so the WebView isn't reattached when the UI mode changes. (e.g. switching to Dark mode).
- Fix a bug where
allowsInlineMediaPlayback
is not respected on iOS.
- Fixes bug where scroll bars on the Android non-hybrid WebView are rendered on the wrong side of the screen.
- Fixes bug where text fields are hidden behind the keyboard when hybrid composition is used flutter/issues/75667.
- Run CocoaPods iOS tests in RunnerUITests target
- Migration to null-safety.
- Added support for progress tracking.
- Add section to the wiki explaining how to use Material components.
- Update integration test to workaround an iOS 14 issue with
evaluateJavascript
. - Fix
onWebResourceError
on iOS. - Fix outdated links across a number of markdown files (#3276)
- Added
allowsInlineMediaPlayback
property.
- Update Flutter SDK constraint.
- Minor documentation update to indicate known issue on iOS 13.4 and 13.5.
- Invoke the WebView.onWebResourceError on iOS when the webview content process crashes.
- Fix example in the readme.
- Suppress the
deprecated_member_use
warning in the example app forScaffoldMessenger.showSnackBar
.
- Update android compileSdkVersion to 29.
- Android Code Inspection and Clean up.
- Add documentation for
WebViewPlatformCreatedCallback
.
-
Bumped the minimal Flutter SDK to 1.22 where platform views are out of developer preview, and performing better on iOS. Flutter 1.22 no longer requires adding the
io.flutter.embedded_views_preview
flag toInfo.plist
. -
Added support for Hybrid Composition on Android (see opt-in instructions in README)
- Lowered the required Android API to 19 (was previously 20): #23728.
- Fixed the following issues:
- Keep handling deprecated Android v1 classes for backward compatibility.
- Handle WebView multi-window support.
- Update package:e2e reference to use the local version in the flutter/plugins repository.
- Update the
setAndGetScrollPosition
to use hard coded values and add apumpAndSettle
call.
- Add support for passing a failing url.
- Enable programmatic scrolling using Android's WebView.scrollTo & iOS WKWebView.scrollView.contentOffset.
- Fix CocoaPods podspec lint warnings.
- OCMock module import -> #import, unit tests compile generated as library.
- Fix select drop down crash on old Android tablets (flutter/flutter#54164).
- Added support for receiving web resource loading errors. See
WebView.onWebResourceError
.
- Replace deprecated
getFlutterEngine
call on Android.
- Remove example app's iOS workspace settings.
- Make the pedantic dev_dependency explicit.
- Remove the Flutter SDK constraint upper bound.
- Enable opening links that target the "_blank" window (links open in same window).
- On iOS, always keep contentInsets of the WebView to be 0.
- Fix XCTest case to follow XCTest naming convention.
- On iOS, fix the scroll view content inset is automatically adjusted. After the fix, the content position of the WebView is customizable by Flutter.
- Fix an iOS 13 bug where the scroll indicator shows at random location.
- Setup XCTests.
- Migrate from deprecated BinaryMessages to ServicesBinding.instance.defaultBinaryMessenger.
- Raise min Flutter SDK requirement to the latest stable. v2 embedding apps no longer need to special case their Flutter SDK requirement like they have since v0.3.15+3.
- Add setting for iOS to allow gesture based navigation.
- Be explicit that keyboard is not ready for production in README.md.
- Add support for onPageStarted event.
- Remove the deprecated
author:
field from pubspec.yaml - Migrate to the new pubspec platforms manifest.
- Require Flutter SDK 1.10.0 or greater.
- Fix pedantic lint errors. Added missing documentation and awaited some futures in tests and the example app.
- Add support for async NavigationDelegates. Synchronous NavigationDelegates should still continue to function without any change in behavior.
- Re-land support for the v2 Android embedding. This correctly sets the minimum SDK to the latest stable and avoid any compile errors. WARNING: the V2 embedding itself still requires the current Flutter master channel (flutter/flutter@1d4d63a) for text input to work properly on all Android versions.
- Remove AndroidX warnings.
- Revert the prior embedding support add since it requires an API that hasn't rolled to stable.
- Add support for the v2 Android embedding. This shouldn't affect existing functionality. Plugin authors who use the V2 embedding can now register the plugin and expect that it correctly responds to app lifecycle changes.
- Define clang module for iOS.
- Allow underscores anywhere for Javascript Channel name.
- Added a getTitle getter to WebViewController.
- Add an optional
userAgent
property to set a custom User Agent.
- Temporarily revert getTitle (doing this as a patch bump shortly after publishing).
- Added a getTitle getter to WebViewController.
- Calling destroy on Android webview when flutter webview is getting disposed.
- Reduce compiler warnings regarding iOS9 compatibility by moving a single
method back into a
@available
block.
- Removed noisy log messages on iOS.
- Apply the display listeners workaround that was shipped in 0.3.11+1 on all Android versions prior to P.
- Add fix for input connection being dropped after a screen resize on certain Android devices.
- Work around a bug in old Android WebView versions that was causing a crash when resizing the webview on old devices.
- Add an initialAutoMediaPlaybackPolicy setting for controlling how auto media playback is restricted.
- Add dependency on
androidx.annotation:annotation:1.0.0
.
- Add keyboard text to README.
- Don't log an unknown setting key error for 'debuggingEnabled' on iOS.
- Fix InputConnection being lost when combined with route transitions.
- Add support for simultaenous Flutter
TextInput
and WebView text fields.
- Add partial WebView keyboard support for Android versions prior to N. Support
for UIs that also have Flutter
TextInput
fields is still pending. This basic support currently only works with Fluttermaster
. The keyboard will still appear when it previously did not when run with older versions of Flutter. But if the WebView is resized while showing the keyboard the text field will need to be focused multiple times for any input to be registered.
- Update Dart code to conform to current Dart formatter.
- Add missing template type parameter to
invokeMethod
calls. - Bump minimum Flutter version to 1.5.0.
- Replace invokeMethod with invokeMapMethod wherever necessary.
- Allow external packages to provide webview implementations for new platforms.
- Suppress deprecation warning for BinaryMessages. See: flutter/flutter#33446
- Add
debuggingEnabled
property.
- Fix an issue where JavaScriptChannel messages weren't sent from the platform thread on Android.
- Fix loadUrlWithHeaders flaky test.
- Remove un-used method params in webview_flutter
- Add an optional
headers
field to the controller.
- Fixed error in documentation of
javascriptChannels
.
- Fix bugs in the example app by updating it to use a
StatefulWidget
.
- Make sure to post javascript channel messages from the platform thread.
- Fix crash from
NavigationDelegate
on later versions of Android.
- Fix a bug where updates to onPageFinished were ignored.
- Added an onPageFinished callback.
- Support specifying navigation delegates that can prevent navigations from being executed.
- Exclude LongPress handler from semantics tree since it does nothing.
- Fixed a memory leak on Android - the WebView was not properly disposed.
- Add clearCache method to WebView controller.
- Log a more detailed warning at build time about the previous AndroidX migration.
- Added CookieManager to interface with WebView cookies. Currently has the ability to clear cookies.
- Added JavaScript channels to facilitate message passing from JavaScript code running inside the WebView to the Flutter app's Dart code.
- Breaking change. Migrate from the deprecated original Android Support Library to AndroidX. This shouldn't result in any functional changes, but it requires any Android apps using this plugin to also migrate if they're using the original support library.
- Added a evaluateJavascript method to WebView controller.
- (BREAKING CHANGE) Renamed the
JavaScriptMode
enum toJavascriptMode
, and the WebViewjavasScriptMode
parameter tojavascriptMode
.
- Added a reload method to the WebView controller.
- Added a
currentUrl
accessor for the WebView controller to look up what URL is being displayed.
- Fix null crash when initialUrl is unset on iOS.
- Add goBack, goForward, canGoBack, and canGoForward methods to the WebView controller.
- Fix case for "FLTWebViewFlutterPlugin" (iOS was failing to buld on case-sensitive file systems).
- Initial release.