#
# Copyright (C) 2010 Apple Inc. All rights reserved.
#
# Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions
# are met:
#
# 1.  Redistributions of source code must retain the above copyright
#     notice, this list of conditions and the following disclaimer.
# 2.  Redistributions in binary form must reproduce the above copyright
#     notice, this list of conditions and the following disclaimer in the
#     documentation and/or other materials provided with the distribution.
# 3.  Neither the name of Apple Inc. ("Apple") nor the names of
#     its contributors may be used to endorse or promote products derived
#     from this software without specific prior written permission.
#
# THIS SOFTWARE IS PROVIDED BY APPLE AND ITS CONTRIBUTORS "AS IS" AND ANY
# EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
# WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
# DISCLAIMED. IN NO EVENT SHALL APPLE OR ITS CONTRIBUTORS BE LIABLE FOR ANY
# DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
# (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
# ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
# THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
#

# This file should contain entries for expectations that are generic
# to any port running the WebKit2 variant (--webkit-test-runner)

###### This file has five sections. When adding new tests, make sure to
###### add to the right section:

### (1) Classified failures with bug reports
### (2) Classified failures without bug reports (yet)
### (3) Unclassified failures
### (4) Features that are not supported in WebKit2 and likely never will be
### (5) Progressions, expected successes that are expected failures in WebKit1.


########################################
### START OF (1) Classified failures with bug reports

webkit.org/b/156612 http/tests/security/contentSecurityPolicy/embed-redirect-blocked3.html [ Failure ]
webkit.org/b/156612 http/tests/security/contentSecurityPolicy/object-redirect-blocked3.html [ Failure ]

# AX tests that require hit testing do not work in WK2.
webkit.org/b/71298 accessibility/loading-iframe-updates-axtree.html

# This test has been skipped for a long time. Temporarily marking as flaky to see what bots think.
webkit.org/b/48354 compositing/iframes/iframe-src-change.html [ Pass Failure ]

# This test has been skipped for a long time. Temporarily marking as flaky to see what bots think.
webkit.org/b/58183 editing/execCommand/convert-style-elements-to-spans.html [ Pass Failure ]

# This test has been skipped for a long time. Temporarily marking as flaky to see what bots think.
webkit.org/b/60648 fast/frames/flattening/frameset-flattening-subframesets.html [ Pass Failure ]

webkit.org/b/82665 http/tests/webarchive/test-css-url-encoding.html [ Skip ]
webkit.org/b/82665 http/tests/webarchive/test-css-url-encoding-shift-jis.html [ Skip ]
webkit.org/b/82665 http/tests/webarchive/test-css-url-encoding-utf-8.html [ Skip ]
webkit.org/b/82665 webarchive/test-css-url-resources-in-stylesheets.html [ Skip ]
webkit.org/b/82665 webarchive/test-css-url-resources-inline-styles.html [ Skip ]

# WebKitTestRunner needs textInputController
# <https://bugs.webkit.org/show_bug.cgi?id=42337>
editing/input/setting-input-value-cancel-ime-composition.html
svg/text/caret-in-svg-text.xhtml
editing/inserting/caret-position.html
editing/selection/5825350-1.html
editing/selection/5825350-2.html
editing/selection/move-left-right.html
editing/style/text-indent.html
fast/dom/tab-in-right-alignment.html
fast/events/ime-composition-events-001.html
fast/forms/cursor-at-editable-content-boundary.html
fast/text/international/thai-cursor-position.html
platform/mac/fast/dom/character-index-for-point.html
platform/mac/fast/text/attributed-substring-from-range-001.html
platform/mac/fast/text/attributed-substring-from-range-002.html
platform/mac/fast/text/attributed-substring-from-range-in-textfield.html
platform/mac/fast/text/attributed-substring-from-range.html
platform/mac/fast/text/justified-text-rect.html

# https://bugs.webkit.org/show_bug.cgi?id=115274
# testRunner.setPrivateBrowsingEnabled_DEPRECATED() doesn't work with NetworkProcess and is WebKitLegacy only.
http/tests/security/appcache-switching-private-browsing.html [ Skip ]
http/tests/security/cookies/first-party-cookie-allow-xslt.xml [ Skip ]
http/tests/security/cookies/third-party-cookie-blocking-xslt.xml [ Skip ]
http/tests/security/cross-origin-plugin-private-browsing-toggled-allowed.html [ Skip ]
http/tests/security/cross-origin-plugin-private-browsing-toggled.html [ Skip ]
http/tests/security/storage-blocking-loosened-private-browsing-plugin.html [ Skip ]
http/tests/security/storage-blocking-strengthened-private-browsing-plugin.html [ Skip ]
plugins/private-browsing-mode-2.html [ Skip ]

# [WebKit2] WebKitTestRunner doesn't support emulating pressing a tab key during IME composition
webkit.org/b/188428 editing/input/press-tab-during-ime-composition.html

# WebKitTestRunner needs testRunner.setMainFrameIsFirstResponder
# <https://bugs.webkit.org/show_bug.cgi?id=42685>
editing/selection/caret-and-focus-ring.html
editing/selection/designmode-no-caret.html
editing/selection/selection-background.html
fast/dom/Window/window-onFocus.html
platform/mac/scrollbars/key-window-not-first-responder.html

# WebKitTestRunner needs testRunner.encodeHostName
# <https://bugs.webkit.org/show_bug.cgi?id=42686>
fast/encoding/idn-security.html

# WebKitTestRunner needs testRunner.abortModal
# <https://bugs.webkit.org/show_bug.cgi?id=69548>
fast/events/show-modal-dialog-onblur-onfocus.html
fast/events/beforeunload-showModalDialog.html
fast/events/pagehide-showModalDialog.html
fast/events/unload-showModalDialog.html

# WebKitTestRunner needs testRunner.setWillSendRequestClearHeader
# <https://bugs.webkit.org/show_bug.cgi?id=42699>
http/tests/security/no-referrer.html

