# Dark Mode is iPadOS 13 and later.
css-dark-mode [ Pass ]
css-dark-mode/older-systems [ Skip ]

compositing/contents-format/ipad [ Pass ]

fast/events/ios/ipad [ Pass ]
fast/forms/ios/ipad [ Pass ]

# iPads don't zoom when form elements are focused
fast/forms/ios/accessory-bar-navigation.html [ Skip ]
fast/forms/ios/choose-select-option.html [ Skip ]
fast/forms/ios/delete-in-input-in-iframe.html [ Skip ]
fast/forms/ios/focus-input-in-fixed.html [ Skip ]
fast/forms/ios/focus-input-in-iframe.html [ Skip ]
fast/forms/ios/focus-input-via-button-no-scaling.html [ Skip ]
fast/forms/ios/focus-input-via-button.html [ Skip ]
fast/forms/ios/focus-long-textarea.html [ Skip ]
fast/forms/ios/typing-in-input-in-iframe.html [ Skip ]
fast/forms/ios/user-scalable-does-not-scale-for-keyboard-focus-with-author-defined-scale.html [ Skip ]
fast/forms/ios/user-scalable-does-not-scale-for-keyboard-focus-with-user-scalable-no.html [ Skip ]
fast/forms/ios/zoom-after-input-tap-wide-input.html [ Skip ]
fast/forms/ios/zoom-after-input-tap.html [ Skip ]

media/video-background-playback.html [ Pass Crash ]
fast/forms/ios/scroll-to-reveal-focused-select.html [ Crash Failure ]
fast/forms/ios/time-picker-value-change.html [ Failure ]
fast/forms/ios/choose-select-option.html [ Timeout ]
fast/forms/ios/delete-in-input-in-iframe.html [ Timeout ]
[ Debug ] fast/forms/ios/form-control-refresh/select/focus-select-in-touchend.html [ Timeout ]
fast/forms/ios/typing-in-input-in-iframe.html [ Timeout ]
fast/forms/ios/user-scalable-does-not-scale-for-keyboard-focus-with-author-defined-scale.html [ Timeout ]
fast/forms/ios/user-scalable-does-not-scale-for-keyboard-focus-with-user-scalable-no.html [ Timeout ]
fast/events/ios/should-be-able-to-dismiss-form-accessory-after-tapping-outside-iframe-with-focused-field.html [ Timeout ]
fast/events/ios/keyboard-scrolling-distance.html [ Failure ]

# iPads don't zoom when form elements are focused
fast/forms/ios/user-scalable-scales-for-keyboard-focus-with-no-author-defined-scale.html [ Skip ]
fast/visual-viewport/ios/caret-after-focus-in-fixed.html [ Skip ]

# The select picker input view is not displayed on iPad.
fast/forms/ios/no-stale-checked-items-in-select-picker.html
fast/forms/ios/disabled-options-in-multi-select-picker.html

# These tests are designed for iPhone and crash on iPad
media/modern-media-controls/media-documents/media-document-audio-ios-sizing.html [ Skip ]
media/modern-media-controls/media-documents/media-document-video-iphone-sizing.html [ Skip ]

# This test is designed for iPhone and would timeout on iPad
media/video-element-fullscreen-not-in-dom-accelerated-iphone.html [ Skip ]

# This test is iPad-specific
media/modern-media-controls/media-documents/media-document-video-ipad-sizing.html [ Pass ]

webkit.org/b/229656 fast/forms/ios/ipad/open-picker-using-keyboard.html [ Pass Timeout ]

webkit.org/b/194221 fast/forms/datalist/datalist-textinput-suggestions-order.html [ Failure ]
webkit.org/b/194221 fast/forms/datalist/datalist-show-hide.html [ Skip ]

webkit.org/b/193970 compositing/ios/overflow-scroll-update-overlap.html [ ImageOnlyFailure ]

webkit.org/b/194228 fast/media/invalid-media-query-list.html [ ImageOnlyFailure ]

