From 7cbb3139373f61ad4d14dc99b6ae91b10b10103d Mon Sep 17 00:00:00 2001 From: Boram Bae Date: Tue, 14 Jun 2022 09:51:28 +0900 Subject: [PATCH] [webview_flutter] Handle back key * Perform go back when back key pressed if navigation stack has a item. if not, the app will be terminated by the engine. Signed-off-by: Boram Bae --- packages/webview_flutter/CHANGELOG.md | 3 +++ packages/webview_flutter/README.md | 2 +- packages/webview_flutter/pubspec.yaml | 2 +- packages/webview_flutter/tizen/src/webview.cc | 6 ++++++ 4 files changed, 11 insertions(+), 2 deletions(-) diff --git a/packages/webview_flutter/CHANGELOG.md b/packages/webview_flutter/CHANGELOG.md index 009540ad2..f17e52fa6 100644 --- a/packages/webview_flutter/CHANGELOG.md +++ b/packages/webview_flutter/CHANGELOG.md @@ -1,3 +1,6 @@ +## 0.5.2 +* Add a back key handling. + ## 0.5.1 * Apply PlatformView API change. * Code refactoring. diff --git a/packages/webview_flutter/README.md b/packages/webview_flutter/README.md index ddc27edcc..df5251e4d 100644 --- a/packages/webview_flutter/README.md +++ b/packages/webview_flutter/README.md @@ -25,7 +25,7 @@ This package is not an _endorsed_ implementation of `webview_flutter`. Therefore ```yaml dependencies: webview_flutter: ^3.0.4 - webview_flutter_tizen: ^0.5.1 + webview_flutter_tizen: ^0.5.2 ``` ## Example diff --git a/packages/webview_flutter/pubspec.yaml b/packages/webview_flutter/pubspec.yaml index 74e865214..3630769ad 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.5.1 +version: 0.5.2 environment: sdk: ">=2.17.0 <3.0.0" diff --git a/packages/webview_flutter/tizen/src/webview.cc b/packages/webview_flutter/tizen/src/webview.cc index 0f4e37096..34d0b23b1 100644 --- a/packages/webview_flutter/tizen/src/webview.cc +++ b/packages/webview_flutter/tizen/src/webview.cc @@ -610,6 +610,12 @@ bool WebView::SendKey(const char* key, const char* string, const char* compose, param->key_value = KeyToKeyValue(key, is_shift_pressed); param->is_down = is_down; + if (param->key_value == LWE::KeyValue::TVReturnKey && + webview_instance_->CanGoBack()) { + webview_instance_->GoBack(); + return true; + } + webview_instance_->AddIdleCallback( [](void* data) { Param* param = reinterpret_cast(data);