# WebKitTestRunner needs testRunner.setDomainRelaxationForbiddenForURLScheme
# <https://bugs.webkit.org/show_bug.cgi?id=42700>
http/tests/security/setDomainRelaxationForbiddenForURLScheme.html

# WebKitTestRunner needs testRunner.removeAllVisitedLinks
http/tests/globalhistory/history-delegate-basic-visited-links.html

# WebKit2 passes the wrong source URL for client redirects
http/tests/globalhistory/history-delegate-basic-refresh-redirect.html

# transitions/default-timing-function.html failing on WebKit2 since it was added
# <https://bugs.webkit.org/show_bug.cgi?id=56531>
transitions/default-timing-function.html

# Sometimes fails
# http://webkit.org/b/58990
editing/undo/undo-iframe-location-change.html

# PasteBoard::plainText() does not support file names.
editing/pasteboard/drag-files-to-editable-element-as-attachment.html [ Skip ]
editing/pasteboard/drag-files-to-editable-element-as-URLs.html [ Skip ]

# Times out
# https://bugs.webkit.org/show_bug.cgi?id=63806
http/tests/cache/history-only-cached-subresource-loads-max-age-https.html

# Frame::findString does nothing on pages that prevent selection
# https://bugs.webkit.org/show_bug.cgi?id=40361
editing/text-iterator/findString-selection-disabled.html

# WebKitTestRunner needs to implement testRunner.closeIdleLocalStorageDatabases().
# https://bugs.webkit.org/show_bug.cgi?id=103861
storage/domstorage/localstorage/close-idle-localstorage-databases-immediately.html

# WKTR needs a implementation of setStorageDatabaseIdleInterval
# https://bugs.webkit.org/show_bug.cgi?id=91778
storage/domstorage/storage-close-database-on-idle.html

# [WK2] The new npruntime/embed-property-iframe-equality.html fails
# https://bugs.webkit.org/show_bug.cgi?id=105266
plugins/npruntime/embed-property-iframe-equality.html

webkit.org/b/105952 fast/loader/submit-form-while-parsing-2.html [ Pass Failure ]

webkit.org/b/149087 http/tests/cache/disk-cache/disk-cache-cancel.html [ Pass Failure ]

webkit.org/b/141122 editing/selection/programmatic-selection-on-mac-is-directionless.html [ Pass Failure ]

http/tests/appcache/decide-navigation-policy-after-delay.html [ Pass ]

# DatabaseProcess cannot open some of these database filenames (DRT can open the exact same database filenames)
webkit.org/b/154681 storage/indexeddb/database-odd-names.html
webkit.org/b/154681 storage/indexeddb/odd-strings.html

# WKTR does not support overriding WebKitUsesPageCachePreferenceKey.
# https://bugs.webkit.org/show_bug.cgi?id=114153
fast/harness/use-page-cache.html

# eventSender.dragMode is unimplemented in WKTR
# Mac: https://bugs.webkit.org/show_bug.cgi?id=68552
fast/events/drag-and-drop-move-not-copy.html
fast/events/controlclick-no-onclick.html
fast/events/moving-text-should-fire-drop-and-dragend-events.html
fast/events/moving-text-should-fire-drop-and-dragend-events-2.html
fast/events/ondrop-text-html.html
editing/pasteboard/drag-drop-url-with-style.html

# WTR needs an implementation for eventSender.continuousMouseScrollBy
# https://bugs.webkit.org/show_bug.cgi?id=69417
fast/events/wheel/wheelevent-direction-inverted-from-device.html

# This should only be a layer change.
# http://webkit.org/b/82129
fast/box-shadow/shadow-buffer-partial.html
fast/block/lineboxcontain/block-font.html
fast/block/lineboxcontain/block-glyphs.html
fast/block/lineboxcontain/font.html

# https://bugs.webkit.org/show_bug.cgi?id=115203
# Downloaded file name tests fail because of incorrect custom policy delegate implementation
http/tests/download/default-encoding.html
http/tests/download/inherited-encoding-form-submission-result.html
http/tests/download/inherited-encoding.html

# Incomplete-image tests fail in WebKitTestRunner
# https://bugs.webkit.org/show_bug.cgi?id=186613
http/tests/images/loading-image-border.html
http/tests/images/loading-image-no-border.html

# webkit.org/b/221694
http/tests/media/hls/hls-hdr-switch.html [ Timeout ]
http/tests/media/hls/hls-progress.html [ Failure ]

# webkit.org/b/221685
media/modern-media-controls/media-controller/media-controller-fullscreen-change.html [ Failure Pass ]
media/modern-media-controls/media-controller/media-controller-inline-to-fullscreen-to-inline.html [ Timeout Pass ]
media/modern-media-controls/media-controller/media-controller-inline-to-fullscreen-to-pip-to-inline.html [ Timeout Pass ]
media/modern-media-controls/media-controller/media-controller-space-bar-toggle-playback.html [ Failure Pass ]
media/modern-media-controls/placard-support/placard-support-airplay-fullscreen.html [ Timeout Pass ]
media/modern-media-controls/scrubber-support/scrubber-support-drag.html [ Timeout Pass ]

# webkit.org/b/221693
media/encrypted-media/clearKey/clearKey-session-life-cycle.html [ Failure Crash ]

# webkit.org/b/221791
# fast/canvas/webgl/tex-image-and-sub-image-2d-with-video-rgb565.html [ Failure ]
# fast/canvas/webgl/tex-image-and-sub-image-2d-with-video-rgba4444.html [ Failure ]
# fast/canvas/webgl/tex-image-and-sub-image-2d-with-video-rgba5551.html [ Failure ]
# fast/canvas/webgl/tex-image-and-sub-image-2d-with-video.html [ Failure ]
# fast/canvas/webgl/texImage2D-mse-flipY-false.html [ Failure ]
# fast/canvas/webgl/texImage2D-mse-flipY-true.html [ Failure ]

