0

Instantiate Linux (or CrOS) system fonts using Fontations

In [1] a Skia flag was introduced to switch to Fontations for system fonts. Enable this flag in skia/fontations_feature.cc and rebaseline the world:
- ash tests work with revision_numbers that need to be increased for Skia gold to allow them to be changed.
- web tests rebaselines

The rebaselines are due to subtle differences in text antiliasing
and have been inspected for regressions. We already rolled out Fontations for web fonts, which gives us confidence the rendering
output is not disrupted.

[1] https://chromium-review.googlesource.com/c/chromium/src/+/6286047

Design doc: go/rust-fontstack-chrome (internal)

Fixed: chromium:346918516
Cq-Include-Trybots: luci.chromium.try:linux-blink-rel
Change-Id: I2d64a6faba820b556a6ce789456e38ecefe4b7f8
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6169919
Reviewed-by: Rick Byers <rbyers@chromium.org>
Owners-Override: Rick Byers <rbyers@chromium.org>
Reviewed-by: Mitsuru Oshima <oshima@chromium.org>
Commit-Queue: Dominik Röttsches <drott@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1430666}
This commit is contained in:
Dominik Röttsches
2025-03-11 00:10:31 -07:00
committed by Chromium LUCI CQ
parent fa72c52ac2
commit a7cdc4b222
6359 changed files with 678 additions and 483 deletions
ash
ambient
app_list
auth
capture_mode
clipboard
fullscreen_pixeltest.cc
glanceables
in_session_auth
login
quick_insert
rounded_display
scalable_iph
shelf
system
touch
user_education
wm
chrome/browser/resources/chromeos/accessibility/chromevox/background/editing
components/test/data/enterprise
content
skia
third_party/blink/web_tests
TestExpectations
TestLists
flag-specific
disable-site-isolation-trials
highdpi
animations
compositing
css1
css2.1
css3
editing
fast
fonts
fragmentation
html
http
ietestcenter
images
inspector-protocol
paint
printing
svg
tables
transforms
virtual
skia-vulkan-swiftshader
compositing
css2.1
20110323
t010403-shand-font-03-b-expected.pngt040103-ident-00-c-expected.pngt040103-ident-01-c-expected.pngt040103-ident-05-c-expected.pngt040103-ident-06-c-expected.pngt040105-atkeyw-02-b-expected.pngt0402-c71-fwd-parsing-01-f-expected.pngt0402-c71-fwd-parsing-03-f-expected.pngt040302-c61-rel-len-00-b-ag-expected.pngt0505-c16-descendant-01-e-expected.pngt0505-c16-descendant-02-e-expected.pngt050803-c14-classes-00-e-expected.pngt0509-id-sel-syntax-01-f-expected.pngt0511-c21-pseud-link-01-e-expected.pngt0602-c13-inh-underlin-00-e-expected.pngt0602-c13-inheritance-00-e-expected.pngt0602-inherit-bdr-pad-b-00-expected.pngt0803-c5502-mrgn-r-00-c-ag-expected.pngt0803-c5504-imrgn-l-05-b-ag-expected.pngt0803-c5505-mrgn-02-c-expected.pngt0804-c5506-padn-t-00-b-a-expected.pngt0804-c5507-ipadn-r-02-b-ag-expected.pngt0804-c5507-ipadn-r-04-b-ag-expected.pngt0805-c5511-brdr-tw-01-b-g-expected.pngt0805-c5518-ibrdr-t-00-a-expected.pngt0805-c5520-brdr-b-00-a-expected.pngt0905-c5526-flthw-00-c-g-expected.pngt090501-c414-flt-03-b-g-expected.pngt090501-c414-flt-ln-00-d-expected.pngt1001-abs-pos-cb-02-b-expected.pngt100304-c43-rpl-bbx-00-d-g-expected.pngt100304-c43-rpl-bbx-01-d-g-expected.pngt100801-c544-valgn-04-d-agi-expected.pngt1202-counter-01-b-expected.pngt1202-counter-04-b-expected.pngt1202-counter-12-b-expected.pngt1202-counter-14-b-expected.pngt1202-counters-03-b-expected.pngt1202-counters-05-b-expected.pngt1202-counters-18-f-expected.pngt1204-multiple-01-c-expected.pngt1205-c563-list-type-01-b-expected.pngt1601-c547-indent-00-b-a-expected.pngt170602-bdr-conflct-w-05-d-expected.pngt170602-bdr-conflct-w-10-d-expected.pngt170602-bdr-conflct-w-40-d-expected.pngt170602-bdr-conflct-w-56-d-expected.pngt170602-bdr-conflct-w-58-d-expected.pngt170602-bdr-conflct-w-67-d-expected.pngt170602-bdr-conflct-w-71-d-expected.pngt170602-bdr-conflct-w-76-d-expected.pngt170602-bdr-conflct-w-87-d-expected.pngt170602-bdr-conflct-w-93-d-expected.pngt170602-bdr-conflct-w-97-d-expected.png
css3
fast
images
media
transforms
virtual
platform
linux
animations
compositing
animation
color-matching
compositing-visible-descendant-expected.png
contents-opaque
direct-image-compositing-expected.pnggenerated-content-expected.png
geometry
gestures
iframes
images
layers-inside-overflow-scroll-expected.pnglayout-width-change-expected.png
masks
overflow
overlap-blending
reflections
self-painting-layers-expected.png
shadows
sibling-positioning-expected.png
squashing
text-on-large-layer-expected.pngtext-on-scaled-surface-expected.pngtransform-3d-scales-different-x-y-expected.png
transitions
video
webgl
css-parser
css1
basic
box_properties
cascade
classification
color_and_background
conformance
font_properties
formatting_model
pseudo
text_properties
units
css2.1
20110323
t010403-shand-border-00-c-expected.pngt010403-shand-font-00-b-expected.pngt010403-shand-font-01-b-expected.pngt010403-shand-font-02-b-expected.pngt010403-shand-font-03-b-expected.pngt040102-keywords-00-b-expected.pngt040102-keywords-01-b-expected.pngt040103-case-00-b-expected.pngt040103-case-01-c-expected.pngt040103-escapes-00-b-expected.pngt040103-escapes-01-b-expected.pngt040103-escapes-02-d-expected.pngt040103-escapes-03-b-expected.pngt040103-escapes-04-b-expected.pngt040103-escapes-05-c-expected.pngt040103-escapes-06-b-expected.pngt040103-escapes-07-b-expected.pngt040103-escapes-08-b-expected.pngt040103-ident-00-c-expected.pngt040103-ident-01-c-expected.pngt040103-ident-02-c-expected.pngt040103-ident-03-c-expected.pngt040103-ident-04-c-expected.pngt040103-ident-05-c-expected.pngt040103-ident-06-c-expected.pngt040103-ident-07-c-expected.pngt040103-ident-08-c-expected.pngt040103-ident-09-c-expected.pngt040103-ident-10-c-expected.pngt040103-ident-11-c-expected.pngt040103-ident-12-c-expected.pngt040103-ident-13-c-expected.pngt040105-atkeyw-00-b-expected.pngt040105-atkeyw-01-b-expected.pngt040105-atkeyw-02-b-expected.pngt040105-atrule-00-b-expected.pngt040105-atrule-01-b-expected.pngt040105-atrule-02-b-expected.pngt040105-atrule-03-b-expected.pngt040105-atrule-04-b-expected.pngt040105-import-00-b-expected.pngt040105-import-01-b-expected.pngt040105-import-10-b-expected.pngt040109-c17-comments-00-b-expected.pngt040109-c17-comments-01-b-expected.pngt0402-c71-fwd-parsing-00-f-expected.pngt0402-c71-fwd-parsing-01-f-expected.pngt0402-c71-fwd-parsing-02-f-expected.pngt0402-c71-fwd-parsing-03-f-expected.pngt0402-c71-fwd-parsing-04-f-expected.pngt0402-syntax-01-f-expected.pngt0402-syntax-02-f-expected.pngt0402-syntax-03-f-expected.pngt0402-syntax-04-f-expected.pngt0402-syntax-05-f-expected.pngt0402-syntax-06-f-expected.pngt040302-c61-ex-len-00-b-a-expected.pngt040302-c61-phys-len-00-b-expected.pngt040302-c61-rel-len-00-b-ag-expected.pngt040303-c62-percent-00-b-ag-expected.pngt040304-c64-uri-00-a-g-expected.pngt040306-c63-color-00-b-ag-expected.pngt040306-syntax-01-f-expected.pngt040307-syntax-01-b-expected.pngt050201-c12-grouping-00-b-expected.pngt0505-c16-descendant-00-e-expected.pngt0505-c16-descendant-01-e-expected.pngt0505-c16-descendant-02-e-expected.pngt050803-c14-classes-00-e-expected.pngt0509-c15-ids-00-a-expected.pngt0509-c15-ids-01-e-expected.pngt0509-id-sel-syntax-01-f-expected.pngt0509-id-sel-syntax-02-b-expected.pngt0510-c25-pseudo-elmnt-00-c-expected.pngt0511-c21-pseud-anch-00-e-i-expected.pngt0511-c21-pseud-link-00-e-expected.pngt0511-c21-pseud-link-01-e-expected.pngt0511-c21-pseud-link-02-e-expected.pngt0511-c21-pseud-link-03-e-expected.pngt051103-c21-activ-ln-00-e-i-expected.pngt051103-c21-focus-ln-00-e-i-expected.pngt051103-c21-hover-ln-00-e-i-expected.pngt051103-dom-hover-01-c-io-expected.pngt051103-dom-hover-02-c-io-expected.pngt051201-c23-first-line-00-b-expected.pngt051202-c24-first-lttr-00-b-expected.pngt051202-c26-psudo-nest-00-c-expected.pngt0602-c13-inh-underlin-00-e-expected.pngt0602-c13-inheritance-00-e-expected.pngt0602-inherit-bdr-pad-b-00-expected.pngt0603-c11-import-00-b-expected.pngt060401-c32-cascading-00-b-expected.pngt060402-c31-important-00-b-expected.pngt060403-c21-pseu-cls-00-e-i-expected.pngt060403-c21-pseu-id-00-e-i-expected.pngt0801-c412-hz-box-00-b-a-expected.pngt0803-c5501-imrgn-t-00-b-ag-expected.pngt0803-c5501-mrgn-t-00-b-a-expected.pngt0803-c5502-imrgn-r-00-b-ag-expected.pngt0803-c5502-imrgn-r-01-b-ag-expected.pngt0803-c5502-imrgn-r-02-b-a-expected.pngt0803-c5502-imrgn-r-03-b-a-expected.pngt0803-c5502-imrgn-r-04-b-ag-expected.pngt0803-c5502-imrgn-r-05-b-ag-expected.pngt0803-c5502-imrgn-r-06-b-ag-expected.pngt0803-c5502-mrgn-r-00-c-ag-expected.pngt0803-c5502-mrgn-r-01-c-a-expected.pngt0803-c5502-mrgn-r-02-c-expected.pngt0803-c5502-mrgn-r-03-c-expected.pngt0803-c5503-imrgn-b-00-b-a-expected.pngt0803-c5503-mrgn-b-00-b-a-expected.pngt0803-c5504-imrgn-l-00-b-ag-expected.pngt0803-c5504-imrgn-l-01-b-ag-expected.pngt0803-c5504-imrgn-l-02-b-ag-expected.pngt0803-c5504-imrgn-l-03-b-a-expected.pngt0803-c5504-imrgn-l-04-b-ag-expected.pngt0803-c5504-imrgn-l-05-b-ag-expected.pngt0803-c5504-imrgn-l-06-b-ag-expected.pngt0803-c5504-mrgn-l-00-c-ag-expected.pngt0803-c5504-mrgn-l-01-c-a-expected.pngt0803-c5504-mrgn-l-02-c-expected.pngt0803-c5504-mrgn-l-03-c-expected.pngt0803-c5505-imrgn-00-a-ag-expected.pngt0803-c5505-mrgn-00-b-ag-expected.pngt0803-c5505-mrgn-01-e-a-expected.pngt0803-c5505-mrgn-02-c-expected.pngt0803-c5505-mrgn-03-c-ag-expected.pngt080301-c411-vt-mrgn-00-b-expected.pngt0804-c5506-ipadn-t-00-b-a-expected.pngt0804-c5506-ipadn-t-01-b-a-expected.pngt0804-c5506-ipadn-t-02-b-a-expected.pngt0804-c5506-padn-t-00-b-a-expected.pngt0804-c5507-ipadn-r-00-b-ag-expected.pngt0804-c5507-ipadn-r-01-b-ag-expected.pngt0804-c5507-ipadn-r-02-b-ag-expected.pngt0804-c5507-ipadn-r-03-b-a-expected.pngt0804-c5507-ipadn-r-04-b-ag-expected.pngt0804-c5507-padn-r-00-c-ag-expected.pngt0804-c5507-padn-r-01-c-a-expected.pngt0804-c5507-padn-r-02-f-expected.pngt0804-c5507-padn-r-03-f-expected.pngt0804-c5508-ipadn-b-00-b-a-expected.pngt0804-c5508-ipadn-b-01-f-a-expected.pngt0804-c5508-ipadn-b-02-b-a-expected.pngt0804-c5508-ipadn-b-03-b-a-expected.pngt0804-c5509-ipadn-l-00-b-ag-expected.pngt0804-c5509-ipadn-l-01-b-ag-expected.pngt0804-c5509-ipadn-l-02-b-ag-expected.pngt0804-c5509-ipadn-l-03-b-a-expected.pngt0804-c5509-ipadn-l-04-f-ag-expected.pngt0804-c5509-padn-l-00-b-ag-expected.pngt0804-c5509-padn-l-01-b-a-expected.pngt0804-c5509-padn-l-02-f-expected.pngt0804-c5509-padn-l-03-f-g-expected.pngt0804-c5510-ipadn-00-b-ag-expected.pngt0804-c5510-padn-00-b-ag-expected.pngt0804-c5510-padn-01-e-a-expected.pngt0804-c5510-padn-02-f-expected.pngt0805-c5511-brdr-tw-00-b-expected.pngt0805-c5511-brdr-tw-01-b-g-expected.pngt0805-c5511-brdr-tw-02-b-expected.pngt0805-c5511-brdr-tw-03-b-expected.pngt0805-c5511-ibrdr-tw-00-a-expected.pngt0805-c5512-brdr-rw-00-b-expected.pngt0805-c5512-brdr-rw-01-b-g-expected.pngt0805-c5512-brdr-rw-02-b-expected.pngt0805-c5512-brdr-rw-03-b-expected.pngt0805-c5512-ibrdr-rw-00-a-expected.pngt0805-c5513-brdr-bw-00-b-expected.pngt0805-c5513-brdr-bw-01-b-g-expected.pngt0805-c5513-brdr-bw-02-b-expected.pngt0805-c5513-brdr-bw-03-b-expected.pngt0805-c5513-ibrdr-bw-00-a-expected.pngt0805-c5514-brdr-lw-00-b-expected.pngt0805-c5514-brdr-lw-01-b-g-expected.pngt0805-c5514-brdr-lw-02-b-expected.pngt0805-c5514-brdr-lw-03-b-expected.pngt0805-c5514-ibrdr-lw-00-a-expected.pngt0805-c5515-brdr-w-00-a-expected.pngt0805-c5515-brdr-w-01-b-g-expected.pngt0805-c5515-brdr-w-02-b-expected.pngt0805-c5515-ibrdr-00-b-expected.pngt0805-c5516-brdr-c-00-a-expected.pngt0805-c5516-ibrdr-c-00-a-expected.pngt0805-c5517-brdr-s-00-c-expected.pngt0805-c5517-ibrdr-s-00-a-expected.pngt0805-c5518-brdr-t-00-a-expected.pngt0805-c5518-brdr-t-01-e-expected.pngt0805-c5518-ibrdr-t-00-a-expected.pngt0805-c5519-brdr-r-00-a-expected.pngt0805-c5519-brdr-r-01-e-expected.pngt0805-c5519-brdr-r-02-e-expected.pngt0805-c5519-ibrdr-r-00-a-expected.pngt0805-c5520-brdr-b-00-a-expected.pngt0805-c5520-brdr-b-01-e-expected.pngt0805-c5520-ibrdr-b-00-a-expected.pngt0805-c5521-brdr-l-00-a-expected.pngt0805-c5521-brdr-l-01-e-expected.pngt0805-c5521-brdr-l-02-e-expected.pngt0805-c5521-ibrdr-l-00-a-expected.pngt0805-c5522-brdr-00-b-expected.pngt0805-c5522-brdr-01-b-g-expected.pngt0805-c5522-brdr-02-e-expected.pngt0805-c5522-ibrdr-00-a-expected.pngt09-c5526c-display-00-e-expected.pngt090204-display-change-01-b-ao-expected.pngt090402-c42-ibx-pad-00-d-ag-expected.pngt0905-c414-flt-00-d-expected.pngt0905-c414-flt-01-d-g-expected.pngt0905-c414-flt-02-c-expected.pngt0905-c414-flt-03-c-expected.pngt0905-c414-flt-04-c-expected.pngt0905-c414-flt-fit-00-d-expected.pngt0905-c414-flt-fit-01-d-g-expected.pngt0905-c414-flt-wrap-00-e-expected.pngt0905-c414-flt-wrap-01-d-g-expected.pngt0905-c5525-fltblck-00-d-ag-expected.pngt0905-c5525-fltblck-01-d-expected.pngt0905-c5525-fltclr-00-c-ag-expected.pngt0905-c5525-fltcont-00-d-g-expected.pngt0905-c5525-flthw-00-c-g-expected.pngt0905-c5525-fltinln-00-c-ag-expected.pngt0905-c5525-fltmrgn-00-c-ag-expected.pngt0905-c5525-fltmult-00-d-g-expected.pngt0905-c5525-fltwidth-00-c-g-expected.pngt0905-c5525-fltwidth-01-c-g-expected.pngt0905-c5525-fltwidth-02-c-g-expected.pngt0905-c5525-fltwidth-03-c-g-expected.pngt0905-c5525-fltwrap-00-b-expected.pngt0905-c5526-fltclr-00-c-ag-expected.pngt0905-c5526-flthw-00-c-g-expected.pngt090501-c414-flt-00-d-expected.pngt090501-c414-flt-01-b-expected.pngt090501-c414-flt-03-b-g-expected.pngt090501-c414-flt-ln-00-d-expected.pngt090501-c414-flt-ln-01-d-g-expected.pngt090501-c414-flt-ln-02-d-expected.pngt090501-c414-flt-ln-03-d-expected.pngt090501-c5525-flt-l-00-b-g-expected.pngt090501-c5525-flt-r-00-b-g-expected.pngt1001-abs-pos-cb-01-b-expected.pngt1001-abs-pos-cb-02-b-expected.pngt1001-abs-pos-cb-03-b-expected.pngt1001-abs-pos-cb-04-b-expected.pngt1001-abs-pos-cb-05-b-expected.pngt1001-abs-pos-cb-06-b-expected.pngt1001-abs-pos-cb-07-b-expected.pngt1001-abs-pos-cb-08-b-expected.pngt1001-abs-pos-cb-09-b-expected.pngt1002-c5523-width-00-b-g-expected.pngt1002-c5523-width-01-b-g-expected.pngt1002-c5523-width-02-b-g-expected.pngt100303-c412-blockw-00-d-ag-expected.pngt100304-c43-rpl-bbx-00-d-g-expected.pngt100304-c43-rpl-bbx-01-d-g-expected.pngt1004-c43-rpl-bbx-00-d-ag-expected.pngt1004-c43-rpl-ibx-00-d-ag-expected.pngt1004-c5524-width-00-b-g-expected.pngt1005-c5524-width-00-b-g-expected.pngt1005-c5524-width-01-b-g-expected.pngt1008-c44-ln-box-00-d-ag-expected.pngt1008-c44-ln-box-01-d-ag-expected.pngt1008-c44-ln-box-02-d-ag-expected.pngt1008-c44-ln-box-03-d-ag-expected.pngt100801-c42-ibx-ht-00-d-a-expected.pngt100801-c544-valgn-00-a-ag-expected.pngt100801-c544-valgn-01-d-ag-expected.pngt100801-c544-valgn-02-d-agi-expected.pngt100801-c544-valgn-03-d-agi-expected.pngt100801-c544-valgn-04-d-agi-expected.pngt100801-c548-leadin-00-d-a-expected.pngt100801-c548-ln-ht-00-c-a-expected.pngt100801-c548-ln-ht-01-b-ag-expected.pngt100801-c548-ln-ht-02-b-ag-expected.pngt100801-c548-ln-ht-03-d-ag-expected.pngt100801-c548-ln-ht-04-d-ag-expected.pngt1202-counter-00-b-expected.pngt1202-counter-01-b-expected.pngt1202-counter-02-b-expected.pngt1202-counter-03-b-expected.pngt1202-counter-04-b-expected.pngt1202-counter-05-b-expected.pngt1202-counter-11-b-expected.pngt1202-counter-12-b-expected.pngt1202-counter-13-b-expected.pngt1202-counter-14-b-expected.pngt1202-counter-15-b-expected.pngt1202-counter-16-f-expected.pngt1202-counters-00-b-expected.pngt1202-counters-01-b-expected.pngt1202-counters-02-b-expected.pngt1202-counters-03-b-expected.pngt1202-counters-04-b-expected.pngt1202-counters-05-b-expected.pngt1202-counters-11-b-expected.pngt1202-counters-12-b-expected.pngt1202-counters-13-b-expected.pngt1202-counters-14-b-expected.pngt1202-counters-15-b-expected.pngt1202-counters-16-c-expected.pngt1202-counters-17-d-expected.pngt1202-counters-18-f-expected.pngt1204-implied-00-b-expected.pngt1204-implied-01-c-expected.pngt1204-multiple-00-c-expected.pngt1204-multiple-01-c-expected.pngt1204-order-00-c-expected.pngt1204-order-01-d-expected.pngt1204-root-e-expected.pngt120401-scope-03-c-expected.pngt120403-content-none-00-c-expected.pngt120403-display-none-00-c-expected.pngt120403-visibility-00-c-expected.pngt1205-c561-list-displ-00-b-expected.pngt1205-c563-list-type-00-b-expected.pngt1205-c563-list-type-01-b-expected.pngt1205-c564-list-img-00-b-g-expected.pngt1205-c565-list-pos-00-b-expected.pngt1205-c566-list-stl-00-e-ag-expected.pngt1205-c566-list-stl-01-c-g-expected.pngt1401-c531-color-00-a-expected.pngt1402-c45-bg-canvas-00-b-expected.pngt140201-c532-bgcolor-00-a-expected.pngt140201-c532-bgcolor-01-b-expected.pngt140201-c533-bgimage-00-a-expected.pngt140201-c533-bgimage-01-b-g-expected.pngt140201-c534-bgre-00-b-ag-expected.pngt140201-c534-bgre-01-b-ag-expected.pngt140201-c534-bgreps-00-c-ag-expected.pngt140201-c534-bgreps-01-c-ag-expected.pngt140201-c534-bgreps-02-c-ag-expected.pngt140201-c534-bgreps-03-c-ag-expected.pngt140201-c534-bgreps-04-c-ag-expected.pngt140201-c534-bgreps-05-c-ag-expected.pngt140201-c535-bg-fixd-00-b-g-expected.pngt140201-c536-bgpos-00-b-ag-expected.pngt140201-c536-bgpos-01-b-ag-expected.pngt140201-c537-bgfxps-00-c-ag-expected.pngt1503-c522-font-family-00-b-expected.pngt1504-c523-font-style-00-b-expected.pngt1505-c524-font-var-00-b-expected.pngt1506-c525-font-wt-00-b-expected.pngt1507-c526-font-sz-00-b-expected.pngt1507-c526-font-sz-01-b-a-expected.pngt1507-c526-font-sz-02-b-a-expected.pngt1507-c526-font-sz-03-f-a-expected.pngt1508-c527-font-00-b-expected.pngt1508-c527-font-01-b-expected.pngt1508-c527-font-02-b-expected.pngt1508-c527-font-03-b-expected.pngt1508-c527-font-04-b-expected.pngt1508-c527-font-05-b-expected.pngt1508-c527-font-06-b-expected.pngt1508-c527-font-07-b-expected.pngt1508-c527-font-08-b-expected.pngt1508-c527-font-09-b-expected.pngt1508-c527-font-10-c-expected.pngt1601-c547-indent-00-b-a-expected.pngt1601-c547-indent-01-d-expected.pngt1602-c43-center-00-d-ag-expected.pngt1602-c546-txt-align-00-b-expected.pngt1604-c542-letter-sp-00-b-a-expected.pngt1604-c542-letter-sp-01-b-a-expected.pngt1605-c545-txttrans-00-b-ag-expected.pngt1606-c562-white-sp-00-b-ag-expected.pngt170602-bdr-conflct-w-00-d-expected.pngt170602-bdr-conflct-w-01-d-expected.pngt170602-bdr-conflct-w-02-d-expected.pngt170602-bdr-conflct-w-03-d-expected.pngt170602-bdr-conflct-w-04-d-expected.pngt170602-bdr-conflct-w-05-d-expected.pngt170602-bdr-conflct-w-06-d-expected.pngt170602-bdr-conflct-w-07-d-expected.pngt170602-bdr-conflct-w-08-d-expected.pngt170602-bdr-conflct-w-09-d-expected.pngt170602-bdr-conflct-w-10-d-expected.pngt170602-bdr-conflct-w-11-d-expected.pngt170602-bdr-conflct-w-12-d-expected.pngt170602-bdr-conflct-w-13-d-expected.pngt170602-bdr-conflct-w-14-d-expected.pngt170602-bdr-conflct-w-15-d-expected.pngt170602-bdr-conflct-w-16-d-expected.pngt170602-bdr-conflct-w-17-d-expected.pngt170602-bdr-conflct-w-18-d-expected.pngt170602-bdr-conflct-w-19-d-expected.pngt170602-bdr-conflct-w-20-d-expected.pngt170602-bdr-conflct-w-21-d-expected.pngt170602-bdr-conflct-w-22-d-expected.pngt170602-bdr-conflct-w-23-d-expected.pngt170602-bdr-conflct-w-24-d-expected.pngt170602-bdr-conflct-w-25-d-expected.pngt170602-bdr-conflct-w-26-d-expected.pngt170602-bdr-conflct-w-27-d-expected.pngt170602-bdr-conflct-w-28-d-expected.pngt170602-bdr-conflct-w-29-d-expected.pngt170602-bdr-conflct-w-30-d-expected.pngt170602-bdr-conflct-w-31-d-expected.pngt170602-bdr-conflct-w-32-d-expected.pngt170602-bdr-conflct-w-33-d-expected.pngt170602-bdr-conflct-w-34-d-expected.pngt170602-bdr-conflct-w-35-d-expected.pngt170602-bdr-conflct-w-36-d-expected.pngt170602-bdr-conflct-w-37-d-expected.pngt170602-bdr-conflct-w-38-d-expected.pngt170602-bdr-conflct-w-39-d-expected.pngt170602-bdr-conflct-w-40-d-expected.pngt170602-bdr-conflct-w-41-d-expected.pngt170602-bdr-conflct-w-42-d-expected.pngt170602-bdr-conflct-w-43-d-expected.pngt170602-bdr-conflct-w-44-d-expected.pngt170602-bdr-conflct-w-45-d-expected.pngt170602-bdr-conflct-w-46-d-expected.pngt170602-bdr-conflct-w-47-d-expected.pngt170602-bdr-conflct-w-48-d-expected.pngt170602-bdr-conflct-w-49-d-expected.pngt170602-bdr-conflct-w-50-d-expected.pngt170602-bdr-conflct-w-51-d-expected.pngt170602-bdr-conflct-w-52-d-expected.pngt170602-bdr-conflct-w-53-d-expected.pngt170602-bdr-conflct-w-54-d-expected.pngt170602-bdr-conflct-w-55-d-expected.pngt170602-bdr-conflct-w-56-d-expected.pngt170602-bdr-conflct-w-57-d-expected.pngt170602-bdr-conflct-w-58-d-expected.pngt170602-bdr-conflct-w-59-d-expected.pngt170602-bdr-conflct-w-60-d-expected.pngt170602-bdr-conflct-w-61-d-expected.pngt170602-bdr-conflct-w-62-d-expected.pngt170602-bdr-conflct-w-63-d-expected.pngt170602-bdr-conflct-w-64-d-expected.pngt170602-bdr-conflct-w-65-d-expected.pngt170602-bdr-conflct-w-66-d-expected.pngt170602-bdr-conflct-w-67-d-expected.pngt170602-bdr-conflct-w-68-d-expected.pngt170602-bdr-conflct-w-69-d-expected.pngt170602-bdr-conflct-w-70-d-expected.pngt170602-bdr-conflct-w-71-d-expected.pngt170602-bdr-conflct-w-72-d-expected.pngt170602-bdr-conflct-w-73-d-expected.pngt170602-bdr-conflct-w-74-d-expected.pngt170602-bdr-conflct-w-75-d-expected.pngt170602-bdr-conflct-w-76-d-expected.pngt170602-bdr-conflct-w-77-d-expected.pngt170602-bdr-conflct-w-78-d-expected.pngt170602-bdr-conflct-w-79-d-expected.pngt170602-bdr-conflct-w-80-d-expected.pngt170602-bdr-conflct-w-81-d-expected.pngt170602-bdr-conflct-w-82-d-expected.pngt170602-bdr-conflct-w-83-d-expected.pngt170602-bdr-conflct-w-84-d-expected.pngt170602-bdr-conflct-w-85-d-expected.pngt170602-bdr-conflct-w-86-d-expected.pngt170602-bdr-conflct-w-87-d-expected.pngt170602-bdr-conflct-w-88-d-expected.pngt170602-bdr-conflct-w-89-d-expected.pngt170602-bdr-conflct-w-90-d-expected.pngt170602-bdr-conflct-w-91-d-expected.pngt170602-bdr-conflct-w-92-d-expected.pngt170602-bdr-conflct-w-93-d-expected.pngt170602-bdr-conflct-w-94-d-expected.pngt170602-bdr-conflct-w-95-d-expected.pngt170602-bdr-conflct-w-96-d-expected.pngt170602-bdr-conflct-w-97-d-expected.pngt170602-bdr-conflct-w-98-d-expected.pngt170602-bdr-conflct-w-99-d-expected.png
css3
blending
css3-modsel-33-expected.pngcss3-modsel-35-expected.pngcss3-modsel-36-expected.pngcss3-modsel-37-expected.png
filters
flexbox
font-feature-settings-rendering-expected.png
masking
selectors3
html
css3-modsel-1-expected.pngcss3-modsel-10-expected.pngcss3-modsel-11-expected.pngcss3-modsel-13-expected.pngcss3-modsel-14-expected.pngcss3-modsel-144-expected.pngcss3-modsel-148-expected.pngcss3-modsel-149-expected.pngcss3-modsel-149b-expected.pngcss3-modsel-14b-expected.pngcss3-modsel-14c-expected.pngcss3-modsel-14d-expected.pngcss3-modsel-14e-expected.pngcss3-modsel-15-expected.pngcss3-modsel-150-expected.pngcss3-modsel-151-expected.pngcss3-modsel-152-expected.pngcss3-modsel-154-expected.pngcss3-modsel-155-expected.pngcss3-modsel-155a-expected.pngcss3-modsel-155b-expected.pngcss3-modsel-155c-expected.pngcss3-modsel-155d-expected.pngcss3-modsel-156-expected.pngcss3-modsel-156b-expected.pngcss3-modsel-156c-expected.pngcss3-modsel-157-expected.pngcss3-modsel-158-expected.pngcss3-modsel-159-expected.pngcss3-modsel-15b-expected.pngcss3-modsel-16-expected.pngcss3-modsel-160-expected.pngcss3-modsel-161-expected.pngcss3-modsel-166-expected.pngcss3-modsel-166a-expected.pngcss3-modsel-167-expected.pngcss3-modsel-167a-expected.pngcss3-modsel-168-expected.pngcss3-modsel-168a-expected.pngcss3-modsel-169-expected.pngcss3-modsel-169a-expected.pngcss3-modsel-17-expected.pngcss3-modsel-170-expected.pngcss3-modsel-170a-expected.pngcss3-modsel-170b-expected.pngcss3-modsel-170c-expected.pngcss3-modsel-170d-expected.pngcss3-modsel-175a-expected.pngcss3-modsel-175b-expected.pngcss3-modsel-175c-expected.pngcss3-modsel-176-expected.pngcss3-modsel-177a-expected.pngcss3-modsel-177b-expected.pngcss3-modsel-178-expected.pngcss3-modsel-179-expected.pngcss3-modsel-179a-expected.pngcss3-modsel-18-expected.pngcss3-modsel-180a-expected.pngcss3-modsel-181-expected.pngcss3-modsel-183-expected.pngcss3-modsel-184a-expected.pngcss3-modsel-184b-expected.pngcss3-modsel-184c-expected.pngcss3-modsel-184d-expected.pngcss3-modsel-184e-expected.pngcss3-modsel-184f-expected.pngcss3-modsel-18a-expected.pngcss3-modsel-18b-expected.pngcss3-modsel-18c-expected.pngcss3-modsel-19-expected.pngcss3-modsel-19b-expected.pngcss3-modsel-2-expected.pngcss3-modsel-20-expected.pngcss3-modsel-21-expected.pngcss3-modsel-21b-expected.pngcss3-modsel-21c-expected.pngcss3-modsel-22-expected.pngcss3-modsel-25-expected.pngcss3-modsel-27-expected.pngcss3-modsel-27b-expected.pngcss3-modsel-28-expected.pngcss3-modsel-28b-expected.pngcss3-modsel-29-expected.pngcss3-modsel-29b-expected.pngcss3-modsel-30-expected.pngcss3-modsel-31-expected.pngcss3-modsel-32-expected.pngcss3-modsel-33-expected.pngcss3-modsel-34-expected.pngcss3-modsel-35-expected.pngcss3-modsel-36-expected.pngcss3-modsel-37-expected.pngcss3-modsel-38-expected.pngcss3-modsel-39-expected.pngcss3-modsel-39a-expected.pngcss3-modsel-39b-expected.pngcss3-modsel-39c-expected.pngcss3-modsel-3a-expected.pngcss3-modsel-4-expected.pngcss3-modsel-41-expected.pngcss3-modsel-41a-expected.pngcss3-modsel-42-expected.pngcss3-modsel-42a-expected.pngcss3-modsel-43-expected.pngcss3-modsel-43b-expected.pngcss3-modsel-44-expected.pngcss3-modsel-44b-expected.pngcss3-modsel-44c-expected.pngcss3-modsel-44d-expected.pngcss3-modsel-45-expected.pngcss3-modsel-45b-expected.pngcss3-modsel-45c-expected.pngcss3-modsel-46-expected.pngcss3-modsel-46b-expected.pngcss3-modsel-5-expected.pngcss3-modsel-54-expected.pngcss3-modsel-55-expected.pngcss3-modsel-56-expected.pngcss3-modsel-59-expected.pngcss3-modsel-6-expected.pngcss3-modsel-60-expected.pngcss3-modsel-61-expected.pngcss3-modsel-62-expected.pngcss3-modsel-63-expected.pngcss3-modsel-64-expected.pngcss3-modsel-65-expected.pngcss3-modsel-66-expected.pngcss3-modsel-66b-expected.pngcss3-modsel-67-expected.pngcss3-modsel-7-expected.pngcss3-modsel-70-expected.pngcss3-modsel-72-expected.pngcss3-modsel-72b-expected.pngcss3-modsel-73-expected.pngcss3-modsel-73b-expected.pngcss3-modsel-74-expected.pngcss3-modsel-74b-expected.pngcss3-modsel-75-expected.pngcss3-modsel-75b-expected.pngcss3-modsel-76-expected.pngcss3-modsel-76b-expected.pngcss3-modsel-77-expected.pngcss3-modsel-77b-expected.pngcss3-modsel-78-expected.pngcss3-modsel-78b-expected.pngcss3-modsel-79-expected.pngcss3-modsel-7b-expected.pngcss3-modsel-8-expected.pngcss3-modsel-80-expected.pngcss3-modsel-81-expected.pngcss3-modsel-81b-expected.pngcss3-modsel-82-expected.pngcss3-modsel-82b-expected.pngcss3-modsel-86-expected.pngcss3-modsel-87-expected.pngcss3-modsel-87b-expected.pngcss3-modsel-88-expected.pngcss3-modsel-88b-expected.pngcss3-modsel-89-expected.pngcss3-modsel-9-expected.pngcss3-modsel-90-expected.pngcss3-modsel-90b-expected.pngcss3-modsel-d1-expected.pngcss3-modsel-d1b-expected.pngcss3-modsel-d2-expected.pngcss3-modsel-d4-expected.png
xhtml
css3-modsel-1-expected.pngcss3-modsel-10-expected.pngcss3-modsel-100-expected.pngcss3-modsel-100b-expected.pngcss3-modsel-101-expected.pngcss3-modsel-101b-expected.pngcss3-modsel-102-expected.pngcss3-modsel-102b-expected.pngcss3-modsel-103-expected.pngcss3-modsel-103b-expected.pngcss3-modsel-104-expected.pngcss3-modsel-104b-expected.pngcss3-modsel-105-expected.pngcss3-modsel-105b-expected.pngcss3-modsel-106-expected.pngcss3-modsel-106b-expected.pngcss3-modsel-107-expected.pngcss3-modsel-107b-expected.pngcss3-modsel-108-expected.pngcss3-modsel-108b-expected.pngcss3-modsel-109-expected.pngcss3-modsel-109b-expected.pngcss3-modsel-11-expected.pngcss3-modsel-110-expected.pngcss3-modsel-110b-expected.pngcss3-modsel-111-expected.pngcss3-modsel-111b-expected.pngcss3-modsel-112-expected.pngcss3-modsel-112b-expected.pngcss3-modsel-113-expected.pngcss3-modsel-113b-expected.pngcss3-modsel-114-expected.pngcss3-modsel-114b-expected.pngcss3-modsel-115-expected.pngcss3-modsel-115b-expected.pngcss3-modsel-116-expected.pngcss3-modsel-116b-expected.pngcss3-modsel-117-expected.pngcss3-modsel-117b-expected.pngcss3-modsel-118-expected.pngcss3-modsel-119-expected.pngcss3-modsel-120-expected.pngcss3-modsel-121-expected.pngcss3-modsel-122-expected.pngcss3-modsel-123-expected.pngcss3-modsel-123b-expected.pngcss3-modsel-124-expected.pngcss3-modsel-124b-expected.pngcss3-modsel-125-expected.pngcss3-modsel-125b-expected.pngcss3-modsel-126-expected.pngcss3-modsel-126b-expected.pngcss3-modsel-127-expected.pngcss3-modsel-127b-expected.pngcss3-modsel-128-expected.pngcss3-modsel-128b-expected.pngcss3-modsel-129-expected.pngcss3-modsel-129b-expected.pngcss3-modsel-13-expected.pngcss3-modsel-130-expected.pngcss3-modsel-130b-expected.pngcss3-modsel-131-expected.pngcss3-modsel-131b-expected.pngcss3-modsel-132-expected.pngcss3-modsel-132b-expected.pngcss3-modsel-133-expected.pngcss3-modsel-133b-expected.pngcss3-modsel-134-expected.pngcss3-modsel-134b-expected.pngcss3-modsel-135-expected.pngcss3-modsel-135b-expected.pngcss3-modsel-136-expected.pngcss3-modsel-136b-expected.pngcss3-modsel-137-expected.pngcss3-modsel-137b-expected.pngcss3-modsel-138-expected.pngcss3-modsel-138b-expected.pngcss3-modsel-139-expected.pngcss3-modsel-139b-expected.pngcss3-modsel-14-expected.pngcss3-modsel-140-expected.pngcss3-modsel-140b-expected.pngcss3-modsel-141-expected.pngcss3-modsel-141b-expected.pngcss3-modsel-142-expected.pngcss3-modsel-142b-expected.pngcss3-modsel-143-expected.pngcss3-modsel-143b-expected.pngcss3-modsel-144-expected.pngcss3-modsel-145a-expected.pngcss3-modsel-145b-expected.pngcss3-modsel-146a-expected.pngcss3-modsel-146b-expected.pngcss3-modsel-147a-expected.pngcss3-modsel-147b-expected.pngcss3-modsel-148-expected.pngcss3-modsel-149-expected.pngcss3-modsel-149b-expected.pngcss3-modsel-14b-expected.pngcss3-modsel-14c-expected.pngcss3-modsel-14d-expected.pngcss3-modsel-14e-expected.pngcss3-modsel-15-expected.pngcss3-modsel-150-expected.pngcss3-modsel-151-expected.pngcss3-modsel-152-expected.pngcss3-modsel-153-expected.pngcss3-modsel-154-expected.pngcss3-modsel-155-expected.pngcss3-modsel-155a-expected.pngcss3-modsel-155b-expected.pngcss3-modsel-155c-expected.pngcss3-modsel-155d-expected.pngcss3-modsel-156-expected.pngcss3-modsel-156b-expected.pngcss3-modsel-156c-expected.pngcss3-modsel-157-expected.pngcss3-modsel-158-expected.pngcss3-modsel-159-expected.pngcss3-modsel-15b-expected.pngcss3-modsel-15c-expected.pngcss3-modsel-16-expected.pngcss3-modsel-160-expected.pngcss3-modsel-161-expected.pngcss3-modsel-166-expected.pngcss3-modsel-166a-expected.pngcss3-modsel-167-expected.pngcss3-modsel-167a-expected.pngcss3-modsel-168-expected.pngcss3-modsel-168a-expected.pngcss3-modsel-169-expected.pngcss3-modsel-169a-expected.pngcss3-modsel-17-expected.pngcss3-modsel-170-expected.pngcss3-modsel-170a-expected.pngcss3-modsel-170b-expected.pngcss3-modsel-170c-expected.pngcss3-modsel-170d-expected.pngcss3-modsel-171-expected.pngcss3-modsel-172a-expected.pngcss3-modsel-172b-expected.pngcss3-modsel-173a-expected.pngcss3-modsel-173b-expected.pngcss3-modsel-174a-expected.pngcss3-modsel-174b-expected.pngcss3-modsel-175a-expected.pngcss3-modsel-175b-expected.pngcss3-modsel-175c-expected.pngcss3-modsel-176-expected.pngcss3-modsel-177a-expected.pngcss3-modsel-177b-expected.pngcss3-modsel-178-expected.pngcss3-modsel-179-expected.pngcss3-modsel-179a-expected.pngcss3-modsel-18-expected.pngcss3-modsel-180a-expected.pngcss3-modsel-181-expected.pngcss3-modsel-182-expected.pngcss3-modsel-183-expected.pngcss3-modsel-184a-expected.pngcss3-modsel-184b-expected.pngcss3-modsel-184c-expected.pngcss3-modsel-184d-expected.pngcss3-modsel-184e-expected.pngcss3-modsel-184f-expected.pngcss3-modsel-18a-expected.pngcss3-modsel-18b-expected.pngcss3-modsel-18c-expected.pngcss3-modsel-19-expected.pngcss3-modsel-19b-expected.pngcss3-modsel-2-expected.pngcss3-modsel-20-expected.pngcss3-modsel-21-expected.pngcss3-modsel-21b-expected.pngcss3-modsel-21c-expected.pngcss3-modsel-22-expected.pngcss3-modsel-25-expected.pngcss3-modsel-27-expected.pngcss3-modsel-27b-expected.pngcss3-modsel-28-expected.pngcss3-modsel-28b-expected.pngcss3-modsel-29-expected.pngcss3-modsel-29b-expected.pngcss3-modsel-3-expected.pngcss3-modsel-30-expected.pngcss3-modsel-31-expected.pngcss3-modsel-32-expected.pngcss3-modsel-33-expected.pngcss3-modsel-34-expected.pngcss3-modsel-35-expected.pngcss3-modsel-36-expected.pngcss3-modsel-37-expected.pngcss3-modsel-38-expected.pngcss3-modsel-39-expected.pngcss3-modsel-39a-expected.pngcss3-modsel-39b-expected.pngcss3-modsel-39c-expected.pngcss3-modsel-3a-expected.pngcss3-modsel-4-expected.pngcss3-modsel-41-expected.pngcss3-modsel-41a-expected.pngcss3-modsel-42-expected.pngcss3-modsel-42a-expected.pngcss3-modsel-43-expected.pngcss3-modsel-43b-expected.pngcss3-modsel-44-expected.pngcss3-modsel-44b-expected.pngcss3-modsel-44c-expected.pngcss3-modsel-44d-expected.pngcss3-modsel-45-expected.pngcss3-modsel-45b-expected.pngcss3-modsel-45c-expected.pngcss3-modsel-46-expected.pngcss3-modsel-46b-expected.pngcss3-modsel-47-expected.pngcss3-modsel-48-expected.pngcss3-modsel-49-expected.pngcss3-modsel-5-expected.pngcss3-modsel-50-expected.pngcss3-modsel-51-expected.pngcss3-modsel-52-expected.pngcss3-modsel-53-expected.pngcss3-modsel-54-expected.pngcss3-modsel-55-expected.pngcss3-modsel-56-expected.pngcss3-modsel-57-expected.pngcss3-modsel-57b-expected.pngcss3-modsel-59-expected.pngcss3-modsel-6-expected.pngcss3-modsel-60-expected.pngcss3-modsel-61-expected.pngcss3-modsel-62-expected.pngcss3-modsel-63-expected.pngcss3-modsel-64-expected.pngcss3-modsel-65-expected.pngcss3-modsel-66-expected.pngcss3-modsel-66b-expected.pngcss3-modsel-67-expected.pngcss3-modsel-7-expected.pngcss3-modsel-70-expected.pngcss3-modsel-72-expected.pngcss3-modsel-72b-expected.pngcss3-modsel-73-expected.pngcss3-modsel-73b-expected.pngcss3-modsel-74-expected.pngcss3-modsel-74b-expected.pngcss3-modsel-75-expected.pngcss3-modsel-75b-expected.pngcss3-modsel-76-expected.pngcss3-modsel-76b-expected.pngcss3-modsel-77-expected.pngcss3-modsel-77b-expected.pngcss3-modsel-78-expected.pngcss3-modsel-78b-expected.pngcss3-modsel-79-expected.pngcss3-modsel-7b-expected.pngcss3-modsel-8-expected.pngcss3-modsel-80-expected.pngcss3-modsel-81-expected.pngcss3-modsel-81b-expected.pngcss3-modsel-82-expected.pngcss3-modsel-82b-expected.pngcss3-modsel-86-expected.pngcss3-modsel-87-expected.pngcss3-modsel-87b-expected.pngcss3-modsel-88-expected.pngcss3-modsel-88b-expected.pngcss3-modsel-89-expected.pngcss3-modsel-9-expected.pngcss3-modsel-90-expected.pngcss3-modsel-90b-expected.pngcss3-modsel-91-expected.pngcss3-modsel-92-expected.pngcss3-modsel-93-expected.pngcss3-modsel-94-expected.pngcss3-modsel-94b-expected.pngcss3-modsel-95-expected.pngcss3-modsel-96-expected.pngcss3-modsel-96b-expected.pngcss3-modsel-97-expected.pngcss3-modsel-97b-expected.pngcss3-modsel-98-expected.pngcss3-modsel-98b-expected.pngcss3-modsel-99-expected.pngcss3-modsel-99b-expected.pngcss3-modsel-d1-expected.pngcss3-modsel-d1b-expected.pngcss3-modsel-d2-expected.pngcss3-modsel-d3-expected.pngcss3-modsel-d4-expected.png
xml
css3-modsel-1-expected.pngcss3-modsel-10-expected.pngcss3-modsel-100-expected.pngcss3-modsel-100b-expected.pngcss3-modsel-101-expected.pngcss3-modsel-101b-expected.pngcss3-modsel-102-expected.pngcss3-modsel-102b-expected.pngcss3-modsel-103-expected.pngcss3-modsel-103b-expected.pngcss3-modsel-104-expected.pngcss3-modsel-104b-expected.pngcss3-modsel-105-expected.pngcss3-modsel-105b-expected.pngcss3-modsel-106-expected.pngcss3-modsel-106b-expected.pngcss3-modsel-107-expected.pngcss3-modsel-107b-expected.pngcss3-modsel-108-expected.pngcss3-modsel-108b-expected.pngcss3-modsel-109-expected.pngcss3-modsel-109b-expected.pngcss3-modsel-11-expected.pngcss3-modsel-110-expected.pngcss3-modsel-110b-expected.pngcss3-modsel-111-expected.pngcss3-modsel-111b-expected.pngcss3-modsel-112-expected.pngcss3-modsel-112b-expected.pngcss3-modsel-113-expected.pngcss3-modsel-113b-expected.pngcss3-modsel-114-expected.pngcss3-modsel-114b-expected.pngcss3-modsel-115-expected.pngcss3-modsel-115b-expected.pngcss3-modsel-116-expected.pngcss3-modsel-116b-expected.pngcss3-modsel-117-expected.pngcss3-modsel-117b-expected.pngcss3-modsel-118-expected.pngcss3-modsel-119-expected.pngcss3-modsel-120-expected.pngcss3-modsel-121-expected.pngcss3-modsel-122-expected.pngcss3-modsel-123-expected.pngcss3-modsel-123b-expected.pngcss3-modsel-124-expected.pngcss3-modsel-124b-expected.pngcss3-modsel-125-expected.pngcss3-modsel-125b-expected.pngcss3-modsel-126-expected.pngcss3-modsel-126b-expected.pngcss3-modsel-127-expected.pngcss3-modsel-127b-expected.pngcss3-modsel-128-expected.pngcss3-modsel-128b-expected.pngcss3-modsel-129-expected.pngcss3-modsel-129b-expected.pngcss3-modsel-13-expected.pngcss3-modsel-130-expected.pngcss3-modsel-130b-expected.pngcss3-modsel-131-expected.pngcss3-modsel-131b-expected.pngcss3-modsel-132-expected.pngcss3-modsel-132b-expected.pngcss3-modsel-133-expected.pngcss3-modsel-133b-expected.pngcss3-modsel-134-expected.pngcss3-modsel-134b-expected.pngcss3-modsel-135-expected.pngcss3-modsel-135b-expected.pngcss3-modsel-136-expected.pngcss3-modsel-136b-expected.pngcss3-modsel-137-expected.pngcss3-modsel-137b-expected.pngcss3-modsel-138-expected.pngcss3-modsel-138b-expected.pngcss3-modsel-139-expected.pngcss3-modsel-139b-expected.pngcss3-modsel-14-expected.pngcss3-modsel-140-expected.pngcss3-modsel-140b-expected.pngcss3-modsel-141-expected.pngcss3-modsel-141b-expected.pngcss3-modsel-142-expected.pngcss3-modsel-142b-expected.pngcss3-modsel-143-expected.pngcss3-modsel-143b-expected.pngcss3-modsel-144-expected.pngcss3-modsel-145a-expected.pngcss3-modsel-145b-expected.pngcss3-modsel-146a-expected.pngcss3-modsel-146b-expected.pngcss3-modsel-147a-expected.pngcss3-modsel-147b-expected.pngcss3-modsel-148-expected.pngcss3-modsel-149-expected.pngcss3-modsel-149b-expected.pngcss3-modsel-14b-expected.pngcss3-modsel-14c-expected.pngcss3-modsel-14d-expected.pngcss3-modsel-14e-expected.pngcss3-modsel-15-expected.pngcss3-modsel-150-expected.pngcss3-modsel-151-expected.pngcss3-modsel-152-expected.pngcss3-modsel-153-expected.pngcss3-modsel-154-expected.pngcss3-modsel-155-expected.pngcss3-modsel-155a-expected.pngcss3-modsel-155b-expected.pngcss3-modsel-155c-expected.pngcss3-modsel-155d-expected.pngcss3-modsel-156-expected.pngcss3-modsel-156b-expected.pngcss3-modsel-156c-expected.pngcss3-modsel-157-expected.pngcss3-modsel-158-expected.pngcss3-modsel-159-expected.pngcss3-modsel-15b-expected.pngcss3-modsel-15c-expected.pngcss3-modsel-16-expected.pngcss3-modsel-160-expected.pngcss3-modsel-161-expected.pngcss3-modsel-166-expected.pngcss3-modsel-166a-expected.pngcss3-modsel-167-expected.pngcss3-modsel-167a-expected.pngcss3-modsel-168-expected.pngcss3-modsel-168a-expected.pngcss3-modsel-169-expected.pngcss3-modsel-169a-expected.pngcss3-modsel-17-expected.pngcss3-modsel-170-expected.pngcss3-modsel-170a-expected.pngcss3-modsel-170b-expected.pngcss3-modsel-170c-expected.pngcss3-modsel-170d-expected.pngcss3-modsel-171-expected.pngcss3-modsel-172a-expected.pngcss3-modsel-172b-expected.pngcss3-modsel-173a-expected.pngcss3-modsel-173b-expected.pngcss3-modsel-174a-expected.pngcss3-modsel-174b-expected.pngcss3-modsel-175a-expected.pngcss3-modsel-175b-expected.pngcss3-modsel-175c-expected.pngcss3-modsel-176-expected.pngcss3-modsel-177a-expected.pngcss3-modsel-177b-expected.pngcss3-modsel-178-expected.pngcss3-modsel-179-expected.pngcss3-modsel-179a-expected.pngcss3-modsel-18-expected.pngcss3-modsel-180a-expected.pngcss3-modsel-181-expected.pngcss3-modsel-182-expected.pngcss3-modsel-183-expected.pngcss3-modsel-184a-expected.pngcss3-modsel-184b-expected.pngcss3-modsel-184c-expected.pngcss3-modsel-184d-expected.pngcss3-modsel-184e-expected.pngcss3-modsel-184f-expected.pngcss3-modsel-18a-expected.pngcss3-modsel-18b-expected.pngcss3-modsel-18c-expected.pngcss3-modsel-19-expected.pngcss3-modsel-19b-expected.pngcss3-modsel-2-expected.pngcss3-modsel-20-expected.pngcss3-modsel-21-expected.pngcss3-modsel-21b-expected.pngcss3-modsel-21c-expected.pngcss3-modsel-22-expected.pngcss3-modsel-25-expected.pngcss3-modsel-27-expected.pngcss3-modsel-27b-expected.pngcss3-modsel-28-expected.pngcss3-modsel-28b-expected.pngcss3-modsel-29-expected.pngcss3-modsel-29b-expected.pngcss3-modsel-3-expected.pngcss3-modsel-30-expected.pngcss3-modsel-31-expected.pngcss3-modsel-32-expected.pngcss3-modsel-33-expected.pngcss3-modsel-34-expected.pngcss3-modsel-35-expected.pngcss3-modsel-36-expected.pngcss3-modsel-37-expected.pngcss3-modsel-38-expected.pngcss3-modsel-39-expected.pngcss3-modsel-39a-expected.pngcss3-modsel-39b-expected.pngcss3-modsel-39c-expected.pngcss3-modsel-3a-expected.pngcss3-modsel-4-expected.pngcss3-modsel-41-expected.pngcss3-modsel-41a-expected.pngcss3-modsel-42-expected.pngcss3-modsel-42a-expected.pngcss3-modsel-43-expected.pngcss3-modsel-43b-expected.pngcss3-modsel-44-expected.pngcss3-modsel-44b-expected.pngcss3-modsel-44c-expected.pngcss3-modsel-44d-expected.pngcss3-modsel-45-expected.pngcss3-modsel-45b-expected.pngcss3-modsel-45c-expected.pngcss3-modsel-46-expected.pngcss3-modsel-46b-expected.pngcss3-modsel-47-expected.pngcss3-modsel-48-expected.pngcss3-modsel-49-expected.pngcss3-modsel-5-expected.pngcss3-modsel-50-expected.pngcss3-modsel-51-expected.pngcss3-modsel-52-expected.pngcss3-modsel-53-expected.pngcss3-modsel-54-expected.pngcss3-modsel-55-expected.pngcss3-modsel-56-expected.pngcss3-modsel-57-expected.pngcss3-modsel-57b-expected.pngcss3-modsel-59-expected.pngcss3-modsel-6-expected.pngcss3-modsel-60-expected.pngcss3-modsel-61-expected.pngcss3-modsel-62-expected.pngcss3-modsel-63-expected.pngcss3-modsel-64-expected.pngcss3-modsel-65-expected.pngcss3-modsel-66-expected.pngcss3-modsel-66b-expected.pngcss3-modsel-67-expected.pngcss3-modsel-7-expected.pngcss3-modsel-70-expected.pngcss3-modsel-72-expected.pngcss3-modsel-72b-expected.pngcss3-modsel-73-expected.pngcss3-modsel-73b-expected.pngcss3-modsel-74-expected.pngcss3-modsel-74b-expected.pngcss3-modsel-75-expected.pngcss3-modsel-75b-expected.pngcss3-modsel-76-expected.pngcss3-modsel-76b-expected.pngcss3-modsel-77-expected.pngcss3-modsel-77b-expected.pngcss3-modsel-78-expected.pngcss3-modsel-78b-expected.pngcss3-modsel-79-expected.pngcss3-modsel-7b-expected.pngcss3-modsel-8-expected.pngcss3-modsel-80-expected.pngcss3-modsel-81-expected.pngcss3-modsel-81b-expected.pngcss3-modsel-82-expected.pngcss3-modsel-82b-expected.pngcss3-modsel-86-expected.pngcss3-modsel-87-expected.pngcss3-modsel-87b-expected.pngcss3-modsel-88-expected.pngcss3-modsel-88b-expected.pngcss3-modsel-89-expected.pngcss3-modsel-9-expected.pngcss3-modsel-90-expected.pngcss3-modsel-90b-expected.pngcss3-modsel-91-expected.pngcss3-modsel-92-expected.pngcss3-modsel-93-expected.pngcss3-modsel-94-expected.pngcss3-modsel-94b-expected.pngcss3-modsel-95-expected.pngcss3-modsel-96-expected.pngcss3-modsel-96b-expected.pngcss3-modsel-97-expected.pngcss3-modsel-97b-expected.pngcss3-modsel-98-expected.pngcss3-modsel-98b-expected.pngcss3-modsel-99-expected.pngcss3-modsel-99b-expected.pngcss3-modsel-d1-expected.pngcss3-modsel-d1b-expected.pngcss3-modsel-d2-expected.pngcss3-modsel-d3-expected.pngcss3-modsel-d4-expected.png
custom-elements
dark-mode
editing
caret
composition-underline-color-expected.png
execCommand
input
inserting
pasteboard
selection
fast
backgrounds
block
basic
do-not-strip-anonymous-blocks-when-block-child-becomes-float-and-continuation-on-line-expected.pngdo-not-strip-anonymous-blocks-when-block-child-becomes-float-and-other-block-on-line-expected.png
float
001-expected.png002-expected.png003-expected.png004-expected.png005-expected.png006-expected.png007-expected.png010-expected.png011-expected.png012-expected.png013-expected.png014-expected.png015-expected.png016-expected.png017-expected.png018-expected.png020-expected.png021-expected.png022-expected.png023-expected.png024-expected.png025-expected.png026-expected.png027-expected.png028-expected.png029-expected.png030-expected.png031-expected.pngadd-inline-between-floats-with-preceding-anonymous-box-expected.pngadd-inline-to-block-flow-with-block-children-that-do-not-need-anonymous-boxes-expected.pngavoidance-percent-width-compat-expected.pngavoidance-percent-width-strict-expected.pngavoiding-float-centered-expected.pngcentered-float-avoidance-complexity-expected.pngclamped-right-float-expected.pngclear-element-too-wide-for-containing-block-expected.pngdynamic-unfloat-pref-width-expected.pngeditable-text-overlapping-float-expected.pngfit_line_below_floats-expected.pngfloat-avoidance-expected.pngfloat-in-float-hit-testing-expected.pngfloat-in-float-painting-expected.pngfloats-and-text-indent-expected.pngfloats-and-text-indent-rl-expected.pngindependent-align-positioning-expected.pngintruding-float-add-in-sibling-block-on-static-position-expected.pngintruding-float-add-in-sibling-block-on-static-position2-expected.pngintruding-float-remove-from-sibling-block-on-absolute-position-expected.pngintruding-float-remove-from-sibling-block-on-absolute-position2-expected.pngintruding-float-remove-from-sibling-block-on-fixed-position-expected.pngintruding-float-remove-from-sibling-block-on-fixed-position2-expected.pngintruding-painted-twice-expected.pngmultiple-float-positioning-expected.pngnestedAnonymousBlocks-expected.pngnestedAnonymousBlocks2-expected.pngnopaint-after-layer-destruction-expected.pngnopaint-after-layer-destruction2-expected.pngoverhanging-after-height-decrease-expected.pngoverhanging-float-add-in-static-position-block-expected.pngoverhanging-float-add-in-static-position-block2-expected.pngoverhanging-float-remove-from-absolute-position-block-expected.pngoverhanging-float-remove-from-absolute-position-block2-expected.pngoverhanging-float-remove-from-fixed-position-block-expected.pngoverhanging-float-remove-from-fixed-position-block2-expected.pngoverlapping-floats-with-overflow-hidden-expected.pngshrink-to-fit-width-expected.pngtable-relayout-expected.pngvertical-move-relayout-expected.pngwidth-update-after-clear-expected.png
margin-collapse
positioning
001-expected.png047-expected.png051-expected.png052-expected.png053-expected.png054-expected.png055-expected.png056-expected.png057-expected.png058-expected.png059-expected.png060-expected.png061-expected.pngabs-inside-inline-rel-expected.pngabsolute-in-inline-ltr-2-expected.pngabsolute-in-inline-ltr-3-expected.pngabsolute-in-inline-ltr-expected.pngabsolute-in-inline-rtl-2-expected.pngabsolute-in-inline-rtl-3-expected.pngabsolute-in-inline-rtl-expected.pngabsolute-in-inline-short-ltr-expected.pngabsolute-in-inline-short-rtl-expected.pngabsolute-length-of-neg-666666-expected.pngabsolute-position-direction-expected.pngabsolute-positioned-overconstrained-expected.pngabsolute-positioning-no-scrollbar-expected.pngabsolute-with-html-border-quirks-expected.pngabsolute-with-html-border-strict-expected.pngauto-height-with-top-and-bottom-expected.png
auto
child-of-absolute-with-auto-height-expected.pngfixed-positioning-scrollbar-bug-expected.pngheight-change-expected.pnghiding-inside-relpositioned-inline-expected.pnginline-block-relposition-expected.pngleftmargin-topmargin-expected.pngnegative-right-pos-expected.pngpadding-percent-expected.pngpref-width-change-expected.pngrelative-overflow-block-expected.pngrelative-overflow-replaced-expected.pngrelative-overflow-replaced-float-expected.pngrelayout-on-position-change-expected.pngrtl-fixed-positioning-expected.pngrtl-static-positioning-expected.pngrtl-static-positioning-inline-block-expected.pngstatic-distance-with-positioned-ancestor-expected.pngtable-cell-static-position-expected.pngtrailing-space-test-expected.png
vertical-lr
vertical-rl
window-height-change-expected.png
body-propagation
borders
box-shadow
box-sizing
canvas
clip
compact
css-generated-content
css
001-expected.png002-expected.png003-expected.png004-expected.png005-expected.png007-expected.png008-expected.pngZeroOpacityLayers-expected.pngZeroOpacityLayers2-expected.pngabsolute-poition-in-rtl-parent-expected.pnganonymous-block-continuation-outline-expected.pngattribute-selector-dynamic-expected.pngattribute-selector-empty-value-expected.pngbackground-image-with-baseurl-expected.pngbackground-shorthand-invalid-url-expected.pngbegin-end-contain-selector-empty-value-expected.pngbidi-override-in-anonymous-block-expected.pngborder-height-expected.pngborder-radius-outline-offset-expected.pngchild-style-can-override-visited-style-expected.pngclip-text-in-scaled-div-expected.pngclip-zooming-expected.pngcolor-correction-backgrounds-and-text-expected.pngcolor-correction-expected.pngcolor-correction-on-background-image-expected.pngcolor-correction-on-backgrounds-expected.pngcolor-correction-on-box-shadow-expected.pngcolor-correction-on-text-expected.pngcolor-correction-on-text-shadow-expected.pngcolor-correction-untagged-images-expected.pngcolor-quirk-expected.pngcolor-strict-expected.pngcompare-content-style-expected.pngcontinuationCrash-expected.png
counters
create_element_align-expected.pngcss-imports-expected.pngcss1_forward_compatible_parsing-expected.pngcss3-modsel-22-expected.pngcss3-nth-child-expected.pngcss3-space-in-nth-and-lang-expected.pngdynamic-sibling-selector-expected.pngempty-body-test-expected.pngempty-generated-content-expected.pngerror-in-last-decl-expected.pngex-after-font-variant-expected.pngfieldset-display-row-expected.pngfind-next-layer-expected.pngfirst-letter-capitalized-expected.pngfirst-letter-detach-expected.pngfirst-letter-float-after-float-expected.pngfirst-letter-float-expected.pngfirst-letter-hover-expected.pngfirst-letter-recalculation-expected.pngfirst-letter-visibility-expected.pngfirst-line-text-decoration-expected.pngfirst-line-text-decoration-inherited-from-parent-expected.pngfocus-ring-continuations-expected.pngfocus-ring-detached-expected.pngfocus-ring-multiline-expected.pngfocus-ring-multiline-writingmode-vertical-expected.pngfocus-ring-outline-color-expected.pngfocus-ring-outline-offset-expected.pngfocus-ring-outline-width-expected.pngfont-face-opentype-expected.pngfont-face-synthetic-bold-italic-expected.pngfont-face-synthetic-bold-italic-for-locally-installed-expected.pngfont-face-weight-matching-expected.pngfont-shorthand-weight-only-expected.pngfont-size-negative-expected.pngfont-smoothing-expected.pngfont-weight-1-expected.pngfont_property_normal-expected.pngh1-in-section-elements-expected.pnghover-subselector-expected.pnghsl-color-expected.pnghsla-color-expected.pngignore-empty-focus-ring-rects-expected.pngimport-rule-regression-11590-expected.pngimport_with_baseurl-expected.pnginline-element-line-break-expected.pnginline-properties-important-expected.pnginput-search-padding-expected.pnginvalid-percentage-property-expected.pnginvalid-pseudo-classes-expected.pnginvalidation-errors-2-expected.pnginvalidation-errors-3-expected.pnginvalidation-errors-expected.pnglayerZOrderCrash-expected.pngline-after-floating-div-expected.pngline-height-determined-by-primary-font-expected.pngline-height-expected.pngline-height-font-order-expected.pngline-height-negative-expected.pngline-height-overflow-expected.pngline-thickness-underline-strikethrough-overline-expected.pnglink-outside-head-expected.pnglist-item-height-expected.pnglist-outline-expected.pnglive-cssrules-expected.pngmargin-bottom-form-element-quirk-expected.pngmargin-bottom-form-element-strict-expected.pngmargin-top-bottom-dynamic-expected.pngmax-height-none-expected.png
namespaces
negative-leading-expected.pngnegative-nth-child-expected.pngnested-floating-relative-position-percentages-expected.pngnon-empty-span-expected.pngnon-standard-checkbox-size-expected.pngnth-child-dynamic-expected.pngonly-of-type-pseudo-class-expected.pngoutline-auto-empty-rects-expected.pngoutline-auto-location-expected.pngpendingStylesheetFontSize-expected.pngpercent-top-relative-container-height-unspecified-expected.pngpercent-top-value-with-relative-position-expected.pngposition-negative-top-margin-expected.pngpseudo-element-line-break-expected.pngpseudo-first-line-border-width-expected.pngrelative-positioned-block-nested-with-inline-parent-dynamic-expected.pngrelative-positioned-block-nested-with-inline-parent-dynamic-removed-expected.pngrelative-positioned-block-nested-with-inline-parent-expected.pngrelative-positioned-block-nested-with-inline-parent-multiple-descendant-blocks-dynamic-expected.pngrelative-positioned-block-with-inline-ancestor-and-parent-dynamic-expected.pngrelative-positioned-block-with-inline-ancestor-dynamic-expected.pngrelative-positioned-block-with-inline-ancestor-dynamic-removed-expected.pngrelative-positioned-block-with-inline-ancestor-expected.pngrelative-positioned-block-with-inline-parent-dynamic-expected.pngrelative-positioned-block-with-inline-parent-dynamic-removed-expected.pngrelative-positioned-block-with-inline-parent-keeps-style-expected.pngrem-calc-dynamic-scaling-expected.pngrem-dynamic-scaling-expected.pngrem-units-on-root-expected.pngresize-corner-tracking-transformed-expected.pngresize-corner-tracking-transformed-iframe-expected.pngrgb-float-expected.pngrtl-ordering-expected.pngrtl-to-viewport-expected.pngselector-set-attribute-expected.pngshadow-multiple-expected.pngsimple-selector-chain-parsing-expected.pngstyle-outside-head-expected.pngstyle-parsed-outside-head-expected.pngtable-text-align-quirk-expected.pngtable-text-align-strict-expected.pngtext-align-expected.pngtext-overflow-ellipsis-bidi-expected.pngtext-overflow-ellipsis-block-with-border-and-padding-expected.pngtext-overflow-ellipsis-expected.pngtext-overflow-ellipsis-multiple-shadows-expected.pngtext-overflow-ellipsis-shadow-alpha-expected.pngtext-overflow-ellipsis-strict-expected.pngtext-overflow-ellipsis-text-align-center-expected.pngtext-overflow-ellipsis-text-align-justify-expected.pngtext-overflow-ellipsis-text-align-left-expected.pngtext-overflow-ellipsis-text-align-right-expected.pngtext-overflow-input-expected.pngtext-rendering-expected.pngtext-security-expected.pngtextCapitalizeEdgeCases-expected.pngtransform-default-parameter-expected.pngtransformed-mask-expected.pnguniversal-hover-quirk-expected.pngvertical-align-lengths-expected.pngvertical-text-overflow-ellipsis-text-align-center-expected.pngvertical-text-overflow-ellipsis-text-align-justify-expected.pngvertical-text-overflow-ellipsis-text-align-left-expected.pngvertical-text-overflow-ellipsis-text-align-right-expected.pngvisibility-hit-test-expected.pngword-space-extra-expected.pngzoom-font-size-expected.png
css3-text
deprecated-flexbox
doctypes
dom
dynamic
encoding
events
files
forms
001-expected.png006-expected.png007-expected.png
accent-color
basic-buttons-expected.pngbasic-inputs-expected.pngblankbuttons-expected.pngbutton-default-title-expected.pngbutton-positioned-expected.pngbutton-sizes-expected.pngbutton-style-color-expected.pngbutton-table-styles-expected.pngbutton-text-transform-expected.png
button
calendar-picker
color-scheme
autofill
button
calendar-picker
color
date
datetimelocal-picker
datetimelocal
file
href
media
meter
month-picker
month
password
range
search
select
suggestion-picker
text-selection-outside-control-expected.png
text
time-picker
time
week-picker
week
color
color-picker-appearance-color-well-click-expected.pngcolor-picker-appearance-color-well-down-keyboard-navigation-from-top-left-corner-expected.pngcolor-picker-appearance-color-well-down-keyboard-navigation-from-top-right-corner-expected.pngcolor-picker-appearance-color-well-drag-expected.pngcolor-picker-appearance-color-well-keyboard-navigation-expected.pngcolor-picker-appearance-color-well-left-keyboard-navigation-from-bottom-right-corner-expected.pngcolor-picker-appearance-color-well-left-keyboard-navigation-from-top-right-corner-expected.pngcolor-picker-appearance-color-well-right-keyboard-navigation-from-bottom-left-corner-expected.pngcolor-picker-appearance-color-well-right-keyboard-navigation-from-top-left-corner-expected.pngcolor-picker-appearance-color-well-touch-drag-expected.pngcolor-picker-appearance-color-well-up-keyboard-navigation-from-bottom-left-corner-expected.pngcolor-picker-appearance-color-well-up-keyboard-navigation-from-bottom-right-corner-expected.pngcolor-picker-appearance-hex-format-expected.pngcolor-picker-appearance-hsl-format-expected.pngcolor-picker-appearance-hue-slider-accelerated-keyboard-navigation-expected.pngcolor-picker-appearance-hue-slider-click-expected.pngcolor-picker-appearance-hue-slider-drag-expected.pngcolor-picker-appearance-hue-slider-keyboard-navigation-expected.pngcolor-picker-appearance-hue-slider-left-edge-zero-hue-expected.pngcolor-picker-appearance-hue-slider-right-edge-zero-hue-expected.pngcolor-picker-appearance-hue-slider-touch-drag-expected.pngcolor-picker-appearance-imperfect-match-expected.pngcolor-picker-appearance-manual-color-change-expected.pngcolor-picker-appearance-set-value-expected.pngcolor-picker-appearance-tap-hex-format-expected.pngcolor-picker-appearance-value-attribute-expected.pngcolor-picker-appearance-zoom200-expected.pngcolor-suggestion-picker-appearance-empty-list-expected.pngcolor-suggestion-picker-appearance-expected.pngcolor-suggestion-picker-appearance-one-row-expected.pngcolor-suggestion-picker-appearance-set-type-expected.pngcolor-suggestion-picker-appearance-two-rows-expected.pngcolor-suggestion-picker-appearance-value-attribute-expected.pngcolor-suggestion-picker-appearance-zoom125-expected.pngcolor-suggestion-picker-appearance-zoom200-expected.pngcolor-suggestion-picker-one-row-appearance-expected.pngcolor-suggestion-picker-two-row-appearance-expected.pngcolor-suggestion-picker-with-scrollbar-appearance-expected.pnginput-appearance-color-expected.png
control-clip-expected.pngcontrol-clip-overflow-expected.pngcontrol-restrict-line-height-expected.png
datalist
date
datetimelocal
encoding-test-expected.png
fieldset
file
floating-textfield-relayout-expected.png
focus-rect
form-element-geometry-expected.pngform-hides-table-expected.pngform-in-malformed-markup-expected.pngformmove-expected.pngformmove2-expected.pngformmove3-expected.pngimage-border-expected.png
image
indeterminate-expected.pnginput-align-expected.pnginput-appearance-height-expected.pnginput-button-sizes-expected.pnginput-first-letter-expected.pnginput-type-text-min-width-expected.pnginput-value-expected.pngminWidthPercent-expected.png
month
negativeLineHeight-expected.png
number
password
placeholder-position-expected.pngplaintext-mode-2-expected.pngpreserveFormDuringResidualStyle-expected.png
range
search
select-popup
select
003-expected.png004-expected.pngHTMLOptionElement_label02-expected.pngHTMLOptionElement_label03-expected.pngHTMLOptionElement_label04-expected.pngbasic-selects-expected.pngdisabled-select-change-index-expected.pnghidden-listbox-expected.pnglistbox-appearance-basic-expected.pnglistbox-appearance-separator-expected.pnglistbox-bidi-align-expected.pnglistbox-scrollbar-incremental-load-expected.pnglistbox-width-change-expected.pnglistbox-with-display-none-option-expected.pngmenulist-appearance-basic-expected.pngmenulist-appearance-none-expected.pngmenulist-appearance-rtl-expected.pngmenulist-clip-expected.pngmenulist-deselect-update-expected.pngmenulist-narrow-width-expected.pngmenulist-no-overflow-expected.pngmenulist-option-wrap-expected.pngmenulist-popup-type-ahead-style-change-expected.pngmenulist-restrict-line-height-expected.pngmenulist-style-color-expected.pngmenulist-update-text-popup-expected.txtmenulist-width-change-expected.pngmultiselect-in-listbox-keyboard-focusring-expected.pngoptgroup-rendering-expected.pngoption-index-expected.pngoption-script-expected.pngoption-strip-whitespace-expected.pngoption-text-clip-expected.pngselect-align-expected.pngselect-appearance-expected.pngselect-appearance-multiple-expected.pngselect-autofilled-expected.pngselect-background-none-expected.pngselect-baseline-expected.pngselect-block-background-expected.pngselect-change-listbox-size-expected.pngselect-change-listbox-to-popup-expected.pngselect-change-popup-to-listbox-expected.pngselect-dirty-parent-pref-widths-expected.pngselect-disabled-appearance-expected.pngselect-display-none-style-resolve-expected.pngselect-initial-position-expected.pngselect-item-background-clip-expected.pngselect-list-box-with-height-expected.pngselect-listbox-multiple-no-focusring-expected.pngselect-multiple-rtl-expected.pngselect-overflow-scroll-expected.pngselect-overflow-scroll-inherited-expected.pngselect-selected-expected.pngselect-size-invalid-expected.pngselect-style-expected.pngselect-text-autospace-expected.pngselect-visual-hebrew-expected.pngselect-writing-direction-natural-expected.png
stuff-on-my-optgroup-expected.png
submit
suggestion-picker
tabbing-input-iframe-expected.pngtargeted-frame-submission-expected.pngtext-style-color-expected.png
text
textarea
time
validation-bubble-appearance-edge-expected.pngvalidation-bubble-appearance-escape-expected.pngvalidation-bubble-appearance-iframe-expected.pngvalidation-bubble-appearance-newline-expected.pngvalidation-bubble-appearance-rtl-ui-expected.pngvalidation-bubble-appearance-wrap-expected.pngvalidation-bubble-device-emulation-change-expected.pngvalidation-bubble-device-emulation-expected.pngvisual-hebrew-text-field-expected.png
week
frames
gradients
harness
hidpi
inline-block
inline
invalid
layers
lists
loader
multicol
overflow
parser
reflections
replaced
001-expected.png002-expected.png003-expected.png004-expected.png005-expected.png006-expected.png007-expected.pngabsolute-image-sizing-expected.pngabsolute-position-percentage-height-expected.pngabsolute-position-percentage-width-expected.pngabsolute-position-with-auto-height-and-top-and-bottom-expected.pngabsolute-position-with-auto-width-and-left-and-right-expected.pngborder-radius-clip-expected.pngembed-display-none-expected.pngimage-onload-expected.pngimage-resize-width-expected.pngimage-sizing-expected.pngimage-solid-color-with-alpha-expected.pngmax-width-percent-expected.pngmaxheight-percent-expected.pngmaxheight-pxs-expected.pngmaxwidth-percent-expected.pngmaxwidth-pxs-expected.pngminheight-percent-expected.pngminheight-pxs-expected.pngminwidth-percent-expected.pngminwidth-pxs-expected.pngobject-align-hspace-vspace-expected.pngobject-display-none-expected.pngoutline-replaced-elements-expected.pngpercent-height-in-anonymous-block-in-table-expected.pngpercent-height-in-anonymous-block-widget-expected.pngreplaced-breaking-expected.pngreplaced-breaking-mixture-expected.pngreplaced-child-of-absolute-with-auto-height-expected.pngselection-rect-in-table-cell-expected.pngselection-rect-transform-expected.png
vertical-lr
vertical-rl
width100percent-button-expected.pngwidth100percent-checkbox-expected.pngwidth100percent-image-expected.pngwidth100percent-menulist-expected.pngwidth100percent-radio-expected.pngwidth100percent-searchfield-expected.pngwidth100percent-textarea-expected.pngwidth100percent-textfield-expected.png
ruby
selectors
spatial-navigation
sub-pixel
table
001-expected.png002-expected.png003-expected.png004-expected.png005-expected.png006-expected.png007-expected.png009-expected.png010-expected.png011-expected.png012-expected.png013-expected.png014-expected.png015-expected.png016-expected.png017-expected.png018-expected.png020-expected.png021-expected.png022-expected.png023-expected.png025-expected.png026-expected.png027-expected.png027-vertical-expected.png028-expected.png028-vertical-expected.png029-expected.png030-expected.png033-expected.png034-expected.png035-expected.png035-vertical-expected.png036-expected.png037-expected.png038-expected.png038-vertical-expected.png039-expected.png040-expected.png040-vertical-expected.png041-expected.png100-percent-cell-width-expected.pngabsolute-table-at-bottom-expected.pngadd-before-anonymous-child-expected.pngalign-right-within-left-aligned-div-expected.pngappend-cells-expected.pngappend-cells2-expected.pngauto-with-percent-height-expected.pngauto-with-percent-height-vertical-expected.pngbackgr_border-table-cell-collapsed-border-expected.pngbackgr_border-table-cell-expected.pngbackgr_border-table-collapsed-border-expected.pngbackgr_border-table-column-collapsed-border-expected.pngbackgr_border-table-column-expected.pngbackgr_border-table-column-group-collapsed-border-expected.pngbackgr_border-table-column-group-expected.pngbackgr_border-table-expected.pngbackgr_border-table-quirks-collapsed-border-expected.pngbackgr_border-table-quirks-expected.pngbackgr_border-table-row-collapsed-border-expected.pngbackgr_border-table-row-expected.pngbackgr_border-table-row-group-collapsed-border-expected.pngbackgr_border-table-row-group-expected.pngbackgr_fixed-bg-table-expected.pngbackgr_layers-hide-collapsed-border-expected.pngbackgr_layers-hide-expected.pngbackgr_layers-opacity-collapsed-border-expected.pngbackgr_layers-opacity-expected.pngbackgr_layers-show-collapsed-border-expected.pngbackgr_layers-show-expected.pngbackgr_position-table-cell-collapsed-border-expected.pngbackgr_position-table-cell-expected.pngbackgr_position-table-collapsed-border-expected.pngbackgr_position-table-column-collapsed-border-expected.pngbackgr_position-table-column-expected.pngbackgr_position-table-column-group-collapsed-border-expected.pngbackgr_position-table-column-group-expected.pngbackgr_position-table-expected.pngbackgr_position-table-row-collapsed-border-expected.pngbackgr_position-table-row-expected.pngbackgr_position-table-row-group-collapsed-border-expected.pngbackgr_position-table-row-group-expected.pngbackgr_simple-table-cell-collapsed-border-expected.pngbackgr_simple-table-cell-expected.pngbackgr_simple-table-collapsed-border-expected.pngbackgr_simple-table-column-collapsed-border-expected.pngbackgr_simple-table-column-expected.pngbackgr_simple-table-column-group-collapsed-border-expected.pngbackgr_simple-table-column-group-expected.pngbackgr_simple-table-expected.pngbackgr_simple-table-row-collapsed-border-expected.pngbackgr_simple-table-row-expected.pngbackgr_simple-table-row-group-collapsed-border-expected.pngbackgr_simple-table-row-group-expected.pngbackground-gradient-border-collapsed-expected.png
border-collapsing
cell-absolute-child-expected.pngcell-coalescing-expected.pngcell-pref-width-invalidation-expected.pngcell-width-auto-expected.pngcellindex-expected.pngclick-near-anonymous-table-expected.pngcolgroup-preceded-by-caption-expected.pngcolgroup-spanning-groups-rules-expected.pngdynamic-caption-add-before-child-expected.pngdynamic-caption-add-remove-before-child-expected.pngdynamic-cellpadding-expected.pngdynamic-descendant-percentage-height-expected.pngearly-table-layout-expected.pngedge-offsets-expected.pngempty-cells-expected.pngempty-table-percent-height-expected.pngfixed-nested-expected.pngfixed-table-non-cell-in-row-expected.pngfixed-table-with-percent-inside-percent-table-expected.pngfixed-table-with-percent-width-inside-auto-table-expected.pngfixed-table-with-percent-width-inside-div-expected.pngfixed-table-with-percent-width-inside-extra-large-div-expected.pngfixed-table-with-percent-width-inside-fixed-width-table-expected.pngfixed-table-with-small-percent-width-expected.pngfloating-th-expected.pngfloatingTablePaintBackground-expected.pngform-with-table-style-expected.pnggenerated-caption-expected.pnginsert-before-anonymous-ancestors-expected.pnginsert-cell-before-form-expected.pnginsert-row-before-form-expected.pnginvisible-cell-background-expected.pnglarge-width-expected.pngmozilla-bug10296-vertical-align-1-expected.pngmozilla-bug10296-vertical-align-2-expected.pngmultiple-captions-display-expected.pngnested-percent-height-table-expected.pngnobr-expected.pngoverflowHidden-expected.pngpercent-heights-expected.pngprepend-in-anonymous-table-expected.pngquote-text-around-iframe-expected.pngrelative-position-containment-expected.pngrelative-position-offsets-expected.pngrelative-position-stacking-expected.pngremove-td-display-none-expected.pngreplaced-percent-height-expected.pngrow-height-recalc-expected.pngrowspan-paint-order-expected.pngrowspan-paint-order-vertical-expected.pngrtl-cell-display-none-assert-expected.pngrules-attr-dynchange1-expected.pngrules-attr-dynchange2-expected.pngspanOverlapRepaint-expected.pngsplit-table-section-before-anonymous-block-2-expected.pngsplit-table-section-before-anonymous-block-3-expected.pngsplit-table-section-before-anonymous-block-4-expected.pngstale-grid-crash-expected.pngtable-after-child-in-table-expected.pngtable-and-parts-outline-expected.pngtable-before-child-in-table-expected.pngtable-cell-after-child-in-block-expected.pngtable-cell-after-child-in-table-expected.pngtable-cell-before-child-in-block-expected.pngtable-cell-before-child-in-table-expected.pngtable-continuation-outline-paint-crash-expected.pngtable-display-types-expected.pngtable-display-types-strict-expected.pngtable-display-types-vertical-expected.pngtable-row-after-child-in-block-expected.pngtable-row-after-child-in-table-expected.pngtable-row-before-child-in-block-expected.pngtable-row-before-child-in-table-expected.pngtableInsideCaption-expected.pngtbody-background-image-expected.pngtbody-background-image-repeat-x-expected.pngtext-field-baseline-expected.pngunbreakable-images-quirk-expected.pngunused-percent-heights-expected.pngvertical-align-baseline-expected.png
text-autosizing
text
tokenizer
writing-mode
xsl
fonts
fragmentation
fullscreen
html
details_summary
document_metadata
grouping_content
tabular_data
text_level_semantics
http
ietestcenter
css3
bordersbackgrounds
background-attachment-local-scrolling-expected.pngbackground-color-applied-to-rounded-inline-element-expected.pngbackground-color-border-box-expected.pngbackground-repeat-space-padding-box-expected.pngbackground-size-002-expected.pngbackground-size-applies-to-block-expected.pngbackground-size-aspect-ratio-expected.pngbackground_color_padding_box-expected.pngbackground_position_three_four_values-expected.pngbackground_properties_greater_than_images-expected.pngbackground_repeat_space_border_box-expected.pngbackground_repeat_space_content_box-expected.pngborder-radius-applies-to-001-expected.pngborder-radius-applies-to-002-expected.pngborder-radius-applies-to-003-expected.pngborder-radius-applies-to-004-expected.pngborder-radius-applies-to-005-expected.pngborder-radius-applies-to-006-expected.pngborder-radius-applies-to-007-expected.pngborder-radius-applies-to-008-expected.pngborder-radius-applies-to-009-expected.pngborder-radius-applies-to-010-expected.pngborder-radius-applies-to-011-expected.pngborder-radius-applies-to-012-expected.pngborder-radius-applies-to-013-expected.pngborder-radius-applies-to-014-expected.pngborder-radius-applies-to-015-expected.pngborder-radius-applies-to-016-expected.pngborder-radius-applies-to-017-expected.pngborder-radius-clip-001-expected.pngborder-radius-clip-002-expected.pngborder-radius-content-edge-001-expected.pngborder-radius-different-width-001-expected.pngborder-radius-initial-value-001-expected.pngborder-radius-not-inherited-001-expected.pngborder-radius-shorthand-001-expected.pngborder-radius-style-001-expected.pngborder-radius-style-002-expected.pngborder-radius-style-003-expected.pngborder-radius-style-004-expected.pngborder-radius-style-005-expected.pngborder-radius-sum-of-radii-001-expected.pngborder-radius-sum-of-radii-002-expected.pngborder-radius-with-three-values-001-expected.pngborder-radius-with-two-values-001-expected.pngborder-top-left-radius-values-001-expected.pngborder-top-left-radius-values-002-expected.pngborder-top-left-radius-values-003-expected.pngborder-top-left-radius-values-004-expected.pngborder-top-left-radius-values-005-expected.pngborder-top-right-radius-values-004-expected.pngbox-shadow-001-expected.pngbox-shadow-002-expected.pngbox-shadow-003-expected.pngbox-shadow-004-expected.pngcolor-behind-images-expected.pngnone-as-image-layer-expected.pngorder-of-images-expected.png
text
images
12-55-expected.png182-expected.png2-dht-expected.png23-55-expected.png55-expected.pngalt-text-wrapping-expected.pngcolor-profile-image-filter-all-expected.pngcolor-profile-munsell-adobe-to-srgb-expected.pngcolor-profile-munsell-adobe-to-srgb-webgl-expected.pngcolor-profile-munsell-srgb-to-srgb-expected.pngcross-fade-svg-size-diff-expected.pngcross-fade-svg-size-expected.pngfavicon-as-image-expected.pngimage-map-anchor-children-expected.pngimagemap-circle-focus-ring-expected.pngimagemap-focus-ring-expected.pngimagemap-focus-ring-in-positioned-container-expected.pngimagemap-focus-ring-outline-color-expected.pngimagemap-focus-ring-outline-color-explicitly-inherited-from-map-expected.pngimagemap-focus-ring-outline-color-not-inherited-from-map-expected.pngimagemap-focus-ring-with-paint-root-offset-expected.pngimagemap-focus-ring-with-scale-transform-expected.pngimagemap-focus-ring-zero-outline-width-expected.pngimagemap-focus-ring-zoom-expected.pngimagemap-overflowing-circle-focus-ring-expected.pngimagemap-overflowing-polygon-focus-ring-expected.pngimagemap-polygon-focus-ring-expected.pngjpeg-yuv-image-decoding-expected.pngpixel-crack-image-background-webkit-transform-scale-expected.pngpng-with-color-profile-expected.pngrendering-broken-0px-images-expected.pngrendering-broken-0px-images-quirk-expected.pngrendering-broken-10px-images-expected.pngrendering-broken-16px-images-expected.pngrendering-broken-1px-images-expected.pngrendering-broken-block-flow-images-expected.pngrendering-broken-images-empty-alt-expected.pngrendering-broken-images-expected.png
inspector-protocol
media
overflow
paint
filters
frames
inline
invalidation
4774354-expected.png4776765-expected.pngbugzilla-7235-expected.pngcanvas-resize-expected.pngcanvas-resize-no-full-invalidation-expected.pngcaret-outside-block-expected.png
clip
compositing
delete-into-nested-block-expected.png
forms
iframe-display-block-to-display-none-expected.pngiframe-display-none-to-display-block-expected.pnginvalidation-after-opacity-change-subtree-expected.pngline-flow-with-floats-1-expected.pngline-flow-with-floats-10-expected.pngline-flow-with-floats-2-expected.pngline-flow-with-floats-3-expected.pngline-flow-with-floats-4-expected.pngline-flow-with-floats-5-expected.pngline-flow-with-floats-6-expected.pngline-flow-with-floats-7-expected.pngline-flow-with-floats-8-expected.pngline-flow-with-floats-9-expected.pnglist-marker-expected.pngmulti-layout-one-frame-expected.txt
multicol
non-text-link-invalidation-optimization-expected.png
outline
overflow
paint-invalidation-with-reparent-across-frame-boundaries-expected.png
reflection
repaint-across-writing-mode-boundary-expected.pngresize-iframe-text-expected.pngscale-page-shrink-expected.png
scroll
selection
shadow-multiple-expected.pngsubtree-root-skipped-expected.png
svg
absolute-sized-content-with-resources-expected.pnganimated-path-inside-transformed-html-expected.pnganimated-path-inside-transformed-html-expected.txtanimated-svg-as-image-expected.pnganimated-svg-as-image-no-fixed-intrinsic-size-expected.pnganimated-svg-as-image-same-image-expected.pngappend-text-node-to-tspan-expected.pngcircle-move-invalidation-expected.pngembedded-svg-size-changes-expected.pngems-display-none-expected.pngexs-display-none-expected.pngfilter-repaint-expected.pngfilter-width-update-expected.pngforeignObject-crash-on-hover-expected.pnghit-test-unclosed-subpaths-expected.pnghit-test-with-br-expected.pnginner-svg-change-viewPort-relative-expected.pngjs-late-clipPath-and-object-creation-expected.pngjs-late-clipPath-creation-expected.pngjs-late-gradient-and-object-creation-expected.pngjs-late-gradient-creation-expected.pngjs-late-pattern-and-object-creation-expected.pngjs-late-pattern-creation-expected.pngjs-update-stop-linked-gradient-expected.pngmodify-text-node-in-tspan-expected.pngnested-embedded-svg-size-changes-expected.pngrelative-sized-content-expected.pngrelative-sized-content-with-resources-expected.pngrelative-sized-deep-shadow-tree-content-expected.pngrelative-sized-image-expected.pngrelative-sized-inner-svg-expected.pngrelative-sized-shadow-tree-content-expected.pngrelative-sized-shadow-tree-content-with-symbol-expected.pngrelative-sized-use-on-symbol-expected.pngrelative-sized-use-without-attributes-on-symbol-expected.pngremove-text-node-from-tspan-expected.pngremove-tspan-from-text-expected.pngscrolling-embedded-svg-file-image-repaint-problem-expected.pngsvg-background-partial-redraw-expected.pngsvg-image-change-content-size-expected.pngtabgroup-expected.pngtext-mask-update-expected.pngtext-repaint-including-stroke-expected.pngtext-rescale-expected.pngtext-selection-text-05-t-expected.pngtext-selection-text-05-t-expected.txttext-selection-update-expected.pngtext-viewbox-rescale-expected.pngtext-xy-updates-SVGList-expected.pngtspan-dynamic-positioning-expected.pnguse-clipped-hit-expected.pnguse-detach-expected.pnguse-event-handler-on-use-element-expected.pngwindow-expected.pngzoom-coords-viewattr-01-b-expected.pngzoom-foreignObject-expected.png
table
text-match-document-change-expected.pngtext-shadow-expected.pngtext-shadow-horizontal-expected.png
transform
markers
overflow
printing
roundedrects
selection
tables
text
plugins
printing
scrollbars
svg
W3C-I18N
g-dirLTR-ubNone-expected.pngg-dirLTR-ubOverride-expected.pngg-dirRTL-ubNone-expected.pngg-dirRTL-ubOverride-expected.pngtext-anchor-dirLTR-anchorEnd-expected.pngtext-anchor-dirLTR-anchorMiddle-expected.pngtext-anchor-dirLTR-anchorStart-expected.pngtext-anchor-dirNone-anchorEnd-expected.pngtext-anchor-dirNone-anchorMiddle-expected.pngtext-anchor-dirNone-anchorStart-expected.pngtext-anchor-dirRTL-anchorEnd-expected.pngtext-anchor-dirRTL-anchorMiddle-expected.pngtext-anchor-dirRTL-anchorStart-expected.pngtext-anchor-inherited-dirLTR-anchorEnd-expected.pngtext-anchor-inherited-dirLTR-anchorMiddle-expected.pngtext-anchor-inherited-dirLTR-anchorStart-expected.pngtext-anchor-inherited-dirRTL-anchorEnd-expected.pngtext-anchor-inherited-dirRTL-anchorMiddle-expected.pngtext-anchor-inherited-dirRTL-anchorStart-expected.pngtext-anchor-no-markup-expected.pngtext-dirLTR-ubNone-expected.pngtext-dirLTR-ubOverride-expected.pngtext-dirRTL-ubNone-expected.pngtext-dirRTL-ubOverride-expected.pngtspan-dirLTR-ubEmbed-in-rtl-context-expected.pngtspan-dirLTR-ubNone-in-rtl-context-expected.pngtspan-dirLTR-ubOverride-in-default-context-expected.pngtspan-dirLTR-ubOverride-in-ltr-context-expected.pngtspan-dirLTR-ubOverride-in-rtl-context-expected.pngtspan-dirNone-ubOverride-in-default-context-expected.pngtspan-dirNone-ubOverride-in-ltr-context-expected.pngtspan-dirNone-ubOverride-in-rtl-context-expected.pngtspan-dirRTL-ubEmbed-in-default-context-expected.pngtspan-dirRTL-ubEmbed-in-ltr-context-expected.pngtspan-dirRTL-ubNone-in-default-context-expected.pngtspan-dirRTL-ubNone-in-ltr-context-expected.pngtspan-dirRTL-ubOverride-in-default-context-expected.pngtspan-dirRTL-ubOverride-in-ltr-context-expected.pngtspan-dirRTL-ubOverride-in-rtl-context-expected.pngtspan-direction-ltr-expected.pngtspan-direction-rtl-expected.png
W3C-SVG-1.1-SE
W3C-SVG-1.1
animate-elem-03-t-expected.pnganimate-elem-04-t-expected.pnganimate-elem-05-t-expected.pnganimate-elem-06-t-expected.pnganimate-elem-07-t-expected.pnganimate-elem-08-t-expected.pnganimate-elem-09-t-expected.pnganimate-elem-10-t-expected.pnganimate-elem-11-t-expected.pnganimate-elem-12-t-expected.pnganimate-elem-13-t-expected.pnganimate-elem-20-t-expected.pnganimate-elem-21-t-expected.pnganimate-elem-22-b-expected.pnganimate-elem-23-t-expected.pnganimate-elem-24-t-expected.pnganimate-elem-25-t-expected.pnganimate-elem-26-t-expected.pnganimate-elem-27-t-expected.pnganimate-elem-28-t-expected.pnganimate-elem-29-b-expected.pnganimate-elem-30-t-expected.pnganimate-elem-31-t-expected.pnganimate-elem-32-t-expected.pnganimate-elem-33-t-expected.pnganimate-elem-34-t-expected.pnganimate-elem-36-t-expected.pnganimate-elem-37-t-expected.pnganimate-elem-39-t-expected.pnganimate-elem-40-t-expected.pnganimate-elem-41-t-expected.pnganimate-elem-44-t-expected.pnganimate-elem-46-t-expected.pnganimate-elem-52-t-expected.pnganimate-elem-60-t-expected.pnganimate-elem-61-t-expected.pnganimate-elem-62-t-expected.pnganimate-elem-63-t-expected.pnganimate-elem-64-t-expected.pnganimate-elem-65-t-expected.pnganimate-elem-66-t-expected.pnganimate-elem-67-t-expected.pnganimate-elem-68-t-expected.pnganimate-elem-69-t-expected.pnganimate-elem-70-t-expected.pnganimate-elem-77-t-expected.pnganimate-elem-78-t-expected.pnganimate-elem-80-t-expected.pnganimate-elem-81-t-expected.pnganimate-elem-82-t-expected.pnganimate-elem-83-t-expected.pnganimate-elem-84-t-expected.pnganimate-elem-85-t-expected.pngcolor-prof-01-f-expected.pngcolor-prop-01-b-expected.pngcolor-prop-02-f-expected.pngcolor-prop-03-t-expected.pngcoords-coord-01-t-expected.pngcoords-coord-02-t-expected.pngcoords-trans-01-b-expected.pngcoords-trans-02-t-expected.pngcoords-trans-03-t-expected.pngcoords-trans-04-t-expected.pngcoords-trans-05-t-expected.pngcoords-trans-06-t-expected.pngcoords-units-01-b-expected.pngcoords-units-02-b-expected.pngcoords-viewattr-01-b-expected.pngcoords-viewattr-02-b-expected.pngcoords-viewattr-03-b-expected.pngextend-namespace-01-f-expected.pngfilters-blend-01-b-expected.pngfilters-color-01-b-expected.pngfilters-composite-02-b-expected.pngfilters-comptran-01-b-expected.pngfilters-conv-01-f-expected.pngfilters-diffuse-01-f-expected.pngfilters-displace-01-f-expected.pngfilters-example-01-b-expected.pngfilters-gauss-01-b-expected.pngfilters-image-01-b-expected.pngfilters-light-01-f-expected.pngfilters-light-04-f-expected.pngfilters-morph-01-f-expected.pngfilters-offset-01-b-expected.pngfilters-specular-01-f-expected.pngfilters-tile-01-b-expected.pngfilters-turb-01-f-expected.pngfilters-turb-02-f-expected.pngfonts-elem-03-b-expected.pngfonts-elem-04-b-expected.pngfonts-elem-07-b-expected.pnginteract-cursor-01-f-expected.pnginteract-dom-01-b-expected.pnginteract-events-01-b-expected.pnginteract-order-01-b-expected.pnginteract-order-02-b-expected.pnginteract-order-03-b-expected.pnginteract-zoom-01-t-expected.pnglinking-a-01-b-expected.pnglinking-a-02-b-expected.pnglinking-a-03-b-expected.pnglinking-a-04-t-expected.pnglinking-a-05-t-expected.pnglinking-a-07-t-expected.pnglinking-uri-02-b-expected.pnglinking-uri-03-t-expected.pngmasking-intro-01-f-expected.pngmasking-mask-01-b-expected.pngmasking-opacity-01-b-expected.pngmasking-path-01-b-expected.pngmasking-path-02-b-expected.pngmasking-path-03-b-expected.pngmasking-path-04-b-expected.pngmasking-path-05-f-expected.pngmetadata-example-01-b-expected.pngpainting-fill-01-t-expected.pngpainting-fill-02-t-expected.pngpainting-fill-03-t-expected.pngpainting-fill-04-t-expected.pngpainting-fill-05-b-expected.pngpainting-marker-01-f-expected.pngpainting-marker-02-f-expected.pngpainting-marker-03-f-expected.pngpainting-render-01-b-expected.pngpainting-stroke-01-t-expected.pngpainting-stroke-02-t-expected.pngpainting-stroke-03-t-expected.pngpainting-stroke-04-t-expected.pngpainting-stroke-07-t-expected.pngpaths-data-01-t-expected.pngpaths-data-02-t-expected.pngpaths-data-03-f-expected.pngpaths-data-04-t-expected.pngpaths-data-05-t-expected.pngpaths-data-06-t-expected.pngpaths-data-07-t-expected.pngpaths-data-08-t-expected.pngpaths-data-09-t-expected.pngpaths-data-10-t-expected.pngpaths-data-12-t-expected.pngpaths-data-13-t-expected.pngpaths-data-14-t-expected.pngpaths-data-15-t-expected.pngpservers-grad-01-b-expected.pngpservers-grad-02-b-expected.pngpservers-grad-03-b-expected.pngpservers-grad-04-b-expected.pngpservers-grad-05-b-expected.pngpservers-grad-06-b-expected.pngpservers-grad-07-b-expected.pngpservers-grad-08-b-expected.pngpservers-grad-09-b-expected.pngpservers-grad-10-b-expected.pngpservers-grad-11-b-expected.pngpservers-grad-12-b-expected.pngpservers-grad-13-b-expected.pngpservers-grad-14-b-expected.pngpservers-grad-15-b-expected.pngpservers-grad-16-b-expected.pngpservers-grad-18-b-expected.pngpservers-grad-19-b-expected.pngpservers-pattern-01-b-expected.pngrender-elems-01-t-expected.pngrender-elems-02-t-expected.pngrender-elems-03-t-expected.pngrender-elems-06-t-expected.pngrender-elems-07-t-expected.pngrender-elems-08-t-expected.pngrender-groups-01-b-expected.pngrender-groups-03-t-expected.pngscript-handle-01-b-expected.pngscript-handle-02-b-expected.pngscript-handle-03-b-expected.pngscript-handle-04-b-expected.pngshapes-circle-01-t-expected.pngshapes-circle-02-t-expected.pngshapes-ellipse-01-t-expected.pngshapes-ellipse-02-t-expected.pngshapes-intro-01-t-expected.pngshapes-line-01-t-expected.pngshapes-polygon-01-t-expected.pngshapes-polyline-01-t-expected.pngshapes-rect-01-t-expected.pngshapes-rect-02-t-expected.pngstruct-cond-01-t-expected.pngstruct-cond-02-t-expected.pngstruct-cond-03-t-expected.pngstruct-defs-01-t-expected.pngstruct-dom-01-b-expected.pngstruct-dom-02-b-expected.pngstruct-dom-03-b-expected.pngstruct-dom-04-b-expected.pngstruct-dom-05-b-expected.pngstruct-dom-06-b-expected.pngstruct-frag-02-t-expected.pngstruct-frag-03-t-expected.pngstruct-frag-04-t-expected.pngstruct-frag-05-t-expected.pngstruct-frag-06-t-expected.pngstruct-group-01-t-expected.pngstruct-group-02-b-expected.pngstruct-group-03-t-expected.pngstruct-image-01-t-expected.pngstruct-image-02-b-expected.pngstruct-image-03-t-expected.pngstruct-image-04-t-expected.pngstruct-image-05-b-expected.pngstruct-image-06-t-expected.pngstruct-image-08-t-expected.pngstruct-image-09-t-expected.pngstruct-image-10-t-expected.pngstruct-symbol-01-b-expected.pngstruct-use-01-t-expected.pngstruct-use-03-t-expected.pngstruct-use-05-b-expected.pngstyling-css-01-b-expected.pngstyling-css-02-b-expected.pngstyling-css-03-b-expected.pngstyling-css-05-b-expected.pngstyling-css-06-b-expected.pngstyling-inherit-01-b-expected.pngstyling-pres-01-t-expected.pngtext-align-01-b-expected.pngtext-align-02-b-expected.pngtext-align-03-b-expected.pngtext-align-04-b-expected.pngtext-align-05-b-expected.pngtext-align-06-b-expected.pngtext-align-08-b-expected.pngtext-deco-01-b-expected.pngtext-fonts-01-t-expected.pngtext-fonts-02-t-expected.pngtext-intro-01-t-expected.pngtext-intro-03-b-expected.pngtext-intro-04-t-expected.pngtext-path-01-b-expected.pngtext-spacing-01-b-expected.pngtext-text-01-b-expected.pngtext-text-03-b-expected.pngtext-text-04-t-expected.pngtext-text-05-t-expected.pngtext-text-06-t-expected.pngtext-text-07-t-expected.pngtext-text-08-b-expected.pngtext-tselect-01-b-expected.pngtext-tselect-02-f-expected.pngtext-tspan-01-b-expected.pngtext-ws-01-t-expected.pngtext-ws-02-t-expected.pngtypes-basicDOM-01-b-expected.png
W3C-SVG-1.2-Tiny
as-background-image
as-border-image
as-image
as-object
batik
canvas
carto.net
clip-path
css
custom
SVGMatrix-interface-expected.pngSVGPoint-matrixTransform-expected.pngabsolute-sized-svg-in-xhtml-expected.pngalignment-baseline-modes-expected.pngbug45331-expected.pngclip-mask-negative-scale-expected.pngclip-path-referencing-use-expected.pngclip-path-referencing-use2-expected.pngclone-element-with-animated-svg-properties-expected.pngcontainer-opacity-clip-viewBox-expected.pngcoords-relative-units-transforms-expected.pngcreateImageElement2-expected.pngdominant-baseline-hanging-expected.pngdominant-baseline-modes-expected.pngembedding-external-svgs-expected.pngempty-clip-path-expected.pngfeComponentTransfer-Discrete-expected.pngfeComponentTransfer-Gamma-expected.pngfeComponentTransfer-Linear-expected.pngfeComponentTransfer-Table-expected.pngfill-fallback-expected.pngfocus-ring-expected.pngfocus-ring-text-expected.pngfont-face-cascade-order-expected.pngforeign-object-skew-expected.pnggetscreenctm-in-mixed-content-expected.pnggetscreenctm-in-scrollable-div-area-expected.pnggetscreenctm-in-scrollable-div-area-nested-expected.pnggetscreenctm-in-scrollable-svg-area-expected.pnggetsvgdocument-expected.pngglyph-transformation-with-hkern-expected.pnggradient-cycle-detection-expected.pnggradient-deep-referencing-expected.pnggradient-with-1d-boundingbox-expected.pnghit-test-path-expected.pnghit-test-path-stroke-expected.pngimage-parent-translation-expected.pngimage-rescale-clip-expected.pngimage-rescale-scroll-expected.pngimage-small-width-height-expected.pngimage-with-transform-clip-filter-expected.pnginline-svg-in-xhtml-expected.pnginvalid-css-expected.pnginvalid-fill-hex-expected.pnginvalid-lengthlist-expected.pnginvalid-stroke-hex-expected.pnginvisible-text-after-scrolling-expected.pngjunk-data-expected.pnglinking-a-03-b-preserveAspectRatio-expected.pnglinking-a-03-b-transform-expected.pnglinking-a-03-b-viewBox-expected.pnglinking-a-03-b-viewBox-transform-expected.pnglinking-a-03-b-viewTarget-expected.pnglinking-a-03-b-zoomAndPan-expected.pnglinking-uri-01-b-expected.pngload-non-wellformed-expected.pngmarker-default-width-height-expected.pngmarker-orient-auto-expected.pngmarker-overflow-clip-expected.pngmasking-clipping-hidpi-expected.pngmissing-xlink-expected.pngmouse-move-on-svg-container-expected.pngmouse-move-on-svg-container-standalone-expected.pngmouse-move-on-svg-root-expected.pngmouse-move-on-svg-root-standalone-expected.pngno-inherited-dashed-stroke-expected.pngnon-opaque-filters-expected.pngobject-sizing-expected.pngpath-bad-data-expected.pngpath-textPath-simulation-expected.pngpattern-cycle-detection-expected.pngpattern-deep-referencing-expected.pngpattern-incorrect-tiling-expected.pngpattern-rotate-expected.pngpattern-rotate-gaps-expected.pngpattern-userSpaceOnUse-userToBaseTransform-expected.pngpattern-with-transformation-expected.pngpercentage-of-html-parent-expected.pngpointer-events-image-css-transform-expected.pngpointer-events-image-expected.pngpointer-events-path-expected.pngpointer-events-text-css-transform-expected.pngpointer-events-text-expected.pngpreserve-aspect-ratio-syntax-expected.pngrecursive-clippath-expected.pngrecursive-filter-expected.pngrecursive-gradient-expected.pngrecursive-mask-expected.pngrecursive-pattern-expected.pngrootmost-svg-xy-attrs-expected.pngsecond-inline-text-expected.pngshape-rendering-expected.pngshapes-supporting-markers-expected.pngsimpleCDF-expected.pngstroke-fallback-expected.pngstroke-width-large-expected.pngstroked-pattern-expected.pngstyle-attribute-font-size-expected.pngsvg-float-border-padding-expected.pngsvg-fonts-in-html-expected.pngsvg-fonts-with-no-element-reference-expected.pngsvg-fonts-word-spacing-expected.pngsvg-overflow-types-expected.pngtext-clip-expected.pngtext-ctm-expected.pngtext-decoration-visibility-expected.pngtext-dom-01-f-expected.pngtext-filter-expected.pngtext-hit-test-expected.pngtext-image-opacity-expected.pngtext-letter-spacing-expected.pngtext-linking-expected.pngtext-match-highlight-expected.pngtext-rotated-gradient-expected.pngtext-rotation-expected.pngtext-whitespace-handling-expected.pngtext-x-dx-lists-expected.pngtext-x-dy-lists-expected.pngtext-x-override-in-tspan-child-expected.pngtext-xy-updates-expected.pngtransformed-outlines-expected.pngtransformed-text-pattern-expected.pnguse-dynamic-append-expected.pnguse-event-handler-on-referenced-element-expected.pnguse-events-crash-expected.pnguse-font-face-crash-expected.pnguse-modify-container-in-target-expected.pnguse-modify-target-container-expected.pnguse-modify-target-symbol-expected.pnguse-on-disallowed-foreign-object-1-expected.pnguse-on-disallowed-foreign-object-2-expected.pnguse-on-disallowed-foreign-object-3-expected.pnguse-on-disallowed-foreign-object-4-expected.pnguse-on-disallowed-foreign-object-5-expected.pnguse-on-disallowed-foreign-object-6-expected.pnguse-on-g-containing-use-expected.pnguse-on-g-expected.pnguse-on-non-svg-namespaced-element-expected.pnguse-on-rect-expected.pnguse-on-symbol-expected.pnguse-on-symbol-inside-pattern-expected.pnguse-on-text-expected.pnguse-on-use-expected.pnguse-property-changes-through-dom-expected.pnguse-property-changes-through-svg-dom-expected.pnguse-recursion-1-expected.pnguse-recursion-2-expected.pnguse-recursion-3-expected.pnguse-recursion-4-expected.pnguse-transform-expected.pngviewbox-syntax-expected.pngviewport-em-expected.png
dom
dynamic-updates
filters
foreignObject
hixie
in-html
text
bbox-with-glyph-overflow-expected.pngbbox-with-glyph-overflow-on-path-expected.pngbbox-with-glyph-overflow-zoomed-expected.pngbidi-embedded-direction-expected.pngbidi-reorder-in-text-chunks-expected.pngbidi-reorder-value-lists-expected.pngbidi-text-anchor-direction-expected.pngbidi-text-query-expected.pngbidi-textlength-expected.pngbidi-tspans-expected.pngcombining-character-queries-expected.pngcurrent-text-position-initial-expected.pngdominant-baseline-decoration-expected.pngfont-size-below-point-five-2-expected.pngforeignObject-repaint-expected.pngforeignObject-text-clipping-bug-expected.pngligature-queries-expected.pngmix-blend-mode-expected.pngnon-bmp-positioning-lists-expected.pngscaled-font-expected.pngscaling-font-with-geometric-precision-expected.pngselect-textLength-spacing-squeeze-1-expected.pngselect-textLength-spacing-squeeze-2-expected.pngselect-textLength-spacing-squeeze-3-expected.pngselect-textLength-spacing-squeeze-4-expected.pngselect-textLength-spacing-stretch-1-expected.pngselect-textLength-spacing-stretch-2-expected.pngselect-textLength-spacing-stretch-3-expected.pngselect-textLength-spacing-stretch-4-expected.pngselect-textLength-spacingAndGlyphs-squeeze-1-expected.pngselect-textLength-spacingAndGlyphs-squeeze-2-expected.pngselect-textLength-spacingAndGlyphs-squeeze-3-expected.pngselect-textLength-spacingAndGlyphs-squeeze-4-expected.pngselect-textLength-spacingAndGlyphs-stretch-1-expected.pngselect-textLength-spacingAndGlyphs-stretch-2-expected.pngselect-textLength-spacingAndGlyphs-stretch-3-expected.pngselect-textLength-spacingAndGlyphs-stretch-4-expected.pngselect-x-list-1-expected.pngselect-x-list-2-expected.pngselect-x-list-3-expected.pngselect-x-list-4-expected.pngselect-x-list-with-tspans-1-expected.pngselect-x-list-with-tspans-2-expected.pngselect-x-list-with-tspans-3-expected.pngselect-x-list-with-tspans-4-expected.pngselection-background-color-expected.pngselection-styles-expected.pngsideways-lr-basic-expected.pngsmall-fonts-2-expected.pngsmall-fonts-3-expected.pngsmall-fonts-expected.pngsmall-fonts-in-html5-expected.pngsurrogate-pair-queries-expected.pngtext-decoration-thickness-in-iframe-expected.pngtext-decorations-in-scaled-pattern-expected.pngtext-fill-opacity-expected.pngtext-gradient-positioning-expected.pngtext-layout-crash-expected.pngtext-midpoint-split-bug-expected.pngtext-path-middle-align-expected.pngtext-repaint-rects-expected.pngtext-selection-align-01-b-expected.pngtext-selection-align-02-b-expected.pngtext-selection-align-03-b-expected.pngtext-selection-align-04-b-expected.pngtext-selection-align-05-b-expected.pngtext-selection-align-06-b-expected.pngtext-selection-deco-01-b-expected.pngtext-selection-fonts-01-t-expected.pngtext-selection-fonts-02-t-expected.pngtext-selection-intro-05-t-expected.pngtext-selection-path-01-b-expected.pngtext-selection-spacing-01-b-expected.pngtext-selection-text-01-b-expected.pngtext-selection-text-03-b-expected.pngtext-selection-text-04-t-expected.pngtext-selection-text-06-t-expected.pngtext-selection-text-07-t-expected.pngtext-selection-text-08-b-expected.pngtext-selection-tselect-01-b-expected.pngtext-selection-tselect-02-f-expected.pngtext-selection-tspan-01-b-expected.pngtext-selection-ws-01-t-expected.pngtext-selection-ws-02-t-expected.pngtext-with-geometric-precision-expected.pngtextLength-spacingAndGlyphs-decoration-expected.pngtextPathBoundsBug-expected.pngtextpath-connected-glyphs-expected.pngtspan-multiple-outline-vertical-expected.png
transforms
wicd
zoom
tables
layering
mozilla
bugs
45621-expected.pngbug10009-expected.pngbug100334-expected.pngbug10036-expected.pngbug10039-expected.pngbug101201-expected.pngbug101674-expected.pngbug102145-1-expected.pngbug102145-2-expected.pngbug102145-3-expected.pngbug102145-4-expected.pngbug10269-1-expected.pngbug10269-2-expected.pngbug10296-1-expected.pngbug10296-2-expected.pngbug1055-1-expected.pngbug10565-expected.pngbug106158-1-expected.pngbug106158-2-expected.pngbug10633-expected.pngbug1067-1-expected.pngbug1067-2-expected.pngbug106816-expected.pngbug108340-expected.pngbug109043-expected.pngbug11026-expected.pngbug110566-expected.pngbug11321-expected.pngbug113235-1-expected.pngbug113235-2-expected.pngbug113235-3-expected.pngbug113424-expected.pngbug11384q-expected.pngbug11384s-expected.pngbug1163-1-expected.pngbug1188-expected.pngbug11944-expected.pngbug119786-expected.pngbug12008-expected.pngbug120364-expected.pngbug1220-expected.pngbug1224-expected.pngbug12268-expected.pngbug12384-expected.pngbug123862-expected.pngbug1261-expected.pngbug126742-expected.pngbug12709-expected.pngbug127267-expected.pngbug128229-expected.pngbug12908-1-expected.pngbug12910-expected.pngbug1296-expected.pngbug1302-expected.pngbug131020-expected.pngbug131020_iframe-expected.pngbug13105-expected.pngbug13118-expected.pngbug1318-expected.pngbug13196-expected.pngbug133756-1-expected.pngbug133756-2-expected.pngbug13484-expected.pngbug13526-expected.pngbug137388-1-expected.pngbug137388-2-expected.pngbug138725-expected.pngbug139524-1-expected.pngbug139524-2-expected.pngbug139524-3-expected.pngbug139524-4-expected.pngbug14159-1-expected.pngbug14159-3-expected.pngbug1430-expected.pngbug14323-expected.pngbug145572-expected.pngbug1474-expected.pngbug149275-1-expected.pngbug149275-2-expected.pngbug14929-expected.pngbug15247-expected.pngbug154780-expected.pngbug15544-expected.pngbug157890-expected.pngbug159108-expected.pngbug16012-expected.pngbug16252-expected.pngbug17130-1-expected.pngbug17130-2-expected.pngbug17138-expected.pngbug17168-expected.pngbug175455-4-expected.pngbug17548-expected.pngbug17587-expected.pngbug1800-expected.pngbug1802-expected.pngbug1802s-expected.pngbug1809-expected.pngbug1828-expected.pngbug18359-expected.pngbug18440-expected.pngbug18558-expected.pngbug18664-expected.pngbug18955-expected.pngbug19061-1-expected.pngbug19061-2-expected.pngbug19356-expected.pngbug194024-expected.pngbug19599-expected.pngbug2050-expected.pngbug20579-expected.pngbug2065-expected.pngbug20804-expected.pngbug2123-expected.pngbug21299-expected.pngbug215629-expected.pngbug21918-expected.pngbug22019-expected.pngbug220536-expected.pngbug221784-1-expected.pngbug221784-2-expected.pngbug22246-2-expected.pngbug22246-2a-expected.pngbug22246-3-expected.pngbug22246-3a-expected.pngbug222846-expected.pngbug22513-expected.pngbug2267-expected.pngbug227123-expected.pngbug2296-expected.pngbug23072-expected.pngbug23151-expected.pngbug23235-expected.pngbug23299-expected.pngbug23994-expected.pngbug24200-expected.pngbug24503-expected.pngbug24627-expected.pngbug24661-expected.pngbug2469-expected.pngbug2479-1-expected.pngbug2479-2-expected.pngbug2479-3-expected.pngbug2479-4-expected.pngbug24880-expected.pngbug25004-expected.pngbug25074-expected.pngbug25086-expected.pngbug2509-expected.pngbug2516-expected.pngbug25367-expected.pngbug25663-expected.pngbug2585-expected.pngbug26178-expected.pngbug2684-expected.pngbug27038-1-expected.pngbug27038-2-expected.pngbug27038-3-expected.pngbug275625-expected.pngbug2757-expected.pngbug2763-expected.pngbug2773-expected.pngbug278266-expected.pngbug278385-expected.pngbug27993-1-expected.pngbug28341-expected.pngbug2886-2-expected.pngbug2886-expected.pngbug28928-expected.pngbug29058-1-expected.pngbug29058-3-expected.pngbug29157-expected.pngbug29326-expected.pngbug29429-expected.pngbug2947-expected.pngbug2962-expected.pngbug2973-expected.pngbug2981-1-expected.pngbug2981-2-expected.pngbug2997-expected.pngbug30273-expected.pngbug30332-1-expected.pngbug30332-2-expected.pngbug3037-1-expected.pngbug3037-2-expected.pngbug30418-expected.pngbug30559-expected.pngbug30692-expected.pngbug30985-expected.pngbug3103-expected.pngbug3191-expected.pngbug32205-2-expected.pngbug32205-3-expected.pngbug32205-5-expected.pngbug32447-expected.pngbug3260-expected.pngbug3263-expected.pngbug32841-expected.pngbug3309-1-expected.pngbug3309-2-expected.pngbug33137-expected.pngbug33855-expected.pngbug34176-expected.pngbug34538-expected.pngbug3454-expected.pngbug35662-expected.pngbug3681-1-expected.pngbug3681-2-expected.pngbug3718-expected.pngbug38916-expected.pngbug39209-expected.pngbug3977-expected.pngbug40828-expected.pngbug4093-expected.pngbug41890-expected.pngbug42187-expected.pngbug42443-expected.pngbug4284-expected.pngbug43039-expected.pngbug43204-expected.pngbug4382-expected.pngbug4385-expected.pngbug43854-1-expected.pngbug43854-2-expected.pngbug4427-expected.pngbug4429-expected.pngbug44505-expected.pngbug44523-expected.pngbug4501-expected.pngbug45055-2-expected.pngbug45055-expected.pngbug4520-expected.pngbug4523-expected.pngbug4527-expected.pngbug45350-expected.pngbug45486-expected.pngbug4576-expected.pngbug46268-1-expected.pngbug46268-2-expected.pngbug46268-3-expected.pngbug46268-5-expected.pngbug46268-expected.pngbug46368-1-expected.pngbug46368-2-expected.pngbug46480-1-expected.pngbug46480-2-expected.pngbug46623-1-expected.pngbug46623-2-expected.pngbug46924-expected.pngbug46944-expected.pngbug4739-expected.pngbug47432-expected.pngbug48028-1-expected.pngbug48028-2-expected.pngbug4803-expected.pngbug4849-2-expected.pngbug4849-expected.pngbug48827-expected.pngbug50695-1-expected.pngbug51037-expected.pngbug51140-expected.pngbug51727-expected.pngbug5188-expected.pngbug52505-expected.pngbug52506-expected.pngbug53690-1-expected.pngbug53690-2-expected.pngbug53891-expected.pngbug54450-expected.pngbug5538-expected.pngbug55527-expected.pngbug55545-expected.pngbug55694-expected.pngbug55789-expected.pngbug56563-expected.pngbug57300-expected.pngbug57378-expected.pngbug57828-2-expected.pngbug57828-expected.pngbug5797-expected.pngbug5798-expected.pngbug5799-expected.pngbug5835-expected.pngbug5838-expected.pngbug58402-1-expected.pngbug59354-expected.pngbug60013-expected.pngbug60749-expected.pngbug60804-expected.pngbug60807-expected.pngbug60992-expected.pngbug6184-expected.pngbug625-expected.pngbug6304-expected.pngbug63785-expected.pngbug6404-expected.pngbug641-1-expected.pngbug641-2-expected.pngbug647-expected.pngbug650-expected.pngbug6674-expected.pngbug67864-expected.pngbug67915-1-expected.pngbug68912-expected.pngbug68998-expected.pngbug69187-expected.pngbug69382-1-expected.pngbug69382-2-expected.pngbug709-expected.pngbug7112-1-expected.pngbug7112-2-expected.pngbug7121-1-expected.pngbug72359-expected.pngbug727-expected.pngbug73321-expected.pngbug7342-expected.pngbug7471-expected.pngbug75250-expected.pngbug7714-expected.pngbug8032-1-expected.pngbug80762-1-expected.pngbug81934-expected.pngbug82946-1-expected.pngbug82946-2-expected.pngbug8361-expected.pngbug83786-expected.pngbug8381-expected.pngbug8411-expected.pngbug86220-expected.pngbug86708-expected.pngbug88035-1-expected.pngbug88035-2-expected.pngbug88524-expected.pngbug8858-expected.pngbug8950-expected.pngbug9072-expected.pngbug9123-1-expected.pngbug9123-2-expected.pngbug92143-expected.pngbug9271-1-expected.pngbug9271-2-expected.pngbug92868-expected.pngbug93363-expected.pngbug963-expected.pngbug96334-expected.pngbug96343-expected.pngbug965-expected.pngbug97138-expected.pngbug98196-expected.pngbug9879-1-expected.pngbug99923-expected.pngbug99948-expected.png
collapsing_borders
core
dom
marvin
body_col-expected.pngbody_tbody-expected.pngbody_tfoot-expected.pngbody_thead-expected.pngcol_span-expected.pngcolgroup_align_center-expected.pngcolgroup_align_justify-expected.pngcolgroup_align_left-expected.pngcolgroup_align_right-expected.pngcolgroup_span-expected.pngcolgroup_valign_baseline-expected.pngcolgroup_valign_bottom-expected.pngcolgroup_valign_middle-expected.pngcolgroup_valign_top-expected.pngcolgroup_width_pct-expected.pngcolgroup_width_px-expected.pngtable_frame_border-expected.pngtable_frame_box-expected.pngtable_overflow_hidden_td-expected.pngtable_overflow_td_dynamic_deactivate-expected.pngtable_row_align_center-expected.pngtable_row_align_left-expected.pngtable_row_align_right-expected.pngtable_rules_all-expected.pngtable_rules_groups-expected.pngtable_rules_none-expected.pngtables_align_center-expected.pngtables_align_left-expected.pngtables_align_right-expected.pngtables_bgcolor_aqua-expected.pngtables_bgcolor_aqua_rgb-expected.pngtables_bgcolor_black-expected.pngtables_bgcolor_black_rgb-expected.pngtables_bgcolor_blue-expected.pngtables_bgcolor_blue_rgb-expected.pngtables_bgcolor_fuchsia-expected.pngtables_bgcolor_fuchsia_rgb-expected.pngtables_bgcolor_gray-expected.pngtables_bgcolor_gray_rgb-expected.pngtables_bgcolor_green-expected.pngtables_bgcolor_green_rgb-expected.pngtables_bgcolor_lime-expected.pngtables_bgcolor_lime_rgb-expected.pngtables_bgcolor_maroon-expected.pngtables_bgcolor_maroon_rgb-expected.pngtables_bgcolor_navy-expected.pngtables_bgcolor_navy_rgb-expected.pngtables_bgcolor_olive-expected.pngtables_bgcolor_olive_rgb-expected.pngtables_bgcolor_purple-expected.pngtables_bgcolor_purple_rgb-expected.pngtables_bgcolor_red-expected.pngtables_bgcolor_red_rgb-expected.pngtables_bgcolor_silver-expected.pngtables_bgcolor_silver_rgb-expected.pngtables_bgcolor_teal-expected.pngtables_bgcolor_teal_rgb-expected.pngtables_bgcolor_white-expected.pngtables_bgcolor_white_rgb-expected.pngtables_bgcolor_yellow-expected.pngtables_bgcolor_yellow_rgb-expected.pngtables_border_0-expected.pngtables_border_1-expected.pngtables_border_2-expected.pngtables_border_3-expected.pngtables_caption_align_bot-expected.pngtables_caption_align_top-expected.pngtables_cellpadding-expected.pngtables_cellpadding_pct-expected.pngtables_cellspacing-expected.pngtables_class-expected.pngtables_default-expected.pngtables_id-expected.pngtables_row_th_nowrap-expected.pngtables_style-expected.pngtables_td_align_center-expected.pngtables_td_align_left-expected.pngtables_td_align_right-expected.pngtables_td_colspan-expected.pngtables_td_height-expected.pngtables_td_nowrap-expected.pngtables_td_rowspan-expected.pngtables_td_width-expected.pngtables_th_align_center-expected.pngtables_th_align_left-expected.pngtables_th_align_right-expected.pngtables_th_colspan-expected.pngtables_th_height-expected.pngtables_th_rowspan-expected.pngtables_th_width-expected.pngtables_width_percent-expected.pngtables_width_px-expected.pngtbody_align_center-expected.pngtbody_align_char-expected.pngtbody_align_justify-expected.pngtbody_align_left-expected.pngtbody_align_right-expected.pngtbody_char-expected.pngtbody_valign_baseline-expected.pngtbody_valign_bottom-expected.pngtbody_valign_middle-expected.pngtbody_valign_top-expected.pngtd_valign_baseline-expected.pngtd_valign_bottom-expected.pngtd_valign_middle-expected.pngtd_valign_top-expected.pngtfoot_align_center-expected.pngtfoot_align_char-expected.pngtfoot_align_justify-expected.pngtfoot_align_left-expected.pngtfoot_align_right-expected.pngtfoot_char-expected.pngtfoot_valign_baseline-expected.pngtfoot_valign_bottom-expected.pngtfoot_valign_middle-expected.pngtfoot_valign_top-expected.pngth_valign_baseline-expected.pngth_valign_bottom-expected.pngth_valign_middle-expected.pngth_valign_top-expected.pngthead_align_center-expected.pngthead_align_char-expected.pngthead_align_justify-expected.pngthead_align_left-expected.pngthead_align_right-expected.pngthead_char-expected.pngthead_valign_baseline-expected.pngthead_valign_bottom-expected.pngthead_valign_middle-expected.pngthead_valign_top-expected.pngtr_bgcolor_aqua_rgb-expected.pngtr_bgcolor_black-expected.pngtr_bgcolor_black_rgb-expected.pngtr_bgcolor_blue-expected.pngtr_bgcolor_blue_rgb-expected.pngtr_bgcolor_fuchsia-expected.pngtr_bgcolor_fuchsia_rgb-expected.pngtr_bgcolor_gray-expected.pngtr_bgcolor_gray_rgb-expected.pngtr_bgcolor_green-expected.pngtr_bgcolor_green_rgb-expected.pngtr_bgcolor_lime-expected.pngtr_bgcolor_lime_rgb-expected.pngtr_bgcolor_maroon-expected.pngtr_bgcolor_maroon_rgb-expected.pngtr_bgcolor_navy-expected.pngtr_bgcolor_navy_rgb-expected.pngtr_bgcolor_olive-expected.pngtr_bgcolor_olive_rgb-expected.pngtr_bgcolor_purple-expected.pngtr_bgcolor_purple_rgb-expected.pngtr_bgcolor_red-expected.pngtr_bgcolor_red_rgb-expected.pngtr_bgcolor_silver-expected.pngtr_bgcolor_silver_rgb-expected.pngtr_bgcolor_teal-expected.pngtr_bgcolor_teal_rgb-expected.pngtr_bgcolor_white-expected.pngtr_bgcolor_white_rgb-expected.pngtr_bgcolor_yellow-expected.pngtr_bgcolor_yellow_rgb-expected.pngtr_valign_baseline-expected.pngtr_valign_bottom-expected.pngtr_valign_middle-expected.pngtr_valign_top-expected.pngx_caption_align_bottom-expected.pngx_caption_align_top-expected.pngx_caption_class-expected.pngx_caption_id-expected.pngx_caption_style-expected.pngx_col_align_center-expected.pngx_col_align_char-expected.pngx_col_align_justify-expected.pngx_col_align_left-expected.pngx_col_align_right-expected.pngx_col_span-expected.pngx_col_valign_baseline-expected.pngx_col_valign_bottom-expected.pngx_col_valign_middle-expected.pngx_col_valign_top-expected.pngx_col_width_pct-expected.pngx_col_width_px-expected.pngx_col_width_rel-expected.pngx_colgroup_align_center-expected.pngx_colgroup_align_char-expected.pngx_colgroup_align_justify-expected.pngx_colgroup_align_left-expected.pngx_colgroup_align_right-expected.pngx_colgroup_span-expected.pngx_colgroup_valign_baseline-expected.pngx_colgroup_valign_bottom-expected.pngx_colgroup_valign_middle-expected.pngx_colgroup_valign_top-expected.pngx_colgroup_width_pct-expected.pngx_colgroup_width_rel-expected.pngx_table-expected.pngx_table_align_center-expected.pngx_table_align_left-expected.pngx_table_align_right-expected.pngx_table_bgcolor_name-expected.pngx_table_bgcolor_rgb-expected.pngx_table_border-expected.pngx_table_border_none-expected.pngx_table_border_px-expected.pngx_table_cellpadding-expected.pngx_table_cellpadding_pct-expected.pngx_table_cellspacing-expected.pngx_table_cellspacing_pct-expected.pngx_table_class-expected.pngx_table_frame_void-expected.pngx_table_id-expected.pngx_table_rules_groups-expected.pngx_table_rules_none-expected.pngx_table_style-expected.pngx_table_width_pct-expected.pngx_table_width_px-expected.pngx_tbody_align_center-expected.pngx_tbody_align_char-expected.pngx_tbody_align_justify-expected.pngx_tbody_align_left-expected.pngx_tbody_align_right-expected.pngx_tbody_class-expected.pngx_tbody_id-expected.pngx_tbody_style-expected.pngx_tbody_valign_baseline-expected.pngx_tbody_valign_bottom-expected.pngx_tbody_valign_middle-expected.pngx_tbody_valign_top-expected.pngx_td_align_center-expected.pngx_td_align_char-expected.pngx_td_align_justify-expected.pngx_td_align_left-expected.pngx_td_align_right-expected.pngx_td_bgcolor_name-expected.pngx_td_bgcolor_rgb-expected.pngx_td_class-expected.pngx_td_colspan-expected.pngx_td_height-expected.pngx_td_id-expected.pngx_td_nowrap-expected.pngx_td_rowspan-expected.pngx_td_style-expected.pngx_td_valign_baseline-expected.pngx_td_valign_bottom-expected.pngx_td_valign_middle-expected.pngx_td_valign_top-expected.pngx_td_width-expected.pngx_tfoot_align_center-expected.pngx_tfoot_align_char-expected.pngx_tfoot_align_justify-expected.pngx_tfoot_align_left-expected.pngx_tfoot_align_right-expected.pngx_tfoot_class-expected.pngx_tfoot_id-expected.pngx_tfoot_style-expected.pngx_tfoot_valign_baseline-expected.pngx_tfoot_valign_bottom-expected.pngx_tfoot_valign_middle-expected.pngx_tfoot_valign_top-expected.pngx_th_align_center-expected.pngx_th_align_char-expected.pngx_th_align_justify-expected.pngx_th_align_left-expected.pngx_th_align_right-expected.pngx_th_bgcolor_name-expected.pngx_th_bgcolor_rgb-expected.pngx_th_class-expected.pngx_th_colspan-expected.pngx_th_height-expected.pngx_th_id-expected.pngx_th_nowrap-expected.pngx_th_rowspan-expected.pngx_th_style-expected.pngx_th_valign_baseline-expected.pngx_th_valign_bottom-expected.pngx_th_valign_middle-expected.pngx_th_valign_top-expected.pngx_th_width-expected.pngx_thead_align_center-expected.pngx_thead_align_char-expected.pngx_thead_align_justify-expected.pngx_thead_align_left-expected.pngx_thead_align_right-expected.pngx_thead_class-expected.pngx_thead_id-expected.pngx_thead_style-expected.pngx_thead_valign_baseline-expected.pngx_thead_valign_bottom-expected.pngx_thead_valign_middle-expected.pngx_thead_valign_top-expected.pngx_tr_align_center-expected.pngx_tr_align_char-expected.pngx_tr_align_justify-expected.pngx_tr_align_left-expected.pngx_tr_align_right-expected.pngx_tr_bgcolor_name-expected.pngx_tr_bgcolor_rgb-expected.pngx_tr_class-expected.pngx_tr_id-expected.pngx_tr_style-expected.pngx_tr_valign_baseline-expected.pngx_tr_valign_bottom-expected.pngx_tr_valign_middle-expected.pngx_tr_valign_top-expected.png
other
mozilla_expected_failures
bugs
97619-expected.pngbug1010-expected.pngbug10140-expected.pngbug101759-expected.pngbug10216-expected.pngbug104898-expected.pngbug1055-2-expected.pngbug106336-expected.pngbug106966-expected.pngbug1128-expected.pngbug11331-expected.pngbug1164-expected.pngbug11945-expected.pngbug1262-expected.pngbug131020-3-expected.pngbug14007-1-expected.pngbug14007-2-expected.pngbug14159-2-expected.pngbug14489-expected.pngbug1647-expected.pngbug1725-expected.pngbug17826-expected.pngbug178855-expected.pngbug18770-expected.pngbug19526-expected.pngbug21518-expected.pngbug220653-expected.pngbug22122-expected.pngbug2479-5-expected.pngbug24880-1-expected.pngbug25707-expected.pngbug27993-2-expected.pngbug29058-2-expected.pngbug3105-expected.pngbug3166-1-expected.pngbug3166-10-expected.pngbug3166-11-expected.pngbug3166-12-expected.pngbug3166-13-expected.pngbug3166-14-expected.pngbug3166-15-expected.pngbug3166-16-expected.pngbug3166-17-expected.pngbug3166-18-expected.pngbug3166-2-expected.pngbug3166-3-expected.pngbug3166-4-expected.pngbug3166-5-expected.pngbug3166-6-expected.pngbug3166-7-expected.pngbug3166-8-expected.pngbug3166-9-expected.pngbug32205-1-expected.pngbug32205-4-expected.pngbug33784-expected.pngbug42043-expected.pngbug4294-expected.pngbug46268-4-expected.pngbug47163-expected.pngbug51000-expected.pngbug56024-expected.pngbug58402-2-expected.pngbug59252-expected.pngbug61042-1-expected.pngbug61042-2-expected.pngbug65372-expected.pngbug67915-2-expected.pngbug6933-expected.pngbug7113-expected.pngbug7121-2-expected.pngbug72393-expected.pngbug7243-expected.pngbug73629-expected.pngbug80762-2-expected.pngbug8499-expected.pngbug89315-expected.pngbug91057-expected.pngbug92647-1-expected.pngbug92868_1-expected.pngbug9879-1-expected.png
collapsing_borders
core
dom
marvin
backgr_fixed-bg-expected.pngtable_frame_above-expected.pngtable_frame_below-expected.pngtable_frame_hsides-expected.pngtable_frame_lhs-expected.pngtable_frame_rhs-expected.pngtable_frame_void-expected.pngtable_frame_vsides-expected.pngtable_overflow_caption-expected.pngtable_overflow_caption_bottom-expected.pngtable_overflow_caption_hidden-expected.pngtable_overflow_caption_hidden_table-expected.pngtable_overflow_caption_left-expected.pngtable_overflow_caption_right-expected.pngtable_overflow_caption_top-expected.pngtable_overflow_dirty_reflow-expected.pngtable_overflow_dirty_reflow_row-expected.pngtable_overflow_dirty_reflow_table-expected.pngtable_overflow_dirty_reflow_tbody-expected.pngtable_overflow_hidden_table-expected.pngtable_overflow_hidden_tbody-expected.pngtable_overflow_hidden_tr-expected.pngtable_overflow_style_reflow_cell-expected.pngtable_overflow_style_reflow_cell_sibling-expected.pngtable_overflow_style_reflow_row-expected.pngtable_overflow_style_reflow_row_sibling-expected.pngtable_overflow_style_reflow_table-expected.pngtable_overflow_style_reflow_table_caption-expected.pngtable_overflow_style_reflow_tbody-expected.pngtable_overflow_style_reflow_tbody_sibling-expected.pngtable_overflow_td_dynamic_deactivate-expected.pngtable_overflow_td_valign_bottom-expected.pngtable_overflow_td_valign_middle-expected.pngtable_overflow_td_valign_top-expected.pngtable_rules_cols-expected.pngtable_rules_rows-expected.pngtables_caption_align_left-expected.pngtables_caption_align_right-expected.pngtables_cellspacing_pct-expected.pngx_caption_align_left-expected.pngx_caption_align_right-expected.pngx_colgroup_width_px-expected.pngx_table_frame_above-expected.pngx_table_frame_below-expected.pngx_table_frame_border-expected.pngx_table_frame_box-expected.pngx_table_frame_hsides-expected.pngx_table_frame_lhs-expected.pngx_table_frame_rhs-expected.pngx_table_frame_vsides-expected.pngx_table_rules_all-expected.pngx_table_rules_cols-expected.pngx_table_rules_rows-expected.png
other
transforms
virtual
android
both-taller-select-popup-options-disabled
controls-refresh-hc
fast
forms
color-scheme
autofill
button
calendar-picker
color
date
datetimelocal-picker
datetimelocal
file
href
media
meter
month-picker
month
password
range
search
select
suggestion-picker
text
time-picker
time
week-picker
week
css-line-clamp-line-breaking-ellipsis
dark-color-scheme
button
checkbox
color
composition_marker
date
datetimelocal-picker
details_summary
fast
forms
color-scheme
autofill
button
calendar-picker
color
date
datetimelocal-picker
datetimelocal
file
href
media
meter
month-picker
month
password
range
search
select
suggestion-picker
text-selection-outside-control-expected.png
text
time-picker
time
week-picker
week
validation-bubble-appearance-edge-expected.pngvalidation-bubble-appearance-wrap-expected.png
loader
media
radio
range
select
text
dark-mode-default
disable-raster-inducing-scroll
paint
invalidation
exotic-color-space
images
12-55-expected.png182-expected.png2-dht-expected.png23-55-expected.png55-expected.pngalt-text-wrapping-expected.pngcolor-profile-image-filter-all-expected.pngcolor-profile-munsell-adobe-to-srgb-expected.pngcolor-profile-munsell-adobe-to-srgb-webgl-expected.pngcolor-profile-munsell-srgb-to-srgb-expected.pngcross-fade-svg-size-diff-expected.pngcross-fade-svg-size-expected.pngfavicon-as-image-expected.pngimage-map-anchor-children-expected.pngimagemap-circle-focus-ring-expected.pngimagemap-focus-ring-expected.pngimagemap-focus-ring-in-positioned-container-expected.pngimagemap-focus-ring-outline-color-expected.pngimagemap-focus-ring-outline-color-explicitly-inherited-from-map-expected.pngimagemap-focus-ring-outline-color-not-inherited-from-map-expected.pngimagemap-focus-ring-with-paint-root-offset-expected.pngimagemap-focus-ring-with-scale-transform-expected.pngimagemap-focus-ring-zero-outline-width-expected.pngimagemap-focus-ring-zoom-expected.pngimagemap-overflowing-circle-focus-ring-expected.pngimagemap-overflowing-polygon-focus-ring-expected.pngimagemap-polygon-focus-ring-expected.pngjpeg-yuv-image-decoding-expected.pngpixel-crack-image-background-webkit-transform-scale-expected.pngpng-with-color-profile-expected.pngrendering-broken-0px-images-expected.pngrendering-broken-0px-images-quirk-expected.pngrendering-broken-10px-images-expected.pngrendering-broken-16px-images-expected.pngrendering-broken-1px-images-expected.pngrendering-broken-block-flow-images-expected.pngrendering-broken-images-empty-alt-expected.pngrendering-broken-images-expected.png
forced-high-contrast-colors
html
details_summary
fractional-scroll-offsets
gpu-rasterization
gpu
prefer_compositing_to_lcd_text
scalefactor150
scalefactor200
select-option-accessibility-target-size-disabled
slider-vertical-enabled
text-antialias-freetype
text-antialias
atomic-inline-before-ellipsis-expected.pngatsui-multiple-renderers-expected.pngatsui-negative-spacing-features-expected.pngatsui-pointtooffset-calls-cg-expected.pngatsui-small-caps-punctuation-size-expected.pngatsui-spacing-features-expected.png
basic
bidi-embedding-pop-and-push-same-expected.pngbidi-img-alt-text-expected.pngbreak-word-expected.pngcapitalize-boundaries-expected.pngcapitalize-empty-generated-string-expected.pngcapitalize-preserve-nbsp-expected.pngcaps-lock-indicator-disabled-expected.pngcaps-lock-indicator-enabled-expected.pngcaps-lock-indicator-enabled-rtl-expected.pngcff2-synthetic-bold-italic-expected.pngcg-fallback-bolding-expected.pngcg-vs-atsui-expected.pngchromium-linux-fontconfig-renderstyle-expected.pngcolor-emoji-expected.pngcolrv1-expected.pngcolrv1-variable-expected.pngcomplex-path-with-no-subpixel-fonts-expected.pngcomplex-preferred-logical-widths-expected.pngcomplex-synthetic-bold-space-width-expected.pngcomplex-text-opacity-expected.pngdecorations-with-text-combine-expected.pngdrawBidiText-expected.pngellipsis-at-edge-of-ltr-text-in-rtl-flow-expected.pngellipsis-at-edge-of-rtl-text-in-ltr-flow-expected.pngellipsis-in-absolute-block-expected.pngellipsis-in-justified-text-expected.pngellipsis-ltr-text-in-ltr-flow-expected.pngellipsis-ltr-text-in-ltr-flow-underline-composition-expected.pngellipsis-ltr-text-in-ltr-flow-underline-expected.pngellipsis-ltr-text-in-rtl-flow-expected.pngellipsis-ltr-text-in-rtl-flow-leading-space-expected.pngellipsis-ltr-text-in-rtl-flow-underline-composition-expected.pngellipsis-ltr-text-in-rtl-flow-underline-expected.pngellipsis-mixed-text-in-ltr-flow-underline-2-expected.pngellipsis-mixed-text-in-ltr-flow-underline-expected.pngellipsis-mixed-text-in-rtl-flow-underline-2-expected.pngellipsis-mixed-text-in-rtl-flow-underline-expected.pngellipsis-rtl-text-in-ltr-flow-expected.pngellipsis-rtl-text-in-ltr-flow-underline-composition-expected.pngellipsis-rtl-text-in-ltr-flow-underline-expected.pngellipsis-rtl-text-in-rtl-flow-expected.pngellipsis-rtl-text-in-rtl-flow-underline-composition-expected.pngellipsis-rtl-text-in-rtl-flow-underline-expected.pngellipsis-with-list-marker-in-ltr-flow-expected.pngellipsis-with-list-marker-in-rtl-flow-expected.pngemoji-vertical-origin-visual-expected.pngemoticons-expected.pngemphasis-combined-text-expected.pngemphasis-complex-expected.pngemphasis-ellipsis-complextext-expected.pngemphasis-vertical-expected.pngfake-italic-expected.pngfallback-for-custom-font-expected.png
firstline
font-ascent-mac-expected.pngfont-fallback-expected.png
font-features
font-format-support-color-cff2-expected.pngfont-initial-expected.pngfont-kerning-expected.pngfont-smallcaps-layout-expected.pngfont-stretch-expected.pngfont-stretch-variant-expected.pngfont-weight-600-expected.pngfont-weight-expected.pngfont-weight-variant-expected.pngformat-control-expected.pnghide-atomic-inlines-after-ellipsis-expected.pngin-rendered-text-rtl-expected.png
international
001-expected.png002-expected.png003-expected.pngalef-connected-expected.pngarabic-justify-expected.pngarabic-vertical-offset-expected.pngbidi-AN-after-L-expected.pngbidi-AN-after-empty-run-expected.pngbidi-CS-after-AN-expected.pngbidi-L2-run-reordering-expected.pngbidi-LDB-2-CSS-expected.pngbidi-LDB-2-HTML-expected.pngbidi-LDB-2-formatting-characters-expected.pngbidi-control-chars-treated-as-ZWS-expected.pngbidi-european-terminators-expected.pngbidi-explicit-embedding-expected.pngbidi-ignored-for-first-child-inline-expected.pngbidi-innertext-expected.pngbidi-layout-across-linebreak-expected.pngbidi-linebreak-001-expected.pngbidi-linebreak-002-expected.pngbidi-linebreak-003-expected.pngbidi-listbox-atsui-expected.pngbidi-listbox-expected.pngbidi-mirror-he-ar-expected.pngbidi-neutral-directionality-paragraph-start-expected.pngbidi-neutral-run-expected.pngbidi-override-expected.pngbidi-word-spacing-rtl-expected.pngbold-bengali-expected.pngcomplex-character-based-fallback-expected.pngcomplex-joining-using-gpos-expected.pngdanda-space-expected.pngdraw-complex-text-from-to-expected.pnghebrew-vowels-expected.pnghindi-spacing-expected.pnghindi-whitespace-expected.pnglang-glyph-cache-separation-expected.pngplane2-expected.pngrtl-negative-letter-spacing-expected.pngrtl-white-space-pre-wrap-expected.pngtext-combine-image-test-expected.pngtext-spliced-font-expected.pngthai-baht-space-expected.pngunicode-bidi-plaintext-expected.pngunicode-bidi-plaintext-in-textarea-expected.pngvertical-text-glyph-test-expected.pngwrap-CJK-001-expected.png
justify-ideograph-complex-expected.pngjustify-ideograph-leading-expansion-expected.pngjustify-ideograph-simple-expected.pngjustify-ideograph-vertical-expected.pnglarge-text-composed-char-expected.pngletter-spacing-leading-and-trailing-expected.pngletter-spacing-negative-opacity-expected.pngline-breaks-after-white-space-expected.pngline-breaks-expected.pngline-initial-and-final-swashes-expected.pngmidword-break-after-breakable-char-expected.pngmidword-break-before-surrogate-pair-expected.pngmidword-break-hang-expected.pngorientation-sideways-expected.pngplace-ellipsis-in-inline-block-adjacent-float-2-expected.pngplace-ellipsis-in-inline-block-adjacent-float-expected.pngplace-ellipsis-in-inline-blocks-2-expected.pngplace-ellipsis-in-inline-blocks-align-center-expected.pngplace-ellipsis-in-inline-blocks-align-justify-expected.pngplace-ellipsis-in-inline-blocks-align-left-expected.pngplace-ellipsis-in-inline-blocks-align-right-expected.pngplace-ellipsis-in-inline-blocks-expected.pngplace-mixed-ellipsis-in-inline-blocks-2-expected.pngplace-mixed-ellipsis-in-inline-blocks-align-center-2-expected.pngplace-mixed-ellipsis-in-inline-blocks-align-center-expected.pngplace-mixed-ellipsis-in-inline-blocks-align-justify-expected.pngplace-mixed-ellipsis-in-inline-blocks-align-left-2-expected.pngplace-mixed-ellipsis-in-inline-blocks-align-left-expected.pngplace-mixed-ellipsis-in-inline-blocks-align-right-2-expected.pngplace-mixed-ellipsis-in-inline-blocks-align-right-expected.pngplace-mixed-ellipsis-in-inline-blocks-expected.pngplace-rtl-ellipsis-in-inline-blocks-2-expected.pngplace-rtl-ellipsis-in-inline-blocks-align-center-expected.pngplace-rtl-ellipsis-in-inline-blocks-align-justify-expected.pngplace-rtl-ellipsis-in-inline-blocks-align-left-expected.pngplace-rtl-ellipsis-in-inline-blocks-align-right-expected.pngplace-rtl-ellipsis-in-inline-blocks-expected.pngreset-emptyRun-expected.png
selection
shadow-no-blur-expected.pngshadow-translucent-fill-expected.png
shaping
small-caps-turkish-expected.pngsoftHyphen-expected.pngstroking-decorations-expected.pngstroking-expected.png
sub-pixel
text-letter-spacing-expected.pngtext-shadow-no-default-color-expected.pngtext-stroke-with-border-expected.pngtextIteratorNilRenderer-expected.pngtrailing-white-space-2-expected.pngtrailing-white-space-expected.pngunicode-fallback-font-expected.pngupdateNewFont-expected.png
variable-fonts
variable-system-font-matching-expected.pngvertical-rl-rtl-linebreak-expected.pngvertical-surrogate-pair-expected.pngwbr-expected.pngwbr-in-pre-crash-expected.pngwbr-pre-expected.pngwbr-styled-expected.png
whitespace
word-break-expected.pngword-break-run-rounding-expected.pngword-break-soft-hyphen-expected.pngword-space-expected.pngzero-font-size-expected.png
mac-mac14-arm64

