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

# AX tests that require hit testing do not work in WK2.
webkit.org/b/71298 accessibility/loading-iframe-updates-axtree.html
webkit.org/b/71298 accessibility/mac/html-slider-indicator.html
webkit.org/b/71298 accessibility/mac/listbox-hit-test.html
webkit.org/b/71298 accessibility/mac/iframe-with-title-correct-hierarchy.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 ]

# Perhaps this test just needs new expectations?
webkit.org/b/48354 compositing/iframes/iframe-size-from-zero.html [ 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 ]

# setIconDatabaseEnabled not implemented in WebKitTestRunner.
webkit.org/b/115809 webarchive/test-link-rel-icon-beforeload.html [ Skip ]

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
editing/mac/input/5576619.html
editing/mac/input/bold-node.html
editing/mac/input/caret-primary-bidi.html
editing/mac/input/firstrectforcharacterrange-caret-in-br.html
editing/mac/input/firstrectforcharacterrange-plain.html
editing/mac/input/firstrectforcharacterrange-styled.html
editing/mac/input/firstrectforcharacterrange-vertical.html
editing/mac/input/hangul-enter-confirms-and-sends-keypress.html
editing/mac/input/insert-delete-smp-symbol.html
editing/mac/input/kotoeri-enter-to-confirm-and-newline.html
editing/mac/input/range-for-empty-document.html
editing/mac/input/replace-invalid-range.html
editing/mac/input/secure-input.html
editing/mac/input/text-input-controller.html
editing/mac/input/text-input-controller-no-editable-no-crash.html
editing/mac/input/wrapped-line-char-rect.html
editing/mac/input/NSBackgroundColor-transparent.html
editing/mac/pasteboard/paste-and-match-style-selector-event.html
editing/mac/selection/25228.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

# WebKitTestRunner needs testRunner.setDashboardCompatibilityMode
# <https://bugs.webkit.org/show_bug.cgi?id=42547>
fast/canvas/canvas-gradient-addStop-error.html
http/tests/xmlhttprequest/default-content-type-dashboard.html
http/tests/xmlhttprequest/svg-created-by-xhr-allowed-in-dashboard.html
svg/custom/embedded-svg-allowed-in-dashboard.xml
svg/custom/manually-parsed-embedded-svg-allowed-in-dashboard.html
svg/custom/manually-parsed-svg-allowed-in-dashboard.html
svg/custom/svg-allowed-in-dashboard-object.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

# WebKit2 needs testRunner.setDeferMainResourceDataLoad
# <https://bugs.webkit.org/show_bug.cgi?id=42777>
fast/loader/non-deferred-substitute-load.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

# WebKitTestRunner needs testRunner.setCallCloseOnWebViews
# http://webkit.org/b/46714
plugins/geturlnotify-during-document-teardown.html
plugins/open-and-close-window-with-plugin.html

accessibility/mac/search-predicate.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.html

# 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

# testRunner.setWindowIsKey() has no effect on the web process side in WebKit2
# https://bugs.webkit.org/show_bug.cgi?id=81736 rdar://problem/11088268
fast/events/blur-focus-window-should-blur-focus-element.html
fast/selectors/querySelector-window-inactive.html
fast/selectors/selection-window-inactive.html
fast/dom/Window/window-focus-self.html
scrollbars/corner-resizer-window-inactive.html

# Text Autosizing is not yet enabled.
# https://bugs.webkit.org/show_bug.cgi?id=84186
fast/text-autosizing

# 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/127683 http/tests/navigation/new-window-redirect-history.html [ Skip ]

webkit.org/b/132297 svg/custom/bug79798.html [ Skip ]

# Causes next test to crash only on WebKit2
webkit.org/b/98345 fast/parser/document-open-in-unload.html [ Skip ]

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

webkit.org/b/90980 fast/forms/textarea/textarea-state-restore.html [ Pass Timeout ]

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