# webkit.org/b/221790
# webgl/1.0.3/conformance/textures/tex-image-and-sub-image-2d-with-video-rgb565.html [ Failure ]
# webgl/1.0.3/conformance/textures/tex-image-and-sub-image-2d-with-video-rgba4444.html [ Failure ]
# webgl/1.0.3/conformance/textures/tex-image-and-sub-image-2d-with-video-rgba5551.html [ Failure ]
# webgl/1.0.3/conformance/extensions/oes-texture-float-with-video.html [ Failure ]
# webgl/1.0.3/conformance/extensions/oes-texture-half-float-with-video.html [ Failure ]
# webgl/1.0.3/conformance/textures/tex-image-and-sub-image-2d-with-video.html [ Failure ]

# webkit.org/b/221806
# webgl/2.0.0/conformance/extensions/oes-texture-float-with-video.html [ Failure ]
# webgl/2.0.0/conformance/extensions/oes-texture-half-float-with-video.html [ Failure ]
# webgl/2.0.0/conformance/textures/video/tex-2d-rgb-rgb-unsigned_byte.html [ Failure ]

webkit.org/b/221816 http/wpt/mediarecorder/MediaRecorder-AV-audio-video-dataavailable.html [ Failure ]

webkit.org/b/221819 imported/w3c/web-platform-tests/webaudio/the-audio-api/the-mediaelementaudiosourcenode-interface/mediaElementAudioSourceToScriptProcessorTest.html [ Failure ]

webkit.org/b/222569 fast/mediastream/media-stream-track-interrupted.html [ Crash Pass ]

### END OF (1) Classified failures with bug reports
########################################


########################################
### START OF (2) Classified failures without bug reports (yet)

# WebKitTestRunner needs testRunner.shouldPaintBrokenImage
fast/images/support-broken-image-delegate.html

# WebKitTestRunner needs testRunner.dumpSourceAsWebArchive
webarchive/doctype.html
webarchive/archive-empty-frame-source.html

# WebKitTestRunner needs testRunner.setIconDatabaseEnabled
webkit.org/b/115809 webarchive/test-link-rel-icon.html
webkit.org/b/115809 http/tests/misc/favicon-loads-with-images-disabled.html
webkit.org/b/115809 http/tests/misc/favicon-loads-with-icon-loading-override.html
webkit.org/b/115809 http/tests/misc/link-rel-icon-beforeload.html
webkit.org/b/115809 http/tests/security/contentSecurityPolicy/allow-favicon.html
webkit.org/b/115809 http/tests/security/contentSecurityPolicy/block-favicon.html

# WebKitTestRunner should dump text/plain content as text
http/tests/incremental/slow-utf8-text.pl

# WebKitTestRunner needs plainText.plainText
editing/text-iterator/basic-iteration.html

# WebKitTestRunner needs testRunner.setNewWindowsCopyBackForwardList
fast/loader/crash-copying-backforwardlist.html

# WebKitTestRunner needs testRunner.authenticateSession
http/tests/xmlhttprequest/cross-origin-authorization-with-embedder.html

# WebKitTestRunner needs testRunner.addDisallowedURL
plugins/get-url-that-the-resource-load-delegate-will-disallow.html

# WebKitTestRunner needs testRunner.pageProperty
printing/page-rule-selection.html

# WebKitTestRunner needs testRunner.dumpUserGestureInFrameLoadCallbacks
fast/frames/location-redirect-user-gesture.html
fast/frames/meta-refresh-user-gesture.html

# WebKitTestRunner needs testRunner.addURLToRedirect
http/tests/loading/cross-origin-XHR-willLoadRequest.html

# WebKit2 needs showModalDialog
fast/events/scroll-event-during-modal-dialog.html
fast/harness/show-modal-dialog.html

# WebKit2 needs to support synchronous creation of about:blank/data:url frames
fast/dom/HTMLDocument/hasFocus.html
fast/frames/sandboxed-iframe-navigation-targetlink.html
fast/loader/about-blank-hash-kept.html
http/tests/security/cross-frame-access-get-override.html
http/tests/security/cross-frame-access-history-get-override.html
http/tests/security/cross-frame-access-location-get-override.html
http/tests/security/javascriptURL/xss-ALLOWED-to-javascript-url-sub-frame-2-level.html

# These tests use Flash, which is not a good idea, because it is not installed on all machines that run tests.
# WebKitTestRunner detects attempts to use Flash, and raises an assertion.
fast/loader/sandboxed-plugin-crash.html [ Skip ]
plugins/hidden-iframe-with-swf-plugin.html [ Skip ]
plugins/plugin-document-load-prevented-userscript.html [ Skip ]
plugins/plugin-document-willSendRequest-null.html [ Skip ]
plugins/plugin-remove-readystatechange.html [ Skip ]

# This test checks that NPN_GetURL with a blank target will return an error if the window isn't opened. This behavior doesn't
# match Firefox or Chrome. We should either fix the test, or get rid of it. This test also depends on implementing
# testRunner::setCanOpenWindows() such that opening windows are forbidden by default.
plugins/get-url-with-blank-target.html

# requires video.buffered to be able to return multiple timeranges
http/tests/media/video-buffered.html

# WebKit2 needs Java support
editing/selection/selection-applet.html
fast/replaced/applet-disabled-positioned.html
fast/replaced/applet-rendering-java-disabled.html

# WebKitTestRunner needs testRunner.displayInvalidatedRegion
compositing/plugins/invalidate_rect.html
plugins/windowless_plugin_paint_test.html

# eventSender.clearKillRing() is unimplemented
editing/pasteboard/emacs-cntl-y-001.html

# No CORS support for media elements is implemented yet.
http/tests/security/canvas-remote-read-remote-video-allowed-anonymous.html [ Failure ]
http/tests/security/canvas-remote-read-remote-video-allowed-with-credentials.html [ Failure ]
http/tests/security/video-cross-origin-readback.html

# Unexpected redirection happens.
http/tests/loading/redirect-methods.html

