summaryrefslogtreecommitdiffstats
path: root/image/test/reftest/ico
diff options
context:
space:
mode:
Diffstat (limited to 'image/test/reftest/ico')
-rw-r--r--image/test/reftest/ico/cur/pointer.curbin0 -> 4286 bytes
-rw-r--r--image/test/reftest/ico/cur/pointer.pngbin0 -> 453 bytes
-rw-r--r--image/test/reftest/ico/cur/reftest-stylo.list5
-rw-r--r--image/test/reftest/ico/cur/reftest.list4
-rw-r--r--image/test/reftest/ico/cur/wrapper.html27
-rw-r--r--image/test/reftest/ico/ico-bmp-1bpp/ico-not-square-transparent-1bpp.icobin0 -> 182 bytes
-rw-r--r--image/test/reftest/ico/ico-bmp-1bpp/ico-not-square-transparent-1bpp.pngbin0 -> 241 bytes
-rw-r--r--image/test/reftest/ico/ico-bmp-1bpp/ico-partial-transparent-1bpp.icobin0 -> 326 bytes
-rw-r--r--image/test/reftest/ico/ico-bmp-1bpp/ico-partial-transparent-1bpp.pngbin0 -> 410 bytes
-rw-r--r--image/test/reftest/ico/ico-bmp-1bpp/ico-size-15x15-1bpp.icobin0 -> 190 bytes
-rw-r--r--image/test/reftest/ico/ico-bmp-1bpp/ico-size-15x15-1bpp.pngbin0 -> 220 bytes
-rw-r--r--image/test/reftest/ico/ico-bmp-1bpp/ico-size-16x16-1bpp.icobin0 -> 198 bytes
-rw-r--r--image/test/reftest/ico/ico-bmp-1bpp/ico-size-16x16-1bpp.pngbin0 -> 242 bytes
-rw-r--r--image/test/reftest/ico/ico-bmp-1bpp/ico-size-17x17-1bpp.icobin0 -> 206 bytes
-rw-r--r--image/test/reftest/ico/ico-bmp-1bpp/ico-size-17x17-1bpp.pngbin0 -> 247 bytes
-rw-r--r--image/test/reftest/ico/ico-bmp-1bpp/ico-size-1x1-1bpp.icobin0 -> 78 bytes
-rw-r--r--image/test/reftest/ico/ico-bmp-1bpp/ico-size-1x1-1bpp.pngbin0 -> 120 bytes
-rw-r--r--image/test/reftest/ico/ico-bmp-1bpp/ico-size-256x256-1bpp.icobin0 -> 16454 bytes
-rw-r--r--image/test/reftest/ico/ico-bmp-1bpp/ico-size-256x256-1bpp.pngbin0 -> 7673 bytes
-rw-r--r--image/test/reftest/ico/ico-bmp-1bpp/ico-size-2x2-1bpp.icobin0 -> 86 bytes
-rw-r--r--image/test/reftest/ico/ico-bmp-1bpp/ico-size-2x2-1bpp.pngbin0 -> 126 bytes
-rw-r--r--image/test/reftest/ico/ico-bmp-1bpp/ico-size-31x31-1bpp.icobin0 -> 318 bytes
-rw-r--r--image/test/reftest/ico/ico-bmp-1bpp/ico-size-31x31-1bpp.pngbin0 -> 447 bytes
-rw-r--r--image/test/reftest/ico/ico-bmp-1bpp/ico-size-32x32-1bpp.icobin0 -> 326 bytes
-rw-r--r--image/test/reftest/ico/ico-bmp-1bpp/ico-size-32x32-1bpp.pngbin0 -> 455 bytes
-rw-r--r--image/test/reftest/ico/ico-bmp-1bpp/ico-size-33x33-1bpp.icobin0 -> 598 bytes
-rw-r--r--image/test/reftest/ico/ico-bmp-1bpp/ico-size-33x33-1bpp.pngbin0 -> 489 bytes
-rw-r--r--image/test/reftest/ico/ico-bmp-1bpp/ico-size-3x3-1bpp.icobin0 -> 94 bytes
-rw-r--r--image/test/reftest/ico/ico-bmp-1bpp/ico-size-3x3-1bpp.pngbin0 -> 132 bytes
-rw-r--r--image/test/reftest/ico/ico-bmp-1bpp/ico-size-4x4-1bpp.icobin0 -> 102 bytes
-rw-r--r--image/test/reftest/ico/ico-bmp-1bpp/ico-size-4x4-1bpp.pngbin0 -> 135 bytes
-rw-r--r--image/test/reftest/ico/ico-bmp-1bpp/ico-size-5x5-1bpp.icobin0 -> 110 bytes
-rw-r--r--image/test/reftest/ico/ico-bmp-1bpp/ico-size-5x5-1bpp.pngbin0 -> 146 bytes
-rw-r--r--image/test/reftest/ico/ico-bmp-1bpp/ico-size-6x6-1bpp.icobin0 -> 118 bytes
-rw-r--r--image/test/reftest/ico/ico-bmp-1bpp/ico-size-6x6-1bpp.pngbin0 -> 149 bytes
-rw-r--r--image/test/reftest/ico/ico-bmp-1bpp/ico-size-7x7-1bpp.icobin0 -> 126 bytes
-rw-r--r--image/test/reftest/ico/ico-bmp-1bpp/ico-size-7x7-1bpp.pngbin0 -> 156 bytes
-rw-r--r--image/test/reftest/ico/ico-bmp-1bpp/ico-size-8x8-1bpp.icobin0 -> 134 bytes
-rw-r--r--image/test/reftest/ico/ico-bmp-1bpp/ico-size-8x8-1bpp.pngbin0 -> 161 bytes
-rw-r--r--image/test/reftest/ico/ico-bmp-1bpp/ico-size-9x9-1bpp.icobin0 -> 142 bytes
-rw-r--r--image/test/reftest/ico/ico-bmp-1bpp/ico-size-9x9-1bpp.pngbin0 -> 171 bytes
-rw-r--r--image/test/reftest/ico/ico-bmp-1bpp/ico-transparent-1bpp.icobin0 -> 3262 bytes
-rw-r--r--image/test/reftest/ico/ico-bmp-1bpp/ico-transparent-1bpp.pngbin0 -> 195 bytes
-rw-r--r--image/test/reftest/ico/ico-bmp-1bpp/reftest-stylo.list25
-rw-r--r--image/test/reftest/ico/ico-bmp-1bpp/reftest.list23
-rw-r--r--image/test/reftest/ico/ico-bmp-24bpp/ico-not-square-transparent-24bpp.icobin0 -> 1126 bytes
-rw-r--r--image/test/reftest/ico/ico-bmp-24bpp/ico-not-square-transparent-24bpp.pngbin0 -> 514 bytes
-rw-r--r--image/test/reftest/ico/ico-bmp-24bpp/ico-partial-transparent-24bpp.icobin0 -> 3262 bytes
-rw-r--r--image/test/reftest/ico/ico-bmp-24bpp/ico-partial-transparent-24bpp.pngbin0 -> 1028 bytes
-rw-r--r--image/test/reftest/ico/ico-bmp-24bpp/ico-size-15x15-24bpp.icobin0 -> 842 bytes
-rw-r--r--image/test/reftest/ico/ico-bmp-24bpp/ico-size-15x15-24bpp.pngbin0 -> 809 bytes
-rw-r--r--image/test/reftest/ico/ico-bmp-24bpp/ico-size-16x16-24bpp.icobin0 -> 894 bytes
-rw-r--r--image/test/reftest/ico/ico-bmp-24bpp/ico-size-16x16-24bpp.pngbin0 -> 879 bytes
-rw-r--r--image/test/reftest/ico/ico-bmp-24bpp/ico-size-17x17-24bpp.icobin0 -> 1014 bytes
-rw-r--r--image/test/reftest/ico/ico-bmp-24bpp/ico-size-17x17-24bpp.pngbin0 -> 1000 bytes
-rw-r--r--image/test/reftest/ico/ico-bmp-24bpp/ico-size-1x1-24bpp.icobin0 -> 70 bytes
-rw-r--r--image/test/reftest/ico/ico-bmp-24bpp/ico-size-1x1-24bpp.pngbin0 -> 70 bytes
-rw-r--r--image/test/reftest/ico/ico-bmp-24bpp/ico-size-256x256-24bpp.icobin0 -> 204862 bytes
-rw-r--r--image/test/reftest/ico/ico-bmp-24bpp/ico-size-256x256-24bpp.pngbin0 -> 5480 bytes
-rw-r--r--image/test/reftest/ico/ico-bmp-24bpp/ico-size-2x2-24bpp.icobin0 -> 86 bytes
-rw-r--r--image/test/reftest/ico/ico-bmp-24bpp/ico-size-2x2-24bpp.pngbin0 -> 83 bytes
-rw-r--r--image/test/reftest/ico/ico-bmp-24bpp/ico-size-31x31-24bpp.icobin0 -> 3162 bytes
-rw-r--r--image/test/reftest/ico/ico-bmp-24bpp/ico-size-31x31-24bpp.pngbin0 -> 2936 bytes
-rw-r--r--image/test/reftest/ico/ico-bmp-24bpp/ico-size-32x32-24bpp.icobin0 -> 3262 bytes
-rw-r--r--image/test/reftest/ico/ico-bmp-24bpp/ico-size-32x32-24bpp.pngbin0 -> 3106 bytes
-rw-r--r--image/test/reftest/ico/ico-bmp-24bpp/ico-size-33x33-24bpp.icobin0 -> 3626 bytes
-rw-r--r--image/test/reftest/ico/ico-bmp-24bpp/ico-size-33x33-24bpp.pngbin0 -> 3303 bytes
-rw-r--r--image/test/reftest/ico/ico-bmp-24bpp/ico-size-3x3-24bpp.icobin0 -> 110 bytes
-rw-r--r--image/test/reftest/ico/ico-bmp-24bpp/ico-size-3x3-24bpp.pngbin0 -> 107 bytes
-rw-r--r--image/test/reftest/ico/ico-bmp-24bpp/ico-size-4x4-24bpp.icobin0 -> 126 bytes
-rw-r--r--image/test/reftest/ico/ico-bmp-24bpp/ico-size-4x4-24bpp.pngbin0 -> 136 bytes
-rw-r--r--image/test/reftest/ico/ico-bmp-24bpp/ico-size-5x5-24bpp.icobin0 -> 162 bytes
-rw-r--r--image/test/reftest/ico/ico-bmp-24bpp/ico-size-5x5-24bpp.pngbin0 -> 173 bytes
-rw-r--r--image/test/reftest/ico/ico-bmp-24bpp/ico-size-6x6-24bpp.icobin0 -> 206 bytes
-rw-r--r--image/test/reftest/ico/ico-bmp-24bpp/ico-size-6x6-24bpp.pngbin0 -> 218 bytes
-rw-r--r--image/test/reftest/ico/ico-bmp-24bpp/ico-size-7x7-24bpp.icobin0 -> 258 bytes
-rw-r--r--image/test/reftest/ico/ico-bmp-24bpp/ico-size-7x7-24bpp.pngbin0 -> 271 bytes
-rw-r--r--image/test/reftest/ico/ico-bmp-24bpp/ico-size-8x8-24bpp.icobin0 -> 286 bytes
-rw-r--r--image/test/reftest/ico/ico-bmp-24bpp/ico-size-8x8-24bpp.pngbin0 -> 313 bytes
-rw-r--r--image/test/reftest/ico/ico-bmp-24bpp/ico-size-9x9-24bpp.icobin0 -> 350 bytes
-rw-r--r--image/test/reftest/ico/ico-bmp-24bpp/ico-size-9x9-24bpp.pngbin0 -> 368 bytes
-rw-r--r--image/test/reftest/ico/ico-bmp-24bpp/ico-transparent-24bpp.icobin0 -> 3262 bytes
-rw-r--r--image/test/reftest/ico/ico-bmp-24bpp/ico-transparent-24bpp.pngbin0 -> 195 bytes
-rw-r--r--image/test/reftest/ico/ico-bmp-24bpp/reftest-stylo.list24
-rw-r--r--image/test/reftest/ico/ico-bmp-24bpp/reftest.list23
-rw-r--r--image/test/reftest/ico/ico-bmp-32bpp/ico-not-square-transparent-32bpp.icobin0 -> 1462 bytes
-rw-r--r--image/test/reftest/ico/ico-bmp-32bpp/ico-not-square-transparent-32bpp.pngbin0 -> 533 bytes
-rw-r--r--image/test/reftest/ico/ico-bmp-32bpp/ico-partial-transparent-32bpp.icobin0 -> 4286 bytes
-rw-r--r--image/test/reftest/ico/ico-bmp-32bpp/ico-partial-transparent-32bpp.pngbin0 -> 1028 bytes
-rw-r--r--image/test/reftest/ico/ico-bmp-32bpp/ico-size-15x15-32bpp.icobin0 -> 1022 bytes
-rw-r--r--image/test/reftest/ico/ico-bmp-32bpp/ico-size-15x15-32bpp.pngbin0 -> 809 bytes
-rw-r--r--image/test/reftest/ico/ico-bmp-32bpp/ico-size-16x16-32bpp.icobin0 -> 1150 bytes
-rw-r--r--image/test/reftest/ico/ico-bmp-32bpp/ico-size-16x16-32bpp.pngbin0 -> 879 bytes
-rw-r--r--image/test/reftest/ico/ico-bmp-32bpp/ico-size-17x17-32bpp.icobin0 -> 1286 bytes
-rw-r--r--image/test/reftest/ico/ico-bmp-32bpp/ico-size-17x17-32bpp.pngbin0 -> 1000 bytes
-rw-r--r--image/test/reftest/ico/ico-bmp-32bpp/ico-size-1x1-32bpp.icobin0 -> 70 bytes
-rw-r--r--image/test/reftest/ico/ico-bmp-32bpp/ico-size-1x1-32bpp.pngbin0 -> 70 bytes
-rw-r--r--image/test/reftest/ico/ico-bmp-32bpp/ico-size-256x256-32bpp.icobin0 -> 270398 bytes
-rw-r--r--image/test/reftest/ico/ico-bmp-32bpp/ico-size-256x256-32bpp.pngbin0 -> 5480 bytes
-rw-r--r--image/test/reftest/ico/ico-bmp-32bpp/ico-size-2x2-32bpp.icobin0 -> 86 bytes
-rw-r--r--image/test/reftest/ico/ico-bmp-32bpp/ico-size-2x2-32bpp.pngbin0 -> 83 bytes
-rw-r--r--image/test/reftest/ico/ico-bmp-32bpp/ico-size-31x31-32bpp.icobin0 -> 4030 bytes
-rw-r--r--image/test/reftest/ico/ico-bmp-32bpp/ico-size-31x31-32bpp.pngbin0 -> 2936 bytes
-rw-r--r--image/test/reftest/ico/ico-bmp-32bpp/ico-size-32x32-32bpp.icobin0 -> 4286 bytes
-rw-r--r--image/test/reftest/ico/ico-bmp-32bpp/ico-size-32x32-32bpp.pngbin0 -> 3106 bytes
-rw-r--r--image/test/reftest/ico/ico-bmp-32bpp/ico-size-33x33-32bpp.icobin0 -> 4682 bytes
-rw-r--r--image/test/reftest/ico/ico-bmp-32bpp/ico-size-33x33-32bpp.pngbin0 -> 3303 bytes
-rw-r--r--image/test/reftest/ico/ico-bmp-32bpp/ico-size-3x3-32bpp.icobin0 -> 110 bytes
-rw-r--r--image/test/reftest/ico/ico-bmp-32bpp/ico-size-3x3-32bpp.pngbin0 -> 107 bytes
-rw-r--r--image/test/reftest/ico/ico-bmp-32bpp/ico-size-4x4-32bpp.icobin0 -> 142 bytes
-rw-r--r--image/test/reftest/ico/ico-bmp-32bpp/ico-size-4x4-32bpp.pngbin0 -> 136 bytes
-rw-r--r--image/test/reftest/ico/ico-bmp-32bpp/ico-size-5x5-32bpp.icobin0 -> 182 bytes
-rw-r--r--image/test/reftest/ico/ico-bmp-32bpp/ico-size-5x5-32bpp.pngbin0 -> 173 bytes
-rw-r--r--image/test/reftest/ico/ico-bmp-32bpp/ico-size-6x6-32bpp.icobin0 -> 230 bytes
-rw-r--r--image/test/reftest/ico/ico-bmp-32bpp/ico-size-6x6-32bpp.pngbin0 -> 218 bytes
-rw-r--r--image/test/reftest/ico/ico-bmp-32bpp/ico-size-7x7-32bpp.icobin0 -> 286 bytes
-rw-r--r--image/test/reftest/ico/ico-bmp-32bpp/ico-size-7x7-32bpp.pngbin0 -> 271 bytes
-rw-r--r--image/test/reftest/ico/ico-bmp-32bpp/ico-size-8x8-32bpp.icobin0 -> 350 bytes
-rw-r--r--image/test/reftest/ico/ico-bmp-32bpp/ico-size-8x8-32bpp.pngbin0 -> 313 bytes
-rw-r--r--image/test/reftest/ico/ico-bmp-32bpp/ico-size-9x9-32bpp.icobin0 -> 422 bytes
-rw-r--r--image/test/reftest/ico/ico-bmp-32bpp/ico-size-9x9-32bpp.pngbin0 -> 368 bytes
-rw-r--r--image/test/reftest/ico/ico-bmp-32bpp/ico-transparent-32bpp.icobin0 -> 4286 bytes
-rw-r--r--image/test/reftest/ico/ico-bmp-32bpp/ico-transparent-32bpp.pngbin0 -> 195 bytes
-rw-r--r--image/test/reftest/ico/ico-bmp-32bpp/reftest-stylo.list23
-rw-r--r--image/test/reftest/ico/ico-bmp-32bpp/reftest.list22
-rw-r--r--image/test/reftest/ico/ico-bmp-4bpp/ico-not-square-transparent-4bpp.icobin0 -> 350 bytes
-rw-r--r--image/test/reftest/ico/ico-bmp-4bpp/ico-not-square-transparent-4bpp.pngbin0 -> 315 bytes
-rw-r--r--image/test/reftest/ico/ico-bmp-4bpp/ico-partial-transparent-4bpp.icobin0 -> 766 bytes
-rw-r--r--image/test/reftest/ico/ico-bmp-4bpp/ico-partial-transparent-4bpp.pngbin0 -> 556 bytes
-rw-r--r--image/test/reftest/ico/ico-bmp-4bpp/ico-size-15x15-4bpp.icobin0 -> 306 bytes
-rw-r--r--image/test/reftest/ico/ico-bmp-4bpp/ico-size-15x15-4bpp.pngbin0 -> 304 bytes
-rw-r--r--image/test/reftest/ico/ico-bmp-4bpp/ico-size-16x16-4bpp.icobin0 -> 318 bytes
-rw-r--r--image/test/reftest/ico/ico-bmp-4bpp/ico-size-16x16-4bpp.pngbin0 -> 323 bytes
-rw-r--r--image/test/reftest/ico/ico-bmp-4bpp/ico-size-17x17-4bpp.icobin0 -> 398 bytes
-rw-r--r--image/test/reftest/ico/ico-bmp-4bpp/ico-size-17x17-4bpp.pngbin0 -> 337 bytes
-rw-r--r--image/test/reftest/ico/ico-bmp-4bpp/ico-size-1x1-4bpp.icobin0 -> 134 bytes
-rw-r--r--image/test/reftest/ico/ico-bmp-4bpp/ico-size-1x1-4bpp.pngbin0 -> 120 bytes
-rw-r--r--image/test/reftest/ico/ico-bmp-4bpp/ico-size-256x256-4bpp.icobin0 -> 41086 bytes
-rw-r--r--image/test/reftest/ico/ico-bmp-4bpp/ico-size-256x256-4bpp.pngbin0 -> 16944 bytes
-rw-r--r--image/test/reftest/ico/ico-bmp-4bpp/ico-size-2x2-4bpp.icobin0 -> 142 bytes
-rw-r--r--image/test/reftest/ico/ico-bmp-4bpp/ico-size-2x2-4bpp.pngbin0 -> 128 bytes
-rw-r--r--image/test/reftest/ico/ico-bmp-4bpp/ico-size-31x31-4bpp.icobin0 -> 746 bytes
-rw-r--r--image/test/reftest/ico/ico-bmp-4bpp/ico-size-31x31-4bpp.pngbin0 -> 700 bytes
-rw-r--r--image/test/reftest/ico/ico-bmp-4bpp/ico-size-32x32-4bpp.icobin0 -> 766 bytes
-rw-r--r--image/test/reftest/ico/ico-bmp-4bpp/ico-size-32x32-4bpp.pngbin0 -> 763 bytes
-rw-r--r--image/test/reftest/ico/ico-bmp-4bpp/ico-size-33x33-4bpp.icobin0 -> 1050 bytes
-rw-r--r--image/test/reftest/ico/ico-bmp-4bpp/ico-size-33x33-4bpp.pngbin0 -> 778 bytes
-rw-r--r--image/test/reftest/ico/ico-bmp-4bpp/ico-size-3x3-4bpp.icobin0 -> 150 bytes
-rw-r--r--image/test/reftest/ico/ico-bmp-4bpp/ico-size-3x3-4bpp.pngbin0 -> 139 bytes
-rw-r--r--image/test/reftest/ico/ico-bmp-4bpp/ico-size-4x4-4bpp.icobin0 -> 158 bytes
-rw-r--r--image/test/reftest/ico/ico-bmp-4bpp/ico-size-4x4-4bpp.pngbin0 -> 147 bytes
-rw-r--r--image/test/reftest/ico/ico-bmp-4bpp/ico-size-5x5-4bpp.icobin0 -> 166 bytes
-rw-r--r--image/test/reftest/ico/ico-bmp-4bpp/ico-size-5x5-4bpp.pngbin0 -> 156 bytes
-rw-r--r--image/test/reftest/ico/ico-bmp-4bpp/ico-size-6x6-4bpp.icobin0 -> 174 bytes
-rw-r--r--image/test/reftest/ico/ico-bmp-4bpp/ico-size-6x6-4bpp.pngbin0 -> 163 bytes
-rw-r--r--image/test/reftest/ico/ico-bmp-4bpp/ico-size-7x7-4bpp.icobin0 -> 182 bytes
-rw-r--r--image/test/reftest/ico/ico-bmp-4bpp/ico-size-7x7-4bpp.pngbin0 -> 172 bytes
-rw-r--r--image/test/reftest/ico/ico-bmp-4bpp/ico-size-8x8-4bpp.icobin0 -> 190 bytes
-rw-r--r--image/test/reftest/ico/ico-bmp-4bpp/ico-size-8x8-4bpp.pngbin0 -> 188 bytes
-rw-r--r--image/test/reftest/ico/ico-bmp-4bpp/ico-size-9x9-4bpp.icobin0 -> 234 bytes
-rw-r--r--image/test/reftest/ico/ico-bmp-4bpp/ico-size-9x9-4bpp.pngbin0 -> 198 bytes
-rw-r--r--image/test/reftest/ico/ico-bmp-4bpp/ico-transparent-4bpp.icobin0 -> 3262 bytes
-rw-r--r--image/test/reftest/ico/ico-bmp-4bpp/ico-transparent-4bpp.pngbin0 -> 195 bytes
-rw-r--r--image/test/reftest/ico/ico-bmp-4bpp/reftest-stylo.list24
-rw-r--r--image/test/reftest/ico/ico-bmp-4bpp/reftest.list23
-rw-r--r--image/test/reftest/ico/ico-bmp-8bpp/ico-not-square-transparent-8bpp.icobin0 -> 1478 bytes
-rw-r--r--image/test/reftest/ico/ico-bmp-8bpp/ico-not-square-transparent-8bpp.pngbin0 -> 514 bytes
-rw-r--r--image/test/reftest/ico/ico-bmp-8bpp/ico-partial-transparent-8bpp.icobin0 -> 2238 bytes
-rw-r--r--image/test/reftest/ico/ico-bmp-8bpp/ico-partial-transparent-8bpp.pngbin0 -> 983 bytes
-rw-r--r--image/test/reftest/ico/ico-bmp-8bpp/ico-size-15x15-8bpp.icobin0 -> 1386 bytes
-rw-r--r--image/test/reftest/ico/ico-bmp-8bpp/ico-size-15x15-8bpp.pngbin0 -> 809 bytes
-rw-r--r--image/test/reftest/ico/ico-bmp-8bpp/ico-size-16x16-8bpp.icobin0 -> 1406 bytes
-rw-r--r--image/test/reftest/ico/ico-bmp-8bpp/ico-size-16x16-8bpp.pngbin0 -> 903 bytes
-rw-r--r--image/test/reftest/ico/ico-bmp-8bpp/ico-size-17x17-8bpp.icobin0 -> 1494 bytes
-rw-r--r--image/test/reftest/ico/ico-bmp-8bpp/ico-size-17x17-8bpp.pngbin0 -> 964 bytes
-rw-r--r--image/test/reftest/ico/ico-bmp-8bpp/ico-size-1x1-8bpp.icobin0 -> 1094 bytes
-rw-r--r--image/test/reftest/ico/ico-bmp-8bpp/ico-size-1x1-8bpp.pngbin0 -> 70 bytes
-rw-r--r--image/test/reftest/ico/ico-bmp-8bpp/ico-size-256x256-8bpp.icobin0 -> 74814 bytes
-rw-r--r--image/test/reftest/ico/ico-bmp-8bpp/ico-size-256x256-8bpp.pngbin0 -> 22443 bytes
-rw-r--r--image/test/reftest/ico/ico-bmp-8bpp/ico-size-2x2-8bpp.icobin0 -> 1102 bytes
-rw-r--r--image/test/reftest/ico/ico-bmp-8bpp/ico-size-2x2-8bpp.pngbin0 -> 83 bytes
-rw-r--r--image/test/reftest/ico/ico-bmp-8bpp/ico-size-31x31-8bpp.icobin0 -> 2238 bytes
-rw-r--r--image/test/reftest/ico/ico-bmp-8bpp/ico-size-31x31-8bpp.pngbin0 -> 1546 bytes
-rw-r--r--image/test/reftest/ico/ico-bmp-8bpp/ico-size-32x32-8bpp.icobin0 -> 2238 bytes
-rw-r--r--image/test/reftest/ico/ico-bmp-8bpp/ico-size-32x32-8bpp.pngbin0 -> 1530 bytes
-rw-r--r--image/test/reftest/ico/ico-bmp-8bpp/ico-size-33x33-8bpp.icobin0 -> 2538 bytes
-rw-r--r--image/test/reftest/ico/ico-bmp-8bpp/ico-size-33x33-8bpp.pngbin0 -> 1632 bytes
-rw-r--r--image/test/reftest/ico/ico-bmp-8bpp/ico-size-3x3-8bpp.icobin0 -> 1110 bytes
-rw-r--r--image/test/reftest/ico/ico-bmp-8bpp/ico-size-3x3-8bpp.pngbin0 -> 107 bytes
-rw-r--r--image/test/reftest/ico/ico-bmp-8bpp/ico-size-4x4-8bpp.icobin0 -> 1118 bytes
-rw-r--r--image/test/reftest/ico/ico-bmp-8bpp/ico-size-4x4-8bpp.pngbin0 -> 136 bytes
-rw-r--r--image/test/reftest/ico/ico-bmp-8bpp/ico-size-5x5-8bpp.icobin0 -> 1146 bytes
-rw-r--r--image/test/reftest/ico/ico-bmp-8bpp/ico-size-5x5-8bpp.pngbin0 -> 173 bytes
-rw-r--r--image/test/reftest/ico/ico-bmp-8bpp/ico-size-6x6-8bpp.icobin0 -> 1158 bytes
-rw-r--r--image/test/reftest/ico/ico-bmp-8bpp/ico-size-6x6-8bpp.pngbin0 -> 218 bytes
-rw-r--r--image/test/reftest/ico/ico-bmp-8bpp/ico-size-7x7-8bpp.icobin0 -> 1170 bytes
-rw-r--r--image/test/reftest/ico/ico-bmp-8bpp/ico-size-7x7-8bpp.pngbin0 -> 271 bytes
-rw-r--r--image/test/reftest/ico/ico-bmp-8bpp/ico-size-8x8-8bpp.icobin0 -> 286 bytes
-rw-r--r--image/test/reftest/ico/ico-bmp-8bpp/ico-size-8x8-8bpp.pngbin0 -> 313 bytes
-rw-r--r--image/test/reftest/ico/ico-bmp-8bpp/ico-size-9x9-8bpp.icobin0 -> 1230 bytes
-rw-r--r--image/test/reftest/ico/ico-bmp-8bpp/ico-size-9x9-8bpp.pngbin0 -> 368 bytes
-rw-r--r--image/test/reftest/ico/ico-bmp-8bpp/ico-transparent-8bpp.icobin0 -> 3262 bytes
-rw-r--r--image/test/reftest/ico/ico-bmp-8bpp/ico-transparent-8bpp.pngbin0 -> 195 bytes
-rw-r--r--image/test/reftest/ico/ico-bmp-8bpp/reftest-stylo.list25
-rw-r--r--image/test/reftest/ico/ico-bmp-8bpp/reftest.list23
-rw-r--r--image/test/reftest/ico/ico-bmp-corrupted/16x16.pngbin0 -> 879 bytes
-rw-r--r--image/test/reftest/ico/ico-bmp-corrupted/invalid-bpp.icobin0 -> 86 bytes
-rw-r--r--image/test/reftest/ico/ico-bmp-corrupted/invalid-compression-RLE4.icobin0 -> 86 bytes
-rw-r--r--image/test/reftest/ico/ico-bmp-corrupted/invalid-compression-RLE8.icobin0 -> 86 bytes
-rw-r--r--image/test/reftest/ico/ico-bmp-corrupted/invalid-compression.icobin0 -> 830 bytes
-rw-r--r--image/test/reftest/ico/ico-bmp-corrupted/reftest-stylo.list11
-rw-r--r--image/test/reftest/ico/ico-bmp-corrupted/reftest.list10
-rw-r--r--image/test/reftest/ico/ico-bmp-corrupted/wrapper.html80
-rw-r--r--image/test/reftest/ico/ico-mixed/mixed-bmp-png.icobin0 -> 17542 bytes
-rw-r--r--image/test/reftest/ico/ico-mixed/mixed-bmp-png.pngbin0 -> 629 bytes
-rw-r--r--image/test/reftest/ico/ico-mixed/mixed-bmp-png32.pngbin0 -> 940 bytes
-rw-r--r--image/test/reftest/ico/ico-mixed/mixed-bmp-png48.pngbin0 -> 1332 bytes
-rw-r--r--image/test/reftest/ico/ico-mixed/reftest-stylo.list4
-rw-r--r--image/test/reftest/ico/ico-mixed/reftest.list3
-rw-r--r--image/test/reftest/ico/ico-png/corrupted_x00n0g01.icobin0 -> 71 bytes
-rw-r--r--image/test/reftest/ico/ico-png/corrupted_xxcrn0g04.icobin0 -> 283 bytes
-rw-r--r--image/test/reftest/ico/ico-png/ico-size-15x15-png.icobin0 -> 831 bytes
-rw-r--r--image/test/reftest/ico/ico-png/ico-size-15x15-png.pngbin0 -> 809 bytes
-rw-r--r--image/test/reftest/ico/ico-png/ico-size-16x16-png.icobin0 -> 901 bytes
-rw-r--r--image/test/reftest/ico/ico-png/ico-size-16x16-png.pngbin0 -> 879 bytes
-rw-r--r--image/test/reftest/ico/ico-png/ico-size-17x17-png.icobin0 -> 1022 bytes
-rw-r--r--image/test/reftest/ico/ico-png/ico-size-17x17-png.pngbin0 -> 1000 bytes
-rw-r--r--image/test/reftest/ico/ico-png/ico-size-1x1-png.icobin0 -> 92 bytes
-rw-r--r--image/test/reftest/ico/ico-png/ico-size-1x1-png.pngbin0 -> 70 bytes
-rw-r--r--image/test/reftest/ico/ico-png/ico-size-256x256-png.icobin0 -> 5934 bytes
-rw-r--r--image/test/reftest/ico/ico-png/ico-size-256x256-png.pngbin0 -> 5912 bytes
-rw-r--r--image/test/reftest/ico/ico-png/ico-size-2x2-png.icobin0 -> 105 bytes
-rw-r--r--image/test/reftest/ico/ico-png/ico-size-2x2-png.pngbin0 -> 83 bytes
-rw-r--r--image/test/reftest/ico/ico-png/ico-size-31x31-png.icobin0 -> 2958 bytes
-rw-r--r--image/test/reftest/ico/ico-png/ico-size-31x31-png.pngbin0 -> 2936 bytes
-rw-r--r--image/test/reftest/ico/ico-png/ico-size-32x32-png.icobin0 -> 3128 bytes
-rw-r--r--image/test/reftest/ico/ico-png/ico-size-32x32-png.pngbin0 -> 3106 bytes
-rw-r--r--image/test/reftest/ico/ico-png/ico-size-33x33-png.icobin0 -> 3325 bytes
-rw-r--r--image/test/reftest/ico/ico-png/ico-size-33x33-png.pngbin0 -> 3303 bytes
-rw-r--r--image/test/reftest/ico/ico-png/ico-size-3x3-png.icobin0 -> 129 bytes
-rw-r--r--image/test/reftest/ico/ico-png/ico-size-3x3-png.pngbin0 -> 107 bytes
-rw-r--r--image/test/reftest/ico/ico-png/ico-size-4x4-png.icobin0 -> 158 bytes
-rw-r--r--image/test/reftest/ico/ico-png/ico-size-4x4-png.pngbin0 -> 136 bytes
-rw-r--r--image/test/reftest/ico/ico-png/ico-size-5x5-png.icobin0 -> 195 bytes
-rw-r--r--image/test/reftest/ico/ico-png/ico-size-5x5-png.pngbin0 -> 173 bytes
-rw-r--r--image/test/reftest/ico/ico-png/ico-size-6x6-png.icobin0 -> 240 bytes
-rw-r--r--image/test/reftest/ico/ico-png/ico-size-6x6-png.pngbin0 -> 218 bytes
-rw-r--r--image/test/reftest/ico/ico-png/ico-size-7x7-png.icobin0 -> 293 bytes
-rw-r--r--image/test/reftest/ico/ico-png/ico-size-7x7-png.pngbin0 -> 271 bytes
-rw-r--r--image/test/reftest/ico/ico-png/ico-size-8x8-png.icobin0 -> 335 bytes
-rw-r--r--image/test/reftest/ico/ico-png/ico-size-8x8-png.pngbin0 -> 313 bytes
-rw-r--r--image/test/reftest/ico/ico-png/ico-size-9x9-png.icobin0 -> 390 bytes
-rw-r--r--image/test/reftest/ico/ico-png/ico-size-9x9-png.pngbin0 -> 368 bytes
-rw-r--r--image/test/reftest/ico/ico-png/reftest-stylo.list30
-rw-r--r--image/test/reftest/ico/ico-png/reftest.list29
-rw-r--r--image/test/reftest/ico/ico-png/tmp.icobin0 -> 1150 bytes
-rw-r--r--image/test/reftest/ico/ico-png/transparent-png.icobin0 -> 1150 bytes
-rw-r--r--image/test/reftest/ico/ico-png/transparent-png.pngbin0 -> 699 bytes
-rw-r--r--image/test/reftest/ico/ico-png/wrapper.html28
-rw-r--r--image/test/reftest/ico/ico-png/x00n0g01.pngbin0 -> 49 bytes
-rw-r--r--image/test/reftest/ico/ico-png/xcrn0g04.pngbin0 -> 261 bytes
-rw-r--r--image/test/reftest/ico/reftest-stylo.list13
-rw-r--r--image/test/reftest/ico/reftest.list11
263 files changed, 490 insertions, 0 deletions
diff --git a/image/test/reftest/ico/cur/pointer.cur b/image/test/reftest/ico/cur/pointer.cur
new file mode 100644
index 000000000..025ebaed1
--- /dev/null
+++ b/image/test/reftest/ico/cur/pointer.cur
Binary files differ
diff --git a/image/test/reftest/ico/cur/pointer.png b/image/test/reftest/ico/cur/pointer.png
new file mode 100644
index 000000000..84ad8f3fb
--- /dev/null
+++ b/image/test/reftest/ico/cur/pointer.png
Binary files differ
diff --git a/image/test/reftest/ico/cur/reftest-stylo.list b/image/test/reftest/ico/cur/reftest-stylo.list
new file mode 100644
index 000000000..b59c26dc5
--- /dev/null
+++ b/image/test/reftest/ico/cur/reftest-stylo.list
@@ -0,0 +1,5 @@
+# DO NOT EDIT! This is a auto-generated temporary list for Stylo testing
+# ICO BMP and PNG mixed tests
+
+skip == wrapper.html?pointer.cur wrapper.html?pointer.cur
+
diff --git a/image/test/reftest/ico/cur/reftest.list b/image/test/reftest/ico/cur/reftest.list
new file mode 100644
index 000000000..635136506
--- /dev/null
+++ b/image/test/reftest/ico/cur/reftest.list
@@ -0,0 +1,4 @@
+# ICO BMP and PNG mixed tests
+
+== wrapper.html?pointer.cur wrapper.html?pointer.png
+
diff --git a/image/test/reftest/ico/cur/wrapper.html b/image/test/reftest/ico/cur/wrapper.html
new file mode 100644
index 000000000..5bbe75e01
--- /dev/null
+++ b/image/test/reftest/ico/cur/wrapper.html
@@ -0,0 +1,27 @@
+<!DOCTYPE HTML>
+<html class="reftest-wait">
+<head>
+<title>Image reftest wrapper</title>
+<style type="text/css">
+ #image1 { background-color: rgb(10, 100, 250); }
+</style>
+<script>
+ // The image is loaded async after the page loads
+ // wait for it to finish loading
+ function onImageLoad() {
+ document.documentElement.removeAttribute("class");
+ };
+</script>
+</head>
+<body>
+<img id="image1">
+<script>
+ // Use as "wrapper.html?image.png
+ var imgURL = document.location.search.substr(1);
+ document.images[0].onload = onImageLoad;
+ document.images[0].onerror = onImageLoad;
+ document.images[0].src = imgURL;
+</script>
+</body>
+</html>
+
diff --git a/image/test/reftest/ico/ico-bmp-1bpp/ico-not-square-transparent-1bpp.ico b/image/test/reftest/ico/ico-bmp-1bpp/ico-not-square-transparent-1bpp.ico
new file mode 100644
index 000000000..0f51d504a
--- /dev/null
+++ b/image/test/reftest/ico/ico-bmp-1bpp/ico-not-square-transparent-1bpp.ico
Binary files differ
diff --git a/image/test/reftest/ico/ico-bmp-1bpp/ico-not-square-transparent-1bpp.png b/image/test/reftest/ico/ico-bmp-1bpp/ico-not-square-transparent-1bpp.png
new file mode 100644
index 000000000..152b30d71
--- /dev/null
+++ b/image/test/reftest/ico/ico-bmp-1bpp/ico-not-square-transparent-1bpp.png
Binary files differ
diff --git a/image/test/reftest/ico/ico-bmp-1bpp/ico-partial-transparent-1bpp.ico b/image/test/reftest/ico/ico-bmp-1bpp/ico-partial-transparent-1bpp.ico
new file mode 100644
index 000000000..def2a4ece
--- /dev/null
+++ b/image/test/reftest/ico/ico-bmp-1bpp/ico-partial-transparent-1bpp.ico
Binary files differ
diff --git a/image/test/reftest/ico/ico-bmp-1bpp/ico-partial-transparent-1bpp.png b/image/test/reftest/ico/ico-bmp-1bpp/ico-partial-transparent-1bpp.png
new file mode 100644
index 000000000..064a68bb2
--- /dev/null
+++ b/image/test/reftest/ico/ico-bmp-1bpp/ico-partial-transparent-1bpp.png
Binary files differ
diff --git a/image/test/reftest/ico/ico-bmp-1bpp/ico-size-15x15-1bpp.ico b/image/test/reftest/ico/ico-bmp-1bpp/ico-size-15x15-1bpp.ico
new file mode 100644
index 000000000..b68cf0ef0
--- /dev/null
+++ b/image/test/reftest/ico/ico-bmp-1bpp/ico-size-15x15-1bpp.ico
Binary files differ
diff --git a/image/test/reftest/ico/ico-bmp-1bpp/ico-size-15x15-1bpp.png b/image/test/reftest/ico/ico-bmp-1bpp/ico-size-15x15-1bpp.png
new file mode 100644
index 000000000..956c78ece
--- /dev/null
+++ b/image/test/reftest/ico/ico-bmp-1bpp/ico-size-15x15-1bpp.png
Binary files differ
diff --git a/image/test/reftest/ico/ico-bmp-1bpp/ico-size-16x16-1bpp.ico b/image/test/reftest/ico/ico-bmp-1bpp/ico-size-16x16-1bpp.ico
new file mode 100644
index 000000000..d96a4a0e1
--- /dev/null
+++ b/image/test/reftest/ico/ico-bmp-1bpp/ico-size-16x16-1bpp.ico
Binary files differ
diff --git a/image/test/reftest/ico/ico-bmp-1bpp/ico-size-16x16-1bpp.png b/image/test/reftest/ico/ico-bmp-1bpp/ico-size-16x16-1bpp.png
new file mode 100644
index 000000000..90088351f
--- /dev/null
+++ b/image/test/reftest/ico/ico-bmp-1bpp/ico-size-16x16-1bpp.png
Binary files differ
diff --git a/image/test/reftest/ico/ico-bmp-1bpp/ico-size-17x17-1bpp.ico b/image/test/reftest/ico/ico-bmp-1bpp/ico-size-17x17-1bpp.ico
new file mode 100644
index 000000000..4f10ad13c
--- /dev/null
+++ b/image/test/reftest/ico/ico-bmp-1bpp/ico-size-17x17-1bpp.ico
Binary files differ
diff --git a/image/test/reftest/ico/ico-bmp-1bpp/ico-size-17x17-1bpp.png b/image/test/reftest/ico/ico-bmp-1bpp/ico-size-17x17-1bpp.png
new file mode 100644
index 000000000..9a294696c
--- /dev/null
+++ b/image/test/reftest/ico/ico-bmp-1bpp/ico-size-17x17-1bpp.png
Binary files differ
diff --git a/image/test/reftest/ico/ico-bmp-1bpp/ico-size-1x1-1bpp.ico b/image/test/reftest/ico/ico-bmp-1bpp/ico-size-1x1-1bpp.ico
new file mode 100644
index 000000000..5af8bef61
--- /dev/null
+++ b/image/test/reftest/ico/ico-bmp-1bpp/ico-size-1x1-1bpp.ico
Binary files differ
diff --git a/image/test/reftest/ico/ico-bmp-1bpp/ico-size-1x1-1bpp.png b/image/test/reftest/ico/ico-bmp-1bpp/ico-size-1x1-1bpp.png
new file mode 100644
index 000000000..7a07a124e
--- /dev/null
+++ b/image/test/reftest/ico/ico-bmp-1bpp/ico-size-1x1-1bpp.png
Binary files differ
diff --git a/image/test/reftest/ico/ico-bmp-1bpp/ico-size-256x256-1bpp.ico b/image/test/reftest/ico/ico-bmp-1bpp/ico-size-256x256-1bpp.ico
new file mode 100644
index 000000000..63d95e3b7
--- /dev/null
+++ b/image/test/reftest/ico/ico-bmp-1bpp/ico-size-256x256-1bpp.ico
Binary files differ
diff --git a/image/test/reftest/ico/ico-bmp-1bpp/ico-size-256x256-1bpp.png b/image/test/reftest/ico/ico-bmp-1bpp/ico-size-256x256-1bpp.png
new file mode 100644
index 000000000..0a23d8c8e
--- /dev/null
+++ b/image/test/reftest/ico/ico-bmp-1bpp/ico-size-256x256-1bpp.png
Binary files differ
diff --git a/image/test/reftest/ico/ico-bmp-1bpp/ico-size-2x2-1bpp.ico b/image/test/reftest/ico/ico-bmp-1bpp/ico-size-2x2-1bpp.ico
new file mode 100644
index 000000000..09c140f1b
--- /dev/null
+++ b/image/test/reftest/ico/ico-bmp-1bpp/ico-size-2x2-1bpp.ico
Binary files differ
diff --git a/image/test/reftest/ico/ico-bmp-1bpp/ico-size-2x2-1bpp.png b/image/test/reftest/ico/ico-bmp-1bpp/ico-size-2x2-1bpp.png
new file mode 100644
index 000000000..3b09f8076
--- /dev/null
+++ b/image/test/reftest/ico/ico-bmp-1bpp/ico-size-2x2-1bpp.png
Binary files differ
diff --git a/image/test/reftest/ico/ico-bmp-1bpp/ico-size-31x31-1bpp.ico b/image/test/reftest/ico/ico-bmp-1bpp/ico-size-31x31-1bpp.ico
new file mode 100644
index 000000000..bbfc3165a
--- /dev/null
+++ b/image/test/reftest/ico/ico-bmp-1bpp/ico-size-31x31-1bpp.ico
Binary files differ
diff --git a/image/test/reftest/ico/ico-bmp-1bpp/ico-size-31x31-1bpp.png b/image/test/reftest/ico/ico-bmp-1bpp/ico-size-31x31-1bpp.png
new file mode 100644
index 000000000..d1fe6ddee
--- /dev/null
+++ b/image/test/reftest/ico/ico-bmp-1bpp/ico-size-31x31-1bpp.png
Binary files differ
diff --git a/image/test/reftest/ico/ico-bmp-1bpp/ico-size-32x32-1bpp.ico b/image/test/reftest/ico/ico-bmp-1bpp/ico-size-32x32-1bpp.ico
new file mode 100644
index 000000000..279ecb835
--- /dev/null
+++ b/image/test/reftest/ico/ico-bmp-1bpp/ico-size-32x32-1bpp.ico
Binary files differ
diff --git a/image/test/reftest/ico/ico-bmp-1bpp/ico-size-32x32-1bpp.png b/image/test/reftest/ico/ico-bmp-1bpp/ico-size-32x32-1bpp.png
new file mode 100644
index 000000000..078d3dc5d
--- /dev/null
+++ b/image/test/reftest/ico/ico-bmp-1bpp/ico-size-32x32-1bpp.png
Binary files differ
diff --git a/image/test/reftest/ico/ico-bmp-1bpp/ico-size-33x33-1bpp.ico b/image/test/reftest/ico/ico-bmp-1bpp/ico-size-33x33-1bpp.ico
new file mode 100644
index 000000000..fa1862c1c
--- /dev/null
+++ b/image/test/reftest/ico/ico-bmp-1bpp/ico-size-33x33-1bpp.ico
Binary files differ
diff --git a/image/test/reftest/ico/ico-bmp-1bpp/ico-size-33x33-1bpp.png b/image/test/reftest/ico/ico-bmp-1bpp/ico-size-33x33-1bpp.png
new file mode 100644
index 000000000..e64e12b2a
--- /dev/null
+++ b/image/test/reftest/ico/ico-bmp-1bpp/ico-size-33x33-1bpp.png
Binary files differ
diff --git a/image/test/reftest/ico/ico-bmp-1bpp/ico-size-3x3-1bpp.ico b/image/test/reftest/ico/ico-bmp-1bpp/ico-size-3x3-1bpp.ico
new file mode 100644
index 000000000..733b1f12b
--- /dev/null
+++ b/image/test/reftest/ico/ico-bmp-1bpp/ico-size-3x3-1bpp.ico
Binary files differ
diff --git a/image/test/reftest/ico/ico-bmp-1bpp/ico-size-3x3-1bpp.png b/image/test/reftest/ico/ico-bmp-1bpp/ico-size-3x3-1bpp.png
new file mode 100644
index 000000000..b8519a874
--- /dev/null
+++ b/image/test/reftest/ico/ico-bmp-1bpp/ico-size-3x3-1bpp.png
Binary files differ
diff --git a/image/test/reftest/ico/ico-bmp-1bpp/ico-size-4x4-1bpp.ico b/image/test/reftest/ico/ico-bmp-1bpp/ico-size-4x4-1bpp.ico
new file mode 100644
index 000000000..ba3097cec
--- /dev/null
+++ b/image/test/reftest/ico/ico-bmp-1bpp/ico-size-4x4-1bpp.ico
Binary files differ
diff --git a/image/test/reftest/ico/ico-bmp-1bpp/ico-size-4x4-1bpp.png b/image/test/reftest/ico/ico-bmp-1bpp/ico-size-4x4-1bpp.png
new file mode 100644
index 000000000..3977b5454
--- /dev/null
+++ b/image/test/reftest/ico/ico-bmp-1bpp/ico-size-4x4-1bpp.png
Binary files differ
diff --git a/image/test/reftest/ico/ico-bmp-1bpp/ico-size-5x5-1bpp.ico b/image/test/reftest/ico/ico-bmp-1bpp/ico-size-5x5-1bpp.ico
new file mode 100644
index 000000000..52e32df27
--- /dev/null
+++ b/image/test/reftest/ico/ico-bmp-1bpp/ico-size-5x5-1bpp.ico
Binary files differ
diff --git a/image/test/reftest/ico/ico-bmp-1bpp/ico-size-5x5-1bpp.png b/image/test/reftest/ico/ico-bmp-1bpp/ico-size-5x5-1bpp.png
new file mode 100644
index 000000000..caa9246b6
--- /dev/null
+++ b/image/test/reftest/ico/ico-bmp-1bpp/ico-size-5x5-1bpp.png
Binary files differ
diff --git a/image/test/reftest/ico/ico-bmp-1bpp/ico-size-6x6-1bpp.ico b/image/test/reftest/ico/ico-bmp-1bpp/ico-size-6x6-1bpp.ico
new file mode 100644
index 000000000..c29651400
--- /dev/null
+++ b/image/test/reftest/ico/ico-bmp-1bpp/ico-size-6x6-1bpp.ico
Binary files differ
diff --git a/image/test/reftest/ico/ico-bmp-1bpp/ico-size-6x6-1bpp.png b/image/test/reftest/ico/ico-bmp-1bpp/ico-size-6x6-1bpp.png
new file mode 100644
index 000000000..30e1b0249
--- /dev/null
+++ b/image/test/reftest/ico/ico-bmp-1bpp/ico-size-6x6-1bpp.png
Binary files differ
diff --git a/image/test/reftest/ico/ico-bmp-1bpp/ico-size-7x7-1bpp.ico b/image/test/reftest/ico/ico-bmp-1bpp/ico-size-7x7-1bpp.ico
new file mode 100644
index 000000000..8ce9915c4
--- /dev/null
+++ b/image/test/reftest/ico/ico-bmp-1bpp/ico-size-7x7-1bpp.ico
Binary files differ
diff --git a/image/test/reftest/ico/ico-bmp-1bpp/ico-size-7x7-1bpp.png b/image/test/reftest/ico/ico-bmp-1bpp/ico-size-7x7-1bpp.png
new file mode 100644
index 000000000..9dbaae84c
--- /dev/null
+++ b/image/test/reftest/ico/ico-bmp-1bpp/ico-size-7x7-1bpp.png
Binary files differ
diff --git a/image/test/reftest/ico/ico-bmp-1bpp/ico-size-8x8-1bpp.ico b/image/test/reftest/ico/ico-bmp-1bpp/ico-size-8x8-1bpp.ico
new file mode 100644
index 000000000..485dff028
--- /dev/null
+++ b/image/test/reftest/ico/ico-bmp-1bpp/ico-size-8x8-1bpp.ico
Binary files differ
diff --git a/image/test/reftest/ico/ico-bmp-1bpp/ico-size-8x8-1bpp.png b/image/test/reftest/ico/ico-bmp-1bpp/ico-size-8x8-1bpp.png
new file mode 100644
index 000000000..220138840
--- /dev/null
+++ b/image/test/reftest/ico/ico-bmp-1bpp/ico-size-8x8-1bpp.png
Binary files differ
diff --git a/image/test/reftest/ico/ico-bmp-1bpp/ico-size-9x9-1bpp.ico b/image/test/reftest/ico/ico-bmp-1bpp/ico-size-9x9-1bpp.ico
new file mode 100644
index 000000000..38f34ec50
--- /dev/null
+++ b/image/test/reftest/ico/ico-bmp-1bpp/ico-size-9x9-1bpp.ico
Binary files differ
diff --git a/image/test/reftest/ico/ico-bmp-1bpp/ico-size-9x9-1bpp.png b/image/test/reftest/ico/ico-bmp-1bpp/ico-size-9x9-1bpp.png
new file mode 100644
index 000000000..7fe1b548b
--- /dev/null
+++ b/image/test/reftest/ico/ico-bmp-1bpp/ico-size-9x9-1bpp.png
Binary files differ
diff --git a/image/test/reftest/ico/ico-bmp-1bpp/ico-transparent-1bpp.ico b/image/test/reftest/ico/ico-bmp-1bpp/ico-transparent-1bpp.ico
new file mode 100644
index 000000000..8e361306c
--- /dev/null
+++ b/image/test/reftest/ico/ico-bmp-1bpp/ico-transparent-1bpp.ico
Binary files differ
diff --git a/image/test/reftest/ico/ico-bmp-1bpp/ico-transparent-1bpp.png b/image/test/reftest/ico/ico-bmp-1bpp/ico-transparent-1bpp.png
new file mode 100644
index 000000000..062152e3b
--- /dev/null
+++ b/image/test/reftest/ico/ico-bmp-1bpp/ico-transparent-1bpp.png
Binary files differ
diff --git a/image/test/reftest/ico/ico-bmp-1bpp/reftest-stylo.list b/image/test/reftest/ico/ico-bmp-1bpp/reftest-stylo.list
new file mode 100644
index 000000000..43a597e78
--- /dev/null
+++ b/image/test/reftest/ico/ico-bmp-1bpp/reftest-stylo.list
@@ -0,0 +1,25 @@
+# DO NOT EDIT! This is a auto-generated temporary list for Stylo testing
+# ICO BMP 1BPP tests
+
+# Images of various sizes
+== ico-size-1x1-1bpp.ico ico-size-1x1-1bpp.ico
+== ico-size-2x2-1bpp.ico ico-size-2x2-1bpp.ico
+== ico-size-3x3-1bpp.ico ico-size-3x3-1bpp.ico
+== ico-size-4x4-1bpp.ico ico-size-4x4-1bpp.ico
+== ico-size-5x5-1bpp.ico ico-size-5x5-1bpp.ico
+== ico-size-6x6-1bpp.ico ico-size-6x6-1bpp.ico
+== ico-size-7x7-1bpp.ico ico-size-7x7-1bpp.ico
+== ico-size-8x8-1bpp.ico ico-size-8x8-1bpp.ico
+== ico-size-9x9-1bpp.ico ico-size-9x9-1bpp.ico
+== ico-size-15x15-1bpp.ico ico-size-15x15-1bpp.ico
+== ico-size-16x16-1bpp.ico ico-size-16x16-1bpp.ico
+== ico-size-17x17-1bpp.ico ico-size-17x17-1bpp.ico
+== ico-size-31x31-1bpp.ico ico-size-31x31-1bpp.ico
+== ico-size-32x32-1bpp.ico ico-size-32x32-1bpp.ico
+== ico-size-33x33-1bpp.ico ico-size-33x33-1bpp.ico
+skip-if(B2G) == ico-size-256x256-1bpp.ico ico-size-256x256-1bpp.ico
+# bug 773482
+== ico-partial-transparent-1bpp.ico ico-partial-transparent-1bpp.ico
+== ico-transparent-1bpp.ico ico-transparent-1bpp.ico
+== ico-not-square-transparent-1bpp.ico ico-not-square-transparent-1bpp.ico
+
diff --git a/image/test/reftest/ico/ico-bmp-1bpp/reftest.list b/image/test/reftest/ico/ico-bmp-1bpp/reftest.list
new file mode 100644
index 000000000..1b9ca1348
--- /dev/null
+++ b/image/test/reftest/ico/ico-bmp-1bpp/reftest.list
@@ -0,0 +1,23 @@
+# ICO BMP 1BPP tests
+
+# Images of various sizes
+== ico-size-1x1-1bpp.ico ico-size-1x1-1bpp.png
+== ico-size-2x2-1bpp.ico ico-size-2x2-1bpp.png
+== ico-size-3x3-1bpp.ico ico-size-3x3-1bpp.png
+== ico-size-4x4-1bpp.ico ico-size-4x4-1bpp.png
+== ico-size-5x5-1bpp.ico ico-size-5x5-1bpp.png
+== ico-size-6x6-1bpp.ico ico-size-6x6-1bpp.png
+== ico-size-7x7-1bpp.ico ico-size-7x7-1bpp.png
+== ico-size-8x8-1bpp.ico ico-size-8x8-1bpp.png
+== ico-size-9x9-1bpp.ico ico-size-9x9-1bpp.png
+== ico-size-15x15-1bpp.ico ico-size-15x15-1bpp.png
+== ico-size-16x16-1bpp.ico ico-size-16x16-1bpp.png
+== ico-size-17x17-1bpp.ico ico-size-17x17-1bpp.png
+== ico-size-31x31-1bpp.ico ico-size-31x31-1bpp.png
+== ico-size-32x32-1bpp.ico ico-size-32x32-1bpp.png
+== ico-size-33x33-1bpp.ico ico-size-33x33-1bpp.png
+== ico-size-256x256-1bpp.ico ico-size-256x256-1bpp.png
+== ico-partial-transparent-1bpp.ico ico-partial-transparent-1bpp.png
+== ico-transparent-1bpp.ico ico-transparent-1bpp.png
+== ico-not-square-transparent-1bpp.ico ico-not-square-transparent-1bpp.png
+
diff --git a/image/test/reftest/ico/ico-bmp-24bpp/ico-not-square-transparent-24bpp.ico b/image/test/reftest/ico/ico-bmp-24bpp/ico-not-square-transparent-24bpp.ico
new file mode 100644
index 000000000..16d6584ef
--- /dev/null
+++ b/image/test/reftest/ico/ico-bmp-24bpp/ico-not-square-transparent-24bpp.ico
Binary files differ
diff --git a/image/test/reftest/ico/ico-bmp-24bpp/ico-not-square-transparent-24bpp.png b/image/test/reftest/ico/ico-bmp-24bpp/ico-not-square-transparent-24bpp.png
new file mode 100644
index 000000000..a881048b9
--- /dev/null
+++ b/image/test/reftest/ico/ico-bmp-24bpp/ico-not-square-transparent-24bpp.png
Binary files differ
diff --git a/image/test/reftest/ico/ico-bmp-24bpp/ico-partial-transparent-24bpp.ico b/image/test/reftest/ico/ico-bmp-24bpp/ico-partial-transparent-24bpp.ico
new file mode 100644
index 000000000..ab0dc4bce
--- /dev/null
+++ b/image/test/reftest/ico/ico-bmp-24bpp/ico-partial-transparent-24bpp.ico
Binary files differ
diff --git a/image/test/reftest/ico/ico-bmp-24bpp/ico-partial-transparent-24bpp.png b/image/test/reftest/ico/ico-bmp-24bpp/ico-partial-transparent-24bpp.png
new file mode 100644
index 000000000..0363210c7
--- /dev/null
+++ b/image/test/reftest/ico/ico-bmp-24bpp/ico-partial-transparent-24bpp.png
Binary files differ
diff --git a/image/test/reftest/ico/ico-bmp-24bpp/ico-size-15x15-24bpp.ico b/image/test/reftest/ico/ico-bmp-24bpp/ico-size-15x15-24bpp.ico
new file mode 100644
index 000000000..8721b0d16
--- /dev/null
+++ b/image/test/reftest/ico/ico-bmp-24bpp/ico-size-15x15-24bpp.ico
Binary files differ
diff --git a/image/test/reftest/ico/ico-bmp-24bpp/ico-size-15x15-24bpp.png b/image/test/reftest/ico/ico-bmp-24bpp/ico-size-15x15-24bpp.png
new file mode 100644
index 000000000..e1287430d
--- /dev/null
+++ b/image/test/reftest/ico/ico-bmp-24bpp/ico-size-15x15-24bpp.png
Binary files differ
diff --git a/image/test/reftest/ico/ico-bmp-24bpp/ico-size-16x16-24bpp.ico b/image/test/reftest/ico/ico-bmp-24bpp/ico-size-16x16-24bpp.ico
new file mode 100644
index 000000000..04e473618
--- /dev/null
+++ b/image/test/reftest/ico/ico-bmp-24bpp/ico-size-16x16-24bpp.ico
Binary files differ
diff --git a/image/test/reftest/ico/ico-bmp-24bpp/ico-size-16x16-24bpp.png b/image/test/reftest/ico/ico-bmp-24bpp/ico-size-16x16-24bpp.png
new file mode 100644
index 000000000..c04869e72
--- /dev/null
+++ b/image/test/reftest/ico/ico-bmp-24bpp/ico-size-16x16-24bpp.png
Binary files differ
diff --git a/image/test/reftest/ico/ico-bmp-24bpp/ico-size-17x17-24bpp.ico b/image/test/reftest/ico/ico-bmp-24bpp/ico-size-17x17-24bpp.ico
new file mode 100644
index 000000000..308ccb7a6
--- /dev/null
+++ b/image/test/reftest/ico/ico-bmp-24bpp/ico-size-17x17-24bpp.ico
Binary files differ
diff --git a/image/test/reftest/ico/ico-bmp-24bpp/ico-size-17x17-24bpp.png b/image/test/reftest/ico/ico-bmp-24bpp/ico-size-17x17-24bpp.png
new file mode 100644
index 000000000..00fb8e4f3
--- /dev/null
+++ b/image/test/reftest/ico/ico-bmp-24bpp/ico-size-17x17-24bpp.png
Binary files differ
diff --git a/image/test/reftest/ico/ico-bmp-24bpp/ico-size-1x1-24bpp.ico b/image/test/reftest/ico/ico-bmp-24bpp/ico-size-1x1-24bpp.ico
new file mode 100644
index 000000000..e2bf90c09
--- /dev/null
+++ b/image/test/reftest/ico/ico-bmp-24bpp/ico-size-1x1-24bpp.ico
Binary files differ
diff --git a/image/test/reftest/ico/ico-bmp-24bpp/ico-size-1x1-24bpp.png b/image/test/reftest/ico/ico-bmp-24bpp/ico-size-1x1-24bpp.png
new file mode 100644
index 000000000..c05f5fef8
--- /dev/null
+++ b/image/test/reftest/ico/ico-bmp-24bpp/ico-size-1x1-24bpp.png
Binary files differ
diff --git a/image/test/reftest/ico/ico-bmp-24bpp/ico-size-256x256-24bpp.ico b/image/test/reftest/ico/ico-bmp-24bpp/ico-size-256x256-24bpp.ico
new file mode 100644
index 000000000..c3977400a
--- /dev/null
+++ b/image/test/reftest/ico/ico-bmp-24bpp/ico-size-256x256-24bpp.ico
Binary files differ
diff --git a/image/test/reftest/ico/ico-bmp-24bpp/ico-size-256x256-24bpp.png b/image/test/reftest/ico/ico-bmp-24bpp/ico-size-256x256-24bpp.png
new file mode 100644
index 000000000..84bfada76
--- /dev/null
+++ b/image/test/reftest/ico/ico-bmp-24bpp/ico-size-256x256-24bpp.png
Binary files differ
diff --git a/image/test/reftest/ico/ico-bmp-24bpp/ico-size-2x2-24bpp.ico b/image/test/reftest/ico/ico-bmp-24bpp/ico-size-2x2-24bpp.ico
new file mode 100644
index 000000000..dba180a07
--- /dev/null
+++ b/image/test/reftest/ico/ico-bmp-24bpp/ico-size-2x2-24bpp.ico
Binary files differ
diff --git a/image/test/reftest/ico/ico-bmp-24bpp/ico-size-2x2-24bpp.png b/image/test/reftest/ico/ico-bmp-24bpp/ico-size-2x2-24bpp.png
new file mode 100644
index 000000000..e512d3f9b
--- /dev/null
+++ b/image/test/reftest/ico/ico-bmp-24bpp/ico-size-2x2-24bpp.png
Binary files differ
diff --git a/image/test/reftest/ico/ico-bmp-24bpp/ico-size-31x31-24bpp.ico b/image/test/reftest/ico/ico-bmp-24bpp/ico-size-31x31-24bpp.ico
new file mode 100644
index 000000000..aa67502f6
--- /dev/null
+++ b/image/test/reftest/ico/ico-bmp-24bpp/ico-size-31x31-24bpp.ico
Binary files differ
diff --git a/image/test/reftest/ico/ico-bmp-24bpp/ico-size-31x31-24bpp.png b/image/test/reftest/ico/ico-bmp-24bpp/ico-size-31x31-24bpp.png
new file mode 100644
index 000000000..e4a864251
--- /dev/null
+++ b/image/test/reftest/ico/ico-bmp-24bpp/ico-size-31x31-24bpp.png
Binary files differ
diff --git a/image/test/reftest/ico/ico-bmp-24bpp/ico-size-32x32-24bpp.ico b/image/test/reftest/ico/ico-bmp-24bpp/ico-size-32x32-24bpp.ico
new file mode 100644
index 000000000..a85b871c5
--- /dev/null
+++ b/image/test/reftest/ico/ico-bmp-24bpp/ico-size-32x32-24bpp.ico
Binary files differ
diff --git a/image/test/reftest/ico/ico-bmp-24bpp/ico-size-32x32-24bpp.png b/image/test/reftest/ico/ico-bmp-24bpp/ico-size-32x32-24bpp.png
new file mode 100644
index 000000000..3a6fbe8ee
--- /dev/null
+++ b/image/test/reftest/ico/ico-bmp-24bpp/ico-size-32x32-24bpp.png
Binary files differ
diff --git a/image/test/reftest/ico/ico-bmp-24bpp/ico-size-33x33-24bpp.ico b/image/test/reftest/ico/ico-bmp-24bpp/ico-size-33x33-24bpp.ico
new file mode 100644
index 000000000..a5c49374d
--- /dev/null
+++ b/image/test/reftest/ico/ico-bmp-24bpp/ico-size-33x33-24bpp.ico
Binary files differ
diff --git a/image/test/reftest/ico/ico-bmp-24bpp/ico-size-33x33-24bpp.png b/image/test/reftest/ico/ico-bmp-24bpp/ico-size-33x33-24bpp.png
new file mode 100644
index 000000000..72ef7eb63
--- /dev/null
+++ b/image/test/reftest/ico/ico-bmp-24bpp/ico-size-33x33-24bpp.png
Binary files differ
diff --git a/image/test/reftest/ico/ico-bmp-24bpp/ico-size-3x3-24bpp.ico b/image/test/reftest/ico/ico-bmp-24bpp/ico-size-3x3-24bpp.ico
new file mode 100644
index 000000000..8a0b9433f
--- /dev/null
+++ b/image/test/reftest/ico/ico-bmp-24bpp/ico-size-3x3-24bpp.ico
Binary files differ
diff --git a/image/test/reftest/ico/ico-bmp-24bpp/ico-size-3x3-24bpp.png b/image/test/reftest/ico/ico-bmp-24bpp/ico-size-3x3-24bpp.png
new file mode 100644
index 000000000..cb42ec4f8
--- /dev/null
+++ b/image/test/reftest/ico/ico-bmp-24bpp/ico-size-3x3-24bpp.png
Binary files differ
diff --git a/image/test/reftest/ico/ico-bmp-24bpp/ico-size-4x4-24bpp.ico b/image/test/reftest/ico/ico-bmp-24bpp/ico-size-4x4-24bpp.ico
new file mode 100644
index 000000000..feb3f11e1
--- /dev/null
+++ b/image/test/reftest/ico/ico-bmp-24bpp/ico-size-4x4-24bpp.ico
Binary files differ
diff --git a/image/test/reftest/ico/ico-bmp-24bpp/ico-size-4x4-24bpp.png b/image/test/reftest/ico/ico-bmp-24bpp/ico-size-4x4-24bpp.png
new file mode 100644
index 000000000..e6afafd89
--- /dev/null
+++ b/image/test/reftest/ico/ico-bmp-24bpp/ico-size-4x4-24bpp.png
Binary files differ
diff --git a/image/test/reftest/ico/ico-bmp-24bpp/ico-size-5x5-24bpp.ico b/image/test/reftest/ico/ico-bmp-24bpp/ico-size-5x5-24bpp.ico
new file mode 100644
index 000000000..d607ca572
--- /dev/null
+++ b/image/test/reftest/ico/ico-bmp-24bpp/ico-size-5x5-24bpp.ico
Binary files differ
diff --git a/image/test/reftest/ico/ico-bmp-24bpp/ico-size-5x5-24bpp.png b/image/test/reftest/ico/ico-bmp-24bpp/ico-size-5x5-24bpp.png
new file mode 100644
index 000000000..a844aff76
--- /dev/null
+++ b/image/test/reftest/ico/ico-bmp-24bpp/ico-size-5x5-24bpp.png
Binary files differ
diff --git a/image/test/reftest/ico/ico-bmp-24bpp/ico-size-6x6-24bpp.ico b/image/test/reftest/ico/ico-bmp-24bpp/ico-size-6x6-24bpp.ico
new file mode 100644
index 000000000..62a231602
--- /dev/null
+++ b/image/test/reftest/ico/ico-bmp-24bpp/ico-size-6x6-24bpp.ico
Binary files differ
diff --git a/image/test/reftest/ico/ico-bmp-24bpp/ico-size-6x6-24bpp.png b/image/test/reftest/ico/ico-bmp-24bpp/ico-size-6x6-24bpp.png
new file mode 100644
index 000000000..415c2d9c6
--- /dev/null
+++ b/image/test/reftest/ico/ico-bmp-24bpp/ico-size-6x6-24bpp.png
Binary files differ
diff --git a/image/test/reftest/ico/ico-bmp-24bpp/ico-size-7x7-24bpp.ico b/image/test/reftest/ico/ico-bmp-24bpp/ico-size-7x7-24bpp.ico
new file mode 100644
index 000000000..d884ecfd7
--- /dev/null
+++ b/image/test/reftest/ico/ico-bmp-24bpp/ico-size-7x7-24bpp.ico
Binary files differ
diff --git a/image/test/reftest/ico/ico-bmp-24bpp/ico-size-7x7-24bpp.png b/image/test/reftest/ico/ico-bmp-24bpp/ico-size-7x7-24bpp.png
new file mode 100644
index 000000000..ab2f89274
--- /dev/null
+++ b/image/test/reftest/ico/ico-bmp-24bpp/ico-size-7x7-24bpp.png
Binary files differ
diff --git a/image/test/reftest/ico/ico-bmp-24bpp/ico-size-8x8-24bpp.ico b/image/test/reftest/ico/ico-bmp-24bpp/ico-size-8x8-24bpp.ico
new file mode 100644
index 000000000..782ae220d
--- /dev/null
+++ b/image/test/reftest/ico/ico-bmp-24bpp/ico-size-8x8-24bpp.ico
Binary files differ
diff --git a/image/test/reftest/ico/ico-bmp-24bpp/ico-size-8x8-24bpp.png b/image/test/reftest/ico/ico-bmp-24bpp/ico-size-8x8-24bpp.png
new file mode 100644
index 000000000..fe2ff40a1
--- /dev/null
+++ b/image/test/reftest/ico/ico-bmp-24bpp/ico-size-8x8-24bpp.png
Binary files differ
diff --git a/image/test/reftest/ico/ico-bmp-24bpp/ico-size-9x9-24bpp.ico b/image/test/reftest/ico/ico-bmp-24bpp/ico-size-9x9-24bpp.ico
new file mode 100644
index 000000000..97992643b
--- /dev/null
+++ b/image/test/reftest/ico/ico-bmp-24bpp/ico-size-9x9-24bpp.ico
Binary files differ
diff --git a/image/test/reftest/ico/ico-bmp-24bpp/ico-size-9x9-24bpp.png b/image/test/reftest/ico/ico-bmp-24bpp/ico-size-9x9-24bpp.png
new file mode 100644
index 000000000..18ab4b25d
--- /dev/null
+++ b/image/test/reftest/ico/ico-bmp-24bpp/ico-size-9x9-24bpp.png
Binary files differ
diff --git a/image/test/reftest/ico/ico-bmp-24bpp/ico-transparent-24bpp.ico b/image/test/reftest/ico/ico-bmp-24bpp/ico-transparent-24bpp.ico
new file mode 100644
index 000000000..8e361306c
--- /dev/null
+++ b/image/test/reftest/ico/ico-bmp-24bpp/ico-transparent-24bpp.ico
Binary files differ
diff --git a/image/test/reftest/ico/ico-bmp-24bpp/ico-transparent-24bpp.png b/image/test/reftest/ico/ico-bmp-24bpp/ico-transparent-24bpp.png
new file mode 100644
index 000000000..062152e3b
--- /dev/null
+++ b/image/test/reftest/ico/ico-bmp-24bpp/ico-transparent-24bpp.png
Binary files differ
diff --git a/image/test/reftest/ico/ico-bmp-24bpp/reftest-stylo.list b/image/test/reftest/ico/ico-bmp-24bpp/reftest-stylo.list
new file mode 100644
index 000000000..54d8521dc
--- /dev/null
+++ b/image/test/reftest/ico/ico-bmp-24bpp/reftest-stylo.list
@@ -0,0 +1,24 @@
+# DO NOT EDIT! This is a auto-generated temporary list for Stylo testing
+# ICO BMP 24BPP tests
+
+# Images of various sizes
+== ico-size-1x1-24bpp.ico ico-size-1x1-24bpp.ico
+== ico-size-2x2-24bpp.ico ico-size-2x2-24bpp.ico
+== ico-size-3x3-24bpp.ico ico-size-3x3-24bpp.ico
+== ico-size-4x4-24bpp.ico ico-size-4x4-24bpp.ico
+skip == ico-size-5x5-24bpp.ico ico-size-5x5-24bpp.ico
+== ico-size-6x6-24bpp.ico ico-size-6x6-24bpp.ico
+== ico-size-7x7-24bpp.ico ico-size-7x7-24bpp.ico
+== ico-size-8x8-24bpp.ico ico-size-8x8-24bpp.ico
+== ico-size-9x9-24bpp.ico ico-size-9x9-24bpp.ico
+== ico-size-15x15-24bpp.ico ico-size-15x15-24bpp.ico
+== ico-size-16x16-24bpp.ico ico-size-16x16-24bpp.ico
+== ico-size-17x17-24bpp.ico ico-size-17x17-24bpp.ico
+== ico-size-31x31-24bpp.ico ico-size-31x31-24bpp.ico
+fails == ico-size-32x32-24bpp.ico ico-size-32x32-24bpp.ico
+== ico-size-33x33-24bpp.ico ico-size-33x33-24bpp.ico
+== ico-size-256x256-24bpp.ico ico-size-256x256-24bpp.ico
+== ico-partial-transparent-24bpp.ico ico-partial-transparent-24bpp.ico
+== ico-transparent-24bpp.ico ico-transparent-24bpp.ico
+== ico-not-square-transparent-24bpp.ico ico-not-square-transparent-24bpp.ico
+
diff --git a/image/test/reftest/ico/ico-bmp-24bpp/reftest.list b/image/test/reftest/ico/ico-bmp-24bpp/reftest.list
new file mode 100644
index 000000000..877293660
--- /dev/null
+++ b/image/test/reftest/ico/ico-bmp-24bpp/reftest.list
@@ -0,0 +1,23 @@
+# ICO BMP 24BPP tests
+
+# Images of various sizes
+== ico-size-1x1-24bpp.ico ico-size-1x1-24bpp.png
+== ico-size-2x2-24bpp.ico ico-size-2x2-24bpp.png
+== ico-size-3x3-24bpp.ico ico-size-3x3-24bpp.png
+== ico-size-4x4-24bpp.ico ico-size-4x4-24bpp.png
+== ico-size-5x5-24bpp.ico ico-size-5x5-24bpp.png
+== ico-size-6x6-24bpp.ico ico-size-6x6-24bpp.png
+== ico-size-7x7-24bpp.ico ico-size-7x7-24bpp.png
+== ico-size-8x8-24bpp.ico ico-size-8x8-24bpp.png
+== ico-size-9x9-24bpp.ico ico-size-9x9-24bpp.png
+== ico-size-15x15-24bpp.ico ico-size-15x15-24bpp.png
+== ico-size-16x16-24bpp.ico ico-size-16x16-24bpp.png
+== ico-size-17x17-24bpp.ico ico-size-17x17-24bpp.png
+== ico-size-31x31-24bpp.ico ico-size-31x31-24bpp.png
+== ico-size-32x32-24bpp.ico ico-size-32x32-24bpp.png
+== ico-size-33x33-24bpp.ico ico-size-33x33-24bpp.png
+== ico-size-256x256-24bpp.ico ico-size-256x256-24bpp.png
+== ico-partial-transparent-24bpp.ico ico-partial-transparent-24bpp.png
+== ico-transparent-24bpp.ico ico-transparent-24bpp.png
+== ico-not-square-transparent-24bpp.ico ico-not-square-transparent-24bpp.png
+
diff --git a/image/test/reftest/ico/ico-bmp-32bpp/ico-not-square-transparent-32bpp.ico b/image/test/reftest/ico/ico-bmp-32bpp/ico-not-square-transparent-32bpp.ico
new file mode 100644
index 000000000..dd0299c41
--- /dev/null
+++ b/image/test/reftest/ico/ico-bmp-32bpp/ico-not-square-transparent-32bpp.ico
Binary files differ
diff --git a/image/test/reftest/ico/ico-bmp-32bpp/ico-not-square-transparent-32bpp.png b/image/test/reftest/ico/ico-bmp-32bpp/ico-not-square-transparent-32bpp.png
new file mode 100644
index 000000000..befc66555
--- /dev/null
+++ b/image/test/reftest/ico/ico-bmp-32bpp/ico-not-square-transparent-32bpp.png
Binary files differ
diff --git a/image/test/reftest/ico/ico-bmp-32bpp/ico-partial-transparent-32bpp.ico b/image/test/reftest/ico/ico-bmp-32bpp/ico-partial-transparent-32bpp.ico
new file mode 100644
index 000000000..8ad62f7d0
--- /dev/null
+++ b/image/test/reftest/ico/ico-bmp-32bpp/ico-partial-transparent-32bpp.ico
Binary files differ
diff --git a/image/test/reftest/ico/ico-bmp-32bpp/ico-partial-transparent-32bpp.png b/image/test/reftest/ico/ico-bmp-32bpp/ico-partial-transparent-32bpp.png
new file mode 100644
index 000000000..226ad6494
--- /dev/null
+++ b/image/test/reftest/ico/ico-bmp-32bpp/ico-partial-transparent-32bpp.png
Binary files differ
diff --git a/image/test/reftest/ico/ico-bmp-32bpp/ico-size-15x15-32bpp.ico b/image/test/reftest/ico/ico-bmp-32bpp/ico-size-15x15-32bpp.ico
new file mode 100644
index 000000000..1f1b6b51c
--- /dev/null
+++ b/image/test/reftest/ico/ico-bmp-32bpp/ico-size-15x15-32bpp.ico
Binary files differ
diff --git a/image/test/reftest/ico/ico-bmp-32bpp/ico-size-15x15-32bpp.png b/image/test/reftest/ico/ico-bmp-32bpp/ico-size-15x15-32bpp.png
new file mode 100644
index 000000000..e1287430d
--- /dev/null
+++ b/image/test/reftest/ico/ico-bmp-32bpp/ico-size-15x15-32bpp.png
Binary files differ
diff --git a/image/test/reftest/ico/ico-bmp-32bpp/ico-size-16x16-32bpp.ico b/image/test/reftest/ico/ico-bmp-32bpp/ico-size-16x16-32bpp.ico
new file mode 100644
index 000000000..7a8f01529
--- /dev/null
+++ b/image/test/reftest/ico/ico-bmp-32bpp/ico-size-16x16-32bpp.ico
Binary files differ
diff --git a/image/test/reftest/ico/ico-bmp-32bpp/ico-size-16x16-32bpp.png b/image/test/reftest/ico/ico-bmp-32bpp/ico-size-16x16-32bpp.png
new file mode 100644
index 000000000..c04869e72
--- /dev/null
+++ b/image/test/reftest/ico/ico-bmp-32bpp/ico-size-16x16-32bpp.png
Binary files differ
diff --git a/image/test/reftest/ico/ico-bmp-32bpp/ico-size-17x17-32bpp.ico b/image/test/reftest/ico/ico-bmp-32bpp/ico-size-17x17-32bpp.ico
new file mode 100644
index 000000000..b92860be4
--- /dev/null
+++ b/image/test/reftest/ico/ico-bmp-32bpp/ico-size-17x17-32bpp.ico
Binary files differ
diff --git a/image/test/reftest/ico/ico-bmp-32bpp/ico-size-17x17-32bpp.png b/image/test/reftest/ico/ico-bmp-32bpp/ico-size-17x17-32bpp.png
new file mode 100644
index 000000000..00fb8e4f3
--- /dev/null
+++ b/image/test/reftest/ico/ico-bmp-32bpp/ico-size-17x17-32bpp.png
Binary files differ
diff --git a/image/test/reftest/ico/ico-bmp-32bpp/ico-size-1x1-32bpp.ico b/image/test/reftest/ico/ico-bmp-32bpp/ico-size-1x1-32bpp.ico
new file mode 100644
index 000000000..5ad60c575
--- /dev/null
+++ b/image/test/reftest/ico/ico-bmp-32bpp/ico-size-1x1-32bpp.ico
Binary files differ
diff --git a/image/test/reftest/ico/ico-bmp-32bpp/ico-size-1x1-32bpp.png b/image/test/reftest/ico/ico-bmp-32bpp/ico-size-1x1-32bpp.png
new file mode 100644
index 000000000..c05f5fef8
--- /dev/null
+++ b/image/test/reftest/ico/ico-bmp-32bpp/ico-size-1x1-32bpp.png
Binary files differ
diff --git a/image/test/reftest/ico/ico-bmp-32bpp/ico-size-256x256-32bpp.ico b/image/test/reftest/ico/ico-bmp-32bpp/ico-size-256x256-32bpp.ico
new file mode 100644
index 000000000..f8b530ef0
--- /dev/null
+++ b/image/test/reftest/ico/ico-bmp-32bpp/ico-size-256x256-32bpp.ico
Binary files differ
diff --git a/image/test/reftest/ico/ico-bmp-32bpp/ico-size-256x256-32bpp.png b/image/test/reftest/ico/ico-bmp-32bpp/ico-size-256x256-32bpp.png
new file mode 100644
index 000000000..84bfada76
--- /dev/null
+++ b/image/test/reftest/ico/ico-bmp-32bpp/ico-size-256x256-32bpp.png
Binary files differ
diff --git a/image/test/reftest/ico/ico-bmp-32bpp/ico-size-2x2-32bpp.ico b/image/test/reftest/ico/ico-bmp-32bpp/ico-size-2x2-32bpp.ico
new file mode 100644
index 000000000..e5b2bf7e7
--- /dev/null
+++ b/image/test/reftest/ico/ico-bmp-32bpp/ico-size-2x2-32bpp.ico
Binary files differ
diff --git a/image/test/reftest/ico/ico-bmp-32bpp/ico-size-2x2-32bpp.png b/image/test/reftest/ico/ico-bmp-32bpp/ico-size-2x2-32bpp.png
new file mode 100644
index 000000000..e512d3f9b
--- /dev/null
+++ b/image/test/reftest/ico/ico-bmp-32bpp/ico-size-2x2-32bpp.png
Binary files differ
diff --git a/image/test/reftest/ico/ico-bmp-32bpp/ico-size-31x31-32bpp.ico b/image/test/reftest/ico/ico-bmp-32bpp/ico-size-31x31-32bpp.ico
new file mode 100644
index 000000000..ddcbde85f
--- /dev/null
+++ b/image/test/reftest/ico/ico-bmp-32bpp/ico-size-31x31-32bpp.ico
Binary files differ
diff --git a/image/test/reftest/ico/ico-bmp-32bpp/ico-size-31x31-32bpp.png b/image/test/reftest/ico/ico-bmp-32bpp/ico-size-31x31-32bpp.png
new file mode 100644
index 000000000..e4a864251
--- /dev/null
+++ b/image/test/reftest/ico/ico-bmp-32bpp/ico-size-31x31-32bpp.png
Binary files differ
diff --git a/image/test/reftest/ico/ico-bmp-32bpp/ico-size-32x32-32bpp.ico b/image/test/reftest/ico/ico-bmp-32bpp/ico-size-32x32-32bpp.ico
new file mode 100644
index 000000000..a89c01648
--- /dev/null
+++ b/image/test/reftest/ico/ico-bmp-32bpp/ico-size-32x32-32bpp.ico
Binary files differ
diff --git a/image/test/reftest/ico/ico-bmp-32bpp/ico-size-32x32-32bpp.png b/image/test/reftest/ico/ico-bmp-32bpp/ico-size-32x32-32bpp.png
new file mode 100644
index 000000000..3a6fbe8ee
--- /dev/null
+++ b/image/test/reftest/ico/ico-bmp-32bpp/ico-size-32x32-32bpp.png
Binary files differ
diff --git a/image/test/reftest/ico/ico-bmp-32bpp/ico-size-33x33-32bpp.ico b/image/test/reftest/ico/ico-bmp-32bpp/ico-size-33x33-32bpp.ico
new file mode 100644
index 000000000..cda9133f8
--- /dev/null
+++ b/image/test/reftest/ico/ico-bmp-32bpp/ico-size-33x33-32bpp.ico
Binary files differ
diff --git a/image/test/reftest/ico/ico-bmp-32bpp/ico-size-33x33-32bpp.png b/image/test/reftest/ico/ico-bmp-32bpp/ico-size-33x33-32bpp.png
new file mode 100644
index 000000000..72ef7eb63
--- /dev/null
+++ b/image/test/reftest/ico/ico-bmp-32bpp/ico-size-33x33-32bpp.png
Binary files differ
diff --git a/image/test/reftest/ico/ico-bmp-32bpp/ico-size-3x3-32bpp.ico b/image/test/reftest/ico/ico-bmp-32bpp/ico-size-3x3-32bpp.ico
new file mode 100644
index 000000000..3894ccf21
--- /dev/null
+++ b/image/test/reftest/ico/ico-bmp-32bpp/ico-size-3x3-32bpp.ico
Binary files differ
diff --git a/image/test/reftest/ico/ico-bmp-32bpp/ico-size-3x3-32bpp.png b/image/test/reftest/ico/ico-bmp-32bpp/ico-size-3x3-32bpp.png
new file mode 100644
index 000000000..cb42ec4f8
--- /dev/null
+++ b/image/test/reftest/ico/ico-bmp-32bpp/ico-size-3x3-32bpp.png
Binary files differ
diff --git a/image/test/reftest/ico/ico-bmp-32bpp/ico-size-4x4-32bpp.ico b/image/test/reftest/ico/ico-bmp-32bpp/ico-size-4x4-32bpp.ico
new file mode 100644
index 000000000..828494c66
--- /dev/null
+++ b/image/test/reftest/ico/ico-bmp-32bpp/ico-size-4x4-32bpp.ico
Binary files differ
diff --git a/image/test/reftest/ico/ico-bmp-32bpp/ico-size-4x4-32bpp.png b/image/test/reftest/ico/ico-bmp-32bpp/ico-size-4x4-32bpp.png
new file mode 100644
index 000000000..e6afafd89
--- /dev/null
+++ b/image/test/reftest/ico/ico-bmp-32bpp/ico-size-4x4-32bpp.png
Binary files differ
diff --git a/image/test/reftest/ico/ico-bmp-32bpp/ico-size-5x5-32bpp.ico b/image/test/reftest/ico/ico-bmp-32bpp/ico-size-5x5-32bpp.ico
new file mode 100644
index 000000000..4f0a2bcc7
--- /dev/null
+++ b/image/test/reftest/ico/ico-bmp-32bpp/ico-size-5x5-32bpp.ico
Binary files differ
diff --git a/image/test/reftest/ico/ico-bmp-32bpp/ico-size-5x5-32bpp.png b/image/test/reftest/ico/ico-bmp-32bpp/ico-size-5x5-32bpp.png
new file mode 100644
index 000000000..a844aff76
--- /dev/null
+++ b/image/test/reftest/ico/ico-bmp-32bpp/ico-size-5x5-32bpp.png
Binary files differ
diff --git a/image/test/reftest/ico/ico-bmp-32bpp/ico-size-6x6-32bpp.ico b/image/test/reftest/ico/ico-bmp-32bpp/ico-size-6x6-32bpp.ico
new file mode 100644
index 000000000..5524769e6
--- /dev/null
+++ b/image/test/reftest/ico/ico-bmp-32bpp/ico-size-6x6-32bpp.ico
Binary files differ
diff --git a/image/test/reftest/ico/ico-bmp-32bpp/ico-size-6x6-32bpp.png b/image/test/reftest/ico/ico-bmp-32bpp/ico-size-6x6-32bpp.png
new file mode 100644
index 000000000..415c2d9c6
--- /dev/null
+++ b/image/test/reftest/ico/ico-bmp-32bpp/ico-size-6x6-32bpp.png
Binary files differ
diff --git a/image/test/reftest/ico/ico-bmp-32bpp/ico-size-7x7-32bpp.ico b/image/test/reftest/ico/ico-bmp-32bpp/ico-size-7x7-32bpp.ico
new file mode 100644
index 000000000..6aeebb898
--- /dev/null
+++ b/image/test/reftest/ico/ico-bmp-32bpp/ico-size-7x7-32bpp.ico
Binary files differ
diff --git a/image/test/reftest/ico/ico-bmp-32bpp/ico-size-7x7-32bpp.png b/image/test/reftest/ico/ico-bmp-32bpp/ico-size-7x7-32bpp.png
new file mode 100644
index 000000000..ab2f89274
--- /dev/null
+++ b/image/test/reftest/ico/ico-bmp-32bpp/ico-size-7x7-32bpp.png
Binary files differ
diff --git a/image/test/reftest/ico/ico-bmp-32bpp/ico-size-8x8-32bpp.ico b/image/test/reftest/ico/ico-bmp-32bpp/ico-size-8x8-32bpp.ico
new file mode 100644
index 000000000..824c744a2
--- /dev/null
+++ b/image/test/reftest/ico/ico-bmp-32bpp/ico-size-8x8-32bpp.ico
Binary files differ
diff --git a/image/test/reftest/ico/ico-bmp-32bpp/ico-size-8x8-32bpp.png b/image/test/reftest/ico/ico-bmp-32bpp/ico-size-8x8-32bpp.png
new file mode 100644
index 000000000..fe2ff40a1
--- /dev/null
+++ b/image/test/reftest/ico/ico-bmp-32bpp/ico-size-8x8-32bpp.png
Binary files differ
diff --git a/image/test/reftest/ico/ico-bmp-32bpp/ico-size-9x9-32bpp.ico b/image/test/reftest/ico/ico-bmp-32bpp/ico-size-9x9-32bpp.ico
new file mode 100644
index 000000000..cf1f6e9c8
--- /dev/null
+++ b/image/test/reftest/ico/ico-bmp-32bpp/ico-size-9x9-32bpp.ico
Binary files differ
diff --git a/image/test/reftest/ico/ico-bmp-32bpp/ico-size-9x9-32bpp.png b/image/test/reftest/ico/ico-bmp-32bpp/ico-size-9x9-32bpp.png
new file mode 100644
index 000000000..18ab4b25d
--- /dev/null
+++ b/image/test/reftest/ico/ico-bmp-32bpp/ico-size-9x9-32bpp.png
Binary files differ
diff --git a/image/test/reftest/ico/ico-bmp-32bpp/ico-transparent-32bpp.ico b/image/test/reftest/ico/ico-bmp-32bpp/ico-transparent-32bpp.ico
new file mode 100644
index 000000000..151b7cb36
--- /dev/null
+++ b/image/test/reftest/ico/ico-bmp-32bpp/ico-transparent-32bpp.ico
Binary files differ
diff --git a/image/test/reftest/ico/ico-bmp-32bpp/ico-transparent-32bpp.png b/image/test/reftest/ico/ico-bmp-32bpp/ico-transparent-32bpp.png
new file mode 100644
index 000000000..062152e3b
--- /dev/null
+++ b/image/test/reftest/ico/ico-bmp-32bpp/ico-transparent-32bpp.png
Binary files differ
diff --git a/image/test/reftest/ico/ico-bmp-32bpp/reftest-stylo.list b/image/test/reftest/ico/ico-bmp-32bpp/reftest-stylo.list
new file mode 100644
index 000000000..3ee7e7b00
--- /dev/null
+++ b/image/test/reftest/ico/ico-bmp-32bpp/reftest-stylo.list
@@ -0,0 +1,23 @@
+# DO NOT EDIT! This is a auto-generated temporary list for Stylo testing
+# ICO BMP 32BPP tests
+
+# Images of various sizes
+== ico-size-1x1-32bpp.ico ico-size-1x1-32bpp.ico
+== ico-size-2x2-32bpp.ico ico-size-2x2-32bpp.ico
+== ico-size-3x3-32bpp.ico ico-size-3x3-32bpp.ico
+== ico-size-4x4-32bpp.ico ico-size-4x4-32bpp.ico
+== ico-size-5x5-32bpp.ico ico-size-5x5-32bpp.ico
+== ico-size-6x6-32bpp.ico ico-size-6x6-32bpp.ico
+== ico-size-7x7-32bpp.ico ico-size-7x7-32bpp.ico
+== ico-size-8x8-32bpp.ico ico-size-8x8-32bpp.ico
+== ico-size-9x9-32bpp.ico ico-size-9x9-32bpp.ico
+== ico-size-15x15-32bpp.ico ico-size-15x15-32bpp.ico
+== ico-size-16x16-32bpp.ico ico-size-16x16-32bpp.ico
+== ico-size-17x17-32bpp.ico ico-size-17x17-32bpp.ico
+== ico-size-31x31-32bpp.ico ico-size-31x31-32bpp.ico
+== ico-size-32x32-32bpp.ico ico-size-32x32-32bpp.ico
+== ico-size-33x33-32bpp.ico ico-size-33x33-32bpp.ico
+== ico-size-256x256-32bpp.ico ico-size-256x256-32bpp.ico
+== ico-partial-transparent-32bpp.ico ico-partial-transparent-32bpp.ico
+== ico-transparent-32bpp.ico ico-transparent-32bpp.ico
+== ico-not-square-transparent-32bpp.ico ico-not-square-transparent-32bpp.ico
diff --git a/image/test/reftest/ico/ico-bmp-32bpp/reftest.list b/image/test/reftest/ico/ico-bmp-32bpp/reftest.list
new file mode 100644
index 000000000..e05355a2b
--- /dev/null
+++ b/image/test/reftest/ico/ico-bmp-32bpp/reftest.list
@@ -0,0 +1,22 @@
+# ICO BMP 32BPP tests
+
+# Images of various sizes
+== ico-size-1x1-32bpp.ico ico-size-1x1-32bpp.png
+== ico-size-2x2-32bpp.ico ico-size-2x2-32bpp.png
+== ico-size-3x3-32bpp.ico ico-size-3x3-32bpp.png
+== ico-size-4x4-32bpp.ico ico-size-4x4-32bpp.png
+== ico-size-5x5-32bpp.ico ico-size-5x5-32bpp.png
+== ico-size-6x6-32bpp.ico ico-size-6x6-32bpp.png
+== ico-size-7x7-32bpp.ico ico-size-7x7-32bpp.png
+== ico-size-8x8-32bpp.ico ico-size-8x8-32bpp.png
+== ico-size-9x9-32bpp.ico ico-size-9x9-32bpp.png
+== ico-size-15x15-32bpp.ico ico-size-15x15-32bpp.png
+== ico-size-16x16-32bpp.ico ico-size-16x16-32bpp.png
+== ico-size-17x17-32bpp.ico ico-size-17x17-32bpp.png
+== ico-size-31x31-32bpp.ico ico-size-31x31-32bpp.png
+== ico-size-32x32-32bpp.ico ico-size-32x32-32bpp.png
+== ico-size-33x33-32bpp.ico ico-size-33x33-32bpp.png
+== ico-size-256x256-32bpp.ico ico-size-256x256-32bpp.png
+== ico-partial-transparent-32bpp.ico ico-partial-transparent-32bpp.png
+== ico-transparent-32bpp.ico ico-transparent-32bpp.png
+== ico-not-square-transparent-32bpp.ico ico-not-square-transparent-32bpp.png
diff --git a/image/test/reftest/ico/ico-bmp-4bpp/ico-not-square-transparent-4bpp.ico b/image/test/reftest/ico/ico-bmp-4bpp/ico-not-square-transparent-4bpp.ico
new file mode 100644
index 000000000..d502d2ef6
--- /dev/null
+++ b/image/test/reftest/ico/ico-bmp-4bpp/ico-not-square-transparent-4bpp.ico
Binary files differ
diff --git a/image/test/reftest/ico/ico-bmp-4bpp/ico-not-square-transparent-4bpp.png b/image/test/reftest/ico/ico-bmp-4bpp/ico-not-square-transparent-4bpp.png
new file mode 100644
index 000000000..3e556ad29
--- /dev/null
+++ b/image/test/reftest/ico/ico-bmp-4bpp/ico-not-square-transparent-4bpp.png
Binary files differ
diff --git a/image/test/reftest/ico/ico-bmp-4bpp/ico-partial-transparent-4bpp.ico b/image/test/reftest/ico/ico-bmp-4bpp/ico-partial-transparent-4bpp.ico
new file mode 100644
index 000000000..7bd3b8a69
--- /dev/null
+++ b/image/test/reftest/ico/ico-bmp-4bpp/ico-partial-transparent-4bpp.ico
Binary files differ
diff --git a/image/test/reftest/ico/ico-bmp-4bpp/ico-partial-transparent-4bpp.png b/image/test/reftest/ico/ico-bmp-4bpp/ico-partial-transparent-4bpp.png
new file mode 100644
index 000000000..9ff0ce41f
--- /dev/null
+++ b/image/test/reftest/ico/ico-bmp-4bpp/ico-partial-transparent-4bpp.png
Binary files differ
diff --git a/image/test/reftest/ico/ico-bmp-4bpp/ico-size-15x15-4bpp.ico b/image/test/reftest/ico/ico-bmp-4bpp/ico-size-15x15-4bpp.ico
new file mode 100644
index 000000000..de5c49e2a
--- /dev/null
+++ b/image/test/reftest/ico/ico-bmp-4bpp/ico-size-15x15-4bpp.ico
Binary files differ
diff --git a/image/test/reftest/ico/ico-bmp-4bpp/ico-size-15x15-4bpp.png b/image/test/reftest/ico/ico-bmp-4bpp/ico-size-15x15-4bpp.png
new file mode 100644
index 000000000..5d4a3f953
--- /dev/null
+++ b/image/test/reftest/ico/ico-bmp-4bpp/ico-size-15x15-4bpp.png
Binary files differ
diff --git a/image/test/reftest/ico/ico-bmp-4bpp/ico-size-16x16-4bpp.ico b/image/test/reftest/ico/ico-bmp-4bpp/ico-size-16x16-4bpp.ico
new file mode 100644
index 000000000..b856b3f37
--- /dev/null
+++ b/image/test/reftest/ico/ico-bmp-4bpp/ico-size-16x16-4bpp.ico
Binary files differ
diff --git a/image/test/reftest/ico/ico-bmp-4bpp/ico-size-16x16-4bpp.png b/image/test/reftest/ico/ico-bmp-4bpp/ico-size-16x16-4bpp.png
new file mode 100644
index 000000000..d45d63f53
--- /dev/null
+++ b/image/test/reftest/ico/ico-bmp-4bpp/ico-size-16x16-4bpp.png
Binary files differ
diff --git a/image/test/reftest/ico/ico-bmp-4bpp/ico-size-17x17-4bpp.ico b/image/test/reftest/ico/ico-bmp-4bpp/ico-size-17x17-4bpp.ico
new file mode 100644
index 000000000..44e055d2f
--- /dev/null
+++ b/image/test/reftest/ico/ico-bmp-4bpp/ico-size-17x17-4bpp.ico
Binary files differ
diff --git a/image/test/reftest/ico/ico-bmp-4bpp/ico-size-17x17-4bpp.png b/image/test/reftest/ico/ico-bmp-4bpp/ico-size-17x17-4bpp.png
new file mode 100644
index 000000000..bf4890329
--- /dev/null
+++ b/image/test/reftest/ico/ico-bmp-4bpp/ico-size-17x17-4bpp.png
Binary files differ
diff --git a/image/test/reftest/ico/ico-bmp-4bpp/ico-size-1x1-4bpp.ico b/image/test/reftest/ico/ico-bmp-4bpp/ico-size-1x1-4bpp.ico
new file mode 100644
index 000000000..fd46c328d
--- /dev/null
+++ b/image/test/reftest/ico/ico-bmp-4bpp/ico-size-1x1-4bpp.ico
Binary files differ
diff --git a/image/test/reftest/ico/ico-bmp-4bpp/ico-size-1x1-4bpp.png b/image/test/reftest/ico/ico-bmp-4bpp/ico-size-1x1-4bpp.png
new file mode 100644
index 000000000..d41dd645b
--- /dev/null
+++ b/image/test/reftest/ico/ico-bmp-4bpp/ico-size-1x1-4bpp.png
Binary files differ
diff --git a/image/test/reftest/ico/ico-bmp-4bpp/ico-size-256x256-4bpp.ico b/image/test/reftest/ico/ico-bmp-4bpp/ico-size-256x256-4bpp.ico
new file mode 100644
index 000000000..6d28edaa8
--- /dev/null
+++ b/image/test/reftest/ico/ico-bmp-4bpp/ico-size-256x256-4bpp.ico
Binary files differ
diff --git a/image/test/reftest/ico/ico-bmp-4bpp/ico-size-256x256-4bpp.png b/image/test/reftest/ico/ico-bmp-4bpp/ico-size-256x256-4bpp.png
new file mode 100644
index 000000000..3acdef830
--- /dev/null
+++ b/image/test/reftest/ico/ico-bmp-4bpp/ico-size-256x256-4bpp.png
Binary files differ
diff --git a/image/test/reftest/ico/ico-bmp-4bpp/ico-size-2x2-4bpp.ico b/image/test/reftest/ico/ico-bmp-4bpp/ico-size-2x2-4bpp.ico
new file mode 100644
index 000000000..7dc4afde6
--- /dev/null
+++ b/image/test/reftest/ico/ico-bmp-4bpp/ico-size-2x2-4bpp.ico
Binary files differ
diff --git a/image/test/reftest/ico/ico-bmp-4bpp/ico-size-2x2-4bpp.png b/image/test/reftest/ico/ico-bmp-4bpp/ico-size-2x2-4bpp.png
new file mode 100644
index 000000000..b2d605041
--- /dev/null
+++ b/image/test/reftest/ico/ico-bmp-4bpp/ico-size-2x2-4bpp.png
Binary files differ
diff --git a/image/test/reftest/ico/ico-bmp-4bpp/ico-size-31x31-4bpp.ico b/image/test/reftest/ico/ico-bmp-4bpp/ico-size-31x31-4bpp.ico
new file mode 100644
index 000000000..0471332d6
--- /dev/null
+++ b/image/test/reftest/ico/ico-bmp-4bpp/ico-size-31x31-4bpp.ico
Binary files differ
diff --git a/image/test/reftest/ico/ico-bmp-4bpp/ico-size-31x31-4bpp.png b/image/test/reftest/ico/ico-bmp-4bpp/ico-size-31x31-4bpp.png
new file mode 100644
index 000000000..cb12a3448
--- /dev/null
+++ b/image/test/reftest/ico/ico-bmp-4bpp/ico-size-31x31-4bpp.png
Binary files differ
diff --git a/image/test/reftest/ico/ico-bmp-4bpp/ico-size-32x32-4bpp.ico b/image/test/reftest/ico/ico-bmp-4bpp/ico-size-32x32-4bpp.ico
new file mode 100644
index 000000000..ef005dc5b
--- /dev/null
+++ b/image/test/reftest/ico/ico-bmp-4bpp/ico-size-32x32-4bpp.ico
Binary files differ
diff --git a/image/test/reftest/ico/ico-bmp-4bpp/ico-size-32x32-4bpp.png b/image/test/reftest/ico/ico-bmp-4bpp/ico-size-32x32-4bpp.png
new file mode 100644
index 000000000..58d867d12
--- /dev/null
+++ b/image/test/reftest/ico/ico-bmp-4bpp/ico-size-32x32-4bpp.png
Binary files differ
diff --git a/image/test/reftest/ico/ico-bmp-4bpp/ico-size-33x33-4bpp.ico b/image/test/reftest/ico/ico-bmp-4bpp/ico-size-33x33-4bpp.ico
new file mode 100644
index 000000000..4c71963a4
--- /dev/null
+++ b/image/test/reftest/ico/ico-bmp-4bpp/ico-size-33x33-4bpp.ico
Binary files differ
diff --git a/image/test/reftest/ico/ico-bmp-4bpp/ico-size-33x33-4bpp.png b/image/test/reftest/ico/ico-bmp-4bpp/ico-size-33x33-4bpp.png
new file mode 100644
index 000000000..064fde198
--- /dev/null
+++ b/image/test/reftest/ico/ico-bmp-4bpp/ico-size-33x33-4bpp.png
Binary files differ
diff --git a/image/test/reftest/ico/ico-bmp-4bpp/ico-size-3x3-4bpp.ico b/image/test/reftest/ico/ico-bmp-4bpp/ico-size-3x3-4bpp.ico
new file mode 100644
index 000000000..aaa6350e9
--- /dev/null
+++ b/image/test/reftest/ico/ico-bmp-4bpp/ico-size-3x3-4bpp.ico
Binary files differ
diff --git a/image/test/reftest/ico/ico-bmp-4bpp/ico-size-3x3-4bpp.png b/image/test/reftest/ico/ico-bmp-4bpp/ico-size-3x3-4bpp.png
new file mode 100644
index 000000000..e34114d5c
--- /dev/null
+++ b/image/test/reftest/ico/ico-bmp-4bpp/ico-size-3x3-4bpp.png
Binary files differ
diff --git a/image/test/reftest/ico/ico-bmp-4bpp/ico-size-4x4-4bpp.ico b/image/test/reftest/ico/ico-bmp-4bpp/ico-size-4x4-4bpp.ico
new file mode 100644
index 000000000..767bebed4
--- /dev/null
+++ b/image/test/reftest/ico/ico-bmp-4bpp/ico-size-4x4-4bpp.ico
Binary files differ
diff --git a/image/test/reftest/ico/ico-bmp-4bpp/ico-size-4x4-4bpp.png b/image/test/reftest/ico/ico-bmp-4bpp/ico-size-4x4-4bpp.png
new file mode 100644
index 000000000..3efa55562
--- /dev/null
+++ b/image/test/reftest/ico/ico-bmp-4bpp/ico-size-4x4-4bpp.png
Binary files differ
diff --git a/image/test/reftest/ico/ico-bmp-4bpp/ico-size-5x5-4bpp.ico b/image/test/reftest/ico/ico-bmp-4bpp/ico-size-5x5-4bpp.ico
new file mode 100644
index 000000000..309b6fe5b
--- /dev/null
+++ b/image/test/reftest/ico/ico-bmp-4bpp/ico-size-5x5-4bpp.ico
Binary files differ
diff --git a/image/test/reftest/ico/ico-bmp-4bpp/ico-size-5x5-4bpp.png b/image/test/reftest/ico/ico-bmp-4bpp/ico-size-5x5-4bpp.png
new file mode 100644
index 000000000..02ebf57a5
--- /dev/null
+++ b/image/test/reftest/ico/ico-bmp-4bpp/ico-size-5x5-4bpp.png
Binary files differ
diff --git a/image/test/reftest/ico/ico-bmp-4bpp/ico-size-6x6-4bpp.ico b/image/test/reftest/ico/ico-bmp-4bpp/ico-size-6x6-4bpp.ico
new file mode 100644
index 000000000..255fda6a8
--- /dev/null
+++ b/image/test/reftest/ico/ico-bmp-4bpp/ico-size-6x6-4bpp.ico
Binary files differ
diff --git a/image/test/reftest/ico/ico-bmp-4bpp/ico-size-6x6-4bpp.png b/image/test/reftest/ico/ico-bmp-4bpp/ico-size-6x6-4bpp.png
new file mode 100644
index 000000000..1f5769d09
--- /dev/null
+++ b/image/test/reftest/ico/ico-bmp-4bpp/ico-size-6x6-4bpp.png
Binary files differ
diff --git a/image/test/reftest/ico/ico-bmp-4bpp/ico-size-7x7-4bpp.ico b/image/test/reftest/ico/ico-bmp-4bpp/ico-size-7x7-4bpp.ico
new file mode 100644
index 000000000..1a3963452
--- /dev/null
+++ b/image/test/reftest/ico/ico-bmp-4bpp/ico-size-7x7-4bpp.ico
Binary files differ
diff --git a/image/test/reftest/ico/ico-bmp-4bpp/ico-size-7x7-4bpp.png b/image/test/reftest/ico/ico-bmp-4bpp/ico-size-7x7-4bpp.png
new file mode 100644
index 000000000..59a1b98b5
--- /dev/null
+++ b/image/test/reftest/ico/ico-bmp-4bpp/ico-size-7x7-4bpp.png
Binary files differ
diff --git a/image/test/reftest/ico/ico-bmp-4bpp/ico-size-8x8-4bpp.ico b/image/test/reftest/ico/ico-bmp-4bpp/ico-size-8x8-4bpp.ico
new file mode 100644
index 000000000..40bc9f893
--- /dev/null
+++ b/image/test/reftest/ico/ico-bmp-4bpp/ico-size-8x8-4bpp.ico
Binary files differ
diff --git a/image/test/reftest/ico/ico-bmp-4bpp/ico-size-8x8-4bpp.png b/image/test/reftest/ico/ico-bmp-4bpp/ico-size-8x8-4bpp.png
new file mode 100644
index 000000000..cf44f5967
--- /dev/null
+++ b/image/test/reftest/ico/ico-bmp-4bpp/ico-size-8x8-4bpp.png
Binary files differ
diff --git a/image/test/reftest/ico/ico-bmp-4bpp/ico-size-9x9-4bpp.ico b/image/test/reftest/ico/ico-bmp-4bpp/ico-size-9x9-4bpp.ico
new file mode 100644
index 000000000..bda12f32b
--- /dev/null
+++ b/image/test/reftest/ico/ico-bmp-4bpp/ico-size-9x9-4bpp.ico
Binary files differ
diff --git a/image/test/reftest/ico/ico-bmp-4bpp/ico-size-9x9-4bpp.png b/image/test/reftest/ico/ico-bmp-4bpp/ico-size-9x9-4bpp.png
new file mode 100644
index 000000000..2e0736413
--- /dev/null
+++ b/image/test/reftest/ico/ico-bmp-4bpp/ico-size-9x9-4bpp.png
Binary files differ
diff --git a/image/test/reftest/ico/ico-bmp-4bpp/ico-transparent-4bpp.ico b/image/test/reftest/ico/ico-bmp-4bpp/ico-transparent-4bpp.ico
new file mode 100644
index 000000000..8e361306c
--- /dev/null
+++ b/image/test/reftest/ico/ico-bmp-4bpp/ico-transparent-4bpp.ico
Binary files differ
diff --git a/image/test/reftest/ico/ico-bmp-4bpp/ico-transparent-4bpp.png b/image/test/reftest/ico/ico-bmp-4bpp/ico-transparent-4bpp.png
new file mode 100644
index 000000000..062152e3b
--- /dev/null
+++ b/image/test/reftest/ico/ico-bmp-4bpp/ico-transparent-4bpp.png
Binary files differ
diff --git a/image/test/reftest/ico/ico-bmp-4bpp/reftest-stylo.list b/image/test/reftest/ico/ico-bmp-4bpp/reftest-stylo.list
new file mode 100644
index 000000000..073755a4b
--- /dev/null
+++ b/image/test/reftest/ico/ico-bmp-4bpp/reftest-stylo.list
@@ -0,0 +1,24 @@
+# DO NOT EDIT! This is a auto-generated temporary list for Stylo testing
+# ICO BMP 4BPP tests
+
+# Images of various sizes
+== ico-size-1x1-4bpp.ico ico-size-1x1-4bpp.ico
+== ico-size-2x2-4bpp.ico ico-size-2x2-4bpp.ico
+== ico-size-3x3-4bpp.ico ico-size-3x3-4bpp.ico
+== ico-size-4x4-4bpp.ico ico-size-4x4-4bpp.ico
+== ico-size-5x5-4bpp.ico ico-size-5x5-4bpp.ico
+== ico-size-6x6-4bpp.ico ico-size-6x6-4bpp.ico
+== ico-size-7x7-4bpp.ico ico-size-7x7-4bpp.ico
+== ico-size-8x8-4bpp.ico ico-size-8x8-4bpp.ico
+== ico-size-9x9-4bpp.ico ico-size-9x9-4bpp.ico
+== ico-size-15x15-4bpp.ico ico-size-15x15-4bpp.ico
+== ico-size-16x16-4bpp.ico ico-size-16x16-4bpp.ico
+== ico-size-17x17-4bpp.ico ico-size-17x17-4bpp.ico
+== ico-size-31x31-4bpp.ico ico-size-31x31-4bpp.ico
+== ico-size-32x32-4bpp.ico ico-size-32x32-4bpp.ico
+== ico-size-33x33-4bpp.ico ico-size-33x33-4bpp.ico
+== ico-size-256x256-4bpp.ico ico-size-256x256-4bpp.ico
+== ico-partial-transparent-4bpp.ico ico-partial-transparent-4bpp.ico
+== ico-transparent-4bpp.ico ico-transparent-4bpp.ico
+== ico-not-square-transparent-4bpp.ico ico-not-square-transparent-4bpp.ico
+
diff --git a/image/test/reftest/ico/ico-bmp-4bpp/reftest.list b/image/test/reftest/ico/ico-bmp-4bpp/reftest.list
new file mode 100644
index 000000000..6caac4ac8
--- /dev/null
+++ b/image/test/reftest/ico/ico-bmp-4bpp/reftest.list
@@ -0,0 +1,23 @@
+# ICO BMP 4BPP tests
+
+# Images of various sizes
+== ico-size-1x1-4bpp.ico ico-size-1x1-4bpp.png
+== ico-size-2x2-4bpp.ico ico-size-2x2-4bpp.png
+== ico-size-3x3-4bpp.ico ico-size-3x3-4bpp.png
+== ico-size-4x4-4bpp.ico ico-size-4x4-4bpp.png
+== ico-size-5x5-4bpp.ico ico-size-5x5-4bpp.png
+== ico-size-6x6-4bpp.ico ico-size-6x6-4bpp.png
+== ico-size-7x7-4bpp.ico ico-size-7x7-4bpp.png
+== ico-size-8x8-4bpp.ico ico-size-8x8-4bpp.png
+== ico-size-9x9-4bpp.ico ico-size-9x9-4bpp.png
+== ico-size-15x15-4bpp.ico ico-size-15x15-4bpp.png
+== ico-size-16x16-4bpp.ico ico-size-16x16-4bpp.png
+== ico-size-17x17-4bpp.ico ico-size-17x17-4bpp.png
+== ico-size-31x31-4bpp.ico ico-size-31x31-4bpp.png
+== ico-size-32x32-4bpp.ico ico-size-32x32-4bpp.png
+== ico-size-33x33-4bpp.ico ico-size-33x33-4bpp.png
+== ico-size-256x256-4bpp.ico ico-size-256x256-4bpp.png
+== ico-partial-transparent-4bpp.ico ico-partial-transparent-4bpp.png
+== ico-transparent-4bpp.ico ico-transparent-4bpp.png
+== ico-not-square-transparent-4bpp.ico ico-not-square-transparent-4bpp.png
+
diff --git a/image/test/reftest/ico/ico-bmp-8bpp/ico-not-square-transparent-8bpp.ico b/image/test/reftest/ico/ico-bmp-8bpp/ico-not-square-transparent-8bpp.ico
new file mode 100644
index 000000000..d28b9a04e
--- /dev/null
+++ b/image/test/reftest/ico/ico-bmp-8bpp/ico-not-square-transparent-8bpp.ico
Binary files differ
diff --git a/image/test/reftest/ico/ico-bmp-8bpp/ico-not-square-transparent-8bpp.png b/image/test/reftest/ico/ico-bmp-8bpp/ico-not-square-transparent-8bpp.png
new file mode 100644
index 000000000..36a4eb512
--- /dev/null
+++ b/image/test/reftest/ico/ico-bmp-8bpp/ico-not-square-transparent-8bpp.png
Binary files differ
diff --git a/image/test/reftest/ico/ico-bmp-8bpp/ico-partial-transparent-8bpp.ico b/image/test/reftest/ico/ico-bmp-8bpp/ico-partial-transparent-8bpp.ico
new file mode 100644
index 000000000..9074caa40
--- /dev/null
+++ b/image/test/reftest/ico/ico-bmp-8bpp/ico-partial-transparent-8bpp.ico
Binary files differ
diff --git a/image/test/reftest/ico/ico-bmp-8bpp/ico-partial-transparent-8bpp.png b/image/test/reftest/ico/ico-bmp-8bpp/ico-partial-transparent-8bpp.png
new file mode 100644
index 000000000..6f990f257
--- /dev/null
+++ b/image/test/reftest/ico/ico-bmp-8bpp/ico-partial-transparent-8bpp.png
Binary files differ
diff --git a/image/test/reftest/ico/ico-bmp-8bpp/ico-size-15x15-8bpp.ico b/image/test/reftest/ico/ico-bmp-8bpp/ico-size-15x15-8bpp.ico
new file mode 100644
index 000000000..f3f3a1353
--- /dev/null
+++ b/image/test/reftest/ico/ico-bmp-8bpp/ico-size-15x15-8bpp.ico
Binary files differ
diff --git a/image/test/reftest/ico/ico-bmp-8bpp/ico-size-15x15-8bpp.png b/image/test/reftest/ico/ico-bmp-8bpp/ico-size-15x15-8bpp.png
new file mode 100644
index 000000000..e1287430d
--- /dev/null
+++ b/image/test/reftest/ico/ico-bmp-8bpp/ico-size-15x15-8bpp.png
Binary files differ
diff --git a/image/test/reftest/ico/ico-bmp-8bpp/ico-size-16x16-8bpp.ico b/image/test/reftest/ico/ico-bmp-8bpp/ico-size-16x16-8bpp.ico
new file mode 100644
index 000000000..24c20e23e
--- /dev/null
+++ b/image/test/reftest/ico/ico-bmp-8bpp/ico-size-16x16-8bpp.ico
Binary files differ
diff --git a/image/test/reftest/ico/ico-bmp-8bpp/ico-size-16x16-8bpp.png b/image/test/reftest/ico/ico-bmp-8bpp/ico-size-16x16-8bpp.png
new file mode 100644
index 000000000..2e66b2e5f
--- /dev/null
+++ b/image/test/reftest/ico/ico-bmp-8bpp/ico-size-16x16-8bpp.png
Binary files differ
diff --git a/image/test/reftest/ico/ico-bmp-8bpp/ico-size-17x17-8bpp.ico b/image/test/reftest/ico/ico-bmp-8bpp/ico-size-17x17-8bpp.ico
new file mode 100644
index 000000000..7fa66b9b2
--- /dev/null
+++ b/image/test/reftest/ico/ico-bmp-8bpp/ico-size-17x17-8bpp.ico
Binary files differ
diff --git a/image/test/reftest/ico/ico-bmp-8bpp/ico-size-17x17-8bpp.png b/image/test/reftest/ico/ico-bmp-8bpp/ico-size-17x17-8bpp.png
new file mode 100644
index 000000000..4d11d7561
--- /dev/null
+++ b/image/test/reftest/ico/ico-bmp-8bpp/ico-size-17x17-8bpp.png
Binary files differ
diff --git a/image/test/reftest/ico/ico-bmp-8bpp/ico-size-1x1-8bpp.ico b/image/test/reftest/ico/ico-bmp-8bpp/ico-size-1x1-8bpp.ico
new file mode 100644
index 000000000..3cf3320ea
--- /dev/null
+++ b/image/test/reftest/ico/ico-bmp-8bpp/ico-size-1x1-8bpp.ico
Binary files differ
diff --git a/image/test/reftest/ico/ico-bmp-8bpp/ico-size-1x1-8bpp.png b/image/test/reftest/ico/ico-bmp-8bpp/ico-size-1x1-8bpp.png
new file mode 100644
index 000000000..c05f5fef8
--- /dev/null
+++ b/image/test/reftest/ico/ico-bmp-8bpp/ico-size-1x1-8bpp.png
Binary files differ
diff --git a/image/test/reftest/ico/ico-bmp-8bpp/ico-size-256x256-8bpp.ico b/image/test/reftest/ico/ico-bmp-8bpp/ico-size-256x256-8bpp.ico
new file mode 100644
index 000000000..524b6f7c8
--- /dev/null
+++ b/image/test/reftest/ico/ico-bmp-8bpp/ico-size-256x256-8bpp.ico
Binary files differ
diff --git a/image/test/reftest/ico/ico-bmp-8bpp/ico-size-256x256-8bpp.png b/image/test/reftest/ico/ico-bmp-8bpp/ico-size-256x256-8bpp.png
new file mode 100644
index 000000000..f367468c9
--- /dev/null
+++ b/image/test/reftest/ico/ico-bmp-8bpp/ico-size-256x256-8bpp.png
Binary files differ
diff --git a/image/test/reftest/ico/ico-bmp-8bpp/ico-size-2x2-8bpp.ico b/image/test/reftest/ico/ico-bmp-8bpp/ico-size-2x2-8bpp.ico
new file mode 100644
index 000000000..95d8375a0
--- /dev/null
+++ b/image/test/reftest/ico/ico-bmp-8bpp/ico-size-2x2-8bpp.ico
Binary files differ
diff --git a/image/test/reftest/ico/ico-bmp-8bpp/ico-size-2x2-8bpp.png b/image/test/reftest/ico/ico-bmp-8bpp/ico-size-2x2-8bpp.png
new file mode 100644
index 000000000..e512d3f9b
--- /dev/null
+++ b/image/test/reftest/ico/ico-bmp-8bpp/ico-size-2x2-8bpp.png
Binary files differ
diff --git a/image/test/reftest/ico/ico-bmp-8bpp/ico-size-31x31-8bpp.ico b/image/test/reftest/ico/ico-bmp-8bpp/ico-size-31x31-8bpp.ico
new file mode 100644
index 000000000..780675447
--- /dev/null
+++ b/image/test/reftest/ico/ico-bmp-8bpp/ico-size-31x31-8bpp.ico
Binary files differ
diff --git a/image/test/reftest/ico/ico-bmp-8bpp/ico-size-31x31-8bpp.png b/image/test/reftest/ico/ico-bmp-8bpp/ico-size-31x31-8bpp.png
new file mode 100644
index 000000000..84bf61078
--- /dev/null
+++ b/image/test/reftest/ico/ico-bmp-8bpp/ico-size-31x31-8bpp.png
Binary files differ
diff --git a/image/test/reftest/ico/ico-bmp-8bpp/ico-size-32x32-8bpp.ico b/image/test/reftest/ico/ico-bmp-8bpp/ico-size-32x32-8bpp.ico
new file mode 100644
index 000000000..d21cc5b96
--- /dev/null
+++ b/image/test/reftest/ico/ico-bmp-8bpp/ico-size-32x32-8bpp.ico
Binary files differ
diff --git a/image/test/reftest/ico/ico-bmp-8bpp/ico-size-32x32-8bpp.png b/image/test/reftest/ico/ico-bmp-8bpp/ico-size-32x32-8bpp.png
new file mode 100644
index 000000000..349fd4df2
--- /dev/null
+++ b/image/test/reftest/ico/ico-bmp-8bpp/ico-size-32x32-8bpp.png
Binary files differ
diff --git a/image/test/reftest/ico/ico-bmp-8bpp/ico-size-33x33-8bpp.ico b/image/test/reftest/ico/ico-bmp-8bpp/ico-size-33x33-8bpp.ico
new file mode 100644
index 000000000..1b419b263
--- /dev/null
+++ b/image/test/reftest/ico/ico-bmp-8bpp/ico-size-33x33-8bpp.ico
Binary files differ
diff --git a/image/test/reftest/ico/ico-bmp-8bpp/ico-size-33x33-8bpp.png b/image/test/reftest/ico/ico-bmp-8bpp/ico-size-33x33-8bpp.png
new file mode 100644
index 000000000..a4c100649
--- /dev/null
+++ b/image/test/reftest/ico/ico-bmp-8bpp/ico-size-33x33-8bpp.png
Binary files differ
diff --git a/image/test/reftest/ico/ico-bmp-8bpp/ico-size-3x3-8bpp.ico b/image/test/reftest/ico/ico-bmp-8bpp/ico-size-3x3-8bpp.ico
new file mode 100644
index 000000000..869f74fcd
--- /dev/null
+++ b/image/test/reftest/ico/ico-bmp-8bpp/ico-size-3x3-8bpp.ico
Binary files differ
diff --git a/image/test/reftest/ico/ico-bmp-8bpp/ico-size-3x3-8bpp.png b/image/test/reftest/ico/ico-bmp-8bpp/ico-size-3x3-8bpp.png
new file mode 100644
index 000000000..cb42ec4f8
--- /dev/null
+++ b/image/test/reftest/ico/ico-bmp-8bpp/ico-size-3x3-8bpp.png
Binary files differ
diff --git a/image/test/reftest/ico/ico-bmp-8bpp/ico-size-4x4-8bpp.ico b/image/test/reftest/ico/ico-bmp-8bpp/ico-size-4x4-8bpp.ico
new file mode 100644
index 000000000..396756372
--- /dev/null
+++ b/image/test/reftest/ico/ico-bmp-8bpp/ico-size-4x4-8bpp.ico
Binary files differ
diff --git a/image/test/reftest/ico/ico-bmp-8bpp/ico-size-4x4-8bpp.png b/image/test/reftest/ico/ico-bmp-8bpp/ico-size-4x4-8bpp.png
new file mode 100644
index 000000000..e6afafd89
--- /dev/null
+++ b/image/test/reftest/ico/ico-bmp-8bpp/ico-size-4x4-8bpp.png
Binary files differ
diff --git a/image/test/reftest/ico/ico-bmp-8bpp/ico-size-5x5-8bpp.ico b/image/test/reftest/ico/ico-bmp-8bpp/ico-size-5x5-8bpp.ico
new file mode 100644
index 000000000..92814e366
--- /dev/null
+++ b/image/test/reftest/ico/ico-bmp-8bpp/ico-size-5x5-8bpp.ico
Binary files differ
diff --git a/image/test/reftest/ico/ico-bmp-8bpp/ico-size-5x5-8bpp.png b/image/test/reftest/ico/ico-bmp-8bpp/ico-size-5x5-8bpp.png
new file mode 100644
index 000000000..a844aff76
--- /dev/null
+++ b/image/test/reftest/ico/ico-bmp-8bpp/ico-size-5x5-8bpp.png
Binary files differ
diff --git a/image/test/reftest/ico/ico-bmp-8bpp/ico-size-6x6-8bpp.ico b/image/test/reftest/ico/ico-bmp-8bpp/ico-size-6x6-8bpp.ico
new file mode 100644
index 000000000..1af478a8a
--- /dev/null
+++ b/image/test/reftest/ico/ico-bmp-8bpp/ico-size-6x6-8bpp.ico
Binary files differ
diff --git a/image/test/reftest/ico/ico-bmp-8bpp/ico-size-6x6-8bpp.png b/image/test/reftest/ico/ico-bmp-8bpp/ico-size-6x6-8bpp.png
new file mode 100644
index 000000000..415c2d9c6
--- /dev/null
+++ b/image/test/reftest/ico/ico-bmp-8bpp/ico-size-6x6-8bpp.png
Binary files differ
diff --git a/image/test/reftest/ico/ico-bmp-8bpp/ico-size-7x7-8bpp.ico b/image/test/reftest/ico/ico-bmp-8bpp/ico-size-7x7-8bpp.ico
new file mode 100644
index 000000000..1c70820eb
--- /dev/null
+++ b/image/test/reftest/ico/ico-bmp-8bpp/ico-size-7x7-8bpp.ico
Binary files differ
diff --git a/image/test/reftest/ico/ico-bmp-8bpp/ico-size-7x7-8bpp.png b/image/test/reftest/ico/ico-bmp-8bpp/ico-size-7x7-8bpp.png
new file mode 100644
index 000000000..ab2f89274
--- /dev/null
+++ b/image/test/reftest/ico/ico-bmp-8bpp/ico-size-7x7-8bpp.png
Binary files differ
diff --git a/image/test/reftest/ico/ico-bmp-8bpp/ico-size-8x8-8bpp.ico b/image/test/reftest/ico/ico-bmp-8bpp/ico-size-8x8-8bpp.ico
new file mode 100644
index 000000000..782ae220d
--- /dev/null
+++ b/image/test/reftest/ico/ico-bmp-8bpp/ico-size-8x8-8bpp.ico
Binary files differ
diff --git a/image/test/reftest/ico/ico-bmp-8bpp/ico-size-8x8-8bpp.png b/image/test/reftest/ico/ico-bmp-8bpp/ico-size-8x8-8bpp.png
new file mode 100644
index 000000000..fe2ff40a1
--- /dev/null
+++ b/image/test/reftest/ico/ico-bmp-8bpp/ico-size-8x8-8bpp.png
Binary files differ
diff --git a/image/test/reftest/ico/ico-bmp-8bpp/ico-size-9x9-8bpp.ico b/image/test/reftest/ico/ico-bmp-8bpp/ico-size-9x9-8bpp.ico
new file mode 100644
index 000000000..6825372b4
--- /dev/null
+++ b/image/test/reftest/ico/ico-bmp-8bpp/ico-size-9x9-8bpp.ico
Binary files differ
diff --git a/image/test/reftest/ico/ico-bmp-8bpp/ico-size-9x9-8bpp.png b/image/test/reftest/ico/ico-bmp-8bpp/ico-size-9x9-8bpp.png
new file mode 100644
index 000000000..18ab4b25d
--- /dev/null
+++ b/image/test/reftest/ico/ico-bmp-8bpp/ico-size-9x9-8bpp.png
Binary files differ
diff --git a/image/test/reftest/ico/ico-bmp-8bpp/ico-transparent-8bpp.ico b/image/test/reftest/ico/ico-bmp-8bpp/ico-transparent-8bpp.ico
new file mode 100644
index 000000000..8e361306c
--- /dev/null
+++ b/image/test/reftest/ico/ico-bmp-8bpp/ico-transparent-8bpp.ico
Binary files differ
diff --git a/image/test/reftest/ico/ico-bmp-8bpp/ico-transparent-8bpp.png b/image/test/reftest/ico/ico-bmp-8bpp/ico-transparent-8bpp.png
new file mode 100644
index 000000000..062152e3b
--- /dev/null
+++ b/image/test/reftest/ico/ico-bmp-8bpp/ico-transparent-8bpp.png
Binary files differ
diff --git a/image/test/reftest/ico/ico-bmp-8bpp/reftest-stylo.list b/image/test/reftest/ico/ico-bmp-8bpp/reftest-stylo.list
new file mode 100644
index 000000000..c5269d3c8
--- /dev/null
+++ b/image/test/reftest/ico/ico-bmp-8bpp/reftest-stylo.list
@@ -0,0 +1,25 @@
+# DO NOT EDIT! This is a auto-generated temporary list for Stylo testing
+# ICO BMP 8BPP tests
+
+# Images of various sizes
+== ico-size-1x1-8bpp.ico ico-size-1x1-8bpp.ico
+== ico-size-2x2-8bpp.ico ico-size-2x2-8bpp.ico
+== ico-size-3x3-8bpp.ico ico-size-3x3-8bpp.ico
+== ico-size-4x4-8bpp.ico ico-size-4x4-8bpp.ico
+== ico-size-5x5-8bpp.ico ico-size-5x5-8bpp.ico
+skip == ico-size-6x6-8bpp.ico ico-size-6x6-8bpp.ico
+== ico-size-7x7-8bpp.ico ico-size-7x7-8bpp.ico
+== ico-size-8x8-8bpp.ico ico-size-8x8-8bpp.ico
+== ico-size-9x9-8bpp.ico ico-size-9x9-8bpp.ico
+== ico-size-15x15-8bpp.ico ico-size-15x15-8bpp.ico
+== ico-size-16x16-8bpp.ico ico-size-16x16-8bpp.ico
+== ico-size-17x17-8bpp.ico ico-size-17x17-8bpp.ico
+== ico-size-31x31-8bpp.ico ico-size-31x31-8bpp.ico
+== ico-size-32x32-8bpp.ico ico-size-32x32-8bpp.ico
+== ico-size-33x33-8bpp.ico ico-size-33x33-8bpp.ico
+skip-if(B2G) == ico-size-256x256-8bpp.ico ico-size-256x256-8bpp.ico
+# bug 773482
+== ico-partial-transparent-8bpp.ico ico-partial-transparent-8bpp.ico
+== ico-transparent-8bpp.ico ico-transparent-8bpp.ico
+== ico-not-square-transparent-8bpp.ico ico-not-square-transparent-8bpp.ico
+
diff --git a/image/test/reftest/ico/ico-bmp-8bpp/reftest.list b/image/test/reftest/ico/ico-bmp-8bpp/reftest.list
new file mode 100644
index 000000000..5a6b54323
--- /dev/null
+++ b/image/test/reftest/ico/ico-bmp-8bpp/reftest.list
@@ -0,0 +1,23 @@
+# ICO BMP 8BPP tests
+
+# Images of various sizes
+== ico-size-1x1-8bpp.ico ico-size-1x1-8bpp.png
+== ico-size-2x2-8bpp.ico ico-size-2x2-8bpp.png
+== ico-size-3x3-8bpp.ico ico-size-3x3-8bpp.png
+== ico-size-4x4-8bpp.ico ico-size-4x4-8bpp.png
+== ico-size-5x5-8bpp.ico ico-size-5x5-8bpp.png
+== ico-size-6x6-8bpp.ico ico-size-6x6-8bpp.png
+== ico-size-7x7-8bpp.ico ico-size-7x7-8bpp.png
+== ico-size-8x8-8bpp.ico ico-size-8x8-8bpp.png
+== ico-size-9x9-8bpp.ico ico-size-9x9-8bpp.png
+== ico-size-15x15-8bpp.ico ico-size-15x15-8bpp.png
+== ico-size-16x16-8bpp.ico ico-size-16x16-8bpp.png
+== ico-size-17x17-8bpp.ico ico-size-17x17-8bpp.png
+== ico-size-31x31-8bpp.ico ico-size-31x31-8bpp.png
+== ico-size-32x32-8bpp.ico ico-size-32x32-8bpp.png
+== ico-size-33x33-8bpp.ico ico-size-33x33-8bpp.png
+== ico-size-256x256-8bpp.ico ico-size-256x256-8bpp.png
+== ico-partial-transparent-8bpp.ico ico-partial-transparent-8bpp.png
+== ico-transparent-8bpp.ico ico-transparent-8bpp.png
+== ico-not-square-transparent-8bpp.ico ico-not-square-transparent-8bpp.png
+
diff --git a/image/test/reftest/ico/ico-bmp-corrupted/16x16.png b/image/test/reftest/ico/ico-bmp-corrupted/16x16.png
new file mode 100644
index 000000000..c04869e72
--- /dev/null
+++ b/image/test/reftest/ico/ico-bmp-corrupted/16x16.png
Binary files differ
diff --git a/image/test/reftest/ico/ico-bmp-corrupted/invalid-bpp.ico b/image/test/reftest/ico/ico-bmp-corrupted/invalid-bpp.ico
new file mode 100644
index 000000000..1189e4c04
--- /dev/null
+++ b/image/test/reftest/ico/ico-bmp-corrupted/invalid-bpp.ico
Binary files differ
diff --git a/image/test/reftest/ico/ico-bmp-corrupted/invalid-compression-RLE4.ico b/image/test/reftest/ico/ico-bmp-corrupted/invalid-compression-RLE4.ico
new file mode 100644
index 000000000..8fd0a5d65
--- /dev/null
+++ b/image/test/reftest/ico/ico-bmp-corrupted/invalid-compression-RLE4.ico
Binary files differ
diff --git a/image/test/reftest/ico/ico-bmp-corrupted/invalid-compression-RLE8.ico b/image/test/reftest/ico/ico-bmp-corrupted/invalid-compression-RLE8.ico
new file mode 100644
index 000000000..1f185ca62
--- /dev/null
+++ b/image/test/reftest/ico/ico-bmp-corrupted/invalid-compression-RLE8.ico
Binary files differ
diff --git a/image/test/reftest/ico/ico-bmp-corrupted/invalid-compression.ico b/image/test/reftest/ico/ico-bmp-corrupted/invalid-compression.ico
new file mode 100644
index 000000000..a49a783c5
--- /dev/null
+++ b/image/test/reftest/ico/ico-bmp-corrupted/invalid-compression.ico
Binary files differ
diff --git a/image/test/reftest/ico/ico-bmp-corrupted/reftest-stylo.list b/image/test/reftest/ico/ico-bmp-corrupted/reftest-stylo.list
new file mode 100644
index 000000000..1dd1a43ae
--- /dev/null
+++ b/image/test/reftest/ico/ico-bmp-corrupted/reftest-stylo.list
@@ -0,0 +1,11 @@
+# DO NOT EDIT! This is a auto-generated temporary list for Stylo testing
+# ICOs containing corrupted BMP tests
+
+# Invalid value for bits per pixel (BPP) - detected when decoding the header.
+skip == wrapper.html?invalid-bpp.ico wrapper.html?invalid-bpp.ico
+# Invalid BPP values for RLE4 - detected when decoding the image data.
+skip == wrapper.html?invalid-compression-RLE4.ico wrapper.html?invalid-compression-RLE4.ico
+# Invalid BPP values for RLE8 - detected when decoding the image data.
+skip == wrapper.html?invalid-compression-RLE8.ico wrapper.html?invalid-compression-RLE8.ico
+# Invalid compression value - detected when decoding the image data.
+skip == wrapper.html?invalid-compression.ico wrapper.html?invalid-compression.ico
diff --git a/image/test/reftest/ico/ico-bmp-corrupted/reftest.list b/image/test/reftest/ico/ico-bmp-corrupted/reftest.list
new file mode 100644
index 000000000..2467b1323
--- /dev/null
+++ b/image/test/reftest/ico/ico-bmp-corrupted/reftest.list
@@ -0,0 +1,10 @@
+# ICOs containing corrupted BMP tests
+
+# Invalid value for bits per pixel (BPP) - detected when decoding the header.
+== wrapper.html?invalid-bpp.ico about:blank
+# Invalid BPP values for RLE4 - detected when decoding the image data.
+== wrapper.html?invalid-compression-RLE4.ico about:blank
+# Invalid BPP values for RLE8 - detected when decoding the image data.
+== wrapper.html?invalid-compression-RLE8.ico about:blank
+# Invalid compression value - detected when decoding the image data.
+== wrapper.html?invalid-compression.ico about:blank
diff --git a/image/test/reftest/ico/ico-bmp-corrupted/wrapper.html b/image/test/reftest/ico/ico-bmp-corrupted/wrapper.html
new file mode 100644
index 000000000..5935f3763
--- /dev/null
+++ b/image/test/reftest/ico/ico-bmp-corrupted/wrapper.html
@@ -0,0 +1,80 @@
+<!DOCTYPE HTML>
+<html class="reftest-wait">
+<head>
+<title>Image reftest wrapper</title>
+<style type="text/css">
+ #image1 { background-color: rgb(10, 100, 250); }
+</style>
+<script>
+ var gImg;
+
+ function runAfterAsyncEvents(aCallback) {
+ function handlePostMessage(aEvent) {
+ if (aEvent.data == 'next') {
+ window.removeEventListener('message', handlePostMessage, false);
+ aCallback();
+ }
+ }
+
+ window.addEventListener('message', handlePostMessage, false);
+
+ // We'll receive the 'message' event after everything else that's currently in
+ // the event queue (which is a stronger guarantee than setTimeout, because
+ // setTimeout events may be coalesced). This lets us ensure that we run
+ // aCallback *after* any asynchronous events are delivered.
+ window.postMessage('next', '*');
+ }
+
+ // The image is loaded async after the page loads
+ // wait for it to finish loading
+ function onImageLoad() {
+ // Use a canvas to force the image to get sync decoded.
+ var canvas = document.createElement('canvas');
+ var ctx = canvas.getContext('2d');
+
+ try {
+ ctx.drawImage(gImg, 0, 0);
+ } catch (e) {
+ }
+
+ // Continue after pumping the event loop.
+ runAfterAsyncEvents(step2);
+ }
+
+ function step2() {
+ // Only now, once the image has already been sync decoded, do we load it in
+ // the <img> element we're going to snapshot. That's because for some of the
+ // tests that use wrapper.html, an error is only detected when decoding the
+ // actual image data - i.e., the error isn't detected in the header. The
+ // precise time when we detect the error, unfortunately, affects how we draw
+ // the image. This will be fixed in bug 1182531, and then we can simplify this
+ // code.
+
+ var finalImg = document.getElementById('image1');
+ finalImg.alt = "";
+ finalImg.onload = finalImg.onerror = step3;
+ finalImg.src = gImg.src;
+ }
+
+ function step3() {
+ // We're ready to take the snapshot, but pump the event loop first just to
+ // be sure that everything has settled down.
+ runAfterAsyncEvents(takeSnapshot);
+ }
+
+ function takeSnapshot() {
+ document.documentElement.removeAttribute("class");
+ }
+</script>
+</head>
+<body>
+<img id="image1">
+<script>
+ // Use as "wrapper.html?image.png
+ gImg = document.createElement('img');
+ gImg.onload = gImg.onerror = onImageLoad;
+ gImg.src = document.location.search.substr(1);
+</script>
+</body>
+</html>
+
diff --git a/image/test/reftest/ico/ico-mixed/mixed-bmp-png.ico b/image/test/reftest/ico/ico-mixed/mixed-bmp-png.ico
new file mode 100644
index 000000000..32e2c4995
--- /dev/null
+++ b/image/test/reftest/ico/ico-mixed/mixed-bmp-png.ico
Binary files differ
diff --git a/image/test/reftest/ico/ico-mixed/mixed-bmp-png.png b/image/test/reftest/ico/ico-mixed/mixed-bmp-png.png
new file mode 100644
index 000000000..b6aee7409
--- /dev/null
+++ b/image/test/reftest/ico/ico-mixed/mixed-bmp-png.png
Binary files differ
diff --git a/image/test/reftest/ico/ico-mixed/mixed-bmp-png32.png b/image/test/reftest/ico/ico-mixed/mixed-bmp-png32.png
new file mode 100644
index 000000000..a05899127
--- /dev/null
+++ b/image/test/reftest/ico/ico-mixed/mixed-bmp-png32.png
Binary files differ
diff --git a/image/test/reftest/ico/ico-mixed/mixed-bmp-png48.png b/image/test/reftest/ico/ico-mixed/mixed-bmp-png48.png
new file mode 100644
index 000000000..61bea5c80
--- /dev/null
+++ b/image/test/reftest/ico/ico-mixed/mixed-bmp-png48.png
Binary files differ
diff --git a/image/test/reftest/ico/ico-mixed/reftest-stylo.list b/image/test/reftest/ico/ico-mixed/reftest-stylo.list
new file mode 100644
index 000000000..a095c2481
--- /dev/null
+++ b/image/test/reftest/ico/ico-mixed/reftest-stylo.list
@@ -0,0 +1,4 @@
+# DO NOT EDIT! This is a auto-generated temporary list for Stylo testing
+# ICO BMP and PNG mixed tests
+
+skip == mixed-bmp-png.ico mixed-bmp-png.ico
diff --git a/image/test/reftest/ico/ico-mixed/reftest.list b/image/test/reftest/ico/ico-mixed/reftest.list
new file mode 100644
index 000000000..36134e40a
--- /dev/null
+++ b/image/test/reftest/ico/ico-mixed/reftest.list
@@ -0,0 +1,3 @@
+# ICO BMP and PNG mixed tests
+
+== mixed-bmp-png.ico mixed-bmp-png48.png
diff --git a/image/test/reftest/ico/ico-png/corrupted_x00n0g01.ico b/image/test/reftest/ico/ico-png/corrupted_x00n0g01.ico
new file mode 100644
index 000000000..18b97b0b7
--- /dev/null
+++ b/image/test/reftest/ico/ico-png/corrupted_x00n0g01.ico
Binary files differ
diff --git a/image/test/reftest/ico/ico-png/corrupted_xxcrn0g04.ico b/image/test/reftest/ico/ico-png/corrupted_xxcrn0g04.ico
new file mode 100644
index 000000000..3fa5285c5
--- /dev/null
+++ b/image/test/reftest/ico/ico-png/corrupted_xxcrn0g04.ico
Binary files differ
diff --git a/image/test/reftest/ico/ico-png/ico-size-15x15-png.ico b/image/test/reftest/ico/ico-png/ico-size-15x15-png.ico
new file mode 100644
index 000000000..e67644a89
--- /dev/null
+++ b/image/test/reftest/ico/ico-png/ico-size-15x15-png.ico
Binary files differ
diff --git a/image/test/reftest/ico/ico-png/ico-size-15x15-png.png b/image/test/reftest/ico/ico-png/ico-size-15x15-png.png
new file mode 100644
index 000000000..e1287430d
--- /dev/null
+++ b/image/test/reftest/ico/ico-png/ico-size-15x15-png.png
Binary files differ
diff --git a/image/test/reftest/ico/ico-png/ico-size-16x16-png.ico b/image/test/reftest/ico/ico-png/ico-size-16x16-png.ico
new file mode 100644
index 000000000..442ab4dc8
--- /dev/null
+++ b/image/test/reftest/ico/ico-png/ico-size-16x16-png.ico
Binary files differ
diff --git a/image/test/reftest/ico/ico-png/ico-size-16x16-png.png b/image/test/reftest/ico/ico-png/ico-size-16x16-png.png
new file mode 100644
index 000000000..c04869e72
--- /dev/null
+++ b/image/test/reftest/ico/ico-png/ico-size-16x16-png.png
Binary files differ
diff --git a/image/test/reftest/ico/ico-png/ico-size-17x17-png.ico b/image/test/reftest/ico/ico-png/ico-size-17x17-png.ico
new file mode 100644
index 000000000..f135385d7
--- /dev/null
+++ b/image/test/reftest/ico/ico-png/ico-size-17x17-png.ico
Binary files differ
diff --git a/image/test/reftest/ico/ico-png/ico-size-17x17-png.png b/image/test/reftest/ico/ico-png/ico-size-17x17-png.png
new file mode 100644
index 000000000..00fb8e4f3
--- /dev/null
+++ b/image/test/reftest/ico/ico-png/ico-size-17x17-png.png
Binary files differ
diff --git a/image/test/reftest/ico/ico-png/ico-size-1x1-png.ico b/image/test/reftest/ico/ico-png/ico-size-1x1-png.ico
new file mode 100644
index 000000000..8eb80c7db
--- /dev/null
+++ b/image/test/reftest/ico/ico-png/ico-size-1x1-png.ico
Binary files differ
diff --git a/image/test/reftest/ico/ico-png/ico-size-1x1-png.png b/image/test/reftest/ico/ico-png/ico-size-1x1-png.png
new file mode 100644
index 000000000..c05f5fef8
--- /dev/null
+++ b/image/test/reftest/ico/ico-png/ico-size-1x1-png.png
Binary files differ
diff --git a/image/test/reftest/ico/ico-png/ico-size-256x256-png.ico b/image/test/reftest/ico/ico-png/ico-size-256x256-png.ico
new file mode 100644
index 000000000..ecb88edf3
--- /dev/null
+++ b/image/test/reftest/ico/ico-png/ico-size-256x256-png.ico
Binary files differ
diff --git a/image/test/reftest/ico/ico-png/ico-size-256x256-png.png b/image/test/reftest/ico/ico-png/ico-size-256x256-png.png
new file mode 100644
index 000000000..2d2f52d6c
--- /dev/null
+++ b/image/test/reftest/ico/ico-png/ico-size-256x256-png.png
Binary files differ
diff --git a/image/test/reftest/ico/ico-png/ico-size-2x2-png.ico b/image/test/reftest/ico/ico-png/ico-size-2x2-png.ico
new file mode 100644
index 000000000..5799953c9
--- /dev/null
+++ b/image/test/reftest/ico/ico-png/ico-size-2x2-png.ico
Binary files differ
diff --git a/image/test/reftest/ico/ico-png/ico-size-2x2-png.png b/image/test/reftest/ico/ico-png/ico-size-2x2-png.png
new file mode 100644
index 000000000..e512d3f9b
--- /dev/null
+++ b/image/test/reftest/ico/ico-png/ico-size-2x2-png.png
Binary files differ
diff --git a/image/test/reftest/ico/ico-png/ico-size-31x31-png.ico b/image/test/reftest/ico/ico-png/ico-size-31x31-png.ico
new file mode 100644
index 000000000..2e9fbd8f9
--- /dev/null
+++ b/image/test/reftest/ico/ico-png/ico-size-31x31-png.ico
Binary files differ
diff --git a/image/test/reftest/ico/ico-png/ico-size-31x31-png.png b/image/test/reftest/ico/ico-png/ico-size-31x31-png.png
new file mode 100644
index 000000000..e4a864251
--- /dev/null
+++ b/image/test/reftest/ico/ico-png/ico-size-31x31-png.png
Binary files differ
diff --git a/image/test/reftest/ico/ico-png/ico-size-32x32-png.ico b/image/test/reftest/ico/ico-png/ico-size-32x32-png.ico
new file mode 100644
index 000000000..af97a8663
--- /dev/null
+++ b/image/test/reftest/ico/ico-png/ico-size-32x32-png.ico
Binary files differ
diff --git a/image/test/reftest/ico/ico-png/ico-size-32x32-png.png b/image/test/reftest/ico/ico-png/ico-size-32x32-png.png
new file mode 100644
index 000000000..3a6fbe8ee
--- /dev/null
+++ b/image/test/reftest/ico/ico-png/ico-size-32x32-png.png
Binary files differ
diff --git a/image/test/reftest/ico/ico-png/ico-size-33x33-png.ico b/image/test/reftest/ico/ico-png/ico-size-33x33-png.ico
new file mode 100644
index 000000000..2509c8c1f
--- /dev/null
+++ b/image/test/reftest/ico/ico-png/ico-size-33x33-png.ico
Binary files differ
diff --git a/image/test/reftest/ico/ico-png/ico-size-33x33-png.png b/image/test/reftest/ico/ico-png/ico-size-33x33-png.png
new file mode 100644
index 000000000..72ef7eb63
--- /dev/null
+++ b/image/test/reftest/ico/ico-png/ico-size-33x33-png.png
Binary files differ
diff --git a/image/test/reftest/ico/ico-png/ico-size-3x3-png.ico b/image/test/reftest/ico/ico-png/ico-size-3x3-png.ico
new file mode 100644
index 000000000..d2cd649c8
--- /dev/null
+++ b/image/test/reftest/ico/ico-png/ico-size-3x3-png.ico
Binary files differ
diff --git a/image/test/reftest/ico/ico-png/ico-size-3x3-png.png b/image/test/reftest/ico/ico-png/ico-size-3x3-png.png
new file mode 100644
index 000000000..cb42ec4f8
--- /dev/null
+++ b/image/test/reftest/ico/ico-png/ico-size-3x3-png.png
Binary files differ
diff --git a/image/test/reftest/ico/ico-png/ico-size-4x4-png.ico b/image/test/reftest/ico/ico-png/ico-size-4x4-png.ico
new file mode 100644
index 000000000..60180aad5
--- /dev/null
+++ b/image/test/reftest/ico/ico-png/ico-size-4x4-png.ico
Binary files differ
diff --git a/image/test/reftest/ico/ico-png/ico-size-4x4-png.png b/image/test/reftest/ico/ico-png/ico-size-4x4-png.png
new file mode 100644
index 000000000..e6afafd89
--- /dev/null
+++ b/image/test/reftest/ico/ico-png/ico-size-4x4-png.png
Binary files differ
diff --git a/image/test/reftest/ico/ico-png/ico-size-5x5-png.ico b/image/test/reftest/ico/ico-png/ico-size-5x5-png.ico
new file mode 100644
index 000000000..089c0c885
--- /dev/null
+++ b/image/test/reftest/ico/ico-png/ico-size-5x5-png.ico
Binary files differ
diff --git a/image/test/reftest/ico/ico-png/ico-size-5x5-png.png b/image/test/reftest/ico/ico-png/ico-size-5x5-png.png
new file mode 100644
index 000000000..a844aff76
--- /dev/null
+++ b/image/test/reftest/ico/ico-png/ico-size-5x5-png.png
Binary files differ
diff --git a/image/test/reftest/ico/ico-png/ico-size-6x6-png.ico b/image/test/reftest/ico/ico-png/ico-size-6x6-png.ico
new file mode 100644
index 000000000..2ee75d25a
--- /dev/null
+++ b/image/test/reftest/ico/ico-png/ico-size-6x6-png.ico
Binary files differ
diff --git a/image/test/reftest/ico/ico-png/ico-size-6x6-png.png b/image/test/reftest/ico/ico-png/ico-size-6x6-png.png
new file mode 100644
index 000000000..415c2d9c6
--- /dev/null
+++ b/image/test/reftest/ico/ico-png/ico-size-6x6-png.png
Binary files differ
diff --git a/image/test/reftest/ico/ico-png/ico-size-7x7-png.ico b/image/test/reftest/ico/ico-png/ico-size-7x7-png.ico
new file mode 100644
index 000000000..ade9a3ecd
--- /dev/null
+++ b/image/test/reftest/ico/ico-png/ico-size-7x7-png.ico
Binary files differ
diff --git a/image/test/reftest/ico/ico-png/ico-size-7x7-png.png b/image/test/reftest/ico/ico-png/ico-size-7x7-png.png
new file mode 100644
index 000000000..ab2f89274
--- /dev/null
+++ b/image/test/reftest/ico/ico-png/ico-size-7x7-png.png
Binary files differ
diff --git a/image/test/reftest/ico/ico-png/ico-size-8x8-png.ico b/image/test/reftest/ico/ico-png/ico-size-8x8-png.ico
new file mode 100644
index 000000000..a0a150bad
--- /dev/null
+++ b/image/test/reftest/ico/ico-png/ico-size-8x8-png.ico
Binary files differ
diff --git a/image/test/reftest/ico/ico-png/ico-size-8x8-png.png b/image/test/reftest/ico/ico-png/ico-size-8x8-png.png
new file mode 100644
index 000000000..fe2ff40a1
--- /dev/null
+++ b/image/test/reftest/ico/ico-png/ico-size-8x8-png.png
Binary files differ
diff --git a/image/test/reftest/ico/ico-png/ico-size-9x9-png.ico b/image/test/reftest/ico/ico-png/ico-size-9x9-png.ico
new file mode 100644
index 000000000..a53357b44
--- /dev/null
+++ b/image/test/reftest/ico/ico-png/ico-size-9x9-png.ico
Binary files differ
diff --git a/image/test/reftest/ico/ico-png/ico-size-9x9-png.png b/image/test/reftest/ico/ico-png/ico-size-9x9-png.png
new file mode 100644
index 000000000..18ab4b25d
--- /dev/null
+++ b/image/test/reftest/ico/ico-png/ico-size-9x9-png.png
Binary files differ
diff --git a/image/test/reftest/ico/ico-png/reftest-stylo.list b/image/test/reftest/ico/ico-png/reftest-stylo.list
new file mode 100644
index 000000000..1fd990c89
--- /dev/null
+++ b/image/test/reftest/ico/ico-png/reftest-stylo.list
@@ -0,0 +1,30 @@
+# DO NOT EDIT! This is a auto-generated temporary list for Stylo testing
+# ICO PNG tests
+
+# Images of various sizes
+skip == ico-size-1x1-png.ico ico-size-1x1-png.ico
+== ico-size-2x2-png.ico ico-size-2x2-png.ico
+skip == ico-size-3x3-png.ico ico-size-3x3-png.ico
+skip == ico-size-4x4-png.ico ico-size-4x4-png.ico
+skip == ico-size-5x5-png.ico ico-size-5x5-png.ico
+skip == ico-size-6x6-png.ico ico-size-6x6-png.ico
+== ico-size-7x7-png.ico ico-size-7x7-png.ico
+fails skip == ico-size-8x8-png.ico ico-size-8x8-png.ico
+skip == ico-size-9x9-png.ico ico-size-9x9-png.ico
+skip == ico-size-15x15-png.ico ico-size-15x15-png.ico
+skip == ico-size-16x16-png.ico ico-size-16x16-png.ico
+skip == ico-size-17x17-png.ico ico-size-17x17-png.ico
+skip == ico-size-31x31-png.ico ico-size-31x31-png.ico
+skip == ico-size-32x32-png.ico ico-size-32x32-png.ico
+skip == ico-size-33x33-png.ico ico-size-33x33-png.ico
+# skip == ico-size-256x256-png.ico ico-size-256x256-png.ico
+
+# Corrupted files so no image should be loaded
+# x00n0g01 - empty 0x0 grayscale file
+skip == wrapper.html?x00n0g01.ico wrapper.html?x00n0g01.ico
+# xcrn0g04 - added cr bytes
+skip == wrapper.html?xcrn0g04.ico wrapper.html?xcrn0g04.ico
+
+# Test ICO PNG transparency
+== transparent-png.ico transparent-png.ico
+
diff --git a/image/test/reftest/ico/ico-png/reftest.list b/image/test/reftest/ico/ico-png/reftest.list
new file mode 100644
index 000000000..002d0e4f3
--- /dev/null
+++ b/image/test/reftest/ico/ico-png/reftest.list
@@ -0,0 +1,29 @@
+# ICO PNG tests
+
+# Images of various sizes
+== ico-size-1x1-png.ico ico-size-1x1-png.png
+== ico-size-2x2-png.ico ico-size-2x2-png.png
+== ico-size-3x3-png.ico ico-size-3x3-png.png
+== ico-size-4x4-png.ico ico-size-4x4-png.png
+== ico-size-5x5-png.ico ico-size-5x5-png.png
+== ico-size-6x6-png.ico ico-size-6x6-png.png
+== ico-size-7x7-png.ico ico-size-7x7-png.png
+== ico-size-8x8-png.ico ico-size-8x8-png.png
+== ico-size-9x9-png.ico ico-size-9x9-png.png
+== ico-size-15x15-png.ico ico-size-15x15-png.png
+== ico-size-16x16-png.ico ico-size-16x16-png.png
+== ico-size-17x17-png.ico ico-size-17x17-png.png
+== ico-size-31x31-png.ico ico-size-31x31-png.png
+== ico-size-32x32-png.ico ico-size-32x32-png.png
+== ico-size-33x33-png.ico ico-size-33x33-png.png
+== ico-size-256x256-png.ico ico-size-256x256-png.png
+
+# Corrupted files so no image should be loaded
+# x00n0g01 - empty 0x0 grayscale file
+== wrapper.html?x00n0g01.ico about:blank
+# xcrn0g04 - added cr bytes
+== wrapper.html?xcrn0g04.ico about:blank
+
+# Test ICO PNG transparency
+== transparent-png.ico transparent-png.png
+
diff --git a/image/test/reftest/ico/ico-png/tmp.ico b/image/test/reftest/ico/ico-png/tmp.ico
new file mode 100644
index 000000000..5723a2e77
--- /dev/null
+++ b/image/test/reftest/ico/ico-png/tmp.ico
Binary files differ
diff --git a/image/test/reftest/ico/ico-png/transparent-png.ico b/image/test/reftest/ico/ico-png/transparent-png.ico
new file mode 100644
index 000000000..cc8a4a31d
--- /dev/null
+++ b/image/test/reftest/ico/ico-png/transparent-png.ico
Binary files differ
diff --git a/image/test/reftest/ico/ico-png/transparent-png.png b/image/test/reftest/ico/ico-png/transparent-png.png
new file mode 100644
index 000000000..29e3a2435
--- /dev/null
+++ b/image/test/reftest/ico/ico-png/transparent-png.png
Binary files differ
diff --git a/image/test/reftest/ico/ico-png/wrapper.html b/image/test/reftest/ico/ico-png/wrapper.html
new file mode 100644
index 000000000..0015856df
--- /dev/null
+++ b/image/test/reftest/ico/ico-png/wrapper.html
@@ -0,0 +1,28 @@
+<!DOCTYPE HTML>
+<html class="reftest-wait">
+<head>
+<title>Image reftest wrapper</title>
+<style type="text/css">
+ #image1 { background-color: rgb(10, 100, 250); }
+</style>
+<script>
+ // The image is loaded async after the page loads
+ // wait for it to finish loading
+ function onImageLoad() {
+ document.documentElement.removeAttribute("class");
+ };
+</script>
+</head>
+<body>
+<img id="image1">
+<script>
+ // Use as "wrapper.html?image.png
+ var imgURL = document.location.search.substr(1);
+ document.images[0].onload = onImageLoad;
+ document.images[0].onerror = onImageLoad;
+ document.images[0].alt = "";
+ document.images[0].src = imgURL;
+</script>
+</body>
+</html>
+
diff --git a/image/test/reftest/ico/ico-png/x00n0g01.png b/image/test/reftest/ico/ico-png/x00n0g01.png
new file mode 100644
index 000000000..db3a5fda7
--- /dev/null
+++ b/image/test/reftest/ico/ico-png/x00n0g01.png
Binary files differ
diff --git a/image/test/reftest/ico/ico-png/xcrn0g04.png b/image/test/reftest/ico/ico-png/xcrn0g04.png
new file mode 100644
index 000000000..5bce9f3ad
--- /dev/null
+++ b/image/test/reftest/ico/ico-png/xcrn0g04.png
Binary files differ
diff --git a/image/test/reftest/ico/reftest-stylo.list b/image/test/reftest/ico/reftest-stylo.list
new file mode 100644
index 000000000..52cb9bc6c
--- /dev/null
+++ b/image/test/reftest/ico/reftest-stylo.list
@@ -0,0 +1,13 @@
+# DO NOT EDIT! This is a auto-generated temporary list for Stylo testing
+# ICO tests
+
+# bmp tests cause lots of intermittents
+# include ico-bmp-1bpp/reftest-stylo.list
+# include ico-bmp-4bpp/reftest-stylo.list
+# include ico-bmp-8bpp/reftest-stylo.list
+# include ico-bmp-24bpp/reftest-stylo.list
+# include ico-bmp-32bpp/reftest-stylo.list
+# include ico-bmp-corrupted/reftest-stylo.list
+include ico-png/reftest-stylo.list
+include ico-mixed/reftest-stylo.list
+include cur/reftest-stylo.list
diff --git a/image/test/reftest/ico/reftest.list b/image/test/reftest/ico/reftest.list
new file mode 100644
index 000000000..22ed9b4fe
--- /dev/null
+++ b/image/test/reftest/ico/reftest.list
@@ -0,0 +1,11 @@
+# ICO tests
+
+include ico-bmp-1bpp/reftest.list
+include ico-bmp-4bpp/reftest.list
+include ico-bmp-8bpp/reftest.list
+include ico-bmp-24bpp/reftest.list
+include ico-bmp-32bpp/reftest.list
+include ico-bmp-corrupted/reftest.list
+include ico-png/reftest.list
+include ico-mixed/reftest.list
+include cur/reftest.list