@ -133,9 +133,11 @@ TEST_P(AmbientSlideshowPixelTest, ShowMediaStringView) {
media_session::mojom::MediaPlaybackState::kPlaying);
}
// https://crbug.com/346918516, increase revision number for slight
// font rendering pixel changes when moving to Fontations.
EXPECT_TRUE(GetPixelDiffer()->CompareUiComponentsOnPrimaryScreen(
"AmbientSlideshow",
/*revision_number=*/1, ash::Shell::GetPrimaryRootWindow()));
/*revision_number=*/2, ash::Shell::GetPrimaryRootWindow()));
}
} // namespace ash

@ -201,7 +201,7 @@ TEST_P(AppListItemViewPixelTest, AppListItemView) {
ShowAppList();
EXPECT_TRUE(GetPixelDiffer()->CompareUiComponentsOnPrimaryScreen(
GenerateScreenshotName(), /*revision_number=*/5, GetItemViewAt(0),
GenerateScreenshotName(), /*revision_number=*/6, GetItemViewAt(0),
GetItemViewAt(1)));
}
@ -225,7 +225,7 @@ TEST_P(AppListItemViewPixelTest, AppListFolderItemsLayoutInIcon) {
ShowAppList();
EXPECT_TRUE(GetPixelDiffer()->CompareUiComponentsOnPrimaryScreen(
GenerateScreenshotName(), /*revision_number=*/9, GetItemViewAt(0),
GenerateScreenshotName(), /*revision_number=*/10, GetItemViewAt(0),
GetItemViewAt(1), GetItemViewAt(2), GetItemViewAt(3), GetItemViewAt(4)));
}
@ -262,7 +262,7 @@ TEST_P(AppListItemViewPixelTest, AppListFolderIconExtendedState) {
}
EXPECT_TRUE(GetPixelDiffer()->CompareUiComponentsOnPrimaryScreen(
GenerateScreenshotName(), /*revision_number=*/11, GetItemViewAt(0),
GenerateScreenshotName(), /*revision_number=*/12, GetItemViewAt(0),
GetItemViewAt(1), GetItemViewAt(2), GetItemViewAt(3), GetItemViewAt(4)));
// Reset the states.
@ -399,7 +399,7 @@ TEST_P(AppListViewPromiseAppPixelTest, PromiseAppWaiting) {
EXPECT_TRUE(GetPixelDiffer()->CompareUiComponentsOnPrimaryScreen(
base::JoinString({"promise_app_waiting", GenerateScreenshotName()}, "."),
/*revision_number=*/3, GetItemViewAt(0), GetItemViewAt(1)));
/*revision_number=*/4, GetItemViewAt(0), GetItemViewAt(1)));
}
TEST_P(AppListViewPromiseAppPixelTest, PromiseAppInstalling) {
@ -427,7 +427,7 @@ TEST_P(AppListViewPromiseAppPixelTest, PromiseAppInstalling) {
EXPECT_TRUE(GetPixelDiffer()->CompareUiComponentsOnPrimaryScreen(
base::JoinString({"promise_app_installing", GenerateScreenshotName()},
"."),
/*revision_number=*/3, GetItemViewAt(0), GetItemViewAt(1)));
/*revision_number=*/4, GetItemViewAt(0), GetItemViewAt(1)));
}
} // namespace ash

