diff --git a/packages/webview_flutter/webview_flutter_platform_interface/CHANGELOG.md b/packages/webview_flutter/webview_flutter_platform_interface/CHANGELOG.md index 2748ea394cc3..5fca7ca983ab 100644 --- a/packages/webview_flutter/webview_flutter_platform_interface/CHANGELOG.md +++ b/packages/webview_flutter/webview_flutter_platform_interface/CHANGELOG.md @@ -1,3 +1,7 @@ +## 2.6.1 + +* Adds support for the `allowsLinkPreview` property on iOS. + ## 2.6.0 * Adds support to register a callback to intercept messages that are written to diff --git a/packages/webview_flutter/webview_flutter_platform_interface/lib/src/legacy/types/web_settings.dart b/packages/webview_flutter/webview_flutter_platform_interface/lib/src/legacy/types/web_settings.dart index 91f0768e38cb..ac0cf6036f4d 100644 --- a/packages/webview_flutter/webview_flutter_platform_interface/lib/src/legacy/types/web_settings.dart +++ b/packages/webview_flutter/webview_flutter_platform_interface/lib/src/legacy/types/web_settings.dart @@ -82,6 +82,7 @@ class WebSettings { this.hasProgressTracking, this.debuggingEnabled, this.gestureNavigationEnabled, + this.allowsLinkPreview, this.allowsInlineMediaPlayback, this.zoomEnabled, required this.userAgent, @@ -125,8 +126,13 @@ class WebSettings { /// See also: [WebView.gestureNavigationEnabled] final bool? gestureNavigationEnabled; + /// Determines whether pressing a link displays a preview of the destination for the link in iOS. + /// + /// See also: [WebView.allowsLinkPreview] + final bool? allowsLinkPreview; + @override String toString() { - return 'WebSettings(javascriptMode: $javascriptMode, hasNavigationDelegate: $hasNavigationDelegate, hasProgressTracking: $hasProgressTracking, debuggingEnabled: $debuggingEnabled, gestureNavigationEnabled: $gestureNavigationEnabled, userAgent: $userAgent, allowsInlineMediaPlayback: $allowsInlineMediaPlayback)'; + return 'WebSettings(javascriptMode: $javascriptMode, hasNavigationDelegate: $hasNavigationDelegate, hasProgressTracking: $hasProgressTracking, debuggingEnabled: $debuggingEnabled, gestureNavigationEnabled: $gestureNavigationEnabled, allowsLinkPreview: $allowsLinkPreview, userAgent: $userAgent, allowsInlineMediaPlayback: $allowsInlineMediaPlayback)'; } } diff --git a/packages/webview_flutter/webview_flutter_platform_interface/lib/src/platform_webview_controller.dart b/packages/webview_flutter/webview_flutter_platform_interface/lib/src/platform_webview_controller.dart index 806d2a7a6b66..a84cd0aa1aab 100644 --- a/packages/webview_flutter/webview_flutter_platform_interface/lib/src/platform_webview_controller.dart +++ b/packages/webview_flutter/webview_flutter_platform_interface/lib/src/platform_webview_controller.dart @@ -261,6 +261,11 @@ abstract class PlatformWebViewController extends PlatformInterface { 'setUserAgent is not implemented on the current platform'); } + /// Whether to display a preview of the destination for the link + /// + /// This is not supported by all platforms, so it defaults to a noop + Future setAllowsLinkPreview(bool allow) async {} + /// Sets a callback that notifies the host application that web content is /// requesting permission to access the specified resources. Future setOnPlatformPermissionRequest( diff --git a/packages/webview_flutter/webview_flutter_platform_interface/pubspec.yaml b/packages/webview_flutter/webview_flutter_platform_interface/pubspec.yaml index 71e85f32ded2..cdebcc8a6064 100644 --- a/packages/webview_flutter/webview_flutter_platform_interface/pubspec.yaml +++ b/packages/webview_flutter/webview_flutter_platform_interface/pubspec.yaml @@ -4,7 +4,7 @@ repository: https://github.com/flutter/packages/tree/main/packages/webview_flutt issue_tracker: https://github.com/flutter/flutter/issues?q=is%3Aissue+is%3Aopen+label%3A%22p%3A+webview_flutter%22 # NOTE: We strongly prefer non-breaking changes, even at the expense of a # less-clean API. See https://flutter.dev/go/platform-interface-breaking-changes -version: 2.6.0 +version: 2.6.1 environment: sdk: ">=2.19.0 <4.0.0"