Version 2.14.0-64.0.dev
Merge commit '8488b37aae8d2305e30069e4cc63ee13fb2b5c38' into 'dev'
diff --git a/.dart_tool/package_config.json b/.dart_tool/package_config.json
index 8af538d..ca2f072 100644
--- a/.dart_tool/package_config.json
+++ b/.dart_tool/package_config.json
@@ -11,7 +11,7 @@
"constraint, update this by running tools/generate_package_config.dart."
],
"configVersion": 2,
- "generated": "2021-04-27T17:23:41.776651",
+ "generated": "2021-04-29T10:51:01.320402",
"generator": "tools/generate_package_config.dart",
"packages": [
{
diff --git a/DEPS b/DEPS
index 10f29bf..bbac264 100644
--- a/DEPS
+++ b/DEPS
@@ -163,7 +163,7 @@
"test_process_tag": "2.0.0",
"term_glyph_rev": "6a0f9b6fb645ba75e7a00a4e20072678327a0347",
"test_reflective_loader_rev": "54e930a11c372683792e22bddad79197728c91ce",
- "test_rev": "e673623f45d75ccec750d35271b0b4d1423e9fac",
+ "test_rev": "433f1d8726f9c1484007588470b17830a5e97a12",
"typed_data_tag": "f94fc57b8e8c0e4fe4ff6cfd8290b94af52d3719",
"usage_rev": "5b7317ba89166f3cf1af98cb280a4cc8e78f25f9",
"vector_math_rev": "0c9f5d68c047813a6dcdeb88ba7a42daddf25025",
diff --git a/pkg/vm/testcases/transformations/type_flow/transformer/protobuf_handler/lib/create_test.dart.expect b/pkg/vm/testcases/transformations/type_flow/transformer/protobuf_handler/lib/create_test.dart.expect
index ec70e94..d0ad288d 100644
--- a/pkg/vm/testcases/transformations/type_flow/transformer/protobuf_handler/lib/create_test.dart.expect
+++ b/pkg/vm/testcases/transformations/type_flow/transformer/protobuf_handler/lib/create_test.dart.expect
@@ -2,8 +2,8 @@
import self as self;
import "generated/foo.pb.dart" as pb;
import "dart:core" as core;
-import "package:test_core/test_core.dart" as tes;
-import "package:test_api/src/frontend/expect.dart" as exp;
+import "package:test_core/scaffolding.dart" as sca;
+import "package:test_api/src/expect/expect.dart" as exp;
import "package:test/test.dart";
import "file:pkg/vm/testcases/transformations/type_flow/transformer/protobuf_handler/lib/generated/foo.pb.dart";
@@ -18,7 +18,7 @@
} =>#t3);
[@vm.direct-call.metadata=library file:pkg/vm/testcases/transformations/type_flow/transformer/protobuf_handler/lib/generated/foo.pb.dart::FooKeep.aKeep] [@vm.inferred-type.metadata=!? (skip check)] #t1.{pb::FooKeep::aKeep} = 43;
} =>#t1;
- tes::test(() → Null {
+ sca::test(() → Null {
exp::expect([@vm.direct-call.metadata=library file:pkg/vm/testcases/transformations/type_flow/transformer/protobuf_handler/lib/generated/foo.pb.dart::BarKeep.aKeep??] [@vm.inferred-type.metadata=int] [@vm.direct-call.metadata=library file:pkg/vm/testcases/transformations/type_flow/transformer/protobuf_handler/lib/generated/foo.pb.dart::FooKeep.barKeep] [@vm.inferred-type.metadata=library file:pkg/vm/testcases/transformations/type_flow/transformer/protobuf_handler/lib/generated/foo.pb.dart::BarKeep?] foo.{pb::FooKeep::barKeep}.{pb::BarKeep::aKeep}, 5);
exp::expect([@vm.direct-call.metadata=library file:pkg/vm/testcases/transformations/type_flow/transformer/protobuf_handler/lib/generated/foo.pb.dart::BarKeep.aKeep??] [@vm.inferred-type.metadata=int] [@vm.inferred-type.metadata=library file:pkg/vm/testcases/transformations/type_flow/transformer/protobuf_handler/lib/generated/foo.pb.dart::BarKeep?] [@vm.direct-call.metadata=library file:pkg/vm/testcases/transformations/type_flow/transformer/protobuf_handler/lib/generated/foo.pb.dart::FooKeep.mapKeep] [@vm.inferred-type.metadata=!] foo.{pb::FooKeep::mapKeep}.{core::Map::[]}("foo").{pb::BarKeep::aKeep}, 2);
exp::expect([@vm.direct-call.metadata=library file:pkg/vm/testcases/transformations/type_flow/transformer/protobuf_handler/lib/generated/foo.pb.dart::FooKeep.hasHasKeep] [@vm.inferred-type.metadata=dart.core::bool (skip check)] foo.{pb::FooKeep::hasHasKeep}(), false);
diff --git a/pkg/vm/testcases/transformations/type_flow/transformer/protobuf_handler/lib/decode_test.dart.expect b/pkg/vm/testcases/transformations/type_flow/transformer/protobuf_handler/lib/decode_test.dart.expect
index 71dc247..8a6a03a 100644
--- a/pkg/vm/testcases/transformations/type_flow/transformer/protobuf_handler/lib/decode_test.dart.expect
+++ b/pkg/vm/testcases/transformations/type_flow/transformer/protobuf_handler/lib/decode_test.dart.expect
@@ -1,8 +1,8 @@
library #lib;
import self as self;
import "generated/foo.pb.dart" as pb;
-import "package:test_core/test_core.dart" as tes;
-import "package:test_api/src/frontend/expect.dart" as exp;
+import "package:test_core/scaffolding.dart" as sca;
+import "package:test_api/src/expect/expect.dart" as exp;
import "dart:core" as core;
import "package:test/test.dart";
@@ -11,7 +11,7 @@
[@vm.inferred-type.metadata=dart.core::_GrowableList?<dart.core::int*>]static field core::List<core::int*>* buffer = <core::int*>[10, 4, 8, 5, 16, 4, 26, 9, 10, 3, 102, 111, 111, 18, 2, 8, 42, 34, 9, 10, 3, 122, 111, 112, 18, 2, 8, 3, 40, 43, 50, 0, 58, 0];
static method main() → dynamic {
pb::FooKeep* foo = [@vm.inferred-type.metadata=library file:pkg/vm/testcases/transformations/type_flow/transformer/protobuf_handler/lib/generated/foo.pb.dart::FooKeep] pb::FooKeep::fromBuffer([@vm.inferred-type.metadata=dart.core::_GrowableList?<dart.core::int*>] self::buffer);
- tes::test(() → Null {
+ sca::test(() → Null {
exp::expect([@vm.direct-call.metadata=library file:pkg/vm/testcases/transformations/type_flow/transformer/protobuf_handler/lib/generated/foo.pb.dart::BarKeep.aKeep??] [@vm.inferred-type.metadata=int] [@vm.inferred-type.metadata=library file:pkg/vm/testcases/transformations/type_flow/transformer/protobuf_handler/lib/generated/foo.pb.dart::BarKeep?] [@vm.direct-call.metadata=library file:pkg/vm/testcases/transformations/type_flow/transformer/protobuf_handler/lib/generated/foo.pb.dart::FooKeep.mapKeep] [@vm.inferred-type.metadata=!] foo.{pb::FooKeep::mapKeep}.{core::Map::[]}("foo").{pb::BarKeep::aKeep}, 42);
exp::expect([@vm.direct-call.metadata=library file:pkg/vm/testcases/transformations/type_flow/transformer/protobuf_handler/lib/generated/foo.pb.dart::BarKeep.aKeep??] [@vm.inferred-type.metadata=int] [@vm.direct-call.metadata=library file:pkg/vm/testcases/transformations/type_flow/transformer/protobuf_handler/lib/generated/foo.pb.dart::FooKeep.barKeep] [@vm.inferred-type.metadata=library file:pkg/vm/testcases/transformations/type_flow/transformer/protobuf_handler/lib/generated/foo.pb.dart::BarKeep?] foo.{pb::FooKeep::barKeep}.{pb::BarKeep::aKeep}, 5);
exp::expect([@vm.direct-call.metadata=library file:pkg/vm/testcases/transformations/type_flow/transformer/protobuf_handler/lib/generated/foo.pb.dart::FooKeep.aKeep] [@vm.inferred-type.metadata=int] foo.{pb::FooKeep::aKeep}, 43);
diff --git a/pkg/vm/testcases/transformations/type_flow/transformer/protobuf_handler/lib/freeze_test.dart.expect b/pkg/vm/testcases/transformations/type_flow/transformer/protobuf_handler/lib/freeze_test.dart.expect
index b750159..df6916b 100644
--- a/pkg/vm/testcases/transformations/type_flow/transformer/protobuf_handler/lib/freeze_test.dart.expect
+++ b/pkg/vm/testcases/transformations/type_flow/transformer/protobuf_handler/lib/freeze_test.dart.expect
@@ -2,10 +2,10 @@
import self as self;
import "generated/foo.pb.dart" as pb;
import "dart:core" as core;
-import "package:test_core/test_core.dart" as tes;
+import "package:test_core/scaffolding.dart" as sca;
import "package:protobuf/protobuf.dart" as pro;
-import "package:test_api/src/frontend/expect.dart" as exp;
-import "package:test_api/src/frontend/throws_matcher.dart" as thr;
+import "package:test_api/src/expect/expect.dart" as exp;
+import "package:test_api/src/expect/throws_matcher.dart" as thr;
import "package:test/test.dart";
import "file:pkg/vm/testcases/transformations/type_flow/transformer/protobuf_handler/lib/generated/foo.pb.dart";
@@ -20,13 +20,13 @@
} =>#t3);
[@vm.direct-call.metadata=library file:pkg/vm/testcases/transformations/type_flow/transformer/protobuf_handler/lib/generated/foo.pb.dart::FooKeep.aKeep] [@vm.inferred-type.metadata=!? (skip check)] #t1.{pb::FooKeep::aKeep} = 43;
} =>#t1;
- tes::test(() → Null {
+ sca::test(() → Null {
[@vm.direct-call.metadata=protobuf::GeneratedMessage.freeze] [@vm.inferred-type.metadata=!? (skip check)] foo.{pro::GeneratedMessage::freeze}();
exp::expect([@vm.direct-call.metadata=library file:pkg/vm/testcases/transformations/type_flow/transformer/protobuf_handler/lib/generated/foo.pb.dart::BarKeep.aKeep??] [@vm.inferred-type.metadata=int] [@vm.direct-call.metadata=library file:pkg/vm/testcases/transformations/type_flow/transformer/protobuf_handler/lib/generated/foo.pb.dart::FooKeep.barKeep] [@vm.inferred-type.metadata=library file:pkg/vm/testcases/transformations/type_flow/transformer/protobuf_handler/lib/generated/foo.pb.dart::BarKeep?] foo.{pb::FooKeep::barKeep}.{pb::BarKeep::aKeep}, 5);
exp::expect([@vm.direct-call.metadata=library file:pkg/vm/testcases/transformations/type_flow/transformer/protobuf_handler/lib/generated/foo.pb.dart::BarKeep.aKeep??] [@vm.inferred-type.metadata=int] [@vm.inferred-type.metadata=library file:pkg/vm/testcases/transformations/type_flow/transformer/protobuf_handler/lib/generated/foo.pb.dart::BarKeep?] [@vm.direct-call.metadata=library file:pkg/vm/testcases/transformations/type_flow/transformer/protobuf_handler/lib/generated/foo.pb.dart::FooKeep.mapKeep] [@vm.inferred-type.metadata=!] foo.{pb::FooKeep::mapKeep}.{core::Map::[]}("foo").{pb::BarKeep::aKeep}, 2);
exp::expect([@vm.direct-call.metadata=library file:pkg/vm/testcases/transformations/type_flow/transformer/protobuf_handler/lib/generated/foo.pb.dart::FooKeep.hasHasKeep] [@vm.inferred-type.metadata=dart.core::bool (skip check)] foo.{pb::FooKeep::hasHasKeep}(), false);
exp::expect([@vm.direct-call.metadata=library file:pkg/vm/testcases/transformations/type_flow/transformer/protobuf_handler/lib/generated/foo.pb.dart::FooKeep.aKeep] [@vm.inferred-type.metadata=int] foo.{pb::FooKeep::aKeep}, 43);
- exp::expect(() → void => [@vm.direct-call.metadata=library file:pkg/vm/testcases/transformations/type_flow/transformer/protobuf_handler/lib/generated/foo.pb.dart::FooKeep.clearClearKeep] [@vm.inferred-type.metadata=!? (skip check)] foo.{pb::FooKeep::clearClearKeep}(), [@vm.inferred-type.metadata=library package:test_api/src/frontend/throws_matcher.dart::Throws] thr::throwsA());
+ exp::expect(() → void => [@vm.direct-call.metadata=library file:pkg/vm/testcases/transformations/type_flow/transformer/protobuf_handler/lib/generated/foo.pb.dart::FooKeep.clearClearKeep] [@vm.inferred-type.metadata=!? (skip check)] foo.{pb::FooKeep::clearClearKeep}(), [@vm.inferred-type.metadata=library package:test_api/src/expect/throws_matcher.dart::Throws] thr::throwsA());
});
}
library foo.pb.dart /*isNonNullableByDefault*/;
diff --git a/sdk/lib/html/dart2js/html_dart2js.dart b/sdk/lib/html/dart2js/html_dart2js.dart
index b25a9bd..6ade06e 100644
--- a/sdk/lib/html/dart2js/html_dart2js.dart
+++ b/sdk/lib/html/dart2js/html_dart2js.dart
@@ -16953,6 +16953,8 @@
@JSName('clearWatch')
void _clearWatch(int watchID) native;
+ @Creates('Geoposition')
+ @Creates('PositionError')
void _getCurrentPosition(_PositionCallback successCallback,
[_PositionErrorCallback? errorCallback, Map? options]) {
if (options != null) {
@@ -16972,14 +16974,22 @@
}
@JSName('getCurrentPosition')
+ @Creates('Geoposition')
+ @Creates('PositionError')
void _getCurrentPosition_1(
successCallback, _PositionErrorCallback? errorCallback, options) native;
@JSName('getCurrentPosition')
+ @Creates('Geoposition')
+ @Creates('PositionError')
void _getCurrentPosition_2(
successCallback, _PositionErrorCallback? errorCallback) native;
@JSName('getCurrentPosition')
+ @Creates('Geoposition')
+ @Creates('PositionError')
void _getCurrentPosition_3(successCallback) native;
+ @Creates('Geoposition')
+ @Creates('PositionError')
int _watchPosition(_PositionCallback successCallback,
[_PositionErrorCallback? errorCallback, Map? options]) {
if (options != null) {
@@ -16996,12 +17006,18 @@
}
@JSName('watchPosition')
+ @Creates('Geoposition')
+ @Creates('PositionError')
int _watchPosition_1(
successCallback, _PositionErrorCallback? errorCallback, options) native;
@JSName('watchPosition')
+ @Creates('Geoposition')
+ @Creates('PositionError')
int _watchPosition_2(successCallback, _PositionErrorCallback? errorCallback)
native;
@JSName('watchPosition')
+ @Creates('Geoposition')
+ @Creates('PositionError')
int _watchPosition_3(successCallback) native;
}
@@ -17021,7 +17037,7 @@
// for details. All rights reserved. Use of this source code is governed by a
// BSD-style license that can be found in the LICENSE file.
-@Native("Position")
+@Native("Position,GeolocationPosition")
class Geoposition extends Interceptor {
// To suppress missing implicit constructor warnings.
factory Geoposition._() {
@@ -25723,13 +25739,13 @@
// WARNING: Do not edit - generated code.
@Unstable()
-typedef void _PositionCallback(Geoposition position);
+typedef void _PositionCallback(position);
// Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
// BSD-style license that can be found in the LICENSE file.
@Unstable()
-@Native("PositionError")
+@Native("PositionError,GeolocationPositionError")
class PositionError extends Interceptor {
// To suppress missing implicit constructor warnings.
factory PositionError._() {
diff --git a/tools/VERSION b/tools/VERSION
index f0e2f0a..5c5e3c3 100644
--- a/tools/VERSION
+++ b/tools/VERSION
@@ -27,5 +27,5 @@
MAJOR 2
MINOR 14
PATCH 0
-PRERELEASE 63
+PRERELEASE 64
PRERELEASE_PATCH 0
\ No newline at end of file
diff --git a/tools/dom/dom.json b/tools/dom/dom.json
index 7dbf7aa..7b6f549 100644
--- a/tools/dom/dom.json
+++ b/tools/dom/dom.json
@@ -8567,6 +8567,17 @@
},
"support_level": "stable"
},
+ "GeolocationPosition": {
+ "members": {
+ "coords": {
+ "support_level": "untriaged"
+ },
+ "timestamp": {
+ "support_level": "untriaged"
+ }
+ },
+ "support_level": "untriaged"
+ },
"Geoposition": {
"comment": "http://dev.w3.org/geo/api/spec-source.html#position",
"dart_action": "unstable",
diff --git a/tools/dom/idl/dart/dart.idl b/tools/dom/idl/dart/dart.idl
index 4479d2d..b33dc8d 100644
--- a/tools/dom/idl/dart/dart.idl
+++ b/tools/dom/idl/dart/dart.idl
@@ -386,7 +386,7 @@
interface ImageData {
[DartSuppress] ImageDataColorSettings getColorSettings();
// Below needs 'any' because ImageDataArray is union of (Uint8ClampedArray
- // or Uint16Array or Float32Array)
+ // or Uint16Array or Float32Array)
[DartSuppress] readonly attribute any dataUnion;
};
@@ -648,3 +648,7 @@
[DartSuppress, CEReactions] attribute DOMString nonce;
[CEReactions] attribute DOMString? nonce;
};
+
+// PositionCallback can be used on a deprecated Position object,
+// a GeolocationPosition object, or a Firefox-specific object.
+callback PositionCallback = void(object position);
diff --git a/tools/dom/scripts/dartmetadata.py b/tools/dom/scripts/dartmetadata.py
index 4909c41..ee4d4a4 100644
--- a/tools/dom/scripts/dartmetadata.py
+++ b/tools/dom/scripts/dartmetadata.py
@@ -171,6 +171,16 @@
"@Creates('JSExtendableArray|GamepadButton')",
"@Returns('JSExtendableArray')",
],
+ # Creates a GeolocationPosition or a GeolocationPositionError for a
+ # callback. See issue #45562.
+ 'Geolocation.getCurrentPosition': [
+ "@Creates('Geoposition')",
+ "@Creates('PositionError')",
+ ],
+ 'Geolocation.watchPosition': [
+ "@Creates('Geoposition')",
+ "@Creates('PositionError')",
+ ],
'HTMLCanvasElement.getContext': [
"@Creates('CanvasRenderingContext2D|RenderingContext|RenderingContext2')",
"@Returns('CanvasRenderingContext2D|RenderingContext|RenderingContext2|Null')",
diff --git a/tools/dom/scripts/generator.py b/tools/dom/scripts/generator.py
index 0a07e20..d8ad435 100644
--- a/tools/dom/scripts/generator.py
+++ b/tools/dom/scripts/generator.py
@@ -292,7 +292,7 @@
'ApplicationCache':
'ApplicationCache,DOMApplicationCache,OfflineResourceList',
'Event':
- 'Event,InputEvent,SubmitEvent', # Workaround for issue 40901.
+ 'Event,InputEvent,SubmitEvent', # Workaround for issue 40901.
'HTMLTableCellElement':
'HTMLTableCellElement,HTMLTableDataCellElement,HTMLTableHeaderCellElement',
'GainNode':
@@ -311,6 +311,10 @@
'OscillatorNode,Oscillator',
'PannerNode':
'PannerNode,AudioPannerNode,webkitAudioPannerNode',
+ 'Position':
+ 'Position,GeolocationPosition',
+ 'PositionError':
+ 'PositionError,GeolocationPositionError',
'RTCPeerConnection':
'RTCPeerConnection,webkitRTCPeerConnection,mozRTCPeerConnection',
'RTCIceCandidate':