@ -210,7 +210,7 @@ TEST_P(AppListViewPixelRTLTest, AnswerCardSearchResult) {
UseFixedPlaceholderTextAndHideCursor(test_helper->GetSearchBoxView());
EXPECT_TRUE(GetPixelDiffer()->CompareUiComponentsOnPrimaryScreen(
"bubble_launcher_answer_card_search_results", 15,
"bubble_launcher_answer_card_search_results", /*revision_number=*/16,
GetAppListTestHelper()->GetBubbleView(),
GetPrimaryShelf()->navigation_widget()));
}
@ -232,7 +232,7 @@ TEST_P(AppListViewPixelRTLTest, URLSearchResult) {
UseFixedPlaceholderTextAndHideCursor(test_helper->GetSearchBoxView());
EXPECT_TRUE(GetPixelDiffer()->CompareUiComponentsOnPrimaryScreen(
"bubble_launcher_url_search_results", 14,
"bubble_launcher_url_search_results", /*revision_number=*/15,
GetAppListTestHelper()->GetBubbleView(),
GetPrimaryShelf()->navigation_widget()));
}
@ -254,7 +254,7 @@ TEST_P(AppListViewPixelRTLTest, KeyboardShortcutSearchResult) {
UseFixedPlaceholderTextAndHideCursor(test_helper->GetSearchBoxView());
EXPECT_TRUE(GetPixelDiffer()->CompareUiComponentsOnPrimaryScreen(
"bubble_launcher_ks_search_results", /*revision_number=*/5,
"bubble_launcher_ks_search_results", /*revision_number=*/6,
GetAppListTestHelper()->GetBubbleView()));
}
@ -267,7 +267,8 @@ TEST_P(AppListViewPixelRTLTest, Basics) {
UseFixedPlaceholderTextAndHideCursor(
GetAppListTestHelper()->GetSearchBoxView());
EXPECT_TRUE(GetPixelDiffer()->CompareUiComponentsOnPrimaryScreen(
"bubble_launcher_basics", 14, GetAppListTestHelper()->GetBubbleView(),
"bubble_launcher_basics", /*revision_number=*/15,
GetAppListTestHelper()->GetBubbleView(),
GetPrimaryShelf()->navigation_widget()));
}
@ -288,7 +289,7 @@ TEST_P(AppListViewPixelRTLTest, GradientZone) {
/*position=*/20);
EXPECT_TRUE(GetPixelDiffer()->CompareUiComponentsOnPrimaryScreen(
"bubble_launcher_gradient_zone", 14,
"bubble_launcher_gradient_zone", /*revision_number=*/15,
GetAppListTestHelper()->GetBubbleView(),
GetPrimaryShelf()->navigation_widget()));
}
@ -341,7 +342,7 @@ TEST_P(AppListViewLauncherSearchIphTest, Basic) {
UseFixedPlaceholderTextAndHideCursor(search_box_view);
EXPECT_TRUE(GetPixelDiffer()->CompareUiComponentsOnPrimaryScreen(
"launcher_search_iph", /*revision_number=*/6, search_box_view));
"launcher_search_iph", /*revision_number=*/7, search_box_view));
}
class AppListViewTabletPixelTest
@ -379,7 +380,7 @@ INSTANTIATE_TEST_SUITE_P(RTL,
// Verifies the default layout for tablet mode launcher.
TEST_P(AppListViewTabletPixelTest, Basic) {
EXPECT_TRUE(GetPixelDiffer()->CompareUiComponentsOnPrimaryScreen(
"tablet_launcher_basics", 15,
"tablet_launcher_basics", /*revision_number=*/16,
GetAppListTestHelper()->GetAppsContainerView()));
}
@ -400,7 +401,7 @@ TEST_P(AppListViewTabletPixelTest, TopGradientZone) {
generator->MoveTouchBy(0, -40);
EXPECT_TRUE(GetPixelDiffer()->CompareUiComponentsOnPrimaryScreen(
"tablet_launcher_top_gradient_zone", 13,
"tablet_launcher_top_gradient_zone", /*revision_number=*/14,
GetAppListTestHelper()->GetAppsContainerView()));
}
@ -421,7 +422,7 @@ TEST_P(AppListViewTabletPixelTest, BottomGradientZone) {
generator->MoveTouchBy(0, -90);
EXPECT_TRUE(GetPixelDiffer()->CompareUiComponentsOnPrimaryScreen(
"tablet_launcher_bottom_gradient_zone", 15,
"tablet_launcher_bottom_gradient_zone", /*revision_number=*/16,
GetAppListTestHelper()->GetAppsContainerView()));
}
@ -431,7 +432,7 @@ TEST_P(AppListViewTabletPixelTest, SearchBoxViewActive) {
search_box_view->SetSearchBoxActive(true, ui::EventType::kUnknown);
EXPECT_TRUE(GetPixelDiffer()->CompareUiComponentsOnPrimaryScreen(
"search_box_view_active", 8, search_box_view));
"search_box_view_active", /*revision_number=*/9, search_box_view));
}
class AppListViewAssistantZeroStateTest
@ -478,7 +479,7 @@ TEST_P(AppListViewAssistantZeroStateTest, Basic) {
assistant_page_view->GetViewByID(AssistantViewID::kZeroStateView));
EXPECT_TRUE(GetPixelDiffer()->CompareUiComponentsOnPrimaryScreen(
"app_list_view_assistant_zero_state", 10,
"app_list_view_assistant_zero_state", /*revision_number=*/11,
assistant_page_view->GetViewByID(AssistantViewID::kZeroStateView)));
}

