# tags: [ Android Fuchsia Linux Mac Mac11 Mac12 Mac13 Mac13-arm64 Mac14 Mac14-arm64 Win Win10.20h2 Win11 Win11-arm64 ]
# tags: [ Release Debug ]
# results: [ Timeout Crash Pass Failure Slow Skip ]

# This file is used for tests that only need to be suppressed on
# the Chromium Blink MSan bots.
# Further documentation:
# https://chromium.googlesource.com/chromium/src/+/main/docs/testing/web_test_expectations.md

# Those stress V8's simulator, making them very slow under MSan.
crbug.com/420198 [ Linux ] fast/js/regress/* [ Skip ]
crbug.com/420198 [ Linux ] fast/css/fontface-arraybuffer.html [ Skip ]

# Deliberate infinite recursion. A JS exception is expected, but may crash with
# a stack overflow due to bloated stack frames under MSan.
crbug.com/420606 [ Linux ] external/wpt/workers/constructors/Worker/Worker-constructor.html [ Skip ]

# Flaky under MSan (hang forever).
crbug.com/422982 [ Linux ] virtual/threaded/* [ Skip ]

crbug.com/708175 [ Linux ] external/wpt/IndexedDB/interleaved-cursors-small.html [ Timeout ]
crbug.com/708175 [ Linux ] external/wpt/IndexedDB/interleaved-cursors-large.html [ Timeout ]

# Times out on MSAN
crbug.com/462190 [ Linux ] inspector-protocol/heap-profiler/heap-samples-in-snapshot.js [ Timeout ]

# Very slow under MSAN. See https://bugs.chromium.org/p/chromium/issues/detail?id=1508160#c5
crbug.com/810960 [ Linux ] external/wpt/IndexedDB/nested-cloning-large.html [ Skip ]
crbug.com/736554 [ Linux ] external/wpt/IndexedDB/nested-cloning-large-multiple.html [ Skip ]
crbug.com/1508160 [ Linux ] external/wpt/IndexedDB/nested-cloning-small.html [ Skip ]

# As above. The tests in this file load very large values (128kB) into memory, making execution excessively slow.
crbug.com/1506625 [ Linux ] external/wpt/IndexedDB/request-event-ordering2.html [ Skip ]

# These tests use OpenGl, which crashes on MSAN builds due to missing instrumentation
crbug.com/555703 [ Linux ] virtual/media-gpu-accelerated/* [ Skip ]

# These tests are just a tad bit too slow on MSAN bots and time out. Setting
# them as "Slow" doesn't seem to help the problem (see discussion on bug), so
# marking them as "Timeout" while crbug.com/729136 is worked out.
crbug.com/1400717 [ Linux ] webexposed/element-instance-property-listing.html [ Timeout ]

# Tests timing out on WebKit Linux MSAN
crbug.com/760543 [ Linux ] http/tests/devtools/oopif/oopif-performance-cpu-profiles.js [ Pass Timeout ]

# Memory allocation hooks are disabled on ASAN/MSAN
crbug.com/803276 inspector-protocol/memory/sampling-native-profile.js [ Skip ]
crbug.com/803276 inspector-protocol/memory/sampling-native-snapshot.js [ Skip ]

crbug.com/856601 [ Linux ] fast/css/visited-link-hang.html [ Pass Timeout ]

# Flaky-timeout on MSAN; incorrectly attributed to crbug.com/856601
crbug.com/856601 [ Linux ] fast/js/toString-stack-overflow.html [ Pass Timeout ]

# Sheriff 2019-02-13
crbug.com/931660 [ Linux ] fast/history/replacestate-nocrash.html [ Pass Timeout ]


# Sheriff 2019-11-11


crbug.com/856601 [ Linux ] external/wpt/compression/compression-stream.tentative.any.serviceworker.html [ Pass Timeout ]

# Sheriff 2020-01-10
crbug.com/1041052 [ Linux ] external/wpt/html/canvas/offscreen/manual/filter/offscreencanvas.filter.w.html [ Timeout ]

# Sheriff 2020-02-10
crbug.com/1050559 [ Linux ] external/wpt/WebCryptoAPI/derive_bits_keys/hkdf.https.any.worker.html?1-1000 [ Skip ]


# Sheriff 2021-02-18
crbug.com/1179829 [ Linux ] http/tests/devtools/sources/debugger-pause/pause-on-elements-panel.js [ Pass Timeout ]

# Sheriff 2021-03-22

# Sheriff 2021-05-31
crbug.com/1214884 [ Linux ] external/wpt/html/webappapis/scripting/events/event-handler-attributes-body-window.html [ Pass Timeout ]

# Sheriff 2021-06-02
crbug.com/1215390 [ Linux ] external/wpt/pointerevents/pointerevent_pointerId_scope.html [ Pass Failure Timeout ]

# Sheriff 2022-08-29

# Flaking on WebKit Linux MSAN
crbug.com/1126305 [ Linux ] external/wpt/speculation-rules/prerender/fetch-blob.html [ Skip ]
crbug.com/1126305 [ Linux ] external/wpt/speculation-rules/prerender/cache-storage.https.html [ Skip ]
crbug.com/1126305 [ Linux ] external/wpt/speculation-rules/prerender/indexeddb.html [ Skip ]
crbug.com/1126305 [ Linux ] external/wpt/speculation-rules/prerender/restriction-focus.html [ Skip ]

# Flakes due to internal timeout values
crbug.com/1361922 [ Linux ] virtual/view-transition-wide-gamut/external/wpt/css/css-view-transitions/content-with-transform-old-image.html [ Skip ]
crbug.com/1361922 [ Linux ] virtual/view-transition-wide-gamut/external/wpt/css/css-view-transitions/new-content-captures-different-size.html [ Skip ]
crbug.com/1361922 [ Linux ] virtual/view-transition-wide-gamut/external/wpt/css/css-view-transitions/new-content-container-writing-modes.html [ Skip ]
crbug.com/1361922 [ Linux ] virtual/view-transition-wide-gamut/external/wpt/css/css-view-transitions/object-view-box-old-image.html [ Skip ]
crbug.com/1361922 [ Linux ] virtual/view-transition-wide-gamut/external/wpt/css/css-view-transitions/old-content-captures-different-size.html [ Skip ]
crbug.com/1361922 [ Linux ] virtual/view-transition-wide-gamut/external/wpt/css/css-view-transitions/old-content-captures-opacity.html [ Skip ]
crbug.com/1361922 [ Linux ] virtual/view-transition/external/wpt/css/css-view-transitions/content-with-transform-old-image.html [ Skip ]
crbug.com/1361922 [ Linux ] virtual/view-transition/external/wpt/css/css-view-transitions/new-content-captures-different-size.html [ Skip ]
crbug.com/1361922 [ Linux ] virtual/view-transition/external/wpt/css/css-view-transitions/new-content-container-writing-modes.html [ Skip ]
crbug.com/1361922 [ Linux ] virtual/view-transition/external/wpt/css/css-view-transitions/object-view-box-old-image.html [ Skip ]
crbug.com/1361922 [ Linux ] virtual/view-transition/external/wpt/css/css-view-transitions/old-content-captures-different-size.html [ Skip ]
crbug.com/1361922 [ Linux ] virtual/view-transition/external/wpt/css/css-view-transitions/old-content-captures-opacity.html [ Skip ]

# use-of-uninitialized-value
crbug.com/887140 [ Linux ] virtual/hdr/color-jpeg-with-color-profile.html [ Skip ]
crbug.com/887140 [ Linux ] virtual/hdr/color-profile-video.html [ Skip ]
crbug.com/887140 [ Linux ] virtual/hdr/video-canvas-alpha.html [ Skip ]

# Sheriff 2022-10-25
crbug.com/1378044 [ Linux ] external/wpt/html/semantics/scripting-1/the-script-element/module/dynamic-import/microtasks/basic.any.html [ Timeout ]
crbug.com/1378044 [ Linux ] external/wpt/html/semantics/scripting-1/the-script-element/module/dynamic-import/microtasks/basic.any.sharedworker.html [ Timeout ]
crbug.com/1378044 [ Linux ] external/wpt/html/semantics/scripting-1/the-script-element/module/dynamic-import/microtasks/basic.any.worker.html [ Timeout ]


crbug.com/1457275 [ Linux ] external/wpt/dom/ranges/Range-surroundContents.html [ Skip ]

# Gardener 2024-04-04
crbug.com/331926164 [ Linux ] http/tests/inspector-protocol/accessibility/accessibility-query-axtree.js [ Crash ]
crbug.com/331926164 [ Linux ] external/wpt/webnn/conformance_tests/elementwise_binary.https.any.html [ Timeout ]
crbug.com/331926164 [ Linux ] external/wpt/webnn/conformance_tests/elementwise_binary.https.any.worker.html [ Timeout ]
crbug.com/331926164 [ Linux ] virtual/webnn-service-without-gpu/external/wpt/webnn/conformance_tests/gpu/elementwise_binary.https.any.html [ Timeout ]
crbug.com/331926164 [ Linux ] virtual/webnn-service-without-gpu/external/wpt/webnn/conformance_tests/gpu/elementwise_binary.https.any.worker.html [ Timeout ]
