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

###########################################################################
# WARNING: Memory leaks must be fixed asap. Sheriff is expected to revert #
# culprit CLs instead of suppressing the leaks. If you have any question, #
# ask hajimehoshi@.                                                       #
###########################################################################

# view-source:// tests are not supported by the leak detector
crbug.com/364398 fast/frames/viewsource/viewsource-1.html [ Leak ]
crbug.com/364398 fast/frames/viewsource/viewsource-2.html [ Leak ]
crbug.com/364398 fast/frames/viewsource/viewsource-3.html [ Leak ]
crbug.com/364398 fast/frames/viewsource/viewsource-4.html [ Leak ]
crbug.com/364398 fast/frames/viewsource/viewsource-5.html [ Leak ]
crbug.com/364398 fast/frames/viewsource/viewsource-6.html [ Leak ]
crbug.com/364398 fast/frames/viewsource/viewsource-7.html [ Leak ]
crbug.com/364398 fast/frames/viewsource/viewsource-incomplete-token.html [ Leak ]
crbug.com/364398 fast/frames/viewsource/viewsource-unfinished-script.html [ Leak ]
crbug.com/364398 fast/frames/viewsource/viewsource-unfinished-textarea.html [ Leak ]
crbug.com/364398 http/tests/security/xssAuditor/viewsource-onmouseover.html [ Leak ]
crbug.com/364398 virtual/mojo-loading/http/tests/security/xssAuditor/viewsource-onmouseover.html [ Leak ]
crbug.com/364398 http/tests/security/xssAuditor/viewsource-script-tag.html [ Leak ]
crbug.com/364398 virtual/mojo-loading/http/tests/security/xssAuditor/viewsource-script-tag.html [ Leak ]

# FIXME: The below tests fails when the leak detector is disabled.
crbug.com/366029 compositing/fixed-body-background-positioned.html [ Failure Pass ]
crbug.com/366029 virtual/disable-spinvalidation/compositing/fixed-body-background-positioned.html [ Failure Pass ]

# FIXME: The below tests crashes when the leak detector is run on debug builds
crbug.com/366043 [ Debug ] fast/history/history-traversal-is-asynchronous.html [ Crash ]

# The leak detector doesn't wait for worker threads to completely clean up, so leaks are expected.
crbug.com/301515 fast/workers/worker-terminate.html [ Leak ]

# FIXME: scroll customization leaks memory. See
# codereview.chromium.org/1236913004/ for context.
crbug.com/410974 virtual/scroll_customization/fast/scroll-behavior/scroll-customization/touch-scroll-customization.html [ Leak ]
crbug.com/410974 virtual/scroll_customization/fast/scroll-behavior/scroll-customization/scrollstate-distribute-to-scroll-chain-descendant.html [ Leak ]

# -----------------------------------------------------------------
# Untriaged but known real leaks.
# -----------------------------------------------------------------

crbug.com/327574 permissionclient/image-permissions.html [ Leak ]
crbug.com/327574 http/tests/permissionclient/image-permissions.html [ Leak ]
crbug.com/327574 virtual/mojo-loading/http/tests/permissionclient/image-permissions.html [ Leak ]
crbug.com/327574 fast/loader/data-images-with-images-disabled.html [ Leak ]
crbug.com/629058 plugins/fullscreen-plugins-dont-reload.html [ Leak ]

# -----------------------------------------------------------------
# Untriaged but known leaks which may be false positives.
# -----------------------------------------------------------------

crbug.com/455369 html/marquee/marquee-destroyed-without-removed-from-crash.html [ Leak Pass ]

crbug.com/414163 [ Debug ] inspector/sources/debugger/promise-tracker.html [ Crash ]

crbug.com/480769 http/tests/inspector/service-workers/user-agent-override.html [ Crash ]
crbug.com/480769 virtual/mojo-loading/http/tests/inspector/service-workers/user-agent-override.html [ Crash ]

