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

# NULL deref in libflashplayer.so, http://crbug.com/145940
# ==12527== ERROR: AddressSanitizer: SEGV on unknown address 0x7f628058b38b
# AddressSanitizer can not provide additional info.
#    #0 0x7f62d3d34cf0 in ?? ??:0
#    #1 0x1fec5c261c15ff
crbug.com/145940 [ Linux ] images/embed-does-not-propagate-dimensions-to-object-ancestor.html [ Skip ]
crbug.com/145940 [ Linux ] fast/loader/loadInProgress.html [ Skip ]
crbug.com/145940 [ Linux ] fast/replaced/border-radius-clip.html [ Skip ]
crbug.com/145940 [ Linux ] plugins/iframe-shims.html [ Skip ]

# Use-after-free in NPP_DestroyStream, http://crbug.com/166932
# ==17332== ERROR: AddressSanitizer: heap-use-after-free on address 0x7f48e8a05a58
# WRITE of size 1 at 0x7f48e8a05a58 thread T0
#    #0 0x7f48eb06f7c5 in DocumentOpenInDestroyStream::NPP_DestroyStream
crbug.com/166932 [ Linux ] plugins/embed-attributes-setting.html [ Skip ]
crbug.com/166932 [ Linux ] plugins/embed-attributes-style.html [ Skip ]
crbug.com/166932 [ Linux ] plugins/fullscreen-plugins-dont-reload.html [ Skip ]

# These have been failing since at least chrome r203901, blink r151723 (no memory errors, just text failure):
crbug.com/231357 [ Linux ] editing/execCommand/switch-list-type-with-orphaned-li.html [ Failure ]

crbug.com/333791 [ Linux ] svg/animations/repeatn-event-1b.svg [ Pass Failure ]
crbug.com/333791 [ Linux ] svg/animations/repeatn-event-1d.svg [ Pass Failure ]
crbug.com/192172 [ Linux ] compositing/rtl/rtl-iframe-absolute-overflow.html [ Failure Pass ]
crbug.com/192172 [ Linux ] compositing/rtl/rtl-iframe-fixed-overflow-scrolled.html [ Failure Pass ]
crbug.com/192172 [ Linux ] compositing/rtl/rtl-iframe-fixed-overflow.html [ Failure Pass ]

crbug.com/290411 [ Linux ] fast/text/sub-pixel/text-scaling-pixel.html [ Failure Pass ]
crbug.com/339778 [ Linux ] fast/dom/timer-throttling-hidden-page.html [ Failure Pass ]
crbug.com/353746 [ Linux ] virtual/android/fullscreen/video-specified-size.html [ Failure Pass ]

crbug.com/385015 [ Linux ] editing/execCommand/window-open-insert-list-crash.html [ Failure ]
crbug.com/385015 [ Linux ] fast/frames/iframe-onload-remove-self-no-crash.html [ Failure ]
crbug.com/385015 [ Linux ] fast/loader/create-frame-in-DOMContentLoaded.html [ Failure ]
crbug.com/385015 [ Linux ] fast/loader/frame-creation-removal.html [ Failure ]

crbug.com/867982 external/wpt/requestidlecallback/basic.html [ Timeout Pass ]
crbug.com/882756 external/wpt/requestidlecallback/cancel-invoked.html [ Timeout Pass ]

# Stack use-after-return detection
crbug.com/438499 [ Linux ] crypto/worker-random-values-limits.html [ Timeout ]
crbug.com/438499 [ Linux ] fast/workers/worker-multi-startup.html [ Timeout ]
crbug.com/438499 [ Linux ] http/tests/websocket/workers/worker-simple.html [ Timeout ]
crbug.com/438499 [ Linux ] http/tests/workers/text-encoding.html [ Timeout ]
crbug.com/438499 [ Linux ] http/tests/devtools/profiler/heap-snapshot-loader.js [ Timeout ]
crbug.com/438499 [ Linux ] http/tests/devtools/profiler/heap-snapshot-containment-show-all.js [ Timeout ]
crbug.com/438499 [ Linux ] virtual/threaded/animations/unanimated-style.html [ Timeout ]

# Flakily timeout on Linux ASAN bots.
crbug.com/243871 [ Linux ] virtual/threaded/fast/scroll-behavior/ [ Skip ]
crbug.com/464065 [ Linux ] media/track/css-cue-for-video-in-shadow.html [ Timeout ]
crbug.com/464065 [ Linux ] media/track/css-cue-for-video-in-shadow-2.html [ Timeout ]
crbug.com/572723 [ Linux ] http/tests/devtools/sources/debugger/debugger-completions-on-call-frame.js [ Timeout Pass ]
crbug.com/700795 [ Linux ] http/tests/devtools/animation/animation-transition-setTiming-crash.js [ Skip ]
crbug.com/928941 [ Linux ] external/wpt/background-fetch/fetch.https.window.html [ Timeout ]

# Intentionally failed allocations, via partitionAllocGenericFlags()
crbug.com/577889 [ Linux ] fast/js/typed-array-allocation-failure.html [ Crash ]

# 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/803276 virtual/sampling-heap-profiler/inspector-protocol/memory/sampling-native-profile.js [ Skip ]
crbug.com/803276 virtual/sampling-heap-profiler/inspector-protocol/memory/sampling-native-snapshot.js [ Skip ]

# CORS test crash on ASAN
crbug.com/838057 [ Linux ] virtual/outofblink-cors/external/wpt/fetch/api/cors/cors-cookies-redirect.any.html [ Crash ]
crbug.com/838057 [ Linux ] virtual/outofblink-cors/external/wpt/fetch/api/cors/cors-cookies-redirect.any.worker.html [ Crash ]
crbug.com/838057 [ Linux ] virtual/outofblink-cors/external/wpt/fetch/api/cors/cors-preflight-star.any.html [ Crash ]
crbug.com/838057 [ Linux ] virtual/outofblink-cors/external/wpt/fetch/api/cors/cors-preflight-star.any.worker.html [ Crash ]
crbug.com/838057 [ Linux ] virtual/outofblink-cors/external/wpt/fetch/api/cors/cors-preflight.any.html [ Crash ]
crbug.com/838057 [ Linux ] virtual/outofblink-cors/external/wpt/fetch/api/cors/cors-preflight.any.worker.html [ Crash ]
crbug.com/838057 [ Linux ] virtual/outofblink-cors/external/wpt/fetch/api/cors/cors-redirect-preflight.any.html [ Crash ]
crbug.com/838057 [ Linux ] virtual/outofblink-cors/external/wpt/fetch/api/cors/cors-redirect-preflight.any.worker.html [ Crash ]
crbug.com/838057 [ Linux ] virtual/outofblink-cors/external/wpt/service-workers/service-worker/fetch-canvas-tainting-video-cache.https.html [ Crash ]
crbug.com/838057 [ Linux ] virtual/outofblink-cors/external/wpt/service-workers/service-worker/fetch-canvas-tainting-video.https.html [ Crash ]

# Disabled by sheriff due to test crash
crbug.com/896068 [ Linux ] webaudio/AudioBuffer/huge-buffer.html [ Crash ]
crbug.com/896068 [ Linux ] webaudio/dom-exceptions.html [ Pass Crash ]
