#
# 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 four 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 ]

# WebKitTestRunner needs overridePreference for non-boolean values
# (zero-font-size.html passes because overridePreference does not work)
webkit.org/b/42197 fast/harness/override-preferences-2.html [ Failure ]
webkit.org/b/42197 fast/text/zero-font-size.html [ Pass ]

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

# [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
# legacy-animation-engine/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
legacy-animation-engine/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/141122 editing/selection/programmatic-selection-on-mac-is-directionless.html [ Pass Failure ]

webkit.org/b/149087 http/tests/cache/disk-cache/disk-cache-cancel.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/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

### 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/dom/beforeload/flash-before-load.html [ Skip ]
fast/dom/beforeload/remove-flash-in-beforeload-listener.html [ Skip ]
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
dom/html/level2/html/HTMLAppletElement01.html
dom/html/level2/html/HTMLAppletElement02.html
dom/html/level2/html/HTMLAppletElement03.html
dom/html/level2/html/HTMLAppletElement04.html
dom/html/level2/html/HTMLAppletElement06.html
dom/html/level2/html/HTMLAppletElement07.html
dom/html/level2/html/HTMLAppletElement08.html
dom/html/level2/html/HTMLAppletElement09.html
dom/html/level2/html/HTMLAppletElement10.html
dom/xhtml/level2/html/HTMLAppletElement01.xhtml
dom/xhtml/level2/html/HTMLAppletElement02.xhtml
dom/xhtml/level2/html/HTMLAppletElement03.xhtml
dom/xhtml/level2/html/HTMLAppletElement04.xhtml
dom/xhtml/level2/html/HTMLAppletElement06.xhtml
dom/xhtml/level2/html/HTMLAppletElement07.xhtml
dom/xhtml/level2/html/HTMLAppletElement08.xhtml
dom/xhtml/level2/html/HTMLAppletElement09.xhtml
dom/xhtml/level2/html/HTMLAppletElement10.xhtml
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

# Scrollbars appear, even though they should not.
fast/dynamic/window-resize-scrollbars-test.html [ Failure ]

# 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
media/controls-after-reload.html
media/controls-styling.html
platform/mac/fast/loader/non-html-load-event.html
plugins/embed-attributes-style.html
plugins/plugin-initiate-popup-window.html
storage/websql/open-database-while-transaction-in-progress.html
svg/hixie/cascade/002.xml
transitions/font-family-during-transition.html
legacy-animation-engine/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

# Sporadically fails in WebKit2 for unknown reasons.
fast/forms/input-align.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
legacy-animation-engine/transitions/color-transition-all.html
transitions/min-max-width-height-transitions.html
legacy-animation-engine/transitions/min-max-width-height-transitions.html
transitions/text-indent-transition.html
legacy-animation-engine/transitions/text-indent-transition.html

# These storage tests fail in WebKit2 on the bot, but not running locally
storage/websql/multiple-databases-garbage-collection.html

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

# [WK2] http/tests/security/local-image-from-remote-whitelisted.html crashes
# https://bugs.webkit.org/show_bug.cgi?id=73435
http/tests/security/local-image-from-remote-whitelisted.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 ]

# User interaction is a WK2 concept.
inspector/runtime/evaluate-userGestureEmulation-userIsInteracting.html [ Skip ]

### 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-plugin-blocked.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/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
storage/indexeddb/structured-clone.html
storage/indexeddb/structured-clone-private.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

# WebKitTestRunner testRunner.setPrivateBrowsingEnabled 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() 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-enabled.php [ Skip ]
webkit.org/b/115274 http/tests/security/contentSecurityPolicy/report-cross-origin-no-cookies-when-private-browsing-toggled.php [ Skip ]
webkit.org/b/115274 http/tests/security/contentSecurityPolicy/report-same-origin-no-cookies-when-private-browsing-toggled.php [ Skip ]
webkit.org/b/115274 http/tests/security/contentSecurityPolicy/report-same-origin-with-cookies-when-private-browsing-enabled.php [ 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 ]

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

# bug 162281
imported/w3c/web-platform-tests/fetch/api/request/request-cache-only-if-cached.html [ Failure ]

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 ]
webkit.org/b/180703 http/tests/resourceLoadStatistics/telemetry-generation.html [ Pass Failure ]
http/tests/resourceLoadStatistics/prune-statistics.html [ Pass ]
http/tests/resourceLoadStatistics [ Pass ]
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 [ Skip ]
http/tests/resourceLoadStatistics/cookies-with-and-without-user-interaction.html [ Skip ]
http/tests/resourceLoadStatistics/strip-referrer-to-origin-for-prevalent-subresource-redirects.html [ Skip ]
http/tests/resourceLoadStatistics/strip-referrer-to-origin-for-prevalent-subresource-requests.html [ Skip ]
http/tests/resourceLoadStatistics/add-blocking-to-redirect.html [ Skip ]
http/tests/resourceLoadStatistics/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.php [ Pass ]
storage/indexeddb/modern/opendatabase-after-storage-crash.html [ Pass ]
storage/indexeddb/IDBObject-leak.html [ Pass ]

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

http/tests/adClickAttribution [ Pass ]

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

###### This file has four 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/174471 webrtc/filtering-ice-candidate-after-reload.html [ Pass Timeout ]

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/183801 http/wpt/webrtc/third-party-frame-ice-candidate-filtering.html [ Pass Failure ]

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 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 ]

