Skip to content
This repository was archived by the owner on Feb 25, 2025. It is now read-only.

Manual roll of Dart SDK from 82c4571bb2de to a677378ae254 #48933

Merged
merged 1 commit into from
Dec 12, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion DEPS
Original file line number Diff line number Diff line change
Expand Up @@ -66,7 +66,7 @@ vars = {
# Dart is: https://github.com/dart-lang/sdk/blob/main/DEPS
# You can use //tools/dart/create_updated_flutter_deps.py to produce
# updated revision list of existing dependencies.
'dart_revision': '82c4571bb2ded15cca71862158f2a7a78ee9127f',
'dart_revision': 'a677378ae25424f8e74b2f750e879458e9a17488',

# WARNING: DO NOT EDIT MANUALLY
# The lines between blank lines above and below are generated by a script. See create_updated_flutter_deps.py
Expand Down
2 changes: 1 addition & 1 deletion ci/licenses_golden/licenses_dart
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
Signature: fa0827b53a214003c14110498dcee743
Signature: 9566e23501be49ccdb4d0e710a9b74e7

====================================================================================================
LIBRARY: dart
Expand Down
14 changes: 7 additions & 7 deletions lib/web_ui/lib/src/engine/canvaskit/canvaskit_api.dart
Original file line number Diff line number Diff line change
Expand Up @@ -2942,23 +2942,23 @@ extension SkTextStylePropertiesExtension on SkTextStyleProperties {
external set fontStyle(SkFontStyle? value);

@JS('shadows')
external set _shadows(JSArray? value);
external set _shadows(JSArray<JSAny?>? value);
set shadows(List<SkTextShadow>? value) =>
// TODO(joshualitt): remove this cast when we reify JS types on JS
// backends.
// ignore: unnecessary_cast
_shadows = (value as List<JSAny>?)?.toJS;

@JS('fontFeatures')
external set _fontFeatures(JSArray? value);
external set _fontFeatures(JSArray<JSAny?>? value);
set fontFeatures(List<SkFontFeature>? value) =>
// TODO(joshualitt): remove this cast when we reify JS types on JS
// backends.
// ignore: unnecessary_cast
_fontFeatures = (value as List<JSAny>?)?.toJS;

@JS('fontVariations')
external set _fontVariations(JSArray? value);
external set _fontVariations(JSArray<JSAny?>? value);
set fontVariations(List<SkFontVariation>? value) =>
// TODO(joshualitt): remove this cast when we reify JS types on JS
// backends.
Expand Down Expand Up @@ -3200,7 +3200,7 @@ class SkGlyphClusterInfo {}

extension SkGlyphClusterInfoExtension on SkGlyphClusterInfo {
@JS('graphemeLayoutBounds')
external JSArray get _bounds;
external JSArray<JSAny?> get _bounds;

@JS('dir')
external SkTextDirection get _direction;
Expand Down Expand Up @@ -3256,7 +3256,7 @@ extension SkParagraphExtension on SkParagraph {
double getIdeographicBaseline() => _getIdeographicBaseline().toDartDouble;

@JS('getLineMetrics')
external JSArray _getLineMetrics();
external JSArray<JSAny?> _getLineMetrics();
List<SkLineMetrics> getLineMetrics() =>
_getLineMetrics().toDart.cast<SkLineMetrics>();

Expand Down Expand Up @@ -3289,7 +3289,7 @@ extension SkParagraphExtension on SkParagraph {
double getMaxWidth() => _getMaxWidth().toDartDouble;

@JS('getRectsForRange')
external JSArray _getRectsForRange(
external JSArray<JSAny?> _getRectsForRange(
JSNumber start,
JSNumber end,
SkRectHeightStyle heightStyle,
Expand All @@ -3304,7 +3304,7 @@ extension SkParagraphExtension on SkParagraph {
widthStyle).toDart.cast<SkRectWithDirection>();

@JS('getRectsForPlaceholders')
external JSArray _getRectsForPlaceholders();
external JSArray<JSAny?> _getRectsForPlaceholders();
List<SkRectWithDirection> getRectsForPlaceholders() =>
_getRectsForPlaceholders().toDart.cast<SkRectWithDirection>();

Expand Down
2 changes: 1 addition & 1 deletion lib/web_ui/lib/src/engine/canvaskit/image_web_codecs.dart
Original file line number Diff line number Diff line change
Expand Up @@ -142,7 +142,7 @@ Future<ByteBuffer> readVideoFramePixelsUnmodified(VideoFrame videoFrame) async {
// In dart2wasm, Uint8List is not the same as a JS Uint8Array. So we
// explicitly construct the JS object here.
final JSUint8Array destination = createUint8ArrayFromLength(size);
final JSPromise copyPromise = videoFrame.copyTo(destination);
final JSPromise<JSAny?> copyPromise = videoFrame.copyTo(destination);
await promiseToFuture<void>(copyPromise);

// In dart2wasm, `toDart` incurs a copy here. On JS backends, this is a
Expand Down
60 changes: 30 additions & 30 deletions lib/web_ui/lib/src/engine/dom.dart
Original file line number Diff line number Diff line change
Expand Up @@ -110,9 +110,9 @@ extension DomWindowExtension on DomWindow {
}

@JS('fetch')
external JSPromise _fetch1(JSString url);
external JSPromise<JSAny?> _fetch1(JSString url);
@JS('fetch')
external JSPromise _fetch2(JSString url, JSAny headers);
external JSPromise<JSAny?> _fetch2(JSString url, JSAny headers);

// ignore: non_constant_identifier_names
external DomURL get URL;
Expand Down Expand Up @@ -149,7 +149,7 @@ extension DomWindowExtension on DomWindow {
external JSVoid _postMessage1(JSAny message, JSString targetOrigin);
@JS('postMessage')
external JSVoid _postMessage2(
JSAny message, JSString targetOrigin, JSArray messagePorts);
JSAny message, JSString targetOrigin, JSArray<JSAny?> messagePorts);
void postMessage(Object message, String targetOrigin,
[List<DomMessagePort>? messagePorts]) {
if (messagePorts == null) {
Expand Down Expand Up @@ -199,18 +199,18 @@ external DomIntl get domIntl;
external DomSymbol get domSymbol;

@JS('createImageBitmap')
external JSPromise _createImageBitmap1(
external JSPromise<JSAny?> _createImageBitmap1(
JSAny source,
);
@JS('createImageBitmap')
external JSPromise _createImageBitmap2(
external JSPromise<JSAny?> _createImageBitmap2(
JSAny source,
JSNumber x,
JSNumber y,
JSNumber width,
JSNumber height,
);
JSPromise createImageBitmap(JSAny source,
JSPromise<JSAny?> createImageBitmap(JSAny source,
[({int x, int y, int width, int height})? bounds]) {
if (bounds != null) {
return _createImageBitmap2(source, bounds.x.toJS, bounds.y.toJS,
Expand Down Expand Up @@ -248,7 +248,7 @@ extension DomNavigatorExtension on DomNavigator {
String get userAgent => _userAgent.toDart;

@JS('languages')
external JSArray? get _languages;
external JSArray<JSAny?>? get _languages;
List<String>? get languages => _languages?.toDart
.map<String>((JSAny? any) => (any! as JSString).toDart)
.toList();
Expand Down Expand Up @@ -947,7 +947,7 @@ extension DomHTMLImageElementExtension on DomHTMLImageElement {
set height(double? value) => _height = value?.toJS;

@JS('decode')
external JSPromise _decode();
external JSPromise<JSAny?> _decode();
Future<Object?> decode() => js_util.promiseToFuture<Object?>(_decode());
}

Expand Down Expand Up @@ -1886,16 +1886,16 @@ extension DomResponseExtension on DomResponse {
external _DomReadableStream get body;

@JS('arrayBuffer')
external JSPromise _arrayBuffer();
external JSPromise<JSAny?> _arrayBuffer();
Future<Object?> arrayBuffer() =>
js_util.promiseToFuture<Object?>(_arrayBuffer());

@JS('json')
external JSPromise _json();
external JSPromise<JSAny?> _json();
Future<Object?> json() => js_util.promiseToFuture<Object?>(_json());

@JS('text')
external JSPromise _text();
external JSPromise<JSAny?> _text();
Future<String> text() => js_util.promiseToFuture<String>(_text());
}

Expand Down Expand Up @@ -1923,7 +1923,7 @@ class _DomStreamReader {}

extension _DomStreamReaderExtension on _DomStreamReader {
@JS('read')
external JSPromise _read();
external JSPromise<JSAny?> _read();
Future<_DomStreamChunk> read() =>
js_util.promiseToFuture<_DomStreamChunk>(_read());
}
Expand Down Expand Up @@ -2045,7 +2045,7 @@ DomFontFace createDomFontFace(String family, Object source,

extension DomFontFaceExtension on DomFontFace {
@JS('load')
external JSPromise _load();
external JSPromise<JSAny?> _load();
Future<DomFontFace> load() => js_util.promiseToFuture(_load());

@JS('family')
Expand Down Expand Up @@ -2166,11 +2166,11 @@ class DomClipboard extends DomEventTarget {}

extension DomClipboardExtension on DomClipboard {
@JS('readText')
external JSPromise _readText();
external JSPromise<JSAny?> _readText();
Future<String> readText() => js_util.promiseToFuture<String>(_readText());

@JS('writeText')
external JSPromise _writeText(JSString data);
external JSPromise<JSAny?> _writeText(JSString data);
Future<dynamic> writeText(String data) =>
js_util.promiseToFuture(_writeText(data.toJS));
}
Expand Down Expand Up @@ -2340,26 +2340,26 @@ extension DomURLExtension on DomURL {
@JS('Blob')
@staticInterop
class DomBlob {
external factory DomBlob(JSArray parts);
external factory DomBlob(JSArray<JSAny?> parts);

external factory DomBlob.withOptions(JSArray parts, JSAny options);
external factory DomBlob.withOptions(JSArray<JSAny?> parts, JSAny options);
}

extension DomBlobExtension on DomBlob {
external JSPromise arrayBuffer();
external JSPromise<JSAny?> arrayBuffer();
}

DomBlob createDomBlob(List<Object?> parts, [Map<String, dynamic>? options]) {
if (options == null) {
return DomBlob(parts.toJSAnyShallow as JSArray);
return DomBlob(parts.toJSAnyShallow as JSArray<JSAny?>);
} else {
return DomBlob.withOptions(
parts.toJSAnyShallow as JSArray, options.toJSAnyDeep);
parts.toJSAnyShallow as JSArray<JSAny?>, options.toJSAnyDeep);
}
}

typedef DomMutationCallback = void Function(
JSArray mutation, DomMutationObserver observer);
JSArray<JSAny?> mutation, DomMutationObserver observer);

@JS('MutationObserver')
@staticInterop
Expand Down Expand Up @@ -2565,7 +2565,7 @@ extension DomPointerEventExtension on DomPointerEvent {
double? get tiltY => _tiltY?.toDartDouble;

@JS('getCoalescedEvents')
external JSArray _getCoalescedEvents();
external JSArray<JSAny?> _getCoalescedEvents();
List<DomPointerEvent> getCoalescedEvents() =>
_getCoalescedEvents().toDart.cast<DomPointerEvent>();
}
Expand Down Expand Up @@ -2886,11 +2886,11 @@ extension DomOffscreenCanvasExtension on DomOffscreenCanvas {
}

@JS('convertToBlob')
external JSPromise _convertToBlob1();
external JSPromise<JSAny?> _convertToBlob1();
@JS('convertToBlob')
external JSPromise _convertToBlob2(JSAny options);
external JSPromise<JSAny?> _convertToBlob2(JSAny options);
Future<DomBlob> convertToBlob([Map<Object?, Object?>? options]) {
final JSPromise blob;
final JSPromise<JSAny?> blob;
if (options == null) {
blob = _convertToBlob1();
} else {
Expand Down Expand Up @@ -3013,7 +3013,7 @@ class DomScreenOrientation extends DomEventTarget {}

extension DomScreenOrientationExtension on DomScreenOrientation {
@JS('lock')
external JSPromise _lock(JSString orientation);
external JSPromise<JSAny?> _lock(JSString orientation);
Future<dynamic> lock(String orientation) =>
js_util.promiseToFuture(_lock(orientation.toJS));

Expand Down Expand Up @@ -3163,7 +3163,7 @@ abstract class DomResizeObserver {
/// Internally converts the `List<dynamic>` of entries into the expected
/// `List<DomResizeObserverEntry>`
DomResizeObserver? createDomResizeObserver(DomResizeObserverCallbackFn fn) =>
DomResizeObserver((JSArray entries, DomResizeObserver observer) {
DomResizeObserver((JSArray<JSAny?> entries, DomResizeObserver observer) {
fn(entries.toDart.cast<DomResizeObserverEntry>(), observer);
}.toJS);

Expand Down Expand Up @@ -3480,7 +3480,7 @@ class DomSegmenter {
// TODO(joshualitt): `locales` should really be typed as `JSAny?`, and we
// should pass `JSUndefined`. Revisit this after we reify `JSUndefined` on
// Dart2Wasm.
external factory DomSegmenter(JSArray locales, JSAny options);
external factory DomSegmenter(JSArray<JSAny?> locales, JSAny options);
}

extension DomSegmenterExtension on DomSegmenter {
Expand Down Expand Up @@ -3580,7 +3580,7 @@ DomSegmenter createIntlSegmenter({required String granularity}) {
@JS('Intl.v8BreakIterator')
@staticInterop
class DomV8BreakIterator {
external factory DomV8BreakIterator(JSArray locales, JSAny options);
external factory DomV8BreakIterator(JSArray<JSAny?> locales, JSAny options);
}

extension DomV8BreakIteratorExtension on DomV8BreakIterator {
Expand Down Expand Up @@ -3679,7 +3679,7 @@ bool get browserSupportsCreateImageBitmap =>

@JS()
@staticInterop
extension JSArrayExtension on JSArray {
extension JSArrayExtension on JSArray<JSAny?> {
external void push(JSAny value);
external JSNumber get length;
}
4 changes: 2 additions & 2 deletions lib/web_ui/lib/src/engine/js_interop/js_promise.dart
Original file line number Diff line number Diff line change
Expand Up @@ -18,14 +18,14 @@ extension CallExtension on JSFunction {
@JS('Promise')
external JSAny get _promiseConstructor;

JSPromise createPromise(JSFunction executor) =>
JSPromise<JSAny?> createPromise(JSFunction executor) =>
js_util.callConstructor(
_promiseConstructor,
<Object>[executor],
);


JSPromise futureToPromise<T extends JSAny?>(Future<T> future) {
JSPromise<JSAny?> futureToPromise<T extends JSAny?>(Future<T> future) {
return createPromise((JSFunction resolver, JSFunction rejecter) {
future.then(
(T value) => resolver.call(null, value),
Expand Down
4 changes: 2 additions & 2 deletions lib/web_ui/lib/src/engine/platform_dispatcher.dart
Original file line number Diff line number Diff line change
Expand Up @@ -986,8 +986,8 @@ class EnginePlatformDispatcher extends ui.PlatformDispatcher {
void _addFontSizeObserver() {
const String styleAttribute = 'style';

_fontSizeObserver =
createDomMutationObserver((JSArray mutations, DomMutationObserver _) {
_fontSizeObserver = createDomMutationObserver(
(JSArray<JSAny?> mutations, DomMutationObserver _) {
for (final JSAny? mutation in mutations.toDart) {
final DomMutationRecord record = mutation! as DomMutationRecord;
if (record.type == 'attributes' &&
Expand Down
9 changes: 5 additions & 4 deletions lib/web_ui/lib/src/engine/safe_browser_api.dart
Original file line number Diff line number Diff line change
Expand Up @@ -214,7 +214,7 @@ extension ImageDecoderExtension on ImageDecoder {
external JSBoolean get _complete;
bool get complete => _complete.toDart;

external JSPromise decode(DecodeOptions options);
external JSPromise<JSAny?> decode(DecodeOptions options);
external JSVoid close();
}

Expand Down Expand Up @@ -288,8 +288,9 @@ extension VideoFrameExtension on VideoFrame {
double allocationSize() => _allocationSize().toDartDouble;

@JS('copyTo')
external JSPromise _copyTo(JSAny destination);
JSPromise copyTo(Object destination) => _copyTo(destination.toJSAnyShallow);
external JSPromise<JSAny?> _copyTo(JSAny destination);
JSPromise<JSAny?> copyTo(Object destination) =>
_copyTo(destination.toJSAnyShallow);

@JS('format')
external JSString? get _format;
Expand Down Expand Up @@ -330,7 +331,7 @@ extension VideoFrameExtension on VideoFrame {
class ImageTrackList {}

extension ImageTrackListExtension on ImageTrackList {
external JSPromise get ready;
external JSPromise<JSAny?> get ready;
external ImageTrack? get selectedTrack;
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,10 +13,10 @@ import '../dom.dart';
/// to clear. Delay removal of old visible state to make the
/// transition appear smooth.
@JS('window.__flutterState')
external JSArray? get _jsHotRestartStore;
external JSArray<JSAny?>? get _jsHotRestartStore;

@JS('window.__flutterState')
external set _jsHotRestartStore(JSArray? nodes);
external set _jsHotRestartStore(JSArray<JSAny?>? nodes);

/// Handles [DomElement]s that need to be removed after a hot-restart.
///
Expand All @@ -36,7 +36,7 @@ class HotRestartCacheHandler {
/// Removes every element that was registered prior to the hot-restart from
/// the DOM.
void _resetHotRestartStore() {
final JSArray? jsStore = _jsHotRestartStore;
final JSArray<JSAny?>? jsStore = _jsHotRestartStore;

if (jsStore != null) {
// We are in a post hot-restart world, clear the elements now.
Expand All @@ -47,7 +47,7 @@ class HotRestartCacheHandler {
}
}
}
_jsHotRestartStore = JSArray();
_jsHotRestartStore = JSArray<JSAny?>();
}

/// Registers a [DomElement] to be removed after hot-restart.
Expand Down
2 changes: 1 addition & 1 deletion lib/web_ui/test/engine/surface/scene_builder_test.dart
Original file line number Diff line number Diff line change
Expand Up @@ -487,7 +487,7 @@ void testMain() {

// Watches DOM mutations and counts deletions and additions to the child
// list of the `<flt-scene>` element.
final DomMutationObserver observer = createDomMutationObserver((JSArray mutations, _) {
final DomMutationObserver observer = createDomMutationObserver((JSArray<JSAny?> mutations, _) {
for (final DomMutationRecord record in mutations.toDart.cast<DomMutationRecord>()) {
actualDeletions.addAll(record.removedNodes!);
actualAdditions.addAll(record.addedNodes!);
Expand Down
Loading