Skip to content
This repository was archived by the owner on Feb 22, 2023. It is now read-only.

Commit 8c19f6f

Browse files
author
Michael Klimushyn
authored
[webview_flutter] Fix pedantic lint errors (#2322)
1 parent 09d9f01 commit 8c19f6f

File tree

9 files changed

+40
-30
lines changed

9 files changed

+40
-30
lines changed

packages/webview_flutter/CHANGELOG.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,8 @@
1+
## 0.3.17
2+
3+
* Fix pedantic lint errors. Added missing documentation and awaited some futures
4+
in tests and the example app.
5+
16
## 0.3.16
27

38
* Add support for async NavigationDelegates. Synchronous NavigationDelegates

packages/webview_flutter/analysis_options.yaml

Lines changed: 0 additions & 11 deletions
This file was deleted.

packages/webview_flutter/example/lib/main.dart

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,8 @@
22
// Use of this source code is governed by a BSD-style license that can be
33
// found in the LICENSE file.
44

5+
// ignore_for_file: public_member_api_docs
6+
57
import 'dart:async';
68
import 'dart:convert';
79
import 'package:flutter/material.dart';
@@ -194,7 +196,7 @@ class SampleMenu extends StatelessWidget {
194196
WebViewController controller, BuildContext context) async {
195197
// Send a message with the user agent string to the Toaster JavaScript channel we registered
196198
// with the WebView.
197-
controller.evaluateJavascript(
199+
await controller.evaluateJavascript(
198200
'Toaster.postMessage("User Agent: " + navigator.userAgent);');
199201
}
200202

@@ -250,7 +252,7 @@ class SampleMenu extends StatelessWidget {
250252
WebViewController controller, BuildContext context) async {
251253
final String contentBase64 =
252254
base64Encode(const Utf8Encoder().convert(kNavigationExamplePage));
253-
controller.loadUrl('data:text/html;base64,$contentBase64');
255+
await controller.loadUrl('data:text/html;base64,$contentBase64');
254256
}
255257

256258
Widget _getCookieList(String cookies) {
@@ -291,7 +293,7 @@ class NavigationControls extends StatelessWidget {
291293
? null
292294
: () async {
293295
if (await controller.canGoBack()) {
294-
controller.goBack();
296+
await controller.goBack();
295297
} else {
296298
Scaffold.of(context).showSnackBar(
297299
const SnackBar(content: Text("No back history item")),
@@ -306,7 +308,7 @@ class NavigationControls extends StatelessWidget {
306308
? null
307309
: () async {
308310
if (await controller.canGoForward()) {
309-
controller.goForward();
311+
await controller.goForward();
310312
} else {
311313
Scaffold.of(context).showSnackBar(
312314
const SnackBar(

packages/webview_flutter/example/test_driver/webview_flutter_e2e_test.dart

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,6 @@ Future<void> main() async {
1111
final FlutterDriver driver = await FlutterDriver.connect();
1212
final String result =
1313
await driver.requestData(null, timeout: const Duration(minutes: 1));
14-
driver.close();
14+
await driver.close();
1515
exit(result == 'pass' ? 0 : 1);
1616
}

packages/webview_flutter/lib/platform_interface.dart

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -220,6 +220,10 @@ class WebSetting<T> {
220220
///
221221
/// The `userAgent` parameter must not be null.
222222
class WebSettings {
223+
/// Construct an instance with initial settings. Future setting changes can be
224+
/// sent with [WebviewPlatform#updateSettings].
225+
///
226+
/// The `userAgent` parameter must not be null.
223227
WebSettings({
224228
this.javascriptMode,
225229
this.hasNavigationDelegate,
@@ -258,6 +262,10 @@ class WebSettings {
258262
///
259263
/// The `autoMediaPlaybackPolicy` parameter must not be null.
260264
class CreationParams {
265+
/// Constructs an instance to use when creating a new
266+
/// [WebViewPlatformController].
267+
///
268+
/// The `autoMediaPlaybackPolicy` parameter must not be null.
261269
CreationParams({
262270
this.initialUrl,
263271
this.webSettings,

packages/webview_flutter/lib/src/webview_method_channel.dart

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,8 @@ import '../platform_interface.dart';
1010

1111
/// A [WebViewPlatformController] that uses a method channel to control the webview.
1212
class MethodChannelWebViewPlatform implements WebViewPlatformController {
13+
/// Constructs an instance that will listen for webviews broadcasting to the
14+
/// given [id], using the given [WebViewPlatformCallbacksHandler].
1315
MethodChannelWebViewPlatform(int id, this._platformCallbacksHandler)
1416
: assert(_platformCallbacksHandler != null),
1517
_channel = MethodChannel('plugins.flutter.io/webview_$id') {

packages/webview_flutter/lib/webview_flutter.dart

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,8 +12,11 @@ import 'platform_interface.dart';
1212
import 'src/webview_android.dart';
1313
import 'src/webview_cupertino.dart';
1414

15+
/// Optional callback invoked when a web view is first created. [controller] is
16+
/// the [WebViewController] for the created web view.
1517
typedef void WebViewCreatedCallback(WebViewController controller);
1618

19+
/// Describes the state of JavaScript support in a given web view.
1720
enum JavascriptMode {
1821
/// JavaScript execution is disabled.
1922
disabled,
@@ -589,10 +592,11 @@ class WebViewController {
589592
final Set<String> channelsToRemove =
590593
currentChannels.difference(newChannelNames);
591594
if (channelsToRemove.isNotEmpty) {
592-
_webViewPlatformController.removeJavascriptChannels(channelsToRemove);
595+
await _webViewPlatformController
596+
.removeJavascriptChannels(channelsToRemove);
593597
}
594598
if (channelsToAdd.isNotEmpty) {
595-
_webViewPlatformController.addJavascriptChannels(channelsToAdd);
599+
await _webViewPlatformController.addJavascriptChannels(channelsToAdd);
596600
}
597601
_platformCallbacksHandler._updateJavascriptChannelsFromSet(newChannels);
598602
}

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.16
3+
version: 0.3.17
44
author: Flutter Team <[email protected]>
55
homepage: https://github.com/flutter/plugins/tree/master/packages/webview_flutter
66

packages/webview_flutter/test/webview_flutter_test.dart

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -83,7 +83,7 @@ void main() {
8383

8484
expect(controller, isNotNull);
8585

86-
controller.loadUrl('https://flutter.io');
86+
await controller.loadUrl('https://flutter.io');
8787

8888
expect(await controller.currentUrl(), 'https://flutter.io');
8989
});
@@ -272,11 +272,11 @@ void main() {
272272

273273
expect(await controller.currentUrl(), 'https://youtube.com');
274274

275-
controller.loadUrl('https://flutter.io');
275+
await controller.loadUrl('https://flutter.io');
276276

277277
expect(await controller.currentUrl(), 'https://flutter.io');
278278

279-
controller.goBack();
279+
await controller.goBack();
280280

281281
expect(await controller.currentUrl(), 'https://youtube.com');
282282
});
@@ -296,15 +296,15 @@ void main() {
296296

297297
expect(await controller.currentUrl(), 'https://youtube.com');
298298

299-
controller.loadUrl('https://flutter.io');
299+
await controller.loadUrl('https://flutter.io');
300300

301301
expect(await controller.currentUrl(), 'https://flutter.io');
302302

303-
controller.goBack();
303+
await controller.goBack();
304304

305305
expect(await controller.currentUrl(), 'https://youtube.com');
306306

307-
controller.goForward();
307+
await controller.goForward();
308308

309309
expect(await controller.currentUrl(), 'https://flutter.io');
310310
});
@@ -324,13 +324,13 @@ void main() {
324324
// Test a WebView without an explicitly set first URL.
325325
expect(await controller.currentUrl(), isNull);
326326

327-
controller.loadUrl('https://youtube.com');
327+
await controller.loadUrl('https://youtube.com');
328328
expect(await controller.currentUrl(), 'https://youtube.com');
329329

330-
controller.loadUrl('https://flutter.io');
330+
await controller.loadUrl('https://flutter.io');
331331
expect(await controller.currentUrl(), 'https://flutter.io');
332332

333-
controller.goBack();
333+
await controller.goBack();
334334
expect(await controller.currentUrl(), 'https://youtube.com');
335335
});
336336

@@ -351,12 +351,12 @@ void main() {
351351
expect(platformWebView.currentUrl, 'https://flutter.io');
352352
expect(platformWebView.amountOfReloadsOnCurrentUrl, 0);
353353

354-
controller.reload();
354+
await controller.reload();
355355

356356
expect(platformWebView.currentUrl, 'https://flutter.io');
357357
expect(platformWebView.amountOfReloadsOnCurrentUrl, 1);
358358

359-
controller.loadUrl('https://youtube.com');
359+
await controller.loadUrl('https://youtube.com');
360360

361361
expect(platformWebView.amountOfReloadsOnCurrentUrl, 0);
362362
});

0 commit comments

Comments
 (0)