diff --git a/packages/camera/camera_web/CHANGELOG.md b/packages/camera/camera_web/CHANGELOG.md index e3a048b203..4cd5c48aab 100644 --- a/packages/camera/camera_web/CHANGELOG.md +++ b/packages/camera/camera_web/CHANGELOG.md @@ -1,3 +1,8 @@ +## 0.3.2+3 + +* Migrates to `dart:ui_web` APIs. +* Updates minimum supported SDK version to Flutter 3.13.0/Dart 3.1.0. + ## 0.3.2+2 * Adds pub topics to package metadata. diff --git a/packages/camera/camera_web/lib/src/camera.dart b/packages/camera/camera_web/lib/src/camera.dart index 79bacadceb..b256ca2b42 100644 --- a/packages/camera/camera_web/lib/src/camera.dart +++ b/packages/camera/camera_web/lib/src/camera.dart @@ -5,12 +5,12 @@ import 'dart:async'; import 'dart:html' as html; import 'dart:ui'; +import 'dart:ui_web' as ui_web; import 'package:camera_platform_interface/camera_platform_interface.dart'; import 'package:flutter/foundation.dart'; import 'camera_service.dart'; -import 'shims/dart_ui.dart' as ui; import 'types/types.dart'; String _getViewType(int cameraId) => 'plugins.flutter.io/camera_$cameraId'; @@ -168,7 +168,7 @@ class Camera { ..style.setProperty('object-fit', 'cover') ..append(videoElement); - ui.platformViewRegistry.registerViewFactory( + ui_web.platformViewRegistry.registerViewFactory( _getViewType(textureId), (_) => divElement, ); diff --git a/packages/camera/camera_web/lib/src/shims/dart_ui.dart b/packages/camera/camera_web/lib/src/shims/dart_ui.dart deleted file mode 100644 index 3a32721cb9..0000000000 --- a/packages/camera/camera_web/lib/src/shims/dart_ui.dart +++ /dev/null @@ -1,10 +0,0 @@ -// Copyright 2013 The Flutter Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE file. - -/// This file shims dart:ui in web-only scenarios, getting rid of the need to -/// suppress analyzer warnings. - -// TODO(ditman): Remove this file once web-only dart:ui APIs are exposed from -// a dedicated place. https://github.com/flutter/flutter/issues/55000 -export 'dart_ui_fake.dart' if (dart.library.html) 'dart_ui_real.dart'; diff --git a/packages/camera/camera_web/lib/src/shims/dart_ui_fake.dart b/packages/camera/camera_web/lib/src/shims/dart_ui_fake.dart deleted file mode 100644 index 40d8f19031..0000000000 --- a/packages/camera/camera_web/lib/src/shims/dart_ui_fake.dart +++ /dev/null @@ -1,33 +0,0 @@ -// Copyright 2013 The Flutter Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE file. - -import 'dart:html' as html; - -// Fake interface for the logic that this package needs from (web-only) dart:ui. -// This is conditionally exported so the analyzer sees these methods as available. - -// ignore_for_file: avoid_classes_with_only_static_members -// ignore_for_file: camel_case_types - -/// Shim for web_ui engine.PlatformViewRegistry -/// https://github.com/flutter/engine/blob/main/lib/web_ui/lib/ui.dart#L62 -class platformViewRegistry { - /// Shim for registerViewFactory - /// https://github.com/flutter/engine/blob/main/lib/web_ui/lib/ui.dart#L72 - static bool registerViewFactory( - String viewTypeId, html.Element Function(int viewId) viewFactory) { - return false; - } -} - -/// Shim for web_ui engine.AssetManager. -/// https://github.com/flutter/engine/blob/main/lib/web_ui/lib/src/engine/assets.dart#L12 -class webOnlyAssetManager { - /// Shim for getAssetUrl. - /// https://github.com/flutter/engine/blob/main/lib/web_ui/lib/src/engine/assets.dart#L45 - static String getAssetUrl(String asset) => ''; -} - -/// Signature of callbacks that have no arguments and return no data. -typedef VoidCallback = void Function(); diff --git a/packages/camera/camera_web/lib/src/shims/dart_ui_real.dart b/packages/camera/camera_web/lib/src/shims/dart_ui_real.dart deleted file mode 100644 index 276b768c76..0000000000 --- a/packages/camera/camera_web/lib/src/shims/dart_ui_real.dart +++ /dev/null @@ -1,5 +0,0 @@ -// Copyright 2013 The Flutter Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE file. - -export 'dart:ui'; diff --git a/packages/camera/camera_web/pubspec.yaml b/packages/camera/camera_web/pubspec.yaml index 4303f6db57..f2f8f7caec 100644 --- a/packages/camera/camera_web/pubspec.yaml +++ b/packages/camera/camera_web/pubspec.yaml @@ -2,11 +2,11 @@ name: camera_web description: A Flutter plugin for getting information about and controlling the camera on Web. repository: https://github.com/flutter/packages/tree/main/packages/camera/camera_web issue_tracker: https://github.com/flutter/flutter/issues?q=is%3Aissue+is%3Aopen+label%3A%22p%3A+camera%22 -version: 0.3.2+2 +version: 0.3.2+3 environment: - sdk: ">=2.19.0 <4.0.0" - flutter: ">=3.7.0" + sdk: ">=3.1.0 <4.0.0" + flutter: ">=3.13.0" flutter: plugin: diff --git a/packages/google_maps_flutter/google_maps_flutter_web/CHANGELOG.md b/packages/google_maps_flutter/google_maps_flutter_web/CHANGELOG.md index ef4dadab3d..a38da4fbf8 100644 --- a/packages/google_maps_flutter/google_maps_flutter_web/CHANGELOG.md +++ b/packages/google_maps_flutter/google_maps_flutter_web/CHANGELOG.md @@ -1,3 +1,8 @@ +## 0.5.4+2 + +* Migrates to `dart:ui_web` APIs. +* Updates minimum supported SDK version to Flutter 3.13.0/Dart 3.1.0. + ## 0.5.4+1 * Adds pub topics to package metadata. diff --git a/packages/google_maps_flutter/google_maps_flutter_web/lib/google_maps_flutter_web.dart b/packages/google_maps_flutter/google_maps_flutter_web/lib/google_maps_flutter_web.dart index 65448abecd..d1ef18d306 100644 --- a/packages/google_maps_flutter/google_maps_flutter_web/lib/google_maps_flutter_web.dart +++ b/packages/google_maps_flutter/google_maps_flutter_web/lib/google_maps_flutter_web.dart @@ -6,8 +6,9 @@ library google_maps_flutter_web; import 'dart:async'; import 'dart:convert'; -import 'dart:html'; +import 'dart:html' hide VoidCallback; import 'dart:js_util'; +import 'dart:ui_web' as ui_web; import 'package:collection/collection.dart'; import 'package:flutter/foundation.dart'; @@ -21,7 +22,6 @@ import 'package:sanitize_html/sanitize_html.dart'; import 'package:stream_transform/stream_transform.dart'; import 'src/google_maps_inspector_web.dart'; -import 'src/shims/dart_ui.dart' as ui; // Conditionally imports dart:ui in web import 'src/third_party/to_screen_location/to_screen_location.dart'; import 'src/types.dart'; diff --git a/packages/google_maps_flutter/google_maps_flutter_web/lib/src/circle.dart b/packages/google_maps_flutter/google_maps_flutter_web/lib/src/circle.dart index 9cd3ba1c07..0e6df16af0 100644 --- a/packages/google_maps_flutter/google_maps_flutter_web/lib/src/circle.dart +++ b/packages/google_maps_flutter/google_maps_flutter_web/lib/src/circle.dart @@ -10,7 +10,7 @@ class CircleController { CircleController({ required gmaps.Circle circle, bool consumeTapEvents = false, - ui.VoidCallback? onTap, + VoidCallback? onTap, }) : _circle = circle, _consumeTapEvents = consumeTapEvents { if (onTap != null) { diff --git a/packages/google_maps_flutter/google_maps_flutter_web/lib/src/convert.dart b/packages/google_maps_flutter/google_maps_flutter_web/lib/src/convert.dart index 01c5f5e65a..9402760ff6 100644 --- a/packages/google_maps_flutter/google_maps_flutter_web/lib/src/convert.dart +++ b/packages/google_maps_flutter/google_maps_flutter_web/lib/src/convert.dart @@ -262,7 +262,7 @@ gmaps.Icon? _gmIconFromBitmapDescriptor(BitmapDescriptor bitmapDescriptor) { // iconConfig[2] contains the DPIs of the screen, but that information is // already encoded in the iconConfig[1] icon = gmaps.Icon() - ..url = ui.webOnlyAssetManager.getAssetUrl(iconConfig[1]! as String); + ..url = ui_web.assetManager.getAssetUrl(iconConfig[1]! as String); final gmaps.Size? size = _gmSizeFromIconConfig(iconConfig, 3); if (size != null) { diff --git a/packages/google_maps_flutter/google_maps_flutter_web/lib/src/google_maps_controller.dart b/packages/google_maps_flutter/google_maps_flutter_web/lib/src/google_maps_controller.dart index fbb1942240..03bc739beb 100644 --- a/packages/google_maps_flutter/google_maps_flutter_web/lib/src/google_maps_controller.dart +++ b/packages/google_maps_flutter/google_maps_flutter_web/lib/src/google_maps_controller.dart @@ -41,7 +41,7 @@ class GoogleMapController { ..style.width = '100%' ..style.height = '100%'; - ui.platformViewRegistry.registerViewFactory( + ui_web.platformViewRegistry.registerViewFactory( _getViewType(mapId), (int viewId) => _div, ); diff --git a/packages/google_maps_flutter/google_maps_flutter_web/lib/src/marker.dart b/packages/google_maps_flutter/google_maps_flutter_web/lib/src/marker.dart index 50b4bd3407..a861e7f85d 100644 --- a/packages/google_maps_flutter/google_maps_flutter_web/lib/src/marker.dart +++ b/packages/google_maps_flutter/google_maps_flutter_web/lib/src/marker.dart @@ -14,7 +14,7 @@ class MarkerController { LatLngCallback? onDragStart, LatLngCallback? onDrag, LatLngCallback? onDragEnd, - ui.VoidCallback? onTap, + VoidCallback? onTap, }) : _marker = marker, _infoWindow = infoWindow, _consumeTapEvents = consumeTapEvents { diff --git a/packages/google_maps_flutter/google_maps_flutter_web/lib/src/polygon.dart b/packages/google_maps_flutter/google_maps_flutter_web/lib/src/polygon.dart index 719eeeecdb..9f72151852 100644 --- a/packages/google_maps_flutter/google_maps_flutter_web/lib/src/polygon.dart +++ b/packages/google_maps_flutter/google_maps_flutter_web/lib/src/polygon.dart @@ -10,7 +10,7 @@ class PolygonController { PolygonController({ required gmaps.Polygon polygon, bool consumeTapEvents = false, - ui.VoidCallback? onTap, + VoidCallback? onTap, }) : _polygon = polygon, _consumeTapEvents = consumeTapEvents { if (onTap != null) { diff --git a/packages/google_maps_flutter/google_maps_flutter_web/lib/src/polyline.dart b/packages/google_maps_flutter/google_maps_flutter_web/lib/src/polyline.dart index 428bb7fce0..21332e4a50 100644 --- a/packages/google_maps_flutter/google_maps_flutter_web/lib/src/polyline.dart +++ b/packages/google_maps_flutter/google_maps_flutter_web/lib/src/polyline.dart @@ -10,7 +10,7 @@ class PolylineController { PolylineController({ required gmaps.Polyline polyline, bool consumeTapEvents = false, - ui.VoidCallback? onTap, + VoidCallback? onTap, }) : _polyline = polyline, _consumeTapEvents = consumeTapEvents { if (onTap != null) { diff --git a/packages/google_maps_flutter/google_maps_flutter_web/lib/src/shims/dart_ui.dart b/packages/google_maps_flutter/google_maps_flutter_web/lib/src/shims/dart_ui.dart deleted file mode 100644 index 2b254a95b9..0000000000 --- a/packages/google_maps_flutter/google_maps_flutter_web/lib/src/shims/dart_ui.dart +++ /dev/null @@ -1,10 +0,0 @@ -// Copyright 2013 The Flutter Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE file. - -/// This file shims dart:ui in web-only scenarios, getting rid of the need to -/// suppress analyzer warnings. - -// TODO(ditman): Remove this file once web-only dart:ui APIs, https://github.com/flutter/flutter/issues/55000 -// are exposed from a dedicated place. -export 'dart_ui_fake.dart' if (dart.library.html) 'dart_ui_real.dart'; diff --git a/packages/google_maps_flutter/google_maps_flutter_web/lib/src/shims/dart_ui_fake.dart b/packages/google_maps_flutter/google_maps_flutter_web/lib/src/shims/dart_ui_fake.dart deleted file mode 100644 index 40d8f19031..0000000000 --- a/packages/google_maps_flutter/google_maps_flutter_web/lib/src/shims/dart_ui_fake.dart +++ /dev/null @@ -1,33 +0,0 @@ -// Copyright 2013 The Flutter Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE file. - -import 'dart:html' as html; - -// Fake interface for the logic that this package needs from (web-only) dart:ui. -// This is conditionally exported so the analyzer sees these methods as available. - -// ignore_for_file: avoid_classes_with_only_static_members -// ignore_for_file: camel_case_types - -/// Shim for web_ui engine.PlatformViewRegistry -/// https://github.com/flutter/engine/blob/main/lib/web_ui/lib/ui.dart#L62 -class platformViewRegistry { - /// Shim for registerViewFactory - /// https://github.com/flutter/engine/blob/main/lib/web_ui/lib/ui.dart#L72 - static bool registerViewFactory( - String viewTypeId, html.Element Function(int viewId) viewFactory) { - return false; - } -} - -/// Shim for web_ui engine.AssetManager. -/// https://github.com/flutter/engine/blob/main/lib/web_ui/lib/src/engine/assets.dart#L12 -class webOnlyAssetManager { - /// Shim for getAssetUrl. - /// https://github.com/flutter/engine/blob/main/lib/web_ui/lib/src/engine/assets.dart#L45 - static String getAssetUrl(String asset) => ''; -} - -/// Signature of callbacks that have no arguments and return no data. -typedef VoidCallback = void Function(); diff --git a/packages/google_maps_flutter/google_maps_flutter_web/lib/src/shims/dart_ui_real.dart b/packages/google_maps_flutter/google_maps_flutter_web/lib/src/shims/dart_ui_real.dart deleted file mode 100644 index 276b768c76..0000000000 --- a/packages/google_maps_flutter/google_maps_flutter_web/lib/src/shims/dart_ui_real.dart +++ /dev/null @@ -1,5 +0,0 @@ -// Copyright 2013 The Flutter Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE file. - -export 'dart:ui'; diff --git a/packages/google_maps_flutter/google_maps_flutter_web/pubspec.yaml b/packages/google_maps_flutter/google_maps_flutter_web/pubspec.yaml index 357449bc1b..4d1010619f 100644 --- a/packages/google_maps_flutter/google_maps_flutter_web/pubspec.yaml +++ b/packages/google_maps_flutter/google_maps_flutter_web/pubspec.yaml @@ -2,11 +2,11 @@ name: google_maps_flutter_web description: Web platform implementation of google_maps_flutter repository: https://github.com/flutter/packages/tree/main/packages/google_maps_flutter/google_maps_flutter_web issue_tracker: https://github.com/flutter/flutter/issues?q=is%3Aissue+is%3Aopen+label%3A%22p%3A+maps%22 -version: 0.5.4+1 +version: 0.5.4+2 environment: - sdk: ">=2.19.0 <4.0.0" - flutter: ">=3.7.0" + sdk: ">=3.1.0 <4.0.0" + flutter: ">=3.13.0" flutter: plugin: diff --git a/packages/google_sign_in/google_sign_in_web/CHANGELOG.md b/packages/google_sign_in/google_sign_in_web/CHANGELOG.md index 34e5ad5cd8..0a6f7259b1 100644 --- a/packages/google_sign_in/google_sign_in_web/CHANGELOG.md +++ b/packages/google_sign_in/google_sign_in_web/CHANGELOG.md @@ -1,3 +1,8 @@ +## 0.12.0+5 + +* Migrates to `dart:ui_web` APIs. +* Updates minimum supported SDK version to Flutter 3.13.0/Dart 3.1.0. + ## 0.12.0+4 * Adds pub topics to package metadata. diff --git a/packages/google_sign_in/google_sign_in_web/example/integration_test/flexible_size_html_element_view_test.dart b/packages/google_sign_in/google_sign_in_web/example/integration_test/flexible_size_html_element_view_test.dart index b3bf1d591a..555b1711bd 100644 --- a/packages/google_sign_in/google_sign_in_web/example/integration_test/flexible_size_html_element_view_test.dart +++ b/packages/google_sign_in/google_sign_in_web/example/integration_test/flexible_size_html_element_view_test.dart @@ -3,7 +3,7 @@ // found in the LICENSE file. import 'dart:async'; -import 'dart:ui' as ui; +import 'dart:ui_web' as ui_web; import 'package:flutter/material.dart'; import 'package:flutter_test/flutter_test.dart'; @@ -157,8 +157,7 @@ class ResizableFromJs extends StatelessWidget { this.initialSize, super.key, }) { - // ignore: avoid_dynamic_calls, undefined_prefixed_name - ui.platformViewRegistry.registerViewFactory( + ui_web.platformViewRegistry.registerViewFactory( 'resizable_from_js_$instanceId', (int viewId) { final DomHtmlElement element = document.createElement('div'); diff --git a/packages/google_sign_in/google_sign_in_web/example/pubspec.yaml b/packages/google_sign_in/google_sign_in_web/example/pubspec.yaml index 6a1076bf14..61a2f47b7e 100644 --- a/packages/google_sign_in/google_sign_in_web/example/pubspec.yaml +++ b/packages/google_sign_in/google_sign_in_web/example/pubspec.yaml @@ -2,8 +2,8 @@ name: google_sign_in_web_integration_tests publish_to: none environment: - sdk: ">=2.19.0 <4.0.0" - flutter: ">=3.7.0" + sdk: ">=3.1.0 <4.0.0" + flutter: ">=3.13.0" dependencies: cupertino_icons: ^1.0.2 diff --git a/packages/google_sign_in/google_sign_in_web/lib/google_sign_in_web.dart b/packages/google_sign_in/google_sign_in_web/lib/google_sign_in_web.dart index a8c1d5cce7..cee94d345f 100644 --- a/packages/google_sign_in/google_sign_in_web/lib/google_sign_in_web.dart +++ b/packages/google_sign_in/google_sign_in_web/lib/google_sign_in_web.dart @@ -4,7 +4,7 @@ import 'dart:async'; import 'dart:html' as html; -import 'dart:ui' as ui; +import 'dart:ui_web' as ui_web; import 'package:flutter/foundation.dart' show visibleForTesting, kDebugMode; import 'package:flutter/material.dart'; @@ -172,8 +172,7 @@ class GoogleSignInPlugin extends GoogleSignInPlatform { // Register a factory for the Button HtmlElementView. void _registerButtonFactory() { - // ignore: avoid_dynamic_calls, undefined_prefixed_name - ui.platformViewRegistry.registerViewFactory( + ui_web.platformViewRegistry.registerViewFactory( 'gsi_login_button', (int viewId) { final DomElement element = createDomElement('div'); diff --git a/packages/google_sign_in/google_sign_in_web/pubspec.yaml b/packages/google_sign_in/google_sign_in_web/pubspec.yaml index c259f0133f..c4a32959e0 100644 --- a/packages/google_sign_in/google_sign_in_web/pubspec.yaml +++ b/packages/google_sign_in/google_sign_in_web/pubspec.yaml @@ -3,11 +3,11 @@ description: Flutter plugin for Google Sign-In, a secure authentication system for signing in with a Google account on Android, iOS and Web. repository: https://github.com/flutter/packages/tree/main/packages/google_sign_in/google_sign_in_web issue_tracker: https://github.com/flutter/flutter/issues?q=is%3Aissue+is%3Aopen+label%3A%22p%3A+google_sign_in%22 -version: 0.12.0+4 +version: 0.12.0+5 environment: - sdk: ">=2.19.0 <4.0.0" - flutter: ">=3.7.0" + sdk: ">=3.1.0 <4.0.0" + flutter: ">=3.13.0" flutter: plugin: diff --git a/packages/pointer_interceptor/CHANGELOG.md b/packages/pointer_interceptor/CHANGELOG.md index 8a8762a824..3a66b061ff 100644 --- a/packages/pointer_interceptor/CHANGELOG.md +++ b/packages/pointer_interceptor/CHANGELOG.md @@ -1,3 +1,8 @@ +## 0.9.3+6 + +* Migrates to `dart:ui_web` APIs. +* Updates minimum supported SDK version to Flutter 3.13.0/Dart 3.1.0. + ## 0.9.3+5 * Adds pub topics to package metadata. diff --git a/packages/pointer_interceptor/example/lib/main.dart b/packages/pointer_interceptor/example/lib/main.dart index 3fd84539ff..74f632a602 100644 --- a/packages/pointer_interceptor/example/lib/main.dart +++ b/packages/pointer_interceptor/example/lib/main.dart @@ -4,12 +4,11 @@ // ignore: avoid_web_libraries_in_flutter import 'dart:html' as html; +import 'dart:ui_web' as ui_web; import 'package:flutter/material.dart'; import 'package:pointer_interceptor/pointer_interceptor.dart'; -import 'src/shim/dart_ui.dart' as ui; - const String _htmlElementViewType = '_htmlElementViewType'; const double _videoWidth = 640; const double _videoHeight = 480; @@ -42,7 +41,7 @@ html.Element htmlElement = html.DivElement() // ..style.border = 'none'; void main() { - ui.platformViewRegistry.registerViewFactory( + ui_web.platformViewRegistry.registerViewFactory( _htmlElementViewType, (int viewId) => htmlElement, ); diff --git a/packages/pointer_interceptor/example/lib/src/shim/dart_ui.dart b/packages/pointer_interceptor/example/lib/src/shim/dart_ui.dart deleted file mode 100644 index 4ac3e6d5ea..0000000000 --- a/packages/pointer_interceptor/example/lib/src/shim/dart_ui.dart +++ /dev/null @@ -1,10 +0,0 @@ -// Copyright 2013 The Flutter Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE file. - -/// This file shims dart:ui in web-only scenarios, getting rid of the need to -/// suppress analyzer warnings. - -// TODO(dit): flutter/flutter#55000 Remove this file once web-only dart:ui APIs -// are exposed from a dedicated place. -export 'dart_ui_fake.dart' if (dart.library.html) 'dart_ui_real.dart'; diff --git a/packages/pointer_interceptor/example/lib/src/shim/dart_ui_fake.dart b/packages/pointer_interceptor/example/lib/src/shim/dart_ui_fake.dart deleted file mode 100644 index 65cd719c8d..0000000000 --- a/packages/pointer_interceptor/example/lib/src/shim/dart_ui_fake.dart +++ /dev/null @@ -1,32 +0,0 @@ -// Copyright 2013 The Flutter Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE file. - -// Fake interface for the logic that this package needs from (web-only) dart:ui. -// This is conditionally exported so the analyzer sees these methods as available. - -// ignore: avoid_classes_with_only_static_members -/// Shim for web_ui engine.PlatformViewRegistry -/// https://github.com/flutter/engine/blob/master/lib/web_ui/lib/ui.dart#L62 -// ignore: camel_case_types -class platformViewRegistry { - /// Shim for registerViewFactory - /// https://github.com/flutter/engine/blob/master/lib/web_ui/lib/ui.dart#L72 - static void registerViewFactory( - String viewTypeId, dynamic Function(int viewId) viewFactory) {} -} - -// ignore: avoid_classes_with_only_static_members -/// Shim for web_ui engine.AssetManager. -/// https://github.com/flutter/engine/blob/master/lib/web_ui/lib/src/engine/assets.dart#L12 -// ignore: camel_case_types -class webOnlyAssetManager { - /// Shim for getAssetUrl. - /// https://github.com/flutter/engine/blob/master/lib/web_ui/lib/src/engine/assets.dart#L45 - static String getAssetUrl(String asset) { - return ''; - } -} - -/// Signature of callbacks that have no arguments and return no data. -typedef VoidCallback = void Function(); diff --git a/packages/pointer_interceptor/example/lib/src/shim/dart_ui_real.dart b/packages/pointer_interceptor/example/lib/src/shim/dart_ui_real.dart deleted file mode 100644 index 276b768c76..0000000000 --- a/packages/pointer_interceptor/example/lib/src/shim/dart_ui_real.dart +++ /dev/null @@ -1,5 +0,0 @@ -// Copyright 2013 The Flutter Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE file. - -export 'dart:ui'; diff --git a/packages/pointer_interceptor/example/pubspec.yaml b/packages/pointer_interceptor/example/pubspec.yaml index 02b212c6cb..9f8b29e288 100644 --- a/packages/pointer_interceptor/example/pubspec.yaml +++ b/packages/pointer_interceptor/example/pubspec.yaml @@ -4,8 +4,8 @@ publish_to: 'none' version: 1.0.0 environment: - sdk: ">=2.19.0 <4.0.0" - flutter: ">=3.7.0" + sdk: ">=3.1.0 <4.0.0" + flutter: ">=3.13.0" dependencies: flutter: diff --git a/packages/pointer_interceptor/lib/src/shim/dart_ui.dart b/packages/pointer_interceptor/lib/src/shim/dart_ui.dart deleted file mode 100644 index 4ac3e6d5ea..0000000000 --- a/packages/pointer_interceptor/lib/src/shim/dart_ui.dart +++ /dev/null @@ -1,10 +0,0 @@ -// Copyright 2013 The Flutter Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE file. - -/// This file shims dart:ui in web-only scenarios, getting rid of the need to -/// suppress analyzer warnings. - -// TODO(dit): flutter/flutter#55000 Remove this file once web-only dart:ui APIs -// are exposed from a dedicated place. -export 'dart_ui_fake.dart' if (dart.library.html) 'dart_ui_real.dart'; diff --git a/packages/pointer_interceptor/lib/src/shim/dart_ui_fake.dart b/packages/pointer_interceptor/lib/src/shim/dart_ui_fake.dart deleted file mode 100644 index f310a46a44..0000000000 --- a/packages/pointer_interceptor/lib/src/shim/dart_ui_fake.dart +++ /dev/null @@ -1,33 +0,0 @@ -// Copyright 2013 The Flutter Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE file. - -// Fake interface for the logic that this package needs from (web-only) dart:ui. -// This is conditionally exported so the analyzer sees these methods as available. - -// ignore: avoid_classes_with_only_static_members -/// Shim for web_ui engine.PlatformViewRegistry -/// https://github.com/flutter/engine/blob/master/lib/web_ui/lib/ui.dart#L62 -// ignore: camel_case_types -class platformViewRegistry { - /// Shim for registerViewFactory - /// https://github.com/flutter/engine/blob/master/lib/web_ui/lib/ui.dart#L72 - static void registerViewFactory( - String viewTypeId, dynamic Function(int viewId) viewFactory, - {bool isVisible = true}) {} -} - -// ignore: avoid_classes_with_only_static_members -/// Shim for web_ui engine.AssetManager. -/// https://github.com/flutter/engine/blob/master/lib/web_ui/lib/src/engine/assets.dart#L12 -// ignore: camel_case_types -class webOnlyAssetManager { - /// Shim for getAssetUrl. - /// https://github.com/flutter/engine/blob/master/lib/web_ui/lib/src/engine/assets.dart#L45 - static String getAssetUrl(String asset) { - return ''; - } -} - -/// Signature of callbacks that have no arguments and return no data. -typedef VoidCallback = void Function(); diff --git a/packages/pointer_interceptor/lib/src/shim/dart_ui_real.dart b/packages/pointer_interceptor/lib/src/shim/dart_ui_real.dart deleted file mode 100644 index 276b768c76..0000000000 --- a/packages/pointer_interceptor/lib/src/shim/dart_ui_real.dart +++ /dev/null @@ -1,5 +0,0 @@ -// Copyright 2013 The Flutter Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE file. - -export 'dart:ui'; diff --git a/packages/pointer_interceptor/lib/src/web.dart b/packages/pointer_interceptor/lib/src/web.dart index 50edc414b4..e0dbcf904f 100644 --- a/packages/pointer_interceptor/lib/src/web.dart +++ b/packages/pointer_interceptor/lib/src/web.dart @@ -4,11 +4,10 @@ // ignore: avoid_web_libraries_in_flutter import 'dart:html' as html; +import 'dart:ui_web' as ui_web; import 'package:flutter/widgets.dart'; -import 'shim/dart_ui.dart' as ui; - const String _viewType = '__webPointerInterceptorViewType__'; const String _debug = 'debug__'; @@ -20,7 +19,7 @@ String _getViewType({bool debug = false}) { // Registers a viewFactory for this widget. void _registerFactory({bool debug = false}) { final String viewType = _getViewType(debug: debug); - ui.platformViewRegistry.registerViewFactory(viewType, (int viewId) { + ui_web.platformViewRegistry.registerViewFactory(viewType, (int viewId) { final html.Element htmlElement = html.DivElement() ..style.width = '100%' ..style.height = '100%'; diff --git a/packages/pointer_interceptor/pubspec.yaml b/packages/pointer_interceptor/pubspec.yaml index d4048b8df2..3dba03b703 100644 --- a/packages/pointer_interceptor/pubspec.yaml +++ b/packages/pointer_interceptor/pubspec.yaml @@ -2,11 +2,11 @@ name: pointer_interceptor description: A widget to prevent clicks from being swallowed by underlying HtmlElementViews on the web. repository: https://github.com/flutter/packages/tree/main/packages/pointer_interceptor issue_tracker: https://github.com/flutter/flutter/issues?q=is%3Aissue+is%3Aopen+label%3A%22p%3A+pointer_interceptor%22 -version: 0.9.3+5 +version: 0.9.3+6 environment: - sdk: ">=2.19.0 <4.0.0" - flutter: ">=3.7.0" + sdk: ">=3.1.0 <4.0.0" + flutter: ">=3.13.0" dependencies: flutter: diff --git a/packages/url_launcher/url_launcher_web/CHANGELOG.md b/packages/url_launcher/url_launcher_web/CHANGELOG.md index 336137f6ce..4fd4abb5ec 100644 --- a/packages/url_launcher/url_launcher_web/CHANGELOG.md +++ b/packages/url_launcher/url_launcher_web/CHANGELOG.md @@ -1,3 +1,8 @@ +## 2.0.20 + +* Migrates to `dart:ui_web` APIs. +* Updates minimum supported SDK version to Flutter 3.13.0/Dart 3.1.0. + ## 2.0.19 * Adds pub topics to package metadata. diff --git a/packages/url_launcher/url_launcher_web/example/integration_test/link_widget_test.dart b/packages/url_launcher/url_launcher_web/example/integration_test/link_widget_test.dart index 6ad19a445e..3c27d1c646 100644 --- a/packages/url_launcher/url_launcher_web/example/integration_test/link_widget_test.dart +++ b/packages/url_launcher/url_launcher_web/example/integration_test/link_widget_test.dart @@ -4,10 +4,10 @@ import 'dart:html' as html; import 'dart:js_util'; +import 'dart:ui_web' as ui_web; import 'package:flutter/widgets.dart'; import 'package:flutter_test/flutter_test.dart'; -import 'package:flutter_web_plugins/flutter_web_plugins.dart'; import 'package:integration_test/integration_test.dart'; import 'package:url_launcher_platform_interface/link.dart'; import 'package:url_launcher_web/src/link.dart'; @@ -69,7 +69,7 @@ void main() { // Check that internal route properly prepares using the default // [UrlStrategy] expect(anchor.getAttribute('href'), - urlStrategy?.prepareExternalUrl(uri3.toString())); + ui_web.urlStrategy?.prepareExternalUrl(uri3.toString())); expect(anchor.getAttribute('target'), '_self'); // Needed when testing on on Chrome98 headless in CI. diff --git a/packages/url_launcher/url_launcher_web/example/pubspec.yaml b/packages/url_launcher/url_launcher_web/example/pubspec.yaml index ea3f1993a9..9915164471 100644 --- a/packages/url_launcher/url_launcher_web/example/pubspec.yaml +++ b/packages/url_launcher/url_launcher_web/example/pubspec.yaml @@ -2,8 +2,8 @@ name: regular_integration_tests publish_to: none environment: - sdk: ">=2.19.0 <4.0.0" - flutter: ">=3.7.0" + sdk: ">=3.1.0 <4.0.0" + flutter: ">=3.13.0" dependencies: flutter: @@ -13,8 +13,6 @@ dev_dependencies: build_runner: ^2.1.1 flutter_test: sdk: flutter - flutter_web_plugins: - sdk: flutter integration_test: sdk: flutter mockito: 5.4.1 diff --git a/packages/url_launcher/url_launcher_web/lib/src/link.dart b/packages/url_launcher/url_launcher_web/lib/src/link.dart index ecb595c21f..b1589ba889 100644 --- a/packages/url_launcher/url_launcher_web/lib/src/link.dart +++ b/packages/url_launcher/url_launcher_web/lib/src/link.dart @@ -5,13 +5,13 @@ import 'dart:async'; import 'dart:html' as html; import 'dart:js_util'; +import 'dart:ui_web' as ui_web; import 'package:flutter/foundation.dart'; import 'package:flutter/gestures.dart'; import 'package:flutter/material.dart'; import 'package:flutter/rendering.dart'; import 'package:flutter/services.dart'; -import 'package:flutter_web_plugins/flutter_web_plugins.dart' show urlStrategy; import 'package:url_launcher_platform_interface/link.dart'; /// The unique identifier for the view type to be used for link platform views. @@ -225,7 +225,7 @@ class LinkViewController extends PlatformViewController { // in case an internal uri is given, the url mus be properly encoded // using the currently used [UrlStrategy] if (!uri.hasScheme) { - href = urlStrategy?.prepareExternalUrl(href) ?? href; + href = ui_web.urlStrategy?.prepareExternalUrl(href) ?? href; } _element.setAttribute('href', href); } diff --git a/packages/url_launcher/url_launcher_web/lib/src/shims/dart_ui.dart b/packages/url_launcher/url_launcher_web/lib/src/shims/dart_ui.dart deleted file mode 100644 index 0f6cd89dd2..0000000000 --- a/packages/url_launcher/url_launcher_web/lib/src/shims/dart_ui.dart +++ /dev/null @@ -1,10 +0,0 @@ -// Copyright 2013 The Flutter Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE file. - -/// This file shims dart:ui in web-only scenarios, getting rid of the need to -/// suppress analyzer warnings. - -// TODO(ditman): Remove this file once web-only dart:ui APIs -// are exposed from a dedicated place, flutter/flutter#55000. -export 'dart_ui_fake.dart' if (dart.library.html) 'dart_ui_real.dart'; diff --git a/packages/url_launcher/url_launcher_web/lib/src/shims/dart_ui_fake.dart b/packages/url_launcher/url_launcher_web/lib/src/shims/dart_ui_fake.dart deleted file mode 100644 index ec46f2789a..0000000000 --- a/packages/url_launcher/url_launcher_web/lib/src/shims/dart_ui_fake.dart +++ /dev/null @@ -1,34 +0,0 @@ -// Copyright 2013 The Flutter Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE file. - -import 'dart:html' as html; - -// Fake interface for the logic that this package needs from (web-only) dart:ui. -// This is conditionally exported so the analyzer sees these methods as available. - -// ignore_for_file: avoid_classes_with_only_static_members -// ignore_for_file: camel_case_types - -/// Shim for web_ui engine.PlatformViewRegistry -/// https://github.com/flutter/engine/blob/main/lib/web_ui/lib/ui.dart#L62 -class platformViewRegistry { - /// Shim for registerViewFactory - /// https://github.com/flutter/engine/blob/main/lib/web_ui/lib/ui.dart#L72 - static bool registerViewFactory( - String viewTypeId, html.Element Function(int viewId) viewFactory, - {bool isVisible = true}) { - return false; - } -} - -/// Shim for web_ui engine.AssetManager. -/// https://github.com/flutter/engine/blob/main/lib/web_ui/lib/src/engine/assets.dart#L12 -class webOnlyAssetManager { - /// Shim for getAssetUrl. - /// https://github.com/flutter/engine/blob/main/lib/web_ui/lib/src/engine/assets.dart#L45 - static String getAssetUrl(String asset) => ''; -} - -/// Signature of callbacks that have no arguments and return no data. -typedef VoidCallback = void Function(); diff --git a/packages/url_launcher/url_launcher_web/lib/src/shims/dart_ui_real.dart b/packages/url_launcher/url_launcher_web/lib/src/shims/dart_ui_real.dart deleted file mode 100644 index 276b768c76..0000000000 --- a/packages/url_launcher/url_launcher_web/lib/src/shims/dart_ui_real.dart +++ /dev/null @@ -1,5 +0,0 @@ -// Copyright 2013 The Flutter Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE file. - -export 'dart:ui'; diff --git a/packages/url_launcher/url_launcher_web/lib/url_launcher_web.dart b/packages/url_launcher/url_launcher_web/lib/url_launcher_web.dart index d296651b58..be40539d47 100644 --- a/packages/url_launcher/url_launcher_web/lib/url_launcher_web.dart +++ b/packages/url_launcher/url_launcher_web/lib/url_launcher_web.dart @@ -4,14 +4,14 @@ import 'dart:async'; import 'dart:html' as html; +import 'dart:ui_web' as ui_web; import 'package:flutter/foundation.dart' show visibleForTesting; -import 'package:flutter_web_plugins/flutter_web_plugins.dart'; +import 'package:flutter_web_plugins/flutter_web_plugins.dart' show Registrar; import 'package:url_launcher_platform_interface/link.dart'; import 'package:url_launcher_platform_interface/url_launcher_platform_interface.dart'; import 'src/link.dart'; -import 'src/shims/dart_ui.dart' as ui; const Set _safariTargetTopSchemes = { 'mailto', @@ -49,7 +49,7 @@ class UrlLauncherPlugin extends UrlLauncherPlatform { /// Registers this class as the default instance of [UrlLauncherPlatform]. static void registerWith(Registrar registrar) { UrlLauncherPlatform.instance = UrlLauncherPlugin(); - ui.platformViewRegistry + ui_web.platformViewRegistry .registerViewFactory(linkViewType, linkViewFactory, isVisible: false); } diff --git a/packages/url_launcher/url_launcher_web/pubspec.yaml b/packages/url_launcher/url_launcher_web/pubspec.yaml index 2f22f2ce9c..fce7da421b 100644 --- a/packages/url_launcher/url_launcher_web/pubspec.yaml +++ b/packages/url_launcher/url_launcher_web/pubspec.yaml @@ -2,11 +2,11 @@ name: url_launcher_web description: Web platform implementation of url_launcher repository: https://github.com/flutter/packages/tree/main/packages/url_launcher/url_launcher_web issue_tracker: https://github.com/flutter/flutter/issues?q=is%3Aissue+is%3Aopen+label%3A%22p%3A+url_launcher%22 -version: 2.0.19 +version: 2.0.20 environment: - sdk: ">=2.19.0 <4.0.0" - flutter: ">=3.7.0" + sdk: ">=3.1.0 <4.0.0" + flutter: ">=3.13.0" flutter: plugin: diff --git a/packages/video_player/video_player_web/CHANGELOG.md b/packages/video_player/video_player_web/CHANGELOG.md index e67ee61a8b..58e6f6466e 100644 --- a/packages/video_player/video_player_web/CHANGELOG.md +++ b/packages/video_player/video_player_web/CHANGELOG.md @@ -1,3 +1,8 @@ +## 2.0.18 + +* Migrates to `dart:ui_web` APIs. +* Updates minimum supported SDK version to Flutter 3.13.0/Dart 3.1.0. + ## 2.0.17 * Adds pub topics to package metadata. diff --git a/packages/video_player/video_player_web/lib/src/shims/dart_ui.dart b/packages/video_player/video_player_web/lib/src/shims/dart_ui.dart deleted file mode 100644 index bd28793f19..0000000000 --- a/packages/video_player/video_player_web/lib/src/shims/dart_ui.dart +++ /dev/null @@ -1,10 +0,0 @@ -// Copyright 2013 The Flutter Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE file. - -/// This file shims dart:ui in web-only scenarios, getting rid of the need to -/// suppress analyzer warnings. - -// TODO(ditman): Remove this file once web-only dart:ui APIs are exposed from -// a dedicated place, https://github.com/flutter/flutter/issues/55000 -export 'dart_ui_fake.dart' if (dart.library.html) 'dart_ui_real.dart'; diff --git a/packages/video_player/video_player_web/lib/src/shims/dart_ui_fake.dart b/packages/video_player/video_player_web/lib/src/shims/dart_ui_fake.dart deleted file mode 100644 index 40d8f19031..0000000000 --- a/packages/video_player/video_player_web/lib/src/shims/dart_ui_fake.dart +++ /dev/null @@ -1,33 +0,0 @@ -// Copyright 2013 The Flutter Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE file. - -import 'dart:html' as html; - -// Fake interface for the logic that this package needs from (web-only) dart:ui. -// This is conditionally exported so the analyzer sees these methods as available. - -// ignore_for_file: avoid_classes_with_only_static_members -// ignore_for_file: camel_case_types - -/// Shim for web_ui engine.PlatformViewRegistry -/// https://github.com/flutter/engine/blob/main/lib/web_ui/lib/ui.dart#L62 -class platformViewRegistry { - /// Shim for registerViewFactory - /// https://github.com/flutter/engine/blob/main/lib/web_ui/lib/ui.dart#L72 - static bool registerViewFactory( - String viewTypeId, html.Element Function(int viewId) viewFactory) { - return false; - } -} - -/// Shim for web_ui engine.AssetManager. -/// https://github.com/flutter/engine/blob/main/lib/web_ui/lib/src/engine/assets.dart#L12 -class webOnlyAssetManager { - /// Shim for getAssetUrl. - /// https://github.com/flutter/engine/blob/main/lib/web_ui/lib/src/engine/assets.dart#L45 - static String getAssetUrl(String asset) => ''; -} - -/// Signature of callbacks that have no arguments and return no data. -typedef VoidCallback = void Function(); diff --git a/packages/video_player/video_player_web/lib/src/shims/dart_ui_real.dart b/packages/video_player/video_player_web/lib/src/shims/dart_ui_real.dart deleted file mode 100644 index 276b768c76..0000000000 --- a/packages/video_player/video_player_web/lib/src/shims/dart_ui_real.dart +++ /dev/null @@ -1,5 +0,0 @@ -// Copyright 2013 The Flutter Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE file. - -export 'dart:ui'; diff --git a/packages/video_player/video_player_web/lib/video_player_web.dart b/packages/video_player/video_player_web/lib/video_player_web.dart index e52fd83de7..caa585b919 100644 --- a/packages/video_player/video_player_web/lib/video_player_web.dart +++ b/packages/video_player/video_player_web/lib/video_player_web.dart @@ -4,12 +4,12 @@ import 'dart:async'; import 'dart:html'; +import 'dart:ui_web' as ui_web; import 'package:flutter/material.dart'; import 'package:flutter_web_plugins/flutter_web_plugins.dart'; import 'package:video_player_platform_interface/video_player_platform_interface.dart'; -import 'src/shims/dart_ui.dart' as ui; import 'src/video_player.dart'; /// The web implementation of [VideoPlayerPlatform]. @@ -62,7 +62,7 @@ class VideoPlayerPlugin extends VideoPlayerPlatform { if (dataSource.package != null && dataSource.package!.isNotEmpty) { assetUrl = 'packages/${dataSource.package}/$assetUrl'; } - assetUrl = ui.webOnlyAssetManager.getAssetUrl(assetUrl); + assetUrl = ui_web.assetManager.getAssetUrl(assetUrl); uri = assetUrl; break; case DataSourceType.file: @@ -81,7 +81,7 @@ class VideoPlayerPlugin extends VideoPlayerPlatform { ..style.width = '100%'; // TODO(hterkelsen): Use initialization parameters once they are available - ui.platformViewRegistry.registerViewFactory( + ui_web.platformViewRegistry.registerViewFactory( 'videoPlayer-$textureId', (int viewId) => videoElement); final VideoPlayer player = VideoPlayer(videoElement: videoElement) diff --git a/packages/video_player/video_player_web/pubspec.yaml b/packages/video_player/video_player_web/pubspec.yaml index 3924364d42..c0afc0598d 100644 --- a/packages/video_player/video_player_web/pubspec.yaml +++ b/packages/video_player/video_player_web/pubspec.yaml @@ -2,11 +2,11 @@ name: video_player_web description: Web platform implementation of video_player. repository: https://github.com/flutter/packages/tree/main/packages/video_player/video_player_web issue_tracker: https://github.com/flutter/flutter/issues?q=is%3Aissue+is%3Aopen+label%3A%22p%3A+video_player%22 -version: 2.0.17 +version: 2.0.18 environment: - sdk: ">=2.19.0 <4.0.0" - flutter: ">=3.7.0" + sdk: ">=3.1.0 <4.0.0" + flutter: ">=3.13.0" flutter: plugin: diff --git a/packages/webview_flutter/webview_flutter_web/CHANGELOG.md b/packages/webview_flutter/webview_flutter_web/CHANGELOG.md index a7c69241a7..cf5d2d62c0 100644 --- a/packages/webview_flutter/webview_flutter_web/CHANGELOG.md +++ b/packages/webview_flutter/webview_flutter_web/CHANGELOG.md @@ -1,3 +1,8 @@ +## 0.2.2+3 + +* Migrates to `dart:ui_web` APIs. +* Updates minimum supported SDK version to Flutter 3.13.0/Dart 3.1.0. + ## 0.2.2+2 * Adds pub topics to package metadata. diff --git a/packages/webview_flutter/webview_flutter_web/lib/src/shims/dart_ui.dart b/packages/webview_flutter/webview_flutter_web/lib/src/shims/dart_ui.dart deleted file mode 100644 index 1724dd60ea..0000000000 --- a/packages/webview_flutter/webview_flutter_web/lib/src/shims/dart_ui.dart +++ /dev/null @@ -1,10 +0,0 @@ -// Copyright 2013 The Flutter Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE file. - -/// This file shims dart:ui in web-only scenarios, getting rid of the need to -/// suppress analyzer warnings. - -// TODO(BeMacized): Remove this file once web-only dart:ui APIs, -// are exposed from a dedicated place. flutter/flutter#55000 -export 'dart_ui_fake.dart' if (dart.library.html) 'dart_ui_real.dart'; diff --git a/packages/webview_flutter/webview_flutter_web/lib/src/shims/dart_ui_fake.dart b/packages/webview_flutter/webview_flutter_web/lib/src/shims/dart_ui_fake.dart deleted file mode 100644 index 40d8f19031..0000000000 --- a/packages/webview_flutter/webview_flutter_web/lib/src/shims/dart_ui_fake.dart +++ /dev/null @@ -1,33 +0,0 @@ -// Copyright 2013 The Flutter Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE file. - -import 'dart:html' as html; - -// Fake interface for the logic that this package needs from (web-only) dart:ui. -// This is conditionally exported so the analyzer sees these methods as available. - -// ignore_for_file: avoid_classes_with_only_static_members -// ignore_for_file: camel_case_types - -/// Shim for web_ui engine.PlatformViewRegistry -/// https://github.com/flutter/engine/blob/main/lib/web_ui/lib/ui.dart#L62 -class platformViewRegistry { - /// Shim for registerViewFactory - /// https://github.com/flutter/engine/blob/main/lib/web_ui/lib/ui.dart#L72 - static bool registerViewFactory( - String viewTypeId, html.Element Function(int viewId) viewFactory) { - return false; - } -} - -/// Shim for web_ui engine.AssetManager. -/// https://github.com/flutter/engine/blob/main/lib/web_ui/lib/src/engine/assets.dart#L12 -class webOnlyAssetManager { - /// Shim for getAssetUrl. - /// https://github.com/flutter/engine/blob/main/lib/web_ui/lib/src/engine/assets.dart#L45 - static String getAssetUrl(String asset) => ''; -} - -/// Signature of callbacks that have no arguments and return no data. -typedef VoidCallback = void Function(); diff --git a/packages/webview_flutter/webview_flutter_web/lib/src/shims/dart_ui_real.dart b/packages/webview_flutter/webview_flutter_web/lib/src/shims/dart_ui_real.dart deleted file mode 100644 index 276b768c76..0000000000 --- a/packages/webview_flutter/webview_flutter_web/lib/src/shims/dart_ui_real.dart +++ /dev/null @@ -1,5 +0,0 @@ -// Copyright 2013 The Flutter Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE file. - -export 'dart:ui'; diff --git a/packages/webview_flutter/webview_flutter_web/lib/src/web_webview_controller.dart b/packages/webview_flutter/webview_flutter_web/lib/src/web_webview_controller.dart index daf186191a..79f28b858b 100644 --- a/packages/webview_flutter/webview_flutter_web/lib/src/web_webview_controller.dart +++ b/packages/webview_flutter/webview_flutter_web/lib/src/web_webview_controller.dart @@ -4,13 +4,13 @@ import 'dart:convert'; import 'dart:html' as html; +import 'dart:ui_web' as ui_web; import 'package:flutter/cupertino.dart'; import 'package:webview_flutter_platform_interface/webview_flutter_platform_interface.dart'; import 'content_type.dart'; import 'http_request_factory.dart'; -import 'shims/dart_ui.dart' as ui; /// An implementation of [PlatformWebViewControllerCreationParams] using Flutter /// for Web API. @@ -115,7 +115,7 @@ class WebWebViewWidget extends PlatformWebViewWidget { : super.implementation(params) { final WebWebViewController controller = params.controller as WebWebViewController; - ui.platformViewRegistry.registerViewFactory( + ui_web.platformViewRegistry.registerViewFactory( controller._webWebViewParams.iFrame.id, (int viewId) => controller._webWebViewParams.iFrame, ); diff --git a/packages/webview_flutter/webview_flutter_web/lib/src/webview_flutter_web_legacy.dart b/packages/webview_flutter/webview_flutter_web/lib/src/webview_flutter_web_legacy.dart index ebf3c79994..1f83bf440b 100644 --- a/packages/webview_flutter/webview_flutter_web/lib/src/webview_flutter_web_legacy.dart +++ b/packages/webview_flutter/webview_flutter_web/lib/src/webview_flutter_web_legacy.dart @@ -5,6 +5,8 @@ import 'dart:async'; import 'dart:convert'; import 'dart:html'; +import 'dart:ui_web' as ui_web; + import 'package:flutter/foundation.dart'; import 'package:flutter/gestures.dart'; import 'package:flutter/widgets.dart'; @@ -12,7 +14,6 @@ import 'package:flutter_web_plugins/flutter_web_plugins.dart'; // ignore: implementation_imports import 'package:webview_flutter_platform_interface/src/webview_flutter_platform_interface_legacy.dart'; import 'http_request_factory.dart'; -import 'shims/dart_ui.dart' as ui; /// Builds an iframe based WebView. /// @@ -20,7 +21,7 @@ import 'shims/dart_ui.dart' as ui; class WebWebViewPlatform implements WebViewPlatform { /// Constructs a new instance of [WebWebViewPlatform]. WebWebViewPlatform() { - ui.platformViewRegistry.registerViewFactory( + ui_web.platformViewRegistry.registerViewFactory( 'webview-iframe', (int viewId) => IFrameElement() ..id = 'webview-$viewId' diff --git a/packages/webview_flutter/webview_flutter_web/pubspec.yaml b/packages/webview_flutter/webview_flutter_web/pubspec.yaml index 2ec1e0b235..ed646b4353 100644 --- a/packages/webview_flutter/webview_flutter_web/pubspec.yaml +++ b/packages/webview_flutter/webview_flutter_web/pubspec.yaml @@ -2,11 +2,11 @@ name: webview_flutter_web description: A Flutter plugin that provides a WebView widget on web. repository: https://github.com/flutter/packages/tree/main/packages/webview_flutter/webview_flutter_web issue_tracker: https://github.com/flutter/flutter/issues?q=is%3Aissue+is%3Aopen+label%3A%22p%3A+webview%22 -version: 0.2.2+2 +version: 0.2.2+3 environment: - sdk: ">=2.19.0 <4.0.0" - flutter: ">=3.7.0" + sdk: ">=3.1.0 <4.0.0" + flutter: ">=3.13.0" flutter: plugin: