From a9539ee9051c03992acf6e1cf57f0e101f32fa79 Mon Sep 17 00:00:00 2001 From: Amir Hardon Date: Thu, 15 Aug 2019 18:05:16 -0700 Subject: [PATCH 1/2] Revert "[webview_flutter] Add a getTitle method to WebViewController (#1979)" This reverts commit 59eeaa85c1fe70de24a194970042be73ec846635. --- packages/webview_flutter/CHANGELOG.md | 4 -- .../webviewflutter/FlutterWebView.java | 7 ---- .../example/test_driver/webview.dart | 37 ------------------- .../ios/Classes/FlutterWebView.m | 7 ---- .../lib/platform_interface.dart | 6 --- .../lib/src/webview_method_channel.dart | 3 -- .../webview_flutter/lib/webview_flutter.dart | 5 --- packages/webview_flutter/pubspec.yaml | 2 +- 8 files changed, 1 insertion(+), 70 deletions(-) diff --git a/packages/webview_flutter/CHANGELOG.md b/packages/webview_flutter/CHANGELOG.md index 80edcc8279f2..8600d04b3ffb 100644 --- a/packages/webview_flutter/CHANGELOG.md +++ b/packages/webview_flutter/CHANGELOG.md @@ -1,7 +1,3 @@ -## 0.3.12 - -* Added a getTitle getter to WebViewController. - ## 0.3.11+6 * Calling destroy on Android webview when flutter webview is getting disposed. diff --git a/packages/webview_flutter/android/src/main/java/io/flutter/plugins/webviewflutter/FlutterWebView.java b/packages/webview_flutter/android/src/main/java/io/flutter/plugins/webviewflutter/FlutterWebView.java index 333e7e8067bf..67fdcc71b3df 100644 --- a/packages/webview_flutter/android/src/main/java/io/flutter/plugins/webviewflutter/FlutterWebView.java +++ b/packages/webview_flutter/android/src/main/java/io/flutter/plugins/webviewflutter/FlutterWebView.java @@ -130,9 +130,6 @@ public void onMethodCall(MethodCall methodCall, Result result) { case "clearCache": clearCache(result); break; - case "getTitle": - getTitle(result); - break; default: result.notImplemented(); } @@ -225,10 +222,6 @@ private void clearCache(Result result) { result.success(null); } - private void getTitle(Result result) { - result.success(webView.getTitle()); - } - private void applySettings(Map settings) { for (String key : settings.keySet()) { switch (key) { diff --git a/packages/webview_flutter/example/test_driver/webview.dart b/packages/webview_flutter/example/test_driver/webview.dart index 7e1440b71409..fefaf6d49bef 100644 --- a/packages/webview_flutter/example/test_driver/webview.dart +++ b/packages/webview_flutter/example/test_driver/webview.dart @@ -369,43 +369,6 @@ void main() { expect(isPaused, _webviewBool(false)); }); }); - - test('getTitle', () async { - final String getTitleTest = ''' - - Some title - - - - - '''; - final String getTitleTestBase64 = - base64Encode(const Utf8Encoder().convert(getTitleTest)); - final Completer pageLoaded = Completer(); - final Completer controllerCompleter = - Completer(); - - await pumpWidget( - Directionality( - textDirection: TextDirection.ltr, - child: WebView( - initialUrl: 'data:text/html;charset=utf-8;base64,$getTitleTestBase64', - onWebViewCreated: (WebViewController controller) { - controllerCompleter.complete(controller); - }, - onPageFinished: (String url) { - pageLoaded.complete(null); - }, - ), - ), - ); - - final WebViewController controller = await controllerCompleter.future; - await pageLoaded.future; - - final String title = await controller.getTitle(); - expect(title, 'Some title'); - }); } Future pumpWidget(Widget widget) { diff --git a/packages/webview_flutter/ios/Classes/FlutterWebView.m b/packages/webview_flutter/ios/Classes/FlutterWebView.m index 8fd855e2c8bd..c0aa7fd650f6 100644 --- a/packages/webview_flutter/ios/Classes/FlutterWebView.m +++ b/packages/webview_flutter/ios/Classes/FlutterWebView.m @@ -118,8 +118,6 @@ - (void)onMethodCall:(FlutterMethodCall*)call result:(FlutterResult)result { [self onRemoveJavaScriptChannels:call result:result]; } else if ([[call method] isEqualToString:@"clearCache"]) { [self clearCache:result]; - } else if ([[call method] isEqualToString:@"getTitle"]) { - [self onGetTitle:result]; } else { result(FlutterMethodNotImplemented); } @@ -240,11 +238,6 @@ - (void)clearCache:(FlutterResult)result { } } -- (void)onGetTitle:(FlutterResult)result { - NSString* title = _webView.title; - result(title); -} - // Returns nil when successful, or an error message when one or more keys are unknown. - (NSString*)applySettings:(NSDictionary*)settings { NSMutableArray* unknownKeys = [[NSMutableArray alloc] init]; diff --git a/packages/webview_flutter/lib/platform_interface.dart b/packages/webview_flutter/lib/platform_interface.dart index 644c33a4e014..4e6b8b86cacf 100644 --- a/packages/webview_flutter/lib/platform_interface.dart +++ b/packages/webview_flutter/lib/platform_interface.dart @@ -152,12 +152,6 @@ abstract class WebViewPlatformController { throw UnimplementedError( "WebView removeJavascriptChannels is not implemented on the current platform"); } - - /// Returns the title of the currently loaded page. - Future getTitle() { - throw UnimplementedError( - "WebView getTitle is not implemented on the current platform"); - } } /// Settings for configuring a WebViewPlatform. diff --git a/packages/webview_flutter/lib/src/webview_method_channel.dart b/packages/webview_flutter/lib/src/webview_method_channel.dart index 337e871145aa..a914e1828b6b 100644 --- a/packages/webview_flutter/lib/src/webview_method_channel.dart +++ b/packages/webview_flutter/lib/src/webview_method_channel.dart @@ -103,9 +103,6 @@ class MethodChannelWebViewPlatform implements WebViewPlatformController { 'removeJavascriptChannels', javascriptChannelNames.toList()); } - @override - Future getTitle() => _channel.invokeMethod("getTitle"); - /// Method channel implementation for [WebViewPlatform.clearCookies]. static Future clearCookies() { return _cookieManagerChannel diff --git a/packages/webview_flutter/lib/webview_flutter.dart b/packages/webview_flutter/lib/webview_flutter.dart index 8d81278955a0..4335ed27ada8 100644 --- a/packages/webview_flutter/lib/webview_flutter.dart +++ b/packages/webview_flutter/lib/webview_flutter.dart @@ -600,11 +600,6 @@ class WebViewController { // ignore: strong_mode_implicit_dynamic_method return _webViewPlatformController.evaluateJavascript(javascriptString); } - - /// Returns the title of the currently loaded page. - Future getTitle() { - return _webViewPlatformController.getTitle(); - } } /// Manages cookies pertaining to all [WebView]s. diff --git a/packages/webview_flutter/pubspec.yaml b/packages/webview_flutter/pubspec.yaml index 6c668033548b..ce39caee2fd6 100644 --- a/packages/webview_flutter/pubspec.yaml +++ b/packages/webview_flutter/pubspec.yaml @@ -1,6 +1,6 @@ name: webview_flutter description: A Flutter plugin that provides a WebView widget on Android and iOS. -version: 0.3.12 +version: 0.3.11+6 author: Flutter Team homepage: https://github.com/flutter/plugins/tree/master/packages/webview_flutter From 2cd3657460d7c4c5218e359a014581971d93d2d3 Mon Sep 17 00:00:00 2001 From: Amir Hardon Date: Thu, 15 Aug 2019 18:10:10 -0700 Subject: [PATCH 2/2] -update version --- packages/webview_flutter/CHANGELOG.md | 8 ++++++++ packages/webview_flutter/pubspec.yaml | 2 +- 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/packages/webview_flutter/CHANGELOG.md b/packages/webview_flutter/CHANGELOG.md index 8600d04b3ffb..a7c767aec5b8 100644 --- a/packages/webview_flutter/CHANGELOG.md +++ b/packages/webview_flutter/CHANGELOG.md @@ -1,3 +1,11 @@ +## 0.3.12+1 + +* Temporarily revert getTitle (doing this as a patch bump shortly after publishing). + +## 0.3.12 + +* Added a getTitle getter to WebViewController. + ## 0.3.11+6 * Calling destroy on Android webview when flutter webview is getting disposed. diff --git a/packages/webview_flutter/pubspec.yaml b/packages/webview_flutter/pubspec.yaml index ce39caee2fd6..206b481ce0bf 100644 --- a/packages/webview_flutter/pubspec.yaml +++ b/packages/webview_flutter/pubspec.yaml @@ -1,6 +1,6 @@ name: webview_flutter description: A Flutter plugin that provides a WebView widget on Android and iOS. -version: 0.3.11+6 +version: 0.3.12+1 author: Flutter Team homepage: https://github.com/flutter/plugins/tree/master/packages/webview_flutter