mirror of
https://github.com/flutter/flutter.git
synced 2026-02-20 02:29:02 +08:00
Remove package:js references and move to dart:js_interop (flutter/engine#41212)
dart:js_interop and package:js will start conflicting. Eventually, we want people to only use dart:js_interop, so this CL refactors code to do that. Unblocks https://dart-review.googlesource.com/c/sdk/+/294130/8 and prevents confusing shadowing of dart:js_interop annotations like we do today. ## Pre-launch Checklist - [X] I read the [Contributor Guide] and followed the process outlined there for submitting PRs. - [X] I read the [Tree Hygiene] wiki page, which explains my responsibilities. - [X] I read and followed the [Flutter Style Guide], including [Features we expect every widget to implement]. - [X] I signed the [CLA]. - [Mentioned CL that is unblocked] I listed at least one issue that this PR fixes in the description above. - [X] I updated/added relevant documentation (doc comments with `///`). - [Need test-exemption] I added new tests to check the change I am making, or this PR is [test-exempt]. - [X] All existing and new tests are passing.
This commit is contained in:
parent
2c3afe9b15
commit
e253aeff60
@ -2,7 +2,7 @@
|
||||
// Use of this source code is governed by a BSD-style license that can be
|
||||
// found in the LICENSE file.
|
||||
|
||||
import 'package:js/js.dart';
|
||||
import 'package:js/js_util.dart' show allowInterop;
|
||||
|
||||
import 'configuration.dart';
|
||||
import 'js_interop/js_loader.dart';
|
||||
|
||||
@ -16,7 +16,6 @@ import 'dart:js_interop';
|
||||
import 'dart:js_util' as js_util;
|
||||
import 'dart:typed_data';
|
||||
|
||||
import 'package:js/js.dart';
|
||||
import 'package:meta/meta.dart';
|
||||
import 'package:ui/ui.dart' as ui;
|
||||
|
||||
@ -3623,14 +3622,14 @@ void patchCanvasKitModule(DomHTMLScriptElement canvasKitScript) {
|
||||
// CommonJS is being used, and we shouldn't have any problems.
|
||||
if (exports == null) {
|
||||
final Object? exportsAccessor = js_util.jsify(<String, dynamic>{
|
||||
'get': allowInterop(() {
|
||||
'get': js_util.allowInterop(() {
|
||||
if (domDocument.currentScript == canvasKitScript) {
|
||||
return js_util.callConstructor(objectConstructor, <Object>[]);
|
||||
} else {
|
||||
return _flutterWebCachedExports;
|
||||
}
|
||||
}),
|
||||
'set': allowInterop((dynamic value) {
|
||||
'set': js_util.allowInterop((dynamic value) {
|
||||
_flutterWebCachedExports = value;
|
||||
}),
|
||||
'configurable': true,
|
||||
@ -3640,14 +3639,14 @@ void patchCanvasKitModule(DomHTMLScriptElement canvasKitScript) {
|
||||
}
|
||||
if (module == null) {
|
||||
final Object? moduleAccessor = js_util.jsify(<String, dynamic>{
|
||||
'get': allowInterop(() {
|
||||
'get': js_util.allowInterop(() {
|
||||
if (domDocument.currentScript == canvasKitScript) {
|
||||
return js_util.callConstructor(objectConstructor, <Object>[]);
|
||||
} else {
|
||||
return _flutterWebCachedModule;
|
||||
}
|
||||
}),
|
||||
'set': allowInterop((dynamic value) {
|
||||
'set': js_util.allowInterop((dynamic value) {
|
||||
_flutterWebCachedModule = value;
|
||||
}),
|
||||
'configurable': true,
|
||||
|
||||
@ -14,7 +14,6 @@ import 'dart:js_interop';
|
||||
import 'dart:math' as math;
|
||||
import 'dart:typed_data';
|
||||
|
||||
import 'package:js/js.dart';
|
||||
import 'package:meta/meta.dart';
|
||||
import 'package:ui/ui.dart' as ui;
|
||||
|
||||
|
||||
@ -45,7 +45,7 @@
|
||||
library configuration;
|
||||
|
||||
import 'dart:js_interop';
|
||||
import 'package:js/js.dart';
|
||||
|
||||
import 'package:meta/meta.dart';
|
||||
import 'canvaskit/renderer.dart';
|
||||
import 'dom.dart';
|
||||
|
||||
@ -7,7 +7,6 @@ import 'dart:js_interop';
|
||||
import 'dart:math' as math;
|
||||
import 'dart:typed_data';
|
||||
|
||||
import 'package:js/js.dart';
|
||||
import 'package:js/js_util.dart' as js_util;
|
||||
import 'package:meta/meta.dart';
|
||||
|
||||
|
||||
@ -5,7 +5,8 @@
|
||||
@JS()
|
||||
library js_loader;
|
||||
|
||||
import 'package:js/js.dart';
|
||||
import 'dart:js_interop';
|
||||
|
||||
import 'package:js/js_util.dart' as js_util;
|
||||
|
||||
import '../configuration.dart';
|
||||
|
||||
@ -5,7 +5,8 @@
|
||||
@JS()
|
||||
library js_promise;
|
||||
|
||||
import 'package:js/js.dart';
|
||||
import 'dart:js_interop';
|
||||
|
||||
import 'package:js/js_util.dart' as js_util;
|
||||
|
||||
import '../util.dart';
|
||||
@ -38,7 +39,7 @@ abstract class Promise<T extends Object?> {
|
||||
typedef PromiseExecutor<T extends Object?> = void Function(PromiseResolver<T> resolve, PromiseRejecter reject);
|
||||
|
||||
Promise<T> futureToPromise<T extends Object>(Future<T> future) {
|
||||
return Promise<T>(allowInterop((PromiseResolver<T> resolver, PromiseRejecter rejecter) {
|
||||
return Promise<T>(js_util.allowInterop((PromiseResolver<T> resolver, PromiseRejecter rejecter) {
|
||||
future.then(
|
||||
(T value) => resolver.resolve(value),
|
||||
onError: (Object? error) {
|
||||
|
||||
@ -5,7 +5,8 @@
|
||||
@JS()
|
||||
library js_url_strategy;
|
||||
|
||||
import 'package:js/js.dart';
|
||||
import 'dart:js_interop';
|
||||
|
||||
import 'package:ui/ui.dart' as ui;
|
||||
|
||||
import '../dom.dart';
|
||||
|
||||
@ -5,7 +5,6 @@
|
||||
import 'dart:async';
|
||||
import 'dart:js_interop';
|
||||
|
||||
import 'package:js/js.dart';
|
||||
import 'package:ui/ui.dart' as ui;
|
||||
|
||||
import 'dom.dart';
|
||||
|
||||
@ -17,7 +17,6 @@ import 'dart:js_util' as js_util;
|
||||
import 'dart:math' as math;
|
||||
import 'dart:typed_data';
|
||||
|
||||
import 'package:js/js.dart';
|
||||
import 'package:ui/ui.dart' as ui;
|
||||
|
||||
import 'browser_detection.dart';
|
||||
@ -25,7 +24,7 @@ import 'dom.dart';
|
||||
import 'platform_dispatcher.dart';
|
||||
import 'vector_math.dart';
|
||||
|
||||
export 'package:js/js.dart' show allowInterop;
|
||||
export 'package:js/js_util.dart' show allowInterop;
|
||||
|
||||
|
||||
/// Returns true if [object] has property [name], false otherwise.
|
||||
|
||||
@ -4,8 +4,6 @@
|
||||
|
||||
import 'dart:js_interop';
|
||||
|
||||
import 'package:js/js.dart';
|
||||
|
||||
@JS()
|
||||
@staticInterop
|
||||
class SkwasmInstance {}
|
||||
|
||||
@ -3,7 +3,6 @@
|
||||
// found in the LICENSE file.
|
||||
|
||||
import 'dart:js_interop';
|
||||
import 'package:js/js.dart';
|
||||
|
||||
import 'dom.dart';
|
||||
|
||||
|
||||
@ -4,7 +4,6 @@
|
||||
|
||||
import 'dart:js_interop';
|
||||
|
||||
import 'package:js/js.dart';
|
||||
import 'package:ui/src/engine.dart';
|
||||
|
||||
import '../dom.dart';
|
||||
|
||||
@ -6,9 +6,9 @@
|
||||
library window;
|
||||
|
||||
import 'dart:async';
|
||||
import 'dart:js_interop';
|
||||
import 'dart:typed_data';
|
||||
|
||||
import 'package:js/js.dart';
|
||||
import 'package:meta/meta.dart';
|
||||
import 'package:ui/ui.dart' as ui;
|
||||
import 'package:ui/ui_web/src/ui_web.dart' as ui_web;
|
||||
|
||||
@ -6,7 +6,6 @@ import 'dart:js_interop';
|
||||
import 'dart:math';
|
||||
import 'dart:typed_data';
|
||||
|
||||
import 'package:js/js.dart';
|
||||
import 'package:test/bootstrap/browser.dart';
|
||||
import 'package:test/test.dart';
|
||||
|
||||
|
||||
@ -3,7 +3,6 @@
|
||||
// found in the LICENSE file.
|
||||
|
||||
import 'dart:js_interop';
|
||||
import 'package:js/js.dart';
|
||||
|
||||
import 'package:test/bootstrap/browser.dart';
|
||||
import 'package:test/test.dart';
|
||||
|
||||
@ -2,7 +2,7 @@
|
||||
// Use of this source code is governed by a BSD-style license that can be
|
||||
// found in the LICENSE file.
|
||||
|
||||
import 'package:js/js.dart';
|
||||
import 'dart:js_interop';
|
||||
|
||||
import 'package:test/bootstrap/browser.dart';
|
||||
import 'package:test/test.dart';
|
||||
|
||||
@ -5,7 +5,7 @@
|
||||
library embedder_test; // We need this to mess with the ShadowDOM.
|
||||
|
||||
import 'dart:js_interop';
|
||||
import 'package:js/js.dart';
|
||||
|
||||
import 'package:test/bootstrap/browser.dart';
|
||||
import 'package:test/test.dart';
|
||||
import 'package:ui/src/engine.dart';
|
||||
|
||||
@ -3,7 +3,7 @@
|
||||
// found in the LICENSE file.
|
||||
|
||||
import 'dart:js_interop';
|
||||
import 'package:js/js.dart';
|
||||
|
||||
import 'package:js/js_util.dart' as js_util;
|
||||
import 'package:test/bootstrap/browser.dart';
|
||||
import 'package:test/test.dart';
|
||||
@ -21,7 +21,7 @@ void main() {
|
||||
// Prepare _flutter.loader.didCreateEngineInitializer, so it's ready in the page ASAP.
|
||||
loader = js_util.jsify(<String, Object>{
|
||||
'loader': <String, Object>{
|
||||
'didCreateEngineInitializer': allowInterop(() { print('not mocked'); }),
|
||||
'didCreateEngineInitializer': js_util.allowInterop(() { print('not mocked'); }),
|
||||
},
|
||||
});
|
||||
internalBootstrapBrowserTest(() => testMain);
|
||||
@ -36,7 +36,7 @@ void testMain() {
|
||||
}
|
||||
|
||||
// Prepare the DOM for: _flutter.loader.didCreateEngineInitializer
|
||||
didCreateEngineInitializer = allowInterop(didCreateEngineInitializerMock);
|
||||
didCreateEngineInitializer = js_util.allowInterop(didCreateEngineInitializerMock);
|
||||
|
||||
// Reset the engine
|
||||
engine.debugResetEngineInitializationState();
|
||||
|
||||
@ -3,7 +3,8 @@
|
||||
// found in the LICENSE file.
|
||||
|
||||
import 'dart:js_interop';
|
||||
import 'package:js/js.dart';
|
||||
|
||||
import 'package:js/js_util.dart' as js_util;
|
||||
import 'package:test/bootstrap/browser.dart';
|
||||
import 'package:test/test.dart';
|
||||
import 'package:ui/src/engine.dart';
|
||||
@ -45,7 +46,7 @@ void _profilerTests() {
|
||||
|
||||
test('can listen to benchmarks', () {
|
||||
final List<BenchmarkDatapoint> data = <BenchmarkDatapoint>[];
|
||||
onBenchmark = allowInterop((String name, num value) {
|
||||
onBenchmark = js_util.allowInterop((String name, num value) {
|
||||
data.add(BenchmarkDatapoint(name, value));
|
||||
});
|
||||
|
||||
@ -68,7 +69,7 @@ void _profilerTests() {
|
||||
final List<BenchmarkDatapoint> data = <BenchmarkDatapoint>[];
|
||||
|
||||
// Wrong callback signature.
|
||||
onBenchmark = allowInterop((num value) {
|
||||
onBenchmark = js_util.allowInterop((num value) {
|
||||
data.add(BenchmarkDatapoint('bad', value));
|
||||
});
|
||||
expect(
|
||||
|
||||
@ -11,7 +11,6 @@ import 'dart:async';
|
||||
import 'dart:convert';
|
||||
import 'dart:js_interop';
|
||||
|
||||
import 'package:js/js.dart';
|
||||
import 'package:stack_trace/stack_trace.dart';
|
||||
import 'package:stream_channel/stream_channel.dart';
|
||||
// ignore: implementation_imports
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user