crbug.com/662477 external/wpt/html/webappapis/idle-callbacks/cancel-invoked.html [ Leak ]
crbug.com/662477 external/wpt/html/webappapis/scripting/events/onerroreventhandler.html [ Leak ]

# Likely caused by http://crbug.com/501866.
crbug.com/701695 external/wpt/html/webappapis/scripting/events/event-handler-processing-algorithm-error/window-synthetic-errorevent.html [ Leak ]

# -----------------------------------------------------------------
# Untriaged but known leaks of ActiveDOMObject (fast).
# -----------------------------------------------------------------
crbug.com/506529 fast/mediastream/MediaStreamConstructor.html [ Leak ]
crbug.com/506529 fast/events/constructors/media-stream-event-constructor.html [ Leak ]
crbug.com/506529 fast/files/workers/worker-read-blob-async-crash.html [ Leak ]
crbug.com/661182 fast/loader/open-in-srcdoc-unload.html [ Leak ]

# -----------------------------------------------------------------
# Untriaged but known leaks of ActiveDOMObject (IndexedDB).
# -----------------------------------------------------------------
# The leak detector's result for ActiveDOMObject (especially IndexedDB) is
# flaky and we need to fix the leak detector (crbug.com/507224). Until then,
# the tests for IndexedDB are skipped.
crbug.com/506752 external/wpt/IndexedDB/ [ Skip ]
crbug.com/506752 storage/indexeddb/ [ Skip ]

# -----------------------------------------------------------------
# Untriaged but known leaks of ActiveDOMObject (http).
# -----------------------------------------------------------------
crbug.com/506754 http/tests/cachestorage/window/cache-put.html [ Leak ]
crbug.com/506754 virtual/mojo-loading/http/tests/cachestorage/window/cache-put.html [ Leak ]
crbug.com/506754 http/tests/inspector/network/network-xhr-replay.html [ Leak ]
crbug.com/506754 virtual/mojo-loading/http/tests/inspector/network/network-xhr-replay.html [ Leak ]
crbug.com/506754 http/tests/inspector/service-workers/service-worker-agents.html [ Crash Leak ]
crbug.com/506754 virtual/mojo-loading/http/tests/inspector/service-workers/service-worker-agents.html [ Crash Leak ]
crbug.com/506754 http/tests/security/cross-origin-indexeddb-allowed.html [ Leak ]
crbug.com/506754 virtual/mojo-loading/http/tests/security/cross-origin-indexeddb-allowed.html [ Leak ]
crbug.com/506754 http/tests/serviceworker/chromium/resolve-after-window-close.html [ Leak ]
crbug.com/506754 virtual/mojo-loading/http/tests/serviceworker/chromium/resolve-after-window-close.html [ Leak ]
crbug.com/506754 virtual/off-main-thread-fetch/http/tests/serviceworker/chromium/resolve-after-window-close.html [ Leak ]
crbug.com/506754 http/tests/serviceworker/chromium/window-close-during-registration.html [ Leak ]
crbug.com/506754 virtual/mojo-loading/http/tests/serviceworker/chromium/window-close-during-registration.html [ Leak ]
crbug.com/506754 virtual/off-main-thread-fetch/http/tests/serviceworker/chromium/window-close-during-registration.html [ Leak ]
crbug.com/506754 virtual/service-worker-navigation-preload/http/tests/serviceworker/chromium/resolve-after-window-close.html [ Leak ]
crbug.com/506754 virtual/service-worker-navigation-preload/http/tests/serviceworker/chromium/window-close-during-registration.html [ Leak ]
crbug.com/506754 virtual/service-worker-navigation-preload-disabled/http/tests/serviceworker/chromium/resolve-after-window-close.html [ Leak ]
crbug.com/506754 virtual/service-worker-navigation-preload-disabled/http/tests/serviceworker/chromium/window-close-during-registration.html [ Leak ]

