# 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.

[ $compiler == dart2js ]
convert/chunked_conversion_utf88_test: Slow, Pass
convert/utf85_test: Slow, Pass
developer/metrics_num_test: Skip # Because of an int / double type test.
developer/timeline_test: Skip # Not supported
html/async_test: SkipByDesign
html/custom/document_register_basic_test: Slow, Pass
html/custom/document_register_type_extensions_test/construction: Slow, Pass
html/custom/document_register_type_extensions_test/registration: Slow, Pass
html/custom/entered_left_view/shadow_dom_test: Slow, Pass
html/custom_elements_test: Slow, Pass # Issue 26789
html/isolates_test: SkipByDesign
html/worker_api_test: SkipByDesign
html/wrapping_collections_test: SkipByDesign # Testing an issue that is only relevant to Dartium
html/xhr_test: Slow, Pass
isolate/*: SkipByDesign # No support for dart:isolate in dart4web (http://dartbug.com/30538)
mirrors/*: SkipByDesign # Mirrors not supported on web in Dart 2.0.
wasm/*: SkipByDesign # dart:wasm not currently supported on web.

[ $compiler != dart2js ]
async/dart2js_uncaught_error_test: Skip # JS-integration only test

[ $builder_tag == dart2js_production && $compiler == dart2js ]
js/js_util/properties_implicit_checks_test: SkipByDesign # No implicit checks in production mode

[ $compiler == dart2js && $runtime == chrome ]
async/slow_consumer2_test: SkipSlow # Times out. Issue 22050
convert/streamed_conversion_json_utf8_decode_test: SkipSlow # Times out. Issue 22050
convert/streamed_conversion_json_utf8_encode_test: SkipSlow # Times out. Issue 22050
convert/streamed_conversion_utf8_decode_test: SkipSlow # Times out. Issue 22050

[ $compiler == dart2js && $runtime == chromeOnAndroid ]
html/input_element_datetime_test: Slow, Pass # TODO(dart2js-team): Please triage this failure.

[ $compiler == dart2js && $runtime == d8 ]
html/*: SkipByDesign # Browser test

[ $compiler == dart2js && $runtime == ff ]
async/slow_consumer2_test: SkipSlow # Times out. Issue 22050
convert/streamed_conversion_json_utf8_decode_test: SkipSlow # Times out. Issue 22050
convert/streamed_conversion_json_utf8_encode_test: SkipSlow # Times out. Issue 22050
convert/streamed_conversion_utf8_decode_test: SkipSlow # Times out. Issue 22050
convert/utf85_test: Slow, Pass
html/callback_list_test: SkipByDesign # FileSystem not supported in FireFox.
html/custom/attribute_changed_callback_test: Skip # Times out
html/custom/created_callback_test: Skip # Times out
html/custom/document_register_basic_test: Skip # Times out, or unittest times out
html/dart_object_local_storage_test: Skip # sessionStorage NS_ERROR_DOM_NOT_SUPPORTED_ERR
html/file_sample_test: Skip # FileSystem not supported on FireFox.
html/fileapi_supported_test: Skip # FileSystem not supported on FireFox.
html/fileapi_supported_throws_test: Skip # FileSystem not supported on FireFox.
html/history_test: Skip # Issue 22050
html/request_animation_frame_test: Skip # Async test hangs.

[ $compiler == dart2js && $runtime == safari ]
html/callback_list_test: SkipByDesign # FileSystem not supported in Safari.
html/file_sample_test: Skip # FileSystem not supported on Safari.
html/fileapi_supported_throws_test: Skip # FileSystem not supported on Safari
html/interactive_media_test: SkipSlow

[ $compiler == dart2js && $system == linux ]
html/interactive_geolocation_test: Skip # Requires allowing geo location.

[ $compiler == dart2js && $checked ]
convert/utf85_test: Slow, Pass # Issue 12029.
html/js_function_getter_trust_types/function_test: Skip # --trust-type-annotations incompatible with --checked

[ $compiler == dart2js && $csp && ($runtime == chrome || $runtime == chromeOnAndroid || $runtime == ff || $runtime == safari) ]
html/event_customevent_test: SkipByDesign
html/js_array_test: SkipByDesign
html/js_dart_to_string_test: SkipByDesign
html/js_function_getter_test: SkipByDesign
html/js_function_getter_trust_types/function_test: SkipByDesign
html/js_interop_1_test: SkipByDesign
html/js_typed_interop_bind_this_test: SkipByDesign
html/js_typed_interop_callable_object_test: SkipByDesign
html/js_typed_interop_default_arg_test: SkipByDesign
html/js_typed_interop_test: SkipByDesign
html/js_typed_interop_type1_test: SkipByDesign
html/js_typed_interop_type3_test: SkipByDesign
html/js_typed_interop_type_test: SkipByDesign
html/js_typed_interop_window_property_test: SkipByDesign
html/js_util_test: SkipByDesign
html/postmessage_structured_test: SkipByDesign

[ $compiler == dart2js && ($runtime == chrome || $runtime == ff) ]
async/slow_consumer2_test: SkipSlow # Times out. Issue 22050
convert/streamed_conversion_json_utf8_decode_test: SkipSlow # Times out. Issue 22050
convert/streamed_conversion_json_utf8_encode_test: SkipSlow # Times out. Issue 22050
convert/streamed_conversion_utf8_decode_test: SkipSlow # Times out. Issue 22050