# Should pass now on ports other than EFL and GTK.
# But it needs to be checked first.
http/tests/loading/bad-scheme-subframe.html

# Some elements are skipped when focus is moved.
fast/spatial-navigation/snav-container-white-space.html
fast/spatial-navigation/snav-div-overflow-scrol-hidden.html
fast/spatial-navigation/snav-fully-aligned-horizontally.html
fast/spatial-navigation/snav-fully-aligned-vertically.html
fast/spatial-navigation/snav-iframe-no-scrollable-content.html
fast/spatial-navigation/snav-imagemap-overlapped-areas.html

# WebFrameLoaderClient::canHandleRequest() has to be implemented.
http/tests/misc/redirect-to-external-url.html

# testRunner.queueLoad should consider given target.
fast/frames/frame-navigation.html
http/tests/navigation/anchor-subframeload.html
http/tests/navigation/error404-subframeload.html
http/tests/navigation/javascriptlink-subframeload.html
http/tests/navigation/metaredirect-subframeload.html
http/tests/navigation/redirect302-subframeload.html
http/tests/navigation/response204.html
http/tests/navigation/success200-subframeload.html
http/tests/navigation/timerredirect-subframeload.html

# Unexpected output from scrolling. Might be EFL port specific issue.
http/tests/navigation/relativeanchor-frames.html

# Machinery for updating view size has a race condition, a problem when moving between
# SVG tests that have a special view size and all the other tests that use a 800x600 view.
# This test is not the cause of the problem, just the one that happens to currently be the victim.
svg/filters/filter-hidden-content.svg [ Pass Failure ]

# No good way to test private browsing in WKTR right now
http/tests/security/private-browsing-http-auth.html

### END OF (2) Classified failures without bug reports (yet)
########################################


########################################
### START OF (3) Unclassified failures

# Uncategorized editing failures
editing/execCommand/find-after-replace.html
editing/inserting/break-blockquote-after-delete.html
editing/inserting/insert-3786362-fix.html
editing/inserting/insert-3907422-fix.html
editing/style/non-inheritable-styles.html
editing/style/smoosh-styles-001.html
editing/style/smoosh-styles-003.html
editing/style/style-boundary-005.html

# Unexplained failures that were formerly in the setCanOpenWindows or setCloseRemainingWindowsWhenComplete lists.
fast/dom/Window/new-window-opener.html
http/tests/misc/set-window-opener-to-null.html
http/tests/misc/window-open-then-write.html
http/tests/navigation/target-frame-from-window.html
http/tests/security/aboutBlank/xss-DENIED-navigate-opener-document-write.html
http/tests/security/aboutBlank/xss-DENIED-navigate-opener-javascript-url.html
http/tests/security/aboutBlank/xss-DENIED-set-opener.html
http/tests/security/dataURL/xss-DENIED-from-data-url-in-foreign-domain-window-open.html
http/tests/security/dataURL/xss-DENIED-from-javascript-url-window-open.html
http/tests/security/dataURL/xss-DENIED-to-data-url-in-foreign-domain-window-open.html
http/tests/security/dataURL/xss-DENIED-to-data-url-window-open.html
http/tests/security/frameNavigation/xss-DENIED-plugin-navigation.html
http/tests/security/frameNavigation/xss-DENIED-targeted-link-navigation.html
http/tests/security/javascriptURL/xss-ALLOWED-to-javascript-url-window-open.html
http/tests/security/javascriptURL/xss-DENIED-from-javascript-url-in-foreign-domain-window-open.html
http/tests/security/javascriptURL/xss-DENIED-to-javascript-url-in-foreign-domain-window-open.html

# Unexplained failures that were formerly in the "unsafe access" list.
http/tests/security/cross-frame-access-enumeration.html
http/tests/security/cross-frame-access-get-custom-property-cached.html
http/tests/security/cross-frame-access-get.html
http/tests/security/cross-frame-access-getOwnPropertyDescriptor.html
http/tests/security/cross-frame-access-history-get.html
http/tests/security/cross-frame-access-location-get.html
http/tests/security/cross-frame-access-protocol-explicit-domain.html
http/tests/security/cross-frame-access-protocol.html

# Flaky tests (slow)
http/tests/cache/subresource-expiration-1.html
http/tests/cache/subresource-expiration-2.html

# Unexplained failures
fast/frames/sandboxed-iframe-plugins.html
fast/frames/sandboxed-iframe-storage.html
fast/overflow/overflow_hidden.html
platform/mac/fast/loader/non-html-load-event.html
plugins/embed-attributes-style.html
plugins/plugin-initiate-popup-window.html
svg/hixie/cascade/002.xml
transitions/font-family-during-transition.html

# [WK2] http/tests/navigation/anchor-frames-cross-origin.html fails.
# https://bugs.webkit.org/show_bug.cgi?id=83581
http/tests/navigation/anchor-frames-cross-origin.html

# [WK2] http/tests/navigation/anchor-frames-same-origin.html fails.
# https://bugs.webkit.org/show_bug.cgi?id=84227
http/tests/navigation/anchor-frames-same-origin.html

# Unexplained plugin failures
platform/mac/plugins/testplugin-onnew-onpaint.html

# Unexplained plugin failures that were formerly in the NPRuntime support for out-of-process plug-ins
# list.
plugins/netscape-plugin-setwindow-size.html
plugins/npruntime/plugin-scriptable-object-invoke-default.html
plugins/pass-different-npp-struct.html
plugins/reentrant-update-widget-positions.html
plugins/set-status.html

# Causes subsequent plugin tests to fail, time out or crash
plugins/destroy-on-setwindow.html

# New history tests added in r76205 fail on WebKit2 (perhaps the change
# as coded doesn't affect both processes for WebKit2)
fast/history/history-replace-updates-current-item.html
http/tests/navigation/redirect-on-back-updates-history-item.html
http/tests/navigation/redirect-on-reload-updates-history-item.html

