# These are the layout test expectations for Apple's iOS simulator port of WebKit2
#
# See http://trac.webkit.org/wiki/TestExpectations for more information on this file.
#

editing/inserting/insert-paragraph-selection-outside-contenteditable.html [ Failure ]
fast/events/offsetX-offsetY.html [ Failure ]
fast/hidpi/image-srcset-invalid-descriptor.html [ Failure ]
http/tests/cookies/js-get-and-set-http-only-cookie.html [ Failure ]
http/tests/security/cross-origin-worker-indexeddb-allowed.html [ Failure ]
http/tests/security/cross-origin-worker-indexeddb.html [ Failure ]

fast/events/scroll-to-anchor-vertical-lr-writing-mode.html [ ImageOnlyFailure ]
fast/events/scroll-to-anchor-vertical-writing-mode.html [ ImageOnlyFailure ]
fast/sub-pixel/sub-pixel-composited-layers.html [ ImageOnlyFailure ]

webkit.org/b/152439 compositing/overflow/dynamic-composited-scrolling-status.html [ Pass Failure ]

webkit.org/b/173178 [ Release ] svg/animations/svglength-element-removed-crash.svg [ Skip ]

webkit.org/b/173010 js/slow-stress/Int32Array-alloc-huge.html [ Pass Timeout ]

webkit.org/b/174183 animations/resume-after-page-cache.html [ Pass Failure ]

webkit.org/b/173861 http/tests/webrtc/filtering-ice-candidate-same-origin-frame2.html [ Skip ]
webkit.org/b/173861 http/tests/webrtc/filtering-ice-candidate-same-origin-frame.html [ Skip ]
webkit.org/b/173861 http/tests/webrtc/filtering-ice-candidate-cross-origin-frame.html [ Skip ]

webkit.org/b/172384 fast/hidpi/hidpi-long-page-with-inset-element.html [ Pass ImageOnlyFailure ]

webkit.org/b/175865 quicklook/multi-sheet-numbers-09.html [ Skip ]

webkit.org/b/187699 [ Debug ] fast/forms/submit-change-fragment.html [ Pass Timeout ]

webkit.org/b/194368 http/tests/workers/service/basic-register-exceptions.html [ Pass Failure ]

webkit.org/b/196218 performance-api/performance-observer-periodic.html [ Pass Failure ]

webkit.org/b/196228 http/tests/cache-storage/cache-clearing-origin.https.html [ Pass Failure ]
webkit.org/b/196228 http/tests/cache-storage/cache-records-persistency.https.html [ Pass Failure ]

webkit.org/b/196233 fast/viewport/ios/initial-scale-after-changing-view-scale.html [ Pass Timeout ]

webkit.org/b/162975 http/tests/cache/disk-cache/memory-cache-revalidation-updates-disk-cache.html [ Pass Failure ]

webkit.org/b/196112 imported/w3c/web-platform-tests/mathml/relations/css-styling/mathvariant-bold.html [ Pass ImageOnlyFailure ]
webkit.org/b/196112 imported/w3c/web-platform-tests/mathml/relations/css-styling/mathvariant-double-struck.html [ Pass ImageOnlyFailure ]
webkit.org/b/196112 imported/w3c/web-platform-tests/mathml/relations/css-styling/mathvariant-italic.html [ Pass ImageOnlyFailure ]

http/wpt/cache-storage/quota-third-party.https.html [ Slow ]
http/wpt/fetch/response-opaque-clone.html [ Slow ]
http/wpt/cache-storage/cache-put-keys.https.any.html [ Skip ]
http/wpt/cache-storage/cache-quota-after-restart.any.html [ Slow ]
http/wpt/cache-storage/cache-quota.any.html [ Slow ]
http/wpt/cache-storage/a-cache-open.https.html [ Slow ]
http/wpt/cache-storage/cache-quota-add.any.html [ Slow ]

webkit.org/b/196403 imported/w3c/web-platform-tests/mediacapture-record/MediaRecorder-stop.html [ Pass Failure ]

webkit.org/b/195341 fast/viewport/ios/constant-width-viewport-after-changing-view-scale.html [ Pass Failure ]

webkit.org/b/186581 [ Debug ] fast/parser/xml-error-adopted.xml [ Pass Timeout ]

webkit.org/b/197207 http/wpt/resource-timing/rt-resources-per-frame.html [ Pass Failure ]

imported/w3c/web-platform-tests/IndexedDB/keypath-special-identifiers.htm [ Slow ]

webkit.org/b/172001 scrollingcoordinator/ios/sync-layer-positions-after-scroll.html [ Pass Failure ]

# NearField.framework doesn't present in the simulator, and therefore skip all WebAuthn NFC tests
http/wpt/webauthn/ctap-nfc-failure.https.html [ Skip ]
http/wpt/webauthn/public-key-credential-create-failure-nfc.https.html [ Skip ]
http/wpt/webauthn/public-key-credential-create-success-nfc.https.html [ Skip ]
http/wpt/webauthn/public-key-credential-get-failure-nfc.https.html [ Skip ]
http/wpt/webauthn/public-key-credential-get-success-nfc.https.html [ Skip ]

webkit.org/b/203157 scrollingcoordinator/ios/non-stable-viewport-scroll.html [ Pass Failure ]

webkit.org/b/206698 editing/caret/ios/fixed-caret-position-after-scroll.html [ Pass Failure ]

webkit.org/b/206749 crypto/subtle/rsa-indexeddb-private.html [ Pass Timeout ]

webkit.org/b/206751 http/tests/workers/service/service-worker-user-timing.https.html [ Pass Timeout ]

webkit.org/b/206973 animations/change-one-anim.html [ Pass Failure ]

webkit.org/b/207002 imported/w3c/web-platform-tests/FileAPI/historical.https.html [ Pass Failure ]

webkit.org/b/206952 imported/w3c/IndexedDB-private-browsing/idbindex_getKey6.html [ Pass Timeout ]

webkit.org/b/207055 media/track/texttrackcue/texttrackcue-displaycue.html [ Pass Failure ]

webkit.org/b/207515 http/wpt/service-workers/service-worker-spinning-fetch.https.html [ Pass Failure ]

webkit.org/b/208036 http/wpt/cache-storage/cache-put-keys.https.any.worker.html [ Pass Failure ]

webkit.org/b/208837 [ Release ] fast/css-custom-paint/constructor.html [ Pass Timeout ]

webkit.org/b/208840 editing/selection/selection-change-in-mutation-event-by-remove-children.html [ Pass Timeout ]

webkit.org/b/209234 [ Release ] platform/ios/ios/plugin/youtube-flash-plugin-iframe-no-height-or-width.html [ Pass Failure ]