@ -99,13 +99,13 @@ class AuthContainerPixelTest : public AshTestBase {
TEST_F(AuthContainerPixelTest, SwitchTest) {
// Verify the UI.
EXPECT_TRUE(GetPixelDiffer()->CompareUiComponentsOnPrimaryScreen(
"PasswordWithSwitch", /*revision_number=*/0, container_view_));
"PasswordWithSwitch", /*revision_number=*/1, container_view_));
// Switch to the pin UI.
LeftClickOn(test_api_->GetSwitchButton());
// Verify the UI.
EXPECT_TRUE(GetPixelDiffer()->CompareUiComponentsOnPrimaryScreen(
"PinWithSwitch", /*revision_number=*/0, container_view_));
"PinWithSwitch", /*revision_number=*/1, container_view_));
}
// Verify the PIN only UI.
@ -114,7 +114,7 @@ TEST_F(AuthContainerPixelTest, PinOnlyTest) {
test_api_->GetView()->SetHasPassword(false);
EXPECT_TRUE(GetPixelDiffer()->CompareUiComponentsOnPrimaryScreen(
"PinOnly", /*revision_number=*/0, container_view_));
"PinOnly", /*revision_number=*/1, container_view_));
}
// Verify the password only UI.
@ -123,7 +123,7 @@ TEST_F(AuthContainerPixelTest, PasswordOnlyTest) {
test_api_->GetView()->SetHasPin(false);
EXPECT_TRUE(GetPixelDiffer()->CompareUiComponentsOnPrimaryScreen(
"PasswordOnly", /*revision_number=*/0, container_view_));
"PasswordOnly", /*revision_number=*/1, container_view_));
}
// Verify the password only UI with a PIN status.
@ -143,11 +143,11 @@ TEST_F(AuthContainerPixelTest, PinStatusTest) {
std::make_unique<cryptohome::PinStatus>(pin_status));
EXPECT_TRUE(GetPixelDiffer()->CompareUiComponentsOnPrimaryScreen(
"SetPinStatus", /*revision_number=*/1, container_view_));
"SetPinStatus", /*revision_number=*/2, container_view_));
test_api_->GetView()->SetPinStatus(nullptr);
EXPECT_TRUE(GetPixelDiffer()->CompareUiComponentsOnPrimaryScreen(
"PasswordOnly", /*revision_number=*/0, container_view_));
"PasswordOnly", /*revision_number=*/1, container_view_));
}
// Verify the fingerprint view.
@ -160,12 +160,12 @@ TEST_F(AuthContainerPixelTest, PasswordWithFingerprintTest) {
// Turn on the fingerprint factor availability.
container_view_->SetFingerprintState(FingerprintState::AVAILABLE_DEFAULT);
EXPECT_TRUE(GetPixelDiffer()->CompareUiComponentsOnPrimaryScreen(
"PasswordWithFingerprint", /*revision_number=*/0, container_view_));
"PasswordWithFingerprint", /*revision_number=*/1, container_view_));
// Turn off the fingerprint factor availability.
container_view_->SetFingerprintState(FingerprintState::UNAVAILABLE);
EXPECT_TRUE(GetPixelDiffer()->CompareUiComponentsOnPrimaryScreen(
"PasswordWithHiddenFingerprint", /*revision_number=*/0, container_view_));
"PasswordWithHiddenFingerprint", /*revision_number=*/1, container_view_));
}
// Verify the fingerprint view.
@ -178,12 +178,12 @@ TEST_F(AuthContainerPixelTest, PasswordAndPinWithFingerprintTest) {
// Turn on the fingerprint factor availability.
container_view_->SetFingerprintState(FingerprintState::AVAILABLE_DEFAULT);
EXPECT_TRUE(GetPixelDiffer()->CompareUiComponentsOnPrimaryScreen(
"PasswordAndPinWithFingerprint", /*revision_number=*/0, container_view_));
"PasswordAndPinWithFingerprint", /*revision_number=*/1, container_view_));
// Turn on the fingerprint factor availability.
container_view_->SetFingerprintState(FingerprintState::UNAVAILABLE);
EXPECT_TRUE(GetPixelDiffer()->CompareUiComponentsOnPrimaryScreen(
"PasswordAndPinWithHiddenFingerprint", /*revision_number=*/0,
"PasswordAndPinWithHiddenFingerprint", /*revision_number=*/1,
container_view_));
}