# Newly added test fails in WebKit2 for mysterious reasons
webkit.org/b/158703 userscripts/window-onerror-for-isolated-world-1.html [ Skip ]
webkit.org/b/158703 userscripts/window-onerror-for-isolated-world-2.html [ Skip ]
webkit.org/b/158703 userscripts/window-onerror-for-isolated-world-3.html [ Skip ]

# These transition tests are flaky, sometimes it seems like the transition timing
# is off when the test completes
transitions/color-transition-all.html
transitions/min-max-width-height-transitions.html
transitions/text-indent-transition.html

# Mysterious failure after enabling paste tests
editing/mac/pasteboard/text-precomposed.html

# [WK2] http/tests/security/local-image-from-remote-allow-list.html crashes
# https://bugs.webkit.org/show_bug.cgi?id=73435
http/tests/security/local-image-from-remote-allow-list.html

# Editing input tests that time out unexpectedly.
# https://bugs.webkit.org/show_bug.cgi?id=81547
editing/input/reveal-edit-on-input-vertically.html
editing/input/reveal-contenteditable-on-input-vertically.html

# Times out unexpectedly.
# https://bugs.webkit.org/show_bug.cgi?id=81609
fast/loader/window-properties-restored-from-page-cache.html

# Flakey on Lion WK2 debug.
# https://bugs.webkit.org/show_bug.cgi?id=81616
fast/harness/page-cache-crash-on-data-urls.html

# Wrong logging order
fast/loader/file-protocol-fragment.html
http/tests/loading/pdf-commit-load-callbacks.html

# Times out unexpectedly.
http/tests/security/feed-urls-from-remote.html

# First two lines are reversed when test is flaky.
fast/preloader/document-write-2.html [ Pass Failure ]

### END OF (3) Unclassified failures
########################################

########################################
### START OF (4) Features that are not supported in WebKit2 and likely never will be

# Plug-ins are disallowed from evaluating JavaScript from NPP_Destroy().
plugins/attach-during-destroy.html [ WontFix ]
plugins/destroy-reentry.html [ WontFix ]
plugins/document-open.html [ WontFix ]
webkit.org/b/48929 plugins/evaluate-js-after-removing-plugin-element.html [ WontFix ]
plugins/geturlnotify-during-document-teardown.html [ WontFix ]
plugins/js-from-destroy.html [ WontFix ]
plugins/nested-plugin-objects.html [ WontFix ]
plugins/netscape-destroy-plugin-script-objects.html [ WontFix ]
plugins/open-and-close-window-with-plugin.html [ WontFix ]

# Internals.registerDefaultPortForProtocol() does not affect NetworkProcess. We should
# look to remove it and write these test to make use of an HTTP server running on port 80.
http/tests/security/contentSecurityPolicy/script-src-parsing-implicit-and-explicit-port-number.html
http/tests/security/http-0.9/default-port-script-blocked.html
http/tests/security/http-0.9/image-default-port-allowed.html
http/tests/security/http-0.9/image-on-HTTP-0.9-default-port-page-allowed-ref-test.html
http/tests/security/http-0.9/image-on-HTTP-0.9-default-port-page-allowed.html
http/tests/security/http-0.9/image-on-HTTP-0.9-page-blocked.html
http/tests/security/http-0.9/sandbox-should-not-persist-on-navigation.html

# WebKitTestRunner doesn't have appleScriptController
platform/mac/fast/AppleScript/001.html
platform/mac/fast/AppleScript/array.html
platform/mac/fast/AppleScript/date.html

# setDefersLoading is not supported in WK2.
loader/load-defer.html [ Skip ]
loader/load-defer-resume-crash.html [ Skip ]
loader/navigation-while-deferring-loads.html [ Skip ]

# WebKitTestRunner doesn't have objCController
platform/mac/fast/dom/objc-wrapper-identity.html
platform/mac/fast/dom/objc-wrapper-toprimitive.html
platform/mac/fast/dom/wrapper-classes-objc.html
platform/mac/fast/dom/wrapper-round-tripping.html
platform/mac/fast/objc/dom-html-select-activate.html
platform/mac/fast/objc/dom-html-select-live-pseudo-selectors.html
platform/mac/fast/objc/longlongTest.html
platform/mac/fast/objc/webScriptObject-hasWebScriptKey.html
platform/mac/fast/objc/webScriptObject-does-not-call-description-on-nsobject.html
platform/mac/plugins/bindings-array-apply-crash.html
platform/mac/plugins/bindings-objc-long-method-name.html
platform/mac/plugins/bindings-objc-method-name-conversion.html
platform/mac/plugins/bindings-test-objc.html
platform/mac/plugins/call-as-function-test.html
platform/mac/plugins/root-object-premature-delete-crash.html
platform/mac/plugins/undefined-property-crash.html
platform/mac/plugins/webScriptObject-exception-deadlock.html

# WebKitTestRunner doesn't have objCPlugin
editing/mac/pasteboard/5583362.html [ Skip ]
platform/mac/plugins/jsobjc-dom-wrappers.html
platform/mac/plugins/jsobjc-simple.html
platform/mac/plugins/throw-on-dealloc.html

# WebKitTestRunner doesn't have objCPlugin
# (but these tests sound like things we may want to test another way)
editing/pasteboard/paste-RTFD.html
editing/pasteboard/paste-TIFF.html

# WebKitTestRunner doesn't have eventSender.enableDOMUIEventLogging
platform/mac/fast/events/objc-event-api.html