webkit.org/b/194234 media/modern-media-controls/media-documents/background-color-and-centering.html [ ImageOnlyFailure ]

webkit.org/b/165311 platform/ipad/media/modern-media-controls/pip-support/pip-support-tap.html [ Skip ]

webkit.org/b/194226 quicklook/word-legacy.html [ Failure ]
webkit.org/b/194226 quicklook/word.html [ Failure ]

webkit.org/b/194259 fast/events/ios/rotation/basic-rotation.html [ Skip ]
webkit.org/b/194259 fast/events/ios/rotation/layout-viewport-during-rotation.html [ Skip ]
webkit.org/b/194259 fast/events/ios/rotation/layout-viewport-during-safari-type-rotation.html [ Skip ]
webkit.org/b/194259 fast/events/ios/rotation/resize-iframe-after-orientation-change.html [ Skip ]
webkit.org/b/194259 fast/events/ios/rotation/safari-like-rotation.html [ Skip ]
webkit.org/b/194259 fast/events/ios/viewport-no-width-value-allows-double-tap.html [ Skip ]

# This tests an iphone-specific behavior so is expected to fail on iPad.
fast/scrolling/ios/overflow-scrolling-touch-enabled-stacking.html [ ImageOnlyFailure ]

# This test relies on the numeric keyboard having a different size than regular keyboard. This is not the case on iPad.
fast/forms/ios/inputmode-change-update-keyboard.html [ Skip ]

# <rdar://problem/51869921> REGRESSION (iOS 13) [ iPad Sim ] Layout Test http/tests/adClickAttribution/anchor-tag-attributes-validation.html is failing
http/tests/adClickAttribution/anchor-tag-attributes-validation.html [ Failure ]

# <rdar://problem/51865126> [ iPad Simulator ] 2 New Layout tests are failing on iOS 13 iPad Simulator testers fast/scrolling/ios/body-overflow-hidden-height-100-percent-zoomed-*
fast/scrolling/ios/body-overflow-hidden-height-100-percent-zoomed-2.html [ Skip ]
fast/scrolling/ios/body-overflow-hidden-height-100-percent-zoomed-1.html [ Skip ]

# <rdar://problem/52914585> (Layout Test fast/forms/file/file-input-reset-using-open-panel.html is Failing)
fast/forms/file/file-input-reset-using-open-panel.html [ ImageOnlyFailure ]

# <rdar://problem/56512107> [ iOS ] Three editing/pasteboard/smart-paste-paragraph tests have been flaky since they landed in r243124 (203264)
webkit.org/b/203264 editing/pasteboard/smart-paste-paragraph-001.html [ Pass ]

webkit.org/b/231635 [ Release ] editing/selection/ios/scroll-to-reveal-selection-when-showing-software-keyboard.html [ Timeout ]

media/picture-in-picture [ Pass ]
media/remove-video-element-in-pip-from-document.html [ Pass ]

webkit.org/b/228622 [ Debug ] accessibility/ios-simulator/scroll-in-overflow-div.html [ Crash ]

webkit.org/b/229566 imported/w3c/web-platform-tests/html/semantics/interactive-elements/the-dialog-element/dialog-form-submission.html [ Pass Failure ]

webkit.org/b/228663 fast/canvas/canvas-color-space-display-p3.html [ ImageOnlyFailure ]

webkit.org/b/230419 platform/ipad/media/modern-media-controls/media-documents/media-document-video-ios-sizing.html [ Pass Timeout Crash ]

webkit.org/b/231611 [ Debug ] imported/w3c/web-platform-tests/webrtc-encoded-transform/sframe-transform-in-worker.https.html [ Pass Failure ]

webkit.org/b/231616 [ Debug ] compositing/layer-creation/scale-rotation-transition-overlap.html [ Pass Failure Timeout ]

webkit.org/b/231640 [ Debug ] webrtc/video-mute.html [ Pass Timeout ]