@ -93,15 +93,15 @@ TEST_F(AuthHeaderPixelTest, DayMode) {
DarkLightModeControllerImpl::Get()->SetDarkModeEnabledForTest(false);
// Verify the UI.
EXPECT_TRUE(GetPixelDiffer()->CompareUiComponentsOnPrimaryScreen(
"DayMode", /*revision_number=*/1, header_view_));
"DayMode", /*revision_number=*/2, header_view_));
// Verify the error.
header_view_->SetErrorTitle(kErrorTitle);
EXPECT_TRUE(GetPixelDiffer()->CompareUiComponentsOnPrimaryScreen(
"Error", /*revision_number=*/1, header_view_));
"Error", /*revision_number=*/2, header_view_));
// Verify the restore
header_view_->RestoreTitle();
EXPECT_TRUE(GetPixelDiffer()->CompareUiComponentsOnPrimaryScreen(
"Restore", /*revision_number=*/1, header_view_));
"Restore", /*revision_number=*/2, header_view_));
}
} // namespace

@ -122,28 +122,28 @@ TEST_F(InputRowWithPasswordPixelTest, DayMode) {
DarkLightModeControllerImpl::Get()->SetDarkModeEnabledForTest(false);
// Verify the UI.
EXPECT_TRUE(GetPixelDiffer()->CompareUiComponentsOnPrimaryScreen(
"DayMode", /*revision_number=*/1, container_view_));
"DayMode", /*revision_number=*/2, container_view_));
}
TEST_F(InputRowWithPasswordPixelTest, VisibleText) {
DarkLightModeControllerImpl::Get()->SetDarkModeEnabledForTest(false);
LeftClickOn(test_api_->GetDisplayTextButton());
EXPECT_TRUE(GetPixelDiffer()->CompareUiComponentsOnPrimaryScreen(
"VisibleText", /*revision_number=*/1, container_view_));
"VisibleText", /*revision_number=*/2, container_view_));
}
TEST_F(InputRowWithPasswordPixelTest, FocusDisplayTextButton) {
auth_input_->GetFocusManager()->SetFocusedView(
test_api_->GetDisplayTextButton());
EXPECT_TRUE(GetPixelDiffer()->CompareUiComponentsOnPrimaryScreen(
"FocusDisplayTextButton", /*revision_number=*/1, container_view_));
"FocusDisplayTextButton", /*revision_number=*/2, container_view_));
}
TEST_F(InputRowWithPasswordPixelTest, FocusSubmitButton) {
DarkLightModeControllerImpl::Get()->SetDarkModeEnabledForTest(false);
auth_input_->GetFocusManager()->SetFocusedView(test_api_->GetSubmitButton());
EXPECT_TRUE(GetPixelDiffer()->CompareUiComponentsOnPrimaryScreen(
"FocusSubmitButton", /*revision_number=*/1, container_view_));
"FocusSubmitButton", /*revision_number=*/2, container_view_));
}
} // namespace