# WebKitTestRunner needs an implementation of eventSender.beginDragWithFiles
# https://bugs.webkit.org/show_bug.cgi?id=64285
editing/pasteboard/datatransfer-items-drop-plaintext-file.html
editing/pasteboard/datatransfer-types-dropping-text-file.html
editing/pasteboard/drag-and-drop-color-input.html
editing/pasteboard/drag-and-drop-color-input-events.html
editing/pasteboard/drag-and-drop-image-contenteditable.html
editing/pasteboard/drag-and-drop-inputimage-contenteditable.html
editing/pasteboard/drag-and-drop-objectimage-contenteditable.html
editing/pasteboard/drag-drop-copy-content.html
editing/pasteboard/drag-drop-dead-frame.html
editing/pasteboard/drag-drop-input-textarea.html
editing/pasteboard/drag-drop-list.html
editing/pasteboard/drag-drop-modifies-page.html
editing/pasteboard/drag-drop-url-text.html
editing/pasteboard/drag-image-in-about-blank-frame.html
editing/pasteboard/drag-image-to-contenteditable-in-iframe.html
editing/pasteboard/drag-list-item.html
editing/pasteboard/drag-selected-image-to-contenteditable.html
editing/pasteboard/drop-file-svg.html
editing/pasteboard/drop-inputtext-acquires-style.html
editing/pasteboard/drop-link.html
editing/pasteboard/drop-text-events.html
editing/pasteboard/drop-text-without-selection.html
editing/pasteboard/entries-api
editing/pasteboard/file-drag-to-editable.html [ Skip ]
editing/pasteboard/file-input-files-access.html
fast/dom/FileList-iterator.html
fast/dom/Window/window-postmessage-clone-frames.html
fast/dom/Window/window-postmessage-clone.html
fast/events/data-transfer-files-attribute-identity.html
fast/events/drag-file-crash.html
fast/events/drag-to-navigate.html
fast/events/drop-handler-should-not-stop-navigate.html
fast/events/drop-with-file-paths.html
fast/events/dropzone-004.html
fast/events/file-input-hidden-in-ondrop.html
fast/events/input-element-display-none-in-dragleave-crash.html
fast/events/only-valid-drop-targets-receive-file-drop.html
fast/events/prevent-drag-to-navigate.html
fast/files/apply-blob-url-to-img.html
fast/files/apply-blob-url-to-xhr.html
fast/files/file-list-test.html
fast/files/file-reader-abort.html
fast/files/file-reader-directory-crash.html
fast/files/file-reader-event-listener.html
fast/files/filereader-zip-bundle.html
fast/files/local-file-drag-security.html
fast/files/null-origin-string.html
fast/files/read-blob-async.html
fast/files/read-file-async.html
fast/files/workers/worker-apply-blob-url-to-xhr.html
fast/files/workers/worker-read-blob-async.html
fast/files/workers/worker-read-blob-sync.html
fast/files/workers/worker-read-file-async.html
fast/files/workers/worker-read-file-sync.html
fast/forms/file/entries-api/drag-folder-webkitEntries.html
fast/forms/file/entries-api/webkitdirectory-drag-folder.html
fast/forms/file/entries-api/webkitdirectory-drag-folder-webkitEntries.html
fast/forms/file/file-input-change-event.html
fast/forms/file/file-input-reset.html
fast/forms/file/get-file-upload.html
fast/forms/file/input-file-re-render.html
fast/forms/file/input-file-value.html
fast/forms/file/input-file-write-files.html
fast/forms/file/recover-file-input-in-unposted-form.html
fast/forms/file/selected-files-from-history-state.html
fast/history/page-cache-createObjectURL.html
fast/workers/worker-copy-shared-blob-url.html
http/tests/local/blob/send-hybrid-blob.html
http/tests/local/fileapi/file-last-modified-after-delete.html
http/tests/local/fileapi/file-last-modified.html
http/tests/local/fileapi/send-dragged-file.html
http/tests/local/fileapi/send-sliced-dragged-file.html
http/tests/local/fileapi/upload-zip-bundle-as-blob.html
http/tests/local/formdata/form-data-with-unknown-file-extension.html
http/tests/local/formdata/send-form-data-constructed-from-form.html
http/tests/local/formdata/send-form-data-with-filename.html
http/tests/local/formdata/send-form-data-with-sliced-file.html
http/tests/local/formdata/send-form-data.html
http/tests/local/formdata/send-form-data-with-empty-file-filename.html
http/tests/local/formdata/upload-events.html
http/tests/security/clipboard/clipboard-file-access.html
imported/blink/storage/indexeddb/blob-basics-metadata.html
imported/blink/storage/indexeddb/empty-blob-file.html
media/video-src-blob.html
security/contentSecurityPolicy/image-with-blob-url-allowed-by-img-src-star-with-AllowContentSecurityPolicySourceStarToMatchAnyProtocol-enabled.html
security/contentSecurityPolicy/image-with-blob-url-blocked-by-img-src-star.html
security/contentSecurityPolicy/video-with-blob-url-allowed-by-media-src-star.html
fast/forms/file/entries-api/image-no-transcode-drag-drop.html
fast/forms/file/entries-api/image-transcode-drag-drop.html

# WebKitTestRunner doesn't have eventSender.fireKeyboardEventsToElement
platform/mac/fast/events/objc-keyboard-event-creation.html

# WebKit2 does not (should not?) support setting WebKitUsePreHTML5ParserQuirks
# in its WebPreferences implementation.
fast/parser/pre-html5-parser-quirks.html

# [WK2] New fast/events/drag-display-none-element.html fails
# https://bugs.webkit.org/show_bug.cgi?id=90177
fast/events/drag-display-none-element.html

# Skip tests in fast/text/shaping
fast/text/shaping

# WebSQL is disabled
storage/websql [ Skip ]
fast/dom/MutationObserver/database-callback-delivery.html [ Skip ]
http/tests/security/cross-origin-websql-allowed.html [ Skip ]
http/tests/security/cross-origin-websql.html [ Skip ]
http/tests/security/same-origin-websql-blocked.html [ Skip ]
http/tests/security/storage-blocking-loosened-websql.html [ Skip ]
http/tests/security/storage-blocking-strengthened-websql.html [ Skip ]
http/tests/storage/callbacks-are-called-in-correct-context.html [ Skip ]
fast/history/page-cache-webdatabase-no-transaction-db.html [ Skip ]
fast/history/page-cache-webdatabase-pending-transaction.html [ Skip ]

