diff --git a/packages/webview_flutter/CHANGELOG.md b/packages/webview_flutter/CHANGELOG.md index dbc32e2c0..fb9a35d18 100644 --- a/packages/webview_flutter/CHANGELOG.md +++ b/packages/webview_flutter/CHANGELOG.md @@ -1,3 +1,7 @@ +## 0.4.4 + +* Update LWE binary (645719ed084d899ec7d53de1758db71a8974e446). + ## 0.4.3 * Remove unused things. diff --git a/packages/webview_flutter/README.md b/packages/webview_flutter/README.md index 354a91be2..59613676a 100644 --- a/packages/webview_flutter/README.md +++ b/packages/webview_flutter/README.md @@ -24,8 +24,8 @@ This package is not an _endorsed_ implementation of `webview_flutter`. Therefore ```yaml dependencies: - webview_flutter: ^3.0.1 - webview_flutter_tizen: ^0.4.2 + webview_flutter: ^3.0.2 + webview_flutter_tizen: ^0.4.4 ``` ## Example diff --git a/packages/webview_flutter/example/lib/main.dart b/packages/webview_flutter/example/lib/main.dart index 4e9b804ee..fc9d1ee0b 100644 --- a/packages/webview_flutter/example/lib/main.dart +++ b/packages/webview_flutter/example/lib/main.dart @@ -14,7 +14,7 @@ import 'package:path_provider/path_provider.dart'; import 'package:webview_flutter/webview_flutter.dart'; import 'package:webview_flutter_tizen/webview_flutter_tizen.dart'; -void main() => runApp(MaterialApp(home: WebViewExample())); +void main() => runApp(const MaterialApp(home: WebViewExample())); const String kNavigationExamplePage = ''' @@ -72,6 +72,10 @@ const String kTransparentBackgroundPage = ''' '''; class WebViewExample extends StatefulWidget { + const WebViewExample({this.cookieManager}); + + final CookieManager? cookieManager; + @override _WebViewExampleState createState() => _WebViewExampleState(); } @@ -94,42 +98,38 @@ class _WebViewExampleState extends State { // This drop down menu demonstrates that Flutter widgets can be shown over the web view. actions: [ NavigationControls(_controller.future), - SampleMenu(_controller.future), + SampleMenu(_controller.future, widget.cookieManager), ], ), - // We're using a Builder here so we have a context that is below the Scaffold - // to allow calling Scaffold.of(context) so we can show a snackbar. - body: Builder(builder: (BuildContext context) { - return WebView( - initialUrl: 'https://www.apache.org/licenses/LICENSE-2.0.txt', - javascriptMode: JavascriptMode.unrestricted, - onWebViewCreated: (WebViewController webViewController) { - _controller.complete(webViewController); - }, - onProgress: (int progress) { - print('WebView is loading (progress : $progress%)'); - }, - javascriptChannels: { - _toasterJavascriptChannel(context), - }, - navigationDelegate: (NavigationRequest request) { - if (request.url.startsWith('https://www.youtube.com/')) { - print('blocking navigation to $request}'); - return NavigationDecision.prevent; - } - print('allowing navigation to $request'); - return NavigationDecision.navigate; - }, - onPageStarted: (String url) { - print('Page started loading: $url'); - }, - onPageFinished: (String url) { - print('Page finished loading: $url'); - }, - gestureNavigationEnabled: true, - backgroundColor: const Color(0x00000000), - ); - }), + body: WebView( + initialUrl: 'https://flutter.dev', + javascriptMode: JavascriptMode.unrestricted, + onWebViewCreated: (WebViewController webViewController) { + _controller.complete(webViewController); + }, + onProgress: (int progress) { + print('WebView is loading (progress : $progress%)'); + }, + javascriptChannels: { + _toasterJavascriptChannel(context), + }, + navigationDelegate: (NavigationRequest request) { + if (request.url.startsWith('https://www.youtube.com/')) { + print('blocking navigation to $request}'); + return NavigationDecision.prevent; + } + print('allowing navigation to $request'); + return NavigationDecision.navigate; + }, + onPageStarted: (String url) { + print('Page started loading: $url'); + }, + onPageFinished: (String url) { + print('Page finished loading: $url'); + }, + gestureNavigationEnabled: true, + backgroundColor: const Color(0x00000000), + ), floatingActionButton: favoriteButton(), ); } @@ -138,8 +138,7 @@ class _WebViewExampleState extends State { return JavascriptChannel( name: 'Toaster', onMessageReceived: (JavascriptMessage message) { - // ignore: deprecated_member_use - Scaffold.of(context).showSnackBar( + ScaffoldMessenger.of(context).showSnackBar( SnackBar(content: Text(message.message)), ); }); @@ -150,19 +149,24 @@ class _WebViewExampleState extends State { future: _controller.future, builder: (BuildContext context, AsyncSnapshot controller) { - if (controller.hasData) { - return FloatingActionButton( - onPressed: () async { - final String url = (await controller.data!.currentUrl())!; - // ignore: deprecated_member_use - Scaffold.of(context).showSnackBar( - SnackBar(content: Text('Favorited $url')), - ); - }, - child: const Icon(Icons.favorite), - ); - } - return Container(); + return FloatingActionButton( + onPressed: () async { + String? url; + if (controller.hasData) { + url = (await controller.data!.currentUrl())!; + } + ScaffoldMessenger.of(context).showSnackBar( + SnackBar( + content: Text( + controller.hasData + ? 'Favorited $url' + : 'Unable to favorite', + ), + ), + ); + }, + child: const Icon(Icons.favorite), + ); }); } } @@ -184,10 +188,11 @@ enum MenuOptions { } class SampleMenu extends StatelessWidget { - SampleMenu(this.controller); + SampleMenu(this.controller, CookieManager? cookieManager) + : cookieManager = CookieManagerTizen(); final Future controller; - final CookieManagerTizen cookieManager = CookieManagerTizen(); + late final CookieManagerTizen cookieManager; @override Widget build(BuildContext context) { @@ -313,8 +318,7 @@ class SampleMenu extends StatelessWidget { WebViewController controller, BuildContext context) async { final String cookies = await controller.runJavascriptReturningResult('document.cookie'); - // ignore: deprecated_member_use - Scaffold.of(context).showSnackBar(SnackBar( + ScaffoldMessenger.of(context).showSnackBar(SnackBar( content: Column( mainAxisAlignment: MainAxisAlignment.end, mainAxisSize: MainAxisSize.min, @@ -330,8 +334,7 @@ class SampleMenu extends StatelessWidget { WebViewController controller, BuildContext context) async { await controller.runJavascript( 'caches.open("test_caches_entry"); localStorage["test_localStorage"] = "dummy_entry";'); - // ignore: deprecated_member_use - Scaffold.of(context).showSnackBar(const SnackBar( + ScaffoldMessenger.of(context).showSnackBar(const SnackBar( content: Text('Added a test entry to cache.'), )); } @@ -346,8 +349,7 @@ class SampleMenu extends StatelessWidget { Future _onClearCache( WebViewController controller, BuildContext context) async { await controller.clearCache(); - // ignore: deprecated_member_use - Scaffold.of(context).showSnackBar(const SnackBar( + ScaffoldMessenger.of(context).showSnackBar(const SnackBar( content: Text('Cache cleared.'), )); } @@ -358,8 +360,7 @@ class SampleMenu extends StatelessWidget { if (!hadCookies) { message = 'There are no cookies.'; } - // ignore: deprecated_member_use - Scaffold.of(context).showSnackBar(SnackBar( + ScaffoldMessenger.of(context).showSnackBar(SnackBar( content: Text(message), )); } @@ -373,7 +374,7 @@ class SampleMenu extends StatelessWidget { Future _onSetCookie( WebViewController controller, BuildContext context) async { - await CookieManager().setCookie( + await cookieManager.setCookie( const WebViewCookie( name: 'foo', value: 'bar', domain: 'httpbin.org', path: '/anything'), ); @@ -464,8 +465,7 @@ class NavigationControls extends StatelessWidget { if (await controller!.canGoBack()) { await controller.goBack(); } else { - // ignore: deprecated_member_use - Scaffold.of(context).showSnackBar( + ScaffoldMessenger.of(context).showSnackBar( const SnackBar(content: Text('No back history item')), ); return; @@ -480,8 +480,7 @@ class NavigationControls extends StatelessWidget { if (await controller!.canGoForward()) { await controller.goForward(); } else { - // ignore: deprecated_member_use - Scaffold.of(context).showSnackBar( + ScaffoldMessenger.of(context).showSnackBar( const SnackBar( content: Text('No forward history item')), ); diff --git a/packages/webview_flutter/pubspec.yaml b/packages/webview_flutter/pubspec.yaml index fe4ebd58f..0b87fa765 100644 --- a/packages/webview_flutter/pubspec.yaml +++ b/packages/webview_flutter/pubspec.yaml @@ -2,7 +2,7 @@ name: webview_flutter_tizen description: Tizen implementation of the webview plugin homepage: https://github.com/flutter-tizen/plugins repository: https://github.com/flutter-tizen/plugins/tree/master/packages/webview_flutter -version: 0.4.3 +version: 0.4.4 environment: sdk: ">=2.14.0 <3.0.0" diff --git a/packages/webview_flutter/tizen/inc/lwe/LWEWebView.h b/packages/webview_flutter/tizen/inc/lwe/LWEWebView.h index 726dbe267..a60cb4dab 100644 --- a/packages/webview_flutter/tizen/inc/lwe/LWEWebView.h +++ b/packages/webview_flutter/tizen/inc/lwe/LWEWebView.h @@ -247,7 +247,7 @@ class LWE_EXPORT WebContainer { void Focus(); void Blur(); - void SetSettings(const Settings& setttings); + void SetSettings(const Settings& settings); void RemoveJavascriptInterface(const std::string& exposedObjectName, const std::string& jsFunctionName); void ClearCache(); @@ -379,7 +379,7 @@ class LWE_EXPORT WebView { void EvaluateJavaScript(const std::string& script, std::function cb); void ClearHistory(); - void SetSettings(const Settings& setttings); + void SetSettings(const Settings& settings); void RemoveJavascriptInterface(const std::string& exposedObjectName, const std::string& jsFunctionName); void ClearCache(); diff --git a/packages/webview_flutter/tizen/lib/aarch64/liblightweight-web-engine.flutter.so b/packages/webview_flutter/tizen/lib/aarch64/liblightweight-web-engine.flutter.so index 32ef921b2..a79820c54 100755 Binary files a/packages/webview_flutter/tizen/lib/aarch64/liblightweight-web-engine.flutter.so and b/packages/webview_flutter/tizen/lib/aarch64/liblightweight-web-engine.flutter.so differ diff --git a/packages/webview_flutter/tizen/lib/armel/liblightweight-web-engine.flutter.so b/packages/webview_flutter/tizen/lib/armel/liblightweight-web-engine.flutter.so index 61aeaea6f..08f9bc7ac 100755 Binary files a/packages/webview_flutter/tizen/lib/armel/liblightweight-web-engine.flutter.so and b/packages/webview_flutter/tizen/lib/armel/liblightweight-web-engine.flutter.so differ diff --git a/packages/webview_flutter/tizen/lib/i586/liblightweight-web-engine.flutter.so b/packages/webview_flutter/tizen/lib/i586/liblightweight-web-engine.flutter.so index 6cbdb3554..6ff012d28 100755 Binary files a/packages/webview_flutter/tizen/lib/i586/liblightweight-web-engine.flutter.so and b/packages/webview_flutter/tizen/lib/i586/liblightweight-web-engine.flutter.so differ