From e25faa34b38216dda47623eb32a49084d350b65d Mon Sep 17 00:00:00 2001 From: "Bodhi Mulders (BeMacized)" Date: Fri, 1 Oct 2021 15:02:09 +0200 Subject: [PATCH 1/7] [webview_flutter_platform_interface] Update webview platform interface with new methods for running JavaScript --- .../CHANGELOG.md | 4 +++ .../webview_method_channel.dart | 12 +++++++ .../webview_platform_controller.dart | 17 +++++++++ .../pubspec.yaml | 2 +- .../webview_method_channel_test.dart | 36 +++++++++++++++++++ 5 files changed, 70 insertions(+), 1 deletion(-) diff --git a/packages/webview_flutter/webview_flutter_platform_interface/CHANGELOG.md b/packages/webview_flutter/webview_flutter_platform_interface/CHANGELOG.md index 9e217a04e961..5a37994f4fa3 100644 --- a/packages/webview_flutter/webview_flutter_platform_interface/CHANGELOG.md +++ b/packages/webview_flutter/webview_flutter_platform_interface/CHANGELOG.md @@ -1,3 +1,7 @@ +## 1.1.0 + +* Added `runJavaScript` and `runJavaScriptForResult` interface methods to supersede `evaluateJavaScript`. + ## 1.0.0 * Extracted platform interface from `webview_flutter`. \ No newline at end of file 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 b467daf72a08..29cb1bdde798 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 @@ -129,6 +129,18 @@ class MethodChannelWebViewPlatform implements WebViewPlatformController { .then((result) => result!); } + @override + Future runJavaScript(String javaScriptString) async { + await _channel.invokeMethod('runJavaScript', javaScriptString); + } + + @override + Future runJavaScriptForResult(String javaScriptString) { + return _channel + .invokeMethod('runJavaScriptForResult', javaScriptString) + .then((result) => result!); + } + @override Future addJavascriptChannels(Set javascriptChannelNames) { return _channel.invokeMethod( diff --git a/packages/webview_flutter/webview_flutter_platform_interface/lib/src/platform_interface/webview_platform_controller.dart b/packages/webview_flutter/webview_flutter_platform_interface/lib/src/platform_interface/webview_platform_controller.dart index 319ca7e7a845..6ccba8b63fb0 100644 --- a/packages/webview_flutter/webview_flutter_platform_interface/lib/src/platform_interface/webview_platform_controller.dart +++ b/packages/webview_flutter/webview_flutter_platform_interface/lib/src/platform_interface/webview_platform_controller.dart @@ -112,6 +112,23 @@ abstract class WebViewPlatformController { "WebView evaluateJavascript is not implemented on the current platform"); } + /// Runs the given JavaScript in the context of the current page. + /// + /// The Future completes with an error if a JavaScript error occurred. + Future runJavaScript(String javaScriptString) { + throw UnimplementedError( + "WebView runJavaScript is not implemented on the current platform"); + } + + /// Runs the given JavaScript in the context of the current page, and returns the result. + /// + /// The Future completes with an error if a JavaScript error occurred, or successfully completes with a null value + /// if the type of the value is not supported(e.g on iOS not all non primitive type can be evaluated). + Future runJavaScriptForResult(String javaScriptString) { + throw UnimplementedError( + "WebView runJavaScriptForResult is not implemented on the current platform"); + } + /// Adds new JavaScript channels to the set of enabled channels. /// /// For each value in this list the platform's webview should make sure that a corresponding diff --git a/packages/webview_flutter/webview_flutter_platform_interface/pubspec.yaml b/packages/webview_flutter/webview_flutter_platform_interface/pubspec.yaml index bf43c265d77a..166c55b133db 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.0.0 +version: 1.1.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 2f845eaa4999..9a0167821d2f 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 @@ -280,6 +280,42 @@ void main() { ); }); + test('evaluateJavascript', () async { + final String evaluateJavascript = + await webViewPlatform.evaluateJavascript( + 'This simulates some Javascript code.', + ); + + expect('This simulates some Javascript code.', evaluateJavascript); + expect( + log, + [ + isMethodCall( + 'evaluateJavascript', + arguments: 'This simulates some Javascript code.', + ), + ], + ); + }); + + test('evaluateJavascript', () async { + final String evaluateJavascript = + await webViewPlatform.evaluateJavascript( + 'This simulates some Javascript code.', + ); + + expect('This simulates some Javascript code.', evaluateJavascript); + expect( + log, + [ + isMethodCall( + 'evaluateJavascript', + arguments: 'This simulates some Javascript code.', + ), + ], + ); + }); + test('addJavascriptChannels', () async { final Set channels = {'channel one', 'channel two'}; await webViewPlatform.addJavascriptChannels(channels); From f19b5c3666581110b073c11f7639427a0c76a8ad Mon Sep 17 00:00:00 2001 From: "Bodhi Mulders (BeMacized)" Date: Fri, 1 Oct 2021 15:12:46 +0200 Subject: [PATCH 2/7] Fix tests --- .../webview_method_channel_test.dart | 15 +++++++-------- 1 file changed, 7 insertions(+), 8 deletions(-) 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 9a0167821d2f..358eaf9aa396 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 @@ -31,6 +31,7 @@ void main() { case 'canGoBack': case 'canGoForward': return true; + case 'runJavaScriptForResult': case 'evaluateJavascript': return methodCall.arguments as String; case 'getScrollX': @@ -280,27 +281,25 @@ void main() { ); }); - test('evaluateJavascript', () async { - final String evaluateJavascript = - await webViewPlatform.evaluateJavascript( + test('runJavaScript', () async { + await webViewPlatform.runJavaScript( 'This simulates some Javascript code.', ); - expect('This simulates some Javascript code.', evaluateJavascript); expect( log, [ isMethodCall( - 'evaluateJavascript', + 'runJavaScript', arguments: 'This simulates some Javascript code.', ), ], ); }); - test('evaluateJavascript', () async { + test('runJavaScriptForResult', () async { final String evaluateJavascript = - await webViewPlatform.evaluateJavascript( + await webViewPlatform.runJavaScriptForResult( 'This simulates some Javascript code.', ); @@ -309,7 +308,7 @@ void main() { log, [ isMethodCall( - 'evaluateJavascript', + 'runJavaScriptForResult', arguments: 'This simulates some Javascript code.', ), ], From ff493a27cf53cd391a352e0a1a640d46b5e09d29 Mon Sep 17 00:00:00 2001 From: "Bodhi Mulders (BeMacized)" Date: Fri, 1 Oct 2021 15:38:55 +0200 Subject: [PATCH 3/7] Implemented PR feedback --- .../src/platform_interface/webview_platform_controller.dart | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/webview_flutter/webview_flutter_platform_interface/lib/src/platform_interface/webview_platform_controller.dart b/packages/webview_flutter/webview_flutter_platform_interface/lib/src/platform_interface/webview_platform_controller.dart index 6ccba8b63fb0..c7f433b5d0c9 100644 --- a/packages/webview_flutter/webview_flutter_platform_interface/lib/src/platform_interface/webview_platform_controller.dart +++ b/packages/webview_flutter/webview_flutter_platform_interface/lib/src/platform_interface/webview_platform_controller.dart @@ -122,8 +122,8 @@ abstract class WebViewPlatformController { /// Runs the given JavaScript in the context of the current page, and returns the result. /// - /// The Future completes with an error if a JavaScript error occurred, or successfully completes with a null value - /// if the type of the value is not supported(e.g on iOS not all non primitive type can be evaluated). + /// The Future completes with an error if a JavaScript error occurred, or if the type of the + /// evaluated expression is not supported(e.g on iOS not all non primitive type can be evaluated). Future runJavaScriptForResult(String javaScriptString) { throw UnimplementedError( "WebView runJavaScriptForResult is not implemented on the current platform"); From 9f661e87565a288dd67a4626ca349f9efb498ec2 Mon Sep 17 00:00:00 2001 From: "Bodhi Mulders (BeMacized)" Date: Mon, 4 Oct 2021 12:34:59 +0200 Subject: [PATCH 4/7] Implemented PR feedback partially --- .../webview_platform_controller.dart | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/packages/webview_flutter/webview_flutter_platform_interface/lib/src/platform_interface/webview_platform_controller.dart b/packages/webview_flutter/webview_flutter_platform_interface/lib/src/platform_interface/webview_platform_controller.dart index c7f433b5d0c9..64516420afa3 100644 --- a/packages/webview_flutter/webview_flutter_platform_interface/lib/src/platform_interface/webview_platform_controller.dart +++ b/packages/webview_flutter/webview_flutter_platform_interface/lib/src/platform_interface/webview_platform_controller.dart @@ -106,8 +106,8 @@ abstract class WebViewPlatformController { /// Evaluates a JavaScript expression in the context of the current page. /// /// The Future completes with an error if a JavaScript error occurred, or if the type of the - /// evaluated expression is not supported(e.g on iOS not all non primitive type can be evaluated). - Future evaluateJavascript(String javascriptString) { + /// evaluated expression is not supported (e.g on iOS not all non primitive types can be evaluated). + Future evaluateJavascript(String javaScript) { throw UnimplementedError( "WebView evaluateJavascript is not implemented on the current platform"); } @@ -115,16 +115,17 @@ abstract class WebViewPlatformController { /// Runs the given JavaScript in the context of the current page. /// /// The Future completes with an error if a JavaScript error occurred. - Future runJavaScript(String javaScriptString) { + Future runJavaScript(String javaScript) { throw UnimplementedError( "WebView runJavaScript is not implemented on the current platform"); } /// Runs the given JavaScript in the context of the current page, and returns the result. /// - /// The Future completes with an error if a JavaScript error occurred, or if the type of the - /// evaluated expression is not supported(e.g on iOS not all non primitive type can be evaluated). - Future runJavaScriptForResult(String javaScriptString) { + /// The Future completes with an error if a JavaScript error occurred, or if the + /// type the given expression evaluates to is unsupported. Unsupported values include + /// certain non primitive types on iOS, as well as `undefined` or `null` on iOS 14+. + Future runJavaScriptForResult(String javaScript) { throw UnimplementedError( "WebView runJavaScriptForResult is not implemented on the current platform"); } From cbc88e8ecc3dff6a409b976a293b8b7b9b70bb54 Mon Sep 17 00:00:00 2001 From: "Bodhi Mulders (BeMacized)" Date: Mon, 4 Oct 2021 13:55:54 +0200 Subject: [PATCH 5/7] Implement PR feedback --- .../webview_method_channel.dart | 12 +++---- .../webview_platform_controller.dart | 32 +++++++++---------- .../webview_method_channel_test.dart | 14 ++++---- 3 files changed, 29 insertions(+), 29 deletions(-) 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 29cb1bdde798..09f98fae216a 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 @@ -123,21 +123,21 @@ class MethodChannelWebViewPlatform implements WebViewPlatformController { } @override - Future evaluateJavascript(String javascriptString) { + Future evaluateJavascript(String javascript) { return _channel - .invokeMethod('evaluateJavascript', javascriptString) + .invokeMethod('evaluateJavascript', javascript) .then((result) => result!); } @override - Future runJavaScript(String javaScriptString) async { - await _channel.invokeMethod('runJavaScript', javaScriptString); + Future runJavascript(String javascript) async { + await _channel.invokeMethod('runJavascript', javascript); } @override - Future runJavaScriptForResult(String javaScriptString) { + Future runJavascriptReturningResult(String javascript) { return _channel - .invokeMethod('runJavaScriptForResult', javaScriptString) + .invokeMethod('runJavascriptReturningResult', javascript) .then((result) => result!); } diff --git a/packages/webview_flutter/webview_flutter_platform_interface/lib/src/platform_interface/webview_platform_controller.dart b/packages/webview_flutter/webview_flutter_platform_interface/lib/src/platform_interface/webview_platform_controller.dart index 64516420afa3..ea0469706128 100644 --- a/packages/webview_flutter/webview_flutter_platform_interface/lib/src/platform_interface/webview_platform_controller.dart +++ b/packages/webview_flutter/webview_flutter_platform_interface/lib/src/platform_interface/webview_platform_controller.dart @@ -103,38 +103,38 @@ abstract class WebViewPlatformController { "WebView clearCache is not implemented on the current platform"); } - /// Evaluates a JavaScript expression in the context of the current page. + /// Evaluates a Javascript expression in the context of the current page. /// - /// The Future completes with an error if a JavaScript error occurred, or if the type of the + /// The Future completes with an error if a Javascript error occurred, or if the type of the /// evaluated expression is not supported (e.g on iOS not all non primitive types can be evaluated). - Future evaluateJavascript(String javaScript) { + Future evaluateJavascript(String javascript) { throw UnimplementedError( "WebView evaluateJavascript is not implemented on the current platform"); } - /// Runs the given JavaScript in the context of the current page. + /// Runs the given Javascript in the context of the current page. /// - /// The Future completes with an error if a JavaScript error occurred. - Future runJavaScript(String javaScript) { + /// The Future completes with an error if a Javascript error occurred. + Future runJavascript(String javascript) { throw UnimplementedError( - "WebView runJavaScript is not implemented on the current platform"); + "WebView runJavascript is not implemented on the current platform"); } - /// Runs the given JavaScript in the context of the current page, and returns the result. + /// Runs the given Javascript in the context of the current page, and returns the result. /// - /// The Future completes with an error if a JavaScript error occurred, or if the + /// The Future completes with an error if a Javascript error occurred, or if the /// type the given expression evaluates to is unsupported. Unsupported values include /// certain non primitive types on iOS, as well as `undefined` or `null` on iOS 14+. - Future runJavaScriptForResult(String javaScript) { + Future runJavascriptReturningResult(String javascript) { throw UnimplementedError( - "WebView runJavaScriptForResult is not implemented on the current platform"); + "WebView runJavascriptReturningResult is not implemented on the current platform"); } - /// Adds new JavaScript channels to the set of enabled channels. + /// Adds new Javascript channels to the set of enabled channels. /// /// For each value in this list the platform's webview should make sure that a corresponding - /// property with a postMessage method is set on `window`. For example for a JavaScript channel - /// named `Foo` it should be possible for JavaScript code executing in the webview to do + /// property with a postMessage method is set on `window`. For example for a Javascript channel + /// named `Foo` it should be possible for Javascript code executing in the webview to do /// /// ```javascript /// Foo.postMessage('hello'); @@ -146,9 +146,9 @@ abstract class WebViewPlatformController { "WebView addJavascriptChannels is not implemented on the current platform"); } - /// Removes JavaScript channel names from the set of enabled channels. + /// Removes Javascript channel names from the set of enabled channels. /// - /// This disables channels that were previously enabled by [addJavaScriptChannels] or through + /// This disables channels that were previously enabled by [addJavascriptChannels] or through /// [CreationParams.javascriptChannelNames]. Future removeJavascriptChannels(Set javascriptChannelNames) { throw UnimplementedError( 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 358eaf9aa396..1eee15547908 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 @@ -31,7 +31,7 @@ void main() { case 'canGoBack': case 'canGoForward': return true; - case 'runJavaScriptForResult': + case 'runJavascriptReturningResult': case 'evaluateJavascript': return methodCall.arguments as String; case 'getScrollX': @@ -281,8 +281,8 @@ void main() { ); }); - test('runJavaScript', () async { - await webViewPlatform.runJavaScript( + test('runJavascript', () async { + await webViewPlatform.runJavascript( 'This simulates some Javascript code.', ); @@ -290,16 +290,16 @@ void main() { log, [ isMethodCall( - 'runJavaScript', + 'runJavascript', arguments: 'This simulates some Javascript code.', ), ], ); }); - test('runJavaScriptForResult', () async { + test('runJavascriptReturningResult', () async { final String evaluateJavascript = - await webViewPlatform.runJavaScriptForResult( + await webViewPlatform.runJavascriptReturningResult( 'This simulates some Javascript code.', ); @@ -308,7 +308,7 @@ void main() { log, [ isMethodCall( - 'runJavaScriptForResult', + 'runJavascriptReturningResult', arguments: 'This simulates some Javascript code.', ), ], From 26004c3c09d9447476bbf42117f3ee207c642d04 Mon Sep 17 00:00:00 2001 From: "Bodhi Mulders (BeMacized)" Date: Mon, 4 Oct 2021 14:00:11 +0200 Subject: [PATCH 6/7] Update changelog --- .../webview_flutter_platform_interface/CHANGELOG.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/webview_flutter/webview_flutter_platform_interface/CHANGELOG.md b/packages/webview_flutter/webview_flutter_platform_interface/CHANGELOG.md index 5a37994f4fa3..d15755699a79 100644 --- a/packages/webview_flutter/webview_flutter_platform_interface/CHANGELOG.md +++ b/packages/webview_flutter/webview_flutter_platform_interface/CHANGELOG.md @@ -1,6 +1,6 @@ ## 1.1.0 -* Added `runJavaScript` and `runJavaScriptForResult` interface methods to supersede `evaluateJavaScript`. +* Added `runJavascript` and `runJavascriptReturningResult` interface methods to supersede `evaluateJavaScript`. ## 1.0.0 From 02e110615d6aad47950de86098a6e7181712eb86 Mon Sep 17 00:00:00 2001 From: "Bodhi Mulders (BeMacized)" Date: Tue, 5 Oct 2021 14:18:54 +0200 Subject: [PATCH 7/7] Implement PR feedback --- .../CHANGELOG.md | 2 +- .../webview_platform_controller.dart | 24 +++++++++---------- .../lib/src/types/javascript_channel.dart | 6 ++--- .../webview_method_channel_test.dart | 16 ++++++------- 4 files changed, 24 insertions(+), 24 deletions(-) diff --git a/packages/webview_flutter/webview_flutter_platform_interface/CHANGELOG.md b/packages/webview_flutter/webview_flutter_platform_interface/CHANGELOG.md index d15755699a79..295554aed61a 100644 --- a/packages/webview_flutter/webview_flutter_platform_interface/CHANGELOG.md +++ b/packages/webview_flutter/webview_flutter_platform_interface/CHANGELOG.md @@ -1,6 +1,6 @@ ## 1.1.0 -* Added `runJavascript` and `runJavascriptReturningResult` interface methods to supersede `evaluateJavaScript`. +* Added `runJavascript` and `runJavascriptReturningResult` interface methods to supersede `evaluateJavascript`. ## 1.0.0 diff --git a/packages/webview_flutter/webview_flutter_platform_interface/lib/src/platform_interface/webview_platform_controller.dart b/packages/webview_flutter/webview_flutter_platform_interface/lib/src/platform_interface/webview_platform_controller.dart index ea0469706128..b42da4326079 100644 --- a/packages/webview_flutter/webview_flutter_platform_interface/lib/src/platform_interface/webview_platform_controller.dart +++ b/packages/webview_flutter/webview_flutter_platform_interface/lib/src/platform_interface/webview_platform_controller.dart @@ -103,38 +103,38 @@ abstract class WebViewPlatformController { "WebView clearCache is not implemented on the current platform"); } - /// Evaluates a Javascript expression in the context of the current page. + /// Evaluates a JavaScript expression in the context of the current page. /// - /// The Future completes with an error if a Javascript error occurred, or if the type of the - /// evaluated expression is not supported (e.g on iOS not all non primitive types can be evaluated). + /// The Future completes with an error if a JavaScript error occurred, or if the type of the + /// evaluated expression is not supported (e.g on iOS not all non-primitive types can be evaluated). Future evaluateJavascript(String javascript) { throw UnimplementedError( "WebView evaluateJavascript is not implemented on the current platform"); } - /// Runs the given Javascript in the context of the current page. + /// Runs the given JavaScript in the context of the current page. /// - /// The Future completes with an error if a Javascript error occurred. + /// The Future completes with an error if a JavaScript error occurred. Future runJavascript(String javascript) { throw UnimplementedError( "WebView runJavascript is not implemented on the current platform"); } - /// Runs the given Javascript in the context of the current page, and returns the result. + /// Runs the given JavaScript in the context of the current page, and returns the result. /// - /// The Future completes with an error if a Javascript error occurred, or if the + /// The Future completes with an error if a JavaScript error occurred, or if the /// type the given expression evaluates to is unsupported. Unsupported values include - /// certain non primitive types on iOS, as well as `undefined` or `null` on iOS 14+. + /// certain non-primitive types on iOS, as well as `undefined` or `null` on iOS 14+. Future runJavascriptReturningResult(String javascript) { throw UnimplementedError( "WebView runJavascriptReturningResult is not implemented on the current platform"); } - /// Adds new Javascript channels to the set of enabled channels. + /// Adds new JavaScript channels to the set of enabled channels. /// /// For each value in this list the platform's webview should make sure that a corresponding - /// property with a postMessage method is set on `window`. For example for a Javascript channel - /// named `Foo` it should be possible for Javascript code executing in the webview to do + /// property with a postMessage method is set on `window`. For example for a JavaScript channel + /// named `Foo` it should be possible for JavaScript code executing in the webview to do /// /// ```javascript /// Foo.postMessage('hello'); @@ -146,7 +146,7 @@ abstract class WebViewPlatformController { "WebView addJavascriptChannels is not implemented on the current platform"); } - /// Removes Javascript channel names from the set of enabled channels. + /// Removes JavaScript channel names from the set of enabled channels. /// /// This disables channels that were previously enabled by [addJavascriptChannels] or through /// [CreationParams.javascriptChannelNames]. diff --git a/packages/webview_flutter/webview_flutter_platform_interface/lib/src/types/javascript_channel.dart b/packages/webview_flutter/webview_flutter_platform_interface/lib/src/types/javascript_channel.dart index 8b31f5b6061e..f32a41893eb5 100644 --- a/packages/webview_flutter/webview_flutter_platform_interface/lib/src/types/javascript_channel.dart +++ b/packages/webview_flutter/webview_flutter_platform_interface/lib/src/types/javascript_channel.dart @@ -4,14 +4,14 @@ import 'javascript_message.dart'; -/// Callback type for handling messages sent from Javascript running in a web view. +/// Callback type for handling messages sent from JavaScript running in a web view. typedef void JavascriptMessageHandler(JavascriptMessage message); final RegExp _validChannelNames = RegExp('^[a-zA-Z_][a-zA-Z0-9_]*\$'); /// A named channel for receiving messaged from JavaScript code running inside a web view. class JavascriptChannel { - /// Constructs a Javascript channel. + /// Constructs a JavaScript channel. /// /// The parameters `name` and `onMessageReceived` must not be null. JavascriptChannel({ @@ -24,7 +24,7 @@ class JavascriptChannel { /// The channel's name. /// /// Passing this channel object as part of a [WebView.javascriptChannels] adds a channel object to - /// the Javascript window object's property named `name`. + /// the JavaScript window object's property named `name`. /// /// The name must start with a letter or underscore(_), followed by any combination of those /// characters plus digits. 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 1eee15547908..bf4fb1d1ad58 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 @@ -266,16 +266,16 @@ void main() { test('evaluateJavascript', () async { final String evaluateJavascript = await webViewPlatform.evaluateJavascript( - 'This simulates some Javascript code.', + 'This simulates some JavaScript code.', ); - expect('This simulates some Javascript code.', evaluateJavascript); + expect('This simulates some JavaScript code.', evaluateJavascript); expect( log, [ isMethodCall( 'evaluateJavascript', - arguments: 'This simulates some Javascript code.', + arguments: 'This simulates some JavaScript code.', ), ], ); @@ -283,7 +283,7 @@ void main() { test('runJavascript', () async { await webViewPlatform.runJavascript( - 'This simulates some Javascript code.', + 'This simulates some JavaScript code.', ); expect( @@ -291,7 +291,7 @@ void main() { [ isMethodCall( 'runJavascript', - arguments: 'This simulates some Javascript code.', + arguments: 'This simulates some JavaScript code.', ), ], ); @@ -300,16 +300,16 @@ void main() { test('runJavascriptReturningResult', () async { final String evaluateJavascript = await webViewPlatform.runJavascriptReturningResult( - 'This simulates some Javascript code.', + 'This simulates some JavaScript code.', ); - expect('This simulates some Javascript code.', evaluateJavascript); + expect('This simulates some JavaScript code.', evaluateJavascript); expect( log, [ isMethodCall( 'runJavascriptReturningResult', - arguments: 'This simulates some Javascript code.', + arguments: 'This simulates some JavaScript code.', ), ], );