# WebKitTestRunner testRunner.setPrivateBrowsingEnabled_DEPRECATED() doesn't work with NetworkProcess.
# We explicitly Skip the following tests instead of marking them as Failure because some of these tests will naturally pass
# as a consequence of testRunner.setPrivateBrowsingEnabled_DEPRECATED() effectively being a no-op as of the time of writing (07/08/2015).
webkit.org/b/115274 http/tests/security/contentSecurityPolicy/report-cross-origin-no-cookies-when-private-browsing-toggled.py [ Skip ]
webkit.org/b/115274 http/tests/security/contentSecurityPolicy/report-same-origin-no-cookies-when-private-browsing-toggled.py [ Skip ]

### END OF (4) Features that are not supported in WebKit2 and likely never will be
########################################

########################################
### START OF (5) Progressions, expected successes that are expected failures in WebKit1.

# DumpRenderTree does not allow GIFs to animate, thus animated GIF tests don't work in WebKit1.
fast/images/animated-gif-no-layout.html [ Pass ]
fast/images/gif-loop-count.html [ Pass ]

# Only relevant for WebKit2
http/tests/storage/storage-map-leaking.html [ Pass ]

# DumpRenderTree does not implement setWillSendRequestHTTPBody
http/tests/misc/will-send-request-with-client-provided-http-body.html [ Pass ]

printing/printing-events.html [ Pass ]

# Resource Load Statistics are only supported in WebKit2.
http/tests/resourceLoadStatistics/prevalent-resource-with-user-interaction.html [ Pass ]
http/tests/resourceLoadStatistics/non-prevalent-resource-with-user-interaction.html [ Pass ]
http/tests/resourceLoadStatistics/non-prevalent-resource-without-user-interaction.html [ Pass ]
webkit.org/b/187053 http/tests/resourceLoadStatistics/prevalent-resource-without-user-interaction.html [ Pass Timeout ]
http/tests/resourceLoadStatistics/prevalent-resource-with-user-interaction-timeout.html [ Pass ]
http/tests/resourceLoadStatistics/classify-as-non-prevalent-based-on-mixed-statistics.html [ Pass ]
http/tests/resourceLoadStatistics/classify-as-non-prevalent-based-on-sub-frame-under-top-frame-origins.html [ Pass ]
http/tests/resourceLoadStatistics/classify-as-non-prevalent-based-on-subresource-under-top-frame-origins.html [ Pass ]
http/tests/resourceLoadStatistics/classify-as-non-prevalent-based-on-subresource-unique-redirects-to.html [ Pass ]
http/tests/resourceLoadStatistics/classify-as-prevalent-based-on-mixed-statistics.html [ Pass ]
http/tests/resourceLoadStatistics/classify-as-very-prevalent-based-on-mixed-statistics.html [ Pass ]
http/tests/resourceLoadStatistics/classify-as-prevalent-based-on-sub-frame-under-top-frame-origins.html [ Pass ]
http/tests/resourceLoadStatistics/classify-as-prevalent-based-on-subresource-under-top-frame-origins.html [ Pass ]
http/tests/resourceLoadStatistics/classify-as-prevalent-based-on-subresource-unique-redirects-to.html [ Pass ]
http/tests/resourceLoadStatistics/classify-as-prevalent-based-on-subresource-redirect-collusion.html [ Pass ]
http/tests/resourceLoadStatistics/classify-as-prevalent-based-on-subresource-redirect-to-prevalent.html [ Pass ]
http/tests/resourceLoadStatistics/classify-as-prevalent-based-on-top-frame-redirect-collusion.html [ Pass ]
http/tests/resourceLoadStatistics/classify-as-prevalent-based-on-top-frame-redirect-to-prevalent.html [ Pass ]
http/tests/resourceLoadStatistics/classify-as-prevalent-based-on-top-frame-unique-redirects-to.html [ Pass ]
http/tests/resourceLoadStatistics/clear-in-memory-and-persistent-store.html [ Pass ]
http/tests/resourceLoadStatistics/grandfathering.html [ Pass ]
http/tests/resourceLoadStatistics/prune-statistics.html [ Pass ]
http/tests/resourceLoadStatistics [ Pass ]

# App Bound Domains is for iOS only, so we should skip
# them here and enable them in the iOS platform specific file.
http/tests/resourceLoadStatistics/exemptDomains/ [ Skip ]

# The SameSite cookie API is only available in macOS Catalina and above.
http/tests/resourceLoadStatistics/set-all-cookies-to-same-site-strict.html [ Skip ]
http/tests/resourceLoadStatistics/enforce-samesite-strict-based-on-top-frame-unique-redirects-to.html [ Skip ]

# This test is flaky. <rdar://problem/69748720>
http/tests/resourceLoadStatistics/operating-dates-all-but-cookies-removed-with-user-interaction-7-days-ago.html [ Pass Failure ]

# The CNAME and cookie transform SPIs are only available in macOS Big Sur + iOS 14 and above.
http/tests/resourceLoadStatistics/cname-cloaking-top-cname-sub-1p-cname.html [ Skip ]
http/tests/resourceLoadStatistics/cname-cloaking-top-cname-sub-3p-cname.html [ Skip ]
http/tests/resourceLoadStatistics/cname-cloaking-top-cname-sub-matching-cname.html [ Skip ]
http/tests/resourceLoadStatistics/cname-cloaking-top-cname-sub-no-cname.html [ Skip ]
http/tests/resourceLoadStatistics/cname-cloaking-top-no-cname-sub-1p-cname.html [ Skip ]
http/tests/resourceLoadStatistics/cname-cloaking-top-no-cname-sub-3p-cname.html [ Skip ]
http/tests/resourceLoadStatistics/cname-cloaking-top-no-cname-sub-no-cname.html [ Skip ]

