# Expectations for --enable-blink-gen-property-trees
# We are focused on scrolling, compositing, animations, threading, and paint
# related tests with all other directories skipped to improve bot cycle time.

Bug(none) app_banner/ [ Skip ]
Bug(none) battery-status/ [ Skip ]
Bug(none) bindings/ [ Skip ]
Bug(none) bluetooth/ [ Skip ]
Bug(none) clipboard/ [ Skip ]
Bug(none) crypto/ [ Skip ]
Bug(none) css-parser/ [ Skip ]
Bug(none) css-shadow-parts/ [ Skip ]
Bug(none) custom-elements/ [ Skip ]
Bug(none) custom-properties/ [ Skip ]
Bug(none) device_orientation/ [ Skip ]
Bug(none) dom/ [ Skip ]
Bug(none) editing/ [ Skip ]
Bug(none) external/ [ Skip ]
Bug(none) fonts/ [ Skip ]
Bug(none) fragmentation/ [ Skip ]
Bug(none) gamepad/ [ Skip ]
Bug(none) geolocation-api/ [ Skip ]
Bug(none) harness-tests/ [ Skip ]
Bug(none) hdr/ [ Skip ]
Bug(none) html/ [ Skip ]
Bug(none) html5lib/ [ Skip ]
Bug(none) idle-callback/ [ Skip ]
Bug(none) ietestcenter/ [ Skip ]
Bug(none) external/wpt/imagecapture/ [ Skip ]
Bug(none) installedapp/ [ Skip ]
Bug(none) jquery/ [ Skip ]
Bug(none) loader/ [ Skip ]
Bug(none) mathml/ [ Skip ]
Bug(none) media/ [ Skip ]
Bug(none) media_capabilities/ [ Skip ]
Bug(none) mhtml/ [ Skip ]
Bug(none) mojo/ [ Skip ]
Bug(none) navigator_language/ [ Skip ]
Bug(none) navigator_webdriver/ [ Skip ]
Bug(none) netinfo/ [ Skip ]
Bug(none) nfc/ [ Skip ]
Bug(none) payments/ [ Skip ]
Bug(none) permissionclient/ [ Skip ]
Bug(none) pointer-lock/ [ Skip ]
Bug(none) presentation/ [ Skip ]
Bug(none) reporting-observer/ [ Skip ]
Bug(none) resize-observer/ [ Skip ]
Bug(none) resources/ [ Skip ]
Bug(none) screen_orientation/ [ Skip ]
Bug(none) security/ [ Skip ]
Bug(none) sensor/ [ Skip ]
Bug(none) shadow-dom/ [ Skip ]
Bug(none) shapedetection/ [ Skip ]
Bug(none) storage/ [ Skip ]
Bug(none) tables/ [ Skip ]
Bug(none) third_party/ [ Skip ]
Bug(none) traversal/ [ Skip ]
Bug(none) typedcssom/ [ Skip ]
Bug(none) usb/ [ Skip ]
Bug(none) vibration/ [ Skip ]
Bug(none) virtual/cors-rfc1918/ [ Skip ]
Bug(none) virtual/custom-user-timing/ [ Skip ]
Bug(none) virtual/exotic-color-space/ [ Skip ]
Bug(none) virtual/feature-policy-permissions/ [ Skip ]
Bug(none) virtual/feature-policy-vibrate/ [ Skip ]
Bug(none) virtual/gpu-rasterization/ [ Skip ]
Bug(none) virtual/gpu/ [ Skip ]
Bug(none) virtual/high-contrast-mode/ [ Skip ]
Bug(none) virtual/layout_ng/ [ Skip ]
Bug(none) virtual/layout_ng_experimental/ [ Skip ]
Bug(none) virtual/linux-subpixel/ [ Skip ]
Bug(none) virtual/longtask-v2/ [ Skip ]
Bug(none) virtual/mac-antialiasedtext/ [ Skip ]
Bug(none) virtual/media-gpu-accelerated/ [ Skip ]
Bug(none) virtual/mojo-notifications/ [ Skip ]
Bug(none) virtual/mouseevent_fractional/ [ Skip ]
Bug(none) virtual/mse-1mb-buffers/ [ Skip ]
Bug(none) virtual/new-remote-playback-pipeline/ [ Skip ]
Bug(none) virtual/origin-trials-runtimeflags-disabled/ [ Skip ]
Bug(none) virtual/outofblink-cors/ [ Skip ]
Bug(none) virtual/paint-timing/ [ Skip ]
Bug(none) virtual/presentation/ [ Skip ]
Bug(none) virtual/print_browser/ [ Skip ]
Bug(none) virtual/reporting-api/ [ Skip ]
Bug(none) virtual/sampling-heap-profiler/ [ Skip ]
Bug(none) virtual/scalefactor150/ [ Skip ]
Bug(none) virtual/scalefactor200/ [ Skip ]
Bug(none) virtual/scalefactor200withzoom/ [ Skip ]
Bug(none) virtual/sharedarraybuffer/ [ Skip ]
Bug(none) virtual/single-renderer-process/ [ Skip ]
Bug(none) virtual/spv2/ [ Skip ]
Bug(none) virtual/stable/ [ Skip ]
Bug(none) virtual/sxg-with-network-service/ [ Skip ]
Bug(none) virtual/sxg/ [ Skip ]
Bug(none) virtual/targetedstylerecalc/ [ Skip ]
Bug(none) virtual/unified-autoplay/ [ Skip ]
Bug(none) virtual/video-surface-layer/ [ Skip ]
Bug(none) virtual/webrtc-wpt-unified-plan/ [ Skip ]
Bug(none) virtual/windows-directwrite/ [ Skip ]
Bug(none) virtual/without-smil/ [ Skip ]
Bug(none) vr/ [ Skip ]
Bug(none) wake_lock/ [ Skip ]
Bug(none) wasm/ [ Skip ]
Bug(none) webaudio/ [ Skip ]
Bug(none) webexposed/ [ Skip ]
Bug(none) webmidi/ [ Skip ]
Bug(none) webshare/ [ Skip ]
Bug(none) xmlviewer/ [ Skip ]
Bug(none) xr/ [ Skip ]

