Skip to content

Commit

Permalink
updtae
Browse files Browse the repository at this point in the history
  • Loading branch information
Your Name committed Sep 4, 2023
1 parent 4a10f40 commit 8019dc2
Show file tree
Hide file tree
Showing 6 changed files with 55 additions and 39 deletions.
44 changes: 30 additions & 14 deletions lib/webview_controller/webview_controller_web.dart
Original file line number Diff line number Diff line change
Expand Up @@ -4,15 +4,20 @@ import 'package:flutter/foundation.dart';
import 'package:flutter/material.dart';
import 'package:universal_io/io.dart';
import 'package:webview_flutter/webview_flutter.dart' as webview_flutter;
import 'package:webview_flutter_android/webview_flutter_android.dart' as webview_flutter_android;
import 'package:webview_flutter_wkwebview/webview_flutter_wkwebview.dart' as webview_flutter_wkwebview;
import "package:webview_universal/webview_desktop/webview_desktop.dart" as webview_desktop;
import 'package:webview_flutter_android/webview_flutter_android.dart'
as webview_flutter_android;
import 'package:webview_flutter_wkwebview/webview_flutter_wkwebview.dart'
as webview_flutter_wkwebview;
import "package:webview_universal/webview_desktop/webview_desktop.dart"
as webview_desktop;