webkit.org/b/148890 http/tests/contentfiltering/load-substitute-data-from-appcache.html [ Pass Crash ]
# One the bug is fixed, the below test will need a Pass expectation, because it's skipped in root TestExpectations.
webkit.org/b/148890 http/tests/appcache/decide-navigation-policy-after-delay.html [ Pass Crash ]

### 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
webarchive/test-link-rel-icon.html
http/tests/misc/favicon-loads-with-images-disabled.html
http/tests/misc/favicon-loads-with-icon-loading-override.html
http/tests/misc/link-rel-icon-beforeload.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.setUseDashboardCompatibilityMode
platform/mac/fast/dom/HTMLImageElement/dashboard-src-quirk.html [ Skip ]
mathml/mathml-in-dashboard.html [ Skip ]

# 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.
editing/pasteboard/paste-noplugin.html [ Skip ]
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.
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/HTMLAppletElement05.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/HTMLAppletElement05.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
java

# WebKitTestRunner needs testRunner.displayInvalidatedRegion
compositing/plugins/invalidate_rect.html
plugins/windowless_plugin_paint_test.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
# Qt: https://bugs.webkit.org/show_bug.cgi?id=69946
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
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

# eventSender.clearKillRing() is unimplemented
editing/pasteboard/emacs-cntl-y-001.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

# WTR needs an implementation of setAutomaticLinkDetectionEnabled.
# https://bugs.webkit.org/show_bug.cgi?id=87162
editing/inserting/smart-link-when-caret-is-moved-before-URL.html
editing/inserting/smart-quote-with-all-configurations.html
editing/inserting/typing-space-to-trigger-smart-link.html

# No CORS support for media elements is implemented yet.
http/tests/security/video-cross-origin-readback.html

# Content Security Policy 1.1 (ENABLE_CSP_NEXT) is not enabled
# https://bugs.webkit.org/show_bug.cgi?id=85558
http/tests/security/contentSecurityPolicy/1.1

# X-Content-Type-Options (ENABLE_NOSNIFF) is not enabled.
http/tests/security/contentTypeOptions

# 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

# 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

# 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
http/tests/security/popup-blocked-from-fake-event.html
http/tests/security/popup-blocked-from-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


# [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
userscripts/window-onerror-for-isolated-world-1.html
userscripts/window-onerror-for-isolated-world-2.html

# 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

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

# Crashes the WebProcess
editing/pasteboard/copy-standalone-image.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 ]

# Test crashes from initial import of w3c IndexedDB tests
imported/w3c/indexeddb/idbfactory_open10.htm [ Skip ]
imported/w3c/indexeddb/idbobjectstore_createIndex4-deleteIndex-event_order.htm [ Skip ]
imported/w3c/indexeddb/key_valid.html [ Skip ]

# Test timeouts from initial import of w3c IndexedDB tests
imported/w3c/indexeddb/interfaces.html [ Pass Timeout ]

# Flaky tests from initial import of w3c IndexedDB tests
imported/w3c/indexeddb/transaction-lifetime.htm [ Pass Failure ]
imported/w3c/indexeddb/idbobjectstore_deleteIndex.htm [ Pass Failure ]
imported/w3c/indexeddb/idbcursor-direction.htm [ Pass Failure ]
imported/w3c/indexeddb/idbcursor-key.htm [ Pass Failure ]

# Additional flaky idb test:
imported/w3c/indexeddb/idbfactory_open5.htm [ Pass Failure ]

# Don't run Modern IDB tests while the feature is under development
storage/indexeddb/modern [ Skip ]

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

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

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

# 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/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/file-drag-to-editable.html
editing/pasteboard/file-input-files-access.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/file-input-change-event.html
fast/forms/file/file-input-reset.html
fast/forms/file/get-file-upload.html
fast/forms/file/input-file-directory-upload.html
fast/forms/file/input-file-re-render.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
media/video-src-blob.html
storage/indexeddb/noblobs.html
storage/indexeddb/structured-clone.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

# WebKit2 should always have IndexedDB enabled
storage/indexeddb/properties-disabled-at-runtime.html [ Skip ]

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

### 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.