# -----------------------------------------------------------------
# Untriaged but known leaks of ActiveDOMObject (Web Audio).
# -----------------------------------------------------------------
crbug.com/451577 [ Linux ] inspector/elements/user-properties.html [ Slow ]
crbug.com/451577 [ Linux ] inspector/extensions/extensions-reload.html [ Slow ]
crbug.com/451577 [ Linux ] inspector/extensions/extensions-sidebar.html [ Slow ]

crbug.com/578297 [ Linux ] virtual/threaded/printing/webgl-oversized-printing.html [ Slow Leak ]
crbug.com/578297 [ Linux ] http/tests/media/media-source/mediasource-appendstream-quota-exceeded.html [ Slow ]
crbug.com/578297 [ Linux ] virtual/mojo-loading/http/tests/media/media-source/mediasource-appendstream-quota-exceeded.html [ Slow ]

# -----------------------------------------------------------------
# Leaks in external/wpt/css/vendor-imports/mozilla/mozilla-central-reftests/*
# -----------------------------------------------------------------
crbug.com/594309 [ Linux ] external/wpt/css/vendor-imports/mozilla/mozilla-central-reftests/flexbox/flexbox-baseline-align-self-baseline-vert-001.html [ Failure Pass Leak ]
crbug.com/594309 [ Linux ] external/wpt/css/vendor-imports/mozilla/mozilla-central-reftests/flexbox/flexbox-baseline-empty-001a.html [ Leak ]
crbug.com/594309 [ Linux ] external/wpt/css/vendor-imports/mozilla/mozilla-central-reftests/flexbox/flexbox-baseline-empty-001b.html [ Leak ]
crbug.com/594309 [ Linux ] external/wpt/css/vendor-imports/mozilla/mozilla-central-reftests/flexbox/flexbox-baseline-multi-item-vert-001.html [ Leak ]
crbug.com/594309 [ Linux ] external/wpt/css/vendor-imports/mozilla/mozilla-central-reftests/flexbox/flexbox-whitespace-handling-002.xhtml [ Leak ]
crbug.com/594309 [ Linux ] external/wpt/css/vendor-imports/mozilla/mozilla-central-reftests/writing-modes-3/text-combine-upright-compression-007.html [ Leak ]

crbug.com/664874 http/tests/xmlhttprequest/workers/xmlhttprequest-allowed-with-disabled-web-security.html [ Leak ]
crbug.com/664874 virtual/mojo-loading/http/tests/xmlhttprequest/workers/xmlhttprequest-allowed-with-disabled-web-security.html [ Leak ]

crbug.com/672740 http/tests/security/mixedContent/websocket/insecure-websocket-in-secure-page-worker-allowed.html [ Leak Pass ]
crbug.com/672740 virtual/mojo-loading/http/tests/security/mixedContent/websocket/insecure-websocket-in-secure-page-worker-allowed.html [ Leak Pass ]
crbug.com/672740 http/tests/security/mixedContent/websocket/insecure-websocket-in-secure-page-worker.html [ Leak Pass ]
crbug.com/672740 virtual/mojo-loading/http/tests/security/mixedContent/websocket/insecure-websocket-in-secure-page-worker.html [ Leak Pass ]

# Flaky crashes, but bot build logs do not show the failure, at least
# as linked by the flakiness dashboard.
crbug.com/674858 [ Linux ] virtual/threaded/printing/offscreencanvas-2d-printing.html [ Pass Crash ]
crbug.com/674858 [ Linux ] virtual/threaded/printing/offscreencanvas-webgl-printing.html [ Pass Crash ]

# New tests revealed existing leak
crbug.com/726218 [ Linux ] fast/dom/inert/inert-node-is-uneditable.html [ Leak ]
crbug.com/726218 [ Linux ] fast/dom/inert/inert-inlines.html [ Leak ]
crbug.com/726218 [ Linux ] fast/dom/inert/inert-label-focus.html [ Leak ]

###########################################################################
# WARNING: Memory leaks must be fixed asap. Sheriff is expected to revert #
# culprit CLs instead of suppressing the leaks. If you have any question, #
# ask hajimehoshi@.                                                       #
###########################################################################