@ -96,12 +96,12 @@ TEST_F(FingerprintViewPixelTest, AvailableTest) {
fingerprint_view_->SetState(FingerprintState::AVAILABLE_DEFAULT);
EXPECT_TRUE(GetPixelDiffer()->CompareUiComponentsOnPrimaryScreen(
"AvailableDark", /*revision_number=*/0, fingerprint_view_));
"AvailableDark", /*revision_number=*/1, fingerprint_view_));
// Switch to day mode.
DarkLightModeControllerImpl::Get()->SetDarkModeEnabledForTest(false);
EXPECT_TRUE(GetPixelDiffer()->CompareUiComponentsOnPrimaryScreen(
"Available", /*revision_number=*/0, fingerprint_view_));
"Available", /*revision_number=*/1, fingerprint_view_));
}
// Verify the AVAILABLE_WITH_TOUCH_SENSOR_WARNING state.
@ -111,13 +111,13 @@ TEST_F(FingerprintViewPixelTest, AvailableWithTouchSensorWarningTest) {
fingerprint_view_->SetState(
FingerprintState::AVAILABLE_WITH_TOUCH_SENSOR_WARNING);
EXPECT_TRUE(GetPixelDiffer()->CompareUiComponentsOnPrimaryScreen(
"AvailableWithTouchSensorWarningDark", /*revision_number=*/0,
"AvailableWithTouchSensorWarningDark", /*revision_number=*/1,
fingerprint_view_));
// Switch to day mode.
DarkLightModeControllerImpl::Get()->SetDarkModeEnabledForTest(false);
EXPECT_TRUE(GetPixelDiffer()->CompareUiComponentsOnPrimaryScreen(
"AvailableWithTouchSensorWarning", /*revision_number=*/0,
"AvailableWithTouchSensorWarning", /*revision_number=*/1,
fingerprint_view_));
}
@ -132,12 +132,12 @@ TEST_F(FingerprintViewPixelTest, AvailableWithFailedAttemptTest) {
// To avoid flakiness we just verify the first and last frames.
test_api.ShowFirstFrame();
EXPECT_TRUE(GetPixelDiffer()->CompareUiComponentsOnPrimaryScreen(
"AvailableWithFailedAttemptFirstFrame", /*revision_number=*/1,
"AvailableWithFailedAttemptFirstFrame", /*revision_number=*/2,
fingerprint_view_));
test_api.ShowLastFrame();
EXPECT_TRUE(GetPixelDiffer()->CompareUiComponentsOnPrimaryScreen(
"AvailableWithFailedAttemptLastFrame", /*revision_number=*/1,
"AvailableWithFailedAttemptLastFrame", /*revision_number=*/2,
fingerprint_view_));
}
@ -152,12 +152,12 @@ TEST_F(FingerprintViewPixelTest, DisabledFromAttemptsTest) {
FingerprintView::TestApi test_api(fingerprint_view_);
test_api.ShowFirstFrame();
EXPECT_TRUE(GetPixelDiffer()->CompareUiComponentsOnPrimaryScreen(
"DisabledFromAttemptsFirstFrame", /*revision_number=*/0,
"DisabledFromAttemptsFirstFrame", /*revision_number=*/1,
fingerprint_view_));
test_api.ShowLastFrame();
EXPECT_TRUE(GetPixelDiffer()->CompareUiComponentsOnPrimaryScreen(
"DisabledFromAttemptsLastFrame", /*revision_number=*/0,
"DisabledFromAttemptsLastFrame", /*revision_number=*/1,
fingerprint_view_));
}
@ -167,12 +167,12 @@ TEST_F(FingerprintViewPixelTest, DisabledFromTimeoutTest) {
fingerprint_view_->SetState(FingerprintState::DISABLED_FROM_TIMEOUT);
EXPECT_TRUE(GetPixelDiffer()->CompareUiComponentsOnPrimaryScreen(
"DisabledFromTimeoutDark", /*revision_number=*/0, fingerprint_view_));
"DisabledFromTimeoutDark", /*revision_number=*/1, fingerprint_view_));
// Switch to day mode.
DarkLightModeControllerImpl::Get()->SetDarkModeEnabledForTest(false);
EXPECT_TRUE(GetPixelDiffer()->CompareUiComponentsOnPrimaryScreen(
"DisabledFromTimeout", /*revision_number=*/0, fingerprint_view_));
"DisabledFromTimeout", /*revision_number=*/1, fingerprint_view_));
}
} // namespace ash

@ -76,14 +76,14 @@ TEST_F(PinKeyboardPixelTest, DayMode) {
DarkLightModeControllerImpl::Get()->SetDarkModeEnabledForTest(false);
// Verify the UI.
EXPECT_TRUE(GetPixelDiffer()->CompareUiComponentsOnPrimaryScreen(
"DayMode", /*revision_number=*/3, view_));
"DayMode", /*revision_number=*/4, view_));
}
// Verify the pin keyboard component look like in DayMode
TEST_F(PinKeyboardPixelTest, NightMode) {
// Verify the UI.
EXPECT_TRUE(GetPixelDiffer()->CompareUiComponentsOnPrimaryScreen(
"NightMode", /*revision_number=*/3, view_));
"NightMode", /*revision_number=*/4, view_));
}
} // namespace

@ -141,7 +141,7 @@ TEST_P(DisplayParameterizedCaptureModePixelTest,
GetScreenshotName(base::StrCat({"screen_capture_popup_notification_",
GetDisplayTypeName(GetDisplayType())}),
IsNotificationWidthIncreaseEnabled()),
/*revision_number=*/2,
/*revision_number=*/3,
test_api()->GetPopupViewForId(kScreenCaptureNotificationId)));
}
@ -174,7 +174,7 @@ TEST_P(DisplayParameterizedCaptureModePixelTest, VideoCaptureNotification) {
GetScreenshotName(base::StrCat({"video_capture_notification_popup_",
GetDisplayTypeName(GetDisplayType())}),
IsNotificationWidthIncreaseEnabled()),
/*revision_number=*/3, notification_popup_view));
/*revision_number=*/4, notification_popup_view));
test_api()->ToggleBubble();
auto* notification_view =
@ -183,7 +183,7 @@ TEST_P(DisplayParameterizedCaptureModePixelTest, VideoCaptureNotification) {
GetScreenshotName(base::StrCat({"video_capture_notification_view_",
GetDisplayTypeName(GetDisplayType())}),
IsNotificationWidthIncreaseEnabled()),
/*revision_number=*/2, notification_view));
/*revision_number=*/3, notification_view));
}
} // namespace ash

@ -63,14 +63,14 @@ TEST_F(ClipboardHistoryItemViewPixelTest, BitmapItemView) {
clipboard_history_util::kBitmapItemView);
EXPECT_TRUE(GetPixelDiffer()->CompareUiComponentsOnPrimaryScreen(
"bitmap_item_view",
/*revision_number=*/0, bitmap_contents));
/*revision_number=*/1, bitmap_contents));
// Press the tab key to focus on the delete button.
GetEventGenerator()->PressAndReleaseKey(ui::VKEY_TAB, ui::EF_NONE);
EXPECT_TRUE(GetPixelDiffer()->CompareUiComponentsOnPrimaryScreen(
"bitmap_item_view_with_delete_button",
/*revision_number=*/0, bitmap_contents));
/*revision_number=*/1, bitmap_contents));
}
} // namespace ash

@ -23,7 +23,7 @@ class FullscreenPixelTest : public AshTestBase {
// Verifies the primary fullscreen of an active user session.
TEST_F(FullscreenPixelTest, VerifyDefaultPrimaryDisplay) {
EXPECT_TRUE(GetPixelDiffer()->CompareUiComponentsOnPrimaryScreen(
"primary_display", /*revision_number=*/8, Shell::GetPrimaryRootWindow()));
"primary_display", /*revision_number=*/9, Shell::GetPrimaryRootWindow()));
}
} // namespace ash

@ -91,7 +91,7 @@ TEST_F(GlanceablesTasksPixelTest, Smoke) {
ASSERT_TRUE(GetDateTray()->is_active());
EXPECT_TRUE(GetPixelDiffer()->CompareUiComponentsOnPrimaryScreen(
"glanceables_smoke", /*revision_number=*/0,
"glanceables_smoke", /*revision_number=*/1,
GetDateTray()->glanceables_bubble_for_test()->GetBubbleView()));
}
@ -152,22 +152,22 @@ class GlanceablesTimeManagementPixelTest : public GlanceablesTasksPixelTest {
// Pixel test for default / basic glanceables functionality.
TEST_F(GlanceablesTimeManagementPixelTest, Smoke) {
EXPECT_TRUE(GetPixelDiffer()->CompareUiComponentsOnPrimaryScreen(
"expanded_tasks_top", /*revision_number=*/1,
"expanded_tasks_top", /*revision_number=*/2,
GetDateTray()->glanceables_bubble_for_test()->GetBubbleView()));
GetTasksScrollView()->ScrollToPosition(
GetTasksScrollView()->vertical_scroll_bar(), INT_MAX);
EXPECT_TRUE(GetPixelDiffer()->CompareUiComponentsOnPrimaryScreen(
"expanded_tasks_bottom", /*revision_number=*/1,
"expanded_tasks_bottom", /*revision_number=*/2,
GetDateTray()->glanceables_bubble_for_test()->GetBubbleView()));
GetClassroomView()->SetExpandState(true, /*expand_by_overscroll=*/false);
EXPECT_TRUE(GetPixelDiffer()->CompareUiComponentsOnPrimaryScreen(
"expanded_classroom_top", /*revision_number=*/1,
"expanded_classroom_top", /*revision_number=*/2,
GetDateTray()->glanceables_bubble_for_test()->GetBubbleView()));
GetClassroomScrollView()->ScrollToPosition(
GetClassroomScrollView()->vertical_scroll_bar(), INT_MAX);
EXPECT_TRUE(GetPixelDiffer()->CompareUiComponentsOnPrimaryScreen(
"expanded_classroom_bottom", /*revision_number=*/1,
"expanded_classroom_bottom", /*revision_number=*/2,
GetDateTray()->glanceables_bubble_for_test()->GetBubbleView()));
}

@ -158,7 +158,7 @@ TEST_P(GlanceablesTaskViewPixelTest, GlanceablesTaskView) {
widget()->LayoutRootViewIfNecessary();
EXPECT_TRUE(GetPixelDiffer()->CompareUiComponentsOnPrimaryScreen(
GenerateScreenshotName(), /*revision_number=*/0, widget()));
GenerateScreenshotName(), /*revision_number=*/1, widget()));
}
} // namespace ash

@ -161,13 +161,13 @@ TEST_F(AuthDialogContentsViewPixelTest, PasswordAndThemeChange) {
// Verify the UI.
EXPECT_TRUE(GetPixelDiffer()->CompareUiComponentsOnPrimaryScreen(
"password", /*revision_number=*/2, widget.get()));
"password", /*revision_number=*/3, widget.get()));
SwitchToLightMode();
// Verify the UI.
EXPECT_TRUE(GetPixelDiffer()->CompareUiComponentsOnPrimaryScreen(
"password_light", /*revision_number=*/2, widget.get()));
"password_light", /*revision_number=*/3, widget.get()));
}
TEST_F(AuthDialogContentsViewPixelTest, PinAndThemeChange) {
@ -177,13 +177,13 @@ TEST_F(AuthDialogContentsViewPixelTest, PinAndThemeChange) {
// Verify the UI.
EXPECT_TRUE(GetPixelDiffer()->CompareUiComponentsOnPrimaryScreen(
"pin", /*revision_number=*/3, widget.get()));
"pin", /*revision_number=*/4, widget.get()));
SwitchToLightMode();
// Verify the UI.
EXPECT_TRUE(GetPixelDiffer()->CompareUiComponentsOnPrimaryScreen(
"pin_light", /*revision_number=*/3, widget.get()));
"pin_light", /*revision_number=*/4, widget.get()));
}
TEST_F(AuthDialogContentsViewPixelTest, FixedPinAndThemeChange) {
@ -194,13 +194,13 @@ TEST_F(AuthDialogContentsViewPixelTest, FixedPinAndThemeChange) {
// Verify the UI.
EXPECT_TRUE(GetPixelDiffer()->CompareUiComponentsOnPrimaryScreen(
"pin6", /*revision_number=*/3, widget.get()));
"pin6", /*revision_number=*/4, widget.get()));
SwitchToLightMode();
// Verify the UI.
EXPECT_TRUE(GetPixelDiffer()->CompareUiComponentsOnPrimaryScreen(
"pin6_light", /*revision_number=*/3, widget.get()));
"pin6_light", /*revision_number=*/4, widget.get()));
}
TEST_F(AuthDialogContentsViewPixelTest, FingerprintAndThemeChange) {
@ -211,13 +211,13 @@ TEST_F(AuthDialogContentsViewPixelTest, FingerprintAndThemeChange) {
// Verify the UI.
EXPECT_TRUE(GetPixelDiffer()->CompareUiComponentsOnPrimaryScreen(
"fingerprint", /*revision_number=*/2, widget.get()));
"fingerprint", /*revision_number=*/3, widget.get()));
SwitchToLightMode();
// Verify the UI.
EXPECT_TRUE(GetPixelDiffer()->CompareUiComponentsOnPrimaryScreen(
"fingerprint_light", /*revision_number=*/2, widget.get()));
"fingerprint_light", /*revision_number=*/3, widget.get()));
}
TEST_F(AuthDialogContentsViewPixelTest,
@ -231,7 +231,7 @@ TEST_F(AuthDialogContentsViewPixelTest,
// Verify the UI.
EXPECT_TRUE(GetPixelDiffer()->CompareUiComponentsOnPrimaryScreen(
"pin6_fingerprint", /*revision_number=*/3, widget.get()));
"pin6_fingerprint", /*revision_number=*/4, widget.get()));
AuthDialogContentsView::TestApi dialog_api(
static_cast<AuthDialogContentsView*>(widget->GetContentsView()));
@ -242,7 +242,7 @@ TEST_F(AuthDialogContentsViewPixelTest,
// Verify the UI.
EXPECT_TRUE(GetPixelDiffer()->CompareUiComponentsOnPrimaryScreen(
"pin6_fingerprint_fp_disabled_attempts",
/*revision_number=*/3, widget.get()));
/*revision_number=*/4, widget.get()));
}
TEST_F(AuthDialogContentsViewPixelTest, PinAndFingerprintWithPinFail) {
@ -254,7 +254,7 @@ TEST_F(AuthDialogContentsViewPixelTest, PinAndFingerprintWithPinFail) {
// Verify the UI.
EXPECT_TRUE(GetPixelDiffer()->CompareUiComponentsOnPrimaryScreen(
"pin_fingerprint", /*revision_number=*/3, widget.get()));
"pin_fingerprint", /*revision_number=*/4, widget.get()));
AuthDialogContentsView::TestApi dialog_api(
static_cast<AuthDialogContentsView*>(widget->GetContentsView()));
@ -263,7 +263,7 @@ TEST_F(AuthDialogContentsViewPixelTest, PinAndFingerprintWithPinFail) {
// Verify the UI.
EXPECT_TRUE(GetPixelDiffer()->CompareUiComponentsOnPrimaryScreen(
"pin_fingerprint_pin_fail", /*revision_number=*/4, widget.get()));
"pin_fingerprint_pin_fail", /*revision_number=*/5, widget.get()));
}
TEST_F(AuthDialogContentsViewPixelTest,
@ -276,7 +276,7 @@ TEST_F(AuthDialogContentsViewPixelTest,
// Verify the UI.
EXPECT_TRUE(GetPixelDiffer()->CompareUiComponentsOnPrimaryScreen(
"password_fingerprint", /*revision_number=*/2, widget.get()));
"password_fingerprint", /*revision_number=*/3, widget.get()));
AuthDialogContentsView::TestApi dialog_api(
static_cast<AuthDialogContentsView*>(widget->GetContentsView()));
@ -286,7 +286,7 @@ TEST_F(AuthDialogContentsViewPixelTest,
// Verify the UI.
EXPECT_TRUE(GetPixelDiffer()->CompareUiComponentsOnPrimaryScreen(
"password_fingerprint_password_fail",
/*revision_number=*/2, widget.get()));
/*revision_number=*/3, widget.get()));
}
TEST_F(AuthDialogContentsViewPixelTest, AllFactorAndThemeChange) {
@ -299,13 +299,13 @@ TEST_F(AuthDialogContentsViewPixelTest, AllFactorAndThemeChange) {
// Verify the UI.
EXPECT_TRUE(GetPixelDiffer()->CompareUiComponentsOnPrimaryScreen(
"fingerprint", /*revision_number=*/3, widget.get()));
"fingerprint", /*revision_number=*/4, widget.get()));
SwitchToLightMode();
// Verify the UI.
EXPECT_TRUE(GetPixelDiffer()->CompareUiComponentsOnPrimaryScreen(
"fingerprint_light", /*revision_number=*/3, widget.get()));
"fingerprint_light", /*revision_number=*/4, widget.get()));
}
} // namespace

@ -235,12 +235,12 @@ TEST_F(LocalAuthenticationRequestControllerImplPixelTest, FailedValidation) {
// Verify the UI.
EXPECT_TRUE(GetPixelDiffer()->CompareUiComponentsOnPrimaryScreen(
"Ready", /*revision_number=*/4, view));
"Ready", /*revision_number=*/5, view));
SimulateValidation(false);
// Verify the UI.
EXPECT_TRUE(GetPixelDiffer()->CompareUiComponentsOnPrimaryScreen(
"Fail", /*revision_number=*/4, view));
"Fail", /*revision_number=*/5, view));
}
// Tests local authentication dialog theme change
@ -262,7 +262,7 @@ TEST_F(LocalAuthenticationRequestControllerImplPixelTest, ThemeChange) {
DarkLightModeControllerImpl::Get()->SetDarkModeEnabledForTest(false);
// Verify the UI.
EXPECT_TRUE(GetPixelDiffer()->CompareUiComponentsOnPrimaryScreen(
"Light", /*revision_number=*/3, view));
"Light", /*revision_number=*/4, view));
}
} // namespace

@ -197,7 +197,7 @@ TEST_F(LoginAuthUserViewPixeltest,
views::test::RunScheduledLayout(container_);
EXPECT_TRUE(GetPixelDiffer()->CompareUiComponentsOnPrimaryScreen(
"PinWithToggleAutosubmitOff", /*revision_number=*/0, view_));
"PinWithToggleAutosubmitOff", /*revision_number=*/1, view_));
const ui::MouseEvent event(ui::EventType::kMousePressed, gfx::Point(),
gfx::Point(), ui::EventTimeForNow(), 0, 0);
@ -207,7 +207,7 @@ TEST_F(LoginAuthUserViewPixeltest,
ExpectModeVisibility(LoginAuthUserView::InputFieldMode::kPasswordWithToggle);
EXPECT_TRUE(GetPixelDiffer()->CompareUiComponentsOnPrimaryScreen(
"PasswordWithToggle", /*revision_number=*/0, view_));
"PasswordWithToggle", /*revision_number=*/1, view_));
}
class LoginAuthUserViewPinOnlyPixeltest : public LoginAuthUserViewPixeltest {
@ -232,7 +232,7 @@ TEST_F(LoginAuthUserViewPinOnlyPixeltest, PinOnlyModeWithAutosubmitEnabled) {
views::test::RunScheduledLayout(container_);
EXPECT_TRUE(GetPixelDiffer()->CompareUiComponentsOnPrimaryScreen(
"PinOnlyEmpty", /*revision_number=*/1, view_));
"PinOnlyEmpty", /*revision_number=*/2, view_));
}
// Verifies the PIN only with auto submit case after all six pin character
@ -276,7 +276,7 @@ TEST_F(LoginAuthUserViewPinOnlyPixeltest, PinOnlyModeWithAutosubmitDisabled) {
views::test::RunScheduledLayout(container_);
EXPECT_TRUE(GetPixelDiffer()->CompareUiComponentsOnPrimaryScreen(
"PinOnlyEmpty", /*revision_number=*/1, view_));
"PinOnlyEmpty", /*revision_number=*/2, view_));
}
// Verifies the PIN only with auto submit off case after all six pin character

@ -116,7 +116,7 @@ TEST_P(QuickInsertPixelTest, UnfocusedMode) {
EXPECT_TRUE(GetPixelDiffer()->CompareUiComponentsOnPrimaryScreen(
"quick_insert_unfocused",
/*revision_number=*/0, controller().widget_for_testing()));
/*revision_number=*/1, controller().widget_for_testing()));
}
TEST_P(QuickInsertPixelTest, FocusedModeNoSelection) {
@ -128,7 +128,7 @@ TEST_P(QuickInsertPixelTest, FocusedModeNoSelection) {
EXPECT_TRUE(GetPixelDiffer()->CompareUiComponentsOnPrimaryScreen(
"quick_insert_focused_no_selection",
/*revision_number=*/0, controller().widget_for_testing()));
/*revision_number=*/1, controller().widget_for_testing()));
}
TEST_P(QuickInsertPixelTest, FocusedModeHasSelection) {
@ -141,7 +141,7 @@ TEST_P(QuickInsertPixelTest, FocusedModeHasSelection) {
EXPECT_TRUE(GetPixelDiffer()->CompareUiComponentsOnPrimaryScreen(
"quick_insert_focused_no_selection",
/*revision_number=*/0, controller().widget_for_testing()));
/*revision_number=*/1, controller().widget_for_testing()));
}
} // namespace

@ -86,7 +86,7 @@ TEST_P(RoundedDisplayPixelTest, AlwaysOnTopMaskTextures) {
EXPECT_TRUE(GetPixelDiffer()->CompareUiComponentsOnPrimaryScreen(
"always_on_top_rounded_display_mask_textures",
/*revision_number=*/2, Shell::GetPrimaryRootWindow()));
/*revision_number=*/3, Shell::GetPrimaryRootWindow()));
}
INSTANTIATE_TEST_SUITE_P(

@ -84,6 +84,6 @@ TEST_P(ScalableIphPixelTest, NotificationNoBodyText) {
EXPECT_TRUE(GetPixelDiffer()->CompareUiComponentsOnPrimaryScreen(
GetScreenshotName("scalable_iph_notification_no_body_text",
IsNotificationWidthIncreaseEnabled()),
/*revision_number=*/1, message_view));
/*revision_number=*/2, message_view));
}
} // namespace ash

@ -69,28 +69,28 @@ TEST_F(LoginShelfViewPixelTest, FocusTraversalFromLockContents) {
PressAndReleaseKey(ui::VKEY_TAB);
EXPECT_TRUE(GetPixelDiffer()->CompareUiComponentsOnPrimaryScreen(
"focus_on_login_user_expand_button",
/*revision_number=*/12, primary_big_user_view_.get(),
/*revision_number=*/13, primary_big_user_view_.get(),
primary_shelf_window));
// Trigger the tab key. Check that the login shelf shutdown button is focused.
PressAndReleaseKey(ui::VKEY_TAB);
EXPECT_TRUE(GetPixelDiffer()->CompareUiComponentsOnPrimaryScreen(
"focus_on_shutdown_button",
/*revision_number=*/12, primary_big_user_view_.get(),
/*revision_number=*/13, primary_big_user_view_.get(),
primary_shelf_window));
// Trigger the tab key. Check that the browser as guest button is focused.
PressAndReleaseKey(ui::VKEY_TAB);
EXPECT_TRUE(GetPixelDiffer()->CompareUiComponentsOnPrimaryScreen(
"focus_on_browser_as_guest_button",
/*revision_number=*/12, primary_big_user_view_.get(),
/*revision_number=*/13, primary_big_user_view_.get(),
primary_shelf_window));
// Trigger the tab key. Check that the add person button is focused.
PressAndReleaseKey(ui::VKEY_TAB);
EXPECT_TRUE(GetPixelDiffer()->CompareUiComponentsOnPrimaryScreen(
"focus_on_add_person_button",
/*revision_number=*/12, primary_big_user_view_.get(),
/*revision_number=*/13, primary_big_user_view_.get(),
primary_shelf_window));
}
@ -105,13 +105,13 @@ TEST_F(LoginShelfViewPixelTest, FocusTraversalWithinShelf) {
aura::Window* primary_shelf_window = GetPrimaryShelf()->GetWindow();
EXPECT_TRUE(GetPixelDiffer()->CompareUiComponentsOnPrimaryScreen(
"focus_on_calendar_view",
/*revision_number=*/8, primary_shelf_window));
/*revision_number=*/9, primary_shelf_window));
// Focus on the time view.
PressAndReleaseKey(ui::VKEY_TAB);
EXPECT_TRUE(GetPixelDiffer()->CompareUiComponentsOnPrimaryScreen(
"focus_on_time_view.rev_0",
/*revision_number=*/8, primary_shelf_window));
/*revision_number=*/9, primary_shelf_window));
PressAndReleaseKey(ui::VKEY_TAB, ui::EF_SHIFT_DOWN);
PressAndReleaseKey(ui::VKEY_TAB, ui::EF_SHIFT_DOWN);
@ -119,7 +119,7 @@ TEST_F(LoginShelfViewPixelTest, FocusTraversalWithinShelf) {
// Move the focus back to the add person button.
EXPECT_TRUE(GetPixelDiffer()->CompareUiComponentsOnPrimaryScreen(
"refocus_on_login_shelf",
/*revision_number=*/8, primary_shelf_window));
/*revision_number=*/9, primary_shelf_window));
}
class LoginShelfWithPolicyWallpaperPixelTestWithRTL
@ -148,7 +148,7 @@ TEST_P(LoginShelfWithPolicyWallpaperPixelTestWithRTL,
FocusOnShutdownButton();
EXPECT_TRUE(GetPixelDiffer()->CompareUiComponentsOnPrimaryScreen(
"focus_on_shutdown_button",
/*revision_number=*/8, primary_big_user_view_.get(),
/*revision_number=*/9, primary_big_user_view_.get(),
GetPrimaryShelf()->GetWindow()));
}

@ -42,7 +42,7 @@ INSTANTIATE_TEST_SUITE_P(RTL, ScrollableShelfViewPixelRTLTest, testing::Bool());
TEST_P(ScrollableShelfViewPixelRTLTest, Basics) {
EXPECT_TRUE(GetPixelDiffer()->CompareUiComponentsOnPrimaryScreen(
"overflow",
/*revision_number=*/10, GetPrimaryShelf()->GetWindow()));
/*revision_number=*/11, GetPrimaryShelf()->GetWindow()));
ASSERT_TRUE(scrollable_shelf_view_->right_arrow());
const gfx::Point right_arrow_center =
@ -53,19 +53,19 @@ TEST_P(ScrollableShelfViewPixelRTLTest, Basics) {
EXPECT_TRUE(GetPixelDiffer()->CompareUiComponentsOnPrimaryScreen(
"overflow_end",
/*revision_number=*/10, GetPrimaryShelf()->GetWindow()));
/*revision_number=*/11, GetPrimaryShelf()->GetWindow()));
}
TEST_P(ScrollableShelfViewPixelRTLTest, LeftRightShelfAlignment) {
GetPrimaryShelf()->SetAlignment(ShelfAlignment::kLeft);
EXPECT_TRUE(GetPixelDiffer()->CompareUiComponentsOnPrimaryScreen(
"left_shelf_alignment",
/*revision_number=*/7, GetPrimaryShelf()->GetWindow()));
/*revision_number=*/8, GetPrimaryShelf()->GetWindow()));
GetPrimaryShelf()->SetAlignment(ShelfAlignment::kRight);
EXPECT_TRUE(GetPixelDiffer()->CompareUiComponentsOnPrimaryScreen(
"right_shelf_alignment",
/*revision_number=*/7, GetPrimaryShelf()->GetWindow()));
/*revision_number=*/8, GetPrimaryShelf()->GetWindow()));
}
class ScrollableShelfViewWithGuestModePixelTest
@ -105,7 +105,7 @@ TEST_P(ScrollableShelfViewWithGuestModePixelTest, VerifyShelfContextMenu) {
// Verify the shelf context menu and the shelf.
EXPECT_TRUE(GetPixelDiffer()->CompareUiComponentsOnPrimaryScreen(
"shelf_context_menu",
/*revision_number=*/24,
/*revision_number=*/25,
GetPrimaryShelf()
->shelf_widget()
->shelf_view_for_testing()

@ -55,7 +55,7 @@ TEST_P(ShelfLayoutManagerPixelRTLTest, AutohideShelfVisibility) {
shelf->SetAutoHideBehavior(ShelfAutoHideBehavior::kNever);
EXPECT_TRUE(GetPixelDiffer()->CompareUiComponentsOnPrimaryScreen(
"shelf_no_auto_hide",
/*revision_number=*/13, shelf->GetWindow(), shelf->hotseat_widget()));
/*revision_number=*/14, shelf->GetWindow(), shelf->hotseat_widget()));
// When the auto-hide is set and a window is shown fullscreen, the shelf
// should not be showing on the screen.
@ -72,7 +72,7 @@ TEST_P(ShelfLayoutManagerPixelRTLTest, AutohideShelfVisibility) {
EXPECT_TRUE(GetPixelDiffer()->CompareUiComponentsOnPrimaryScreen(
"shelf_show_with_auto_hide",
/*revision_number=*/14, shelf->GetWindow(), shelf->hotseat_widget()));
/*revision_number=*/15, shelf->GetWindow(), shelf->hotseat_widget()));
}
} // namespace ash

@ -38,7 +38,7 @@ TEST_F(AccessibilityDetailedViewPixelTest, Basics) {
EXPECT_TRUE(GetPixelDiffer()->CompareUiComponentsOnPrimaryScreen(
"check_view",
/*revision_number=*/14, detailed_view_container));
/*revision_number=*/15, detailed_view_container));
}
} // namespace ash

@ -75,7 +75,7 @@ TEST_P(AudioDetailedViewPixelTest, Basics) {
EXPECT_TRUE(GetPixelDiffer()->CompareUiComponentsOnPrimaryScreen(
"qs_audio_detailed_view",
/*revision_number=*/16, detailed_view));
/*revision_number=*/17, detailed_view));
}
TEST_P(AudioDetailedViewPixelTest, ShowNoiseCancellationButton) {
@ -118,7 +118,7 @@ TEST_P(AudioDetailedViewPixelTest, ShowNoiseCancellationButton) {
EXPECT_TRUE(GetPixelDiffer()->CompareUiComponentsOnPrimaryScreen(
"qs_audio_detailed_view",
/*revision_number=*/8, detailed_view));
/*revision_number=*/9, detailed_view));
}
} // namespace ash

