From 65e5a8f1272ee3eb662006b4b326b362aeb1f6c9 Mon Sep 17 00:00:00 2001 From: MetalDent Date: Wed, 4 Sep 2019 12:42:59 +0530 Subject: [PATCH] (fix): Relax regex to allow underscore with unit test --- packages/webview_flutter/CHANGELOG.md | 4 ++++ packages/webview_flutter/lib/webview_flutter.dart | 2 +- packages/webview_flutter/test/webview_flutter_test.dart | 1 + 3 files changed, 6 insertions(+), 1 deletion(-) diff --git a/packages/webview_flutter/CHANGELOG.md b/packages/webview_flutter/CHANGELOG.md index 75b2bf4997fc..95aa37b09fbe 100644 --- a/packages/webview_flutter/CHANGELOG.md +++ b/packages/webview_flutter/CHANGELOG.md @@ -1,6 +1,10 @@ ## 0.3.13 * Add an optional `userAgent` property to set a custom User Agent. + +## 0.3.13+1 + +* Allow underscore in the JavaScript channel names. ## 0.3.12+1 diff --git a/packages/webview_flutter/lib/webview_flutter.dart b/packages/webview_flutter/lib/webview_flutter.dart index 97b7786de9a6..92f788eb7769 100644 --- a/packages/webview_flutter/lib/webview_flutter.dart +++ b/packages/webview_flutter/lib/webview_flutter.dart @@ -91,7 +91,7 @@ enum AutoMediaPlaybackPolicy { always_allow, } -final RegExp _validChannelNames = RegExp('^[a-zA-Z_][a-zA-Z0-9]*\$'); +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 { diff --git a/packages/webview_flutter/test/webview_flutter_test.dart b/packages/webview_flutter/test/webview_flutter_test.dart index d3f289018073..6122d0d87c42 100644 --- a/packages/webview_flutter/test/webview_flutter_test.dart +++ b/packages/webview_flutter/test/webview_flutter_test.dart @@ -454,6 +454,7 @@ void main() { final JavascriptMessageHandler noOp = (JavascriptMessage msg) {}; JavascriptChannel(name: 'Tts1', onMessageReceived: noOp); JavascriptChannel(name: '_Alarm', onMessageReceived: noOp); + JavascriptChannel(name: 'foo_bar1_', onMessageReceived: noOp); VoidCallback createChannel(String name) { return () {