Skip to content

Commit

Permalink
[webview_flutter] Add webview_flutter_tizen package (#54)
Browse files Browse the repository at this point in the history
* [webview_flutter] Add webview_flutter_tizen package

* This PR is created from the PR below:
2bfc038 [webview_flutter] Update README and pubspec (#53)
bdd6a15 [webview_flutter] Enable intergation test (#52)
18da2a6 [webview_flutter] Update code by flutter version-up (#49)
1b6eeed [webview_flutter] Handle CompositionEvent (#47)
791511e [webview_flutter] Optimize tbm allocation (#42)
7059ce2 [webview_flutter] Add cookie and scroll APIs (#40)
c5a8930 Add some APIs (#37)
3feae1d [webview_flutter] Add NavigationDelegate and onWebResourceError (#36)
42b63f8 [webview_flutter] Add removeJavascriptChannels API and Callbacks (#31)
749930e [webview_flutter] Update LWE (#28)
9e26386 [webview_flutter] Implement addJavascriptChannels() (#27)
6a34ae0 [webview_flutter] Update LWE (#26)
a438093 [webview_flutter] Add evaluateJavascript() function (#25)
0d2c271 [webview_flutter] Update webview to be focused (#19)
b02b245 Enable IMF on Webview (#17)
571fa4a [webview_flutter_dev] Change webview interface && embedding lwe.so file (#15)
3413964 [webview_flutter_dev] Enable gl compositor at LWE (#14)
e988cf0 Change method name's first letter (#13)
cb8ee9b Handle key events for tizen webview (#11)
44987de [webview_flutter] Add webview_flutter initial package (#7)

Co-authored-by: MuHong Byun <mh.byun@samsung.com>
Co-authored-by: Seungsoo Lee <seungsoo47.lee@samsung.com>

* [webview_flutter] Update manifest file and remove unnecessary code

* Replace tabs to spaces in the manifest file
* Fix broken READEME.md
* Remove unnecessary code

* [webview_flutter] Update initailization code

* In accordance with the guideline, I have updated the initialization code.

* Fix integration test bug

* Fix bugs for data files and key events

* Data files will be created in application's private area.
* Key event including Shift key value will be handled properly.

* Apply latest flutter-tizen

* Because the latest flutter-tizen supports automatic copy function of plugin-dependent libraries,
  I updated a prof file and removed a library using in this plugin.

Co-authored-by: MuHong Byun <mh.byun@samsung.com>
  • Loading branch information
seungsoo47 and bwikbs committed Apr 8, 2021
1 parent f85db64 commit f373b7c
Show file tree
Hide file tree
Showing 30 changed files with 4,506 additions and 0 deletions.
7 changes: 7 additions & 0 deletions packages/webview_flutter/.gitignore
@@ -0,0 +1,7 @@
.DS_Store
.dart_tool/

.packages
.pub/

build/
3 changes: 3 additions & 0 deletions packages/webview_flutter/CHANGELOG.md
@@ -0,0 +1,3 @@
## 0.1.0

* Initial release
26 changes: 26 additions & 0 deletions packages/webview_flutter/LICENSE
@@ -0,0 +1,26 @@
Copyright (c) 2020 Samsung Electronics Co., Ltd. All rights reserved.
Copyright (c) 2017 The Chromium Authors. All rights reserved.

Redistribution and use in source and binary forms, with or without modification,
are permitted provided that the following conditions are met:

* Redistributions of source code must retain the above copyright
notice, this list of conditions and the following disclaimer.
* Redistributions in binary form must reproduce the above
copyright notice, this list of conditions and the following
disclaimer in the documentation and/or other materials provided
with the distribution.
* Neither the names of the copyright holders nor the names of the
contributors may be used to endorse or promote products derived
from this software without specific prior written permission.

THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
60 changes: 60 additions & 0 deletions packages/webview_flutter/README.md
@@ -0,0 +1,60 @@
# webview_flutter_tizen

The Tizen implementation of [`webview_flutter`](https://github.com/flutter/plugins/tree/master/packages/webview_flutter).

## Supported devices

This plugin is available on these types of devices:

- Galaxy Watch or TV (running Tizen 5.5 or later)

## Required privileges

To use this plugin, add below lines under the `<manifest>` section in your `tizen-manifest.xml` file,

```xml
<privileges>
<privilege>http://tizen.org/privilege/internet</privilege>
</privileges>
```

## Usage

This package is not an _endorsed_ implementation of `webview_flutter`. Therefore, you have to include `webview_flutter_tizen` alongside `webview_flutter` as dependencies in your `pubspec.yaml` file.

```yaml
dependencies:
webview_flutter: ^1.0.6
webview_flutter_tizen: ^0.1.0
```

## Example

```dart
import 'dart:io';
import 'package:webview_flutter/webview_flutter.dart';
class WebViewExample extends StatefulWidget {
@override
WebViewExampleState createState() => WebViewExampleState();
}
class WebViewExampleState extends State<WebViewExample> {
@override
void initState() {
super.initState();
}
@override
Widget build(BuildContext context) {
return WebView(
initialUrl: 'https://flutter.dev',
);
}
}
```

## Limitations
- This plugin is only supported on **Galaxy Watch and TV** devices running Tizen 5.5 or later.
- This is an initial webview plugin for Tizen and is implemented based on Tizen Lightweight Web Engine (LWE). If you would like to know detailed specifications that the LWE supports, please refer to the following link :
https://review.tizen.org/gerrit/gitweb?p=platform/upstream/lightweight-web-engine.git;a=blob;f=docs/Spec.md;h=ecb8f437c5a1facc77d3435e1a8aad6a267f12f3;hb=refs/heads/tizen
41 changes: 41 additions & 0 deletions packages/webview_flutter/example/.gitignore
@@ -0,0 +1,41 @@
# Miscellaneous
*.class
*.log
*.pyc
*.swp
.DS_Store
.atom/
.buildlog/
.history
.svn/

# IntelliJ related
*.iml
*.ipr
*.iws
.idea/

# The .vscode folder contains launch configuration and tasks you configure in
# VS Code which you may wish to be included in version control, so this line
# is commented out by default.
#.vscode/

# Flutter/Dart/Pub related
**/doc/api/
**/ios/Flutter/.last_build_id
.dart_tool/
.flutter-plugins
.flutter-plugins-dependencies
.packages
.pub-cache/
.pub/
/build/

# Web related
lib/generated_plugin_registrant.dart

# Symbolication related
app.*.symbols

# Obfuscation related
app.*.map.json
7 changes: 7 additions & 0 deletions packages/webview_flutter/example/README.md
@@ -0,0 +1,7 @@
# webview_flutter_tizen_example

Demonstrates how to use the webview_flutter_tizen plugin.

## Getting Started

To run this app on your Tizen device, use [flutter-tizen](https://github.com/flutter-tizen/flutter-tizen).

0 comments on commit f373b7c

Please sign in to comment.