@ -125,7 +125,7 @@ TEST_P(BluetoothDetailedViewImplPixelTest, Basics) {
// Compare pixels.
EXPECT_TRUE(GetPixelDiffer()->CompareUiComponentsOnPrimaryScreen(
GetScreenshotName("check_view", IsBluetoothWifiQSPodRefreshEnabled()),
/*revision_number=*/10, detailed_view));
/*revision_number=*/11, detailed_view));
}
TEST_P(BluetoothDetailedViewImplPixelTest, BluetoothUnavailable) {
@ -154,7 +154,7 @@ TEST_P(BluetoothDetailedViewImplPixelTest, BluetoothUnavailable) {
EXPECT_TRUE(GetPixelDiffer()->CompareUiComponentsOnPrimaryScreen(
GetScreenshotName("bluetooth_unavailable_view",
IsBluetoothWifiQSPodRefreshEnabled()),
/*revision_number=*/1, detailed_view));
/*revision_number=*/2, detailed_view));
}
} // namespace

@ -41,7 +41,7 @@ TEST_F(DisplayDetailedViewPixelTest, Basics) {
EXPECT_TRUE(GetPixelDiffer()->CompareUiComponentsOnPrimaryScreen(
"qs_display_detailed_view",
/*revision_number=*/12, detailed_view));
/*revision_number=*/13, detailed_view));
}
} // namespace ash

@ -61,7 +61,7 @@ TEST_F(CastDetailedViewPixelTest, Basics) {
ASSERT_TRUE(detailed_view);
EXPECT_TRUE(GetPixelDiffer()->CompareUiComponentsOnPrimaryScreen(
"check_view",
/*revision_number=*/11, detailed_view));
/*revision_number=*/12, detailed_view));
}
} // namespace

@ -46,7 +46,7 @@ TEST_F(CastZeroStateViewPixelTest, Basics) {
EXPECT_TRUE(GetPixelDiffer()->CompareUiComponentsOnPrimaryScreen(
"cast_zero_state_view",
/*revision_number=*/13, detailed_view));
/*revision_number=*/14, detailed_view));
}
} // namespace ash

@ -78,7 +78,7 @@ TEST_P(ChannelIndicatorPixelTest, ChannelIndicatorArea) {
EXPECT_TRUE(GetPixelDiffer()->CompareUiComponentsOnPrimaryScreen(
GenerateTestName(),
/*revision_number=*/1, GetPrimaryShelf()->GetStatusAreaWidget()));
/*revision_number=*/2, GetPrimaryShelf()->GetStatusAreaWidget()));
}
} // namespace ash

@ -87,7 +87,7 @@ TEST_F(ChannelIndicatorQuickSettingsViewPixelTest, FeedbackButtonVisible) {
// `ChannelIndicatorQuickSettingsView`.
EXPECT_TRUE(GetPixelDiffer()->CompareUiComponentsOnPrimaryScreen(
"feedback_button_visible",
/*revision_number=*/8, view()));
/*revision_number=*/9, view()));
}
} // namespace ash

@ -68,7 +68,7 @@ TEST_F(IMEDetailedViewPixelTest, Basics) {
ASSERT_TRUE(detailed_view);
EXPECT_TRUE(GetPixelDiffer()->CompareUiComponentsOnPrimaryScreen(
"check_view",
/*revision_number=*/12, detailed_view));
/*revision_number=*/13, detailed_view));
}
} // namespace

@ -54,7 +54,7 @@ TEST_F(LocaleDetailedViewPixelTest, Basics) {
ASSERT_TRUE(detailed_view);
EXPECT_TRUE(GetPixelDiffer()->CompareUiComponentsOnPrimaryScreen(
"check_view",
/*revision_number=*/11, detailed_view));
/*revision_number=*/12, detailed_view));
}
} // namespace

@ -136,7 +136,7 @@ TEST_P(MahiErrorStatusViewPixelTest, Basics) {
mahi_constants::ViewId::kErrorStatusView);
ASSERT_TRUE(error_status_view);
EXPECT_TRUE(GetPixelDiffer()->CompareUiComponentsOnPrimaryScreen(
GetScreenShotNameForErrorStatus(GetParam()), /*revision_number=*/8,
GetScreenShotNameForErrorStatus(GetParam()), /*revision_number=*/10,
error_status_view));
}
@ -165,7 +165,7 @@ TEST_P(MahiErrorStatusViewPixelTest, QuestionAnswerView) {
LeftClickOn(send_button);
EXPECT_TRUE(GetPixelDiffer()->CompareUiComponentsOnPrimaryScreen(
GetScreenShotNameForErrorStatus(GetParam()), /*revision_number=*/5,
GetScreenShotNameForErrorStatus(GetParam()), /*revision_number=*/7,
mahi_contents_view->GetViewByID(mahi_constants::ViewId::kScrollView)));
}

@ -126,7 +126,7 @@ TEST_F(MahiPanelViewPixelTest, MainPanel) {
views::test::RunScheduledLayout(widget());
EXPECT_TRUE(GetPixelDiffer()->CompareUiComponentsOnPrimaryScreen(
"panel_view", /*revision_number=*/10, panel_view()));
"panel_view", /*revision_number=*/11, panel_view()));
}
TEST_F(MahiPanelViewPixelTest, ContentSourceButton) {
@ -141,7 +141,7 @@ TEST_F(MahiPanelViewPixelTest, ContentSourceButton) {
views::test::RunScheduledLayout(widget());
EXPECT_TRUE(GetPixelDiffer()->CompareUiComponentsOnPrimaryScreen(
"content_source", /*revision_number=*/2,
"content_source", /*revision_number=*/3,
panel_view()->GetViewByID(mahi_constants::ViewId::kContentSourceButton)));
}
@ -157,7 +157,7 @@ TEST_F(MahiPanelViewPixelTest, SummaryView) {
views::test::RunScheduledLayout(widget());
EXPECT_TRUE(GetPixelDiffer()->CompareUiComponentsOnPrimaryScreen(
"summary_view", /*revision_number=*/7,
"summary_view", /*revision_number=*/8,
panel_view()->GetViewByID(mahi_constants::ViewId::kScrollView)));
}
@ -176,11 +176,11 @@ TEST_F(MahiPanelViewPixelTest, PanelWithoutFeedbackButtons) {
RecreatePanelWidget();
EXPECT_TRUE(GetPixelDiffer()->CompareUiComponentsOnPrimaryScreen(
"scroll_view", /*revision_number=*/2,
"scroll_view", /*revision_number=*/3,
panel_view()->GetViewByID(mahi_constants::ViewId::kScrollView)));
EXPECT_TRUE(GetPixelDiffer()->CompareUiComponentsOnPrimaryScreen(
"footer", /*revision_number=*/0,
"footer", /*revision_number=*/1,
panel_view()->GetViewByID(mahi_constants::ViewId::kFooterLabel)));
}
@ -210,7 +210,7 @@ TEST_F(MahiPanelViewPixelTest, QuestionAnswerViewBasic) {
views::test::RunScheduledLayout(widget());
EXPECT_TRUE(GetPixelDiffer()->CompareUiComponentsOnPrimaryScreen(
"question_answer_view_basic", /*revision_number=*/7,
"question_answer_view_basic", /*revision_number=*/8,
panel_view()->GetViewByID(mahi_constants::ViewId::kScrollView)));
}
@ -242,7 +242,7 @@ TEST_F(MahiPanelViewPixelTest, QuestionAnswerViewLongText) {
views::test::RunScheduledLayout(widget());
EXPECT_TRUE(GetPixelDiffer()->CompareUiComponentsOnPrimaryScreen(
"question_answer_view_long_text", /*revision_number=*/9,
"question_answer_view_long_text", /*revision_number=*/10,
panel_view()->GetViewByID(mahi_constants::ViewId::kScrollView)));
}
@ -260,7 +260,7 @@ TEST_F(MahiPanelViewPixelTest, SummaryViewScrollToBottom) {
ScrollToBottom();
EXPECT_TRUE(GetPixelDiffer()->CompareUiComponentsOnPrimaryScreen(
"summary_view_bottom", /*revision_number=*/6,
"summary_view_bottom", /*revision_number=*/7,
panel_view()->GetViewByID(mahi_constants::ViewId::kScrollView)));
}
@ -292,7 +292,7 @@ TEST_F(MahiPanelViewPixelTest, QuestionAnswerViewScrollToBottom) {
ScrollToBottom();
EXPECT_TRUE(GetPixelDiffer()->CompareUiComponentsOnPrimaryScreen(
"question_answer_bottom", /*revision_number=*/6,
"question_answer_bottom", /*revision_number=*/7,
panel_view()->GetViewByID(mahi_constants::ViewId::kScrollView)));
}

@ -129,7 +129,7 @@ TEST_F(NetworkDetailedNetworkViewPixelTest, Basics) {
// Compare pixels.
EXPECT_TRUE(GetPixelDiffer()->CompareUiComponentsOnPrimaryScreen(
"check_view",
/*revision_number=*/12, detailed_view));
/*revision_number=*/13, detailed_view));
}
} // namespace

@ -170,7 +170,7 @@ TEST_F(NetworkFeatureTilePixelTest, NoNetworks) {
ASSERT_TRUE(tile_view);
EXPECT_TRUE(GetPixelDiffer()->CompareUiComponentsOnPrimaryScreen(
"check_tile_view",
/*revision_number=*/3, tile_view));
/*revision_number=*/4, tile_view));
}
TEST_F(NetworkFeatureTilePixelTest, Ethernet) {
@ -182,7 +182,7 @@ TEST_F(NetworkFeatureTilePixelTest, Ethernet) {
ASSERT_TRUE(tile_view);
EXPECT_TRUE(GetPixelDiffer()->CompareUiComponentsOnPrimaryScreen(
"check_tile_view",
/*revision_number=*/2, tile_view));
/*revision_number=*/3, tile_view));
}
TEST_F(NetworkFeatureTilePixelTest, Wifi) {
@ -194,7 +194,7 @@ TEST_F(NetworkFeatureTilePixelTest, Wifi) {
ASSERT_TRUE(tile_view);
EXPECT_TRUE(GetPixelDiffer()->CompareUiComponentsOnPrimaryScreen(
"check_tile_view",
/*revision_number=*/2, tile_view));
/*revision_number=*/3, tile_view));
}
TEST_F(NetworkFeatureTilePixelTest, WifiSecurity) {
@ -206,7 +206,7 @@ TEST_F(NetworkFeatureTilePixelTest, WifiSecurity) {
ASSERT_TRUE(tile_view);
EXPECT_TRUE(GetPixelDiffer()->CompareUiComponentsOnPrimaryScreen(
"check_tile_view",
/*revision_number=*/1, tile_view));
/*revision_number=*/2, tile_view));
}
TEST_F(NetworkFeatureTilePixelTest, Cellular) {
@ -218,7 +218,7 @@ TEST_F(NetworkFeatureTilePixelTest, Cellular) {
ASSERT_TRUE(tile_view);
EXPECT_TRUE(GetPixelDiffer()->CompareUiComponentsOnPrimaryScreen(
"check_tile_view",
/*revision_number=*/2, tile_view));
/*revision_number=*/3, tile_view));
}
} // namespace ash

@ -121,7 +121,7 @@ TEST_F(VpnDetailedViewPixelTest, OnlyBuiltInVpn) {
// Compare pixels.
EXPECT_TRUE(GetPixelDiffer()->CompareUiComponentsOnPrimaryScreen(
"check_view",
/*revision_number=*/11, vpn_detailed_view_));
/*revision_number=*/12, vpn_detailed_view_));
}
TEST_F(VpnDetailedViewPixelTest, MultipleVpns) {
@ -130,7 +130,7 @@ TEST_F(VpnDetailedViewPixelTest, MultipleVpns) {
// Compare pixels.
EXPECT_TRUE(GetPixelDiffer()->CompareUiComponentsOnPrimaryScreen(
"check_view",
/*revision_number=*/11, vpn_detailed_view_));
/*revision_number=*/12, vpn_detailed_view_));
}
} // namespace ash

@ -121,7 +121,7 @@ TEST_P(AshNotificationViewPixelTest, CloseButtonFocused) {
EXPECT_TRUE(GetPixelDiffer()->CompareUiComponentsOnPrimaryScreen(
GetScreenshotName("close_button_focused",
IsNotificationWidthIncreaseEnabled()),
/*revision_number=*/2, notification_view));
/*revision_number=*/3, notification_view));
}
// Regression test for http://b/267195370. Tests that a notification with no
@ -167,7 +167,7 @@ TEST_P(AshNotificationViewPixelTest, ProgressCollapsed) {
EXPECT_TRUE(GetPixelDiffer()->CompareUiComponentsOnPrimaryScreen(
GetScreenshotName("progress_collapsed",
IsNotificationWidthIncreaseEnabled()),
/*revision_number=*/2, notification_view));
/*revision_number=*/3, notification_view));
}
// Tests the control buttons UI for the case of a notification with just the
@ -191,7 +191,7 @@ TEST_P(AshNotificationViewPixelTest, CloseControlButton) {
EXPECT_TRUE(GetPixelDiffer()->CompareUiComponentsOnPrimaryScreen(
GetScreenshotName("close_control_button",
IsNotificationWidthIncreaseEnabled()),
/*revision_number=*/2, notification_view));
/*revision_number=*/3, notification_view));
}
// Tests the control buttons UI for the case of a notification with both the
@ -215,7 +215,7 @@ TEST_P(AshNotificationViewPixelTest, SettingsAndCloseControlButtons) {
EXPECT_TRUE(GetPixelDiffer()->CompareUiComponentsOnPrimaryScreen(
GetScreenshotName("settings_and_close_control_buttons",
IsNotificationWidthIncreaseEnabled()),
/*revision_number=*/2, notification_view));
/*revision_number=*/3, notification_view));
}
// Tests the inline reply UI for AshNotificationView.
@ -241,7 +241,7 @@ TEST_P(AshNotificationViewPixelTest, InlineReply) {
EXPECT_TRUE(GetPixelDiffer()->CompareUiComponentsOnPrimaryScreen(
GetScreenshotName("inline_reply_focused",
IsNotificationWidthIncreaseEnabled()),
/*revision_number=*/2, notification_view));
/*revision_number=*/3, notification_view));
}
// Tests the focus ring for the expand button in AshNotificationView.
@ -258,7 +258,7 @@ TEST_P(AshNotificationViewPixelTest, ExpandButtonFocusRing) {
EXPECT_TRUE(GetPixelDiffer()->CompareUiComponentsOnPrimaryScreen(
GetScreenshotName("expand_button_focus_ring",
IsNotificationWidthIncreaseEnabled()),
/*revision_number=*/2, notification_view));
/*revision_number=*/3, notification_view));
}
TEST_P(AshNotificationViewPixelTest, NotificationViewFocusRing) {
@ -272,7 +272,7 @@ TEST_P(AshNotificationViewPixelTest, NotificationViewFocusRing) {
EXPECT_TRUE(GetPixelDiffer()->CompareUiComponentsOnPrimaryScreen(
GetScreenshotName("notification_view_focus_ring",
IsNotificationWidthIncreaseEnabled()),
/*revision_number=*/2, notification_view));
/*revision_number=*/3, notification_view));
}
TEST_P(AshNotificationViewPixelTest, NotificationPopupFocusRing) {
@ -290,7 +290,7 @@ TEST_P(AshNotificationViewPixelTest, NotificationPopupFocusRing) {
EXPECT_TRUE(GetPixelDiffer()->CompareUiComponentsOnPrimaryScreen(
GetScreenshotName("notification_popup_focus_ring",
IsNotificationWidthIncreaseEnabled()),
/*revision_number=*/3, notification_view));
/*revision_number=*/4, notification_view));
}
// Tests that a notification's icon is sized and positioned correctly at

@ -142,7 +142,7 @@ TEST_P(OngoingProcessViewPixelTest, MultilineLabels) {
test_api()->ToggleBubble();
EXPECT_TRUE(GetPixelDiffer()->CompareUiComponentsOnPrimaryScreen(
GenerateTestName(), /*revision_number=*/1,
GenerateTestName(), /*revision_number=*/2,
test_api()->GetNotificationCenterView()));
}

@ -80,7 +80,7 @@ TEST_P(PrivacyIndicatorsTrayItemViewPixelTest, Basics) {
SimulateAnimationEnded(privacy_indicators_view);
EXPECT_TRUE(GetPixelDiffer()->CompareUiComponentsOnPrimaryScreen(
"dot_view" + GetScreenshotNameSuffix(),
/*revision_number=*/1, notification_center_tray));
/*revision_number=*/2, notification_center_tray));
}
} // namespace ash

@ -129,7 +129,7 @@ TEST_P(StatusAreaParameterizedPixelTest, SystemTrayTest) {
system_tray->SetIsActive(IsActive());
EXPECT_TRUE(GetPixelDiffer()->CompareUiComponentsOnPrimaryScreen(
"system_tray" + GetScreenshotNameSuffix(), /*revision_number=*/5,
"system_tray" + GetScreenshotNameSuffix(), /*revision_number=*/6,
system_tray));
}
@ -142,7 +142,7 @@ TEST_P(StatusAreaParameterizedPixelTest, DateTrayTest) {
date_tray->SetIsActive(IsActive());
EXPECT_TRUE(GetPixelDiffer()->CompareUiComponentsOnPrimaryScreen(
"date_tray" + GetScreenshotNameSuffix(), /*revision_number=*/5,
"date_tray" + GetScreenshotNameSuffix(), /*revision_number=*/6,
date_tray));
}

@ -133,7 +133,7 @@ TEST_F(CalendarUpNextViewPixelTest,
EXPECT_TRUE(GetPixelDiffer()->CompareUiComponentsOnPrimaryScreen(
"calendar_up_next_single_upcoming_event",
/*revision_number=*/9, Widget()));
/*revision_number=*/10, Widget()));
}
TEST_F(CalendarUpNextViewPixelTest,
@ -160,7 +160,7 @@ TEST_F(CalendarUpNextViewPixelTest,
EXPECT_TRUE(GetPixelDiffer()->CompareUiComponentsOnPrimaryScreen(
"calendar_up_next_multiple_upcoming_events",
/*revision_number=*/9, Widget()));
/*revision_number=*/10, Widget()));
}
TEST_F(
@ -191,7 +191,7 @@ TEST_F(
EXPECT_TRUE(GetPixelDiffer()->CompareUiComponentsOnPrimaryScreen(
"calendar_up_next_multiple_upcoming_events_press_scroll_right_button",
/*revision_number=*/8, Widget()));
/*revision_number=*/9, Widget()));
}
TEST_F(CalendarUpNextViewPixelTest, ShouldShowJoinMeetingButton) {
@ -216,7 +216,7 @@ TEST_F(CalendarUpNextViewPixelTest, ShouldShowJoinMeetingButton) {
EXPECT_TRUE(GetPixelDiffer()->CompareUiComponentsOnPrimaryScreen(
"calendar_up_next_join_button",
/*revision_number=*/9, Widget()));
/*revision_number=*/10, Widget()));
}
} // namespace ash

@ -117,7 +117,7 @@ TEST_F(CalendarViewPixelTest, Basics) {
EXPECT_TRUE(GetPixelDiffer()->CompareUiComponentsOnPrimaryScreen(
"calendar_view",
/*revision_number=*/11, GetCalendarView()));
/*revision_number=*/12, GetCalendarView()));
}
// Tests that the scroll view scrolls up when there are not at least 2 weeks
@ -138,7 +138,7 @@ TEST_F(CalendarViewPixelTest, Basics_ShowMoreFutureDates) {
EXPECT_TRUE(GetPixelDiffer()->CompareUiComponentsOnPrimaryScreen(
"calendar_view_more_future_dates",
/*revision_number=*/2, GetCalendarView()));
/*revision_number=*/3, GetCalendarView()));
}
TEST_F(CalendarViewPixelTest, EventList) {
@ -169,7 +169,7 @@ TEST_F(CalendarViewPixelTest, EventList) {
EXPECT_TRUE(GetPixelDiffer()->CompareUiComponentsOnPrimaryScreen(
"event_list_view",
/*revision_number=*/12, GetEventListView()));
/*revision_number=*/13, GetEventListView()));
}
} // namespace ash

@ -84,7 +84,7 @@ TEST_F(SystemNudgeViewPixelTest, TextOnly) {
std::make_unique<SystemNudgeView>(nudge_data));
EXPECT_TRUE(GetPixelDiffer()->CompareUiComponentsOnPrimaryScreen(
"screenshot", /*revision_number=*/0, GetContentsView()));
"screenshot", /*revision_number=*/1, GetContentsView()));
}
TEST_F(SystemNudgeViewPixelTest, TextOnly_LongText) {
@ -96,7 +96,7 @@ TEST_F(SystemNudgeViewPixelTest, TextOnly_LongText) {
std::make_unique<SystemNudgeView>(nudge_data));
EXPECT_TRUE(GetPixelDiffer()->CompareUiComponentsOnPrimaryScreen(
"screenshot", /*revision_number=*/0, GetContentsView()));
"screenshot", /*revision_number=*/1, GetContentsView()));
}
TEST_F(SystemNudgeViewPixelTest, WithButtons) {
@ -110,7 +110,7 @@ TEST_F(SystemNudgeViewPixelTest, WithButtons) {
std::make_unique<SystemNudgeView>(nudge_data));
EXPECT_TRUE(GetPixelDiffer()->CompareUiComponentsOnPrimaryScreen(
"screenshot", /*revision_number=*/0, GetContentsView()));
"screenshot", /*revision_number=*/1, GetContentsView()));
}
TEST_F(SystemNudgeViewPixelTest, TitleAndLeadingImage) {
@ -126,7 +126,7 @@ TEST_F(SystemNudgeViewPixelTest, TitleAndLeadingImage) {
std::make_unique<SystemNudgeView>(nudge_data));
EXPECT_TRUE(GetPixelDiffer()->CompareUiComponentsOnPrimaryScreen(
"screenshot", /*revision_number=*/0, GetContentsView()));
"screenshot", /*revision_number=*/1, GetContentsView()));
}
TEST_F(SystemNudgeViewPixelTest, TitleAndLeadingImageWithButtons) {
@ -144,7 +144,7 @@ TEST_F(SystemNudgeViewPixelTest, TitleAndLeadingImageWithButtons) {
std::make_unique<SystemNudgeView>(nudge_data));
EXPECT_TRUE(GetPixelDiffer()->CompareUiComponentsOnPrimaryScreen(
"screenshot", /*revision_number=*/0, GetContentsView()));
"screenshot", /*revision_number=*/1, GetContentsView()));
}
TEST_F(SystemNudgeViewPixelTest, AnchoredNudgeWithPointyCorner) {
@ -160,7 +160,7 @@ TEST_F(SystemNudgeViewPixelTest, AnchoredNudgeWithPointyCorner) {
std::make_unique<SystemNudgeView>(nudge_data));
EXPECT_TRUE(GetPixelDiffer()->CompareUiComponentsOnPrimaryScreen(
"screenshot", /*revision_number=*/0, GetContentsView()));
"screenshot", /*revision_number=*/1, GetContentsView()));
}
} // namespace ash

@ -71,7 +71,7 @@ TEST_F(SystemToastViewPixelTest, TextOnly) {
GetContentsView()->AddChildView(std::make_unique<SystemToastView>(kTestText));
EXPECT_TRUE(GetPixelDiffer()->CompareUiComponentsOnPrimaryScreen(
"screenshot", /*revision_number=*/5, GetContentsView()));
"screenshot", /*revision_number=*/6, GetContentsView()));
}
TEST_F(SystemToastViewPixelTest, WithLeadingIcon) {
@ -83,7 +83,7 @@ TEST_F(SystemToastViewPixelTest, WithLeadingIcon) {
/*leading_icon=*/kTestIcon));
EXPECT_TRUE(GetPixelDiffer()->CompareUiComponentsOnPrimaryScreen(
"screenshot", /*revision_number=*/6, GetContentsView()));
"screenshot", /*revision_number=*/7, GetContentsView()));
}
TEST_F(SystemToastViewPixelTest, WithTextButton) {
@ -92,7 +92,7 @@ TEST_F(SystemToastViewPixelTest, WithTextButton) {
/*button_text=*/kTestButtonText));
EXPECT_TRUE(GetPixelDiffer()->CompareUiComponentsOnPrimaryScreen(
"screenshot", /*revision_number=*/1, GetContentsView()));
"screenshot", /*revision_number=*/2, GetContentsView()));
}
TEST_F(SystemToastViewPixelTest, WithIconButton) {
@ -101,7 +101,7 @@ TEST_F(SystemToastViewPixelTest, WithIconButton) {
/*button_text=*/kTestButtonText, /*button_icon=*/kTestIcon));
EXPECT_TRUE(GetPixelDiffer()->CompareUiComponentsOnPrimaryScreen(
"screenshot", /*revision_number=*/1, GetContentsView()));
"screenshot", /*revision_number=*/2, GetContentsView()));
}
TEST_F(SystemToastViewPixelTest, WithLeadingIconAndTextButton) {
@ -113,7 +113,7 @@ TEST_F(SystemToastViewPixelTest, WithLeadingIconAndTextButton) {
/*leading_icon=*/kTestIcon));
EXPECT_TRUE(GetPixelDiffer()->CompareUiComponentsOnPrimaryScreen(
"screenshot", /*revision_number=*/1, GetContentsView()));
"screenshot", /*revision_number=*/2, GetContentsView()));
}
TEST_F(SystemToastViewPixelTest, Multiline_TextOnly) {
@ -121,7 +121,7 @@ TEST_F(SystemToastViewPixelTest, Multiline_TextOnly) {
std::make_unique<SystemToastView>(kTestLongText));
EXPECT_TRUE(GetPixelDiffer()->CompareUiComponentsOnPrimaryScreen(
"screenshot", /*revision_number=*/5, GetContentsView()));
"screenshot", /*revision_number=*/6, GetContentsView()));
}
TEST_F(SystemToastViewPixelTest, Multiline_WithLeadingIcon) {
@ -133,7 +133,7 @@ TEST_F(SystemToastViewPixelTest, Multiline_WithLeadingIcon) {
/*leading_icon=*/kTestIcon));
EXPECT_TRUE(GetPixelDiffer()->CompareUiComponentsOnPrimaryScreen(
"screenshot", /*revision_number=*/5, GetContentsView()));
"screenshot", /*revision_number=*/6, GetContentsView()));
}
TEST_F(SystemToastViewPixelTest, Multiline_WithTextButton) {
@ -142,7 +142,7 @@ TEST_F(SystemToastViewPixelTest, Multiline_WithTextButton) {
/*button_text=*/kTestButtonText));
EXPECT_TRUE(GetPixelDiffer()->CompareUiComponentsOnPrimaryScreen(
"screenshot", /*revision_number=*/1, GetContentsView()));
"screenshot", /*revision_number=*/2, GetContentsView()));
}
TEST_F(SystemToastViewPixelTest, Multiline_WithLeadingIconAndTextButton) {
@ -154,7 +154,7 @@ TEST_F(SystemToastViewPixelTest, Multiline_WithLeadingIconAndTextButton) {
/*leading_icon=*/kTestIcon));
EXPECT_TRUE(GetPixelDiffer()->CompareUiComponentsOnPrimaryScreen(
"screenshot", /*revision_number=*/1, GetContentsView()));
"screenshot", /*revision_number=*/2, GetContentsView()));
}
} // namespace ash

@ -42,7 +42,7 @@ TEST_F(DateTrayPixelTest, InactiveDateTrayInBottomAndSideShelfPositions) {
// By default `bottom_date_tray` should be inactive.
ASSERT_FALSE(bottom_date_tray->is_active());
EXPECT_TRUE(GetPixelDiffer()->CompareUiComponentsOnPrimaryScreen(
"bottom_shelf_inactive_date_tray", /*revision_number=*/0,
"bottom_shelf_inactive_date_tray", /*revision_number=*/1,
bottom_date_tray));
// Tests the side shelf.
@ -52,7 +52,7 @@ TEST_F(DateTrayPixelTest, InactiveDateTrayInBottomAndSideShelfPositions) {
// `side_date_tray` should remain inactive.
ASSERT_FALSE(side_date_tray->is_active());
EXPECT_TRUE(GetPixelDiffer()->CompareUiComponentsOnPrimaryScreen(
"side_shelf_inactive_date_tray", /*revision_number=*/0, side_date_tray));
"side_shelf_inactive_date_tray", /*revision_number=*/1, side_date_tray));
}
// Tests the active date tray UI for bottom shelf alignment and side shelf
@ -68,7 +68,7 @@ TEST_F(DateTrayPixelTest, ActiveDateTrayInBottomAndSideShelfPositions) {
bottom_date_tray->SetIsActive(/*is_active=*/true);
ASSERT_TRUE(bottom_date_tray->is_active());
EXPECT_TRUE(GetPixelDiffer()->CompareUiComponentsOnPrimaryScreen(
"bottom_shelf_active_date_tray", /*revision_number=*/0,
"bottom_shelf_active_date_tray", /*revision_number=*/1,
bottom_date_tray));
// Tests the side shelf.
@ -79,7 +79,7 @@ TEST_F(DateTrayPixelTest, ActiveDateTrayInBottomAndSideShelfPositions) {
side_date_tray->SetIsActive(/*is_active=*/true);
ASSERT_TRUE(side_date_tray->is_active());
EXPECT_TRUE(GetPixelDiffer()->CompareUiComponentsOnPrimaryScreen(
"side_shelf_active_date_tray", /*revision_number=*/0, side_date_tray));
"side_shelf_active_date_tray", /*revision_number=*/1, side_date_tray));
}
} // namespace ash