class WebViewController {
late final webview_desktop.Webview webview_desktop_controller;
late final webview_flutter.WebViewController webview_mobile_controller;
bool is_init = false;
bool is_desktop = ((Platform.isLinux || Platform.isMacOS || Platform.isWindows) && kIsWeb == false);
bool is_desktop =
((Platform.isLinux || Platform.isMacOS || Platform.isWindows) &&
kIsWeb == false);
bool is_mobile = (Platform.isAndroid || Platform.isIOS || kIsWeb);
WebViewController();
Future<void> init({
Expand All @@ -22,18 +27,24 @@ class WebViewController {
}) async {
if (is_mobile) {
late final webview_flutter.PlatformWebViewControllerCreationParams params;
if (webview_flutter.WebViewPlatform.instance is webview_flutter_wkwebview.WebKitWebViewPlatform) {
params = webview_flutter_wkwebview.WebKitWebViewControllerCreationParams(
if (webview_flutter.WebViewPlatform.instance
is webview_flutter_wkwebview.WebKitWebViewPlatform) {
params =
webview_flutter_wkwebview.WebKitWebViewControllerCreationParams(
allowsInlineMediaPlayback: true,
mediaTypesRequiringUserAction: const <webview_flutter_wkwebview.PlaybackMediaTypes>{},
mediaTypesRequiringUserAction: const <webview_flutter_wkwebview
.PlaybackMediaTypes>{},
);
} else {
params = const webview_flutter.PlatformWebViewControllerCreationParams();
params =
const webview_flutter.PlatformWebViewControllerCreationParams();
}
webview_mobile_controller = webview_flutter.WebViewController.fromPlatformCreationParams(params);
webview_mobile_controller =
webview_flutter.WebViewController.fromPlatformCreationParams(params);
setState(() {});
if (!kIsWeb) {
webview_mobile_controller.setJavaScriptMode(webview_flutter.JavaScriptMode.unrestricted);
webview_mobile_controller
.setJavaScriptMode(webview_flutter.JavaScriptMode.unrestricted);
webview_mobile_controller.setNavigationDelegate(
webview_flutter.NavigationDelegate(
onProgress: (int progress) {
Expand Down Expand Up @@ -75,15 +86,20 @@ Page resource error:
}
webview_mobile_controller.loadRequest(uri);
// #docregion platform_features
if (webview_mobile_controller.platform is webview_flutter_android.AndroidWebViewController) {
if (webview_mobile_controller.platform
is webview_flutter_android.AndroidWebViewController) {
webview_flutter_android.AndroidWebViewController.enableDebugging(false);
(webview_mobile_controller.platform as webview_flutter_android.AndroidWebViewController).setMediaPlaybackRequiresUserGesture(false);
(webview_mobile_controller.platform
as webview_flutter_android.AndroidWebViewController)
.setMediaPlaybackRequiresUserGesture(false);
}
is_init = true;
} else if (is_desktop) {
bool isWebviewAvailable = await webview_desktop.WebviewWindow.isWebviewAvailable();
bool isWebviewAvailable =
await webview_desktop.WebviewWindow.isWebviewAvailable();
if (isWebviewAvailable) {
webview_desktop.Webview webview_desktop_controller = await webview_desktop.WebviewWindow.create(
webview_desktop.Webview webview_desktop_controller =
await webview_desktop.WebviewWindow.create(
configuration: webview_desktop.CreateConfiguration(
titleBarTopPadding: Platform.isMacOS ? 20 : 0,
),
Expand Down
5 changes: 3 additions & 2 deletions lib/webview_desktop/webview_desktop.dart
Original file line number Diff line number Diff line change
@@ -1,2 +1,3 @@
// export "webview_desktop_web.dart";
export "webview_desktop_app.dart" if (dart.library.html) "webview_desktop_web.dart";
// export "webview_desktop_web.dart";
export "webview_desktop_app.dart"
if (dart.library.html) "webview_desktop_web.dart";
2 changes: 0 additions & 2 deletions lib/webview_desktop/webview_desktop_web.dart
Original file line number Diff line number Diff line change
@@ -1,5 +1,3 @@


import 'package:flutter/material.dart';

class Webview {
Expand Down
3 changes: 2 additions & 1 deletion lib/widget/webview.dart
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,8 @@ import "package:universal_io/io.dart";
import 'package:flutter/foundation.dart';
import 'package:flutter/material.dart';
import 'package:webview_flutter/webview_flutter.dart' as webview_flutter;
import "package:webview_universal/webview_controller/webview_controller.dart" as webview_controller;
import "package:webview_universal/webview_controller/webview_controller.dart"
as webview_controller;

class WebView extends StatelessWidget {
final webview_controller.WebViewController controller;
Expand Down
38 changes: 19 additions & 19 deletions pubspec.lock
Original file line number Diff line number Diff line change
Expand Up @@ -37,10 +37,10 @@ packages:
dependency: transitive
description:
name: collection
sha256: "4a07be6cb69c84d677a6c3096fcf960cc3285a8330b4603e0d463d15d9bd934c"
sha256: f092b211a4319e98e5ff58223576de6c2803db36221657b46c82574721240687
url: "https://pub.dev"
source: hosted
version: "1.17.1"
version: "1.17.2"
fake_async:
dependency: transitive
description:
Expand Down Expand Up @@ -72,14 +72,6 @@ packages:
description: flutter
source: sdk
version: "0.0.0"
js:
dependency: transitive
description:
name: js
sha256: f2c445dce49627136094980615a031419f7f3eb393237e4ecd97ac15dea343f3
url: "https://pub.dev"
source: hosted
version: "0.6.7"
lints:
dependency: transitive
description:
Expand All @@ -92,18 +84,18 @@ packages:
dependency: transitive
description:
name: matcher
sha256: "6501fbd55da300384b768785b83e5ce66991266cec21af89ab9ae7f5ce1c4cbb"
sha256: "1803e76e6653768d64ed8ff2e1e67bea3ad4b923eb5c56a295c3e634bad5960e"
url: "https://pub.dev"
source: hosted
version: "0.12.15"
version: "0.12.16"
material_color_utilities:
dependency: transitive
description:
name: material_color_utilities
sha256: d92141dc6fe1dad30722f9aa826c7fbc896d021d792f80678280601aff8cf724
sha256: "9528f2f296073ff54cb9fee677df673ace1218163c3bc7628093e7eed5203d41"
url: "https://pub.dev"
source: hosted
version: "0.2.0"
version: "0.5.0"
meta:
dependency: transitive
description:
Expand Down Expand Up @@ -137,10 +129,10 @@ packages:
dependency: transitive
description:
name: source_span
sha256: dd904f795d4b4f3b870833847c461801f6750a9fa8e61ea5ac53f9422b31f250
sha256: "53e943d4206a5e30df338fd4c6e7a077e02254531b138a15aec3bd143c1a8b3c"
url: "https://pub.dev"
source: hosted
version: "1.9.1"
version: "1.10.0"
stack_trace:
dependency: transitive
description:
Expand Down Expand Up @@ -177,10 +169,10 @@ packages:
dependency: transitive
description:
name: test_api
sha256: eb6ac1540b26de412b3403a163d919ba86f6a973fe6cc50ae3541b80092fdcfb
sha256: "75760ffd7786fffdfb9597c35c5b27eaeec82be8edfb6d71d32651128ed7aab8"
url: "https://pub.dev"
source: hosted
version: "0.5.1"
version: "0.6.0"
typed_data:
dependency: transitive
description:
Expand All @@ -205,6 +197,14 @@ packages:
url: "https://pub.dev"
source: hosted
version: "2.1.4"
web:
dependency: transitive
description:
name: web
sha256: dc8ccd225a2005c1be616fe02951e2e342092edf968cf0844220383757ef8f10
url: "https://pub.dev"
source: hosted
version: "0.1.4-beta"
webview_flutter:
dependency: "direct main"
description:
Expand Down Expand Up @@ -246,5 +246,5 @@ packages:
source: hosted
version: "3.7.1"
sdks:
dart: ">=3.0.0-0 <4.0.0"
dart: ">=3.1.0-185.0.dev <4.0.0"
flutter: ">=3.3.0"
2 changes: 1 addition & 1 deletion pubspec.yaml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
name: webview_universal
description: Show a webview window on your flutter cross platform android, ios, linux, macos, web, windows.
version: 0.0.4
version: 0.0.5

platforms:
android:
Expand Down

0 comments on commit 8019dc2

Please sign in to comment.