From 621b2ecfa534db7d89cabfded204b9e8eff1b058 Mon Sep 17 00:00:00 2001 From: Stuart Morgan Date: Thu, 18 Nov 2021 14:28:25 -0500 Subject: [PATCH 1/2] Revert "[webview_flutter] Add onUrlChanged callback to platform interface. (#4509)" This reverts commit 349a858048db6c4d74610e228b2772ba9b2b73c2. --- .../CHANGELOG.md | 4 -- .../webview_method_channel.dart | 3 -- .../webview_platform_callbacks_handler.dart | 9 +---- .../pubspec.yaml | 2 +- .../webview_method_channel_test.dart | 38 +------------------ 5 files changed, 3 insertions(+), 53 deletions(-) diff --git a/packages/webview_flutter/webview_flutter_platform_interface/CHANGELOG.md b/packages/webview_flutter/webview_flutter_platform_interface/CHANGELOG.md index 212f1c4c4784..4c7434a86b41 100644 --- a/packages/webview_flutter/webview_flutter_platform_interface/CHANGELOG.md +++ b/packages/webview_flutter/webview_flutter_platform_interface/CHANGELOG.md @@ -1,7 +1,3 @@ -## 1.5.0 - -* Added `onUrlChanged` callback to platform callback handler. - ## 1.4.0 * Added `loadFile` and `loadHtml` interface methods. diff --git a/packages/webview_flutter/webview_flutter_platform_interface/lib/src/method_channel/webview_method_channel.dart b/packages/webview_flutter/webview_flutter_platform_interface/lib/src/method_channel/webview_method_channel.dart index 3a6047d9d5d0..8df9f4c62b33 100644 --- a/packages/webview_flutter/webview_flutter_platform_interface/lib/src/method_channel/webview_method_channel.dart +++ b/packages/webview_flutter/webview_flutter_platform_interface/lib/src/method_channel/webview_method_channel.dart @@ -53,9 +53,6 @@ class MethodChannelWebViewPlatform implements WebViewPlatformController { case 'onPageStarted': _platformCallbacksHandler.onPageStarted(call.arguments['url']!); return null; - case 'onUrlChanged': - _platformCallbacksHandler.onUrlChanged(call.arguments['url']!); - return null; case 'onWebResourceError': _platformCallbacksHandler.onWebResourceError( WebResourceError( diff --git a/packages/webview_flutter/webview_flutter_platform_interface/lib/src/platform_interface/webview_platform_callbacks_handler.dart b/packages/webview_flutter/webview_flutter_platform_interface/lib/src/platform_interface/webview_platform_callbacks_handler.dart index eb97f5b89048..44dae2ece434 100644 --- a/packages/webview_flutter/webview_flutter_platform_interface/lib/src/platform_interface/webview_platform_callbacks_handler.dart +++ b/packages/webview_flutter/webview_flutter_platform_interface/lib/src/platform_interface/webview_platform_callbacks_handler.dart @@ -24,16 +24,9 @@ abstract class WebViewPlatformCallbacksHandler { void onPageFinished(String url); /// Invoked by [WebViewPlatformController] when a page is loading. - /// Only works when [WebSettings.hasProgressTracking] is set to `true`. + /// /// Only works when [WebSettings.hasProgressTracking] is set to `true`. void onProgress(int progress); - /// Invoked by [WebViewPlatformController] when the webview's URL has changed. - /// - /// Unlike [onPageStarted], [onProgress], and [onPageFinished], - /// [onUrlChanged] also fires when navigating without a full page load - /// e.g. when navigating within a single page application. - void onUrlChanged(String url); - /// Report web resource loading error to the host application. void onWebResourceError(WebResourceError error); } diff --git a/packages/webview_flutter/webview_flutter_platform_interface/pubspec.yaml b/packages/webview_flutter/webview_flutter_platform_interface/pubspec.yaml index 57ae9a06f056..4a4746d8ab68 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/plugins/tree/master/packages/webview_flut 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: 1.5.0 +version: 1.4.0 environment: sdk: ">=2.12.0 <3.0.0" diff --git a/packages/webview_flutter/webview_flutter_platform_interface/test/src/method_channel/webview_method_channel_test.dart b/packages/webview_flutter/webview_flutter_platform_interface/test/src/method_channel/webview_method_channel_test.dart index f827d8fcf6b0..396013535aa9 100644 --- a/packages/webview_flutter/webview_flutter_platform_interface/test/src/method_channel/webview_method_channel_test.dart +++ b/packages/webview_flutter/webview_flutter_platform_interface/test/src/method_channel/webview_method_channel_test.dart @@ -13,9 +13,7 @@ import 'package:webview_flutter_platform_interface/webview_flutter_platform_inte void main() { TestWidgetsFlutterBinding.ensureInitialized(); - group( - 'Tests on `plugin.flutter.io/webview_` channel dart->native', - () { + group('Tests on `plugin.flutter.io/webview_` channel', () { const int channelId = 1; const MethodChannel channel = MethodChannel('plugins.flutter.io/webview_$channelId'); @@ -556,40 +554,6 @@ void main() { }); }); - group( - 'Tests on `plugin.flutter.io/webview_` channel native->dart', - () { - const int channelId = 1; - final WebViewPlatformCallbacksHandler callbacksHandler = - MockWebViewPlatformCallbacksHandler(); - final JavascriptChannelRegistry javascriptChannelRegistry = - MockJavascriptChannelRegistry(); - - MethodChannelWebViewPlatform( - channelId, - callbacksHandler, - javascriptChannelRegistry, - ); - - tearDown(() { - reset(callbacksHandler); - }); - - test('onUrlChanged', () async { - // Run - await ServicesBinding.instance!.defaultBinaryMessenger - .handlePlatformMessage( - 'plugins.flutter.io/webview_$channelId', - StandardMethodCodec() - .encodeMethodCall(MethodCall('onUrlChanged', {'url': 'Test Url'})), - null, - ); - - // Verify - verify(callbacksHandler.onUrlChanged('Test Url')); - }); - }); - group('Tests on `plugins.flutter.io/cookie_manager` channel', () { const MethodChannel cookieChannel = MethodChannel('plugins.flutter.io/cookie_manager'); From 71c13bd41fd1145a0e4cf2864c1f80c485f07221 Mon Sep 17 00:00:00 2001 From: Stuart Morgan Date: Thu, 18 Nov 2021 14:30:58 -0500 Subject: [PATCH 2/2] Update version and CHANGELOG --- .../webview_flutter_platform_interface/CHANGELOG.md | 11 ++++++++++- .../webview_flutter_platform_interface/pubspec.yaml | 4 ++-- 2 files changed, 12 insertions(+), 3 deletions(-) diff --git a/packages/webview_flutter/webview_flutter_platform_interface/CHANGELOG.md b/packages/webview_flutter/webview_flutter_platform_interface/CHANGELOG.md index 4c7434a86b41..efc43cf28ed1 100644 --- a/packages/webview_flutter/webview_flutter_platform_interface/CHANGELOG.md +++ b/packages/webview_flutter/webview_flutter_platform_interface/CHANGELOG.md @@ -1,3 +1,12 @@ +## 1.5.1 + +* Reverts the addition of `onUrlChanged`, which was unintentionally a breaking + change. + +## 1.5.0 + +* Added `onUrlChanged` callback to platform callback handler. + ## 1.4.0 * Added `loadFile` and `loadHtml` interface methods. @@ -16,4 +25,4 @@ ## 1.0.0 -* Extracted platform interface from `webview_flutter`. \ No newline at end of file +* Extracted platform interface from `webview_flutter`. diff --git a/packages/webview_flutter/webview_flutter_platform_interface/pubspec.yaml b/packages/webview_flutter/webview_flutter_platform_interface/pubspec.yaml index 4a4746d8ab68..33eb77cbefd5 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/plugins/tree/master/packages/webview_flut 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: 1.4.0 +version: 1.5.1 environment: sdk: ">=2.12.0 <3.0.0" @@ -19,4 +19,4 @@ dev_dependencies: flutter_test: sdk: flutter mockito: ^5.0.0 - pedantic: ^1.10.0 \ No newline at end of file + pedantic: ^1.10.0