mirror of
https://github.com/dart-lang/sdk
synced 2024-10-06 16:00:45 +00:00
1c534e5fd5
Lowers these extension methods to some helper functions instead of allowInterop to improve performance and get consistent semantics. Specifically: - Function.toJS no longer gives you the same JSFunction when calling toJS on the same function multiple times in the JS compilers. - Adds fast calling syntax for functions with 0-5 args in the JS compilers. - Allows additional args to be passed to converted functions that are omitted in the JS compilers. - The static type now determines the number of args that can be passed to the JS function in the JS compilers. - Fixes an issue in dart2wasm where if too few arguments are passed, the call may succeed due to conversion of undefined to null. - Adds throws when a user tries to wrap a JS function that returned from Function.toJS in the JS compilers. Closes https://github.com/dart-lang/sdk/issues/55515 Addresses https://github.com/dart-lang/sdk/issues/48186 CoreLibraryReviewExempt: Changes to docs only in API surface. Change-Id: I41d864dc5e02b597d9f1c16c88e3c04872f28225 Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/368065 Reviewed-by: Nicholas Shahan <nshahan@google.com> Reviewed-by: Stephen Adams <sra@google.com> Commit-Queue: Srujan Gaddam <srujzs@google.com> Reviewed-by: Martin Kustermann <kustermann@google.com>
204 lines
12 KiB
Plaintext
204 lines
12 KiB
Plaintext
# Copyright (c) 2017, 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.
|
|
html/cross_frame_test: Skip # Issue 32039, test reloads itself (not by design - investigate)
|
|
|
|
[ $arch == simarm ]
|
|
convert/utf85_test: Skip # Pass, Slow Issue 12644.
|
|
|
|
[ $compiler == dart2wasm ]
|
|
fix_data_tests/*: SkipByDesign
|
|
html/*: SkipByDesign # dart:html not supported on dart2wasm
|
|
isolate/*: SkipByDesign
|
|
js/(?!export|static_interop_test)*: SkipByDesign
|
|
js/static_interop_test/allowed_external_member_native_type_test: SkipByDesign # dart:html and dart:svg not supported on dart2wasm.
|
|
js/static_interop_test/extension_type/non_interop_extension_type_static_test: SkipByDesign # Some external checks are not run on dart2wasm.
|
|
js/static_interop_test/external_static_member_lowerings_trusttypes_test: SkipByDesign # Tests @trustTypes, which is unsupported on dart2wasm.
|
|
js/static_interop_test/static_external_extension_members_static_test: SkipByDesign # dart:html not supported on dart2wasm.
|
|
js/static_interop_test/top_level_member_annotation_static_test: SkipByDesign # Some external checks are not run on dart2wasm.
|
|
mirrors/*: SkipByDesign
|
|
web/*: SkipByDesign
|
|
|
|
[ $compiler != dart2wasm ]
|
|
js/static_interop_test/disallowed_interop_libraries_test: SkipByDesign # Only checks on dart2wasm.
|
|
|
|
[ $mode == product ]
|
|
developer/timeline_test: Skip # Not supported
|
|
isolate/issue_24243_parent_isolate_test: Skip # Requires checked mode
|
|
|
|
[ $runtime != chrome ]
|
|
js/static_interop_test/import/import_trustedscripturl_test: SkipByDesign # Trusted Types are only supported in Chrome currently.
|
|
|
|
[ $runtime == d8 ]
|
|
js/export/static_interop_mock/proto_test: SkipByDesign # Uses dart:html.
|
|
js/static_interop_test/constants_test: SkipByDesign # Uses dart:html.
|
|
js/static_interop_test/futurevaluetype_test: SkipByDesign # Uses dart:html.
|
|
js/static_interop_test/import/import_test: SkipByDesign # TODO(srujzs): This test uses the file system to load a module. Since the test runner doesn't start an HTTP server for d8, I don't think this is supported.
|
|
js/static_interop_test/supertype_transform_test: SkipByDesign # Uses dart:html.
|
|
|
|
[ $runtime == dart_precompiled ]
|
|
isolate/package_config_getter_test: SkipByDesign # AOT mode doesn't preserve package structure.
|
|
|
|
[ $runtime == ff ]
|
|
convert/streamed_conversion_utf8_decode_test: Slow, Pass # Issue 12029
|
|
mirrors/mirrors_reader_test: Slow, Pass # Issue 16589
|
|
|
|
[ $runtime == ie11 ]
|
|
html/request_animation_frame_test: Skip # Times out. Issue 22167
|
|
html/transition_event_test: Skip # Times out. Issue 22167
|
|
|
|
[ $runtime == safari ]
|
|
html/indexeddb_1_test/functional: Skip # Times out. Issue 21433
|
|
html/indexeddb_3_test: Skip # Times out 1 out of 10.
|
|
html/worker_api_test: Skip # Issue 13221
|
|
|
|
[ $runtime != vm ]
|
|
isolate/spawn_uri__package_uri__test: SkipByDesign # This test uses Isolate.spawnUri and only works in JIT mode.
|
|
|
|
[ $system == windows ]
|
|
html/xhr_test/xhr: Skip # Times out. Issue 21527
|
|
|
|
[ $csp ]
|
|
html/js_interop_constructor_name/*: SkipByDesign # Issue 42085.
|
|
isolate/deferred_in_isolate2_test: Skip # Issue 16898. Deferred loading does not work from an isolate in CSP-mode
|
|
js/call_field_test: SkipByDesign # Issue 42085. CSP policy disallows injected JS code
|
|
js/call_getter_test: SkipByDesign # Issue 42085. CSP policy disallows injected JS code
|
|
js/call_method_test: SkipByDesign # Issue 42085. CSP policy disallows injected JS code
|
|
js/extends_test/extends_test: SkipByDesign # Issue 42085. CSP policy disallows injected JS code
|
|
js/extends_test/extends_with_es6_test: SkipByDesign # Issue 42085. CSP policy disallows injected JS code
|
|
js/instanceof_test: SkipByDesign # Issue 42085. CSP policy disallows injected JS code
|
|
js/is_check_and_as_cast_test: SkipByDesign # Issue 42085. CSP policy disallows injected JS code
|
|
js/js_util/async_test: SkipByDesign # Issue 42085. CSP policy disallows injected JS code
|
|
js/js_util/implicit_downcast_test: SkipByDesign # Issue 42085. CSP policy disallows injected JS code
|
|
js/js_util/jsify_test: SkipByDesign # Issue 42085. CSP policy disallows injected JS code
|
|
js/js_util/operator_test: SkipByDesign # Issue 42085. CSP policy disallows injected JS code
|
|
js/js_util/promise_reject_null_test: SkipByDesign # Issue 42085. CSP policy disallows injected JS code
|
|
js/js_util/properties_implicit_checks_test: SkipByDesign # Issue 42085. CSP policy disallows injected JS code
|
|
js/js_util/properties_test: SkipByDesign # Issue 42085. CSP policy disallows injected JS code
|
|
js/method_call_on_object_test: SkipByDesign # Issue 42085.
|
|
js/mock_test/*: SkipByDesign # Issue 42085.
|
|
js/parameters_test: SkipByDesign # Issue 42085.
|
|
js/static_interop_test/call_getter_test: SkipByDesign # Issue 42085. CSP policy disallows injected JS code
|
|
js/static_interop_test/call_method_test: SkipByDesign # Issue 42085. CSP policy disallows injected JS code
|
|
js/static_interop_test/extension_type/external_extension_member_test: SkipByDesign # Issue 42085. CSP policy disallows injected JS code
|
|
js/static_interop_test/extension_type/external_member_test: SkipByDesign # Issue 42085. CSP policy disallows injected JS code
|
|
js/static_interop_test/extension_type/external_static_member_test: SkipByDesign # Issue 42085. CSP policy disallows injected JS code
|
|
js/static_interop_test/external_extension_members_test: SkipByDesign # Issue 42085. CSP policy disallows injected JS code
|
|
js/static_interop_test/external_static_member_lowerings_test: SkipByDesign # Issue 42085. CSP policy disallows injected JS code
|
|
js/static_interop_test/external_static_member_lowerings_trusttypes_test: SkipByDesign # Issue 42085. CSP policy disallows injected JS code
|
|
js/static_interop_test/isa/functional_test: SkipByDesign # Issue 42085. CSP policy disallows injected JS code
|
|
js/static_interop_test/isa/library_renaming_test: SkipByDesign # Issue 42085. CSP policy disallows injected JS code
|
|
js/static_interop_test/js_array_proxy_or_ref_test: SkipByDesign # Issue 42085. CSP policy disallows injected JS code
|
|
js/static_interop_test/js_array_test: SkipByDesign # Issue 42085. CSP policy disallows injected JS code
|
|
js/static_interop_test/js_function_arity_test: SkipByDesign # Issue 42085. CSP policy disallows injected JS code
|
|
js/static_interop_test/js_function_conversions_test: SkipByDesign # Issue 42085. CSP policy disallows injected JS code
|
|
js/static_interop_test/js_typed_array_test: SkipByDesign # CSP policy disallows injected JS code
|
|
js/static_interop_test/jsobject_type_test: SkipByDesign # Issue 42085. CSP policy disallows injected JS code
|
|
js/static_interop_test/native_error_test: SkipByDesign # Issue 42085. CSP policy disallows injected JS code
|
|
js/static_interop_test/typed_data_test: SkipByDesign # Issue 42085. CSP policy disallows injected JS code
|
|
js/trust_types_test: SkipByDesign # Issue 42085. CSP policy disallows injected JS code
|
|
js/type_parameter_lowering_test: SkipByDesign # Issue 42085. CSP policy disallows injected JS code
|
|
|
|
[ $simulator ]
|
|
convert/utf85_test: Skip # Pass, Slow Issue 20111.
|
|
|
|
[ $compiler == dart2js && $runtime == d8 ]
|
|
js/js_util/async_test: Skip # Issue 54520
|
|
js/js_util/promise_reject_null_test: Skip # Issue 54520
|
|
js/static_interop_test/js_types_test: Skip # Issue 54520
|
|
|
|
[ $compiler != dart2js && $compiler != dart2wasm && $compiler != ddc ]
|
|
js_interop_unsafe/*: SkipByDesign # Only supported on web backends.
|
|
|
|
[ $compiler != dart2js && $compiler != ddc ]
|
|
web/*: SkipByDesign
|
|
|
|
[ $runtime == chrome && $system == macos ]
|
|
convert/streamed_conversion_utf8_encode_test: SkipSlow # Times out. Issue 22050
|
|
html/canvasrendering/arc_test: Skip # Issue 42048
|
|
html/canvasrendering/draw_image_canvas_element_test: Skip # Issue 42048
|
|
html/canvasrendering/fill_text_test: Skip # Issue 42048
|
|
html/canvasrendering/image_element_test: Skip # Issue 42048
|
|
html/canvasrendering/pixel_manipulation_test: Skip # Issue 42048
|
|
html/request_animation_frame_test: Skip # Times out. Issue 22167
|
|
html/transition_event_test: Skip # Times out. Issue 22167
|
|
|
|
[ $runtime != dart_precompiled && ($compiler != dartk || $runtime != vm) ]
|
|
isolate/vm_rehash_test: SkipByDesign
|
|
|
|
[ $arch != x64 || $runtime != vm ]
|
|
isolate/int32_length_overflow_test: SkipSlow
|
|
|
|
[ $compiler != dartk || $runtime != vm ]
|
|
isolate/package_config_test: SkipByDesign # Uses Isolate.packageConfig
|
|
isolate/package_resolve_test: SkipByDesign # Uses Isolate.resolvePackageUri
|
|
isolate/scenarios/*: SkipByDesign # Use automatic package resolution, spawnFunction and .dart URIs.
|
|
isolate/spawn_uri_fail_test: SkipByDesign # Uses dart:io.
|
|
|
|
[ $runtime == chrome || $runtime == ff ]
|
|
async/slow_consumer2_test: SkipSlow # Times out. Issue 22050
|
|
async/stream_timeout_test: SkipSlow # Times out. Issue 22050
|
|
|
|
# It makes no sense to run any test that uses spawnURI under the simulator
|
|
# as that would involve running CFE (the front end) in simulator mode
|
|
# to compile the URI file specified in spawnURI code.
|
|
# These Isolate tests that use spawnURI are hence skipped on purpose.
|
|
[ $runtime == dart_precompiled || $runtime == vm && $simulator ]
|
|
isolate/count_test: Skip # Isolate.spawnUri
|
|
isolate/cross_isolate_message_test: Skip # Isolate.spawnUri
|
|
isolate/deferred_in_isolate2_test: Skip # Isolate.spawnUri
|
|
isolate/deferred_in_isolate_test: Skip # Isolate.spawnUri
|
|
isolate/error_at_spawnuri_test: Skip # Isolate.spawnUri
|
|
isolate/error_exit_at_spawnuri_test: Skip # Isolate.spawnUri
|
|
isolate/exit_at_spawnuri_test: Skip # Isolate.spawnUri
|
|
isolate/illegal_msg_mirror_test: Skip # Isolate.spawnUri
|
|
isolate/isolate_complex_messages_test: Skip # Isolate.spawnUri
|
|
isolate/issue_21398_parent_isolate1_test: Skip # Isolate.spawnUri
|
|
isolate/issue_21398_parent_isolate_test: Skip # Isolate.spawnUri
|
|
isolate/issue_24243_parent_isolate_test: Skip # Isolate.spawnUri
|
|
isolate/issue_6610_test: Skip # Isolate.spawnUri
|
|
isolate/mandel_isolate_test: Skip # Isolate.spawnUri
|
|
isolate/message2_test: Skip # Isolate.spawnUri
|
|
isolate/message_test: Skip # Isolate.spawnUri
|
|
isolate/mint_maker_test: Skip # Isolate.spawnUri
|
|
isolate/nested_spawn2_test: Skip # Isolate.spawnUri
|
|
isolate/nested_spawn_test: Skip # Isolate.spawnUri
|
|
isolate/no_package_test: Skip # Isolate.spawnUri
|
|
isolate/package_config_test: Skip # Isolate.spawnUri
|
|
isolate/raw_port_test: Skip # Isolate.spawnUri
|
|
isolate/request_reply_test: Skip # Isolate.spawnUri
|
|
isolate/scenarios/automatic_resolution_spec/package_resolve_test: Skip # Isolate.spawnUri
|
|
isolate/scenarios/package_relative_spec/package_relative_spec_test: Skip # Isolate.spawnUri
|
|
isolate/scenarios/short_package/short_package_test: Skip # Isolate.spawnUri
|
|
isolate/spawn_function_custom_class_test: Skip # Isolate.spawnUri
|
|
isolate/spawn_function_test: Skip # Isolate.spawnUri
|
|
isolate/spawn_uri_exported_main_test: Skip # Isolate.spawnUri
|
|
isolate/spawn_uri_missing_from_isolate_test: Skip # Isolate.spawnUri
|
|
isolate/spawn_uri_missing_test: Skip # Isolate.spawnUri
|
|
isolate/spawn_uri_multi_test: Skip # Isolate.spawnUri
|
|
isolate/spawn_uri_nested_vm_test: Skip # Isolate.spawnUri
|
|
isolate/spawn_uri_test: Skip # Isolate.spawnUri
|
|
isolate/spawn_uri_vm_test: Skip # Isolate.spawnUri
|
|
isolate/stacktrace_message_test: Skip # Isolate.spawnUri
|
|
isolate/static_function_test: Skip # Isolate.spawnUri
|
|
isolate/unresolved_ports_test: Skip # Isolate.spawnUri
|
|
|
|
[ $hot_reload || $hot_reload_rollback ]
|
|
convert/chunked_conversion_utf88_test: SkipSlow
|
|
convert/utf85_test: SkipSlow
|
|
isolate/deferred_in_isolate2_test: Crash # Requires deferred libraries
|
|
isolate/deferred_in_isolate_test: Crash # Requires deferred libraries
|
|
isolate/issue_21398_parent_isolate2_test: Crash # Requires deferred libraries
|
|
isolate/spawn_uri_nested_vm_test: Crash # Issue 28192
|
|
mirrors/closurization_equivalence_test: SkipByDesign # Method equality
|
|
mirrors/deferred_constraints_constants_test: Crash # Requires deferred libraries
|
|
mirrors/deferred_mirrors_metadata_test: Crash # Deferred loading
|
|
mirrors/deferred_mirrors_metatarget_test: Crash # Deferred loading
|
|
mirrors/deferred_mirrors_update_test: Crash # Deferred loading
|
|
mirrors/library_enumeration_deferred_loading_test: Crash # Deferred loading
|
|
mirrors/library_import_deferred_loading_test: Crash # Deferred loading
|
|
mirrors/library_imports_deferred_test: Crash # Deferred loading
|
|
mirrors/load_library_test: Crash # Deferred loading
|
|
mirrors/typedef_deferred_library_test: Crash # Deferred loading
|
|
typed_data/zeroed_allocation_test: SkipSlow
|