diff --git a/packages/webview_flutter/webview_flutter_wkwebview/lib/src/web_kit_webview_widget.dart b/packages/webview_flutter/webview_flutter_wkwebview/lib/src/web_kit_webview_widget.dart index 05a77f56f851..9480233ff08a 100644 --- a/packages/webview_flutter/webview_flutter_wkwebview/lib/src/web_kit_webview_widget.dart +++ b/packages/webview_flutter/webview_flutter_wkwebview/lib/src/web_kit_webview_widget.dart @@ -354,6 +354,9 @@ class WebKitWebViewPlatformController extends WebViewPlatformController { @override Future getTitle() => webView.getTitle(); + @override + Future currentUrl() => webView.getUrl(); + @override Future scrollTo(int x, int y) async { webView.scrollView.setContentOffset(Point( diff --git a/packages/webview_flutter/webview_flutter_wkwebview/test/src/web_kit_webview_widget_test.dart b/packages/webview_flutter/webview_flutter_wkwebview/test/src/web_kit_webview_widget_test.dart index 24155d2a05e1..294b798f3aad 100644 --- a/packages/webview_flutter/webview_flutter_wkwebview/test/src/web_kit_webview_widget_test.dart +++ b/packages/webview_flutter/webview_flutter_wkwebview/test/src/web_kit_webview_widget_test.dart @@ -747,6 +747,14 @@ void main() { expect(testController.getTitle(), completion('Web Title')); }); + testWidgets('currentUrl', (WidgetTester tester) async { + await buildWidget(tester); + + when(mockWebView.getUrl()) + .thenAnswer((_) => Future.value('myUrl.com')); + expect(testController.currentUrl(), completion('myUrl.com')); + }); + testWidgets('scrollTo', (WidgetTester tester) async { await buildWidget(tester);