Skip to content

Commit e4feab6

Browse files
authored
Revert "[webview_flutter] Add a getTitle method to WebViewController" (flutter#1981)
Reverts flutter#1979 The change broke Fuchsia, as FuchsiaWebViewController implements WebViewPlatformController so it doesn't get the no-op implementation of getTitle. We could change the FuchsiaWebViewController implementation to extend WebViewPlatformController so we can add new methods without requiring roll coordination. I'm reverting temporarily until we resolve the roll issue.
1 parent 59eeaa8 commit e4feab6

File tree

8 files changed

+5
-66
lines changed

8 files changed

+5
-66
lines changed

packages/webview_flutter/CHANGELOG.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,7 @@
1+
## 0.3.12+1
2+
3+
* Temporarily revert getTitle (doing this as a patch bump shortly after publishing).
4+
15
## 0.3.12
26

37
* Added a getTitle getter to WebViewController.

packages/webview_flutter/android/src/main/java/io/flutter/plugins/webviewflutter/FlutterWebView.java

Lines changed: 0 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -130,9 +130,6 @@ public void onMethodCall(MethodCall methodCall, Result result) {
130130
case "clearCache":
131131
clearCache(result);
132132
break;
133-
case "getTitle":
134-
getTitle(result);
135-
break;
136133
default:
137134
result.notImplemented();
138135
}
@@ -225,10 +222,6 @@ private void clearCache(Result result) {
225222
result.success(null);
226223
}
227224

228-
private void getTitle(Result result) {
229-
result.success(webView.getTitle());
230-
}
231-
232225
private void applySettings(Map<String, Object> settings) {
233226
for (String key : settings.keySet()) {
234227
switch (key) {

packages/webview_flutter/example/test_driver/webview.dart

Lines changed: 0 additions & 37 deletions
Original file line numberDiff line numberDiff line change
@@ -369,43 +369,6 @@ void main() {
369369
expect(isPaused, _webviewBool(false));
370370
});
371371
});
372-
373-
test('getTitle', () async {
374-
final String getTitleTest = '''
375-
<!DOCTYPE html><html>
376-
<head><title>Some title</title>
377-
</head>
378-
<body>
379-
</body>
380-
</html>
381-
''';
382-
final String getTitleTestBase64 =
383-
base64Encode(const Utf8Encoder().convert(getTitleTest));
384-
final Completer<void> pageLoaded = Completer<void>();
385-
final Completer<WebViewController> controllerCompleter =
386-
Completer<WebViewController>();
387-
388-
await pumpWidget(
389-
Directionality(
390-
textDirection: TextDirection.ltr,
391-
child: WebView(
392-
initialUrl: 'data:text/html;charset=utf-8;base64,$getTitleTestBase64',
393-
onWebViewCreated: (WebViewController controller) {
394-
controllerCompleter.complete(controller);
395-
},
396-
onPageFinished: (String url) {
397-
pageLoaded.complete(null);
398-
},
399-
),
400-
),
401-
);
402-
403-
final WebViewController controller = await controllerCompleter.future;
404-
await pageLoaded.future;
405-
406-
final String title = await controller.getTitle();
407-
expect(title, 'Some title');
408-
});
409372
}
410373

411374
Future<void> pumpWidget(Widget widget) {

packages/webview_flutter/ios/Classes/FlutterWebView.m

Lines changed: 0 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -118,8 +118,6 @@ - (void)onMethodCall:(FlutterMethodCall*)call result:(FlutterResult)result {
118118
[self onRemoveJavaScriptChannels:call result:result];
119119
} else if ([[call method] isEqualToString:@"clearCache"]) {
120120
[self clearCache:result];
121-
} else if ([[call method] isEqualToString:@"getTitle"]) {
122-
[self onGetTitle:result];
123121
} else {
124122
result(FlutterMethodNotImplemented);
125123
}
@@ -240,11 +238,6 @@ - (void)clearCache:(FlutterResult)result {
240238
}
241239
}
242240

243-
- (void)onGetTitle:(FlutterResult)result {
244-
NSString* title = _webView.title;
245-
result(title);
246-
}
247-
248241
// Returns nil when successful, or an error message when one or more keys are unknown.
249242
- (NSString*)applySettings:(NSDictionary<NSString*, id>*)settings {
250243
NSMutableArray<NSString*>* unknownKeys = [[NSMutableArray alloc] init];

packages/webview_flutter/lib/platform_interface.dart

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -152,12 +152,6 @@ abstract class WebViewPlatformController {
152152
throw UnimplementedError(
153153
"WebView removeJavascriptChannels is not implemented on the current platform");
154154
}
155-
156-
/// Returns the title of the currently loaded page.
157-
Future<String> getTitle() {
158-
throw UnimplementedError(
159-
"WebView getTitle is not implemented on the current platform");
160-
}
161155
}
162156

163157
/// Settings for configuring a WebViewPlatform.

packages/webview_flutter/lib/src/webview_method_channel.dart

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -103,9 +103,6 @@ class MethodChannelWebViewPlatform implements WebViewPlatformController {
103103
'removeJavascriptChannels', javascriptChannelNames.toList());
104104
}
105105

106-
@override
107-
Future<String> getTitle() => _channel.invokeMethod<String>("getTitle");
108-
109106
/// Method channel implementation for [WebViewPlatform.clearCookies].
110107
static Future<bool> clearCookies() {
111108
return _cookieManagerChannel

packages/webview_flutter/lib/webview_flutter.dart

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -600,11 +600,6 @@ class WebViewController {
600600
// ignore: strong_mode_implicit_dynamic_method
601601
return _webViewPlatformController.evaluateJavascript(javascriptString);
602602
}
603-
604-
/// Returns the title of the currently loaded page.
605-
Future<String> getTitle() {
606-
return _webViewPlatformController.getTitle();
607-
}
608603
}
609604

610605
/// Manages cookies pertaining to all [WebView]s.

packages/webview_flutter/pubspec.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
name: webview_flutter
22
description: A Flutter plugin that provides a WebView widget on Android and iOS.
3-
version: 0.3.12
3+
version: 0.3.12+1
44
author: Flutter Team <[email protected]>
55
homepage: https://github.com/flutter/plugins/tree/master/packages/webview_flutter
66

0 commit comments

Comments
 (0)