@ -111,24 +111,24 @@ TEST_F(FeatureTilePixelTest, PrimaryTile) {
EXPECT_TRUE(GetPixelDiffer()->CompareUiComponentsOnPrimaryScreen(
"basic",
/*revision_number=*/0, widget_.get()));
/*revision_number=*/1, widget_.get()));
widget_->GetFocusManager()->SetFocusedView(tile);
EXPECT_TRUE(GetPixelDiffer()->CompareUiComponentsOnPrimaryScreen(
"focused",
/*revision_number=*/0, widget_.get()));
/*revision_number=*/1, widget_.get()));
tile->SetToggled(true);
EXPECT_TRUE(GetPixelDiffer()->CompareUiComponentsOnPrimaryScreen(
"toggled",
/*revision_number=*/0, widget_.get()));
/*revision_number=*/1, widget_.get()));
// Test eliding.
tile->SetLabel(u"A very very long label");
tile->SetSubLabel(u"A very very long label");
EXPECT_TRUE(GetPixelDiffer()->CompareUiComponentsOnPrimaryScreen(
"elided",
/*revision_number=*/0, widget_.get()));
/*revision_number=*/1, widget_.get()));
}
TEST_F(FeatureTilePixelTest, PrimaryTileWithoutDiveInButton) {
@ -141,24 +141,24 @@ TEST_F(FeatureTilePixelTest, PrimaryTileWithoutDiveInButton) {
EXPECT_TRUE(GetPixelDiffer()->CompareUiComponentsOnPrimaryScreen(
"basic",
/*revision_number=*/0, widget_.get()));
/*revision_number=*/1, widget_.get()));
widget_->GetFocusManager()->SetFocusedView(tile);
EXPECT_TRUE(GetPixelDiffer()->CompareUiComponentsOnPrimaryScreen(
"focused",
/*revision_number=*/0, widget_.get()));
/*revision_number=*/1, widget_.get()));
tile->SetToggled(true);
EXPECT_TRUE(GetPixelDiffer()->CompareUiComponentsOnPrimaryScreen(
"toggled",
/*revision_number=*/0, widget_.get()));
/*revision_number=*/1, widget_.get()));
// Test eliding.
tile->SetLabel(u"A very very long label");
tile->SetSubLabel(u"A very very long label");
EXPECT_TRUE(GetPixelDiffer()->CompareUiComponentsOnPrimaryScreen(
"elided",
/*revision_number=*/0, widget_.get()));
/*revision_number=*/1, widget_.get()));
}
TEST_F(FeatureTilePixelTest, PrimaryTile_RTL) {
@ -178,7 +178,7 @@ TEST_F(FeatureTilePixelTest, PrimaryTile_RTL) {
EXPECT_TRUE(GetPixelDiffer()->CompareUiComponentsOnPrimaryScreen(
"basic",
/*revision_number=*/0, widget_.get()));
/*revision_number=*/1, widget_.get()));
}
TEST_F(FeatureTilePixelTest, CompactTile) {
@ -190,35 +190,35 @@ TEST_F(FeatureTilePixelTest, CompactTile) {
EXPECT_TRUE(GetPixelDiffer()->CompareUiComponentsOnPrimaryScreen(
"basic",
/*revision_number=*/1, widget_.get()));
/*revision_number=*/2, widget_.get()));
widget_->GetFocusManager()->SetFocusedView(tile);
EXPECT_TRUE(GetPixelDiffer()->CompareUiComponentsOnPrimaryScreen(
"focused",
/*revision_number=*/1, widget_.get()));
/*revision_number=*/2, widget_.get()));
tile->SetToggled(true);
EXPECT_TRUE(GetPixelDiffer()->CompareUiComponentsOnPrimaryScreen(
"toggled",
/*revision_number=*/1, widget_.get()));
/*revision_number=*/2, widget_.get()));
// Test eliding.
tile->SetLabel(u"A very very long label");
EXPECT_TRUE(GetPixelDiffer()->CompareUiComponentsOnPrimaryScreen(
"elided",
/*revision_number=*/2, widget_.get()));
/*revision_number=*/3, widget_.get()));
// Test font descenders ("g").
tile->SetLabel(u"Multi-line ggggg");
EXPECT_TRUE(GetPixelDiffer()->CompareUiComponentsOnPrimaryScreen(
"descenders",
/*revision_number=*/0, widget_.get()));
/*revision_number=*/1, widget_.get()));
// Test one-line labels.
tile->SetLabel(u"One line");
EXPECT_TRUE(GetPixelDiffer()->CompareUiComponentsOnPrimaryScreen(
"one_line",
/*revision_number=*/0, widget_.get()));
/*revision_number=*/1, widget_.get()));
// Test one-line labels with one-line sub-labels.
tile->SetLabel(u"One line");
@ -226,7 +226,7 @@ TEST_F(FeatureTilePixelTest, CompactTile) {
tile->SetSubLabelVisibility(true);
EXPECT_TRUE(GetPixelDiffer()->CompareUiComponentsOnPrimaryScreen(
"one_line_with_sub_label",
/*revision_number=*/0, widget_.get()));
/*revision_number=*/1, widget_.get()));
// Test eliding with sub-labels.
tile->SetLabel(u"A very very long label");
@ -234,7 +234,7 @@ TEST_F(FeatureTilePixelTest, CompactTile) {
tile->SetSubLabelVisibility(true);
EXPECT_TRUE(GetPixelDiffer()->CompareUiComponentsOnPrimaryScreen(
"elided_with_sub_label",
/*revision_number=*/0, widget_.get()));
/*revision_number=*/1, widget_.get()));
}
class FeatureTileVcDlcUiEnabledPixelTest : public FeatureTilePixelTest {
@ -307,21 +307,21 @@ TEST_F(FeatureTileVcDlcUiEnabledPixelTest, CompactTileCanFillContainer) {
// Use the default, one-line compact tile that is created during test set-up.
EXPECT_TRUE(GetPixelDiffer()->CompareUiComponentsOnPrimaryScreen(
"basic",
/*revision_number=*/1, widget_.get()));
/*revision_number=*/2, widget_.get()));
// Focus the tile (and reset the focus after the screenshot is taken).
auto* previous_focused_view = widget_->GetFocusManager()->GetFocusedView();
widget_->GetFocusManager()->SetFocusedView(tile());
EXPECT_TRUE(GetPixelDiffer()->CompareUiComponentsOnPrimaryScreen(
"focused",
/*revision_number=*/1, widget_.get()));
/*revision_number=*/2, widget_.get()));
widget_->GetFocusManager()->SetFocusedView(previous_focused_view);
// Toggle the tile (and reset the toggle state after the screenshot is taken).
tile()->SetToggled(true);
EXPECT_TRUE(GetPixelDiffer()->CompareUiComponentsOnPrimaryScreen(
"toggled",
/*revision_number=*/1, widget_.get()));
/*revision_number=*/2, widget_.get()));
tile()->SetToggled(false);
}
@ -332,31 +332,31 @@ TEST_F(FeatureTileVcDlcUiEnabledPixelTest, DownloadInProgress) {
SetDownloadProgress(tile(), 0);
EXPECT_TRUE(GetPixelDiffer()->CompareUiComponentsOnPrimaryScreen(
"0_percent",
/*revision_number=*/1, widget_.get()));
/*revision_number=*/2, widget_.get()));
// Set the tile's download to be 1% complete.
SetDownloadProgress(tile(), 1);
EXPECT_TRUE(GetPixelDiffer()->CompareUiComponentsOnPrimaryScreen(
"1_percent",
/*revision_number=*/1, widget_.get()));
/*revision_number=*/2, widget_.get()));
// Set the tile's download to be 50% complete.
SetDownloadProgress(tile(), 50);
EXPECT_TRUE(GetPixelDiffer()->CompareUiComponentsOnPrimaryScreen(
"50_percent",
/*revision_number=*/1, widget_.get()));
/*revision_number=*/2, widget_.get()));
// Set the tile's download to be 99% complete.
SetDownloadProgress(tile(), 99);
EXPECT_TRUE(GetPixelDiffer()->CompareUiComponentsOnPrimaryScreen(
"99_percent",
/*revision_number=*/1, widget_.get()));
/*revision_number=*/2, widget_.get()));
// Set the tile's download to be 100% complete.
SetDownloadProgress(tile(), 100);
EXPECT_TRUE(GetPixelDiffer()->CompareUiComponentsOnPrimaryScreen(
"100_percent",
/*revision_number=*/1, widget_.get()));
/*revision_number=*/2, widget_.get()));
}
// Tests the UI of a compact tile that has an error during download.
@ -364,7 +364,7 @@ TEST_F(FeatureTileVcDlcUiEnabledPixelTest, ErrorInDlcDownload) {
tile()->SetDownloadState(FeatureTile::DownloadState::kError, 0);
EXPECT_TRUE(GetPixelDiffer()->CompareUiComponentsOnPrimaryScreen(
"error",
/*revision_number=*/1, widget_.get()));
/*revision_number=*/2, widget_.get()));
}
// Tests the UI of a compact tile that has a pending download.
@ -372,7 +372,7 @@ TEST_F(FeatureTileVcDlcUiEnabledPixelTest, PendingDownload) {
tile()->SetDownloadState(FeatureTile::DownloadState::kPending, 0);
EXPECT_TRUE(GetPixelDiffer()->CompareUiComponentsOnPrimaryScreen(
"pending",
/*revision_number=*/0, widget_.get()));
/*revision_number=*/1, widget_.get()));
}
} // namespace ash

@ -67,7 +67,7 @@ TEST_F(QuickSettingsFooterPixelTest, FooterShouldBeRenderedCorrectly) {
InitPowerStatusAndOpenBubble();
EXPECT_TRUE(GetPixelDiffer()->CompareUiComponentsOnPrimaryScreen(
"with_no_extra_button",
/*revision_number=*/7, GetFooter()));
/*revision_number=*/8, GetFooter()));
CloseBubble();
// Regression test for b/293484037: The settings button is missing when
@ -76,7 +76,7 @@ TEST_F(QuickSettingsFooterPixelTest, FooterShouldBeRenderedCorrectly) {
InitPowerStatusAndOpenBubble();
EXPECT_TRUE(GetPixelDiffer()->CompareUiComponentsOnPrimaryScreen(
"with_exit_button",
/*revision_number=*/7, GetFooter()));
/*revision_number=*/8, GetFooter()));
CloseBubble();
}

@ -17,7 +17,7 @@ using EolNoticeQuickSettingsViewPixelTest =
TEST_F(EolNoticeQuickSettingsViewPixelTest, Basics) {
AddChildView(std::make_unique<EolNoticeQuickSettingsView>());
DiffView(/*revision_number=*/0);
DiffView(/*revision_number=*/1);
}
} // namespace ash

@ -17,7 +17,7 @@ using ExtendedUpdatesNoticeQuickSettingsViewPixelTest =
TEST_F(ExtendedUpdatesNoticeQuickSettingsViewPixelTest, Basics) {
AddChildView(std::make_unique<ExtendedUpdatesNoticeQuickSettingsView>());
DiffView(/*revision_number=*/1);
DiffView(/*revision_number=*/2);
}
} // namespace ash

@ -234,7 +234,7 @@ TEST_P(BubbleViewPixelTest, Basic) {
EXPECT_TRUE(GetPixelDiffer()->CompareUiComponentsOnPrimaryScreen(
"video_conference_bubble_view_basic",
/*revision_number=*/16, bubble_view()));
/*revision_number=*/17, bubble_view()));
}
// Pixel test that tests toggled on/off and focused/not focused for the toggle
@ -258,14 +258,14 @@ TEST_P(BubbleViewPixelTest, ToggleButton) {
EXPECT_TRUE(GetPixelDiffer()->CompareUiComponentsOnPrimaryScreen(
"video_conference_bubble_view_no_focus_not_toggled",
/*revision_number=*/13, toggle_effect_button_container));
/*revision_number=*/14, toggle_effect_button_container));
// Toggle the first button, the UI should change.
LeftClickOn(first_toggle_effect_button);
ASSERT_EQ(1, office_bunny()->num_activations_for_testing());
EXPECT_TRUE(GetPixelDiffer()->CompareUiComponentsOnPrimaryScreen(
"video_conference_bubble_view_no_focus_toggled",
/*revision_number=*/10, toggle_effect_button_container));
/*revision_number=*/11, toggle_effect_button_container));
// Un-toggle the button, then keyboard focus it.
LeftClickOn(first_toggle_effect_button);
@ -283,7 +283,7 @@ TEST_P(BubbleViewPixelTest, ToggleButton) {
EXPECT_TRUE(GetPixelDiffer()->CompareUiComponentsOnPrimaryScreen(
"video_conference_bubble_view_with_focus_not_toggled",
/*revision_number=*/13, toggle_effect_button_container));
/*revision_number=*/14, toggle_effect_button_container));
// Re-toggle the button.
event_generator->PressAndReleaseKey(ui::KeyboardCode::VKEY_RETURN);
@ -292,7 +292,7 @@ TEST_P(BubbleViewPixelTest, ToggleButton) {
EXPECT_TRUE(GetPixelDiffer()->CompareUiComponentsOnPrimaryScreen(
"video_conference_bubble_view_with_focus_toggled",
/*revision_number=*/12, toggle_effect_button_container));
/*revision_number=*/13, toggle_effect_button_container));
}
// Pixel test that tests the expanded/collapsed state of the return to app panel
@ -313,7 +313,7 @@ TEST_P(BubbleViewPixelTest, ReturnToApp) {
EXPECT_TRUE(GetPixelDiffer()->CompareUiComponentsOnPrimaryScreen(
"video_conference_tray_return_to_app_one_app",
/*revision_number=*/8, GetReturnToAppPanel()));
/*revision_number=*/9, GetReturnToAppPanel()));
controller()->AddMediaApp(CreateFakeMediaApp(
/*is_capturing_camera=*/false, /*is_capturing_microphone=*/true,
@ -329,7 +329,7 @@ TEST_P(BubbleViewPixelTest, ReturnToApp) {
EXPECT_TRUE(GetPixelDiffer()->CompareUiComponentsOnPrimaryScreen(
"video_conference_tray_return_to_app_two_apps_collapsed",
/*revision_number=*/8, return_to_app_panel));
/*revision_number=*/9, return_to_app_panel));
// Click the summary row to expand the panel.
auto* summary_row = static_cast<video_conference::ReturnToAppButton*>(
@ -359,7 +359,7 @@ TEST_P(BubbleViewPixelTest, ReturnToAppLinux) {
EXPECT_TRUE(GetPixelDiffer()->CompareUiComponentsOnPrimaryScreen(
"video_conference_tray_linux_bubble_one_app",
/*revision_number=*/9, video_conference_tray()->GetBubbleView()));
/*revision_number=*/10, video_conference_tray()->GetBubbleView()));
controller()->AddMediaApp(CreateFakeMediaApp(
/*is_capturing_camera=*/true, /*is_capturing_microphone=*/true,
@ -374,7 +374,7 @@ TEST_P(BubbleViewPixelTest, ReturnToAppLinux) {
EXPECT_TRUE(GetPixelDiffer()->CompareUiComponentsOnPrimaryScreen(
"video_conference_tray_linux_bubble_two_app",
/*revision_number=*/9, video_conference_tray()->GetBubbleView()));
/*revision_number=*/10, video_conference_tray()->GetBubbleView()));
}
TEST_P(BubbleViewPixelTest, OneToggleEffects) {
@ -388,7 +388,7 @@ TEST_P(BubbleViewPixelTest, OneToggleEffects) {
EXPECT_TRUE(GetPixelDiffer()->CompareUiComponentsOnPrimaryScreen(
"video_conference_bubble_view_one_toggle_effect",
/*revision_number=*/6, GetToggleEffectsView()));
/*revision_number=*/7, GetToggleEffectsView()));
}
TEST_P(BubbleViewPixelTest, TwoToggleEffects) {
@ -403,7 +403,7 @@ TEST_P(BubbleViewPixelTest, TwoToggleEffects) {
EXPECT_TRUE(GetPixelDiffer()->CompareUiComponentsOnPrimaryScreen(
"video_conference_bubble_view_two_toggle_effects",
/*revision_number=*/6, GetToggleEffectsView()));
/*revision_number=*/7, GetToggleEffectsView()));
}
TEST_P(BubbleViewPixelTest, ThreeToggleEffects) {
@ -423,7 +423,7 @@ TEST_P(BubbleViewPixelTest, ThreeToggleEffects) {
EXPECT_TRUE(GetPixelDiffer()->CompareUiComponentsOnPrimaryScreen(
"video_conference_bubble_view_three_toggle_effects",
/*revision_number=*/6, GetToggleEffectsView()));
/*revision_number=*/7, GetToggleEffectsView()));
}
TEST_P(BubbleViewPixelTest, DLCUIInErrorShowsWarningLabelSingleError) {
@ -443,7 +443,7 @@ TEST_P(BubbleViewPixelTest, DLCUIInErrorShowsWarningLabelSingleError) {
EXPECT_TRUE(GetPixelDiffer()->CompareUiComponentsOnPrimaryScreen(
"one-toggle-effects-view",
/*revision_number=*/4, bubble_view()));
/*revision_number=*/5, bubble_view()));
// Add one set-value effect.
controller()->GetEffectsManager().RegisterDelegate(shaggy_fur());
@ -459,7 +459,7 @@ TEST_P(BubbleViewPixelTest, DLCUIInErrorShowsWarningLabelSingleError) {
EXPECT_TRUE(GetPixelDiffer()->CompareUiComponentsOnPrimaryScreen(
"additional-set-value-view",
/*revision_number=*/4, bubble_view()));
/*revision_number=*/5, bubble_view()));
}
TEST_P(BubbleViewPixelTest, DLCUIInErrorShowsWarningLabelMaxErrors) {
@ -480,7 +480,7 @@ TEST_P(BubbleViewPixelTest, DLCUIInErrorShowsWarningLabelMaxErrors) {
EXPECT_TRUE(GetPixelDiffer()->CompareUiComponentsOnPrimaryScreen(
"one-toggle-effects-view",
/*revision_number=*/4, bubble_view()));
/*revision_number=*/5, bubble_view()));
// Add one set-value effect.
controller()->GetEffectsManager().RegisterDelegate(shaggy_fur());
@ -497,7 +497,7 @@ TEST_P(BubbleViewPixelTest, DLCUIInErrorShowsWarningLabelMaxErrors) {
EXPECT_TRUE(GetPixelDiffer()->CompareUiComponentsOnPrimaryScreen(
"additional-set-value-view",
/*revision_number=*/4, bubble_view()));
/*revision_number=*/5, bubble_view()));
}
} // namespace ash::video_conference

@ -77,7 +77,7 @@ TEST_F(TouchSelectionPixelTest, MagnifierOnTextfield) {
EXPECT_TRUE(GetPixelDiffer()->CompareUiComponentsOnPrimaryScreen(
"touch_selection",
/*revision_number=*/2, widget.get()));
/*revision_number=*/3, widget.get()));
}
} // namespace

@ -98,7 +98,7 @@ TEST_P(HelpBubbleViewAshPixelTest, Appearance) {
with_body_icon(), with_buttons(), with_progress());
EXPECT_TRUE(GetPixelDiffer()->CompareUiComponentsOnPrimaryScreen(
"appearance", /*revision_number=*/7, help_bubble_view,
"appearance", /*revision_number=*/8, help_bubble_view,
help_bubble_view->anchor_widget()));
}
@ -164,7 +164,7 @@ TEST_P(HelpBubbleViewAshArrowPixelTest, Placement) {
/*with_buttons=*/true, /*with_progress=*/true);
EXPECT_TRUE(GetPixelDiffer()->CompareUiComponentsOnPrimaryScreen(
"placement", /*revision_number=*/7, help_bubble_view,
"placement", /*revision_number=*/8, help_bubble_view,
help_bubble_view->anchor_widget()));
}

@ -38,7 +38,7 @@ TEST_F(WelcomeTourDialogPixelTest, Appearance) {
// Take a screenshot of the Welcome Tour dialog.
EXPECT_TRUE(GetPixelDiffer()->CompareUiComponentsOnPrimaryScreen(
"welcome_tour_dialog",
/*revision_number=*/3, WelcomeTourDialog::Get()));
/*revision_number=*/4, WelcomeTourDialog::Get()));
}
} // namespace ash

@ -138,7 +138,7 @@ TEST_F(SnapGroupPixelTest, OverviewGroupItem) {
// Verify the `OverviewGroupItem` visuals.
EXPECT_TRUE(GetPixelDiffer()->CompareUiComponentsOnPrimaryScreen(
"overviewgroupitem",
/*revision_number=*/2, group_item_widget));
/*revision_number=*/3, group_item_widget));
// Verify the visuals after one of the windows in the group got destroyed.
w2.reset();
@ -148,7 +148,7 @@ TEST_F(SnapGroupPixelTest, OverviewGroupItem) {
ASSERT_TRUE(item_after_destruction);
EXPECT_TRUE(GetPixelDiffer()->CompareUiComponentsOnPrimaryScreen(
"remaining_item_widget",
/*revision_number=*/2, remaining_item_widget));
/*revision_number=*/3, remaining_item_widget));
}
// Visual regression test for Snap Group in window cycle view.
@ -186,13 +186,13 @@ TEST_F(SnapGroupPixelTest, WindowCycleView) {
// Verify the visuals with secondary-snapped window gets focused.
EXPECT_TRUE(GetPixelDiffer()->CompareUiComponentsOnPrimaryScreen(
"window_cycle_with_snap_group_secondary_focused",
/*revision_number=*/2, window_cycle_widget));
/*revision_number=*/3, window_cycle_widget));
// Verify the visuals with primary-snapped window gets focused.
event_generator->PressAndReleaseKey(ui::VKEY_TAB, ui::EF_ALT_DOWN);
EXPECT_TRUE(GetPixelDiffer()->CompareUiComponentsOnPrimaryScreen(
"window_cycle_with_snap_group_primary_focused",
/*revision_number=*/2, window_cycle_widget));
/*revision_number=*/3, window_cycle_widget));
// Verify the visuals after one of the windows in the group got destroyed
// while stepping.
@ -208,7 +208,7 @@ TEST_F(SnapGroupPixelTest, WindowCycleView) {
EXPECT_TRUE(GetPixelDiffer()->CompareUiComponentsOnPrimaryScreen(
"window_cycle_with_snap_group_window_destruction",
/*revision_number=*/2, updated_window_cycle_widget));
/*revision_number=*/3, updated_window_cycle_widget));
}
// -----------------------------------------------------------------------------
@ -278,7 +278,7 @@ TEST_F(SnapGroupPixelTest, OverviewGroupItemInPortrait) {
// Verify the `OverviewGroupItem` visuals in portrait.
EXPECT_TRUE(GetPixelDiffer()->CompareUiComponentsOnPrimaryScreen(
"overviewgroupitem_in_portrait",
/*revision_number=*/2, group_item_widget));
/*revision_number=*/3, group_item_widget));
}
// Portrait mode visual regression test for Snap Group visuals in window cycle
@ -319,13 +319,13 @@ TEST_F(SnapGroupPixelTest, WindowCycleViewInPortrait) {
// Verify the visuals with secondary-snapped window gets focused.
EXPECT_TRUE(GetPixelDiffer()->CompareUiComponentsOnPrimaryScreen(
"window_cycle_with_snap_group_secondary_focused_in_portrait",
/*revision_number=*/2, window_cycle_widget));
/*revision_number=*/3, window_cycle_widget));
// Verify the visuals with primary-snapped window gets focused.
event_generator->PressAndReleaseKey(ui::VKEY_TAB, ui::EF_ALT_DOWN);
EXPECT_TRUE(GetPixelDiffer()->CompareUiComponentsOnPrimaryScreen(
"window_cycle_with_snap_group_primary_focused_in_portrait",
/*revision_number=*/2, window_cycle_widget));
/*revision_number=*/3, window_cycle_widget));
}
} // namespace ash

@ -68,7 +68,7 @@ TEST_F(CoralPixelDiffTest, CoralSelectorView) {
TabAppSelectionHost* menu = ShowAndGetSelectorMenu(GetEventGenerator());
EXPECT_TRUE(GetPixelDiffer()->CompareUiComponentsOnPrimaryScreen(
"coral_selector_view", /*revision_number=*/5, menu));
"coral_selector_view", /*revision_number=*/6, menu));
}
} // namespace ash

@ -86,7 +86,7 @@ TEST_F(WmPixelDiffTest, OverviewAndDesksBarBasic) {
EXPECT_TRUE(GetPixelDiffer()->CompareUiComponentsOnPrimaryScreen(
"overview_and_desks_bar_basic",
/*revision_number=*/17, desk_widget, overview_widget1, overview_widget2,
/*revision_number=*/18, desk_widget, overview_widget1, overview_widget2,
overview_widget3));
}
@ -165,7 +165,7 @@ TEST_F(WmPixelDiffTest, WindowCycleBasic) {
EXPECT_TRUE(GetPixelDiffer()->CompareUiComponentsOnPrimaryScreen(
"window_cycle_basic",
/*revision_number=*/23, widget));
/*revision_number=*/24, widget));
}
TEST_F(WmPixelDiffTest, InformedRestoreNoScreenshotDialog) {
@ -201,7 +201,7 @@ TEST_F(WmPixelDiffTest, InformedRestoreNoScreenshotDialog) {
EXPECT_TRUE(GetPixelDiffer()->CompareUiComponentsOnPrimaryScreen(
"informed_restore_no_screenshot",
/*revision_number=*/1, widget));
/*revision_number=*/2, widget));
}
} // namespace ash

@ -295,7 +295,7 @@ AX_TEST_F(
.expectSpeech('Size 20')
.expectSpeech('Red, 100% opacity.')
.expectSpeech('Bold')
.expectSpeech('Font Tinos')
.expectSpeech('Font Tinos (Fontations)')
.expectBraille(lineText, {startIndex: 1, endIndex: 1})
.call(moveByChar)
.expectSpeech('v')
@ -337,7 +337,7 @@ AX_TEST_F(
.call(moveByChar)
.expectSpeech('t')
.expectSpeech('Underline')
.expectSpeech('Font Gelasio')
.expectSpeech('Font Gelasio (Fontations)')
.expectBraille(lineText, {startIndex: 13, endIndex: 13})
.call(moveByChar)
.expectSpeech('e')
@ -351,7 +351,7 @@ AX_TEST_F(
.call(moveByChar)
.expectSpeech(' ')
.expectSpeech('Not underline')
.expectSpeech('Font Tinos')
.expectSpeech('Font Tinos (Fontations)')
.expectBraille(lineText, {startIndex: 17, endIndex: 17})
.call(moveByChar)
.expectSpeech('b')

Binary file not shown.

Before

(image error) Size: 5.0 KiB

After

(image error) Size: 5.0 KiB

Binary file not shown.

Before

(image error) Size: 3.5 KiB

After

(image error) Size: 3.6 KiB

@ -15,6 +15,16 @@
#include "third_party/blink/public/common/web_preferences/web_preferences.h"
namespace content {
namespace {
std::string_view MaybeStripFontationsSuffix(const std::string& font_name) {
std::string_view view = font_name;
std::size_t pos = view.rfind(" (Fontations)");
if (pos != std::string_view::npos) {
view.remove_suffix(view.size() - pos);
}
return view;
}
} // namespace
class FontPreferencesBrowserTest : public DevToolsProtocolTest {
public:
@ -98,14 +108,16 @@ class FontPreferencesBrowserTest : public DevToolsProtocolTest {
// Verify that by default, the non-default system font above is not used.
web_contents->SetWebPreferences(default_preferences);
EXPECT_TRUE(ExecJs(web_contents, "document.body.offsetTop"));
EXPECT_NE(GetFirstPlatformFontForBody(), non_default_system_font);
EXPECT_NE(MaybeStripFontationsSuffix(GetFirstPlatformFontForBody()),
non_default_system_font);
// Set the preference to that non-default system font and try again.
default_preferences_font_family_map[blink::web_pref::kCommonScript] =
base::ASCIIToUTF16(non_default_system_font);
web_contents->SetWebPreferences(default_preferences);
EXPECT_TRUE(ExecJs(web_contents, "document.body.offsetTop"));
EXPECT_EQ(GetFirstPlatformFontForBody(), non_default_system_font);
EXPECT_EQ(MaybeStripFontationsSuffix(GetFirstPlatformFontForBody()),
non_default_system_font);
// Restore the preference to its default value.
default_preferences_font_family_map[blink::web_pref::kCommonScript] =

@ -1,5 +1,5 @@
[document web] offset=0 family-name=Tinos
++[landmark] offset=0 family-name=Cousine offset=1 family-name=Arimo
++++[paragraph] offset=0 family-name=Cousine
[document web] offset=0 family-name=Tinos (Fontations)
++[landmark] offset=0 family-name=Cousine (Fontations) offset=1 family-name=Arimo (Fontations)
++++[paragraph] offset=0 family-name=Cousine (Fontations)
++++++[static] name='Monospace'
++++[static] name='Sans serif'

@ -1,5 +1,5 @@
rootWebArea fontFamily='Tinos' fontSize=16.00 fontWeight=400.00
++genericContainer ignored fontFamily='Tinos'
++++genericContainer fontFamily='Tinos' fontSize=16.00 fontWeight=400.00
++++++svgRoot fontFamily='Tinos' fontSize=16.00 fontWeight=400.00
++++++++graphicsSymbol fontFamily='Cousine' name='xyz' fontSize=99.00 fontWeight=900.00
rootWebArea fontFamily='Tinos (Fontations)' fontSize=16.00 fontWeight=400.00
++genericContainer ignored fontFamily='Tinos (Fontations)'
++++genericContainer fontFamily='Tinos (Fontations)' fontSize=16.00 fontWeight=400.00
++++++svgRoot fontFamily='Tinos (Fontations)' fontSize=16.00 fontWeight=400.00
++++++++graphicsSymbol fontFamily='Cousine (Fontations)' name='xyz' fontSize=99.00 fontWeight=900.00

Binary file not shown.

Before

(image error) Size: 6.3 KiB

After

(image error) Size: 6.3 KiB

Binary file not shown.

Before

(image error) Size: 7.8 KiB

After

(image error) Size: 6.8 KiB

Binary file not shown.

Before

(image error) Size: 3.6 KiB

After

(image error) Size: 3.5 KiB

Binary file not shown.

Before

(image error) Size: 4.2 KiB

After

(image error) Size: 3.7 KiB

Binary file not shown.

Before

(image error) Size: 4.6 KiB

After

(image error) Size: 4.7 KiB

Binary file not shown.

Before

(image error) Size: 5.2 KiB

After

(image error) Size: 5.3 KiB

@ -9,6 +9,6 @@ namespace skia {
// SkFontMgr instantiation in skia/ext/font_utils.cc
BASE_FEATURE(kFontationsLinuxSystemFonts,
"FontationsLinuxSystemFonts",
base::FEATURE_DISABLED_BY_DEFAULT);
base::FEATURE_ENABLED_BY_DEFAULT);
} // namespace skia

@ -8800,6 +8800,12 @@ crbug.com/339041663 external/wpt/mediacapture-insertable-streams/legacy/MediaStr
crbug.com/339041663 external/wpt/mediacapture-insertable-streams/tentative/VideoTrackGenerator.https.html [ Crash Failure Timeout ]
# failure from enabling swiftshader on headless shell, combined with a preexisting flaky Crash/Timeout
crbug.com/626703 crbug.com/339041663 external/wpt/css/css-grid/subgrid/scrollbar-gutter-002.html [ Crash Failure Pass Timeout ]
# More tests that exhibit antialiasing differences only on headless shell, not on content_shell, when run under Fontations
crbug.com/397880053 external/wpt/css/css-multicol/multicol-height-002-print.xht [ Failure ]
crbug.com/397880053 external/wpt/css/css-page/margin-boxes/auto-margins-001-print.html [ Failure ]
crbug.com/397880053 external/wpt/css/css-page/margin-boxes/auto-margins-002-print.html [ Failure ]
crbug.com/397880053 external/wpt/css/css-page/page-box-009-print.html [ Failure ]
crbug.com/397880053 external/wpt/css/css-page/page-size-010-print.html [ Failure ]
# Gardener 2024-10-31
crbug.com/376589790 [ Win11-arm64 ] fast/js/toString-stack-overflow.html [ Failure Pass ]

@ -951,10 +951,29 @@ external/wpt/workers/postMessage_block.https.html
# Tests that exhibit antialiasing differences only on headless shell, not on
# content_shell, when run under Fontations. See crbug.com/397880053.
external/wpt/css/css-break/grid/monolithic-overflow-print.html
external/wpt/css/css-break/transform-024-print.html
external/wpt/css/css-grid/grid-fragmentation-between-rows-001-print.tentative.html
external/wpt/css/css-multicol/multicol-height-002-print.xht
external/wpt/css/css-page/fixedpos-009-print.html
external/wpt/css/css-page/margin-boxes/auto-margins-001-print.html
external/wpt/css/css-page/margin-boxes/auto-margins-002-print.html
external/wpt/css/css-page/margin-boxes/auto-margins-003-print.html
external/wpt/css/css-page/margin-boxes/content-002-print.html
external/wpt/css/css-page/margin-boxes/dimensions-015-print.tentative.html
external/wpt/css/css-page/margin-boxes/overconstrained-001-print.html
external/wpt/css/css-page/monolithic-overflow-023-print.html
external/wpt/css/css-page/monolithic-overflow-028-print.html
external/wpt/css/css-page/page-background-001-print.html
external/wpt/css/css-page/page-box-003-print.html
external/wpt/css/css-page/page-box-007-print.html
external/wpt/css/css-page/page-box-008-print.html
external/wpt/css/css-page/page-box-009-print.html
external/wpt/css/css-page/page-box-011-print.html
external/wpt/css/css-page/page-margin-006-print.html
external/wpt/css/css-page/page-margin-007-print.html
external/wpt/css/css-page/page-size-010-print.html
external/wpt/css/printing/pseudo-animations-print.html
virtual/atomic-move-range-preservation/external/wpt/dom/nodes/moveBefore/tentative/selection-preserve.html
virtual/backface-visibility-interop/external/wpt/css/css-transforms/backface-visibility-001.html

Binary file not shown.

Before

(image error) Size: 14 KiB

After

(image error) Size: 14 KiB

Binary file not shown.

Before

(image error) Size: 10 KiB

After

(image error) Size: 9.9 KiB

Binary file not shown.

Before

(image error) Size: 9.8 KiB

After

(image error) Size: 9.5 KiB

Binary file not shown.

Before

(image error) Size: 11 KiB

After

(image error) Size: 11 KiB

Binary file not shown.

Before

(image error) Size: 78 KiB

After

(image error) Size: 77 KiB

Binary file not shown.

Before

(image error) Size: 78 KiB

After

(image error) Size: 78 KiB

Binary file not shown.

Before

(image error) Size: 15 KiB

After

(image error) Size: 14 KiB

Binary file not shown.

Before

(image error) Size: 11 KiB

After

(image error) Size: 10 KiB

Binary file not shown.

Before

(image error) Size: 53 KiB

After

(image error) Size: 53 KiB

Binary file not shown.

Before

(image error) Size: 15 KiB

After

(image error) Size: 15 KiB

Binary file not shown.

Before

(image error) Size: 183 KiB

After

(image error) Size: 178 KiB

Binary file not shown.

Before

(image error) Size: 110 KiB

After

(image error) Size: 107 KiB

Binary file not shown.

Before

(image error) Size: 100 KiB

After

(image error) Size: 98 KiB

Binary file not shown.

Before

(image error) Size: 118 KiB

After

(image error) Size: 114 KiB

Binary file not shown.

Before

(image error) Size: 117 KiB

After

(image error) Size: 114 KiB

Binary file not shown.

Before

(image error) Size: 182 KiB

After

(image error) Size: 176 KiB

Binary file not shown.

Before

(image error) Size: 123 KiB

After

(image error) Size: 118 KiB

Binary file not shown.

Before

(image error) Size: 176 KiB

After

(image error) Size: 172 KiB

Binary file not shown.

Before

(image error) Size: 160 KiB

After

(image error) Size: 156 KiB

Binary file not shown.

Before

(image error) Size: 202 KiB

After

(image error) Size: 196 KiB

Binary file not shown.

Before

(image error) Size: 90 KiB

After

(image error) Size: 88 KiB

Binary file not shown.

Before

(image error) Size: 129 KiB

After

(image error) Size: 126 KiB

Binary file not shown.

Before

(image error) Size: 61 KiB

After

(image error) Size: 59 KiB

Binary file not shown.

Before

(image error) Size: 229 KiB

After

(image error) Size: 227 KiB

Binary file not shown.

Before

(image error) Size: 159 KiB

After

(image error) Size: 155 KiB

Some files were not shown because too many files have changed in this diff Show More