http/tests/websocket/connection-refusal-in-frame-resource-load-statistics.html [ Pass ]
# These are only supported behind a compile time flag in macOS High Sierra + iOS 11, and above.
http/tests/resourceLoadStatistics/cookie-deletion.html [ Pass Timeout ]
http/tests/resourceLoadStatistics/cookies-with-and-without-user-interaction.html [ Skip ]
http/tests/resourceLoadStatistics/strip-referrer-to-origin-for-third-party-redirects.html [ Skip ]
http/tests/resourceLoadStatistics/strip-referrer-to-origin-for-third-party-requests.html [ Skip ]
http/tests/resourceLoadStatistics/add-blocking-to-redirect.html [ Skip ]
http/tests/resourceLoadStatistics/do-not-remove-blocking-in-redirect.html [ Skip ]
http/tests/resourceLoadStatistics/non-prevalent-resources-can-access-cookies-in-a-third-party-context.html [ Skip ]
http/tests/resourceLoadStatistics/cap-cache-max-age-for-prevalent-resource.html [ Skip ]

# This feature is currently disabled by default and unfinished <rdar://problem/38925077>.
http/tests/navigation/process-swap-window-open.html [ Skip ]

# Cross-Origin-Resource-Policy response header is only implemented in WebKit2.
http/wpt/cross-origin-resource-policy/ [ Pass ]

http/tests/navigation/useragent-reload.py [ Pass ]
storage/indexeddb/modern/opendatabase-after-storage-crash.html [ Pass ]

fast/forms/call-text-did-change-in-text-field-when-typing.html [ Pass ]

http/tests/privateClickMeasurement [ Pass ]

# User interaction is a WebKit2 concept.
inspector/debugger/breakpoint-action-emulateUserGesture-userIsInteracting.html [ Pass ]
inspector/debugger/evaluateOnCallFrame-emulateUserGesture-userIsInteracting.html [ Pass ]
inspector/runtime/evaluate-emulateUserGesture-userIsInteracting.html [ Pass ]
inspector/runtime/callFunctionOn-emulateUserGesture-userIsInteracting.html [ Pass ]

# Target domain is only present in WebKit2.
http/tests/inspector/target [ Pass ]

# ITP and PrivateClickMeasurement are WK2 only.
inspector/page/overrideSetting-PrivateClickMeasurementDebugModeEnabled.html [ Pass ]
inspector/page/overrideSetting-ITPDebugModeEnabled.html [ Pass ]

# Highlighting marked text ranges from layout tests is only supported in WebKit2.
editing/input/composition-highlights.html [ Pass ]

# Tests a setting behind the ENABLE_FULLSCREEN_API flag, which is WK2-only
media/video-supports-fullscreen.html [ Pass ]

imported/w3c/web-platform-tests/service-workers/service-worker/svg-target-reftest.https.html [ Pass ]

# These tests rely on webkit-test-runner flags that aren't implemented for DumpRenderTree, so they will fail under legacy WebKit.
editing/selection/expando.html [ Pass ]

### END OF (5) Progressions, expected successes that are expected failures in WebKit1.
########################################

###### This file has five sections. When adding new tests, make sure to
###### add to the right section:

### (1) Classified failures with bug reports
### (2) Classified failures without bug reports (yet)
### (3) Unclassified failures
### (4) Features that are not supported in WebKit2 and likely never will be
### (5) Progressions, expected successes that are expected failures in WebKit1.

webkit.org/b/168092 media/track/track-cues-sorted-before-dispatch.html [ Pass Failure ]

webkit.org/b/172662 [ Debug ] http/tests/cache/disk-cache/disk-cache-vary-cookie.html [ Pass Failure ]
webkit.org/b/172662 [ Debug ] http/tests/cache/disk-cache/redirect-chain-limits.html [ Pass Failure ]

webkit.org/b/183139 fast/events/blur-focus-window-should-blur-focus-element.html
webkit.org/b/183140 fast/selectors/querySelector-window-inactive.html

webkit.org/b/186406 compositing/iframes/display-none-subframe.html [ Pass Failure ]

webkit.org/b/187766 http/wpt/service-workers/update-service-worker.https.html [ Pass Failure Timeout ]

# Newly imported test that is flaky on WebKit2 only.
imported/w3c/web-platform-tests/html/browsers/the-window-object/apis-for-creating-and-navigating-browsing-contexts-by-name/no_window_open_when_term_nesting_level_nonzero.window.html [ Pass Failure ]

webkit.org/b/231348 imported/w3c/web-platform-tests/file-system-access/sandboxed_FileSystemBaseHandle-postMessage-windows.https.window.html [ Pass Failure ]
webkit.org/b/231349 imported/w3c/web-platform-tests/file-system-access/sandboxed_FileSystemBaseHandle-postMessage-MessagePort-windows.https.window.html [ Pass Failure ]
webkit.org/b/231350 [ Release ] imported/w3c/web-platform-tests/file-system-access/sandboxed_FileSystemFileHandle-create-sync-access-handle-dedicated-worker.https.tentative.window.html [ Pass Failure ]

# Closed port web socket delays are only supported on wk2.
http/tests/websocket/tests/hybi/closed-port-delay.html [ Pass ]

# WebKit2 only.
js/throw-large-string-oom.html [ Pass ]
fast/scrolling/keyboard-scrolling-distance-downArrow.html [ Pass ]
fast/scrolling/keyboard-scrolling-distance-pageDown.html [ Pass ]
fast/scrolling/keyboard-scrolling-last-timestamp.html [ Pass ]
fast/speechrecognition/permission-error.html [ Pass ]
fast/speechrecognition/start-recognition-then-stop.html [ Pass ]
fast/speechrecognition/start-second-recognition.html [ Pass ]
fullscreen/full-screen-enter-while-exiting.html [ Pass ]
imported/w3c/web-platform-tests/permissions/ [ Pass ]
imported/w3c/web-platform-tests/storage/ [ Pass ]
imported/w3c/web-platform-tests/file-system-access/ [ Pass ]
storage/filesystemaccess/ [ Pass ]