# These tests failed in normal mode but are fixed with BlinkGenPropertyTrees.
Bug(none) compositing/overflow/clip-escaping-reverse-order-should-not-crash.html [ Pass ]
Bug(none) compositing/overflow/composited-scroll-with-fractional-translation.html [ Pass ]
Bug(none) virtual/prefer_compositing_to_lcd_text/compositing/overflow/clip-escaping-reverse-order-should-not-crash.html [ Pass ]
Bug(none) virtual/prefer_compositing_to_lcd_text/compositing/overflow/composited-scroll-with-fractional-translation.html [ Pass ]
crbug.com/865039 compositing/masks/mask-with-added-filters.html [ Pass ]
# Link highlights are no longer affected by ancestor effects.
crbug.com/857501 compositing/gestures/gesture-tapHighlight-with-filter.html [ Pass ]
crbug.com/400829 media/video-object-fit.html [ Pass ]
crbug.com/400829 compositing/composited-canvas-with-overflowing-object-fit.html [ Pass ]

# These tests are no longer applicable with layer list mode.
# Move to NeverFixTests later.
Bug(none) http/tests/devtools/layers/layer-sticky-position-constraint-get.js [ Skip ]
Bug(none) inspector-protocol/layers/get-layers.js [ Skip ]

# Backdrop filters are experimental (behind a flag) and do not really work with
# or without BlinkGenPropertyTrees. These tests are marked as failing because
# the expectations differ, but these do not block BlinkGenPropertyTrees.
crbug.com/854189 css3/filters/backdrop-filter-rendering-no-background.html [ Failure ]
crbug.com/854189 css3/filters/backdrop-filter-rendering.html [ Failure ]

# These scrolling tests should pass.
crbug.com/836913 virtual/threaded/external/wpt/css/css-scroll-snap/snap-at-user-scroll-end-manual.html [ Timeout ]

# Reflection / mask ordering issue
crbug.com/767318 compositing/reflections/nested-reflection-mask-change.html [ Failure ]

# One line of pixels different when clipping the scrollbar.
Bug(none) virtual/prefer_compositing_to_lcd_text/compositing/overflow/scaled-overflow.html [ Failure ]
Bug(none) compositing/overflow/scaled-overflow.html [ Failure ]

# Incorrect scrollbar invalidation.
crbug.com/887000 virtual/prefer_compositing_to_lcd_text/scrollbars/hidden-scrollbars-invisible.html [ Failure ]

crbug.com/882975 virtual/threaded/fast/events/pinch/gesture-pinch-zoom-prevent-in-handler.html [ Failure Pass ]
crbug.com/882975 virtual/threaded/fast/events/pinch/scroll-visual-viewport-send-boundary-events.html [ Failure Pass ]
crbug.com/882975 virtual/threaded/synthetic_gestures/synthetic-pinch-zoom-gesture-touchscreen-desktop.html [ Failure Pass ]

crbug.com/882973 http/tests/devtools/layers/layer-tree-model.js [ Failure ]

crbug.com/884239 virtual/threaded/animations/animationworklet/worklet-animation-local-time-undefined.html [ Failure ]

# These tests have failures that were introduced between enabling BGPT for the
# first time and later disabling it. These are not real failures and can be
# rebaselined.
Bug(none) compositing/geometry/foreground-layer.html [ Failure ]
Bug(none) compositing/iframes/become-composited-nested-iframes.html [ Failure ]
Bug(none) compositing/iframes/invisible-nested-iframe-show.html [ Failure ]
Bug(none) compositing/iframes/overlapped-nested-iframes.html [ Failure ]
Bug(none) paint/invalidation/compositing/repaint-overflow-scrolled-squashed-content.html [ Failure ]
Bug(none) paint/invalidation/video-paint-invalidation.html [ Failure ]
Bug(none) virtual/android/fullscreen/video-overlay-scroll.html [ Failure ]
