Bug 1258916 part 11b - The imported files. draft
authorXidorn Quan <me@upsuper.org>
Tue, 15 Nov 2016 10:25:16 +1100
changeset 441094 e7eac296f7ceeccc8c29f0423fdc93ffeeb57054
parent 441093 283cca510994c3cf1e6fabfc1820c8d35e374d4c
child 441095 9d599d4ebe5793a51c832097a7f1f254f78c43ca
push id36356
push userxquan@mozilla.com
push dateFri, 18 Nov 2016 11:41:49 +0000
bugs1258916
milestone53.0a1
Bug 1258916 part 11b - The imported files. MozReview-Commit-ID: BwRafRJqps
layout/reftests/w3c-css/received/css-writing-modes-3/abs-pos-non-replaced-icb-vlr-003.xht
layout/reftests/w3c-css/received/css-writing-modes-3/abs-pos-non-replaced-icb-vlr-005.xht
layout/reftests/w3c-css/received/css-writing-modes-3/abs-pos-non-replaced-icb-vlr-007.xht
layout/reftests/w3c-css/received/css-writing-modes-3/abs-pos-non-replaced-icb-vlr-009.xht
layout/reftests/w3c-css/received/css-writing-modes-3/abs-pos-non-replaced-icb-vlr-011.xht
layout/reftests/w3c-css/received/css-writing-modes-3/abs-pos-non-replaced-icb-vlr-013.xht
layout/reftests/w3c-css/received/css-writing-modes-3/abs-pos-non-replaced-icb-vlr-015.xht
layout/reftests/w3c-css/received/css-writing-modes-3/abs-pos-non-replaced-icb-vlr-017.xht
layout/reftests/w3c-css/received/css-writing-modes-3/abs-pos-non-replaced-icb-vlr-019.xht
layout/reftests/w3c-css/received/css-writing-modes-3/abs-pos-non-replaced-icb-vlr-021.xht
layout/reftests/w3c-css/received/css-writing-modes-3/abs-pos-non-replaced-icb-vlr-023.xht
layout/reftests/w3c-css/received/css-writing-modes-3/abs-pos-non-replaced-icb-vlr-025.xht
layout/reftests/w3c-css/received/css-writing-modes-3/abs-pos-non-replaced-icb-vlr-027.xht
layout/reftests/w3c-css/received/css-writing-modes-3/abs-pos-non-replaced-icb-vlr-029.xht
layout/reftests/w3c-css/received/css-writing-modes-3/abs-pos-non-replaced-icb-vlr-031.xht
layout/reftests/w3c-css/received/css-writing-modes-3/abs-pos-non-replaced-icb-vlr-033.xht
layout/reftests/w3c-css/received/css-writing-modes-3/abs-pos-non-replaced-icb-vrl-002.xht
layout/reftests/w3c-css/received/css-writing-modes-3/abs-pos-non-replaced-icb-vrl-004-ref.xht
layout/reftests/w3c-css/received/css-writing-modes-3/abs-pos-non-replaced-icb-vrl-004.xht
layout/reftests/w3c-css/received/css-writing-modes-3/abs-pos-non-replaced-icb-vrl-006.xht
layout/reftests/w3c-css/received/css-writing-modes-3/abs-pos-non-replaced-icb-vrl-008-ref.xht
layout/reftests/w3c-css/received/css-writing-modes-3/abs-pos-non-replaced-icb-vrl-008.xht
layout/reftests/w3c-css/received/css-writing-modes-3/abs-pos-non-replaced-icb-vrl-010.xht
layout/reftests/w3c-css/received/css-writing-modes-3/abs-pos-non-replaced-icb-vrl-012.xht
layout/reftests/w3c-css/received/css-writing-modes-3/abs-pos-non-replaced-icb-vrl-014.xht
layout/reftests/w3c-css/received/css-writing-modes-3/abs-pos-non-replaced-icb-vrl-016.xht
layout/reftests/w3c-css/received/css-writing-modes-3/abs-pos-non-replaced-icb-vrl-018.xht
layout/reftests/w3c-css/received/css-writing-modes-3/abs-pos-non-replaced-icb-vrl-020.xht
layout/reftests/w3c-css/received/css-writing-modes-3/abs-pos-non-replaced-icb-vrl-022.xht
layout/reftests/w3c-css/received/css-writing-modes-3/abs-pos-non-replaced-icb-vrl-024.xht
layout/reftests/w3c-css/received/css-writing-modes-3/abs-pos-non-replaced-icb-vrl-026.xht
layout/reftests/w3c-css/received/css-writing-modes-3/abs-pos-non-replaced-icb-vrl-028.xht
layout/reftests/w3c-css/received/css-writing-modes-3/abs-pos-non-replaced-icb-vrl-030.xht
layout/reftests/w3c-css/received/css-writing-modes-3/abs-pos-non-replaced-icb-vrl-032.xht
layout/reftests/w3c-css/received/css-writing-modes-3/abs-pos-non-replaced-vlr-003-ref.xht
layout/reftests/w3c-css/received/css-writing-modes-3/abs-pos-non-replaced-vlr-003.xht
layout/reftests/w3c-css/received/css-writing-modes-3/abs-pos-non-replaced-vlr-005.xht
layout/reftests/w3c-css/received/css-writing-modes-3/abs-pos-non-replaced-vlr-007-ref.xht
layout/reftests/w3c-css/received/css-writing-modes-3/abs-pos-non-replaced-vlr-007.xht
layout/reftests/w3c-css/received/css-writing-modes-3/abs-pos-non-replaced-vlr-009-ref.xht
layout/reftests/w3c-css/received/css-writing-modes-3/abs-pos-non-replaced-vlr-009.xht
layout/reftests/w3c-css/received/css-writing-modes-3/abs-pos-non-replaced-vlr-011.xht
layout/reftests/w3c-css/received/css-writing-modes-3/abs-pos-non-replaced-vlr-013-ref.xht
layout/reftests/w3c-css/received/css-writing-modes-3/abs-pos-non-replaced-vlr-013.xht
layout/reftests/w3c-css/received/css-writing-modes-3/abs-pos-non-replaced-vlr-015.xht
layout/reftests/w3c-css/received/css-writing-modes-3/abs-pos-non-replaced-vlr-017.xht
layout/reftests/w3c-css/received/css-writing-modes-3/abs-pos-non-replaced-vlr-019.xht
layout/reftests/w3c-css/received/css-writing-modes-3/abs-pos-non-replaced-vlr-021.xht
layout/reftests/w3c-css/received/css-writing-modes-3/abs-pos-non-replaced-vlr-023.xht
layout/reftests/w3c-css/received/css-writing-modes-3/abs-pos-non-replaced-vlr-025.xht
layout/reftests/w3c-css/received/css-writing-modes-3/abs-pos-non-replaced-vlr-027.xht
layout/reftests/w3c-css/received/css-writing-modes-3/abs-pos-non-replaced-vlr-029.xht
layout/reftests/w3c-css/received/css-writing-modes-3/abs-pos-non-replaced-vlr-031.xht
layout/reftests/w3c-css/received/css-writing-modes-3/abs-pos-non-replaced-vlr-033.xht
layout/reftests/w3c-css/received/css-writing-modes-3/abs-pos-non-replaced-vlr-035.xht
layout/reftests/w3c-css/received/css-writing-modes-3/abs-pos-non-replaced-vlr-037.xht
layout/reftests/w3c-css/received/css-writing-modes-3/abs-pos-non-replaced-vlr-039.xht
layout/reftests/w3c-css/received/css-writing-modes-3/abs-pos-non-replaced-vlr-041.xht
layout/reftests/w3c-css/received/css-writing-modes-3/abs-pos-non-replaced-vlr-043.xht
layout/reftests/w3c-css/received/css-writing-modes-3/abs-pos-non-replaced-vlr-045.xht
layout/reftests/w3c-css/received/css-writing-modes-3/abs-pos-non-replaced-vlr-047.xht
layout/reftests/w3c-css/received/css-writing-modes-3/abs-pos-non-replaced-vlr-049.xht
layout/reftests/w3c-css/received/css-writing-modes-3/abs-pos-non-replaced-vlr-051.xht
layout/reftests/w3c-css/received/css-writing-modes-3/abs-pos-non-replaced-vlr-053.xht
layout/reftests/w3c-css/received/css-writing-modes-3/abs-pos-non-replaced-vlr-055.xht
layout/reftests/w3c-css/received/css-writing-modes-3/abs-pos-non-replaced-vlr-057.xht
layout/reftests/w3c-css/received/css-writing-modes-3/abs-pos-non-replaced-vlr-059.xht
layout/reftests/w3c-css/received/css-writing-modes-3/abs-pos-non-replaced-vlr-061.xht
layout/reftests/w3c-css/received/css-writing-modes-3/abs-pos-non-replaced-vlr-063.xht
layout/reftests/w3c-css/received/css-writing-modes-3/abs-pos-non-replaced-vlr-065.xht
layout/reftests/w3c-css/received/css-writing-modes-3/abs-pos-non-replaced-vlr-067.xht
layout/reftests/w3c-css/received/css-writing-modes-3/abs-pos-non-replaced-vlr-069.xht
layout/reftests/w3c-css/received/css-writing-modes-3/abs-pos-non-replaced-vlr-071.xht
layout/reftests/w3c-css/received/css-writing-modes-3/abs-pos-non-replaced-vlr-073.xht
layout/reftests/w3c-css/received/css-writing-modes-3/abs-pos-non-replaced-vlr-075.xht
layout/reftests/w3c-css/received/css-writing-modes-3/abs-pos-non-replaced-vlr-077.xht
layout/reftests/w3c-css/received/css-writing-modes-3/abs-pos-non-replaced-vlr-079.xht
layout/reftests/w3c-css/received/css-writing-modes-3/abs-pos-non-replaced-vlr-081.xht
layout/reftests/w3c-css/received/css-writing-modes-3/abs-pos-non-replaced-vlr-083.xht
layout/reftests/w3c-css/received/css-writing-modes-3/abs-pos-non-replaced-vlr-085.xht
layout/reftests/w3c-css/received/css-writing-modes-3/abs-pos-non-replaced-vlr-087.xht
layout/reftests/w3c-css/received/css-writing-modes-3/abs-pos-non-replaced-vlr-089.xht
layout/reftests/w3c-css/received/css-writing-modes-3/abs-pos-non-replaced-vlr-091.xht
layout/reftests/w3c-css/received/css-writing-modes-3/abs-pos-non-replaced-vlr-093.xht
layout/reftests/w3c-css/received/css-writing-modes-3/abs-pos-non-replaced-vlr-095.xht
layout/reftests/w3c-css/received/css-writing-modes-3/abs-pos-non-replaced-vlr-097.xht
layout/reftests/w3c-css/received/css-writing-modes-3/abs-pos-non-replaced-vlr-103.xht
layout/reftests/w3c-css/received/css-writing-modes-3/abs-pos-non-replaced-vlr-105.xht
layout/reftests/w3c-css/received/css-writing-modes-3/abs-pos-non-replaced-vlr-107.xht
layout/reftests/w3c-css/received/css-writing-modes-3/abs-pos-non-replaced-vlr-109.xht
layout/reftests/w3c-css/received/css-writing-modes-3/abs-pos-non-replaced-vlr-111.xht
layout/reftests/w3c-css/received/css-writing-modes-3/abs-pos-non-replaced-vlr-113.xht
layout/reftests/w3c-css/received/css-writing-modes-3/abs-pos-non-replaced-vlr-115.xht
layout/reftests/w3c-css/received/css-writing-modes-3/abs-pos-non-replaced-vlr-117.xht
layout/reftests/w3c-css/received/css-writing-modes-3/abs-pos-non-replaced-vlr-119.xht
layout/reftests/w3c-css/received/css-writing-modes-3/abs-pos-non-replaced-vlr-121.xht
layout/reftests/w3c-css/received/css-writing-modes-3/abs-pos-non-replaced-vlr-123.xht
layout/reftests/w3c-css/received/css-writing-modes-3/abs-pos-non-replaced-vlr-125.xht
layout/reftests/w3c-css/received/css-writing-modes-3/abs-pos-non-replaced-vlr-127.xht
layout/reftests/w3c-css/received/css-writing-modes-3/abs-pos-non-replaced-vlr-129.xht
layout/reftests/w3c-css/received/css-writing-modes-3/abs-pos-non-replaced-vlr-131.xht
layout/reftests/w3c-css/received/css-writing-modes-3/abs-pos-non-replaced-vlr-133.xht
layout/reftests/w3c-css/received/css-writing-modes-3/abs-pos-non-replaced-vlr-135.xht
layout/reftests/w3c-css/received/css-writing-modes-3/abs-pos-non-replaced-vlr-137.xht
layout/reftests/w3c-css/received/css-writing-modes-3/abs-pos-non-replaced-vlr-139.xht
layout/reftests/w3c-css/received/css-writing-modes-3/abs-pos-non-replaced-vlr-141.xht
layout/reftests/w3c-css/received/css-writing-modes-3/abs-pos-non-replaced-vlr-143.xht
layout/reftests/w3c-css/received/css-writing-modes-3/abs-pos-non-replaced-vlr-145.xht
layout/reftests/w3c-css/received/css-writing-modes-3/abs-pos-non-replaced-vlr-147.xht
layout/reftests/w3c-css/received/css-writing-modes-3/abs-pos-non-replaced-vlr-149.xht
layout/reftests/w3c-css/received/css-writing-modes-3/abs-pos-non-replaced-vlr-151.xht
layout/reftests/w3c-css/received/css-writing-modes-3/abs-pos-non-replaced-vlr-153.xht
layout/reftests/w3c-css/received/css-writing-modes-3/abs-pos-non-replaced-vlr-155-ref.xht
layout/reftests/w3c-css/received/css-writing-modes-3/abs-pos-non-replaced-vlr-155.xht
layout/reftests/w3c-css/received/css-writing-modes-3/abs-pos-non-replaced-vlr-157.xht
layout/reftests/w3c-css/received/css-writing-modes-3/abs-pos-non-replaced-vlr-159.xht
layout/reftests/w3c-css/received/css-writing-modes-3/abs-pos-non-replaced-vlr-161.xht
layout/reftests/w3c-css/received/css-writing-modes-3/abs-pos-non-replaced-vlr-163-ref.xht
layout/reftests/w3c-css/received/css-writing-modes-3/abs-pos-non-replaced-vlr-163.xht
layout/reftests/w3c-css/received/css-writing-modes-3/abs-pos-non-replaced-vlr-165.xht
layout/reftests/w3c-css/received/css-writing-modes-3/abs-pos-non-replaced-vlr-167.xht
layout/reftests/w3c-css/received/css-writing-modes-3/abs-pos-non-replaced-vlr-169.xht
layout/reftests/w3c-css/received/css-writing-modes-3/abs-pos-non-replaced-vlr-171.xht
layout/reftests/w3c-css/received/css-writing-modes-3/abs-pos-non-replaced-vlr-173.xht
layout/reftests/w3c-css/received/css-writing-modes-3/abs-pos-non-replaced-vlr-175.xht
layout/reftests/w3c-css/received/css-writing-modes-3/abs-pos-non-replaced-vlr-177.xht
layout/reftests/w3c-css/received/css-writing-modes-3/abs-pos-non-replaced-vlr-179.xht
layout/reftests/w3c-css/received/css-writing-modes-3/abs-pos-non-replaced-vlr-181.xht
layout/reftests/w3c-css/received/css-writing-modes-3/abs-pos-non-replaced-vlr-183.xht
layout/reftests/w3c-css/received/css-writing-modes-3/abs-pos-non-replaced-vlr-185.xht
layout/reftests/w3c-css/received/css-writing-modes-3/abs-pos-non-replaced-vlr-187.xht
layout/reftests/w3c-css/received/css-writing-modes-3/abs-pos-non-replaced-vlr-189.xht
layout/reftests/w3c-css/received/css-writing-modes-3/abs-pos-non-replaced-vlr-191.xht
layout/reftests/w3c-css/received/css-writing-modes-3/abs-pos-non-replaced-vlr-193.xht
layout/reftests/w3c-css/received/css-writing-modes-3/abs-pos-non-replaced-vlr-195.xht
layout/reftests/w3c-css/received/css-writing-modes-3/abs-pos-non-replaced-vlr-197.xht
layout/reftests/w3c-css/received/css-writing-modes-3/abs-pos-non-replaced-vlr-199.xht
layout/reftests/w3c-css/received/css-writing-modes-3/abs-pos-non-replaced-vlr-201.xht
layout/reftests/w3c-css/received/css-writing-modes-3/abs-pos-non-replaced-vlr-203.xht
layout/reftests/w3c-css/received/css-writing-modes-3/abs-pos-non-replaced-vlr-205.xht
layout/reftests/w3c-css/received/css-writing-modes-3/abs-pos-non-replaced-vlr-207.xht
layout/reftests/w3c-css/received/css-writing-modes-3/abs-pos-non-replaced-vlr-209.xht
layout/reftests/w3c-css/received/css-writing-modes-3/abs-pos-non-replaced-vlr-211.xht
layout/reftests/w3c-css/received/css-writing-modes-3/abs-pos-non-replaced-vlr-213.xht
layout/reftests/w3c-css/received/css-writing-modes-3/abs-pos-non-replaced-vlr-215.xht
layout/reftests/w3c-css/received/css-writing-modes-3/abs-pos-non-replaced-vlr-217.xht
layout/reftests/w3c-css/received/css-writing-modes-3/abs-pos-non-replaced-vlr-219.xht
layout/reftests/w3c-css/received/css-writing-modes-3/abs-pos-non-replaced-vlr-221.xht
layout/reftests/w3c-css/received/css-writing-modes-3/abs-pos-non-replaced-vlr-223.xht
layout/reftests/w3c-css/received/css-writing-modes-3/abs-pos-non-replaced-vlr-225.xht
layout/reftests/w3c-css/received/css-writing-modes-3/abs-pos-non-replaced-vlr-227.xht
layout/reftests/w3c-css/received/css-writing-modes-3/abs-pos-non-replaced-vlr-229.xht
layout/reftests/w3c-css/received/css-writing-modes-3/abs-pos-non-replaced-vrl-002-ref.xht
layout/reftests/w3c-css/received/css-writing-modes-3/abs-pos-non-replaced-vrl-002.xht
layout/reftests/w3c-css/received/css-writing-modes-3/abs-pos-non-replaced-vrl-004-ref.xht
layout/reftests/w3c-css/received/css-writing-modes-3/abs-pos-non-replaced-vrl-004.xht
layout/reftests/w3c-css/received/css-writing-modes-3/abs-pos-non-replaced-vrl-006-ref.xht
layout/reftests/w3c-css/received/css-writing-modes-3/abs-pos-non-replaced-vrl-006.xht
layout/reftests/w3c-css/received/css-writing-modes-3/abs-pos-non-replaced-vrl-008.xht
layout/reftests/w3c-css/received/css-writing-modes-3/abs-pos-non-replaced-vrl-010.xht
layout/reftests/w3c-css/received/css-writing-modes-3/abs-pos-non-replaced-vrl-012-ref.xht
layout/reftests/w3c-css/received/css-writing-modes-3/abs-pos-non-replaced-vrl-012.xht
layout/reftests/w3c-css/received/css-writing-modes-3/abs-pos-non-replaced-vrl-014.xht
layout/reftests/w3c-css/received/css-writing-modes-3/abs-pos-non-replaced-vrl-016.xht
layout/reftests/w3c-css/received/css-writing-modes-3/abs-pos-non-replaced-vrl-018.xht
layout/reftests/w3c-css/received/css-writing-modes-3/abs-pos-non-replaced-vrl-020.xht
layout/reftests/w3c-css/received/css-writing-modes-3/abs-pos-non-replaced-vrl-022.xht
layout/reftests/w3c-css/received/css-writing-modes-3/abs-pos-non-replaced-vrl-024.xht
layout/reftests/w3c-css/received/css-writing-modes-3/abs-pos-non-replaced-vrl-026.xht
layout/reftests/w3c-css/received/css-writing-modes-3/abs-pos-non-replaced-vrl-028.xht
layout/reftests/w3c-css/received/css-writing-modes-3/abs-pos-non-replaced-vrl-030.xht
layout/reftests/w3c-css/received/css-writing-modes-3/abs-pos-non-replaced-vrl-032.xht
layout/reftests/w3c-css/received/css-writing-modes-3/abs-pos-non-replaced-vrl-034.xht
layout/reftests/w3c-css/received/css-writing-modes-3/abs-pos-non-replaced-vrl-036.xht
layout/reftests/w3c-css/received/css-writing-modes-3/abs-pos-non-replaced-vrl-038.xht
layout/reftests/w3c-css/received/css-writing-modes-3/abs-pos-non-replaced-vrl-040.xht
layout/reftests/w3c-css/received/css-writing-modes-3/abs-pos-non-replaced-vrl-042.xht
layout/reftests/w3c-css/received/css-writing-modes-3/abs-pos-non-replaced-vrl-044.xht
layout/reftests/w3c-css/received/css-writing-modes-3/abs-pos-non-replaced-vrl-046.xht
layout/reftests/w3c-css/received/css-writing-modes-3/abs-pos-non-replaced-vrl-048.xht
layout/reftests/w3c-css/received/css-writing-modes-3/abs-pos-non-replaced-vrl-050.xht
layout/reftests/w3c-css/received/css-writing-modes-3/abs-pos-non-replaced-vrl-052.xht
layout/reftests/w3c-css/received/css-writing-modes-3/abs-pos-non-replaced-vrl-054.xht
layout/reftests/w3c-css/received/css-writing-modes-3/abs-pos-non-replaced-vrl-056.xht
layout/reftests/w3c-css/received/css-writing-modes-3/abs-pos-non-replaced-vrl-058.xht
layout/reftests/w3c-css/received/css-writing-modes-3/abs-pos-non-replaced-vrl-060.xht
layout/reftests/w3c-css/received/css-writing-modes-3/abs-pos-non-replaced-vrl-062.xht
layout/reftests/w3c-css/received/css-writing-modes-3/abs-pos-non-replaced-vrl-064.xht
layout/reftests/w3c-css/received/css-writing-modes-3/abs-pos-non-replaced-vrl-066.xht
layout/reftests/w3c-css/received/css-writing-modes-3/abs-pos-non-replaced-vrl-068.xht
layout/reftests/w3c-css/received/css-writing-modes-3/abs-pos-non-replaced-vrl-070.xht
layout/reftests/w3c-css/received/css-writing-modes-3/abs-pos-non-replaced-vrl-072.xht
layout/reftests/w3c-css/received/css-writing-modes-3/abs-pos-non-replaced-vrl-074.xht
layout/reftests/w3c-css/received/css-writing-modes-3/abs-pos-non-replaced-vrl-076.xht
layout/reftests/w3c-css/received/css-writing-modes-3/abs-pos-non-replaced-vrl-078.xht
layout/reftests/w3c-css/received/css-writing-modes-3/abs-pos-non-replaced-vrl-080.xht
layout/reftests/w3c-css/received/css-writing-modes-3/abs-pos-non-replaced-vrl-082.xht
layout/reftests/w3c-css/received/css-writing-modes-3/abs-pos-non-replaced-vrl-084.xht
layout/reftests/w3c-css/received/css-writing-modes-3/abs-pos-non-replaced-vrl-086.xht
layout/reftests/w3c-css/received/css-writing-modes-3/abs-pos-non-replaced-vrl-088.xht
layout/reftests/w3c-css/received/css-writing-modes-3/abs-pos-non-replaced-vrl-090.xht
layout/reftests/w3c-css/received/css-writing-modes-3/abs-pos-non-replaced-vrl-092.xht
layout/reftests/w3c-css/received/css-writing-modes-3/abs-pos-non-replaced-vrl-094.xht
layout/reftests/w3c-css/received/css-writing-modes-3/abs-pos-non-replaced-vrl-096.xht
layout/reftests/w3c-css/received/css-writing-modes-3/abs-pos-non-replaced-vrl-102.xht
layout/reftests/w3c-css/received/css-writing-modes-3/abs-pos-non-replaced-vrl-104.xht
layout/reftests/w3c-css/received/css-writing-modes-3/abs-pos-non-replaced-vrl-106.xht
layout/reftests/w3c-css/received/css-writing-modes-3/abs-pos-non-replaced-vrl-108.xht
layout/reftests/w3c-css/received/css-writing-modes-3/abs-pos-non-replaced-vrl-110.xht
layout/reftests/w3c-css/received/css-writing-modes-3/abs-pos-non-replaced-vrl-112.xht
layout/reftests/w3c-css/received/css-writing-modes-3/abs-pos-non-replaced-vrl-114.xht
layout/reftests/w3c-css/received/css-writing-modes-3/abs-pos-non-replaced-vrl-116.xht
layout/reftests/w3c-css/received/css-writing-modes-3/abs-pos-non-replaced-vrl-118.xht
layout/reftests/w3c-css/received/css-writing-modes-3/abs-pos-non-replaced-vrl-120.xht
layout/reftests/w3c-css/received/css-writing-modes-3/abs-pos-non-replaced-vrl-122-ref.xht
layout/reftests/w3c-css/received/css-writing-modes-3/abs-pos-non-replaced-vrl-122.xht
layout/reftests/w3c-css/received/css-writing-modes-3/abs-pos-non-replaced-vrl-124.xht
layout/reftests/w3c-css/received/css-writing-modes-3/abs-pos-non-replaced-vrl-126.xht
layout/reftests/w3c-css/received/css-writing-modes-3/abs-pos-non-replaced-vrl-128.xht
layout/reftests/w3c-css/received/css-writing-modes-3/abs-pos-non-replaced-vrl-130-ref.xht
layout/reftests/w3c-css/received/css-writing-modes-3/abs-pos-non-replaced-vrl-130.xht
layout/reftests/w3c-css/received/css-writing-modes-3/abs-pos-non-replaced-vrl-132.xht
layout/reftests/w3c-css/received/css-writing-modes-3/abs-pos-non-replaced-vrl-134.xht
layout/reftests/w3c-css/received/css-writing-modes-3/abs-pos-non-replaced-vrl-136.xht
layout/reftests/w3c-css/received/css-writing-modes-3/abs-pos-non-replaced-vrl-138.xht
layout/reftests/w3c-css/received/css-writing-modes-3/abs-pos-non-replaced-vrl-140.xht
layout/reftests/w3c-css/received/css-writing-modes-3/abs-pos-non-replaced-vrl-142.xht
layout/reftests/w3c-css/received/css-writing-modes-3/abs-pos-non-replaced-vrl-144.xht
layout/reftests/w3c-css/received/css-writing-modes-3/abs-pos-non-replaced-vrl-146.xht
layout/reftests/w3c-css/received/css-writing-modes-3/abs-pos-non-replaced-vrl-148.xht
layout/reftests/w3c-css/received/css-writing-modes-3/abs-pos-non-replaced-vrl-150.xht
layout/reftests/w3c-css/received/css-writing-modes-3/abs-pos-non-replaced-vrl-152.xht
layout/reftests/w3c-css/received/css-writing-modes-3/abs-pos-non-replaced-vrl-154.xht
layout/reftests/w3c-css/received/css-writing-modes-3/abs-pos-non-replaced-vrl-156.xht
layout/reftests/w3c-css/received/css-writing-modes-3/abs-pos-non-replaced-vrl-158.xht
layout/reftests/w3c-css/received/css-writing-modes-3/abs-pos-non-replaced-vrl-160.xht
layout/reftests/w3c-css/received/css-writing-modes-3/abs-pos-non-replaced-vrl-162.xht
layout/reftests/w3c-css/received/css-writing-modes-3/abs-pos-non-replaced-vrl-164.xht
layout/reftests/w3c-css/received/css-writing-modes-3/abs-pos-non-replaced-vrl-166.xht
layout/reftests/w3c-css/received/css-writing-modes-3/abs-pos-non-replaced-vrl-168.xht
layout/reftests/w3c-css/received/css-writing-modes-3/abs-pos-non-replaced-vrl-170.xht
layout/reftests/w3c-css/received/css-writing-modes-3/abs-pos-non-replaced-vrl-172.xht
layout/reftests/w3c-css/received/css-writing-modes-3/abs-pos-non-replaced-vrl-174.xht
layout/reftests/w3c-css/received/css-writing-modes-3/abs-pos-non-replaced-vrl-176.xht
layout/reftests/w3c-css/received/css-writing-modes-3/abs-pos-non-replaced-vrl-178.xht
layout/reftests/w3c-css/received/css-writing-modes-3/abs-pos-non-replaced-vrl-180.xht
layout/reftests/w3c-css/received/css-writing-modes-3/abs-pos-non-replaced-vrl-182.xht
layout/reftests/w3c-css/received/css-writing-modes-3/abs-pos-non-replaced-vrl-184.xht
layout/reftests/w3c-css/received/css-writing-modes-3/abs-pos-non-replaced-vrl-186.xht
layout/reftests/w3c-css/received/css-writing-modes-3/abs-pos-non-replaced-vrl-188.xht
layout/reftests/w3c-css/received/css-writing-modes-3/abs-pos-non-replaced-vrl-190.xht
layout/reftests/w3c-css/received/css-writing-modes-3/abs-pos-non-replaced-vrl-192.xht
layout/reftests/w3c-css/received/css-writing-modes-3/abs-pos-non-replaced-vrl-194.xht
layout/reftests/w3c-css/received/css-writing-modes-3/abs-pos-non-replaced-vrl-196.xht
layout/reftests/w3c-css/received/css-writing-modes-3/abs-pos-non-replaced-vrl-198.xht
layout/reftests/w3c-css/received/css-writing-modes-3/abs-pos-non-replaced-vrl-200.xht
layout/reftests/w3c-css/received/css-writing-modes-3/abs-pos-non-replaced-vrl-202.xht
layout/reftests/w3c-css/received/css-writing-modes-3/abs-pos-non-replaced-vrl-204.xht
layout/reftests/w3c-css/received/css-writing-modes-3/abs-pos-non-replaced-vrl-206.xht
layout/reftests/w3c-css/received/css-writing-modes-3/abs-pos-non-replaced-vrl-208.xht
layout/reftests/w3c-css/received/css-writing-modes-3/abs-pos-non-replaced-vrl-210.xht
layout/reftests/w3c-css/received/css-writing-modes-3/abs-pos-non-replaced-vrl-212.xht
layout/reftests/w3c-css/received/css-writing-modes-3/abs-pos-non-replaced-vrl-214.xht
layout/reftests/w3c-css/received/css-writing-modes-3/abs-pos-non-replaced-vrl-216.xht
layout/reftests/w3c-css/received/css-writing-modes-3/abs-pos-non-replaced-vrl-218.xht
layout/reftests/w3c-css/received/css-writing-modes-3/abs-pos-non-replaced-vrl-220.xht
layout/reftests/w3c-css/received/css-writing-modes-3/abs-pos-non-replaced-vrl-222.xht
layout/reftests/w3c-css/received/css-writing-modes-3/abs-pos-non-replaced-vrl-224.xht
layout/reftests/w3c-css/received/css-writing-modes-3/abs-pos-non-replaced-vrl-226.xht
layout/reftests/w3c-css/received/css-writing-modes-3/abs-pos-non-replaced-vrl-228.xht
layout/reftests/w3c-css/received/css-writing-modes-3/background-position-vrl-018-ref.xht
layout/reftests/w3c-css/received/css-writing-modes-3/background-position-vrl-018.xht
layout/reftests/w3c-css/received/css-writing-modes-3/background-position-vrl-020.xht
layout/reftests/w3c-css/received/css-writing-modes-3/background-position-vrl-022.xht
layout/reftests/w3c-css/received/css-writing-modes-3/background-size-document-root-vrl-002-ref.xht
layout/reftests/w3c-css/received/css-writing-modes-3/background-size-document-root-vrl-002.html
layout/reftests/w3c-css/received/css-writing-modes-3/background-size-document-root-vrl-004.html
layout/reftests/w3c-css/received/css-writing-modes-3/background-size-document-root-vrl-006.html
layout/reftests/w3c-css/received/css-writing-modes-3/background-size-document-root-vrl-008.html
layout/reftests/w3c-css/received/css-writing-modes-3/baseline-inline-non-replaced-002.xht
layout/reftests/w3c-css/received/css-writing-modes-3/baseline-inline-non-replaced-003.xht
layout/reftests/w3c-css/received/css-writing-modes-3/baseline-inline-non-replaced-004.xht
layout/reftests/w3c-css/received/css-writing-modes-3/baseline-inline-non-replaced-005.xht
layout/reftests/w3c-css/received/css-writing-modes-3/baseline-inline-replaced-002-ref.xht
layout/reftests/w3c-css/received/css-writing-modes-3/baseline-inline-replaced-002.xht
layout/reftests/w3c-css/received/css-writing-modes-3/baseline-inline-replaced-003.xht
layout/reftests/w3c-css/received/css-writing-modes-3/bidi-embed-001.html
layout/reftests/w3c-css/received/css-writing-modes-3/bidi-embed-002.html
layout/reftests/w3c-css/received/css-writing-modes-3/bidi-embed-003.html
layout/reftests/w3c-css/received/css-writing-modes-3/bidi-embed-004.html
layout/reftests/w3c-css/received/css-writing-modes-3/bidi-embed-005.html
layout/reftests/w3c-css/received/css-writing-modes-3/bidi-embed-006.html
layout/reftests/w3c-css/received/css-writing-modes-3/bidi-embed-007.html
layout/reftests/w3c-css/received/css-writing-modes-3/bidi-embed-008.html
layout/reftests/w3c-css/received/css-writing-modes-3/bidi-embed-009.html
layout/reftests/w3c-css/received/css-writing-modes-3/bidi-embed-010.html
layout/reftests/w3c-css/received/css-writing-modes-3/bidi-embed-011.html
layout/reftests/w3c-css/received/css-writing-modes-3/bidi-isolate-001.html
layout/reftests/w3c-css/received/css-writing-modes-3/bidi-isolate-002.html
layout/reftests/w3c-css/received/css-writing-modes-3/bidi-isolate-003.html
layout/reftests/w3c-css/received/css-writing-modes-3/bidi-isolate-004.html
layout/reftests/w3c-css/received/css-writing-modes-3/bidi-isolate-005.html
layout/reftests/w3c-css/received/css-writing-modes-3/bidi-isolate-006.html
layout/reftests/w3c-css/received/css-writing-modes-3/bidi-isolate-007.html
layout/reftests/w3c-css/received/css-writing-modes-3/bidi-isolate-008.html
layout/reftests/w3c-css/received/css-writing-modes-3/bidi-isolate-009.html
layout/reftests/w3c-css/received/css-writing-modes-3/bidi-isolate-010.html
layout/reftests/w3c-css/received/css-writing-modes-3/bidi-isolate-011.html
layout/reftests/w3c-css/received/css-writing-modes-3/bidi-isolate-override-001.html
layout/reftests/w3c-css/received/css-writing-modes-3/bidi-isolate-override-002.html
layout/reftests/w3c-css/received/css-writing-modes-3/bidi-isolate-override-003.html
layout/reftests/w3c-css/received/css-writing-modes-3/bidi-isolate-override-004.html
layout/reftests/w3c-css/received/css-writing-modes-3/bidi-isolate-override-005.html
layout/reftests/w3c-css/received/css-writing-modes-3/bidi-isolate-override-006.html
layout/reftests/w3c-css/received/css-writing-modes-3/bidi-isolate-override-007.html
layout/reftests/w3c-css/received/css-writing-modes-3/bidi-isolate-override-008.html
layout/reftests/w3c-css/received/css-writing-modes-3/bidi-isolate-override-009.html
layout/reftests/w3c-css/received/css-writing-modes-3/bidi-isolate-override-010.html
layout/reftests/w3c-css/received/css-writing-modes-3/bidi-isolate-override-011.html
layout/reftests/w3c-css/received/css-writing-modes-3/bidi-isolate-override-012.html
layout/reftests/w3c-css/received/css-writing-modes-3/bidi-normal-001.html
layout/reftests/w3c-css/received/css-writing-modes-3/bidi-normal-002.html
layout/reftests/w3c-css/received/css-writing-modes-3/bidi-normal-003.html
layout/reftests/w3c-css/received/css-writing-modes-3/bidi-normal-004.html
layout/reftests/w3c-css/received/css-writing-modes-3/bidi-normal-005.html
layout/reftests/w3c-css/received/css-writing-modes-3/bidi-normal-006.html
layout/reftests/w3c-css/received/css-writing-modes-3/bidi-normal-007.html
layout/reftests/w3c-css/received/css-writing-modes-3/bidi-normal-008.html
layout/reftests/w3c-css/received/css-writing-modes-3/bidi-normal-009.html
layout/reftests/w3c-css/received/css-writing-modes-3/bidi-normal-010.html
layout/reftests/w3c-css/received/css-writing-modes-3/bidi-normal-011.html
layout/reftests/w3c-css/received/css-writing-modes-3/bidi-override-001.html
layout/reftests/w3c-css/received/css-writing-modes-3/bidi-override-002.html
layout/reftests/w3c-css/received/css-writing-modes-3/bidi-override-003.html
layout/reftests/w3c-css/received/css-writing-modes-3/bidi-override-004.html
layout/reftests/w3c-css/received/css-writing-modes-3/bidi-override-005.html
layout/reftests/w3c-css/received/css-writing-modes-3/bidi-override-006.html
layout/reftests/w3c-css/received/css-writing-modes-3/bidi-override-007.html
layout/reftests/w3c-css/received/css-writing-modes-3/bidi-override-008.html
layout/reftests/w3c-css/received/css-writing-modes-3/bidi-override-009.html
layout/reftests/w3c-css/received/css-writing-modes-3/bidi-override-010.html
layout/reftests/w3c-css/received/css-writing-modes-3/bidi-override-011.html
layout/reftests/w3c-css/received/css-writing-modes-3/bidi-override-012.html
layout/reftests/w3c-css/received/css-writing-modes-3/bidi-plaintext-001.html
layout/reftests/w3c-css/received/css-writing-modes-3/bidi-plaintext-002.html
layout/reftests/w3c-css/received/css-writing-modes-3/bidi-plaintext-003.html
layout/reftests/w3c-css/received/css-writing-modes-3/bidi-plaintext-004.html
layout/reftests/w3c-css/received/css-writing-modes-3/bidi-plaintext-005.html
layout/reftests/w3c-css/received/css-writing-modes-3/bidi-plaintext-006.html
layout/reftests/w3c-css/received/css-writing-modes-3/bidi-plaintext-007.html
layout/reftests/w3c-css/received/css-writing-modes-3/bidi-plaintext-008.html
layout/reftests/w3c-css/received/css-writing-modes-3/bidi-plaintext-009.html
layout/reftests/w3c-css/received/css-writing-modes-3/bidi-plaintext-010.html
layout/reftests/w3c-css/received/css-writing-modes-3/bidi-plaintext-011.html
layout/reftests/w3c-css/received/css-writing-modes-3/bidi-unset-001.html
layout/reftests/w3c-css/received/css-writing-modes-3/bidi-unset-002.html
layout/reftests/w3c-css/received/css-writing-modes-3/bidi-unset-003.html
layout/reftests/w3c-css/received/css-writing-modes-3/bidi-unset-004.html
layout/reftests/w3c-css/received/css-writing-modes-3/bidi-unset-005.html
layout/reftests/w3c-css/received/css-writing-modes-3/bidi-unset-006.html
layout/reftests/w3c-css/received/css-writing-modes-3/bidi-unset-007.html
layout/reftests/w3c-css/received/css-writing-modes-3/bidi-unset-008.html
layout/reftests/w3c-css/received/css-writing-modes-3/bidi-unset-009.html
layout/reftests/w3c-css/received/css-writing-modes-3/bidi-unset-010.html
layout/reftests/w3c-css/received/css-writing-modes-3/block-embed-001.html
layout/reftests/w3c-css/received/css-writing-modes-3/block-embed-002.html
layout/reftests/w3c-css/received/css-writing-modes-3/block-embed-003.html
layout/reftests/w3c-css/received/css-writing-modes-3/block-flow-direction-001-ref.xht
layout/reftests/w3c-css/received/css-writing-modes-3/block-flow-direction-002-ref.xht
layout/reftests/w3c-css/received/css-writing-modes-3/block-flow-direction-004.xht
layout/reftests/w3c-css/received/css-writing-modes-3/block-flow-direction-025-ref.xht
layout/reftests/w3c-css/received/css-writing-modes-3/block-flow-direction-043-ref.xht
layout/reftests/w3c-css/received/css-writing-modes-3/block-flow-direction-066-ref.xht
layout/reftests/w3c-css/received/css-writing-modes-3/block-flow-direction-htb-001.xht
layout/reftests/w3c-css/received/css-writing-modes-3/block-flow-direction-slr-043.xht
layout/reftests/w3c-css/received/css-writing-modes-3/block-flow-direction-slr-047.xht
layout/reftests/w3c-css/received/css-writing-modes-3/block-flow-direction-slr-048.xht
layout/reftests/w3c-css/received/css-writing-modes-3/block-flow-direction-slr-050.xht
layout/reftests/w3c-css/received/css-writing-modes-3/block-flow-direction-slr-054.xht
layout/reftests/w3c-css/received/css-writing-modes-3/block-flow-direction-slr-055.xht
layout/reftests/w3c-css/received/css-writing-modes-3/block-flow-direction-slr-056.xht
layout/reftests/w3c-css/received/css-writing-modes-3/block-flow-direction-slr-058.xht
layout/reftests/w3c-css/received/css-writing-modes-3/block-flow-direction-slr-060.xht
layout/reftests/w3c-css/received/css-writing-modes-3/block-flow-direction-slr-062.xht
layout/reftests/w3c-css/received/css-writing-modes-3/block-flow-direction-slr-063.xht
layout/reftests/w3c-css/received/css-writing-modes-3/block-flow-direction-slr-066.xht
layout/reftests/w3c-css/received/css-writing-modes-3/block-flow-direction-srl-042.xht
layout/reftests/w3c-css/received/css-writing-modes-3/block-flow-direction-srl-045.xht
layout/reftests/w3c-css/received/css-writing-modes-3/block-flow-direction-srl-046.xht
layout/reftests/w3c-css/received/css-writing-modes-3/block-flow-direction-srl-049.xht
layout/reftests/w3c-css/received/css-writing-modes-3/block-flow-direction-srl-051.xht
layout/reftests/w3c-css/received/css-writing-modes-3/block-flow-direction-srl-052.xht
layout/reftests/w3c-css/received/css-writing-modes-3/block-flow-direction-srl-053.xht
layout/reftests/w3c-css/received/css-writing-modes-3/block-flow-direction-srl-057.xht
layout/reftests/w3c-css/received/css-writing-modes-3/block-flow-direction-srl-059.xht
layout/reftests/w3c-css/received/css-writing-modes-3/block-flow-direction-srl-061.xht
layout/reftests/w3c-css/received/css-writing-modes-3/block-flow-direction-srl-064.xht
layout/reftests/w3c-css/received/css-writing-modes-3/block-flow-direction-srl-065.xht
layout/reftests/w3c-css/received/css-writing-modes-3/block-flow-direction-vlr-003.xht
layout/reftests/w3c-css/received/css-writing-modes-3/block-flow-direction-vlr-007.xht
layout/reftests/w3c-css/received/css-writing-modes-3/block-flow-direction-vlr-008.xht
layout/reftests/w3c-css/received/css-writing-modes-3/block-flow-direction-vlr-010.xht
layout/reftests/w3c-css/received/css-writing-modes-3/block-flow-direction-vlr-014.xht
layout/reftests/w3c-css/received/css-writing-modes-3/block-flow-direction-vlr-015.xht
layout/reftests/w3c-css/received/css-writing-modes-3/block-flow-direction-vlr-016.xht
layout/reftests/w3c-css/received/css-writing-modes-3/block-flow-direction-vlr-018.xht
layout/reftests/w3c-css/received/css-writing-modes-3/block-flow-direction-vlr-020.xht
layout/reftests/w3c-css/received/css-writing-modes-3/block-flow-direction-vlr-022.xht
layout/reftests/w3c-css/received/css-writing-modes-3/block-flow-direction-vlr-023.xht
layout/reftests/w3c-css/received/css-writing-modes-3/block-flow-direction-vrl-002.xht
layout/reftests/w3c-css/received/css-writing-modes-3/block-flow-direction-vrl-005.xht
layout/reftests/w3c-css/received/css-writing-modes-3/block-flow-direction-vrl-006.xht
layout/reftests/w3c-css/received/css-writing-modes-3/block-flow-direction-vrl-009.xht
layout/reftests/w3c-css/received/css-writing-modes-3/block-flow-direction-vrl-011.xht
layout/reftests/w3c-css/received/css-writing-modes-3/block-flow-direction-vrl-012.xht
layout/reftests/w3c-css/received/css-writing-modes-3/block-flow-direction-vrl-013.xht
layout/reftests/w3c-css/received/css-writing-modes-3/block-flow-direction-vrl-017.xht
layout/reftests/w3c-css/received/css-writing-modes-3/block-flow-direction-vrl-019.xht
layout/reftests/w3c-css/received/css-writing-modes-3/block-flow-direction-vrl-021.xht
layout/reftests/w3c-css/received/css-writing-modes-3/block-flow-direction-vrl-024.xht
layout/reftests/w3c-css/received/css-writing-modes-3/block-flow-direction-vrl-025.xht
layout/reftests/w3c-css/received/css-writing-modes-3/block-flow-direction-vrl-026-ref.xht
layout/reftests/w3c-css/received/css-writing-modes-3/block-flow-direction-vrl-026.xht
layout/reftests/w3c-css/received/css-writing-modes-3/block-override-001.html
layout/reftests/w3c-css/received/css-writing-modes-3/block-override-002.html
layout/reftests/w3c-css/received/css-writing-modes-3/block-override-003.html
layout/reftests/w3c-css/received/css-writing-modes-3/block-override-004.html
layout/reftests/w3c-css/received/css-writing-modes-3/block-override-isolate-001.html
layout/reftests/w3c-css/received/css-writing-modes-3/block-override-isolate-002.html
layout/reftests/w3c-css/received/css-writing-modes-3/block-override-isolate-003.html
layout/reftests/w3c-css/received/css-writing-modes-3/block-override-isolate-004.html
layout/reftests/w3c-css/received/css-writing-modes-3/block-plaintext-001.html
layout/reftests/w3c-css/received/css-writing-modes-3/block-plaintext-002.html
layout/reftests/w3c-css/received/css-writing-modes-3/block-plaintext-003.html
layout/reftests/w3c-css/received/css-writing-modes-3/block-plaintext-004.html
layout/reftests/w3c-css/received/css-writing-modes-3/border-conflict-element-vlr-003.xht
layout/reftests/w3c-css/received/css-writing-modes-3/border-conflict-element-vlr-005.xht
layout/reftests/w3c-css/received/css-writing-modes-3/border-conflict-element-vlr-007.xht
layout/reftests/w3c-css/received/css-writing-modes-3/border-conflict-element-vlr-009.xht
layout/reftests/w3c-css/received/css-writing-modes-3/border-conflict-element-vlr-011.xht
layout/reftests/w3c-css/received/css-writing-modes-3/border-conflict-element-vlr-013.xht
layout/reftests/w3c-css/received/css-writing-modes-3/border-conflict-element-vrl-002.xht
layout/reftests/w3c-css/received/css-writing-modes-3/border-conflict-element-vrl-004.xht
layout/reftests/w3c-css/received/css-writing-modes-3/border-conflict-element-vrl-006.xht
layout/reftests/w3c-css/received/css-writing-modes-3/border-conflict-element-vrl-008.xht
layout/reftests/w3c-css/received/css-writing-modes-3/border-conflict-element-vrl-010.xht
layout/reftests/w3c-css/received/css-writing-modes-3/border-conflict-element-vrl-012.xht
layout/reftests/w3c-css/received/css-writing-modes-3/border-spacing-vlr-003.xht
layout/reftests/w3c-css/received/css-writing-modes-3/border-spacing-vlr-005.xht
layout/reftests/w3c-css/received/css-writing-modes-3/border-spacing-vrl-002-ref.xht
layout/reftests/w3c-css/received/css-writing-modes-3/border-spacing-vrl-002.xht
layout/reftests/w3c-css/received/css-writing-modes-3/border-spacing-vrl-004.xht
layout/reftests/w3c-css/received/css-writing-modes-3/border-vlr-007.xht
layout/reftests/w3c-css/received/css-writing-modes-3/border-vrl-006.xht
layout/reftests/w3c-css/received/css-writing-modes-3/box-offsets-rel-pos-vlr-003.xht
layout/reftests/w3c-css/received/css-writing-modes-3/box-offsets-rel-pos-vlr-005-ref.xht
layout/reftests/w3c-css/received/css-writing-modes-3/box-offsets-rel-pos-vlr-005.xht
layout/reftests/w3c-css/received/css-writing-modes-3/box-offsets-rel-pos-vrl-002.xht
layout/reftests/w3c-css/received/css-writing-modes-3/box-offsets-rel-pos-vrl-004-ref.xht
layout/reftests/w3c-css/received/css-writing-modes-3/box-offsets-rel-pos-vrl-004.xht
layout/reftests/w3c-css/received/css-writing-modes-3/caption-side-vlr-003.xht
layout/reftests/w3c-css/received/css-writing-modes-3/caption-side-vlr-005.xht
layout/reftests/w3c-css/received/css-writing-modes-3/caption-side-vrl-002.xht
layout/reftests/w3c-css/received/css-writing-modes-3/caption-side-vrl-004.xht
layout/reftests/w3c-css/received/css-writing-modes-3/central-baseline-alignment-002-ref.xht
layout/reftests/w3c-css/received/css-writing-modes-3/central-baseline-alignment-002.xht
layout/reftests/w3c-css/received/css-writing-modes-3/central-baseline-alignment-003.xht
layout/reftests/w3c-css/received/css-writing-modes-3/clearance-calculations-vrl-002-ref.xht
layout/reftests/w3c-css/received/css-writing-modes-3/clearance-calculations-vrl-002.xht
layout/reftests/w3c-css/received/css-writing-modes-3/clearance-calculations-vrl-004-ref.xht
layout/reftests/w3c-css/received/css-writing-modes-3/clearance-calculations-vrl-004.xht
layout/reftests/w3c-css/received/css-writing-modes-3/clearance-calculations-vrl-006-ref.xht
layout/reftests/w3c-css/received/css-writing-modes-3/clearance-calculations-vrl-006.xht
layout/reftests/w3c-css/received/css-writing-modes-3/clearance-calculations-vrl-008-ref.xht
layout/reftests/w3c-css/received/css-writing-modes-3/clearance-calculations-vrl-008.xht
layout/reftests/w3c-css/received/css-writing-modes-3/clip-rect-vlr-003.xht
layout/reftests/w3c-css/received/css-writing-modes-3/clip-rect-vlr-005.xht
layout/reftests/w3c-css/received/css-writing-modes-3/clip-rect-vlr-007.xht
layout/reftests/w3c-css/received/css-writing-modes-3/clip-rect-vlr-009.xht
layout/reftests/w3c-css/received/css-writing-modes-3/clip-rect-vlr-011-ref.xht
layout/reftests/w3c-css/received/css-writing-modes-3/clip-rect-vlr-011.xht
layout/reftests/w3c-css/received/css-writing-modes-3/clip-rect-vlr-013-ref.xht
layout/reftests/w3c-css/received/css-writing-modes-3/clip-rect-vlr-013.xht
layout/reftests/w3c-css/received/css-writing-modes-3/clip-rect-vlr-015-ref.xht
layout/reftests/w3c-css/received/css-writing-modes-3/clip-rect-vlr-015.xht
layout/reftests/w3c-css/received/css-writing-modes-3/clip-rect-vlr-017-ref.xht
layout/reftests/w3c-css/received/css-writing-modes-3/clip-rect-vlr-017.xht
layout/reftests/w3c-css/received/css-writing-modes-3/clip-rect-vrl-002-ref.xht
layout/reftests/w3c-css/received/css-writing-modes-3/clip-rect-vrl-002.xht
layout/reftests/w3c-css/received/css-writing-modes-3/clip-rect-vrl-004-ref.xht
layout/reftests/w3c-css/received/css-writing-modes-3/clip-rect-vrl-004.xht
layout/reftests/w3c-css/received/css-writing-modes-3/clip-rect-vrl-006-ref.xht
layout/reftests/w3c-css/received/css-writing-modes-3/clip-rect-vrl-006.xht
layout/reftests/w3c-css/received/css-writing-modes-3/clip-rect-vrl-008-ref.xht
layout/reftests/w3c-css/received/css-writing-modes-3/clip-rect-vrl-008.xht
layout/reftests/w3c-css/received/css-writing-modes-3/clip-rect-vrl-010-ref.xht
layout/reftests/w3c-css/received/css-writing-modes-3/clip-rect-vrl-010.xht
layout/reftests/w3c-css/received/css-writing-modes-3/clip-rect-vrl-012-ref.xht
layout/reftests/w3c-css/received/css-writing-modes-3/clip-rect-vrl-012.xht
layout/reftests/w3c-css/received/css-writing-modes-3/clip-rect-vrl-014-ref.xht
layout/reftests/w3c-css/received/css-writing-modes-3/clip-rect-vrl-014.xht
layout/reftests/w3c-css/received/css-writing-modes-3/clip-rect-vrl-016-ref.xht
layout/reftests/w3c-css/received/css-writing-modes-3/clip-rect-vrl-016.xht
layout/reftests/w3c-css/received/css-writing-modes-3/contiguous-floated-table-vlr-003.xht
layout/reftests/w3c-css/received/css-writing-modes-3/contiguous-floated-table-vlr-005.xht
layout/reftests/w3c-css/received/css-writing-modes-3/contiguous-floated-table-vlr-007.xht
layout/reftests/w3c-css/received/css-writing-modes-3/contiguous-floated-table-vlr-009.xht
layout/reftests/w3c-css/received/css-writing-modes-3/contiguous-floated-table-vrl-002.xht
layout/reftests/w3c-css/received/css-writing-modes-3/contiguous-floated-table-vrl-004.xht
layout/reftests/w3c-css/received/css-writing-modes-3/contiguous-floated-table-vrl-006.xht
layout/reftests/w3c-css/received/css-writing-modes-3/contiguous-floated-table-vrl-008.xht
layout/reftests/w3c-css/received/css-writing-modes-3/different-block-flow-dir-001.xht
layout/reftests/w3c-css/received/css-writing-modes-3/different-block-flow-dir-002.xht
layout/reftests/w3c-css/received/css-writing-modes-3/direction-vlr-003-ref.xht
layout/reftests/w3c-css/received/css-writing-modes-3/direction-vlr-003.xht
layout/reftests/w3c-css/received/css-writing-modes-3/direction-vlr-005.xht
layout/reftests/w3c-css/received/css-writing-modes-3/direction-vrl-002-ref.xht
layout/reftests/w3c-css/received/css-writing-modes-3/direction-vrl-002.xht
layout/reftests/w3c-css/received/css-writing-modes-3/direction-vrl-004-ref.xht
layout/reftests/w3c-css/received/css-writing-modes-3/direction-vrl-004.xht
layout/reftests/w3c-css/received/css-writing-modes-3/flexbox_align-items-stretch-writing-modes-ref.html
layout/reftests/w3c-css/received/css-writing-modes-3/flexbox_align-items-stretch-writing-modes.html
layout/reftests/w3c-css/received/css-writing-modes-3/float-clear-vlr-003.xht
layout/reftests/w3c-css/received/css-writing-modes-3/float-clear-vlr-005.xht
layout/reftests/w3c-css/received/css-writing-modes-3/float-clear-vlr-007.xht
layout/reftests/w3c-css/received/css-writing-modes-3/float-clear-vlr-009.xht
layout/reftests/w3c-css/received/css-writing-modes-3/float-clear-vrl-002.xht
layout/reftests/w3c-css/received/css-writing-modes-3/float-clear-vrl-004.xht
layout/reftests/w3c-css/received/css-writing-modes-3/float-clear-vrl-006.xht
layout/reftests/w3c-css/received/css-writing-modes-3/float-clear-vrl-008.xht
layout/reftests/w3c-css/received/css-writing-modes-3/float-contiguous-vlr-003.xht
layout/reftests/w3c-css/received/css-writing-modes-3/float-contiguous-vlr-005.xht
layout/reftests/w3c-css/received/css-writing-modes-3/float-contiguous-vlr-007-ref.xht
layout/reftests/w3c-css/received/css-writing-modes-3/float-contiguous-vlr-007.xht
layout/reftests/w3c-css/received/css-writing-modes-3/float-contiguous-vlr-009-ref.xht
layout/reftests/w3c-css/received/css-writing-modes-3/float-contiguous-vlr-009.xht
layout/reftests/w3c-css/received/css-writing-modes-3/float-contiguous-vlr-011.xht
layout/reftests/w3c-css/received/css-writing-modes-3/float-contiguous-vlr-013.xht
layout/reftests/w3c-css/received/css-writing-modes-3/float-contiguous-vrl-002.xht
layout/reftests/w3c-css/received/css-writing-modes-3/float-contiguous-vrl-004.xht
layout/reftests/w3c-css/received/css-writing-modes-3/float-contiguous-vrl-006-ref.xht
layout/reftests/w3c-css/received/css-writing-modes-3/float-contiguous-vrl-006.xht
layout/reftests/w3c-css/received/css-writing-modes-3/float-contiguous-vrl-008-ref.xht
layout/reftests/w3c-css/received/css-writing-modes-3/float-contiguous-vrl-008.xht
layout/reftests/w3c-css/received/css-writing-modes-3/float-contiguous-vrl-010.xht
layout/reftests/w3c-css/received/css-writing-modes-3/float-contiguous-vrl-012-ref.xht
layout/reftests/w3c-css/received/css-writing-modes-3/float-contiguous-vrl-012.xht
layout/reftests/w3c-css/received/css-writing-modes-3/float-shrink-to-fit-vlr-003.xht
layout/reftests/w3c-css/received/css-writing-modes-3/float-shrink-to-fit-vlr-005.xht
layout/reftests/w3c-css/received/css-writing-modes-3/float-shrink-to-fit-vlr-007.xht
layout/reftests/w3c-css/received/css-writing-modes-3/float-shrink-to-fit-vlr-009.xht
layout/reftests/w3c-css/received/css-writing-modes-3/float-shrink-to-fit-vrl-002.xht
layout/reftests/w3c-css/received/css-writing-modes-3/float-shrink-to-fit-vrl-004.xht
layout/reftests/w3c-css/received/css-writing-modes-3/float-shrink-to-fit-vrl-006.xht
layout/reftests/w3c-css/received/css-writing-modes-3/float-shrink-to-fit-vrl-008.xht
layout/reftests/w3c-css/received/css-writing-modes-3/float-shrink-to-fit-vrl-vlr-016.xht
layout/reftests/w3c-css/received/css-writing-modes-3/float-vlr-003.xht
layout/reftests/w3c-css/received/css-writing-modes-3/float-vlr-005.xht
layout/reftests/w3c-css/received/css-writing-modes-3/float-vlr-007.xht
layout/reftests/w3c-css/received/css-writing-modes-3/float-vlr-009.xht
layout/reftests/w3c-css/received/css-writing-modes-3/float-vlr-011.xht
layout/reftests/w3c-css/received/css-writing-modes-3/float-vlr-013.xht
layout/reftests/w3c-css/received/css-writing-modes-3/float-vrl-002.xht
layout/reftests/w3c-css/received/css-writing-modes-3/float-vrl-004.xht
layout/reftests/w3c-css/received/css-writing-modes-3/float-vrl-006.xht
layout/reftests/w3c-css/received/css-writing-modes-3/float-vrl-008.xht
layout/reftests/w3c-css/received/css-writing-modes-3/float-vrl-010.xht
layout/reftests/w3c-css/received/css-writing-modes-3/float-vrl-012.xht
layout/reftests/w3c-css/received/css-writing-modes-3/full-width-001.html
layout/reftests/w3c-css/received/css-writing-modes-3/full-width-002.html
layout/reftests/w3c-css/received/css-writing-modes-3/full-width-003.html
layout/reftests/w3c-css/received/css-writing-modes-3/height-width-inline-non-replaced-vlr-003.xht
layout/reftests/w3c-css/received/css-writing-modes-3/height-width-inline-non-replaced-vrl-002.xht
layout/reftests/w3c-css/received/css-writing-modes-3/horizontal-rule-vlr-003-ref.xht
layout/reftests/w3c-css/received/css-writing-modes-3/horizontal-rule-vlr-003.xht
layout/reftests/w3c-css/received/css-writing-modes-3/horizontal-rule-vlr-005.xht
layout/reftests/w3c-css/received/css-writing-modes-3/horizontal-rule-vrl-002-ref.xht
layout/reftests/w3c-css/received/css-writing-modes-3/horizontal-rule-vrl-002.xht
layout/reftests/w3c-css/received/css-writing-modes-3/horizontal-rule-vrl-004-ref.xht
layout/reftests/w3c-css/received/css-writing-modes-3/horizontal-rule-vrl-004.xht
layout/reftests/w3c-css/received/css-writing-modes-3/inline-block-alignment-002-ref.xht
layout/reftests/w3c-css/received/css-writing-modes-3/inline-block-alignment-002.xht
layout/reftests/w3c-css/received/css-writing-modes-3/inline-block-alignment-003-ref.xht
layout/reftests/w3c-css/received/css-writing-modes-3/inline-block-alignment-003.xht
layout/reftests/w3c-css/received/css-writing-modes-3/inline-block-alignment-004.xht
layout/reftests/w3c-css/received/css-writing-modes-3/inline-block-alignment-005.xht
layout/reftests/w3c-css/received/css-writing-modes-3/inline-block-alignment-006-ref.xht
layout/reftests/w3c-css/received/css-writing-modes-3/inline-block-alignment-006.xht
layout/reftests/w3c-css/received/css-writing-modes-3/inline-block-alignment-007.xht
layout/reftests/w3c-css/received/css-writing-modes-3/inline-block-alignment-orthogonal-vlr-003.xht
layout/reftests/w3c-css/received/css-writing-modes-3/inline-block-alignment-orthogonal-vlr-005.xht
layout/reftests/w3c-css/received/css-writing-modes-3/inline-block-alignment-orthogonal-vrl-002-ref.xht
layout/reftests/w3c-css/received/css-writing-modes-3/inline-block-alignment-orthogonal-vrl-002.xht
layout/reftests/w3c-css/received/css-writing-modes-3/inline-block-alignment-orthogonal-vrl-004.xht
layout/reftests/w3c-css/received/css-writing-modes-3/inline-block-alignment-slr-009-ref.xht
layout/reftests/w3c-css/received/css-writing-modes-3/inline-block-alignment-slr-009.xht
layout/reftests/w3c-css/received/css-writing-modes-3/inline-block-alignment-srl-008.xht
layout/reftests/w3c-css/received/css-writing-modes-3/inline-replaced-vlr-003.xht
layout/reftests/w3c-css/received/css-writing-modes-3/inline-replaced-vlr-005.xht
layout/reftests/w3c-css/received/css-writing-modes-3/inline-replaced-vrl-002-ref.xht
layout/reftests/w3c-css/received/css-writing-modes-3/inline-replaced-vrl-002.xht
layout/reftests/w3c-css/received/css-writing-modes-3/inline-replaced-vrl-004-ref.xht
layout/reftests/w3c-css/received/css-writing-modes-3/inline-replaced-vrl-004.xht
layout/reftests/w3c-css/received/css-writing-modes-3/inline-table-alignment-002-ref.xht
layout/reftests/w3c-css/received/css-writing-modes-3/inline-table-alignment-002.xht
layout/reftests/w3c-css/received/css-writing-modes-3/inline-table-alignment-003-ref.xht
layout/reftests/w3c-css/received/css-writing-modes-3/inline-table-alignment-003.xht
layout/reftests/w3c-css/received/css-writing-modes-3/inline-table-alignment-004.xht
layout/reftests/w3c-css/received/css-writing-modes-3/inline-table-alignment-005.xht
layout/reftests/w3c-css/received/css-writing-modes-3/line-box-direction-htb-001.xht
layout/reftests/w3c-css/received/css-writing-modes-3/line-box-direction-slr-043.xht
layout/reftests/w3c-css/received/css-writing-modes-3/line-box-direction-slr-047.xht
layout/reftests/w3c-css/received/css-writing-modes-3/line-box-direction-slr-048.xht
layout/reftests/w3c-css/received/css-writing-modes-3/line-box-direction-slr-050.xht
layout/reftests/w3c-css/received/css-writing-modes-3/line-box-direction-slr-053.xht
layout/reftests/w3c-css/received/css-writing-modes-3/line-box-direction-slr-054.xht
layout/reftests/w3c-css/received/css-writing-modes-3/line-box-direction-slr-056.xht
layout/reftests/w3c-css/received/css-writing-modes-3/line-box-direction-slr-058.xht
layout/reftests/w3c-css/received/css-writing-modes-3/line-box-direction-slr-060.xht
layout/reftests/w3c-css/received/css-writing-modes-3/line-box-direction-srl-042.xht
layout/reftests/w3c-css/received/css-writing-modes-3/line-box-direction-srl-045.xht
layout/reftests/w3c-css/received/css-writing-modes-3/line-box-direction-srl-046.xht
layout/reftests/w3c-css/received/css-writing-modes-3/line-box-direction-srl-049.xht
layout/reftests/w3c-css/received/css-writing-modes-3/line-box-direction-srl-051.xht
layout/reftests/w3c-css/received/css-writing-modes-3/line-box-direction-srl-052.xht
layout/reftests/w3c-css/received/css-writing-modes-3/line-box-direction-srl-055.xht
layout/reftests/w3c-css/received/css-writing-modes-3/line-box-direction-srl-057.xht
layout/reftests/w3c-css/received/css-writing-modes-3/line-box-direction-srl-059.xht
layout/reftests/w3c-css/received/css-writing-modes-3/line-box-direction-vlr-003.xht
layout/reftests/w3c-css/received/css-writing-modes-3/line-box-direction-vlr-007.xht
layout/reftests/w3c-css/received/css-writing-modes-3/line-box-direction-vlr-008.xht
layout/reftests/w3c-css/received/css-writing-modes-3/line-box-direction-vlr-010.xht
layout/reftests/w3c-css/received/css-writing-modes-3/line-box-direction-vlr-013.xht
layout/reftests/w3c-css/received/css-writing-modes-3/line-box-direction-vlr-014.xht
layout/reftests/w3c-css/received/css-writing-modes-3/line-box-direction-vlr-016.xht
layout/reftests/w3c-css/received/css-writing-modes-3/line-box-direction-vlr-018.xht
layout/reftests/w3c-css/received/css-writing-modes-3/line-box-direction-vlr-020.xht
layout/reftests/w3c-css/received/css-writing-modes-3/line-box-direction-vrl-002.xht
layout/reftests/w3c-css/received/css-writing-modes-3/line-box-direction-vrl-005.xht
layout/reftests/w3c-css/received/css-writing-modes-3/line-box-direction-vrl-006.xht
layout/reftests/w3c-css/received/css-writing-modes-3/line-box-direction-vrl-009.xht
layout/reftests/w3c-css/received/css-writing-modes-3/line-box-direction-vrl-011.xht
layout/reftests/w3c-css/received/css-writing-modes-3/line-box-direction-vrl-012.xht
layout/reftests/w3c-css/received/css-writing-modes-3/line-box-direction-vrl-015.xht
layout/reftests/w3c-css/received/css-writing-modes-3/line-box-direction-vrl-017.xht
layout/reftests/w3c-css/received/css-writing-modes-3/line-box-direction-vrl-019.xht
layout/reftests/w3c-css/received/css-writing-modes-3/line-box-height-vlr-003-ref.xht
layout/reftests/w3c-css/received/css-writing-modes-3/line-box-height-vlr-003.xht
layout/reftests/w3c-css/received/css-writing-modes-3/line-box-height-vlr-005.xht
layout/reftests/w3c-css/received/css-writing-modes-3/line-box-height-vlr-007-ref.xht
layout/reftests/w3c-css/received/css-writing-modes-3/line-box-height-vlr-007.xht
layout/reftests/w3c-css/received/css-writing-modes-3/line-box-height-vlr-009.xht
layout/reftests/w3c-css/received/css-writing-modes-3/line-box-height-vlr-011-ref.xht
layout/reftests/w3c-css/received/css-writing-modes-3/line-box-height-vlr-011.xht
layout/reftests/w3c-css/received/css-writing-modes-3/line-box-height-vlr-013.xht
layout/reftests/w3c-css/received/css-writing-modes-3/line-box-height-vlr-021-ref.xht
layout/reftests/w3c-css/received/css-writing-modes-3/line-box-height-vlr-021.xht
layout/reftests/w3c-css/received/css-writing-modes-3/line-box-height-vlr-023-ref.xht
layout/reftests/w3c-css/received/css-writing-modes-3/line-box-height-vlr-023.xht
layout/reftests/w3c-css/received/css-writing-modes-3/line-box-height-vrl-002-ref.xht
layout/reftests/w3c-css/received/css-writing-modes-3/line-box-height-vrl-002.xht
layout/reftests/w3c-css/received/css-writing-modes-3/line-box-height-vrl-004.xht
layout/reftests/w3c-css/received/css-writing-modes-3/line-box-height-vrl-006-ref.xht
layout/reftests/w3c-css/received/css-writing-modes-3/line-box-height-vrl-006.xht
layout/reftests/w3c-css/received/css-writing-modes-3/line-box-height-vrl-008.xht
layout/reftests/w3c-css/received/css-writing-modes-3/line-box-height-vrl-010-ref.xht
layout/reftests/w3c-css/received/css-writing-modes-3/line-box-height-vrl-010.xht
layout/reftests/w3c-css/received/css-writing-modes-3/line-box-height-vrl-012.xht
layout/reftests/w3c-css/received/css-writing-modes-3/margin-collapse-vlr-003.xht
layout/reftests/w3c-css/received/css-writing-modes-3/margin-collapse-vlr-009.xht
layout/reftests/w3c-css/received/css-writing-modes-3/margin-collapse-vlr-011.xht
layout/reftests/w3c-css/received/css-writing-modes-3/margin-collapse-vlr-015.xht
layout/reftests/w3c-css/received/css-writing-modes-3/margin-collapse-vlr-017.xht
layout/reftests/w3c-css/received/css-writing-modes-3/margin-collapse-vlr-025.xht
layout/reftests/w3c-css/received/css-writing-modes-3/margin-collapse-vlr-031.xht
layout/reftests/w3c-css/received/css-writing-modes-3/margin-collapse-vlr-035.xht
layout/reftests/w3c-css/received/css-writing-modes-3/margin-collapse-vlr-037.xht
layout/reftests/w3c-css/received/css-writing-modes-3/margin-collapse-vrl-002.xht
layout/reftests/w3c-css/received/css-writing-modes-3/margin-collapse-vrl-008.xht
layout/reftests/w3c-css/received/css-writing-modes-3/margin-collapse-vrl-010.xht
layout/reftests/w3c-css/received/css-writing-modes-3/margin-collapse-vrl-014.xht
layout/reftests/w3c-css/received/css-writing-modes-3/margin-collapse-vrl-016.xht
layout/reftests/w3c-css/received/css-writing-modes-3/margin-collapse-vrl-024.xht
layout/reftests/w3c-css/received/css-writing-modes-3/margin-collapse-vrl-030.xht
layout/reftests/w3c-css/received/css-writing-modes-3/margin-collapse-vrl-034.xht
layout/reftests/w3c-css/received/css-writing-modes-3/margin-collapse-vrl-036.xht
layout/reftests/w3c-css/received/css-writing-modes-3/margin-vlr-003.xht
layout/reftests/w3c-css/received/css-writing-modes-3/margin-vrl-002-ref.xht
layout/reftests/w3c-css/received/css-writing-modes-3/margin-vrl-002.xht
layout/reftests/w3c-css/received/css-writing-modes-3/ortho-htb-alongside-vrl-floats-002-ref.xht
layout/reftests/w3c-css/received/css-writing-modes-3/ortho-htb-alongside-vrl-floats-002.xht
layout/reftests/w3c-css/received/css-writing-modes-3/ortho-htb-alongside-vrl-floats-006-ref.xht
layout/reftests/w3c-css/received/css-writing-modes-3/ortho-htb-alongside-vrl-floats-006.xht
layout/reftests/w3c-css/received/css-writing-modes-3/ortho-htb-alongside-vrl-floats-010-ref.xht
layout/reftests/w3c-css/received/css-writing-modes-3/ortho-htb-alongside-vrl-floats-010.xht
layout/reftests/w3c-css/received/css-writing-modes-3/ortho-htb-alongside-vrl-floats-014-ref.xht
layout/reftests/w3c-css/received/css-writing-modes-3/ortho-htb-alongside-vrl-floats-014.xht
layout/reftests/w3c-css/received/css-writing-modes-3/outline-inline-block-vrl-006.html
layout/reftests/w3c-css/received/css-writing-modes-3/outline-inline-vlr-006.html
layout/reftests/w3c-css/received/css-writing-modes-3/outline-inline-vrl-006.html
layout/reftests/w3c-css/received/css-writing-modes-3/padding-vlr-005.xht
layout/reftests/w3c-css/received/css-writing-modes-3/padding-vrl-004.xht
layout/reftests/w3c-css/received/css-writing-modes-3/percent-margin-vlr-003.xht
layout/reftests/w3c-css/received/css-writing-modes-3/percent-margin-vlr-005.xht
layout/reftests/w3c-css/received/css-writing-modes-3/percent-margin-vlr-007.xht
layout/reftests/w3c-css/received/css-writing-modes-3/percent-margin-vrl-002.xht
layout/reftests/w3c-css/received/css-writing-modes-3/percent-margin-vrl-004.xht
layout/reftests/w3c-css/received/css-writing-modes-3/percent-margin-vrl-006.xht
layout/reftests/w3c-css/received/css-writing-modes-3/percent-padding-vlr-003.xht
layout/reftests/w3c-css/received/css-writing-modes-3/percent-padding-vlr-005.xht
layout/reftests/w3c-css/received/css-writing-modes-3/percent-padding-vlr-007.xht
layout/reftests/w3c-css/received/css-writing-modes-3/percent-padding-vrl-002.xht
layout/reftests/w3c-css/received/css-writing-modes-3/percent-padding-vrl-004.xht
layout/reftests/w3c-css/received/css-writing-modes-3/percent-padding-vrl-006.xht
layout/reftests/w3c-css/received/css-writing-modes-3/reference/bidi-embed-001.html
layout/reftests/w3c-css/received/css-writing-modes-3/reference/bidi-embed-002.html
layout/reftests/w3c-css/received/css-writing-modes-3/reference/bidi-embed-003.html
layout/reftests/w3c-css/received/css-writing-modes-3/reference/bidi-embed-004.html
layout/reftests/w3c-css/received/css-writing-modes-3/reference/bidi-embed-005.html
layout/reftests/w3c-css/received/css-writing-modes-3/reference/bidi-embed-006.html
layout/reftests/w3c-css/received/css-writing-modes-3/reference/bidi-embed-007.html
layout/reftests/w3c-css/received/css-writing-modes-3/reference/bidi-embed-008.html
layout/reftests/w3c-css/received/css-writing-modes-3/reference/bidi-embed-009.html
layout/reftests/w3c-css/received/css-writing-modes-3/reference/bidi-embed-010.html
layout/reftests/w3c-css/received/css-writing-modes-3/reference/bidi-embed-011.html
layout/reftests/w3c-css/received/css-writing-modes-3/reference/bidi-isolate-001.html
layout/reftests/w3c-css/received/css-writing-modes-3/reference/bidi-isolate-002.html
layout/reftests/w3c-css/received/css-writing-modes-3/reference/bidi-isolate-003.html
layout/reftests/w3c-css/received/css-writing-modes-3/reference/bidi-isolate-004.html
layout/reftests/w3c-css/received/css-writing-modes-3/reference/bidi-isolate-005.html
layout/reftests/w3c-css/received/css-writing-modes-3/reference/bidi-isolate-006.html
layout/reftests/w3c-css/received/css-writing-modes-3/reference/bidi-isolate-007.html
layout/reftests/w3c-css/received/css-writing-modes-3/reference/bidi-isolate-008.html
layout/reftests/w3c-css/received/css-writing-modes-3/reference/bidi-isolate-009.html
layout/reftests/w3c-css/received/css-writing-modes-3/reference/bidi-isolate-010.html
layout/reftests/w3c-css/received/css-writing-modes-3/reference/bidi-isolate-override-001.html
layout/reftests/w3c-css/received/css-writing-modes-3/reference/bidi-isolate-override-002.html
layout/reftests/w3c-css/received/css-writing-modes-3/reference/bidi-isolate-override-003.html
layout/reftests/w3c-css/received/css-writing-modes-3/reference/bidi-isolate-override-004.html
layout/reftests/w3c-css/received/css-writing-modes-3/reference/bidi-isolate-override-005.html
layout/reftests/w3c-css/received/css-writing-modes-3/reference/bidi-isolate-override-006.html
layout/reftests/w3c-css/received/css-writing-modes-3/reference/bidi-isolate-override-007.html
layout/reftests/w3c-css/received/css-writing-modes-3/reference/bidi-isolate-override-008.html
layout/reftests/w3c-css/received/css-writing-modes-3/reference/bidi-isolate-override-009.html
layout/reftests/w3c-css/received/css-writing-modes-3/reference/bidi-isolate-override-010.html
layout/reftests/w3c-css/received/css-writing-modes-3/reference/bidi-isolate-override-011.html
layout/reftests/w3c-css/received/css-writing-modes-3/reference/bidi-isolate-override-012.html
layout/reftests/w3c-css/received/css-writing-modes-3/reference/bidi-normal-001.html
layout/reftests/w3c-css/received/css-writing-modes-3/reference/bidi-normal-002.html
layout/reftests/w3c-css/received/css-writing-modes-3/reference/bidi-normal-003.html
layout/reftests/w3c-css/received/css-writing-modes-3/reference/bidi-normal-004.html
layout/reftests/w3c-css/received/css-writing-modes-3/reference/bidi-normal-005.html
layout/reftests/w3c-css/received/css-writing-modes-3/reference/bidi-normal-006.html
layout/reftests/w3c-css/received/css-writing-modes-3/reference/bidi-normal-007.html
layout/reftests/w3c-css/received/css-writing-modes-3/reference/bidi-normal-008.html
layout/reftests/w3c-css/received/css-writing-modes-3/reference/bidi-normal-009.html
layout/reftests/w3c-css/received/css-writing-modes-3/reference/bidi-normal-010.html
layout/reftests/w3c-css/received/css-writing-modes-3/reference/bidi-normal-011.html
layout/reftests/w3c-css/received/css-writing-modes-3/reference/bidi-override-001.html
layout/reftests/w3c-css/received/css-writing-modes-3/reference/bidi-override-002.html
layout/reftests/w3c-css/received/css-writing-modes-3/reference/bidi-override-003.html
layout/reftests/w3c-css/received/css-writing-modes-3/reference/bidi-override-004.html
layout/reftests/w3c-css/received/css-writing-modes-3/reference/bidi-override-005.html
layout/reftests/w3c-css/received/css-writing-modes-3/reference/bidi-override-006.html
layout/reftests/w3c-css/received/css-writing-modes-3/reference/bidi-override-007.html
layout/reftests/w3c-css/received/css-writing-modes-3/reference/bidi-override-008.html
layout/reftests/w3c-css/received/css-writing-modes-3/reference/bidi-override-009.html
layout/reftests/w3c-css/received/css-writing-modes-3/reference/bidi-override-010.html
layout/reftests/w3c-css/received/css-writing-modes-3/reference/bidi-override-011.html
layout/reftests/w3c-css/received/css-writing-modes-3/reference/bidi-override-012.html
layout/reftests/w3c-css/received/css-writing-modes-3/reference/bidi-plaintext-001.html
layout/reftests/w3c-css/received/css-writing-modes-3/reference/bidi-plaintext-002.html
layout/reftests/w3c-css/received/css-writing-modes-3/reference/bidi-plaintext-003.html
layout/reftests/w3c-css/received/css-writing-modes-3/reference/bidi-plaintext-004.html
layout/reftests/w3c-css/received/css-writing-modes-3/reference/bidi-plaintext-005.html
layout/reftests/w3c-css/received/css-writing-modes-3/reference/bidi-plaintext-006.html
layout/reftests/w3c-css/received/css-writing-modes-3/reference/bidi-plaintext-007.html
layout/reftests/w3c-css/received/css-writing-modes-3/reference/bidi-plaintext-008.html
layout/reftests/w3c-css/received/css-writing-modes-3/reference/bidi-plaintext-009.html
layout/reftests/w3c-css/received/css-writing-modes-3/reference/bidi-plaintext-010.html
layout/reftests/w3c-css/received/css-writing-modes-3/reference/bidi-plaintext-011.html
layout/reftests/w3c-css/received/css-writing-modes-3/reference/block-embed-001.html
layout/reftests/w3c-css/received/css-writing-modes-3/reference/block-embed-002.html
layout/reftests/w3c-css/received/css-writing-modes-3/reference/block-embed-003.html
layout/reftests/w3c-css/received/css-writing-modes-3/reference/block-override-001.html
layout/reftests/w3c-css/received/css-writing-modes-3/reference/block-override-002.html
layout/reftests/w3c-css/received/css-writing-modes-3/reference/block-override-003.html
layout/reftests/w3c-css/received/css-writing-modes-3/reference/block-override-004.html
layout/reftests/w3c-css/received/css-writing-modes-3/reference/block-override-isolate-001.html
layout/reftests/w3c-css/received/css-writing-modes-3/reference/block-override-isolate-002.html
layout/reftests/w3c-css/received/css-writing-modes-3/reference/block-override-isolate-003.html
layout/reftests/w3c-css/received/css-writing-modes-3/reference/block-override-isolate-004.html
layout/reftests/w3c-css/received/css-writing-modes-3/reference/block-plaintext-001.html
layout/reftests/w3c-css/received/css-writing-modes-3/reference/block-plaintext-002.html
layout/reftests/w3c-css/received/css-writing-modes-3/reference/block-plaintext-003.html
layout/reftests/w3c-css/received/css-writing-modes-3/reference/block-plaintext-004.html
layout/reftests/w3c-css/received/css-writing-modes-3/reference/full-width-001-horizontal-notref.html
layout/reftests/w3c-css/received/css-writing-modes-3/reference/full-width-001-nofullwidth-notref.html
layout/reftests/w3c-css/received/css-writing-modes-3/reference/full-width-002-horizontal-notref.html
layout/reftests/w3c-css/received/css-writing-modes-3/reference/full-width-002-notcu-notref.html
layout/reftests/w3c-css/received/css-writing-modes-3/reference/horizontal-ahem-1x1-notref.html
layout/reftests/w3c-css/received/css-writing-modes-3/reference/horizontal-ahem-1x3-notref.html
layout/reftests/w3c-css/received/css-writing-modes-3/reference/horizontal-ahem-1x4-notref.html
layout/reftests/w3c-css/received/css-writing-modes-3/reference/horizontal-ahem-1x5-notref.html
layout/reftests/w3c-css/received/css-writing-modes-3/reference/outline-inline-block-vrl-006.html
layout/reftests/w3c-css/received/css-writing-modes-3/reference/outline-inline-vlr-006.html
layout/reftests/w3c-css/received/css-writing-modes-3/reference/outline-inline-vrl-006.html
layout/reftests/w3c-css/received/css-writing-modes-3/reference/support/sileot-webfont.woff
layout/reftests/w3c-css/received/css-writing-modes-3/reference/support/tcu-font.woff
layout/reftests/w3c-css/received/css-writing-modes-3/reference/text-combine-upright-decorations-001.html
layout/reftests/w3c-css/received/css-writing-modes-3/reference/text-combine-upright-inherit-all-001.html
layout/reftests/w3c-css/received/css-writing-modes-3/reference/text-combine-upright-inherit-all-002.html
layout/reftests/w3c-css/received/css-writing-modes-3/reference/text-combine-upright-layout-rules-001-ref.html
layout/reftests/w3c-css/received/css-writing-modes-3/reference/text-combine-upright-value-single-character.html
layout/reftests/w3c-css/received/css-writing-modes-3/reference/vertical-ahem-1x1-ref.html
layout/reftests/w3c-css/received/css-writing-modes-3/reference/vertical-ahem-1x3-ref.html
layout/reftests/w3c-css/received/css-writing-modes-3/reference/vertical-ahem-1x4-ref.html
layout/reftests/w3c-css/received/css-writing-modes-3/reference/vertical-ahem-1x5-ref.html
layout/reftests/w3c-css/received/css-writing-modes-3/reference/writing-mode-horizontal-001l-ref.html
layout/reftests/w3c-css/received/css-writing-modes-3/reference/writing-mode-horizontal-001r-ref.html
layout/reftests/w3c-css/received/css-writing-modes-3/reftest/writing-mode-vertical-lr-002-ref.xht
layout/reftests/w3c-css/received/css-writing-modes-3/reftest/writing-mode-vertical-rl-001-ref.xht
layout/reftests/w3c-css/received/css-writing-modes-3/reftest/writing-mode-vertical-rl-002-ref.xht
layout/reftests/w3c-css/received/css-writing-modes-3/row-progression-slr-023.xht
layout/reftests/w3c-css/received/css-writing-modes-3/row-progression-slr-029.xht
layout/reftests/w3c-css/received/css-writing-modes-3/row-progression-srl-022.xht
layout/reftests/w3c-css/received/css-writing-modes-3/row-progression-srl-028.xht
layout/reftests/w3c-css/received/css-writing-modes-3/row-progression-vlr-003.xht
layout/reftests/w3c-css/received/css-writing-modes-3/row-progression-vlr-005.xht
layout/reftests/w3c-css/received/css-writing-modes-3/row-progression-vlr-007.xht
layout/reftests/w3c-css/received/css-writing-modes-3/row-progression-vlr-009.xht
layout/reftests/w3c-css/received/css-writing-modes-3/row-progression-vrl-002.xht
layout/reftests/w3c-css/received/css-writing-modes-3/row-progression-vrl-004.xht
layout/reftests/w3c-css/received/css-writing-modes-3/row-progression-vrl-006.xht
layout/reftests/w3c-css/received/css-writing-modes-3/row-progression-vrl-008.xht
layout/reftests/w3c-css/received/css-writing-modes-3/support/100x100-lime.png
layout/reftests/w3c-css/received/css-writing-modes-3/support/100x100-red.png
layout/reftests/w3c-css/received/css-writing-modes-3/support/DejaVuSerif-webfont.woff
layout/reftests/w3c-css/received/css-writing-modes-3/support/adobe-fonts/CSSFWOrientationTest.otf
layout/reftests/w3c-css/received/css-writing-modes-3/support/adobe-fonts/CSSHWOrientationTest.otf
layout/reftests/w3c-css/received/css-writing-modes-3/support/adobe-fonts/LICENSE
layout/reftests/w3c-css/received/css-writing-modes-3/support/adobe-fonts/README.md
layout/reftests/w3c-css/received/css-writing-modes-3/support/bg-red-1col-2row-320x320.png
layout/reftests/w3c-css/received/css-writing-modes-3/support/bg-red-1col-3row-320x320.png
layout/reftests/w3c-css/received/css-writing-modes-3/support/bg-red-2col-2row-320x320.png
layout/reftests/w3c-css/received/css-writing-modes-3/support/bg-red-2col-3row-320x320.png
layout/reftests/w3c-css/received/css-writing-modes-3/support/bg-red-3col-2row-320x320.png
layout/reftests/w3c-css/received/css-writing-modes-3/support/bg-red-3col-3row-320x320.png
layout/reftests/w3c-css/received/css-writing-modes-3/support/bg-red-4col-2row-320x320.png
layout/reftests/w3c-css/received/css-writing-modes-3/support/bg-red-4col-3row-320x320.png
layout/reftests/w3c-css/received/css-writing-modes-3/support/block-flow-direction-025-exp-res.png
layout/reftests/w3c-css/received/css-writing-modes-3/support/block-flow-direction-066-exp-res.png
layout/reftests/w3c-css/received/css-writing-modes-3/support/blue-horiz-line-220x1.png
layout/reftests/w3c-css/received/css-writing-modes-3/support/blue-horiz-line-320x1.png
layout/reftests/w3c-css/received/css-writing-modes-3/support/blue-vert-line-1x220.png
layout/reftests/w3c-css/received/css-writing-modes-3/support/blue-vert-line-1x320.png
layout/reftests/w3c-css/received/css-writing-modes-3/support/blue-yellow-206w-165h.png
layout/reftests/w3c-css/received/css-writing-modes-3/support/blue1x1.png
layout/reftests/w3c-css/received/css-writing-modes-3/support/blue20x20.png
layout/reftests/w3c-css/received/css-writing-modes-3/support/cat.png
layout/reftests/w3c-css/received/css-writing-modes-3/support/clearance-calculation-vrl-002.png
layout/reftests/w3c-css/received/css-writing-modes-3/support/clearance-calculation-vrl-004.png
layout/reftests/w3c-css/received/css-writing-modes-3/support/clearance-calculation-vrl-006.png
layout/reftests/w3c-css/received/css-writing-modes-3/support/embedded-doc-abs-pos-non-replaced-icb-vlr-007.html
layout/reftests/w3c-css/received/css-writing-modes-3/support/embedded-doc-abs-pos-non-replaced-icb-vlr-009.html
layout/reftests/w3c-css/received/css-writing-modes-3/support/embedded-doc-abs-pos-non-replaced-icb-vlr-015.html
layout/reftests/w3c-css/received/css-writing-modes-3/support/embedded-doc-abs-pos-non-replaced-icb-vlr-017.html
layout/reftests/w3c-css/received/css-writing-modes-3/support/embedded-doc-abs-pos-non-replaced-icb-vlr-019.html
layout/reftests/w3c-css/received/css-writing-modes-3/support/embedded-doc-abs-pos-non-replaced-icb-vlr-021.html
layout/reftests/w3c-css/received/css-writing-modes-3/support/embedded-doc-abs-pos-non-replaced-icb-vlr-023.html
layout/reftests/w3c-css/received/css-writing-modes-3/support/embedded-doc-abs-pos-non-replaced-icb-vlr-025.html
layout/reftests/w3c-css/received/css-writing-modes-3/support/embedded-doc-abs-pos-non-replaced-icb-vlr-027.html
layout/reftests/w3c-css/received/css-writing-modes-3/support/embedded-doc-abs-pos-non-replaced-icb-vlr-029.html
layout/reftests/w3c-css/received/css-writing-modes-3/support/embedded-doc-abs-pos-non-replaced-icb-vlr-031.html
layout/reftests/w3c-css/received/css-writing-modes-3/support/embedded-doc-abs-pos-non-replaced-icb-vlr-033.html
layout/reftests/w3c-css/received/css-writing-modes-3/support/embedded-doc-abs-pos-non-replaced-icb-vrl-006.html
layout/reftests/w3c-css/received/css-writing-modes-3/support/embedded-doc-abs-pos-non-replaced-icb-vrl-008.html
layout/reftests/w3c-css/received/css-writing-modes-3/support/embedded-doc-abs-pos-non-replaced-icb-vrl-014.html
layout/reftests/w3c-css/received/css-writing-modes-3/support/embedded-doc-abs-pos-non-replaced-icb-vrl-016.html
layout/reftests/w3c-css/received/css-writing-modes-3/support/embedded-doc-abs-pos-non-replaced-icb-vrl-018.html
layout/reftests/w3c-css/received/css-writing-modes-3/support/embedded-doc-abs-pos-non-replaced-icb-vrl-020.html
layout/reftests/w3c-css/received/css-writing-modes-3/support/embedded-doc-abs-pos-non-replaced-icb-vrl-022.html
layout/reftests/w3c-css/received/css-writing-modes-3/support/embedded-doc-abs-pos-non-replaced-icb-vrl-024.html
layout/reftests/w3c-css/received/css-writing-modes-3/support/embedded-doc-abs-pos-non-replaced-icb-vrl-026.html
layout/reftests/w3c-css/received/css-writing-modes-3/support/embedded-doc-abs-pos-non-replaced-icb-vrl-028.html
layout/reftests/w3c-css/received/css-writing-modes-3/support/embedded-doc-abs-pos-non-replaced-icb-vrl-030.html
layout/reftests/w3c-css/received/css-writing-modes-3/support/embedded-doc-abs-pos-non-replaced-icb-vrl-032.html
layout/reftests/w3c-css/received/css-writing-modes-3/support/embedded-doc-for-background-size-root-vrl-002.html
layout/reftests/w3c-css/received/css-writing-modes-3/support/embedded-doc-for-background-size-root-vrl-004.html
layout/reftests/w3c-css/received/css-writing-modes-3/support/embedded-doc-for-background-size-root-vrl-006.html
layout/reftests/w3c-css/received/css-writing-modes-3/support/embedded-doc-for-background-size-root-vrl-008.html
layout/reftests/w3c-css/received/css-writing-modes-3/support/form-controls-slr.png
layout/reftests/w3c-css/received/css-writing-modes-3/support/form-controls-srl.png
layout/reftests/w3c-css/received/css-writing-modes-3/support/form-controls-vlr.png
layout/reftests/w3c-css/received/css-writing-modes-3/support/left-bottom-200x300.png
layout/reftests/w3c-css/received/css-writing-modes-3/support/left-bottom-green-200x300.png
layout/reftests/w3c-css/received/css-writing-modes-3/support/left-center-200x300.png
layout/reftests/w3c-css/received/css-writing-modes-3/support/left-center-green-200x300.png
layout/reftests/w3c-css/received/css-writing-modes-3/support/left-side-filled-square-40x160.png
layout/reftests/w3c-css/received/css-writing-modes-3/support/left-top-200x300.png
layout/reftests/w3c-css/received/css-writing-modes-3/support/margin-collapse-2em-space-wm-vert.png
layout/reftests/w3c-css/received/css-writing-modes-3/support/mplus-1p-regular.woff
layout/reftests/w3c-css/received/css-writing-modes-3/support/opaque-square-40x160.png
layout/reftests/w3c-css/received/css-writing-modes-3/support/ortho-htb-alongside-vrl-floats-002-exp-res.png
layout/reftests/w3c-css/received/css-writing-modes-3/support/page-flow-direction-002p1.png
layout/reftests/w3c-css/received/css-writing-modes-3/support/page-flow-direction-002p2.png
layout/reftests/w3c-css/received/css-writing-modes-3/support/page-flow-direction-002p3.png
layout/reftests/w3c-css/received/css-writing-modes-3/support/page-flow-direction-002p4.png
layout/reftests/w3c-css/received/css-writing-modes-3/support/pass-cdts-abs-pos-non-replaced.png
layout/reftests/w3c-css/received/css-writing-modes-3/support/pass-cdts-bg-pos-vrl-002.png
layout/reftests/w3c-css/received/css-writing-modes-3/support/pass-cdts-bg-pos-vrl-004.png
layout/reftests/w3c-css/received/css-writing-modes-3/support/pass-cdts-bg-pos-vrl-006.png
layout/reftests/w3c-css/received/css-writing-modes-3/support/pass-cdts-bg-pos-vrl-008.png
layout/reftests/w3c-css/received/css-writing-modes-3/support/pass-cdts-bg-pos-vrl-010.png
layout/reftests/w3c-css/received/css-writing-modes-3/support/pass-cdts-bg-pos-vrl-012.png
layout/reftests/w3c-css/received/css-writing-modes-3/support/pass-cdts-bg-pos-vrl-014.png
layout/reftests/w3c-css/received/css-writing-modes-3/support/pass-cdts-bg-pos-vrl-016.png
layout/reftests/w3c-css/received/css-writing-modes-3/support/pass-cdts-bg-pos-vrl-018.png
layout/reftests/w3c-css/received/css-writing-modes-3/support/pass-cdts-box-offsets-rel-pos.png
layout/reftests/w3c-css/received/css-writing-modes-3/support/pass-cdts-clearance-calculations.png
layout/reftests/w3c-css/received/css-writing-modes-3/support/pass-cdts-first-page-vlr-003.png
layout/reftests/w3c-css/received/css-writing-modes-3/support/pass-cdts-first-page-vrl-002.png
layout/reftests/w3c-css/received/css-writing-modes-3/support/pass-cdts-float-contiguous.png
layout/reftests/w3c-css/received/css-writing-modes-3/support/pass-cdts-horiz-rule.png
layout/reftests/w3c-css/received/css-writing-modes-3/support/pattern-gg-gr-100x100.png
layout/reftests/w3c-css/received/css-writing-modes-3/support/pattern-gg-rg-100x100.png
layout/reftests/w3c-css/received/css-writing-modes-3/support/pattern-gg-rr-100x100.png
layout/reftests/w3c-css/received/css-writing-modes-3/support/pattern-gr-gg-100x100.png
layout/reftests/w3c-css/received/css-writing-modes-3/support/pattern-gr-gr-100x100.png
layout/reftests/w3c-css/received/css-writing-modes-3/support/pattern-gr-rg-100x100.png
layout/reftests/w3c-css/received/css-writing-modes-3/support/pattern-gr-rr-100x100.png
layout/reftests/w3c-css/received/css-writing-modes-3/support/pattern-rg-gg-100x100.png
layout/reftests/w3c-css/received/css-writing-modes-3/support/pattern-rg-gr-100x100.png
layout/reftests/w3c-css/received/css-writing-modes-3/support/pattern-rg-rg-100x100.png
layout/reftests/w3c-css/received/css-writing-modes-3/support/pattern-rg-rr-100x100.png
layout/reftests/w3c-css/received/css-writing-modes-3/support/pattern-rr-gr-100x100.png
layout/reftests/w3c-css/received/css-writing-modes-3/support/pattern-rr-rg-100x100.png
layout/reftests/w3c-css/received/css-writing-modes-3/support/right-bottom-200x300.png
layout/reftests/w3c-css/received/css-writing-modes-3/support/right-bottom-green-200x300.png
layout/reftests/w3c-css/received/css-writing-modes-3/support/right-center-200x300.png
layout/reftests/w3c-css/received/css-writing-modes-3/support/right-center-green-200x300.png
layout/reftests/w3c-css/received/css-writing-modes-3/support/right-side-filled-square-40x160.png
layout/reftests/w3c-css/received/css-writing-modes-3/support/right-top-200x300.png
layout/reftests/w3c-css/received/css-writing-modes-3/support/right-top-green-200x300.png
layout/reftests/w3c-css/received/css-writing-modes-3/support/sileot-webfont.woff
layout/reftests/w3c-css/received/css-writing-modes-3/support/swatch-aqua.png
layout/reftests/w3c-css/received/css-writing-modes-3/support/swatch-blue.png
layout/reftests/w3c-css/received/css-writing-modes-3/support/swatch-fuchsia.png
layout/reftests/w3c-css/received/css-writing-modes-3/support/swatch-green.png
layout/reftests/w3c-css/received/css-writing-modes-3/support/swatch-olive.png
layout/reftests/w3c-css/received/css-writing-modes-3/support/swatch-orange.png
layout/reftests/w3c-css/received/css-writing-modes-3/support/swatch-teal.png
layout/reftests/w3c-css/received/css-writing-modes-3/support/swatch-yellow.png
layout/reftests/w3c-css/received/css-writing-modes-3/support/tcu-font.otf
layout/reftests/w3c-css/received/css-writing-modes-3/support/tcu-font.woff
layout/reftests/w3c-css/received/css-writing-modes-3/support/test-bl.png
layout/reftests/w3c-css/received/css-writing-modes-3/support/test-br.png
layout/reftests/w3c-css/received/css-writing-modes-3/support/test-tl.png
layout/reftests/w3c-css/received/css-writing-modes-3/support/test-tr.png
layout/reftests/w3c-css/received/css-writing-modes-3/support/text-orientation-010.png
layout/reftests/w3c-css/received/css-writing-modes-3/support/text-orientation-mixed-vrl-002.png
layout/reftests/w3c-css/received/css-writing-modes-3/support/text-orientation-sideways-left-001.png
layout/reftests/w3c-css/received/css-writing-modes-3/support/text-orientation-sideways-lr.png
layout/reftests/w3c-css/received/css-writing-modes-3/support/text-orientation-sideways-right-001.png
layout/reftests/w3c-css/received/css-writing-modes-3/support/text-orientation-upright-001.png
layout/reftests/w3c-css/received/css-writing-modes-3/support/text-orientation-upright-vrl-002.png
layout/reftests/w3c-css/received/css-writing-modes-3/support/text-orientation.js
layout/reftests/w3c-css/received/css-writing-modes-3/support/vertical-form.png
layout/reftests/w3c-css/received/css-writing-modes-3/support/wm-propagation-body-003-exp-res.png
layout/reftests/w3c-css/received/css-writing-modes-3/support/yellow-square-59x59.png
layout/reftests/w3c-css/received/css-writing-modes-3/support/yellow-square-horiz-redline-bottom-59x59.png
layout/reftests/w3c-css/received/css-writing-modes-3/support/yellow-square-vert-redline-center-59x59.png
layout/reftests/w3c-css/received/css-writing-modes-3/support/yellow-square-vert-redline-left-59x59.png
layout/reftests/w3c-css/received/css-writing-modes-3/support/yellow-square-vert-redline-right-59x59.png
layout/reftests/w3c-css/received/css-writing-modes-3/table-column-order-002.xht
layout/reftests/w3c-css/received/css-writing-modes-3/table-column-order-003.xht
layout/reftests/w3c-css/received/css-writing-modes-3/table-column-order-004.xht
layout/reftests/w3c-css/received/css-writing-modes-3/table-column-order-005.xht
layout/reftests/w3c-css/received/css-writing-modes-3/table-column-order-slr-007.xht
layout/reftests/w3c-css/received/css-writing-modes-3/table-column-order-srl-006.xht
layout/reftests/w3c-css/received/css-writing-modes-3/table-progression-001-ref.html
layout/reftests/w3c-css/received/css-writing-modes-3/table-progression-002-ref.html
layout/reftests/w3c-css/received/css-writing-modes-3/table-progression-slr-001-ref.html
layout/reftests/w3c-css/received/css-writing-modes-3/table-progression-slr-001.html
layout/reftests/w3c-css/received/css-writing-modes-3/table-progression-slr-002.html
layout/reftests/w3c-css/received/css-writing-modes-3/table-progression-srl-001.html
layout/reftests/w3c-css/received/css-writing-modes-3/table-progression-srl-002.html
layout/reftests/w3c-css/received/css-writing-modes-3/table-progression-vlr-001.html
layout/reftests/w3c-css/received/css-writing-modes-3/table-progression-vlr-002.html
layout/reftests/w3c-css/received/css-writing-modes-3/table-progression-vlr-003.html
layout/reftests/w3c-css/received/css-writing-modes-3/table-progression-vlr-004.html
layout/reftests/w3c-css/received/css-writing-modes-3/table-progression-vrl-001.html
layout/reftests/w3c-css/received/css-writing-modes-3/table-progression-vrl-002.html
layout/reftests/w3c-css/received/css-writing-modes-3/table-progression-vrl-003.html
layout/reftests/w3c-css/received/css-writing-modes-3/table-progression-vrl-004.html
layout/reftests/w3c-css/received/css-writing-modes-3/text-align-vlr-003.xht
layout/reftests/w3c-css/received/css-writing-modes-3/text-align-vlr-005.xht
layout/reftests/w3c-css/received/css-writing-modes-3/text-align-vlr-007.xht
layout/reftests/w3c-css/received/css-writing-modes-3/text-align-vlr-009-ref.xht
layout/reftests/w3c-css/received/css-writing-modes-3/text-align-vlr-009.xht
layout/reftests/w3c-css/received/css-writing-modes-3/text-align-vlr-011.xht
layout/reftests/w3c-css/received/css-writing-modes-3/text-align-vlr-013.xht
layout/reftests/w3c-css/received/css-writing-modes-3/text-align-vlr-015.xht
layout/reftests/w3c-css/received/css-writing-modes-3/text-align-vlr-017.xht
layout/reftests/w3c-css/received/css-writing-modes-3/text-align-vlr-019.xht
layout/reftests/w3c-css/received/css-writing-modes-3/text-align-vrl-002.xht
layout/reftests/w3c-css/received/css-writing-modes-3/text-align-vrl-004.xht
layout/reftests/w3c-css/received/css-writing-modes-3/text-align-vrl-006.xht
layout/reftests/w3c-css/received/css-writing-modes-3/text-align-vrl-008-ref.xht
layout/reftests/w3c-css/received/css-writing-modes-3/text-align-vrl-008.xht
layout/reftests/w3c-css/received/css-writing-modes-3/text-align-vrl-010.xht
layout/reftests/w3c-css/received/css-writing-modes-3/text-align-vrl-012.xht
layout/reftests/w3c-css/received/css-writing-modes-3/text-align-vrl-014.xht
layout/reftests/w3c-css/received/css-writing-modes-3/text-align-vrl-016.xht
layout/reftests/w3c-css/received/css-writing-modes-3/text-align-vrl-018.xht
layout/reftests/w3c-css/received/css-writing-modes-3/text-baseline-slr-009-ref.xht
layout/reftests/w3c-css/received/css-writing-modes-3/text-baseline-slr-009.xht
layout/reftests/w3c-css/received/css-writing-modes-3/text-baseline-srl-008.xht
layout/reftests/w3c-css/received/css-writing-modes-3/text-baseline-vlr-003.xht
layout/reftests/w3c-css/received/css-writing-modes-3/text-baseline-vlr-005.xht
layout/reftests/w3c-css/received/css-writing-modes-3/text-baseline-vlr-007.xht
layout/reftests/w3c-css/received/css-writing-modes-3/text-baseline-vrl-002-ref.xht
layout/reftests/w3c-css/received/css-writing-modes-3/text-baseline-vrl-002.xht
layout/reftests/w3c-css/received/css-writing-modes-3/text-baseline-vrl-004.xht
layout/reftests/w3c-css/received/css-writing-modes-3/text-baseline-vrl-006-ref.xht
layout/reftests/w3c-css/received/css-writing-modes-3/text-baseline-vrl-006.xht
layout/reftests/w3c-css/received/css-writing-modes-3/text-combine-upright-decorations-001.html
layout/reftests/w3c-css/received/css-writing-modes-3/text-combine-upright-inherit-all-001.html
layout/reftests/w3c-css/received/css-writing-modes-3/text-combine-upright-inherit-all-002.html
layout/reftests/w3c-css/received/css-writing-modes-3/text-combine-upright-layout-rules-001.html
layout/reftests/w3c-css/received/css-writing-modes-3/text-combine-upright-line-breaking-rules-001-ref.html
layout/reftests/w3c-css/received/css-writing-modes-3/text-combine-upright-line-breaking-rules-001.html
layout/reftests/w3c-css/received/css-writing-modes-3/text-combine-upright-value-all-001.html
layout/reftests/w3c-css/received/css-writing-modes-3/text-combine-upright-value-all-002.html
layout/reftests/w3c-css/received/css-writing-modes-3/text-combine-upright-value-all-003.html
layout/reftests/w3c-css/received/css-writing-modes-3/text-combine-upright-value-digits2-001.html
layout/reftests/w3c-css/received/css-writing-modes-3/text-combine-upright-value-digits2-002.html
layout/reftests/w3c-css/received/css-writing-modes-3/text-combine-upright-value-digits2-003.html
layout/reftests/w3c-css/received/css-writing-modes-3/text-combine-upright-value-digits3-001.html
layout/reftests/w3c-css/received/css-writing-modes-3/text-combine-upright-value-digits3-002.html
layout/reftests/w3c-css/received/css-writing-modes-3/text-combine-upright-value-digits3-003.html
layout/reftests/w3c-css/received/css-writing-modes-3/text-combine-upright-value-digits4-001.html
layout/reftests/w3c-css/received/css-writing-modes-3/text-combine-upright-value-digits4-002.html
layout/reftests/w3c-css/received/css-writing-modes-3/text-combine-upright-value-digits4-003.html
layout/reftests/w3c-css/received/css-writing-modes-3/text-combine-upright-value-none-001.html
layout/reftests/w3c-css/received/css-writing-modes-3/text-indent-vlr-003-ref.xht
layout/reftests/w3c-css/received/css-writing-modes-3/text-indent-vlr-003.xht
layout/reftests/w3c-css/received/css-writing-modes-3/text-indent-vlr-005-ref.xht
layout/reftests/w3c-css/received/css-writing-modes-3/text-indent-vlr-005.xht
layout/reftests/w3c-css/received/css-writing-modes-3/text-indent-vlr-007.xht
layout/reftests/w3c-css/received/css-writing-modes-3/text-indent-vlr-009.xht
layout/reftests/w3c-css/received/css-writing-modes-3/text-indent-vlr-011-ref.xht
layout/reftests/w3c-css/received/css-writing-modes-3/text-indent-vlr-011.xht
layout/reftests/w3c-css/received/css-writing-modes-3/text-indent-vlr-013-ref.xht
layout/reftests/w3c-css/received/css-writing-modes-3/text-indent-vlr-013.xht
layout/reftests/w3c-css/received/css-writing-modes-3/text-indent-vlr-015.xht
layout/reftests/w3c-css/received/css-writing-modes-3/text-indent-vlr-017.xht
layout/reftests/w3c-css/received/css-writing-modes-3/text-indent-vrl-002-ref.xht
layout/reftests/w3c-css/received/css-writing-modes-3/text-indent-vrl-002.xht
layout/reftests/w3c-css/received/css-writing-modes-3/text-indent-vrl-004-ref.xht
layout/reftests/w3c-css/received/css-writing-modes-3/text-indent-vrl-004.xht
layout/reftests/w3c-css/received/css-writing-modes-3/text-indent-vrl-006.xht
layout/reftests/w3c-css/received/css-writing-modes-3/text-indent-vrl-008-ref.xht
layout/reftests/w3c-css/received/css-writing-modes-3/text-indent-vrl-008.xht
layout/reftests/w3c-css/received/css-writing-modes-3/text-indent-vrl-010-ref.xht
layout/reftests/w3c-css/received/css-writing-modes-3/text-indent-vrl-010.xht
layout/reftests/w3c-css/received/css-writing-modes-3/text-indent-vrl-012-ref.xht
layout/reftests/w3c-css/received/css-writing-modes-3/text-indent-vrl-012.xht
layout/reftests/w3c-css/received/css-writing-modes-3/text-indent-vrl-014.xht
layout/reftests/w3c-css/received/css-writing-modes-3/text-indent-vrl-016.xht
layout/reftests/w3c-css/received/css-writing-modes-3/text-orientation-016-ref.xht
layout/reftests/w3c-css/received/css-writing-modes-3/text-orientation-016.xht
layout/reftests/w3c-css/received/css-writing-modes-3/text-orientation-mixed-srl-016-ref.xht
layout/reftests/w3c-css/received/css-writing-modes-3/text-orientation-mixed-srl-016.xht
layout/reftests/w3c-css/received/css-writing-modes-3/text-orientation-mixed-vlr-100-ref.html
layout/reftests/w3c-css/received/css-writing-modes-3/text-orientation-mixed-vlr-100.html
layout/reftests/w3c-css/received/css-writing-modes-3/text-orientation-mixed-vrl-100-ref.html
layout/reftests/w3c-css/received/css-writing-modes-3/text-orientation-mixed-vrl-100.html
layout/reftests/w3c-css/received/css-writing-modes-3/text-orientation-sideways-vlr-100-ref.html
layout/reftests/w3c-css/received/css-writing-modes-3/text-orientation-sideways-vlr-100.html
layout/reftests/w3c-css/received/css-writing-modes-3/text-orientation-sideways-vrl-100-ref.html
layout/reftests/w3c-css/received/css-writing-modes-3/text-orientation-sideways-vrl-100.html
layout/reftests/w3c-css/received/css-writing-modes-3/text-orientation-upright-srl-018.xht
layout/reftests/w3c-css/received/css-writing-modes-3/text-orientation-upright-vlr-100-ref.html
layout/reftests/w3c-css/received/css-writing-modes-3/text-orientation-upright-vlr-100.html
layout/reftests/w3c-css/received/css-writing-modes-3/text-orientation-upright-vrl-100-ref.html
layout/reftests/w3c-css/received/css-writing-modes-3/text-orientation-upright-vrl-100.html
layout/reftests/w3c-css/received/css-writing-modes-3/vertical-alignment-002-ref.xht
layout/reftests/w3c-css/received/css-writing-modes-3/vertical-alignment-002.xht
layout/reftests/w3c-css/received/css-writing-modes-3/vertical-alignment-003.xht
layout/reftests/w3c-css/received/css-writing-modes-3/vertical-alignment-004-ref.xht
layout/reftests/w3c-css/received/css-writing-modes-3/vertical-alignment-004.xht
layout/reftests/w3c-css/received/css-writing-modes-3/vertical-alignment-005.xht
layout/reftests/w3c-css/received/css-writing-modes-3/vertical-alignment-006-ref.xht
layout/reftests/w3c-css/received/css-writing-modes-3/vertical-alignment-006.xht
layout/reftests/w3c-css/received/css-writing-modes-3/vertical-alignment-007.xht
layout/reftests/w3c-css/received/css-writing-modes-3/vertical-alignment-008-ref.xht
layout/reftests/w3c-css/received/css-writing-modes-3/vertical-alignment-008.xht
layout/reftests/w3c-css/received/css-writing-modes-3/vertical-alignment-009.xht
layout/reftests/w3c-css/received/css-writing-modes-3/vertical-alignment-slr-029.xht
layout/reftests/w3c-css/received/css-writing-modes-3/vertical-alignment-slr-031.xht
layout/reftests/w3c-css/received/css-writing-modes-3/vertical-alignment-slr-033.xht
layout/reftests/w3c-css/received/css-writing-modes-3/vertical-alignment-slr-035.xht
layout/reftests/w3c-css/received/css-writing-modes-3/vertical-alignment-slr-041.xht
layout/reftests/w3c-css/received/css-writing-modes-3/vertical-alignment-slr-049-ref.xht
layout/reftests/w3c-css/received/css-writing-modes-3/vertical-alignment-srl-028.xht
layout/reftests/w3c-css/received/css-writing-modes-3/vertical-alignment-srl-030.xht
layout/reftests/w3c-css/received/css-writing-modes-3/vertical-alignment-srl-032.xht
layout/reftests/w3c-css/received/css-writing-modes-3/vertical-alignment-srl-034.xht
layout/reftests/w3c-css/received/css-writing-modes-3/vertical-alignment-srl-040.xht
layout/reftests/w3c-css/received/css-writing-modes-3/vertical-alignment-vlr-023.xht
layout/reftests/w3c-css/received/css-writing-modes-3/vertical-alignment-vlr-025.xht
layout/reftests/w3c-css/received/css-writing-modes-3/vertical-alignment-vlr-027.xht
layout/reftests/w3c-css/received/css-writing-modes-3/vertical-alignment-vrl-022-ref.xht
layout/reftests/w3c-css/received/css-writing-modes-3/vertical-alignment-vrl-022.xht
layout/reftests/w3c-css/received/css-writing-modes-3/vertical-alignment-vrl-024.xht
layout/reftests/w3c-css/received/css-writing-modes-3/vertical-alignment-vrl-026-ref.xht
layout/reftests/w3c-css/received/css-writing-modes-3/vertical-alignment-vrl-026.xht
layout/reftests/w3c-css/received/css-writing-modes-3/wm-propagation-body-003-ref.xht
layout/reftests/w3c-css/received/css-writing-modes-3/wm-propagation-body-006.xht
layout/reftests/w3c-css/received/css-writing-modes-3/wm-propagation-body-008.xht
layout/reftests/w3c-css/received/css-writing-modes-3/wm-propagation-body-010.xht
layout/reftests/w3c-css/received/css-writing-modes-3/wm-propagation-body-011.xht
layout/reftests/w3c-css/received/css-writing-modes-3/wm-propagation-body-015.xht
layout/reftests/w3c-css/received/css-writing-modes-3/writing-mode-horizontal-001l.html
layout/reftests/w3c-css/received/css-writing-modes-3/writing-mode-horizontal-001r.html
layout/reftests/w3c-css/received/css-writing-modes-3/writing-mode-vertical-lr-002.xht
layout/reftests/w3c-css/received/css-writing-modes-3/writing-mode-vertical-rl-001.xht
layout/reftests/w3c-css/received/css-writing-modes-3/writing-mode-vertical-rl-002.xht
layout/reftests/w3c-css/received/css-writing-modes-3/writing-mode-vertical-rl-003-ref.htm
layout/reftests/w3c-css/received/css-writing-modes-3/writing-mode-vertical-rl-003.htm
layout/reftests/w3c-css/received/css21/reference/ref-filled-green-100px-square.xht
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/abs-pos-non-replaced-icb-vlr-003.xht
@@ -0,0 +1,108 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Writing Modes Test: position absolute and 'vertical-lr' - 'left: auto', 'width: auto' and 'right: auto' with 'direction: ltr' in initial containing block</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+  <link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#vertical-layout" title="7.1 Principles of Layout in Vertical Writing Modes" />
+  <link rel="match" href="../css21/reference/ref-filled-green-100px-square.xht" />
+
+  <meta content="" name="flags" />
+  <meta content="This test checks that when the initial containing block's writing-mode is 'horizontal-tb' and its 'direction' is 'ltr', then an absolutely positioned box (with 'left: auto', 'width: auto' and 'right: auto') whose containing block is the initial containing block must set 'left' to the static position. Whether such absolutely positioned box's 'writing-mode' is vertical or not is irrelevant." name="assert" />
+
+  <style type="text/css"><![CDATA[
+  html
+    {
+      direction: ltr;
+    }
+
+  div#green-overlapping-test
+    {
+      border-left: green solid 25px;
+      border-right: green solid 75px;
+      height: 100px;
+      left: auto;
+      position: absolute;
+      right: auto;
+      width: auto;
+      writing-mode: vertical-lr;
+    }
+
+  /*
+  "
+  If all three of 'left', 'width', and 'right' are 'auto': First set any 'auto' values for 'margin-left' and 'margin-right' to 0. Then, if the 'direction' property of the element establishing the static-position containing block is 'ltr' set 'left' to the static position and apply rule number three below; otherwise, set 'right' to the static position and apply rule number one below.
+  (...)
+  3. 'width' and 'right' are 'auto' and 'left' is not 'auto', then the width is shrink-to-fit . Then solve for 'right'
+  "
+  10.3.7 Absolutely positioned, non-replaced elements
+  http://www.w3.org/TR/CSS21/visudet.html#abs-non-replaced-width
+
+  So:
+
+            auto : left
+        +
+            0px : margin-left
+        +
+           25px : border-left-width
+        +
+            0px : padding-left
+        +
+           auto : width
+        +
+            0px : padding-right
+        +
+           75px : border-right-width
+        +
+            0px : margin-right
+        +
+           auto : right
+        ====================
+                : width of containing block (width of Initial Containing Block)
+
+  becomes
+
+            8px : left
+        +
+            0px : margin-left
+        +
+           25px : border-left-width
+        +
+            0px : padding-left
+        +
+            0px : width (shrink-to-fit)
+        +
+            0px : padding-right
+        +
+           75px : border-right-width
+        +
+            0px : margin-right
+        +
+          solve : right
+        ====================
+                : width of containing block (width of Initial Containing Block)
+  */
+
+  div#red-overlapped-reference
+    {
+      background-color: red;
+      height: 100px;
+      position: relative;
+      width: 100px;
+      z-index: -1;
+    }
+  ]]></style>
+ </head>
+
+ <body>
+
+  <p>Test passes if there is a filled green square and <strong>no red</strong>.</p>
+
+  <div id="green-overlapping-test"></div>
+
+  <div id="red-overlapped-reference"></div>
+
+ </body>
+</html>
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/abs-pos-non-replaced-icb-vlr-005.xht
@@ -0,0 +1,118 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Writing Modes Test: position absolute and 'vertical-lr' - 'left: auto', 'width: auto' and 'right: auto' with 'direction: rtl' in initial containing block</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+  <link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#vertical-layout" title="7.1 Principles of Layout in Vertical Writing Modes" />
+  <link rel="match" href="abs-pos-non-replaced-icb-vrl-004-ref.xht" />
+
+  <meta content="image" name="flags" />
+  <meta content="This test checks that when the initial containing block's writing-mode is 'horizontal-tb' and its 'direction' is 'rtl', then an absolutely positioned box (with 'left: auto', 'width: auto' and 'right: auto') whose containing block is the initial containing block must set 'right' to the static position. Whether such absolutely positioned box's 'writing-mode' is vertical or not is irrelevant." name="assert" />
+
+  <style type="text/css"><![CDATA[
+  html
+    {
+      direction: rtl;
+    }
+
+  img
+    {
+      vertical-align: top;
+    }
+
+  div#green-overlapping-test
+    {
+      border-left: green solid 25px;
+      border-right: green solid 75px;
+      height: 100px;
+      left: auto;
+      position: absolute;
+      right: auto;
+      width: auto;
+      writing-mode: vertical-lr;
+    }
+
+  /*
+  "
+  If all three of 'left', 'width', and 'right' are 'auto': First set any 'auto' values for 'margin-left' and 'margin-right' to 0. Then, if the 'direction' property of the element establishing the static-position containing block is 'ltr' set 'left' to the static position and apply rule number three below; otherwise, set 'right' to the static position and apply rule number one below.
+  (...)
+  1. 'left' and 'width' are 'auto' and 'right' is not 'auto', then the width is shrink-to-fit. Then solve for 'left'
+  "
+  10.3.7 Absolutely positioned, non-replaced elements
+  http://www.w3.org/TR/CSS21/visudet.html#abs-non-replaced-width
+
+  So:
+
+            auto : left
+        +
+            0px : margin-left
+        +
+           25px : border-left-width
+        +
+            0px : padding-left
+        +
+           auto : width
+        +
+            0px : padding-right
+        +
+           75px : border-right-width
+        +
+            0px : margin-right
+        +
+           auto : right
+        ====================
+                : width of containing block (width of Initial Containing Block)
+
+  becomes
+
+          solve : left
+        +
+            0px : margin-left
+        +
+           25px : border-left-width
+        +
+            0px : padding-left
+        +
+            0px : width (shrink-to-fit)
+        +
+            0px : padding-right
+        +
+           75px : border-right-width
+        +
+            0px : margin-right
+        +
+            8px : right
+        ====================
+                : width of containing block (width of Initial Containing Block)
+  */
+
+  div#red-overlapped-reference
+    {
+      background-color: red;
+      height: 100px;
+      position: relative;
+      width: 100px;
+      z-index: -1;
+    }
+  ]]></style>
+ </head>
+
+ <body>
+
+  <p><img src="support/pass-cdts-abs-pos-non-replaced.png" width="246" height="36" alt="Image download support must be enabled" /></p>
+
+  <!--
+  The image says:
+  Test passes if there is a filled green square and <strong>no red</strong>.
+  -->
+
+  <div id="green-overlapping-test"></div>
+
+  <div id="red-overlapped-reference"></div>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/abs-pos-non-replaced-icb-vlr-007.xht
@@ -0,0 +1,46 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Writing Modes Test: position absolute and 'vertical-lr' - 'left' and 'width' are 'auto', 'right' is not 'auto' with 'direction: ltr' in initial containing block</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+  <link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#vertical-layout" title="7.1 Principles of Layout in Vertical Writing Modes" />
+  <link rel="match" href="../css21/reference/ref-filled-green-100px-square.xht" />
+
+  <meta content="" name="flags" />
+  <meta content="This test checks that when the initial containing block's writing-mode is 'horizontal-tb' and its 'direction' is 'ltr', then an absolutely positioned box (with 'left' and 'width' are 'auto' and 'right' is not 'auto') whose containing block is the initial containing block must set width to shrink-to-fit and then solve for 'left'. Whether such absolutely positioned box's 'writing-mode' is vertical or not is irrelevant." name="assert" />
+
+  <style type="text/css"><![CDATA[
+  object#overlapping-green
+    {
+      height: 116px;
+      width: 500px; /* 500px divided by 5 == 100px (width of green square) */
+      vertical-align: top;
+    }
+
+  div#red-overlapped-reference
+    {
+      background-color: red;
+      bottom: 116px;
+      height: 100px;
+      left: auto;
+      position: relative;
+      width: 100px;
+      z-index: -1;
+    }
+  ]]></style>
+ </head>
+
+ <body>
+
+  <p>Test passes if there is a filled green square and <strong>no red</strong>.</p>
+
+  <div><object data="support/embedded-doc-abs-pos-non-replaced-icb-vlr-007.html" type="text/html" id="overlapping-green">This test requires a browser with capability to embed an HTML document thanks to the HTML &lt;object&gt; element.</object></div>
+
+  <div id="red-overlapped-reference"></div>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/abs-pos-non-replaced-icb-vlr-009.xht
@@ -0,0 +1,46 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Writing Modes Test: position absolute and 'vertical-lr' - 'left' and 'width' are 'auto', 'right' is not 'auto' with 'direction: rtl' in initial containing block</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+  <link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#vertical-layout" title="7.1 Principles of Layout in Vertical Writing Modes" />
+  <link rel="match" href="abs-pos-non-replaced-icb-vrl-008-ref.xht" />
+
+  <meta content="" name="flags" />
+  <meta content="This test checks that when the initial containing block's writing-mode is 'horizontal-tb' and its 'direction' is 'rtl', then an absolutely positioned box (with 'left' and 'width' are 'auto' and 'right' is not 'auto') whose containing block is the initial containing block must set width to shrink-to-fit and then solve for 'left'. Whether such absolutely positioned box's 'writing-mode' is vertical or not is irrelevant." name="assert" />
+
+  <style type="text/css"><![CDATA[
+  object#overlapping-green
+    {
+      height: 116px;
+      width: 500px; /* 500px divided by 5 == 100px (width of green square) */
+      vertical-align: top;
+    }
+
+  div#red-overlapped-reference
+    {
+      background-color: red;
+      bottom: 116px;
+      height: 100px;
+      left: 300px;
+      position: relative;
+      width: 100px;
+      z-index: -1;
+    }
+  ]]></style>
+ </head>
+
+ <body>
+
+  <p>Test passes if there is a filled green square and <strong>no red</strong>.</p>
+
+  <div><object data="support/embedded-doc-abs-pos-non-replaced-icb-vlr-009.html" type="text/html" id="overlapping-green">This test requires a browser with capability to embed an HTML document thanks to the HTML &lt;object&gt; element.</object></div>
+
+  <div id="red-overlapped-reference"></div>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/abs-pos-non-replaced-icb-vlr-011.xht
@@ -0,0 +1,107 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Writing Modes Test: position absolute and 'vertical-lr' - 'left' and 'right' are 'auto' and 'width' is not 'auto' with 'direction: ltr' in initial containing block</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+  <link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#vertical-layout" title="7.1 Principles of Layout in Vertical Writing Modes" />
+  <link rel="match" href="../css21/reference/ref-filled-green-100px-square.xht" />
+
+  <meta content="" name="flags" />
+  <meta content="This test checks that when the initial containing block's writing-mode is 'horizontal-tb' and its 'direction' is 'ltr', then an absolutely positioned box (with 'left' and 'right' are 'auto' and 'width' is not 'auto') whose containing block is the initial containing block and whose direction is 'ltr' must set left to static position and then solve for 'right'. Whether such absolutely positioned box's 'writing-mode' is vertical or not is irrelevant." name="assert" />
+
+  <style type="text/css"><![CDATA[
+  html
+    {
+      direction: ltr;
+    }
+
+  div#green-overlapping-test
+    {
+      background-color: green;
+      border-left: green solid 35px;
+      border-right: green solid 15px;
+      height: 100px;
+      left: auto;
+      position: absolute;
+      right: auto;
+      width: 50px;
+      writing-mode: vertical-lr;
+    }
+
+  /*
+  "
+  2. 'left' and 'right' are 'auto' and 'width' is not 'auto', then if the 'direction' property of the element establishing the static-position containing block is 'ltr' set 'left' to the static position (...) Then solve for (...) 'right' (if 'direction' is 'ltr').
+  "
+  10.3.7 Absolutely positioned, non-replaced elements
+  http://www.w3.org/TR/CSS21/visudet.html#abs-non-replaced-width
+
+  So:
+
+           auto : left
+        +
+            0px : margin-left
+        +
+           35px : border-left-width
+        +
+            0px : padding-left
+        +
+           50px : width
+        +
+            0px : padding-right
+        +
+           15px : border-right-width
+        +
+            0px : margin-right
+        +
+           auto : right
+        ====================
+                : width of containing block (width of Initial Containing Block)
+
+  becomes
+
+            8px : left (set to static position)
+        +
+            0px : margin-left
+        +
+           35px : border-left-width
+        +
+            0px : padding-left
+        +
+           50px : width
+        +
+            0px : padding-right
+        +
+           15px : border-right-width
+        +
+            0px : margin-right
+        +
+          solve : right
+        ====================
+                : width of containing block (width of Initial Containing Block)
+  */
+
+  div#red-overlapped-reference
+    {
+      background-color: red;
+      height: 100px;
+      position: relative;
+      width: 100px;
+      z-index: -1;
+    }
+  ]]></style>
+ </head>
+
+ <body>
+
+  <p>Test passes if there is a filled green square and <strong>no red</strong>.</p>
+
+  <div id="green-overlapping-test"></div>
+
+  <div id="red-overlapped-reference"></div>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/abs-pos-non-replaced-icb-vlr-013.xht
@@ -0,0 +1,117 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Writing Modes Test: position absolute and 'vertical-lr' - 'left' and 'right' are 'auto', 'width' is not 'auto' with 'direction: rtl' in initial containing block</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+  <link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#vertical-layout" title="7.1 Principles of Layout in Vertical Writing Modes" />
+  <link rel="match" href="abs-pos-non-replaced-icb-vrl-004-ref.xht" />
+
+  <meta content="image" name="flags" />
+  <meta content="This test checks that when the initial containing block's writing-mode is 'horizontal-tb' and its 'direction' is 'rtl', then an absolutely positioned box (with 'left' and 'right' are 'auto', 'width' is not 'auto') whose containing block is the initial containing block and whose direction is 'rtl' must set right to static position and then solve for 'left'. Whether such absolutely positioned box's 'writing-mode' is vertical or not is irrelevant." name="assert" />
+
+  <style type="text/css"><![CDATA[
+  html
+    {
+      direction: rtl;
+    }
+
+  img
+    {
+      vertical-align: top;
+    }
+
+  div#green-overlapping-test
+    {
+      background-color: green;
+      border-left: green solid 35px;
+      border-right: green solid 15px;
+      height: 100px;
+      left: auto;
+      position: absolute;
+      right: auto;
+      width: 50px;
+      writing-mode: vertical-lr;
+    }
+
+  /*
+  "
+  2. 'left' and 'right' are 'auto' and 'width' is not 'auto', then if the 'direction' property of the element establishing the static-position containing block is 'rtl' set 'right' to the static position (...) Then solve for 'left' (if 'direction is 'rtl').
+  "
+  10.3.7 Absolutely positioned, non-replaced elements
+  http://www.w3.org/TR/CSS21/visudet.html#abs-non-replaced-width
+
+  So:
+
+           auto : left
+        +
+            0px : margin-left
+        +
+           35px : border-left-width
+        +
+            0px : padding-left
+        +
+           50px : width
+        +
+            0px : padding-right
+        +
+           15px : border-right-width
+        +
+            0px : margin-right
+        +
+           auto : right (set to static position)
+        ====================
+                : width of containing block (width of Initial Containing Block)
+
+  becomes
+
+          solve : left
+        +
+            0px : margin-left
+        +
+           35px : border-left-width
+        +
+            0px : padding-left
+        +
+           50px : width
+        +
+            0px : padding-right
+        +
+           15px : border-right-width
+        +
+            0px : margin-right
+        +
+            8px : right (static position)
+        ====================
+                : width of containing block (width of Initial Containing Block)
+  */
+
+  div#red-overlapped-reference
+    {
+      background-color: red;
+      height: 100px;
+      position: relative;
+      width: 100px;
+      z-index: -1;
+    }
+  ]]></style>
+ </head>
+
+ <body>
+
+  <p><img src="support/pass-cdts-abs-pos-non-replaced.png" width="246" height="36" alt="Image download support must be enabled" /></p>
+
+  <!--
+  The image says:
+  Test passes if there is a filled green square and <strong>no red</strong>.
+  -->
+
+  <div id="green-overlapping-test"></div>
+
+  <div id="red-overlapped-reference"></div>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/abs-pos-non-replaced-icb-vlr-015.xht
@@ -0,0 +1,46 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Writing Modes Test: position absolute and 'vertical-lr' - 'width' and 'right' are 'auto' and 'left' is not 'auto' with 'direction: ltr' in initial containing block</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+  <link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#vertical-layout" title="7.1 Principles of Layout in Vertical Writing Modes" />
+  <link rel="match" href="abs-pos-non-replaced-icb-vrl-008-ref.xht" />
+
+  <meta content="" name="flags" />
+  <meta content="This test checks that when initial containing block's writing-mode is 'horizontal-tb' and its 'direction' is 'ltr', then an absolutely positioned box (with 'width' and 'right' are 'auto' and 'left' is not 'auto') whose containing block is the initial containing block must set width to shrink-to-fit and then solve for 'right'. Whether such absolutely positioned box's 'writing-mode' is vertical or not is irrelevant." name="assert" />
+
+  <style type="text/css"><![CDATA[
+  object#overlapping-green
+    {
+      height: 116px;
+      width: 500px; /* 60% of 500px == 300px (offset of green square) */
+      vertical-align: top;
+    }
+
+  div#red-overlapped-reference
+    {
+      background-color: red;
+      bottom: 116px;
+      height: 100px;
+      left: 300px;
+      position: relative;
+      width: 100px;
+      z-index: -1;
+    }
+  ]]></style>
+ </head>
+
+ <body>
+
+  <p>Test passes if there is a filled green square and <strong>no red</strong>.</p>
+
+  <div><object data="support/embedded-doc-abs-pos-non-replaced-icb-vlr-015.html" type="text/html" id="overlapping-green">This test requires a browser with capability to embed an HTML document thanks to the HTML &lt;object&gt; element.</object></div>
+
+  <div id="red-overlapped-reference"></div>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/abs-pos-non-replaced-icb-vlr-017.xht
@@ -0,0 +1,46 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Writing Modes Test: position absolute and 'vertical-lr' - 'width' and 'right' are 'auto' and 'left' is not 'auto' with 'direction: rtl' in initial containing block</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+  <link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#vertical-layout" title="7.1 Principles of Layout in Vertical Writing Modes" />
+  <link rel="match" href="abs-pos-non-replaced-icb-vrl-008-ref.xht" />
+
+  <meta content="" name="flags" />
+  <meta content="This test checks that when initial containing block's writing-mode is 'horizontal-tb' and its 'direction' is 'rtl', then an absolutely positioned box (with 'width' and 'right' are 'auto' and 'left' is not 'auto') whose containing block is the initial containing block must set width to shrink-to-fit and then solve for 'right'. Whether such absolutely positioned box's 'writing-mode' is vertical or not is irrelevant." name="assert" />
+
+  <style type="text/css"><![CDATA[
+  object#overlapping-green
+    {
+      height: 116px;
+      width: 500px; /* 60% of 500px == 300px (offset of green square) */
+      vertical-align: top;
+    }
+
+  div#red-overlapped-reference
+    {
+      background-color: red;
+      bottom: 116px;
+      height: 100px;
+      left: 300px;
+      position: relative;
+      width: 100px;
+      z-index: -1;
+    }
+  ]]></style>
+ </head>
+
+ <body>
+
+  <p>Test passes if there is a filled green square and <strong>no red</strong>.</p>
+
+  <div><object data="support/embedded-doc-abs-pos-non-replaced-icb-vlr-017.html" type="text/html" id="overlapping-green">This test requires a browser with capability to embed an HTML document thanks to the HTML &lt;object&gt; element.</object></div>
+
+  <div id="red-overlapped-reference"></div>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/abs-pos-non-replaced-icb-vlr-019.xht
@@ -0,0 +1,46 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Writing Modes Test: position absolute and 'vertical-lr' - 'left' is 'auto', 'width' and 'right' are not 'auto' with 'direction: ltr' in initial containing block</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+  <link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#vertical-layout" title="7.1 Principles of Layout in Vertical Writing Modes" />
+  <link rel="match" href="../css21/reference/ref-filled-green-100px-square.xht" />
+
+  <meta content="" name="flags" />
+  <meta content="This test checks that when the initial containing block's writing-mode is 'horizontal-tb' and its 'direction' is 'ltr', then an absolutely positioned box (with 'left' is 'auto', 'width' and 'right' are not 'auto') whose containing block is the initial containing block must solve for 'left'. Whether such absolutely positioned box's 'writing-mode' is vertical or not is irrelevant." name="assert" />
+
+  <style type="text/css"><![CDATA[
+  object#overlapping-green
+    {
+      height: 116px;
+      width: 500px; /* 500px divided by 5 == 100px (width of green square) */
+      vertical-align: top;
+    }
+
+  div#red-overlapped-reference
+    {
+      background-color: red;
+      bottom: 116px;
+      height: 100px;
+      left: auto;
+      position: relative;
+      width: 100px;
+      z-index: -1;
+    }
+  ]]></style>
+ </head>
+
+ <body>
+
+  <p>Test passes if there is a filled green square and <strong>no red</strong>.</p>
+
+  <div><object data="support/embedded-doc-abs-pos-non-replaced-icb-vlr-019.html" type="text/html" id="overlapping-green">This test requires a browser with capability to embed an HTML document thanks to the HTML &lt;object&gt; element.</object></div>
+
+  <div id="red-overlapped-reference"></div>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/abs-pos-non-replaced-icb-vlr-021.xht
@@ -0,0 +1,46 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Writing Modes Test: position absolute and 'vertical-lr' - 'left' is 'auto', 'width' and 'right' are not 'auto' with 'direction: rtl' in initial containing block</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+  <link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#vertical-layout" title="7.1 Principles of Layout in Vertical Writing Modes" />
+  <link rel="match" href="../css21/reference/ref-filled-green-100px-square.xht" />
+
+  <meta content="" name="flags" />
+  <meta content="This test checks that when the initial containing block's writing-mode is 'horizontal-tb' and its 'direction' is 'rtl', then an absolutely positioned box (with 'left' is 'auto', 'width' and 'right' are not 'auto') whose containing block is the initial containing block must solve for 'left'. Whether such absolutely positioned box's 'writing-mode' is vertical or not is irrelevant." name="assert" />
+
+  <style type="text/css"><![CDATA[
+  object#overlapping-green
+    {
+      height: 116px;
+      width: 500px; /* 500px divided by 5 == 100px (width of green square) */
+      vertical-align: top;
+    }
+
+  div#red-overlapped-reference
+    {
+      background-color: red;
+      bottom: 116px;
+      height: 100px;
+      left: auto;
+      position: relative;
+      width: 100px;
+      z-index: -1;
+    }
+  ]]></style>
+ </head>
+
+ <body>
+
+  <p>Test passes if there is a filled green square and <strong>no red</strong>.</p>
+
+  <div><object data="support/embedded-doc-abs-pos-non-replaced-icb-vlr-021.html" type="text/html" id="overlapping-green">This test requires a browser with capability to embed an HTML document thanks to the HTML &lt;object&gt; element.</object></div>
+
+  <div id="red-overlapped-reference"></div>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/abs-pos-non-replaced-icb-vlr-023.xht
@@ -0,0 +1,46 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Writing Modes Test: position absolute and 'vertical-lr' - 'width' is 'auto', 'left' and 'right' are not 'auto' with 'direction: ltr' in initial containing block</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+  <link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#vertical-layout" title="7.1 Principles of Layout in Vertical Writing Modes" />
+  <link rel="match" href="abs-pos-non-replaced-icb-vrl-008-ref.xht" />
+
+  <meta content="" name="flags" />
+  <meta content="This test checks that when the initial containing block's writing-mode is 'horizontal-tb' and its 'direction' is 'ltr', then an absolutely positioned box (with 'width' is 'auto', 'left' and 'right' are not 'auto') whose containing block is the initial containing block must solve 'width'. Whether such absolutely positioned box's 'writing-mode' is vertical or not is irrelevant." name="assert" />
+
+  <style type="text/css"><![CDATA[
+  object#overlapping-green
+    {
+      height: 116px;
+      width: 500px;
+      vertical-align: top;
+    }
+
+  div#red-overlapped-reference
+    {
+      background-color: red;
+      bottom: 116px;
+      height: 100px;
+      left: 300px;
+      position: relative;
+      width: 100px;
+      z-index: -1;
+    }
+  ]]></style>
+ </head>
+
+ <body>
+
+  <p>Test passes if there is a filled green square and <strong>no red</strong>.</p>
+
+  <div><object data="support/embedded-doc-abs-pos-non-replaced-icb-vlr-023.html" type="text/html" id="overlapping-green">This test requires a browser with capability to embed an HTML document thanks to the HTML &lt;object&gt; element.</object></div>
+
+  <div id="red-overlapped-reference"></div>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/abs-pos-non-replaced-icb-vlr-025.xht
@@ -0,0 +1,46 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Writing Modes Test: position absolute and 'vertical-lr' - 'width' is 'auto', 'left' and 'right' are not 'auto' with direction: rtl' in initial containing block</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+  <link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#vertical-layout" title="7.1 Principles of Layout in Vertical Writing Modes" />
+  <link rel="match" href="abs-pos-non-replaced-icb-vrl-008-ref.xht" />
+
+  <meta content="" name="flags" />
+  <meta content="This test checks that when the initial containing block's writing-mode is 'horizontal-tb' and its 'direction' is 'rtl', then an absolutely positioned box (with 'width' is 'auto', 'left' and 'right' are not 'auto') whose containing block is the initial containing block must solve 'width'. Whether such absolutely positioned box's 'writing-mode' is vertical or not is irrelevant." name="assert" />
+
+  <style type="text/css"><![CDATA[
+  object#overlapping-green
+    {
+      height: 116px;
+      width: 500px;
+      vertical-align: top;
+    }
+
+  div#red-overlapped-reference
+    {
+      background-color: red;
+      bottom: 116px;
+      height: 100px;
+      left: 300px;
+      position: relative;
+      width: 100px;
+      z-index: -1;
+    }
+  ]]></style>
+ </head>
+
+ <body>
+
+  <p>Test passes if there is a filled green square and <strong>no red</strong>.</p>
+
+  <div><object data="support/embedded-doc-abs-pos-non-replaced-icb-vlr-025.html" type="text/html" id="overlapping-green">This test requires a browser with capability to embed an HTML document thanks to the HTML &lt;object&gt; element.</object></div>
+
+  <div id="red-overlapped-reference"></div>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/abs-pos-non-replaced-icb-vlr-027.xht
@@ -0,0 +1,46 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Writing Modes Test: position absolute and 'vertical-lr' - 'right' is 'auto', 'left' and 'width' are not 'auto' with 'direction: ltr' in initial containing block</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+  <link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#vertical-layout" title="7.1 Principles of Layout in Vertical Writing Modes" />
+  <link rel="match" href="abs-pos-non-replaced-icb-vrl-008-ref.xht" />
+
+  <meta content="" name="flags" />
+  <meta content="This test checks that when the initial containing block's writing-mode is 'horizontal-tb' and its 'direction' is 'ltr', then an absolutely positioned box (with 'right' is 'auto', 'left' and 'width' are not 'auto') whose containing block is the initial containing block must solve for 'right'. Whether such absolutely positioned box's 'writing-mode' is vertical or not is irrelevant." name="assert" />
+
+  <style type="text/css"><![CDATA[
+  object#overlapping-green
+    {
+      height: 116px;
+      width: 500px;
+      vertical-align: top;
+    }
+
+  div#red-overlapped-reference
+    {
+      background-color: red;
+      bottom: 116px;
+      height: 100px;
+      left: 300px;
+      position: relative;
+      width: 100px;
+      z-index: -1;
+    }
+  ]]></style>
+ </head>
+
+ <body>
+
+  <p>Test passes if there is a filled green square and <strong>no red</strong>.</p>
+
+  <div><object data="support/embedded-doc-abs-pos-non-replaced-icb-vlr-027.html" type="text/html" id="overlapping-green">This test requires a browser with capability to embed an HTML document thanks to the HTML &lt;object&gt; element.</object></div>
+
+  <div id="red-overlapped-reference"></div>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/abs-pos-non-replaced-icb-vlr-029.xht
@@ -0,0 +1,46 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Writing Modes Test: position absolute and 'vertical-lr' - 'right' is 'auto', 'left' and 'width' are not 'auto' with 'direction: rtl' in initial containing block</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+  <link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#vertical-layout" title="7.1 Principles of Layout in Vertical Writing Modes" />
+  <link rel="match" href="abs-pos-non-replaced-icb-vrl-008-ref.xht" />
+
+  <meta content="" name="flags" />
+  <meta content="This test checks that when the initial containing block's writing-mode is 'horizontal-tb' and its 'direction' is 'rtl', then an absolutely positioned box (with 'right' is 'auto', 'left' and 'width' are not 'auto') whose containing block is the initial containing block must solve for 'right'. Whether such absolutely positioned box's 'writing-mode' is vertical or not is irrelevant." name="assert" />
+
+  <style type="text/css"><![CDATA[
+  object#overlapping-green
+    {
+      height: 116px;
+      width: 500px;
+      vertical-align: top;
+    }
+
+  div#red-overlapped-reference
+    {
+      background-color: red;
+      bottom: 116px;
+      height: 100px;
+      left: 300px;
+      position: relative;
+      width: 100px;
+      z-index: -1;
+    }
+  ]]></style>
+ </head>
+
+ <body>
+
+  <p>Test passes if there is a filled green square and <strong>no red</strong>.</p>
+
+  <div><object data="support/embedded-doc-abs-pos-non-replaced-icb-vlr-029.html" type="text/html" id="overlapping-green">This test requires a browser with capability to embed an HTML document thanks to the HTML &lt;object&gt; element.</object></div>
+
+  <div id="red-overlapped-reference"></div>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/abs-pos-non-replaced-icb-vlr-031.xht
@@ -0,0 +1,46 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Writing Modes Test: position absolute and 'vertical-lr' - overconstrained values with 'direction: ltr' in initial containing block</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+  <link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#vertical-layout" title="7.1 Principles of Layout in Vertical Writing Modes" />
+  <link rel="match" href="abs-pos-non-replaced-icb-vrl-008-ref.xht" />
+
+  <meta content="" name="flags" />
+  <meta content="This test checks that when the initial containing block's writing-mode is 'horizontal-tb' and its 'direction' is 'ltr', then an absolutely positioned box (with overconstrained 'left', 'width' and 'right' values) whose containing block is the initial containing block must ignore the value for 'right' and solve for that value. Whether such absolutely positioned box's 'writing-mode' is vertical or not is irrelevant." name="assert" />
+
+  <style type="text/css"><![CDATA[
+  object#overlapping-green
+    {
+      height: 116px;
+      width: 500px;
+      vertical-align: top;
+    }
+
+  div#red-overlapped-reference
+    {
+      background-color: red;
+      bottom: 116px;
+      height: 100px;
+      left: 300px;
+      position: relative;
+      width: 100px;
+      z-index: -1;
+    }
+  ]]></style>
+ </head>
+
+ <body>
+
+  <p>Test passes if there is a filled green square and <strong>no red</strong>.</p>
+
+  <div><object data="support/embedded-doc-abs-pos-non-replaced-icb-vlr-031.html" type="text/html" id="overlapping-green">This test requires a browser with capability to embed an HTML document thanks to the HTML &lt;object&gt; element.</object></div>
+
+  <div id="red-overlapped-reference"></div>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/abs-pos-non-replaced-icb-vlr-033.xht
@@ -0,0 +1,46 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Writing Modes Test: position absolute and 'vertical-lr' - overconstrained values with 'direction: rtl' in initial containing block</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+  <link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#vertical-layout" title="7.1 Principles of Layout in Vertical Writing Modes" />
+  <link rel="match" href="abs-pos-non-replaced-icb-vrl-008-ref.xht" />
+
+  <meta content="" name="flags" />
+  <meta content="This test checks that when the initial containing block's writing-mode is 'horizontal-tb' and its 'direction' is 'rtl', then an absolutely positioned box (with overconstrained 'left', 'width' and 'right' values) whose containing block is the initial containing block must ignore the value for 'left' and solve for that value. Whether such absolutely positioned box's 'writing-mode' is vertical or not is irrelevant." name="assert" />
+
+  <style type="text/css"><![CDATA[
+  object#overlapping-green
+    {
+      height: 116px;
+      width: 500px;
+      vertical-align: top;
+    }
+
+  div#red-overlapped-reference
+    {
+      background-color: red;
+      bottom: 116px;
+      height: 100px;
+      left: 300px;
+      position: relative;
+      width: 100px;
+      z-index: -1;
+    }
+  ]]></style>
+ </head>
+
+ <body>
+
+  <p>Test passes if there is a filled green square and <strong>no red</strong>.</p>
+
+  <div><object data="support/embedded-doc-abs-pos-non-replaced-icb-vlr-033.html" type="text/html" id="overlapping-green">This test requires a browser with capability to embed an HTML document thanks to the HTML &lt;object&gt; element.</object></div>
+
+  <div id="red-overlapped-reference"></div>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/abs-pos-non-replaced-icb-vrl-002.xht
@@ -0,0 +1,108 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Writing Modes Test: position absolute and 'vertical-rl' - 'left: auto', 'width: auto' and 'right: auto' with 'direction: ltr' in initial containing block</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+  <link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#vertical-layout" title="7.1 Principles of Layout in Vertical Writing Modes" />
+  <link rel="match" href="../css21/reference/ref-filled-green-100px-square.xht" />
+
+  <meta content="" name="flags" />
+  <meta content="This test checks that when the initial containing block's writing-mode is 'horizontal-tb' and its 'direction' is 'ltr', then an absolutely positioned box (with 'left: auto', 'width: auto' and 'right: auto') whose containing block is the initial containing block must set 'left' to the static position. Whether such absolutely positioned box's 'writing-mode' is vertical or not is irrelevant." name="assert" />
+
+  <style type="text/css"><![CDATA[
+  html
+    {
+      direction: ltr;
+    }
+
+  div#green-overlapping-test
+    {
+      border-left: green solid 25px;
+      border-right: green solid 75px;
+      height: 100px;
+      left: auto;
+      position: absolute;
+      right: auto;
+      width: auto;
+      writing-mode: vertical-rl;
+    }
+
+  /*
+  "
+  If all three of 'left', 'width', and 'right' are 'auto': First set any 'auto' values for 'margin-left' and 'margin-right' to 0. Then, if the 'direction' property of the element establishing the static-position containing block is 'ltr' set 'left' to the static position and apply rule number three below; otherwise, set 'right' to the static position and apply rule number one below.
+  (...)
+  3. 'width' and 'right' are 'auto' and 'left' is not 'auto', then the width is shrink-to-fit . Then solve for 'right'
+  "
+  10.3.7 Absolutely positioned, non-replaced elements
+  http://www.w3.org/TR/CSS21/visudet.html#abs-non-replaced-width
+
+  So:
+
+            auto : left
+        +
+            0px : margin-left
+        +
+           25px : border-left-width
+        +
+            0px : padding-left
+        +
+           auto : width
+        +
+            0px : padding-right
+        +
+           75px : border-right-width
+        +
+            0px : margin-right
+        +
+           auto : right
+        ====================
+                : width of containing block (width of Initial Containing Block)
+
+  becomes
+
+            8px : left
+        +
+            0px : margin-left
+        +
+           25px : border-left-width
+        +
+            0px : padding-left
+        +
+            0px : width (shrink-to-fit)
+        +
+            0px : padding-right
+        +
+           75px : border-right-width
+        +
+            0px : margin-right
+        +
+          solve : right
+        ====================
+                : width of containing block (width of Initial Containing Block)
+  */
+
+  div#red-overlapped-reference
+    {
+      background-color: red;
+      height: 100px;
+      position: relative;
+      width: 100px;
+      z-index: -1;
+    }
+  ]]></style>
+ </head>
+
+ <body>
+
+  <p>Test passes if there is a filled green square and <strong>no red</strong>.</p>
+
+  <div id="green-overlapping-test"></div>
+
+  <div id="red-overlapped-reference"></div>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/abs-pos-non-replaced-icb-vrl-004-ref.xht
@@ -0,0 +1,37 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Reftest Reference</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+
+  <meta content="image" name="flags" />
+
+  <style type="text/css"><![CDATA[
+  body
+    {
+      direction: rtl;
+    }
+
+  img
+    {
+      vertical-align: top;
+    }
+
+  img#green-square
+    {
+      position: relative;
+      top: 16px;
+    }
+  ]]></style>
+ </head>
+
+ <body>
+
+  <p><img src="support/pass-cdts-abs-pos-non-replaced.png" width="246" height="36" alt="Image download support must be enabled" /><br /><img id="green-square" src="support/swatch-green.png" width="100" height="100" alt="Image download support must be enabled" /></p>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/abs-pos-non-replaced-icb-vrl-004.xht
@@ -0,0 +1,118 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Writing Modes Test: position absolute and 'vertical-rl' - 'left: auto', 'width: auto' and 'right: auto' with 'direction: rtl' in initial containing block</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+  <link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#vertical-layout" title="7.1 Principles of Layout in Vertical Writing Modes" />
+  <link rel="match" href="abs-pos-non-replaced-icb-vrl-004-ref.xht" />
+
+  <meta content="image" name="flags" />
+  <meta content="This test checks that when the initial containing block's writing-mode is 'horizontal-tb' and its 'direction' is 'rtl', then an absolutely positioned box (with 'left: auto', 'width: auto' and 'right: auto') whose containing block is the initial containing block must set 'right' to the static position. Whether such absolutely positioned box's 'writing-mode' is vertical or not is irrelevant." name="assert" />
+
+  <style type="text/css"><![CDATA[
+  html
+    {
+      direction: rtl;
+    }
+
+  img
+    {
+      vertical-align: top;
+    }
+
+  div#green-overlapping-test
+    {
+      border-left: green solid 25px;
+      border-right: green solid 75px;
+      height: 100px;
+      left: auto;
+      position: absolute;
+      right: auto;
+      width: auto;
+      writing-mode: vertical-rl;
+    }
+
+  /*
+  "
+  If all three of 'left', 'width', and 'right' are 'auto': First set any 'auto' values for 'margin-left' and 'margin-right' to 0. Then, if the 'direction' property of the element establishing the static-position containing block is 'ltr' set 'left' to the static position and apply rule number three below; otherwise, set 'right' to the static position and apply rule number one below.
+  (...)
+  1. 'left' and 'width' are 'auto' and 'right' is not 'auto', then the width is shrink-to-fit. Then solve for 'left'
+  "
+  10.3.7 Absolutely positioned, non-replaced elements
+  http://www.w3.org/TR/CSS21/visudet.html#abs-non-replaced-width
+
+  So:
+
+            auto : left
+        +
+            0px : margin-left
+        +
+           25px : border-left-width
+        +
+            0px : padding-left
+        +
+           auto : width
+        +
+            0px : padding-right
+        +
+           75px : border-right-width
+        +
+            0px : margin-right
+        +
+           auto : right
+        ====================
+                : width of containing block (width of Initial Containing Block)
+
+  becomes
+
+          solve : left
+        +
+            0px : margin-left
+        +
+           25px : border-left-width
+        +
+            0px : padding-left
+        +
+            0px : width (shrink-to-fit)
+        +
+            0px : padding-right
+        +
+           75px : border-right-width
+        +
+            0px : margin-right
+        +
+            8px : right
+        ====================
+                : width of containing block (width of Initial Containing Block)
+  */
+
+  div#red-overlapped-reference
+    {
+      background-color: red;
+      height: 100px;
+      position: relative;
+      width: 100px;
+      z-index: -1;
+    }
+  ]]></style>
+ </head>
+
+ <body>
+
+  <p><img src="support/pass-cdts-abs-pos-non-replaced.png" width="246" height="36" alt="Image download support must be enabled" /></p>
+
+  <!--
+  The image says:
+  Test passes if there is a filled green square and <strong>no red</strong>.
+  -->
+
+  <div id="green-overlapping-test"></div>
+
+  <div id="red-overlapped-reference"></div>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/abs-pos-non-replaced-icb-vrl-006.xht
@@ -0,0 +1,46 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Writing Modes Test: position absolute and 'vertical-rl' - 'left' and 'width' are 'auto', 'right' is not 'auto' with 'direction: ltr' in initial containing block</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+  <link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#vertical-layout" title="7.1 Principles of Layout in Vertical Writing Modes" />
+  <link rel="match" href="../css21/reference/ref-filled-green-100px-square.xht" />
+
+  <meta content="" name="flags" />
+  <meta content="This test checks that when the initial containing block's writing-mode is 'horizontal-tb' and its 'direction' is 'ltr', then an absolutely positioned box (with 'left' and 'width' are 'auto' and 'right' is not 'auto') whose containing block is the initial containing block must set width to shrink-to-fit and then solve for 'left'. Whether such absolutely positioned box's 'writing-mode' is vertical or not is irrelevant." name="assert" />
+
+  <style type="text/css"><![CDATA[
+  object#overlapping-green
+    {
+      height: 116px;
+      width: 500px; /* 500px divided by 5 == 100px (width of green square) */
+      vertical-align: top;
+    }
+
+  div#red-overlapped-reference
+    {
+      background-color: red;
+      bottom: 116px;
+      height: 100px;
+      left: auto;
+      position: relative;
+      width: 100px;
+      z-index: -1;
+    }
+  ]]></style>
+ </head>
+
+ <body>
+
+  <p>Test passes if there is a filled green square and <strong>no red</strong>.</p>
+
+  <div><object data="support/embedded-doc-abs-pos-non-replaced-icb-vrl-006.html" type="text/html" id="overlapping-green">This test requires a browser with capability to embed an HTML document thanks to the HTML &lt;object&gt; element.</object></div>
+
+  <div id="red-overlapped-reference"></div>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/abs-pos-non-replaced-icb-vrl-008-ref.xht
@@ -0,0 +1,30 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Reftest Reference</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+
+  <style type="text/css"><![CDATA[
+  div
+    {
+      background-color: green;
+      height: 100px;
+      margin-left: 300px;
+      width: 100px;
+    }
+  ]]></style>
+
+ </head>
+
+ <body>
+
+  <p>Test passes if there is a filled green square and <strong>no red</strong>.</p>
+
+  <div></div>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/abs-pos-non-replaced-icb-vrl-008.xht
@@ -0,0 +1,46 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Writing Modes Test: position absolute and 'vertical-rl' - 'left' and 'width' are 'auto', 'right' is not 'auto' with 'direction: rtl' in initial containing block</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+  <link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#vertical-layout" title="7.1 Principles of Layout in Vertical Writing Modes" />
+  <link rel="match" href="abs-pos-non-replaced-icb-vrl-008-ref.xht" />
+
+  <meta content="" name="flags" />
+  <meta content="This test checks that when the initial containing block's writing-mode is 'horizontal-tb' and its 'direction' is 'rtl', then an absolutely positioned box (with 'left' and 'width' are 'auto' and 'right' is not 'auto') whose containing block is the initial containing block must set width to shrink-to-fit and then solve for 'left'. Whether such absolutely positioned box's 'writing-mode' is vertical or not is irrelevant." name="assert" />
+
+  <style type="text/css"><![CDATA[
+  object#overlapping-green
+    {
+      height: 116px;
+      width: 500px; /* 500px divided by 5 == 100px (width of green square) */
+      vertical-align: top;
+    }
+
+  div#red-overlapped-reference
+    {
+      background-color: red;
+      bottom: 116px;
+      height: 100px;
+      left: 300px;
+      position: relative;
+      width: 100px;
+      z-index: -1;
+    }
+  ]]></style>
+ </head>
+
+ <body>
+
+  <p>Test passes if there is a filled green square and <strong>no red</strong>.</p>
+
+  <div><object data="support/embedded-doc-abs-pos-non-replaced-icb-vrl-008.html" type="text/html" id="overlapping-green">This test requires a browser with capability to embed an HTML document thanks to the HTML &lt;object&gt; element.</object></div>
+
+  <div id="red-overlapped-reference"></div>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/abs-pos-non-replaced-icb-vrl-010.xht
@@ -0,0 +1,107 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Writing Modes Test: position absolute and 'vertical-rl' - 'left' and 'right' are 'auto', 'width' is not 'auto' with 'direction: ltr' in initial containing block</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+  <link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#vertical-layout" title="7.1 Principles of Layout in Vertical Writing Modes" />
+  <link rel="match" href="../css21/reference/ref-filled-green-100px-square.xht" />
+
+  <meta content="" name="flags" />
+  <meta content="This test checks that when the initial containing block's writing-mode is 'horizontal-tb' and its 'direction' is 'ltr', then an absolutely positioned box (with 'left' and 'right' are 'auto', 'width' is not 'auto') whose containing block is the initial containing block and whose direction is 'ltr' must set left to static position and then solve for 'right'. Whether such absolutely positioned box's 'writing-mode' is vertical or not is irrelevant." name="assert" />
+
+  <style type="text/css"><![CDATA[
+  html
+    {
+      direction: ltr;
+    }
+
+  div#green-overlapping-test
+    {
+      background-color: green;
+      border-left: green solid 35px;
+      border-right: green solid 15px;
+      height: 100px;
+      left: auto;
+      position: absolute;
+      right: auto;
+      width: 50px;
+      writing-mode: vertical-rl;
+    }
+
+  /*
+  "
+  2. 'left' and 'right' are 'auto' and 'width' is not 'auto', then if the 'direction' property of the element establishing the static-position containing block is 'ltr' set 'left' to the static position (...) Then solve for (...) 'right' (if 'direction' is 'ltr').
+  "
+  10.3.7 Absolutely positioned, non-replaced elements
+  http://www.w3.org/TR/CSS21/visudet.html#abs-non-replaced-width
+
+  So:
+
+           auto : left
+        +
+            0px : margin-left
+        +
+           35px : border-left-width
+        +
+            0px : padding-left
+        +
+           50px : width
+        +
+            0px : padding-right
+        +
+           15px : border-right-width
+        +
+            0px : margin-right
+        +
+           auto : right
+        ====================
+                : width of containing block (width of Initial Containing Block)
+
+  becomes
+
+            8px : left (set to static position)
+        +
+            0px : margin-left
+        +
+           35px : border-left-width
+        +
+            0px : padding-left
+        +
+           50px : width
+        +
+            0px : padding-right
+        +
+           15px : border-right-width
+        +
+            0px : margin-right
+        +
+          solve : right
+        ====================
+                : width of containing block (width of Initial Containing Block)
+  */
+
+  div#red-overlapped-reference
+    {
+      background-color: red;
+      height: 100px;
+      position: relative;
+      width: 100px;
+      z-index: -1;
+    }
+  ]]></style>
+ </head>
+
+ <body>
+
+  <p>Test passes if there is a filled green square and <strong>no red</strong>.</p>
+
+  <div id="green-overlapping-test"></div>
+
+  <div id="red-overlapped-reference"></div>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/abs-pos-non-replaced-icb-vrl-012.xht
@@ -0,0 +1,117 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Writing Modes Test: position absolute and 'vertical-rl' - 'left' and 'right' are 'auto', 'width' is not 'auto' with 'direction: rtl' in initial containing block</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+  <link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#vertical-layout" title="7.1 Principles of Layout in Vertical Writing Modes" />
+  <link rel="match" href="abs-pos-non-replaced-icb-vrl-004-ref.xht" />
+
+  <meta content="image" name="flags" />
+  <meta content="This test checks that when the initial containing block's writing-mode is 'horizontal-tb' and its 'direction' is 'rtl', then an absolutely positioned box (with 'left' and 'right' are 'auto', 'width' is not 'auto') whose containing block is the initial containing block and whose direction is 'rtl' must set right to static position and then solve for 'left'. Whether such absolutely positioned box's 'writing-mode' is vertical or not is irrelevant." name="assert" />
+
+  <style type="text/css"><![CDATA[
+  html
+    {
+      direction: rtl;
+    }
+
+  img
+    {
+      vertical-align: top;
+    }
+
+  div#green-overlapping-test
+    {
+      background-color: green;
+      border-left: green solid 35px;
+      border-right: green solid 15px;
+      height: 100px;
+      left: auto;
+      position: absolute;
+      right: auto;
+      width: 50px;
+      writing-mode: vertical-rl;
+    }
+
+  /*
+  "
+  2. 'left' and 'right' are 'auto' and 'width' is not 'auto', then if the 'direction' property of the element establishing the static-position containing block is 'rtl' set 'right' to the static position (...) Then solve for 'left' (if 'direction is 'rtl').
+  "
+  10.3.7 Absolutely positioned, non-replaced elements
+  http://www.w3.org/TR/CSS21/visudet.html#abs-non-replaced-width
+
+  So:
+
+           auto : left
+        +
+            0px : margin-left
+        +
+           35px : border-left-width
+        +
+            0px : padding-left
+        +
+           50px : width
+        +
+            0px : padding-right
+        +
+           15px : border-right-width
+        +
+            0px : margin-right
+        +
+           auto : right (set to static position)
+        ====================
+                : width of containing block (width of Initial Containing Block)
+
+  becomes
+
+          solve : left
+        +
+            0px : margin-left
+        +
+           35px : border-left-width
+        +
+            0px : padding-left
+        +
+           50px : width
+        +
+            0px : padding-right
+        +
+           15px : border-right-width
+        +
+            0px : margin-right
+        +
+            8px : right (static position)
+        ====================
+                : width of containing block (width of Initial Containing Block)
+  */
+
+  div#red-overlapped-reference
+    {
+      background-color: red;
+      height: 100px;
+      position: relative;
+      width: 100px;
+      z-index: -1;
+    }
+  ]]></style>
+ </head>
+
+ <body>
+
+  <p><img src="support/pass-cdts-abs-pos-non-replaced.png" width="246" height="36" alt="Image download support must be enabled" /></p>
+
+  <!--
+  The image says:
+  Test passes if there is a filled green square and <strong>no red</strong>.
+  -->
+
+  <div id="green-overlapping-test"></div>
+
+  <div id="red-overlapped-reference"></div>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/abs-pos-non-replaced-icb-vrl-014.xht
@@ -0,0 +1,46 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Writing Modes Test: position absolute and 'vertical-rl' - 'width' and 'right' are 'auto' and 'left' is not 'auto' with 'direction: ltr' in initial containing block</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+  <link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#vertical-layout" title="7.1 Principles of Layout in Vertical Writing Modes" />
+  <link rel="match" href="abs-pos-non-replaced-icb-vrl-008-ref.xht" />
+
+  <meta content="" name="flags" />
+  <meta content="This test checks that when initial containing block's writing-mode is 'horizontal-tb' and its 'direction' is 'ltr', then an absolutely positioned box (with 'width' and 'right' are 'auto' and 'left' is not 'auto') whose containing block is the initial containing block must set width to shrink-to-fit and then solve for 'right'. Whether such absolutely positioned box's 'writing-mode' is vertical or not is irrelevant." name="assert" />
+
+  <style type="text/css"><![CDATA[
+  object#overlapping-green
+    {
+      height: 116px;
+      width: 500px; /* 60% of 500px == 300px (offset of green square) */
+      vertical-align: top;
+    }
+
+  div#red-overlapped-reference
+    {
+      background-color: red;
+      bottom: 116px;
+      height: 100px;
+      left: 300px;
+      position: relative;
+      width: 100px;
+      z-index: -1;
+    }
+  ]]></style>
+ </head>
+
+ <body>
+
+  <p>Test passes if there is a filled green square and <strong>no red</strong>.</p>
+
+  <div><object data="support/embedded-doc-abs-pos-non-replaced-icb-vrl-014.html" type="text/html" id="overlapping-green">This test requires a browser with capability to embed an HTML document thanks to the HTML &lt;object&gt; element.</object></div>
+
+  <div id="red-overlapped-reference"></div>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/abs-pos-non-replaced-icb-vrl-016.xht
@@ -0,0 +1,46 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Writing Modes Test: position absolute and 'vertical-rl' - 'width' and 'right' are 'auto' and 'left' is not 'auto' with 'direction: rtl' in initial containing block</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+  <link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#vertical-layout" title="7.1 Principles of Layout in Vertical Writing Modes" />
+  <link rel="match" href="abs-pos-non-replaced-icb-vrl-008-ref.xht" />
+
+  <meta content="" name="flags" />
+  <meta content="This test checks that when initial containing block's writing-mode is 'horizontal-tb' and its 'direction' is 'rtl', then an absolutely positioned box (with 'width' and 'right' are 'auto' and 'left' is not 'auto') whose containing block is the initial containing block must set width to shrink-to-fit and then solve for 'right'. Whether such absolutely positioned box's 'writing-mode' is vertical or not is irrelevant." name="assert" />
+
+  <style type="text/css"><![CDATA[
+  object#overlapping-green
+    {
+      height: 116px;
+      width: 500px; /* 60% of 500px == 300px (offset of green square) */
+      vertical-align: top;
+    }
+
+  div#red-overlapped-reference
+    {
+      background-color: red;
+      bottom: 116px;
+      height: 100px;
+      left: 300px;
+      position: relative;
+      width: 100px;
+      z-index: -1;
+    }
+  ]]></style>
+ </head>
+
+ <body>
+
+  <p>Test passes if there is a filled green square and <strong>no red</strong>.</p>
+
+  <div><object data="support/embedded-doc-abs-pos-non-replaced-icb-vrl-016.html" type="text/html" id="overlapping-green">This test requires a browser with capability to embed an HTML document thanks to the HTML &lt;object&gt; element.</object></div>
+
+  <div id="red-overlapped-reference"></div>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/abs-pos-non-replaced-icb-vrl-018.xht
@@ -0,0 +1,46 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Writing Modes Test: position absolute and 'vertical-rl' - 'left' is 'auto', 'width' and 'right' are not 'auto' with 'direction: ltr' in initial containing block</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+  <link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#vertical-layout" title="7.1 Principles of Layout in Vertical Writing Modes" />
+  <link rel="match" href="../css21/reference/ref-filled-green-100px-square.xht" />
+
+  <meta content="" name="flags" />
+  <meta content="This test checks that when the initial containing block's writing-mode is 'horizontal-tb' and its 'direction' is 'ltr', then an absolutely positioned box (with 'left' is 'auto', 'width' and 'right' are not 'auto') whose containing block is the initial containing block must solve for 'left'. Whether such absolutely positioned box's 'writing-mode' is vertical or not is irrelevant." name="assert" />
+
+  <style type="text/css"><![CDATA[
+  object#overlapping-green
+    {
+      height: 116px;
+      width: 500px; /* 500px divided by 5 == 100px (width of green square) */
+      vertical-align: top;
+    }
+
+  div#red-overlapped-reference
+    {
+      background-color: red;
+      bottom: 116px;
+      height: 100px;
+      left: auto;
+      position: relative;
+      width: 100px;
+      z-index: -1;
+    }
+  ]]></style>
+ </head>
+
+ <body>
+
+  <p>Test passes if there is a filled green square and <strong>no red</strong>.</p>
+
+  <div><object data="support/embedded-doc-abs-pos-non-replaced-icb-vrl-018.html" type="text/html" id="overlapping-green">This test requires a browser with capability to embed an HTML document thanks to the HTML &lt;object&gt; element.</object></div>
+
+  <div id="red-overlapped-reference"></div>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/abs-pos-non-replaced-icb-vrl-020.xht
@@ -0,0 +1,46 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Writing Modes Test: position absolute and 'vertical-rl' - 'left' is 'auto', 'width' and 'right' are not 'auto' with 'direction: rtl' in initial containing block</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+  <link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#vertical-layout" title="7.1 Principles of Layout in Vertical Writing Modes" />
+  <link rel="match" href="../css21/reference/ref-filled-green-100px-square.xht" />
+
+  <meta content="" name="flags" />
+  <meta content="This test checks that when the initial containing block's writing-mode is 'horizontal-tb' and its 'direction' is 'rtl', then an absolutely positioned box (with 'left' is 'auto', 'width' and 'right' are not 'auto') whose containing block is the initial containing block must solve for 'left'. Whether such absolutely positioned box's 'writing-mode' is vertical or not is irrelevant." name="assert" />
+
+  <style type="text/css"><![CDATA[
+  object#overlapping-green
+    {
+      height: 116px;
+      width: 500px; /* 500px divided by 5 == 100px (width of green square) */
+      vertical-align: top;
+    }
+
+  div#red-overlapped-reference
+    {
+      background-color: red;
+      bottom: 116px;
+      height: 100px;
+      left: auto;
+      position: relative;
+      width: 100px;
+      z-index: -1;
+    }
+  ]]></style>
+ </head>
+
+ <body>
+
+  <p>Test passes if there is a filled green square and <strong>no red</strong>.</p>
+
+  <div><object data="support/embedded-doc-abs-pos-non-replaced-icb-vrl-020.html" type="text/html" id="overlapping-green">This test requires a browser with capability to embed an HTML document thanks to the HTML &lt;object&gt; element.</object></div>
+
+  <div id="red-overlapped-reference"></div>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/abs-pos-non-replaced-icb-vrl-022.xht
@@ -0,0 +1,46 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Writing Modes Test: position absolute and 'vertical-rl' - 'width' is 'auto', 'left' and 'right' are not 'auto' with 'direction: ltr' in initial containing block</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+  <link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#vertical-layout" title="7.1 Principles of Layout in Vertical Writing Modes" />
+  <link rel="match" href="abs-pos-non-replaced-icb-vrl-008-ref.xht" />
+
+  <meta content="" name="flags" />
+  <meta content="This test checks that when the initial containing block's writing-mode is 'horizontal-tb' and its 'direction' is 'ltr', then an absolutely positioned box (with 'width' is 'auto', 'left' and 'right' are not 'auto') whose containing block is the initial containing block must solve 'width'. Whether such absolutely positioned box's 'writing-mode' is vertical or not is irrelevant." name="assert" />
+
+  <style type="text/css"><![CDATA[
+  object#overlapping-green
+    {
+      height: 116px;
+      width: 500px;
+      vertical-align: top;
+    }
+
+  div#red-overlapped-reference
+    {
+      background-color: red;
+      bottom: 116px;
+      height: 100px;
+      left: 300px;
+      position: relative;
+      width: 100px;
+      z-index: -1;
+    }
+  ]]></style>
+ </head>
+
+ <body>
+
+  <p>Test passes if there is a filled green square and <strong>no red</strong>.</p>
+
+  <div><object data="support/embedded-doc-abs-pos-non-replaced-icb-vrl-022.html" type="text/html" id="overlapping-green">This test requires a browser with capability to embed an HTML document thanks to the HTML &lt;object&gt; element.</object></div>
+
+  <div id="red-overlapped-reference"></div>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/abs-pos-non-replaced-icb-vrl-024.xht
@@ -0,0 +1,46 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Writing Modes Test: position absolute and 'vertical-rl' - 'width' is 'auto', 'left' and 'right' are not 'auto' with direction: rtl' in initial containing block</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+  <link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#vertical-layout" title="7.1 Principles of Layout in Vertical Writing Modes" />
+  <link rel="match" href="abs-pos-non-replaced-icb-vrl-008-ref.xht" />
+
+  <meta content="" name="flags" />
+  <meta content="This test checks that when the initial containing block's writing-mode is 'horizontal-tb' and its 'direction' is 'rtl', then an absolutely positioned box (with 'width' is 'auto', 'left' and 'right' are not 'auto') whose containing block is the initial containing block must solve 'width'. Whether such absolutely positioned box's 'writing-mode' is vertical or not is irrelevant." name="assert" />
+
+  <style type="text/css"><![CDATA[
+  object#overlapping-green
+    {
+      height: 116px;
+      width: 500px;
+      vertical-align: top;
+    }
+
+  div#red-overlapped-reference
+    {
+      background-color: red;
+      bottom: 116px;
+      height: 100px;
+      left: 300px;
+      position: relative;
+      width: 100px;
+      z-index: -1;
+    }
+  ]]></style>
+ </head>
+
+ <body>
+
+  <p>Test passes if there is a filled green square and <strong>no red</strong>.</p>
+
+  <div><object data="support/embedded-doc-abs-pos-non-replaced-icb-vrl-024.html" type="text/html" id="overlapping-green">This test requires a browser with capability to embed an HTML document thanks to the HTML &lt;object&gt; element.</object></div>
+
+  <div id="red-overlapped-reference"></div>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/abs-pos-non-replaced-icb-vrl-026.xht
@@ -0,0 +1,46 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Writing Modes Test: position absolute and 'vertical-rl' - 'right' is 'auto', 'left' and 'width' are not 'auto' with 'direction: ltr' in initial containing block</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+  <link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#vertical-layout" title="7.1 Principles of Layout in Vertical Writing Modes" />
+  <link rel="match" href="abs-pos-non-replaced-icb-vrl-008-ref.xht" />
+
+  <meta content="" name="flags" />
+  <meta content="This test checks that when the initial containing block's writing-mode is 'horizontal-tb' and its 'direction' is 'ltr', then an absolutely positioned box (with 'right' is 'auto', 'left' and 'width' are not 'auto') whose containing block is the initial containing block must solve for 'right'. Whether such absolutely positioned box's 'writing-mode' is vertical or not is irrelevant." name="assert" />
+
+  <style type="text/css"><![CDATA[
+  object#overlapping-green
+    {
+      height: 116px;
+      width: 500px;
+      vertical-align: top;
+    }
+
+  div#red-overlapped-reference
+    {
+      background-color: red;
+      bottom: 116px;
+      height: 100px;
+      left: 300px;
+      position: relative;
+      width: 100px;
+      z-index: -1;
+    }
+  ]]></style>
+ </head>
+
+ <body>
+
+  <p>Test passes if there is a filled green square and <strong>no red</strong>.</p>
+
+  <div><object data="support/embedded-doc-abs-pos-non-replaced-icb-vrl-026.html" type="text/html" id="overlapping-green">This test requires a browser with capability to embed an HTML document thanks to the HTML &lt;object&gt; element.</object></div>
+
+  <div id="red-overlapped-reference"></div>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/abs-pos-non-replaced-icb-vrl-028.xht
@@ -0,0 +1,46 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Writing Modes Test: position absolute and 'vertical-rl' - 'right' is 'auto', 'left' and 'width' are not 'auto' with 'direction: rtl' in initial containing block</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+  <link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#vertical-layout" title="7.1 Principles of Layout in Vertical Writing Modes" />
+  <link rel="match" href="abs-pos-non-replaced-icb-vrl-008-ref.xht" />
+
+  <meta content="" name="flags" />
+  <meta content="This test checks that when the initial containing block's writing-mode is 'horizontal-tb' and its 'direction' is 'rtl', then an absolutely positioned box (with 'right' is 'auto', 'left' and 'width' are not 'auto') whose containing block is the initial containing block must solve for 'right'. Whether such absolutely positioned box's 'writing-mode' is vertical or not is irrelevant." name="assert" />
+
+  <style type="text/css"><![CDATA[
+  object#overlapping-green
+    {
+      height: 116px;
+      width: 500px;
+      vertical-align: top;
+    }
+
+  div#red-overlapped-reference
+    {
+      background-color: red;
+      bottom: 116px;
+      height: 100px;
+      left: 300px;
+      position: relative;
+      width: 100px;
+      z-index: -1;
+    }
+  ]]></style>
+ </head>
+
+ <body>
+
+  <p>Test passes if there is a filled green square and <strong>no red</strong>.</p>
+
+  <div><object data="support/embedded-doc-abs-pos-non-replaced-icb-vrl-028.html" type="text/html" id="overlapping-green">This test requires a browser with capability to embed an HTML document thanks to the HTML &lt;object&gt; element.</object></div>
+
+  <div id="red-overlapped-reference"></div>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/abs-pos-non-replaced-icb-vrl-030.xht
@@ -0,0 +1,46 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Writing Modes Test: position absolute and 'vertical-rl' - overconstrained values with 'direction: ltr' in initial containing block</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+  <link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#vertical-layout" title="7.1 Principles of Layout in Vertical Writing Modes" />
+  <link rel="match" href="abs-pos-non-replaced-icb-vrl-008-ref.xht" />
+
+  <meta content="" name="flags" />
+  <meta content="This test checks that when the initial containing block's writing-mode is 'horizontal-tb' and its 'direction' is 'ltr', then an absolutely positioned box (with overconstrained 'left', 'width' and 'right' values) whose containing block is the initial containing block must ignore the value for 'right' and solve for that value. Whether such absolutely positioned box's 'writing-mode' is vertical or not is irrelevant." name="assert" />
+
+  <style type="text/css"><![CDATA[
+  object#overlapping-green
+    {
+      height: 116px;
+      width: 500px;
+      vertical-align: top;
+    }
+
+  div#red-overlapped-reference
+    {
+      background-color: red;
+      bottom: 116px;
+      height: 100px;
+      left: 300px;
+      position: relative;
+      width: 100px;
+      z-index: -1;
+    }
+  ]]></style>
+ </head>
+
+ <body>
+
+  <p>Test passes if there is a filled green square and <strong>no red</strong>.</p>
+
+  <div><object data="support/embedded-doc-abs-pos-non-replaced-icb-vrl-030.html" type="text/html" id="overlapping-green">This test requires a browser with capability to embed an HTML document thanks to the HTML &lt;object&gt; element.</object></div>
+
+  <div id="red-overlapped-reference"></div>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/abs-pos-non-replaced-icb-vrl-032.xht
@@ -0,0 +1,46 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Writing Modes Test: position absolute and 'vertical-rl' - overconstrained values with 'direction: rtl' in initial containing block</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+  <link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#vertical-layout" title="7.1 Principles of Layout in Vertical Writing Modes" />
+  <link rel="match" href="abs-pos-non-replaced-icb-vrl-008-ref.xht" />
+
+  <meta content="" name="flags" />
+  <meta content="This test checks that when the initial containing block's writing-mode is 'horizontal-tb' and its 'direction' is 'rtl', then an absolutely positioned box (with overconstrained 'left', 'width' and 'right' values) whose containing block is the initial containing block must ignore the value for 'left' and solve for that value. Whether such absolutely positioned box's 'writing-mode' is vertical or not is irrelevant." name="assert" />
+
+  <style type="text/css"><![CDATA[
+  object#overlapping-green
+    {
+      height: 116px;
+      width: 500px;
+      vertical-align: top;
+    }
+
+  div#red-overlapped-reference
+    {
+      background-color: red;
+      bottom: 116px;
+      height: 100px;
+      left: 300px;
+      position: relative;
+      width: 100px;
+      z-index: -1;
+    }
+  ]]></style>
+ </head>
+
+ <body>
+
+  <p>Test passes if there is a filled green square and <strong>no red</strong>.</p>
+
+  <div><object data="support/embedded-doc-abs-pos-non-replaced-icb-vrl-032.html" type="text/html" id="overlapping-green">This test requires a browser with capability to embed an HTML document thanks to the HTML &lt;object&gt; element.</object></div>
+
+  <div id="red-overlapped-reference"></div>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/abs-pos-non-replaced-vlr-003-ref.xht
@@ -0,0 +1,30 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Reftest Reference</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+
+  <meta content="image" name="flags" />
+
+  <style type="text/css"><![CDATA[
+    img#green-square
+    {
+      left: 80px;
+      position: relative;
+      top: 160px;
+    }
+  ]]></style>
+ </head>
+
+ <body>
+
+  <p><img src="support/pass-cdts-abs-pos-non-replaced.png" width="246" height="36" alt="Image download support must be enabled" /></p>
+
+  <div><img id="green-square" src="support/swatch-green.png" width="80" height="80" alt="Image download support must be enabled" /></div>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/abs-pos-non-replaced-vlr-003.xht
@@ -0,0 +1,121 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Writing Modes Test: absolutely positioned non-replaced element - 'direction: ltr' and 'top', 'height' and 'bottom' are 'auto'</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+  <link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#vertical-layout" title="7.1 Principles of Layout in Vertical Writing Modes" />
+  <link rel="help" href="http://www.w3.org/TR/CSS21/visudet.html#abs-non-replaced-width" title="10.3.7 Absolutely positioned, non-replaced elements" />
+  <link rel="match" href="abs-pos-non-replaced-vlr-003-ref.xht" />
+
+  <meta name="flags" content="ahem image" />
+  <meta name="assert" content="When 'direction' is 'ltr' and 'top', 'height' and 'bottom' are 'auto', then set 'top' to the static position, then the height is based on the content and then solve for 'bottom'." />
+
+<style type="text/css"><![CDATA[
+@font-face {
+  font-family: Ahem;
+  src: url("../../../fonts/Ahem.ttf");
+}
+]]></style>
+  <style type="text/css"><![CDATA[
+  div#containing-block
+    {
+      background: red url("support/bg-red-2col-3row-320x320.png");
+      color: transparent;
+      direction: ltr;
+      font: 80px/1 Ahem;
+      height: 320px;
+      position: relative;
+      width: 320px;
+      writing-mode: vertical-lr;
+    }
+
+  div#containing-block > span
+    {
+      background-color: red;
+      bottom: auto;
+      color: green;
+      height: auto;
+      position: absolute;
+      top: auto;
+    }
+
+/*
+"
+Layout calculation rules (such as those in CSS2.1, Section 10.3) that apply to the horizontal dimension in horizontal writing modes instead apply to the vertical dimension in vertical writing modes.
+"
+7.1 Principles of Layout in Vertical Writing Modes
+http://www.w3.org/TR/css-writing-modes-3/#vertical-layout
+
+So here, *-top and *-bottom properties are input into the §10.3.7 algorithms where *-top properties refer to *-left properties in the layout rules and where *-bottom properties refer to *-right properties in the layout rules.
+
+"
+If all three of 'left', 'width', and 'right' are 'auto': First set any 'auto' values for 'margin-left' and 'margin-right' to 0. Then, if the 'direction' property of the element establishing the static-position containing block is 'ltr' set 'left' to the static position and apply rule number three below; otherwise, set 'right' to the static position and apply rule number one below.
+
+3. 'width' and 'right' are 'auto' and 'left' is not 'auto', then the width is shrink-to-fit . Then solve for 'right'
+"
+
+'top' + 'margin-top' + 'border-top-width' + 'padding-top' + 'height' + 'padding-bottom' + 'border-bottom-width' + 'margin-bottom' + 'bottom' = height of containing block
+
+So:
+
+    160px : top: auto: set to static position
+  +
+      0px : margin-top
+  +
+      0px : border-top-width
+  +
+      0px : padding-top
+  +
+  (based on the content) : height: auto
+  +
+      0px : padding-bottom
+  +
+      0px : border-bottom-width
+  +
+      0px : margin-bottom
+  +
+  (solve) : bottom: auto
+    =====================
+    320px : height of containing block
+
+gives us:
+
+    160px : top: auto: set to static position
+  +
+      0px : margin-top
+  +
+      0px : border-top-width
+  +
+      0px : padding-top
+  +
+     80px : (based on the content) : height: auto
+  +
+      0px : padding-bottom
+  +
+      0px : border-bottom-width
+  +
+      0px : margin-bottom
+  +
+  (solve) : bottom: auto
+    =====================
+    320px : height of containing block
+
+And so computed bottom value must be 80px .
+*/
+
+  ]]></style>
+
+ </head>
+
+ <body>
+
+  <p><img src="support/pass-cdts-abs-pos-non-replaced.png" width="246" height="36" alt="Image download support must be enabled" /></p>
+
+  <div id="containing-block">1 2 34<span>X</span></div>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/abs-pos-non-replaced-vlr-005.xht
@@ -0,0 +1,113 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Writing Modes Test: absolutely positioned non-replaced element - 'direction: ltr' and 'left', 'width' and 'right' are 'auto'</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+  <link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#vertical-layout" title="7.1 Principles of Layout in Vertical Writing Modes" />
+  <link rel="help" href="http://www.w3.org/TR/CSS21/visudet.html#abs-non-replaced-width" title="10.3.7 Absolutely positioned, non-replaced elements" />
+  <link rel="match" href="abs-pos-non-replaced-vrl-004-ref.xht" />
+
+  <meta name="flags" content="ahem image" />
+  <meta name="assert" content="When 'direction' is 'ltr' and 'left', 'width' and 'right' are 'auto', then set 'left' to the static position, the width becomes shrink-to-fit and then solve for 'right'." />
+
+<style type="text/css"><![CDATA[
+@font-face {
+  font-family: Ahem;
+  src: url("../../../fonts/Ahem.ttf");
+}
+]]></style>
+  <style type="text/css"><![CDATA[
+  div#containing-block
+    {
+      background: red url("support/bg-red-3col-2row-320x320.png");
+      color: transparent;
+      direction: ltr;
+      font: 80px/1 Ahem;
+      height: 320px;
+      position: relative;
+      width: 320px;
+    }
+
+  div#containing-block > span
+    {
+      background-color: red;
+      color: green;
+      left: auto;
+      position: absolute;
+      right: auto;
+      width: auto;
+      writing-mode: vertical-lr;
+    }
+
+/*
+"
+If all three of 'left', 'width', and 'right' are 'auto': First set any 'auto' values for 'margin-left' and 'margin-right' to 0. Then, if the 'direction' property of the element establishing the static-position containing block is 'ltr' set 'left' to the static position and apply rule number three below; otherwise, set 'right' to the static position and apply rule number one below.
+
+3. 'width' and 'right' are 'auto' and 'left' is not 'auto', then the width is shrink-to-fit . Then solve for 'right'
+"
+
+'left' + 'margin-left' + 'border-left-width' + 'padding-left' + 'width' + 'padding-right' + 'border-right-width' + 'margin-right' + 'right' = width of containing block
+
+So:
+
+    160px : left: auto: set to static position
+  +
+      0px : margin-left
+  +
+      0px : border-left-width
+  +
+      0px : padding-left
+  +
+  (shrink-to-fit) : width: auto
+  +
+      0px : padding-right
+  +
+      0px : border-right-width
+  +
+      0px : margin-right
+  +
+  (solve) : right: auto
+    =====================
+    320px : width of containing block
+
+gives us:
+
+    160px : left: auto: set to static position
+  +
+      0px : margin-left
+  +
+      0px : border-left-width
+  +
+      0px : padding-left
+  +
+     80px : (shrink-to-fit) : width: auto
+  +
+      0px : padding-right
+  +
+      0px : border-right-width
+  +
+      0px : margin-right
+  +
+  (solve) : right: auto
+    =====================
+    320px : width of containing block
+
+And so computed right value must be 80px .
+*/
+
+  ]]></style>
+
+ </head>
+
+ <body>
+
+  <p><img src="support/pass-cdts-abs-pos-non-replaced.png" width="246" height="36" alt="Image download support must be enabled" /></p>
+
+  <div id="containing-block">1 2 34<span>X</span></div>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/abs-pos-non-replaced-vlr-007-ref.xht
@@ -0,0 +1,38 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Reftest Reference</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+
+  <meta content="image" name="flags" />
+
+  <style type="text/css"><![CDATA[
+  div
+    {
+      margin-left: 0.5em;
+    }
+
+  img
+    {
+      vertical-align: top;
+    }
+
+  img#green-square
+    {
+      position: relative;
+      left: 96px; /* 80px + p's margin-left (1em) */
+      top: 160px;
+    }
+  ]]></style>
+ </head>
+
+ <body>
+
+  <div><img src="support/pass-cdts-abs-pos-non-replaced.png" width="246" height="36" alt="Image download support must be enabled" /><img id="green-square" src="support/swatch-green.png" width="80" height="80" alt="Image download support must be enabled" /></div>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/abs-pos-non-replaced-vlr-007.xht
@@ -0,0 +1,126 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Writing Modes Test: absolutely positioned non-replaced element - 'direction: ltr' and 'top', 'height' and 'bottom' are 'auto'</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+  <link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#vertical-layout" title="7.1 Principles of Layout in Vertical Writing Modes" />
+  <link rel="help" href="http://www.w3.org/TR/CSS21/visudet.html#abs-non-replaced-width" title="10.3.7 Absolutely positioned, non-replaced elements" />
+  <link rel="match" href="abs-pos-non-replaced-vlr-007-ref.xht" />
+
+  <meta name="flags" content="ahem image" />
+  <meta name="assert" content="When 'direction' is 'ltr' and 'top', 'height' and 'bottom' are 'auto', then set 'top' to the static position, then the height is based on the content and then solve for 'bottom'." />
+
+<style type="text/css"><![CDATA[
+@font-face {
+  font-family: Ahem;
+  src: url("../../../fonts/Ahem.ttf");
+}
+]]></style>
+  <style type="text/css"><![CDATA[
+  html
+    {
+      writing-mode: vertical-lr;
+    }
+
+  div#containing-block
+    {
+      background: red url("support/bg-red-2col-3row-320x320.png");
+      color: transparent;
+      direction: ltr;
+      font: 80px/1 Ahem;
+      height: 320px;
+      position: relative;
+      width: 320px;
+
+    }
+
+  div#containing-block > span
+    {
+      background-color: red;
+      bottom: auto;
+      color: green;
+      height: auto;
+      position: absolute;
+      top: auto;
+    }
+
+/*
+"
+Layout calculation rules (such as those in CSS2.1, Section 10.3) that apply to the horizontal dimension in horizontal writing modes instead apply to the vertical dimension in vertical writing modes.
+"
+7.1 Principles of Layout in Vertical Writing Modes
+http://www.w3.org/TR/css-writing-modes-3/#vertical-layout
+
+So here, *-top and *-bottom properties are input into the §10.3.7 algorithms where *-top properties refer to *-left properties in the layout rules and where *-bottom properties refer to *-right properties in the layout rules.
+
+"
+If all three of 'left', 'width', and 'right' are 'auto': First set any 'auto' values for 'margin-left' and 'margin-right' to 0. Then, if the 'direction' property of the element establishing the static-position containing block is 'ltr' set 'left' to the static position and apply rule number three below; otherwise, set 'right' to the static position and apply rule number one below.
+
+3. 'width' and 'right' are 'auto' and 'left' is not 'auto', then the width is shrink-to-fit . Then solve for 'right'
+"
+
+'top' + 'margin-top' + 'border-top-width' + 'padding-top' + 'height' + 'padding-bottom' + 'border-bottom-width' + 'margin-bottom' + 'bottom' = height of containing block
+
+So:
+
+    160px : top: auto: set to static position
+  +
+      0px : margin-top
+  +
+      0px : border-top-width
+  +
+      0px : padding-top
+  +
+  (based on the content) : height: auto
+  +
+      0px : padding-bottom
+  +
+      0px : border-bottom-width
+  +
+      0px : margin-bottom
+  +
+  (solve) : bottom: auto
+    =====================
+    320px : height of containing block
+
+gives us:
+
+    160px : top: auto: set to static position
+  +
+      0px : margin-top
+  +
+      0px : border-top-width
+  +
+      0px : padding-top
+  +
+     80px : (based on the content) : height: auto
+  +
+      0px : padding-bottom
+  +
+      0px : border-bottom-width
+  +
+      0px : margin-bottom
+  +
+  (solve) : bottom: auto
+    =====================
+    320px : height of containing block
+
+And so computed bottom value must be 80px .
+*/
+
+  ]]></style>
+
+ </head>
+
+ <body>
+
+  <p><img src="support/pass-cdts-abs-pos-non-replaced.png" width="246" height="36" alt="Image download support must be enabled" /></p>
+
+  <div id="containing-block">1 2 34<span>X</span></div>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/abs-pos-non-replaced-vlr-009-ref.xht
@@ -0,0 +1,30 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Reftest Reference</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+
+  <meta content="image" name="flags" />
+
+  <style type="text/css"><![CDATA[
+    img#green-square
+    {
+      left: 80px;
+      position: relative;
+      top: 80px;
+    }
+  ]]></style>
+ </head>
+
+ <body>
+
+  <p><img src="support/pass-cdts-abs-pos-non-replaced.png" width="246" height="36" alt="Image download support must be enabled" /></p>
+
+  <div><img id="green-square" src="support/swatch-green.png" width="80" height="80" alt="Image download support must be enabled" /></div>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/abs-pos-non-replaced-vlr-009.xht
@@ -0,0 +1,121 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Writing Modes Test: absolutely positioned non-replaced element - 'direction: rtl' and 'top', 'height' and 'bottom' are 'auto'</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+  <link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#vertical-layout" title="7.1 Principles of Layout in Vertical Writing Modes" />
+  <link rel="help" href="http://www.w3.org/TR/CSS21/visudet.html#abs-non-replaced-width" title="10.3.7 Absolutely positioned, non-replaced elements" />
+  <link rel="match" href="abs-pos-non-replaced-vlr-009-ref.xht" />
+
+  <meta name="flags" content="ahem image" />
+  <meta name="assert" content="When 'direction' is 'rtl' and 'top', 'height' and 'bottom' are 'auto', then set 'bottom' to the static position, the height is based on the content and then solve for 'top'." />
+
+<style type="text/css"><![CDATA[
+@font-face {
+  font-family: Ahem;
+  src: url("../../../fonts/Ahem.ttf");
+}
+]]></style>
+  <style type="text/css"><![CDATA[
+  div#containing-block
+    {
+      background: red url("support/bg-red-2col-2row-320x320.png");
+      color: transparent;
+      direction: rtl;
+      font: 80px/1 Ahem;
+      height: 320px;
+      position: relative;
+      width: 320px;
+      writing-mode: vertical-lr;
+    }
+
+  div#containing-block > span
+    {
+      background-color: red;
+      bottom: auto;
+      color: green;
+      height: auto;
+      position: absolute;
+      top: auto;
+    }
+
+/*
+"
+Layout calculation rules (such as those in CSS2.1, Section 10.3) that apply to the horizontal dimension in horizontal writing modes instead apply to the vertical dimension in vertical writing modes.
+"
+7.1 Principles of Layout in Vertical Writing Modes
+http://www.w3.org/TR/css-writing-modes-3/#vertical-layout
+
+So here, *-top and *-bottom properties are input into the §10.3.7 algorithms where *-top properties refer to *-left properties in the layout rules and where *-bottom properties refer to *-right properties in the layout rules.
+
+"
+If all three of 'left', 'width', and 'right' are 'auto': First set any 'auto' values for 'margin-left' and 'margin-right' to 0. Then, if the 'direction' property of the element establishing the static-position containing block is 'ltr' set 'left' to the static position and apply rule number three below; otherwise, set 'right' to the static position and apply rule number one below.
+
+1. 'left' and 'width' are 'auto' and 'right' is not 'auto', then the width is shrink-to-fit. Then solve for 'left'
+"
+
+'top' + 'margin-top' + 'border-top-width' + 'padding-top' + 'height' + 'padding-bottom' + 'border-bottom-width' + 'margin-bottom' + 'bottom' = height of containing block
+
+So:
+
+  (solve) : top: auto
+  +
+      0px : margin-top
+  +
+      0px : border-top-width
+  +
+      0px : padding-top
+  +
+  (based on the content) : height: auto
+  +
+      0px : padding-bottom
+  +
+      0px : border-bottom-width
+  +
+      0px : margin-bottom
+  +
+    160px : bottom: auto: set to static position
+    =====================
+    320px : height of containing block
+
+gives us:
+
+  (solve) : top: auto
+  +
+      0px : margin-top
+  +
+      0px : border-top-width
+  +
+      0px : padding-top
+  +
+     80px : (based on the content) : height: auto
+  +
+      0px : padding-bottom
+  +
+      0px : border-bottom-width
+  +
+      0px : margin-bottom
+  +
+    160px : bottom: auto: set to static position
+    =====================
+    320px : height of containing block
+
+And so computed top value must be 80px .
+*/
+
+  ]]></style>
+
+ </head>
+
+ <body>
+
+  <p><img src="support/pass-cdts-abs-pos-non-replaced.png" width="246" height="36" alt="Image download support must be enabled" /></p>
+
+  <div id="containing-block">1 2 34<span>X</span></div>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/abs-pos-non-replaced-vlr-011.xht
@@ -0,0 +1,113 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Writing Modes Test: absolutely positioned non-replaced element - 'direction: rtl' and 'left', 'width' and 'right' are 'auto'</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+  <link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#vertical-layout" title="7.1 Principles of Layout in Vertical Writing Modes" />
+  <link rel="help" href="http://www.w3.org/TR/CSS21/visudet.html#abs-non-replaced-width" title="10.3.7 Absolutely positioned, non-replaced elements" />
+  <link rel="match" href="abs-pos-non-replaced-vlr-009-ref.xht" />
+
+  <meta name="flags" content="ahem image" />
+  <meta name="assert" content="When 'direction' is 'rtl' and 'left', 'width' and 'right' are 'auto', then set 'right' to the static position, the width becomes shrink-to-fit and then solve for 'left'." />
+
+<style type="text/css"><![CDATA[
+@font-face {
+  font-family: Ahem;
+  src: url("../../../fonts/Ahem.ttf");
+}
+]]></style>
+  <style type="text/css"><![CDATA[
+  div#containing-block
+    {
+      background: red url("support/bg-red-2col-2row-320x320.png");
+      color: transparent;
+      direction: rtl;
+      font: 80px/1 Ahem;
+      height: 320px;
+      position: relative;
+      width: 320px;
+    }
+
+  div#containing-block > span
+    {
+      background-color: red;
+      color: green;
+      left: auto;
+      position: absolute;
+      right: auto;
+      width: auto;
+      writing-mode: vertical-lr;
+    }
+
+/*
+"
+If all three of 'left', 'width', and 'right' are 'auto': First set any 'auto' values for 'margin-left' and 'margin-right' to 0. Then, if the 'direction' property of the element establishing the static-position containing block is 'ltr' set 'left' to the static position and apply rule number three below; otherwise, set 'right' to the static position and apply rule number one below.
+
+1. 'left' and 'width' are 'auto' and 'right' is not 'auto', then the width is shrink-to-fit. Then solve for 'left'
+"
+
+'left' + 'margin-left' + 'border-left-width' + 'padding-left' + 'width' + 'padding-right' + 'border-right-width' + 'margin-right' + 'right' = width of containing block
+
+So:
+
+  (solve) : left: auto
+  +
+      0px : margin-left
+  +
+      0px : border-left-width
+  +
+      0px : padding-left
+  +
+  (shrink-to-fit) : width: auto
+  +
+      0px : padding-right
+  +
+      0px : border-right-width
+  +
+      0px : margin-right
+  +
+    160px : right: auto: set to static position
+    =====================
+    320px : width of containing block
+
+gives us:
+
+  (solve) : left: auto
+  +
+      0px : margin-left
+  +
+      0px : border-left-width
+  +
+      0px : padding-left
+  +
+     80px : (shrink-to-fit) : width: auto
+  +
+      0px : padding-right
+  +
+      0px : border-right-width
+  +
+      0px : margin-right
+  +
+    160px : right: auto: set to static position
+    =====================
+    320px : width of containing block
+
+And so computed left value must be 80px .
+*/
+
+  ]]></style>
+
+ </head>
+
+ <body>
+
+  <p><img src="support/pass-cdts-abs-pos-non-replaced.png" width="246" height="36" alt="Image download support must be enabled" /></p>
+
+  <div id="containing-block">1 2 34<span>X</span></div>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/abs-pos-non-replaced-vlr-013-ref.xht
@@ -0,0 +1,38 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Reftest Reference</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+
+  <meta content="image" name="flags" />
+
+  <style type="text/css"><![CDATA[
+  div
+    {
+      margin-left: 0.5em;
+    }
+
+  img
+    {
+      vertical-align: top;
+    }
+
+  img#green-square
+    {
+      position: relative;
+      left: 96px; /* 80px + p's margin-left (1em) */
+      top: 80px;
+    }
+  ]]></style>
+ </head>
+
+ <body>
+
+  <div><img src="support/pass-cdts-abs-pos-non-replaced.png" width="246" height="36" alt="Image download support must be enabled" /><img id="green-square" src="support/swatch-green.png" width="80" height="80" alt="Image download support must be enabled" /></div>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/abs-pos-non-replaced-vlr-013.xht
@@ -0,0 +1,125 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Writing Modes Test: absolutely positioned non-replaced element - 'direction: rtl' and 'top', 'height' and 'bottom' are 'auto'</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+  <link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#vertical-layout" title="7.1 Principles of Layout in Vertical Writing Modes" />
+  <link rel="help" href="http://www.w3.org/TR/CSS21/visudet.html#abs-non-replaced-width" title="10.3.7 Absolutely positioned, non-replaced elements" />
+  <link rel="match" href="abs-pos-non-replaced-vlr-013-ref.xht" />
+
+  <meta name="flags" content="ahem image" />
+  <meta name="assert" content="When 'direction' is 'rtl' and 'top', 'height' and 'bottom' are 'auto', then set 'bottom' to the static position, the height is based on the content and then solve for 'top'." />
+
+<style type="text/css"><![CDATA[
+@font-face {
+  font-family: Ahem;
+  src: url("../../../fonts/Ahem.ttf");
+}
+]]></style>
+  <style type="text/css"><![CDATA[
+  html
+    {
+      writing-mode: vertical-lr;
+    }
+
+  div#containing-block
+    {
+      background: red url("support/bg-red-2col-2row-320x320.png");
+      color: transparent;
+      direction: rtl;
+      font: 80px/1 Ahem;
+      height: 320px;
+      position: relative;
+      width: 320px;
+    }
+
+  div#containing-block > span
+    {
+      background-color: red;
+      bottom: auto;
+      color: green;
+      height: auto;
+      position: absolute;
+      top: auto;
+    }
+
+/*
+"
+Layout calculation rules (such as those in CSS2.1, Section 10.3) that apply to the horizontal dimension in horizontal writing modes instead apply to the vertical dimension in vertical writing modes.
+"
+7.1 Principles of Layout in Vertical Writing Modes
+http://www.w3.org/TR/css-writing-modes-3/#vertical-layout
+
+So here, *-top and *-bottom properties are input into the §10.3.7 algorithms where *-top properties refer to *-left properties in the layout rules and where *-bottom properties refer to *-right properties in the layout rules.
+
+"
+If all three of 'left', 'width', and 'right' are 'auto': First set any 'auto' values for 'margin-left' and 'margin-right' to 0. Then, if the 'direction' property of the element establishing the static-position containing block is 'ltr' set 'left' to the static position and apply rule number three below; otherwise, set 'right' to the static position and apply rule number one below.
+
+1. 'left' and 'width' are 'auto' and 'right' is not 'auto', then the width is shrink-to-fit. Then solve for 'left'
+"
+
+'top' + 'margin-top' + 'border-top-width' + 'padding-top' + 'height' + 'padding-bottom' + 'border-bottom-width' + 'margin-bottom' + 'bottom' = height of containing block
+
+So:
+
+  (solve) : top: auto
+  +
+      0px : margin-top
+  +
+      0px : border-top-width
+  +
+      0px : padding-top
+  +
+  (based on the content) : height: auto
+  +
+      0px : padding-bottom
+  +
+      0px : border-bottom-width
+  +
+      0px : margin-bottom
+  +
+    160px : bottom: auto: set to static position
+    =====================
+    320px : height of containing block
+
+gives us:
+
+  (solve) : top: auto
+  +
+      0px : margin-top
+  +
+      0px : border-top-width
+  +
+      0px : padding-top
+  +
+     80px : (based on the content) : height: auto
+  +
+      0px : padding-bottom
+  +
+      0px : border-bottom-width
+  +
+      0px : margin-bottom
+  +
+    160px : bottom: auto: set to static position
+    =====================
+    320px : height of containing block
+
+And so computed top value must be 80px .
+*/
+
+  ]]></style>
+
+ </head>
+
+ <body>
+
+  <p><img src="support/pass-cdts-abs-pos-non-replaced.png" width="246" height="36" alt="Image download support must be enabled" /></p>
+
+  <div id="containing-block">1 2 34<span>X</span></div>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/abs-pos-non-replaced-vlr-015.xht
@@ -0,0 +1,119 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Writing Modes Test: absolutely positioned non-replaced element - 'direction: ltr' and 'top', 'height' are 'auto' and bottom is not 'auto'</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+  <link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#vertical-layout" title="7.1 Principles of Layout in Vertical Writing Modes" />
+  <link rel="help" href="http://www.w3.org/TR/CSS21/visudet.html#abs-non-replaced-width" title="10.3.7 Absolutely positioned, non-replaced elements" />
+  <link rel="match" href="abs-pos-non-replaced-vlr-009-ref.xht" />
+
+  <meta name="flags" content="ahem image" />
+  <meta name="assert" content="When 'direction' is 'ltr' and 'top', 'height' are 'auto' and bottom is not 'auto', then the height is based on the content and then solve for 'top'." />
+
+<style type="text/css"><![CDATA[
+@font-face {
+  font-family: Ahem;
+  src: url("../../../fonts/Ahem.ttf");
+}
+]]></style>
+  <style type="text/css"><![CDATA[
+  div#containing-block
+    {
+      background: red url("support/bg-red-2col-2row-320x320.png");
+      color: transparent;
+      direction: ltr;
+      font: 80px/1 Ahem;
+      height: 320px;
+      position: relative;
+      width: 320px;
+      writing-mode: vertical-lr;
+    }
+
+  div#containing-block > span
+    {
+      background-color: red;
+      bottom: 2em;
+      color: green;
+      height: auto;
+      position: absolute;
+      top: auto;
+    }
+
+/*
+"
+Layout calculation rules (such as those in CSS2.1, Section 10.3) that apply to the horizontal dimension in horizontal writing modes instead apply to the vertical dimension in vertical writing modes.
+"
+7.1 Principles of Layout in Vertical Writing Modes
+http://www.w3.org/TR/css-writing-modes-3/#vertical-layout
+
+So here, *-top and *-bottom properties are input into the §10.3.7 algorithms where *-top properties refer to *-left properties in the layout rules and where *-bottom properties refer to *-right properties in the layout rules.
+
+"
+1. 'left' and 'width' are 'auto' and 'right' is not 'auto', then the width is shrink-to-fit. Then solve for 'left'
+"
+
+'top' + 'margin-top' + 'border-top-width' + 'padding-top' + 'height' + 'padding-bottom' + 'border-bottom-width' + 'margin-bottom' + 'bottom' = height of containing block
+
+So:
+
+  (solve) : top: auto
+  +
+      0px : margin-top
+  +
+      0px : border-top-width
+  +
+      0px : padding-top
+  +
+  (based on the content) : height: auto
+  +
+      0px : padding-bottom
+  +
+      0px : border-bottom-width
+  +
+      0px : margin-bottom
+  +
+    160px : bottom
+    =====================
+    320px : height of containing block
+
+gives us:
+
+  (solve) : top: auto
+  +
+      0px : margin-top
+  +
+      0px : border-top-width
+  +
+      0px : padding-top
+  +
+     80px : (based on the content) : height: auto
+  +
+      0px : padding-bottom
+  +
+      0px : border-bottom-width
+  +
+      0px : margin-bottom
+  +
+    160px : bottom
+    =====================
+    320px : height of containing block
+
+And so computed top value must be 80px .
+*/
+
+  ]]></style>
+
+ </head>
+
+ <body>
+
+  <p><img src="support/pass-cdts-abs-pos-non-replaced.png" width="246" height="36" alt="Image download support must be enabled" /></p>
+
+  <div id="containing-block">1 2 34<span>X</span></div>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/abs-pos-non-replaced-vlr-017.xht
@@ -0,0 +1,111 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Writing Modes Test: absolutely positioned non-replaced element - 'direction: ltr' and 'left' and 'width' are 'auto' and 'right' is not 'auto'</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+  <link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#vertical-layout" title="7.1 Principles of Layout in Vertical Writing Modes" />
+  <link rel="help" href="http://www.w3.org/TR/CSS21/visudet.html#abs-non-replaced-width" title="10.3.7 Absolutely positioned, non-replaced elements" />
+  <link rel="match" href="abs-pos-non-replaced-vlr-009-ref.xht" />
+
+  <meta name="flags" content="ahem image" />
+  <meta name="assert" content="When 'direction' is 'ltr' and 'left' and 'width' are 'auto' and 'right' is not 'auto', then the width becomes shrink-to-fit and then solve for 'left'." />
+
+<style type="text/css"><![CDATA[
+@font-face {
+  font-family: Ahem;
+  src: url("../../../fonts/Ahem.ttf");
+}
+]]></style>
+  <style type="text/css"><![CDATA[
+  div#containing-block
+    {
+      background: red url("support/bg-red-2col-2row-320x320.png");
+      color: transparent;
+      direction: ltr;
+      font: 80px/1 Ahem;
+      height: 320px;
+      position: relative;
+      width: 320px;
+    }
+
+  div#containing-block > span
+    {
+      background-color: red;
+      color: green;
+      left: auto;
+      position: absolute;
+      right: 2em;
+      width: auto;
+      writing-mode: vertical-lr;
+    }
+
+/*
+"
+1. 'left' and 'width' are 'auto' and 'right' is not 'auto', then the width is shrink-to-fit. Then solve for 'left'
+"
+
+'left' + 'margin-left' + 'border-left-width' + 'padding-left' + 'width' + 'padding-right' + 'border-right-width' + 'margin-right' + 'right' = width of containing block
+
+So:
+
+  (solve) : left: auto
+  +
+      0px : margin-left
+  +
+      0px : border-left-width
+  +
+      0px : padding-left
+  +
+  (shrink-to-fit) : width: auto
+  +
+      0px : padding-right
+  +
+      0px : border-right-width
+  +
+      0px : margin-right
+  +
+    160px : right
+    =====================
+    320px : width of containing block
+
+gives us:
+
+  (solve) : left: auto
+  +
+      0px : margin-left
+  +
+      0px : border-left-width
+  +
+      0px : padding-left
+  +
+     80px : (shrink-to-fit) : width: auto
+  +
+      0px : padding-right
+  +
+      0px : border-right-width
+  +
+      0px : margin-right
+  +
+    160px : right
+    =====================
+    320px : width of containing block
+
+And so computed left value must be 80px .
+*/
+
+  ]]></style>
+
+ </head>
+
+ <body>
+
+  <p><img src="support/pass-cdts-abs-pos-non-replaced.png" width="246" height="36" alt="Image download support must be enabled" /></p>
+
+  <div id="containing-block">1 2 34<span>X</span></div>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/abs-pos-non-replaced-vlr-019.xht
@@ -0,0 +1,123 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Writing Modes Test: absolutely positioned non-replaced element - 'direction: ltr' and 'top' and 'height' are 'auto' and 'bottom' is not 'auto'</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+  <link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#vertical-layout" title="7.1 Principles of Layout in Vertical Writing Modes" />
+  <link rel="help" href="http://www.w3.org/TR/CSS21/visudet.html#abs-non-replaced-width" title="10.3.7 Absolutely positioned, non-replaced elements" />
+  <link rel="match" href="abs-pos-non-replaced-vlr-013-ref.xht" />
+
+  <meta name="flags" content="ahem image" />
+  <meta name="assert" content="When 'direction' is 'ltr' and 'top' and 'height' are 'auto' and 'bottom' is not 'auto', then the height is based on the content and then solve for 'top'." />
+
+<style type="text/css"><![CDATA[
+@font-face {
+  font-family: Ahem;
+  src: url("../../../fonts/Ahem.ttf");
+}
+]]></style>
+  <style type="text/css"><![CDATA[
+  html
+    {
+      writing-mode: vertical-lr;
+    }
+
+  div#containing-block
+    {
+      background: red url("support/bg-red-2col-2row-320x320.png");
+      color: transparent;
+      direction: ltr;
+      font: 80px/1 Ahem;
+      height: 320px;
+      position: relative;
+      width: 320px;
+    }
+
+  div#containing-block > span
+    {
+      background-color: red;
+      bottom: 2em;
+      color: green;
+      height: auto;
+      position: absolute;
+      top: auto;
+    }
+
+/*
+"
+Layout calculation rules (such as those in CSS2.1, Section 10.3) that apply to the horizontal dimension in horizontal writing modes instead apply to the vertical dimension in vertical writing modes.
+"
+7.1 Principles of Layout in Vertical Writing Modes
+http://www.w3.org/TR/css-writing-modes-3/#vertical-layout
+
+So here, *-top and *-bottom properties are input into the §10.3.7 algorithms where *-top properties refer to *-left properties in the layout rules and where *-bottom properties refer to *-right properties in the layout rules.
+
+"
+1. 'left' and 'width' are 'auto' and 'right' is not 'auto', then the width is shrink-to-fit. Then solve for 'left'
+"
+
+'top' + 'margin-top' + 'border-top-width' + 'padding-top' + 'height' + 'padding-bottom' + 'border-bottom-width' + 'margin-bottom' + 'bottom' = height of containing block
+
+So:
+
+  (solve) : top: auto
+  +
+      0px : margin-top
+  +
+      0px : border-top-width
+  +
+      0px : padding-top
+  +
+  (based on the content) : height: auto
+  +
+      0px : padding-bottom
+  +
+      0px : border-bottom-width
+  +
+      0px : margin-bottom
+  +
+    160px : bottom
+    =====================
+    320px : height of containing block
+
+gives us:
+
+  (solve) : top: auto
+  +
+      0px : margin-top
+  +
+      0px : border-top-width
+  +
+      0px : padding-top
+  +
+     80px : (based on the content) : height: auto
+  +
+      0px : padding-bottom
+  +
+      0px : border-bottom-width
+  +
+      0px : margin-bottom
+  +
+    160px : bottom
+    =====================
+    320px : height of containing block
+
+And so computed top value must be 80px .
+*/
+
+  ]]></style>
+
+ </head>
+
+ <body>
+
+  <p><img src="support/pass-cdts-abs-pos-non-replaced.png" width="246" height="36" alt="Image download support must be enabled" /></p>
+
+  <div id="containing-block">1 2 34<span>X</span></div>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/abs-pos-non-replaced-vlr-021.xht
@@ -0,0 +1,119 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Writing Modes Test: absolutely positioned non-replaced element - 'direction: rtl' and 'top' and 'height' are 'auto and 'bottom' is not 'auto'</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+  <link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#vertical-layout" title="7.1 Principles of Layout in Vertical Writing Modes" />
+  <link rel="help" href="http://www.w3.org/TR/CSS21/visudet.html#abs-non-replaced-width" title="10.3.7 Absolutely positioned, non-replaced elements" />
+  <link rel="match" href="abs-pos-non-replaced-vlr-009-ref.xht" />
+
+  <meta name="flags" content="ahem image" />
+  <meta name="assert" content="When 'direction' is 'rtl' and 'top' and 'height' are 'auto' and 'bottom' is not 'auto', then the height is based on the content and then solve for 'top'." />
+
+<style type="text/css"><![CDATA[
+@font-face {
+  font-family: Ahem;
+  src: url("../../../fonts/Ahem.ttf");
+}
+]]></style>
+  <style type="text/css"><![CDATA[
+  div#containing-block
+    {
+      background: red url("support/bg-red-2col-2row-320x320.png");
+      color: transparent;
+      direction: rtl;
+      font: 80px/1 Ahem;
+      height: 320px;
+      position: relative;
+      width: 320px;
+      writing-mode: vertical-lr;
+    }
+
+  div#containing-block > span
+    {
+      background-color: red;
+      bottom: 2em;
+      color: green;
+      height: auto;
+      position: absolute;
+      top: auto;
+    }
+
+/*
+"
+Layout calculation rules (such as those in CSS2.1, Section 10.3) that apply to the horizontal dimension in horizontal writing modes instead apply to the vertical dimension in vertical writing modes.
+"
+7.1 Principles of Layout in Vertical Writing Modes
+http://www.w3.org/TR/css-writing-modes-3/#vertical-layout
+
+So here, *-top and *-bottom properties are input into the §10.3.7 algorithms where *-top properties refer to *-left properties in the layout rules and where *-bottom properties refer to *-right properties in the layout rules.
+
+"
+1. 'left' and 'width' are 'auto' and 'right' is not 'auto', then the width is shrink-to-fit. Then solve for 'left'
+"
+
+'top' + 'margin-top' + 'border-top-width' + 'padding-top' + 'height' + 'padding-bottom' + 'border-bottom-width' + 'margin-bottom' + 'bottom' = height of containing block
+
+So:
+
+  (solve) : top: auto
+  +
+      0px : margin-top
+  +
+      0px : border-top-width
+  +
+      0px : padding-top
+  +
+  (based on the content) : height: auto
+  +
+      0px : padding-bottom
+  +
+      0px : border-bottom-width
+  +
+      0px : margin-bottom
+  +
+    160px : bottom
+    =====================
+    320px : height of containing block
+
+gives us:
+
+  (solve) : top: auto
+  +
+      0px : margin-top
+  +
+      0px : border-top-width
+  +
+      0px : padding-top
+  +
+     80px : (based on the content) : height: auto
+  +
+      0px : padding-bottom
+  +
+      0px : border-bottom-width
+  +
+      0px : margin-bottom
+  +
+    160px : bottom
+    =====================
+    320px : height of containing block
+
+And so computed top value must be 80px .
+*/
+
+  ]]></style>
+
+ </head>
+
+ <body>
+
+  <p><img src="support/pass-cdts-abs-pos-non-replaced.png" width="246" height="36" alt="Image download support must be enabled" /></p>
+
+  <div id="containing-block">1 2 34<span>X</span></div>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/abs-pos-non-replaced-vlr-023.xht
@@ -0,0 +1,111 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Writing Modes Test: absolutely positioned non-replaced element - 'direction: rtl' and 'left' and 'width' are 'auto' and 'right' is not 'auto'</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+  <link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#vertical-layout" title="7.1 Principles of Layout in Vertical Writing Modes" />
+  <link rel="help" href="http://www.w3.org/TR/CSS21/visudet.html#abs-non-replaced-width" title="10.3.7 Absolutely positioned, non-replaced elements" />
+  <link rel="match" href="abs-pos-non-replaced-vlr-009-ref.xht" />
+
+  <meta name="flags" content="ahem image" />
+  <meta name="assert" content="When 'direction' is 'rtl' and 'left' and 'width' are 'auto' and 'right' is not 'auto', then the width becomes shrink-to-fit and then solve for 'left'." />
+
+<style type="text/css"><![CDATA[
+@font-face {
+  font-family: Ahem;
+  src: url("../../../fonts/Ahem.ttf");
+}
+]]></style>
+  <style type="text/css"><![CDATA[
+  div#containing-block
+    {
+      background: red url("support/bg-red-2col-2row-320x320.png");
+      color: transparent;
+      direction: rtl;
+      font: 80px/1 Ahem;
+      height: 320px;
+      position: relative;
+      width: 320px;
+    }
+
+  div#containing-block > span
+    {
+      background-color: red;
+      color: green;
+      left: auto;
+      position: absolute;
+      right: 2em;
+      width: auto;
+      writing-mode: vertical-lr;
+    }
+
+/*
+"
+1. 'left' and 'width' are 'auto' and 'right' is not 'auto', then the width is shrink-to-fit. Then solve for 'left'
+"
+
+'left' + 'margin-left' + 'border-left-width' + 'padding-left' + 'width' + 'padding-right' + 'border-right-width' + 'margin-right' + 'right' = width of containing block
+
+So:
+
+  (solve) : left: auto
+  +
+      0px : margin-left
+  +
+      0px : border-left-width
+  +
+      0px : padding-left
+  +
+  (shrink-to-fit) : width: auto
+  +
+      0px : padding-right
+  +
+      0px : border-right-width
+  +
+      0px : margin-right
+  +
+     160px : right
+    =====================
+    320px : width of containing block
+
+gives us:
+
+  (solve) : left: auto
+  +
+      0px : margin-left
+  +
+      0px : border-left-width
+  +
+      0px : padding-left
+  +
+     80px : (shrink-to-fit) : width: auto
+  +
+      0px : padding-right
+  +
+      0px : border-right-width
+  +
+      0px : margin-right
+  +
+     160px : right
+    =====================
+    320px : width of containing block
+
+And so computed left value must be 80px .
+*/
+
+  ]]></style>
+
+ </head>
+
+ <body>
+
+  <p><img src="support/pass-cdts-abs-pos-non-replaced.png" width="246" height="36" alt="Image download support must be enabled" /></p>
+
+  <div id="containing-block">1 2 34<span>X</span></div>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/abs-pos-non-replaced-vlr-025.xht
@@ -0,0 +1,123 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Writing Modes Test: absolutely positioned non-replaced element - 'direction: rtl' and 'top' and 'height' are 'auto' and 'bottom' is not 'auto'</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+  <link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#vertical-layout" title="7.1 Principles of Layout in Vertical Writing Modes" />
+  <link rel="help" href="http://www.w3.org/TR/CSS21/visudet.html#abs-non-replaced-width" title="10.3.7 Absolutely positioned, non-replaced elements" />
+  <link rel="match" href="abs-pos-non-replaced-vlr-013-ref.xht" />
+
+  <meta name="flags" content="ahem image" />
+  <meta name="assert" content="When 'direction' is 'rtl' and 'top', 'height' are 'auto' and bottom is not 'auto', then the height is based on the content and then solve for 'top'." />
+
+<style type="text/css"><![CDATA[
+@font-face {
+  font-family: Ahem;
+  src: url("../../../fonts/Ahem.ttf");
+}
+]]></style>
+  <style type="text/css"><![CDATA[
+  html
+    {
+      writing-mode: vertical-lr;
+    }
+
+  div#containing-block
+    {
+      background: red url("support/bg-red-2col-2row-320x320.png");
+      color: transparent;
+      direction: rtl;
+      font: 80px/1 Ahem;
+      height: 320px;
+      position: relative;
+      width: 320px;
+    }
+
+  div#containing-block > span
+    {
+      background-color: red;
+      bottom: 2em;
+      color: green;
+      height: auto;
+      position: absolute;
+      top: auto;
+    }
+
+/*
+"
+Layout calculation rules (such as those in CSS2.1, Section 10.3) that apply to the horizontal dimension in horizontal writing modes instead apply to the vertical dimension in vertical writing modes.
+"
+7.1 Principles of Layout in Vertical Writing Modes
+http://www.w3.org/TR/css-writing-modes-3/#vertical-layout
+
+So here, *-top and *-bottom properties are input into the §10.3.7 algorithms where *-top properties refer to *-left properties in the layout rules and where *-bottom properties refer to *-right properties in the layout rules.
+
+"
+1. 'left' and 'width' are 'auto' and 'right' is not 'auto', then the width is shrink-to-fit. Then solve for 'left'
+"
+
+'top' + 'margin-top' + 'border-top-width' + 'padding-top' + 'height' + 'padding-bottom' + 'border-bottom-width' + 'margin-bottom' + 'bottom' = height of containing block
+
+So:
+
+  (solve) : top: auto
+  +
+      0px : margin-top
+  +
+      0px : border-top-width
+  +
+      0px : padding-top
+  +
+  (based on the content) : height: auto
+  +
+      0px : padding-bottom
+  +
+      0px : border-bottom-width
+  +
+      0px : margin-bottom
+  +
+    160px : bottom
+    =====================
+    320px : height of containing block
+
+gives us:
+
+  (solve) : top: auto
+  +
+      0px : margin-top
+  +
+      0px : border-top-width
+  +
+      0px : padding-top
+  +
+     80px : (based on the content) : height: auto
+  +
+      0px : padding-bottom
+  +
+      0px : border-bottom-width
+  +
+      0px : margin-bottom
+  +
+    160px : bottom
+    =====================
+    320px : height of containing block
+
+And so computed top value must be 80px .
+*/
+
+  ]]></style>
+
+ </head>
+
+ <body>
+
+  <p><img src="support/pass-cdts-abs-pos-non-replaced.png" width="246" height="36" alt="Image download support must be enabled" /></p>
+
+  <div id="containing-block">1 2 34<span>X</span></div>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/abs-pos-non-replaced-vlr-027.xht
@@ -0,0 +1,97 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Writing Modes Test: absolutely positioned non-replaced element - 'direction: ltr' and 'top' and 'bottom' are 'auto' and 'height' is not 'auto'</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+  <link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#vertical-layout" title="7.1 Principles of Layout in Vertical Writing Modes" />
+  <link rel="help" href="http://www.w3.org/TR/CSS21/visudet.html#abs-non-replaced-height" title="10.6.4 Absolutely positioned, non-replaced elements" />
+  <link rel="match" href="abs-pos-non-replaced-vlr-003-ref.xht" />
+
+  <meta name="flags" content="ahem image" />
+  <meta name="assert" content="When 'direction' is 'ltr' and 'top' and 'bottom' are 'auto' and 'height' is not 'auto', then set 'top' to static position and solve for 'bottom'." />
+
+<style type="text/css"><![CDATA[
+@font-face {
+  font-family: Ahem;
+  src: url("../../../fonts/Ahem.ttf");
+}
+]]></style>
+  <style type="text/css"><![CDATA[
+  div#containing-block
+    {
+      background: red url("support/bg-red-2col-3row-320x320.png");
+      color: transparent;
+      direction: ltr;
+      font: 80px/1 Ahem;
+      height: 320px;
+      position: relative;
+      width: 320px;
+      writing-mode: vertical-lr;
+    }
+
+  div#containing-block > span
+    {
+      background-color: red;
+      bottom: auto;
+      color: green;
+      height: 1em;
+      position: absolute;
+      top: auto;
+    }
+
+/*
+"
+Layout calculation rules (such as those in CSS2.1, Section 10.3) that apply to the horizontal dimension in horizontal writing modes instead apply to the vertical dimension in vertical writing modes.
+"
+7.1 Principles of Layout in Vertical Writing Modes
+http://www.w3.org/TR/css-writing-modes-3/#vertical-layout
+
+So here, *-top and *-bottom properties are input into the §10.3.7 algorithms where *-top properties refer to *-left properties in the layout rules and where *-bottom properties refer to *-right properties in the layout rules.
+
+"
+2. 'left' and 'right' are 'auto' and 'width' is not 'auto', then if the 'direction' property of the element establishing the static-position containing block is 'ltr' set 'left' to the static position, otherwise set 'right' to the static position. Then solve for 'left' (if 'direction is 'rtl') or 'right' (if 'direction' is 'ltr').
+"
+
+'top' + 'margin-top' + 'border-top-width' + 'padding-top' + 'height' + 'padding-bottom' + 'border-bottom-width' + 'margin-bottom' + 'bottom' = height of containing block
+
+So:
+
+    160px : top: auto: set to static position
+  +
+      0px : margin-top
+  +
+      0px : border-top-width
+  +
+      0px : padding-top
+  +
+     80px : height
+  +
+      0px : padding-bottom
+  +
+      0px : border-bottom-width
+  +
+      0px : margin-bottom
+  +
+   (solve) : bottom: auto
+    =====================
+    320px : height of containing block
+
+And so computed bottom value must be 80px .
+*/
+
+  ]]></style>
+
+ </head>
+
+ <body>
+
+  <p><img src="support/pass-cdts-abs-pos-non-replaced.png" width="246" height="36" alt="Image download support must be enabled" /></p>
+
+  <div id="containing-block">1 2 34<span>X</span></div>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/abs-pos-non-replaced-vlr-029.xht
@@ -0,0 +1,111 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Writing Modes Test: absolutely positioned non-replaced element - 'direction: ltr' and 'left' and 'right' are 'auto' and 'width' is not 'auto'</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+  <link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#vertical-layout" title="7.1 Principles of Layout in Vertical Writing Modes" />
+  <link rel="help" href="http://www.w3.org/TR/CSS21/visudet.html#abs-non-replaced-width" title="10.3.7 Absolutely positioned, non-replaced elements" />
+  <link rel="match" href="abs-pos-non-replaced-vrl-004-ref.xht" />
+
+  <meta name="flags" content="ahem image" />
+  <meta name="assert" content="When 'direction' is 'ltr' and 'left' and 'right' are 'auto' and 'width' is not 'auto', then set 'left' to the static position and then solve for 'right'." />
+
+<style type="text/css"><![CDATA[
+@font-face {
+  font-family: Ahem;
+  src: url("../../../fonts/Ahem.ttf");
+}
+]]></style>
+  <style type="text/css"><![CDATA[
+  div#containing-block
+    {
+      background: red url("support/bg-red-3col-2row-320x320.png");
+      color: transparent;
+      direction: ltr;
+      font: 80px/1 Ahem;
+      height: 320px;
+      position: relative;
+      width: 320px;
+    }
+
+  div#containing-block > span
+    {
+      background-color: red;
+      color: green;
+      left: auto;
+      position: absolute;
+      right: auto;
+      width: 1em;
+      writing-mode: vertical-lr;
+    }
+
+/*
+"
+2. 'left' and 'right' are 'auto' and 'width' is not 'auto', then if the 'direction' property of the element establishing the static-position containing block is 'ltr' set 'left' to the static position, otherwise set 'right' to the static position. Then solve for 'left' (if 'direction is 'rtl') or 'right' (if 'direction' is 'ltr').
+"
+
+'left' + 'margin-left' + 'border-left-width' + 'padding-left' + 'width' + 'padding-right' + 'border-right-width' + 'margin-right' + 'right' = width of containing block
+
+So:
+
+    160px : left: auto: set to static position
+  +
+      0px : margin-left
+  +
+      0px : border-left-width
+  +
+      0px : padding-left
+  +
+     80px : width
+  +
+      0px : padding-right
+  +
+      0px : border-right-width
+  +
+      0px : margin-right
+  +
+  (solve) : right: auto
+    =====================
+    320px : width of containing block
+
+gives us:
+
+    160px : left: auto: set to static position
+  +
+      0px : margin-left
+  +
+      0px : border-left-width
+  +
+      0px : padding-left
+  +
+     80px : width
+  +
+      0px : padding-right
+  +
+      0px : border-right-width
+  +
+      0px : margin-right
+  +
+  (solve) : right: auto
+    =====================
+    320px : width of containing block
+
+And so computed right value must be 80px .
+*/
+
+  ]]></style>
+
+ </head>
+
+ <body>
+
+  <p><img src="support/pass-cdts-abs-pos-non-replaced.png" width="246" height="36" alt="Image download support must be enabled" /></p>
+
+  <div id="containing-block">1 2 34<span>X</span></div>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/abs-pos-non-replaced-vlr-031.xht
@@ -0,0 +1,102 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Writing Modes Test: absolutely positioned non-replaced element - 'direction: ltr' and 'top' and 'bottom' are 'auto' and 'height' is not 'auto'</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+  <link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#vertical-layout" title="7.1 Principles of Layout in Vertical Writing Modes" />
+  <link rel="help" href="http://www.w3.org/TR/CSS21/visudet.html#abs-non-replaced-width" title="10.3.7 Absolutely positioned, non-replaced elements" />
+  <link rel="match" href="abs-pos-non-replaced-vlr-007-ref.xht" />
+
+  <meta name="flags" content="ahem image" />
+  <meta name="assert" content="When 'direction' is 'ltr' and 'top' and 'bottom' are 'auto' and 'height' is not 'auto', then set 'top' to static position and solve for 'bottom'." />
+
+<style type="text/css"><![CDATA[
+@font-face {
+  font-family: Ahem;
+  src: url("../../../fonts/Ahem.ttf");
+}
+]]></style>
+  <style type="text/css"><![CDATA[
+  html
+    {
+      writing-mode: vertical-lr;
+    }
+
+  div#containing-block
+    {
+      background: red url("support/bg-red-2col-3row-320x320.png");
+      color: transparent;
+      direction: ltr;
+      font: 80px/1 Ahem;
+      height: 320px;
+      position: relative;
+      width: 320px;
+
+    }
+
+  div#containing-block > span
+    {
+      background-color: red;
+      bottom: auto;
+      color: green;
+      height: 1em;
+      position: absolute;
+      top: auto;
+    }
+
+/*
+"
+Layout calculation rules (such as those in CSS2.1, Section 10.3) that apply to the horizontal dimension in horizontal writing modes instead apply to the vertical dimension in vertical writing modes.
+"
+7.1 Principles of Layout in Vertical Writing Modes
+http://www.w3.org/TR/css-writing-modes-3/#vertical-layout
+
+So here, *-top and *-bottom properties are input into the §10.3.7 algorithms where *-top properties refer to *-left properties in the layout rules and where *-bottom properties refer to *-right properties in the layout rules.
+
+"
+2. 'left' and 'right' are 'auto' and 'width' is not 'auto', then if the 'direction' property of the element establishing the static-position containing block is 'ltr' set 'left' to the static position, otherwise set 'right' to the static position. Then solve for 'left' (if 'direction is 'rtl') or 'right' (if 'direction' is 'ltr').
+"
+
+'top' + 'margin-top' + 'border-top-width' + 'padding-top' + 'height' + 'padding-bottom' + 'border-bottom-width' + 'margin-bottom' + 'bottom' = height of containing block
+
+So:
+
+    160px : top: auto: set to static position
+  +
+      0px : margin-top
+  +
+      0px : border-top-width
+  +
+      0px : padding-top
+  +
+     80px : height
+  +
+      0px : padding-bottom
+  +
+      0px : border-bottom-width
+  +
+      0px : margin-bottom
+  +
+  (solve) : bottom: auto
+    =====================
+    320px : height of containing block
+
+And so computed bottom value must be 80px .
+*/
+
+  ]]></style>
+
+ </head>
+
+ <body>
+
+  <p><img src="support/pass-cdts-abs-pos-non-replaced.png" width="246" height="36" alt="Image download support must be enabled" /></p>
+
+  <div id="containing-block">1 2 34<span>X</span></div>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/abs-pos-non-replaced-vlr-033.xht
@@ -0,0 +1,97 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Writing Modes Test: absolutely positioned non-replaced element - 'direction: rtl' and 'top' and 'bottom' are 'auto and 'height' is not 'auto'</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+  <link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#vertical-layout" title="7.1 Principles of Layout in Vertical Writing Modes" />
+  <link rel="help" href="http://www.w3.org/TR/CSS21/visudet.html#abs-non-replaced-width" title="10.3.7 Absolutely positioned, non-replaced elements" />
+  <link rel="match" href="abs-pos-non-replaced-vlr-009-ref.xht" />
+
+  <meta name="flags" content="ahem image" />
+  <meta name="assert" content="When 'direction' is 'rtl' and 'top' and 'bottom' are 'auto' and 'height' is not 'auto', then set 'top' to static position and solve for 'bottom'." />
+
+<style type="text/css"><![CDATA[
+@font-face {
+  font-family: Ahem;
+  src: url("../../../fonts/Ahem.ttf");
+}
+]]></style>
+  <style type="text/css"><![CDATA[
+  div#containing-block
+    {
+      background: red url("support/bg-red-2col-2row-320x320.png");
+      color: transparent;
+      direction: rtl;
+      font: 80px/1 Ahem;
+      height: 320px;
+      position: relative;
+      width: 320px;
+      writing-mode: vertical-lr;
+    }
+
+  div#containing-block > span
+    {
+      background-color: red;
+      bottom: auto;
+      color: green;
+      height: 1em;
+      position: absolute;
+      top: auto;
+    }
+
+/*
+"
+Layout calculation rules (such as those in CSS2.1, Section 10.3) that apply to the horizontal dimension in horizontal writing modes instead apply to the vertical dimension in vertical writing modes.
+"
+7.1 Principles of Layout in Vertical Writing Modes
+http://www.w3.org/TR/css-writing-modes-3/#vertical-layout
+
+So here, *-top and *-bottom properties are input into the §10.3.7 algorithms where *-top properties refer to *-left properties in the layout rules and where *-bottom properties refer to *-right properties in the layout rules.
+
+"
+2. 'left' and 'right' are 'auto' and 'width' is not 'auto', then if the 'direction' property of the element establishing the static-position containing block is 'ltr' set 'left' to the static position, otherwise set 'right' to the static position. Then solve for 'left' (if 'direction is 'rtl') or 'right' (if 'direction' is 'ltr').
+"
+
+'top' + 'margin-top' + 'border-top-width' + 'padding-top' + 'height' + 'padding-bottom' + 'border-bottom-width' + 'margin-bottom' + 'bottom' = height of containing block
+
+So:
+
+  (solve) : top: auto
+  +
+      0px : margin-top
+  +
+      0px : border-top-width
+  +
+      0px : padding-top
+  +
+     80px : height
+  +
+      0px : padding-bottom
+  +
+      0px : border-bottom-width
+  +
+      0px : margin-bottom
+  +
+    160px : bottom: auto: set to static position
+    =====================
+    320px : height of containing block
+
+And so computed top value must be 80px .
+*/
+
+  ]]></style>
+
+ </head>
+
+ <body>
+
+  <p><img src="support/pass-cdts-abs-pos-non-replaced.png" width="246" height="36" alt="Image download support must be enabled" /></p>
+
+  <div id="containing-block">1 2 34<span>X</span></div>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/abs-pos-non-replaced-vlr-035.xht
@@ -0,0 +1,89 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Writing Modes Test: absolutely positioned non-replaced element - 'direction: rtl' and 'left' and 'right' are 'auto' and 'width' is not 'auto'</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+  <link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#vertical-layout" title="7.1 Principles of Layout in Vertical Writing Modes" />
+  <link rel="help" href="http://www.w3.org/TR/CSS21/visudet.html#abs-non-replaced-width" title="10.3.7 Absolutely positioned, non-replaced elements" />
+  <link rel="match" href="abs-pos-non-replaced-vlr-009-ref.xht" />
+
+  <meta name="flags" content="ahem image" />
+  <meta name="assert" content="When 'direction' is 'rtl' and 'left' and 'right' are 'auto' and 'width' is not 'auto', then set 'right' to the static position and then solve for 'left'." />
+
+<style type="text/css"><![CDATA[
+@font-face {
+  font-family: Ahem;
+  src: url("../../../fonts/Ahem.ttf");
+}
+]]></style>
+  <style type="text/css"><![CDATA[
+  div#containing-block
+    {
+      background: red url("support/bg-red-2col-2row-320x320.png");
+      color: transparent;
+      direction: rtl;
+      font: 80px/1 Ahem;
+      height: 320px;
+      position: relative;
+      width: 320px;
+    }
+
+  div#containing-block > span
+    {
+      background-color: red;
+      color: green;
+      left: auto;
+      position: absolute;
+      right: auto;
+      width: 1em;
+      writing-mode: vertical-lr;
+    }
+
+/*
+"
+2. 'left' and 'right' are 'auto' and 'width' is not 'auto', then if the 'direction' property of the element establishing the static-position containing block is 'ltr' set 'left' to the static position, otherwise set 'right' to the static position. Then solve for 'left' (if 'direction is 'rtl') or 'right' (if 'direction' is 'ltr').
+"
+
+'left' + 'margin-left' + 'border-left-width' + 'padding-left' + 'width' + 'padding-right' + 'border-right-width' + 'margin-right' + 'right' = width of containing block
+
+So:
+
+  (solve) : left: auto
+  +
+      0px : margin-left
+  +
+      0px : border-left-width
+  +
+      0px : padding-left
+  +
+     80px : width
+  +
+      0px : padding-right
+  +
+      0px : border-right-width
+  +
+      0px : margin-right
+  +
+    160px : right: auto
+    =====================
+    320px : width of containing block
+
+And so computed left value must be 80px .
+*/
+
+  ]]></style>
+
+ </head>
+
+ <body>
+
+  <p><img src="support/pass-cdts-abs-pos-non-replaced.png" width="246" height="36" alt="Image download support must be enabled" /></p>
+
+  <div id="containing-block">1 2 34<span>X</span></div>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/abs-pos-non-replaced-vlr-037.xht
@@ -0,0 +1,101 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Writing Modes Test: absolutely positioned non-replaced element - 'direction: rtl' and 'top' and 'bottom' are 'auto' and 'height' is not 'auto'</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+  <link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#vertical-layout" title="7.1 Principles of Layout in Vertical Writing Modes" />
+  <link rel="help" href="http://www.w3.org/TR/CSS21/visudet.html#abs-non-replaced-width" title="10.3.7 Absolutely positioned, non-replaced elements" />
+  <link rel="match" href="abs-pos-non-replaced-vlr-013-ref.xht" />
+
+  <meta name="flags" content="ahem image" />
+  <meta name="assert" content="When 'direction' is 'rtl' and 'top' and 'bottom' are 'auto' and 'height' is not 'auto', then set 'top' to static position and solve for 'bottom'." />
+
+<style type="text/css"><![CDATA[
+@font-face {
+  font-family: Ahem;
+  src: url("../../../fonts/Ahem.ttf");
+}
+]]></style>
+  <style type="text/css"><![CDATA[
+  html
+    {
+      writing-mode: vertical-lr;
+    }
+
+  div#containing-block
+    {
+      background: red url("support/bg-red-2col-2row-320x320.png");
+      color: transparent;
+      direction: rtl;
+      font: 80px/1 Ahem;
+      height: 320px;
+      position: relative;
+      width: 320px;
+    }
+
+  div#containing-block > span
+    {
+      background-color: red;
+      bottom: auto;
+      color: green;
+      height: 1em;
+      position: absolute;
+      top: auto;
+    }
+
+/*
+"
+Layout calculation rules (such as those in CSS2.1, Section 10.3) that apply to the horizontal dimension in horizontal writing modes instead apply to the vertical dimension in vertical writing modes.
+"
+7.1 Principles of Layout in Vertical Writing Modes
+http://www.w3.org/TR/css-writing-modes-3/#vertical-layout
+
+So here, *-top and *-bottom properties are input into the §10.3.7 algorithms where *-top properties refer to *-left properties in the layout rules and where *-bottom properties refer to *-right properties in the layout rules.
+
+"
+2. 'left' and 'right' are 'auto' and 'width' is not 'auto', then if the 'direction' property of the element establishing the static-position containing block is 'ltr' set 'left' to the static position, otherwise set 'right' to the static position. Then solve for 'left' (if 'direction is 'rtl') or 'right' (if 'direction' is 'ltr').
+"
+
+'top' + 'margin-top' + 'border-top-width' + 'padding-top' + 'height' + 'padding-bottom' + 'border-bottom-width' + 'margin-bottom' + 'bottom' = height of containing block
+
+So:
+
+  (solve) : top: auto
+  +
+      0px : margin-top
+  +
+      0px : border-top-width
+  +
+      0px : padding-top
+  +
+     80px : height
+  +
+      0px : padding-bottom
+  +
+      0px : border-bottom-width
+  +
+      0px : margin-bottom
+  +
+    160px : bottom: auto: set to static position
+    =====================
+    320px : height of containing block
+
+And so computed top value must be 80px .
+*/
+
+  ]]></style>
+
+ </head>
+
+ <body>
+
+  <p><img src="support/pass-cdts-abs-pos-non-replaced.png" width="246" height="36" alt="Image download support must be enabled" /></p>
+
+  <div id="containing-block">1 2 34<span>X</span></div>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/abs-pos-non-replaced-vlr-039.xht
@@ -0,0 +1,119 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Writing Modes Test: absolutely positioned non-replaced element - 'direction: ltr' and 'height' and 'bottom' are 'auto' and 'top' is not 'auto'</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+  <link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#vertical-layout" title="7.1 Principles of Layout in Vertical Writing Modes" />
+  <link rel="help" href="http://www.w3.org/TR/CSS21/visudet.html#abs-non-replaced-width" title="10.3.7 Absolutely positioned, non-replaced elements" />
+  <link rel="match" href="abs-pos-non-replaced-vlr-009-ref.xht" />
+
+  <meta name="flags" content="ahem image" />
+  <meta name="assert" content="When 'direction' is 'ltr' and 'height' and 'bottom' are 'auto' and 'top' is not 'auto', then the height is based on the content and then solve for 'bottom'." />
+
+<style type="text/css"><![CDATA[
+@font-face {
+  font-family: Ahem;
+  src: url("../../../fonts/Ahem.ttf");
+}
+]]></style>
+  <style type="text/css"><![CDATA[
+  div#containing-block
+    {
+      background: red url("support/bg-red-2col-2row-320x320.png");
+      color: transparent;
+      direction: ltr;
+      font: 80px/1 Ahem;
+      height: 320px;
+      position: relative;
+      width: 320px;
+      writing-mode: vertical-lr;
+    }
+
+  div#containing-block > span
+    {
+      background-color: red;
+      bottom: auto;
+      color: green;
+      height: auto;
+      position: absolute;
+      top: 1em;
+    }
+
+/*
+"
+Layout calculation rules (such as those in CSS2.1, Section 10.3) that apply to the horizontal dimension in horizontal writing modes instead apply to the vertical dimension in vertical writing modes.
+"
+7.1 Principles of Layout in Vertical Writing Modes
+http://www.w3.org/TR/css-writing-modes-3/#vertical-layout
+
+So here, *-top and *-bottom properties are input into the §10.3.7 algorithms where *-top properties refer to *-left properties in the layout rules and where *-bottom properties refer to *-right properties in the layout rules.
+
+"
+3. 'width' and 'right' are 'auto' and 'left' is not 'auto', then the width is shrink-to-fit . Then solve for 'right'
+"
+
+'top' + 'margin-top' + 'border-top-width' + 'padding-top' + 'height' + 'padding-bottom' + 'border-bottom-width' + 'margin-bottom' + 'bottom' = height of containing block
+
+So:
+
+     80px : top
+  +
+      0px : margin-top
+  +
+      0px : border-top-width
+  +
+      0px : padding-top
+  +
+  (based on the content) : height: auto
+  +
+      0px : padding-bottom
+  +
+      0px : border-bottom-width
+  +
+      0px : margin-bottom
+  +
+  (solve) : bottom: auto
+    =====================
+    320px : height of containing block
+
+gives us:
+
+     80px : top
+  +
+      0px : margin-top
+  +
+      0px : border-top-width
+  +
+      0px : padding-top
+  +
+     80px : (based on the content) : height: auto
+  +
+      0px : padding-bottom
+  +
+      0px : border-bottom-width
+  +
+      0px : margin-bottom
+  +
+  (solve) : bottom: auto
+    =====================
+    320px : height of containing block
+
+And so computed bottom value must be 160px .
+*/
+
+  ]]></style>
+
+ </head>
+
+ <body>
+
+  <p><img src="support/pass-cdts-abs-pos-non-replaced.png" width="246" height="36" alt="Image download support must be enabled" /></p>
+
+  <div id="containing-block">1 2 34<span>X</span></div>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/abs-pos-non-replaced-vlr-041.xht
@@ -0,0 +1,112 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Writing Modes Test: absolutely positioned non-replaced element - 'direction: ltr' and 'width' and 'right' are 'auto' and 'left' is not 'auto'</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+  <link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#vertical-layout" title="7.1 Principles of Layout in Vertical Writing Modes" />
+  <link rel="help" href="http://www.w3.org/TR/CSS21/visudet.html#abs-non-replaced-width" title="10.3.7 Absolutely positioned, non-replaced elements" />
+  <link rel="match" href="abs-pos-non-replaced-vlr-009-ref.xht" />
+
+  <meta name="flags" content="ahem image" />
+  <meta name="assert" content="When 'direction' is 'ltr' and 'width' and 'right' are 'auto' and 'left' is not 'auto', then the width becomes shrink-to-fit and then solve for 'right'." />
+
+<style type="text/css"><![CDATA[
+@font-face {
+  font-family: Ahem;
+  src: url("../../../fonts/Ahem.ttf");
+}
+]]></style>
+  <style type="text/css"><![CDATA[
+  div#containing-block
+    {
+      background: red url("support/bg-red-2col-2row-320x320.png");
+      color: transparent;
+      direction: ltr;
+      font: 80px/1 Ahem;
+      height: 320px;
+      position: relative;
+      width: 320px;
+    }
+
+  div#containing-block > span
+    {
+      background-color: red;
+      color: green;
+      left: 1em;
+      position: absolute;
+      right: auto;
+      width: auto;
+      writing-mode: vertical-lr;
+    }
+
+/*
+
+"
+3. 'width' and 'right' are 'auto' and 'left' is not 'auto', then the width is shrink-to-fit . Then solve for 'right'
+"
+
+'left' + 'margin-left' + 'border-left-width' + 'padding-left' + 'width' + 'padding-right' + 'border-right-width' + 'margin-right' + 'right' = width of containing block
+
+So:
+
+     80px : left
+  +
+      0px : margin-left
+  +
+      0px : border-left-width
+  +
+      0px : padding-left
+  +
+  (shrink-to-fit) : width: auto
+  +
+      0px : padding-right
+  +
+      0px : border-right-width
+  +
+      0px : margin-right
+  +
+  (solve) : right: auto
+    =====================
+    320px : width of containing block
+
+gives us:
+
+     80px : left
+  +
+      0px : margin-left
+  +
+      0px : border-top-width
+  +
+      0px : padding-top
+  +
+     80px : (shrink-to-fit) : width: auto
+  +
+      0px : padding-right
+  +
+      0px : border-right-width
+  +
+      0px : margin-right
+  +
+  (solve) : right: auto
+    =====================
+    320px : width of containing block
+
+And so computed right value must be 160px .
+*/
+
+  ]]></style>
+
+ </head>
+
+ <body>
+
+  <p><img src="support/pass-cdts-abs-pos-non-replaced.png" width="246" height="36" alt="Image download support must be enabled" /></p>
+
+  <div id="containing-block">1 2 34<span>X</span></div>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/abs-pos-non-replaced-vlr-043.xht
@@ -0,0 +1,123 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Writing Modes Test: absolutely positioned non-replaced element - 'direction: ltr' and 'height' and 'bottom' are 'auto' and 'top' is not 'auto'</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+  <link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#vertical-layout" title="7.1 Principles of Layout in Vertical Writing Modes" />
+  <link rel="help" href="http://www.w3.org/TR/CSS21/visudet.html#abs-non-replaced-width" title="10.3.7 Absolutely positioned, non-replaced elements" />
+  <link rel="match" href="abs-pos-non-replaced-vlr-013-ref.xht" />
+
+  <meta name="flags" content="ahem image" />
+  <meta name="assert" content="When 'direction' is 'ltr' and 'height' and 'bottom' are 'auto' and 'top' is not 'auto', then the height is based on the content and then solve for 'bottom'." />
+
+<style type="text/css"><![CDATA[
+@font-face {
+  font-family: Ahem;
+  src: url("../../../fonts/Ahem.ttf");
+}
+]]></style>
+  <style type="text/css"><![CDATA[
+  html
+    {
+      writing-mode: vertical-lr;
+    }
+
+  div#containing-block
+    {
+      background: red url("support/bg-red-2col-2row-320x320.png");
+      color: transparent;
+      direction: ltr;
+      font: 80px/1 Ahem;
+      height: 320px;
+      position: relative;
+      width: 320px;
+    }
+
+  div#containing-block > span
+    {
+      background-color: red;
+      bottom: auto;
+      color: green;
+      height: auto;
+      position: absolute;
+      top: 1em;
+    }
+
+/*
+"
+Layout calculation rules (such as those in CSS2.1, Section 10.3) that apply to the horizontal dimension in horizontal writing modes instead apply to the vertical dimension in vertical writing modes.
+"
+7.1 Principles of Layout in Vertical Writing Modes
+http://www.w3.org/TR/css-writing-modes-3/#vertical-layout
+
+So here, *-top and *-bottom properties are input into the §10.3.7 algorithms where *-top properties refer to *-left properties in the layout rules and where *-bottom properties refer to *-right properties in the layout rules.
+
+"
+3. 'width' and 'right' are 'auto' and 'left' is not 'auto', then the width is shrink-to-fit . Then solve for 'right'
+"
+
+'top' + 'margin-top' + 'border-top-width' + 'padding-top' + 'height' + 'padding-bottom' + 'border-bottom-width' + 'margin-bottom' + 'bottom' = height of containing block
+
+So:
+
+     80px : top
+  +
+      0px : margin-top
+  +
+      0px : border-top-width
+  +
+      0px : padding-top
+  +
+  (based on the content) : height: auto
+  +
+      0px : padding-bottom
+  +
+      0px : border-bottom-width
+  +
+      0px : margin-bottom
+  +
+  (solve) : bottom: auto
+    =====================
+    320px : height of containing block
+
+gives us:
+
+     80px : top
+  +
+      0px : margin-top
+  +
+      0px : border-top-width
+  +
+      0px : padding-top
+  +
+     80px : (based on the content) : height: auto
+  +
+      0px : padding-bottom
+  +
+      0px : border-bottom-width
+  +
+      0px : margin-bottom
+  +
+   (solve) : bottom: auto
+    =====================
+    320px : height of containing block
+
+And so computed bottom value must be 160px .
+*/
+
+  ]]></style>
+
+ </head>
+
+ <body>
+
+  <p><img src="support/pass-cdts-abs-pos-non-replaced.png" width="246" height="36" alt="Image download support must be enabled" /></p>
+
+  <div id="containing-block">1 2 34<span>X</span></div>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/abs-pos-non-replaced-vlr-045.xht
@@ -0,0 +1,119 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Writing Modes Test: absolutely positioned non-replaced element - 'direction: rtl' and 'height' and 'bottom' are 'auto' and 'top' is not 'auto'</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+  <link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#vertical-layout" title="7.1 Principles of Layout in Vertical Writing Modes" />
+  <link rel="help" href="http://www.w3.org/TR/CSS21/visudet.html#abs-non-replaced-width" title="10.3.7 Absolutely positioned, non-replaced elements" />
+  <link rel="match" href="abs-pos-non-replaced-vlr-009-ref.xht" />
+
+  <meta name="flags" content="ahem image" />
+  <meta name="assert" content="When 'direction' is 'rtl' and 'height' and 'bottom' are 'auto' and 'top' is not 'auto', then the height is based on the content and then solve for 'bottom'." />
+
+<style type="text/css"><![CDATA[
+@font-face {
+  font-family: Ahem;
+  src: url("../../../fonts/Ahem.ttf");
+}
+]]></style>
+  <style type="text/css"><![CDATA[
+  div#containing-block
+    {
+      background: red url("support/bg-red-2col-2row-320x320.png");
+      color: transparent;
+      direction: rtl;
+      font: 80px/1 Ahem;
+      height: 320px;
+      position: relative;
+      width: 320px;
+      writing-mode: vertical-lr;
+    }
+
+  div#containing-block > span
+    {
+      background-color: red;
+      bottom: auto;
+      color: green;
+      height: auto;
+      position: absolute;
+      top: 1em;
+    }
+
+/*
+"
+Layout calculation rules (such as those in CSS2.1, Section 10.3) that apply to the horizontal dimension in horizontal writing modes instead apply to the vertical dimension in vertical writing modes.
+"
+7.1 Principles of Layout in Vertical Writing Modes
+http://www.w3.org/TR/css-writing-modes-3/#vertical-layout
+
+So here, *-top and *-bottom properties are input into the §10.3.7 algorithms where *-top properties refer to *-left properties in the layout rules and where *-bottom properties refer to *-right properties in the layout rules.
+
+"
+3. 'width' and 'right' are 'auto' and 'left' is not 'auto', then the width is shrink-to-fit . Then solve for 'right'
+"
+
+'top' + 'margin-top' + 'border-top-width' + 'padding-top' + 'height' + 'padding-bottom' + 'border-bottom-width' + 'margin-bottom' + 'bottom' = height of containing block
+
+So:
+
+     80px : top
+  +
+      0px : margin-top
+  +
+      0px : border-top-width
+  +
+      0px : padding-top
+  +
+  (based on the content) : height: auto
+  +
+      0px : padding-bottom
+  +
+      0px : border-bottom-width
+  +
+      0px : margin-bottom
+  +
+  (solve) : bottom: auto
+    =====================
+    320px : height of containing block
+
+gives us:
+
+     80px : top
+  +
+      0px : margin-top
+  +
+      0px : border-top-width
+  +
+      0px : padding-top
+  +
+     80px : (based on the content) : height: auto
+  +
+      0px : padding-bottom
+  +
+      0px : border-bottom-width
+  +
+      0px : margin-bottom
+  +
+  (solve) : bottom: auto
+    =====================
+    320px : height of containing block
+
+And so computed bottom value must be 160px .
+*/
+
+  ]]></style>
+
+ </head>
+
+ <body>
+
+  <p><img src="support/pass-cdts-abs-pos-non-replaced.png" width="246" height="36" alt="Image download support must be enabled" /></p>
+
+  <div id="containing-block">1 2 34<span>X</span></div>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/abs-pos-non-replaced-vlr-047.xht
@@ -0,0 +1,111 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Writing Modes Test: absolutely positioned non-replaced element - 'direction: rtl' and 'width' and 'right' are 'auto' and 'left' is not 'auto'</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+  <link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#vertical-layout" title="7.1 Principles of Layout in Vertical Writing Modes" />
+  <link rel="help" href="http://www.w3.org/TR/CSS21/visudet.html#abs-non-replaced-width" title="10.3.7 Absolutely positioned, non-replaced elements" />
+  <link rel="match" href="abs-pos-non-replaced-vlr-009-ref.xht" />
+
+  <meta name="flags" content="ahem image" />
+  <meta name="assert" content="When 'direction' is 'rtl' and 'width' and 'right' are 'auto' and 'left' is not 'auto', then the width becomes shrink-to-fit and then solve for 'right'." />
+
+<style type="text/css"><![CDATA[
+@font-face {
+  font-family: Ahem;
+  src: url("../../../fonts/Ahem.ttf");
+}
+]]></style>
+  <style type="text/css"><![CDATA[
+  div#containing-block
+    {
+      background: red url("support/bg-red-2col-2row-320x320.png");
+      color: transparent;
+      direction: rtl;
+      font: 80px/1 Ahem;
+      height: 320px;
+      position: relative;
+      width: 320px;
+    }
+
+  div#containing-block > span
+    {
+      background-color: red;
+      color: green;
+      left: 1em;
+      position: absolute;
+      right: auto;
+      width: auto;
+      writing-mode: vertical-lr;
+    }
+
+/*
+"
+3. 'width' and 'right' are 'auto' and 'left' is not 'auto', then the width is shrink-to-fit . Then solve for 'right'
+"
+
+'left' + 'margin-left' + 'border-left-width' + 'padding-left' + 'width' + 'padding-right' + 'border-right-width' + 'margin-right' + 'right' = width of containing block
+
+So:
+
+     80px : left
+  +
+      0px : margin-left
+  +
+      0px : border-left-width
+  +
+      0px : padding-left
+  +
+  (shrink-to-fit) : width: auto
+  +
+      0px : padding-right
+  +
+      0px : border-right-width
+  +
+      0px : margin-right
+  +
+  (solve) : right: auto
+    =====================
+    320px : width of containing block
+
+gives us:
+
+     80px : left
+  +
+      0px : margin-left
+  +
+      0px : border-left-width
+  +
+      0px : padding-left
+  +
+     80px : (shrink-to-fit) : width: auto
+  +
+      0px : padding-right
+  +
+      0px : border-right-width
+  +
+      0px : margin-right
+  +
+  (solve) : right: auto
+    =====================
+    320px : width of containing block
+
+And so computed right value must be 160px .
+*/
+
+  ]]></style>
+
+ </head>
+
+ <body>
+
+  <p><img src="support/pass-cdts-abs-pos-non-replaced.png" width="246" height="36" alt="Image download support must be enabled" /></p>
+
+  <div id="containing-block">1 2 34<span>X</span></div>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/abs-pos-non-replaced-vlr-049.xht
@@ -0,0 +1,123 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Writing Modes Test: absolutely positioned non-replaced element - 'direction: rtl' and 'height' and 'bottom' are 'auto' and 'top' is not 'auto'</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+  <link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#vertical-layout" title="7.1 Principles of Layout in Vertical Writing Modes" />
+  <link rel="help" href="http://www.w3.org/TR/CSS21/visudet.html#abs-non-replaced-width" title="10.3.7 Absolutely positioned, non-replaced elements" />
+  <link rel="match" href="abs-pos-non-replaced-vlr-013-ref.xht" />
+
+  <meta name="flags" content="ahem image" />
+  <meta name="assert" content="When 'direction' is 'rtl' and 'height' and 'bottom' are 'auto' and 'top' is not 'auto', then the height is based on the content and then solve for 'bottom'." />
+
+<style type="text/css"><![CDATA[
+@font-face {
+  font-family: Ahem;
+  src: url("../../../fonts/Ahem.ttf");
+}
+]]></style>
+  <style type="text/css"><![CDATA[
+  html
+    {
+      writing-mode: vertical-lr;
+    }
+
+  div#containing-block
+    {
+      background: red url("support/bg-red-2col-2row-320x320.png");
+      color: transparent;
+      direction: rtl;
+      font: 80px/1 Ahem;
+      height: 320px;
+      position: relative;
+      width: 320px;
+    }
+
+  div#containing-block > span
+    {
+      background-color: red;
+      bottom: auto;
+      color: green;
+      height: auto;
+      position: absolute;
+      top: 1em;
+    }
+
+/*
+"
+Layout calculation rules (such as those in CSS2.1, Section 10.3) that apply to the horizontal dimension in horizontal writing modes instead apply to the vertical dimension in vertical writing modes.
+"
+7.1 Principles of Layout in Vertical Writing Modes
+http://www.w3.org/TR/css-writing-modes-3/#vertical-layout
+
+So here, *-top and *-bottom properties are input into the §10.3.7 algorithms where *-top properties refer to *-left properties in the layout rules and where *-bottom properties refer to *-right properties in the layout rules.
+
+"
+3. 'width' and 'right' are 'auto' and 'left' is not 'auto', then the width is shrink-to-fit . Then solve for 'right'
+"
+
+'top' + 'margin-top' + 'border-top-width' + 'padding-top' + 'height' + 'padding-bottom' + 'border-bottom-width' + 'margin-bottom' + 'bottom' = height of containing block
+
+So:
+
+     80px : top
+  +
+      0px : margin-top
+  +
+      0px : border-top-width
+  +
+      0px : padding-top
+  +
+  (based on the content) : height: auto
+  +
+      0px : padding-bottom
+  +
+      0px : border-bottom-width
+  +
+      0px : margin-bottom
+  +
+  (solve) : bottom: auto
+    =====================
+    320px : height of containing block
+
+gives us:
+
+     80px : top
+  +
+      0px : margin-top
+  +
+      0px : border-top-width
+  +
+      0px : padding-top
+  +
+     80px : (based on the content) : height: auto
+  +
+      0px : padding-bottom
+  +
+      0px : border-bottom-width
+  +
+      0px : margin-bottom
+  +
+  (solve) : bottom: auto
+    =====================
+    320px : height of containing block
+
+And so computed bottom value must be 160px .
+*/
+
+  ]]></style>
+
+ </head>
+
+ <body>
+
+  <p><img src="support/pass-cdts-abs-pos-non-replaced.png" width="246" height="36" alt="Image download support must be enabled" /></p>
+
+  <div id="containing-block">1 2 34<span>X</span></div>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/abs-pos-non-replaced-vlr-051.xht
@@ -0,0 +1,97 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Writing Modes Test: absolutely positioned non-replaced element - 'direction: ltr' and 'top' is 'auto' and 'height' and 'bottom' are not 'auto'</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+  <link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#vertical-layout" title="7.1 Principles of Layout in Vertical Writing Modes" />
+  <link rel="help" href="http://www.w3.org/TR/CSS21/visudet.html#abs-non-replaced-width" title="10.3.7 Absolutely positioned, non-replaced elements" />
+  <link rel="match" href="abs-pos-non-replaced-vlr-003-ref.xht" />
+
+  <meta name="flags" content="ahem image" />
+  <meta name="assert" content="When 'direction' is 'ltr' and 'top' is 'auto' and 'height' and 'bottom' are not 'auto', then solve for 'top'." />
+
+<style type="text/css"><![CDATA[
+@font-face {
+  font-family: Ahem;
+  src: url("../../../fonts/Ahem.ttf");
+}
+]]></style>
+  <style type="text/css"><![CDATA[
+  div#containing-block
+    {
+      background: red url("support/bg-red-2col-3row-320x320.png");
+      color: transparent;
+      direction: ltr;
+      font: 80px/1 Ahem;
+      height: 320px;
+      position: relative;
+      width: 320px;
+      writing-mode: vertical-lr;
+    }
+
+  div#containing-block > span
+    {
+      background-color: red;
+      bottom: 1em;
+      color: green;
+      height: 1em;
+      position: absolute;
+      top: auto;
+    }
+
+/*
+"
+Layout calculation rules (such as those in CSS2.1, Section 10.3) that apply to the horizontal dimension in horizontal writing modes instead apply to the vertical dimension in vertical writing modes.
+"
+7.1 Principles of Layout in Vertical Writing Modes
+http://www.w3.org/TR/css-writing-modes-3/#vertical-layout
+
+So here, *-top and *-bottom properties are input into the §10.3.7 algorithms where *-top properties refer to *-left properties in the layout rules and where *-bottom properties refer to *-right properties in the layout rules.
+
+"
+4. 'left' is 'auto', 'width' and 'right' are not 'auto', then solve for 'left'
+"
+
+'top' + 'margin-top' + 'border-top-width' + 'padding-top' + 'height' + 'padding-bottom' + 'border-bottom-width' + 'margin-bottom' + 'bottom' = height of containing block
+
+So:
+
+  (solve) : top: auto
+  +
+      0px : margin-top
+  +
+      0px : border-top-width
+  +
+      0px : padding-top
+  +
+     80px : height
+  +
+      0px : padding-bottom
+  +
+      0px : border-bottom-width
+  +
+      0px : margin-bottom
+  +
+     80px : bottom
+    =====================
+    320px : height of containing block
+
+And so computed top value must be 160px .
+*/
+
+  ]]></style>
+
+ </head>
+
+ <body>
+
+  <p><img src="support/pass-cdts-abs-pos-non-replaced.png" width="246" height="36" alt="Image download support must be enabled" /></p>
+
+  <div id="containing-block">1 2 34<span>X</span></div>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/abs-pos-non-replaced-vlr-053.xht
@@ -0,0 +1,89 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Writing Modes Test: absolutely positioned non-replaced element - 'direction: ltr' and 'left' is 'auto', 'width' and 'right' are not 'auto'</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+  <link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#vertical-layout" title="7.1 Principles of Layout in Vertical Writing Modes" />
+  <link rel="help" href="http://www.w3.org/TR/CSS21/visudet.html#abs-non-replaced-width" title="10.3.7 Absolutely positioned, non-replaced elements" />
+  <link rel="match" href="abs-pos-non-replaced-vrl-004-ref.xht" />
+
+  <meta name="flags" content="ahem image" />
+  <meta name="assert" content="When 'direction' is 'ltr' and 'left' is 'auto', 'width' and 'right' are not 'auto', then solve for 'left'." />
+
+<style type="text/css"><![CDATA[
+@font-face {
+  font-family: Ahem;
+  src: url("../../../fonts/Ahem.ttf");
+}
+]]></style>
+  <style type="text/css"><![CDATA[
+  div#containing-block
+    {
+      background: red url("support/bg-red-3col-2row-320x320.png");
+      color: transparent;
+      direction: ltr;
+      font: 80px/1 Ahem;
+      height: 320px;
+      position: relative;
+      width: 320px;
+    }
+
+  div#containing-block > span
+    {
+      background-color: red;
+      color: green;
+      left: auto;
+      position: absolute;
+      right: 1em;
+      width: 1em;
+      writing-mode: vertical-lr;
+    }
+
+/*
+"
+4. 'left' is 'auto', 'width' and 'right' are not 'auto', then solve for 'left'
+"
+
+'left' + 'margin-left' + 'border-left-width' + 'padding-left' + 'width' + 'padding-right' + 'border-right-width' + 'margin-right' + 'right' = width of containing block
+
+So:
+
+  (solve) : left: auto
+  +
+      0px : margin-left
+  +
+      0px : border-left-width
+  +
+      0px : padding-left
+  +
+     80px : width
+  +
+      0px : padding-right
+  +
+      0px : border-right-width
+  +
+      0px : margin-right
+  +
+     80px : right
+    =====================
+    320px : width of containing block
+
+And so computed left value must be 160px .
+*/
+
+  ]]></style>
+
+ </head>
+
+ <body>
+
+  <p><img src="support/pass-cdts-abs-pos-non-replaced.png" width="246" height="36" alt="Image download support must be enabled" /></p>
+
+  <div id="containing-block">1 2 34<span>X</span></div>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/abs-pos-non-replaced-vlr-055.xht
@@ -0,0 +1,101 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Writing Modes Test: absolutely positioned non-replaced element - 'direction: ltr' and 'top' is 'auto' and 'height' and 'bottom' are not 'auto'</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+  <link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#vertical-layout" title="7.1 Principles of Layout in Vertical Writing Modes" />
+  <link rel="help" href="http://www.w3.org/TR/CSS21/visudet.html#abs-non-replaced-width" title="10.3.7 Absolutely positioned, non-replaced elements" />
+  <link rel="match" href="abs-pos-non-replaced-vlr-007-ref.xht" />
+
+  <meta name="flags" content="ahem image" />
+  <meta name="assert" content="When 'direction' is 'ltr' and 'top' is 'auto' and 'height' and 'bottom' are not 'auto', then solve for 'top'." />
+
+<style type="text/css"><![CDATA[
+@font-face {
+  font-family: Ahem;
+  src: url("../../../fonts/Ahem.ttf");
+}
+]]></style>
+  <style type="text/css"><![CDATA[
+  html
+    {
+      writing-mode: vertical-lr;
+    }
+
+  div#containing-block
+    {
+      background: red url("support/bg-red-2col-3row-320x320.png");
+      color: transparent;
+      direction: ltr;
+      font: 80px/1 Ahem;
+      height: 320px;
+      position: relative;
+      width: 320px;
+    }
+
+  div#containing-block > span
+    {
+      background-color: red;
+      bottom: 1em;
+      color: green;
+      height: 1em;
+      position: absolute;
+      top: auto;
+    }
+
+/*
+"
+Layout calculation rules (such as those in CSS2.1, Section 10.3) that apply to the horizontal dimension in horizontal writing modes instead apply to the vertical dimension in vertical writing modes.
+"
+7.1 Principles of Layout in Vertical Writing Modes
+http://www.w3.org/TR/css-writing-modes-3/#vertical-layout
+
+So here, *-top and *-bottom properties are input into the §10.3.7 algorithms where *-top properties refer to *-left properties in the layout rules and where *-bottom properties refer to *-right properties in the layout rules.
+
+"
+4. 'left' is 'auto', 'width' and 'right' are not 'auto', then solve for 'left'
+"
+
+'top' + 'margin-top' + 'border-top-width' + 'padding-top' + 'height' + 'padding-bottom' + 'border-bottom-width' + 'margin-bottom' + 'bottom' = height of containing block
+
+So:
+
+  (solve) : top: auto
+  +
+      0px : margin-top
+  +
+      0px : border-top-width
+  +
+      0px : padding-top
+  +
+     80px : height
+  +
+      0px : padding-bottom
+  +
+      0px : border-bottom-width
+  +
+      0px : margin-bottom
+  +
+     80px : bottom
+    =====================
+    320px : height of containing block
+
+And so computed top value must be 160px .
+*/
+
+  ]]></style>
+
+ </head>
+
+ <body>
+
+  <p><img src="support/pass-cdts-abs-pos-non-replaced.png" width="246" height="36" alt="Image download support must be enabled" /></p>
+
+  <div id="containing-block">1 2 34<span>X</span></div>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/abs-pos-non-replaced-vlr-057.xht
@@ -0,0 +1,97 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Writing Modes Test: absolutely positioned non-replaced element - 'direction: rtl' and 'top' is 'auto' and 'height' and 'bottom' are not 'auto'</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+  <link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#vertical-layout" title="7.1 Principles of Layout in Vertical Writing Modes" />
+  <link rel="help" href="http://www.w3.org/TR/CSS21/visudet.html#abs-non-replaced-width" title="10.3.7 Absolutely positioned, non-replaced elements" />
+  <link rel="match" href="abs-pos-non-replaced-vlr-003-ref.xht" />
+
+  <meta name="flags" content="ahem image" />
+  <meta name="assert" content="When 'direction' is 'rtl' and 'top' is 'auto' and 'height' and 'bottom' are not 'auto', then solve for 'top'." />
+
+<style type="text/css"><![CDATA[
+@font-face {
+  font-family: Ahem;
+  src: url("../../../fonts/Ahem.ttf");
+}
+]]></style>
+  <style type="text/css"><![CDATA[
+  div#containing-block
+    {
+      background: red url("support/bg-red-2col-3row-320x320.png");
+      color: transparent;
+      direction: rtl;
+      font: 80px/1 Ahem;
+      height: 320px;
+      position: relative;
+      width: 320px;
+      writing-mode: vertical-lr;
+    }
+
+  div#containing-block > span
+    {
+      background-color: red;
+      bottom: 1em;
+      color: green;
+      height: 1em;
+      position: absolute;
+      top: auto;
+    }
+
+/*
+"
+Layout calculation rules (such as those in CSS2.1, Section 10.3) that apply to the horizontal dimension in horizontal writing modes instead apply to the vertical dimension in vertical writing modes.
+"
+7.1 Principles of Layout in Vertical Writing Modes
+http://www.w3.org/TR/css-writing-modes-3/#vertical-layout
+
+So here, *-top and *-bottom properties are input into the §10.3.7 algorithms where *-top properties refer to *-left properties in the layout rules and where *-bottom properties refer to *-right properties in the layout rules.
+
+"
+4. 'left' is 'auto', 'width' and 'right' are not 'auto', then solve for 'left'
+"
+
+'top' + 'margin-top' + 'border-top-width' + 'padding-top' + 'height' + 'padding-bottom' + 'border-bottom-width' + 'margin-bottom' + 'bottom' = height of containing block
+
+So:
+
+  (solve) : top: auto
+  +
+      0px : margin-top
+  +
+      0px : border-top-width
+  +
+      0px : padding-top
+  +
+     80px : height
+  +
+      0px : padding-bottom
+  +
+      0px : border-bottom-width
+  +
+      0px : margin-bottom
+  +
+     80px : bottom
+    =====================
+    320px : height of containing block
+
+And so computed top value must be 160px .
+*/
+
+  ]]></style>
+
+ </head>
+
+ <body>
+
+  <p><img src="support/pass-cdts-abs-pos-non-replaced.png" width="246" height="36" alt="Image download support must be enabled" /></p>
+
+  <div id="containing-block">1 2 34<span>X</span></div>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/abs-pos-non-replaced-vlr-059.xht
@@ -0,0 +1,89 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Writing Modes Test: absolutely positioned non-replaced element - 'direction: rtl' and 'left' is 'auto', 'width' and 'right' are not 'auto'</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+  <link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#vertical-layout" title="7.1 Principles of Layout in Vertical Writing Modes" />
+  <link rel="help" href="http://www.w3.org/TR/CSS21/visudet.html#abs-non-replaced-width" title="10.3.7 Absolutely positioned, non-replaced elements" />
+  <link rel="match" href="abs-pos-non-replaced-vrl-004-ref.xht" />
+
+  <meta name="flags" content="ahem image" />
+  <meta name="assert" content="When 'direction' is 'rtl' and 'left' is 'auto', 'width' and 'right' are not 'auto', then solve for 'left'." />
+
+<style type="text/css"><![CDATA[
+@font-face {
+  font-family: Ahem;
+  src: url("../../../fonts/Ahem.ttf");
+}
+]]></style>
+  <style type="text/css"><![CDATA[
+  div#containing-block
+    {
+      background: red url("support/bg-red-3col-2row-320x320.png");
+      color: transparent;
+      direction: rtl;
+      font: 80px/1 Ahem;
+      height: 320px;
+      position: relative;
+      width: 320px;
+    }
+
+  div#containing-block > span
+    {
+      background-color: red;
+      color: green;
+      left: auto;
+      position: absolute;
+      right: 1em;
+      width: 1em;
+      writing-mode: vertical-lr;
+    }
+
+/*
+"
+4.'left' is 'auto', 'width' and 'right' are not 'auto', then solve for 'left'
+"
+
+'left' + 'margin-left' + 'border-left-width' + 'padding-left' + 'width' + 'padding-right' + 'border-right-width' + 'margin-right' + 'right' = width of containing block
+
+So:
+
+  (solve) : left: auto
+  +
+      0px : margin-left
+  +
+      0px : border-left-width
+  +
+      0px : padding-left
+  +
+     80px : width
+  +
+      0px : padding-right
+  +
+      0px : border-right-width
+  +
+      0px : margin-right
+  +
+     80px : right
+    =====================
+    320px : width of containing block
+
+And so computed left value must be 160px .
+*/
+
+  ]]></style>
+
+ </head>
+
+ <body>
+
+  <p><img src="support/pass-cdts-abs-pos-non-replaced.png" width="246" height="36" alt="Image download support must be enabled" /></p>
+
+  <div id="containing-block">1 2 34<span>X</span></div>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/abs-pos-non-replaced-vlr-061.xht
@@ -0,0 +1,102 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Writing Modes Test: absolutely positioned non-replaced element - 'direction: rtl' and 'top' is 'auto' and 'height' and 'bottom' are not 'auto'</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+  <link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#vertical-layout" title="7.1 Principles of Layout in Vertical Writing Modes" />
+  <link rel="help" href="http://www.w3.org/TR/CSS21/visudet.html#abs-non-replaced-width" title="10.3.7 Absolutely positioned, non-replaced elements" />
+  <link rel="match" href="abs-pos-non-replaced-vlr-007-ref.xht" />
+
+  <meta name="flags" content="ahem image" />
+  <meta name="assert" content="When 'direction' is 'rtl' and 'top' is 'auto' and 'height' and 'bottom' are not 'auto', then solve for 'top'." />
+
+<style type="text/css"><![CDATA[
+@font-face {
+  font-family: Ahem;
+  src: url("../../../fonts/Ahem.ttf");
+}
+]]></style>
+  <style type="text/css"><![CDATA[
+  html
+    {
+      writing-mode: vertical-lr;
+    }
+
+  div#containing-block
+    {
+      background: red url("support/bg-red-2col-3row-320x320.png");
+      color: transparent;
+      direction: rtl;
+      font: 80px/1 Ahem;
+      height: 320px;
+      position: relative;
+      width: 320px;
+    }
+
+  div#containing-block > span
+    {
+      background-color: red;
+      bottom: 1em;
+      color: green;
+      height: 1em;
+      position: absolute;
+      top: auto;
+    }
+
+/*
+"
+Layout calculation rules (such as those in CSS2.1, Section 10.3) that apply to the horizontal dimension in horizontal writing modes instead apply to the vertical dimension in vertical writing modes.
+"
+7.1 Principles of Layout in Vertical Writing Modes
+http://www.w3.org/TR/css-writing-modes-3/#vertical-layout
+
+So here, *-top and *-bottom properties are input into the §10.3.7 algorithms where *-top properties refer to *-left properties in the layout rules and where *-bottom properties refer to *-right properties in the layout rules.
+
+"
+4. 'left' is 'auto', 'width' and 'right' are not 'auto', then solve for 'left'
+"
+
+'top' + 'margin-top' + 'border-top-width' + 'padding-top' + 'height' + 'padding-bottom' + 'border-bottom-width' + 'margin-bottom' + 'bottom' = height of containing block
+
+So:
+
+  (solve) : top: auto
+  +
+      0px : margin-top
+  +
+      0px : border-top-width
+  +
+      0px : padding-top
+  +
+     80px : height
+  +
+      0px : padding-bottom
+  +
+      0px : border-bottom-width
+  +
+      0px : margin-bottom
+  +
+     80px : bottom
+    =====================
+    320px : height of containing block
+
+And so computed top value must be 160px .
+*/
+
+
+  ]]></style>
+
+ </head>
+
+ <body>
+
+  <p><img src="support/pass-cdts-abs-pos-non-replaced.png" width="246" height="36" alt="Image download support must be enabled" /></p>
+
+  <div id="containing-block">1 2 34<span>X</span></div>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/abs-pos-non-replaced-vlr-063.xht
@@ -0,0 +1,97 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Writing Modes Test: absolutely positioned non-replaced element - 'direction: ltr' and 'height' is 'auto' and 'top' and 'bottom' are not 'auto'</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+  <link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#vertical-layout" title="7.1 Principles of Layout in Vertical Writing Modes" />
+  <link rel="help" href="http://www.w3.org/TR/CSS21/visudet.html#abs-non-replaced-width" title="10.3.7 Absolutely positioned, non-replaced elements" />
+  <link rel="match" href="abs-pos-non-replaced-vlr-003-ref.xht" />
+
+  <meta name="flags" content="ahem image" />
+  <meta name="assert" content="When 'direction' is 'ltr' and 'height' is 'auto' and 'top' and 'bottom' are not 'auto', then solve for 'height'." />
+
+<style type="text/css"><![CDATA[
+@font-face {
+  font-family: Ahem;
+  src: url("../../../fonts/Ahem.ttf");
+}
+]]></style>
+  <style type="text/css"><![CDATA[
+  div#containing-block
+    {
+      background: red url("support/bg-red-2col-3row-320x320.png");
+      color: transparent;
+      direction: ltr;
+      font: 80px/1 Ahem;
+      height: 320px;
+      position: relative;
+      width: 320px;
+      writing-mode: vertical-lr;
+    }
+
+  div#containing-block > span
+    {
+      background-color: green;
+      bottom: 1em;
+      height: auto;
+      position: absolute;
+      top: 2em;
+      width: 1em;
+    }
+
+/*
+"
+Layout calculation rules (such as those in CSS2.1, Section 10.3) that apply to the horizontal dimension in horizontal writing modes instead apply to the vertical dimension in vertical writing modes.
+"
+7.1 Principles of Layout in Vertical Writing Modes
+http://www.w3.org/TR/css-writing-modes-3/#vertical-layout
+
+So here, *-top and *-bottom properties are input into the §10.3.7 algorithms where *-top properties refer to *-left properties in the layout rules and where *-bottom properties refer to *-right properties in the layout rules.
+
+"
+5. 'width' is 'auto', 'left' and 'right' are not 'auto', then solve for 'width'
+"
+
+'top' + 'margin-top' + 'border-top-width' + 'padding-top' + 'height' + 'padding-bottom' + 'border-bottom-width' + 'margin-bottom' + 'bottom' = height of containing block
+
+So:
+
+    160px : top
+  +
+      0px : margin-top
+  +
+      0px : border-top-width
+  +
+      0px : padding-top
+  +
+  (solve) : height: auto
+  +
+      0px : padding-bottom
+  +
+      0px : border-bottom-width
+  +
+      0px : margin-bottom
+  +
+     80px : bottom
+    =====================
+    320px : height of containing block
+
+And so computed height value must be 80px .
+*/
+
+  ]]></style>
+
+ </head>
+
+ <body>
+
+  <p><img src="support/pass-cdts-abs-pos-non-replaced.png" width="246" height="36" alt="Image download support must be enabled" /></p>
+
+  <div id="containing-block">1 2 34<span></span></div>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/abs-pos-non-replaced-vlr-065.xht
@@ -0,0 +1,89 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Writing Modes Test: absolutely positioned non-replaced element - 'direction: ltr' and  'width' is 'auto', 'left' and 'right' are not 'auto'</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+  <link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#vertical-layout" title="7.1 Principles of Layout in Vertical Writing Modes" />
+  <link rel="help" href="http://www.w3.org/TR/CSS21/visudet.html#abs-non-replaced-width" title="10.3.7 Absolutely positioned, non-replaced elements" />
+  <link rel="match" href="abs-pos-non-replaced-vrl-004-ref.xht" />
+
+  <meta name="flags" content="ahem image" />
+  <meta name="assert" content="When 'direction' is 'ltr' and 'left', 'width' is 'auto', 'left' and 'right' are not 'auto', then solve for 'width'." />
+
+<style type="text/css"><![CDATA[
+@font-face {
+  font-family: Ahem;
+  src: url("../../../fonts/Ahem.ttf");
+}
+]]></style>
+  <style type="text/css"><![CDATA[
+  div#containing-block
+    {
+      background: red url("support/bg-red-3col-2row-320x320.png");
+      color: transparent;
+      direction: ltr;
+      font: 80px/1 Ahem;
+      height: 320px;
+      position: relative;
+      width: 320px;
+    }
+
+  div#containing-block > span
+    {
+      background-color: green;
+      height: 1em;
+      left: 2em;
+      position: absolute;
+      right: 1em;
+      width: auto;
+      writing-mode: vertical-lr;
+    }
+
+/*
+"
+5. 'width' is 'auto', 'left' and 'right' are not 'auto', then solve for 'width'
+"
+
+'left' + 'margin-left' + 'border-left-width' + 'padding-left' + 'width' + 'padding-right' + 'border-right-width' + 'margin-right' + 'right' = width of containing block
+
+So:
+
+    160px : left: auto
+  +
+      0px : margin-left
+  +
+      0px : border-left-width
+  +
+      0px : padding-left
+  +
+  (solve) : width: auto
+  +
+      0px : padding-right
+  +
+      0px : border-right-width
+  +
+      0px : margin-right
+  +
+     80px : right: auto
+    =====================
+    320px : width of containing block
+
+And so computed width value must be 80px .
+*/
+
+  ]]></style>
+
+ </head>
+
+ <body>
+
+  <p><img src="support/pass-cdts-abs-pos-non-replaced.png" width="246" height="36" alt="Image download support must be enabled" /></p>
+
+  <div id="containing-block">1 2 34<span></span></div>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/abs-pos-non-replaced-vlr-067.xht
@@ -0,0 +1,101 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Writing Modes Test: absolutely positioned non-replaced element - 'direction: ltr' and 'height' is 'auto' and 'top' and 'bottom' are not 'auto'</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+  <link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#vertical-layout" title="7.1 Principles of Layout in Vertical Writing Modes" />
+  <link rel="help" href="http://www.w3.org/TR/CSS21/visudet.html#abs-non-replaced-width" title="10.3.7 Absolutely positioned, non-replaced elements" />
+  <link rel="match" href="abs-pos-non-replaced-vlr-007-ref.xht" />
+
+  <meta name="flags" content="ahem image" />
+  <meta name="assert" content="When 'direction' is 'ltr' and 'height' is 'auto' and 'top' and 'bottom' are not 'auto', then solve for 'height'." />
+
+<style type="text/css"><![CDATA[
+@font-face {
+  font-family: Ahem;
+  src: url("../../../fonts/Ahem.ttf");
+}
+]]></style>
+  <style type="text/css"><![CDATA[
+  html
+    {
+      writing-mode: vertical-lr;
+    }
+
+  div#containing-block
+    {
+      background: red url("support/bg-red-2col-3row-320x320.png");
+      color: transparent;
+      direction: ltr;
+      font: 80px/1 Ahem;
+      height: 320px;
+      position: relative;
+      width: 320px;
+    }
+
+  div#containing-block > span
+    {
+      background-color: green;
+      bottom: 1em;
+      height: auto;
+      position: absolute;
+      top: 2em;
+      width: 1em;
+    }
+
+/*
+"
+Layout calculation rules (such as those in CSS2.1, Section 10.3) that apply to the horizontal dimension in horizontal writing modes instead apply to the vertical dimension in vertical writing modes.
+"
+7.1 Principles of Layout in Vertical Writing Modes
+http://www.w3.org/TR/css-writing-modes-3/#vertical-layout
+
+So here, *-top and *-bottom properties are input into the §10.3.7 algorithms where *-top properties refer to *-left properties in the layout rules and where *-bottom properties refer to *-right properties in the layout rules.
+
+"
+5. 'width' is 'auto', 'left' and 'right' are not 'auto', then solve for 'width'
+"
+
+'top' + 'margin-top' + 'border-top-width' + 'padding-top' + 'height' + 'padding-bottom' + 'border-bottom-width' + 'margin-bottom' + 'bottom' = height of containing block
+
+So:
+
+    160px : top
+  +
+      0px : margin-top
+  +
+      0px : border-top-width
+  +
+      0px : padding-top
+  +
+  (solve) : height: auto
+  +
+      0px : padding-bottom
+  +
+      0px : border-bottom-width
+  +
+      0px : margin-bottom
+  +
+     80px : bottom
+    =====================
+    320px : height of containing block
+
+And so computed height value must be 80px .
+*/
+
+  ]]></style>
+
+ </head>
+
+ <body>
+
+  <p><img src="support/pass-cdts-abs-pos-non-replaced.png" width="246" height="36" alt="Image download support must be enabled" /></p>
+
+  <div id="containing-block">1 2 34<span></span></div>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/abs-pos-non-replaced-vlr-069.xht
@@ -0,0 +1,97 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Writing Modes Test: absolutely positioned non-replaced element - 'direction: rtl' and 'height' is 'auto' and 'top' and 'bottom' are not 'auto'</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+  <link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#vertical-layout" title="7.1 Principles of Layout in Vertical Writing Modes" />
+  <link rel="help" href="http://www.w3.org/TR/CSS21/visudet.html#abs-non-replaced-width" title="10.3.7 Absolutely positioned, non-replaced elements" />
+  <link rel="match" href="abs-pos-non-replaced-vlr-003-ref.xht" />
+
+  <meta name="flags" content="ahem image" />
+  <meta name="assert" content="When 'direction' is 'rtl' and 'height' is 'auto' and 'top' and 'bottom' are not 'auto', then solve for 'height'." />
+
+<style type="text/css"><![CDATA[
+@font-face {
+  font-family: Ahem;
+  src: url("../../../fonts/Ahem.ttf");
+}
+]]></style>
+  <style type="text/css"><![CDATA[
+  div#containing-block
+    {
+      background: red url("support/bg-red-2col-3row-320x320.png");
+      color: transparent;
+      direction: rtl;
+      font: 80px/1 Ahem;
+      height: 320px;
+      position: relative;
+      width: 320px;
+      writing-mode: vertical-lr;
+    }
+
+  div#containing-block > span
+    {
+      background-color: green;
+      bottom: 1em;
+      height: auto;
+      position: absolute;
+      top: 2em;
+      width: 1em;
+    }
+
+/*
+"
+Layout calculation rules (such as those in CSS2.1, Section 10.3) that apply to the horizontal dimension in horizontal writing modes instead apply to the vertical dimension in vertical writing modes.
+"
+7.1 Principles of Layout in Vertical Writing Modes
+http://www.w3.org/TR/css-writing-modes-3/#vertical-layout
+
+So here, *-top and *-bottom properties are input into the §10.3.7 algorithms where *-top properties refer to *-left properties in the layout rules and where *-bottom properties refer to *-right properties in the layout rules.
+
+"
+5. 'width' is 'auto', 'left' and 'right' are not 'auto', then solve for 'width'
+"
+
+'top' + 'margin-top' + 'border-top-width' + 'padding-top' + 'height' + 'padding-bottom' + 'border-bottom-width' + 'margin-bottom' + 'bottom' = height of containing block
+
+So:
+
+    160px : top
+  +
+      0px : margin-top
+  +
+      0px : border-top-width
+  +
+      0px : padding-top
+  +
+  (solve) : height: auto
+  +
+      0px : padding-bottom
+  +
+      0px : border-bottom-width
+  +
+      0px : margin-bottom
+  +
+     80px : bottom
+    =====================
+    320px : height of containing block
+
+And so computed height value must be 80px .
+*/
+
+  ]]></style>
+
+ </head>
+
+ <body>
+
+  <p><img src="support/pass-cdts-abs-pos-non-replaced.png" width="246" height="36" alt="Image download support must be enabled" /></p>
+
+  <div id="containing-block">1 2 34<span></span></div>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/abs-pos-non-replaced-vlr-071.xht
@@ -0,0 +1,89 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Writing Modes Test: absolutely positioned non-replaced element - 'direction: rtl' and 'width' is 'auto', 'left' and 'right' are not 'auto'</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+  <link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#vertical-layout" title="7.1 Principles of Layout in Vertical Writing Modes" />
+  <link rel="help" href="http://www.w3.org/TR/CSS21/visudet.html#abs-non-replaced-width" title="10.3.7 Absolutely positioned, non-replaced elements" />
+  <link rel="match" href="abs-pos-non-replaced-vrl-004-ref.xht" />
+
+  <meta name="flags" content="ahem image" />
+  <meta name="assert" content="When 'direction' is 'rtl' and 'width' is 'auto', 'left' and 'right' are not 'auto', then solve for 'width'." />
+
+<style type="text/css"><![CDATA[
+@font-face {
+  font-family: Ahem;
+  src: url("../../../fonts/Ahem.ttf");
+}
+]]></style>
+  <style type="text/css"><![CDATA[
+  div#containing-block
+    {
+      background: red url("support/bg-red-3col-2row-320x320.png");
+      color: transparent;
+      direction: rtl;
+      font: 80px/1 Ahem;
+      height: 320px;
+      position: relative;
+      width: 320px;
+    }
+
+  div#containing-block > span
+    {
+      background-color: green;
+      height: 1em;
+      left: 2em;
+      position: absolute;
+      right: 1em;
+      width: auto;
+      writing-mode: vertical-lr;
+    }
+
+/*
+"
+5. 'width' is 'auto', 'left' and 'right' are not 'auto', then solve for 'width'
+"
+
+'left' + 'margin-left' + 'border-left-width' + 'padding-left' + 'width' + 'padding-right' + 'border-right-width' + 'margin-right' + 'right' = width of containing block
+
+So:
+
+    160px : left
+  +
+      0px : margin-left
+  +
+      0px : border-left-width
+  +
+      0px : padding-left
+  +
+  (solve) : width: auto
+  +
+      0px : padding-right
+  +
+      0px : border-right-width
+  +
+      0px : margin-right
+  +
+     80px : right
+    =====================
+    320px : width of containing block
+
+And so computed width value must be 80px .
+*/
+
+  ]]></style>
+
+ </head>
+
+ <body>
+
+  <p><img src="support/pass-cdts-abs-pos-non-replaced.png" width="246" height="36" alt="Image download support must be enabled" /></p>
+
+  <div id="containing-block">1 2 34<span></span></div>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/abs-pos-non-replaced-vlr-073.xht
@@ -0,0 +1,101 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Writing Modes Test: absolutely positioned non-replaced element - 'direction: rtl' and 'height' is 'auto' and 'top' and 'bottom' are not 'auto'</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+  <link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#vertical-layout" title="7.1 Principles of Layout in Vertical Writing Modes" />
+  <link rel="help" href="http://www.w3.org/TR/CSS21/visudet.html#abs-non-replaced-width" title="10.3.7 Absolutely positioned, non-replaced elements" />
+  <link rel="match" href="abs-pos-non-replaced-vlr-007-ref.xht" />
+
+  <meta name="flags" content="ahem image" />
+  <meta name="assert" content="When 'direction' is 'rtl' and 'height' is 'auto' and 'top' and 'bottom' are not 'auto', then solve for 'height'." />
+
+<style type="text/css"><![CDATA[
+@font-face {
+  font-family: Ahem;
+  src: url("../../../fonts/Ahem.ttf");
+}
+]]></style>
+  <style type="text/css"><![CDATA[
+  html
+    {
+      writing-mode: vertical-lr;
+    }
+
+  div#containing-block
+    {
+      background: red url("support/bg-red-2col-3row-320x320.png");
+      color: transparent;
+      direction: rtl;
+      font: 80px/1 Ahem;
+      height: 320px;
+      position: relative;
+      width: 320px;
+    }
+
+  div#containing-block > span
+    {
+      background-color: green;
+      bottom: 1em;
+      height: auto;
+      position: absolute;
+      top: 2em;
+      width: 1em;
+    }
+
+/*
+"
+Layout calculation rules (such as those in CSS2.1, Section 10.3) that apply to the horizontal dimension in horizontal writing modes instead apply to the vertical dimension in vertical writing modes.
+"
+7.1 Principles of Layout in Vertical Writing Modes
+http://www.w3.org/TR/css-writing-modes-3/#vertical-layout
+
+So here, *-top and *-bottom properties are input into the §10.3.7 algorithms where *-top properties refer to *-left properties in the layout rules and where *-bottom properties refer to *-right properties in the layout rules.
+
+"
+5. 'width' is 'auto', 'left' and 'right' are not 'auto', then solve for 'width'
+"
+
+'top' + 'margin-top' + 'border-top-width' + 'padding-top' + 'height' + 'padding-bottom' + 'border-bottom-width' + 'margin-bottom' + 'bottom' = height of containing block
+
+So:
+
+    160px : top
+  +
+      0px : margin-top
+  +
+      0px : border-top-width
+  +
+      0px : padding-top
+  +
+  (solve) : height: auto
+  +
+      0px : padding-bottom
+  +
+      0px : border-bottom-width
+  +
+      0px : margin-bottom
+  +
+     80px : bottom
+    =====================
+    320px : height of containing block
+
+And so computed height value must be 80px .
+*/
+
+  ]]></style>
+
+ </head>
+
+ <body>
+
+  <p><img src="support/pass-cdts-abs-pos-non-replaced.png" width="246" height="36" alt="Image download support must be enabled" /></p>
+
+  <div id="containing-block">1 2 34<span></span></div>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/abs-pos-non-replaced-vlr-075.xht
@@ -0,0 +1,97 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Writing Modes Test: absolutely positioned non-replaced element - 'direction: ltr' and 'bottom' is 'auto' and 'top' and 'height' are not 'auto'</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+  <link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#vertical-layout" title="7.1 Principles of Layout in Vertical Writing Modes" />
+  <link rel="help" href="http://www.w3.org/TR/CSS21/visudet.html#abs-non-replaced-width" title="10.3.7 Absolutely positioned, non-replaced elements" />
+  <link rel="match" href="abs-pos-non-replaced-vlr-009-ref.xht" />
+
+  <meta name="flags" content="ahem image" />
+  <meta name="assert" content="When 'direction' is 'ltr' and 'bottom' is 'auto' and 'top' and 'height' are not 'auto', then solve for 'bottom'." />
+
+<style type="text/css"><![CDATA[
+@font-face {
+  font-family: Ahem;
+  src: url("../../../fonts/Ahem.ttf");
+}
+]]></style>
+  <style type="text/css"><![CDATA[
+  div#containing-block
+    {
+      background: red url("support/bg-red-2col-2row-320x320.png");
+      color: transparent;
+      direction: ltr;
+      font: 80px/1 Ahem;
+      height: 320px;
+      position: relative;
+      width: 320px;
+      writing-mode: vertical-lr;
+    }
+
+  div#containing-block > span
+    {
+      background-color: red;
+      bottom: auto;
+      color: green;
+      height: 1em;
+      position: absolute;
+      top: 1em;
+    }
+
+/*
+"
+Layout calculation rules (such as those in CSS2.1, Section 10.3) that apply to the horizontal dimension in horizontal writing modes instead apply to the vertical dimension in vertical writing modes.
+"
+7.1 Principles of Layout in Vertical Writing Modes
+http://www.w3.org/TR/css-writing-modes-3/#vertical-layout
+
+So here, *-top and *-bottom properties are input into the §10.3.7 algorithms where *-top properties refer to *-left properties in the layout rules and where *-bottom properties refer to *-right properties in the layout rules.
+
+"
+6. 'right' is 'auto', 'left' and 'width' are not 'auto', then solve for 'right'
+"
+
+'top' + 'margin-top' + 'border-top-width' + 'padding-top' + 'height' + 'padding-bottom' + 'border-bottom-width' + 'margin-bottom' + 'bottom' = height of containing block
+
+So:
+
+     80px : top
+  +
+      0px : margin-top
+  +
+      0px : border-top-width
+  +
+      0px : padding-top
+  +
+     80px : height
+  +
+      0px : padding-bottom
+  +
+      0px : border-bottom-width
+  +
+      0px : margin-bottom
+  +
+  (solve) : bottom: auto
+    =====================
+    320px : height of containing block
+
+And so computed bottom value must be 160px .
+*/
+
+  ]]></style>
+
+ </head>
+
+ <body>
+
+  <p><img src="support/pass-cdts-abs-pos-non-replaced.png" width="246" height="36" alt="Image download support must be enabled" /></p>
+
+  <div id="containing-block">1 2 34<span>X</span></div>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/abs-pos-non-replaced-vlr-077.xht
@@ -0,0 +1,89 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Writing Modes Test: absolutely positioned non-replaced element - 'direction: ltr' and 'right' is 'auto', 'left' and 'width' are not 'auto'</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+  <link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#vertical-layout" title="7.1 Principles of Layout in Vertical Writing Modes" />
+  <link rel="help" href="http://www.w3.org/TR/CSS21/visudet.html#abs-non-replaced-width" title="10.3.7 Absolutely positioned, non-replaced elements" />
+  <link rel="match" href="abs-pos-non-replaced-vlr-009-ref.xht" />
+
+  <meta name="flags" content="ahem image" />
+  <meta name="assert" content="When 'direction' is 'ltr' and 'right' is 'auto', 'left' and 'width' are not 'auto', then solve for 'right'." />
+
+<style type="text/css"><![CDATA[
+@font-face {
+  font-family: Ahem;
+  src: url("../../../fonts/Ahem.ttf");
+}
+]]></style>
+  <style type="text/css"><![CDATA[
+  div#containing-block
+    {
+      background: red url("support/bg-red-2col-2row-320x320.png");
+      color: transparent;
+      direction: ltr;
+      font: 80px/1 Ahem;
+      height: 320px;
+      position: relative;
+      width: 320px;
+    }
+
+  div#containing-block > span
+    {
+      background-color: red;
+      color: green;
+      left: 1em;
+      position: absolute;
+      right: auto;
+      width: 1em;
+      writing-mode: vertical-lr;
+    }
+
+/*
+"
+6. 'right' is 'auto', 'left' and 'width' are not 'auto', then solve for 'right'
+"
+
+'left' + 'margin-left' + 'border-left-width' + 'padding-left' + 'width' + 'padding-right' + 'border-right-width' + 'margin-right' + 'right' = width of containing block
+
+So:
+
+     80px : left
+  +
+      0px : margin-left
+  +
+      0px : border-left-width
+  +
+      0px : padding-left
+  +
+     80px : width
+  +
+      0px : padding-right
+  +
+      0px : border-right-width
+  +
+      0px : margin-right
+  +
+  (solve) : right: auto
+    =====================
+    320px : width of containing block
+
+And so computed right value must be 160px .
+*/
+
+  ]]></style>
+
+ </head>
+
+ <body>
+
+  <p><img src="support/pass-cdts-abs-pos-non-replaced.png" width="246" height="36" alt="Image download support must be enabled" /></p>
+
+  <div id="containing-block">1 2 34<span>X</span></div>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/abs-pos-non-replaced-vlr-079.xht
@@ -0,0 +1,101 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Writing Modes Test: absolutely positioned non-replaced element - 'direction: ltr' and 'bottom' is 'auto' and 'top' and 'height' are not 'auto'</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+  <link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#vertical-layout" title="7.1 Principles of Layout in Vertical Writing Modes" />
+  <link rel="help" href="http://www.w3.org/TR/CSS21/visudet.html#abs-non-replaced-width" title="10.3.7 Absolutely positioned, non-replaced elements" />
+  <link rel="match" href="abs-pos-non-replaced-vlr-013-ref.xht" />
+
+  <meta name="flags" content="ahem image" />
+  <meta name="assert" content="When 'direction' is 'ltr' and 'bottom' is 'auto' and 'top' and 'height' are not 'auto', then solve for 'bottom'." />
+
+<style type="text/css"><![CDATA[
+@font-face {
+  font-family: Ahem;
+  src: url("../../../fonts/Ahem.ttf");
+}
+]]></style>
+  <style type="text/css"><![CDATA[
+  html
+    {
+      writing-mode: vertical-lr;
+    }
+
+  div#containing-block
+    {
+      background: red url("support/bg-red-2col-2row-320x320.png");
+      color: transparent;
+      direction: ltr;
+      font: 80px/1 Ahem;
+      height: 320px;
+      position: relative;
+      width: 320px;
+    }
+
+  div#containing-block > span
+    {
+      background-color: red;
+      bottom: auto;
+      color: green;
+      height: 1em;
+      position: absolute;
+      top: 1em;
+    }
+
+/*
+"
+Layout calculation rules (such as those in CSS2.1, Section 10.3) that apply to the horizontal dimension in horizontal writing modes instead apply to the vertical dimension in vertical writing modes.
+"
+7.1 Principles of Layout in Vertical Writing Modes
+http://www.w3.org/TR/css-writing-modes-3/#vertical-layout
+
+So here, *-top and *-bottom properties are input into the §10.3.7 algorithms where *-top properties refer to *-left properties in the layout rules and where *-bottom properties refer to *-right properties in the layout rules.
+
+"
+6. 'right' is 'auto', 'left' and 'width' are not 'auto', then solve for 'right'
+"
+
+'top' + 'margin-top' + 'border-top-width' + 'padding-top' + 'height' + 'padding-bottom' + 'border-bottom-width' + 'margin-bottom' + 'bottom' = height of containing block
+
+So:
+
+     80px : top
+  +
+      0px : margin-top
+  +
+      0px : border-top-width
+  +
+      0px : padding-top
+  +
+     80px : height
+  +
+      0px : padding-bottom
+  +
+      0px : border-bottom-width
+  +
+      0px : margin-bottom
+  +
+  (solve) : bottom: auto
+    =====================
+    320px : height of containing block
+
+And so computed bottom value must be 160px .
+*/
+
+  ]]></style>
+
+ </head>
+
+ <body>
+
+  <p><img src="support/pass-cdts-abs-pos-non-replaced.png" width="246" height="36" alt="Image download support must be enabled" /></p>
+
+  <div id="containing-block">1 2 34<span>X</span></div>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/abs-pos-non-replaced-vlr-081.xht
@@ -0,0 +1,97 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Writing Modes Test: absolutely positioned non-replaced element - 'direction: rtl' and 'bottom' is 'auto' and 'top' and 'height' are not 'auto'</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+  <link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#vertical-layout" title="7.1 Principles of Layout in Vertical Writing Modes" />
+  <link rel="help" href="http://www.w3.org/TR/CSS21/visudet.html#abs-non-replaced-width" title="10.3.7 Absolutely positioned, non-replaced elements" />
+  <link rel="match" href="abs-pos-non-replaced-vlr-009-ref.xht" />
+
+  <meta name="flags" content="ahem image" />
+  <meta name="assert" content="When 'direction' is 'rtl' and 'bottom' is 'auto' and 'top' and 'height' are not 'auto', then solve for 'bottom'." />
+
+<style type="text/css"><![CDATA[
+@font-face {
+  font-family: Ahem;
+  src: url("../../../fonts/Ahem.ttf");
+}
+]]></style>
+  <style type="text/css"><![CDATA[
+  div#containing-block
+    {
+      background: red url("support/bg-red-2col-2row-320x320.png");
+      color: transparent;
+      direction: rtl;
+      font: 80px/1 Ahem;
+      height: 320px;
+      position: relative;
+      width: 320px;
+      writing-mode: vertical-lr;
+    }
+
+  div#containing-block > span
+    {
+      background-color: red;
+      bottom: auto;
+      color: green;
+      height: 1em;
+      position: absolute;
+      top: 1em;
+    }
+
+/*
+"
+Layout calculation rules (such as those in CSS2.1, Section 10.3) that apply to the horizontal dimension in horizontal writing modes instead apply to the vertical dimension in vertical writing modes.
+"
+7.1 Principles of Layout in Vertical Writing Modes
+http://www.w3.org/TR/css-writing-modes-3/#vertical-layout
+
+So here, *-top and *-bottom properties are input into the §10.3.7 algorithms where *-top properties refer to *-left properties in the layout rules and where *-bottom properties refer to *-right properties in the layout rules.
+
+"
+6. 'right' is 'auto', 'left' and 'width' are not 'auto', then solve for 'right'
+"
+
+'top' + 'margin-top' + 'border-top-width' + 'padding-top' + 'height' + 'padding-bottom' + 'border-bottom-width' + 'margin-bottom' + 'bottom' = height of containing block
+
+So:
+
+     80px : top
+  +
+      0px : margin-top
+  +
+      0px : border-top-width
+  +
+      0px : padding-top
+  +
+     80px : height
+  +
+      0px : padding-bottom
+  +
+      0px : border-bottom-width
+  +
+      0px : margin-bottom
+  +
+  (solve) : bottom: auto
+    =====================
+    320px : height of containing block
+
+And so computed bottom value must be 160px .
+*/
+
+  ]]></style>
+
+ </head>
+
+ <body>
+
+  <p><img src="support/pass-cdts-abs-pos-non-replaced.png" width="246" height="36" alt="Image download support must be enabled" /></p>
+
+  <div id="containing-block">1 2 34<span>X</span></div>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/abs-pos-non-replaced-vlr-083.xht
@@ -0,0 +1,89 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Writing Modes Test: absolutely positioned non-replaced element - 'direction: rtl' and 'right' is 'auto', 'left' and 'width' are not 'auto'</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+  <link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#vertical-layout" title="7.1 Principles of Layout in Vertical Writing Modes" />
+  <link rel="help" href="http://www.w3.org/TR/CSS21/visudet.html#abs-non-replaced-width" title="10.3.7 Absolutely positioned, non-replaced elements" />
+  <link rel="match" href="abs-pos-non-replaced-vlr-009-ref.xht" />
+
+  <meta name="flags" content="ahem image" />
+  <meta name="assert" content="When 'direction' is 'rtl' and 'right' is 'auto', 'left' and 'width' are not 'auto', then solve for 'right'" />
+
+<style type="text/css"><![CDATA[
+@font-face {
+  font-family: Ahem;
+  src: url("../../../fonts/Ahem.ttf");
+}
+]]></style>
+  <style type="text/css"><![CDATA[
+  div#containing-block
+    {
+      background: red url("support/bg-red-2col-2row-320x320.png");
+      color: transparent;
+      direction: rtl;
+      font: 80px/1 Ahem;
+      height: 320px;
+      position: relative;
+      width: 320px;
+    }
+
+  div#containing-block > span
+    {
+      background-color: red;
+      color: green;
+      left: 1em;
+      position: absolute;
+      right: auto;
+      width: 1em;
+      writing-mode: vertical-lr;
+    }
+
+/*
+"
+6. 'right' is 'auto', 'left' and 'width' are not 'auto', then solve for 'right'
+"
+
+'left' + 'margin-left' + 'border-left-width' + 'padding-left' + 'width' + 'padding-right' + 'border-right-width' + 'margin-right' + 'right' = width of containing block
+
+So:
+
+     80px : left
+  +
+      0px : margin-left
+  +
+      0px : border-left-width
+  +
+      0px : padding-left
+  +
+     80px : width
+  +
+      0px : padding-right
+  +
+      0px : border-right-width
+  +
+      0px : margin-right
+  +
+  (solve) : right: auto
+    =====================
+    320px : width of containing block
+
+And so computed right value must be 160px .
+*/
+
+  ]]></style>
+
+ </head>
+
+ <body>
+
+  <p><img src="support/pass-cdts-abs-pos-non-replaced.png" width="246" height="36" alt="Image download support must be enabled" /></p>
+
+  <div id="containing-block">1 2 34<span>X</span></div>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/abs-pos-non-replaced-vlr-085.xht
@@ -0,0 +1,101 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Writing Modes Test: absolutely positioned non-replaced element - 'direction: rtl' and 'bottom' is 'auto' and 'top' and 'height' are not 'auto'</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+  <link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#vertical-layout" title="7.1 Principles of Layout in Vertical Writing Modes" />
+  <link rel="help" href="http://www.w3.org/TR/CSS21/visudet.html#abs-non-replaced-width" title="10.3.7 Absolutely positioned, non-replaced elements" />
+  <link rel="match" href="abs-pos-non-replaced-vlr-013-ref.xht" />
+
+  <meta name="flags" content="ahem image" />
+  <meta name="assert" content="When 'direction' is 'rtl' and 'bottom' is 'auto' and 'top' and 'height' are not 'auto', then solve for 'bottom'." />
+
+<style type="text/css"><![CDATA[
+@font-face {
+  font-family: Ahem;
+  src: url("../../../fonts/Ahem.ttf");
+}
+]]></style>
+  <style type="text/css"><![CDATA[
+  html
+    {
+      writing-mode: vertical-lr;
+    }
+
+  div#containing-block
+    {
+      background: red url("support/bg-red-2col-2row-320x320.png");
+      color: transparent;
+      direction: rtl;
+      font: 80px/1 Ahem;
+      height: 320px;
+      position: relative;
+      width: 320px;
+    }
+
+  div#containing-block > span
+    {
+      background-color: red;
+      bottom: auto;
+      color: green;
+      height: 1em;
+      position: absolute;
+      top: 1em;
+    }
+
+/*
+"
+Layout calculation rules (such as those in CSS2.1, Section 10.3) that apply to the horizontal dimension in horizontal writing modes instead apply to the vertical dimension in vertical writing modes.
+"
+7.1 Principles of Layout in Vertical Writing Modes
+http://www.w3.org/TR/css-writing-modes-3/#vertical-layout
+
+So here, *-top and *-bottom properties are input into the §10.3.7 algorithms where *-top properties refer to *-left properties in the layout rules and where *-bottom properties refer to *-right properties in the layout rules.
+
+"
+6. 'right' is 'auto', 'left' and 'width' are not 'auto', then solve for 'right'
+"
+
+'top' + 'margin-top' + 'border-top-width' + 'padding-top' + 'height' + 'padding-bottom' + 'border-bottom-width' + 'margin-bottom' + 'bottom' = height of containing block
+
+So:
+
+     80px : top
+  +
+      0px : margin-top
+  +
+      0px : border-top-width
+  +
+      0px : padding-top
+  +
+     80px : height
+  +
+      0px : padding-bottom
+  +
+      0px : border-bottom-width
+  +
+      0px : margin-bottom
+  +
+  (solve) : bottom: auto
+    =====================
+    320px : height of containing block
+
+And so computed bottom value must be 160px .
+*/
+
+  ]]></style>
+
+ </head>
+
+ <body>
+
+  <p><img src="support/pass-cdts-abs-pos-non-replaced.png" width="246" height="36" alt="Image download support must be enabled" /></p>
+
+  <div id="containing-block">1 2 34<span>X</span></div>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/abs-pos-non-replaced-vlr-087.xht
@@ -0,0 +1,121 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Writing Modes Test: absolutely positioned non-replaced element - 'direction: ltr' and 'top', 'height' and 'bottom' are not 'auto' (overconstrained)</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+  <link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#vertical-layout" title="7.1 Principles of Layout in Vertical Writing Modes" />
+  <link rel="help" href="http://www.w3.org/TR/CSS21/visudet.html#abs-non-replaced-width" title="10.3.7 Absolutely positioned, non-replaced elements" />
+  <link rel="match" href="abs-pos-non-replaced-vlr-003-ref.xht" />
+
+  <meta name="flags" content="ahem image" />
+  <meta name="assert" content="When 'direction' is 'ltr' and 'top', 'height' and 'bottom' are not 'auto' and if the values are overconstrained, then ignore 'bottom' and solve for 'bottom'." />
+
+<style type="text/css"><![CDATA[
+@font-face {
+  font-family: Ahem;
+  src: url("../../../fonts/Ahem.ttf");
+}
+]]></style>
+  <style type="text/css"><![CDATA[
+  div#containing-block
+    {
+      background: red url("support/bg-red-2col-3row-320x320.png");
+      color: transparent;
+      direction: ltr;
+      font: 80px/1 Ahem;
+      height: 320px;
+      position: relative;
+      width: 320px;
+      writing-mode: vertical-lr;
+    }
+
+  div#containing-block > span
+    {
+      background-color: red;
+      bottom: 2em;
+      color: green;
+      height: 1em;
+      margin-bottom: 0em;
+      margin-top: 0em;
+      position: absolute;
+      top: 2em;
+    }
+
+/*
+"
+Layout calculation rules (such as those in CSS2.1, Section 10.3) that apply to the horizontal dimension in horizontal writing modes instead apply to the vertical dimension in vertical writing modes.
+"
+7.1 Principles of Layout in Vertical Writing Modes
+http://www.w3.org/TR/css-writing-modes-3/#vertical-layout
+
+So here, *-top and *-bottom properties are input into the §10.3.7 algorithms where *-top properties refer to *-left properties in the layout rules and where *-bottom properties refer to *-right properties in the layout rules.
+
+"
+If the values are over-constrained, ignore the value for 'left' (in case the 'direction' property of the containing block is 'rtl') or 'right' (in case 'direction' is 'ltr') and solve for that value.
+"
+
+'top' + 'margin-top' + 'border-top-width' + 'padding-top' + 'height' + 'padding-bottom' + 'border-bottom-width' + 'margin-bottom' + 'bottom' = height of containing block
+
+So:
+
+    160px : top
+  +
+      0px : margin-top
+  +
+      0px : border-top-width
+  +
+      0px : padding-top
+  +
+     80px : height
+  +
+      0px : padding-bottom
+  +
+      0px : border-bottom-width
+  +
+      0px : margin-bottom
+  +
+    160px : bottom
+    =====================
+    320px : height of containing block
+
+gives us:
+
+    160px : top
+  +
+      0px : margin-top
+  +
+      0px : border-top-width
+  +
+      0px : padding-top
+  +
+     80px : height
+  +
+      0px : padding-bottom
+  +
+      0px : border-bottom-width
+  +
+      0px : margin-bottom
+  +
+  (solve) : bottom
+    =====================
+    320px : height of containing block
+
+And so computed bottom value must be 80px .
+*/
+
+  ]]></style>
+
+ </head>
+
+ <body>
+
+  <p><img src="support/pass-cdts-abs-pos-non-replaced.png" width="246" height="36" alt="Image download support must be enabled" /></p>
+
+  <div id="containing-block">1 2 34<span>X</span></div>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/abs-pos-non-replaced-vlr-089.xht
@@ -0,0 +1,113 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Writing Modes Test: absolutely positioned non-replaced element - 'direction: ltr' and 'left', 'width' and 'right' are not 'auto' (overconstrained)</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+  <link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#vertical-layout" title="7.1 Principles of Layout in Vertical Writing Modes" />
+  <link rel="help" href="http://www.w3.org/TR/CSS21/visudet.html#abs-non-replaced-width" title="10.3.7 Absolutely positioned, non-replaced elements" />
+  <link rel="match" href="abs-pos-non-replaced-vrl-004-ref.xht" />
+
+  <meta name="flags" content="ahem image" />
+  <meta name="assert" content="When 'direction' is 'ltr' and 'left', 'width' and 'right' are not 'auto' (overconstrained), then ignore 'right' and then solve for 'right'." />
+
+<style type="text/css"><![CDATA[
+@font-face {
+  font-family: Ahem;
+  src: url("../../../fonts/Ahem.ttf");
+}
+]]></style>
+  <style type="text/css"><![CDATA[
+  div#containing-block
+    {
+      background: red url("support/bg-red-3col-2row-320x320.png");
+      color: transparent;
+      direction: ltr;
+      font: 80px/1 Ahem;
+      height: 320px;
+      position: relative;
+      width: 320px;
+    }
+
+  div#containing-block > span
+    {
+      background-color: red;
+      color: green;
+      left: 2em;
+      margin-left: 0em;
+      margin-right: 0em;
+      position: absolute;
+      right: 2em;
+      width: 1em;
+      writing-mode: vertical-lr;
+    }
+
+/*
+"
+If none of the three is 'auto': If both 'margin-left' and 'margin-right' are 'auto', solve the equation under the extra constraint that the two margins get equal values, unless this would make them negative, in which case when direction of the containing block is 'ltr' ('rtl'), set 'margin-left' ('margin-right') to zero and solve for 'margin-right' ('margin-left'). If one of 'margin-left' or 'margin-right' is 'auto', solve the equation for that value. If the values are over-constrained, ignore the value for 'left' (in case the 'direction' property of the containing block is 'rtl') or 'right' (in case 'direction' is 'ltr') and solve for that value.
+"
+
+'left' + 'margin-left' + 'border-left-width' + 'padding-left' + 'width' + 'padding-right' + 'border-right-width' + 'margin-right' + 'right' = width of containing block
+
+So:
+
+    160px : left
+  +
+      0px : margin-left
+  +
+      0px : border-top-width
+  +
+      0px : padding-top
+  +
+     80px : width
+  +
+      0px : padding-right
+  +
+      0px : border-right-width
+  +
+      0px : margin-right
+  +
+    160px : right
+    =====================
+    320px : width of containing block
+
+gives us:
+
+    160px : left
+  +
+      0px : margin-left
+  +
+      0px : border-top-width
+  +
+      0px : padding-top
+  +
+     80px : width
+  +
+      0px : padding-right
+  +
+      0px : border-right-width
+  +
+      0px : margin-right
+  +
+  (solve) : right
+    =====================
+    320px : width of containing block
+
+And so computed right value must be 80px .
+*/
+
+  ]]></style>
+
+ </head>
+
+ <body>
+
+  <p><img src="support/pass-cdts-abs-pos-non-replaced.png" width="246" height="36" alt="Image download support must be enabled" /></p>
+
+  <div id="containing-block">1 2 34<span>X</span></div>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/abs-pos-non-replaced-vlr-091.xht
@@ -0,0 +1,125 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Writing Modes Test: absolutely positioned non-replaced element - 'direction: ltr' and 'top', 'height' and 'bottom' are not 'auto' (overconstrained)</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+  <link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#vertical-layout" title="7.1 Principles of Layout in Vertical Writing Modes" />
+  <link rel="help" href="http://www.w3.org/TR/CSS21/visudet.html#abs-non-replaced-width" title="10.3.7 Absolutely positioned, non-replaced elements" />
+  <link rel="match" href="abs-pos-non-replaced-vlr-007-ref.xht" />
+
+  <meta name="flags" content="ahem image" />
+  <meta name="assert" content="When 'direction' is 'ltr' and 'top', 'height' and 'bottom' are not 'auto' and if the values are overconstrained, then ignore 'bottom' and solve for 'bottom'." />
+
+<style type="text/css"><![CDATA[
+@font-face {
+  font-family: Ahem;
+  src: url("../../../fonts/Ahem.ttf");
+}
+]]></style>
+  <style type="text/css"><![CDATA[
+  html
+    {
+      writing-mode: vertical-lr;
+    }
+
+  div#containing-block
+    {
+      background: red url("support/bg-red-2col-3row-320x320.png");
+      color: transparent;
+      direction: ltr;
+      font: 80px/1 Ahem;
+      height: 320px;
+      position: relative;
+      width: 320px;
+    }
+
+  div#containing-block > span
+    {
+      background-color: red;
+      bottom: 2em;
+      color: green;
+      height: 1em;
+      margin-bottom: 0em;
+      margin-top: 0em;
+      position: absolute;
+      top: 2em;
+    }
+
+/*
+"
+Layout calculation rules (such as those in CSS2.1, Section 10.3) that apply to the horizontal dimension in horizontal writing modes instead apply to the vertical dimension in vertical writing modes.
+"
+7.1 Principles of Layout in Vertical Writing Modes
+http://www.w3.org/TR/css-writing-modes-3/#vertical-layout
+
+So here, *-top and *-bottom properties are input into the §10.3.7 algorithms where *-top properties refer to *-left properties in the layout rules and where *-bottom properties refer to *-right properties in the layout rules.
+
+"
+If the values are over-constrained, ignore the value for 'left' (in case the 'direction' property of the containing block is 'rtl') or 'right' (in case 'direction' is 'ltr') and solve for that value.
+"
+
+'top' + 'margin-top' + 'border-top-width' + 'padding-top' + 'height' + 'padding-bottom' + 'border-bottom-width' + 'margin-bottom' + 'bottom' = height of containing block
+
+So:
+
+    160px : top
+  +
+      0px : margin-top
+  +
+      0px : border-top-width
+  +
+      0px : padding-top
+  +
+     80px : height
+  +
+      0px : padding-bottom
+  +
+      0px : border-bottom-width
+  +
+      0px : margin-bottom
+  +
+    160px : bottom
+    =====================
+    320px : height of containing block
+
+gives us:
+
+    160px : top
+  +
+      0px : margin-top
+  +
+      0px : border-top-width
+  +
+      0px : padding-top
+  +
+     80px : height
+  +
+      0px : padding-bottom
+  +
+      0px : border-bottom-width
+  +
+      0px : margin-bottom
+  +
+  (solve) : bottom
+    =====================
+    320px : height of containing block
+
+And so computed bottom value must be 80px .
+*/
+
+  ]]></style>
+
+ </head>
+
+ <body>
+
+  <p><img src="support/pass-cdts-abs-pos-non-replaced.png" width="246" height="36" alt="Image download support must be enabled" /></p>
+
+  <div id="containing-block">1 2 34<span>X</span></div>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/abs-pos-non-replaced-vlr-093.xht
@@ -0,0 +1,121 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Writing Modes Test: absolutely positioned non-replaced element - 'direction: rtl' and 'top', 'height' and 'bottom' are not 'auto' (overconstrained)</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+  <link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#vertical-layout" title="7.1 Principles of Layout in Vertical Writing Modes" />
+  <link rel="help" href="http://www.w3.org/TR/CSS21/visudet.html#abs-non-replaced-width" title="10.3.7 Absolutely positioned, non-replaced elements" />
+  <link rel="match" href="abs-pos-non-replaced-vlr-009-ref.xht" />
+
+  <meta name="flags" content="ahem image" />
+  <meta name="assert" content="When 'direction' is 'rtl' and 'top', 'height' and 'bottom' are not 'auto' and if the values are overconstrained, then ignore 'top' and solve for 'top'." />
+
+<style type="text/css"><![CDATA[
+@font-face {
+  font-family: Ahem;
+  src: url("../../../fonts/Ahem.ttf");
+}
+]]></style>
+  <style type="text/css"><![CDATA[
+  div#containing-block
+    {
+      background: red url("support/bg-red-2col-2row-320x320.png");
+      color: transparent;
+      direction: rtl;
+      font: 80px/1 Ahem;
+      height: 320px;
+      position: relative;
+      width: 320px;
+      writing-mode: vertical-lr;
+    }
+
+  div#containing-block > span
+    {
+      background-color: red;
+      bottom: 2em;
+      color: green;
+      height: 1em;
+      margin-bottom: 0em;
+      margin-top: 0em;
+      position: absolute;
+      top: 2em;
+    }
+
+/*
+"
+Layout calculation rules (such as those in CSS2.1, Section 10.3) that apply to the horizontal dimension in horizontal writing modes instead apply to the vertical dimension in vertical writing modes.
+"
+7.1 Principles of Layout in Vertical Writing Modes
+http://www.w3.org/TR/css-writing-modes-3/#vertical-layout
+
+So here, *-top and *-bottom properties are input into the §10.3.7 algorithms where *-top properties refer to *-left properties in the layout rules and where *-bottom properties refer to *-right properties in the layout rules.
+
+"
+If none of the three is 'auto': If both 'margin-left' and 'margin-right' are 'auto', solve the equation under the extra constraint that the two margins get equal values, unless this would make them negative, in which case when direction of the containing block is 'ltr' ('rtl'), set 'margin-left' ('margin-right') to zero and solve for 'margin-right' ('margin-left'). If one of 'margin-left' or 'margin-right' is 'auto', solve the equation for that value. If the values are over-constrained, ignore the value for 'left' (in case the 'direction' property of the containing block is 'rtl') or 'right' (in case 'direction' is 'ltr') and solve for that value.
+"
+
+'top' + 'margin-top' + 'border-top-width' + 'padding-top' + 'height' + 'padding-bottom' + 'border-bottom-width' + 'margin-bottom' + 'bottom' = height of containing block
+
+So:
+
+    160px : top
+  +
+      0px : margin-top
+  +
+      0px : border-top-width
+  +
+      0px : padding-top
+  +
+     80px : height
+  +
+      0px : padding-bottom
+  +
+      0px : border-bottom-width
+  +
+      0px : margin-bottom
+  +
+    160px : bottom
+    =====================
+    320px : height of containing block
+
+gives us:
+
+  (solve) : top
+  +
+      0px : margin-top
+  +
+      0px : border-top-width
+  +
+      0px : padding-top
+  +
+     80px : height
+  +
+      0px : padding-bottom
+  +
+      0px : border-bottom-width
+  +
+      0px : margin-bottom
+  +
+    160px : bottom
+    =====================
+    320px : height of containing block
+
+And so computed top value must be 80px .
+*/
+
+  ]]></style>
+
+ </head>
+
+ <body>
+
+  <p><img src="support/pass-cdts-abs-pos-non-replaced.png" width="246" height="36" alt="Image download support must be enabled" /></p>
+
+  <div id="containing-block">1 2 34<span>X</span></div>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/abs-pos-non-replaced-vlr-095.xht
@@ -0,0 +1,113 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Writing Modes Test: absolutely positioned non-replaced element - 'direction: rtl' and 'left', 'width' and 'right' are not 'auto' (overconstrained)</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+  <link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#vertical-layout" title="7.1 Principles of Layout in Vertical Writing Modes" />
+  <link rel="help" href="http://www.w3.org/TR/CSS21/visudet.html#abs-non-replaced-width" title="10.3.7 Absolutely positioned, non-replaced elements" />
+  <link rel="match" href="abs-pos-non-replaced-vlr-009-ref.xht" />
+
+  <meta name="flags" content="ahem image" />
+  <meta name="assert" content="When 'direction' is 'rtl' and 'left', 'width' and 'right' are not 'auto' and if the values are overconstrained, then ignore 'left' and then solve for 'left'." />
+
+<style type="text/css"><![CDATA[
+@font-face {
+  font-family: Ahem;
+  src: url("../../../fonts/Ahem.ttf");
+}
+]]></style>
+  <style type="text/css"><![CDATA[
+  div#containing-block
+    {
+      background: red url("support/bg-red-2col-2row-320x320.png");
+      color: transparent;
+      direction: rtl;
+      font: 80px/1 Ahem;
+      height: 320px;
+      position: relative;
+      width: 320px;
+    }
+
+  div#containing-block > span
+    {
+      background-color: red;
+      color: green;
+      left: 2em;
+      margin-left: 0em;
+      margin-right: 0em;
+      position: absolute;
+      right: 2em;
+      width: 1em;
+      writing-mode: vertical-lr;
+    }
+
+/*
+"
+If none of the three is 'auto': If both 'margin-left' and 'margin-right' are 'auto', solve the equation under the extra constraint that the two margins get equal values, unless this would make them negative, in which case when direction of the containing block is 'ltr' ('rtl'), set 'margin-left' ('margin-right') to zero and solve for 'margin-right' ('margin-left'). If one of 'margin-left' or 'margin-right' is 'auto', solve the equation for that value. If the values are over-constrained, ignore the value for 'left' (in case the 'direction' property of the containing block is 'rtl') or 'right' (in case 'direction' is 'ltr') and solve for that value.
+"
+
+'left' + 'margin-left' + 'border-left-width' + 'padding-left' + 'width' + 'padding-right' + 'border-right-width' + 'margin-right' + 'right' = width of containing block
+
+So:
+
+    160px : left
+  +
+      0px : margin-left
+  +
+      0px : border-left-width
+  +
+      0px : padding-left
+  +
+     80px : width
+  +
+      0px : padding-right
+  +
+      0px : border-right-width
+  +
+      0px : margin-right
+  +
+    160px : right
+    =====================
+    320px : width of containing block
+
+gives us:
+
+  (solve) : left
+  +
+      0px : margin-left
+  +
+      0px : border-left-width
+  +
+      0px : padding-left
+  +
+     80px : width
+  +
+      0px : padding-right
+  +
+      0px : border-right-width
+  +
+      0px : margin-right
+  +
+    160px : right
+    =====================
+    320px : width of containing block
+
+And so computed left value must be 80px .
+*/
+
+  ]]></style>
+
+ </head>
+
+ <body>
+
+  <p><img src="support/pass-cdts-abs-pos-non-replaced.png" width="246" height="36" alt="Image download support must be enabled" /></p>
+
+  <div id="containing-block">1 2 34<span>X</span></div>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/abs-pos-non-replaced-vlr-097.xht
@@ -0,0 +1,125 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Writing Modes Test: absolutely positioned non-replaced element - 'direction: rtl' and 'top', 'height' and 'bottom' are not 'auto' (overconstrained)</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+  <link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#vertical-layout" title="7.1 Principles of Layout in Vertical Writing Modes" />
+  <link rel="help" href="http://www.w3.org/TR/CSS21/visudet.html#abs-non-replaced-width" title="10.3.7 Absolutely positioned, non-replaced elements" />
+  <link rel="match" href="abs-pos-non-replaced-vlr-013-ref.xht" />
+
+  <meta name="flags" content="ahem image" />
+  <meta name="assert" content="When 'direction' is 'rtl' and 'top', 'height' and 'bottom' are not 'auto' and if the values are overconstrained, then ignore 'top' and solve for 'top'." />
+
+<style type="text/css"><![CDATA[
+@font-face {
+  font-family: Ahem;
+  src: url("../../../fonts/Ahem.ttf");
+}
+]]></style>
+  <style type="text/css"><![CDATA[
+  html
+    {
+      writing-mode: vertical-lr;
+    }
+
+  div#containing-block
+    {
+      background: red url("support/bg-red-2col-2row-320x320.png");
+      color: transparent;
+      direction: rtl;
+      font: 80px/1 Ahem;
+      height: 320px;
+      position: relative;
+      width: 320px;
+    }
+
+  div#containing-block > span
+    {
+      background-color: red;
+      bottom: 2em;
+      color: green;
+      height: 1em;
+      margin-bottom: 0em;
+      margin-top: 0em;
+      position: absolute;
+      top: 2em;
+    }
+
+/*
+"
+Layout calculation rules (such as those in CSS2.1, Section 10.3) that apply to the horizontal dimension in horizontal writing modes instead apply to the vertical dimension in vertical writing modes.
+"
+7.1 Principles of Layout in Vertical Writing Modes
+http://www.w3.org/TR/css-writing-modes-3/#vertical-layout
+
+So here, *-top and *-bottom properties are input into the §10.3.7 algorithms where *-top properties refer to *-left properties in the layout rules and where *-bottom properties refer to *-right properties in the layout rules.
+
+"
+If none of the three is 'auto': If both 'margin-left' and 'margin-right' are 'auto', solve the equation under the extra constraint that the two margins get equal values, unless this would make them negative, in which case when direction of the containing block is 'ltr' ('rtl'), set 'margin-left' ('margin-right') to zero and solve for 'margin-right' ('margin-left'). If one of 'margin-left' or 'margin-right' is 'auto', solve the equation for that value. If the values are over-constrained, ignore the value for 'left' (in case the 'direction' property of the containing block is 'rtl') or 'right' (in case 'direction' is 'ltr') and solve for that value.
+"
+
+'top' + 'margin-top' + 'border-top-width' + 'padding-top' + 'height' + 'padding-bottom' + 'border-bottom-width' + 'margin-bottom' + 'bottom' = height of containing block
+
+So:
+
+    160px : top
+  +
+      0px : margin-top
+  +
+      0px : border-top-width
+  +
+      0px : padding-top
+  +
+     80px : height
+  +
+      0px : padding-bottom
+  +
+      0px : border-bottom-width
+  +
+      0px : margin-bottom
+  +
+    160px : bottom
+    =====================
+    320px : height of containing block
+
+gives us:
+
+  (solve) : top
+  +
+      0px : margin-top
+  +
+      0px : border-top-width
+  +
+      0px : padding-top
+  +
+     80px : height
+  +
+      0px : padding-bottom
+  +
+      0px : border-bottom-width
+  +
+      0px : margin-bottom
+  +
+    160px : bottom
+    =====================
+    320px : height of containing block
+
+And so computed top value must be 80px .
+*/
+
+  ]]></style>
+
+ </head>
+
+ <body>
+
+  <p><img src="support/pass-cdts-abs-pos-non-replaced.png" width="246" height="36" alt="Image download support must be enabled" /></p>
+
+  <div id="containing-block">1 2 34<span>X</span></div>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/abs-pos-non-replaced-vlr-103.xht
@@ -0,0 +1,121 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Writing Modes Test: absolutely positioned non-replaced element - 'direction: ltr' and 'left', 'width' and 'right' are 'auto'</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+  <link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#vertical-layout" title="7.1 Principles of Layout in Vertical Writing Modes" />
+  <link rel="help" href="http://www.w3.org/TR/CSS21/visudet.html#abs-non-replaced-height" title="10.6.4 Absolutely positioned, non-replaced elements" />
+  <link rel="match" href="abs-pos-non-replaced-vlr-003-ref.xht" />
+
+  <meta name="flags" content="ahem image" />
+  <meta name="assert" content="When 'direction' is 'ltr' and 'left', 'width' and 'right' are 'auto' and 'writing-mode' is 'vertical-lr', then set 'left' to the static position, the width is based on the content and then solve for 'right'." />
+
+<style type="text/css"><![CDATA[
+@font-face {
+  font-family: Ahem;
+  src: url("../../../fonts/Ahem.ttf");
+}
+]]></style>
+  <style type="text/css"><![CDATA[
+  div#containing-block
+    {
+      background: red url("support/bg-red-2col-3row-320x320.png");
+      color: transparent;
+      direction: ltr;
+      font: 80px/1 Ahem;
+      height: 320px;
+      position: relative;
+      width: 320px;
+      writing-mode: vertical-lr;
+    }
+
+  div#containing-block > span
+    {
+      background-color: red;
+      color: green;
+      left: auto;
+      position: absolute;
+      right: auto;
+      width: auto;
+    }
+
+/*
+"
+Layout calculation rules (such as those in CSS2.1, Section 10.3) that apply to the horizontal dimension in horizontal writing modes instead apply to the vertical dimension in vertical writing modes.
+"
+7.1 Principles of Layout in Vertical Writing Modes
+http://www.w3.org/TR/css-writing-modes-3/#vertical-layout
+
+So here, *left properties and *right properties are input into the §10.6.4 algorithms where *left properties refer to *top properties in the layout rules and where *right properties refer to *bottom properties in the layout rules.
+
+"
+If all three of 'top', 'height', and 'bottom' are auto, set 'top' to the static position and apply rule number three below.
+
+3. 'height' and 'bottom' are 'auto' and 'top' is not 'auto', then the height is based on the content per 10.6.7, set 'auto' values for 'margin-top' and 'margin-bottom' to 0, and solve for 'bottom'
+"
+
+'left' + 'margin-left' + 'border-left-width' + 'padding-left' + 'width' + 'padding-right' + 'border-right-width' + 'margin-right' + 'right' = width of containing block
+
+So:
+
+     80px : left: auto: set to static position
+  +
+      0px : margin-left
+  +
+      0px : border-left-width
+  +
+      0px : padding-left
+  +
+  (based on the content) : width: auto
+  +
+      0px : padding-right
+  +
+      0px : border-right-width
+  +
+      0px : margin-right
+  +
+  (solve) : right: auto
+    =====================
+    320px : width of containing block
+
+gives us:
+
+     80px : left: auto: set to static position
+  +
+      0px : margin-left
+  +
+      0px : border-left-width
+  +
+      0px : padding-left
+  +
+     80px : (based on the content) : width: auto
+  +
+      0px : padding-right
+  +
+      0px : border-right-width
+  +
+      0px : margin-right
+  +
+  (solve) : right: auto
+    =====================
+    320px : width of containing block
+
+And so computed right value must be 160px .
+*/
+
+  ]]></style>
+
+ </head>
+
+ <body>
+
+  <p><img src="support/pass-cdts-abs-pos-non-replaced.png" width="246" height="36" alt="Image download support must be enabled" /></p>
+
+  <div id="containing-block">1 2 34<span>X</span></div>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/abs-pos-non-replaced-vlr-105.xht
@@ -0,0 +1,113 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Writing Modes Test: absolutely positioned non-replaced element - 'direction: ltr' and 'top', 'height', and 'bottom' are 'auto'</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+  <link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#vertical-layout" title="7.1 Principles of Layout in Vertical Writing Modes" />
+  <link rel="help" href="http://www.w3.org/TR/CSS21/visudet.html#abs-non-replaced-height" title="10.6.4 Absolutely positioned, non-replaced elements" />
+  <link rel="match" href="abs-pos-non-replaced-vrl-004-ref.xht" />
+
+  <meta name="flags" content="ahem image" />
+  <meta name="assert" content="When 'direction' is 'ltr' and 'top', 'height' and 'bottom' are 'auto', then set 'top' to the static position, the height is based on content and then solve for 'bottom'." />
+
+<style type="text/css"><![CDATA[
+@font-face {
+  font-family: Ahem;
+  src: url("../../../fonts/Ahem.ttf");
+}
+]]></style>
+  <style type="text/css"><![CDATA[
+  div#containing-block
+    {
+      background: red url("support/bg-red-3col-2row-320x320.png");
+      color: transparent;
+      direction: ltr;
+      font: 80px/1 Ahem;
+      height: 320px;
+      position: relative;
+      width: 320px;
+    }
+
+  div#containing-block > span
+    {
+      background-color: red;
+      bottom: auto;
+      color: green;
+      height: auto;
+      position: absolute;
+      top: auto;
+      writing-mode: vertical-lr;
+    }
+
+/*
+"
+If all three of 'top', 'height', and 'bottom' are auto, set 'top' to the static position and apply rule number three below.
+
+3. 'height' and 'bottom' are 'auto' and 'top' is not 'auto', then the height is based on the content per 10.6.7, set 'auto' values for 'margin-top' and 'margin-bottom' to 0, and solve for 'bottom'
+"
+
+'top' + 'margin-top' + 'border-top-width' + 'padding-top' + 'height' + 'padding-bottom' + 'border-bottom-width' + 'margin-bottom' + 'bottom' = height of containing block
+
+So:
+
+     80px : top: auto: set to static position
+  +
+      0px : margin-top
+  +
+      0px : border-top-width
+  +
+      0px : padding-top
+  +
+  (shrink-to-fit) : height: auto
+  +
+      0px : padding-bottom
+  +
+      0px : border-bottom-width
+  +
+      0px : margin-bottom
+  +
+  (solve) : bottom: auto
+    =====================
+    320px : height of containing block
+
+gives us:
+
+     80px : top: auto: set to static position
+  +
+      0px : margin-top
+  +
+      0px : border-top-width
+  +
+      0px : padding-top
+  +
+     80px : (shrink-to-fit) : height: auto
+  +
+      0px : padding-bottom
+  +
+      0px : border-bottom-width
+  +
+      0px : margin-bottom
+  +
+  (solve) : bottom: auto
+    =====================
+    320px : height of containing block
+
+And so computed bottom value must be 160px .
+*/
+
+  ]]></style>
+
+ </head>
+
+ <body>
+
+  <p><img src="support/pass-cdts-abs-pos-non-replaced.png" width="246" height="36" alt="Image download support must be enabled" /></p>
+
+  <div id="containing-block">1 2 34<span>X</span></div>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/abs-pos-non-replaced-vlr-107.xht
@@ -0,0 +1,125 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Writing Modes Test: absolutely positioned non-replaced element - 'direction: ltr' and 'left', 'width' and 'right' are 'auto'</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+  <link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#vertical-layout" title="7.1 Principles of Layout in Vertical Writing Modes" />
+  <link rel="help" href="http://www.w3.org/TR/CSS21/visudet.html#abs-non-replaced-height" title="10.6.4 Absolutely positioned, non-replaced elements" />
+  <link rel="match" href="abs-pos-non-replaced-vlr-007-ref.xht" />
+
+  <meta name="flags" content="ahem image" />
+  <meta name="assert" content="When 'direction' is 'ltr' and 'left', 'width' and 'right' are 'auto' and 'writing-mode' is 'vertical-lr', then set 'left' to the static position, the width is based on the content and then solve for 'right'." />
+
+<style type="text/css"><![CDATA[
+@font-face {
+  font-family: Ahem;
+  src: url("../../../fonts/Ahem.ttf");
+}
+]]></style>
+  <style type="text/css"><![CDATA[
+  html
+    {
+      writing-mode: vertical-lr;
+    }
+
+  div#containing-block
+    {
+      background: red url("support/bg-red-2col-3row-320x320.png");
+      color: transparent;
+      direction: ltr;
+      font: 80px/1 Ahem;
+      height: 320px;
+      position: relative;
+      width: 320px;
+    }
+
+  div#containing-block > span
+    {
+      background-color: red;
+      color: green;
+      left: auto;
+      position: absolute;
+      right: auto;
+      width: auto;
+    }
+
+/*
+"
+Layout calculation rules (such as those in CSS2.1, Section 10.3) that apply to the horizontal dimension in horizontal writing modes instead apply to the vertical dimension in vertical writing modes.
+"
+7.1 Principles of Layout in Vertical Writing Modes
+http://www.w3.org/TR/css-writing-modes-3/#vertical-layout
+
+So here, *left and *right properties are input into the §10.6.4 algorithms where *left properties refer to *top properties in the layout rules and where *right properties refer to *bottom properties in the layout rules.
+
+"
+If all three of 'top', 'height', and 'bottom' are auto, set 'top' to the static position and apply rule number three below.
+
+3. 'height' and 'bottom' are 'auto' and 'top' is not 'auto', then the height is based on the content per 10.6.7, set 'auto' values for 'margin-top' and 'margin-bottom' to 0, and solve for 'bottom'
+"
+
+'left' + 'margin-left' + 'border-left-width' + 'padding-left' + 'width' + 'padding-right' + 'border-right-width' + 'margin-right' + 'right' = width of containing block
+
+So:
+
+     80px : left: auto: set to static position
+  +
+      0px : margin-left
+  +
+      0px : border-left-width
+  +
+      0px : padding-left
+  +
+  (based on the content) : width: auto
+  +
+      0px : padding-right
+  +
+      0px : border-right-width
+  +
+      0px : margin-right
+  +
+  (solve) : right: auto
+    =====================
+    320px : width of containing block
+
+gives us:
+
+     80px : left: auto: set to static position
+  +
+      0px : margin-left
+  +
+      0px : border-left-width
+  +
+      0px : padding-left
+  +
+     80px : (based on the content) : width: auto
+  +
+      0px : padding-right
+  +
+      0px : border-right-width
+  +
+      0px : margin-right
+  +
+  (solve) : right: auto
+    =====================
+    320px : width of containing block
+
+And so computed right value must be 160px .
+*/
+
+  ]]></style>
+
+ </head>
+
+ <body>
+
+  <p><img src="support/pass-cdts-abs-pos-non-replaced.png" width="246" height="36" alt="Image download support must be enabled" /></p>
+
+  <div id="containing-block">1 2 34<span>X</span></div>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/abs-pos-non-replaced-vlr-109.xht
@@ -0,0 +1,122 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Writing Modes Test: absolutely positioned non-replaced element - 'direction: ltr' and 'left', 'width' and 'right' are 'auto'</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+  <link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#vertical-layout" title="7.1 Principles of Layout in Vertical Writing Modes" />
+  <link rel="help" href="http://www.w3.org/TR/CSS21/visudet.html#abs-non-replaced-height" title="10.6.4 Absolutely positioned, non-replaced elements" />
+  <link rel="match" href="abs-pos-non-replaced-vlr-003-ref.xht" />
+
+  <meta name="flags" content="ahem image" />
+  <meta name="assert" content="When 'direction' is 'ltr' and 'left', 'width' and 'right' are 'auto' and 'writing-mode' is 'vertical-lr', then set 'left' to the static position, the width is based on the content and then solve for 'right'." />
+
+<style type="text/css"><![CDATA[
+@font-face {
+  font-family: Ahem;
+  src: url("../../../fonts/Ahem.ttf");
+}
+]]></style>
+  <style type="text/css"><![CDATA[
+  div#containing-block
+    {
+      background: red url("support/bg-red-2col-3row-320x320.png");
+      color: transparent;
+      direction: ltr;
+      font: 80px/1 Ahem;
+      height: 320px;
+      position: relative;
+      width: 320px;
+      writing-mode: vertical-lr;
+    }
+
+  div#containing-block > span
+    {
+      background-color: red;
+      color: green;
+      left: auto;
+      position: absolute;
+      right: auto;
+      width: auto;
+      writing-mode: horizontal-tb;
+    }
+
+/*
+"
+Layout calculation rules (such as those in CSS2.1, Section 10.3) that apply to the horizontal dimension in horizontal writing modes instead apply to the vertical dimension in vertical writing modes.
+"
+7.1 Principles of Layout in Vertical Writing Modes
+http://www.w3.org/TR/css-writing-modes-3/#vertical-layout
+
+So here, *left and *right properties are input into the §10.6.4 algorithms where *left properties refer to *top properties in the layout rules and where *right properties refer to *bottom properties in the layout rules.
+
+"
+If all three of 'top', 'height', and 'bottom' are auto, set 'top' to the static position and apply rule number three below.
+
+3. 'height' and 'bottom' are 'auto' and 'top' is not 'auto', then the height is based on the content per 10.6.7, set 'auto' values for 'margin-top' and 'margin-bottom' to 0, and solve for 'bottom'
+"
+
+'left' + 'margin-left' + 'border-left-width' + 'padding-left' + 'width' + 'padding-right' + 'border-right-width' + 'margin-right' + 'right' = width of containing block
+
+So:
+
+     80px : left: auto: set to static position
+  +
+      0px : margin-left
+  +
+      0px : border-left-width
+  +
+      0px : padding-left
+  +
+  (based on the content) : width: auto
+  +
+      0px : padding-right
+  +
+      0px : border-right-width
+  +
+      0px : margin-right
+  +
+  (solve) : right: auto
+    =====================
+    320px : width of containing block
+
+gives us:
+
+     80px : left: auto: set to static position
+  +
+      0px : margin-left
+  +
+      0px : border-left-width
+  +
+      0px : padding-left
+  +
+     80px : (based on the content) : width: auto
+  +
+      0px : padding-right
+  +
+      0px : border-right-width
+  +
+      0px : margin-right
+  +
+  (solve) : right: auto
+    =====================
+    320px : width of containing block
+
+And so computed right value must be 160px .
+*/
+
+  ]]></style>
+
+ </head>
+
+ <body>
+
+  <p><img src="support/pass-cdts-abs-pos-non-replaced.png" width="246" height="36" alt="Image download support must be enabled" /></p>
+
+  <div id="containing-block">1 2 34<span>X</span></div>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/abs-pos-non-replaced-vlr-111.xht
@@ -0,0 +1,121 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Writing Modes Test: absolutely positioned non-replaced element - 'direction: rtl' and 'left', 'width' and 'right' are 'auto'</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+  <link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#vertical-layout" title="7.1 Principles of Layout in Vertical Writing Modes" />
+  <link rel="help" href="http://www.w3.org/TR/CSS21/visudet.html#abs-non-replaced-height" title="10.6.4 Absolutely positioned, non-replaced elements" />
+  <link rel="match" href="abs-pos-non-replaced-vlr-009-ref.xht" />
+
+  <meta name="flags" content="ahem image" />
+  <meta name="assert" content="When 'direction' is 'rtl' and 'left', 'width' and 'right' are 'auto' and 'writing-mode' is 'vertical-lr', then set 'left' to the static position, the width is based on the content and then solve for 'right'." />
+
+<style type="text/css"><![CDATA[
+@font-face {
+  font-family: Ahem;
+  src: url("../../../fonts/Ahem.ttf");
+}
+]]></style>
+  <style type="text/css"><![CDATA[
+  div#containing-block
+    {
+      background: red url("support/bg-red-2col-2row-320x320.png");
+      color: transparent;
+      direction: rtl;
+      font: 80px/1 Ahem;
+      height: 320px;
+      position: relative;
+      width: 320px;
+      writing-mode: vertical-lr;
+    }
+
+  div#containing-block > span
+    {
+      background-color: red;
+      color: green;
+      left: auto;
+      position: absolute;
+      right: auto;
+      width: auto;
+    }
+
+/*
+"
+Layout calculation rules (such as those in CSS2.1, Section 10.3) that apply to the horizontal dimension in horizontal writing modes instead apply to the vertical dimension in vertical writing modes.
+"
+7.1 Principles of Layout in Vertical Writing Modes
+http://www.w3.org/TR/css-writing-modes-3/#vertical-layout
+
+So here, *left properties and *right properties are input into the §10.6.4 algorithms where *left properties refer to *top properties in the layout rules and where *right properties refer to *bottom properties in the layout rules.
+
+"
+If all three of 'top', 'height', and 'bottom' are auto, set 'top' to the static position and apply rule number three below.
+
+3. 'height' and 'bottom' are 'auto' and 'top' is not 'auto', then the height is based on the content per 10.6.7, set 'auto' values for 'margin-top' and 'margin-bottom' to 0, and solve for 'bottom'
+"
+
+'left' + 'margin-left' + 'border-left-width' + 'padding-left' + 'width' + 'padding-right' + 'border-right-width' + 'margin-right' + 'right' = width of containing block
+
+So:
+
+     80px : left: auto: set to static position
+  +
+      0px : margin-left
+  +
+      0px : border-left-width
+  +
+      0px : padding-left
+  +
+  (based on the content) : width: auto
+  +
+      0px : padding-right
+  +
+      0px : border-right-width
+  +
+      0px : margin-right
+  +
+  (solve) : right: auto
+    =====================
+    320px : width of containing block
+
+gives us:
+
+     80px : left: auto: set to static position
+  +
+      0px : margin-left
+  +
+      0px : border-left-width
+  +
+      0px : padding-left
+  +
+     80px : (based on the content) : width: auto
+  +
+      0px : padding-right
+  +
+      0px : border-right-width
+  +
+      0px : margin-right
+  +
+  (solve) : right: auto
+    =====================
+    320px : width of containing block
+
+And so computed right value must be 160px .
+*/
+
+  ]]></style>
+
+ </head>
+
+ <body>
+
+  <p><img src="support/pass-cdts-abs-pos-non-replaced.png" width="246" height="36" alt="Image download support must be enabled" /></p>
+
+  <div id="containing-block">1 2 34<span>X</span></div>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/abs-pos-non-replaced-vlr-113.xht
@@ -0,0 +1,113 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Writing Modes Test: absolutely positioned non-replaced element - 'direction: rtl' and 'top', 'height', and 'bottom' are 'auto'</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+  <link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#vertical-layout" title="7.1 Principles of Layout in Vertical Writing Modes" />
+  <link rel="help" href="http://www.w3.org/TR/CSS21/visudet.html#abs-non-replaced-height" title="10.6.4 Absolutely positioned, non-replaced elements" />
+  <link rel="match" href="abs-pos-non-replaced-vlr-009-ref.xht" />
+
+  <meta name="flags" content="ahem image" />
+  <meta name="assert" content="When 'direction' is 'rtl' and 'top', 'height' and 'bottom' are 'auto', then set 'top' to the static position, the height is based on content and then solve for 'bottom'." />
+
+<style type="text/css"><![CDATA[
+@font-face {
+  font-family: Ahem;
+  src: url("../../../fonts/Ahem.ttf");
+}
+]]></style>
+  <style type="text/css"><![CDATA[
+  div#containing-block
+    {
+      background: red url("support/bg-red-2col-2row-320x320.png");
+      color: transparent;
+      direction: rtl;
+      font: 80px/1 Ahem;
+      height: 320px;
+      position: relative;
+      width: 320px;
+    }
+
+  div#containing-block > span
+    {
+      background-color: red;
+      bottom: auto;
+      color: green;
+      height: auto;
+      position: absolute;
+      top: auto;
+      writing-mode: vertical-lr;
+    }
+
+/*
+"
+If all three of 'top', 'height', and 'bottom' are auto, set 'top' to the static position and apply rule number three below.
+
+3. 'height' and 'bottom' are 'auto' and 'top' is not 'auto', then the height is based on the content per 10.6.7, set 'auto' values for 'margin-top' and 'margin-bottom' to 0, and solve for 'bottom'
+"
+
+'top' + 'margin-top' + 'border-top-width' + 'padding-top' + 'height' + 'padding-bottom' + 'border-bottom-width' + 'margin-bottom' + 'bottom' = height of containing block
+
+So:
+
+     80px : top: auto: set to static position
+  +
+      0px : margin-top
+  +
+      0px : border-top-width
+  +
+      0px : padding-top
+  +
+  (shrink-to-fit) : height: auto
+  +
+      0px : padding-bottom
+  +
+      0px : border-bottom-width
+  +
+      0px : margin-bottom
+  +
+  (solve) : bottom: auto
+    =====================
+    320px : height of containing block
+
+gives us:
+
+     80px : top: auto: set to static position
+  +
+      0px : margin-top
+  +
+      0px : border-top-width
+  +
+      0px : padding-top
+  +
+     80px : (shrink-to-fit) : height: auto
+  +
+      0px : padding-bottom
+  +
+      0px : border-bottom-width
+  +
+      0px : margin-bottom
+  +
+  (solve) : bottom: auto
+    =====================
+    320px : height of containing block
+
+And so computed bottom value must be 160px .
+*/
+
+  ]]></style>
+
+ </head>
+
+ <body>
+
+  <p><img src="support/pass-cdts-abs-pos-non-replaced.png" width="246" height="36" alt="Image download support must be enabled" /></p>
+
+  <div id="containing-block">1 2 34<span>X</span></div>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/abs-pos-non-replaced-vlr-115.xht
@@ -0,0 +1,125 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Writing Modes Test: absolutely positioned non-replaced element - 'direction: rtl' and 'left', 'width' and 'right' are 'auto'</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+  <link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#vertical-layout" title="7.1 Principles of Layout in Vertical Writing Modes" />
+  <link rel="help" href="http://www.w3.org/TR/CSS21/visudet.html#abs-non-replaced-height" title="10.6.4 Absolutely positioned, non-replaced elements" />
+  <link rel="match" href="abs-pos-non-replaced-vlr-013-ref.xht" />
+
+  <meta name="flags" content="ahem image" />
+  <meta name="assert" content="When 'direction' is 'rtl' and 'left', 'width' and 'right' are 'auto' and 'writing-mode' is 'vertical-lr', then set 'left' to the static position, the width is based on the content and then solve for 'right'." />
+
+<style type="text/css"><![CDATA[
+@font-face {
+  font-family: Ahem;
+  src: url("../../../fonts/Ahem.ttf");
+}
+]]></style>
+  <style type="text/css"><![CDATA[
+  html
+    {
+      writing-mode: vertical-lr;
+    }
+
+  div#containing-block
+    {
+      background: red url("support/bg-red-2col-2row-320x320.png");
+      color: transparent;
+      direction: rtl;
+      font: 80px/1 Ahem;
+      height: 320px;
+      position: relative;
+      width: 320px;
+    }
+
+  div#containing-block > span
+    {
+      background-color: red;
+      color: green;
+      left: auto;
+      position: absolute;
+      right: auto;
+      width: auto;
+    }
+
+/*
+"
+Layout calculation rules (such as those in CSS2.1, Section 10.3) that apply to the horizontal dimension in horizontal writing modes instead apply to the vertical dimension in vertical writing modes.
+"
+7.1 Principles of Layout in Vertical Writing Modes
+http://www.w3.org/TR/css-writing-modes-3/#vertical-layout
+
+So here, *left and *right properties are input into the §10.6.4 algorithms where *left properties refer to *top properties in the layout rules and where *right properties refer to *bottom properties in the layout rules.
+
+"
+If all three of 'top', 'height', and 'bottom' are auto, set 'top' to the static position and apply rule number three below.
+
+3. 'height' and 'bottom' are 'auto' and 'top' is not 'auto', then the height is based on the content per 10.6.7, set 'auto' values for 'margin-top' and 'margin-bottom' to 0, and solve for 'bottom'
+"
+
+'left' + 'margin-left' + 'border-left-width' + 'padding-left' + 'width' + 'padding-right' + 'border-right-width' + 'margin-right' + 'right' = width of containing block
+
+So:
+
+     80px : left: auto: set to static position
+  +
+      0px : margin-left
+  +
+      0px : border-left-width
+  +
+      0px : padding-left
+  +
+  (based on the content) : width: auto
+  +
+      0px : padding-right
+  +
+      0px : border-right-width
+  +
+      0px : margin-right
+  +
+  (solve) : right: auto
+    =====================
+    320px : width of containing block
+
+gives us:
+
+     80px : left: auto: set to static position
+  +
+      0px : margin-left
+  +
+      0px : border-left-width
+  +
+      0px : padding-left
+  +
+     80px : (based on the content) : width: auto
+  +
+      0px : padding-right
+  +
+      0px : border-right-width
+  +
+      0px : margin-right
+  +
+  (solve) : right: auto
+    =====================
+    320px : width of containing block
+
+And so computed right value must be 160px .
+*/
+
+  ]]></style>
+
+ </head>
+
+ <body>
+
+  <p><img src="support/pass-cdts-abs-pos-non-replaced.png" width="246" height="36" alt="Image download support must be enabled" /></p>
+
+  <div id="containing-block">1 2 34<span>X</span></div>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/abs-pos-non-replaced-vlr-117.xht
@@ -0,0 +1,122 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Writing Modes Test: absolutely positioned non-replaced element - 'direction: rtl' and 'left', 'width' and 'right' are 'auto'</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+  <link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#vertical-layout" title="7.1 Principles of Layout in Vertical Writing Modes" />
+  <link rel="help" href="http://www.w3.org/TR/CSS21/visudet.html#abs-non-replaced-height" title="10.6.4 Absolutely positioned, non-replaced elements" />
+  <link rel="match" href="abs-pos-non-replaced-vlr-009-ref.xht" />
+
+  <meta name="flags" content="ahem image" />
+  <meta name="assert" content="When 'direction' is 'rtl' and 'left', 'width' and 'right' are 'auto' and 'writing-mode' is 'vertical-lr', then set 'left' to the static position, the width is based on the content and then solve for 'right'." />
+
+<style type="text/css"><![CDATA[
+@font-face {
+  font-family: Ahem;
+  src: url("../../../fonts/Ahem.ttf");
+}
+]]></style>
+  <style type="text/css"><![CDATA[
+  div#containing-block
+    {
+      background: red url("support/bg-red-2col-2row-320x320.png");
+      color: transparent;
+      direction: rtl;
+      font: 80px/1 Ahem;
+      height: 320px;
+      position: relative;
+      width: 320px;
+      writing-mode: vertical-lr;
+    }
+
+  div#containing-block > span
+    {
+      background-color: red;
+      color: green;
+      left: auto;
+      position: absolute;
+      right: auto;
+      width: auto;
+      writing-mode: horizontal-tb;
+    }
+
+/*
+"
+Layout calculation rules (such as those in CSS2.1, Section 10.3) that apply to the horizontal dimension in horizontal writing modes instead apply to the vertical dimension in vertical writing modes.
+"
+7.1 Principles of Layout in Vertical Writing Modes
+http://www.w3.org/TR/css-writing-modes-3/#vertical-layout
+
+So here, *left and *right properties are input into the §10.6.4 algorithms where *left properties refer to *top properties in the layout rules and where *right properties refer to *bottom properties in the layout rules.
+
+"
+If all three of 'top', 'height', and 'bottom' are auto, set 'top' to the static position and apply rule number three below.
+
+3. 'height' and 'bottom' are 'auto' and 'top' is not 'auto', then the height is based on the content per 10.6.7, set 'auto' values for 'margin-top' and 'margin-bottom' to 0, and solve for 'bottom'
+"
+
+'left' + 'margin-left' + 'border-left-width' + 'padding-left' + 'width' + 'padding-right' + 'border-right-width' + 'margin-right' + 'right' = width of containing block
+
+So:
+
+     80px : left: auto: set to static position
+  +
+      0px : margin-left
+  +
+      0px : border-left-width
+  +
+      0px : padding-left
+  +
+  (based on the content) : width: auto
+  +
+      0px : padding-right
+  +
+      0px : border-right-width
+  +
+      0px : margin-right
+  +
+  (solve) : right: auto
+    =====================
+    320px : width of containing block
+
+gives us:
+
+     80px : left: auto: set to static position
+  +
+      0px : margin-left
+  +
+      0px : border-left-width
+  +
+      0px : padding-left
+  +
+     80px : (based on the content) : width: auto
+  +
+      0px : padding-right
+  +
+      0px : border-right-width
+  +
+      0px : margin-right
+  +
+  (solve) : right: auto
+    =====================
+    320px : width of containing block
+
+And so computed right value must be 160px .
+*/
+
+  ]]></style>
+
+ </head>
+
+ <body>
+
+  <p><img src="support/pass-cdts-abs-pos-non-replaced.png" width="246" height="36" alt="Image download support must be enabled" /></p>
+
+  <div id="containing-block">1 2 34<span>X</span></div>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/abs-pos-non-replaced-vlr-119.xht
@@ -0,0 +1,119 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Writing Modes Test: absolutely positioned non-replaced element - 'direction: ltr' and 'width' and 'right' are 'auto' and 'left' is not 'auto'</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+  <link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#vertical-layout" title="7.1 Principles of Layout in Vertical Writing Modes" />
+  <link rel="help" href="http://www.w3.org/TR/CSS21/visudet.html#abs-non-replaced-height" title="10.6.4 Absolutely positioned, non-replaced elements" />
+  <link rel="match" href="abs-pos-non-replaced-vlr-003-ref.xht" />
+
+  <meta name="flags" content="ahem image" />
+  <meta name="assert" content="When 'direction' is 'ltr' and 'width' and 'right' are 'auto' and 'left' is not 'auto' and 'writing-mode' is 'vertical-lr', then the width is based on the content and then solve for 'right'." />
+
+<style type="text/css"><![CDATA[
+@font-face {
+  font-family: Ahem;
+  src: url("../../../fonts/Ahem.ttf");
+}
+]]></style>
+  <style type="text/css"><![CDATA[
+  div#containing-block
+    {
+      background: red url("support/bg-red-2col-3row-320x320.png");
+      color: transparent;
+      direction: ltr;
+      font: 80px/1 Ahem;
+      height: 320px;
+      position: relative;
+      width: 320px;
+      writing-mode: vertical-lr;
+    }
+
+  div#containing-block > span
+    {
+      background-color: red;
+      color: green;
+      left: 1em;
+      position: absolute;
+      right: auto;
+      width: auto;
+    }
+
+/*
+"
+Layout calculation rules (such as those in CSS2.1, Section 10.3) that apply to the horizontal dimension in horizontal writing modes instead apply to the vertical dimension in vertical writing modes.
+"
+7.1 Principles of Layout in Vertical Writing Modes
+http://www.w3.org/TR/css-writing-modes-3/#vertical-layout
+
+So here, *left and *right properties are input into the §10.6.4 algorithms where *left properties refer to *top properties in the layout rules and where *right properties refer to *bottom properties in the layout rules.
+
+"
+1. 'top' and 'height' are 'auto' and 'bottom' is not 'auto', then the height is based on the content per 10.6.7, set 'auto' values for 'margin-top' and 'margin-bottom' to 0, and solve for 'top'
+"
+
+'left' + 'margin-left' + 'border-left-width' + 'padding-left' + 'width' + 'padding-right' + 'border-right-width' + 'margin-right' + 'right' = width of containing block
+
+So:
+
+  (solve) : right: auto
+  +
+      0px : margin-right
+  +
+      0px : border-right-width
+  +
+      0px : padding-right
+  +
+  (based on the content) : width: auto
+  +
+      0px : padding-left
+  +
+      0px : border-left-width
+  +
+      0px : margin-left
+  +
+     80px : left
+    =====================
+    320px : width of containing block
+
+gives us:
+
+  (solve) : right: auto
+  +
+      0px : margin-right
+  +
+      0px : border-right-width
+  +
+      0px : padding-right
+  +
+     80px : (based on the content) : width: auto
+  +
+      0px : padding-left
+  +
+      0px : border-left-width
+  +
+      0px : margin-left
+  +
+     80px : left
+    =====================
+    320px : width of containing block
+
+And so computed right value must be 160px .
+*/
+
+  ]]></style>
+
+ </head>
+
+ <body>
+
+  <p><img src="support/pass-cdts-abs-pos-non-replaced.png" width="246" height="36" alt="Image download support must be enabled" /></p>
+
+  <div id="containing-block">1 2 34<span>X</span></div>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/abs-pos-non-replaced-vlr-121.xht
@@ -0,0 +1,111 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Writing Modes Test: absolutely positioned non-replaced element - 'direction: ltr' and 'top' and 'height' are 'auto' and 'bottom' is not 'auto'</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+  <link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#vertical-layout" title="7.1 Principles of Layout in Vertical Writing Modes" />
+  <link rel="help" href="http://www.w3.org/TR/CSS21/visudet.html#abs-non-replaced-height" title="10.6.4 Absolutely positioned, non-replaced elements" />
+  <link rel="match" href="abs-pos-non-replaced-vrl-002-ref.xht" />
+
+  <meta name="flags" content="ahem image" />
+  <meta name="assert" content="When 'direction' is 'ltr' and 'top' and 'height' are 'auto' and 'bottom' is not 'auto', then the height is based on content and then solve for 'top'." />
+
+<style type="text/css"><![CDATA[
+@font-face {
+  font-family: Ahem;
+  src: url("../../../fonts/Ahem.ttf");
+}
+]]></style>
+  <style type="text/css"><![CDATA[
+  div#containing-block
+    {
+      background: red url("support/bg-red-3col-3row-320x320.png");
+      color: transparent;
+      direction: ltr;
+      font: 80px/1 Ahem;
+      height: 320px;
+      position: relative;
+      width: 320px;
+    }
+
+  div#containing-block > span
+    {
+      background-color: red;
+      bottom: 1em;
+      color: green;
+      height: auto;
+      position: absolute;
+      top: auto;
+      writing-mode: vertical-lr;
+    }
+
+/*
+"
+1. 'top' and 'height' are 'auto' and 'bottom' is not 'auto', then the height is based on the content per 10.6.7, set 'auto' values for 'margin-top' and 'margin-bottom' to 0, and solve for 'top'
+"
+
+'top' + 'margin-top' + 'border-top-width' + 'padding-top' + 'height' + 'padding-bottom' + 'border-bottom-width' + 'margin-bottom' + 'bottom' = height of containing block
+
+So:
+
+  (solve) : top: auto
+  +
+      0px : margin-top
+  +
+      0px : border-top-width
+  +
+      0px : padding-top
+  +
+  (based on content) : height: auto
+  +
+      0px : padding-bottom
+  +
+      0px : border-bottom-width
+  +
+      0px : margin-bottom
+  +
+     80px : bottom: auto
+    =====================
+    320px : height of containing block
+
+gives us:
+
+  (solve) : top: auto
+  +
+      0px : margin-top
+  +
+      0px : border-top-width
+  +
+      0px : padding-top
+  +
+     80px : (based on content) : height: auto
+  +
+      0px : padding-bottom
+  +
+      0px : border-bottom-width
+  +
+      0px : margin-bottom
+  +
+     80px : bottom: auto
+    =====================
+    320px : height of containing block
+
+And so computed top value must be 160px .
+*/
+
+  ]]></style>
+
+ </head>
+
+ <body>
+
+  <p><img src="support/pass-cdts-abs-pos-non-replaced.png" width="246" height="36" alt="Image download support must be enabled" /></p>
+
+  <div id="containing-block">1 2 34<span>X</span></div>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/abs-pos-non-replaced-vlr-123.xht
@@ -0,0 +1,123 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Writing Modes Test: absolutely positioned non-replaced element - 'direction: ltr' and 'width' and 'right' are 'auto' and 'left' is not 'auto'</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+  <link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#vertical-layout" title="7.1 Principles of Layout in Vertical Writing Modes" />
+  <link rel="help" href="http://www.w3.org/TR/CSS21/visudet.html#abs-non-replaced-height" title="10.6.4 Absolutely positioned, non-replaced elements" />
+  <link rel="match" href="abs-pos-non-replaced-vlr-007-ref.xht" />
+
+  <meta name="flags" content="ahem image" />
+  <meta name="assert" content="When 'direction' is 'ltr' and 'width' and 'right' are 'auto' and 'left' is not 'auto' and 'writing-mode' is 'vertical-rl', then the width is based on the content and then solve for 'right'." />
+
+<style type="text/css"><![CDATA[
+@font-face {
+  font-family: Ahem;
+  src: url("../../../fonts/Ahem.ttf");
+}
+]]></style>
+  <style type="text/css"><![CDATA[
+  html
+    {
+      writing-mode: vertical-lr;
+    }
+
+  div#containing-block
+    {
+      background: red url("support/bg-red-2col-3row-320x320.png");
+      color: transparent;
+      direction: ltr;
+      font: 80px/1 Ahem;
+      height: 320px;
+      position: relative;
+      width: 320px;
+    }
+
+  div#containing-block > span
+    {
+      background-color: red;
+      color: green;
+      left: 1em;
+      position: absolute;
+      right: auto;
+      width: auto;
+    }
+
+/*
+"
+Layout calculation rules (such as those in CSS2.1, Section 10.3) that apply to the horizontal dimension in horizontal writing modes instead apply to the vertical dimension in vertical writing modes.
+"
+7.1 Principles of Layout in Vertical Writing Modes
+http://www.w3.org/TR/css-writing-modes-3/#vertical-layout
+
+So here, *left and *right properties are input into the §10.6.4 algorithms where *left properties refer to *top properties in the layout rules and where *right properties refer to *bottom properties in the layout rules.
+
+"
+1. 'top' and 'height' are 'auto' and 'bottom' is not 'auto', then the height is based on the content per 10.6.7, set 'auto' values for 'margin-top' and 'margin-bottom' to 0, and solve for 'top'
+"
+
+'left' + 'margin-left' + 'border-left-width' + 'padding-left' + 'width' + 'padding-right' + 'border-right-width' + 'margin-right' + 'right' = width of containing block
+
+So:
+
+  (solve) : right: auto
+  +
+      0px : margin-right
+  +
+      0px : border-right-width
+  +
+      0px : padding-right
+  +
+  (based on the content) : width: auto
+  +
+      0px : padding-left
+  +
+      0px : border-left-width
+  +
+      0px : margin-left
+  +
+     80px : left: auto
+    =====================
+    320px : width of containing block
+
+gives us:
+
+  (solve) : right: auto
+  +
+      0px : margin-right
+  +
+      0px : border-right-width
+  +
+      0px : padding-right
+  +
+     80px : (based on the content) : width: auto
+  +
+      0px : padding-left
+  +
+      0px : border-left-width
+  +
+      0px : margin-left
+  +
+     80px : left: auto
+    =====================
+    320px : width of containing block
+
+And so computed right value must be 160px .
+*/
+
+  ]]></style>
+
+ </head>
+
+ <body>
+
+  <p><img src="support/pass-cdts-abs-pos-non-replaced.png" width="246" height="36" alt="Image download support must be enabled" /></p>
+
+  <div id="containing-block">1 2 34<span>X</span></div>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/abs-pos-non-replaced-vlr-125.xht
@@ -0,0 +1,120 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Writing Modes Test: absolutely positioned non-replaced element - 'direction: ltr' and 'width' and 'right' are 'auto' and 'left' is not 'auto'</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+  <link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#vertical-layout" title="7.1 Principles of Layout in Vertical Writing Modes" />
+  <link rel="help" href="http://www.w3.org/TR/CSS21/visudet.html#abs-non-replaced-height" title="10.6.4 Absolutely positioned, non-replaced elements" />
+  <link rel="match" href="abs-pos-non-replaced-vlr-003-ref.xht" />
+
+  <meta name="flags" content="ahem image" />
+  <meta name="assert" content="When 'direction' is 'ltr' and 'width' and 'right' are 'auto' and 'left' is not 'auto' and 'writing-mode' is 'vertical-rl', then the width is based on the content and then solve for 'right'." />
+
+<style type="text/css"><![CDATA[
+@font-face {
+  font-family: Ahem;
+  src: url("../../../fonts/Ahem.ttf");
+}
+]]></style>
+  <style type="text/css"><![CDATA[
+  div#containing-block
+    {
+      background: red url("support/bg-red-2col-3row-320x320.png");
+      color: transparent;
+      direction: ltr;
+      font: 80px/1 Ahem;
+      height: 320px;
+      position: relative;
+      width: 320px;
+      writing-mode: vertical-lr;
+    }
+
+  div#containing-block > span
+    {
+      background-color: red;
+      color: green;
+      left: 1em;
+      position: absolute;
+      right: auto;
+      width: auto;
+      writing-mode: horizontal-tb;
+    }
+
+/*
+"
+Layout calculation rules (such as those in CSS2.1, Section 10.3) that apply to the horizontal dimension in horizontal writing modes instead apply to the vertical dimension in vertical writing modes.
+"
+7.1 Principles of Layout in Vertical Writing Modes
+http://www.w3.org/TR/css-writing-modes-3/#vertical-layout
+
+So here, *left and *right properties are input into the §10.6.4 algorithms where *left properties refer to *top properties in the layout rules and where *right properties refer to *bottom properties in the layout rules.
+
+"
+1. 'top' and 'height' are 'auto' and 'bottom' is not 'auto', then the height is based on the content per 10.6.7, set 'auto' values for 'margin-top' and 'margin-bottom' to 0, and solve for 'top'
+"
+
+'left' + 'margin-left' + 'border-left-width' + 'padding-left' + 'width' + 'padding-right' + 'border-right-width' + 'margin-right' + 'right' = width of containing block
+
+So:
+
+  (solve) : right: auto
+  +
+      0px : margin-right
+  +
+      0px : border-right-width
+  +
+      0px : padding-right
+  +
+  (based on the content) : width: auto
+  +
+      0px : padding-left
+  +
+      0px : border-left-width
+  +
+      0px : margin-left
+  +
+     80px : left
+    =====================
+    320px : width of containing block
+
+gives us:
+
+  (solve) : right: auto
+  +
+      0px : margin-right
+  +
+      0px : border-right-width
+  +
+      0px : padding-right
+  +
+     80px : (based on the content) : width: auto
+  +
+      0px : padding-left
+  +
+      0px : border-left-width
+  +
+      0px : margin-left
+  +
+     80px : left
+    =====================
+    320px : width of containing block
+
+And so computed right value must be 160px .
+*/
+
+  ]]></style>
+
+ </head>
+
+ <body>
+
+  <p><img src="support/pass-cdts-abs-pos-non-replaced.png" width="246" height="36" alt="Image download support must be enabled" /></p>
+
+  <div id="containing-block">1 2 34<span>X</span></div>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/abs-pos-non-replaced-vlr-127.xht
@@ -0,0 +1,119 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Writing Modes Test: absolutely positioned non-replaced element - 'direction: rtl' and 'width' and 'right' are 'auto' and 'left' is not 'auto'</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+  <link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#vertical-layout" title="7.1 Principles of Layout in Vertical Writing Modes" />
+  <link rel="help" href="http://www.w3.org/TR/CSS21/visudet.html#abs-non-replaced-height" title="10.6.4 Absolutely positioned, non-replaced elements" />
+  <link rel="match" href="abs-pos-non-replaced-vlr-009-ref.xht" />
+
+  <meta name="flags" content="ahem image" />
+  <meta name="assert" content="When 'direction' is 'rtl' and 'width' and 'right' are 'auto' and 'left' is not 'auto' and 'writing-mode' is 'vertical-lr', then the width is based on the content and then solve for 'right'." />
+
+<style type="text/css"><![CDATA[
+@font-face {
+  font-family: Ahem;
+  src: url("../../../fonts/Ahem.ttf");
+}
+]]></style>
+  <style type="text/css"><![CDATA[
+  div#containing-block
+    {
+      background: red url("support/bg-red-2col-2row-320x320.png");
+      color: transparent;
+      direction: rtl;
+      font: 80px/1 Ahem;
+      height: 320px;
+      position: relative;
+      width: 320px;
+      writing-mode: vertical-lr;
+    }
+
+  div#containing-block > span
+    {
+      background-color: red;
+      color: green;
+      left: 1em;
+      position: absolute;
+      right: auto;
+      width: auto;
+    }
+
+/*
+"
+Layout calculation rules (such as those in CSS2.1, Section 10.3) that apply to the horizontal dimension in horizontal writing modes instead apply to the vertical dimension in vertical writing modes.
+"
+7.1 Principles of Layout in Vertical Writing Modes
+http://www.w3.org/TR/css-writing-modes-3/#vertical-layout
+
+So here, *left and *right properties are input into the §10.6.4 algorithms where *left properties refer to *top properties in the layout rules and where *right properties refer to *bottom properties in the layout rules.
+
+"
+1. 'top' and 'height' are 'auto' and 'bottom' is not 'auto', then the height is based on the content per 10.6.7, set 'auto' values for 'margin-top' and 'margin-bottom' to 0, and solve for 'top'
+"
+
+'left' + 'margin-left' + 'border-left-width' + 'padding-left' + 'width' + 'padding-right' + 'border-right-width' + 'margin-right' + 'right' = width of containing block
+
+So:
+
+  (solve) : right: auto
+  +
+      0px : margin-right
+  +
+      0px : border-right-width
+  +
+      0px : padding-right
+  +
+  (based on the content) : width: auto
+  +
+      0px : padding-left
+  +
+      0px : border-left-width
+  +
+      0px : margin-left
+  +
+     80px : left
+    =====================
+    320px : width of containing block
+
+gives us:
+
+  (solve) : right: auto
+  +
+      0px : margin-right
+  +
+      0px : border-right-width
+  +
+      0px : padding-right
+  +
+     80px : (based on the content) : width: auto
+  +
+      0px : padding-left
+  +
+      0px : border-left-width
+  +
+      0px : margin-left
+  +
+     80px : left
+    =====================
+    320px : width of containing block
+
+And so computed right value must be 160px .
+*/
+
+  ]]></style>
+
+ </head>
+
+ <body>
+
+  <p><img src="support/pass-cdts-abs-pos-non-replaced.png" width="246" height="36" alt="Image download support must be enabled" /></p>
+
+  <div id="containing-block">1 2 34<span>X</span></div>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/abs-pos-non-replaced-vlr-129.xht
@@ -0,0 +1,111 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Writing Modes Test: absolutely positioned non-replaced element - 'direction: rtl' and 'top' and 'height' are 'auto' and 'bottom' is not 'auto'</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+  <link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#vertical-layout" title="7.1 Principles of Layout in Vertical Writing Modes" />
+  <link rel="help" href="http://www.w3.org/TR/CSS21/visudet.html#abs-non-replaced-height" title="10.6.4 Absolutely positioned, non-replaced elements" />
+  <link rel="match" href="abs-pos-non-replaced-vlr-003-ref.xht" />
+
+  <meta name="flags" content="ahem image" />
+  <meta name="assert" content="When 'direction' is 'rtl' and 'top' and 'height' are 'auto' and 'bottom' is not 'auto', then the height is based on content and then solve for 'top'." />
+
+<style type="text/css"><![CDATA[
+@font-face {
+  font-family: Ahem;
+  src: url("../../../fonts/Ahem.ttf");
+}
+]]></style>
+  <style type="text/css"><![CDATA[
+  div#containing-block
+    {
+      background: red url("support/bg-red-2col-3row-320x320.png");
+      color: transparent;
+      direction: rtl;
+      font: 80px/1 Ahem;
+      height: 320px;
+      position: relative;
+      width: 320px;
+    }
+
+  div#containing-block > span
+    {
+      background-color: red;
+      bottom: 1em;
+      color: green;
+      height: auto;
+      position: absolute;
+      top: auto;
+      writing-mode: vertical-lr;
+    }
+
+/*
+"
+1. 'top' and 'height' are 'auto' and 'bottom' is not 'auto', then the height is based on the content per 10.6.7, set 'auto' values for 'margin-top' and 'margin-bottom' to 0, and solve for 'top'
+"
+
+'top' + 'margin-top' + 'border-top-width' + 'padding-top' + 'height' + 'padding-bottom' + 'border-bottom-width' + 'margin-bottom' + 'bottom' = height of containing block
+
+So:
+
+  (solve) : top: auto
+  +
+      0px : margin-top
+  +
+      0px : border-top-width
+  +
+      0px : padding-top
+  +
+  (based on content) : height: auto
+  +
+      0px : padding-bottom
+  +
+      0px : border-bottom-width
+  +
+      0px : margin-bottom
+  +
+     80px : bottom
+    =====================
+    320px : height of containing block
+
+gives us:
+
+  (solve) : top: auto
+  +
+      0px : margin-top
+  +
+      0px : border-top-width
+  +
+      0px : padding-top
+  +
+     80px : (based on content) : height: auto
+  +
+      0px : padding-bottom
+  +
+      0px : border-bottom-width
+  +
+      0px : margin-bottom
+  +
+     80px : bottom
+    =====================
+    320px : height of containing block
+
+And so computed top value must be 160px .
+*/
+
+  ]]></style>
+
+ </head>
+
+ <body>
+
+  <p><img src="support/pass-cdts-abs-pos-non-replaced.png" width="246" height="36" alt="Image download support must be enabled" /></p>
+
+  <div id="containing-block">1 2 34<span>X</span></div>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/abs-pos-non-replaced-vlr-131.xht
@@ -0,0 +1,123 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Writing Modes Test: absolutely positioned non-replaced element - 'direction: rtl' and 'width' and 'right' are 'auto' and 'left' is not 'auto'</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+  <link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#vertical-layout" title="7.1 Principles of Layout in Vertical Writing Modes" />
+  <link rel="help" href="http://www.w3.org/TR/CSS21/visudet.html#abs-non-replaced-height" title="10.6.4 Absolutely positioned, non-replaced elements" />
+  <link rel="match" href="abs-pos-non-replaced-vlr-013-ref.xht" />
+
+  <meta name="flags" content="ahem image" />
+  <meta name="assert" content="When 'direction' is 'rtl' and 'width' and 'right' are 'auto' and 'left' is not 'auto' and 'writing-mode' is 'vertical-lr', then the width is based on the content and then solve for 'right'." />
+
+<style type="text/css"><![CDATA[
+@font-face {
+  font-family: Ahem;
+  src: url("../../../fonts/Ahem.ttf");
+}
+]]></style>
+  <style type="text/css"><![CDATA[
+  html
+    {
+      writing-mode: vertical-lr;
+    }
+
+  div#containing-block
+    {
+      background: red url("support/bg-red-2col-2row-320x320.png");
+      color: transparent;
+      direction: rtl;
+      font: 80px/1 Ahem;
+      height: 320px;
+      position: relative;
+      width: 320px;
+    }
+
+  div#containing-block > span
+    {
+      background-color: red;
+      color: green;
+      left: 1em;
+      position: absolute;
+      right: auto;
+      width: auto;
+    }
+
+/*
+"
+Layout calculation rules (such as those in CSS2.1, Section 10.3) that apply to the horizontal dimension in horizontal writing modes instead apply to the vertical dimension in vertical writing modes.
+"
+7.1 Principles of Layout in Vertical Writing Modes
+http://www.w3.org/TR/css-writing-modes-3/#vertical-layout
+
+So here, *left and *right properties are input into the §10.6.4 algorithms where *left properties refer to *top properties in the layout rules and where *right properties refer to *bottom properties in the layout rules.
+
+"
+1. 'top' and 'height' are 'auto' and 'bottom' is not 'auto', then the height is based on the content per 10.6.7, set 'auto' values for 'margin-top' and 'margin-bottom' to 0, and solve for 'top'
+"
+
+'left' + 'margin-left' + 'border-left-width' + 'padding-left' + 'width' + 'padding-right' + 'border-right-width' + 'margin-right' + 'right' = width of containing block
+
+So:
+
+  (solve) : right: auto
+  +
+      0px : margin-right
+  +
+      0px : border-right-width
+  +
+      0px : padding-right
+  +
+  (based on the content) : width: auto
+  +
+      0px : padding-left
+  +
+      0px : border-left-width
+  +
+      0px : margin-left
+  +
+     80px : left
+    =====================
+    320px : width of containing block
+
+gives us:
+
+  (solve) : right: auto
+  +
+      0px : margin-right
+  +
+      0px : border-right-width
+  +
+      0px : padding-right
+  +
+     80px : (based on the content) : width: auto
+  +
+      0px : padding-left
+  +
+      0px : border-left-width
+  +
+      0px : margin-left
+  +
+     80px : left
+    =====================
+    320px : width of containing block
+
+And so computed right value must be 160px .
+*/
+
+  ]]></style>
+
+ </head>
+
+ <body>
+
+  <p><img src="support/pass-cdts-abs-pos-non-replaced.png" width="246" height="36" alt="Image download support must be enabled" /></p>
+
+  <div id="containing-block">1 2 34<span>X</span></div>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/abs-pos-non-replaced-vlr-133.xht
@@ -0,0 +1,120 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Writing Modes Test: absolutely positioned non-replaced element - 'direction: rtl' and 'width' and 'right' are 'auto' and 'left' is not 'auto'</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+  <link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#vertical-layout" title="7.1 Principles of Layout in Vertical Writing Modes" />
+  <link rel="help" href="http://www.w3.org/TR/CSS21/visudet.html#abs-non-replaced-height" title="10.6.4 Absolutely positioned, non-replaced elements" />
+  <link rel="match" href="abs-pos-non-replaced-vlr-009-ref.xht" />
+
+  <meta name="flags" content="ahem image" />
+  <meta name="assert" content="When 'direction' is 'rtl' and 'width' and 'right' are 'auto' and 'left' is not 'auto' and 'writing-mode' is 'vertical-lr', then the width is based on the content and then solve for 'right'." />
+
+<style type="text/css"><![CDATA[
+@font-face {
+  font-family: Ahem;
+  src: url("../../../fonts/Ahem.ttf");
+}
+]]></style>
+  <style type="text/css"><![CDATA[
+  div#containing-block
+    {
+      background: red url("support/bg-red-2col-2row-320x320.png");
+      color: transparent;
+      direction: rtl;
+      font: 80px/1 Ahem;
+      height: 320px;
+      position: relative;
+      width: 320px;
+      writing-mode: vertical-lr;
+    }
+
+  div#containing-block > span
+    {
+      background-color: red;
+      color: green;
+      left: 1em;
+      position: absolute;
+      right: auto;
+      width: auto;
+      writing-mode: horizontal-tb;
+    }
+
+/*
+"
+Layout calculation rules (such as those in CSS2.1, Section 10.3) that apply to the horizontal dimension in horizontal writing modes instead apply to the vertical dimension in vertical writing modes.
+"
+7.1 Principles of Layout in Vertical Writing Modes
+http://www.w3.org/TR/css-writing-modes-3/#vertical-layout
+
+So here, *left and *right properties are input into the §10.6.4 algorithms where *left properties refer to *top properties in the layout rules and where *right properties refer to *bottom properties in the layout rules.
+
+"
+1. 'top' and 'height' are 'auto' and 'bottom' is not 'auto', then the height is based on the content per 10.6.7, set 'auto' values for 'margin-top' and 'margin-bottom' to 0, and solve for 'top'
+"
+
+'left' + 'margin-left' + 'border-left-width' + 'padding-left' + 'width' + 'padding-right' + 'border-right-width' + 'margin-right' + 'right' = width of containing block
+
+So:
+
+  (solve) : right: auto
+  +
+      0px : margin-right
+  +
+      0px : border-right-width
+  +
+      0px : padding-right
+  +
+  (based on the content) : width: auto
+  +
+      0px : padding-left
+  +
+      0px : border-left-width
+  +
+      0px : margin-left
+  +
+     80px : left
+    =====================
+    320px : width of containing block
+
+gives us:
+
+  (solve) : right: auto
+  +
+      0px : margin-right
+  +
+      0px : border-right-width
+  +
+      0px : padding-right
+  +
+     80px : (based on the content) : width: auto
+  +
+      0px : padding-left
+  +
+      0px : border-left-width
+  +
+      0px : margin-left
+  +
+     80px : left
+    =====================
+    320px : width of containing block
+
+And so computed right value must be 160px .
+*/
+
+  ]]></style>
+
+ </head>
+
+ <body>
+
+  <p><img src="support/pass-cdts-abs-pos-non-replaced.png" width="246" height="36" alt="Image download support must be enabled" /></p>
+
+  <div id="containing-block">1 2 34<span>X</span></div>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/abs-pos-non-replaced-vlr-135.xht
@@ -0,0 +1,97 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Writing Modes Test: absolutely positioned non-replaced element - 'direction: ltr' and 'left' and 'right' are 'auto' and 'width' is not 'auto'</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+  <link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#vertical-layout" title="7.1 Principles of Layout in Vertical Writing Modes" />
+  <link rel="help" href="http://www.w3.org/TR/CSS21/visudet.html#abs-non-replaced-height" title="10.6.4 Absolutely positioned, non-replaced elements" />
+  <link rel="match" href="abs-pos-non-replaced-vlr-003-ref.xht" />
+
+  <meta name="flags" content="ahem image" />
+  <meta name="assert" content="When 'direction' is 'ltr' and 'left' and 'right' are 'auto' and 'width' is not 'auto' and 'writing-mode' is 'vertical-lr', then set 'left' to the static position and then solve for 'right'." />
+
+<style type="text/css"><![CDATA[
+@font-face {
+  font-family: Ahem;
+  src: url("../../../fonts/Ahem.ttf");
+}
+]]></style>
+  <style type="text/css"><![CDATA[
+  div#containing-block
+    {
+      background: red url("support/bg-red-2col-3row-320x320.png");
+      color: transparent;
+      direction: ltr;
+      font: 80px/1 Ahem;
+      height: 320px;
+      position: relative;
+      width: 320px;
+      writing-mode: vertical-lr;
+    }
+
+  div#containing-block > span
+    {
+      background-color: green;
+      height: 1em;
+      left: auto;
+      position: absolute;
+      right: auto;
+      width: 1em;
+    }
+
+/*
+"
+Layout calculation rules (such as those in CSS2.1, Section 10.3) that apply to the horizontal dimension in horizontal writing modes instead apply to the vertical dimension in vertical writing modes.
+"
+7.1 Principles of Layout in Vertical Writing Modes
+http://www.w3.org/TR/css-writing-modes-3/#vertical-layout
+
+So here, *left properties and *right properties are input into the §10.6.4 algorithms where *left properties refer to *top properties in the layout rules and where *right properties refer to *bottom properties in the layout rules.
+
+"
+2. 'top' and 'bottom' are 'auto' and 'height' is not 'auto', then set 'top' to the static position, set 'auto' values for 'margin-top' and 'margin-bottom' to 0, and solve for 'bottom'
+"
+
+'left' + 'margin-left' + 'border-left-width' + 'padding-left' + 'width' + 'padding-right' + 'border-right-width' + 'margin-right' + 'right' = width of containing block
+
+So:
+
+  (solve) : right: auto
+  +
+      0px : margin-right
+  +
+      0px : border-right-width
+  +
+      0px : padding-right
+  +
+     80px : width
+  +
+      0px : padding-left
+  +
+      0px : border-left-width
+  +
+      0px : margin-left
+  +
+     80px : left: auto: set to static position
+    =====================
+    320px : width of containing block
+
+And so computed right value must be 160px .
+*/
+
+  ]]></style>
+
+ </head>
+
+ <body>
+
+  <p><img src="support/pass-cdts-abs-pos-non-replaced.png" width="246" height="36" alt="Image download support must be enabled" /></p>
+
+  <div id="containing-block">1 2 34<span></span></div>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/abs-pos-non-replaced-vlr-137.xht
@@ -0,0 +1,89 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Writing Modes Test: absolutely positioned non-replaced element - 'direction: ltr' and 'top' and 'bottom' are 'auto' and 'height' is not 'auto'</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+  <link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#vertical-layout" title="7.1 Principles of Layout in Vertical Writing Modes" />
+  <link rel="help" href="http://www.w3.org/TR/CSS21/visudet.html#abs-non-replaced-height" title="10.6.4 Absolutely positioned, non-replaced elements" />
+  <link rel="match" href="abs-pos-non-replaced-vrl-004-ref.xht" />
+
+  <meta name="flags" content="ahem image" />
+  <meta name="assert" content="When 'direction' is 'ltr' and 'top' and 'bottom' are 'auto' and 'height' is not 'auto', then set 'top' to the static position and then solve for 'bottom'." />
+
+<style type="text/css"><![CDATA[
+@font-face {
+  font-family: Ahem;
+  src: url("../../../fonts/Ahem.ttf");
+}
+]]></style>
+  <style type="text/css"><![CDATA[
+  div#containing-block
+    {
+      background: red url("support/bg-red-3col-2row-320x320.png");
+      color: transparent;
+      direction: ltr;
+      font: 80px/1 Ahem;
+      height: 320px;
+      position: relative;
+      width: 320px;
+    }
+
+  div#containing-block > span
+    {
+      background-color: green;
+      bottom: auto;
+      height: 1em;
+      position: absolute;
+      top: auto;
+      width: 1em;
+      writing-mode: vertical-lr;
+    }
+
+/*
+"
+2. 'top' and 'bottom' are 'auto' and 'height' is not 'auto', then set 'top' to the static position, set 'auto' values for 'margin-top' and 'margin-bottom' to 0, and solve for 'bottom'
+"
+
+'top' + 'margin-top' + 'border-top-width' + 'padding-top' + 'height' + 'padding-bottom' + 'border-bottom-width' + 'margin-bottom' + 'bottom' = height of containing block
+
+So:
+
+     80px : top: auto: set to static position
+  +
+      0px : margin-top
+  +
+      0px : border-top-width
+  +
+      0px : padding-top
+  +
+     80px : height
+  +
+      0px : padding-bottom
+  +
+      0px : border-bottom-width
+  +
+      0px : margin-bottom
+  +
+  (solve) : bottom: auto
+    =====================
+    320px : height of containing block
+
+And so computed bottom value must be 160px .
+*/
+
+  ]]></style>
+
+ </head>
+
+ <body>
+
+  <p><img src="support/pass-cdts-abs-pos-non-replaced.png" width="246" height="36" alt="Image download support must be enabled" /></p>
+
+  <div id="containing-block">1 2 34<span></span></div>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/abs-pos-non-replaced-vlr-139.xht
@@ -0,0 +1,101 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Writing Modes Test: absolutely positioned non-replaced element - 'direction: ltr' and 'left' and 'right' are 'auto' and 'width' is not 'auto'</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+  <link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#vertical-layout" title="7.1 Principles of Layout in Vertical Writing Modes" />
+  <link rel="help" href="http://www.w3.org/TR/CSS21/visudet.html#abs-non-replaced-height" title="10.6.4 Absolutely positioned, non-replaced elements" />
+  <link rel="match" href="abs-pos-non-replaced-vlr-007-ref.xht" />
+
+  <meta name="flags" content="ahem image" />
+  <meta name="assert" content="When 'direction' is 'ltr' and 'left' and 'right' are 'auto' and 'width' is not 'auto' and 'writing-mode' is 'vertical-lr', then set 'left' to the static position and then solve for 'right'." />
+
+<style type="text/css"><![CDATA[
+@font-face {
+  font-family: Ahem;
+  src: url("../../../fonts/Ahem.ttf");
+}
+]]></style>
+  <style type="text/css"><![CDATA[
+  html
+    {
+      writing-mode: vertical-lr;
+    }
+
+  div#containing-block
+    {
+      background: red url("support/bg-red-2col-3row-320x320.png");
+      color: transparent;
+      direction: ltr;
+      font: 80px/1 Ahem;
+      height: 320px;
+      position: relative;
+      width: 320px;
+    }
+
+  div#containing-block > span
+    {
+      background-color: green;
+      height: 1em;
+      left: auto;
+      position: absolute;
+      right: auto;
+      width: 1em;
+    }
+
+/*
+"
+Layout calculation rules (such as those in CSS2.1, Section 10.3) that apply to the horizontal dimension in horizontal writing modes instead apply to the vertical dimension in vertical writing modes.
+"
+7.1 Principles of Layout in Vertical Writing Modes
+http://www.w3.org/TR/css-writing-modes-3/#vertical-layout
+
+So here, *left properties and *right properties are input into the §10.6.4 algorithms where *left properties refer to *top properties in the layout rules and where *right properties refer to *bottom properties in the layout rules.
+
+"
+2. 'top' and 'bottom' are 'auto' and 'height' is not 'auto', then set 'top' to the static position, set 'auto' values for 'margin-top' and 'margin-bottom' to 0, and solve for 'bottom'
+"
+
+'left' + 'margin-left' + 'border-left-width' + 'padding-left' + 'width' + 'padding-right' + 'border-right-width' + 'margin-right' + 'right' = width of containing block
+
+So:
+
+  (solve) : right: auto
+  +
+      0px : margin-right
+  +
+      0px : border-right-width
+  +
+      0px : padding-right
+  +
+     80px : width
+  +
+      0px : padding-left
+  +
+      0px : border-left-width
+  +
+      0px : margin-left
+  +
+     80px : left: auto: set to static position
+    =====================
+    320px : width of containing block
+
+And so computed right value must be 160px .
+*/
+
+  ]]></style>
+
+ </head>
+
+ <body>
+
+  <p><img src="support/pass-cdts-abs-pos-non-replaced.png" width="246" height="36" alt="Image download support must be enabled" /></p>
+
+  <div id="containing-block">1 2 34<span></span></div>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/abs-pos-non-replaced-vlr-141.xht
@@ -0,0 +1,98 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Writing Modes Test: absolutely positioned non-replaced element - 'direction: ltr' and 'left' and 'right' are 'auto' and 'width' is not 'auto'</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+  <link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#vertical-layout" title="7.1 Principles of Layout in Vertical Writing Modes" />
+  <link rel="help" href="http://www.w3.org/TR/CSS21/visudet.html#abs-non-replaced-height" title="10.6.4 Absolutely positioned, non-replaced elements" />
+  <link rel="match" href="abs-pos-non-replaced-vlr-003-ref.xht" />
+
+  <meta name="flags" content="ahem image" />
+  <meta name="assert" content="When 'direction' is 'ltr' and 'left' and 'right' are 'auto' and 'width' is not 'auto' and 'writing-mode' is 'vertical-lr', then set 'left' to the static position and then solve for 'right'." />
+
+<style type="text/css"><![CDATA[
+@font-face {
+  font-family: Ahem;
+  src: url("../../../fonts/Ahem.ttf");
+}
+]]></style>
+  <style type="text/css"><![CDATA[
+  div#containing-block
+    {
+      background: red url("support/bg-red-2col-3row-320x320.png");
+      color: transparent;
+      direction: ltr;
+      font: 80px/1 Ahem;
+      height: 320px;
+      position: relative;
+      width: 320px;
+      writing-mode: vertical-lr;
+    }
+
+  div#containing-block > span
+    {
+      background-color: green;
+      height: 1em;
+      left: auto;
+      position: absolute;
+      right: auto;
+      width: 1em;
+      writing-mode: horizontal-tb;
+    }
+
+/*
+"
+Layout calculation rules (such as those in CSS2.1, Section 10.3) that apply to the horizontal dimension in horizontal writing modes instead apply to the vertical dimension in vertical writing modes.
+"
+7.1 Principles of Layout in Vertical Writing Modes
+http://www.w3.org/TR/css-writing-modes-3/#vertical-layout
+
+So here, *left properties and *right properties are input into the §10.6.4 algorithms where *left properties refer to *top properties in the layout rules and where *right properties refer to *bottom properties in the layout rules.
+
+"
+2. 'top' and 'bottom' are 'auto' and 'height' is not 'auto', then set 'top' to the static position, set 'auto' values for 'margin-top' and 'margin-bottom' to 0, and solve for 'bottom'
+"
+
+'left' + 'margin-left' + 'border-left-width' + 'padding-left' + 'width' + 'padding-right' + 'border-right-width' + 'margin-right' + 'right' = width of containing block
+
+So:
+
+  (solve) : right: auto
+  +
+      0px : margin-right
+  +
+      0px : border-right-width
+  +
+      0px : padding-right
+  +
+     80px : width
+  +
+      0px : padding-left
+  +
+      0px : border-left-width
+  +
+      0px : margin-left
+  +
+     80px : left: auto: set to static position
+    =====================
+    320px : width of containing block
+
+And so computed right value must be 160px .
+*/
+
+  ]]></style>
+
+ </head>
+
+ <body>
+
+  <p><img src="support/pass-cdts-abs-pos-non-replaced.png" width="246" height="36" alt="Image download support must be enabled" /></p>
+
+  <div id="containing-block">1 2 34<span></span></div>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/abs-pos-non-replaced-vlr-143.xht
@@ -0,0 +1,97 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Writing Modes Test: absolutely positioned non-replaced element - 'direction: rtl' and 'left' and 'right' are 'auto' and 'width' is not 'auto'</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+  <link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#vertical-layout" title="7.1 Principles of Layout in Vertical Writing Modes" />
+  <link rel="help" href="http://www.w3.org/TR/CSS21/visudet.html#abs-non-replaced-height" title="10.6.4 Absolutely positioned, non-replaced elements" />
+  <link rel="match" href="abs-pos-non-replaced-vlr-009-ref.xht" />
+
+  <meta name="flags" content="ahem image" />
+  <meta name="assert" content="When 'direction' is 'rtl' and 'left' and 'right' are 'auto' and 'width' is not 'auto' and 'writing-mode' is 'vertical-lr', then set 'left' to the static position and then solve for 'right'." />
+
+<style type="text/css"><![CDATA[
+@font-face {
+  font-family: Ahem;
+  src: url("../../../fonts/Ahem.ttf");
+}
+]]></style>
+  <style type="text/css"><![CDATA[
+  div#containing-block
+    {
+      background: red url("support/bg-red-2col-2row-320x320.png");
+      color: transparent;
+      direction: rtl;
+      font: 80px/1 Ahem;
+      height: 320px;
+      position: relative;
+      width: 320px;
+      writing-mode: vertical-lr;
+    }
+
+  div#containing-block > span
+    {
+      background-color: green;
+      height: 1em;
+      left: auto;
+      position: absolute;
+      right: auto;
+      width: 1em;
+    }
+
+/*
+"
+Layout calculation rules (such as those in CSS2.1, Section 10.3) that apply to the horizontal dimension in horizontal writing modes instead apply to the vertical dimension in vertical writing modes.
+"
+7.1 Principles of Layout in Vertical Writing Modes
+http://www.w3.org/TR/css-writing-modes-3/#vertical-layout
+
+So here, *left properties and *right properties are input into the §10.6.4 algorithms where *left properties refer to *top properties in the layout rules and where *right properties refer to *bottom properties in the layout rules.
+
+"
+2. 'top' and 'bottom' are 'auto' and 'height' is not 'auto', then set 'top' to the static position, set 'auto' values for 'margin-top' and 'margin-bottom' to 0, and solve for 'bottom'
+"
+
+'left' + 'margin-left' + 'border-left-width' + 'padding-left' + 'width' + 'padding-right' + 'border-right-width' + 'margin-right' + 'right' = width of containing block
+
+So:
+
+  (solve) : right: auto
+  +
+      0px : margin-right
+  +
+      0px : border-right-width
+  +
+      0px : padding-right
+  +
+     80px : width
+  +
+      0px : padding-left
+  +
+      0px : border-left-width
+  +
+      0px : margin-left
+  +
+     80px : left: auto: set to static position
+    =====================
+    320px : width of containing block
+
+And so computed right value must be 160px .
+*/
+
+  ]]></style>
+
+ </head>
+
+ <body>
+
+  <p><img src="support/pass-cdts-abs-pos-non-replaced.png" width="246" height="36" alt="Image download support must be enabled" /></p>
+
+  <div id="containing-block">1 2 34<span>X</span></div>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/abs-pos-non-replaced-vlr-145.xht
@@ -0,0 +1,89 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Writing Modes Test: absolutely positioned non-replaced element - 'direction: rtl' and 'top' and 'bottom' are 'auto' and 'height' is not 'auto'</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+  <link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#vertical-layout" title="7.1 Principles of Layout in Vertical Writing Modes" />
+  <link rel="help" href="http://www.w3.org/TR/CSS21/visudet.html#abs-non-replaced-height" title="10.6.4 Absolutely positioned, non-replaced elements" />
+  <link rel="match" href="abs-pos-non-replaced-vlr-009-ref.xht" />
+
+  <meta name="flags" content="ahem image" />
+  <meta name="assert" content="When 'direction' is 'rtl' and 'top' and 'bottom' are 'auto' and 'height' is not 'auto', then set 'top' to the static position and then solve for 'bottom'." />
+
+<style type="text/css"><![CDATA[
+@font-face {
+  font-family: Ahem;
+  src: url("../../../fonts/Ahem.ttf");
+}
+]]></style>
+  <style type="text/css"><![CDATA[
+  div#containing-block
+    {
+      background: red url("support/bg-red-2col-2row-320x320.png");
+      color: transparent;
+      direction: rtl;
+      font: 80px/1 Ahem;
+      height: 320px;
+      position: relative;
+      width: 320px;
+    }
+
+  div#containing-block > span
+    {
+      background-color: green;
+      bottom: auto;
+      height: 1em;
+      position: absolute;
+      top: auto;
+      width: 1em;
+      writing-mode: vertical-lr;
+    }
+
+/*
+"
+2. 'top' and 'bottom' are 'auto' and 'height' is not 'auto', then set 'top' to the static position, set 'auto' values for 'margin-top' and 'margin-bottom' to 0, and solve for 'bottom'
+"
+
+'top' + 'margin-top' + 'border-top-width' + 'padding-top' + 'height' + 'padding-bottom' + 'border-bottom-width' + 'margin-bottom' + 'bottom' = height of containing block
+
+So:
+
+     80px : top: auto: set to static position
+  +
+      0px : margin-top
+  +
+      0px : border-top-width
+  +
+      0px : padding-top
+  +
+     80px : height
+  +
+      0px : padding-bottom
+  +
+      0px : border-bottom-width
+  +
+      0px : margin-bottom
+  +
+  (solve) : bottom: auto
+    =====================
+    320px : height of containing block
+
+And so computed bottom value must be 160px .
+*/
+
+  ]]></style>
+
+ </head>
+
+ <body>
+
+  <p><img src="support/pass-cdts-abs-pos-non-replaced.png" width="246" height="36" alt="Image download support must be enabled" /></p>
+
+  <div id="containing-block">1 2 34<span></span></div>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/abs-pos-non-replaced-vlr-147.xht
@@ -0,0 +1,101 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Writing Modes Test: absolutely positioned non-replaced element - 'direction: rtl' and 'left' and 'right' are 'auto' and 'width' is not 'auto'</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+  <link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#vertical-layout" title="7.1 Principles of Layout in Vertical Writing Modes" />
+  <link rel="help" href="http://www.w3.org/TR/CSS21/visudet.html#abs-non-replaced-height" title="10.6.4 Absolutely positioned, non-replaced elements" />
+  <link rel="match" href="abs-pos-non-replaced-vlr-013-ref.xht" />
+
+  <meta name="flags" content="ahem image" />
+  <meta name="assert" content="When 'direction' is 'rtl' and 'left' and 'right' are 'auto' and 'width' is not 'auto' and 'writing-mode' is 'vertical-lr', then set 'left' to the static position and then solve for 'right'." />
+
+<style type="text/css"><![CDATA[
+@font-face {
+  font-family: Ahem;
+  src: url("../../../fonts/Ahem.ttf");
+}
+]]></style>
+  <style type="text/css"><![CDATA[
+  html
+    {
+      writing-mode: vertical-lr;
+    }
+
+  div#containing-block
+    {
+      background: red url("support/bg-red-2col-2row-320x320.png");
+      color: transparent;
+      direction: rtl;
+      font: 80px/1 Ahem;
+      height: 320px;
+      position: relative;
+      width: 320px;
+    }
+
+  div#containing-block > span
+    {
+      background-color: green;
+      height: 1em;
+      left: auto;
+      position: absolute;
+      right: auto;
+      width: 1em;
+    }
+
+/*
+"
+Layout calculation rules (such as those in CSS2.1, Section 10.3) that apply to the horizontal dimension in horizontal writing modes instead apply to the vertical dimension in vertical writing modes.
+"
+7.1 Principles of Layout in Vertical Writing Modes
+http://www.w3.org/TR/css-writing-modes-3/#vertical-layout
+
+So here, *left properties and *right properties are input into the §10.6.4 algorithms where *left properties refer to *top properties in the layout rules and where *right properties refer to *bottom properties in the layout rules.
+
+"
+2. 'top' and 'bottom' are 'auto' and 'height' is not 'auto', then set 'top' to the static position, set 'auto' values for 'margin-top' and 'margin-bottom' to 0, and solve for 'bottom'
+"
+
+'left' + 'margin-left' + 'border-left-width' + 'padding-left' + 'width' + 'padding-right' + 'border-right-width' + 'margin-right' + 'right' = width of containing block
+
+So:
+
+  (solve) : right: auto
+  +
+      0px : margin-right
+  +
+      0px : border-right-width
+  +
+      0px : padding-right
+  +
+     80px : width
+  +
+      0px : padding-left
+  +
+      0px : border-left-width
+  +
+      0px : margin-left
+  +
+     80px : left: auto: set to static position
+    =====================
+    320px : width of containing block
+
+And so computed right value must be 160px .
+*/
+
+  ]]></style>
+
+ </head>
+
+ <body>
+
+  <p><img src="support/pass-cdts-abs-pos-non-replaced.png" width="246" height="36" alt="Image download support must be enabled" /></p>
+
+  <div id="containing-block">1 2 34<span></span></div>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/abs-pos-non-replaced-vlr-149.xht
@@ -0,0 +1,98 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Writing Modes Test: absolutely positioned non-replaced element - 'direction: rtl' and 'left' and 'right' are 'auto' and 'width' is not 'auto'</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+  <link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#vertical-layout" title="7.1 Principles of Layout in Vertical Writing Modes" />
+  <link rel="help" href="http://www.w3.org/TR/CSS21/visudet.html#abs-non-replaced-height" title="10.6.4 Absolutely positioned, non-replaced elements" />
+  <link rel="match" href="abs-pos-non-replaced-vlr-009-ref.xht" />
+
+  <meta name="flags" content="ahem image" />
+  <meta name="assert" content="When 'direction' is 'rtl' and 'left' and 'right' are 'auto' and 'width' is not 'auto' and 'writing-mode' is 'vertical-lr', then set 'left' to the static position and then solve for 'right'." />
+
+<style type="text/css"><![CDATA[
+@font-face {
+  font-family: Ahem;
+  src: url("../../../fonts/Ahem.ttf");
+}
+]]></style>
+  <style type="text/css"><![CDATA[
+  div#containing-block
+    {
+      background: red url("support/bg-red-2col-2row-320x320.png");
+      color: transparent;
+      direction: rtl;
+      font: 80px/1 Ahem;
+      height: 320px;
+      position: relative;
+      width: 320px;
+      writing-mode: vertical-lr;
+    }
+
+  div#containing-block > span
+    {
+      background-color: green;
+      height: 1em;
+      left: auto;
+      position: absolute;
+      right: auto;
+      width: 1em;
+      writing-mode: horizontal-tb;
+    }
+
+/*
+"
+Layout calculation rules (such as those in CSS2.1, Section 10.3) that apply to the horizontal dimension in horizontal writing modes instead apply to the vertical dimension in vertical writing modes.
+"
+7.1 Principles of Layout in Vertical Writing Modes
+http://www.w3.org/TR/css-writing-modes-3/#vertical-layout
+
+So here, *left properties and *right properties are input into the §10.6.4 algorithms where *left properties refer to *top properties in the layout rules and where *right properties refer to *bottom properties in the layout rules.
+
+"
+2. 'top' and 'bottom' are 'auto' and 'height' is not 'auto', then set 'top' to the static position, set 'auto' values for 'margin-top' and 'margin-bottom' to 0, and solve for 'bottom'
+"
+
+'left' + 'margin-left' + 'border-left-width' + 'padding-left' + 'width' + 'padding-right' + 'border-right-width' + 'margin-right' + 'right' = width of containing block
+
+So:
+
+  (solve) : right: auto
+  +
+      0px : margin-right
+  +
+      0px : border-right-width
+  +
+      0px : padding-right
+  +
+     80px : width
+  +
+      0px : padding-left
+  +
+      0px : border-left-width
+  +
+      0px : margin-left
+  +
+     80px : left: auto: set to static position
+    =====================
+    320px : width of containing block
+
+And so computed right value must be 160px .
+*/
+
+  ]]></style>
+
+ </head>
+
+ <body>
+
+  <p><img src="support/pass-cdts-abs-pos-non-replaced.png" width="246" height="36" alt="Image download support must be enabled" /></p>
+
+  <div id="containing-block">1 2 34<span></span></div>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/abs-pos-non-replaced-vlr-151.xht
@@ -0,0 +1,97 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Writing Modes Test: absolutely positioned non-replaced element - 'direction: ltr' and 'left' and 'width' are 'auto' and 'right' is not 'auto'</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+  <link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#vertical-layout" title="7.1 Principles of Layout in Vertical Writing Modes" />
+  <link rel="help" href="http://www.w3.org/TR/CSS21/visudet.html#abs-non-replaced-height" title="10.6.4 Absolutely positioned, non-replaced elements" />
+  <link rel="match" href="abs-pos-non-replaced-vrl-002-ref.xht" />
+
+  <meta name="flags" content="ahem image" />
+  <meta name="assert" content="When 'direction' is 'ltr' and 'left' and 'width' are 'auto' and 'right' is not 'auto' and 'writing-mode' is 'vertical-lr', then the width is based on the content and then solve for 'left'." />
+
+<style type="text/css"><![CDATA[
+@font-face {
+  font-family: Ahem;
+  src: url("../../../fonts/Ahem.ttf");
+}
+]]></style>
+  <style type="text/css"><![CDATA[
+  div#containing-block
+    {
+      background: red url("support/bg-red-3col-3row-320x320.png");
+      color: transparent;
+      direction: ltr;
+      font: 80px/1 Ahem;
+      height: 320px;
+      position: relative;
+      width: 320px;
+      writing-mode: vertical-lr;
+    }
+
+  div#containing-block > span
+    {
+      background-color: red;
+      color: green;
+      left: auto;
+      position: absolute;
+      right: 1em;
+      width: auto;
+    }
+
+/*
+"
+Layout calculation rules (such as those in CSS2.1, Section 10.3) that apply to the horizontal dimension in horizontal writing modes instead apply to the vertical dimension in vertical writing modes.
+"
+7.1 Principles of Layout in Vertical Writing Modes
+http://www.w3.org/TR/css-writing-modes-3/#vertical-layout
+
+So here, *left properties and *right properties are input into the §10.6.4 algorithms where *left properties refer to *top properties in the layout rules and where *right properties refer to *bottom properties in the layout rules.
+
+"
+3. 'height' and 'bottom' are 'auto' and 'top' is not 'auto', then the height is based on the content per 10.6.7, set 'auto' values for 'margin-top' and 'margin-bottom' to 0, and solve for 'bottom'
+"
+
+'left' + 'margin-left' + 'border-left-width' + 'padding-left' + 'width' + 'padding-right' + 'border-right-width' + 'margin-right' + 'right' = width of containing block
+
+So:
+
+     80px : right
+  +
+      0px : margin-right
+  +
+      0px : border-right-width
+  +
+      0px : padding-right
+  +
+     80px : (based on the content) : width: auto
+  +
+      0px : padding-left
+  +
+      0px : border-left-width
+  +
+      0px : margin-left
+  +
+  (solve) : left: auto
+    =====================
+    320px : width of containing block
+
+And so computed left value must be 160px .
+*/
+
+  ]]></style>
+
+ </head>
+
+ <body>
+
+  <p><img src="support/pass-cdts-abs-pos-non-replaced.png" width="246" height="36" alt="Image download support must be enabled" /></p>
+
+  <div id="containing-block">1 2 34<span>X</span></div>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/abs-pos-non-replaced-vlr-153.xht
@@ -0,0 +1,89 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Writing Modes Test: absolutely positioned non-replaced element - 'direction: ltr' and 'height' and 'bottom' are 'auto' and 'top' is not 'auto'</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+  <link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#vertical-layout" title="7.1 Principles of Layout in Vertical Writing Modes" />
+  <link rel="help" href="http://www.w3.org/TR/CSS21/visudet.html#abs-non-replaced-height" title="10.6.4 Absolutely positioned, non-replaced elements" />
+  <link rel="match" href="abs-pos-non-replaced-vrl-004-ref.xht" />
+
+  <meta name="flags" content="ahem image" />
+  <meta name="assert" content="When 'direction' is 'ltr' and 'height' and 'bottom' are 'auto' and 'top' is not 'auto', then the height is based on content and then solve for 'bottom'." />
+
+<style type="text/css"><![CDATA[
+@font-face {
+  font-family: Ahem;
+  src: url("../../../fonts/Ahem.ttf");
+}
+]]></style>
+  <style type="text/css"><![CDATA[
+  div#containing-block
+    {
+      background: red url("support/bg-red-3col-2row-320x320.png");
+      color: transparent;
+      direction: ltr;
+      font: 80px/1 Ahem;
+      height: 320px;
+      position: relative;
+      width: 320px;
+    }
+
+  div#containing-block > span
+    {
+      background-color: red;
+      bottom: auto;
+      color: green;
+      height: auto;
+      position: absolute;
+      top: 1em;
+      writing-mode: vertical-lr;
+    }
+
+/*
+"
+3. 'height' and 'bottom' are 'auto' and 'top' is not 'auto', then the height is based on the content per 10.6.7, set 'auto' values for 'margin-top' and 'margin-bottom' to 0, and solve for 'bottom'
+"
+
+'top' + 'margin-top' + 'border-top-width' + 'padding-top' + 'height' + 'padding-bottom' + 'border-bottom-width' + 'margin-bottom' + 'bottom' = height of containing block
+
+So:
+
+     80px : top
+  +
+      0px : margin-top
+  +
+      0px : border-top-width
+  +
+      0px : padding-top
+  +
+     80px : (based on content) : height: auto
+  +
+      0px : padding-bottom
+  +
+      0px : border-bottom-width
+  +
+      0px : margin-bottom
+  +
+  (solve) : bottom: auto
+    =====================
+    320px : height of containing block
+
+And so computed bottom value must be 160px .
+*/
+
+  ]]></style>
+
+ </head>
+
+ <body>
+
+  <p><img src="support/pass-cdts-abs-pos-non-replaced.png" width="246" height="36" alt="Image download support must be enabled" /></p>
+
+  <div id="containing-block">1 2 34<span>X</span></div>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/abs-pos-non-replaced-vlr-155-ref.xht
@@ -0,0 +1,38 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Reftest Reference</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+
+  <meta content="image" name="flags" />
+
+  <style type="text/css"><![CDATA[
+  div
+    {
+      margin-left: 0.5em;
+    }
+
+  img
+    {
+      vertical-align: top;
+    }
+
+  img#green-square
+    {
+      position: relative;
+      left: 176px;
+      top: 160px;
+    }
+  ]]></style>
+ </head>
+
+ <body>
+
+  <div><img src="support/pass-cdts-abs-pos-non-replaced.png" width="246" height="36" alt="Image download support must be enabled" /><img id="green-square" src="support/swatch-green.png" width="80" height="80" alt="Image download support must be enabled" /></div>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/abs-pos-non-replaced-vlr-155.xht
@@ -0,0 +1,101 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Writing Modes Test: absolutely positioned non-replaced element - 'direction: ltr' and 'left' and 'width' are 'auto' and 'right' is not 'auto'</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+  <link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#vertical-layout" title="7.1 Principles of Layout in Vertical Writing Modes" />
+  <link rel="help" href="http://www.w3.org/TR/CSS21/visudet.html#abs-non-replaced-height" title="10.6.4 Absolutely positioned, non-replaced elements" />
+  <link rel="match" href="abs-pos-non-replaced-vlr-155-ref.xht" />
+
+  <meta name="flags" content="ahem image" />
+  <meta name="assert" content="When 'direction' is 'ltr' and 'left' and 'width' are 'auto' and 'right' is not 'auto' and 'writing-mode' is 'vertical-lr', then the width is based on the content and then solve for 'left'." />
+
+<style type="text/css"><![CDATA[
+@font-face {
+  font-family: Ahem;
+  src: url("../../../fonts/Ahem.ttf");
+}
+]]></style>
+  <style type="text/css"><![CDATA[
+  html
+    {
+      writing-mode: vertical-lr;
+    }
+
+  div#containing-block
+    {
+      background: red url("support/bg-red-3col-3row-320x320.png");
+      color: transparent;
+      direction: ltr;
+      font: 80px/1 Ahem;
+      height: 320px;
+      position: relative;
+      width: 320px;
+    }
+
+  div#containing-block > span
+    {
+      background-color: red;
+      color: green;
+      left: auto;
+      position: absolute;
+      right: 1em;
+      width: auto;
+    }
+
+/*
+"
+Layout calculation rules (such as those in CSS2.1, Section 10.3) that apply to the horizontal dimension in horizontal writing modes instead apply to the vertical dimension in vertical writing modes.
+"
+7.1 Principles of Layout in Vertical Writing Modes
+http://www.w3.org/TR/css-writing-modes-3/#vertical-layout
+
+So here, *left properties and *right properties are input into the §10.6.4 algorithms where *left properties refer to *top properties in the layout rules and where *right properties refer to *bottom properties in the layout rules.
+
+"
+3. 'height' and 'bottom' are 'auto' and 'top' is not 'auto', then the height is based on the content per 10.6.7, set 'auto' values for 'margin-top' and 'margin-bottom' to 0, and solve for 'bottom'
+"
+
+'left' + 'margin-left' + 'border-left-width' + 'padding-left' + 'width' + 'padding-right' + 'border-right-width' + 'margin-right' + 'right' = width of containing block
+
+So:
+
+     80px : right
+  +
+      0px : margin-right
+  +
+      0px : border-right-width
+  +
+      0px : padding-right
+  +
+     80px : (based on the content) : width: auto
+  +
+      0px : padding-left
+  +
+      0px : border-left-width
+  +
+      0px : margin-left
+  +
+  (solve) : left: auto
+    =====================
+    320px : width of containing block
+
+And so computed left value must be 160px .
+*/
+
+  ]]></style>
+
+ </head>
+
+ <body>
+
+  <p><img src="support/pass-cdts-abs-pos-non-replaced.png" width="246" height="36" alt="Image download support must be enabled" /></p>
+
+  <div id="containing-block">1 2 34<span>X</span></div>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/abs-pos-non-replaced-vlr-157.xht
@@ -0,0 +1,98 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Writing Modes Test: absolutely positioned non-replaced element - 'direction: ltr' and 'left' and 'width' are 'auto' and 'right' is not 'auto'</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+  <link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#vertical-layout" title="7.1 Principles of Layout in Vertical Writing Modes" />
+  <link rel="help" href="http://www.w3.org/TR/CSS21/visudet.html#abs-non-replaced-height" title="10.6.4 Absolutely positioned, non-replaced elements" />
+  <link rel="match" href="abs-pos-non-replaced-vrl-002-ref.xht" />
+
+  <meta name="flags" content="ahem image" />
+  <meta name="assert" content="When 'direction' is 'ltr' and 'left' and 'width' are 'auto' and 'right' is not 'auto' and 'writing-mode' is 'vertical-lr', then the width is based on the content and then solve for 'left'." />
+
+<style type="text/css"><![CDATA[
+@font-face {
+  font-family: Ahem;
+  src: url("../../../fonts/Ahem.ttf");
+}
+]]></style>
+  <style type="text/css"><![CDATA[
+  div#containing-block
+    {
+      background: red url("support/bg-red-3col-3row-320x320.png");
+      color: transparent;
+      direction: ltr;
+      font: 80px/1 Ahem;
+      height: 320px;
+      position: relative;
+      width: 320px;
+      writing-mode: vertical-lr;
+    }
+
+  div#containing-block > span
+    {
+      background-color: red;
+      color: green;
+      left: auto;
+      position: absolute;
+      right: 1em;
+      width: auto;
+      writing-mode: horizontal-tb;
+    }
+
+/*
+"
+Layout calculation rules (such as those in CSS2.1, Section 10.3) that apply to the horizontal dimension in horizontal writing modes instead apply to the vertical dimension in vertical writing modes.
+"
+7.1 Principles of Layout in Vertical Writing Modes
+http://www.w3.org/TR/css-writing-modes-3/#vertical-layout
+
+So here, *left properties and *right properties are input into the §10.6.4 algorithms where *left properties refer to *top properties in the layout rules and where *right properties refer to *bottom properties in the layout rules.
+
+"
+3. 'height' and 'bottom' are 'auto' and 'top' is not 'auto', then the height is based on the content per 10.6.7, set 'auto' values for 'margin-top' and 'margin-bottom' to 0, and solve for 'bottom'
+"
+
+'left' + 'margin-left' + 'border-left-width' + 'padding-left' + 'width' + 'padding-right' + 'border-right-width' + 'margin-right' + 'right' = width of containing block
+
+So:
+
+     80px : right
+  +
+      0px : margin-right
+  +
+      0px : border-right-width
+  +
+      0px : padding-right
+  +
+     80px : (based on the content) : width: auto
+  +
+      0px : padding-left
+  +
+      0px : border-left-width
+  +
+      0px : margin-left
+  +
+  (solve) : left: auto
+    =====================
+    320px : width of containing block
+
+And so computed left value must be 160px .
+*/
+
+  ]]></style>
+
+ </head>
+
+ <body>
+
+  <p><img src="support/pass-cdts-abs-pos-non-replaced.png" width="246" height="36" alt="Image download support must be enabled" /></p>
+
+  <div id="containing-block">1 2 34<span>X</span></div>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/abs-pos-non-replaced-vlr-159.xht
@@ -0,0 +1,97 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Writing Modes Test: absolutely positioned non-replaced element - 'direction: rtl' and 'left' and 'width' are 'auto' and 'right' is not 'auto'</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+  <link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#vertical-layout" title="7.1 Principles of Layout in Vertical Writing Modes" />
+  <link rel="help" href="http://www.w3.org/TR/CSS21/visudet.html#abs-non-replaced-height" title="10.6.4 Absolutely positioned, non-replaced elements" />
+  <link rel="match" href="abs-pos-non-replaced-vrl-004-ref.xht" />
+
+  <meta name="flags" content="ahem image" />
+  <meta name="assert" content="When 'direction' is 'rtl' and 'left' and 'width' are 'auto' and 'right' is not 'auto' and 'writing-mode' is 'vertical-lr', then the width is based on the content and then solve for 'left'." />
+
+<style type="text/css"><![CDATA[
+@font-face {
+  font-family: Ahem;
+  src: url("../../../fonts/Ahem.ttf");
+}
+]]></style>
+  <style type="text/css"><![CDATA[
+  div#containing-block
+    {
+      background: red url("support/bg-red-3col-2row-320x320.png");
+      color: transparent;
+      direction: rtl;
+      font: 80px/1 Ahem;
+      height: 320px;
+      position: relative;
+      width: 320px;
+      writing-mode: vertical-lr;
+    }
+
+  div#containing-block > span
+    {
+      background-color: red;
+      color: green;
+      left: auto;
+      position: absolute;
+      right: 1em;
+      width: auto;
+    }
+
+/*
+"
+Layout calculation rules (such as those in CSS2.1, Section 10.3) that apply to the horizontal dimension in horizontal writing modes instead apply to the vertical dimension in vertical writing modes.
+"
+7.1 Principles of Layout in Vertical Writing Modes
+http://www.w3.org/TR/css-writing-modes-3/#vertical-layout
+
+So here, *left properties and *right properties are input into the §10.6.4 algorithms where *left properties refer to *top properties in the layout rules and where *right properties refer to *bottom properties in the layout rules.
+
+"
+3. 'height' and 'bottom' are 'auto' and 'top' is not 'auto', then the height is based on the content per 10.6.7, set 'auto' values for 'margin-top' and 'margin-bottom' to 0, and solve for 'bottom'
+"
+
+'left' + 'margin-left' + 'border-left-width' + 'padding-left' + 'width' + 'padding-right' + 'border-right-width' + 'margin-right' + 'right' = width of containing block
+
+So:
+
+     80px : right
+  +
+      0px : margin-right
+  +
+      0px : border-right-width
+  +
+      0px : padding-right
+  +
+     80px : (based on the content) : width: auto
+  +
+      0px : padding-left
+  +
+      0px : border-left-width
+  +
+      0px : margin-left
+  +
+  (solve) : left: auto
+    =====================
+    320px : width of containing block
+
+And so computed left value must be 160px .
+*/
+
+  ]]></style>
+
+ </head>
+
+ <body>
+
+  <p><img src="support/pass-cdts-abs-pos-non-replaced.png" width="246" height="36" alt="Image download support must be enabled" /></p>
+
+  <div id="containing-block">1 2 34<span>X</span></div>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/abs-pos-non-replaced-vlr-161.xht
@@ -0,0 +1,89 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Writing Modes Test: absolutely positioned non-replaced element - 'direction: rtl' and 'height' and 'bottom' are 'auto' and 'top' is not 'auto'</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+  <link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#vertical-layout" title="7.1 Principles of Layout in Vertical Writing Modes" />
+  <link rel="help" href="http://www.w3.org/TR/CSS21/visudet.html#abs-non-replaced-height" title="10.6.4 Absolutely positioned, non-replaced elements" />
+  <link rel="match" href="abs-pos-non-replaced-vlr-009-ref.xht" />
+
+  <meta name="flags" content="ahem image" />
+  <meta name="assert" content="When 'direction' is 'rtl' and 'height' and 'bottom' are 'auto' and 'top' is not 'auto' and 'writing-mode' is 'vertical-lr', then then the height is based on the content and then solve for 'bottom'." />
+
+<style type="text/css"><![CDATA[
+@font-face {
+  font-family: Ahem;
+  src: url("../../../fonts/Ahem.ttf");
+}
+]]></style>
+  <style type="text/css"><![CDATA[
+  div#containing-block
+    {
+      background: red url("support/bg-red-2col-2row-320x320.png");
+      color: transparent;
+      direction: rtl;
+      font: 80px/1 Ahem;
+      height: 320px;
+      position: relative;
+      width: 320px;
+    }
+
+  div#containing-block > span
+    {
+      background-color: red;
+      bottom: auto;
+      color: green;
+      height: auto;
+      position: absolute;
+      top: 1em;
+      writing-mode: vertical-lr;
+    }
+
+/*
+"
+3. 'height' and 'bottom' are 'auto' and 'top' is not 'auto', then the height is based on the content per 10.6.7, set 'auto' values for 'margin-top' and 'margin-bottom' to 0, and solve for 'bottom'
+"
+
+'top' + 'margin-top' + 'border-top-width' + 'padding-top' + 'height' + 'padding-bottom' + 'border-bottom-width' + 'margin-bottom' + 'bottom' = height of containing block
+
+So:
+
+     80px : top
+  +
+      0px : margin-top
+  +
+      0px : border-top-width
+  +
+      0px : padding-top
+  +
+     80px : (based on content) : height: auto
+  +
+      0px : padding-bottom
+  +
+      0px : border-bottom-width
+  +
+      0px : margin-bottom
+  +
+  (solve) : bottom: auto
+    =====================
+    320px : height of containing block
+
+And so computed bottom value must be 160px .
+*/
+
+  ]]></style>
+
+ </head>
+
+ <body>
+
+  <p><img src="support/pass-cdts-abs-pos-non-replaced.png" width="246" height="36" alt="Image download support must be enabled" /></p>
+
+  <div id="containing-block">1 2 34<span>X</span></div>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/abs-pos-non-replaced-vlr-163-ref.xht
@@ -0,0 +1,38 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Reftest Reference</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+
+  <meta content="image" name="flags" />
+
+  <style type="text/css"><![CDATA[
+  div
+    {
+      margin-left: 0.5em;
+    }
+
+  img
+    {
+      vertical-align: top;
+    }
+
+  img#green-square
+    {
+      position: relative;
+      left: 176px;
+      top: 80px;
+    }
+  ]]></style>
+ </head>
+
+ <body>
+
+  <div><img src="support/pass-cdts-abs-pos-non-replaced.png" width="246" height="36" alt="Image download support must be enabled" /><img id="green-square" src="support/swatch-green.png" width="80" height="80" alt="Image download support must be enabled" /></div>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/abs-pos-non-replaced-vlr-163.xht
@@ -0,0 +1,101 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Writing Modes Test: absolutely positioned non-replaced element - 'direction: rtl' and 'left' and 'width' are 'auto' and 'right' is not 'auto'</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+  <link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#vertical-layout" title="7.1 Principles of Layout in Vertical Writing Modes" />
+  <link rel="help" href="http://www.w3.org/TR/CSS21/visudet.html#abs-non-replaced-height" title="10.6.4 Absolutely positioned, non-replaced elements" />
+  <link rel="match" href="abs-pos-non-replaced-vlr-163-ref.xht" />
+
+  <meta name="flags" content="ahem image" />
+  <meta name="assert" content="When 'direction' is 'rtl' and 'left' and 'width' are 'auto' and 'right' is not 'auto' and 'writing-mode' is 'vertical-lr', then the width is based on the content and then solve for 'left'." />
+
+<style type="text/css"><![CDATA[
+@font-face {
+  font-family: Ahem;
+  src: url("../../../fonts/Ahem.ttf");
+}
+]]></style>
+  <style type="text/css"><![CDATA[
+  html
+    {
+      writing-mode: vertical-lr;
+    }
+
+  div#containing-block
+    {
+      background: red url("support/bg-red-3col-2row-320x320.png");
+      color: transparent;
+      direction: rtl;
+      font: 80px/1 Ahem;
+      height: 320px;
+      position: relative;
+      width: 320px;
+    }
+
+  div#containing-block > span
+    {
+      background-color: red;
+      color: green;
+      left: auto;
+      position: absolute;
+      right: 1em;
+      width: auto;
+    }
+
+/*
+"
+Layout calculation rules (such as those in CSS2.1, Section 10.3) that apply to the horizontal dimension in horizontal writing modes instead apply to the vertical dimension in vertical writing modes.
+"
+7.1 Principles of Layout in Vertical Writing Modes
+http://www.w3.org/TR/css-writing-modes-3/#vertical-layout
+
+So here, *left properties and *right properties are input into the §10.6.4 algorithms where *left properties refer to *top properties in the layout rules and where *right properties refer to *bottom properties in the layout rules.
+
+"
+3. 'height' and 'bottom' are 'auto' and 'top' is not 'auto', then the height is based on the content per 10.6.7, set 'auto' values for 'margin-top' and 'margin-bottom' to 0, and solve for 'bottom'
+"
+
+'left' + 'margin-left' + 'border-left-width' + 'padding-left' + 'width' + 'padding-right' + 'border-right-width' + 'margin-right' + 'right' = width of containing block
+
+So:
+
+     80px : right
+  +
+      0px : margin-right
+  +
+      0px : border-right-width
+  +
+      0px : padding-right
+  +
+     80px : (based on the content) : width: auto
+  +
+      0px : padding-left
+  +
+      0px : border-left-width
+  +
+      0px : margin-left
+  +
+  (solve) : left: auto
+    =====================
+    320px : width of containing block
+
+And so computed left value must be 160px .
+*/
+
+  ]]></style>
+
+ </head>
+
+ <body>
+
+  <p><img src="support/pass-cdts-abs-pos-non-replaced.png" width="246" height="36" alt="Image download support must be enabled" /></p>
+
+  <div id="containing-block">1 2 34<span>X</span></div>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/abs-pos-non-replaced-vlr-165.xht
@@ -0,0 +1,98 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Writing Modes Test: absolutely positioned non-replaced element - 'direction: rtl' and 'left' and 'width' are 'auto' and 'right' is not 'auto'</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+  <link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#vertical-layout" title="7.1 Principles of Layout in Vertical Writing Modes" />
+  <link rel="help" href="http://www.w3.org/TR/CSS21/visudet.html#abs-non-replaced-height" title="10.6.4 Absolutely positioned, non-replaced elements" />
+  <link rel="match" href="abs-pos-non-replaced-vrl-004-ref.xht" />
+
+  <meta name="flags" content="ahem image" />
+  <meta name="assert" content="When 'direction' is 'rtl' and 'left' and 'width' are 'auto' and 'right' is not 'auto' and 'writing-mode' is 'vertical-lr', then the width is based on the content and then solve for 'left'." />
+
+<style type="text/css"><![CDATA[
+@font-face {
+  font-family: Ahem;
+  src: url("../../../fonts/Ahem.ttf");
+}
+]]></style>
+  <style type="text/css"><![CDATA[
+  div#containing-block
+    {
+      background: red url("support/bg-red-3col-2row-320x320.png");
+      color: transparent;
+      direction: rtl;
+      font: 80px/1 Ahem;
+      height: 320px;
+      position: relative;
+      width: 320px;
+      writing-mode: vertical-lr;
+    }
+
+  div#containing-block > span
+    {
+      background-color: red;
+      color: green;
+      left: auto;
+      position: absolute;
+      right: 1em;
+      width: auto;
+      writing-mode: horizontal-tb;
+    }
+
+/*
+"
+Layout calculation rules (such as those in CSS2.1, Section 10.3) that apply to the horizontal dimension in horizontal writing modes instead apply to the vertical dimension in vertical writing modes.
+"
+7.1 Principles of Layout in Vertical Writing Modes
+http://www.w3.org/TR/css-writing-modes-3/#vertical-layout
+
+So here, *left properties and *right properties are input into the §10.6.4 algorithms where *left properties refer to *top properties in the layout rules and where *right properties refer to *bottom properties in the layout rules.
+
+"
+3. 'height' and 'bottom' are 'auto' and 'top' is not 'auto', then the height is based on the content per 10.6.7, set 'auto' values for 'margin-top' and 'margin-bottom' to 0, and solve for 'bottom'
+"
+
+'left' + 'margin-left' + 'border-left-width' + 'padding-left' + 'width' + 'padding-right' + 'border-right-width' + 'margin-right' + 'right' = width of containing block
+
+So:
+
+     80px : right
+  +
+      0px : margin-right
+  +
+      0px : border-right-width
+  +
+      0px : padding-right
+  +
+     80px : (based on the content) : width: auto
+  +
+      0px : padding-left
+  +
+      0px : border-left-width
+  +
+      0px : margin-left
+  +
+  (solve) : left: auto
+    =====================
+    320px : width of containing block
+
+And so computed left value must be 160px .
+*/
+
+  ]]></style>
+
+ </head>
+
+ <body>
+
+  <p><img src="support/pass-cdts-abs-pos-non-replaced.png" width="246" height="36" alt="Image download support must be enabled" /></p>
+
+  <div id="containing-block">1 2 34<span>X</span></div>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/abs-pos-non-replaced-vlr-167.xht
@@ -0,0 +1,96 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Writing Modes Test: absolutely positioned non-replaced element - 'direction: ltr' and 'right' is 'auto', 'width' and 'left' are not 'auto'</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+  <link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#vertical-layout" title="7.1 Principles of Layout in Vertical Writing Modes" />
+  <link rel="help" href="http://www.w3.org/TR/CSS21/visudet.html#abs-non-replaced-height" title="10.6.4 Absolutely positioned, non-replaced elements" />
+  <link rel="match" href="abs-pos-non-replaced-vlr-003-ref.xht" />
+
+  <meta name="flags" content="ahem image" />
+  <meta name="assert" content="When 'direction' is 'ltr' and 'right' is 'auto', 'width' and 'left' are not 'auto' and 'writing-mode' is 'vertical-lr', then solve for 'right'." />
+
+<style type="text/css"><![CDATA[
+@font-face {
+  font-family: Ahem;
+  src: url("../../../fonts/Ahem.ttf");
+}
+]]></style>
+  <style type="text/css"><![CDATA[
+  div#containing-block
+    {
+      background: red url("support/bg-red-2col-3row-320x320.png");
+      color: transparent;
+      direction: ltr;
+      font: 80px/1 Ahem;
+      height: 320px;
+      position: relative;
+      width: 320px;
+      writing-mode: vertical-lr;
+    }
+
+  div#containing-block > span
+    {
+      background-color: green;
+      height: 1em;
+      left: 1em;
+      position: absolute;
+      right: auto;
+      width: 1em;
+    }
+
+/*
+"
+Layout calculation rules (such as those in CSS2.1, Section 10.3) that apply to the horizontal dimension in horizontal writing modes instead apply to the vertical dimension in vertical writing modes.
+"
+7.1 Principles of Layout in Vertical Writing Modes
+http://www.w3.org/TR/css-writing-modes-3/#vertical-layout
+
+So here, *left properties and *right properties are input into the §10.6.4 algorithms where *left properties refer to *top properties in the layout rules and where *right properties refer to *bottom properties in the layout rules.
+
+"
+4. 'top' is 'auto', 'height' and 'bottom' are not 'auto', then set 'auto' values for 'margin-top' and 'margin-bottom' to 0, and solve for 'top'"
+
+'left' + 'margin-left' + 'border-left-width' + 'padding-left' + 'width' + 'padding-right' + 'border-right-width' + 'margin-right' + 'right' = width of containing block
+
+So:
+
+  (solve) : right: auto
+  +
+      0px : margin-right
+  +
+      0px : border-right-width
+  +
+      0px : padding-right
+  +
+     80px : width
+  +
+      0px : padding-left
+  +
+      0px : border-left-width
+  +
+      0px : margin-left
+  +
+     80px : left
+    =====================
+    320px : width of containing block
+
+And so computed right value must be 160px .
+*/
+
+  ]]></style>
+
+ </head>
+
+ <body>
+
+  <p><img src="support/pass-cdts-abs-pos-non-replaced.png" width="246" height="36" alt="Image download support must be enabled" /></p>
+
+  <div id="containing-block">1 2 34<span></span></div>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/abs-pos-non-replaced-vlr-169.xht
@@ -0,0 +1,90 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Writing Modes Test: absolutely positioned non-replaced element - 'direction: ltr' and 'top' is 'auto', 'height' and 'bottom' are not 'auto'</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+  <link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#vertical-layout" title="7.1 Principles of Layout in Vertical Writing Modes" />
+  <link rel="help" href="http://www.w3.org/TR/CSS21/visudet.html#abs-non-replaced-height" title="10.6.4 Absolutely positioned, non-replaced elements" />
+  <link rel="match" href="abs-pos-non-replaced-vrl-002-ref.xht" />
+
+  <meta name="flags" content="ahem image" />
+  <meta name="assert" content="When 'direction' is 'ltr' and 'top' is 'auto', 'height' and 'bottom' are not 'auto', then solve for 'top'." />
+
+<style type="text/css"><![CDATA[
+@font-face {
+  font-family: Ahem;
+  src: url("../../../fonts/Ahem.ttf");
+}
+]]></style>
+  <style type="text/css"><![CDATA[
+  div#containing-block
+    {
+      background: red url("support/bg-red-3col-3row-320x320.png");
+      color: transparent;
+      direction: ltr;
+      font: 80px/1 Ahem;
+      height: 320px;
+      position: relative;
+      width: 320px;
+    }
+
+  div#containing-block > span
+    {
+      background-color: green;
+      bottom: 1em;
+      color: green;
+      height: 1em;
+      position: absolute;
+      top: auto;
+      width: 1em;
+      writing-mode: vertical-lr;
+    }
+
+/*
+"
+4. 'top' is 'auto', 'height' and 'bottom' are not 'auto', then set 'auto' values for 'margin-top' and 'margin-bottom' to 0, and solve for 'top'
+"
+
+'top' + 'margin-top' + 'border-top-width' + 'padding-top' + 'height' + 'padding-bottom' + 'border-bottom-width' + 'margin-bottom' + 'bottom' = height of containing block
+
+So:
+
+  (solve) : top: auto
+  +
+      0px : margin-top
+  +
+      0px : border-top-width
+  +
+      0px : padding-top
+  +
+     80px : height
+  +
+      0px : padding-bottom
+  +
+      0px : border-bottom-width
+  +
+      0px : margin-bottom
+  +
+     80px : bottom
+    =====================
+    320px : height of containing block
+
+And so computed top value must be 160px .
+*/
+
+  ]]></style>
+
+ </head>
+
+ <body>
+
+  <p><img src="support/pass-cdts-abs-pos-non-replaced.png" width="246" height="36" alt="Image download support must be enabled" /></p>
+
+  <div id="containing-block">1 2 34<span></span></div>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/abs-pos-non-replaced-vlr-171.xht
@@ -0,0 +1,101 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Writing Modes Test: absolutely positioned non-replaced element - 'direction: ltr' and 'right' is 'auto' and 'width' and 'left' are not 'auto'</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+  <link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#vertical-layout" title="7.1 Principles of Layout in Vertical Writing Modes" />
+  <link rel="help" href="http://www.w3.org/TR/CSS21/visudet.html#abs-non-replaced-height" title="10.6.4 Absolutely positioned, non-replaced elements" />
+  <link rel="match" href="abs-pos-non-replaced-vlr-007-ref.xht" />
+
+  <meta name="flags" content="ahem image" />
+  <meta name="assert" content="When 'direction' is 'ltr' and 'right' is 'auto' and 'width' and 'left' are not 'auto' and 'writing-mode' is 'vertical-lr', then solve for 'left'." />
+
+<style type="text/css"><![CDATA[
+@font-face {
+  font-family: Ahem;
+  src: url("../../../fonts/Ahem.ttf");
+}
+]]></style>
+  <style type="text/css"><![CDATA[
+  html
+    {
+      writing-mode: vertical-lr;
+    }
+
+  div#containing-block
+    {
+      background: red url("support/bg-red-2col-3row-320x320.png");
+      color: transparent;
+      direction: ltr;
+      font: 80px/1 Ahem;
+      height: 320px;
+      position: relative;
+      width: 320px;
+    }
+
+  div#containing-block > span
+    {
+      background-color: green;
+      height: 1em;
+      left: 1em;
+      position: absolute;
+      right: auto;
+      width: 1em;
+    }
+
+/*
+"
+Layout calculation rules (such as those in CSS2.1, Section 10.3) that apply to the horizontal dimension in horizontal writing modes instead apply to the vertical dimension in vertical writing modes.
+"
+7.1 Principles of Layout in Vertical Writing Modes
+http://www.w3.org/TR/css-writing-modes-3/#vertical-layout
+
+So here, *left properties and *right properties are input into the §10.6.4 algorithms where *left properties refer to *top properties in the layout rules and where *right properties refer to *bottom properties in the layout rules.
+
+"
+4. 'top' is 'auto', 'height' and 'bottom' are not 'auto', then set 'auto' values for 'margin-top' and 'margin-bottom' to 0, and solve for 'top'
+"
+
+'left' + 'margin-left' + 'border-left-width' + 'padding-left' + 'width' + 'padding-right' + 'border-right-width' + 'margin-right' + 'right' = width of containing block
+
+So:
+
+  (solve) : right: auto
+  +
+      0px : margin-right
+  +
+      0px : border-right-width
+  +
+      0px : padding-right
+  +
+     80px : width
+  +
+      0px : padding-left
+  +
+      0px : border-left-width
+  +
+      0px : margin-left
+  +
+     80px : left
+    =====================
+    320px : width of containing block
+
+And so computed right value must be 160px .
+*/
+
+  ]]></style>
+
+ </head>
+
+ <body>
+
+  <p><img src="support/pass-cdts-abs-pos-non-replaced.png" width="246" height="36" alt="Image download support must be enabled" /></p>
+
+  <div id="containing-block">1 2 34<span></span></div>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/abs-pos-non-replaced-vlr-173.xht
@@ -0,0 +1,98 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Writing Modes Test: absolutely positioned non-replaced element - 'direction: ltr' and 'right' is 'auto' and 'width' and 'left' are not 'auto'</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+  <link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#vertical-layout" title="7.1 Principles of Layout in Vertical Writing Modes" />
+  <link rel="help" href="http://www.w3.org/TR/CSS21/visudet.html#abs-non-replaced-height" title="10.6.4 Absolutely positioned, non-replaced elements" />
+  <link rel="match" href="abs-pos-non-replaced-vlr-003-ref.xht" />
+
+  <meta name="flags" content="ahem image" />
+  <meta name="assert" content="When 'direction' is 'ltr' and 'right' is 'auto' and 'width' and 'left' are not 'auto' and 'writing-mode' is 'vertical-lr', then solve for 'left'." />
+
+<style type="text/css"><![CDATA[
+@font-face {
+  font-family: Ahem;
+  src: url("../../../fonts/Ahem.ttf");
+}
+]]></style>
+  <style type="text/css"><![CDATA[
+  div#containing-block
+    {
+      background: red url("support/bg-red-2col-3row-320x320.png");
+      color: transparent;
+      direction: ltr;
+      font: 80px/1 Ahem;
+      height: 320px;
+      position: relative;
+      width: 320px;
+      writing-mode: vertical-lr;
+    }
+
+  div#containing-block > span
+    {
+      background-color: green;
+      height: 1em;
+      left: 1em;
+      position: absolute;
+      right: auto;
+      width: 1em;
+      writing-mode: horizontal-tb;
+    }
+
+/*
+"
+Layout calculation rules (such as those in CSS2.1, Section 10.3) that apply to the horizontal dimension in horizontal writing modes instead apply to the vertical dimension in vertical writing modes.
+"
+7.1 Principles of Layout in Vertical Writing Modes
+http://www.w3.org/TR/css-writing-modes-3/#vertical-layout
+
+So here, *left properties and *right properties are input into the §10.6.4 algorithms where *left properties refer to *top properties in the layout rules and where *right properties refer to *bottom properties in the layout rules.
+
+"
+4. 'top' is 'auto', 'height' and 'bottom' are not 'auto', then set 'auto' values for 'margin-top' and 'margin-bottom' to 0, and solve for 'top'
+"
+
+'left' + 'margin-left' + 'border-left-width' + 'padding-left' + 'width' + 'padding-right' + 'border-right-width' + 'margin-right' + 'right' = width of containing block
+
+So:
+
+  (solve) : right: auto
+  +
+      0px : margin-right
+  +
+      0px : border-right-width
+  +
+      0px : padding-right
+  +
+     80px : width
+  +
+      0px : padding-left
+  +
+      0px : border-left-width
+  +
+      0px : margin-left
+  +
+     80px : left
+    =====================
+    320px : width of containing block
+
+And so computed right value must be 160px .
+*/
+
+  ]]></style>
+
+ </head>
+
+ <body>
+
+  <p><img src="support/pass-cdts-abs-pos-non-replaced.png" width="246" height="36" alt="Image download support must be enabled" /></p>
+
+  <div id="containing-block">1 2 34<span></span></div>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/abs-pos-non-replaced-vlr-175.xht
@@ -0,0 +1,97 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Writing Modes Test: absolutely positioned non-replaced element - 'direction: rtl' and 'right' is 'auto' and 'width' and 'left' are not 'auto'</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+  <link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#vertical-layout" title="7.1 Principles of Layout in Vertical Writing Modes" />
+  <link rel="help" href="http://www.w3.org/TR/CSS21/visudet.html#abs-non-replaced-height" title="10.6.4 Absolutely positioned, non-replaced elements" />
+  <link rel="match" href="abs-pos-non-replaced-vlr-009-ref.xht" />
+
+  <meta name="flags" content="ahem image" />
+  <meta name="assert" content="When 'direction' is 'rtl' and 'right' is 'auto' and 'width' and 'left' are not 'auto' and 'writing-mode' is 'vertical-lr', then solve for 'left'." />
+
+<style type="text/css"><![CDATA[
+@font-face {
+  font-family: Ahem;
+  src: url("../../../fonts/Ahem.ttf");
+}
+]]></style>
+  <style type="text/css"><![CDATA[
+  div#containing-block
+    {
+      background: red url("support/bg-red-2col-2row-320x320.png");
+      color: transparent;
+      direction: rtl;
+      font: 80px/1 Ahem;
+      height: 320px;
+      position: relative;
+      width: 320px;
+      writing-mode: vertical-lr;
+    }
+
+  div#containing-block > span
+    {
+      background-color: green;
+      height: 1em;
+      left: 1em;
+      position: absolute;
+      right: auto;
+      width: 1em;
+    }
+
+/*
+"
+Layout calculation rules (such as those in CSS2.1, Section 10.3) that apply to the horizontal dimension in horizontal writing modes instead apply to the vertical dimension in vertical writing modes.
+"
+7.1 Principles of Layout in Vertical Writing Modes
+http://www.w3.org/TR/css-writing-modes-3/#vertical-layout
+
+So here, *left properties and *right properties are input into the §10.6.4 algorithms where *left properties refer to *top properties in the layout rules and where *right properties refer to *bottom properties in the layout rules.
+
+"
+4. 'top' is 'auto', 'height' and 'bottom' are not 'auto', then set 'auto' values for 'margin-top' and 'margin-bottom' to 0, and solve for 'top'
+"
+
+'left' + 'margin-left' + 'border-left-width' + 'padding-left' + 'width' + 'padding-right' + 'border-right-width' + 'margin-right' + 'right' = width of containing block
+
+So:
+
+  (solve) : right: auto
+  +
+      0px : margin-right
+  +
+      0px : border-right-width
+  +
+      0px : padding-right
+  +
+     80px : width
+  +
+      0px : padding-left
+  +
+      0px : border-left-width
+  +
+      0px : margin-left
+  +
+     80px : left
+    =====================
+    320px : width of containing block
+
+And so computed right value must be 160px .
+*/
+
+  ]]></style>
+
+ </head>
+
+ <body>
+
+  <p><img src="support/pass-cdts-abs-pos-non-replaced.png" width="246" height="36" alt="Image download support must be enabled" /></p>
+
+  <div id="containing-block">1 2 34<span></span></div>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/abs-pos-non-replaced-vlr-177.xht
@@ -0,0 +1,89 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Writing Modes Test: absolutely positioned non-replaced element - 'direction: rtl' and 'top' is 'auto', 'height' and 'bottom' are not 'auto'</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+  <link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#vertical-layout" title="7.1 Principles of Layout in Vertical Writing Modes" />
+  <link rel="help" href="http://www.w3.org/TR/CSS21/visudet.html#abs-non-replaced-height" title="10.6.4 Absolutely positioned, non-replaced elements" />
+  <link rel="match" href="abs-pos-non-replaced-vlr-003-ref.xht" />
+
+  <meta name="flags" content="ahem image" />
+  <meta name="assert" content="When 'direction' is 'rtl' and 'top' is 'auto', 'height' and 'bottom' are not 'auto', then then solve for 'top'." />
+
+<style type="text/css"><![CDATA[
+@font-face {
+  font-family: Ahem;
+  src: url("../../../fonts/Ahem.ttf");
+}
+]]></style>
+  <style type="text/css"><![CDATA[
+  div#containing-block
+    {
+      background: red url("support/bg-red-2col-3row-320x320.png");
+      color: transparent;
+      direction: rtl;
+      font: 80px/1 Ahem;
+      height: 320px;
+      position: relative;
+      width: 320px;
+    }
+
+  div#containing-block > span
+    {
+      background-color: green;
+      bottom: 1em;
+      height: 1em;
+      position: absolute;
+      top: auto;
+      width: 1em;
+      writing-mode: vertical-lr;
+    }
+
+/*
+"
+4. 'top' is 'auto', 'height' and 'bottom' are not 'auto', then set 'auto' values for 'margin-top' and 'margin-bottom' to 0, and solve for 'top'
+"
+
+'top' + 'margin-top' + 'border-top-width' + 'padding-top' + 'height' + 'padding-bottom' + 'border-bottom-width' + 'margin-bottom' + 'bottom' = height of containing block
+
+So:
+
+  (solve) : top: auto
+  +
+      0px : margin-top
+  +
+      0px : border-top-width
+  +
+      0px : padding-top
+  +
+     80px : height
+  +
+      0px : padding-bottom
+  +
+      0px : border-bottom-width
+  +
+      0px : margin-bottom
+  +
+     80px : bottom
+    =====================
+    320px : height of containing block
+
+And so computed top value must be 160px .
+*/
+
+  ]]></style>
+
+ </head>
+
+ <body>
+
+  <p><img src="support/pass-cdts-abs-pos-non-replaced.png" width="246" height="36" alt="Image download support must be enabled" /></p>
+
+  <div id="containing-block">1 2 34<span></span></div>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/abs-pos-non-replaced-vlr-179.xht
@@ -0,0 +1,101 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Writing Modes Test: absolutely positioned non-replaced element - 'direction: rtl' and 'right' is 'auto' and 'width' and 'left' are not 'auto'</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+  <link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#vertical-layout" title="7.1 Principles of Layout in Vertical Writing Modes" />
+  <link rel="help" href="http://www.w3.org/TR/CSS21/visudet.html#abs-non-replaced-height" title="10.6.4 Absolutely positioned, non-replaced elements" />
+  <link rel="match" href="abs-pos-non-replaced-vlr-013-ref.xht" />
+
+  <meta name="flags" content="ahem image" />
+  <meta name="assert" content="When 'direction' is 'rtl' and 'right' is 'auto' and 'width' and 'left' are not 'auto' and 'writing-mode' is 'vertical-lr', then solve for 'left'." />
+
+<style type="text/css"><![CDATA[
+@font-face {
+  font-family: Ahem;
+  src: url("../../../fonts/Ahem.ttf");
+}
+]]></style>
+  <style type="text/css"><![CDATA[
+  html
+    {
+      writing-mode: vertical-lr;
+    }
+
+  div#containing-block
+    {
+      background: red url("support/bg-red-2col-2row-320x320.png");
+      color: transparent;
+      direction: rtl;
+      font: 80px/1 Ahem;
+      height: 320px;
+      position: relative;
+      width: 320px;
+    }
+
+  div#containing-block > span
+    {
+      background-color: green;
+      height: 1em;
+      left: 1em;
+      position: absolute;
+      right: auto;
+      width: 1em;
+    }
+
+/*
+"
+Layout calculation rules (such as those in CSS2.1, Section 10.3) that apply to the horizontal dimension in horizontal writing modes instead apply to the vertical dimension in vertical writing modes.
+"
+7.1 Principles of Layout in Vertical Writing Modes
+http://www.w3.org/TR/css-writing-modes-3/#vertical-layout
+
+So here, *left properties and *right properties are input into the §10.6.4 algorithms where *left properties refer to *top properties in the layout rules and where *right properties refer to *bottom properties in the layout rules.
+
+"
+4. 'top' is 'auto', 'height' and 'bottom' are not 'auto', then set 'auto' values for 'margin-top' and 'margin-bottom' to 0, and solve for 'top'
+"
+
+'left' + 'margin-left' + 'border-left-width' + 'padding-left' + 'width' + 'padding-right' + 'border-right-width' + 'margin-right' + 'right' = width of containing block
+
+So:
+
+  (solve) : right: auto
+  +
+      0px : margin-right
+  +
+      0px : border-right-width
+  +
+      0px : padding-right
+  +
+     80px : width
+  +
+      0px : padding-left
+  +
+      0px : border-left-width
+  +
+      0px : margin-left
+  +
+     80px : left
+    =====================
+    320px : width of containing block
+
+And so computed right value must be 160px .
+*/
+
+  ]]></style>
+
+ </head>
+
+ <body>
+
+  <p><img src="support/pass-cdts-abs-pos-non-replaced.png" width="246" height="36" alt="Image download support must be enabled" /></p>
+
+  <div id="containing-block">1 2 34<span></span></div>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/abs-pos-non-replaced-vlr-181.xht
@@ -0,0 +1,98 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Writing Modes Test: absolutely positioned non-replaced element - 'direction: rtl' and 'right' is 'auto' and 'width' and 'left' are not 'auto'</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+  <link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#vertical-layout" title="7.1 Principles of Layout in Vertical Writing Modes" />
+  <link rel="help" href="http://www.w3.org/TR/CSS21/visudet.html#abs-non-replaced-height" title="10.6.4 Absolutely positioned, non-replaced elements" />
+  <link rel="match" href="abs-pos-non-replaced-vlr-009-ref.xht" />
+
+  <meta name="flags" content="ahem image" />
+  <meta name="assert" content="When 'direction' is 'rtl' and 'right' is 'auto' and 'width' and 'left' are not 'auto' and 'writing-mode' is 'vertical-lr', then solve for 'left'." />
+
+<style type="text/css"><![CDATA[
+@font-face {
+  font-family: Ahem;
+  src: url("../../../fonts/Ahem.ttf");
+}
+]]></style>
+  <style type="text/css"><![CDATA[
+  div#containing-block
+    {
+      background: red url("support/bg-red-2col-2row-320x320.png");
+      color: transparent;
+      direction: rtl;
+      font: 80px/1 Ahem;
+      height: 320px;
+      position: relative;
+      width: 320px;
+      writing-mode: vertical-lr;
+    }
+
+  div#containing-block > span
+    {
+      background-color: green;
+      height: 1em;
+      left: 1em;
+      position: absolute;
+      right: auto;
+      width: 1em;
+      writing-mode: horizontal-tb;
+    }
+
+/*
+"
+Layout calculation rules (such as those in CSS2.1, Section 10.3) that apply to the horizontal dimension in horizontal writing modes instead apply to the vertical dimension in vertical writing modes.
+"
+7.1 Principles of Layout in Vertical Writing Modes
+http://www.w3.org/TR/css-writing-modes-3/#vertical-layout
+
+So here, *left properties and *right properties are input into the §10.6.4 algorithms where *left properties refer to *top properties in the layout rules and where *right properties refer to *bottom properties in the layout rules.
+
+"
+4. 'top' is 'auto', 'height' and 'bottom' are not 'auto', then set 'auto' values for 'margin-top' and 'margin-bottom' to 0, and solve for 'top'
+"
+
+'left' + 'margin-left' + 'border-left-width' + 'padding-left' + 'width' + 'padding-right' + 'border-right-width' + 'margin-right' + 'right' = width of containing block
+
+So:
+
+  (solve) : right: auto
+  +
+      0px : margin-right
+  +
+      0px : border-right-width
+  +
+      0px : padding-right
+  +
+     80px : width
+  +
+      0px : padding-left
+  +
+      0px : border-left-width
+  +
+      0px : margin-left
+  +
+     80px : left
+    =====================
+    320px : width of containing block
+
+And so computed right value must be 160px .
+*/
+
+  ]]></style>
+
+ </head>
+
+ <body>
+
+  <p><img src="support/pass-cdts-abs-pos-non-replaced.png" width="246" height="36" alt="Image download support must be enabled" /></p>
+
+  <div id="containing-block">1 2 34<span></span></div>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/abs-pos-non-replaced-vlr-183.xht
@@ -0,0 +1,97 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Writing Modes Test: absolutely positioned non-replaced element - 'direction: ltr' and 'width' is 'auto' and 'left' and 'right' are not 'auto'</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+  <link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#vertical-layout" title="7.1 Principles of Layout in Vertical Writing Modes" />
+  <link rel="help" href="http://www.w3.org/TR/CSS21/visudet.html#abs-non-replaced-height" title="10.6.4 Absolutely positioned, non-replaced elements" />
+  <link rel="match" href="abs-pos-non-replaced-vlr-003-ref.xht" />
+
+  <meta name="flags" content="ahem image" />
+  <meta name="assert" content="When 'direction' is 'ltr' and 'right' is 'auto', 'width' and 'left' are not 'auto' and 'writing-mode' is 'vertical-lr', then solve for 'width'." />
+
+<style type="text/css"><![CDATA[
+@font-face {
+  font-family: Ahem;
+  src: url("../../../fonts/Ahem.ttf");
+}
+]]></style>
+  <style type="text/css"><![CDATA[
+  div#containing-block
+    {
+      background: red url("support/bg-red-2col-3row-320x320.png");
+      color: transparent;
+      direction: ltr;
+      font: 80px/1 Ahem;
+      height: 320px;
+      position: relative;
+      width: 320px;
+      writing-mode: vertical-lr;
+    }
+
+  div#containing-block > span
+    {
+      background-color: green;
+      height: 1em;
+      left: 1em;
+      position: absolute;
+      right: 2em;
+      width: auto;
+    }
+
+/*
+"
+Layout calculation rules (such as those in CSS2.1, Section 10.3) that apply to the horizontal dimension in horizontal writing modes instead apply to the vertical dimension in vertical writing modes.
+"
+7.1 Principles of Layout in Vertical Writing Modes
+http://www.w3.org/TR/css-writing-modes-3/#vertical-layout
+
+So here, *left properties and *right properties are input into the §10.6.4 algorithms where *left properties refer to *top properties in the layout rules and where *right properties refer to *bottom properties in the layout rules.
+
+"
+5. 'height' is 'auto', 'top' and 'bottom' are not 'auto', then 'auto' values for 'margin-top' and 'margin-bottom' are set to 0 and solve for 'height'
+"
+
+'left' + 'margin-left' + 'border-left-width' + 'padding-left' + 'width' + 'padding-right' + 'border-right-width' + 'margin-right' + 'right' = width of containing block
+
+So:
+
+    160px : right
+  +
+      0px : margin-right
+  +
+      0px : border-right-width
+  +
+      0px : padding-right
+  +
+  (solve) : width: auto
+  +
+      0px : padding-left
+  +
+      0px : border-left-width
+  +
+      0px : margin-left
+  +
+     80px : left
+    =====================
+    320px : width of containing block
+
+And so computed width value must be 80px .
+*/
+
+  ]]></style>
+
+ </head>
+
+ <body>
+
+  <p><img src="support/pass-cdts-abs-pos-non-replaced.png" width="246" height="36" alt="Image download support must be enabled" /></p>
+
+  <div id="containing-block">1 2 34<span></span></div>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/abs-pos-non-replaced-vlr-185.xht
@@ -0,0 +1,89 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Writing Modes Test: absolutely positioned non-replaced element - 'direction: ltr' and 'height' is 'auto', 'top' and 'bottom' are not 'auto'</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+  <link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#vertical-layout" title="7.1 Principles of Layout in Vertical Writing Modes" />
+  <link rel="help" href="http://www.w3.org/TR/CSS21/visudet.html#abs-non-replaced-height" title="10.6.4 Absolutely positioned, non-replaced elements" />
+  <link rel="match" href="abs-pos-non-replaced-vrl-002-ref.xht" />
+
+  <meta name="flags" content="ahem image" />
+  <meta name="assert" content="When 'direction' is 'ltr' and 'height' is 'auto', 'top' and 'bottom' are not 'auto', then solve for 'height'." />
+
+<style type="text/css"><![CDATA[
+@font-face {
+  font-family: Ahem;
+  src: url("../../../fonts/Ahem.ttf");
+}
+]]></style>
+  <style type="text/css"><![CDATA[
+  div#containing-block
+    {
+      background: red url("support/bg-red-3col-3row-320x320.png");
+      color: transparent;
+      direction: ltr;
+      font: 80px/1 Ahem;
+      height: 320px;
+      position: relative;
+      width: 320px;
+    }
+
+  div#containing-block > span
+    {
+      background-color: green;
+      bottom: 1em;
+      height: auto;
+      position: absolute;
+      top: 2em;
+      width: 1em;
+      writing-mode: vertical-lr;
+    }
+
+/*
+"
+5. 'height' is 'auto', 'top' and 'bottom' are not 'auto', then 'auto' values for 'margin-top' and 'margin-bottom' are set to 0 and solve for 'height'
+"
+
+'top' + 'margin-top' + 'border-top-width' + 'padding-top' + 'height' + 'padding-bottom' + 'border-bottom-width' + 'margin-bottom' + 'bottom' = height of containing block
+
+So:
+
+    160px : top
+  +
+      0px : margin-top
+  +
+      0px : border-top-width
+  +
+      0px : padding-top
+  +
+  (solve) : height : auto
+  +
+      0px : padding-bottom
+  +
+      0px : border-bottom-width
+  +
+      0px : margin-bottom
+  +
+     80px : bottom
+    =====================
+    320px : height of containing block
+
+And so computed height value must be 80px .
+*/
+
+  ]]></style>
+
+ </head>
+
+ <body>
+
+  <p><img src="support/pass-cdts-abs-pos-non-replaced.png" width="246" height="36" alt="Image download support must be enabled" /></p>
+
+  <div id="containing-block">1 2 34<span></span></div>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/abs-pos-non-replaced-vlr-187.xht
@@ -0,0 +1,101 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Writing Modes Test: absolutely positioned non-replaced element - 'direction: ltr' and 'width' is 'auto' and 'left' and 'right' are not 'auto'</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+  <link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#vertical-layout" title="7.1 Principles of Layout in Vertical Writing Modes" />
+  <link rel="help" href="http://www.w3.org/TR/CSS21/visudet.html#abs-non-replaced-height" title="10.6.4 Absolutely positioned, non-replaced elements" />
+  <link rel="match" href="abs-pos-non-replaced-vlr-007-ref.xht" />
+
+  <meta name="flags" content="ahem image" />
+  <meta name="assert" content="When 'direction' is 'ltr' and 'width' is 'auto' and 'left' and 'right' are not 'auto' and 'writing-mode' is 'vertical-lr', then solve for 'width'." />
+
+<style type="text/css"><![CDATA[
+@font-face {
+  font-family: Ahem;
+  src: url("../../../fonts/Ahem.ttf");
+}
+]]></style>
+  <style type="text/css"><![CDATA[
+  html
+    {
+      writing-mode: vertical-lr;
+    }
+
+  div#containing-block
+    {
+      background: red url("support/bg-red-2col-3row-320x320.png");
+      color: transparent;
+      direction: ltr;
+      font: 80px/1 Ahem;
+      height: 320px;
+      position: relative;
+      width: 320px;
+    }
+
+  div#containing-block > span
+    {
+      background-color: green;
+      height: 1em;
+      left: 1em;
+      position: absolute;
+      right: 2em;
+      width: auto;
+    }
+
+/*
+"
+Layout calculation rules (such as those in CSS2.1, Section 10.3) that apply to the horizontal dimension in horizontal writing modes instead apply to the vertical dimension in vertical writing modes.
+"
+7.1 Principles of Layout in Vertical Writing Modes
+http://www.w3.org/TR/css-writing-modes-3/#vertical-layout
+
+So here, *left properties and *right properties are input into the §10.6.4 algorithms where *left properties refer to *top properties in the layout rules and where *right properties refer to *bottom properties in the layout rules.
+
+"
+5. 'height' is 'auto', 'top' and 'bottom' are not 'auto', then 'auto' values for 'margin-top' and 'margin-bottom' are set to 0 and solve for 'height'
+"
+
+'left' + 'margin-left' + 'border-left-width' + 'padding-left' + 'width' + 'padding-right' + 'border-right-width' + 'margin-right' + 'right' = width of containing block
+
+So:
+
+    160px : right
+  +
+      0px : margin-right
+  +
+      0px : border-right-width
+  +
+      0px : padding-right
+  +
+  (solve) : width: auto
+  +
+      0px : padding-left
+  +
+      0px : border-left-width
+  +
+      0px : margin-left
+  +
+     80px : left
+    =====================
+    320px : width of containing block
+
+And so computed width value must be 80px .
+*/
+
+  ]]></style>
+
+ </head>
+
+ <body>
+
+  <p><img src="support/pass-cdts-abs-pos-non-replaced.png" width="246" height="36" alt="Image download support must be enabled" /></p>
+
+  <div id="containing-block">1 2 34<span></span></div>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/abs-pos-non-replaced-vlr-189.xht
@@ -0,0 +1,98 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Writing Modes Test: absolutely positioned non-replaced element - 'direction: ltr' and 'width' is 'auto' and 'left' and 'right' are not 'auto'</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+  <link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#vertical-layout" title="7.1 Principles of Layout in Vertical Writing Modes" />
+  <link rel="help" href="http://www.w3.org/TR/CSS21/visudet.html#abs-non-replaced-height" title="10.6.4 Absolutely positioned, non-replaced elements" />
+  <link rel="match" href="abs-pos-non-replaced-vlr-003-ref.xht" />
+
+  <meta name="flags" content="ahem image" />
+  <meta name="assert" content="When 'direction' is 'ltr' and 'width' is 'auto' and 'left' and 'right' are not 'auto' and 'writing-mode' is 'vertical-lr', then solve for 'width'." />
+
+<style type="text/css"><![CDATA[
+@font-face {
+  font-family: Ahem;
+  src: url("../../../fonts/Ahem.ttf");
+}
+]]></style>
+  <style type="text/css"><![CDATA[
+  div#containing-block
+    {
+      background: red url("support/bg-red-2col-3row-320x320.png");
+      color: transparent;
+      direction: ltr;
+      font: 80px/1 Ahem;
+      height: 320px;
+      position: relative;
+      width: 320px;
+      writing-mode: vertical-lr;
+    }
+
+  div#containing-block > span
+    {
+      background-color: green;
+      height: 1em;
+      left: 1em;
+      position: absolute;
+      right: 2em;
+      width: auto;
+      writing-mode: horizontal-tb;
+    }
+
+/*
+"
+Layout calculation rules (such as those in CSS2.1, Section 10.3) that apply to the horizontal dimension in horizontal writing modes instead apply to the vertical dimension in vertical writing modes.
+"
+7.1 Principles of Layout in Vertical Writing Modes
+http://www.w3.org/TR/css-writing-modes-3/#vertical-layout
+
+So here, *left properties and *right properties are input into the §10.6.4 algorithms where *left properties refer to *top properties in the layout rules and where *right properties refer to *bottom properties in the layout rules.
+
+"
+5. 'height' is 'auto', 'top' and 'bottom' are not 'auto', then 'auto' values for 'margin-top' and 'margin-bottom' are set to 0 and solve for 'height'
+"
+
+'left' + 'margin-left' + 'border-left-width' + 'padding-left' + 'width' + 'padding-right' + 'border-right-width' + 'margin-right' + 'right' = width of containing block
+
+So:
+
+    160px : right
+  +
+      0px : margin-right
+  +
+      0px : border-right-width
+  +
+      0px : padding-right
+  +
+  (solve) : width: auto
+  +
+      0px : padding-left
+  +
+      0px : border-left-width
+  +
+      0px : margin-left
+  +
+     80px : left
+    =====================
+    320px : width of containing block
+
+And so computed width value must be 80px .
+*/
+
+  ]]></style>
+
+ </head>
+
+ <body>
+
+  <p><img src="support/pass-cdts-abs-pos-non-replaced.png" width="246" height="36" alt="Image download support must be enabled" /></p>
+
+  <div id="containing-block">1 2 34<span></span></div>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/abs-pos-non-replaced-vlr-191.xht
@@ -0,0 +1,97 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Writing Modes Test: absolutely positioned non-replaced element - 'direction: rtl' and 'width' is 'auto' and 'left' and 'right' are not 'auto'</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+  <link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#vertical-layout" title="7.1 Principles of Layout in Vertical Writing Modes" />
+  <link rel="help" href="http://www.w3.org/TR/CSS21/visudet.html#abs-non-replaced-height" title="10.6.4 Absolutely positioned, non-replaced elements" />
+  <link rel="match" href="abs-pos-non-replaced-vlr-009-ref.xht" />
+
+  <meta name="flags" content="ahem image" />
+  <meta name="assert" content="When 'direction' is 'rtl' and 'width' is 'auto' and 'left' and 'right' are not 'auto' and 'writing-mode' is 'vertical-lr', then solve for 'width'." />
+
+<style type="text/css"><![CDATA[
+@font-face {
+  font-family: Ahem;
+  src: url("../../../fonts/Ahem.ttf");
+}
+]]></style>
+  <style type="text/css"><![CDATA[
+  div#containing-block
+    {
+      background: red url("support/bg-red-2col-2row-320x320.png");
+      color: transparent;
+      direction: rtl;
+      font: 80px/1 Ahem;
+      height: 320px;
+      position: relative;
+      width: 320px;
+      writing-mode: vertical-lr;
+    }
+
+  div#containing-block > span
+    {
+      background-color: green;
+      height: 1em;
+      left: 1em;
+      position: absolute;
+      right: 2em;
+      width: auto;
+    }
+
+/*
+"
+Layout calculation rules (such as those in CSS2.1, Section 10.3) that apply to the horizontal dimension in horizontal writing modes instead apply to the vertical dimension in vertical writing modes.
+"
+7.1 Principles of Layout in Vertical Writing Modes
+http://www.w3.org/TR/css-writing-modes-3/#vertical-layout
+
+So here, *left properties and *right properties are input into the §10.6.4 algorithms where *left properties refer to *top properties in the layout rules and where *right properties refer to *bottom properties in the layout rules.
+
+"
+5. 'height' is 'auto', 'top' and 'bottom' are not 'auto', then 'auto' values for 'margin-top' and 'margin-bottom' are set to 0 and solve for 'height'
+"
+
+'left' + 'margin-left' + 'border-left-width' + 'padding-left' + 'width' + 'padding-right' + 'border-right-width' + 'margin-right' + 'right' = width of containing block
+
+So:
+
+    160px : right
+  +
+      0px : margin-right
+  +
+      0px : border-right-width
+  +
+      0px : padding-right
+  +
+  (solve) : width: auto
+  +
+      0px : padding-left
+  +
+      0px : border-left-width
+  +
+      0px : margin-left
+  +
+     80px : left
+    =====================
+    320px : width of containing block
+
+And so computed width value must be 80px .
+*/
+
+  ]]></style>
+
+ </head>
+
+ <body>
+
+  <p><img src="support/pass-cdts-abs-pos-non-replaced.png" width="246" height="36" alt="Image download support must be enabled" /></p>
+
+  <div id="containing-block">1 2 34<span></span></div>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/abs-pos-non-replaced-vlr-193.xht
@@ -0,0 +1,89 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Writing Modes Test: absolutely positioned non-replaced element - 'direction: rtl' and 'height' is 'auto', 'top' and 'bottom' are not 'auto'</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+  <link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#vertical-layout" title="7.1 Principles of Layout in Vertical Writing Modes" />
+  <link rel="help" href="http://www.w3.org/TR/CSS21/visudet.html#abs-non-replaced-height" title="10.6.4 Absolutely positioned, non-replaced elements" />
+  <link rel="match" href="abs-pos-non-replaced-vlr-003-ref.xht" />
+
+  <meta name="flags" content="ahem image" />
+  <meta name="assert" content="When 'direction' is 'rtl' and 'height' is 'auto', 'top' and 'bottom' are not 'auto', then then solve for 'height'." />
+
+<style type="text/css"><![CDATA[
+@font-face {
+  font-family: Ahem;
+  src: url("../../../fonts/Ahem.ttf");
+}
+]]></style>
+  <style type="text/css"><![CDATA[
+  div#containing-block
+    {
+      background: red url("support/bg-red-2col-3row-320x320.png");
+      color: transparent;
+      direction: rtl;
+      font: 80px/1 Ahem;
+      height: 320px;
+      position: relative;
+      width: 320px;
+    }
+
+  div#containing-block > span
+    {
+      background-color: green;
+      bottom: 1em;
+      height: auto;
+      position: absolute;
+      top: 2em;
+      width: 1em;
+      writing-mode: vertical-lr;
+    }
+
+/*
+"
+5. 'height' is 'auto', 'top' and 'bottom' are not 'auto', then 'auto' values for 'margin-top' and 'margin-bottom' are set to 0 and solve for 'height'
+"
+
+'top' + 'margin-top' + 'border-top-width' + 'padding-top' + 'height' + 'padding-bottom' + 'border-bottom-width' + 'margin-bottom' + 'bottom' = height of containing block
+
+So:
+
+    160px : top
+  +
+      0px : margin-top
+  +
+      0px : border-top-width
+  +
+      0px : padding-top
+  +
+  (solve) : height : auto
+  +
+      0px : padding-bottom
+  +
+      0px : border-bottom-width
+  +
+      0px : margin-bottom
+  +
+     80px : bottom
+    =====================
+    320px : height of containing block
+
+And so computed height value must be 160px .
+*/
+
+  ]]></style>
+
+ </head>
+
+ <body>
+
+  <p><img src="support/pass-cdts-abs-pos-non-replaced.png" width="246" height="36" alt="Image download support must be enabled" /></p>
+
+  <div id="containing-block">1 2 34<span></span></div>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/abs-pos-non-replaced-vlr-195.xht
@@ -0,0 +1,101 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Writing Modes Test: absolutely positioned non-replaced element - 'direction: rtl' and 'width' is 'auto' and 'left' and 'right' are not 'auto'</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+  <link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#vertical-layout" title="7.1 Principles of Layout in Vertical Writing Modes" />
+  <link rel="help" href="http://www.w3.org/TR/CSS21/visudet.html#abs-non-replaced-height" title="10.6.4 Absolutely positioned, non-replaced elements" />
+  <link rel="match" href="abs-pos-non-replaced-vlr-013-ref.xht" />
+
+  <meta name="flags" content="ahem image" />
+  <meta name="assert" content="When 'direction' is 'rtl' and 'width' is 'auto' and 'left' and 'right' are not 'auto' and 'writing-mode' is 'vertical-lr', then solve for 'width'." />
+
+<style type="text/css"><![CDATA[
+@font-face {
+  font-family: Ahem;
+  src: url("../../../fonts/Ahem.ttf");
+}
+]]></style>
+  <style type="text/css"><![CDATA[
+  html
+    {
+      writing-mode: vertical-lr;
+    }
+
+  div#containing-block
+    {
+      background: red url("support/bg-red-2col-2row-320x320.png");
+      color: transparent;
+      direction: rtl;
+      font: 80px/1 Ahem;
+      height: 320px;
+      position: relative;
+      width: 320px;
+    }
+
+  div#containing-block > span
+    {
+      background-color: green;
+      height: 1em;
+      left: 1em;
+      position: absolute;
+      right: 2em;
+      width: auto;
+    }
+
+/*
+"
+Layout calculation rules (such as those in CSS2.1, Section 10.3) that apply to the horizontal dimension in horizontal writing modes instead apply to the vertical dimension in vertical writing modes.
+"
+7.1 Principles of Layout in Vertical Writing Modes
+http://www.w3.org/TR/css-writing-modes-3/#vertical-layout
+
+So here, *left properties and *right properties are input into the §10.6.4 algorithms where *left properties refer to *top properties in the layout rules and where *right properties refer to *bottom properties in the layout rules.
+
+"
+5. 'height' is 'auto', 'top' and 'bottom' are not 'auto', then 'auto' values for 'margin-top' and 'margin-bottom' are set to 0 and solve for 'height'
+"
+
+'left' + 'margin-left' + 'border-left-width' + 'padding-left' + 'width' + 'padding-right' + 'border-right-width' + 'margin-right' + 'right' = width of containing block
+
+So:
+
+    160px : right
+  +
+      0px : margin-right
+  +
+      0px : border-right-width
+  +
+      0px : padding-right
+  +
+  (solve) : width: auto
+  +
+      0px : padding-left
+  +
+      0px : border-left-width
+  +
+      0px : margin-left
+  +
+     80px : left
+    =====================
+    320px : width of containing block
+
+And so computed width value must be 80px .
+*/
+
+  ]]></style>
+
+ </head>
+
+ <body>
+
+  <p><img src="support/pass-cdts-abs-pos-non-replaced.png" width="246" height="36" alt="Image download support must be enabled" /></p>
+
+  <div id="containing-block">1 2 34<span></span></div>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/abs-pos-non-replaced-vlr-197.xht
@@ -0,0 +1,98 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Writing Modes Test: absolutely positioned non-replaced element - 'direction: rtl' and 'width' is 'auto' and 'left' and 'right' are not 'auto'</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+  <link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#vertical-layout" title="7.1 Principles of Layout in Vertical Writing Modes" />
+  <link rel="help" href="http://www.w3.org/TR/CSS21/visudet.html#abs-non-replaced-height" title="10.6.4 Absolutely positioned, non-replaced elements" />
+  <link rel="match" href="abs-pos-non-replaced-vlr-009-ref.xht" />
+
+  <meta name="flags" content="ahem image" />
+  <meta name="assert" content="When 'direction' is 'rtl' and 'width' is 'auto' and 'left' and 'right' are not 'auto' and 'writing-mode' is 'vertical-lr', then solve for 'width'." />
+
+<style type="text/css"><![CDATA[
+@font-face {
+  font-family: Ahem;
+  src: url("../../../fonts/Ahem.ttf");
+}
+]]></style>
+  <style type="text/css"><![CDATA[
+  div#containing-block
+    {
+      background: red url("support/bg-red-2col-2row-320x320.png");
+      color: transparent;
+      direction: rtl;
+      font: 80px/1 Ahem;
+      height: 320px;
+      position: relative;
+      width: 320px;
+      writing-mode: vertical-lr;
+    }
+
+  div#containing-block > span
+    {
+      background-color: green;
+      height: 1em;
+      left: 1em;
+      position: absolute;
+      right: 2em;
+      width: auto;
+      writing-mode: horizontal-tb;
+    }
+
+/*
+"
+Layout calculation rules (such as those in CSS2.1, Section 10.3) that apply to the horizontal dimension in horizontal writing modes instead apply to the vertical dimension in vertical writing modes.
+"
+7.1 Principles of Layout in Vertical Writing Modes
+http://www.w3.org/TR/css-writing-modes-3/#vertical-layout
+
+So here, *left properties and *right properties are input into the §10.6.4 algorithms where *left properties refer to *top properties in the layout rules and where *right properties refer to *bottom properties in the layout rules.
+
+"
+5. 'height' is 'auto', 'top' and 'bottom' are not 'auto', then 'auto' values for 'margin-top' and 'margin-bottom' are set to 0 and solve for 'height'
+"
+
+'left' + 'margin-left' + 'border-left-width' + 'padding-left' + 'width' + 'padding-right' + 'border-right-width' + 'margin-right' + 'right' = width of containing block
+
+So:
+
+    160px : right
+  +
+      0px : margin-right
+  +
+      0px : border-right-width
+  +
+      0px : padding-right
+  +
+  (solve) : width: auto
+  +
+      0px : padding-left
+  +
+      0px : border-left-width
+  +
+      0px : margin-left
+  +
+     80px : left
+    =====================
+    320px : width of containing block
+
+And so computed width value must be 80px .
+*/
+
+  ]]></style>
+
+ </head>
+
+ <body>
+
+  <p><img src="support/pass-cdts-abs-pos-non-replaced.png" width="246" height="36" alt="Image download support must be enabled" /></p>
+
+  <div id="containing-block">1 2 34<span></span></div>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/abs-pos-non-replaced-vlr-199.xht
@@ -0,0 +1,97 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Writing Modes Test: absolutely positioned non-replaced element - 'direction: ltr' and 'left' is 'auto' and 'right' and 'width' are not 'auto'</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+  <link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#vertical-layout" title="7.1 Principles of Layout in Vertical Writing Modes" />
+  <link rel="help" href="http://www.w3.org/TR/CSS21/visudet.html#abs-non-replaced-height" title="10.6.4 Absolutely positioned, non-replaced elements" />
+  <link rel="match" href="abs-pos-non-replaced-vrl-002-ref.xht" />
+
+  <meta name="flags" content="ahem image" />
+  <meta name="assert" content="When 'direction' is 'ltr' and 'left' is 'auto' and 'right' and 'width' are not 'auto' and 'writing-mode' is 'vertical-lr', then solve for 'left'." />
+
+<style type="text/css"><![CDATA[
+@font-face {
+  font-family: Ahem;
+  src: url("../../../fonts/Ahem.ttf");
+}
+]]></style>
+  <style type="text/css"><![CDATA[
+  div#containing-block
+    {
+      background: red url("support/bg-red-3col-3row-320x320.png");
+      color: transparent;
+      direction: ltr;
+      font: 80px/1 Ahem;
+      height: 320px;
+      position: relative;
+      width: 320px;
+      writing-mode: vertical-lr;
+    }
+
+  div#containing-block > span
+    {
+      background-color: red;
+      color: green;
+      left: auto;
+      position: absolute;
+      right: 1em;
+      width: 1em;
+    }
+
+/*
+"
+Layout calculation rules (such as those in CSS2.1, Section 10.3) that apply to the horizontal dimension in horizontal writing modes instead apply to the vertical dimension in vertical writing modes.
+"
+7.1 Principles of Layout in Vertical Writing Modes
+http://www.w3.org/TR/css-writing-modes-3/#vertical-layout
+
+So here, *left properties and *right properties are input into the §10.6.4 algorithms where *left properties refer to *top properties in the layout rules and where *right properties refer to *bottom properties in the layout rules.
+
+"
+6. 'bottom' is 'auto', 'top' and 'height' are not 'auto', then set 'auto' values for 'margin-top' and 'margin-bottom' to 0 and solve for 'bottom'
+"
+
+'left' + 'margin-left' + 'border-left-width' + 'padding-left' + 'width' + 'padding-right' + 'border-right-width' + 'margin-right' + 'right' = width of containing block
+
+So:
+
+     80px : right
+  +
+      0px : margin-right
+  +
+      0px : border-right-width
+  +
+      0px : padding-right
+  +
+     80px : width
+  +
+      0px : padding-left
+  +
+      0px : border-left-width
+  +
+      0px : margin-left
+  +
+  (solve) : left: auto
+    =====================
+    320px : width of containing block
+
+And so computed left value must be 160px .
+*/
+
+  ]]></style>
+
+ </head>
+
+ <body>
+
+  <p><img src="support/pass-cdts-abs-pos-non-replaced.png" width="246" height="36" alt="Image download support must be enabled" /></p>
+
+  <div id="containing-block">1 2 34<span>X</span></div>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/abs-pos-non-replaced-vlr-201.xht
@@ -0,0 +1,89 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Writing Modes Test: absolutely positioned non-replaced element - 'direction: ltr' and 'bottom' is 'auto', 'top' and 'height' are not 'auto'</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+  <link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#vertical-layout" title="7.1 Principles of Layout in Vertical Writing Modes" />
+  <link rel="help" href="http://www.w3.org/TR/CSS21/visudet.html#abs-non-replaced-height" title="10.6.4 Absolutely positioned, non-replaced elements" />
+  <link rel="match" href="abs-pos-non-replaced-vrl-004-ref.xht" />
+
+  <meta name="flags" content="ahem image" />
+  <meta name="assert" content="When 'direction' is 'ltr' and 'bottom' is 'auto', 'top' and 'height' are not 'auto', then solve for 'bottom'." />
+
+<style type="text/css"><![CDATA[
+@font-face {
+  font-family: Ahem;
+  src: url("../../../fonts/Ahem.ttf");
+}
+]]></style>
+  <style type="text/css"><![CDATA[
+  div#containing-block
+    {
+      background: red url("support/bg-red-3col-2row-320x320.png");
+      color: transparent;
+      direction: ltr;
+      font: 80px/1 Ahem;
+      height: 320px;
+      position: relative;
+      width: 320px;
+    }
+
+  div#containing-block > span
+    {
+      background-color: red;
+      bottom: auto;
+      color: green;
+      position: absolute;
+      top: 1em;
+      height: 1em;
+      writing-mode: vertical-lr;
+    }
+
+/*
+"
+6. 'bottom' is 'auto', 'top' and 'height' are not 'auto', then set 'auto' values for 'margin-top' and 'margin-bottom' to 0 and solve for 'bottom'
+"
+
+'top' + 'margin-top' + 'border-top-width' + 'padding-top' + 'height' + 'padding-bottom' + 'border-bottom-width' + 'margin-bottom' + 'bottom' = height of containing block
+
+So:
+
+     80px : top
+  +
+      0px : margin-top
+  +
+      0px : border-top-width
+  +
+      0px : padding-top
+  +
+     80px : height
+  +
+      0px : padding-bottom
+  +
+      0px : border-bottom-width
+  +
+      0px : margin-bottom
+  +
+  (solve) : bottom: auto
+    =====================
+    320px : height of containing block
+
+And so computed bottom value must be 160px .
+*/
+
+  ]]></style>
+
+ </head>
+
+ <body>
+
+  <p><img src="support/pass-cdts-abs-pos-non-replaced.png" width="246" height="36" alt="Image download support must be enabled" /></p>
+
+  <div id="containing-block">1 2 34<span>X</span></div>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/abs-pos-non-replaced-vlr-203.xht
@@ -0,0 +1,101 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Writing Modes Test: absolutely positioned non-replaced element - 'direction: ltr' and 'left' is 'auto' and 'right' and 'width' are not 'auto'</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+  <link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#vertical-layout" title="7.1 Principles of Layout in Vertical Writing Modes" />
+  <link rel="help" href="http://www.w3.org/TR/CSS21/visudet.html#abs-non-replaced-height" title="10.6.4 Absolutely positioned, non-replaced elements" />
+  <link rel="match" href="abs-pos-non-replaced-vlr-155-ref.xht" />
+
+  <meta name="flags" content="ahem image" />
+  <meta name="assert" content="When 'direction' is 'ltr' and 'left' is 'auto' and 'right' and 'width' are not 'auto' and 'writing-mode' is 'vertical-lr', then solve for 'left'." />
+
+<style type="text/css"><![CDATA[
+@font-face {
+  font-family: Ahem;
+  src: url("../../../fonts/Ahem.ttf");
+}
+]]></style>
+  <style type="text/css"><![CDATA[
+  html
+    {
+      writing-mode: vertical-lr;
+    }
+
+  div#containing-block
+    {
+      background: red url("support/bg-red-3col-3row-320x320.png");
+      color: transparent;
+      direction: ltr;
+      font: 80px/1 Ahem;
+      height: 320px;
+      position: relative;
+      width: 320px;
+    }
+
+  div#containing-block > span
+    {
+      background-color: red;
+      color: green;
+      left: auto;
+      position: absolute;
+      right: 1em;
+      width: 1em;
+    }
+
+/*
+"
+Layout calculation rules (such as those in CSS2.1, Section 10.3) that apply to the horizontal dimension in horizontal writing modes instead apply to the vertical dimension in vertical writing modes.
+"
+7.1 Principles of Layout in Vertical Writing Modes
+http://www.w3.org/TR/css-writing-modes-3/#vertical-layout
+
+So here, *left properties and *right properties are input into the §10.6.4 algorithms where *left properties refer to *top properties in the layout rules and where *right properties refer to *bottom properties in the layout rules.
+
+"
+6. 'bottom' is 'auto', 'top' and 'height' are not 'auto', then set 'auto' values for 'margin-top' and 'margin-bottom' to 0 and solve for 'bottom'
+"
+
+'left' + 'margin-left' + 'border-left-width' + 'padding-left' + 'width' + 'padding-right' + 'border-right-width' + 'margin-right' + 'right' = width of containing block
+
+So:
+
+     80px : right
+  +
+      0px : margin-right
+  +
+      0px : border-right-width
+  +
+      0px : padding-right
+  +
+     80px : width
+  +
+      0px : padding-left
+  +
+      0px : border-left-width
+  +
+      0px : margin-left
+  +
+  (solve) : left: auto
+    =====================
+    320px : width of containing block
+
+And so computed left value must be 160px .
+*/
+
+  ]]></style>
+
+ </head>
+
+ <body>
+
+  <p><img src="support/pass-cdts-abs-pos-non-replaced.png" width="246" height="36" alt="Image download support must be enabled" /></p>
+
+  <div id="containing-block">1 2 34<span>X</span></div>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/abs-pos-non-replaced-vlr-205.xht
@@ -0,0 +1,99 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Writing Modes Test: absolutely positioned non-replaced element - 'direction: ltr' and 'left' is 'auto' and 'right' and 'width' are not 'auto'</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+  <link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#vertical-layout" title="7.1 Principles of Layout in Vertical Writing Modes" />
+  <link rel="help" href="http://www.w3.org/TR/CSS21/visudet.html#abs-non-replaced-height" title="10.6.4 Absolutely positioned, non-replaced elements" />
+  <link rel="match" href="abs-pos-non-replaced-vrl-002-ref.xht" />
+
+  <meta name="flags" content="ahem image" />
+  <meta name="assert" content="When 'direction' is 'ltr' and 'left' is 'auto' and 'right' and 'width' are not 'auto' and 'writing-mode' is 'vertical-lr', then solve for 'left'." />
+
+<style type="text/css"><![CDATA[
+@font-face {
+  font-family: Ahem;
+  src: url("../../../fonts/Ahem.ttf");
+}
+]]></style>
+  <style type="text/css"><![CDATA[
+  div#containing-block
+    {
+      background: red url("support/bg-red-3col-3row-320x320.png");
+      color: transparent;
+      direction: ltr;
+      font: 80px/1 Ahem;
+      height: 320px;
+      position: relative;
+      width: 320px;
+      writing-mode: vertical-lr;
+    }
+
+  div#containing-block > span
+    {
+      background-color: red;
+      color: green;
+      height: 1em;
+      left: auto;
+      position: absolute;
+      right: 1em;
+      width: 1em;
+      writing-mode: horizontal-tb;
+    }
+
+/*
+"
+Layout calculation rules (such as those in CSS2.1, Section 10.3) that apply to the horizontal dimension in horizontal writing modes instead apply to the vertical dimension in vertical writing modes.
+"
+7.1 Principles of Layout in Vertical Writing Modes
+http://www.w3.org/TR/css-writing-modes-3/#vertical-layout
+
+So here, *left properties and *right properties are input into the §10.6.4 algorithms where *left properties refer to *top properties in the layout rules and where *right properties refer to *bottom properties in the layout rules.
+
+"
+6. 'bottom' is 'auto', 'top' and 'height' are not 'auto', then set 'auto' values for 'margin-top' and 'margin-bottom' to 0 and solve for 'bottom'
+"
+
+'left' + 'margin-left' + 'border-left-width' + 'padding-left' + 'width' + 'padding-right' + 'border-right-width' + 'margin-right' + 'right' = width of containing block
+
+So:
+
+     80px : right
+  +
+      0px : margin-right
+  +
+      0px : border-right-width
+  +
+      0px : padding-right
+  +
+     80px : width
+  +
+      0px : padding-left
+  +
+      0px : border-left-width
+  +
+      0px : margin-left
+  +
+  (solve) : left: auto
+    =====================
+    320px : width of containing block
+
+And so computed left value must be 160px .
+*/
+
+  ]]></style>
+
+ </head>
+
+ <body>
+
+  <p><img src="support/pass-cdts-abs-pos-non-replaced.png" width="246" height="36" alt="Image download support must be enabled" /></p>
+
+  <div id="containing-block">1 2 34<span>X</span></div>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/abs-pos-non-replaced-vlr-207.xht
@@ -0,0 +1,97 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Writing Modes Test: absolutely positioned non-replaced element - 'direction: rtl' and 'left' is 'auto' and 'right' and 'width' are not 'auto'</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+  <link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#vertical-layout" title="7.1 Principles of Layout in Vertical Writing Modes" />
+  <link rel="help" href="http://www.w3.org/TR/CSS21/visudet.html#abs-non-replaced-height" title="10.6.4 Absolutely positioned, non-replaced elements" />
+  <link rel="match" href="abs-pos-non-replaced-vrl-004-ref.xht" />
+
+  <meta name="flags" content="ahem image" />
+  <meta name="assert" content="When 'direction' is 'rtl' and 'left' is 'auto' and 'right' and 'width' are not 'auto' and 'writing-mode' is 'vertical-lr', then solve for 'left'." />
+
+<style type="text/css"><![CDATA[
+@font-face {
+  font-family: Ahem;
+  src: url("../../../fonts/Ahem.ttf");
+}
+]]></style>
+  <style type="text/css"><![CDATA[
+  div#containing-block
+    {
+      background: red url("support/bg-red-3col-2row-320x320.png");
+      color: transparent;
+      direction: rtl;
+      font: 80px/1 Ahem;
+      height: 320px;
+      position: relative;
+      width: 320px;
+      writing-mode: vertical-lr;
+    }
+
+  div#containing-block > span
+    {
+      background-color: red;
+      color: green;
+      left: auto;
+      position: absolute;
+      right: 1em;
+      width: 1em;
+    }
+
+/*
+"
+Layout calculation rules (such as those in CSS2.1, Section 10.3) that apply to the horizontal dimension in horizontal writing modes instead apply to the vertical dimension in vertical writing modes.
+"
+7.1 Principles of Layout in Vertical Writing Modes
+http://www.w3.org/TR/css-writing-modes-3/#vertical-layout
+
+So here, *left properties and *right properties are input into the §10.6.4 algorithms where *left properties refer to *top properties in the layout rules and where *right properties refer to *bottom properties in the layout rules.
+
+"
+6. 'bottom' is 'auto', 'top' and 'height' are not 'auto', then set 'auto' values for 'margin-top' and 'margin-bottom' to 0 and solve for 'bottom'
+"
+
+'left' + 'margin-left' + 'border-left-width' + 'padding-left' + 'width' + 'padding-right' + 'border-right-width' + 'margin-right' + 'right' = width of containing block
+
+So:
+
+     80px : right
+  +
+      0px : margin-right
+  +
+      0px : border-right-width
+  +
+      0px : padding-right
+  +
+     80px : width
+  +
+      0px : padding-left
+  +
+      0px : border-left-width
+  +
+      0px : margin-left
+  +
+  (solve) : left: auto
+    =====================
+    320px : width of containing block
+
+And so computed left value must be 160px .
+*/
+
+  ]]></style>
+
+ </head>
+
+ <body>
+
+  <p><img src="support/pass-cdts-abs-pos-non-replaced.png" width="246" height="36" alt="Image download support must be enabled" /></p>
+
+  <div id="containing-block">1 2 34<span>X</span></div>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/abs-pos-non-replaced-vlr-209.xht
@@ -0,0 +1,89 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Writing Modes Test: absolutely positioned non-replaced element - 'direction: rtl' and 'bottom' is 'auto', 'top' and 'height' are not 'auto'</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+  <link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#vertical-layout" title="7.1 Principles of Layout in Vertical Writing Modes" />
+  <link rel="help" href="http://www.w3.org/TR/CSS21/visudet.html#abs-non-replaced-height" title="10.6.4 Absolutely positioned, non-replaced elements" />
+  <link rel="match" href="abs-pos-non-replaced-vlr-009-ref.xht" />
+
+  <meta name="flags" content="ahem image" />
+  <meta name="assert" content="When 'direction' is 'rtl' and 'bottom' is 'auto', 'top' and 'height' are not 'auto', then then solve for 'bottom'." />
+
+<style type="text/css"><![CDATA[
+@font-face {
+  font-family: Ahem;
+  src: url("../../../fonts/Ahem.ttf");
+}
+]]></style>
+  <style type="text/css"><![CDATA[
+  div#containing-block
+    {
+      background: red url("support/bg-red-2col-2row-320x320.png");
+      color: transparent;
+      direction: rtl;
+      font: 80px/1 Ahem;
+      height: 320px;
+      position: relative;
+      width: 320px;
+    }
+
+  div#containing-block > span
+    {
+      background-color: red;
+      bottom: auto;
+      color: green;
+      height: 1em;
+      position: absolute;
+      top: 1em;
+      writing-mode: vertical-lr;
+    }
+
+/*
+"
+6. 'bottom' is 'auto', 'top' and 'height' are not 'auto', then set 'auto' values for 'margin-top' and 'margin-bottom' to 0 and solve for 'bottom'
+"
+
+'top' + 'margin-top' + 'border-top-width' + 'padding-top' + 'height' + 'padding-bottom' + 'border-bottom-width' + 'margin-bottom' + 'bottom' = height of containing block
+
+So:
+
+     80px : top
+  +
+      0px : margin-top
+  +
+      0px : border-top-width
+  +
+      0px : padding-top
+  +
+     80px : height : auto
+  +
+      0px : padding-bottom
+  +
+      0px : border-bottom-width
+  +
+      0px : margin-bottom
+  +
+  (solve) : bottom
+    =====================
+    320px : height of containing block
+
+And so computed bottom value must be 160px .
+*/
+
+  ]]></style>
+
+ </head>
+
+ <body>
+
+  <p><img src="support/pass-cdts-abs-pos-non-replaced.png" width="246" height="36" alt="Image download support must be enabled" /></p>
+
+  <div id="containing-block">1 2 34<span>X</span></div>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/abs-pos-non-replaced-vlr-211.xht
@@ -0,0 +1,101 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Writing Modes Test: absolutely positioned non-replaced element - 'direction: rtl' and 'left' is 'auto' and 'right' and 'width' are not 'auto'</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+  <link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#vertical-layout" title="7.1 Principles of Layout in Vertical Writing Modes" />
+  <link rel="help" href="http://www.w3.org/TR/CSS21/visudet.html#abs-non-replaced-height" title="10.6.4 Absolutely positioned, non-replaced elements" />
+  <link rel="match" href="abs-pos-non-replaced-vlr-163-ref.xht" />
+
+  <meta name="flags" content="ahem image" />
+  <meta name="assert" content="When 'direction' is 'rtl' and 'left' is 'auto' and 'right' and 'width' are not 'auto' and 'writing-mode' is 'vertical-lr', then solve for 'left'." />
+
+<style type="text/css"><![CDATA[
+@font-face {
+  font-family: Ahem;
+  src: url("../../../fonts/Ahem.ttf");
+}
+]]></style>
+  <style type="text/css"><![CDATA[
+  html
+    {
+      writing-mode: vertical-lr;
+    }
+
+  div#containing-block
+    {
+      background: red url("support/bg-red-3col-2row-320x320.png");
+      color: transparent;
+      direction: rtl;
+      font: 80px/1 Ahem;
+      height: 320px;
+      position: relative;
+      width: 320px;
+    }
+
+  div#containing-block > span
+    {
+      background-color: red;
+      color: green;
+      left: auto;
+      position: absolute;
+      right: 1em;
+      width: 1em;
+    }
+
+/*
+"
+Layout calculation rules (such as those in CSS2.1, Section 10.3) that apply to the horizontal dimension in horizontal writing modes instead apply to the vertical dimension in vertical writing modes.
+"
+7.1 Principles of Layout in Vertical Writing Modes
+http://www.w3.org/TR/css-writing-modes-3/#vertical-layout
+
+So here, *left properties and *right properties are input into the §10.6.4 algorithms where *left properties refer to *top properties in the layout rules and where *right properties refer to *bottom properties in the layout rules.
+
+"
+6. 'bottom' is 'auto', 'top' and 'height' are not 'auto', then set 'auto' values for 'margin-top' and 'margin-bottom' to 0 and solve for 'bottom'
+"
+
+'left' + 'margin-left' + 'border-left-width' + 'padding-left' + 'width' + 'padding-right' + 'border-right-width' + 'margin-right' + 'right' = width of containing block
+
+So:
+
+     80px : right
+  +
+      0px : margin-right
+  +
+      0px : border-right-width
+  +
+      0px : padding-right
+  +
+     80px : width
+  +
+      0px : padding-left
+  +
+      0px : border-left-width
+  +
+      0px : margin-left
+  +
+  (solve) : left: auto
+    =====================
+    320px : width of containing block
+
+And so computed left value must be 160px .
+*/
+
+  ]]></style>
+
+ </head>
+
+ <body>
+
+  <p><img src="support/pass-cdts-abs-pos-non-replaced.png" width="246" height="36" alt="Image download support must be enabled" /></p>
+
+  <div id="containing-block">1 2 34<span>X</span></div>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/abs-pos-non-replaced-vlr-213.xht
@@ -0,0 +1,98 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Writing Modes Test: absolutely positioned non-replaced element - 'direction: rtl' and 'left' is 'auto' and 'right' and 'width' are not 'auto'</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+  <link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#vertical-layout" title="7.1 Principles of Layout in Vertical Writing Modes" />
+  <link rel="help" href="http://www.w3.org/TR/CSS21/visudet.html#abs-non-replaced-height" title="10.6.4 Absolutely positioned, non-replaced elements" />
+  <link rel="match" href="abs-pos-non-replaced-vrl-004-ref.xht" />
+
+  <meta name="flags" content="ahem image" />
+  <meta name="assert" content="When 'direction' is 'rtl' and 'width' is 'auto' and 'left' and 'right' are not 'auto' and 'writing-mode' is 'vertical-lr', then solve for 'left'." />
+
+<style type="text/css"><![CDATA[
+@font-face {
+  font-family: Ahem;
+  src: url("../../../fonts/Ahem.ttf");
+}
+]]></style>
+  <style type="text/css"><![CDATA[
+  div#containing-block
+    {
+      background: red url("support/bg-red-3col-2row-320x320.png");
+      color: transparent;
+      direction: rtl;
+      font: 80px/1 Ahem;
+      height: 320px;
+      position: relative;
+      width: 320px;
+      writing-mode: vertical-lr;
+    }
+
+  div#containing-block > span
+    {
+      background-color: red;
+      color: green;
+      left: auto;
+      position: absolute;
+      right: 1em;
+      width: 1em;
+      writing-mode: horizontal-tb;
+    }
+
+/*
+"
+Layout calculation rules (such as those in CSS2.1, Section 10.3) that apply to the horizontal dimension in horizontal writing modes instead apply to the vertical dimension in vertical writing modes.
+"
+7.1 Principles of Layout in Vertical Writing Modes
+http://www.w3.org/TR/css-writing-modes-3/#vertical-layout
+
+So here, *left properties and *right properties are input into the §10.6.4 algorithms where *left properties refer to *top properties in the layout rules and where *right properties refer to *bottom properties in the layout rules.
+
+"
+6. 'bottom' is 'auto', 'top' and 'height' are not 'auto', then set 'auto' values for 'margin-top' and 'margin-bottom' to 0 and solve for 'bottom'
+"
+
+'left' + 'margin-left' + 'border-left-width' + 'padding-left' + 'width' + 'padding-right' + 'border-right-width' + 'margin-right' + 'right' = width of containing block
+
+So:
+
+     80px : right
+  +
+      0px : margin-right
+  +
+      0px : border-right-width
+  +
+      0px : padding-right
+  +
+     80px : width
+  +
+      0px : padding-left
+  +
+      0px : border-left-width
+  +
+      0px : margin-left
+  +
+  (solve) : left: auto
+    =====================
+    320px : width of containing block
+
+And so computed left value must be 160px .
+*/
+
+  ]]></style>
+
+ </head>
+
+ <body>
+
+  <p><img src="support/pass-cdts-abs-pos-non-replaced.png" width="246" height="36" alt="Image download support must be enabled" /></p>
+
+  <div id="containing-block">1 2 34<span>X</span></div>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/abs-pos-non-replaced-vlr-215.xht
@@ -0,0 +1,120 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Writing Modes Test: absolutely positioned non-replaced element - 'direction: ltr' and 'left', 'right' and 'width' are not 'auto' (overconstrained)</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+  <link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#vertical-layout" title="7.1 Principles of Layout in Vertical Writing Modes" />
+  <link rel="help" href="http://www.w3.org/TR/CSS21/visudet.html#abs-non-replaced-height" title="10.6.4 Absolutely positioned, non-replaced elements" />
+  <link rel="match" href="abs-pos-non-replaced-vrl-002-ref.xht" />
+
+  <meta name="flags" content="ahem image" />
+  <meta name="assert" content="When 'direction' is 'ltr' and 'left', 'right' and 'width' are not 'auto' and 'writing-mode' is 'vertical-lr' and if the values are over-constrained, then ignore the value for 'right' and solve for that value." />
+
+<style type="text/css"><![CDATA[
+@font-face {
+  font-family: Ahem;
+  src: url("../../../fonts/Ahem.ttf");
+}
+]]></style>
+  <style type="text/css"><![CDATA[
+  div#containing-block
+    {
+      background: red url("support/bg-red-3col-3row-320x320.png");
+      color: transparent;
+      direction: ltr;
+      font: 80px/1 Ahem;
+      height: 320px;
+      position: relative;
+      width: 320px;
+      writing-mode: vertical-lr;
+    }
+
+  div#containing-block > span
+    {
+      background-color: red;
+      color: green;
+      left: 2em;
+      position: absolute;
+      right: 2em;
+      width: 1em;
+    }
+
+/*
+"
+Layout calculation rules (such as those in CSS2.1, Section 10.3) that apply to the horizontal dimension in horizontal writing modes instead apply to the vertical dimension in vertical writing modes.
+"
+7.1 Principles of Layout in Vertical Writing Modes
+http://www.w3.org/TR/css-writing-modes-3/#vertical-layout
+
+So here, *left properties and *right properties are input into the §10.6.4 algorithms where *left properties refer to *top properties in the layout rules and where *right properties refer to *bottom properties in the layout rules.
+
+"
+If none of the three are 'auto': If both 'margin-top' and 'margin-bottom' are 'auto', solve the equation under the extra constraint that the two margins get equal values. If one of 'margin-top' or 'margin-bottom' is 'auto', solve the equation for that value. If the values are over-constrained, ignore the value for 'bottom' and solve for that value.
+"
+
+'left' + 'margin-left' + 'border-left-width' + 'padding-left' + 'width' + 'padding-right' + 'border-right-width' + 'margin-right' + 'right' = width of containing block
+
+So:
+
+    160px : right
+  +
+      0px : margin-right
+  +
+      0px : border-right-width
+  +
+      0px : padding-right
+  +
+     80px : width
+  +
+      0px : padding-left
+  +
+      0px : border-left-width
+  +
+      0px : margin-left
+  +
+    160px : left
+    =====================
+    320px : width of containing block
+
+give us
+
+  (solve) : right
+  +
+      0px : margin-right
+  +
+      0px : border-right-width
+  +
+      0px : padding-right
+  +
+     80px : width
+  +
+      0px : padding-left
+  +
+      0px : border-left-width
+  +
+      0px : margin-left
+  +
+    160px : left
+    =====================
+    320px : width of containing block
+
+
+And so computed right value must be 80px .
+*/
+
+  ]]></style>
+
+ </head>
+
+ <body>
+
+  <p><img src="support/pass-cdts-abs-pos-non-replaced.png" width="246" height="36" alt="Image download support must be enabled" /></p>
+
+  <div id="containing-block">1 2 34<span>X</span></div>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/abs-pos-non-replaced-vlr-217.xht
@@ -0,0 +1,111 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Writing Modes Test: absolutely positioned non-replaced element - 'direction: ltr' and 'top', 'bottom' and 'height' are not 'auto' (overconstrained)</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+  <link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#vertical-layout" title="7.1 Principles of Layout in Vertical Writing Modes" />
+  <link rel="help" href="http://www.w3.org/TR/CSS21/visudet.html#abs-non-replaced-height" title="10.6.4 Absolutely positioned, non-replaced elements" />
+  <link rel="match" href="abs-pos-non-replaced-vrl-002-ref.xht" />
+
+  <meta name="flags" content="ahem image" />
+  <meta name="assert" content="When 'direction' is 'ltr' and 'top', 'bottom' and 'height' are not 'auto' and if the values are over-constrained, then ignore the value for 'bottom' and solve for that value." />
+
+<style type="text/css"><![CDATA[
+@font-face {
+  font-family: Ahem;
+  src: url("../../../fonts/Ahem.ttf");
+}
+]]></style>
+  <style type="text/css"><![CDATA[
+  div#containing-block
+    {
+      background: red url("support/bg-red-3col-3row-320x320.png");
+      color: transparent;
+      direction: ltr;
+      font: 80px/1 Ahem;
+      height: 320px;
+      position: relative;
+      width: 320px;
+    }
+
+  div#containing-block > span
+    {
+      background-color: red;
+      bottom: 2em;
+      color: green;
+      height: 1em;
+      position: absolute;
+      top: 2em;
+      writing-mode: vertical-lr;
+    }
+
+/*
+"
+If none of the three are 'auto': If both 'margin-top' and 'margin-bottom' are 'auto', solve the equation under the extra constraint that the two margins get equal values. If one of 'margin-top' or 'margin-bottom' is 'auto', solve the equation for that value. If the values are over-constrained, ignore the value for 'bottom' and solve for that value.
+"
+
+'top' + 'margin-top' + 'border-top-width' + 'padding-top' + 'height' + 'padding-bottom' + 'border-bottom-width' + 'margin-bottom' + 'bottom' = height of containing block
+
+So:
+
+    160px : top
+  +
+      0px : margin-top
+  +
+      0px : border-top-width
+  +
+      0px : padding-top
+  +
+     80px : height
+  +
+      0px : padding-bottom
+  +
+      0px : border-bottom-width
+  +
+      0px : margin-bottom
+  +
+    160px : bottom
+    =====================
+    320px : height of containing block
+
+gives us
+
+    160px : top
+  +
+      0px : margin-top
+  +
+      0px : border-top-width
+  +
+      0px : padding-top
+  +
+     80px : height
+  +
+      0px : padding-bottom
+  +
+      0px : border-bottom-width
+  +
+      0px : margin-bottom
+  +
+  (solve) : bottom
+    =====================
+    320px : height of containing block
+
+And so computed bottom value must be 80px .
+*/
+
+  ]]></style>
+
+ </head>
+
+ <body>
+
+  <p><img src="support/pass-cdts-abs-pos-non-replaced.png" width="246" height="36" alt="Image download support must be enabled" /></p>
+
+  <div id="containing-block">1 2 34<span>X</span></div>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/abs-pos-non-replaced-vlr-219.xht
@@ -0,0 +1,123 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Writing Modes Test: absolutely positioned non-replaced element - 'direction: ltr' and 'left', 'right' and 'width' are not 'auto' (overconstrained)</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+  <link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#vertical-layout" title="7.1 Principles of Layout in Vertical Writing Modes" />
+  <link rel="help" href="http://www.w3.org/TR/CSS21/visudet.html#abs-non-replaced-height" title="10.6.4 Absolutely positioned, non-replaced elements" />
+  <link rel="match" href="abs-pos-non-replaced-vlr-155-ref.xht" />
+
+  <meta name="flags" content="ahem image" />
+  <meta name="assert" content="When 'direction' is 'ltr' and 'left', 'right' and 'width' are not 'auto' and 'writing-mode' is 'vertical-lr' and if the values are over-constrained, then ignore the value for 'right' and solve for that value." />
+
+<style type="text/css"><![CDATA[
+@font-face {
+  font-family: Ahem;
+  src: url("../../../fonts/Ahem.ttf");
+}
+]]></style>
+  <style type="text/css"><![CDATA[
+  html
+    {
+      writing-mode: vertical-lr;
+    }
+
+  div#containing-block
+    {
+      background: red url("support/bg-red-3col-3row-320x320.png");
+      color: transparent;
+      direction: ltr;
+      font: 80px/1 Ahem;
+      height: 320px;
+      position: relative;
+      width: 320px;
+    }
+
+  div#containing-block > span
+    {
+      background-color: red;
+      color: green;
+      left: 2em;
+      position: absolute;
+      right: 2em;
+      width: 1em;
+    }
+
+/*
+"
+Layout calculation rules (such as those in CSS2.1, Section 10.3) that apply to the horizontal dimension in horizontal writing modes instead apply to the vertical dimension in vertical writing modes.
+"
+7.1 Principles of Layout in Vertical Writing Modes
+http://www.w3.org/TR/css-writing-modes-3/#vertical-layout
+
+So here, *left properties and *right properties are input into the §10.6.4 algorithms where *left properties refer to *top properties in the layout rules and where *right properties refer to *bottom properties in the layout rules.
+
+"
+If none of the three are 'auto': If both 'margin-top' and 'margin-bottom' are 'auto', solve the equation under the extra constraint that the two margins get equal values. If one of 'margin-top' or 'margin-bottom' is 'auto', solve the equation for that value. If the values are over-constrained, ignore the value for 'bottom' and solve for that value.
+"
+
+'left' + 'margin-left' + 'border-left-width' + 'padding-left' + 'width' + 'padding-right' + 'border-right-width' + 'margin-right' + 'right' = width of containing block
+
+So:
+
+    160px : right
+  +
+      0px : margin-right
+  +
+      0px : border-right-width
+  +
+      0px : padding-right
+  +
+     80px : width
+  +
+      0px : padding-left
+  +
+      0px : border-left-width
+  +
+      0px : margin-left
+  +
+    160px : left
+    =====================
+    320px : width of containing block
+
+give us
+
+  (solve) : right
+  +
+      0px : margin-right
+  +
+      0px : border-right-width
+  +
+      0px : padding-right
+  +
+     80px : width
+  +
+      0px : padding-left
+  +
+      0px : border-left-width
+  +
+      0px : margin-left
+  +
+    160px : left
+    =====================
+    320px : width of containing block
+
+And so computed right value must be 80px .
+*/
+
+  ]]></style>
+
+ </head>
+
+ <body>
+
+  <p><img src="support/pass-cdts-abs-pos-non-replaced.png" width="246" height="36" alt="Image download support must be enabled" /></p>
+
+  <div id="containing-block">1 2 34<span>X</span></div>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/abs-pos-non-replaced-vlr-221.xht
@@ -0,0 +1,120 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Writing Modes Test: absolutely positioned non-replaced element - 'direction: ltr' and 'left', 'right' and 'width' are not 'auto' (overconstrained)</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+  <link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#vertical-layout" title="7.1 Principles of Layout in Vertical Writing Modes" />
+  <link rel="help" href="http://www.w3.org/TR/CSS21/visudet.html#abs-non-replaced-height" title="10.6.4 Absolutely positioned, non-replaced elements" />
+  <link rel="match" href="abs-pos-non-replaced-vrl-002-ref.xht" />
+
+  <meta name="flags" content="ahem image" />
+  <meta name="assert" content="When 'direction' is 'ltr' and 'left', 'right' and 'width' are not 'auto' and 'writing-mode' is 'vertical-lr' and if the values are over-constrained, then ignore the value for 'right' and solve for that value." />
+
+<style type="text/css"><![CDATA[
+@font-face {
+  font-family: Ahem;
+  src: url("../../../fonts/Ahem.ttf");
+}
+]]></style>
+  <style type="text/css"><![CDATA[
+  div#containing-block
+    {
+      background: red url("support/bg-red-3col-3row-320x320.png");
+      color: transparent;
+      direction: ltr;
+      font: 80px/1 Ahem;
+      height: 320px;
+      position: relative;
+      width: 320px;
+      writing-mode: vertical-lr;
+    }
+
+  div#containing-block > span
+    {
+      background-color: red;
+      color: green;
+      left: 2em;
+      position: absolute;
+      right: 2em;
+      width: 1em;
+      writing-mode: horizontal-tb;
+    }
+
+/*
+"
+Layout calculation rules (such as those in CSS2.1, Section 10.3) that apply to the horizontal dimension in horizontal writing modes instead apply to the vertical dimension in vertical writing modes.
+"
+7.1 Principles of Layout in Vertical Writing Modes
+http://www.w3.org/TR/css-writing-modes-3/#vertical-layout
+
+So here, *left properties and *right properties are input into the §10.6.4 algorithms where *left properties refer to *top properties in the layout rules and where *right properties refer to *bottom properties in the layout rules.
+
+"
+If none of the three are 'auto': If both 'margin-top' and 'margin-bottom' are 'auto', solve the equation under the extra constraint that the two margins get equal values. If one of 'margin-top' or 'margin-bottom' is 'auto', solve the equation for that value. If the values are over-constrained, ignore the value for 'bottom' and solve for that value.
+"
+
+'left' + 'margin-left' + 'border-left-width' + 'padding-left' + 'width' + 'padding-right' + 'border-right-width' + 'margin-right' + 'right' = width of containing block
+
+So:
+
+    160px : right
+  +
+      0px : margin-right
+  +
+      0px : border-right-width
+  +
+      0px : padding-right
+  +
+     80px : width
+  +
+      0px : padding-left
+  +
+      0px : border-left-width
+  +
+      0px : margin-left
+  +
+    160px : left
+    =====================
+    320px : width of containing block
+
+give us
+
+  (solve) : right
+  +
+      0px : margin-right
+  +
+      0px : border-right-width
+  +
+      0px : padding-right
+  +
+     80px : width
+  +
+      0px : padding-left
+  +
+      0px : border-left-width
+  +
+      0px : margin-left
+  +
+    160px : left
+    =====================
+    320px : width of containing block
+
+And so computed right value must be 80px .
+*/
+
+  ]]></style>
+
+ </head>
+
+ <body>
+
+  <p><img src="support/pass-cdts-abs-pos-non-replaced.png" width="246" height="36" alt="Image download support must be enabled" /></p>
+
+  <div id="containing-block">1 2 34<span>X</span></div>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/abs-pos-non-replaced-vlr-223.xht
@@ -0,0 +1,119 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Writing Modes Test: absolutely positioned non-replaced element - 'direction: rtl' and 'left', 'right' and 'width' are not 'auto' (overconstrained)</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+  <link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#vertical-layout" title="7.1 Principles of Layout in Vertical Writing Modes" />
+  <link rel="help" href="http://www.w3.org/TR/CSS21/visudet.html#abs-non-replaced-height" title="10.6.4 Absolutely positioned, non-replaced elements" />
+  <link rel="match" href="abs-pos-non-replaced-vrl-004-ref.xht" />
+
+  <meta name="flags" content="ahem image" />
+  <meta name="assert" content="When 'direction' is 'rtl' and 'left', 'right' and 'width' are not 'auto' and 'writing-mode' is 'vertical-lr' and if the values are over-constrained, then ignore the value for 'right' and solve for that value." />
+
+<style type="text/css"><![CDATA[
+@font-face {
+  font-family: Ahem;
+  src: url("../../../fonts/Ahem.ttf");
+}
+]]></style>
+  <style type="text/css"><![CDATA[
+  div#containing-block
+    {
+      background: red url("support/bg-red-3col-2row-320x320.png");
+      color: transparent;
+      direction: rtl;
+      font: 80px/1 Ahem;
+      height: 320px;
+      position: relative;
+      width: 320px;
+      writing-mode: vertical-lr;
+    }
+
+  div#containing-block > span
+    {
+      background-color: red;
+      color: green;
+      left: 2em;
+      position: absolute;
+      right: 2em;
+      width: 1em;
+    }
+
+/*
+"
+Layout calculation rules (such as those in CSS2.1, Section 10.3) that apply to the horizontal dimension in horizontal writing modes instead apply to the vertical dimension in vertical writing modes.
+"
+7.1 Principles of Layout in Vertical Writing Modes
+http://www.w3.org/TR/css-writing-modes-3/#vertical-layout
+
+So here, *left properties and *right properties are input into the §10.6.4 algorithms where *left properties refer to *top properties in the layout rules and where *right properties refer to *bottom properties in the layout rules.
+
+"
+If none of the three are 'auto': If both 'margin-top' and 'margin-bottom' are 'auto', solve the equation under the extra constraint that the two margins get equal values. If one of 'margin-top' or 'margin-bottom' is 'auto', solve the equation for that value. If the values are over-constrained, ignore the value for 'bottom' and solve for that value.
+"
+
+'left' + 'margin-left' + 'border-left-width' + 'padding-left' + 'width' + 'padding-right' + 'border-right-width' + 'margin-right' + 'right' = width of containing block
+
+So:
+
+    160px : right
+  +
+      0px : margin-right
+  +
+      0px : border-right-width
+  +
+      0px : padding-right
+  +
+     80px : width
+  +
+      0px : padding-left
+  +
+      0px : border-left-width
+  +
+      0px : margin-left
+  +
+    160px : left
+    =====================
+    320px : width of containing block
+
+give us
+
+  (solve) : right
+  +
+      0px : margin-right
+  +
+      0px : border-right-width
+  +
+      0px : padding-right
+  +
+     80px : width
+  +
+      0px : padding-left
+  +
+      0px : border-left-width
+  +
+      0px : margin-left
+  +
+    160px : left
+    =====================
+    320px : width of containing block
+
+And so computed right value must be 80px .
+*/
+
+  ]]></style>
+
+ </head>
+
+ <body>
+
+  <p><img src="support/pass-cdts-abs-pos-non-replaced.png" width="246" height="36" alt="Image download support must be enabled" /></p>
+
+  <div id="containing-block">1 2 34<span>X</span></div>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/abs-pos-non-replaced-vlr-225.xht
@@ -0,0 +1,111 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Writing Modes Test: absolutely positioned non-replaced element - 'direction: rtl' and 'top', 'bottom' and 'height' are not 'auto' (overconstrained)</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+  <link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#vertical-layout" title="7.1 Principles of Layout in Vertical Writing Modes" />
+  <link rel="help" href="http://www.w3.org/TR/CSS21/visudet.html#abs-non-replaced-height" title="10.6.4 Absolutely positioned, non-replaced elements" />
+  <link rel="match" href="abs-pos-non-replaced-vlr-003-ref.xht" />
+
+  <meta name="flags" content="ahem image" />
+  <meta name="assert" content="When 'direction' is 'rtl' and 'top', 'bottom' and 'height' are not 'auto' and if the values are over-constrained, then ignore the value for 'bottom' and solve for that value." />
+
+<style type="text/css"><![CDATA[
+@font-face {
+  font-family: Ahem;
+  src: url("../../../fonts/Ahem.ttf");
+}
+]]></style>
+  <style type="text/css"><![CDATA[
+  div#containing-block
+    {
+      background: red url("support/bg-red-2col-3row-320x320.png");
+      color: transparent;
+      direction: rtl;
+      font: 80px/1 Ahem;
+      height: 320px;
+      position: relative;
+      width: 320px;
+    }
+
+  div#containing-block > span
+    {
+      background-color: red;
+      bottom: 2em;
+      color: green;
+      height: 1em;
+      position: absolute;
+      top: 2em;
+      writing-mode: vertical-lr;
+    }
+
+/*
+"
+If none of the three are 'auto': If both 'margin-top' and 'margin-bottom' are 'auto', solve the equation under the extra constraint that the two margins get equal values. If one of 'margin-top' or 'margin-bottom' is 'auto', solve the equation for that value. If the values are over-constrained, ignore the value for 'bottom' and solve for that value.
+"
+
+'top' + 'margin-top' + 'border-top-width' + 'padding-top' + 'height' + 'padding-bottom' + 'border-bottom-width' + 'margin-bottom' + 'bottom' = height of containing block
+
+So:
+
+    160px : top
+  +
+      0px : margin-top
+  +
+      0px : border-top-width
+  +
+      0px : padding-top
+  +
+     80px : height
+  +
+      0px : padding-bottom
+  +
+      0px : border-bottom-width
+  +
+      0px : margin-bottom
+  +
+    160px : bottom
+    =====================
+    320px : height of containing block
+
+gives us
+
+    160px : top
+  +
+      0px : margin-top
+  +
+      0px : border-top-width
+  +
+      0px : padding-top
+  +
+     80px : height
+  +
+      0px : padding-bottom
+  +
+      0px : border-bottom-width
+  +
+      0px : margin-bottom
+  +
+  (solve) : bottom
+    =====================
+    320px : height of containing block
+
+And so computed bottom value must be 80px .
+*/
+
+  ]]></style>
+
+ </head>
+
+ <body>
+
+  <p><img src="support/pass-cdts-abs-pos-non-replaced.png" width="246" height="36" alt="Image download support must be enabled" /></p>
+
+  <div id="containing-block">1 2 34<span>X</span></div>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/abs-pos-non-replaced-vlr-227.xht
@@ -0,0 +1,123 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Writing Modes Test: absolutely positioned non-replaced element - 'direction: rtl' and 'left', 'right' and 'width' are not 'auto' (overconstrained)</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+  <link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#vertical-layout" title="7.1 Principles of Layout in Vertical Writing Modes" />
+  <link rel="help" href="http://www.w3.org/TR/CSS21/visudet.html#abs-non-replaced-height" title="10.6.4 Absolutely positioned, non-replaced elements" />
+  <link rel="match" href="abs-pos-non-replaced-vlr-163-ref.xht" />
+
+  <meta name="flags" content="ahem image" />
+  <meta name="assert" content="When 'direction' is 'rtl' and 'left', 'right' and 'width' are not 'auto' and 'writing-mode' is 'vertical-lr' and if the values are over-constrained, then ignore the value for 'right' and solve for that value." />
+
+<style type="text/css"><![CDATA[
+@font-face {
+  font-family: Ahem;
+  src: url("../../../fonts/Ahem.ttf");
+}
+]]></style>
+  <style type="text/css"><![CDATA[
+  html
+    {
+      writing-mode: vertical-lr;
+    }
+
+  div#containing-block
+    {
+      background: red url("support/bg-red-3col-2row-320x320.png");
+      color: transparent;
+      direction: rtl;
+      font: 80px/1 Ahem;
+      height: 320px;
+      position: relative;
+      width: 320px;
+    }
+
+  div#containing-block > span
+    {
+      background-color: red;
+      color: green;
+      left: 2em;
+      position: absolute;
+      right: 2em;
+      width: 1em;
+    }
+
+/*
+"
+Layout calculation rules (such as those in CSS2.1, Section 10.3) that apply to the horizontal dimension in horizontal writing modes instead apply to the vertical dimension in vertical writing modes.
+"
+7.1 Principles of Layout in Vertical Writing Modes
+http://www.w3.org/TR/css-writing-modes-3/#vertical-layout
+
+So here, *left properties and *right properties are input into the §10.6.4 algorithms where *left properties refer to *top properties in the layout rules and where *right properties refer to *bottom properties in the layout rules.
+
+"
+If none of the three are 'auto': If both 'margin-top' and 'margin-bottom' are 'auto', solve the equation under the extra constraint that the two margins get equal values. If one of 'margin-top' or 'margin-bottom' is 'auto', solve the equation for that value. If the values are over-constrained, ignore the value for 'bottom' and solve for that value.
+"
+
+'left' + 'margin-left' + 'border-left-width' + 'padding-left' + 'width' + 'padding-right' + 'border-right-width' + 'margin-right' + 'right' = width of containing block
+
+So:
+
+    160px : right
+  +
+      0px : margin-right
+  +
+      0px : border-right-width
+  +
+      0px : padding-right
+  +
+     80px : width
+  +
+      0px : padding-left
+  +
+      0px : border-left-width
+  +
+      0px : margin-left
+  +
+    160px : left
+    =====================
+    320px : width of containing block
+
+give us
+
+  (solve) : right
+  +
+      0px : margin-right
+  +
+      0px : border-right-width
+  +
+      0px : padding-right
+  +
+     80px : width
+  +
+      0px : padding-left
+  +
+      0px : border-left-width
+  +
+      0px : margin-left
+  +
+    160px : left
+    =====================
+    320px : width of containing block
+
+And so computed right value must be 80px .
+*/
+
+  ]]></style>
+
+ </head>
+
+ <body>
+
+  <p><img src="support/pass-cdts-abs-pos-non-replaced.png" width="246" height="36" alt="Image download support must be enabled" /></p>
+
+  <div id="containing-block">1 2 34<span>X</span></div>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/abs-pos-non-replaced-vlr-229.xht
@@ -0,0 +1,120 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Writing Modes Test: absolutely positioned non-replaced element - 'direction: rtl' and 'left', 'right' and 'width' are not 'auto' (overconstrained)</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+  <link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#vertical-layout" title="7.1 Principles of Layout in Vertical Writing Modes" />
+  <link rel="help" href="http://www.w3.org/TR/CSS21/visudet.html#abs-non-replaced-height" title="10.6.4 Absolutely positioned, non-replaced elements" />
+  <link rel="match" href="abs-pos-non-replaced-vrl-004-ref.xht" />
+
+  <meta name="flags" content="ahem image" />
+  <meta name="assert" content="When 'direction' is 'rtl' and 'left', 'right' and 'width' are not 'auto' and 'writing-mode' is 'vertical-lr' and if the values are over-constrained, then ignore the value for 'right' and solve for that value." />
+
+<style type="text/css"><![CDATA[
+@font-face {
+  font-family: Ahem;
+  src: url("../../../fonts/Ahem.ttf");
+}
+]]></style>
+  <style type="text/css"><![CDATA[
+  div#containing-block
+    {
+      background: red url("support/bg-red-3col-2row-320x320.png");
+      color: transparent;
+      direction: rtl;
+      font: 80px/1 Ahem;
+      height: 320px;
+      position: relative;
+      width: 320px;
+      writing-mode: vertical-lr;
+    }
+
+  div#containing-block > span
+    {
+      background-color: red;
+      color: green;
+      left: 2em;
+      position: absolute;
+      right: 2em;
+      width: 1em;
+      writing-mode: horizontal-tb;
+    }
+
+/*
+"
+Layout calculation rules (such as those in CSS2.1, Section 10.3) that apply to the horizontal dimension in horizontal writing modes instead apply to the vertical dimension in vertical writing modes.
+"
+7.1 Principles of Layout in Vertical Writing Modes
+http://www.w3.org/TR/css-writing-modes-3/#vertical-layout
+
+So here, *left properties and *right properties are input into the §10.6.4 algorithms where *left properties refer to *top properties in the layout rules and where *right properties refer to *bottom properties in the layout rules.
+
+"
+If none of the three are 'auto': If both 'margin-top' and 'margin-bottom' are 'auto', solve the equation under the extra constraint that the two margins get equal values. If one of 'margin-top' or 'margin-bottom' is 'auto', solve the equation for that value. If the values are over-constrained, ignore the value for 'bottom' and solve for that value.
+"
+
+'left' + 'margin-left' + 'border-left-width' + 'padding-left' + 'width' + 'padding-right' + 'border-right-width' + 'margin-right' + 'right' = width of containing block
+
+So:
+
+    160px : right
+  +
+      0px : margin-right
+  +
+      0px : border-right-width
+  +
+      0px : padding-right
+  +
+     80px : width
+  +
+      0px : padding-left
+  +
+      0px : border-left-width
+  +
+      0px : margin-left
+  +
+    160px : left
+    =====================
+    320px : width of containing block
+
+give us
+
+  (solve) : right
+  +
+      0px : margin-right
+  +
+      0px : border-right-width
+  +
+      0px : padding-right
+  +
+     80px : width
+  +
+      0px : padding-left
+  +
+      0px : border-left-width
+  +
+      0px : margin-left
+  +
+    160px : left
+    =====================
+    320px : width of containing block
+
+And so computed right value must be 80px .
+*/
+
+  ]]></style>
+
+ </head>
+
+ <body>
+
+  <p><img src="support/pass-cdts-abs-pos-non-replaced.png" width="246" height="36" alt="Image download support must be enabled" /></p>
+
+  <div id="containing-block">1 2 34<span>X</span></div>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/abs-pos-non-replaced-vrl-002-ref.xht
@@ -0,0 +1,30 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Reftest Reference</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+
+  <meta content="image" name="flags" />
+
+  <style type="text/css"><![CDATA[
+    img#green-square
+    {
+      left: 160px;
+      position: relative;
+      top: 160px;
+    }
+  ]]></style>
+ </head>
+
+ <body>
+
+  <p><img src="support/pass-cdts-abs-pos-non-replaced.png" width="246" height="36" alt="Image download support must be enabled" /></p>
+
+  <div><img id="green-square" src="support/swatch-green.png" width="80" height="80" alt="Image download support must be enabled" /></div>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/abs-pos-non-replaced-vrl-002.xht
@@ -0,0 +1,121 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Writing Modes Test: absolutely positioned non-replaced element - 'direction: ltr' and 'top', 'height' and 'bottom' are 'auto'</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+  <link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#vertical-layout" title="7.1 Principles of Layout in Vertical Writing Modes" />
+  <link rel="help" href="http://www.w3.org/TR/CSS21/visudet.html#abs-non-replaced-width" title="10.3.7 Absolutely positioned, non-replaced elements" />
+  <link rel="match" href="abs-pos-non-replaced-vrl-002-ref.xht" />
+
+  <meta name="flags" content="ahem image" />
+  <meta name="assert" content="When 'direction' is 'ltr' and 'top', 'height' and 'bottom' are 'auto', then set 'top' to the static position, the height is based on the content and then solve for 'bottom'." />
+
+<style type="text/css"><![CDATA[
+@font-face {
+  font-family: Ahem;
+  src: url("../../../fonts/Ahem.ttf");
+}
+]]></style>
+  <style type="text/css"><![CDATA[
+  div#containing-block
+    {
+      background: red url("support/bg-red-3col-3row-320x320.png");
+      color: transparent;
+      direction: ltr;
+      font: 80px/1 Ahem;
+      height: 320px;
+      position: relative;
+      width: 320px;
+      writing-mode: vertical-rl;
+    }
+
+  div#containing-block > span
+    {
+      background-color: red;
+      bottom: auto;
+      color: green;
+      height: auto;
+      position: absolute;
+      top: auto;
+    }
+
+/*
+"
+Layout calculation rules (such as those in CSS2.1, Section 10.3) that apply to the horizontal dimension in horizontal writing modes instead apply to the vertical dimension in vertical writing modes.
+"
+7.1 Principles of Layout in Vertical Writing Modes
+http://www.w3.org/TR/css-writing-modes-3/#vertical-layout
+
+So here, *-top and *-bottom properties are input into the §10.3.7 algorithms where *-top properties refer to *-left properties in the layout rules and where *-bottom properties refer to *-right properties in the layout rules.
+
+"
+If all three of 'left', 'width', and 'right' are 'auto': First set any 'auto' values for 'margin-left' and 'margin-right' to 0. Then, if the 'direction' property of the element establishing the static-position containing block is 'ltr' set 'left' to the static position and apply rule number three below; otherwise, set 'right' to the static position and apply rule number one below.
+
+3. 'width' and 'right' are 'auto' and 'left' is not 'auto', then the width is shrink-to-fit . Then solve for 'right'
+"
+
+'top' + 'margin-top' + 'border-top-width' + 'padding-top' + 'height' + 'padding-bottom' + 'border-bottom-width' + 'margin-bottom' + 'bottom' = height of containing block
+
+So:
+
+    160px : top: auto: set to static position
+  +
+      0px : margin-top
+  +
+      0px : border-top-width
+  +
+      0px : padding-top
+  +
+  (based on the content) : height: auto
+  +
+      0px : padding-bottom
+  +
+      0px : border-bottom-width
+  +
+      0px : margin-bottom
+  +
+  (solve) : bottom: auto
+    =====================
+    320px : height of containing block
+
+gives us:
+
+    160px : top: auto
+  +
+      0px : margin-top
+  +
+      0px : border-top-width
+  +
+      0px : padding-top
+  +
+     80px : (based on the content) : height: auto
+  +
+      0px : padding-bottom
+  +
+      0px : border-bottom-width
+  +
+      0px : margin-bottom
+  +
+  (solve) : bottom: auto
+    =====================
+    320px : height of containing block
+
+And so computed bottom value must be 80px .
+*/
+
+  ]]></style>
+
+ </head>
+
+ <body>
+
+  <p><img src="support/pass-cdts-abs-pos-non-replaced.png" width="246" height="36" alt="Image download support must be enabled" /></p>
+
+  <div id="containing-block">1 2 34<span>X</span></div>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/abs-pos-non-replaced-vrl-004-ref.xht
@@ -0,0 +1,30 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Reftest Reference</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+
+  <meta content="image" name="flags" />
+
+  <style type="text/css"><![CDATA[
+    img#green-square
+    {
+      left: 160px;
+      position: relative;
+      top: 80px;
+    }
+  ]]></style>
+ </head>
+
+ <body>
+
+  <p><img src="support/pass-cdts-abs-pos-non-replaced.png" width="246" height="36" alt="Image download support must be enabled" /></p>
+
+  <div><img id="green-square" src="support/swatch-green.png" width="80" height="80" alt="Image download support must be enabled" /></div>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/abs-pos-non-replaced-vrl-004.xht
@@ -0,0 +1,113 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Writing Modes Test: absolutely positioned non-replaced element - 'direction: ltr' and 'left', 'width' and 'right' are 'auto'</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+  <link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#vertical-layout" title="7.1 Principles of Layout in Vertical Writing Modes" />
+  <link rel="help" href="http://www.w3.org/TR/CSS21/visudet.html#abs-non-replaced-width" title="10.3.7 Absolutely positioned, non-replaced elements" />
+  <link rel="match" href="abs-pos-non-replaced-vrl-004-ref.xht" />
+
+  <meta name="flags" content="ahem image" />
+  <meta name="assert" content="When 'direction' is 'ltr' and 'left', 'width' and 'right' are 'auto', then set 'left' to the static position, the width becomes shrink-to-fit and then solve for 'right'." />
+
+<style type="text/css"><![CDATA[
+@font-face {
+  font-family: Ahem;
+  src: url("../../../fonts/Ahem.ttf");
+}
+]]></style>
+  <style type="text/css"><![CDATA[
+  div#containing-block
+    {
+      background: red url("support/bg-red-3col-2row-320x320.png");
+      color: transparent;
+      direction: ltr;
+      font: 80px/1 Ahem;
+      height: 320px;
+      position: relative;
+      width: 320px;
+    }
+
+  div#containing-block > span
+    {
+      background-color: red;
+      color: green;
+      left: auto;
+      position: absolute;
+      right: auto;
+      width: auto;
+      writing-mode: vertical-rl;
+    }
+
+/*
+"
+If all three of 'left', 'width', and 'right' are 'auto': First set any 'auto' values for 'margin-left' and 'margin-right' to 0. Then, if the 'direction' property of the element establishing the static-position containing block is 'ltr' set 'left' to the static position and apply rule number three below; otherwise, set 'right' to the static position and apply rule number one below.
+
+3. 'width' and 'right' are 'auto' and 'left' is not 'auto', then the width is shrink-to-fit . Then solve for 'right'
+"
+
+'left' + 'margin-left' + 'border-left-width' + 'padding-left' + 'width' + 'padding-right' + 'border-right-width' + 'margin-right' + 'right' = width of containing block
+
+So:
+
+    160px : left: auto: set to static position
+  +
+      0px : margin-left
+  +
+      0px : border-left-width
+  +
+      0px : padding-left
+  +
+  (shrink-to-fit) : width: auto
+  +
+      0px : padding-right
+  +
+      0px : border-right-width
+  +
+      0px : margin-right
+  +
+  (solve) : right: auto
+    =====================
+    320px : width of containing block
+
+gives us:
+
+    160px : left: auto: set to static position
+  +
+      0px : margin-left
+  +
+      0px : border-left-width
+  +
+      0px : padding-left
+  +
+     80px : (shrink-to-fit) : width: auto
+  +
+      0px : padding-right
+  +
+      0px : border-right-width
+  +
+      0px : margin-right
+  +
+  (solve) : right: auto
+    =====================
+    320px : width of containing block
+
+And so computed right value must be 80px .
+*/
+
+  ]]></style>
+
+ </head>
+
+ <body>
+
+  <p><img src="support/pass-cdts-abs-pos-non-replaced.png" width="246" height="36" alt="Image download support must be enabled" /></p>
+
+  <div id="containing-block">1 2 34<span>X</span></div>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/abs-pos-non-replaced-vrl-006-ref.xht
@@ -0,0 +1,43 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Reftest Reference</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+
+  <meta content="image" name="flags" />
+
+  <style type="text/css"><![CDATA[
+  body
+    {
+      direction: rtl;
+    }
+
+  div
+    {
+      margin-right: 0.5em;
+    }
+
+  img
+    {
+      vertical-align: top;
+    }
+
+  img#green-square
+    {
+      position: relative;
+      right: 96px; /* 80px + p's margin-left (1em) */
+      top: 160px;
+    }
+  ]]></style>
+ </head>
+
+ <body>
+
+  <div><img src="support/pass-cdts-abs-pos-non-replaced.png" width="246" height="36" alt="Image download support must be enabled" /><img id="green-square" src="support/swatch-green.png" width="80" height="80" alt="Image download support must be enabled" /></div>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/abs-pos-non-replaced-vrl-006.xht
@@ -0,0 +1,125 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Writing Modes Test: absolutely positioned non-replaced element - 'direction: ltr' and 'top', 'height' and 'bottom' are 'auto'</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+  <link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#vertical-layout" title="7.1 Principles of Layout in Vertical Writing Modes" />
+  <link rel="help" href="http://www.w3.org/TR/CSS21/visudet.html#abs-non-replaced-width" title="10.3.7 Absolutely positioned, non-replaced elements" />
+  <link rel="match" href="abs-pos-non-replaced-vrl-006-ref.xht" />
+
+  <meta name="flags" content="ahem image" />
+  <meta name="assert" content="When 'direction' is 'ltr' and 'top', 'height' and 'bottom' are 'auto', then set 'top' to the static position, the height is based on the content and then solve for 'bottom'." />
+
+<style type="text/css"><![CDATA[
+@font-face {
+  font-family: Ahem;
+  src: url("../../../fonts/Ahem.ttf");
+}
+]]></style>
+  <style type="text/css"><![CDATA[
+  html
+    {
+      writing-mode: vertical-rl;
+    }
+
+  div#containing-block
+    {
+      background: red url("support/bg-red-3col-3row-320x320.png");
+      color: transparent;
+      direction: ltr;
+      font: 80px/1 Ahem;
+      height: 320px;
+      position: relative;
+      width: 320px;
+    }
+
+  div#containing-block > span
+    {
+      background-color: red;
+      bottom: auto;
+      color: green;
+      height: auto;
+      position: absolute;
+      top: auto;
+    }
+
+/*
+"
+Layout calculation rules (such as those in CSS2.1, Section 10.3) that apply to the horizontal dimension in horizontal writing modes instead apply to the vertical dimension in vertical writing modes.
+"
+7.1 Principles of Layout in Vertical Writing Modes
+http://www.w3.org/TR/css-writing-modes-3/#vertical-layout
+
+So here, *-top and *-bottom properties are input into the §10.3.7 algorithms where *-top properties refer to *-left properties in the layout rules and where *-bottom properties refer to *-right properties in the layout rules.
+
+"
+If all three of 'left', 'width', and 'right' are 'auto': First set any 'auto' values for 'margin-left' and 'margin-right' to 0. Then, if the 'direction' property of the element establishing the static-position containing block is 'ltr' set 'left' to the static position and apply rule number three below; otherwise, set 'right' to the static position and apply rule number one below.
+
+3. 'width' and 'right' are 'auto' and 'left' is not 'auto', then the width is shrink-to-fit . Then solve for 'right'
+"
+
+'top' + 'margin-top' + 'border-top-width' + 'padding-top' + 'height' + 'padding-bottom' + 'border-bottom-width' + 'margin-bottom' + 'bottom' = height of containing block
+
+So:
+
+    160px : top: auto: set to static position
+  +
+      0px : margin-top
+  +
+      0px : border-top-width
+  +
+      0px : padding-top
+  +
+  (based on the content) : height: auto
+  +
+      0px : padding-bottom
+  +
+      0px : border-bottom-width
+  +
+      0px : margin-bottom
+  +
+  (solve) : bottom: auto
+    =====================
+    320px : height of containing block
+
+gives us:
+
+    160px : top: auto: set to static position
+  +
+      0px : margin-top
+  +
+      0px : border-top-width
+  +
+      0px : padding-top
+  +
+     80px : (based on the content) : height: auto
+  +
+      0px : padding-bottom
+  +
+      0px : border-bottom-width
+  +
+      0px : margin-bottom
+  +
+  (solve) : bottom: auto
+    =====================
+    320px : height of containing block
+
+And so computed bottom value must be 80px .
+*/
+
+  ]]></style>
+
+ </head>
+
+ <body>
+
+  <p><img src="support/pass-cdts-abs-pos-non-replaced.png" width="246" height="36" alt="Image download support must be enabled" /></p>
+
+  <div id="containing-block">1 2 34<span>X</span></div>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/abs-pos-non-replaced-vrl-008.xht
@@ -0,0 +1,121 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Writing Modes Test: absolutely positioned non-replaced element - 'direction: rtl' and 'top', 'height' and 'bottom' are 'auto'</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+  <link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#vertical-layout" title="7.1 Principles of Layout in Vertical Writing Modes" />
+  <link rel="help" href="http://www.w3.org/TR/CSS21/visudet.html#abs-non-replaced-width" title="10.3.7 Absolutely positioned, non-replaced elements" />
+  <link rel="match" href="abs-pos-non-replaced-vrl-004-ref.xht" />
+
+  <meta name="flags" content="ahem image" />
+  <meta name="assert" content="When 'direction' is 'rtl' and 'top', 'height' and 'bottom' are 'auto', then set 'bottom' to the static position, the height is based on the content and then solve for 'top'." />
+
+<style type="text/css"><![CDATA[
+@font-face {
+  font-family: Ahem;
+  src: url("../../../fonts/Ahem.ttf");
+}
+]]></style>
+  <style type="text/css"><![CDATA[
+  div#containing-block
+    {
+      background: red url("support/bg-red-3col-2row-320x320.png");
+      color: transparent;
+      direction: rtl;
+      font: 80px/1 Ahem;
+      height: 320px;
+      position: relative;
+      width: 320px;
+      writing-mode: vertical-rl;
+    }
+
+  div#containing-block > span
+    {
+      background-color: red;
+      bottom: auto;
+      color: green;
+      height: auto;
+      position: absolute;
+      top: auto;
+    }
+
+/*
+"
+Layout calculation rules (such as those in CSS2.1, Section 10.3) that apply to the horizontal dimension in horizontal writing modes instead apply to the vertical dimension in vertical writing modes.
+"
+7.1 Principles of Layout in Vertical Writing Modes
+http://www.w3.org/TR/css-writing-modes-3/#vertical-layout
+
+So here, *-top and *-bottom properties are input into the §10.3.7 algorithms where *-top properties refer to *-left properties in the layout rules and where *-bottom properties refer to *-right properties in the layout rules.
+
+"
+If all three of 'left', 'width', and 'right' are 'auto': First set any 'auto' values for 'margin-left' and 'margin-right' to 0. Then, if the 'direction' property of the element establishing the static-position containing block is 'ltr' set 'left' to the static position and apply rule number three below; otherwise, set 'right' to the static position and apply rule number one below.
+
+1. 'left' and 'width' are 'auto' and 'right' is not 'auto', then the width is shrink-to-fit. Then solve for 'left'
+"
+
+'top' + 'margin-top' + 'border-top-width' + 'padding-top' + 'height' + 'padding-bottom' + 'border-bottom-width' + 'margin-bottom' + 'bottom' = height of containing block
+
+So:
+
+  (solve) : top: auto
+  +
+      0px : margin-top
+  +
+      0px : border-top-width
+  +
+      0px : padding-top
+  +
+  (based on the content) : height: auto
+  +
+      0px : padding-bottom
+  +
+      0px : border-bottom-width
+  +
+      0px : margin-bottom
+  +
+    160px : bottom: auto: set to static position
+    =====================
+    320px : height of containing block
+
+gives us:
+
+  (solve) : top: auto
+  +
+      0px : margin-top
+  +
+      0px : border-top-width
+  +
+      0px : padding-top
+  +
+     80px : (based on the content) : height: auto
+  +
+      0px : padding-bottom
+  +
+      0px : border-bottom-width
+  +
+      0px : margin-bottom
+  +
+    160px : bottom: auto: set to static position
+    =====================
+    320px : height of containing block
+
+And so computed top value must be 80px .
+*/
+
+  ]]></style>
+
+ </head>
+
+ <body>
+
+  <p><img src="support/pass-cdts-abs-pos-non-replaced.png" width="246" height="36" alt="Image download support must be enabled" /></p>
+
+  <div id="containing-block">1 2 34<span>X</span></div>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/abs-pos-non-replaced-vrl-010.xht
@@ -0,0 +1,113 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Writing Modes Test: absolutely positioned non-replaced element - 'direction: rtl' and 'left', 'width' and 'right' are 'auto'</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+  <link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#vertical-layout" title="7.1 Principles of Layout in Vertical Writing Modes" />
+  <link rel="help" href="http://www.w3.org/TR/CSS21/visudet.html#abs-non-replaced-width" title="10.3.7 Absolutely positioned, non-replaced elements" />
+  <link rel="match" href="abs-pos-non-replaced-vlr-009-ref.xht" />
+
+  <meta name="flags" content="ahem image" />
+  <meta name="assert" content="When 'direction' is 'rtl' and 'left', 'width' and 'right' are 'auto', then set 'right' to the static position, the width becomes shrink-to-fit and then solve for 'left'." />
+
+<style type="text/css"><![CDATA[
+@font-face {
+  font-family: Ahem;
+  src: url("../../../fonts/Ahem.ttf");
+}
+]]></style>
+  <style type="text/css"><![CDATA[
+  div#containing-block
+    {
+      background: red url("support/bg-red-2col-2row-320x320.png");
+      color: transparent;
+      direction: rtl;
+      font: 80px/1 Ahem;
+      height: 320px;
+      position: relative;
+      width: 320px;
+    }
+
+  div#containing-block > span
+    {
+      background-color: red;
+      color: green;
+      left: auto;
+      position: absolute;
+      right: auto;
+      width: auto;
+      writing-mode: vertical-rl;
+    }
+
+/*
+"
+If all three of 'left', 'width', and 'right' are 'auto': First set any 'auto' values for 'margin-left' and 'margin-right' to 0. Then, if the 'direction' property of the element establishing the static-position containing block is 'ltr' set 'left' to the static position and apply rule number three below; otherwise, set 'right' to the static position and apply rule number one below.
+
+1. 'left' and 'width' are 'auto' and 'right' is not 'auto', then the width is shrink-to-fit. Then solve for 'left'
+"
+
+'left' + 'margin-left' + 'border-left-width' + 'padding-left' + 'width' + 'padding-right' + 'border-right-width' + 'margin-right' + 'right' = width of containing block
+
+So:
+
+  (solve) : left: auto
+  +
+      0px : margin-left
+  +
+      0px : border-left-width
+  +
+      0px : padding-left
+  +
+  (shrink-to-fit) : width: auto
+  +
+      0px : padding-right
+  +
+      0px : border-right-width
+  +
+      0px : margin-right
+  +
+    160px : right: auto: set to static position
+    =====================
+    320px : width of containing block
+
+gives us:
+
+  (solve) : left: auto
+  +
+      0px : margin-left
+  +
+      0px : border-left-width
+  +
+      0px : padding-left
+  +
+     80px : (shrink-to-fit) : width: auto
+  +
+      0px : padding-right
+  +
+      0px : border-right-width
+  +
+      0px : margin-right
+  +
+    160px : right: auto: set to static position
+    =====================
+    320px : width of containing block
+
+And so computed left value must be 80px .
+*/
+
+  ]]></style>
+
+ </head>
+
+ <body>
+
+  <p><img src="support/pass-cdts-abs-pos-non-replaced.png" width="246" height="36" alt="Image download support must be enabled" /></p>
+
+  <div id="containing-block">1 2 34<span>X</span></div>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/abs-pos-non-replaced-vrl-012-ref.xht
@@ -0,0 +1,43 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Reftest Reference</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+
+  <meta content="image" name="flags" />
+
+  <style type="text/css"><![CDATA[
+  body
+    {
+      direction: rtl;
+    }
+
+  div
+    {
+      margin-right: 0.5em;
+    }
+
+  img
+    {
+      vertical-align: top;
+    }
+
+  img#green-square
+    {
+      position: relative;
+      right: 96px; /* 80px + p's margin-left (1em) */
+      top: 80px;
+    }
+  ]]></style>
+ </head>
+
+ <body>
+
+  <div><img src="support/pass-cdts-abs-pos-non-replaced.png" width="246" height="36" alt="Image download support must be enabled" /><img id="green-square" src="support/swatch-green.png" width="80" height="80" alt="Image download support must be enabled" /></div>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/abs-pos-non-replaced-vrl-012.xht
@@ -0,0 +1,125 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Writing Modes Test: absolutely positioned non-replaced element - 'direction: rtl' and 'top', 'height' and 'bottom' are 'auto'</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+  <link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#vertical-layout" title="7.1 Principles of Layout in Vertical Writing Modes" />
+  <link rel="help" href="http://www.w3.org/TR/CSS21/visudet.html#abs-non-replaced-width" title="10.3.7 Absolutely positioned, non-replaced elements" />
+  <link rel="match" href="abs-pos-non-replaced-vrl-012-ref.xht" />
+
+  <meta name="flags" content="ahem image" />
+  <meta name="assert" content="When 'direction' is 'rtl' and 'top', 'height' and 'bottom' are 'auto', then set 'bottom' to the static position, the height is based on the content and then solve for 'top'." />
+
+<style type="text/css"><![CDATA[
+@font-face {
+  font-family: Ahem;
+  src: url("../../../fonts/Ahem.ttf");
+}
+]]></style>
+  <style type="text/css"><![CDATA[
+  html
+    {
+      writing-mode: vertical-rl;
+    }
+
+  div#containing-block
+    {
+      background: red url("support/bg-red-3col-2row-320x320.png");
+      color: transparent;
+      direction: rtl;
+      font: 80px/1 Ahem;
+      height: 320px;
+      position: relative;
+      width: 320px;
+    }
+
+  div#containing-block > span
+    {
+      background-color: red;
+      bottom: auto;
+      color: green;
+      height: auto;
+      position: absolute;
+      top: auto;
+    }
+
+/*
+"
+Layout calculation rules (such as those in CSS2.1, Section 10.3) that apply to the horizontal dimension in horizontal writing modes instead apply to the vertical dimension in vertical writing modes.
+"
+7.1 Principles of Layout in Vertical Writing Modes
+http://www.w3.org/TR/css-writing-modes-3/#vertical-layout
+
+So here, *-top and *-bottom properties are input into the §10.3.7 algorithms where *-top properties refer to *-left properties in the layout rules and where *-bottom properties refer to *-right properties in the layout rules.
+
+"
+If all three of 'left', 'width', and 'right' are 'auto': First set any 'auto' values for 'margin-left' and 'margin-right' to 0. Then, if the 'direction' property of the element establishing the static-position containing block is 'ltr' set 'left' to the static position and apply rule number three below; otherwise, set 'right' to the static position and apply rule number one below.
+
+1. 'left' and 'width' are 'auto' and 'right' is not 'auto', then the width is shrink-to-fit. Then solve for 'left'
+"
+
+'top' + 'margin-top' + 'border-top-width' + 'padding-top' + 'height' + 'padding-bottom' + 'border-bottom-width' + 'margin-bottom' + 'bottom' = height of containing block
+
+So:
+
+  (solve) : top: auto
+  +
+      0px : margin-top
+  +
+      0px : border-top-width
+  +
+      0px : padding-top
+  +
+  (based on the content) : height: auto
+  +
+      0px : padding-bottom
+  +
+      0px : border-bottom-width
+  +
+      0px : margin-bottom
+  +
+    160px : bottom: auto: set to static position
+    =====================
+    320px : height of containing block
+
+gives us:
+
+  (solve) : top: auto
+  +
+      0px : margin-top
+  +
+      0px : border-top-width
+  +
+      0px : padding-top
+  +
+     80px : (based on the content) : height: auto
+  +
+      0px : padding-bottom
+  +
+      0px : border-bottom-width
+  +
+      0px : margin-bottom
+  +
+    160px : bottom: auto: set to static position
+    =====================
+    320px : height of containing block
+
+And so computed top value must be 80px .
+*/
+
+  ]]></style>
+
+ </head>
+
+ <body>
+
+  <p><img src="support/pass-cdts-abs-pos-non-replaced.png" width="246" height="36" alt="Image download support must be enabled" /></p>
+
+  <div id="containing-block">1 2 34<span>X</span></div>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/abs-pos-non-replaced-vrl-014.xht
@@ -0,0 +1,119 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Writing Modes Test: absolutely positioned non-replaced element - 'direction: ltr' and 'top', 'height' are 'auto' and bottom is not 'auto'</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+  <link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#vertical-layout" title="7.1 Principles of Layout in Vertical Writing Modes" />
+  <link rel="help" href="http://www.w3.org/TR/CSS21/visudet.html#abs-non-replaced-width" title="10.3.7 Absolutely positioned, non-replaced elements" />
+  <link rel="match" href="abs-pos-non-replaced-vrl-004-ref.xht" />
+
+  <meta name="flags" content="ahem image" />
+  <meta name="assert" content="When 'direction' is 'ltr' and 'top', 'height' are 'auto' and 'bottom' is not 'auto', then the height is based on the content and then solve for 'top'." />
+
+<style type="text/css"><![CDATA[
+@font-face {
+  font-family: Ahem;
+  src: url("../../../fonts/Ahem.ttf");
+}
+]]></style>
+  <style type="text/css"><![CDATA[
+  div#containing-block
+    {
+      background: red url("support/bg-red-3col-2row-320x320.png");
+      color: transparent;
+      direction: ltr;
+      font: 80px/1 Ahem;
+      height: 320px;
+      position: relative;
+      width: 320px;
+      writing-mode: vertical-rl;
+    }
+
+  div#containing-block > span
+    {
+      background-color: red;
+      bottom: 2em;
+      color: green;
+      height: auto;
+      position: absolute;
+      top: auto;
+    }
+
+/*
+"
+Layout calculation rules (such as those in CSS2.1, Section 10.3) that apply to the horizontal dimension in horizontal writing modes instead apply to the vertical dimension in vertical writing modes.
+"
+7.1 Principles of Layout in Vertical Writing Modes
+http://www.w3.org/TR/css-writing-modes-3/#vertical-layout
+
+So here, *-top and *-bottom properties are input into the §10.3.7 algorithms where *-top properties refer to *-left properties in the layout rules and where *-bottom properties refer to *-right properties in the layout rules.
+
+"
+1. 'left' and 'width' are 'auto' and 'right' is not 'auto', then the width is shrink-to-fit. Then solve for 'left'
+"
+
+'top' + 'margin-top' + 'border-top-width' + 'padding-top' + 'height' + 'padding-bottom' + 'border-bottom-width' + 'margin-bottom' + 'bottom' = height of containing block
+
+So:
+
+  (solve) : top: auto
+  +
+      0px : margin-top
+  +
+      0px : border-top-width
+  +
+      0px : padding-top
+  +
+  (based on the content) : height: auto
+  +
+      0px : padding-bottom
+  +
+      0px : border-bottom-width
+  +
+      0px : margin-bottom
+  +
+    160px : bottom
+    =====================
+    320px : height of containing block
+
+gives us:
+
+  (solve) : top: auto
+  +
+      0px : margin-top
+  +
+      0px : border-top-width
+  +
+      0px : padding-top
+  +
+     80px : (based on the content) : height: auto
+  +
+      0px : padding-bottom
+  +
+      0px : border-bottom-width
+  +
+      0px : margin-bottom
+  +
+    160px : bottom
+    =====================
+    320px : height of containing block
+
+And so computed top value must be 80px .
+*/
+
+  ]]></style>
+
+ </head>
+
+ <body>
+
+  <p><img src="support/pass-cdts-abs-pos-non-replaced.png" width="246" height="36" alt="Image download support must be enabled" /></p>
+
+  <div id="containing-block">1 2 34<span>X</span></div>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/abs-pos-non-replaced-vrl-016.xht
@@ -0,0 +1,111 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Writing Modes Test: absolutely positioned non-replaced element - 'direction: ltr' and 'left' and 'width' are 'auto' and 'right' is not 'auto'</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+  <link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#vertical-layout" title="7.1 Principles of Layout in Vertical Writing Modes" />
+  <link rel="help" href="http://www.w3.org/TR/CSS21/visudet.html#abs-non-replaced-width" title="10.3.7 Absolutely positioned, non-replaced elements" />
+  <link rel="match" href="abs-pos-non-replaced-vlr-009-ref.xht" />
+
+  <meta name="flags" content="ahem image" />
+  <meta name="assert" content="When 'direction' is 'ltr' and 'left' and 'width' are 'auto' and 'right' is not 'auto', then the width becomes shrink-to-fit and then solve for 'left'." />
+
+<style type="text/css"><![CDATA[
+@font-face {
+  font-family: Ahem;
+  src: url("../../../fonts/Ahem.ttf");
+}
+]]></style>
+  <style type="text/css"><![CDATA[
+  div#containing-block
+    {
+      background: red url("support/bg-red-2col-2row-320x320.png");
+      color: transparent;
+      direction: ltr;
+      font: 80px/1 Ahem;
+      height: 320px;
+      position: relative;
+      width: 320px;
+    }
+
+  div#containing-block > span
+    {
+      background-color: red;
+      color: green;
+      left: auto;
+      position: absolute;
+      right: 2em;
+      width: auto;
+      writing-mode: vertical-rl;
+    }
+
+/*
+"
+1. 'left' and 'width' are 'auto' and 'right' is not 'auto', then the width is shrink-to-fit. Then solve for 'left'
+"
+
+'left' + 'margin-left' + 'border-left-width' + 'padding-left' + 'width' + 'padding-right' + 'border-right-width' + 'margin-right' + 'right' = width of containing block
+
+So:
+
+  (solve) : left: auto
+  +
+      0px : margin-left
+  +
+      0px : border-left-width
+  +
+      0px : padding-left
+  +
+  (shrink-to-fit) : width: auto
+  +
+      0px : padding-right
+  +
+      0px : border-right-width
+  +
+      0px : margin-right
+  +
+    160px : right
+    =====================
+    320px : width of containing block
+
+gives us:
+
+  (solve) : left: auto
+  +
+      0px : margin-left
+  +
+      0px : border-left-width
+  +
+      0px : padding-left
+  +
+     80px : (shrink-to-fit) : width: auto
+  +
+      0px : padding-right
+  +
+      0px : border-right-width
+  +
+      0px : margin-right
+  +
+    160px : right
+    =====================
+    320px : width of containing block
+
+And so computed left value must be 80px .
+*/
+
+  ]]></style>
+
+ </head>
+
+ <body>
+
+  <p><img src="support/pass-cdts-abs-pos-non-replaced.png" width="246" height="36" alt="Image download support must be enabled" /></p>
+
+  <div id="containing-block">1 2 34<span>X</span></div>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/abs-pos-non-replaced-vrl-018.xht
@@ -0,0 +1,123 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Writing Modes Test: absolutely positioned non-replaced element - 'direction: ltr' and 'top' and 'height' are 'auto' and 'bottom' is not 'auto'</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+  <link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#vertical-layout" title="7.1 Principles of Layout in Vertical Writing Modes" />
+  <link rel="help" href="http://www.w3.org/TR/CSS21/visudet.html#abs-non-replaced-width" title="10.3.7 Absolutely positioned, non-replaced elements" />
+  <link rel="match" href="abs-pos-non-replaced-vrl-012-ref.xht" />
+
+  <meta name="flags" content="ahem image" />
+  <meta name="assert" content="When 'direction' is 'ltr' and 'top' and 'height' are 'auto' and 'bottom' is not 'auto', then the height is based on the content and then solve for 'top'." />
+
+<style type="text/css"><![CDATA[
+@font-face {
+  font-family: Ahem;
+  src: url("../../../fonts/Ahem.ttf");
+}
+]]></style>
+  <style type="text/css"><![CDATA[
+  html
+    {
+      writing-mode: vertical-rl;
+    }
+
+  div#containing-block
+    {
+      background: red url("support/bg-red-3col-2row-320x320.png");
+      color: transparent;
+      direction: ltr;
+      font: 80px/1 Ahem;
+      height: 320px;
+      position: relative;
+      width: 320px;
+    }
+
+  div#containing-block > span
+    {
+      background-color: red;
+      bottom: 2em;
+      color: green;
+      height: auto;
+      position: absolute;
+      top: auto;
+    }
+
+/*
+"
+Layout calculation rules (such as those in CSS2.1, Section 10.3) that apply to the horizontal dimension in horizontal writing modes instead apply to the vertical dimension in vertical writing modes.
+"
+7.1 Principles of Layout in Vertical Writing Modes
+http://www.w3.org/TR/css-writing-modes-3/#vertical-layout
+
+So here, *-top and *-bottom properties are input into the §10.3.7 algorithms where *-top properties refer to *-left properties in the layout rules and where *-bottom properties refer to *-right properties in the layout rules.
+
+"
+1. 'left' and 'width' are 'auto' and 'right' is not 'auto', then the width is shrink-to-fit. Then solve for 'left'
+"
+
+'top' + 'margin-top' + 'border-top-width' + 'padding-top' + 'height' + 'padding-bottom' + 'border-bottom-width' + 'margin-bottom' + 'bottom' = height of containing block
+
+So:
+
+  (solve) : top: auto
+  +
+      0px : margin-top
+  +
+      0px : border-top-width
+  +
+      0px : padding-top
+  +
+  (based on the content) : height: auto
+  +
+      0px : padding-bottom
+  +
+      0px : border-bottom-width
+  +
+      0px : margin-bottom
+  +
+    160px : bottom
+    =====================
+    320px : height of containing block
+
+gives us:
+
+  (solve) : top: auto
+  +
+      0px : margin-top
+  +
+      0px : border-top-width
+  +
+      0px : padding-top
+  +
+     80px : (based on the content) : height: auto
+  +
+      0px : padding-bottom
+  +
+      0px : border-bottom-width
+  +
+      0px : margin-bottom
+  +
+    160px : bottom
+    =====================
+    320px : height of containing block
+
+And so computed top value must be 80px .
+*/
+
+  ]]></style>
+
+ </head>
+
+ <body>
+
+  <p><img src="support/pass-cdts-abs-pos-non-replaced.png" width="246" height="36" alt="Image download support must be enabled" /></p>
+
+  <div id="containing-block">1 2 34<span>X</span></div>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/abs-pos-non-replaced-vrl-020.xht
@@ -0,0 +1,119 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Writing Modes Test: absolutely positioned non-replaced element - 'direction: rtl' and 'top' and 'height' are 'auto and 'bottom' is not 'auto'</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+  <link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#vertical-layout" title="7.1 Principles of Layout in Vertical Writing Modes" />
+  <link rel="help" href="http://www.w3.org/TR/CSS21/visudet.html#abs-non-replaced-width" title="10.3.7 Absolutely positioned, non-replaced elements" />
+  <link rel="match" href="abs-pos-non-replaced-vrl-004-ref.xht" />
+
+  <meta name="flags" content="ahem image" />
+  <meta name="assert" content="When 'direction' is 'rtl' and 'top' and 'height' are 'auto' and 'bottom' is not 'auto', then the height is based on the content and then solve for 'top'." />
+
+<style type="text/css"><![CDATA[
+@font-face {
+  font-family: Ahem;
+  src: url("../../../fonts/Ahem.ttf");
+}
+]]></style>
+  <style type="text/css"><![CDATA[
+  div#containing-block
+    {
+      background: red url("support/bg-red-3col-2row-320x320.png");
+      color: transparent;
+      direction: rtl;
+      font: 80px/1 Ahem;
+      height: 320px;
+      position: relative;
+      width: 320px;
+      writing-mode: vertical-rl;
+    }
+
+  div#containing-block > span
+    {
+      background-color: red;
+      bottom: 2em;
+      color: green;
+      height: auto;
+      position: absolute;
+      top: auto;
+    }
+
+/*
+"
+Layout calculation rules (such as those in CSS2.1, Section 10.3) that apply to the horizontal dimension in horizontal writing modes instead apply to the vertical dimension in vertical writing modes.
+"
+7.1 Principles of Layout in Vertical Writing Modes
+http://www.w3.org/TR/css-writing-modes-3/#vertical-layout
+
+So here, *-top and *-bottom properties are input into the §10.3.7 algorithms where *-top properties refer to *-left properties in the layout rules and where *-bottom properties refer to *-right properties in the layout rules.
+
+"
+1. 'left' and 'width' are 'auto' and 'right' is not 'auto', then the width is shrink-to-fit. Then solve for 'left'
+"
+
+'top' + 'margin-top' + 'border-top-width' + 'padding-top' + 'height' + 'padding-bottom' + 'border-bottom-width' + 'margin-bottom' + 'bottom' = height of containing block
+
+So:
+
+  (solve) : top: auto
+  +
+      0px : margin-top
+  +
+      0px : border-top-width
+  +
+      0px : padding-top
+  +
+  (based on the content) : height: auto
+  +
+      0px : padding-bottom
+  +
+      0px : border-bottom-width
+  +
+      0px : margin-bottom
+  +
+    160px : bottom
+    =====================
+    320px : height of containing block
+
+gives us:
+
+  (solve) : top: auto
+  +
+      0px : margin-top
+  +
+      0px : border-top-width
+  +
+      0px : padding-top
+  +
+     80px : (based on the content) : height: auto
+  +
+      0px : padding-bottom
+  +
+      0px : border-bottom-width
+  +
+      0px : margin-bottom
+  +
+    160px : bottom
+    =====================
+    320px : height of containing block
+
+And so computed top value must be 80px .
+*/
+
+  ]]></style>
+
+ </head>
+
+ <body>
+
+  <p><img src="support/pass-cdts-abs-pos-non-replaced.png" width="246" height="36" alt="Image download support must be enabled" /></p>
+
+  <div id="containing-block">1 2 34<span>X</span></div>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/abs-pos-non-replaced-vrl-022.xht
@@ -0,0 +1,111 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Writing Modes Test: absolutely positioned non-replaced element - 'direction: rtl' and 'left' and 'width' are 'auto' and 'right' is not 'auto'</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+  <link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#vertical-layout" title="7.1 Principles of Layout in Vertical Writing Modes" />
+  <link rel="help" href="http://www.w3.org/TR/CSS21/visudet.html#abs-non-replaced-width" title="10.3.7 Absolutely positioned, non-replaced elements" />
+  <link rel="match" href="abs-pos-non-replaced-vlr-009-ref.xht" />
+
+  <meta name="flags" content="ahem image" />
+  <meta name="assert" content="When 'direction' is 'rtl' and 'left' and 'width' are 'auto' and 'right' is not 'auto', then the width becomes shrink-to-fit and then solve for 'left'." />
+
+<style type="text/css"><![CDATA[
+@font-face {
+  font-family: Ahem;
+  src: url("../../../fonts/Ahem.ttf");
+}
+]]></style>
+  <style type="text/css"><![CDATA[
+  div#containing-block
+    {
+      background: red url("support/bg-red-2col-2row-320x320.png");
+      color: transparent;
+      direction: rtl;
+      font: 80px/1 Ahem;
+      height: 320px;
+      position: relative;
+      width: 320px;
+    }
+
+  div#containing-block > span
+    {
+      background-color: red;
+      color: green;
+      left: auto;
+      position: absolute;
+      right: 2em;
+      width: auto;
+      writing-mode: vertical-rl;
+    }
+
+/*
+"
+1. 'left' and 'width' are 'auto' and 'right' is not 'auto', then the width is shrink-to-fit. Then solve for 'left'
+"
+
+'left' + 'margin-left' + 'border-left-width' + 'padding-left' + 'width' + 'padding-right' + 'border-right-width' + 'margin-right' + 'right' = width of containing block
+
+So:
+
+  (solve) : left: auto
+  +
+      0px : margin-left
+  +
+      0px : border-left-width
+  +
+      0px : padding-left
+  +
+  (shrink-to-fit) : width: auto
+  +
+      0px : padding-right
+  +
+      0px : border-right-width
+  +
+      0px : margin-right
+  +
+    160px : right
+    =====================
+    320px : width of containing block
+
+gives us:
+
+  (solve) : left: auto
+  +
+      0px : margin-left
+  +
+      0px : border-left-width
+  +
+      0px : padding-left
+  +
+     80px : (shrink-to-fit) : width: auto
+  +
+      0px : padding-right
+  +
+      0px : border-right-width
+  +
+      0px : margin-right
+  +
+    160px : right
+    =====================
+    320px : width of containing block
+
+And so computed left value must be 80px .
+*/
+
+  ]]></style>
+
+ </head>
+
+ <body>
+
+  <p><img src="support/pass-cdts-abs-pos-non-replaced.png" width="246" height="36" alt="Image download support must be enabled" /></p>
+
+  <div id="containing-block">1 2 34<span>X</span></div>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/abs-pos-non-replaced-vrl-024.xht
@@ -0,0 +1,123 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Writing Modes Test: absolutely positioned non-replaced element - 'direction: rtl' and 'top' and 'height' are 'auto' and 'bottom' is not 'auto'</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+  <link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#vertical-layout" title="7.1 Principles of Layout in Vertical Writing Modes" />
+  <link rel="help" href="http://www.w3.org/TR/CSS21/visudet.html#abs-non-replaced-width" title="10.3.7 Absolutely positioned, non-replaced elements" />
+  <link rel="match" href="abs-pos-non-replaced-vrl-012-ref.xht" />
+
+  <meta name="flags" content="ahem image" />
+  <meta name="assert" content="When 'direction' is 'rtl' and 'top' and 'height' are 'auto' and 'bottom' is not 'auto', then the height is based on the content and then solve for 'top'." />
+
+<style type="text/css"><![CDATA[
+@font-face {
+  font-family: Ahem;
+  src: url("../../../fonts/Ahem.ttf");
+}
+]]></style>
+  <style type="text/css"><![CDATA[
+  html
+    {
+      writing-mode: vertical-rl;
+    }
+
+  div#containing-block
+    {
+      background: red url("support/bg-red-3col-2row-320x320.png");
+      color: transparent;
+      direction: rtl;
+      font: 80px/1 Ahem;
+      height: 320px;
+      position: relative;
+      width: 320px;
+    }
+
+  div#containing-block > span
+    {
+      background-color: red;
+      bottom: 2em;
+      color: green;
+      height: auto;
+      position: absolute;
+      top: auto;
+    }
+
+/*
+"
+Layout calculation rules (such as those in CSS2.1, Section 10.3) that apply to the horizontal dimension in horizontal writing modes instead apply to the vertical dimension in vertical writing modes.
+"
+7.1 Principles of Layout in Vertical Writing Modes
+http://www.w3.org/TR/css-writing-modes-3/#vertical-layout
+
+So here, *-top and *-bottom properties are input into the §10.3.7 algorithms where *-top properties refer to *-left properties in the layout rules and where *-bottom properties refer to *-right properties in the layout rules.
+
+"
+1. 'left' and 'width' are 'auto' and 'right' is not 'auto', then the width is shrink-to-fit. Then solve for 'left'
+"
+
+'top' + 'margin-top' + 'border-top-width' + 'padding-top' + 'height' + 'padding-bottom' + 'border-bottom-width' + 'margin-bottom' + 'bottom' = height of containing block
+
+So:
+
+  (solve) : top: auto
+  +
+      0px : margin-top
+  +
+      0px : border-top-width
+  +
+      0px : padding-top
+  +
+  (based on the content) : height: auto
+  +
+      0px : padding-bottom
+  +
+      0px : border-bottom-width
+  +
+      0px : margin-bottom
+  +
+    160px : bottom
+    =====================
+    320px : height of containing block
+
+gives us:
+
+  (solve) : top: auto
+  +
+      0px : margin-top
+  +
+      0px : border-top-width
+  +
+      0px : padding-top
+  +
+     80px : (based on the content) : height: auto
+  +
+      0px : padding-bottom
+  +
+      0px : border-bottom-width
+  +
+      0px : margin-bottom
+  +
+    160px : bottom
+    =====================
+    320px : height of containing block
+
+And so computed top value must be 80px .
+*/
+
+  ]]></style>
+
+ </head>
+
+ <body>
+
+  <p><img src="support/pass-cdts-abs-pos-non-replaced.png" width="246" height="36" alt="Image download support must be enabled" /></p>
+
+  <div id="containing-block">1 2 34<span>X</span></div>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/abs-pos-non-replaced-vrl-026.xht
@@ -0,0 +1,97 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Writing Modes Test: absolutely positioned non-replaced element - 'direction: ltr' and 'top' and 'bottom' are 'auto' and 'height' is not 'auto'</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+  <link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#vertical-layout" title="7.1 Principles of Layout in Vertical Writing Modes" />
+  <link rel="help" href="http://www.w3.org/TR/CSS21/visudet.html#abs-non-replaced-width" title="10.3.7 Absolutely positioned, non-replaced elements" />
+  <link rel="match" href="abs-pos-non-replaced-vrl-002-ref.xht" />
+
+  <meta name="flags" content="ahem image" />
+  <meta name="assert" content="When 'direction' is 'ltr' and 'top' and 'bottom' are 'auto' and 'height' is not 'auto', then set 'top' to static position and solve for 'bottom'." />
+
+<style type="text/css"><![CDATA[
+@font-face {
+  font-family: Ahem;
+  src: url("../../../fonts/Ahem.ttf");
+}
+]]></style>
+  <style type="text/css"><![CDATA[
+  div#containing-block
+    {
+      background: red url("support/bg-red-3col-3row-320x320.png");
+      color: transparent;
+      direction: ltr;
+      font: 80px/1 Ahem;
+      height: 320px;
+      position: relative;
+      width: 320px;
+      writing-mode: vertical-rl;
+    }
+
+  div#containing-block > span
+    {
+      background-color: red;
+      bottom: auto;
+      color: green;
+      height: 1em;
+      position: absolute;
+      top: auto;
+    }
+
+/*
+"
+Layout calculation rules (such as those in CSS2.1, Section 10.3) that apply to the horizontal dimension in horizontal writing modes instead apply to the vertical dimension in vertical writing modes.
+"
+7.1 Principles of Layout in Vertical Writing Modes
+http://www.w3.org/TR/css-writing-modes-3/#vertical-layout
+
+So here, *-top and *-bottom properties are input into the §10.3.7 algorithms where *-top properties refer to *-left properties in the layout rules and where *-bottom properties refer to *-right properties in the layout rules.
+
+"
+2. 'left' and 'right' are 'auto' and 'width' is not 'auto', then if the 'direction' property of the element establishing the static-position containing block is 'ltr' set 'left' to the static position, otherwise set 'right' to the static position. Then solve for 'left' (if 'direction is 'rtl') or 'right' (if 'direction' is 'ltr').
+"
+
+'top' + 'margin-top' + 'border-top-width' + 'padding-top' + 'height' + 'padding-bottom' + 'border-bottom-width' + 'margin-bottom' + 'bottom' = height of containing block
+
+So:
+
+    160px : top: auto: set to static position
+  +
+      0px : margin-top
+  +
+      0px : border-top-width
+  +
+      0px : padding-top
+  +
+     80px : height
+  +
+      0px : padding-bottom
+  +
+      0px : border-bottom-width
+  +
+      0px : margin-bottom
+  +
+  (solve) : bottom: auto
+    =====================
+    320px : height of containing block
+
+And so computed bottom value must be 80px .
+*/
+
+  ]]></style>
+
+ </head>
+
+ <body>
+
+  <p><img src="support/pass-cdts-abs-pos-non-replaced.png" width="246" height="36" alt="Image download support must be enabled" /></p>
+
+  <div id="containing-block">1 2 34<span>X</span></div>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/abs-pos-non-replaced-vrl-028.xht
@@ -0,0 +1,111 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Writing Modes Test: absolutely positioned non-replaced element - 'direction: ltr' and 'left' and 'right' are 'auto' and 'width' is not 'auto'</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+  <link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#vertical-layout" title="7.1 Principles of Layout in Vertical Writing Modes" />
+  <link rel="help" href="http://www.w3.org/TR/CSS21/visudet.html#abs-non-replaced-width" title="10.3.7 Absolutely positioned, non-replaced elements" />
+  <link rel="match" href="abs-pos-non-replaced-vrl-004-ref.xht" />
+
+  <meta name="flags" content="ahem image" />
+  <meta name="assert" content="When 'direction' is 'ltr' and 'left' and 'right' are 'auto' and 'width' is not 'auto', then set 'left' to the static position and then solve for 'right'." />
+
+<style type="text/css"><![CDATA[
+@font-face {
+  font-family: Ahem;
+  src: url("../../../fonts/Ahem.ttf");
+}
+]]></style>
+  <style type="text/css"><![CDATA[
+  div#containing-block
+    {
+      background: red url("support/bg-red-3col-2row-320x320.png");
+      color: transparent;
+      direction: ltr;
+      font: 80px/1 Ahem;
+      height: 320px;
+      position: relative;
+      width: 320px;
+    }
+
+  div#containing-block > span
+    {
+      background-color: red;
+      color: green;
+      left: auto;
+      position: absolute;
+      right: auto;
+      width: 1em;
+      writing-mode: vertical-rl;
+    }
+
+/*
+"
+2. 'left' and 'right' are 'auto' and 'width' is not 'auto', then if the 'direction' property of the element establishing the static-position containing block is 'ltr' set 'left' to the static position, otherwise set 'right' to the static position. Then solve for 'left' (if 'direction is 'rtl') or 'right' (if 'direction' is 'ltr').
+"
+
+'left' + 'margin-left' + 'border-left-width' + 'padding-left' + 'width' + 'padding-right' + 'border-right-width' + 'margin-right' + 'right' = width of containing block
+
+So:
+
+    160px : left: auto: set to static position
+  +
+      0px : margin-left
+  +
+      0px : border-left-width
+  +
+      0px : padding-left
+  +
+     80px : width
+  +
+      0px : padding-right
+  +
+      0px : border-right-width
+  +
+      0px : margin-right
+  +
+  (solve) : right: auto
+    =====================
+    320px : width of containing block
+
+gives us:
+
+    160px : left: auto: set to static position
+  +
+      0px : margin-left
+  +
+      0px : border-left-width
+  +
+      0px : padding-left
+  +
+     80px : width
+  +
+      0px : padding-right
+  +
+      0px : border-right-width
+  +
+      0px : margin-right
+  +
+  (solve) : right: auto
+    =====================
+    320px : width of containing block
+
+And so computed right value must be 80px .
+*/
+
+  ]]></style>
+
+ </head>
+
+ <body>
+
+  <p><img src="support/pass-cdts-abs-pos-non-replaced.png" width="246" height="36" alt="Image download support must be enabled" /></p>
+
+  <div id="containing-block">1 2 34<span>X</span></div>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/abs-pos-non-replaced-vrl-030.xht
@@ -0,0 +1,101 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Writing Modes Test: absolutely positioned non-replaced element - 'direction: ltr' and 'top' and 'bottom' are 'auto' and 'height' is not 'auto'</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+  <link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#vertical-layout" title="7.1 Principles of Layout in Vertical Writing Modes" />
+  <link rel="help" href="http://www.w3.org/TR/CSS21/visudet.html#abs-non-replaced-width" title="10.3.7 Absolutely positioned, non-replaced elements" />
+  <link rel="match" href="abs-pos-non-replaced-vrl-006-ref.xht" />
+
+  <meta name="flags" content="ahem image" />
+  <meta name="assert" content="When 'direction' is 'ltr' and 'top' and 'bottom' are 'auto' and 'height' is not 'auto', then set 'top' to static position and solve for 'bottom'." />
+
+<style type="text/css"><![CDATA[
+@font-face {
+  font-family: Ahem;
+  src: url("../../../fonts/Ahem.ttf");
+}
+]]></style>
+  <style type="text/css"><![CDATA[
+  html
+    {
+      writing-mode: vertical-rl;
+    }
+
+  div#containing-block
+    {
+      background: red url("support/bg-red-3col-3row-320x320.png");
+      color: transparent;
+      direction: ltr;
+      font: 80px/1 Ahem;
+      height: 320px;
+      position: relative;
+      width: 320px;
+    }
+
+  div#containing-block > span
+    {
+      background-color: red;
+      bottom: auto;
+      color: green;
+      height: 1em;
+      position: absolute;
+      top: auto;
+    }
+
+/*
+"
+Layout calculation rules (such as those in CSS2.1, Section 10.3) that apply to the horizontal dimension in horizontal writing modes instead apply to the vertical dimension in vertical writing modes.
+"
+7.1 Principles of Layout in Vertical Writing Modes
+http://www.w3.org/TR/css-writing-modes-3/#vertical-layout
+
+So here, *-top and *-bottom properties are input into the §10.3.7 algorithms where *-top properties refer to *-left properties in the layout rules and where *-bottom properties refer to *-right properties in the layout rules.
+
+"
+2. 'left' and 'right' are 'auto' and 'width' is not 'auto', then if the 'direction' property of the element establishing the static-position containing block is 'ltr' set 'left' to the static position, otherwise set 'right' to the static position. Then solve for 'left' (if 'direction is 'rtl') or 'right' (if 'direction' is 'ltr').
+"
+
+'top' + 'margin-top' + 'border-top-width' + 'padding-top' + 'height' + 'padding-bottom' + 'border-bottom-width' + 'margin-bottom' + 'bottom' = height of containing block
+
+So:
+
+    160px : top: auto: set to static position
+  +
+      0px : margin-top
+  +
+      0px : border-top-width
+  +
+      0px : padding-top
+  +
+     80px : height
+  +
+      0px : padding-bottom
+  +
+      0px : border-bottom-width
+  +
+      0px : margin-bottom
+  +
+  (solve) : bottom: auto
+    =====================
+    320px : height of containing block
+
+And so computed bottom value must be 80px .
+*/
+
+  ]]></style>
+
+ </head>
+
+ <body>
+
+  <p><img src="support/pass-cdts-abs-pos-non-replaced.png" width="246" height="36" alt="Image download support must be enabled" /></p>
+
+  <div id="containing-block">1 2 34<span>X</span></div>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/abs-pos-non-replaced-vrl-032.xht
@@ -0,0 +1,97 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Writing Modes Test: absolutely positioned non-replaced element - 'direction: rtl' and 'top' and 'bottom' are 'auto and 'height' is not 'auto'</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+  <link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#vertical-layout" title="7.1 Principles of Layout in Vertical Writing Modes" />
+  <link rel="help" href="http://www.w3.org/TR/CSS21/visudet.html#abs-non-replaced-width" title="10.3.7 Absolutely positioned, non-replaced elements" />
+  <link rel="match" href="abs-pos-non-replaced-vrl-004-ref.xht" />
+
+  <meta name="flags" content="ahem image" />
+  <meta name="assert" content="When 'direction' is 'rtl' and 'top' and 'bottom' are 'auto' and 'height' is not 'auto', then set 'top' to static position and solve for 'bottom'." />
+
+<style type="text/css"><![CDATA[
+@font-face {
+  font-family: Ahem;
+  src: url("../../../fonts/Ahem.ttf");
+}
+]]></style>
+  <style type="text/css"><![CDATA[
+  div#containing-block
+    {
+      background: red url("support/bg-red-3col-2row-320x320.png");
+      color: transparent;
+      direction: rtl;
+      font: 80px/1 Ahem;
+      height: 320px;
+      position: relative;
+      width: 320px;
+      writing-mode: vertical-rl;
+    }
+
+  div#containing-block > span
+    {
+      background-color: red;
+      bottom: auto;
+      color: green;
+      height: 1em;
+      position: absolute;
+      top: auto;
+    }
+
+/*
+"
+Layout calculation rules (such as those in CSS2.1, Section 10.3) that apply to the horizontal dimension in horizontal writing modes instead apply to the vertical dimension in vertical writing modes.
+"
+7.1 Principles of Layout in Vertical Writing Modes
+http://www.w3.org/TR/css-writing-modes-3/#vertical-layout
+
+So here, *-top and *-bottom properties are input into the §10.3.7 algorithms where *-top properties refer to *-left properties in the layout rules and where *-bottom properties refer to *-right properties in the layout rules.
+
+"
+2. 'left' and 'right' are 'auto' and 'width' is not 'auto', then if the 'direction' property of the element establishing the static-position containing block is 'ltr' set 'left' to the static position, otherwise set 'right' to the static position. Then solve for 'left' (if 'direction is 'rtl') or 'right' (if 'direction' is 'ltr').
+"
+
+'top' + 'margin-top' + 'border-top-width' + 'padding-top' + 'height' + 'padding-bottom' + 'border-bottom-width' + 'margin-bottom' + 'bottom' = height of containing block
+
+So:
+
+  (solve) : top: auto
+  +
+      0px : margin-top
+  +
+      0px : border-top-width
+  +
+      0px : padding-top
+  +
+     80px : height
+  +
+      0px : padding-bottom
+  +
+      0px : border-bottom-width
+  +
+      0px : margin-bottom
+  +
+    160px : bottom: auto: set to static position
+    =====================
+    320px : height of containing block
+
+And so computed top value must be 80px .
+*/
+
+  ]]></style>
+
+ </head>
+
+ <body>
+
+  <p><img src="support/pass-cdts-abs-pos-non-replaced.png" width="246" height="36" alt="Image download support must be enabled" /></p>
+
+  <div id="containing-block">1 2 34<span>X</span></div>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/abs-pos-non-replaced-vrl-034.xht
@@ -0,0 +1,89 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Writing Modes Test: absolutely positioned non-replaced element - 'direction: rtl' and 'left' and 'right' are 'auto' and 'width' is not 'auto'</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+  <link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#vertical-layout" title="7.1 Principles of Layout in Vertical Writing Modes" />
+  <link rel="help" href="http://www.w3.org/TR/CSS21/visudet.html#abs-non-replaced-width" title="10.3.7 Absolutely positioned, non-replaced elements" />
+  <link rel="match" href="abs-pos-non-replaced-vlr-009-ref.xht" />
+
+  <meta name="flags" content="ahem image" />
+  <meta name="assert" content="When 'direction' is 'rtl' and 'left' and 'right' are 'auto' and 'width' is not 'auto', then set 'right' to the static position and then solve for 'left'." />
+
+<style type="text/css"><![CDATA[
+@font-face {
+  font-family: Ahem;
+  src: url("../../../fonts/Ahem.ttf");
+}
+]]></style>
+  <style type="text/css"><![CDATA[
+  div#containing-block
+    {
+      background: red url("support/bg-red-2col-2row-320x320.png");
+      color: transparent;
+      direction: rtl;
+      font: 80px/1 Ahem;
+      height: 320px;
+      position: relative;
+      width: 320px;
+    }
+
+  div#containing-block > span
+    {
+      background-color: red;
+      color: green;
+      left: auto;
+      position: absolute;
+      right: auto;
+      width: 1em;
+      writing-mode: vertical-rl;
+    }
+
+/*
+"
+2. 'left' and 'right' are 'auto' and 'width' is not 'auto', then if the 'direction' property of the element establishing the static-position containing block is 'ltr' set 'left' to the static position, otherwise set 'right' to the static position. Then solve for 'left' (if 'direction is 'rtl') or 'right' (if 'direction' is 'ltr').
+"
+
+'left' + 'margin-left' + 'border-left-width' + 'padding-left' + 'width' + 'padding-right' + 'border-right-width' + 'margin-right' + 'right' = width of containing block
+
+So:
+
+  (solve) : left: auto
+  +
+      0px : margin-left
+  +
+      0px : border-left-width
+  +
+      0px : padding-left
+  +
+     80px : width
+  +
+      0px : padding-right
+  +
+      0px : border-right-width
+  +
+      0px : margin-right
+  +
+    160px : right: auto: set to static position
+    =====================
+    320px : width of containing block
+
+And so computed left value must be 80px .
+*/
+
+  ]]></style>
+
+ </head>
+
+ <body>
+
+  <p><img src="support/pass-cdts-abs-pos-non-replaced.png" width="246" height="36" alt="Image download support must be enabled" /></p>
+
+  <div id="containing-block">1 2 34<span>X</span></div>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/abs-pos-non-replaced-vrl-036.xht
@@ -0,0 +1,101 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Writing Modes Test: absolutely positioned non-replaced element - 'direction: rtl' and 'top' and 'bottom' are 'auto' and 'height' is not 'auto'</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+  <link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#vertical-layout" title="7.1 Principles of Layout in Vertical Writing Modes" />
+  <link rel="help" href="http://www.w3.org/TR/CSS21/visudet.html#abs-non-replaced-width" title="10.3.7 Absolutely positioned, non-replaced elements" />
+  <link rel="match" href="abs-pos-non-replaced-vrl-012-ref.xht" />
+
+  <meta name="flags" content="ahem image" />
+  <meta name="assert" content="When 'direction' is 'rtl' and 'top' and 'bottom' are 'auto' and 'height' is not 'auto', then set 'top' to static position and then solve for 'bottom'." />
+
+<style type="text/css"><![CDATA[
+@font-face {
+  font-family: Ahem;
+  src: url("../../../fonts/Ahem.ttf");
+}
+]]></style>
+  <style type="text/css"><![CDATA[
+  html
+    {
+      writing-mode: vertical-rl;
+    }
+
+  div#containing-block
+    {
+      background: red url("support/bg-red-3col-2row-320x320.png");
+      color: transparent;
+      direction: rtl;
+      font: 80px/1 Ahem;
+      height: 320px;
+      position: relative;
+      width: 320px;
+    }
+
+  div#containing-block > span
+    {
+      background-color: red;
+      bottom: auto;
+      color: green;
+      height: 1em;
+      position: absolute;
+      top: auto;
+    }
+
+/*
+"
+Layout calculation rules (such as those in CSS2.1, Section 10.3) that apply to the horizontal dimension in horizontal writing modes instead apply to the vertical dimension in vertical writing modes.
+"
+7.1 Principles of Layout in Vertical Writing Modes
+http://www.w3.org/TR/css-writing-modes-3/#vertical-layout
+
+So here, *-top and *-bottom properties are input into the §10.3.7 algorithms where *-top properties refer to *-left properties in the layout rules and where *-bottom properties refer to *-right properties in the layout rules.
+
+"
+2. 'left' and 'right' are 'auto' and 'width' is not 'auto', then if the 'direction' property of the element establishing the static-position containing block is 'ltr' set 'left' to the static position, otherwise set 'right' to the static position. Then solve for 'left' (if 'direction is 'rtl') or 'right' (if 'direction' is 'ltr').
+"
+
+'top' + 'margin-top' + 'border-top-width' + 'padding-top' + 'height' + 'padding-bottom' + 'border-bottom-width' + 'margin-bottom' + 'bottom' = height of containing block
+
+So:
+
+  (solve) : top: auto
+  +
+      0px : margin-top
+  +
+      0px : border-top-width
+  +
+      0px : padding-top
+  +
+     80px : height
+  +
+      0px : padding-bottom
+  +
+      0px : border-bottom-width
+  +
+      0px : margin-bottom
+  +
+    160px : bottom: auto: set to static position
+    =====================
+    320px : height of containing block
+
+And so computed top value must be 80px .
+*/
+
+  ]]></style>
+
+ </head>
+
+ <body>
+
+  <p><img src="support/pass-cdts-abs-pos-non-replaced.png" width="246" height="36" alt="Image download support must be enabled" /></p>
+
+  <div id="containing-block">1 2 34<span>X</span></div>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/abs-pos-non-replaced-vrl-038.xht
@@ -0,0 +1,119 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Writing Modes Test: absolutely positioned non-replaced element - 'direction: ltr' and 'height' and 'bottom' are 'auto' and 'top' is not 'auto'</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+  <link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#vertical-layout" title="7.1 Principles of Layout in Vertical Writing Modes" />
+  <link rel="help" href="http://www.w3.org/TR/CSS21/visudet.html#abs-non-replaced-width" title="10.3.7 Absolutely positioned, non-replaced elements" />
+  <link rel="match" href="abs-pos-non-replaced-vrl-004-ref.xht" />
+
+  <meta name="flags" content="ahem image" />
+  <meta name="assert" content="When 'direction' is 'ltr' and 'height' and 'bottom' are 'auto' and 'top' is not 'auto', then the height is based on the content and then solve for 'bottom'." />
+
+<style type="text/css"><![CDATA[
+@font-face {
+  font-family: Ahem;
+  src: url("../../../fonts/Ahem.ttf");
+}
+]]></style>
+  <style type="text/css"><![CDATA[
+  div#containing-block
+    {
+      background: red url("support/bg-red-3col-2row-320x320.png");
+      color: transparent;
+      direction: ltr;
+      font: 80px/1 Ahem;
+      height: 320px;
+      position: relative;
+      width: 320px;
+      writing-mode: vertical-rl;
+    }
+
+  div#containing-block > span
+    {
+      background-color: red;
+      bottom: auto;
+      color: green;
+      height: auto;
+      position: absolute;
+      top: 1em;
+    }
+
+/*
+"
+Layout calculation rules (such as those in CSS2.1, Section 10.3) that apply to the horizontal dimension in horizontal writing modes instead apply to the vertical dimension in vertical writing modes.
+"
+7.1 Principles of Layout in Vertical Writing Modes
+http://www.w3.org/TR/css-writing-modes-3/#vertical-layout
+
+So here, *-top and *-bottom properties are input into the §10.3.7 algorithms where *-top properties refer to *-left properties in the layout rules and where *-bottom properties refer to *-right properties in the layout rules.
+
+"
+3. 'width' and 'right' are 'auto' and 'left' is not 'auto', then the width is shrink-to-fit . Then solve for 'right'
+"
+
+'top' + 'margin-top' + 'border-top-width' + 'padding-top' + 'height' + 'padding-bottom' + 'border-bottom-width' + 'margin-bottom' + 'bottom' = height of containing block
+
+So:
+
+     80px : top
+  +
+      0px : margin-top
+  +
+      0px : border-top-width
+  +
+      0px : padding-top
+  +
+  (based on the content) : height: auto
+  +
+      0px : padding-bottom
+  +
+      0px : border-bottom-width
+  +
+      0px : margin-bottom
+  +
+  (solve) : bottom: auto
+    =====================
+    320px : height of containing block
+
+gives us:
+
+     80px : top
+  +
+      0px : margin-top
+  +
+      0px : border-top-width
+  +
+      0px : padding-top
+  +
+     80px : (based on the content) : height: auto
+  +
+      0px : padding-bottom
+  +
+      0px : border-bottom-width
+  +
+      0px : margin-bottom
+  +
+  (solve) : bottom: auto
+    =====================
+    320px : height of containing block
+
+And so computed bottom value must be 160px .
+*/
+
+  ]]></style>
+
+ </head>
+
+ <body>
+
+  <p><img src="support/pass-cdts-abs-pos-non-replaced.png" width="246" height="36" alt="Image download support must be enabled" /></p>
+
+  <div id="containing-block">1 2 34<span>X</span></div>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/abs-pos-non-replaced-vrl-040.xht
@@ -0,0 +1,111 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Writing Modes Test: absolutely positioned non-replaced element - 'direction: ltr' and 'width' and 'right' are 'auto' and 'left' is not 'auto'</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+  <link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#vertical-layout" title="7.1 Principles of Layout in Vertical Writing Modes" />
+  <link rel="help" href="http://www.w3.org/TR/CSS21/visudet.html#abs-non-replaced-width" title="10.3.7 Absolutely positioned, non-replaced elements" />
+  <link rel="match" href="abs-pos-non-replaced-vlr-009-ref.xht" />
+
+  <meta name="flags" content="ahem image" />
+  <meta name="assert" content="When 'direction' is 'ltr' and 'width' and 'right' are 'auto' and 'left' is not 'auto', then the width becomes shrink-to-fit and then solve for 'right'." />
+
+<style type="text/css"><![CDATA[
+@font-face {
+  font-family: Ahem;
+  src: url("../../../fonts/Ahem.ttf");
+}
+]]></style>
+  <style type="text/css"><![CDATA[
+  div#containing-block
+    {
+      background: red url("support/bg-red-2col-2row-320x320.png");
+      color: transparent;
+      direction: ltr;
+      font: 80px/1 Ahem;
+      height: 320px;
+      position: relative;
+      width: 320px;
+    }
+
+  div#containing-block > span
+    {
+      background-color: red;
+      color: green;
+      left: 1em;
+      position: absolute;
+      right: auto;
+      width: auto;
+      writing-mode: vertical-rl;
+    }
+
+/*
+"
+3. 'width' and 'right' are 'auto' and 'left' is not 'auto', then the width is shrink-to-fit . Then solve for 'right'
+"
+
+'left' + 'margin-left' + 'border-left-width' + 'padding-left' + 'width' + 'padding-right' + 'border-right-width' + 'margin-right' + 'right' = width of containing block
+
+So:
+
+     80px : left
+  +
+      0px : margin-left
+  +
+      0px : border-left-width
+  +
+      0px : padding-left
+  +
+  (shrink-to-fit) : width: auto
+  +
+      0px : padding-right
+  +
+      0px : border-right-width
+  +
+      0px : margin-right
+  +
+  (solve) : right: auto
+    =====================
+    320px : width of containing block
+
+gives us:
+
+     80px : left
+  +
+      0px : margin-left
+  +
+      0px : border-top-width
+  +
+      0px : padding-top
+  +
+     80px : (shrink-to-fit) : width: auto
+  +
+      0px : padding-right
+  +
+      0px : border-right-width
+  +
+      0px : margin-right
+  +
+  (solve) : right: auto
+    =====================
+    320px : width of containing block
+
+And so computed right value must be 160px .
+*/
+
+  ]]></style>
+
+ </head>
+
+ <body>
+
+  <p><img src="support/pass-cdts-abs-pos-non-replaced.png" width="246" height="36" alt="Image download support must be enabled" /></p>
+
+  <div id="containing-block">1 2 34<span>X</span></div>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/abs-pos-non-replaced-vrl-042.xht
@@ -0,0 +1,123 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Writing Modes Test: absolutely positioned non-replaced element - 'direction: ltr' and 'height' and 'bottom' are 'auto' and 'top' is not 'auto'</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+  <link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#vertical-layout" title="7.1 Principles of Layout in Vertical Writing Modes" />
+  <link rel="help" href="http://www.w3.org/TR/CSS21/visudet.html#abs-non-replaced-width" title="10.3.7 Absolutely positioned, non-replaced elements" />
+  <link rel="match" href="abs-pos-non-replaced-vrl-012-ref.xht" />
+
+  <meta name="flags" content="ahem image" />
+  <meta name="assert" content="When 'direction' is 'ltr' and 'height' and 'bottom' are 'auto' and 'top' is not 'auto', then the height is based on the content and then solve for 'bottom'." />
+
+<style type="text/css"><![CDATA[
+@font-face {
+  font-family: Ahem;
+  src: url("../../../fonts/Ahem.ttf");
+}
+]]></style>
+  <style type="text/css"><![CDATA[
+  html
+    {
+      writing-mode: vertical-rl;
+    }
+
+  div#containing-block
+    {
+      background: red url("support/bg-red-3col-2row-320x320.png");
+      color: transparent;
+      direction: ltr;
+      font: 80px/1 Ahem;
+      height: 320px;
+      position: relative;
+      width: 320px;
+    }
+
+  div#containing-block > span
+    {
+      background-color: red;
+      bottom: auto;
+      color: green;
+      height: auto;
+      position: absolute;
+      top: 1em;
+    }
+
+/*
+"
+Layout calculation rules (such as those in CSS2.1, Section 10.3) that apply to the horizontal dimension in horizontal writing modes instead apply to the vertical dimension in vertical writing modes.
+"
+7.1 Principles of Layout in Vertical Writing Modes
+http://www.w3.org/TR/css-writing-modes-3/#vertical-layout
+
+So here, *-top and *-bottom properties are input into the §10.3.7 algorithms where *-top properties refer to *-left properties in the layout rules and where *-bottom properties refer to *-right properties in the layout rules.
+
+"
+3. 'width' and 'right' are 'auto' and 'left' is not 'auto', then the width is shrink-to-fit . Then solve for 'right'
+"
+
+'top' + 'margin-top' + 'border-top-width' + 'padding-top' + 'height' + 'padding-bottom' + 'border-bottom-width' + 'margin-bottom' + 'bottom' = height of containing block
+
+So:
+
+     80px : top
+  +
+      0px : margin-top
+  +
+      0px : border-top-width
+  +
+      0px : padding-top
+  +
+  (based on the content) : height: auto
+  +
+      0px : padding-bottom
+  +
+      0px : border-bottom-width
+  +
+      0px : margin-bottom
+  +
+  (solve) : bottom: auto
+    =====================
+    320px : height of containing block
+
+gives us:
+
+     80px : top
+  +
+      0px : margin-top
+  +
+      0px : border-top-width
+  +
+      0px : padding-top
+  +
+     80px : (based on the content) : height: auto
+  +
+      0px : padding-bottom
+  +
+      0px : border-bottom-width
+  +
+      0px : margin-bottom
+  +
+  (solve) : bottom: auto
+    =====================
+    320px : height of containing block
+
+And so computed bottom value must be 160px .
+*/
+
+  ]]></style>
+
+ </head>
+
+ <body>
+
+  <p><img src="support/pass-cdts-abs-pos-non-replaced.png" width="246" height="36" alt="Image download support must be enabled" /></p>
+
+  <div id="containing-block">1 2 34<span>X</span></div>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/abs-pos-non-replaced-vrl-044.xht
@@ -0,0 +1,119 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Writing Modes Test: absolutely positioned non-replaced element - 'direction: rtl' and 'height' and 'bottom' are 'auto' and 'top' is not 'auto'</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+  <link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#vertical-layout" title="7.1 Principles of Layout in Vertical Writing Modes" />
+  <link rel="help" href="http://www.w3.org/TR/CSS21/visudet.html#abs-non-replaced-width" title="10.3.7 Absolutely positioned, non-replaced elements" />
+  <link rel="match" href="abs-pos-non-replaced-vrl-004-ref.xht" />
+
+  <meta name="flags" content="ahem image" />
+  <meta name="assert" content="When 'direction' is 'rtl' and 'top', 'height' and 'bottom' are 'auto' and 'top' is not 'auto', then the height is based on the content and then solve for 'bottom'." />
+
+<style type="text/css"><![CDATA[
+@font-face {
+  font-family: Ahem;
+  src: url("../../../fonts/Ahem.ttf");
+}
+]]></style>
+  <style type="text/css"><![CDATA[
+  div#containing-block
+    {
+      background: red url("support/bg-red-3col-2row-320x320.png");
+      color: transparent;
+      direction: rtl;
+      font: 80px/1 Ahem;
+      height: 320px;
+      position: relative;
+      width: 320px;
+      writing-mode: vertical-rl;
+    }
+
+  div#containing-block > span
+    {
+      background-color: red;
+      bottom: auto;
+      color: green;
+      height: auto;
+      position: absolute;
+      top: 1em;
+    }
+
+/*
+"
+Layout calculation rules (such as those in CSS2.1, Section 10.3) that apply to the horizontal dimension in horizontal writing modes instead apply to the vertical dimension in vertical writing modes.
+"
+7.1 Principles of Layout in Vertical Writing Modes
+http://www.w3.org/TR/css-writing-modes-3/#vertical-layout
+
+So here, *-top and *-bottom properties are input into the §10.3.7 algorithms where *-top properties refer to *-left properties in the layout rules and where *-bottom properties refer to *-right properties in the layout rules.
+
+"
+3. 'width' and 'right' are 'auto' and 'left' is not 'auto', then the width is shrink-to-fit . Then solve for 'right'
+"
+
+'top' + 'margin-top' + 'border-top-width' + 'padding-top' + 'height' + 'padding-bottom' + 'border-bottom-width' + 'margin-bottom' + 'bottom' = height of containing block
+
+So:
+
+     80px : top
+  +
+      0px : margin-top
+  +
+      0px : border-top-width
+  +
+      0px : padding-top
+  +
+  (based on the content) : height: auto
+  +
+      0px : padding-bottom
+  +
+      0px : border-bottom-width
+  +
+      0px : margin-bottom
+  +
+  (solve) : bottom: auto
+    =====================
+    320px : height of containing block
+
+gives us:
+
+     80px : top
+  +
+      0px : margin-top
+  +
+      0px : border-top-width
+  +
+      0px : padding-top
+  +
+     80px : (based on the content) : height: auto
+  +
+      0px : padding-bottom
+  +
+      0px : border-bottom-width
+  +
+      0px : margin-bottom
+  +
+  (solve) : bottom: auto
+    =====================
+    320px : height of containing block
+
+And so computed bottom value must be 160px .
+*/
+
+  ]]></style>
+
+ </head>
+
+ <body>
+
+  <p><img src="support/pass-cdts-abs-pos-non-replaced.png" width="246" height="36" alt="Image download support must be enabled" /></p>
+
+  <div id="containing-block">1 2 34<span>X</span></div>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/abs-pos-non-replaced-vrl-046.xht
@@ -0,0 +1,111 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Writing Modes Test: absolutely positioned non-replaced element - 'direction: rtl' and 'width' and 'right' are 'auto' and 'left' is not 'auto'</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+  <link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#vertical-layout" title="7.1 Principles of Layout in Vertical Writing Modes" />
+  <link rel="help" href="http://www.w3.org/TR/CSS21/visudet.html#abs-non-replaced-width" title="10.3.7 Absolutely positioned, non-replaced elements" />
+  <link rel="match" href="abs-pos-non-replaced-vlr-009-ref.xht" />
+
+  <meta name="flags" content="ahem image" />
+  <meta name="assert" content="When 'direction' is 'rtl' and 'width' and 'right' are 'auto' and 'left' is not 'auto', then the width becomes shrink-to-fit and then solve for 'right'." />
+
+<style type="text/css"><![CDATA[
+@font-face {
+  font-family: Ahem;
+  src: url("../../../fonts/Ahem.ttf");
+}
+]]></style>
+  <style type="text/css"><![CDATA[
+  div#containing-block
+    {
+      background: red url("support/bg-red-2col-2row-320x320.png");
+      color: transparent;
+      direction: rtl;
+      font: 80px/1 Ahem;
+      height: 320px;
+      position: relative;
+      width: 320px;
+    }
+
+  div#containing-block > span
+    {
+      background-color: red;
+      color: green;
+      left: 1em;
+      position: absolute;
+      right: auto;
+      width: auto;
+      writing-mode: vertical-rl;
+    }
+
+/*
+"
+3. 'width' and 'right' are 'auto' and 'left' is not 'auto', then the width is shrink-to-fit . Then solve for 'right'
+"
+
+'left' + 'margin-left' + 'border-left-width' + 'padding-left' + 'width' + 'padding-right' + 'border-right-width' + 'margin-right' + 'right' = width of containing block
+
+So:
+
+     80px : left
+  +
+      0px : margin-left
+  +
+      0px : border-left-width
+  +
+      0px : padding-left
+  +
+  (shrink-to-fit) : width: auto
+  +
+      0px : padding-right
+  +
+      0px : border-right-width
+  +
+      0px : margin-right
+  +
+  (solve) : right: auto
+    =====================
+    320px : width of containing block
+
+gives us:
+
+     80px : left
+  +
+      0px : margin-left
+  +
+      0px : border-left-width
+  +
+      0px : padding-left
+  +
+     80px : (shrink-to-fit) : width: auto
+  +
+      0px : padding-right
+  +
+      0px : border-right-width
+  +
+      0px : margin-right
+  +
+  (solve) : right: auto
+    =====================
+    320px : width of containing block
+
+And so computed right value must be 160px .
+*/
+
+  ]]></style>
+
+ </head>
+
+ <body>
+
+  <p><img src="support/pass-cdts-abs-pos-non-replaced.png" width="246" height="36" alt="Image download support must be enabled" /></p>
+
+  <div id="containing-block">1 2 34<span>X</span></div>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/abs-pos-non-replaced-vrl-048.xht
@@ -0,0 +1,124 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Writing Modes Test: absolutely positioned non-replaced element - 'direction: rtl' and 'height' and 'bottom' are 'auto' and 'top' is not 'auto'</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+  <link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#vertical-layout" title="7.1 Principles of Layout in Vertical Writing Modes" />
+  <link rel="help" href="http://www.w3.org/TR/CSS21/visudet.html#abs-non-replaced-width" title="10.3.7 Absolutely positioned, non-replaced elements" />
+  <link rel="match" href="abs-pos-non-replaced-vrl-012-ref.xht" />
+
+  <meta name="flags" content="ahem image" />
+  <meta name="assert" content="When 'direction' is 'rtl' and 'height' and 'bottom' are 'auto' and 'top' is not 'auto', then the height is based on the content and then solve for 'bottom'." />
+
+<style type="text/css"><![CDATA[
+@font-face {
+  font-family: Ahem;
+  src: url("../../../fonts/Ahem.ttf");
+}
+]]></style>
+  <style type="text/css"><![CDATA[
+  html
+    {
+      writing-mode: vertical-rl;
+    }
+
+  div#containing-block
+    {
+      background: red url("support/bg-red-3col-2row-320x320.png");
+      color: transparent;
+      direction: rtl;
+      font: 80px/1 Ahem;
+      height: 320px;
+      position: relative;
+      width: 320px;
+    }
+
+  div#containing-block > span
+    {
+      background-color: red;
+      bottom: auto;
+      color: green;
+      height: auto;
+      position: absolute;
+      top: 1em;
+    }
+
+/*
+"
+Layout calculation rules (such as those in CSS2.1, Section 10.3) that apply to the horizontal dimension in horizontal writing modes instead apply to the vertical dimension in vertical writing modes.
+"
+7.1 Principles of Layout in Vertical Writing Modes
+http://www.w3.org/TR/css-writing-modes-3/#vertical-layout
+
+So here, *-top and *-bottom properties are input into the §10.3.7 algorithms where *-top properties refer to *-left properties in the layout rules and where *-bottom properties refer to *-right properties in the layout rules.
+
+"
+3. 'width' and 'right' are 'auto' and 'left' is not 'auto', then the width is shrink-to-fit . Then solve for 'right'
+"
+
+'top' + 'margin-top' + 'border-top-width' + 'padding-top' + 'height' + 'padding-bottom' + 'border-bottom-width' + 'margin-bottom' + 'bottom' = height of containing block
+
+So:
+
+     80px : top
+  +
+      0px : margin-top
+  +
+      0px : border-top-width
+  +
+      0px : padding-top
+  +
+  (based on the content) : height: auto
+  +
+      0px : padding-bottom
+  +
+      0px : border-bottom-width
+  +
+      0px : margin-bottom
+  +
+  (solve) : bottom: auto
+    =====================
+    320px : height of containing block
+
+gives us:
+
+     80px : top
+  +
+      0px : margin-top
+  +
+      0px : border-top-width
+  +
+      0px : padding-top
+  +
+     80px : (based on the content) : height: auto
+  +
+      0px : padding-bottom
+  +
+      0px : border-bottom-width
+  +
+      0px : margin-bottom
+  +
+  (solve) : bottom: auto
+    =====================
+    320px : height of containing block
+
+And so computed bottom value must be 160px .
+*/
+
+
+  ]]></style>
+
+ </head>
+
+ <body>
+
+  <p><img src="support/pass-cdts-abs-pos-non-replaced.png" width="246" height="36" alt="Image download support must be enabled" /></p>
+
+  <div id="containing-block">1 2 34<span>X</span></div>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/abs-pos-non-replaced-vrl-050.xht
@@ -0,0 +1,97 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Writing Modes Test: absolutely positioned non-replaced element - 'direction: ltr' and 'top' is 'auto' and 'height' and 'bottom' are not 'auto'</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+  <link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#vertical-layout" title="7.1 Principles of Layout in Vertical Writing Modes" />
+  <link rel="help" href="http://www.w3.org/TR/CSS21/visudet.html#abs-non-replaced-width" title="10.3.7 Absolutely positioned, non-replaced elements" />
+  <link rel="match" href="abs-pos-non-replaced-vrl-002-ref.xht" />
+
+  <meta name="flags" content="ahem image" />
+  <meta name="assert" content="When 'direction' is 'ltr' and 'top' is 'auto' and 'height' and 'bottom' are not 'auto', then solve for 'top'." />
+
+<style type="text/css"><![CDATA[
+@font-face {
+  font-family: Ahem;
+  src: url("../../../fonts/Ahem.ttf");
+}
+]]></style>
+  <style type="text/css"><![CDATA[
+  div#containing-block
+    {
+      background: red url("support/bg-red-3col-3row-320x320.png");
+      color: transparent;
+      direction: ltr;
+      font: 80px/1 Ahem;
+      height: 320px;
+      position: relative;
+      width: 320px;
+      writing-mode: vertical-rl;
+    }
+
+  div#containing-block > span
+    {
+      background-color: red;
+      bottom: 1em;
+      color: green;
+      height: 1em;
+      position: absolute;
+      top: auto;
+    }
+
+/*
+"
+Layout calculation rules (such as those in CSS2.1, Section 10.3) that apply to the horizontal dimension in horizontal writing modes instead apply to the vertical dimension in vertical writing modes.
+"
+7.1 Principles of Layout in Vertical Writing Modes
+http://www.w3.org/TR/css-writing-modes-3/#vertical-layout
+
+So here, *-top and *-bottom properties are input into the §10.3.7 algorithms where *-top properties refer to *-left properties in the layout rules and where *-bottom properties refer to *-right properties in the layout rules.
+
+"
+4. 'left' is 'auto', 'width' and 'right' are not 'auto', then solve for 'left'
+"
+
+'top' + 'margin-top' + 'border-top-width' + 'padding-top' + 'height' + 'padding-bottom' + 'border-bottom-width' + 'margin-bottom' + 'bottom' = height of containing block
+
+So:
+
+  (solve) : top: auto
+  +
+      0px : margin-top
+  +
+      0px : border-top-width
+  +
+      0px : padding-top
+  +
+     80px : height
+  +
+      0px : padding-bottom
+  +
+      0px : border-bottom-width
+  +
+      0px : margin-bottom
+  +
+     80px : bottom
+    =====================
+    320px : height of containing block
+
+And so computed top value must be 160px .
+*/
+
+  ]]></style>
+
+ </head>
+
+ <body>
+
+  <p><img src="support/pass-cdts-abs-pos-non-replaced.png" width="246" height="36" alt="Image download support must be enabled" /></p>
+
+  <div id="containing-block">1 2 34<span>X</span></div>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/abs-pos-non-replaced-vrl-052.xht
@@ -0,0 +1,89 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Writing Modes Test: absolutely positioned non-replaced element - 'direction: ltr' and 'left' is 'auto', 'width' and 'right' are not 'auto'</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+  <link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#vertical-layout" title="7.1 Principles of Layout in Vertical Writing Modes" />
+  <link rel="help" href="http://www.w3.org/TR/CSS21/visudet.html#abs-non-replaced-width" title="10.3.7 Absolutely positioned, non-replaced elements" />
+  <link rel="match" href="abs-pos-non-replaced-vrl-004-ref.xht" />
+
+  <meta name="flags" content="ahem image" />
+  <meta name="assert" content="When 'direction' is 'ltr' and 'left' is 'auto', 'width' and 'right' are not 'auto', then solve for 'left'." />
+
+<style type="text/css"><![CDATA[
+@font-face {
+  font-family: Ahem;
+  src: url("../../../fonts/Ahem.ttf");
+}
+]]></style>
+  <style type="text/css"><![CDATA[
+  div#containing-block
+    {
+      background: red url("support/bg-red-3col-2row-320x320.png");
+      color: transparent;
+      direction: ltr;
+      font: 80px/1 Ahem;
+      height: 320px;
+      position: relative;
+      width: 320px;
+    }
+
+  div#containing-block > span
+    {
+      background-color: red;
+      color: green;
+      left: auto;
+      position: absolute;
+      right: 1em;
+      width: 1em;
+      writing-mode: vertical-rl;
+    }
+
+/*
+"
+4. 'left' is 'auto', 'width' and 'right' are not 'auto', then solve for 'left'
+"
+
+'left' + 'margin-left' + 'border-left-width' + 'padding-left' + 'width' + 'padding-right' + 'border-right-width' + 'margin-right' + 'right' = width of containing block
+
+So:
+
+  (solve) : left: auto
+  +
+      0px : margin-left
+  +
+      0px : border-left-width
+  +
+      0px : padding-left
+  +
+     80px : width
+  +
+      0px : padding-right
+  +
+      0px : border-right-width
+  +
+      0px : margin-right
+  +
+     80px : right
+    =====================
+    320px : width of containing block
+
+And so computed left value must be 160px .
+*/
+
+  ]]></style>
+
+ </head>
+
+ <body>
+
+  <p><img src="support/pass-cdts-abs-pos-non-replaced.png" width="246" height="36" alt="Image download support must be enabled" /></p>
+
+  <div id="containing-block">1 2 34<span>X</span></div>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/abs-pos-non-replaced-vrl-054.xht
@@ -0,0 +1,101 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Writing Modes Test: absolutely positioned non-replaced element - 'direction: ltr' and 'top' is 'auto' and 'height' and 'bottom' are not 'auto'</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+  <link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#vertical-layout" title="7.1 Principles of Layout in Vertical Writing Modes" />
+  <link rel="help" href="http://www.w3.org/TR/CSS21/visudet.html#abs-non-replaced-width" title="10.3.7 Absolutely positioned, non-replaced elements" />
+  <link rel="match" href="abs-pos-non-replaced-vrl-006-ref.xht" />
+
+  <meta name="flags" content="ahem image" />
+  <meta name="assert" content="When 'direction' is 'ltr' and 'top' is 'auto' and 'height' and 'bottom' are not 'auto', then solve for 'top'." />
+
+<style type="text/css"><![CDATA[
+@font-face {
+  font-family: Ahem;
+  src: url("../../../fonts/Ahem.ttf");
+}
+]]></style>
+  <style type="text/css"><![CDATA[
+  html
+    {
+      writing-mode: vertical-rl;
+    }
+
+  div#containing-block
+    {
+      background: red url("support/bg-red-3col-3row-320x320.png");
+      color: transparent;
+      direction: ltr;
+      font: 80px/1 Ahem;
+      height: 320px;
+      position: relative;
+      width: 320px;
+    }
+
+  div#containing-block > span
+    {
+      background-color: red;
+      bottom: 1em;
+      color: green;
+      height: 1em;
+      position: absolute;
+      top: auto;
+    }
+
+/*
+"
+Layout calculation rules (such as those in CSS2.1, Section 10.3) that apply to the horizontal dimension in horizontal writing modes instead apply to the vertical dimension in vertical writing modes.
+"
+7.1 Principles of Layout in Vertical Writing Modes
+http://www.w3.org/TR/css-writing-modes-3/#vertical-layout
+
+So here, *-top and *-bottom properties are input into the §10.3.7 algorithms where *-top properties refer to *-left properties in the layout rules and where *-bottom properties refer to *-right properties in the layout rules.
+
+"
+4. 'left' is 'auto', 'width' and 'right' are not 'auto', then solve for 'left'
+"
+
+'top' + 'margin-top' + 'border-top-width' + 'padding-top' + 'height' + 'padding-bottom' + 'border-bottom-width' + 'margin-bottom' + 'bottom' = height of containing block
+
+So:
+
+  (solve) : top: auto
+  +
+      0px : margin-top
+  +
+      0px : border-top-width
+  +
+      0px : padding-top
+  +
+     80px : height
+  +
+      0px : padding-bottom
+  +
+      0px : border-bottom-width
+  +
+      0px : margin-bottom
+  +
+     80px : bottom
+    =====================
+    320px : height of containing block
+
+And so computed top value must be 160px .
+*/
+
+  ]]></style>
+
+ </head>
+
+ <body>
+
+  <p><img src="support/pass-cdts-abs-pos-non-replaced.png" width="246" height="36" alt="Image download support must be enabled" /></p>
+
+  <div id="containing-block">1 2 34<span>X</span></div>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/abs-pos-non-replaced-vrl-056.xht
@@ -0,0 +1,97 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Writing Modes Test: absolutely positioned non-replaced element - 'direction: rtl' and 'top' is 'auto' and 'height' and 'bottom' are not 'auto'</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+  <link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#vertical-layout" title="7.1 Principles of Layout in Vertical Writing Modes" />
+  <link rel="help" href="http://www.w3.org/TR/CSS21/visudet.html#abs-non-replaced-width" title="10.3.7 Absolutely positioned, non-replaced elements" />
+  <link rel="match" href="abs-pos-non-replaced-vrl-002-ref.xht" />
+
+  <meta name="flags" content="ahem image" />
+  <meta name="assert" content="When 'direction' is 'rtl' and 'top' is 'auto' and 'height' and 'bottom' are not 'auto', then solve for 'top'." />
+
+<style type="text/css"><![CDATA[
+@font-face {
+  font-family: Ahem;
+  src: url("../../../fonts/Ahem.ttf");
+}
+]]></style>
+  <style type="text/css"><![CDATA[
+  div#containing-block
+    {
+      background: red url("support/bg-red-3col-3row-320x320.png");
+      color: transparent;
+      direction: rtl;
+      font: 80px/1 Ahem;
+      height: 320px;
+      position: relative;
+      width: 320px;
+      writing-mode: vertical-rl;
+    }
+
+  div#containing-block > span
+    {
+      background-color: red;
+      bottom: 1em;
+      color: green;
+      height: 1em;
+      position: absolute;
+      top: auto;
+    }
+
+/*
+"
+Layout calculation rules (such as those in CSS2.1, Section 10.3) that apply to the horizontal dimension in horizontal writing modes instead apply to the vertical dimension in vertical writing modes.
+"
+7.1 Principles of Layout in Vertical Writing Modes
+http://www.w3.org/TR/css-writing-modes-3/#vertical-layout
+
+So here, *-top and *-bottom properties are input into the §10.3.7 algorithms where *-top properties refer to *-left properties in the layout rules and where *-bottom properties refer to *-right properties in the layout rules.
+
+"
+4. 'left' is 'auto', 'width' and 'right' are not 'auto', then solve for 'left'
+"
+
+'top' + 'margin-top' + 'border-top-width' + 'padding-top' + 'height' + 'padding-bottom' + 'border-bottom-width' + 'margin-bottom' + 'bottom' = height of containing block
+
+So:
+
+  (solve) : top: auto
+  +
+      0px : margin-top
+  +
+      0px : border-top-width
+  +
+      0px : padding-top
+  +
+     80px : height
+  +
+      0px : padding-bottom
+  +
+      0px : border-bottom-width
+  +
+      0px : margin-bottom
+  +
+     80px : bottom
+    =====================
+    320px : height of containing block
+
+And so computed top value must be 160px .
+*/
+
+  ]]></style>
+
+ </head>
+
+ <body>
+
+  <p><img src="support/pass-cdts-abs-pos-non-replaced.png" width="246" height="36" alt="Image download support must be enabled" /></p>
+
+  <div id="containing-block">1 2 34<span>X</span></div>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/abs-pos-non-replaced-vrl-058.xht
@@ -0,0 +1,89 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Writing Modes Test: absolutely positioned non-replaced element - 'direction: rtl' and 'left' is 'auto', 'width' and 'right' are not 'auto'</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+  <link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#vertical-layout" title="7.1 Principles of Layout in Vertical Writing Modes" />
+  <link rel="help" href="http://www.w3.org/TR/CSS21/visudet.html#abs-non-replaced-width" title="10.3.7 Absolutely positioned, non-replaced elements" />
+  <link rel="match" href="abs-pos-non-replaced-vrl-004-ref.xht" />
+
+  <meta name="flags" content="ahem image" />
+  <meta name="assert" content="When 'direction' is 'rtl' and 'left' is 'auto', 'width' and 'right' are not 'auto', then solve for 'left'." />
+
+<style type="text/css"><![CDATA[
+@font-face {
+  font-family: Ahem;
+  src: url("../../../fonts/Ahem.ttf");
+}
+]]></style>
+  <style type="text/css"><![CDATA[
+  div#containing-block
+    {
+      background: red url("support/bg-red-3col-2row-320x320.png");
+      color: transparent;
+      direction: rtl;
+      font: 80px/1 Ahem;
+      height: 320px;
+      position: relative;
+      width: 320px;
+    }
+
+  div#containing-block > span
+    {
+      background-color: red;
+      color: green;
+      left: auto;
+      position: absolute;
+      right: 1em;
+      width: 1em;
+      writing-mode: vertical-rl;
+    }
+
+/*
+"
+4.'left' is 'auto', 'width' and 'right' are not 'auto', then solve for 'left'
+"
+
+'left' + 'margin-left' + 'border-left-width' + 'padding-left' + 'width' + 'padding-right' + 'border-right-width' + 'margin-right' + 'right' = width of containing block
+
+So:
+
+  (solve) : left: auto
+  +
+      0px : margin-left
+  +
+      0px : border-left-width
+  +
+      0px : padding-left
+  +
+     80px : width
+  +
+      0px : padding-right
+  +
+      0px : border-right-width
+  +
+      0px : margin-right
+  +
+     80px : right
+    =====================
+    320px : width of containing block
+
+And so computed left value must be 160px .
+*/
+
+  ]]></style>
+
+ </head>
+
+ <body>
+
+  <p><img src="support/pass-cdts-abs-pos-non-replaced.png" width="246" height="36" alt="Image download support must be enabled" /></p>
+
+  <div id="containing-block">1 2 34<span>X</span></div>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/abs-pos-non-replaced-vrl-060.xht
@@ -0,0 +1,102 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Writing Modes Test: absolutely positioned non-replaced element - 'direction: rtl' and 'top' is 'auto' and 'height' and 'bottom' are not 'auto'</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+  <link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#vertical-layout" title="7.1 Principles of Layout in Vertical Writing Modes" />
+  <link rel="help" href="http://www.w3.org/TR/CSS21/visudet.html#abs-non-replaced-width" title="10.3.7 Absolutely positioned, non-replaced elements" />
+  <link rel="match" href="abs-pos-non-replaced-vrl-006-ref.xht" />
+
+  <meta name="flags" content="ahem image" />
+  <meta name="assert" content="When 'direction' is 'rtl' and 'top' is 'auto' and 'height' and 'bottom' are not 'auto', then solve for 'top'." />
+
+<style type="text/css"><![CDATA[
+@font-face {
+  font-family: Ahem;
+  src: url("../../../fonts/Ahem.ttf");
+}
+]]></style>
+  <style type="text/css"><![CDATA[
+  html
+    {
+      writing-mode: vertical-rl;
+    }
+
+  div#containing-block
+    {
+      background: red url("support/bg-red-3col-3row-320x320.png");
+      color: transparent;
+      direction: rtl;
+      font: 80px/1 Ahem;
+      height: 320px;
+      position: relative;
+      width: 320px;
+    }
+
+  div#containing-block > span
+    {
+      background-color: red;
+      bottom: 1em;
+      color: green;
+      height: 1em;
+      position: absolute;
+      top: auto;
+    }
+
+/*
+"
+Layout calculation rules (such as those in CSS2.1, Section 10.3) that apply to the horizontal dimension in horizontal writing modes instead apply to the vertical dimension in vertical writing modes.
+"
+7.1 Principles of Layout in Vertical Writing Modes
+http://www.w3.org/TR/css-writing-modes-3/#vertical-layout
+
+So here, *-top and *-bottom properties are input into the §10.3.7 algorithms where *-top properties refer to *-left properties in the layout rules and where *-bottom properties refer to *-right properties in the layout rules.
+
+"
+4. 'left' is 'auto', 'width' and 'right' are not 'auto', then solve for 'left'
+"
+
+'top' + 'margin-top' + 'border-top-width' + 'padding-top' + 'height' + 'padding-bottom' + 'border-bottom-width' + 'margin-bottom' + 'bottom' = height of containing block
+
+So:
+
+  (solve) : top: auto
+  +
+      0px : margin-top
+  +
+      0px : border-top-width
+  +
+      0px : padding-top
+  +
+     80px : height
+  +
+      0px : padding-bottom
+  +
+      0px : border-bottom-width
+  +
+      0px : margin-bottom
+  +
+     80px : bottom
+    =====================
+    320px : height of containing block
+
+And so computed top value must be 160px .
+*/
+
+
+  ]]></style>
+
+ </head>
+
+ <body>
+
+  <p><img src="support/pass-cdts-abs-pos-non-replaced.png" width="246" height="36" alt="Image download support must be enabled" /></p>
+
+  <div id="containing-block">1 2 34<span>X</span></div>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/abs-pos-non-replaced-vrl-062.xht
@@ -0,0 +1,97 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Writing Modes Test: absolutely positioned non-replaced element - 'direction: ltr' and 'height' is 'auto' and 'top' and 'bottom' are not 'auto'</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+  <link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#vertical-layout" title="7.1 Principles of Layout in Vertical Writing Modes" />
+  <link rel="help" href="http://www.w3.org/TR/CSS21/visudet.html#abs-non-replaced-width" title="10.3.7 Absolutely positioned, non-replaced elements" />
+  <link rel="match" href="abs-pos-non-replaced-vrl-002-ref.xht" />
+
+  <meta name="flags" content="ahem image" />
+  <meta name="assert" content="When 'direction' is 'ltr' and 'height' is 'auto' and 'top' and 'bottom' are not 'auto', then solve for 'height'." />
+
+<style type="text/css"><![CDATA[
+@font-face {
+  font-family: Ahem;
+  src: url("../../../fonts/Ahem.ttf");
+}
+]]></style>
+  <style type="text/css"><![CDATA[
+  div#containing-block
+    {
+      background: red url("support/bg-red-3col-3row-320x320.png");
+      color: transparent;
+      direction: ltr;
+      font: 80px/1 Ahem;
+      height: 320px;
+      position: relative;
+      width: 320px;
+      writing-mode: vertical-rl;
+    }
+
+  div#containing-block > span
+    {
+      background-color: green;
+      bottom: 1em;
+      height: auto;
+      position: absolute;
+      top: 2em;
+      width: 1em;
+    }
+
+/*
+"
+Layout calculation rules (such as those in CSS2.1, Section 10.3) that apply to the horizontal dimension in horizontal writing modes instead apply to the vertical dimension in vertical writing modes.
+"
+7.1 Principles of Layout in Vertical Writing Modes
+http://www.w3.org/TR/css-writing-modes-3/#vertical-layout
+
+So here, *-top and *-bottom properties are input into the §10.3.7 algorithms where *-top properties refer to *-left properties in the layout rules and where *-bottom properties refer to *-right properties in the layout rules.
+
+"
+5. 'width' is 'auto', 'left' and 'right' are not 'auto', then solve for 'width'
+"
+
+'top' + 'margin-top' + 'border-top-width' + 'padding-top' + 'height' + 'padding-bottom' + 'border-bottom-width' + 'margin-bottom' + 'bottom' = height of containing block
+
+So:
+
+    160px : top
+  +
+      0px : margin-top
+  +
+      0px : border-top-width
+  +
+      0px : padding-top
+  +
+  (solve) : height: auto
+  +
+      0px : padding-bottom
+  +
+      0px : border-bottom-width
+  +
+      0px : margin-bottom
+  +
+     80px : bottom
+    =====================
+    320px : height of containing block
+
+And so computed height value must be 80px .
+*/
+
+  ]]></style>
+
+ </head>
+
+ <body>
+
+  <p><img src="support/pass-cdts-abs-pos-non-replaced.png" width="246" height="36" alt="Image download support must be enabled" /></p>
+
+  <div id="containing-block">1 2 34<span></span></div>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/abs-pos-non-replaced-vrl-064.xht
@@ -0,0 +1,89 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Writing Modes Test: absolutely positioned non-replaced element - 'direction: ltr' and  'width' is 'auto', 'left' and 'right' are not 'auto'</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+  <link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#vertical-layout" title="7.1 Principles of Layout in Vertical Writing Modes" />
+  <link rel="help" href="http://www.w3.org/TR/CSS21/visudet.html#abs-non-replaced-width" title="10.3.7 Absolutely positioned, non-replaced elements" />
+  <link rel="match" href="abs-pos-non-replaced-vrl-004-ref.xht" />
+
+  <meta name="flags" content="ahem image" />
+  <meta name="assert" content="When 'direction' is 'ltr' and 'width' is 'auto', 'left' and 'right' are not 'auto', then solve for 'width'." />
+
+<style type="text/css"><![CDATA[
+@font-face {
+  font-family: Ahem;
+  src: url("../../../fonts/Ahem.ttf");
+}
+]]></style>
+  <style type="text/css"><![CDATA[
+  div#containing-block
+    {
+      background: red url("support/bg-red-3col-2row-320x320.png");
+      color: transparent;
+      direction: ltr;
+      font: 80px/1 Ahem;
+      height: 320px;
+      position: relative;
+      width: 320px;
+    }
+
+  div#containing-block > span
+    {
+      background-color: green;
+      height: 1em;
+      left: 2em;
+      position: absolute;
+      right: 1em;
+      width: auto;
+      writing-mode: vertical-rl;
+    }
+
+/*
+"
+5. 'width' is 'auto', 'left' and 'right' are not 'auto', then solve for 'width'
+"
+
+'left' + 'margin-left' + 'border-left-width' + 'padding-left' + 'width' + 'padding-right' + 'border-right-width' + 'margin-right' + 'right' = width of containing block
+
+So:
+
+    160px : left
+  +
+      0px : margin-left
+  +
+      0px : border-left-width
+  +
+      0px : padding-left
+  +
+  (solve) : width: auto
+  +
+      0px : padding-right
+  +
+      0px : border-right-width
+  +
+      0px : margin-right
+  +
+     80px : right
+    =====================
+    320px : width of containing block
+
+And so computed width value must be 80px .
+*/
+
+  ]]></style>
+
+ </head>
+
+ <body>
+
+  <p><img src="support/pass-cdts-abs-pos-non-replaced.png" width="246" height="36" alt="Image download support must be enabled" /></p>
+
+  <div id="containing-block">1 2 34<span></span></div>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/abs-pos-non-replaced-vrl-066.xht
@@ -0,0 +1,101 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Writing Modes Test: absolutely positioned non-replaced element - 'direction: ltr' and 'height' is 'auto' and 'top' and 'bottom' are not 'auto'</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+  <link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#vertical-layout" title="7.1 Principles of Layout in Vertical Writing Modes" />
+  <link rel="help" href="http://www.w3.org/TR/CSS21/visudet.html#abs-non-replaced-width" title="10.3.7 Absolutely positioned, non-replaced elements" />
+  <link rel="match" href="abs-pos-non-replaced-vrl-006-ref.xht" />
+
+  <meta name="flags" content="ahem image" />
+  <meta name="assert" content="When 'direction' is 'ltr' and 'height' is 'auto' and 'top' and 'bottom' are not 'auto', then solve for 'height'." />
+
+<style type="text/css"><![CDATA[
+@font-face {
+  font-family: Ahem;
+  src: url("../../../fonts/Ahem.ttf");
+}
+]]></style>
+  <style type="text/css"><![CDATA[
+  html
+    {
+      writing-mode: vertical-rl;
+    }
+
+  div#containing-block
+    {
+      background: red url("support/bg-red-3col-3row-320x320.png");
+      color: transparent;
+      direction: ltr;
+      font: 80px/1 Ahem;
+      height: 320px;
+      position: relative;
+      width: 320px;
+    }
+
+  div#containing-block > span
+    {
+      background-color: green;
+      bottom: 1em;
+      height: auto;
+      position: absolute;
+      top: 2em;
+      width: 1em;
+    }
+
+/*
+"
+Layout calculation rules (such as those in CSS2.1, Section 10.3) that apply to the horizontal dimension in horizontal writing modes instead apply to the vertical dimension in vertical writing modes.
+"
+7.1 Principles of Layout in Vertical Writing Modes
+http://www.w3.org/TR/css-writing-modes-3/#vertical-layout
+
+So here, *-top and *-bottom properties are input into the §10.3.7 algorithms where *-top properties refer to *-left properties in the layout rules and where *-bottom properties refer to *-right properties in the layout rules.
+
+"
+5. 'width' is 'auto', 'left' and 'right' are not 'auto', then solve for 'width'
+"
+
+'top' + 'margin-top' + 'border-top-width' + 'padding-top' + 'height' + 'padding-bottom' + 'border-bottom-width' + 'margin-bottom' + 'bottom' = height of containing block
+
+So:
+
+    160px : top
+  +
+      0px : margin-top
+  +
+      0px : border-top-width
+  +
+      0px : padding-top
+  +
+  (solve) : height: auto
+  +
+      0px : padding-bottom
+  +
+      0px : border-bottom-width
+  +
+      0px : margin-bottom
+  +
+     80px : bottom
+    =====================
+    320px : height of containing block
+
+And so computed height value must be 80px .
+*/
+
+  ]]></style>
+
+ </head>
+
+ <body>
+
+  <p><img src="support/pass-cdts-abs-pos-non-replaced.png" width="246" height="36" alt="Image download support must be enabled" /></p>
+
+  <div id="containing-block">1 2 34<span></span></div>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/abs-pos-non-replaced-vrl-068.xht
@@ -0,0 +1,97 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Writing Modes Test: absolutely positioned non-replaced element - 'direction: rtl' and 'height' is 'auto' and 'top' and 'bottom' are not 'auto'</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+  <link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#vertical-layout" title="7.1 Principles of Layout in Vertical Writing Modes" />
+  <link rel="help" href="http://www.w3.org/TR/CSS21/visudet.html#abs-non-replaced-width" title="10.3.7 Absolutely positioned, non-replaced elements" />
+  <link rel="match" href="abs-pos-non-replaced-vrl-002-ref.xht" />
+
+  <meta name="flags" content="ahem image" />
+  <meta name="assert" content="When 'direction' is 'rtl' and 'height' is 'auto' and 'top' and 'bottom' are not 'auto', then solve for 'height'." />
+
+<style type="text/css"><![CDATA[
+@font-face {
+  font-family: Ahem;
+  src: url("../../../fonts/Ahem.ttf");
+}
+]]></style>
+  <style type="text/css"><![CDATA[
+  div#containing-block
+    {
+      background: red url("support/bg-red-3col-3row-320x320.png");
+      color: transparent;
+      direction: rtl;
+      font: 80px/1 Ahem;
+      height: 320px;
+      position: relative;
+      width: 320px;
+      writing-mode: vertical-rl;
+    }
+
+  div#containing-block > span
+    {
+      background-color: green;
+      bottom: 1em;
+      height: auto;
+      position: absolute;
+      top: 2em;
+      width: 1em;
+    }
+
+/*
+"
+Layout calculation rules (such as those in CSS2.1, Section 10.3) that apply to the horizontal dimension in horizontal writing modes instead apply to the vertical dimension in vertical writing modes.
+"
+7.1 Principles of Layout in Vertical Writing Modes
+http://www.w3.org/TR/css-writing-modes-3/#vertical-layout
+
+So here, *-top and *-bottom properties are input into the §10.3.7 algorithms where *-top properties refer to *-left properties in the layout rules and where *-bottom properties refer to *-right properties in the layout rules.
+
+"
+5. 'width' is 'auto', 'left' and 'right' are not 'auto', then solve for 'width'
+"
+
+'top' + 'margin-top' + 'border-top-width' + 'padding-top' + 'height' + 'padding-bottom' + 'border-bottom-width' + 'margin-bottom' + 'bottom' = height of containing block
+
+So:
+
+    160px : top
+  +
+      0px : margin-top
+  +
+      0px : border-top-width
+  +
+      0px : padding-top
+  +
+  (solve) : height: auto
+  +
+      0px : padding-bottom
+  +
+      0px : border-bottom-width
+  +
+      0px : margin-bottom
+  +
+     80px : bottom
+    =====================
+    320px : height of containing block
+
+And so computed height value must be 80px .
+*/
+
+  ]]></style>
+
+ </head>
+
+ <body>
+
+  <p><img src="support/pass-cdts-abs-pos-non-replaced.png" width="246" height="36" alt="Image download support must be enabled" /></p>
+
+  <div id="containing-block">1 2 34<span></span></div>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/abs-pos-non-replaced-vrl-070.xht
@@ -0,0 +1,89 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Writing Modes Test: absolutely positioned non-replaced element - 'direction: rtl' and 'width' is 'auto', 'left' and 'right' are not 'auto'</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+  <link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#vertical-layout" title="7.1 Principles of Layout in Vertical Writing Modes" />
+  <link rel="help" href="http://www.w3.org/TR/CSS21/visudet.html#abs-non-replaced-width" title="10.3.7 Absolutely positioned, non-replaced elements" />
+  <link rel="match" href="abs-pos-non-replaced-vrl-004-ref.xht" />
+
+  <meta name="flags" content="ahem image" />
+  <meta name="assert" content="When 'direction' is 'rtl' and 'width' is 'auto', 'left' and 'right' are not 'auto', then solve for 'width'." />
+
+<style type="text/css"><![CDATA[
+@font-face {
+  font-family: Ahem;
+  src: url("../../../fonts/Ahem.ttf");
+}
+]]></style>
+  <style type="text/css"><![CDATA[
+  div#containing-block
+    {
+      background: red url("support/bg-red-3col-2row-320x320.png");
+      color: transparent;
+      direction: rtl;
+      font: 80px/1 Ahem;
+      height: 320px;
+      position: relative;
+      width: 320px;
+    }
+
+  div#containing-block > span
+    {
+      background-color: green;
+      height: 1em;
+      left: 2em;
+      position: absolute;
+      right: 1em;
+      width: auto;
+      writing-mode: vertical-rl;
+    }
+
+/*
+"
+5. 'width' is 'auto', 'left' and 'right' are not 'auto', then solve for 'width'
+"
+
+'left' + 'margin-left' + 'border-left-width' + 'padding-left' + 'width' + 'padding-right' + 'border-right-width' + 'margin-right' + 'right' = width of containing block
+
+So:
+
+    160px : left
+  +
+      0px : margin-left
+  +
+      0px : border-left-width
+  +
+      0px : padding-left
+  +
+  (solve) : width: auto
+  +
+      0px : padding-right
+  +
+      0px : border-right-width
+  +
+      0px : margin-right
+  +
+     80px : right
+    =====================
+    320px : width of containing block
+
+And so computed width value must be 80px .
+*/
+
+  ]]></style>
+
+ </head>
+
+ <body>
+
+  <p><img src="support/pass-cdts-abs-pos-non-replaced.png" width="246" height="36" alt="Image download support must be enabled" /></p>
+
+  <div id="containing-block">1 2 34<span></span></div>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/abs-pos-non-replaced-vrl-072.xht
@@ -0,0 +1,101 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Writing Modes Test: absolutely positioned non-replaced element - 'direction: rtl' and 'height' is 'auto' and 'top' and 'bottom' are not 'auto'</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+  <link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#vertical-layout" title="7.1 Principles of Layout in Vertical Writing Modes" />
+  <link rel="help" href="http://www.w3.org/TR/CSS21/visudet.html#abs-non-replaced-width" title="10.3.7 Absolutely positioned, non-replaced elements" />
+  <link rel="match" href="abs-pos-non-replaced-vrl-006-ref.xht" />
+
+  <meta name="flags" content="ahem image" />
+  <meta name="assert" content="When 'direction' is 'rtl' and 'height' is 'auto' and 'top' and 'bottom' are not 'auto', then solve for 'height'." />
+
+<style type="text/css"><![CDATA[
+@font-face {
+  font-family: Ahem;
+  src: url("../../../fonts/Ahem.ttf");
+}
+]]></style>
+  <style type="text/css"><![CDATA[
+  html
+    {
+      writing-mode: vertical-rl;
+    }
+
+  div#containing-block
+    {
+      background: red url("support/bg-red-3col-3row-320x320.png");
+      color: transparent;
+      direction: rtl;
+      font: 80px/1 Ahem;
+      height: 320px;
+      position: relative;
+      width: 320px;
+    }
+
+  div#containing-block > span
+    {
+      background-color: green;
+      bottom: 1em;
+      height: auto;
+      position: absolute;
+      top: 2em;
+      width: 1em;
+    }
+
+/*
+"
+Layout calculation rules (such as those in CSS2.1, Section 10.3) that apply to the horizontal dimension in horizontal writing modes instead apply to the vertical dimension in vertical writing modes.
+"
+7.1 Principles of Layout in Vertical Writing Modes
+http://www.w3.org/TR/css-writing-modes-3/#vertical-layout
+
+So here, *-top and *-bottom properties are input into the §10.3.7 algorithms where *-top properties refer to *-left properties in the layout rules and where *-bottom properties refer to *-right properties in the layout rules.
+
+"
+5. 'width' is 'auto', 'left' and 'right' are not 'auto', then solve for 'width'
+"
+
+'top' + 'margin-top' + 'border-top-width' + 'padding-top' + 'height' + 'padding-bottom' + 'border-bottom-width' + 'margin-bottom' + 'bottom' = height of containing block
+
+So:
+
+    160px : top
+  +
+      0px : margin-top
+  +
+      0px : border-top-width
+  +
+      0px : padding-top
+  +
+  (solve) : height: auto
+  +
+      0px : padding-bottom
+  +
+      0px : border-bottom-width
+  +
+      0px : margin-bottom
+  +
+     80px : bottom
+    =====================
+    320px : height of containing block
+
+And so computed height value must be 80px .
+*/
+
+  ]]></style>
+
+ </head>
+
+ <body>
+
+  <p><img src="support/pass-cdts-abs-pos-non-replaced.png" width="246" height="36" alt="Image download support must be enabled" /></p>
+
+  <div id="containing-block">1 2 34<span></span></div>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/abs-pos-non-replaced-vrl-074.xht
@@ -0,0 +1,97 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Writing Modes Test: absolutely positioned non-replaced element - 'direction: ltr' and 'bottom' is 'auto' and 'top' and 'height' are not 'auto'</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+  <link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#vertical-layout" title="7.1 Principles of Layout in Vertical Writing Modes" />
+  <link rel="help" href="http://www.w3.org/TR/CSS21/visudet.html#abs-non-replaced-width" title="10.3.7 Absolutely positioned, non-replaced elements" />
+  <link rel="match" href="abs-pos-non-replaced-vrl-004-ref.xht" />
+
+  <meta name="flags" content="ahem image" />
+  <meta name="assert" content="When 'direction' is 'ltr' and 'bottom' is 'auto' and 'top' and 'height' are not 'auto', then solve for 'bottom'." />
+
+<style type="text/css"><![CDATA[
+@font-face {
+  font-family: Ahem;
+  src: url("../../../fonts/Ahem.ttf");
+}
+]]></style>
+  <style type="text/css"><![CDATA[
+  div#containing-block
+    {
+      background: red url("support/bg-red-3col-2row-320x320.png");
+      color: transparent;
+      direction: ltr;
+      font: 80px/1 Ahem;
+      height: 320px;
+      position: relative;
+      width: 320px;
+      writing-mode: vertical-rl;
+    }
+
+  div#containing-block > span
+    {
+      background-color: red;
+      bottom: auto;
+      color: green;
+      height: 1em;
+      position: absolute;
+      top: 1em;
+    }
+
+/*
+"
+Layout calculation rules (such as those in CSS2.1, Section 10.3) that apply to the horizontal dimension in horizontal writing modes instead apply to the vertical dimension in vertical writing modes.
+"
+7.1 Principles of Layout in Vertical Writing Modes
+http://www.w3.org/TR/css-writing-modes-3/#vertical-layout
+
+So here, *-top and *-bottom properties are input into the §10.3.7 algorithms where *-top properties refer to *-left properties in the layout rules and where *-bottom properties refer to *-right properties in the layout rules.
+
+"
+6. 'right' is 'auto', 'left' and 'width' are not 'auto', then solve for 'right'
+"
+
+'top' + 'margin-top' + 'border-top-width' + 'padding-top' + 'height' + 'padding-bottom' + 'border-bottom-width' + 'margin-bottom' + 'bottom' = height of containing block
+
+So:
+
+     80px : top
+  +
+      0px : margin-top
+  +
+      0px : border-top-width
+  +
+      0px : padding-top
+  +
+     80px : height
+  +
+      0px : padding-bottom
+  +
+      0px : border-bottom-width
+  +
+      0px : margin-bottom
+  +
+  (solve) : bottom: auto
+    =====================
+    320px : height of containing block
+
+And so computed bottom value must be 160px .
+*/
+
+  ]]></style>
+
+ </head>
+
+ <body>
+
+  <p><img src="support/pass-cdts-abs-pos-non-replaced.png" width="246" height="36" alt="Image download support must be enabled" /></p>
+
+  <div id="containing-block">1 2 34<span>X</span></div>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/abs-pos-non-replaced-vrl-076.xht
@@ -0,0 +1,89 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Writing Modes Test: absolutely positioned non-replaced element - 'direction: ltr' and 'right' is 'auto', 'left' and 'width' are not 'auto'</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+  <link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#vertical-layout" title="7.1 Principles of Layout in Vertical Writing Modes" />
+  <link rel="help" href="http://www.w3.org/TR/CSS21/visudet.html#abs-non-replaced-width" title="10.3.7 Absolutely positioned, non-replaced elements" />
+  <link rel="match" href="abs-pos-non-replaced-vlr-009-ref.xht" />
+
+  <meta name="flags" content="ahem image" />
+  <meta name="assert" content="When 'direction' is 'ltr' and 'right' is 'auto', 'left' and 'width' are not 'auto', then solve for 'right'." />
+
+<style type="text/css"><![CDATA[
+@font-face {
+  font-family: Ahem;
+  src: url("../../../fonts/Ahem.ttf");
+}
+]]></style>
+  <style type="text/css"><![CDATA[
+  div#containing-block
+    {
+      background: red url("support/bg-red-2col-2row-320x320.png");
+      color: transparent;
+      direction: ltr;
+      font: 80px/1 Ahem;
+      height: 320px;
+      position: relative;
+      width: 320px;
+    }
+
+  div#containing-block > span
+    {
+      background-color: red;
+      color: green;
+      left: 1em;
+      position: absolute;
+      right: auto;
+      width: 1em;
+      writing-mode: vertical-rl;
+    }
+
+/*
+"
+6. 'right' is 'auto', 'left' and 'width' are not 'auto', then solve for 'right'
+"
+
+'left' + 'margin-left' + 'border-left-width' + 'padding-left' + 'width' + 'padding-right' + 'border-right-width' + 'margin-right' + 'right' = width of containing block
+
+So:
+
+     80px : left
+  +
+      0px : margin-left
+  +
+      0px : border-left-width
+  +
+      0px : padding-left
+  +
+     80px : width
+  +
+      0px : padding-right
+  +
+      0px : border-right-width
+  +
+      0px : margin-right
+  +
+  (solve) : right: auto
+    =====================
+    320px : width of containing block
+
+And so computed right value must be 160px .
+*/
+
+  ]]></style>
+
+ </head>
+
+ <body>
+
+  <p><img src="support/pass-cdts-abs-pos-non-replaced.png" width="246" height="36" alt="Image download support must be enabled" /></p>
+
+  <div id="containing-block">1 2 34<span>X</span></div>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/abs-pos-non-replaced-vrl-078.xht
@@ -0,0 +1,101 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Writing Modes Test: absolutely positioned non-replaced element - 'direction: ltr' and 'bottom' is 'auto' and 'top' and 'height' are not 'auto'</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+  <link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#vertical-layout" title="7.1 Principles of Layout in Vertical Writing Modes" />
+  <link rel="help" href="http://www.w3.org/TR/CSS21/visudet.html#abs-non-replaced-width" title="10.3.7 Absolutely positioned, non-replaced elements" />
+  <link rel="match" href="abs-pos-non-replaced-vrl-012-ref.xht" />
+
+  <meta name="flags" content="ahem image" />
+  <meta name="assert" content="When 'direction' is 'ltr' and 'bottom' is 'auto' and 'top' and 'height' are not 'auto', then solve for 'bottom'." />
+
+<style type="text/css"><![CDATA[
+@font-face {
+  font-family: Ahem;
+  src: url("../../../fonts/Ahem.ttf");
+}
+]]></style>
+  <style type="text/css"><![CDATA[
+  html
+    {
+      writing-mode: vertical-rl;
+    }
+
+  div#containing-block
+    {
+      background: red url("support/bg-red-3col-2row-320x320.png");
+      color: transparent;
+      direction: ltr;
+      font: 80px/1 Ahem;
+      height: 320px;
+      position: relative;
+      width: 320px;
+    }
+
+  div#containing-block > span
+    {
+      background-color: red;
+      bottom: auto;
+      color: green;
+      height: 1em;
+      position: absolute;
+      top: 1em;
+    }
+
+/*
+"
+Layout calculation rules (such as those in CSS2.1, Section 10.3) that apply to the horizontal dimension in horizontal writing modes instead apply to the vertical dimension in vertical writing modes.
+"
+7.1 Principles of Layout in Vertical Writing Modes
+http://www.w3.org/TR/css-writing-modes-3/#vertical-layout
+
+So here, *-top and *-bottom properties are input into the §10.3.7 algorithms where *-top properties refer to *-left properties in the layout rules and where *-bottom properties refer to *-right properties in the layout rules.
+
+"
+6. 'right' is 'auto', 'left' and 'width' are not 'auto', then solve for 'right'
+"
+
+'top' + 'margin-top' + 'border-top-width' + 'padding-top' + 'height' + 'padding-bottom' + 'border-bottom-width' + 'margin-bottom' + 'bottom' = height of containing block
+
+So:
+
+     80px : top
+  +
+      0px : margin-top
+  +
+      0px : border-top-width
+  +
+      0px : padding-top
+  +
+     80px : height
+  +
+      0px : padding-bottom
+  +
+      0px : border-bottom-width
+  +
+      0px : margin-bottom
+  +
+  (solve) : bottom: auto
+    =====================
+    320px : height of containing block
+
+And so computed bottom value must be 160px .
+*/
+
+  ]]></style>
+
+ </head>
+
+ <body>
+
+  <p><img src="support/pass-cdts-abs-pos-non-replaced.png" width="246" height="36" alt="Image download support must be enabled" /></p>
+
+  <div id="containing-block">1 2 34<span>X</span></div>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/abs-pos-non-replaced-vrl-080.xht
@@ -0,0 +1,97 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Writing Modes Test: absolutely positioned non-replaced element - 'direction: rtl' and 'bottom' is 'auto' and 'top' and 'height' are not 'auto'</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+  <link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#vertical-layout" title="7.1 Principles of Layout in Vertical Writing Modes" />
+  <link rel="help" href="http://www.w3.org/TR/CSS21/visudet.html#abs-non-replaced-width" title="10.3.7 Absolutely positioned, non-replaced elements" />
+  <link rel="match" href="abs-pos-non-replaced-vrl-004-ref.xht" />
+
+  <meta name="flags" content="ahem image" />
+  <meta name="assert" content="When 'direction' is 'rtl' and 'bottom' is 'auto' and 'top' and 'height' are not 'auto', then solve for 'bottom'." />
+
+<style type="text/css"><![CDATA[
+@font-face {
+  font-family: Ahem;
+  src: url("../../../fonts/Ahem.ttf");
+}
+]]></style>
+  <style type="text/css"><![CDATA[
+  div#containing-block
+    {
+      background: red url("support/bg-red-3col-2row-320x320.png");
+      color: transparent;
+      direction: rtl;
+      font: 80px/1 Ahem;
+      height: 320px;
+      position: relative;
+      width: 320px;
+      writing-mode: vertical-rl;
+    }
+
+  div#containing-block > span
+    {
+      background-color: red;
+      bottom: auto;
+      color: green;
+      height: 1em;
+      position: absolute;
+      top: 1em;
+    }
+
+/*
+"
+Layout calculation rules (such as those in CSS2.1, Section 10.3) that apply to the horizontal dimension in horizontal writing modes instead apply to the vertical dimension in vertical writing modes.
+"
+7.1 Principles of Layout in Vertical Writing Modes
+http://www.w3.org/TR/css-writing-modes-3/#vertical-layout
+
+So here, *-top and *-bottom properties are input into the §10.3.7 algorithms where *-top properties refer to *-left properties in the layout rules and where *-bottom properties refer to *-right properties in the layout rules.
+
+"
+6. 'right' is 'auto', 'left' and 'width' are not 'auto', then solve for 'right'
+"
+
+'top' + 'margin-top' + 'border-top-width' + 'padding-top' + 'height' + 'padding-bottom' + 'border-bottom-width' + 'margin-bottom' + 'bottom' = height of containing block
+
+So:
+
+     80px : top
+  +
+      0px : margin-top
+  +
+      0px : border-top-width
+  +
+      0px : padding-top
+  +
+     80px : height
+  +
+      0px : padding-bottom
+  +
+      0px : border-bottom-width
+  +
+      0px : margin-bottom
+  +
+  (solve) : bottom: auto
+    =====================
+    320px : height of containing block
+
+And so computed bottom value must be 160px .
+*/
+
+  ]]></style>
+
+ </head>
+
+ <body>
+
+  <p><img src="support/pass-cdts-abs-pos-non-replaced.png" width="246" height="36" alt="Image download support must be enabled" /></p>
+
+  <div id="containing-block">1 2 34<span>X</span></div>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/abs-pos-non-replaced-vrl-082.xht
@@ -0,0 +1,89 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Writing Modes Test: absolutely positioned non-replaced element - 'direction: rtl' and 'right' is 'auto', 'left' and 'width' are not 'auto'</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+  <link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#vertical-layout" title="7.1 Principles of Layout in Vertical Writing Modes" />
+  <link rel="help" href="http://www.w3.org/TR/CSS21/visudet.html#abs-non-replaced-width" title="10.3.7 Absolutely positioned, non-replaced elements" />
+  <link rel="match" href="abs-pos-non-replaced-vlr-009-ref.xht" />
+
+  <meta name="flags" content="ahem image" />
+  <meta name="assert" content="When 'direction' is 'rtl' and 'right' is 'auto', 'left' and 'width' are not 'auto', then solve for 'right'" />
+
+<style type="text/css"><![CDATA[
+@font-face {
+  font-family: Ahem;
+  src: url("../../../fonts/Ahem.ttf");
+}
+]]></style>
+  <style type="text/css"><![CDATA[
+  div#containing-block
+    {
+      background: red url("support/bg-red-2col-2row-320x320.png");
+      color: transparent;
+      direction: rtl;
+      font: 80px/1 Ahem;
+      height: 320px;
+      position: relative;
+      width: 320px;
+    }
+
+  div#containing-block > span
+    {
+      background-color: red;
+      color: green;
+      left: 1em;
+      position: absolute;
+      right: auto;
+      width: 1em;
+      writing-mode: vertical-rl;
+    }
+
+/*
+"
+6. 'right' is 'auto', 'left' and 'width' are not 'auto', then solve for 'right'
+"
+
+'left' + 'margin-left' + 'border-left-width' + 'padding-left' + 'width' + 'padding-right' + 'border-right-width' + 'margin-right' + 'right' = width of containing block
+
+So:
+
+     80px : left
+  +
+      0px : margin-left
+  +
+      0px : border-left-width
+  +
+      0px : padding-left
+  +
+     80px : width
+  +
+      0px : padding-right
+  +
+      0px : border-right-width
+  +
+      0px : margin-right
+  +
+  (solve) : right: auto
+    =====================
+    320px : width of containing block
+
+And so computed right value must be 160px .
+*/
+
+  ]]></style>
+
+ </head>
+
+ <body>
+
+  <p><img src="support/pass-cdts-abs-pos-non-replaced.png" width="246" height="36" alt="Image download support must be enabled" /></p>
+
+  <div id="containing-block">1 2 34<span>X</span></div>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/abs-pos-non-replaced-vrl-084.xht
@@ -0,0 +1,101 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Writing Modes Test: absolutely positioned non-replaced element - 'direction: rtl' and 'bottom' is 'auto' and 'top' and 'height' are not 'auto'</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+  <link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#vertical-layout" title="7.1 Principles of Layout in Vertical Writing Modes" />
+  <link rel="help" href="http://www.w3.org/TR/CSS21/visudet.html#abs-non-replaced-width" title="10.3.7 Absolutely positioned, non-replaced elements" />
+  <link rel="match" href="abs-pos-non-replaced-vrl-012-ref.xht" />
+
+  <meta name="flags" content="ahem image" />
+  <meta name="assert" content="When 'direction' is 'rtl' and 'bottom' is 'auto' and 'top' and 'height' are not 'auto', then solve for 'bottom'." />
+
+<style type="text/css"><![CDATA[
+@font-face {
+  font-family: Ahem;
+  src: url("../../../fonts/Ahem.ttf");
+}
+]]></style>
+  <style type="text/css"><![CDATA[
+  html
+    {
+      writing-mode: vertical-rl;
+    }
+
+  div#containing-block
+    {
+      background: red url("support/bg-red-3col-2row-320x320.png");
+      color: transparent;
+      direction: rtl;
+      font: 80px/1 Ahem;
+      height: 320px;
+      position: relative;
+      width: 320px;
+    }
+
+  div#containing-block > span
+    {
+      background-color: red;
+      bottom: auto;
+      color: green;
+      height: 1em;
+      position: absolute;
+      top: 1em;
+    }
+
+/*
+"
+Layout calculation rules (such as those in CSS2.1, Section 10.3) that apply to the horizontal dimension in horizontal writing modes instead apply to the vertical dimension in vertical writing modes.
+"
+7.1 Principles of Layout in Vertical Writing Modes
+http://www.w3.org/TR/css-writing-modes-3/#vertical-layout
+
+So here, *-top and *-bottom properties are input into the §10.3.7 algorithms where *-top properties refer to *-left properties in the layout rules and where *-bottom properties refer to *-right properties in the layout rules.
+
+"
+6. 'right' is 'auto', 'left' and 'width' are not 'auto', then solve for 'right'
+"
+
+'top' + 'margin-top' + 'border-top-width' + 'padding-top' + 'height' + 'padding-bottom' + 'border-bottom-width' + 'margin-bottom' + 'bottom' = height of containing block
+
+So:
+
+     80px : top
+  +
+      0px : margin-top
+  +
+      0px : border-top-width
+  +
+      0px : padding-top
+  +
+     80px : height
+  +
+      0px : padding-bottom
+  +
+      0px : border-bottom-width
+  +
+      0px : margin-bottom
+  +
+  (solve) : bottom: auto
+    =====================
+    320px : height of containing block
+
+And so computed bottom value must be 160px .
+*/
+
+  ]]></style>
+
+ </head>
+
+ <body>
+
+  <p><img src="support/pass-cdts-abs-pos-non-replaced.png" width="246" height="36" alt="Image download support must be enabled" /></p>
+
+  <div id="containing-block">1 2 34<span>X</span></div>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/abs-pos-non-replaced-vrl-086.xht
@@ -0,0 +1,121 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Writing Modes Test: absolutely positioned non-replaced element - 'direction: ltr' and 'top', 'height' and 'bottom' are not 'auto' (overconstrained)</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+  <link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#vertical-layout" title="7.1 Principles of Layout in Vertical Writing Modes" />
+  <link rel="help" href="http://www.w3.org/TR/CSS21/visudet.html#abs-non-replaced-width" title="10.3.7 Absolutely positioned, non-replaced elements" />
+  <link rel="match" href="abs-pos-non-replaced-vrl-002-ref.xht" />
+
+  <meta name="flags" content="ahem image" />
+  <meta name="assert" content="When 'direction' is 'ltr' and 'top', 'height' and 'bottom' are not 'auto' and if the values are overconstrained, then ignore 'bottom' and solve for 'bottom'." />
+
+<style type="text/css"><![CDATA[
+@font-face {
+  font-family: Ahem;
+  src: url("../../../fonts/Ahem.ttf");
+}
+]]></style>
+  <style type="text/css"><![CDATA[
+  div#containing-block
+    {
+      background: red url("support/bg-red-3col-3row-320x320.png");
+      color: transparent;
+      direction: ltr;
+      font: 80px/1 Ahem;
+      height: 320px;
+      position: relative;
+      width: 320px;
+      writing-mode: vertical-rl;
+    }
+
+  div#containing-block > span
+    {
+      background-color: red;
+      bottom: 2em;
+      color: green;
+      height: 1em;
+      margin-bottom: 0em;
+      margin-top: 0em;
+      position: absolute;
+      top: 2em;
+    }
+
+/*
+"
+Layout calculation rules (such as those in CSS2.1, Section 10.3) that apply to the horizontal dimension in horizontal writing modes instead apply to the vertical dimension in vertical writing modes.
+"
+7.1 Principles of Layout in Vertical Writing Modes
+http://www.w3.org/TR/css-writing-modes-3/#vertical-layout
+
+So here, *-top and *-bottom properties are input into the §10.3.7 algorithms where *-top properties refer to *-left properties in the layout rules and where *-bottom properties refer to *-right properties in the layout rules.
+
+"
+If the values are over-constrained, ignore the value for 'left' (in case the 'direction' property of the containing block is 'rtl') or 'right' (in case 'direction' is 'ltr') and solve for that value.
+"
+
+'top' + 'margin-top' + 'border-top-width' + 'padding-top' + 'height' + 'padding-bottom' + 'border-bottom-width' + 'margin-bottom' + 'bottom' = height of containing block
+
+So:
+
+    160px : top
+  +
+      0px : margin-top
+  +
+      0px : border-top-width
+  +
+      0px : padding-top
+  +
+     80px : height
+  +
+      0px : padding-bottom
+  +
+      0px : border-bottom-width
+  +
+      0px : margin-bottom
+  +
+    160px : bottom
+    =====================
+    320px : height of containing block
+
+gives us:
+
+    160px : top
+  +
+      0px : margin-top
+  +
+      0px : border-top-width
+  +
+      0px : padding-top
+  +
+     80px : height
+  +
+      0px : padding-bottom
+  +
+      0px : border-bottom-width
+  +
+      0px : margin-bottom
+  +
+  (solve) : bottom
+    =====================
+    320px : height of containing block
+
+And so computed bottom value must be 80px .
+*/
+
+  ]]></style>
+
+ </head>
+
+ <body>
+
+  <p><img src="support/pass-cdts-abs-pos-non-replaced.png" width="246" height="36" alt="Image download support must be enabled" /></p>
+
+  <div id="containing-block">1 2 34<span>X</span></div>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/abs-pos-non-replaced-vrl-088.xht
@@ -0,0 +1,113 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Writing Modes Test: absolutely positioned non-replaced element - 'direction: ltr' and 'left', 'width' and 'right' are not 'auto' (overconstrained)</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+  <link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#vertical-layout" title="7.1 Principles of Layout in Vertical Writing Modes" />
+  <link rel="help" href="http://www.w3.org/TR/CSS21/visudet.html#abs-non-replaced-width" title="10.3.7 Absolutely positioned, non-replaced elements" />
+  <link rel="match" href="abs-pos-non-replaced-vrl-004-ref.xht" />
+
+  <meta name="flags" content="ahem image" />
+  <meta name="assert" content="When 'direction' is 'ltr' and 'left', 'width' and 'right' are not 'auto' (overconstrained), then ignore 'right' and then solve for 'right'." />
+
+<style type="text/css"><![CDATA[
+@font-face {
+  font-family: Ahem;
+  src: url("../../../fonts/Ahem.ttf");
+}
+]]></style>
+  <style type="text/css"><![CDATA[
+  div#containing-block
+    {
+      background: red url("support/bg-red-3col-2row-320x320.png");
+      color: transparent;
+      direction: ltr;
+      font: 80px/1 Ahem;
+      height: 320px;
+      position: relative;
+      width: 320px;
+    }
+
+  div#containing-block > span
+    {
+      background-color: red;
+      color: green;
+      left: 2em;
+      margin-left: 0em;
+      margin-right: 0em;
+      position: absolute;
+      right: 2em;
+      width: 1em;
+      writing-mode: vertical-rl;
+    }
+
+/*
+"
+If none of the three is 'auto': If both 'margin-left' and 'margin-right' are 'auto', solve the equation under the extra constraint that the two margins get equal values, unless this would make them negative, in which case when direction of the containing block is 'ltr' ('rtl'), set 'margin-left' ('margin-right') to zero and solve for 'margin-right' ('margin-left'). If one of 'margin-left' or 'margin-right' is 'auto', solve the equation for that value. If the values are over-constrained, ignore the value for 'left' (in case the 'direction' property of the containing block is 'rtl') or 'right' (in case 'direction' is 'ltr') and solve for that value.
+"
+
+'left' + 'margin-left' + 'border-left-width' + 'padding-left' + 'width' + 'padding-right' + 'border-right-width' + 'margin-right' + 'right' = width of containing block
+
+So:
+
+    160px : left
+  +
+      0px : margin-left
+  +
+      0px : border-left-width
+  +
+      0px : padding-left
+  +
+     80px : width
+  +
+      0px : padding-right
+  +
+      0px : border-right-width
+  +
+      0px : margin-right
+  +
+    160px : right
+    =====================
+    320px : width of containing block
+
+gives us:
+
+    160px : left
+  +
+      0px : margin-left
+  +
+      0px : border-left-width
+  +
+      0px : padding-left
+  +
+     80px : width
+  +
+      0px : padding-right
+  +
+      0px : border-right-width
+  +
+      0px : margin-right
+  +
+  (solve) : right
+    =====================
+    320px : width of containing block
+
+And so computed right value must be 80px .
+*/
+
+  ]]></style>
+
+ </head>
+
+ <body>
+
+  <p><img src="support/pass-cdts-abs-pos-non-replaced.png" width="246" height="36" alt="Image download support must be enabled" /></p>
+
+  <div id="containing-block">1 2 34<span>X</span></div>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/abs-pos-non-replaced-vrl-090.xht
@@ -0,0 +1,125 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Writing Modes Test: absolutely positioned non-replaced element - 'direction: ltr' and 'top', 'height' and 'bottom' are not 'auto' (overconstrained)</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+  <link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#vertical-layout" title="7.1 Principles of Layout in Vertical Writing Modes" />
+  <link rel="help" href="http://www.w3.org/TR/CSS21/visudet.html#abs-non-replaced-width" title="10.3.7 Absolutely positioned, non-replaced elements" />
+  <link rel="match" href="abs-pos-non-replaced-vrl-006-ref.xht" />
+
+  <meta name="flags" content="ahem image" />
+  <meta name="assert" content="When 'direction' is 'ltr' and 'top', 'height' and 'bottom' are not 'auto' and if the values are overconstrained, then ignore 'bottom' and solve for 'bottom'." />
+
+<style type="text/css"><![CDATA[
+@font-face {
+  font-family: Ahem;
+  src: url("../../../fonts/Ahem.ttf");
+}
+]]></style>
+  <style type="text/css"><![CDATA[
+  html
+    {
+      writing-mode: vertical-rl;
+    }
+
+  div#containing-block
+    {
+      background: red url("support/bg-red-3col-3row-320x320.png");
+      color: transparent;
+      direction: ltr;
+      font: 80px/1 Ahem;
+      height: 320px;
+      position: relative;
+      width: 320px;
+    }
+
+  div#containing-block > span
+    {
+      background-color: red;
+      bottom: 2em;
+      color: green;
+      height: 1em;
+      margin-bottom: 0em;
+      margin-top: 0em;
+      position: absolute;
+      top: 2em;
+    }
+
+/*
+"
+Layout calculation rules (such as those in CSS2.1, Section 10.3) that apply to the horizontal dimension in horizontal writing modes instead apply to the vertical dimension in vertical writing modes.
+"
+7.1 Principles of Layout in Vertical Writing Modes
+http://www.w3.org/TR/css-writing-modes-3/#vertical-layout
+
+So here, *-top and *-bottom properties are input into the §10.3.7 algorithms where *-top properties refer to *-left properties in the layout rules and where *-bottom properties refer to *-right properties in the layout rules.
+
+"
+If the values are over-constrained, ignore the value for 'left' (in case the 'direction' property of the containing block is 'rtl') or 'right' (in case 'direction' is 'ltr') and solve for that value.
+"
+
+'top' + 'margin-top' + 'border-top-width' + 'padding-top' + 'height' + 'padding-bottom' + 'border-bottom-width' + 'margin-bottom' + 'bottom' = height of containing block
+
+So:
+
+    160px : top
+  +
+      0px : margin-top
+  +
+      0px : border-top-width
+  +
+      0px : padding-top
+  +
+     80px : height
+  +
+      0px : padding-bottom
+  +
+      0px : border-bottom-width
+  +
+      0px : margin-bottom
+  +
+    160px : bottom
+    =====================
+    320px : height of containing block
+
+gives us:
+
+    160px : top
+  +
+      0px : margin-top
+  +
+      0px : border-top-width
+  +
+      0px : padding-top
+  +
+     80px : height
+  +
+      0px : padding-bottom
+  +
+      0px : border-bottom-width
+  +
+      0px : margin-bottom
+  +
+  (solve) : bottom
+    =====================
+    320px : height of containing block
+
+And so computed bottom value must be 80px .
+*/
+
+  ]]></style>
+
+ </head>
+
+ <body>
+
+  <p><img src="support/pass-cdts-abs-pos-non-replaced.png" width="246" height="36" alt="Image download support must be enabled" /></p>
+
+  <div id="containing-block">1 2 34<span>X</span></div>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/abs-pos-non-replaced-vrl-092.xht
@@ -0,0 +1,121 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Writing Modes Test: absolutely positioned non-replaced element - 'direction: rtl' and 'top', 'height' and 'bottom' are not 'auto' (overconstrained)</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+  <link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#vertical-layout" title="7.1 Principles of Layout in Vertical Writing Modes" />
+  <link rel="help" href="http://www.w3.org/TR/CSS21/visudet.html#abs-non-replaced-width" title="10.3.7 Absolutely positioned, non-replaced elements" />
+  <link rel="match" href="abs-pos-non-replaced-vrl-004-ref.xht" />
+
+  <meta name="flags" content="ahem image" />
+  <meta name="assert" content="When 'direction' is 'rtl' and 'top', 'height' and 'bottom' are not 'auto' and if the values are overconstrained, then ignore 'top' and solve for 'top'." />
+
+<style type="text/css"><![CDATA[
+@font-face {
+  font-family: Ahem;
+  src: url("../../../fonts/Ahem.ttf");
+}
+]]></style>
+  <style type="text/css"><![CDATA[
+  div#containing-block
+    {
+      background: red url("support/bg-red-3col-2row-320x320.png");
+      color: transparent;
+      direction: rtl;
+      font: 80px/1 Ahem;
+      height: 320px;
+      position: relative;
+      width: 320px;
+      writing-mode: vertical-rl;
+    }
+
+  div#containing-block > span
+    {
+      background-color: red;
+      bottom: 2em;
+      color: green;
+      height: 1em;
+      margin-bottom: 0em;
+      margin-top: 0em;
+      position: absolute;
+      top: 2em;
+    }
+
+/*
+"
+Layout calculation rules (such as those in CSS2.1, Section 10.3) that apply to the horizontal dimension in horizontal writing modes instead apply to the vertical dimension in vertical writing modes.
+"
+7.1 Principles of Layout in Vertical Writing Modes
+http://www.w3.org/TR/css-writing-modes-3/#vertical-layout
+
+So here, *-top and *-bottom properties are input into the §10.3.7 algorithms where *-top properties refer to *-left properties in the layout rules and where *-bottom properties refer to *-right properties in the layout rules.
+
+"
+If none of the three is 'auto': If both 'margin-left' and 'margin-right' are 'auto', solve the equation under the extra constraint that the two margins get equal values, unless this would make them negative, in which case when direction of the containing block is 'ltr' ('rtl'), set 'margin-left' ('margin-right') to zero and solve for 'margin-right' ('margin-left'). If one of 'margin-left' or 'margin-right' is 'auto', solve the equation for that value. If the values are over-constrained, ignore the value for 'left' (in case the 'direction' property of the containing block is 'rtl') or 'right' (in case 'direction' is 'ltr') and solve for that value.
+"
+
+'top' + 'margin-top' + 'border-top-width' + 'padding-top' + 'height' + 'padding-bottom' + 'border-bottom-width' + 'margin-bottom' + 'bottom' = height of containing block
+
+So:
+
+    160px : top
+  +
+      0px : margin-top
+  +
+      0px : border-top-width
+  +
+      0px : padding-top
+  +
+     80px : height
+  +
+      0px : padding-bottom
+  +
+      0px : border-bottom-width
+  +
+      0px : margin-bottom
+  +
+    160px : bottom
+    =====================
+    320px : height of containing block
+
+gives us:
+
+  (solve) : top
+  +
+      0px : margin-top
+  +
+      0px : border-top-width
+  +
+      0px : padding-top
+  +
+     80px : height
+  +
+      0px : padding-bottom
+  +
+      0px : border-bottom-width
+  +
+      0px : margin-bottom
+  +
+    160px : bottom
+    =====================
+    320px : height of containing block
+
+And so computed top value must be 80px .
+*/
+
+  ]]></style>
+
+ </head>
+
+ <body>
+
+  <p><img src="support/pass-cdts-abs-pos-non-replaced.png" width="246" height="36" alt="Image download support must be enabled" /></p>
+
+  <div id="containing-block">1 2 34<span>X</span></div>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/abs-pos-non-replaced-vrl-094.xht
@@ -0,0 +1,113 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Writing Modes Test: absolutely positioned non-replaced element - 'direction: rtl' and 'left', 'width' and 'right' are not 'auto' (overconstrained)</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+  <link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#vertical-layout" title="7.1 Principles of Layout in Vertical Writing Modes" />
+  <link rel="help" href="http://www.w3.org/TR/CSS21/visudet.html#abs-non-replaced-width" title="10.3.7 Absolutely positioned, non-replaced elements" />
+  <link rel="match" href="abs-pos-non-replaced-vlr-009-ref.xht" />
+
+  <meta name="flags" content="ahem image" />
+  <meta name="assert" content="When 'direction' is 'rtl' and 'left', 'width' and 'right' are not 'auto' and if the values are overconstrained, then ignore 'left' and then solve for 'left'." />
+
+<style type="text/css"><![CDATA[
+@font-face {
+  font-family: Ahem;
+  src: url("../../../fonts/Ahem.ttf");
+}
+]]></style>
+  <style type="text/css"><![CDATA[
+  div#containing-block
+    {
+      background: red url("support/bg-red-2col-2row-320x320.png");
+      color: transparent;
+      direction: rtl;
+      font: 80px/1 Ahem;
+      height: 320px;
+      position: relative;
+      width: 320px;
+    }
+
+  div#containing-block > span
+    {
+      background-color: red;
+      color: green;
+      left: 2em;
+      margin-left: 0em;
+      margin-right: 0em;
+      position: absolute;
+      right: 2em;
+      width: 1em;
+      writing-mode: vertical-rl;
+    }
+
+/*
+"
+If none of the three is 'auto': If both 'margin-left' and 'margin-right' are 'auto', solve the equation under the extra constraint that the two margins get equal values, unless this would make them negative, in which case when direction of the containing block is 'ltr' ('rtl'), set 'margin-left' ('margin-right') to zero and solve for 'margin-right' ('margin-left'). If one of 'margin-left' or 'margin-right' is 'auto', solve the equation for that value. If the values are over-constrained, ignore the value for 'left' (in case the 'direction' property of the containing block is 'rtl') or 'right' (in case 'direction' is 'ltr') and solve for that value.
+"
+
+'left' + 'margin-left' + 'border-left-width' + 'padding-left' + 'width' + 'padding-right' + 'border-right-width' + 'margin-right' + 'right' = width of containing block
+
+So:
+
+    160px : left
+  +
+      0px : margin-left
+  +
+      0px : border-top-width
+  +
+      0px : padding-top
+  +
+     80px : width
+  +
+      0px : padding-right
+  +
+      0px : border-right-width
+  +
+      0px : margin-right
+  +
+    160px : right
+    =====================
+    320px : width of containing block
+
+gives us:
+
+  (solve) : left
+  +
+      0px : margin-left
+  +
+      0px : border-top-width
+  +
+      0px : padding-top
+  +
+     80px : width
+  +
+      0px : padding-right
+  +
+      0px : border-right-width
+  +
+      0px : margin-right
+  +
+    160px : right
+    =====================
+    320px : width of containing block
+
+And so computed left value must be 80px .
+*/
+
+  ]]></style>
+
+ </head>
+
+ <body>
+
+  <p><img src="support/pass-cdts-abs-pos-non-replaced.png" width="246" height="36" alt="Image download support must be enabled" /></p>
+
+  <div id="containing-block">1 2 34<span>X</span></div>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/abs-pos-non-replaced-vrl-096.xht
@@ -0,0 +1,125 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Writing Modes Test: absolutely positioned non-replaced element - 'direction: rtl' and 'top', 'height' and 'bottom' are not 'auto' (overconstrained)</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+  <link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#vertical-layout" title="7.1 Principles of Layout in Vertical Writing Modes" />
+  <link rel="help" href="http://www.w3.org/TR/CSS21/visudet.html#abs-non-replaced-width" title="10.3.7 Absolutely positioned, non-replaced elements" />
+  <link rel="match" href="abs-pos-non-replaced-vrl-012-ref.xht" />
+
+  <meta name="flags" content="ahem image" />
+  <meta name="assert" content="When 'direction' is 'rtl' and 'top', 'height' and 'bottom' are not 'auto' and if the values are overconstrained, then ignore 'top' and solve for 'top'." />
+
+<style type="text/css"><![CDATA[
+@font-face {
+  font-family: Ahem;
+  src: url("../../../fonts/Ahem.ttf");
+}
+]]></style>
+  <style type="text/css"><![CDATA[
+  html
+    {
+      writing-mode: vertical-rl;
+    }
+
+  div#containing-block
+    {
+      background: red url("support/bg-red-3col-2row-320x320.png");
+      color: transparent;
+      direction: rtl;
+      font: 80px/1 Ahem;
+      height: 320px;
+      position: relative;
+      width: 320px;
+    }
+
+  div#containing-block > span
+    {
+      background-color: red;
+      bottom: 2em;
+      color: green;
+      height: 1em;
+      margin-bottom: 0em;
+      margin-top: 0em;
+      position: absolute;
+      top: 2em;
+    }
+
+/*
+"
+Layout calculation rules (such as those in CSS2.1, Section 10.3) that apply to the horizontal dimension in horizontal writing modes instead apply to the vertical dimension in vertical writing modes.
+"
+7.1 Principles of Layout in Vertical Writing Modes
+http://www.w3.org/TR/css-writing-modes-3/#vertical-layout
+
+So here, *-top and *-bottom properties are input into the §10.3.7 algorithms where *-top properties refer to *-left properties in the layout rules and where *-bottom properties refer to *-right properties in the layout rules.
+
+"
+If none of the three is 'auto': If both 'margin-left' and 'margin-right' are 'auto', solve the equation under the extra constraint that the two margins get equal values, unless this would make them negative, in which case when direction of the containing block is 'ltr' ('rtl'), set 'margin-left' ('margin-right') to zero and solve for 'margin-right' ('margin-left'). If one of 'margin-left' or 'margin-right' is 'auto', solve the equation for that value. If the values are over-constrained, ignore the value for 'left' (in case the 'direction' property of the containing block is 'rtl') or 'right' (in case 'direction' is 'ltr') and solve for that value.
+"
+
+'top' + 'margin-top' + 'border-top-width' + 'padding-top' + 'height' + 'padding-bottom' + 'border-bottom-width' + 'margin-bottom' + 'bottom' = height of containing block
+
+So:
+
+    160px : top
+  +
+      0px : margin-top
+  +
+      0px : border-top-width
+  +
+      0px : padding-top
+  +
+     80px : height
+  +
+      0px : padding-bottom
+  +
+      0px : border-bottom-width
+  +
+      0px : margin-bottom
+  +
+    160px : bottom
+    =====================
+    320px : height of containing block
+
+gives us:
+
+  (solve) : top
+  +
+      0px : margin-top
+  +
+      0px : border-top-width
+  +
+      0px : padding-top
+  +
+     80px : height
+  +
+      0px : padding-bottom
+  +
+      0px : border-bottom-width
+  +
+      0px : margin-bottom
+  +
+    160px : bottom
+    =====================
+    320px : height of containing block
+
+And so computed top value must be 80px .
+*/
+
+  ]]></style>
+
+ </head>
+
+ <body>
+
+  <p><img src="support/pass-cdts-abs-pos-non-replaced.png" width="246" height="36" alt="Image download support must be enabled" /></p>
+
+  <div id="containing-block">1 2 34<span>X</span></div>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/abs-pos-non-replaced-vrl-102.xht
@@ -0,0 +1,121 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Writing Modes Test: absolutely positioned non-replaced element - 'direction: ltr' and 'left', 'width' and 'right' are 'auto'</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+  <link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#vertical-layout" title="7.1 Principles of Layout in Vertical Writing Modes" />
+  <link rel="help" href="http://www.w3.org/TR/CSS21/visudet.html#abs-non-replaced-height" title="10.6.4 Absolutely positioned, non-replaced elements" />
+  <link rel="match" href="abs-pos-non-replaced-vrl-002-ref.xht" />
+
+  <meta name="flags" content="ahem image" />
+  <meta name="assert" content="When 'direction' is 'ltr' and 'left', 'width' and 'right' are 'auto' and 'writing-mode' is 'vertical-rl', then set 'right' to the static position, the width is based on the content and then solve for 'left'." />
+
+<style type="text/css"><![CDATA[
+@font-face {
+  font-family: Ahem;
+  src: url("../../../fonts/Ahem.ttf");
+}
+]]></style>
+  <style type="text/css"><![CDATA[
+  div#containing-block
+    {
+      background: red url("support/bg-red-3col-3row-320x320.png");
+      color: transparent;
+      direction: ltr;
+      font: 80px/1 Ahem;
+      height: 320px;
+      position: relative;
+      width: 320px;
+      writing-mode: vertical-rl;
+    }
+
+  div#containing-block > span
+    {
+      background-color: red;
+      color: green;
+      left: auto;
+      position: absolute;
+      right: auto;
+      width: auto;
+    }
+
+/*
+"
+Layout calculation rules (such as those in CSS2.1, Section 10.3) that apply to the horizontal dimension in horizontal writing modes instead apply to the vertical dimension in vertical writing modes.
+"
+7.1 Principles of Layout in Vertical Writing Modes
+http://www.w3.org/TR/css-writing-modes-3/#vertical-layout
+
+So here, *right and *left properties are input into the §10.6.4 algorithms where *right properties refer to *top properties in the layout rules and where *left properties refer to *bottom properties in the layout rules.
+
+"
+If all three of 'top', 'height', and 'bottom' are auto, set 'top' to the static position and apply rule number three below.
+
+3. 'height' and 'bottom' are 'auto' and 'top' is not 'auto', then the height is based on the content per 10.6.7, set 'auto' values for 'margin-top' and 'margin-bottom' to 0, and solve for 'bottom'
+"
+
+'left' + 'margin-left' + 'border-left-width' + 'padding-left' + 'width' + 'padding-right' + 'border-right-width' + 'margin-right' + 'right' = width of containing block
+
+So:
+
+     80px : right: auto: set to static position
+  +
+      0px : margin-right
+  +
+      0px : border-right-width
+  +
+      0px : padding-right
+  +
+  (based on the content) : width: auto
+  +
+      0px : padding-left
+  +
+      0px : border-left-width
+  +
+      0px : margin-left
+  +
+  (solve) : left: auto
+    =====================
+    320px : width of containing block
+
+gives us:
+
+     80px : right: auto: set to static position
+  +
+      0px : margin-right
+  +
+      0px : border-right-width
+  +
+      0px : padding-right
+  +
+     80px : (based on the content) : width: auto
+  +
+      0px : padding-left
+  +
+      0px : border-left-width
+  +
+      0px : margin-left
+  +
+  (solve) : left: auto
+    =====================
+    320px : width of containing block
+
+And so computed left value must be 160px .
+*/
+
+  ]]></style>
+
+ </head>
+
+ <body>
+
+  <p><img src="support/pass-cdts-abs-pos-non-replaced.png" width="246" height="36" alt="Image download support must be enabled" /></p>
+
+  <div id="containing-block">1 2 34<span>X</span></div>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/abs-pos-non-replaced-vrl-104.xht
@@ -0,0 +1,113 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Writing Modes Test: absolutely positioned non-replaced element - 'direction: ltr' and 'top', 'height', and 'bottom' are 'auto'</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+  <link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#vertical-layout" title="7.1 Principles of Layout in Vertical Writing Modes" />
+  <link rel="help" href="http://www.w3.org/TR/CSS21/visudet.html#abs-non-replaced-height" title="10.6.4 Absolutely positioned, non-replaced elements" />
+  <link rel="match" href="abs-pos-non-replaced-vrl-004-ref.xht" />
+
+  <meta name="flags" content="ahem image" />
+  <meta name="assert" content="When 'direction' is 'ltr' and 'top', 'height' and 'bottom' are 'auto', then set 'top' to the static position, the height is based on content and then solve for 'bottom'." />
+
+<style type="text/css"><![CDATA[
+@font-face {
+  font-family: Ahem;
+  src: url("../../../fonts/Ahem.ttf");
+}
+]]></style>
+  <style type="text/css"><![CDATA[
+  div#containing-block
+    {
+      background: red url("support/bg-red-3col-2row-320x320.png");
+      color: transparent;
+      direction: ltr;
+      font: 80px/1 Ahem;
+      height: 320px;
+      position: relative;
+      width: 320px;
+    }
+
+  div#containing-block > span
+    {
+      background-color: red;
+      bottom: auto;
+      color: green;
+      height: auto;
+      position: absolute;
+      top: auto;
+      writing-mode: vertical-rl;
+    }
+
+/*
+"
+If all three of 'top', 'height', and 'bottom' are auto, set 'top' to the static position and apply rule number three below.
+
+3. 'height' and 'bottom' are 'auto' and 'top' is not 'auto', then the height is based on the content per 10.6.7, set 'auto' values for 'margin-top' and 'margin-bottom' to 0, and solve for 'bottom'
+"
+
+'top' + 'margin-top' + 'border-top-width' + 'padding-top' + 'height' + 'padding-bottom' + 'border-bottom-width' + 'margin-bottom' + 'bottom' = height of containing block
+
+So:
+
+     80px : top: auto: set to static position
+  +
+      0px : margin-top
+  +
+      0px : border-top-width
+  +
+      0px : padding-top
+  +
+  (shrink-to-fit) : height: auto
+  +
+      0px : padding-bottom
+  +
+      0px : border-bottom-width
+  +
+      0px : margin-bottom
+  +
+  (solve) : bottom: auto
+    =====================
+    320px : height of containing block
+
+gives us:
+
+     80px : top: auto: set to static position
+  +
+      0px : margin-top
+  +
+      0px : border-top-width
+  +
+      0px : padding-top
+  +
+     80px : (shrink-to-fit) : height: auto
+  +
+      0px : padding-bottom
+  +
+      0px : border-bottom-width
+  +
+      0px : margin-bottom
+  +
+  (solve) : bottom: auto
+    =====================
+    320px : height of containing block
+
+And so computed bottom value must be 160px .
+*/
+
+  ]]></style>
+
+ </head>
+
+ <body>
+
+  <p><img src="support/pass-cdts-abs-pos-non-replaced.png" width="246" height="36" alt="Image download support must be enabled" /></p>
+
+  <div id="containing-block">1 2 34<span>X</span></div>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/abs-pos-non-replaced-vrl-106.xht
@@ -0,0 +1,125 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Writing Modes Test: absolutely positioned non-replaced element - 'direction: ltr' and 'left', 'width' and 'right' are 'auto'</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+  <link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#vertical-layout" title="7.1 Principles of Layout in Vertical Writing Modes" />
+  <link rel="help" href="http://www.w3.org/TR/CSS21/visudet.html#abs-non-replaced-height" title="10.6.4 Absolutely positioned, non-replaced elements" />
+  <link rel="match" href="abs-pos-non-replaced-vrl-006-ref.xht" />
+
+  <meta name="flags" content="ahem image" />
+  <meta name="assert" content="When 'direction' is 'ltr' and 'left', 'width' and 'right' are 'auto' and 'writing-mode' is 'vertical-rl', then set 'right' to the static position, the width is based on the content and then solve for 'left'." />
+
+<style type="text/css"><![CDATA[
+@font-face {
+  font-family: Ahem;
+  src: url("../../../fonts/Ahem.ttf");
+}
+]]></style>
+  <style type="text/css"><![CDATA[
+  html
+    {
+      writing-mode: vertical-rl;
+    }
+
+  div#containing-block
+    {
+      background: red url("support/bg-red-3col-3row-320x320.png");
+      color: transparent;
+      direction: ltr;
+      font: 80px/1 Ahem;
+      height: 320px;
+      position: relative;
+      width: 320px;
+    }
+
+  div#containing-block > span
+    {
+      background-color: red;
+      color: green;
+      left: auto;
+      position: absolute;
+      right: auto;
+      width: auto;
+    }
+
+/*
+"
+Layout calculation rules (such as those in CSS2.1, Section 10.3) that apply to the horizontal dimension in horizontal writing modes instead apply to the vertical dimension in vertical writing modes.
+"
+7.1 Principles of Layout in Vertical Writing Modes
+http://www.w3.org/TR/css-writing-modes-3/#vertical-layout
+
+So here, *right and *left properties are input into the §10.6.4 algorithms where *right properties refer to *top properties in the layout rules and where *left properties refer to *bottom properties in the layout rules.
+
+"
+If all three of 'top', 'height', and 'bottom' are auto, set 'top' to the static position and apply rule number three below.
+
+3. 'height' and 'bottom' are 'auto' and 'top' is not 'auto', then the height is based on the content per 10.6.7, set 'auto' values for 'margin-top' and 'margin-bottom' to 0, and solve for 'bottom'
+"
+
+'left' + 'margin-left' + 'border-left-width' + 'padding-left' + 'width' + 'padding-right' + 'border-right-width' + 'margin-right' + 'right' = width of containing block
+
+So:
+
+     80px : right: auto: set to static position
+  +
+      0px : margin-right
+  +
+      0px : border-right-width
+  +
+      0px : padding-right
+  +
+  (based on the content) : width: auto
+  +
+      0px : padding-left
+  +
+      0px : border-left-width
+  +
+      0px : margin-left
+  +
+  (solve) : left: auto
+    =====================
+    320px : width of containing block
+
+gives us:
+
+     80px : right: auto: set to static position
+  +
+      0px : margin-right
+  +
+      0px : border-right-width
+  +
+      0px : padding-right
+  +
+     80px : (based on the content) : width: auto
+  +
+      0px : padding-left
+  +
+      0px : border-left-width
+  +
+      0px : margin-left
+  +
+  (solve) : left: auto
+    =====================
+    320px : width of containing block
+
+And so computed left value must be 160px .
+*/
+
+  ]]></style>
+
+ </head>
+
+ <body>
+
+  <p><img src="support/pass-cdts-abs-pos-non-replaced.png" width="246" height="36" alt="Image download support must be enabled" /></p>
+
+  <div id="containing-block">1 2 34<span>X</span></div>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/abs-pos-non-replaced-vrl-108.xht
@@ -0,0 +1,122 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Writing Modes Test: absolutely positioned non-replaced element - 'direction: ltr' and 'left', 'width' and 'right' are 'auto'</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+  <link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#vertical-layout" title="7.1 Principles of Layout in Vertical Writing Modes" />
+  <link rel="help" href="http://www.w3.org/TR/CSS21/visudet.html#abs-non-replaced-height" title="10.6.4 Absolutely positioned, non-replaced elements" />
+  <link rel="match" href="abs-pos-non-replaced-vrl-002-ref.xht" />
+
+  <meta name="flags" content="ahem image" />
+  <meta name="assert" content="When 'direction' is 'ltr' and 'left', 'width' and 'right' are 'auto' and 'writing-mode' is 'vertical-rl', then set 'right' to the static position, the width is based on the content and then solve for 'left'." />
+
+<style type="text/css"><![CDATA[
+@font-face {
+  font-family: Ahem;
+  src: url("../../../fonts/Ahem.ttf");
+}
+]]></style>
+  <style type="text/css"><![CDATA[
+  div#containing-block
+    {
+      background: red url("support/bg-red-3col-3row-320x320.png");
+      color: transparent;
+      direction: ltr;
+      font: 80px/1 Ahem;
+      height: 320px;
+      position: relative;
+      width: 320px;
+      writing-mode: vertical-rl;
+    }
+
+  div#containing-block > span
+    {
+      background-color: red;
+      color: green;
+      left: auto;
+      position: absolute;
+      right: auto;
+      width: auto;
+      writing-mode: horizontal-tb;
+    }
+
+/*
+"
+Layout calculation rules (such as those in CSS2.1, Section 10.3) that apply to the horizontal dimension in horizontal writing modes instead apply to the vertical dimension in vertical writing modes.
+"
+7.1 Principles of Layout in Vertical Writing Modes
+http://www.w3.org/TR/css-writing-modes-3/#vertical-layout
+
+So here, *right and *left properties are input into the §10.6.4 algorithms where *right properties refer to *top properties in the layout rules and where *left properties refer to *bottom properties in the layout rules.
+
+"
+If all three of 'top', 'height', and 'bottom' are auto, set 'top' to the static position and apply rule number three below.
+
+3. 'height' and 'bottom' are 'auto' and 'top' is not 'auto', then the height is based on the content per 10.6.7, set 'auto' values for 'margin-top' and 'margin-bottom' to 0, and solve for 'bottom'
+"
+
+'left' + 'margin-left' + 'border-left-width' + 'padding-left' + 'width' + 'padding-right' + 'border-right-width' + 'margin-right' + 'right' = width of containing block
+
+So:
+
+     80px : right: auto: set to static position
+  +
+      0px : margin-right
+  +
+      0px : border-right-width
+  +
+      0px : padding-right
+  +
+  (based on the content) : width: auto
+  +
+      0px : padding-left
+  +
+      0px : border-left-width
+  +
+      0px : margin-left
+  +
+  (solve) : left: auto
+    =====================
+    320px : width of containing block
+
+gives us:
+
+     80px : right: auto: set to static position
+  +
+      0px : margin-right
+  +
+      0px : border-right-width
+  +
+      0px : padding-right
+  +
+     80px : (based on the content) : width: auto
+  +
+      0px : padding-left
+  +
+      0px : border-left-width
+  +
+      0px : margin-left
+  +
+  (solve) : left: auto
+    =====================
+    320px : width of containing block
+
+And so computed left value must be 160px .
+*/
+
+  ]]></style>
+
+ </head>
+
+ <body>
+
+  <p><img src="support/pass-cdts-abs-pos-non-replaced.png" width="246" height="36" alt="Image download support must be enabled" /></p>
+
+  <div id="containing-block">1 2 34<span>X</span></div>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/abs-pos-non-replaced-vrl-110.xht
@@ -0,0 +1,121 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Writing Modes Test: absolutely positioned non-replaced element - 'direction: rtl' and 'left', 'width' and 'right' are 'auto'</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+  <link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#vertical-layout" title="7.1 Principles of Layout in Vertical Writing Modes" />
+  <link rel="help" href="http://www.w3.org/TR/CSS21/visudet.html#abs-non-replaced-height" title="10.6.4 Absolutely positioned, non-replaced elements" />
+  <link rel="match" href="abs-pos-non-replaced-vrl-004-ref.xht" />
+
+  <meta name="flags" content="ahem image" />
+  <meta name="assert" content="When 'direction' is 'rtl' and 'left', 'width' and 'right' are 'auto' and 'writing-mode' is 'vertical-rl', then set 'right' to the static position, the width is based on the content and then solve for 'left'." />
+
+<style type="text/css"><![CDATA[
+@font-face {
+  font-family: Ahem;
+  src: url("../../../fonts/Ahem.ttf");
+}
+]]></style>
+  <style type="text/css"><![CDATA[
+  div#containing-block
+    {
+      background: red url("support/bg-red-3col-2row-320x320.png");
+      color: transparent;
+      direction: rtl;
+      font: 80px/1 Ahem;
+      height: 320px;
+      position: relative;
+      width: 320px;
+      writing-mode: vertical-rl;
+    }
+
+  div#containing-block > span
+    {
+      background-color: red;
+      color: green;
+      left: auto;
+      position: absolute;
+      right: auto;
+      width: auto;
+    }
+
+/*
+"
+Layout calculation rules (such as those in CSS2.1, Section 10.3) that apply to the horizontal dimension in horizontal writing modes instead apply to the vertical dimension in vertical writing modes.
+"
+7.1 Principles of Layout in Vertical Writing Modes
+http://www.w3.org/TR/css-writing-modes-3/#vertical-layout
+
+So here, *right and *left properties are input into the §10.6.4 algorithms where *right properties refer to *top properties in the layout rules and where *left properties refer to *bottom properties in the layout rules.
+
+"
+If all three of 'top', 'height', and 'bottom' are auto, set 'top' to the static position and apply rule number three below.
+
+3. 'height' and 'bottom' are 'auto' and 'top' is not 'auto', then the height is based on the content per 10.6.7, set 'auto' values for 'margin-top' and 'margin-bottom' to 0, and solve for 'bottom'
+"
+
+'left' + 'margin-left' + 'border-left-width' + 'padding-left' + 'width' + 'padding-right' + 'border-right-width' + 'margin-right' + 'right' = width of containing block
+
+So:
+
+     80px : right: auto: set to static position
+  +
+      0px : margin-right
+  +
+      0px : border-right-width
+  +
+      0px : padding-right
+  +
+  (based on the content) : width: auto
+  +
+      0px : padding-left
+  +
+      0px : border-left-width
+  +
+      0px : margin-left
+  +
+  (solve) : left: auto
+    =====================
+    320px : width of containing block
+
+gives us:
+
+     80px : right: auto: set to static position
+  +
+      0px : margin-right
+  +
+      0px : border-right-width
+  +
+      0px : padding-right
+  +
+     80px : (based on the content) : width: auto
+  +
+      0px : padding-left
+  +
+      0px : border-left-width
+  +
+      0px : margin-left
+  +
+  (solve) : left: auto
+    =====================
+    320px : width of containing block
+
+And so computed left value must be 160px .
+*/
+
+  ]]></style>
+
+ </head>
+
+ <body>
+
+  <p><img src="support/pass-cdts-abs-pos-non-replaced.png" width="246" height="36" alt="Image download support must be enabled" /></p>
+
+  <div id="containing-block">1 2 34<span>X</span></div>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/abs-pos-non-replaced-vrl-112.xht
@@ -0,0 +1,113 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Writing Modes Test: absolutely positioned non-replaced element - 'direction: rtl' and 'top', 'height', and 'bottom' are 'auto'</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+  <link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#vertical-layout" title="7.1 Principles of Layout in Vertical Writing Modes" />
+  <link rel="help" href="http://www.w3.org/TR/CSS21/visudet.html#abs-non-replaced-height" title="10.6.4 Absolutely positioned, non-replaced elements" />
+  <link rel="match" href="abs-pos-non-replaced-vlr-009-ref.xht" />
+
+  <meta name="flags" content="ahem image" />
+  <meta name="assert" content="When 'direction' is 'rtl' and 'top', 'height' and 'bottom' are 'auto', then set 'top' to the static position, the height is based on content and then solve for 'bottom'." />
+
+<style type="text/css"><![CDATA[
+@font-face {
+  font-family: Ahem;
+  src: url("../../../fonts/Ahem.ttf");
+}
+]]></style>
+  <style type="text/css"><![CDATA[
+  div#containing-block
+    {
+      background: red url("support/bg-red-2col-2row-320x320.png");
+      color: transparent;
+      direction: rtl;
+      font: 80px/1 Ahem;
+      height: 320px;
+      position: relative;
+      width: 320px;
+    }
+
+  div#containing-block > span
+    {
+      background-color: red;
+      bottom: auto;
+      color: green;
+      height: auto;
+      position: absolute;
+      top: auto;
+      writing-mode: vertical-rl;
+    }
+
+/*
+"
+If all three of 'top', 'height', and 'bottom' are auto, set 'top' to the static position and apply rule number three below.
+
+3. 'height' and 'bottom' are 'auto' and 'top' is not 'auto', then the height is based on the content per 10.6.7, set 'auto' values for 'margin-top' and 'margin-bottom' to 0, and solve for 'bottom'
+"
+
+'top' + 'margin-top' + 'border-top-width' + 'padding-top' + 'height' + 'padding-bottom' + 'border-bottom-width' + 'margin-bottom' + 'bottom' = height of containing block
+
+So:
+
+     80px : top: auto: set to static position
+  +
+      0px : margin-top
+  +
+      0px : border-top-width
+  +
+      0px : padding-top
+  +
+  (shrink-to-fit) : height: auto
+  +
+      0px : padding-bottom
+  +
+      0px : border-bottom-width
+  +
+      0px : margin-bottom
+  +
+  (solve) : bottom: auto
+    =====================
+    320px : height of containing block
+
+gives us:
+
+     80px : top: auto: set to static position
+  +
+      0px : margin-top
+  +
+      0px : border-top-width
+  +
+      0px : padding-top
+  +
+     80px : (shrink-to-fit) : height: auto
+  +
+      0px : padding-bottom
+  +
+      0px : border-bottom-width
+  +
+      0px : margin-bottom
+  +
+  (solve) : bottom: auto
+    =====================
+    320px : height of containing block
+
+And so computed bottom value must be 160px .
+*/
+
+  ]]></style>
+
+ </head>
+
+ <body>
+
+  <p><img src="support/pass-cdts-abs-pos-non-replaced.png" width="246" height="36" alt="Image download support must be enabled" /></p>
+
+  <div id="containing-block">1 2 34<span>X</span></div>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/abs-pos-non-replaced-vrl-114.xht
@@ -0,0 +1,125 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Writing Modes Test: absolutely positioned non-replaced element - 'direction: rtl' and 'left', 'width' and 'right' are 'auto'</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+  <link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#vertical-layout" title="7.1 Principles of Layout in Vertical Writing Modes" />
+  <link rel="help" href="http://www.w3.org/TR/CSS21/visudet.html#abs-non-replaced-height" title="10.6.4 Absolutely positioned, non-replaced elements" />
+  <link rel="match" href="abs-pos-non-replaced-vrl-012-ref.xht" />
+
+  <meta name="flags" content="ahem image" />
+  <meta name="assert" content="When 'direction' is 'rtl' and 'left', 'width' and 'right' are 'auto' and 'writing-mode' is 'vertical-rl', then set 'right' to the static position, the width is based on the content and then solve for 'left'." />
+
+<style type="text/css"><![CDATA[
+@font-face {
+  font-family: Ahem;
+  src: url("../../../fonts/Ahem.ttf");
+}
+]]></style>
+  <style type="text/css"><![CDATA[
+  html
+    {
+      writing-mode: vertical-rl;
+    }
+
+  div#containing-block
+    {
+      background: red url("support/bg-red-3col-2row-320x320.png");
+      color: transparent;
+      direction: rtl;
+      font: 80px/1 Ahem;
+      height: 320px;
+      position: relative;
+      width: 320px;
+    }
+
+  div#containing-block > span
+    {
+      background-color: red;
+      color: green;
+      left: auto;
+      position: absolute;
+      right: auto;
+      width: auto;
+    }
+
+/*
+"
+Layout calculation rules (such as those in CSS2.1, Section 10.3) that apply to the horizontal dimension in horizontal writing modes instead apply to the vertical dimension in vertical writing modes.
+"
+7.1 Principles of Layout in Vertical Writing Modes
+http://www.w3.org/TR/css-writing-modes-3/#vertical-layout
+
+So here, *right and *left properties are input into the §10.6.4 algorithms where *right properties refer to *top properties in the layout rules and where *left properties refer to *bottom properties in the layout rules.
+
+"
+If all three of 'top', 'height', and 'bottom' are auto, set 'top' to the static position and apply rule number three below.
+
+3. 'height' and 'bottom' are 'auto' and 'top' is not 'auto', then the height is based on the content per 10.6.7, set 'auto' values for 'margin-top' and 'margin-bottom' to 0, and solve for 'bottom'
+"
+
+'left' + 'margin-left' + 'border-left-width' + 'padding-left' + 'width' + 'padding-right' + 'border-right-width' + 'margin-right' + 'right' = width of containing block
+
+So:
+
+     80px : right: auto: set to static position
+  +
+      0px : margin-right
+  +
+      0px : border-right-width
+  +
+      0px : padding-right
+  +
+  (based on the content) : width: auto
+  +
+      0px : padding-left
+  +
+      0px : border-left-width
+  +
+      0px : margin-left
+  +
+  (solve) : left: auto
+    =====================
+    320px : width of containing block
+
+gives us:
+
+     80px : right: auto: set to static position
+  +
+      0px : margin-right
+  +
+      0px : border-right-width
+  +
+      0px : padding-right
+  +
+     80px : (based on the content) : width: auto
+  +
+      0px : padding-left
+  +
+      0px : border-left-width
+  +
+      0px : margin-left
+  +
+  (solve) : left: auto
+    =====================
+    320px : width of containing block
+
+And so computed left value must be 160px .
+*/
+
+  ]]></style>
+
+ </head>
+
+ <body>
+
+  <p><img src="support/pass-cdts-abs-pos-non-replaced.png" width="246" height="36" alt="Image download support must be enabled" /></p>
+
+  <div id="containing-block">1 2 34<span>X</span></div>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/abs-pos-non-replaced-vrl-116.xht
@@ -0,0 +1,122 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Writing Modes Test: absolutely positioned non-replaced element - 'direction: rtl' and 'left', 'width' and 'right' are 'auto'</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+  <link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#vertical-layout" title="7.1 Principles of Layout in Vertical Writing Modes" />
+  <link rel="help" href="http://www.w3.org/TR/CSS21/visudet.html#abs-non-replaced-height" title="10.6.4 Absolutely positioned, non-replaced elements" />
+  <link rel="match" href="abs-pos-non-replaced-vrl-004-ref.xht" />
+
+  <meta name="flags" content="ahem image" />
+  <meta name="assert" content="When 'direction' is 'rtl' and 'left', 'width' and 'right' are 'auto' and 'writing-mode' is 'vertical-rl', then set 'right' to the static position, the width is based on the content and then solve for 'left'." />
+
+<style type="text/css"><![CDATA[
+@font-face {
+  font-family: Ahem;
+  src: url("../../../fonts/Ahem.ttf");
+}
+]]></style>
+  <style type="text/css"><![CDATA[
+  div#containing-block
+    {
+      background: red url("support/bg-red-3col-2row-320x320.png");
+      color: transparent;
+      direction: rtl;
+      font: 80px/1 Ahem;
+      height: 320px;
+      position: relative;
+      width: 320px;
+      writing-mode: vertical-rl;
+    }
+
+  div#containing-block > span
+    {
+      background-color: red;
+      color: green;
+      left: auto;
+      position: absolute;
+      right: auto;
+      width: auto;
+      writing-mode: horizontal-tb;
+    }
+
+/*
+"
+Layout calculation rules (such as those in CSS2.1, Section 10.3) that apply to the horizontal dimension in horizontal writing modes instead apply to the vertical dimension in vertical writing modes.
+"
+7.1 Principles of Layout in Vertical Writing Modes
+http://www.w3.org/TR/css-writing-modes-3/#vertical-layout
+
+So here, *right and *left properties are input into the §10.6.4 algorithms where *right properties refer to *top properties in the layout rules and where *left properties refer to *bottom properties in the layout rules.
+
+"
+If all three of 'top', 'height', and 'bottom' are auto, set 'top' to the static position and apply rule number three below.
+
+3. 'height' and 'bottom' are 'auto' and 'top' is not 'auto', then the height is based on the content per 10.6.7, set 'auto' values for 'margin-top' and 'margin-bottom' to 0, and solve for 'bottom'
+"
+
+'left' + 'margin-left' + 'border-left-width' + 'padding-left' + 'width' + 'padding-right' + 'border-right-width' + 'margin-right' + 'right' = width of containing block
+
+So:
+
+     80px : right: auto: set to static position
+  +
+      0px : margin-right
+  +
+      0px : border-right-width
+  +
+      0px : padding-right
+  +
+  (based on the content) : width: auto
+  +
+      0px : padding-left
+  +
+      0px : border-left-width
+  +
+      0px : margin-left
+  +
+  (solve) : left: auto
+    =====================
+    320px : width of containing block
+
+gives us:
+
+     80px : right: auto: set to static position
+  +
+      0px : margin-right
+  +
+      0px : border-right-width
+  +
+      0px : padding-right
+  +
+     80px : (based on the content) : width: auto
+  +
+      0px : padding-left
+  +
+      0px : border-left-width
+  +
+      0px : margin-left
+  +
+  (solve) : left: auto
+    =====================
+    320px : width of containing block
+
+And so computed left value must be 160px .
+*/
+
+  ]]></style>
+
+ </head>
+
+ <body>
+
+  <p><img src="support/pass-cdts-abs-pos-non-replaced.png" width="246" height="36" alt="Image download support must be enabled" /></p>
+
+  <div id="containing-block">1 2 34<span>X</span></div>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/abs-pos-non-replaced-vrl-118.xht
@@ -0,0 +1,119 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Writing Modes Test: absolutely positioned non-replaced element - 'direction: ltr' and 'width' and 'right' are 'auto' and 'left' is not 'auto'</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+  <link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#vertical-layout" title="7.1 Principles of Layout in Vertical Writing Modes" />
+  <link rel="help" href="http://www.w3.org/TR/CSS21/visudet.html#abs-non-replaced-height" title="10.6.4 Absolutely positioned, non-replaced elements" />
+  <link rel="match" href="abs-pos-non-replaced-vlr-003-ref.xht" />
+
+  <meta name="flags" content="ahem image" />
+  <meta name="assert" content="When 'direction' is 'ltr' and 'width' and 'right' are 'auto' and 'left' is not 'auto' and 'writing-mode' is 'vertical-rl', then the width is based on the content and then solve for 'right'." />
+
+<style type="text/css"><![CDATA[
+@font-face {
+  font-family: Ahem;
+  src: url("../../../fonts/Ahem.ttf");
+}
+]]></style>
+  <style type="text/css"><![CDATA[
+  div#containing-block
+    {
+      background: red url("support/bg-red-2col-3row-320x320.png");
+      color: transparent;
+      direction: ltr;
+      font: 80px/1 Ahem;
+      height: 320px;
+      position: relative;
+      width: 320px;
+      writing-mode: vertical-rl;
+    }
+
+  div#containing-block > span
+    {
+      background-color: red;
+      color: green;
+      left: 1em;
+      position: absolute;
+      right: auto;
+      width: auto;
+    }
+
+/*
+"
+Layout calculation rules (such as those in CSS2.1, Section 10.3) that apply to the horizontal dimension in horizontal writing modes instead apply to the vertical dimension in vertical writing modes.
+"
+7.1 Principles of Layout in Vertical Writing Modes
+http://www.w3.org/TR/css-writing-modes-3/#vertical-layout
+
+So here, *right and *left properties are input into the §10.6.4 algorithms where *right properties refer to *top properties in the layout rules and where *left properties refer to *bottom properties in the layout rules.
+
+"
+1. 'top' and 'height' are 'auto' and 'bottom' is not 'auto', then the height is based on the content per 10.6.7, set 'auto' values for 'margin-top' and 'margin-bottom' to 0, and solve for 'top'
+"
+
+'left' + 'margin-left' + 'border-left-width' + 'padding-left' + 'width' + 'padding-right' + 'border-right-width' + 'margin-right' + 'right' = width of containing block
+
+So:
+
+  (solve) : right: auto
+  +
+      0px : margin-right
+  +
+      0px : border-right-width
+  +
+      0px : padding-right
+  +
+  (based on the content) : width: auto
+  +
+      0px : padding-left
+  +
+      0px : border-left-width
+  +
+      0px : margin-left
+  +
+     80px : left
+    =====================
+    320px : width of containing block
+
+gives us:
+
+  (solve) : right: auto
+  +
+      0px : margin-right
+  +
+      0px : border-right-width
+  +
+      0px : padding-right
+  +
+     80px : (based on the content) : width: auto
+  +
+      0px : padding-left
+  +
+      0px : border-left-width
+  +
+      0px : margin-left
+  +
+     80px : left
+    =====================
+    320px : width of containing block
+
+And so computed right value must be 160px .
+*/
+
+  ]]></style>
+
+ </head>
+
+ <body>
+
+  <p><img src="support/pass-cdts-abs-pos-non-replaced.png" width="246" height="36" alt="Image download support must be enabled" /></p>
+
+  <div id="containing-block">1 2 34<span>X</span></div>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/abs-pos-non-replaced-vrl-120.xht
@@ -0,0 +1,111 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Writing Modes Test: absolutely positioned non-replaced element - 'direction: ltr' and 'top' and 'height' are 'auto' and 'bottom' is not 'auto'</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+  <link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#vertical-layout" title="7.1 Principles of Layout in Vertical Writing Modes" />
+  <link rel="help" href="http://www.w3.org/TR/CSS21/visudet.html#abs-non-replaced-height" title="10.6.4 Absolutely positioned, non-replaced elements" />
+  <link rel="match" href="abs-pos-non-replaced-vrl-002-ref.xht" />
+
+  <meta name="flags" content="ahem image" />
+  <meta name="assert" content="When 'direction' is 'ltr' and 'top' and 'height' are 'auto' and 'bottom' is not 'auto', then the height is based on content and then solve for 'top'." />
+
+<style type="text/css"><![CDATA[
+@font-face {
+  font-family: Ahem;
+  src: url("../../../fonts/Ahem.ttf");
+}
+]]></style>
+  <style type="text/css"><![CDATA[
+  div#containing-block
+    {
+      background: red url("support/bg-red-3col-3row-320x320.png");
+      color: transparent;
+      direction: ltr;
+      font: 80px/1 Ahem;
+      height: 320px;
+      position: relative;
+      width: 320px;
+    }
+
+  div#containing-block > span
+    {
+      background-color: red;
+      bottom: 1em;
+      color: green;
+      height: auto;
+      position: absolute;
+      top: auto;
+      writing-mode: vertical-rl;
+    }
+
+/*
+"
+1. 'top' and 'height' are 'auto' and 'bottom' is not 'auto', then the height is based on the content per 10.6.7, set 'auto' values for 'margin-top' and 'margin-bottom' to 0, and solve for 'top'
+"
+
+'top' + 'margin-top' + 'border-top-width' + 'padding-top' + 'height' + 'padding-bottom' + 'border-bottom-width' + 'margin-bottom' + 'bottom' = height of containing block
+
+So:
+
+  (solve) : top: auto
+  +
+      0px : margin-top
+  +
+      0px : border-top-width
+  +
+      0px : padding-top
+  +
+  (based on content) : height: auto
+  +
+      0px : padding-bottom
+  +
+      0px : border-bottom-width
+  +
+      0px : margin-bottom
+  +
+     80px : bottom: auto
+    =====================
+    320px : height of containing block
+
+gives us:
+
+  (solve) : top: auto
+  +
+      0px : margin-top
+  +
+      0px : border-top-width
+  +
+      0px : padding-top
+  +
+     80px : (based on content) : height: auto
+  +
+      0px : padding-bottom
+  +
+      0px : border-bottom-width
+  +
+      0px : margin-bottom
+  +
+     80px : bottom: auto
+    =====================
+    320px : height of containing block
+
+And so computed top value must be 160px .
+*/
+
+  ]]></style>
+
+ </head>
+
+ <body>
+
+  <p><img src="support/pass-cdts-abs-pos-non-replaced.png" width="246" height="36" alt="Image download support must be enabled" /></p>
+
+  <div id="containing-block">1 2 34<span>X</span></div>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/abs-pos-non-replaced-vrl-122-ref.xht
@@ -0,0 +1,43 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Reftest Reference</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+
+  <meta content="image" name="flags" />
+
+  <style type="text/css"><![CDATA[
+  body
+    {
+      direction: rtl;
+    }
+
+  div
+    {
+      margin-right: 0.5em;
+    }
+
+  img
+    {
+      vertical-align: top;
+    }
+
+  img#green-square
+    {
+      position: relative;
+      right: 176px;
+      top: 160px;
+    }
+  ]]></style>
+ </head>
+
+ <body>
+
+  <div><img src="support/pass-cdts-abs-pos-non-replaced.png" width="246" height="36" alt="Image download support must be enabled" /><img id="green-square" src="support/swatch-green.png" width="80" height="80" alt="Image download support must be enabled" /></div>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/abs-pos-non-replaced-vrl-122.xht
@@ -0,0 +1,123 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Writing Modes Test: absolutely positioned non-replaced element - 'direction: ltr' and 'width' and 'right' are 'auto' and 'left' is not 'auto'</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+  <link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#vertical-layout" title="7.1 Principles of Layout in Vertical Writing Modes" />
+  <link rel="help" href="http://www.w3.org/TR/CSS21/visudet.html#abs-non-replaced-height" title="10.6.4 Absolutely positioned, non-replaced elements" />
+  <link rel="match" href="abs-pos-non-replaced-vrl-122-ref.xht" />
+
+  <meta name="flags" content="ahem image" />
+  <meta name="assert" content="When 'direction' is 'ltr' and 'width' and 'right' are 'auto' and 'left' is not 'auto' and 'writing-mode' is 'vertical-rl', then the width is based on the content and then solve for 'right'." />
+
+<style type="text/css"><![CDATA[
+@font-face {
+  font-family: Ahem;
+  src: url("../../../fonts/Ahem.ttf");
+}
+]]></style>
+  <style type="text/css"><![CDATA[
+  html
+    {
+      writing-mode: vertical-rl;
+    }
+
+  div#containing-block
+    {
+      background: red url("support/bg-red-2col-3row-320x320.png");
+      color: transparent;
+      direction: ltr;
+      font: 80px/1 Ahem;
+      height: 320px;
+      position: relative;
+      width: 320px;
+    }
+
+  div#containing-block > span
+    {
+      background-color: red;
+      color: green;
+      left: 1em;
+      position: absolute;
+      right: auto;
+      width: auto;
+    }
+
+/*
+"
+Layout calculation rules (such as those in CSS2.1, Section 10.3) that apply to the horizontal dimension in horizontal writing modes instead apply to the vertical dimension in vertical writing modes.
+"
+7.1 Principles of Layout in Vertical Writing Modes
+http://www.w3.org/TR/css-writing-modes-3/#vertical-layout
+
+So here, *right and *left properties are input into the §10.6.4 algorithms where *right properties refer to *top properties in the layout rules and where *left properties refer to *bottom properties in the layout rules.
+
+"
+1. 'top' and 'height' are 'auto' and 'bottom' is not 'auto', then the height is based on the content per 10.6.7, set 'auto' values for 'margin-top' and 'margin-bottom' to 0, and solve for 'top'
+"
+
+'left' + 'margin-left' + 'border-left-width' + 'padding-left' + 'width' + 'padding-right' + 'border-right-width' + 'margin-right' + 'right' = width of containing block
+
+So:
+
+  (solve) : right: auto
+  +
+      0px : margin-right
+  +
+      0px : border-right-width
+  +
+      0px : padding-right
+  +
+  (based on the content) : width: auto
+  +
+      0px : padding-left
+  +
+      0px : border-left-width
+  +
+      0px : margin-left
+  +
+     80px : left: auto
+    =====================
+    320px : width of containing block
+
+gives us:
+
+  (solve) : right: auto
+  +
+      0px : margin-right
+  +
+      0px : border-right-width
+  +
+      0px : padding-right
+  +
+     80px : (based on the content) : width: auto
+  +
+      0px : padding-left
+  +
+      0px : border-left-width
+  +
+      0px : margin-left
+  +
+     80px : left: auto
+    =====================
+    320px : width of containing block
+
+And so computed right value must be 160px .
+*/
+
+  ]]></style>
+
+ </head>
+
+ <body>
+
+  <p><img src="support/pass-cdts-abs-pos-non-replaced.png" width="246" height="36" alt="Image download support must be enabled" /></p>
+
+  <div id="containing-block">1 2 34<span>X</span></div>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/abs-pos-non-replaced-vrl-124.xht
@@ -0,0 +1,120 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Writing Modes Test: absolutely positioned non-replaced element - 'direction: ltr' and 'width' and 'right' are 'auto' and 'left' is not 'auto'</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+  <link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#vertical-layout" title="7.1 Principles of Layout in Vertical Writing Modes" />
+  <link rel="help" href="http://www.w3.org/TR/CSS21/visudet.html#abs-non-replaced-height" title="10.6.4 Absolutely positioned, non-replaced elements" />
+  <link rel="match" href="abs-pos-non-replaced-vlr-003-ref.xht" />
+
+  <meta name="flags" content="ahem image" />
+  <meta name="assert" content="When 'direction' is 'ltr' and 'width' and 'right' are 'auto' and 'left' is not 'auto' and 'writing-mode' is 'vertical-rl', then the width is based on the content and then solve for 'right'." />
+
+<style type="text/css"><![CDATA[
+@font-face {
+  font-family: Ahem;
+  src: url("../../../fonts/Ahem.ttf");
+}
+]]></style>
+  <style type="text/css"><![CDATA[
+  div#containing-block
+    {
+      background: red url("support/bg-red-2col-3row-320x320.png");
+      color: transparent;
+      direction: ltr;
+      font: 80px/1 Ahem;
+      height: 320px;
+      position: relative;
+      width: 320px;
+      writing-mode: vertical-rl;
+    }
+
+  div#containing-block > span
+    {
+      background-color: red;
+      color: green;
+      left: 1em;
+      position: absolute;
+      right: auto;
+      width: auto;
+      writing-mode: horizontal-tb;
+    }
+
+/*
+"
+Layout calculation rules (such as those in CSS2.1, Section 10.3) that apply to the horizontal dimension in horizontal writing modes instead apply to the vertical dimension in vertical writing modes.
+"
+7.1 Principles of Layout in Vertical Writing Modes
+http://www.w3.org/TR/css-writing-modes-3/#vertical-layout
+
+So here, *right and *left properties are input into the §10.6.4 algorithms where *right properties refer to *top properties in the layout rules and where *left properties refer to *bottom properties in the layout rules.
+
+"
+1. 'top' and 'height' are 'auto' and 'bottom' is not 'auto', then the height is based on the content per 10.6.7, set 'auto' values for 'margin-top' and 'margin-bottom' to 0, and solve for 'top'
+"
+
+'left' + 'margin-left' + 'border-left-width' + 'padding-left' + 'width' + 'padding-right' + 'border-right-width' + 'margin-right' + 'right' = width of containing block
+
+So:
+
+  (solve) : right: auto
+  +
+      0px : margin-right
+  +
+      0px : border-right-width
+  +
+      0px : padding-right
+  +
+  (based on the content) : width: auto
+  +
+      0px : padding-left
+  +
+      0px : border-left-width
+  +
+      0px : margin-left
+  +
+     80px : left
+    =====================
+    320px : width of containing block
+
+gives us:
+
+  (solve) : right: auto
+  +
+      0px : margin-right
+  +
+      0px : border-right-width
+  +
+      0px : padding-right
+  +
+     80px : (based on the content) : width: auto
+  +
+      0px : padding-left
+  +
+      0px : border-left-width
+  +
+      0px : margin-left
+  +
+     80px : left
+    =====================
+    320px : width of containing block
+
+And so computed right value must be 160px .
+*/
+
+  ]]></style>
+
+ </head>
+
+ <body>
+
+  <p><img src="support/pass-cdts-abs-pos-non-replaced.png" width="246" height="36" alt="Image download support must be enabled" /></p>
+
+  <div id="containing-block">1 2 34<span>X</span></div>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/abs-pos-non-replaced-vrl-126.xht
@@ -0,0 +1,119 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Writing Modes Test: absolutely positioned non-replaced element - 'direction: rtl' and 'width' and 'right' are 'auto' and 'left' is not 'auto'</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+  <link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#vertical-layout" title="7.1 Principles of Layout in Vertical Writing Modes" />
+  <link rel="help" href="http://www.w3.org/TR/CSS21/visudet.html#abs-non-replaced-height" title="10.6.4 Absolutely positioned, non-replaced elements" />
+  <link rel="match" href="abs-pos-non-replaced-vlr-009-ref.xht" />
+
+  <meta name="flags" content="ahem image" />
+  <meta name="assert" content="When 'direction' is 'rtl' and 'width' and 'right' are 'auto' and 'left' is not 'auto' and 'writing-mode' is 'vertical-rl', then the width is based on the content and then solve for 'right'." />
+
+<style type="text/css"><![CDATA[
+@font-face {
+  font-family: Ahem;
+  src: url("../../../fonts/Ahem.ttf");
+}
+]]></style>
+  <style type="text/css"><![CDATA[
+  div#containing-block
+    {
+      background: red url("support/bg-red-2col-2row-320x320.png");
+      color: transparent;
+      direction: rtl;
+      font: 80px/1 Ahem;
+      height: 320px;
+      position: relative;
+      width: 320px;
+      writing-mode: vertical-rl;
+    }
+
+  div#containing-block > span
+    {
+      background-color: red;
+      color: green;
+      left: 1em;
+      position: absolute;
+      right: auto;
+      width: auto;
+    }
+
+/*
+"
+Layout calculation rules (such as those in CSS2.1, Section 10.3) that apply to the horizontal dimension in horizontal writing modes instead apply to the vertical dimension in vertical writing modes.
+"
+7.1 Principles of Layout in Vertical Writing Modes
+http://www.w3.org/TR/css-writing-modes-3/#vertical-layout
+
+So here, *right and *left properties are input into the §10.6.4 algorithms where *right properties refer to *top properties in the layout rules and where *left properties refer to *bottom properties in the layout rules.
+
+"
+1. 'top' and 'height' are 'auto' and 'bottom' is not 'auto', then the height is based on the content per 10.6.7, set 'auto' values for 'margin-top' and 'margin-bottom' to 0, and solve for 'top'
+"
+
+'left' + 'margin-left' + 'border-left-width' + 'padding-left' + 'width' + 'padding-right' + 'border-right-width' + 'margin-right' + 'right' = width of containing block
+
+So:
+
+  (solve) : right: auto
+  +
+      0px : margin-right
+  +
+      0px : border-right-width
+  +
+      0px : padding-right
+  +
+  (based on the content) : width: auto
+  +
+      0px : padding-left
+  +
+      0px : border-left-width
+  +
+      0px : margin-left
+  +
+     80px : left
+    =====================
+    320px : width of containing block
+
+gives us:
+
+  (solve) : right: auto
+  +
+      0px : margin-right
+  +
+      0px : border-right-width
+  +
+      0px : padding-right
+  +
+     80px : (based on the content) : width: auto
+  +
+      0px : padding-left
+  +
+      0px : border-left-width
+  +
+      0px : margin-left
+  +
+     80px : left
+    =====================
+    320px : width of containing block
+
+And so computed right value must be 160px .
+*/
+
+  ]]></style>
+
+ </head>
+
+ <body>
+
+  <p><img src="support/pass-cdts-abs-pos-non-replaced.png" width="246" height="36" alt="Image download support must be enabled" /></p>
+
+  <div id="containing-block">1 2 34<span>X</span></div>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/abs-pos-non-replaced-vrl-128.xht
@@ -0,0 +1,111 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Writing Modes Test: absolutely positioned non-replaced element - 'direction: rtl' and 'top' and 'height' are 'auto' and 'bottom' is not 'auto'</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+  <link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#vertical-layout" title="7.1 Principles of Layout in Vertical Writing Modes" />
+  <link rel="help" href="http://www.w3.org/TR/CSS21/visudet.html#abs-non-replaced-height" title="10.6.4 Absolutely positioned, non-replaced elements" />
+  <link rel="match" href="abs-pos-non-replaced-vlr-003-ref.xht" />
+
+  <meta name="flags" content="ahem image" />
+  <meta name="assert" content="When 'direction' is 'rtl' and 'top' and 'height' are 'auto' and 'bottom' is not 'auto', then the height is based on content and then solve for 'top'." />
+
+<style type="text/css"><![CDATA[
+@font-face {
+  font-family: Ahem;
+  src: url("../../../fonts/Ahem.ttf");
+}
+]]></style>
+  <style type="text/css"><![CDATA[
+  div#containing-block
+    {
+      background: red url("support/bg-red-2col-3row-320x320.png");
+      color: transparent;
+      direction: rtl;
+      font: 80px/1 Ahem;
+      height: 320px;
+      position: relative;
+      width: 320px;
+    }
+
+  div#containing-block > span
+    {
+      background-color: red;
+      bottom: 1em;
+      color: green;
+      height: auto;
+      position: absolute;
+      top: auto;
+      writing-mode: vertical-rl;
+    }
+
+/*
+"
+1. 'top' and 'height' are 'auto' and 'bottom' is not 'auto', then the height is based on the content per 10.6.7, set 'auto' values for 'margin-top' and 'margin-bottom' to 0, and solve for 'top'
+"
+
+'top' + 'margin-top' + 'border-top-width' + 'padding-top' + 'height' + 'padding-bottom' + 'border-bottom-width' + 'margin-bottom' + 'bottom' = height of containing block
+
+So:
+
+  (solve) : top: auto
+  +
+      0px : margin-top
+  +
+      0px : border-top-width
+  +
+      0px : padding-top
+  +
+  (based on content) : height: auto
+  +
+      0px : padding-bottom
+  +
+      0px : border-bottom-width
+  +
+      0px : margin-bottom
+  +
+     80px : bottom
+    =====================
+    320px : height of containing block
+
+gives us:
+
+  (solve) : top: auto
+  +
+      0px : margin-top
+  +
+      0px : border-top-width
+  +
+      0px : padding-top
+  +
+     80px : (based on content) : height: auto
+  +
+      0px : padding-bottom
+  +
+      0px : border-bottom-width
+  +
+      0px : margin-bottom
+  +
+     80px : bottom
+    =====================
+    320px : height of containing block
+
+And so computed top value must be 160px .
+*/
+
+  ]]></style>
+
+ </head>
+
+ <body>
+
+  <p><img src="support/pass-cdts-abs-pos-non-replaced.png" width="246" height="36" alt="Image download support must be enabled" /></p>
+
+  <div id="containing-block">1 2 34<span>X</span></div>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/abs-pos-non-replaced-vrl-130-ref.xht
@@ -0,0 +1,43 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Reftest Reference</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+
+  <meta content="image" name="flags" />
+
+  <style type="text/css"><![CDATA[
+  body
+    {
+      direction: rtl;
+    }
+
+  div
+    {
+      margin-right: 0.5em;
+    }
+
+  img
+    {
+      vertical-align: top;
+    }
+
+  img#green-square
+    {
+      position: relative;
+      right: 176px;
+      top: 80px;
+    }
+  ]]></style>
+ </head>
+
+ <body>
+
+  <div><img src="support/pass-cdts-abs-pos-non-replaced.png" width="246" height="36" alt="Image download support must be enabled" /><img id="green-square" src="support/swatch-green.png" width="80" height="80" alt="Image download support must be enabled" /></div>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/abs-pos-non-replaced-vrl-130.xht
@@ -0,0 +1,123 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Writing Modes Test: absolutely positioned non-replaced element - 'direction: rtl' and 'width' and 'right' are 'auto' and 'left' is not 'auto'</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+  <link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#vertical-layout" title="7.1 Principles of Layout in Vertical Writing Modes" />
+  <link rel="help" href="http://www.w3.org/TR/CSS21/visudet.html#abs-non-replaced-height" title="10.6.4 Absolutely positioned, non-replaced elements" />
+  <link rel="match" href="abs-pos-non-replaced-vrl-130-ref.xht" />
+
+  <meta name="flags" content="ahem image" />
+  <meta name="assert" content="When 'direction' is 'rtl' and 'width' and 'right' are 'auto' and 'left' is not 'auto' and 'writing-mode' is 'vertical-rl', then the width is based on the content and then solve for 'right'." />
+
+<style type="text/css"><![CDATA[
+@font-face {
+  font-family: Ahem;
+  src: url("../../../fonts/Ahem.ttf");
+}
+]]></style>
+  <style type="text/css"><![CDATA[
+  html
+    {
+      writing-mode: vertical-rl;
+    }
+
+  div#containing-block
+    {
+      background: red url("support/bg-red-2col-2row-320x320.png");
+      color: transparent;
+      direction: rtl;
+      font: 80px/1 Ahem;
+      height: 320px;
+      position: relative;
+      width: 320px;
+    }
+
+  div#containing-block > span
+    {
+      background-color: red;
+      color: green;
+      left: 1em;
+      position: absolute;
+      right: auto;
+      width: auto;
+    }
+
+/*
+"
+Layout calculation rules (such as those in CSS2.1, Section 10.3) that apply to the horizontal dimension in horizontal writing modes instead apply to the vertical dimension in vertical writing modes.
+"
+7.1 Principles of Layout in Vertical Writing Modes
+http://www.w3.org/TR/css-writing-modes-3/#vertical-layout
+
+So here, *right and *left properties are input into the §10.6.4 algorithms where *right properties refer to *top properties in the layout rules and where *left properties refer to *bottom properties in the layout rules.
+
+"
+1. 'top' and 'height' are 'auto' and 'bottom' is not 'auto', then the height is based on the content per 10.6.7, set 'auto' values for 'margin-top' and 'margin-bottom' to 0, and solve for 'top'
+"
+
+'left' + 'margin-left' + 'border-left-width' + 'padding-left' + 'width' + 'padding-right' + 'border-right-width' + 'margin-right' + 'right' = width of containing block
+
+So:
+
+  (solve) : right: auto
+  +
+      0px : margin-right
+  +
+      0px : border-right-width
+  +
+      0px : padding-right
+  +
+  (based on the content) : width: auto
+  +
+      0px : padding-left
+  +
+      0px : border-left-width
+  +
+      0px : margin-left
+  +
+     80px : left
+    =====================
+    320px : width of containing block
+
+gives us:
+
+  (solve) : right: auto
+  +
+      0px : margin-right
+  +
+      0px : border-right-width
+  +
+      0px : padding-right
+  +
+     80px : (based on the content) : width: auto
+  +
+      0px : padding-left
+  +
+      0px : border-left-width
+  +
+      0px : margin-left
+  +
+     80px : left
+    =====================
+    320px : width of containing block
+
+And so computed right value must be 160px .
+*/
+
+  ]]></style>
+
+ </head>
+
+ <body>
+
+  <p><img src="support/pass-cdts-abs-pos-non-replaced.png" width="246" height="36" alt="Image download support must be enabled" /></p>
+
+  <div id="containing-block">1 2 34<span>X</span></div>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/abs-pos-non-replaced-vrl-132.xht
@@ -0,0 +1,120 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Writing Modes Test: absolutely positioned non-replaced element - 'direction: rtl' and 'width' and 'right' are 'auto' and 'left' is not 'auto'</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+  <link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#vertical-layout" title="7.1 Principles of Layout in Vertical Writing Modes" />
+  <link rel="help" href="http://www.w3.org/TR/CSS21/visudet.html#abs-non-replaced-height" title="10.6.4 Absolutely positioned, non-replaced elements" />
+  <link rel="match" href="abs-pos-non-replaced-vlr-009-ref.xht" />
+
+  <meta name="flags" content="ahem image" />
+  <meta name="assert" content="When 'direction' is 'rtl' and 'width' and 'right' are 'auto' and 'left' is not 'auto' and 'writing-mode' is 'vertical-rl', then the width is based on the content and then solve for 'right'." />
+
+<style type="text/css"><![CDATA[
+@font-face {
+  font-family: Ahem;
+  src: url("../../../fonts/Ahem.ttf");
+}
+]]></style>
+  <style type="text/css"><![CDATA[
+  div#containing-block
+    {
+      background: red url("support/bg-red-2col-2row-320x320.png");
+      color: transparent;
+      direction: rtl;
+      font: 80px/1 Ahem;
+      height: 320px;
+      position: relative;
+      width: 320px;
+      writing-mode: vertical-rl;
+    }
+
+  div#containing-block > span
+    {
+      background-color: red;
+      color: green;
+      left: 1em;
+      position: absolute;
+      right: auto;
+      width: auto;
+      writing-mode: horizontal-tb;
+    }
+
+/*
+"
+Layout calculation rules (such as those in CSS2.1, Section 10.3) that apply to the horizontal dimension in horizontal writing modes instead apply to the vertical dimension in vertical writing modes.
+"
+7.1 Principles of Layout in Vertical Writing Modes
+http://www.w3.org/TR/css-writing-modes-3/#vertical-layout
+
+So here, *right and *left properties are input into the §10.6.4 algorithms where *right properties refer to *top properties in the layout rules and where *left properties refer to *bottom properties in the layout rules.
+
+"
+1. 'top' and 'height' are 'auto' and 'bottom' is not 'auto', then the height is based on the content per 10.6.7, set 'auto' values for 'margin-top' and 'margin-bottom' to 0, and solve for 'top'
+"
+
+'left' + 'margin-left' + 'border-left-width' + 'padding-left' + 'width' + 'padding-right' + 'border-right-width' + 'margin-right' + 'right' = width of containing block
+
+So:
+
+  (solve) : right: auto
+  +
+      0px : margin-right
+  +
+      0px : border-right-width
+  +
+      0px : padding-right
+  +
+  (based on the content) : width: auto
+  +
+      0px : padding-left
+  +
+      0px : border-left-width
+  +
+      0px : margin-left
+  +
+     80px : left
+    =====================
+    320px : width of containing block
+
+gives us:
+
+  (solve) : right: auto
+  +
+      0px : margin-right
+  +
+      0px : border-right-width
+  +
+      0px : padding-right
+  +
+     80px : (based on the content) : width: auto
+  +
+      0px : padding-left
+  +
+      0px : border-left-width
+  +
+      0px : margin-left
+  +
+     80px : left
+    =====================
+    320px : width of containing block
+
+And so computed right value must be 160px .
+*/
+
+  ]]></style>
+
+ </head>
+
+ <body>
+
+  <p><img src="support/pass-cdts-abs-pos-non-replaced.png" width="246" height="36" alt="Image download support must be enabled" /></p>
+
+  <div id="containing-block">1 2 34<span>X</span></div>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/abs-pos-non-replaced-vrl-134.xht
@@ -0,0 +1,97 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Writing Modes Test: absolutely positioned non-replaced element - 'direction: ltr' and 'left' and 'right' are 'auto' and 'width' is not 'auto'</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+  <link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#vertical-layout" title="7.1 Principles of Layout in Vertical Writing Modes" />
+  <link rel="help" href="http://www.w3.org/TR/CSS21/visudet.html#abs-non-replaced-height" title="10.6.4 Absolutely positioned, non-replaced elements" />
+  <link rel="match" href="abs-pos-non-replaced-vrl-002-ref.xht" />
+
+  <meta name="flags" content="ahem image" />
+  <meta name="assert" content="When 'direction' is 'ltr' and 'left' and 'right' are 'auto' and 'width' is not 'auto' and 'writing-mode' is 'vertical-rl', then set 'right' to the static position and then solve for 'left'." />
+
+<style type="text/css"><![CDATA[
+@font-face {
+  font-family: Ahem;
+  src: url("../../../fonts/Ahem.ttf");
+}
+]]></style>
+  <style type="text/css"><![CDATA[
+  div#containing-block
+    {
+      background: red url("support/bg-red-3col-3row-320x320.png");
+      color: transparent;
+      direction: ltr;
+      font: 80px/1 Ahem;
+      height: 320px;
+      position: relative;
+      width: 320px;
+      writing-mode: vertical-rl;
+    }
+
+  div#containing-block > span
+    {
+      background-color: green;
+      height: 1em;
+      left: auto;
+      position: absolute;
+      right: auto;
+      width: 1em;
+    }
+
+/*
+"
+Layout calculation rules (such as those in CSS2.1, Section 10.3) that apply to the horizontal dimension in horizontal writing modes instead apply to the vertical dimension in vertical writing modes.
+"
+7.1 Principles of Layout in Vertical Writing Modes
+http://www.w3.org/TR/css-writing-modes-3/#vertical-layout
+
+So here, *right and *left properties are input into the §10.6.4 algorithms where *right properties refer to *top properties in the layout rules and where *left properties refer to *bottom properties in the layout rules.
+
+"
+2. 'top' and 'bottom' are 'auto' and 'height' is not 'auto', then set 'top' to the static position, set 'auto' values for 'margin-top' and 'margin-bottom' to 0, and solve for 'bottom'
+"
+
+'left' + 'margin-left' + 'border-left-width' + 'padding-left' + 'width' + 'padding-right' + 'border-right-width' + 'margin-right' + 'right' = width of containing block
+
+So:
+
+     80px : right: auto: set to static position
+  +
+      0px : margin-right
+  +
+      0px : border-right-width
+  +
+      0px : padding-right
+  +
+     80px : width
+  +
+      0px : padding-left
+  +
+      0px : border-left-width
+  +
+      0px : margin-left
+  +
+  (solve) : left: auto
+    =====================
+    320px : width of containing block
+
+And so computed left value must be 160px .
+*/
+
+  ]]></style>
+
+ </head>
+
+ <body>
+
+  <p><img src="support/pass-cdts-abs-pos-non-replaced.png" width="246" height="36" alt="Image download support must be enabled" /></p>
+
+  <div id="containing-block">1 2 34<span></span></div>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/abs-pos-non-replaced-vrl-136.xht
@@ -0,0 +1,89 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Writing Modes Test: absolutely positioned non-replaced element - 'direction: ltr' and 'top' and 'bottom' are 'auto' and 'height' is not 'auto'</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+  <link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#vertical-layout" title="7.1 Principles of Layout in Vertical Writing Modes" />
+  <link rel="help" href="http://www.w3.org/TR/CSS21/visudet.html#abs-non-replaced-height" title="10.6.4 Absolutely positioned, non-replaced elements" />
+  <link rel="match" href="abs-pos-non-replaced-vrl-004-ref.xht" />
+
+  <meta name="flags" content="ahem image" />
+  <meta name="assert" content="When 'direction' is 'ltr' and 'top' and 'bottom' are 'auto' and 'height' is not 'auto', then set 'top' to the static position and then solve for 'bottom'." />
+
+<style type="text/css"><![CDATA[
+@font-face {
+  font-family: Ahem;
+  src: url("../../../fonts/Ahem.ttf");
+}
+]]></style>
+  <style type="text/css"><![CDATA[
+  div#containing-block
+    {
+      background: red url("support/bg-red-3col-2row-320x320.png");
+      color: transparent;
+      direction: ltr;
+      font: 80px/1 Ahem;
+      height: 320px;
+      position: relative;
+      width: 320px;
+    }
+
+  div#containing-block > span
+    {
+      background-color: green;
+      bottom: auto;
+      height: 1em;
+      position: absolute;
+      top: auto;
+      width: 1em;
+      writing-mode: vertical-rl;
+    }
+
+/*
+"
+2. 'top' and 'bottom' are 'auto' and 'height' is not 'auto', then set 'top' to the static position, set 'auto' values for 'margin-top' and 'margin-bottom' to 0, and solve for 'bottom'
+"
+
+'top' + 'margin-top' + 'border-top-width' + 'padding-top' + 'height' + 'padding-bottom' + 'border-bottom-width' + 'margin-bottom' + 'bottom' = height of containing block
+
+So:
+
+     80px : top: auto: set to static position
+  +
+      0px : margin-top
+  +
+      0px : border-top-width
+  +
+      0px : padding-top
+  +
+     80px : height
+  +
+      0px : padding-bottom
+  +
+      0px : border-bottom-width
+  +
+      0px : margin-bottom
+  +
+  (solve) : bottom: auto
+    =====================
+    320px : height of containing block
+
+And so computed bottom value must be 160px .
+*/
+
+  ]]></style>
+
+ </head>
+
+ <body>
+
+  <p><img src="support/pass-cdts-abs-pos-non-replaced.png" width="246" height="36" alt="Image download support must be enabled" /></p>
+
+  <div id="containing-block">1 2 34<span></span></div>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/abs-pos-non-replaced-vrl-138.xht
@@ -0,0 +1,101 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Writing Modes Test: absolutely positioned non-replaced element - 'direction: ltr' and 'left' and 'right' are 'auto' and 'width' is not 'auto'</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+  <link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#vertical-layout" title="7.1 Principles of Layout in Vertical Writing Modes" />
+  <link rel="help" href="http://www.w3.org/TR/CSS21/visudet.html#abs-non-replaced-height" title="10.6.4 Absolutely positioned, non-replaced elements" />
+  <link rel="match" href="abs-pos-non-replaced-vrl-006-ref.xht" />
+
+  <meta name="flags" content="ahem image" />
+  <meta name="assert" content="When 'direction' is 'ltr' and 'left' and 'right' are 'auto' and 'width' is not 'auto' and 'writing-mode' is 'vertical-rl', then set 'right' to the static position and then solve for 'left'." />
+
+<style type="text/css"><![CDATA[
+@font-face {
+  font-family: Ahem;
+  src: url("../../../fonts/Ahem.ttf");
+}
+]]></style>
+  <style type="text/css"><![CDATA[
+  html
+    {
+      writing-mode: vertical-rl;
+    }
+
+  div#containing-block
+    {
+      background: red url("support/bg-red-3col-3row-320x320.png");
+      color: transparent;
+      direction: ltr;
+      font: 80px/1 Ahem;
+      height: 320px;
+      position: relative;
+      width: 320px;
+    }
+
+  div#containing-block > span
+    {
+      background-color: green;
+      height: 1em;
+      left: auto;
+      position: absolute;
+      right: auto;
+      width: 1em;
+    }
+
+/*
+"
+Layout calculation rules (such as those in CSS2.1, Section 10.3) that apply to the horizontal dimension in horizontal writing modes instead apply to the vertical dimension in vertical writing modes.
+"
+7.1 Principles of Layout in Vertical Writing Modes
+http://www.w3.org/TR/css-writing-modes-3/#vertical-layout
+
+So here, *right and *left properties are input into the §10.6.4 algorithms where *right properties refer to *top properties in the layout rules and where *left properties refer to *bottom properties in the layout rules.
+
+"
+2. 'top' and 'bottom' are 'auto' and 'height' is not 'auto', then set 'top' to the static position, set 'auto' values for 'margin-top' and 'margin-bottom' to 0, and solve for 'bottom'
+"
+
+'left' + 'margin-left' + 'border-left-width' + 'padding-left' + 'width' + 'padding-right' + 'border-right-width' + 'margin-right' + 'right' = width of containing block
+
+So:
+
+     80px : right: auto: set to static position
+  +
+      0px : margin-right
+  +
+      0px : border-right-width
+  +
+      0px : padding-right
+  +
+     80px : width
+  +
+      0px : padding-left
+  +
+      0px : border-left-width
+  +
+      0px : margin-left
+  +
+  (solve) : left: auto
+    =====================
+    320px : width of containing block
+
+And so computed left value must be 160px .
+*/
+
+  ]]></style>
+
+ </head>
+
+ <body>
+
+  <p><img src="support/pass-cdts-abs-pos-non-replaced.png" width="246" height="36" alt="Image download support must be enabled" /></p>
+
+  <div id="containing-block">1 2 34<span></span></div>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/abs-pos-non-replaced-vrl-140.xht
@@ -0,0 +1,98 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Writing Modes Test: absolutely positioned non-replaced element - 'direction: ltr' and 'left' and 'right' are 'auto' and 'width' is not 'auto'</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+  <link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#vertical-layout" title="7.1 Principles of Layout in Vertical Writing Modes" />
+  <link rel="help" href="http://www.w3.org/TR/CSS21/visudet.html#abs-non-replaced-height" title="10.6.4 Absolutely positioned, non-replaced elements" />
+  <link rel="match" href="abs-pos-non-replaced-vrl-002-ref.xht" />
+
+  <meta name="flags" content="ahem image" />
+  <meta name="assert" content="When 'direction' is 'ltr' and 'left' and 'right' are 'auto' and 'width' is not 'auto' and 'writing-mode' is 'vertical-rl', then set 'right' to the static position and then solve for 'left'." />
+
+<style type="text/css"><![CDATA[
+@font-face {
+  font-family: Ahem;
+  src: url("../../../fonts/Ahem.ttf");
+}
+]]></style>
+  <style type="text/css"><![CDATA[
+  div#containing-block
+    {
+      background: red url("support/bg-red-3col-3row-320x320.png");
+      color: transparent;
+      direction: ltr;
+      font: 80px/1 Ahem;
+      height: 320px;
+      position: relative;
+      width: 320px;
+      writing-mode: vertical-rl;
+    }
+
+  div#containing-block > span
+    {
+      background-color: green;
+      height: 1em;
+      left: auto;
+      position: absolute;
+      right: auto;
+      width: 1em;
+      writing-mode: horizontal-tb;
+    }
+
+/*
+"
+Layout calculation rules (such as those in CSS2.1, Section 10.3) that apply to the horizontal dimension in horizontal writing modes instead apply to the vertical dimension in vertical writing modes.
+"
+7.1 Principles of Layout in Vertical Writing Modes
+http://www.w3.org/TR/css-writing-modes-3/#vertical-layout
+
+So here, *right and *left properties are input into the §10.6.4 algorithms where *right properties refer to *top properties in the layout rules and where *left properties refer to *bottom properties in the layout rules.
+
+"
+2. 'top' and 'bottom' are 'auto' and 'height' is not 'auto', then set 'top' to the static position, set 'auto' values for 'margin-top' and 'margin-bottom' to 0, and solve for 'bottom'
+"
+
+'left' + 'margin-left' + 'border-left-width' + 'padding-left' + 'width' + 'padding-right' + 'border-right-width' + 'margin-right' + 'right' = width of containing block
+
+So:
+
+     80px : right: auto: set to static position
+  +
+      0px : margin-right
+  +
+      0px : border-right-width
+  +
+      0px : padding-right
+  +
+     80px : width
+  +
+      0px : padding-left
+  +
+      0px : border-left-width
+  +
+      0px : margin-left
+  +
+  (solve) : left: auto
+    =====================
+    320px : width of containing block
+
+And so computed left value must be 160px .
+*/
+
+  ]]></style>
+
+ </head>
+
+ <body>
+
+  <p><img src="support/pass-cdts-abs-pos-non-replaced.png" width="246" height="36" alt="Image download support must be enabled" /></p>
+
+  <div id="containing-block">1 2 34<span></span></div>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/abs-pos-non-replaced-vrl-142.xht
@@ -0,0 +1,97 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Writing Modes Test: absolutely positioned non-replaced element - 'direction: rtl' and 'left' and 'right' are 'auto' and 'width' is not 'auto'</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+  <link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#vertical-layout" title="7.1 Principles of Layout in Vertical Writing Modes" />
+  <link rel="help" href="http://www.w3.org/TR/CSS21/visudet.html#abs-non-replaced-height" title="10.6.4 Absolutely positioned, non-replaced elements" />
+  <link rel="match" href="abs-pos-non-replaced-vrl-004-ref.xht" />
+
+  <meta name="flags" content="ahem image" />
+  <meta name="assert" content="When 'direction' is 'rtl' and 'left' and 'right' are 'auto' and 'width' is not 'auto' and 'writing-mode' is 'vertical-rl', then set 'right' to the static position and then solve for 'left'." />
+
+<style type="text/css"><![CDATA[
+@font-face {
+  font-family: Ahem;
+  src: url("../../../fonts/Ahem.ttf");
+}
+]]></style>
+  <style type="text/css"><![CDATA[
+  div#containing-block
+    {
+      background: red url("support/bg-red-3col-2row-320x320.png");
+      color: transparent;
+      direction: rtl;
+      font: 80px/1 Ahem;
+      height: 320px;
+      position: relative;
+      width: 320px;
+      writing-mode: vertical-rl;
+    }
+
+  div#containing-block > span
+    {
+      background-color: green;
+      height: 1em;
+      left: auto;
+      position: absolute;
+      right: auto;
+      width: 1em;
+    }
+
+/*
+"
+Layout calculation rules (such as those in CSS2.1, Section 10.3) that apply to the horizontal dimension in horizontal writing modes instead apply to the vertical dimension in vertical writing modes.
+"
+7.1 Principles of Layout in Vertical Writing Modes
+http://www.w3.org/TR/css-writing-modes-3/#vertical-layout
+
+So here, *right and *left properties are input into the §10.6.4 algorithms where *right properties refer to *top properties in the layout rules and where *left properties refer to *bottom properties in the layout rules.
+
+"
+2. 'top' and 'bottom' are 'auto' and 'height' is not 'auto', then set 'top' to the static position, set 'auto' values for 'margin-top' and 'margin-bottom' to 0, and solve for 'bottom'
+"
+
+'left' + 'margin-left' + 'border-left-width' + 'padding-left' + 'width' + 'padding-right' + 'border-right-width' + 'margin-right' + 'right' = width of containing block
+
+So:
+
+     80px : right: auto: set to static position
+  +
+      0px : margin-right
+  +
+      0px : border-right-width
+  +
+      0px : padding-right
+  +
+     80px : width
+  +
+      0px : padding-left
+  +
+      0px : border-left-width
+  +
+      0px : margin-left
+  +
+  (solve) : left: auto
+    =====================
+    320px : width of containing block
+
+And so computed left value must be 160px .
+*/
+
+  ]]></style>
+
+ </head>
+
+ <body>
+
+  <p><img src="support/pass-cdts-abs-pos-non-replaced.png" width="246" height="36" alt="Image download support must be enabled" /></p>
+
+  <div id="containing-block">1 2 34<span>X</span></div>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/abs-pos-non-replaced-vrl-144.xht
@@ -0,0 +1,89 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Writing Modes Test: absolutely positioned non-replaced element - 'direction: rtl' and 'top' and 'bottom' are 'auto' and 'height' is not 'auto'</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+  <link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#vertical-layout" title="7.1 Principles of Layout in Vertical Writing Modes" />
+  <link rel="help" href="http://www.w3.org/TR/CSS21/visudet.html#abs-non-replaced-height" title="10.6.4 Absolutely positioned, non-replaced elements" />
+  <link rel="match" href="abs-pos-non-replaced-vlr-009-ref.xht" />
+
+  <meta name="flags" content="ahem image" />
+  <meta name="assert" content="When 'direction' is 'rtl' and 'top' and 'bottom' are 'auto' and 'height' is not 'auto', then set 'top' to the static position and then solve for 'bottom'." />
+
+<style type="text/css"><![CDATA[
+@font-face {
+  font-family: Ahem;
+  src: url("../../../fonts/Ahem.ttf");
+}
+]]></style>
+  <style type="text/css"><![CDATA[
+  div#containing-block
+    {
+      background: red url("support/bg-red-2col-2row-320x320.png");
+      color: transparent;
+      direction: rtl;
+      font: 80px/1 Ahem;
+      height: 320px;
+      position: relative;
+      width: 320px;
+    }
+
+  div#containing-block > span
+    {
+      background-color: green;
+      bottom: auto;
+      height: 1em;
+      position: absolute;
+      top: auto;
+      width: 1em;
+      writing-mode: vertical-rl;
+    }
+
+/*
+"
+2. 'top' and 'bottom' are 'auto' and 'height' is not 'auto', then set 'top' to the static position, set 'auto' values for 'margin-top' and 'margin-bottom' to 0, and solve for 'bottom'
+"
+
+'top' + 'margin-top' + 'border-top-width' + 'padding-top' + 'height' + 'padding-bottom' + 'border-bottom-width' + 'margin-bottom' + 'bottom' = height of containing block
+
+So:
+
+     80px : top: auto: set to static position
+  +
+      0px : margin-top
+  +
+      0px : border-top-width
+  +
+      0px : padding-top
+  +
+     80px : height
+  +
+      0px : padding-bottom
+  +
+      0px : border-bottom-width
+  +
+      0px : margin-bottom
+  +
+  (solve) : bottom: auto
+    =====================
+    320px : height of containing block
+
+And so computed bottom value must be 160px .
+*/
+
+  ]]></style>
+
+ </head>
+
+ <body>
+
+  <p><img src="support/pass-cdts-abs-pos-non-replaced.png" width="246" height="36" alt="Image download support must be enabled" /></p>
+
+  <div id="containing-block">1 2 34<span></span></div>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/abs-pos-non-replaced-vrl-146.xht
@@ -0,0 +1,101 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Writing Modes Test: absolutely positioned non-replaced element - 'direction: rtl' and 'left' and 'right' are 'auto' and 'width' is not 'auto'</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+  <link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#vertical-layout" title="7.1 Principles of Layout in Vertical Writing Modes" />
+  <link rel="help" href="http://www.w3.org/TR/CSS21/visudet.html#abs-non-replaced-height" title="10.6.4 Absolutely positioned, non-replaced elements" />
+  <link rel="match" href="abs-pos-non-replaced-vrl-012-ref.xht" />
+
+  <meta name="flags" content="ahem image" />
+  <meta name="assert" content="When 'direction' is 'rtl' and 'left' and 'right' are 'auto' and 'width' is not 'auto' and 'writing-mode' is 'vertical-rl', then set 'right' to the static position and then solve for 'left'." />
+
+<style type="text/css"><![CDATA[
+@font-face {
+  font-family: Ahem;
+  src: url("../../../fonts/Ahem.ttf");
+}
+]]></style>
+  <style type="text/css"><![CDATA[
+  html
+    {
+      writing-mode: vertical-rl;
+    }
+
+  div#containing-block
+    {
+      background: red url("support/bg-red-3col-2row-320x320.png");
+      color: transparent;
+      direction: rtl;
+      font: 80px/1 Ahem;
+      height: 320px;
+      position: relative;
+      width: 320px;
+    }
+
+  div#containing-block > span
+    {
+      background-color: green;
+      height: 1em;
+      left: auto;
+      position: absolute;
+      right: auto;
+      width: 1em;
+    }
+
+/*
+"
+Layout calculation rules (such as those in CSS2.1, Section 10.3) that apply to the horizontal dimension in horizontal writing modes instead apply to the vertical dimension in vertical writing modes.
+"
+7.1 Principles of Layout in Vertical Writing Modes
+http://www.w3.org/TR/css-writing-modes-3/#vertical-layout
+
+So here, *right and *left properties are input into the §10.6.4 algorithms where *right properties refer to *top properties in the layout rules and where *left properties refer to *bottom properties in the layout rules.
+
+"
+2. 'top' and 'bottom' are 'auto' and 'height' is not 'auto', then set 'top' to the static position, set 'auto' values for 'margin-top' and 'margin-bottom' to 0, and solve for 'bottom'
+"
+
+'left' + 'margin-left' + 'border-left-width' + 'padding-left' + 'width' + 'padding-right' + 'border-right-width' + 'margin-right' + 'right' = width of containing block
+
+So:
+
+     80px : right: auto: set to static position
+  +
+      0px : margin-right
+  +
+      0px : border-right-width
+  +
+      0px : padding-right
+  +
+     80px : width
+  +
+      0px : padding-left
+  +
+      0px : border-left-width
+  +
+      0px : margin-left
+  +
+  (solve) : left: auto
+    =====================
+    320px : width of containing block
+
+And so computed left value must be 160px .
+*/
+
+  ]]></style>
+
+ </head>
+
+ <body>
+
+  <p><img src="support/pass-cdts-abs-pos-non-replaced.png" width="246" height="36" alt="Image download support must be enabled" /></p>
+
+  <div id="containing-block">1 2 34<span></span></div>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/abs-pos-non-replaced-vrl-148.xht
@@ -0,0 +1,98 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Writing Modes Test: absolutely positioned non-replaced element - 'direction: rtl' and 'left' and 'right' are 'auto' and 'width' is not 'auto'</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+  <link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#vertical-layout" title="7.1 Principles of Layout in Vertical Writing Modes" />
+  <link rel="help" href="http://www.w3.org/TR/CSS21/visudet.html#abs-non-replaced-height" title="10.6.4 Absolutely positioned, non-replaced elements" />
+  <link rel="match" href="abs-pos-non-replaced-vrl-004-ref.xht" />
+
+  <meta name="flags" content="ahem image" />
+  <meta name="assert" content="When 'direction' is 'rtl' and 'left' and 'right' are 'auto' and 'width' is not 'auto' and 'writing-mode' is 'vertical-rl', then set 'right' to the static position and then solve for 'left'." />
+
+<style type="text/css"><![CDATA[
+@font-face {
+  font-family: Ahem;
+  src: url("../../../fonts/Ahem.ttf");
+}
+]]></style>
+  <style type="text/css"><![CDATA[
+  div#containing-block
+    {
+      background: red url("support/bg-red-3col-2row-320x320.png");
+      color: transparent;
+      direction: rtl;
+      font: 80px/1 Ahem;
+      height: 320px;
+      position: relative;
+      width: 320px;
+      writing-mode: vertical-rl;
+    }
+
+  div#containing-block > span
+    {
+      background-color: green;
+      height: 1em;
+      left: auto;
+      position: absolute;
+      right: auto;
+      width: 1em;
+      writing-mode: horizontal-tb;
+    }
+
+/*
+"
+Layout calculation rules (such as those in CSS2.1, Section 10.3) that apply to the horizontal dimension in horizontal writing modes instead apply to the vertical dimension in vertical writing modes.
+"
+7.1 Principles of Layout in Vertical Writing Modes
+http://www.w3.org/TR/css-writing-modes-3/#vertical-layout
+
+So here, *right and *left properties are input into the §10.6.4 algorithms where *right properties refer to *top properties in the layout rules and where *left properties refer to *bottom properties in the layout rules.
+
+"
+2. 'top' and 'bottom' are 'auto' and 'height' is not 'auto', then set 'top' to the static position, set 'auto' values for 'margin-top' and 'margin-bottom' to 0, and solve for 'bottom'
+"
+
+'left' + 'margin-left' + 'border-left-width' + 'padding-left' + 'width' + 'padding-right' + 'border-right-width' + 'margin-right' + 'right' = width of containing block
+
+So:
+
+     80px : right: auto: set to static position
+  +
+      0px : margin-right
+  +
+      0px : border-right-width
+  +
+      0px : padding-right
+  +
+     80px : width
+  +
+      0px : padding-left
+  +
+      0px : border-left-width
+  +
+      0px : margin-left
+  +
+  (solve) : left: auto
+    =====================
+    320px : width of containing block
+
+And so computed left value must be 160px .
+*/
+
+  ]]></style>
+
+ </head>
+
+ <body>
+
+  <p><img src="support/pass-cdts-abs-pos-non-replaced.png" width="246" height="36" alt="Image download support must be enabled" /></p>
+
+  <div id="containing-block">1 2 34<span></span></div>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/abs-pos-non-replaced-vrl-150.xht
@@ -0,0 +1,97 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Writing Modes Test: absolutely positioned non-replaced element - 'direction: ltr' and 'left' and 'width' are 'auto' and 'right' is not 'auto'</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+  <link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#vertical-layout" title="7.1 Principles of Layout in Vertical Writing Modes" />
+  <link rel="help" href="http://www.w3.org/TR/CSS21/visudet.html#abs-non-replaced-height" title="10.6.4 Absolutely positioned, non-replaced elements" />
+  <link rel="match" href="abs-pos-non-replaced-vrl-002-ref.xht" />
+
+  <meta name="flags" content="ahem image" />
+  <meta name="assert" content="When 'direction' is 'ltr' and 'left' and 'width' are 'auto' and 'right' is not 'auto' and 'writing-mode' is 'vertical-rl', then the width is based on the content and then solve for 'left'." />
+
+<style type="text/css"><![CDATA[
+@font-face {
+  font-family: Ahem;
+  src: url("../../../fonts/Ahem.ttf");
+}
+]]></style>
+  <style type="text/css"><![CDATA[
+  div#containing-block
+    {
+      background: red url("support/bg-red-3col-3row-320x320.png");
+      color: transparent;
+      direction: ltr;
+      font: 80px/1 Ahem;
+      height: 320px;
+      position: relative;
+      width: 320px;
+      writing-mode: vertical-rl;
+    }
+
+  div#containing-block > span
+    {
+      background-color: red;
+      color: green;
+      left: auto;
+      position: absolute;
+      right: 1em;
+      width: auto;
+    }
+
+/*
+"
+Layout calculation rules (such as those in CSS2.1, Section 10.3) that apply to the horizontal dimension in horizontal writing modes instead apply to the vertical dimension in vertical writing modes.
+"
+7.1 Principles of Layout in Vertical Writing Modes
+http://www.w3.org/TR/css-writing-modes-3/#vertical-layout
+
+So here, *right and *left properties are input into the §10.6.4 algorithms where *right properties refer to *top properties in the layout rules and where *left properties refer to *bottom properties in the layout rules.
+
+"
+3. 'height' and 'bottom' are 'auto' and 'top' is not 'auto', then the height is based on the content per 10.6.7, set 'auto' values for 'margin-top' and 'margin-bottom' to 0, and solve for 'bottom'
+"
+
+'left' + 'margin-left' + 'border-left-width' + 'padding-left' + 'width' + 'padding-right' + 'border-right-width' + 'margin-right' + 'right' = width of containing block
+
+So:
+
+     80px : right
+  +
+      0px : margin-right
+  +
+      0px : border-right-width
+  +
+      0px : padding-right
+  +
+     80px : (based on the content) : width: auto
+  +
+      0px : padding-left
+  +
+      0px : border-left-width
+  +
+      0px : margin-left
+  +
+  (solve) : left: auto
+    =====================
+    320px : width of containing block
+
+And so computed left value must be 160px .
+*/
+
+  ]]></style>
+
+ </head>
+
+ <body>
+
+  <p><img src="support/pass-cdts-abs-pos-non-replaced.png" width="246" height="36" alt="Image download support must be enabled" /></p>
+
+  <div id="containing-block">1 2 34<span>X</span></div>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/abs-pos-non-replaced-vrl-152.xht
@@ -0,0 +1,89 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Writing Modes Test: absolutely positioned non-replaced element - 'direction: ltr' and 'height' and 'bottom' are 'auto' and 'top' is not 'auto'</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+  <link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#vertical-layout" title="7.1 Principles of Layout in Vertical Writing Modes" />
+  <link rel="help" href="http://www.w3.org/TR/CSS21/visudet.html#abs-non-replaced-height" title="10.6.4 Absolutely positioned, non-replaced elements" />
+  <link rel="match" href="abs-pos-non-replaced-vrl-004-ref.xht" />
+
+  <meta name="flags" content="ahem image" />
+  <meta name="assert" content="When 'direction' is 'ltr' and 'height' and 'bottom' are 'auto' and 'top' is not 'auto', then the height is based on content and then solve for 'bottom'." />
+
+<style type="text/css"><![CDATA[
+@font-face {
+  font-family: Ahem;
+  src: url("../../../fonts/Ahem.ttf");
+}
+]]></style>
+  <style type="text/css"><![CDATA[
+  div#containing-block
+    {
+      background: red url("support/bg-red-3col-2row-320x320.png");
+      color: transparent;
+      direction: ltr;
+      font: 80px/1 Ahem;
+      height: 320px;
+      position: relative;
+      width: 320px;
+    }
+
+  div#containing-block > span
+    {
+      background-color: red;
+      bottom: auto;
+      color: green;
+      height: auto;
+      position: absolute;
+      top: 1em;
+      writing-mode: vertical-rl;
+    }
+
+/*
+"
+3. 'height' and 'bottom' are 'auto' and 'top' is not 'auto', then the height is based on the content per 10.6.7, set 'auto' values for 'margin-top' and 'margin-bottom' to 0, and solve for 'bottom'
+"
+
+'top' + 'margin-top' + 'border-top-width' + 'padding-top' + 'height' + 'padding-bottom' + 'border-bottom-width' + 'margin-bottom' + 'bottom' = height of containing block
+
+So:
+
+     80px : top
+  +
+      0px : margin-top
+  +
+      0px : border-top-width
+  +
+      0px : padding-top
+  +
+     80px : (based on content) : height: auto
+  +
+      0px : padding-bottom
+  +
+      0px : border-bottom-width
+  +
+      0px : margin-bottom
+  +
+  (solve) : bottom: auto
+    =====================
+    320px : height of containing block
+
+And so computed bottom value must be 160px .
+*/
+
+  ]]></style>
+
+ </head>
+
+ <body>
+
+  <p><img src="support/pass-cdts-abs-pos-non-replaced.png" width="246" height="36" alt="Image download support must be enabled" /></p>
+
+  <div id="containing-block">1 2 34<span>X</span></div>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/abs-pos-non-replaced-vrl-154.xht
@@ -0,0 +1,101 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Writing Modes Test: absolutely positioned non-replaced element - 'direction: ltr' and 'left' and 'width' are 'auto' and 'right' is not 'auto'</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+  <link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#vertical-layout" title="7.1 Principles of Layout in Vertical Writing Modes" />
+  <link rel="help" href="http://www.w3.org/TR/CSS21/visudet.html#abs-non-replaced-height" title="10.6.4 Absolutely positioned, non-replaced elements" />
+  <link rel="match" href="abs-pos-non-replaced-vrl-006-ref.xht" />
+
+  <meta name="flags" content="ahem image" />
+  <meta name="assert" content="When 'direction' is 'ltr' and 'left' and 'width' are 'auto' and 'right' is not 'auto' and 'writing-mode' is 'vertical-rl', then the width is based on the content and then solve for 'left'." />
+
+<style type="text/css"><![CDATA[
+@font-face {
+  font-family: Ahem;
+  src: url("../../../fonts/Ahem.ttf");
+}
+]]></style>
+  <style type="text/css"><![CDATA[
+  html
+    {
+      writing-mode: vertical-rl;
+    }
+
+  div#containing-block
+    {
+      background: red url("support/bg-red-3col-3row-320x320.png");
+      color: transparent;
+      direction: ltr;
+      font: 80px/1 Ahem;
+      height: 320px;
+      position: relative;
+      width: 320px;
+    }
+
+  div#containing-block > span
+    {
+      background-color: red;
+      color: green;
+      left: auto;
+      position: absolute;
+      right: 1em;
+      width: auto;
+    }
+
+/*
+"
+Layout calculation rules (such as those in CSS2.1, Section 10.3) that apply to the horizontal dimension in horizontal writing modes instead apply to the vertical dimension in vertical writing modes.
+"
+7.1 Principles of Layout in Vertical Writing Modes
+http://www.w3.org/TR/css-writing-modes-3/#vertical-layout
+
+So here, *right and *left properties are input into the §10.6.4 algorithms where *right properties refer to *top properties in the layout rules and where *left properties refer to *bottom properties in the layout rules.
+
+"
+3. 'height' and 'bottom' are 'auto' and 'top' is not 'auto', then the height is based on the content per 10.6.7, set 'auto' values for 'margin-top' and 'margin-bottom' to 0, and solve for 'bottom'
+"
+
+'left' + 'margin-left' + 'border-left-width' + 'padding-left' + 'width' + 'padding-right' + 'border-right-width' + 'margin-right' + 'right' = width of containing block
+
+So:
+
+     80px : right
+  +
+      0px : margin-right
+  +
+      0px : border-right-width
+  +
+      0px : padding-right
+  +
+     80px : (based on the content) : width: auto
+  +
+      0px : padding-left
+  +
+      0px : border-left-width
+  +
+      0px : margin-left
+  +
+  (solve) : left: auto
+    =====================
+    320px : width of containing block
+
+And so computed left value must be 160px .
+*/
+
+  ]]></style>
+
+ </head>
+
+ <body>
+
+  <p><img src="support/pass-cdts-abs-pos-non-replaced.png" width="246" height="36" alt="Image download support must be enabled" /></p>
+
+  <div id="containing-block">1 2 34<span>X</span></div>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/abs-pos-non-replaced-vrl-156.xht
@@ -0,0 +1,98 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Writing Modes Test: absolutely positioned non-replaced element - 'direction: ltr' and 'left' and 'width' are 'auto' and 'right' is not 'auto'</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+  <link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#vertical-layout" title="7.1 Principles of Layout in Vertical Writing Modes" />
+  <link rel="help" href="http://www.w3.org/TR/CSS21/visudet.html#abs-non-replaced-height" title="10.6.4 Absolutely positioned, non-replaced elements" />
+  <link rel="match" href="abs-pos-non-replaced-vrl-002-ref.xht" />
+
+  <meta name="flags" content="ahem image" />
+  <meta name="assert" content="When 'direction' is 'ltr' and 'left' and 'width' are 'auto' and 'right' is not 'auto' and 'writing-mode' is 'vertical-rl', then the width is based on the content and then solve for 'left'." />
+
+<style type="text/css"><![CDATA[
+@font-face {
+  font-family: Ahem;
+  src: url("../../../fonts/Ahem.ttf");
+}
+]]></style>
+  <style type="text/css"><![CDATA[
+  div#containing-block
+    {
+      background: red url("support/bg-red-3col-3row-320x320.png");
+      color: transparent;
+      direction: ltr;
+      font: 80px/1 Ahem;
+      height: 320px;
+      position: relative;
+      width: 320px;
+      writing-mode: vertical-rl;
+    }
+
+  div#containing-block > span
+    {
+      background-color: red;
+      color: green;
+      left: auto;
+      position: absolute;
+      right: 1em;
+      width: auto;
+      writing-mode: horizontal-tb;
+    }
+
+/*
+"
+Layout calculation rules (such as those in CSS2.1, Section 10.3) that apply to the horizontal dimension in horizontal writing modes instead apply to the vertical dimension in vertical writing modes.
+"
+7.1 Principles of Layout in Vertical Writing Modes
+http://www.w3.org/TR/css-writing-modes-3/#vertical-layout
+
+So here, *right and *left properties are input into the §10.6.4 algorithms where *right properties refer to *top properties in the layout rules and where *left properties refer to *bottom properties in the layout rules.
+
+"
+3. 'height' and 'bottom' are 'auto' and 'top' is not 'auto', then the height is based on the content per 10.6.7, set 'auto' values for 'margin-top' and 'margin-bottom' to 0, and solve for 'bottom'
+"
+
+'left' + 'margin-left' + 'border-left-width' + 'padding-left' + 'width' + 'padding-right' + 'border-right-width' + 'margin-right' + 'right' = width of containing block
+
+So:
+
+     80px : right
+  +
+      0px : margin-right
+  +
+      0px : border-right-width
+  +
+      0px : padding-right
+  +
+     80px : (based on the content) : width: auto
+  +
+      0px : padding-left
+  +
+      0px : border-left-width
+  +
+      0px : margin-left
+  +
+  (solve) : left: auto
+    =====================
+    320px : width of containing block
+
+And so computed left value must be 160px .
+*/
+
+  ]]></style>
+
+ </head>
+
+ <body>
+
+  <p><img src="support/pass-cdts-abs-pos-non-replaced.png" width="246" height="36" alt="Image download support must be enabled" /></p>
+
+  <div id="containing-block">1 2 34<span>X</span></div>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/abs-pos-non-replaced-vrl-158.xht
@@ -0,0 +1,97 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Writing Modes Test: absolutely positioned non-replaced element - 'direction: rtl' and 'left' and 'width' are 'auto' and 'right' is not 'auto'</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+  <link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#vertical-layout" title="7.1 Principles of Layout in Vertical Writing Modes" />
+  <link rel="help" href="http://www.w3.org/TR/CSS21/visudet.html#abs-non-replaced-height" title="10.6.4 Absolutely positioned, non-replaced elements" />
+  <link rel="match" href="abs-pos-non-replaced-vrl-004-ref.xht" />
+
+  <meta name="flags" content="ahem image" />
+  <meta name="assert" content="When 'direction' is 'rtl' and 'left' and 'width' are 'auto' and 'right' is not 'auto' and 'writing-mode' is 'vertical-rl', then the width is based on the content and then solve for 'left'." />
+
+<style type="text/css"><![CDATA[
+@font-face {
+  font-family: Ahem;
+  src: url("../../../fonts/Ahem.ttf");
+}
+]]></style>
+  <style type="text/css"><![CDATA[
+  div#containing-block
+    {
+      background: red url("support/bg-red-3col-2row-320x320.png");
+      color: transparent;
+      direction: rtl;
+      font: 80px/1 Ahem;
+      height: 320px;
+      position: relative;
+      width: 320px;
+      writing-mode: vertical-rl;
+    }
+
+  div#containing-block > span
+    {
+      background-color: red;
+      color: green;
+      left: auto;
+      position: absolute;
+      right: 1em;
+      width: auto;
+    }
+
+/*
+"
+Layout calculation rules (such as those in CSS2.1, Section 10.3) that apply to the horizontal dimension in horizontal writing modes instead apply to the vertical dimension in vertical writing modes.
+"
+7.1 Principles of Layout in Vertical Writing Modes
+http://www.w3.org/TR/css-writing-modes-3/#vertical-layout
+
+So here, *right and *left properties are input into the §10.6.4 algorithms where *right properties refer to *top properties in the layout rules and where *left properties refer to *bottom properties in the layout rules.
+
+"
+3. 'height' and 'bottom' are 'auto' and 'top' is not 'auto', then the height is based on the content per 10.6.7, set 'auto' values for 'margin-top' and 'margin-bottom' to 0, and solve for 'bottom'
+"
+
+'left' + 'margin-left' + 'border-left-width' + 'padding-left' + 'width' + 'padding-right' + 'border-right-width' + 'margin-right' + 'right' = width of containing block
+
+So:
+
+     80px : right
+  +
+      0px : margin-right
+  +
+      0px : border-right-width
+  +
+      0px : padding-right
+  +
+     80px : (based on the content) : width: auto
+  +
+      0px : padding-left
+  +
+      0px : border-left-width
+  +
+      0px : margin-left
+  +
+  (solve) : left: auto
+    =====================
+    320px : width of containing block
+
+And so computed left value must be 160px .
+*/
+
+  ]]></style>
+
+ </head>
+
+ <body>
+
+  <p><img src="support/pass-cdts-abs-pos-non-replaced.png" width="246" height="36" alt="Image download support must be enabled" /></p>
+
+  <div id="containing-block">1 2 34<span>X</span></div>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/abs-pos-non-replaced-vrl-160.xht
@@ -0,0 +1,89 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Writing Modes Test: absolutely positioned non-replaced element - 'direction: rtl' and 'height' and 'bottom' are 'auto' and 'top' is not 'auto'</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+  <link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#vertical-layout" title="7.1 Principles of Layout in Vertical Writing Modes" />
+  <link rel="help" href="http://www.w3.org/TR/CSS21/visudet.html#abs-non-replaced-height" title="10.6.4 Absolutely positioned, non-replaced elements" />
+  <link rel="match" href="abs-pos-non-replaced-vlr-009-ref.xht" />
+
+  <meta name="flags" content="ahem image" />
+  <meta name="assert" content="When 'direction' is 'rtl' and 'height' and 'bottom' are 'auto' and 'top' is not 'auto' and 'writing-mode' is 'vertical-rl', then then the height is based on the content and then solve for 'bottom'." />
+
+<style type="text/css"><![CDATA[
+@font-face {
+  font-family: Ahem;
+  src: url("../../../fonts/Ahem.ttf");
+}
+]]></style>
+  <style type="text/css"><![CDATA[
+  div#containing-block
+    {
+      background: red url("support/bg-red-2col-2row-320x320.png");
+      color: transparent;
+      direction: rtl;
+      font: 80px/1 Ahem;
+      height: 320px;
+      position: relative;
+      width: 320px;
+    }
+
+  div#containing-block > span
+    {
+      background-color: red;
+      bottom: auto;
+      color: green;
+      height: auto;
+      position: absolute;
+      top: 1em;
+      writing-mode: vertical-rl;
+    }
+
+/*
+"
+3. 'height' and 'bottom' are 'auto' and 'top' is not 'auto', then the height is based on the content per 10.6.7, set 'auto' values for 'margin-top' and 'margin-bottom' to 0, and solve for 'bottom'
+"
+
+'top' + 'margin-top' + 'border-top-width' + 'padding-top' + 'height' + 'padding-bottom' + 'border-bottom-width' + 'margin-bottom' + 'bottom' = height of containing block
+
+So:
+
+     80px : top
+  +
+      0px : margin-top
+  +
+      0px : border-top-width
+  +
+      0px : padding-top
+  +
+     80px : (based on content) : height: auto
+  +
+      0px : padding-bottom
+  +
+      0px : border-bottom-width
+  +
+      0px : margin-bottom
+  +
+  (solve) : bottom: auto
+    =====================
+    320px : height of containing block
+
+And so computed bottom value must be 160px .
+*/
+
+  ]]></style>
+
+ </head>
+
+ <body>
+
+  <p><img src="support/pass-cdts-abs-pos-non-replaced.png" width="246" height="36" alt="Image download support must be enabled" /></p>
+
+  <div id="containing-block">1 2 34<span>X</span></div>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/abs-pos-non-replaced-vrl-162.xht
@@ -0,0 +1,101 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Writing Modes Test: absolutely positioned non-replaced element - 'direction: rtl' and 'left' and 'width' are 'auto' and 'right' is not 'auto'</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+  <link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#vertical-layout" title="7.1 Principles of Layout in Vertical Writing Modes" />
+  <link rel="help" href="http://www.w3.org/TR/CSS21/visudet.html#abs-non-replaced-height" title="10.6.4 Absolutely positioned, non-replaced elements" />
+  <link rel="match" href="abs-pos-non-replaced-vrl-012-ref.xht" />
+
+  <meta name="flags" content="ahem image" />
+  <meta name="assert" content="When 'direction' is 'rtl' and 'left' and 'width' are 'auto' and 'right' is not 'auto' and 'writing-mode' is 'vertical-rl', then the width is based on the content and then solve for 'left'." />
+
+<style type="text/css"><![CDATA[
+@font-face {
+  font-family: Ahem;
+  src: url("../../../fonts/Ahem.ttf");
+}
+]]></style>
+  <style type="text/css"><![CDATA[
+  html
+    {
+      writing-mode: vertical-rl;
+    }
+
+  div#containing-block
+    {
+      background: red url("support/bg-red-3col-2row-320x320.png");
+      color: transparent;
+      direction: rtl;
+      font: 80px/1 Ahem;
+      height: 320px;
+      position: relative;
+      width: 320px;
+    }
+
+  div#containing-block > span
+    {
+      background-color: red;
+      color: green;
+      left: auto;
+      position: absolute;
+      right: 1em;
+      width: auto;
+    }
+
+/*
+"
+Layout calculation rules (such as those in CSS2.1, Section 10.3) that apply to the horizontal dimension in horizontal writing modes instead apply to the vertical dimension in vertical writing modes.
+"
+7.1 Principles of Layout in Vertical Writing Modes
+http://www.w3.org/TR/css-writing-modes-3/#vertical-layout
+
+So here, *right and *left properties are input into the §10.6.4 algorithms where *right properties refer to *top properties in the layout rules and where *left properties refer to *bottom properties in the layout rules.
+
+"
+3. 'height' and 'bottom' are 'auto' and 'top' is not 'auto', then the height is based on the content per 10.6.7, set 'auto' values for 'margin-top' and 'margin-bottom' to 0, and solve for 'bottom'
+"
+
+'left' + 'margin-left' + 'border-left-width' + 'padding-left' + 'width' + 'padding-right' + 'border-right-width' + 'margin-right' + 'right' = width of containing block
+
+So:
+
+     80px : right
+  +
+      0px : margin-right
+  +
+      0px : border-right-width
+  +
+      0px : padding-right
+  +
+     80px : (based on the content) : width: auto
+  +
+      0px : padding-left
+  +
+      0px : border-left-width
+  +
+      0px : margin-left
+  +
+  (solve) : left: auto
+    =====================
+    320px : width of containing block
+
+And so computed left value must be 160px .
+*/
+
+  ]]></style>
+
+ </head>
+
+ <body>
+
+  <p><img src="support/pass-cdts-abs-pos-non-replaced.png" width="246" height="36" alt="Image download support must be enabled" /></p>
+
+  <div id="containing-block">1 2 34<span>X</span></div>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/abs-pos-non-replaced-vrl-164.xht
@@ -0,0 +1,98 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Writing Modes Test: absolutely positioned non-replaced element - 'direction: rtl' and 'left' and 'width' are 'auto' and 'right' is not 'auto'</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+  <link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#vertical-layout" title="7.1 Principles of Layout in Vertical Writing Modes" />
+  <link rel="help" href="http://www.w3.org/TR/CSS21/visudet.html#abs-non-replaced-height" title="10.6.4 Absolutely positioned, non-replaced elements" />
+  <link rel="match" href="abs-pos-non-replaced-vrl-004-ref.xht" />
+
+  <meta name="flags" content="ahem image" />
+  <meta name="assert" content="When 'direction' is 'rtl' and 'left' and 'width' are 'auto' and 'right' is not 'auto' and 'writing-mode' is 'vertical-rl', then the width is based on the content and then solve for 'left'." />
+
+<style type="text/css"><![CDATA[
+@font-face {
+  font-family: Ahem;
+  src: url("../../../fonts/Ahem.ttf");
+}
+]]></style>
+  <style type="text/css"><![CDATA[
+  div#containing-block
+    {
+      background: red url("support/bg-red-3col-2row-320x320.png");
+      color: transparent;
+      direction: rtl;
+      font: 80px/1 Ahem;
+      height: 320px;
+      position: relative;
+      width: 320px;
+      writing-mode: vertical-rl;
+    }
+
+  div#containing-block > span
+    {
+      background-color: red;
+      color: green;
+      left: auto;
+      position: absolute;
+      right: 1em;
+      width: auto;
+      writing-mode: horizontal-tb;
+    }
+
+/*
+"
+Layout calculation rules (such as those in CSS2.1, Section 10.3) that apply to the horizontal dimension in horizontal writing modes instead apply to the vertical dimension in vertical writing modes.
+"
+7.1 Principles of Layout in Vertical Writing Modes
+http://www.w3.org/TR/css-writing-modes-3/#vertical-layout
+
+So here, *right and *left properties are input into the §10.6.4 algorithms where *right properties refer to *top properties in the layout rules and where *left properties refer to *bottom properties in the layout rules.
+
+"
+3. 'height' and 'bottom' are 'auto' and 'top' is not 'auto', then the height is based on the content per 10.6.7, set 'auto' values for 'margin-top' and 'margin-bottom' to 0, and solve for 'bottom'
+"
+
+'left' + 'margin-left' + 'border-left-width' + 'padding-left' + 'width' + 'padding-right' + 'border-right-width' + 'margin-right' + 'right' = width of containing block
+
+So:
+
+     80px : right
+  +
+      0px : margin-right
+  +
+      0px : border-right-width
+  +
+      0px : padding-right
+  +
+     80px : (based on the content) : width: auto
+  +
+      0px : padding-left
+  +
+      0px : border-left-width
+  +
+      0px : margin-left
+  +
+  (solve) : left: auto
+    =====================
+    320px : width of containing block
+
+And so computed left value must be 160px .
+*/
+
+  ]]></style>
+
+ </head>
+
+ <body>
+
+  <p><img src="support/pass-cdts-abs-pos-non-replaced.png" width="246" height="36" alt="Image download support must be enabled" /></p>
+
+  <div id="containing-block">1 2 34<span>X</span></div>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/abs-pos-non-replaced-vrl-166.xht
@@ -0,0 +1,97 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Writing Modes Test: absolutely positioned non-replaced element - 'direction: ltr' and 'right' is 'auto', 'width' and 'left' are not 'auto'</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+  <link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#vertical-layout" title="7.1 Principles of Layout in Vertical Writing Modes" />
+  <link rel="help" href="http://www.w3.org/TR/CSS21/visudet.html#abs-non-replaced-height" title="10.6.4 Absolutely positioned, non-replaced elements" />
+  <link rel="match" href="abs-pos-non-replaced-vlr-003-ref.xht" />
+
+  <meta name="flags" content="ahem image" />
+  <meta name="assert" content="When 'direction' is 'ltr' and 'right' is 'auto', 'width' and 'left' are not 'auto' and 'writing-mode' is 'vertical-rl', then solve for 'right'." />
+
+<style type="text/css"><![CDATA[
+@font-face {
+  font-family: Ahem;
+  src: url("../../../fonts/Ahem.ttf");
+}
+]]></style>
+  <style type="text/css"><![CDATA[
+  div#containing-block
+    {
+      background: red url("support/bg-red-2col-3row-320x320.png");
+      color: transparent;
+      direction: ltr;
+      font: 80px/1 Ahem;
+      height: 320px;
+      position: relative;
+      width: 320px;
+      writing-mode: vertical-rl;
+    }
+
+  div#containing-block > span
+    {
+      background-color: green;
+      height: 1em;
+      left: 1em;
+      position: absolute;
+      right: auto;
+      width: 1em;
+    }
+
+/*
+"
+Layout calculation rules (such as those in CSS2.1, Section 10.3) that apply to the horizontal dimension in horizontal writing modes instead apply to the vertical dimension in vertical writing modes.
+"
+7.1 Principles of Layout in Vertical Writing Modes
+http://www.w3.org/TR/css-writing-modes-3/#vertical-layout
+
+So here, *right and *left properties are input into the §10.6.4 algorithms where *right properties refer to *top properties in the layout rules and where *left properties refer to *bottom properties in the layout rules.
+
+"
+4. 'top' is 'auto', 'height' and 'bottom' are not 'auto', then set 'auto' values for 'margin-top' and 'margin-bottom' to 0, and solve for 'top'
+"
+
+'left' + 'margin-left' + 'border-left-width' + 'padding-left' + 'width' + 'padding-right' + 'border-right-width' + 'margin-right' + 'right' = width of containing block
+
+So:
+
+  (solve) : right: auto
+  +
+      0px : margin-right
+  +
+      0px : border-right-width
+  +
+      0px : padding-right
+  +
+     80px : width
+  +
+      0px : padding-left
+  +
+      0px : border-left-width
+  +
+      0px : margin-left
+  +
+     80px : left
+    =====================
+    320px : width of containing block
+
+And so computed right value must be 160px .
+*/
+
+  ]]></style>
+
+ </head>
+
+ <body>
+
+  <p><img src="support/pass-cdts-abs-pos-non-replaced.png" width="246" height="36" alt="Image download support must be enabled" /></p>
+
+  <div id="containing-block">1 2 34<span></span></div>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/abs-pos-non-replaced-vrl-168.xht
@@ -0,0 +1,90 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Writing Modes Test: absolutely positioned non-replaced element - 'direction: ltr' and 'top' is 'auto', 'height' and 'bottom' are not 'auto'</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+  <link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#vertical-layout" title="7.1 Principles of Layout in Vertical Writing Modes" />
+  <link rel="help" href="http://www.w3.org/TR/CSS21/visudet.html#abs-non-replaced-height" title="10.6.4 Absolutely positioned, non-replaced elements" />
+  <link rel="match" href="abs-pos-non-replaced-vrl-002-ref.xht" />
+
+  <meta name="flags" content="ahem image" />
+  <meta name="assert" content="When 'direction' is 'ltr' and 'top' is 'auto', 'height' and 'bottom' are not 'auto', then solve for 'top'." />
+
+<style type="text/css"><![CDATA[
+@font-face {
+  font-family: Ahem;
+  src: url("../../../fonts/Ahem.ttf");
+}
+]]></style>
+  <style type="text/css"><![CDATA[
+  div#containing-block
+    {
+      background: red url("support/bg-red-3col-3row-320x320.png");
+      color: transparent;
+      direction: ltr;
+      font: 80px/1 Ahem;
+      height: 320px;
+      position: relative;
+      width: 320px;
+    }
+
+  div#containing-block > span
+    {
+      background-color: green;
+      bottom: 1em;
+      color: green;
+      height: 1em;
+      position: absolute;
+      top: auto;
+      width: 1em;
+      writing-mode: vertical-rl;
+    }
+
+/*
+"
+4. 'top' is 'auto', 'height' and 'bottom' are not 'auto', then set 'auto' values for 'margin-top' and 'margin-bottom' to 0, and solve for 'top'
+"
+
+'top' + 'margin-top' + 'border-top-width' + 'padding-top' + 'height' + 'padding-bottom' + 'border-bottom-width' + 'margin-bottom' + 'bottom' = height of containing block
+
+So:
+
+  (solve) : top: auto
+  +
+      0px : margin-top
+  +
+      0px : border-top-width
+  +
+      0px : padding-top
+  +
+     80px : height
+  +
+      0px : padding-bottom
+  +
+      0px : border-bottom-width
+  +
+      0px : margin-bottom
+  +
+     80px : bottom
+    =====================
+    320px : height of containing block
+
+And so computed top value must be 160px .
+*/
+
+  ]]></style>
+
+ </head>
+
+ <body>
+
+  <p><img src="support/pass-cdts-abs-pos-non-replaced.png" width="246" height="36" alt="Image download support must be enabled" /></p>
+
+  <div id="containing-block">1 2 34<span></span></div>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/abs-pos-non-replaced-vrl-170.xht
@@ -0,0 +1,101 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Writing Modes Test: absolutely positioned non-replaced element - 'direction: ltr' and 'right' is 'auto' and 'width' and 'left' are not 'auto'</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+  <link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#vertical-layout" title="7.1 Principles of Layout in Vertical Writing Modes" />
+  <link rel="help" href="http://www.w3.org/TR/CSS21/visudet.html#abs-non-replaced-height" title="10.6.4 Absolutely positioned, non-replaced elements" />
+  <link rel="match" href="abs-pos-non-replaced-vrl-122-ref.xht" />
+
+  <meta name="flags" content="ahem image" />
+  <meta name="assert" content="When 'direction' is 'ltr' and 'right' is 'auto' and 'width' and 'left' are not 'auto' and 'writing-mode' is 'vertical-rl', then solve for 'left'." />
+
+<style type="text/css"><![CDATA[
+@font-face {
+  font-family: Ahem;
+  src: url("../../../fonts/Ahem.ttf");
+}
+]]></style>
+  <style type="text/css"><![CDATA[
+  html
+    {
+      writing-mode: vertical-rl;
+    }
+
+  div#containing-block
+    {
+      background: red url("support/bg-red-2col-3row-320x320.png");
+      color: transparent;
+      direction: ltr;
+      font: 80px/1 Ahem;
+      height: 320px;
+      position: relative;
+      width: 320px;
+    }
+
+  div#containing-block > span
+    {
+      background-color: green;
+      height: 1em;
+      left: 1em;
+      position: absolute;
+      right: auto;
+      width: 1em;
+    }
+
+/*
+"
+Layout calculation rules (such as those in CSS2.1, Section 10.3) that apply to the horizontal dimension in horizontal writing modes instead apply to the vertical dimension in vertical writing modes.
+"
+7.1 Principles of Layout in Vertical Writing Modes
+http://www.w3.org/TR/css-writing-modes-3/#vertical-layout
+
+So here, *right and *left properties are input into the §10.6.4 algorithms where *right properties refer to *top properties in the layout rules and where *left properties refer to *bottom properties in the layout rules.
+
+"
+4. 'top' is 'auto', 'height' and 'bottom' are not 'auto', then set 'auto' values for 'margin-top' and 'margin-bottom' to 0, and solve for 'top'
+"
+
+'left' + 'margin-left' + 'border-left-width' + 'padding-left' + 'width' + 'padding-right' + 'border-right-width' + 'margin-right' + 'right' = width of containing block
+
+So:
+
+  (solve) : right: auto
+  +
+      0px : margin-right
+  +
+      0px : border-right-width
+  +
+      0px : padding-right
+  +
+     80px : width
+  +
+      0px : padding-left
+  +
+      0px : border-left-width
+  +
+      0px : margin-left
+  +
+     80px : left
+    =====================
+    320px : width of containing block
+
+And so computed right value must be 160px .
+*/
+
+  ]]></style>
+
+ </head>
+
+ <body>
+
+  <p><img src="support/pass-cdts-abs-pos-non-replaced.png" width="246" height="36" alt="Image download support must be enabled" /></p>
+
+  <div id="containing-block">1 2 34<span></span></div>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/abs-pos-non-replaced-vrl-172.xht
@@ -0,0 +1,98 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Writing Modes Test: absolutely positioned non-replaced element - 'direction: ltr' and 'right' is 'auto' and 'width' and 'left' are not 'auto'</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+  <link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#vertical-layout" title="7.1 Principles of Layout in Vertical Writing Modes" />
+  <link rel="help" href="http://www.w3.org/TR/CSS21/visudet.html#abs-non-replaced-height" title="10.6.4 Absolutely positioned, non-replaced elements" />
+  <link rel="match" href="abs-pos-non-replaced-vlr-003-ref.xht" />
+
+  <meta name="flags" content="ahem image" />
+  <meta name="assert" content="When 'direction' is 'ltr' and 'right' is 'auto' and 'width' and 'left' are not 'auto' and 'writing-mode' is 'vertical-rl', then solve for 'left'." />
+
+<style type="text/css"><![CDATA[
+@font-face {
+  font-family: Ahem;
+  src: url("../../../fonts/Ahem.ttf");
+}
+]]></style>
+  <style type="text/css"><![CDATA[
+  div#containing-block
+    {
+      background: red url("support/bg-red-2col-3row-320x320.png");
+      color: transparent;
+      direction: ltr;
+      font: 80px/1 Ahem;
+      height: 320px;
+      position: relative;
+      width: 320px;
+      writing-mode: vertical-rl;
+    }
+
+  div#containing-block > span
+    {
+      background-color: green;
+      height: 1em;
+      left: 1em;
+      position: absolute;
+      right: auto;
+      width: 1em;
+      writing-mode: horizontal-tb;
+    }
+
+/*
+"
+Layout calculation rules (such as those in CSS2.1, Section 10.3) that apply to the horizontal dimension in horizontal writing modes instead apply to the vertical dimension in vertical writing modes.
+"
+7.1 Principles of Layout in Vertical Writing Modes
+http://www.w3.org/TR/css-writing-modes-3/#vertical-layout
+
+So here, *right and *left properties are input into the §10.6.4 algorithms where *right properties refer to *top properties in the layout rules and where *left properties refer to *bottom properties in the layout rules.
+
+"
+4. 'top' is 'auto', 'height' and 'bottom' are not 'auto', then set 'auto' values for 'margin-top' and 'margin-bottom' to 0, and solve for 'top'
+"
+
+'left' + 'margin-left' + 'border-left-width' + 'padding-left' + 'width' + 'padding-right' + 'border-right-width' + 'margin-right' + 'right' = width of containing block
+
+So:
+
+  (solve) : right: auto
+  +
+      0px : margin-right
+  +
+      0px : border-right-width
+  +
+      0px : padding-right
+  +
+     80px : width
+  +
+      0px : padding-left
+  +
+      0px : border-left-width
+  +
+      0px : margin-left
+  +
+     80px : left
+    =====================
+    320px : width of containing block
+
+And so computed right value must be 160px .
+*/
+
+  ]]></style>
+
+ </head>
+
+ <body>
+
+  <p><img src="support/pass-cdts-abs-pos-non-replaced.png" width="246" height="36" alt="Image download support must be enabled" /></p>
+
+  <div id="containing-block">1 2 34<span></span></div>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/abs-pos-non-replaced-vrl-174.xht
@@ -0,0 +1,97 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Writing Modes Test: absolutely positioned non-replaced element - 'direction: rtl' and 'right' is 'auto' and 'width' and 'left' are not 'auto'</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+  <link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#vertical-layout" title="7.1 Principles of Layout in Vertical Writing Modes" />
+  <link rel="help" href="http://www.w3.org/TR/CSS21/visudet.html#abs-non-replaced-height" title="10.6.4 Absolutely positioned, non-replaced elements" />
+  <link rel="match" href="abs-pos-non-replaced-vlr-009-ref.xht" />
+
+  <meta name="flags" content="ahem image" />
+  <meta name="assert" content="When 'direction' is 'rtl' and 'right' is 'auto' and 'width' and 'left' are not 'auto' and 'writing-mode' is 'vertical-rl', then solve for 'left'." />
+
+<style type="text/css"><![CDATA[
+@font-face {
+  font-family: Ahem;
+  src: url("../../../fonts/Ahem.ttf");
+}
+]]></style>
+  <style type="text/css"><![CDATA[
+  div#containing-block
+    {
+      background: red url("support/bg-red-2col-2row-320x320.png");
+      color: transparent;
+      direction: rtl;
+      font: 80px/1 Ahem;
+      height: 320px;
+      position: relative;
+      width: 320px;
+      writing-mode: vertical-rl;
+    }
+
+  div#containing-block > span
+    {
+      background-color: green;
+      height: 1em;
+      left: 1em;
+      position: absolute;
+      right: auto;
+      width: 1em;
+    }
+
+/*
+"
+Layout calculation rules (such as those in CSS2.1, Section 10.3) that apply to the horizontal dimension in horizontal writing modes instead apply to the vertical dimension in vertical writing modes.
+"
+7.1 Principles of Layout in Vertical Writing Modes
+http://www.w3.org/TR/css-writing-modes-3/#vertical-layout
+
+So here, *right and *left properties are input into the §10.6.4 algorithms where *right properties refer to *top properties in the layout rules and where *left properties refer to *bottom properties in the layout rules.
+
+"
+4. 'top' is 'auto', 'height' and 'bottom' are not 'auto', then set 'auto' values for 'margin-top' and 'margin-bottom' to 0, and solve for 'top'
+"
+
+'left' + 'margin-left' + 'border-left-width' + 'padding-left' + 'width' + 'padding-right' + 'border-right-width' + 'margin-right' + 'right' = width of containing block
+
+So:
+
+  (solve) : right: auto
+  +
+      0px : margin-right
+  +
+      0px : border-right-width
+  +
+      0px : padding-right
+  +
+     80px : width
+  +
+      0px : padding-left
+  +
+      0px : border-left-width
+  +
+      0px : margin-left
+  +
+     80px : left
+    =====================
+    320px : width of containing block
+
+And so computed right value must be 160px .
+*/
+
+  ]]></style>
+
+ </head>
+
+ <body>
+
+  <p><img src="support/pass-cdts-abs-pos-non-replaced.png" width="246" height="36" alt="Image download support must be enabled" /></p>
+
+  <div id="containing-block">1 2 34<span></span></div>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/abs-pos-non-replaced-vrl-176.xht
@@ -0,0 +1,89 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Writing Modes Test: absolutely positioned non-replaced element - 'direction: rtl' and 'top' is 'auto', 'height' and 'bottom' are not 'auto'</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+  <link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#vertical-layout" title="7.1 Principles of Layout in Vertical Writing Modes" />
+  <link rel="help" href="http://www.w3.org/TR/CSS21/visudet.html#abs-non-replaced-height" title="10.6.4 Absolutely positioned, non-replaced elements" />
+  <link rel="match" href="abs-pos-non-replaced-vlr-003-ref.xht" />
+
+  <meta name="flags" content="ahem image" />
+  <meta name="assert" content="When 'direction' is 'rtl' and 'top' is 'auto', 'height' and 'bottom' are not 'auto', then then solve for 'top'." />
+
+<style type="text/css"><![CDATA[
+@font-face {
+  font-family: Ahem;
+  src: url("../../../fonts/Ahem.ttf");
+}
+]]></style>
+  <style type="text/css"><![CDATA[
+  div#containing-block
+    {
+      background: red url("support/bg-red-2col-3row-320x320.png");
+      color: transparent;
+      direction: rtl;
+      font: 80px/1 Ahem;
+      height: 320px;
+      position: relative;
+      width: 320px;
+    }
+
+  div#containing-block > span
+    {
+      background-color: green;
+      bottom: 1em;
+      height: 1em;
+      position: absolute;
+      top: auto;
+      width: 1em;
+      writing-mode: vertical-rl;
+    }
+
+/*
+"
+4. 'top' is 'auto', 'height' and 'bottom' are not 'auto', then set 'auto' values for 'margin-top' and 'margin-bottom' to 0, and solve for 'top'
+"
+
+'top' + 'margin-top' + 'border-top-width' + 'padding-top' + 'height' + 'padding-bottom' + 'border-bottom-width' + 'margin-bottom' + 'bottom' = height of containing block
+
+So:
+
+  (solve) : top: auto
+  +
+      0px : margin-top
+  +
+      0px : border-top-width
+  +
+      0px : padding-top
+  +
+     80px : height
+  +
+      0px : padding-bottom
+  +
+      0px : border-bottom-width
+  +
+      0px : margin-bottom
+  +
+     80px : bottom
+    =====================
+    320px : height of containing block
+
+And so computed top value must be 160px .
+*/
+
+  ]]></style>
+
+ </head>
+
+ <body>
+
+  <p><img src="support/pass-cdts-abs-pos-non-replaced.png" width="246" height="36" alt="Image download support must be enabled" /></p>
+
+  <div id="containing-block">1 2 34<span></span></div>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/abs-pos-non-replaced-vrl-178.xht
@@ -0,0 +1,101 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Writing Modes Test: absolutely positioned non-replaced element - 'direction: rtl' and 'right' is 'auto' and 'width' and 'left' are not 'auto'</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+  <link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#vertical-layout" title="7.1 Principles of Layout in Vertical Writing Modes" />
+  <link rel="help" href="http://www.w3.org/TR/CSS21/visudet.html#abs-non-replaced-height" title="10.6.4 Absolutely positioned, non-replaced elements" />
+  <link rel="match" href="abs-pos-non-replaced-vrl-130-ref.xht" />
+
+  <meta name="flags" content="ahem image" />
+  <meta name="assert" content="When 'direction' is 'rtl' and 'right' is 'auto' and 'width' and 'left' are not 'auto' and 'writing-mode' is 'vertical-rl', then solve for 'left'." />
+
+<style type="text/css"><![CDATA[
+@font-face {
+  font-family: Ahem;
+  src: url("../../../fonts/Ahem.ttf");
+}
+]]></style>
+  <style type="text/css"><![CDATA[
+  html
+    {
+      writing-mode: vertical-rl;
+    }
+
+  div#containing-block
+    {
+      background: red url("support/bg-red-2col-2row-320x320.png");
+      color: transparent;
+      direction: rtl;
+      font: 80px/1 Ahem;
+      height: 320px;
+      position: relative;
+      width: 320px;
+    }
+
+  div#containing-block > span
+    {
+      background-color: green;
+      height: 1em;
+      left: 1em;
+      position: absolute;
+      right: auto;
+      width: 1em;
+    }
+
+/*
+"
+Layout calculation rules (such as those in CSS2.1, Section 10.3) that apply to the horizontal dimension in horizontal writing modes instead apply to the vertical dimension in vertical writing modes.
+"
+7.1 Principles of Layout in Vertical Writing Modes
+http://www.w3.org/TR/css-writing-modes-3/#vertical-layout
+
+So here, *right and *left properties are input into the §10.6.4 algorithms where *right properties refer to *top properties in the layout rules and where *left properties refer to *bottom properties in the layout rules.
+
+"
+4. 'top' is 'auto', 'height' and 'bottom' are not 'auto', then set 'auto' values for 'margin-top' and 'margin-bottom' to 0, and solve for 'top'
+"
+
+'left' + 'margin-left' + 'border-left-width' + 'padding-left' + 'width' + 'padding-right' + 'border-right-width' + 'margin-right' + 'right' = width of containing block
+
+So:
+
+  (solve) : right: auto
+  +
+      0px : margin-right
+  +
+      0px : border-right-width
+  +
+      0px : padding-right
+  +
+     80px : width
+  +
+      0px : padding-left
+  +
+      0px : border-left-width
+  +
+      0px : margin-left
+  +
+     80px : left
+    =====================
+    320px : width of containing block
+
+And so computed right value must be 160px .
+*/
+
+  ]]></style>
+
+ </head>
+
+ <body>
+
+  <p><img src="support/pass-cdts-abs-pos-non-replaced.png" width="246" height="36" alt="Image download support must be enabled" /></p>
+
+  <div id="containing-block">1 2 34<span></span></div>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/abs-pos-non-replaced-vrl-180.xht
@@ -0,0 +1,98 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Writing Modes Test: absolutely positioned non-replaced element - 'direction: rtl' and 'right' is 'auto' and 'width' and 'left' are not 'auto'</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+  <link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#vertical-layout" title="7.1 Principles of Layout in Vertical Writing Modes" />
+  <link rel="help" href="http://www.w3.org/TR/CSS21/visudet.html#abs-non-replaced-height" title="10.6.4 Absolutely positioned, non-replaced elements" />
+  <link rel="match" href="abs-pos-non-replaced-vlr-009-ref.xht" />
+
+  <meta name="flags" content="ahem image" />
+  <meta name="assert" content="When 'direction' is 'rtl' and 'right' is 'auto' and 'width' and 'left' are not 'auto' and 'writing-mode' is 'vertical-rl', then solve for 'left'." />
+
+<style type="text/css"><![CDATA[
+@font-face {
+  font-family: Ahem;
+  src: url("../../../fonts/Ahem.ttf");
+}
+]]></style>
+  <style type="text/css"><![CDATA[
+  div#containing-block
+    {
+      background: red url("support/bg-red-2col-2row-320x320.png");
+      color: transparent;
+      direction: rtl;
+      font: 80px/1 Ahem;
+      height: 320px;
+      position: relative;
+      width: 320px;
+      writing-mode: vertical-rl;
+    }
+
+  div#containing-block > span
+    {
+      background-color: green;
+      height: 1em;
+      left: 1em;
+      position: absolute;
+      right: auto;
+      width: 1em;
+      writing-mode: horizontal-tb;
+    }
+
+/*
+"
+Layout calculation rules (such as those in CSS2.1, Section 10.3) that apply to the horizontal dimension in horizontal writing modes instead apply to the vertical dimension in vertical writing modes.
+"
+7.1 Principles of Layout in Vertical Writing Modes
+http://www.w3.org/TR/css-writing-modes-3/#vertical-layout
+
+So here, *right and *left properties are input into the §10.6.4 algorithms where *right properties refer to *top properties in the layout rules and where *left properties refer to *bottom properties in the layout rules.
+
+"
+4. 'top' is 'auto', 'height' and 'bottom' are not 'auto', then set 'auto' values for 'margin-top' and 'margin-bottom' to 0, and solve for 'top'
+"
+
+'left' + 'margin-left' + 'border-left-width' + 'padding-left' + 'width' + 'padding-right' + 'border-right-width' + 'margin-right' + 'right' = width of containing block
+
+So:
+
+  (solve) : right: auto
+  +
+      0px : margin-right
+  +
+      0px : border-right-width
+  +
+      0px : padding-right
+  +
+     80px : width
+  +
+      0px : padding-left
+  +
+      0px : border-left-width
+  +
+      0px : margin-left
+  +
+     80px : left
+    =====================
+    320px : width of containing block
+
+And so computed right value must be 160px .
+*/
+
+  ]]></style>
+
+ </head>
+
+ <body>
+
+  <p><img src="support/pass-cdts-abs-pos-non-replaced.png" width="246" height="36" alt="Image download support must be enabled" /></p>
+
+  <div id="containing-block">1 2 34<span></span></div>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/abs-pos-non-replaced-vrl-182.xht
@@ -0,0 +1,97 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Writing Modes Test: absolutely positioned non-replaced element - 'direction: ltr' and 'width' is 'auto' and 'left' and 'right' are not 'auto'</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+  <link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#vertical-layout" title="7.1 Principles of Layout in Vertical Writing Modes" />
+  <link rel="help" href="http://www.w3.org/TR/CSS21/visudet.html#abs-non-replaced-height" title="10.6.4 Absolutely positioned, non-replaced elements" />
+  <link rel="match" href="abs-pos-non-replaced-vlr-003-ref.xht" />
+
+  <meta name="flags" content="ahem image" />
+  <meta name="assert" content="When 'direction' is 'ltr' and 'right' is 'auto', 'width' and 'left' are not 'auto' and 'writing-mode' is 'vertical-rl', then solve for 'width'." />
+
+<style type="text/css"><![CDATA[
+@font-face {
+  font-family: Ahem;
+  src: url("../../../fonts/Ahem.ttf");
+}
+]]></style>
+  <style type="text/css"><![CDATA[
+  div#containing-block
+    {
+      background: red url("support/bg-red-2col-3row-320x320.png");
+      color: transparent;
+      direction: ltr;
+      font: 80px/1 Ahem;
+      height: 320px;
+      position: relative;
+      width: 320px;
+      writing-mode: vertical-rl;
+    }
+
+  div#containing-block > span
+    {
+      background-color: green;
+      height: 1em;
+      left: 1em;
+      position: absolute;
+      right: 2em;
+      width: auto;
+    }
+
+/*
+"
+Layout calculation rules (such as those in CSS2.1, Section 10.3) that apply to the horizontal dimension in horizontal writing modes instead apply to the vertical dimension in vertical writing modes.
+"
+7.1 Principles of Layout in Vertical Writing Modes
+http://www.w3.org/TR/css-writing-modes-3/#vertical-layout
+
+So here, *right and *left properties are input into the §10.6.4 algorithms where *right properties refer to *top properties in the layout rules and where *left properties refer to *bottom properties in the layout rules.
+
+"
+5. 'height' is 'auto', 'top' and 'bottom' are not 'auto', then 'auto' values for 'margin-top' and 'margin-bottom' are set to 0 and solve for 'height'
+"
+
+'left' + 'margin-left' + 'border-left-width' + 'padding-left' + 'width' + 'padding-right' + 'border-right-width' + 'margin-right' + 'right' = width of containing block
+
+So:
+
+    160px : right
+  +
+      0px : margin-right
+  +
+      0px : border-right-width
+  +
+      0px : padding-right
+  +
+  (solve) : width: auto
+  +
+      0px : padding-left
+  +
+      0px : border-left-width
+  +
+      0px : margin-left
+  +
+     80px : left
+    =====================
+    320px : width of containing block
+
+And so computed width value must be 80px .
+*/
+
+  ]]></style>
+
+ </head>
+
+ <body>
+
+  <p><img src="support/pass-cdts-abs-pos-non-replaced.png" width="246" height="36" alt="Image download support must be enabled" /></p>
+
+  <div id="containing-block">1 2 34<span></span></div>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/abs-pos-non-replaced-vrl-184.xht
@@ -0,0 +1,89 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Writing Modes Test: absolutely positioned non-replaced element - 'direction: ltr' and 'height' is 'auto', 'top' and 'bottom' are not 'auto'</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+  <link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#vertical-layout" title="7.1 Principles of Layout in Vertical Writing Modes" />
+  <link rel="help" href="http://www.w3.org/TR/CSS21/visudet.html#abs-non-replaced-height" title="10.6.4 Absolutely positioned, non-replaced elements" />
+  <link rel="match" href="abs-pos-non-replaced-vrl-002-ref.xht" />
+
+  <meta name="flags" content="ahem image" />
+  <meta name="assert" content="When 'direction' is 'ltr' and 'height' is 'auto', 'top' and 'bottom' are not 'auto', then solve for 'height'." />
+
+<style type="text/css"><![CDATA[
+@font-face {
+  font-family: Ahem;
+  src: url("../../../fonts/Ahem.ttf");
+}
+]]></style>
+  <style type="text/css"><![CDATA[
+  div#containing-block
+    {
+      background: red url("support/bg-red-3col-3row-320x320.png");
+      color: transparent;
+      direction: ltr;
+      font: 80px/1 Ahem;
+      height: 320px;
+      position: relative;
+      width: 320px;
+    }
+
+  div#containing-block > span
+    {
+      background-color: green;
+      bottom: 1em;
+      height: auto;
+      position: absolute;
+      top: 2em;
+      width: 1em;
+      writing-mode: vertical-rl;
+    }
+
+/*
+"
+5. 'height' is 'auto', 'top' and 'bottom' are not 'auto', then 'auto' values for 'margin-top' and 'margin-bottom' are set to 0 and solve for 'height'
+"
+
+'top' + 'margin-top' + 'border-top-width' + 'padding-top' + 'height' + 'padding-bottom' + 'border-bottom-width' + 'margin-bottom' + 'bottom' = height of containing block
+
+So:
+
+    160px : top
+  +
+      0px : margin-top
+  +
+      0px : border-top-width
+  +
+      0px : padding-top
+  +
+  (solve) : height : auto
+  +
+      0px : padding-bottom
+  +
+      0px : border-bottom-width
+  +
+      0px : margin-bottom
+  +
+     80px : bottom
+    =====================
+    320px : height of containing block
+
+And so computed height value must be 160px .
+*/
+
+  ]]></style>
+
+ </head>
+
+ <body>
+
+  <p><img src="support/pass-cdts-abs-pos-non-replaced.png" width="246" height="36" alt="Image download support must be enabled" /></p>
+
+  <div id="containing-block">1 2 34<span></span></div>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/abs-pos-non-replaced-vrl-186.xht
@@ -0,0 +1,101 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Writing Modes Test: absolutely positioned non-replaced element - 'direction: ltr' and 'width' is 'auto' and 'left' and 'right' are not 'auto'</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+  <link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#vertical-layout" title="7.1 Principles of Layout in Vertical Writing Modes" />
+  <link rel="help" href="http://www.w3.org/TR/CSS21/visudet.html#abs-non-replaced-height" title="10.6.4 Absolutely positioned, non-replaced elements" />
+  <link rel="match" href="abs-pos-non-replaced-vrl-122-ref.xht" />
+
+  <meta name="flags" content="ahem image" />
+  <meta name="assert" content="When 'direction' is 'ltr' and 'width' is 'auto' and 'left' and 'right' are not 'auto' and 'writing-mode' is 'vertical-rl', then solve for 'width'." />
+
+<style type="text/css"><![CDATA[
+@font-face {
+  font-family: Ahem;
+  src: url("../../../fonts/Ahem.ttf");
+}
+]]></style>
+  <style type="text/css"><![CDATA[
+  html
+    {
+      writing-mode: vertical-rl;
+    }
+
+  div#containing-block
+    {
+      background: red url("support/bg-red-2col-3row-320x320.png");
+      color: transparent;
+      direction: ltr;
+      font: 80px/1 Ahem;
+      height: 320px;
+      position: relative;
+      width: 320px;
+    }
+
+  div#containing-block > span
+    {
+      background-color: green;
+      height: 1em;
+      left: 1em;
+      position: absolute;
+      right: 2em;
+      width: auto;
+    }
+
+/*
+"
+Layout calculation rules (such as those in CSS2.1, Section 10.3) that apply to the horizontal dimension in horizontal writing modes instead apply to the vertical dimension in vertical writing modes.
+"
+7.1 Principles of Layout in Vertical Writing Modes
+http://www.w3.org/TR/css-writing-modes-3/#vertical-layout
+
+So here, *right and *left properties are input into the §10.6.4 algorithms where *right properties refer to *top properties in the layout rules and where *left properties refer to *bottom properties in the layout rules.
+
+"
+5. 'height' is 'auto', 'top' and 'bottom' are not 'auto', then 'auto' values for 'margin-top' and 'margin-bottom' are set to 0 and solve for 'height'
+"
+
+'left' + 'margin-left' + 'border-left-width' + 'padding-left' + 'width' + 'padding-right' + 'border-right-width' + 'margin-right' + 'right' = width of containing block
+
+So:
+
+    160px : right
+  +
+      0px : margin-right
+  +
+      0px : border-right-width
+  +
+      0px : padding-right
+  +
+  (solve) : width: auto
+  +
+      0px : padding-left
+  +
+      0px : border-left-width
+  +
+      0px : margin-left
+  +
+     80px : left
+    =====================
+    320px : width of containing block
+
+And so computed width value must be 80px .
+*/
+
+  ]]></style>
+
+ </head>
+
+ <body>
+
+  <p><img src="support/pass-cdts-abs-pos-non-replaced.png" width="246" height="36" alt="Image download support must be enabled" /></p>
+
+  <div id="containing-block">1 2 34<span></span></div>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/abs-pos-non-replaced-vrl-188.xht
@@ -0,0 +1,98 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Writing Modes Test: absolutely positioned non-replaced element - 'direction: ltr' and 'width' is 'auto' and 'left' and 'right' are not 'auto'</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+  <link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#vertical-layout" title="7.1 Principles of Layout in Vertical Writing Modes" />
+  <link rel="help" href="http://www.w3.org/TR/CSS21/visudet.html#abs-non-replaced-height" title="10.6.4 Absolutely positioned, non-replaced elements" />
+  <link rel="match" href="abs-pos-non-replaced-vlr-003-ref.xht" />
+
+  <meta name="flags" content="ahem image" />
+  <meta name="assert" content="When 'direction' is 'ltr' and 'width' is 'auto' and 'left' and 'right' are not 'auto' and 'writing-mode' is 'vertical-rl', then solve for 'width'." />
+
+<style type="text/css"><![CDATA[
+@font-face {
+  font-family: Ahem;
+  src: url("../../../fonts/Ahem.ttf");
+}
+]]></style>
+  <style type="text/css"><![CDATA[
+  div#containing-block
+    {
+      background: red url("support/bg-red-2col-3row-320x320.png");
+      color: transparent;
+      direction: ltr;
+      font: 80px/1 Ahem;
+      height: 320px;
+      position: relative;
+      width: 320px;
+      writing-mode: vertical-rl;
+    }
+
+  div#containing-block > span
+    {
+      background-color: green;
+      height: 1em;
+      left: 1em;
+      position: absolute;
+      right: 2em;
+      width: auto;
+      writing-mode: horizontal-tb;
+    }
+
+/*
+"
+Layout calculation rules (such as those in CSS2.1, Section 10.3) that apply to the horizontal dimension in horizontal writing modes instead apply to the vertical dimension in vertical writing modes.
+"
+7.1 Principles of Layout in Vertical Writing Modes
+http://www.w3.org/TR/css-writing-modes-3/#vertical-layout
+
+So here, *right and *left properties are input into the §10.6.4 algorithms where *right properties refer to *top properties in the layout rules and where *left properties refer to *bottom properties in the layout rules.
+
+"
+5. 'height' is 'auto', 'top' and 'bottom' are not 'auto', then 'auto' values for 'margin-top' and 'margin-bottom' are set to 0 and solve for 'height'
+"
+
+'left' + 'margin-left' + 'border-left-width' + 'padding-left' + 'width' + 'padding-right' + 'border-right-width' + 'margin-right' + 'right' = width of containing block
+
+So:
+
+    160px : right
+  +
+      0px : margin-right
+  +
+      0px : border-right-width
+  +
+      0px : padding-right
+  +
+  (solve) : width: auto
+  +
+      0px : padding-left
+  +
+      0px : border-left-width
+  +
+      0px : margin-left
+  +
+     80px : left
+    =====================
+    320px : width of containing block
+
+And so computed width value must be 80px .
+*/
+
+  ]]></style>
+
+ </head>
+
+ <body>
+
+  <p><img src="support/pass-cdts-abs-pos-non-replaced.png" width="246" height="36" alt="Image download support must be enabled" /></p>
+
+  <div id="containing-block">1 2 34<span></span></div>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/abs-pos-non-replaced-vrl-190.xht
@@ -0,0 +1,97 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Writing Modes Test: absolutely positioned non-replaced element - 'direction: rtl' and 'width' is 'auto' and 'left' and 'right' are not 'auto'</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+  <link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#vertical-layout" title="7.1 Principles of Layout in Vertical Writing Modes" />
+  <link rel="help" href="http://www.w3.org/TR/CSS21/visudet.html#abs-non-replaced-height" title="10.6.4 Absolutely positioned, non-replaced elements" />
+  <link rel="match" href="abs-pos-non-replaced-vlr-009-ref.xht" />
+
+  <meta name="flags" content="ahem image" />
+  <meta name="assert" content="When 'direction' is 'rtl' and 'width' is 'auto' and 'left' and 'right' are not 'auto' and 'writing-mode' is 'vertical-rl', then solve for 'width'." />
+
+<style type="text/css"><![CDATA[
+@font-face {
+  font-family: Ahem;
+  src: url("../../../fonts/Ahem.ttf");
+}
+]]></style>
+  <style type="text/css"><![CDATA[
+  div#containing-block
+    {
+      background: red url("support/bg-red-2col-2row-320x320.png");
+      color: transparent;
+      direction: rtl;
+      font: 80px/1 Ahem;
+      height: 320px;
+      position: relative;
+      width: 320px;
+      writing-mode: vertical-rl;
+    }
+
+  div#containing-block > span
+    {
+      background-color: green;
+      height: 1em;
+      left: 1em;
+      position: absolute;
+      right: 2em;
+      width: auto;
+    }
+
+/*
+"
+Layout calculation rules (such as those in CSS2.1, Section 10.3) that apply to the horizontal dimension in horizontal writing modes instead apply to the vertical dimension in vertical writing modes.
+"
+7.1 Principles of Layout in Vertical Writing Modes
+http://www.w3.org/TR/css-writing-modes-3/#vertical-layout
+
+So here, *right and *left properties are input into the §10.6.4 algorithms where *right properties refer to *top properties in the layout rules and where *left properties refer to *bottom properties in the layout rules.
+
+"
+5. 'height' is 'auto', 'top' and 'bottom' are not 'auto', then 'auto' values for 'margin-top' and 'margin-bottom' are set to 0 and solve for 'height'
+"
+
+'left' + 'margin-left' + 'border-left-width' + 'padding-left' + 'width' + 'padding-right' + 'border-right-width' + 'margin-right' + 'right' = width of containing block
+
+So:
+
+    160px : right
+  +
+      0px : margin-right
+  +
+      0px : border-right-width
+  +
+      0px : padding-right
+  +
+  (solve) : width: auto
+  +
+      0px : padding-left
+  +
+      0px : border-left-width
+  +
+      0px : margin-left
+  +
+     80px : left
+    =====================
+    320px : width of containing block
+
+And so computed width value must be 80px .
+*/
+
+  ]]></style>
+
+ </head>
+
+ <body>
+
+  <p><img src="support/pass-cdts-abs-pos-non-replaced.png" width="246" height="36" alt="Image download support must be enabled" /></p>
+
+  <div id="containing-block">1 2 34<span></span></div>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/abs-pos-non-replaced-vrl-192.xht
@@ -0,0 +1,89 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Writing Modes Test: absolutely positioned non-replaced element - 'direction: rtl' and 'height' is 'auto', 'top' and 'bottom' are not 'auto'</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+  <link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#vertical-layout" title="7.1 Principles of Layout in Vertical Writing Modes" />
+  <link rel="help" href="http://www.w3.org/TR/CSS21/visudet.html#abs-non-replaced-height" title="10.6.4 Absolutely positioned, non-replaced elements" />
+  <link rel="match" href="abs-pos-non-replaced-vlr-003-ref.xht" />
+
+  <meta name="flags" content="ahem image" />
+  <meta name="assert" content="When 'direction' is 'rtl' and 'height' is 'auto', 'top' and 'bottom' are not 'auto', then then solve for 'height'." />
+
+<style type="text/css"><![CDATA[
+@font-face {
+  font-family: Ahem;
+  src: url("../../../fonts/Ahem.ttf");
+}
+]]></style>
+  <style type="text/css"><![CDATA[
+  div#containing-block
+    {
+      background: red url("support/bg-red-2col-3row-320x320.png");
+      color: transparent;
+      direction: rtl;
+      font: 80px/1 Ahem;
+      height: 320px;
+      position: relative;
+      width: 320px;
+    }
+
+  div#containing-block > span
+    {
+      background-color: green;
+      bottom: 1em;
+      height: auto;
+      position: absolute;
+      top: 2em;
+      width: 1em;
+      writing-mode: vertical-rl;
+    }
+
+/*
+"
+5. 'height' is 'auto', 'top' and 'bottom' are not 'auto', then 'auto' values for 'margin-top' and 'margin-bottom' are set to 0 and solve for 'height'
+"
+
+'top' + 'margin-top' + 'border-top-width' + 'padding-top' + 'height' + 'padding-bottom' + 'border-bottom-width' + 'margin-bottom' + 'bottom' = height of containing block
+
+So:
+
+    160px : top
+  +
+      0px : margin-top
+  +
+      0px : border-top-width
+  +
+      0px : padding-top
+  +
+  (solve) : height : auto
+  +
+      0px : padding-bottom
+  +
+      0px : border-bottom-width
+  +
+      0px : margin-bottom
+  +
+     80px : bottom
+    =====================
+    320px : height of containing block
+
+And so computed height value must be 160px .
+*/
+
+  ]]></style>
+
+ </head>
+
+ <body>
+
+  <p><img src="support/pass-cdts-abs-pos-non-replaced.png" width="246" height="36" alt="Image download support must be enabled" /></p>
+
+  <div id="containing-block">1 2 34<span></span></div>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/abs-pos-non-replaced-vrl-194.xht
@@ -0,0 +1,101 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Writing Modes Test: absolutely positioned non-replaced element - 'direction: rtl' and 'width' is 'auto' and 'left' and 'right' are not 'auto'</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+  <link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#vertical-layout" title="7.1 Principles of Layout in Vertical Writing Modes" />
+  <link rel="help" href="http://www.w3.org/TR/CSS21/visudet.html#abs-non-replaced-height" title="10.6.4 Absolutely positioned, non-replaced elements" />
+  <link rel="match" href="abs-pos-non-replaced-vrl-130-ref.xht" />
+
+  <meta name="flags" content="ahem image" />
+  <meta name="assert" content="When 'direction' is 'rtl' and 'width' is 'auto' and 'left' and 'right' are not 'auto' and 'writing-mode' is 'vertical-rl', then solve for 'width'." />
+
+<style type="text/css"><![CDATA[
+@font-face {
+  font-family: Ahem;
+  src: url("../../../fonts/Ahem.ttf");
+}
+]]></style>
+  <style type="text/css"><![CDATA[
+  html
+    {
+      writing-mode: vertical-rl;
+    }
+
+  div#containing-block
+    {
+      background: red url("support/bg-red-2col-2row-320x320.png");
+      color: transparent;
+      direction: rtl;
+      font: 80px/1 Ahem;
+      height: 320px;
+      position: relative;
+      width: 320px;
+    }
+
+  div#containing-block > span
+    {
+      background-color: green;
+      height: 1em;
+      left: 1em;
+      position: absolute;
+      right: 2em;
+      width: auto;
+    }
+
+/*
+"
+Layout calculation rules (such as those in CSS2.1, Section 10.3) that apply to the horizontal dimension in horizontal writing modes instead apply to the vertical dimension in vertical writing modes.
+"
+7.1 Principles of Layout in Vertical Writing Modes
+http://www.w3.org/TR/css-writing-modes-3/#vertical-layout
+
+So here, *right and *left properties are input into the §10.6.4 algorithms where *right properties refer to *top properties in the layout rules and where *left properties refer to *bottom properties in the layout rules.
+
+"
+5. 'height' is 'auto', 'top' and 'bottom' are not 'auto', then 'auto' values for 'margin-top' and 'margin-bottom' are set to 0 and solve for 'height'
+"
+
+'left' + 'margin-left' + 'border-left-width' + 'padding-left' + 'width' + 'padding-right' + 'border-right-width' + 'margin-right' + 'right' = width of containing block
+
+So:
+
+    160px : right
+  +
+      0px : margin-right
+  +
+      0px : border-right-width
+  +
+      0px : padding-right
+  +
+  (solve) : width: auto
+  +
+      0px : padding-left
+  +
+      0px : border-left-width
+  +
+      0px : margin-left
+  +
+     80px : left
+    =====================
+    320px : width of containing block
+
+And so computed width value must be 80px .
+*/
+
+  ]]></style>
+
+ </head>
+
+ <body>
+
+  <p><img src="support/pass-cdts-abs-pos-non-replaced.png" width="246" height="36" alt="Image download support must be enabled" /></p>
+
+  <div id="containing-block">1 2 34<span></span></div>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/abs-pos-non-replaced-vrl-196.xht
@@ -0,0 +1,98 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Writing Modes Test: absolutely positioned non-replaced element - 'direction: rtl' and 'width' is 'auto' and 'left' and 'right' are not 'auto'</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+  <link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#vertical-layout" title="7.1 Principles of Layout in Vertical Writing Modes" />
+  <link rel="help" href="http://www.w3.org/TR/CSS21/visudet.html#abs-non-replaced-height" title="10.6.4 Absolutely positioned, non-replaced elements" />
+  <link rel="match" href="abs-pos-non-replaced-vlr-009-ref.xht" />
+
+  <meta name="flags" content="ahem image" />
+  <meta name="assert" content="When 'direction' is 'rtl' and 'width' is 'auto' and 'left' and 'right' are not 'auto' and 'writing-mode' is 'vertical-rl', then solve for 'width'." />
+
+<style type="text/css"><![CDATA[
+@font-face {
+  font-family: Ahem;
+  src: url("../../../fonts/Ahem.ttf");
+}
+]]></style>
+  <style type="text/css"><![CDATA[
+  div#containing-block
+    {
+      background: red url("support/bg-red-2col-2row-320x320.png");
+      color: transparent;
+      direction: rtl;
+      font: 80px/1 Ahem;
+      height: 320px;
+      position: relative;
+      width: 320px;
+      writing-mode: vertical-rl;
+    }
+
+  div#containing-block > span
+    {
+      background-color: green;
+      height: 1em;
+      left: 1em;
+      position: absolute;
+      right: 2em;
+      width: auto;
+      writing-mode: horizontal-tb;
+    }
+
+/*
+"
+Layout calculation rules (such as those in CSS2.1, Section 10.3) that apply to the horizontal dimension in horizontal writing modes instead apply to the vertical dimension in vertical writing modes.
+"
+7.1 Principles of Layout in Vertical Writing Modes
+http://www.w3.org/TR/css-writing-modes-3/#vertical-layout
+
+So here, *right and *left properties are input into the §10.6.4 algorithms where *right properties refer to *top properties in the layout rules and where *left properties refer to *bottom properties in the layout rules.
+
+"
+5. 'height' is 'auto', 'top' and 'bottom' are not 'auto', then 'auto' values for 'margin-top' and 'margin-bottom' are set to 0 and solve for 'height'
+"
+
+'left' + 'margin-left' + 'border-left-width' + 'padding-left' + 'width' + 'padding-right' + 'border-right-width' + 'margin-right' + 'right' = width of containing block
+
+So:
+
+    160px : right
+  +
+      0px : margin-right
+  +
+      0px : border-right-width
+  +
+      0px : padding-right
+  +
+  (solve) : width: auto
+  +
+      0px : padding-left
+  +
+      0px : border-left-width
+  +
+      0px : margin-left
+  +
+     80px : left
+    =====================
+    320px : width of containing block
+
+And so computed width value must be 80px .
+*/
+
+  ]]></style>
+
+ </head>
+
+ <body>
+
+  <p><img src="support/pass-cdts-abs-pos-non-replaced.png" width="246" height="36" alt="Image download support must be enabled" /></p>
+
+  <div id="containing-block">1 2 34<span></span></div>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/abs-pos-non-replaced-vrl-198.xht
@@ -0,0 +1,97 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Writing Modes Test: absolutely positioned non-replaced element - 'direction: ltr' and 'left' is 'auto' and 'right' and 'width' are not 'auto'</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+  <link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#vertical-layout" title="7.1 Principles of Layout in Vertical Writing Modes" />
+  <link rel="help" href="http://www.w3.org/TR/CSS21/visudet.html#abs-non-replaced-height" title="10.6.4 Absolutely positioned, non-replaced elements" />
+  <link rel="match" href="abs-pos-non-replaced-vrl-002-ref.xht" />
+
+  <meta name="flags" content="ahem image" />
+  <meta name="assert" content="When 'direction' is 'ltr' and 'left' is 'auto' and 'right' and 'width' are not 'auto' and 'writing-mode' is 'vertical-rl', then solve for 'left'." />
+
+<style type="text/css"><![CDATA[
+@font-face {
+  font-family: Ahem;
+  src: url("../../../fonts/Ahem.ttf");
+}
+]]></style>
+  <style type="text/css"><![CDATA[
+  div#containing-block
+    {
+      background: red url("support/bg-red-3col-3row-320x320.png");
+      color: transparent;
+      direction: ltr;
+      font: 80px/1 Ahem;
+      height: 320px;
+      position: relative;
+      width: 320px;
+      writing-mode: vertical-rl;
+    }
+
+  div#containing-block > span
+    {
+      background-color: red;
+      color: green;
+      left: auto;
+      position: absolute;
+      right: 1em;
+      width: 1em;
+    }
+
+/*
+"
+Layout calculation rules (such as those in CSS2.1, Section 10.3) that apply to the horizontal dimension in horizontal writing modes instead apply to the vertical dimension in vertical writing modes.
+"
+7.1 Principles of Layout in Vertical Writing Modes
+http://www.w3.org/TR/css-writing-modes-3/#vertical-layout
+
+So here, *right and *left properties are input into the §10.6.4 algorithms where *right properties refer to *top properties in the layout rules and where *left properties refer to *bottom properties in the layout rules.
+
+"
+6. 'bottom' is 'auto', 'top' and 'height' are not 'auto', then set 'auto' values for 'margin-top' and 'margin-bottom' to 0 and solve for 'bottom'
+"
+
+'left' + 'margin-left' + 'border-left-width' + 'padding-left' + 'width' + 'padding-right' + 'border-right-width' + 'margin-right' + 'right' = width of containing block
+
+So:
+
+     80px : right
+  +
+      0px : margin-right
+  +
+      0px : border-right-width
+  +
+      0px : padding-right
+  +
+     80px : width
+  +
+      0px : padding-left
+  +
+      0px : border-left-width
+  +
+      0px : margin-left
+  +
+  (solve) : left: auto
+    =====================
+    320px : width of containing block
+
+And so computed left value must be 160px .
+*/
+
+  ]]></style>
+
+ </head>
+
+ <body>
+
+  <p><img src="support/pass-cdts-abs-pos-non-replaced.png" width="246" height="36" alt="Image download support must be enabled" /></p>
+
+  <div id="containing-block">1 2 34<span>X</span></div>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/abs-pos-non-replaced-vrl-200.xht
@@ -0,0 +1,89 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Writing Modes Test: absolutely positioned non-replaced element - 'direction: ltr' and 'bottom' is 'auto', 'top' and 'height' are not 'auto'</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+  <link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#vertical-layout" title="7.1 Principles of Layout in Vertical Writing Modes" />
+  <link rel="help" href="http://www.w3.org/TR/CSS21/visudet.html#abs-non-replaced-height" title="10.6.4 Absolutely positioned, non-replaced elements" />
+  <link rel="match" href="abs-pos-non-replaced-vrl-004-ref.xht" />
+
+  <meta name="flags" content="ahem image" />
+  <meta name="assert" content="When 'direction' is 'ltr' and 'bottom' is 'auto', 'top' and 'height' are not 'auto', then solve for 'bottom'." />
+
+<style type="text/css"><![CDATA[
+@font-face {
+  font-family: Ahem;
+  src: url("../../../fonts/Ahem.ttf");
+}
+]]></style>
+  <style type="text/css"><![CDATA[
+  div#containing-block
+    {
+      background: red url("support/bg-red-3col-2row-320x320.png");
+      color: transparent;
+      direction: ltr;
+      font: 80px/1 Ahem;
+      height: 320px;
+      position: relative;
+      width: 320px;
+    }
+
+  div#containing-block > span
+    {
+      background-color: red;
+      bottom: auto;
+      color: green;
+      position: absolute;
+      top: 1em;
+      height: 1em;
+      writing-mode: vertical-rl;
+    }
+
+/*
+"
+6. 'bottom' is 'auto', 'top' and 'height' are not 'auto', then set 'auto' values for 'margin-top' and 'margin-bottom' to 0 and solve for 'bottom'
+"
+
+'top' + 'margin-top' + 'border-top-width' + 'padding-top' + 'height' + 'padding-bottom' + 'border-bottom-width' + 'margin-bottom' + 'bottom' = height of containing block
+
+So:
+
+     80px : top
+  +
+      0px : margin-top
+  +
+      0px : border-top-width
+  +
+      0px : padding-top
+  +
+     80px : height
+  +
+      0px : padding-bottom
+  +
+      0px : border-bottom-width
+  +
+      0px : margin-bottom
+  +
+  (solve) : bottom: auto
+    =====================
+    320px : height of containing block
+
+And so computed bottom value must be 160px .
+*/
+
+  ]]></style>
+
+ </head>
+
+ <body>
+
+  <p><img src="support/pass-cdts-abs-pos-non-replaced.png" width="246" height="36" alt="Image download support must be enabled" /></p>
+
+  <div id="containing-block">1 2 34<span>X</span></div>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/abs-pos-non-replaced-vrl-202.xht
@@ -0,0 +1,101 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Writing Modes Test: absolutely positioned non-replaced element - 'direction: ltr' and 'left' is 'auto' and 'right' and 'width' are not 'auto'</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+  <link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#vertical-layout" title="7.1 Principles of Layout in Vertical Writing Modes" />
+  <link rel="help" href="http://www.w3.org/TR/CSS21/visudet.html#abs-non-replaced-height" title="10.6.4 Absolutely positioned, non-replaced elements" />
+  <link rel="match" href="abs-pos-non-replaced-vrl-006-ref.xht" />
+
+  <meta name="flags" content="ahem image" />
+  <meta name="assert" content="When 'direction' is 'ltr' and 'left' is 'auto' and 'right' and 'width' are not 'auto' and 'writing-mode' is 'vertical-rl', then solve for 'left'." />
+
+<style type="text/css"><![CDATA[
+@font-face {
+  font-family: Ahem;
+  src: url("../../../fonts/Ahem.ttf");
+}
+]]></style>
+  <style type="text/css"><![CDATA[
+  html
+    {
+      writing-mode: vertical-rl;
+    }
+
+  div#containing-block
+    {
+      background: red url("support/bg-red-3col-3row-320x320.png");
+      color: transparent;
+      direction: ltr;
+      font: 80px/1 Ahem;
+      height: 320px;
+      position: relative;
+      width: 320px;
+    }
+
+  div#containing-block > span
+    {
+      background-color: red;
+      color: green;
+      left: auto;
+      position: absolute;
+      right: 1em;
+      width: 1em;
+    }
+
+/*
+"
+Layout calculation rules (such as those in CSS2.1, Section 10.3) that apply to the horizontal dimension in horizontal writing modes instead apply to the vertical dimension in vertical writing modes.
+"
+7.1 Principles of Layout in Vertical Writing Modes
+http://www.w3.org/TR/css-writing-modes-3/#vertical-layout
+
+So here, *right and *left properties are input into the §10.6.4 algorithms where *right properties refer to *top properties in the layout rules and where *left properties refer to *bottom properties in the layout rules.
+
+"
+6. 'bottom' is 'auto', 'top' and 'height' are not 'auto', then set 'auto' values for 'margin-top' and 'margin-bottom' to 0 and solve for 'bottom'
+"
+
+'left' + 'margin-left' + 'border-left-width' + 'padding-left' + 'width' + 'padding-right' + 'border-right-width' + 'margin-right' + 'right' = width of containing block
+
+So:
+
+     80px : right
+  +
+      0px : margin-right
+  +
+      0px : border-right-width
+  +
+      0px : padding-right
+  +
+     80px : width
+  +
+      0px : padding-left
+  +
+      0px : border-left-width
+  +
+      0px : margin-left
+  +
+  (solve) : left: auto
+    =====================
+    320px : width of containing block
+
+And so computed left value must be 160px .
+*/
+
+  ]]></style>
+
+ </head>
+
+ <body>
+
+  <p><img src="support/pass-cdts-abs-pos-non-replaced.png" width="246" height="36" alt="Image download support must be enabled" /></p>
+
+  <div id="containing-block">1 2 34<span>X</span></div>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/abs-pos-non-replaced-vrl-204.xht
@@ -0,0 +1,99 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Writing Modes Test: absolutely positioned non-replaced element - 'direction: ltr' and 'left' is 'auto' and 'right' and 'width' are not 'auto'</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+  <link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#vertical-layout" title="7.1 Principles of Layout in Vertical Writing Modes" />
+  <link rel="help" href="http://www.w3.org/TR/CSS21/visudet.html#abs-non-replaced-height" title="10.6.4 Absolutely positioned, non-replaced elements" />
+  <link rel="match" href="abs-pos-non-replaced-vrl-002-ref.xht" />
+
+  <meta name="flags" content="ahem image" />
+  <meta name="assert" content="When 'direction' is 'ltr' and 'left' is 'auto' and 'right' and 'width' are not 'auto' and 'writing-mode' is 'vertical-rl', then solve for 'left'." />
+
+<style type="text/css"><![CDATA[
+@font-face {
+  font-family: Ahem;
+  src: url("../../../fonts/Ahem.ttf");
+}
+]]></style>
+  <style type="text/css"><![CDATA[
+  div#containing-block
+    {
+      background: red url("support/bg-red-3col-3row-320x320.png");
+      color: transparent;
+      direction: ltr;
+      font: 80px/1 Ahem;
+      height: 320px;
+      position: relative;
+      width: 320px;
+      writing-mode: vertical-rl;
+    }
+
+  div#containing-block > span
+    {
+      background-color: red;
+      color: green;
+      height: 1em;
+      left: auto;
+      position: absolute;
+      right: 1em;
+      width: 1em;
+      writing-mode: horizontal-tb;
+    }
+
+/*
+"
+Layout calculation rules (such as those in CSS2.1, Section 10.3) that apply to the horizontal dimension in horizontal writing modes instead apply to the vertical dimension in vertical writing modes.
+"
+7.1 Principles of Layout in Vertical Writing Modes
+http://www.w3.org/TR/css-writing-modes-3/#vertical-layout
+
+So here, *right and *left properties are input into the §10.6.4 algorithms where *right properties refer to *top properties in the layout rules and where *left properties refer to *bottom properties in the layout rules.
+
+"
+6. 'bottom' is 'auto', 'top' and 'height' are not 'auto', then set 'auto' values for 'margin-top' and 'margin-bottom' to 0 and solve for 'bottom'
+"
+
+'left' + 'margin-left' + 'border-left-width' + 'padding-left' + 'width' + 'padding-right' + 'border-right-width' + 'margin-right' + 'right' = width of containing block
+
+So:
+
+     80px : right
+  +
+      0px : margin-right
+  +
+      0px : border-right-width
+  +
+      0px : padding-right
+  +
+     80px : width
+  +
+      0px : padding-left
+  +
+      0px : border-left-width
+  +
+      0px : margin-left
+  +
+  (solve) : left: auto
+    =====================
+    320px : width of containing block
+
+And so computed left value must be 160px .
+*/
+
+  ]]></style>
+
+ </head>
+
+ <body>
+
+  <p><img src="support/pass-cdts-abs-pos-non-replaced.png" width="246" height="36" alt="Image download support must be enabled" /></p>
+
+  <div id="containing-block">1 2 34<span>X</span></div>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/abs-pos-non-replaced-vrl-206.xht
@@ -0,0 +1,97 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Writing Modes Test: absolutely positioned non-replaced element - 'direction: rtl' and 'left' is 'auto' and 'right' and 'width' are not 'auto'</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+  <link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#vertical-layout" title="7.1 Principles of Layout in Vertical Writing Modes" />
+  <link rel="help" href="http://www.w3.org/TR/CSS21/visudet.html#abs-non-replaced-height" title="10.6.4 Absolutely positioned, non-replaced elements" />
+  <link rel="match" href="abs-pos-non-replaced-vrl-004-ref.xht" />
+
+  <meta name="flags" content="ahem image" />
+  <meta name="assert" content="When 'direction' is 'rtl' and 'left' is 'auto' and 'right' and 'width' are not 'auto' and 'writing-mode' is 'vertical-rl', then solve for 'left'." />
+
+<style type="text/css"><![CDATA[
+@font-face {
+  font-family: Ahem;
+  src: url("../../../fonts/Ahem.ttf");
+}
+]]></style>
+  <style type="text/css"><![CDATA[
+  div#containing-block
+    {
+      background: red url("support/bg-red-3col-2row-320x320.png");
+      color: transparent;
+      direction: rtl;
+      font: 80px/1 Ahem;
+      height: 320px;
+      position: relative;
+      width: 320px;
+      writing-mode: vertical-rl;
+    }
+
+  div#containing-block > span
+    {
+      background-color: red;
+      color: green;
+      left: auto;
+      position: absolute;
+      right: 1em;
+      width: 1em;
+    }
+
+/*
+"
+Layout calculation rules (such as those in CSS2.1, Section 10.3) that apply to the horizontal dimension in horizontal writing modes instead apply to the vertical dimension in vertical writing modes.
+"
+7.1 Principles of Layout in Vertical Writing Modes
+http://www.w3.org/TR/css-writing-modes-3/#vertical-layout
+
+So here, *right and *left properties are input into the §10.6.4 algorithms where *right properties refer to *top properties in the layout rules and where *left properties refer to *bottom properties in the layout rules.
+
+"
+6. 'bottom' is 'auto', 'top' and 'height' are not 'auto', then set 'auto' values for 'margin-top' and 'margin-bottom' to 0 and solve for 'bottom'
+"
+
+'left' + 'margin-left' + 'border-left-width' + 'padding-left' + 'width' + 'padding-right' + 'border-right-width' + 'margin-right' + 'right' = width of containing block
+
+So:
+
+     80px : right
+  +
+      0px : margin-right
+  +
+      0px : border-right-width
+  +
+      0px : padding-right
+  +
+     80px : width
+  +
+      0px : padding-left
+  +
+      0px : border-left-width
+  +
+      0px : margin-left
+  +
+  (solve) : left: auto
+    =====================
+    320px : width of containing block
+
+And so computed left value must be 160px .
+*/
+
+  ]]></style>
+
+ </head>
+
+ <body>
+
+  <p><img src="support/pass-cdts-abs-pos-non-replaced.png" width="246" height="36" alt="Image download support must be enabled" /></p>
+
+  <div id="containing-block">1 2 34<span>X</span></div>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/abs-pos-non-replaced-vrl-208.xht
@@ -0,0 +1,89 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Writing Modes Test: absolutely positioned non-replaced element - 'direction: rtl' and 'bottom' is 'auto', 'top' and 'height' are not 'auto'</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+  <link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#vertical-layout" title="7.1 Principles of Layout in Vertical Writing Modes" />
+  <link rel="help" href="http://www.w3.org/TR/CSS21/visudet.html#abs-non-replaced-height" title="10.6.4 Absolutely positioned, non-replaced elements" />
+  <link rel="match" href="abs-pos-non-replaced-vlr-009-ref.xht" />
+
+  <meta name="flags" content="ahem image" />
+  <meta name="assert" content="When 'direction' is 'rtl' and 'bottom' is 'auto', 'top' and 'height' are not 'auto', then then solve for 'bottom'." />
+
+<style type="text/css"><![CDATA[
+@font-face {
+  font-family: Ahem;
+  src: url("../../../fonts/Ahem.ttf");
+}
+]]></style>
+  <style type="text/css"><![CDATA[
+  div#containing-block
+    {
+      background: red url("support/bg-red-2col-2row-320x320.png");
+      color: transparent;
+      direction: rtl;
+      font: 80px/1 Ahem;
+      height: 320px;
+      position: relative;
+      width: 320px;
+    }
+
+  div#containing-block > span
+    {
+      background-color: red;
+      bottom: auto;
+      color: green;
+      height: 1em;
+      position: absolute;
+      top: 1em;
+      writing-mode: vertical-rl;
+    }
+
+/*
+"
+6. 'bottom' is 'auto', 'top' and 'height' are not 'auto', then set 'auto' values for 'margin-top' and 'margin-bottom' to 0 and solve for 'bottom'
+"
+
+'top' + 'margin-top' + 'border-top-width' + 'padding-top' + 'height' + 'padding-bottom' + 'border-bottom-width' + 'margin-bottom' + 'bottom' = height of containing block
+
+So:
+
+     80px : top
+  +
+      0px : margin-top
+  +
+      0px : border-top-width
+  +
+      0px : padding-top
+  +
+     80px : height : auto
+  +
+      0px : padding-bottom
+  +
+      0px : border-bottom-width
+  +
+      0px : margin-bottom
+  +
+  (solve) : bottom
+    =====================
+    320px : height of containing block
+
+And so computed bottom value must be 160px .
+*/
+
+  ]]></style>
+
+ </head>
+
+ <body>
+
+  <p><img src="support/pass-cdts-abs-pos-non-replaced.png" width="246" height="36" alt="Image download support must be enabled" /></p>
+
+  <div id="containing-block">1 2 34<span>X</span></div>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/abs-pos-non-replaced-vrl-210.xht
@@ -0,0 +1,101 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Writing Modes Test: absolutely positioned non-replaced element - 'direction: rtl' and 'left' is 'auto' and 'right' and 'width' are not 'auto'</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+  <link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#vertical-layout" title="7.1 Principles of Layout in Vertical Writing Modes" />
+  <link rel="help" href="http://www.w3.org/TR/CSS21/visudet.html#abs-non-replaced-height" title="10.6.4 Absolutely positioned, non-replaced elements" />
+  <link rel="match" href="abs-pos-non-replaced-vrl-012-ref.xht" />
+
+  <meta name="flags" content="ahem image" />
+  <meta name="assert" content="When 'direction' is 'rtl' and 'left' is 'auto' and 'right' and 'width' are not 'auto' and 'writing-mode' is 'vertical-rl', then solve for 'left'." />
+
+<style type="text/css"><![CDATA[
+@font-face {
+  font-family: Ahem;
+  src: url("../../../fonts/Ahem.ttf");
+}
+]]></style>
+  <style type="text/css"><![CDATA[
+  html
+    {
+      writing-mode: vertical-rl;
+    }
+
+  div#containing-block
+    {
+      background: red url("support/bg-red-3col-2row-320x320.png");
+      color: transparent;
+      direction: rtl;
+      font: 80px/1 Ahem;
+      height: 320px;
+      position: relative;
+      width: 320px;
+    }
+
+  div#containing-block > span
+    {
+      background-color: red;
+      color: green;
+      left: auto;
+      position: absolute;
+      right: 1em;
+      width: 1em;
+    }
+
+/*
+"
+Layout calculation rules (such as those in CSS2.1, Section 10.3) that apply to the horizontal dimension in horizontal writing modes instead apply to the vertical dimension in vertical writing modes.
+"
+7.1 Principles of Layout in Vertical Writing Modes
+http://www.w3.org/TR/css-writing-modes-3/#vertical-layout
+
+So here, *right and *left properties are input into the §10.6.4 algorithms where *right properties refer to *top properties in the layout rules and where *left properties refer to *bottom properties in the layout rules.
+
+"
+6. 'bottom' is 'auto', 'top' and 'height' are not 'auto', then set 'auto' values for 'margin-top' and 'margin-bottom' to 0 and solve for 'bottom'
+"
+
+'left' + 'margin-left' + 'border-left-width' + 'padding-left' + 'width' + 'padding-right' + 'border-right-width' + 'margin-right' + 'right' = width of containing block
+
+So:
+
+     80px : right
+  +
+      0px : margin-right
+  +
+      0px : border-right-width
+  +
+      0px : padding-right
+  +
+     80px : width
+  +
+      0px : padding-left
+  +
+      0px : border-left-width
+  +
+      0px : margin-left
+  +
+  (solve) : left: auto
+    =====================
+    320px : width of containing block
+
+And so computed left value must be 160px .
+*/
+
+  ]]></style>
+
+ </head>
+
+ <body>
+
+  <p><img src="support/pass-cdts-abs-pos-non-replaced.png" width="246" height="36" alt="Image download support must be enabled" /></p>
+
+  <div id="containing-block">1 2 34<span>X</span></div>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/abs-pos-non-replaced-vrl-212.xht
@@ -0,0 +1,98 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Writing Modes Test: absolutely positioned non-replaced element - 'direction: rtl' and 'left' is 'auto' and 'right' and 'width' are not 'auto'</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+  <link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#vertical-layout" title="7.1 Principles of Layout in Vertical Writing Modes" />
+  <link rel="help" href="http://www.w3.org/TR/CSS21/visudet.html#abs-non-replaced-height" title="10.6.4 Absolutely positioned, non-replaced elements" />
+  <link rel="match" href="abs-pos-non-replaced-vrl-004-ref.xht" />
+
+  <meta name="flags" content="ahem image" />
+  <meta name="assert" content="When 'direction' is 'rtl' and 'width' is 'auto' and 'left' and 'right' are not 'auto' and 'writing-mode' is 'vertical-rl', then solve for 'left'." />
+
+<style type="text/css"><![CDATA[
+@font-face {
+  font-family: Ahem;
+  src: url("../../../fonts/Ahem.ttf");
+}
+]]></style>
+  <style type="text/css"><![CDATA[
+  div#containing-block
+    {
+      background: red url("support/bg-red-3col-2row-320x320.png");
+      color: transparent;
+      direction: rtl;
+      font: 80px/1 Ahem;
+      height: 320px;
+      position: relative;
+      width: 320px;
+      writing-mode: vertical-rl;
+    }
+
+  div#containing-block > span
+    {
+      background-color: red;
+      color: green;
+      left: auto;
+      position: absolute;
+      right: 1em;
+      width: 1em;
+      writing-mode: horizontal-tb;
+    }
+
+/*
+"
+Layout calculation rules (such as those in CSS2.1, Section 10.3) that apply to the horizontal dimension in horizontal writing modes instead apply to the vertical dimension in vertical writing modes.
+"
+7.1 Principles of Layout in Vertical Writing Modes
+http://www.w3.org/TR/css-writing-modes-3/#vertical-layout
+
+So here, *right and *left properties are input into the §10.6.4 algorithms where *right properties refer to *top properties in the layout rules and where *left properties refer to *bottom properties in the layout rules.
+
+"
+6. 'bottom' is 'auto', 'top' and 'height' are not 'auto', then set 'auto' values for 'margin-top' and 'margin-bottom' to 0 and solve for 'bottom'
+"
+
+'left' + 'margin-left' + 'border-left-width' + 'padding-left' + 'width' + 'padding-right' + 'border-right-width' + 'margin-right' + 'right' = width of containing block
+
+So:
+
+     80px : right
+  +
+      0px : margin-right
+  +
+      0px : border-right-width
+  +
+      0px : padding-right
+  +
+     80px : width
+  +
+      0px : padding-left
+  +
+      0px : border-left-width
+  +
+      0px : margin-left
+  +
+  (solve) : left: auto
+    =====================
+    320px : width of containing block
+
+And so computed left value must be 160px .
+*/
+
+  ]]></style>
+
+ </head>
+
+ <body>
+
+  <p><img src="support/pass-cdts-abs-pos-non-replaced.png" width="246" height="36" alt="Image download support must be enabled" /></p>
+
+  <div id="containing-block">1 2 34<span>X</span></div>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/abs-pos-non-replaced-vrl-214.xht
@@ -0,0 +1,119 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Writing Modes Test: absolutely positioned non-replaced element - 'direction: ltr' and 'left', 'right' and 'width' are not 'auto' (overconstrained)</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+  <link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#vertical-layout" title="7.1 Principles of Layout in Vertical Writing Modes" />
+  <link rel="help" href="http://www.w3.org/TR/CSS21/visudet.html#abs-non-replaced-height" title="10.6.4 Absolutely positioned, non-replaced elements" />
+  <link rel="match" href="abs-pos-non-replaced-vlr-003-ref.xht" />
+
+  <meta name="flags" content="ahem image" />
+  <meta name="assert" content="When 'direction' is 'ltr' and 'left', 'right' and 'width' are not 'auto' and 'writing-mode' is 'vertical-rl' and if the values are over-constrained, then ignore the value for 'left' and solve for that value." />
+
+<style type="text/css"><![CDATA[
+@font-face {
+  font-family: Ahem;
+  src: url("../../../fonts/Ahem.ttf");
+}
+]]></style>
+  <style type="text/css"><![CDATA[
+  div#containing-block
+    {
+      background: red url("support/bg-red-2col-3row-320x320.png");
+      color: transparent;
+      direction: ltr;
+      font: 80px/1 Ahem;
+      height: 320px;
+      position: relative;
+      width: 320px;
+      writing-mode: vertical-rl;
+    }
+
+  div#containing-block > span
+    {
+      background-color: red;
+      color: green;
+      left: 2em;
+      position: absolute;
+      right: 2em;
+      width: 1em;
+    }
+
+/*
+"
+Layout calculation rules (such as those in CSS2.1, Section 10.3) that apply to the horizontal dimension in horizontal writing modes instead apply to the vertical dimension in vertical writing modes.
+"
+7.1 Principles of Layout in Vertical Writing Modes
+http://www.w3.org/TR/css-writing-modes-3/#vertical-layout
+
+So here, *right and *left properties are input into the §10.6.4 algorithms where *right properties refer to *top properties in the layout rules and where *left properties refer to *bottom properties in the layout rules.
+
+"
+If none of the three are 'auto': If both 'margin-top' and 'margin-bottom' are 'auto', solve the equation under the extra constraint that the two margins get equal values. If one of 'margin-top' or 'margin-bottom' is 'auto', solve the equation for that value. If the values are over-constrained, ignore the value for 'bottom' and solve for that value.
+"
+
+'left' + 'margin-left' + 'border-left-width' + 'padding-left' + 'width' + 'padding-right' + 'border-right-width' + 'margin-right' + 'right' = width of containing block
+
+So:
+
+    160px : right
+  +
+      0px : margin-right
+  +
+      0px : border-right-width
+  +
+      0px : padding-right
+  +
+     80px : width
+  +
+      0px : padding-left
+  +
+      0px : border-left-width
+  +
+      0px : margin-left
+  +
+    160px : left
+    =====================
+    320px : width of containing block
+
+give us
+
+    160px : right
+  +
+      0px : margin-right
+  +
+      0px : border-right-width
+  +
+      0px : padding-right
+  +
+     80px : width
+  +
+      0px : padding-left
+  +
+      0px : border-left-width
+  +
+      0px : margin-left
+  +
+  (solve) : left
+    =====================
+    320px : width of containing block
+
+And so computed left value must be 80px .
+*/
+
+  ]]></style>
+
+ </head>
+
+ <body>
+
+  <p><img src="support/pass-cdts-abs-pos-non-replaced.png" width="246" height="36" alt="Image download support must be enabled" /></p>
+
+  <div id="containing-block">1 2 34<span>X</span></div>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/abs-pos-non-replaced-vrl-216.xht
@@ -0,0 +1,111 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Writing Modes Test: absolutely positioned non-replaced element - 'direction: ltr' and 'top', 'bottom' and 'height' are not 'auto' (overconstrained)</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+  <link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#vertical-layout" title="7.1 Principles of Layout in Vertical Writing Modes" />
+  <link rel="help" href="http://www.w3.org/TR/CSS21/visudet.html#abs-non-replaced-height" title="10.6.4 Absolutely positioned, non-replaced elements" />
+  <link rel="match" href="abs-pos-non-replaced-vrl-002-ref.xht" />
+
+  <meta name="flags" content="ahem image" />
+  <meta name="assert" content="When 'direction' is 'ltr' and 'top', 'bottom' and 'height' are not 'auto' and if the values are over-constrained, then ignore the value for 'bottom' and solve for that value." />
+
+<style type="text/css"><![CDATA[
+@font-face {
+  font-family: Ahem;
+  src: url("../../../fonts/Ahem.ttf");
+}
+]]></style>
+  <style type="text/css"><![CDATA[
+  div#containing-block
+    {
+      background: red url("support/bg-red-3col-3row-320x320.png");
+      color: transparent;
+      direction: ltr;
+      font: 80px/1 Ahem;
+      height: 320px;
+      position: relative;
+      width: 320px;
+    }
+
+  div#containing-block > span
+    {
+      background-color: red;
+      bottom: 2em;
+      color: green;
+      height: 1em;
+      position: absolute;
+      top: 2em;
+      writing-mode: vertical-rl;
+    }
+
+/*
+"
+If none of the three are 'auto': If both 'margin-top' and 'margin-bottom' are 'auto', solve the equation under the extra constraint that the two margins get equal values. If one of 'margin-top' or 'margin-bottom' is 'auto', solve the equation for that value. If the values are over-constrained, ignore the value for 'bottom' and solve for that value.
+"
+
+'top' + 'margin-top' + 'border-top-width' + 'padding-top' + 'height' + 'padding-bottom' + 'border-bottom-width' + 'margin-bottom' + 'bottom' = height of containing block
+
+So:
+
+    160px : top
+  +
+      0px : margin-top
+  +
+      0px : border-top-width
+  +
+      0px : padding-top
+  +
+     80px : height
+  +
+      0px : padding-bottom
+  +
+      0px : border-bottom-width
+  +
+      0px : margin-bottom
+  +
+    160px : bottom
+    =====================
+    320px : height of containing block
+
+gives us
+
+    160px : top
+  +
+      0px : margin-top
+  +
+      0px : border-top-width
+  +
+      0px : padding-top
+  +
+     80px : height
+  +
+      0px : padding-bottom
+  +
+      0px : border-bottom-width
+  +
+      0px : margin-bottom
+  +
+  (solve) : bottom
+    =====================
+    320px : height of containing block
+
+And so computed bottom value must be 80px .
+*/
+
+  ]]></style>
+
+ </head>
+
+ <body>
+
+  <p><img src="support/pass-cdts-abs-pos-non-replaced.png" width="246" height="36" alt="Image download support must be enabled" /></p>
+
+  <div id="containing-block">1 2 34<span>X</span></div>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/abs-pos-non-replaced-vrl-218.xht
@@ -0,0 +1,123 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Writing Modes Test: absolutely positioned non-replaced element - 'direction: ltr' and 'left', 'right' and 'width' are not 'auto' (overconstrained)</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+  <link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#vertical-layout" title="7.1 Principles of Layout in Vertical Writing Modes" />
+  <link rel="help" href="http://www.w3.org/TR/CSS21/visudet.html#abs-non-replaced-height" title="10.6.4 Absolutely positioned, non-replaced elements" />
+  <link rel="match" href="abs-pos-non-replaced-vrl-122-ref.xht" />
+
+  <meta name="flags" content="ahem image" />
+  <meta name="assert" content="When 'direction' is 'ltr' and 'left', 'right' and 'width' are not 'auto' and 'writing-mode' is 'vertical-rl' and if the values are over-constrained, then ignore the value for 'left' and solve for that value." />
+
+<style type="text/css"><![CDATA[
+@font-face {
+  font-family: Ahem;
+  src: url("../../../fonts/Ahem.ttf");
+}
+]]></style>
+  <style type="text/css"><![CDATA[
+  html
+    {
+      writing-mode: vertical-rl;
+    }
+
+  div#containing-block
+    {
+      background: red url("support/bg-red-2col-3row-320x320.png");
+      color: transparent;
+      direction: ltr;
+      font: 80px/1 Ahem;
+      height: 320px;
+      position: relative;
+      width: 320px;
+    }
+
+  div#containing-block > span
+    {
+      background-color: red;
+      color: green;
+      left: 2em;
+      position: absolute;
+      right: 2em;
+      width: 1em;
+    }
+
+/*
+"
+Layout calculation rules (such as those in CSS2.1, Section 10.3) that apply to the horizontal dimension in horizontal writing modes instead apply to the vertical dimension in vertical writing modes.
+"
+7.1 Principles of Layout in Vertical Writing Modes
+http://www.w3.org/TR/css-writing-modes-3/#vertical-layout
+
+So here, *right and *left properties are input into the §10.6.4 algorithms where *right properties refer to *top properties in the layout rules and where *left properties refer to *bottom properties in the layout rules.
+
+"
+If none of the three are 'auto': If both 'margin-top' and 'margin-bottom' are 'auto', solve the equation under the extra constraint that the two margins get equal values. If one of 'margin-top' or 'margin-bottom' is 'auto', solve the equation for that value. If the values are over-constrained, ignore the value for 'bottom' and solve for that value.
+"
+
+'left' + 'margin-left' + 'border-left-width' + 'padding-left' + 'width' + 'padding-right' + 'border-right-width' + 'margin-right' + 'right' = width of containing block
+
+So:
+
+    160px : right
+  +
+      0px : margin-right
+  +
+      0px : border-right-width
+  +
+      0px : padding-right
+  +
+     80px : width
+  +
+      0px : padding-left
+  +
+      0px : border-left-width
+  +
+      0px : margin-left
+  +
+    160px : left
+    =====================
+    320px : width of containing block
+
+give us
+
+    160px : right
+  +
+      0px : margin-right
+  +
+      0px : border-right-width
+  +
+      0px : padding-right
+  +
+     80px : width
+  +
+      0px : padding-left
+  +
+      0px : border-left-width
+  +
+      0px : margin-left
+  +
+  (solve) : left
+    =====================
+    320px : width of containing block
+
+And so computed left value must be 80px .
+*/
+
+  ]]></style>
+
+ </head>
+
+ <body>
+
+  <p><img src="support/pass-cdts-abs-pos-non-replaced.png" width="246" height="36" alt="Image download support must be enabled" /></p>
+
+  <div id="containing-block">1 2 34<span>X</span></div>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/abs-pos-non-replaced-vrl-220.xht
@@ -0,0 +1,120 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Writing Modes Test: absolutely positioned non-replaced element - 'direction: ltr' and 'left', 'right' and 'width' are not 'auto' (overconstrained)</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+  <link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#vertical-layout" title="7.1 Principles of Layout in Vertical Writing Modes" />
+  <link rel="help" href="http://www.w3.org/TR/CSS21/visudet.html#abs-non-replaced-height" title="10.6.4 Absolutely positioned, non-replaced elements" />
+  <link rel="match" href="abs-pos-non-replaced-vlr-003-ref.xht" />
+
+  <meta name="flags" content="ahem image" />
+  <meta name="assert" content="When 'direction' is 'ltr' and 'left', 'right' and 'width' are not 'auto' and 'writing-mode' is 'vertical-rl' and if the values are over-constrained, then ignore the value for 'left' and solve for that value." />
+
+<style type="text/css"><![CDATA[
+@font-face {
+  font-family: Ahem;
+  src: url("../../../fonts/Ahem.ttf");
+}
+]]></style>
+  <style type="text/css"><![CDATA[
+  div#containing-block
+    {
+      background: red url("support/bg-red-2col-3row-320x320.png");
+      color: transparent;
+      direction: ltr;
+      font: 80px/1 Ahem;
+      height: 320px;
+      position: relative;
+      width: 320px;
+      writing-mode: vertical-rl;
+    }
+
+  div#containing-block > span
+    {
+      background-color: red;
+      color: green;
+      left: 2em;
+      position: absolute;
+      right: 2em;
+      width: 1em;
+      writing-mode: horizontal-tb;
+    }
+
+/*
+"
+Layout calculation rules (such as those in CSS2.1, Section 10.3) that apply to the horizontal dimension in horizontal writing modes instead apply to the vertical dimension in vertical writing modes.
+"
+7.1 Principles of Layout in Vertical Writing Modes
+http://www.w3.org/TR/css-writing-modes-3/#vertical-layout
+
+So here, *right and *left properties are input into the §10.6.4 algorithms where *right properties refer to *top properties in the layout rules and where *left properties refer to *bottom properties in the layout rules.
+
+"
+If none of the three are 'auto': If both 'margin-top' and 'margin-bottom' are 'auto', solve the equation under the extra constraint that the two margins get equal values. If one of 'margin-top' or 'margin-bottom' is 'auto', solve the equation for that value. If the values are over-constrained, ignore the value for 'bottom' and solve for that value.
+"
+
+'left' + 'margin-left' + 'border-left-width' + 'padding-left' + 'width' + 'padding-right' + 'border-right-width' + 'margin-right' + 'right' = width of containing block
+
+So:
+
+    160px : right
+  +
+      0px : margin-right
+  +
+      0px : border-right-width
+  +
+      0px : padding-right
+  +
+     80px : width
+  +
+      0px : padding-left
+  +
+      0px : border-left-width
+  +
+      0px : margin-left
+  +
+    160px : left
+    =====================
+    320px : width of containing block
+
+give us
+
+    160px : right
+  +
+      0px : margin-right
+  +
+      0px : border-right-width
+  +
+      0px : padding-right
+  +
+     80px : width
+  +
+      0px : padding-left
+  +
+      0px : border-left-width
+  +
+      0px : margin-left
+  +
+  (solve) : left
+    =====================
+    320px : width of containing block
+
+And so computed left value must be 80px .
+*/
+
+  ]]></style>
+
+ </head>
+
+ <body>
+
+  <p><img src="support/pass-cdts-abs-pos-non-replaced.png" width="246" height="36" alt="Image download support must be enabled" /></p>
+
+  <div id="containing-block">1 2 34<span>X</span></div>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/abs-pos-non-replaced-vrl-222.xht
@@ -0,0 +1,119 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Writing Modes Test: absolutely positioned non-replaced element - 'direction: rtl' and 'left', 'right' and 'width' are not 'auto' (overconstrained)</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+  <link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#vertical-layout" title="7.1 Principles of Layout in Vertical Writing Modes" />
+  <link rel="help" href="http://www.w3.org/TR/CSS21/visudet.html#abs-non-replaced-height" title="10.6.4 Absolutely positioned, non-replaced elements" />
+  <link rel="match" href="abs-pos-non-replaced-vlr-009-ref.xht" />
+
+  <meta name="flags" content="ahem image" />
+  <meta name="assert" content="When 'direction' is 'rtl' and 'left', 'right' and 'width' are not 'auto' and 'writing-mode' is 'vertical-rl' and if the values are over-constrained, then ignore the value for 'left' and solve for that value." />
+
+<style type="text/css"><![CDATA[
+@font-face {
+  font-family: Ahem;
+  src: url("../../../fonts/Ahem.ttf");
+}
+]]></style>
+  <style type="text/css"><![CDATA[
+  div#containing-block
+    {
+      background: red url("support/bg-red-2col-2row-320x320.png");
+      color: transparent;
+      direction: rtl;
+      font: 80px/1 Ahem;
+      height: 320px;
+      position: relative;
+      width: 320px;
+      writing-mode: vertical-rl;
+    }
+
+  div#containing-block > span
+    {
+      background-color: red;
+      color: green;
+      left: 2em;
+      position: absolute;
+      right: 2em;
+      width: 1em;
+    }
+
+/*
+"
+Layout calculation rules (such as those in CSS2.1, Section 10.3) that apply to the horizontal dimension in horizontal writing modes instead apply to the vertical dimension in vertical writing modes.
+"
+7.1 Principles of Layout in Vertical Writing Modes
+http://www.w3.org/TR/css-writing-modes-3/#vertical-layout
+
+So here, *right and *left properties are input into the §10.6.4 algorithms where *right properties refer to *top properties in the layout rules and where *left properties refer to *bottom properties in the layout rules.
+
+"
+If none of the three are 'auto': If both 'margin-top' and 'margin-bottom' are 'auto', solve the equation under the extra constraint that the two margins get equal values. If one of 'margin-top' or 'margin-bottom' is 'auto', solve the equation for that value. If the values are over-constrained, ignore the value for 'bottom' and solve for that value.
+"
+
+'left' + 'margin-left' + 'border-left-width' + 'padding-left' + 'width' + 'padding-right' + 'border-right-width' + 'margin-right' + 'right' = width of containing block
+
+So:
+
+    160px : right
+  +
+      0px : margin-right
+  +
+      0px : border-right-width
+  +
+      0px : padding-right
+  +
+     80px : width
+  +
+      0px : padding-left
+  +
+      0px : border-left-width
+  +
+      0px : margin-left
+  +
+    160px : left
+    =====================
+    320px : width of containing block
+
+give us
+
+    160px : right
+  +
+      0px : margin-right
+  +
+      0px : border-right-width
+  +
+      0px : padding-right
+  +
+     80px : width
+  +
+      0px : padding-left
+  +
+      0px : border-left-width
+  +
+      0px : margin-left
+  +
+  (solve) : left
+    =====================
+    320px : width of containing block
+
+And so computed left value must be 80px .
+*/
+
+  ]]></style>
+
+ </head>
+
+ <body>
+
+  <p><img src="support/pass-cdts-abs-pos-non-replaced.png" width="246" height="36" alt="Image download support must be enabled" /></p>
+
+  <div id="containing-block">1 2 34<span>X</span></div>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/abs-pos-non-replaced-vrl-224.xht
@@ -0,0 +1,111 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Writing Modes Test: absolutely positioned non-replaced element - 'direction: rtl' and 'top', 'bottom' and 'height' are not 'auto' (overconstrained)</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+  <link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#vertical-layout" title="7.1 Principles of Layout in Vertical Writing Modes" />
+  <link rel="help" href="http://www.w3.org/TR/CSS21/visudet.html#abs-non-replaced-height" title="10.6.4 Absolutely positioned, non-replaced elements" />
+  <link rel="match" href="abs-pos-non-replaced-vlr-003-ref.xht" />
+
+  <meta name="flags" content="ahem image" />
+  <meta name="assert" content="When 'direction' is 'rtl' and 'top', 'bottom' and 'height' are not 'auto' and if the values are over-constrained, then ignore the value for 'bottom' and solve for that value." />
+
+<style type="text/css"><![CDATA[
+@font-face {
+  font-family: Ahem;
+  src: url("../../../fonts/Ahem.ttf");
+}
+]]></style>
+  <style type="text/css"><![CDATA[
+  div#containing-block
+    {
+      background: red url("support/bg-red-2col-3row-320x320.png");
+      color: transparent;
+      direction: rtl;
+      font: 80px/1 Ahem;
+      height: 320px;
+      position: relative;
+      width: 320px;
+    }
+
+  div#containing-block > span
+    {
+      background-color: red;
+      bottom: 2em;
+      color: green;
+      height: 1em;
+      position: absolute;
+      top: 2em;
+      writing-mode: vertical-rl;
+    }
+
+/*
+"
+If none of the three are 'auto': If both 'margin-top' and 'margin-bottom' are 'auto', solve the equation under the extra constraint that the two margins get equal values. If one of 'margin-top' or 'margin-bottom' is 'auto', solve the equation for that value. If the values are over-constrained, ignore the value for 'bottom' and solve for that value.
+"
+
+'top' + 'margin-top' + 'border-top-width' + 'padding-top' + 'height' + 'padding-bottom' + 'border-bottom-width' + 'margin-bottom' + 'bottom' = height of containing block
+
+So:
+
+    160px : top
+  +
+      0px : margin-top
+  +
+      0px : border-top-width
+  +
+      0px : padding-top
+  +
+     80px : height
+  +
+      0px : padding-bottom
+  +
+      0px : border-bottom-width
+  +
+      0px : margin-bottom
+  +
+    160px : bottom
+    =====================
+    320px : height of containing block
+
+gives us
+
+    160px : top
+  +
+      0px : margin-top
+  +
+      0px : border-top-width
+  +
+      0px : padding-top
+  +
+     80px : height
+  +
+      0px : padding-bottom
+  +
+      0px : border-bottom-width
+  +
+      0px : margin-bottom
+  +
+  (solve) : bottom
+    =====================
+    320px : height of containing block
+
+And so computed bottom value must be 80px .
+*/
+
+  ]]></style>
+
+ </head>
+
+ <body>
+
+  <p><img src="support/pass-cdts-abs-pos-non-replaced.png" width="246" height="36" alt="Image download support must be enabled" /></p>
+
+  <div id="containing-block">1 2 34<span>X</span></div>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/abs-pos-non-replaced-vrl-226.xht
@@ -0,0 +1,123 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Writing Modes Test: absolutely positioned non-replaced element - 'direction: rtl' and 'left', 'right' and 'width' are not 'auto' (overconstrained)</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+  <link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#vertical-layout" title="7.1 Principles of Layout in Vertical Writing Modes" />
+  <link rel="help" href="http://www.w3.org/TR/CSS21/visudet.html#abs-non-replaced-height" title="10.6.4 Absolutely positioned, non-replaced elements" />
+  <link rel="match" href="abs-pos-non-replaced-vrl-130-ref.xht" />
+
+  <meta name="flags" content="ahem image" />
+  <meta name="assert" content="When 'direction' is 'rtl' and 'left', 'right' and 'width' are not 'auto' and 'writing-mode' is 'vertical-rl' and if the values are over-constrained, then ignore the value for 'left' and solve for that value." />
+
+<style type="text/css"><![CDATA[
+@font-face {
+  font-family: Ahem;
+  src: url("../../../fonts/Ahem.ttf");
+}
+]]></style>
+  <style type="text/css"><![CDATA[
+  html
+    {
+      writing-mode: vertical-rl;
+    }
+
+  div#containing-block
+    {
+      background: red url("support/bg-red-2col-2row-320x320.png");
+      color: transparent;
+      direction: rtl;
+      font: 80px/1 Ahem;
+      height: 320px;
+      position: relative;
+      width: 320px;
+    }
+
+  div#containing-block > span
+    {
+      background-color: red;
+      color: green;
+      left: 2em;
+      position: absolute;
+      right: 2em;
+      width: 1em;
+    }
+
+/*
+"
+Layout calculation rules (such as those in CSS2.1, Section 10.3) that apply to the horizontal dimension in horizontal writing modes instead apply to the vertical dimension in vertical writing modes.
+"
+7.1 Principles of Layout in Vertical Writing Modes
+http://www.w3.org/TR/css-writing-modes-3/#vertical-layout
+
+So here, *right and *left properties are input into the §10.6.4 algorithms where *right properties refer to *top properties in the layout rules and where *left properties refer to *bottom properties in the layout rules.
+
+"
+If none of the three are 'auto': If both 'margin-top' and 'margin-bottom' are 'auto', solve the equation under the extra constraint that the two margins get equal values. If one of 'margin-top' or 'margin-bottom' is 'auto', solve the equation for that value. If the values are over-constrained, ignore the value for 'bottom' and solve for that value.
+"
+
+'left' + 'margin-left' + 'border-left-width' + 'padding-left' + 'width' + 'padding-right' + 'border-right-width' + 'margin-right' + 'right' = width of containing block
+
+So:
+
+    160px : right
+  +
+      0px : margin-right
+  +
+      0px : border-right-width
+  +
+      0px : padding-right
+  +
+     80px : width
+  +
+      0px : padding-left
+  +
+      0px : border-left-width
+  +
+      0px : margin-left
+  +
+    160px : left
+    =====================
+    320px : width of containing block
+
+give us
+
+    160px : right
+  +
+      0px : margin-right
+  +
+      0px : border-right-width
+  +
+      0px : padding-right
+  +
+     80px : width
+  +
+      0px : padding-left
+  +
+      0px : border-left-width
+  +
+      0px : margin-left
+  +
+  (solve) : left
+    =====================
+    320px : width of containing block
+
+And so computed left value must be 80px .
+*/
+
+  ]]></style>
+
+ </head>
+
+ <body>
+
+  <p><img src="support/pass-cdts-abs-pos-non-replaced.png" width="246" height="36" alt="Image download support must be enabled" /></p>
+
+  <div id="containing-block">1 2 34<span>X</span></div>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/abs-pos-non-replaced-vrl-228.xht
@@ -0,0 +1,120 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Writing Modes Test: absolutely positioned non-replaced element - 'direction: rtl' and 'left', 'right' and 'width' are not 'auto' (overconstrained)</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+  <link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#vertical-layout" title="7.1 Principles of Layout in Vertical Writing Modes" />
+  <link rel="help" href="http://www.w3.org/TR/CSS21/visudet.html#abs-non-replaced-height" title="10.6.4 Absolutely positioned, non-replaced elements" />
+  <link rel="match" href="abs-pos-non-replaced-vlr-009-ref.xht" />
+
+  <meta name="flags" content="ahem image" />
+  <meta name="assert" content="When 'direction' is 'rtl' and 'left', 'right' and 'width' are not 'auto' and 'writing-mode' is 'vertical-rl' and if the values are over-constrained, then ignore the value for 'left' and solve for that value." />
+
+<style type="text/css"><![CDATA[
+@font-face {
+  font-family: Ahem;
+  src: url("../../../fonts/Ahem.ttf");
+}
+]]></style>
+  <style type="text/css"><![CDATA[
+  div#containing-block
+    {
+      background: red url("support/bg-red-2col-2row-320x320.png");
+      color: transparent;
+      direction: rtl;
+      font: 80px/1 Ahem;
+      height: 320px;
+      position: relative;
+      width: 320px;
+      writing-mode: vertical-rl;
+    }
+
+  div#containing-block > span
+    {
+      background-color: red;
+      color: green;
+      left: 2em;
+      position: absolute;
+      right: 2em;
+      width: 1em;
+      writing-mode: horizontal-tb;
+    }
+
+/*
+"
+Layout calculation rules (such as those in CSS2.1, Section 10.3) that apply to the horizontal dimension in horizontal writing modes instead apply to the vertical dimension in vertical writing modes.
+"
+7.1 Principles of Layout in Vertical Writing Modes
+http://www.w3.org/TR/css-writing-modes-3/#vertical-layout
+
+So here, *right and *left properties are input into the §10.6.4 algorithms where *right properties refer to *top properties in the layout rules and where *left properties refer to *bottom properties in the layout rules.
+
+"
+If none of the three are 'auto': If both 'margin-top' and 'margin-bottom' are 'auto', solve the equation under the extra constraint that the two margins get equal values. If one of 'margin-top' or 'margin-bottom' is 'auto', solve the equation for that value. If the values are over-constrained, ignore the value for 'bottom' and solve for that value.
+"
+
+'left' + 'margin-left' + 'border-left-width' + 'padding-left' + 'width' + 'padding-right' + 'border-right-width' + 'margin-right' + 'right' = width of containing block
+
+So:
+
+    160px : right
+  +
+      0px : margin-right
+  +
+      0px : border-right-width
+  +
+      0px : padding-right
+  +
+     80px : width
+  +
+      0px : padding-left
+  +
+      0px : border-left-width
+  +
+      0px : margin-left
+  +
+    160px : left
+    =====================
+    320px : width of containing block
+
+give us
+
+    160px : right
+  +
+      0px : margin-right
+  +
+      0px : border-right-width
+  +
+      0px : padding-right
+  +
+     80px : width
+  +
+      0px : padding-left
+  +
+      0px : border-left-width
+  +
+      0px : margin-left
+  +
+  (solve) : left
+    =====================
+    320px : width of containing block
+
+And so computed left value must be 80px .
+*/
+
+  ]]></style>
+
+ </head>
+
+ <body>
+
+  <p><img src="support/pass-cdts-abs-pos-non-replaced.png" width="246" height="36" alt="Image download support must be enabled" /></p>
+
+  <div id="containing-block">1 2 34<span>X</span></div>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/background-position-vrl-018-ref.xht
@@ -0,0 +1,44 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Reftest Reference</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+
+  <meta content="image" name="flags" />
+
+  <style type="text/css"><![CDATA[
+  div#expected
+    {
+      text-align: right;
+    }
+
+  div#reference-overlapping-green
+    {
+      background-color: green;
+      height: 100%;
+      position: absolute;
+      right: 273px;
+      top: 0px;
+      width: 100px;
+    }
+  ]]></style>
+ </head>
+
+ <body>
+
+  <div id="expected"><img src="support/pass-cdts-bg-pos-vrl-018.png" width="357" height="17" alt="Image download support must be enabled" /></div>
+
+<!--
+  The image says:
+
+  Test passes if there is a <strong>no red</strong>.
+-->
+
+  <div id="reference-overlapping-green"></div>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/background-position-vrl-018.xht
@@ -0,0 +1,67 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Writing Modes Test: 'background-position: left top' and 'vertical-rl' when document root element does not fill viewport width</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+  <link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#physical-only" title="7.6 Purely Physical Mappings" />
+  <link rel="match" href="background-position-vrl-018-ref.xht" />
+
+  <meta content="image interact" name="flags" />
+  <meta content="This test checks that 'background-position: left top' will make background-image start at left side of document root element (even in case there is resizing of the window) because background properties should not be affected by vertical writing-mode." name="assert" />
+
+  <style type="text/css"><![CDATA[
+  html
+    {
+      background-image: url("support/100x100-red.png");
+      background-position: left top;
+      background-repeat: repeat-y;
+      width: auto; /* Very important: we intentionally want the
+      document root element to not fill the viewport width */
+      writing-mode: vertical-rl;
+    }
+
+  div#reference-overlapping-green
+    {
+      background-color: green;
+      height: 100%;
+      position: absolute;
+      right: 273px;
+      /*
+        8px : body's margin-right
+    +
+      357px : pass-cdts-background-position.png's image width
+    +
+        8px : body's margin-left
+    -
+      100px : background-image width (100x100-red.png)
+    ==========
+      273px is
+      */
+      top: 0px;
+      width: 100px;
+    }
+
+    /*
+    This test requires a viewport width of at least (strict minimum) of 473px !
+    */
+  ]]></style>
+ </head>
+
+ <body>
+
+  <div><img src="support/pass-cdts-bg-pos-vrl-018.png" width="357" height="17" alt="Image download support must be enabled" /></div>
+
+<!--
+  The image says:
+
+  Test passes if there is a <strong>no red</strong>.
+-->
+
+  <div id="reference-overlapping-green"></div>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/background-position-vrl-020.xht
@@ -0,0 +1,67 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Writing Modes Test: 'background-position: left center' and 'vertical-rl' when document root element does not fill viewport width</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+  <link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#physical-only" title="7.6 Purely Physical Mappings" />
+  <link rel="match" href="background-position-vrl-018-ref.xht" />
+
+  <meta content="image interact" name="flags" />
+  <meta content="This test checks that 'background-position: left center' will make background-image start at left side of document root element (even in case there is resizing of the window) because background properties should not be affected by vertical writing-mode." name="assert" />
+
+  <style type="text/css"><![CDATA[
+  html
+    {
+      background-image: url("support/100x100-red.png");
+      background-position: left center;
+      background-repeat: repeat-y;
+      width: auto; /* Very important: we intentionally want the
+      document root element to not fill the viewport width */
+      writing-mode: vertical-rl;
+    }
+
+  div#reference-overlapping-green
+    {
+      background-color: green;
+      height: 100%;
+      position: absolute;
+      right: 273px;
+      /*
+        8px : body's margin-right
+    +
+      357px : pass-cdts-background-position.png's image width
+    +
+        8px : body's margin-left
+    -
+      100px : background-image width (100x100-red.png)
+    ==========
+      273px is
+      */
+      top: 0px;
+      width: 100px;
+    }
+
+    /*
+    This test requires a viewport width of at least (strict minimum) of 473px !
+    */
+  ]]></style>
+ </head>
+
+ <body>
+
+  <div><img src="support/pass-cdts-bg-pos-vrl-018.png" width="357" height="17" alt="Image download support must be enabled" /></div>
+
+<!--
+  The image says:
+
+  Test passes if there is a <strong>no red</strong>.
+-->
+
+  <div id="reference-overlapping-green"></div>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/background-position-vrl-022.xht
@@ -0,0 +1,67 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Writing Modes Test: 'background-position: left bottom' and 'vertical-rl' when document root element does not fill viewport width</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+  <link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#physical-only" title="7.6 Purely Physical Mappings" />
+  <link rel="match" href="background-position-vrl-018-ref.xht" />
+
+  <meta content="image interact" name="flags" />
+  <meta content="This test checks that 'background-position: left bottom' will make background-image start at left side of document root element (even in case there is resizing of the window) because background properties should not be affected by vertical writing-mode." name="assert" />
+
+  <style type="text/css"><![CDATA[
+  html
+    {
+      background-image: url("support/100x100-red.png");
+      background-position: left bottom;
+      background-repeat: repeat-y;
+      width: auto; /* Very important: we intentionally want the
+      document root element to not fill the viewport width */
+      writing-mode: vertical-rl;
+    }
+
+  div#reference-overlapping-green
+    {
+      background-color: green;
+      height: 100%;
+      position: absolute;
+      right: 273px;
+      /*
+        8px : body's margin-right
+    +
+      357px : pass-cdts-background-position.png's image width
+    +
+        8px : body's margin-left
+    -
+      100px : background-image width (100x100-red.png)
+    ==========
+      273px is
+      */
+      top: 0px;
+      width: 100px;
+    }
+
+    /*
+    This test requires a viewport width of at least (strict minimum) of 473px !
+    */
+  ]]></style>
+ </head>
+
+ <body>
+
+  <div><img src="support/pass-cdts-bg-pos-vrl-018.png" width="357" height="17" alt="Image download support must be enabled" /></div>
+
+<!--
+  The image says:
+
+  Test passes if there is a <strong>no red</strong>.
+-->
+
+  <div id="reference-overlapping-green"></div>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/background-size-document-root-vrl-002-ref.xht
@@ -0,0 +1,30 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Reftest Reference</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+
+  <style type="text/css"><![CDATA[
+  div
+    {
+      background-color: green;
+      height: 100px;
+      margin-left: 100px;
+      width: 100px;
+    }
+  ]]></style>
+
+ </head>
+
+ <body>
+
+  <p>Test passes if there is a filled green square and <strong>no red</strong>.</p>
+
+  <div></div>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/background-size-document-root-vrl-002.html
@@ -0,0 +1,51 @@
+<!DOCTYPE html>
+
+<html>
+
+ <head>
+
+  <meta charset="UTF-8">
+
+  <title>CSS Writing Modes Test: 'background-size: 100%' filling padding-box of document root element</title>
+
+  <link rel="author" title="Koji Ishii" href="mailto:kojiishi@gmail.com">
+  <link rel="reviewer" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/"> <!-- 2015-05-01 -->
+  <link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#physical-only" title="7.6 Purely Physical Mappings">
+  <link rel="match" href="background-size-document-root-vrl-002-ref.xht">
+
+  <meta name="flags" content="image">
+  <meta name="assert" content="Test checks that 'background-size: 100% 100%' applied for the html root element will make the background-image fill the padding-box of the document box. Since 'background-color' is 'transparent' and since 'background-repeat' is set to 'no-repeat', then only the padding-box of the document root box should be painted green and such padding-box should start at top-right corner of canvas because 'writing-mode' is set to 'vertical-rl'.">
+
+  <style>
+  img
+    {
+      margin-left: 100px;
+    }
+
+  iframe
+    {
+      border: transparent 0px none;
+      height: 100px;
+      vertical-align: top;
+      width: 200px;
+    }
+
+  img#reference-overlapped-red
+    {
+      bottom: 100px;
+      position: relative;
+      z-index: -1;
+    }
+  </style>
+ </head>
+
+ <body>
+
+  <p>Test passes if there is a filled green square and <strong>no red</strong>.</p>
+
+  <div><iframe src="support/embedded-doc-for-background-size-root-vrl-002.html">This test requires an user agent with capability to embed an HTML document thanks to the HTML &lt;iframe&gt; element.</iframe></div>
+
+  <div><img id="reference-overlapped-red" src="support/100x100-red.png" alt="Image download support must be enabled"></div>
+
+ </body>
+</html>
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/background-size-document-root-vrl-004.html
@@ -0,0 +1,51 @@
+<!DOCTYPE html>
+
+<html>
+
+ <head>
+
+  <meta charset="UTF-8">
+
+  <title>CSS Writing Modes Test: 'background-size: 100%' filling padding-box of document root element</title>
+
+  <link rel="author" title="Koji Ishii" href="mailto:kojiishi@gmail.com">
+  <link rel="reviewer" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/"> <!-- 2015-05-01 -->
+  <link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#physical-only" title="7.6 Purely Physical Mappings">
+  <link rel="match" href="background-size-document-root-vrl-002-ref.xht">
+
+  <meta name="flags" content="image">
+  <meta name="assert" content="Test checks that 'background-size: 100% 100%' applied for the html root element will make the background-image fill the padding-box of the document box. Since 'background-color' is 'transparent' and since 'background-repeat' is set to 'no-repeat', then only the padding-box of the document root box should be painted green and such padding-box should start at top-right corner of canvas because 'writing-mode' is set to 'vertical-rl'.">
+
+  <style>
+  img
+    {
+      margin-left: 100px;
+    }
+
+  iframe
+    {
+      border: transparent 0px none;
+      height: 100px;
+      vertical-align: top;
+      width: 200px;
+    }
+
+  img#reference-overlapped-red
+    {
+      bottom: 100px;
+      position: relative;
+      z-index: -1;
+    }
+  </style>
+ </head>
+
+ <body>
+
+  <p>Test passes if there is a filled green square and <strong>no red</strong>.</p>
+
+  <div><iframe src="support/embedded-doc-for-background-size-root-vrl-004.html">This test requires an user agent with capability to embed an HTML document thanks to the HTML &lt;iframe&gt; element.</iframe></div>
+
+  <div><img id="reference-overlapped-red" src="support/100x100-red.png" alt="Image download support must be enabled"></div>
+
+ </body>
+</html>
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/background-size-document-root-vrl-006.html
@@ -0,0 +1,51 @@
+<!DOCTYPE html>
+
+<html>
+
+ <head>
+
+  <meta charset="UTF-8">
+
+  <title>CSS Writing Modes Test: 'background-size: 100%' filling padding-box of document root element</title>
+
+  <link rel="author" title="Koji Ishii" href="mailto:kojiishi@gmail.com">
+  <link rel="reviewer" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/"> <!-- 2015-05-01 -->
+  <link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#physical-only" title="7.6 Purely Physical Mappings">
+  <link rel="match" href="background-size-document-root-vrl-002-ref.xht">
+
+  <meta name="flags" content="image">
+  <meta name="assert" content="Test checks that 'background-size: 100% 100%' applied for the html root element will make the background-image fill the padding-box of the document box. Since 'background-color' is 'transparent' and since 'background-repeat' is set to 'no-repeat', then only the padding-box of the document root box should be painted green and such padding-box should start at top-right corner of canvas because 'writing-mode' is set to 'vertical-rl'.">
+
+  <style>
+  img
+    {
+      margin-left: 100px;
+    }
+
+  iframe
+    {
+      border: transparent 0px none;
+      height: 100px;
+      vertical-align: top;
+      width: 250px;
+    }
+
+  img#reference-overlapped-red
+    {
+      bottom: 100px;
+      position: relative;
+      z-index: -1;
+    }
+  </style>
+ </head>
+
+ <body>
+
+  <p>Test passes if there is a filled green square and <strong>no red</strong>.</p>
+
+  <div><iframe src="support/embedded-doc-for-background-size-root-vrl-006.html">This test requires an user agent with capability to embed an HTML document thanks to the HTML &lt;iframe&gt; element.</iframe></div>
+
+  <div><img id="reference-overlapped-red" src="support/100x100-red.png" alt="Image download support must be enabled"></div>
+
+ </body>
+</html>
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/background-size-document-root-vrl-008.html
@@ -0,0 +1,51 @@
+<!DOCTYPE html>
+
+<html>
+
+ <head>
+
+  <meta charset="UTF-8">
+
+  <title>CSS Writing Modes Test: 'background-size: 100%' filling padding-box of document root element</title>
+
+  <link rel="author" title="Koji Ishii" href="mailto:kojiishi@gmail.com">
+  <link rel="reviewer" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/"> <!-- 2015-05-01 -->
+  <link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#physical-only" title="7.6 Purely Physical Mappings">
+  <link rel="match" href="background-size-document-root-vrl-002-ref.xht">
+
+  <meta name="flags" content="image">
+  <meta name="assert" content="Test checks that 'background-size: 100% 100%' applied for the html root element will make the background-image fill the padding-box of the document box. Since 'background-color' is 'transparent' and since 'background-repeat' is set to 'no-repeat', then only the padding-box of the document root box should be painted green and such padding-box should start at top-right corner of canvas because 'writing-mode' is set to 'vertical-rl'.">
+
+  <style>
+  img
+    {
+      margin-left: 100px;
+    }
+
+  iframe
+    {
+      border: transparent 0px none;
+      height: 100px;
+      vertical-align: top;
+      width: 250px;
+    }
+
+  img#reference-overlapped-red
+    {
+      bottom: 100px;
+      position: relative;
+      z-index: -1;
+    }
+  </style>
+ </head>
+
+ <body>
+
+  <p>Test passes if there is a filled green square and <strong>no red</strong>.</p>
+
+  <div><iframe src="support/embedded-doc-for-background-size-root-vrl-008.html">This test requires an user agent with capability to embed an HTML document thanks to the HTML &lt;iframe&gt; element.</iframe></div>
+
+  <div><img id="reference-overlapped-red" src="support/100x100-red.png" alt="Image download support must be enabled"></div>
+
+ </body>
+</html>
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/baseline-inline-non-replaced-002.xht
@@ -0,0 +1,51 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Writing Modes Test: baseline-alignment of empty non-replaced inline-block element and 'vertical-rl'</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+  <link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#replaced-baselines" title="4.3 Atomic Inline Baselines" />
+  <link rel="match" href="../css21/reference/ref-filled-green-100px-square.xht" />
+
+  <meta content="ahem" name="flags" />
+  <meta content="This test checks that the baseline-alignment of an empty inline-block box in the line box with 'writing-mode' set to 'vertical-rl' is 'central' and not 'alphabetic'." name="assert" />
+
+<style type="text/css"><![CDATA[
+@font-face {
+  font-family: Ahem;
+  src: url("../../../fonts/Ahem.ttf");
+}
+]]></style>
+  <style type="text/css"><![CDATA[
+  div
+    {
+      background-color: red;
+      color: green;
+      font: 50px/1 Ahem; /* computes to 50px/50px */
+      height: 2em; /* computes to 100px */
+      writing-mode: vertical-rl;
+    }
+
+  span
+    {
+      border-right: green solid 1em;
+      display: inline-block;
+      height: 2em;
+    }
+  ]]></style>
+ </head>
+
+ <body>
+
+  <p>Test passes if there is a filled green square and <strong>no red</strong>.</p>
+
+  <div>
+    <span></span>
+    TL
+  </div>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/baseline-inline-non-replaced-003.xht
@@ -0,0 +1,51 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Writing Modes Test: baseline-alignment of empty non-replaced inline-block element and 'vertical-rl'</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+  <link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#replaced-baselines" title="4.3 Atomic Inline Baselines" />
+  <link rel="match" href="../css21/reference/ref-filled-green-100px-square.xht" />
+
+  <meta content="ahem" name="flags" />
+  <meta content="This test checks that the baseline-alignment of an empty inline-block box in the line box with 'writing-mode' set to 'vertical-rl' is 'central' and not 'alphabetic'." name="assert" />
+
+<style type="text/css"><![CDATA[
+@font-face {
+  font-family: Ahem;
+  src: url("../../../fonts/Ahem.ttf");
+}
+]]></style>
+  <style type="text/css"><![CDATA[
+  div
+    {
+      background-color: red;
+      color: green;
+      font: 50px/1 Ahem; /* computes to 50px/50px */
+      height: 2em; /* computes to 100px */
+      writing-mode: vertical-rl;
+    }
+
+  span
+    {
+      border-left: green solid 1em;
+      display: inline-block;
+      height: 2em;
+    }
+  ]]></style>
+ </head>
+
+ <body>
+
+  <p>Test passes if there is a filled green square and <strong>no red</strong>.</p>
+
+  <div>
+    TL
+    <span></span>
+  </div>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/baseline-inline-non-replaced-004.xht
@@ -0,0 +1,49 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Writing Modes Test: baseline-alignment of non-empty non-replaced inline-block element and 'vertical-rl'</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+  <link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#replaced-baselines" title="4.3 Atomic Inline Baselines" />
+  <link rel="match" href="../css21/reference/ref-filled-green-100px-square.xht" />
+
+  <meta content="ahem" name="flags" />
+  <meta content="This test checks that the baseline-alignment of a non-empty inline-block box in the line box with 'writing-mode' set to 'vertical-rl' is 'central' and not 'alphabetic'." name="assert" />
+
+<style type="text/css"><![CDATA[
+@font-face {
+  font-family: Ahem;
+  src: url("../../../fonts/Ahem.ttf");
+}
+]]></style>
+  <style type="text/css"><![CDATA[
+  div
+    {
+      background-color: red;
+      color: green;
+      font: 50px/1 Ahem; /* computes to 50px/50px */
+      height: 2em; /* computes to 100px */
+      writing-mode: vertical-rl;
+    }
+
+  span
+    {
+      display: inline-block;
+    }
+  ]]></style>
+ </head>
+
+ <body>
+
+  <p>Test passes if there is a filled green square and <strong>no red</strong>.</p>
+
+  <div>
+    <span>FZ</span>
+    TL
+  </div>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/baseline-inline-non-replaced-005.xht
@@ -0,0 +1,49 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Writing Modes Test: baseline-alignment of non-empty non-replaced inline-block element and 'vertical-rl'</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+  <link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#replaced-baselines" title="4.3 Atomic Inline Baselines" />
+  <link rel="match" href="../css21/reference/ref-filled-green-100px-square.xht" />
+
+  <meta content="ahem" name="flags" />
+  <meta content="This test checks that the baseline-alignment of a non-empty inline-block box in the line box with 'writing-mode' set to 'vertical-rl' is 'central' and not 'alphabetic'." name="assert" />
+
+<style type="text/css"><![CDATA[
+@font-face {
+  font-family: Ahem;
+  src: url("../../../fonts/Ahem.ttf");
+}
+]]></style>
+  <style type="text/css"><![CDATA[
+  div
+    {
+      background-color: red;
+      color: green;
+      font: 50px/1 Ahem; /* computes to 50px/50px */
+      height: 2em; /* computes to 100px */
+      writing-mode: vertical-rl;
+    }
+
+  span
+    {
+      display: inline-block;
+    }
+  ]]></style>
+ </head>
+
+ <body>
+
+  <p>Test passes if there is a filled green square and <strong>no red</strong>.</p>
+
+  <div>
+    TL
+    <span>FZ</span>
+  </div>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/baseline-inline-replaced-002-ref.xht
@@ -0,0 +1,22 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+ <head>
+  <title>CSS Reftest Reference</title>
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" /> <!-- 2015-01-16 -->
+
+  <meta name="flags" content="image" />
+  <style type="text/css"><![CDATA[
+  img
+    {
+      vertical-align: top;
+    }
+  ]]></style>
+ </head>
+ <body>
+
+  <p>Test passes if there is a cat and <strong>no red</strong>.</p>
+
+  <div><img id="cat" src="support/cat.png" width="98" height="99" alt="Image download support must be enabled" /></div>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/baseline-inline-replaced-002.xht
@@ -0,0 +1,50 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Writing Modes Test: baseline-alignment of inline replaced element and 'vertical-rl'</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+  <link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#replaced-baselines" title="4.3 Atomic Inline Baselines" />
+  <link rel="match" href="baseline-inline-replaced-002-ref.xht" />
+
+  <meta content="ahem image" name="flags" />
+  <meta content="This test checks that the baseline-alignment of an image in the line box of a block with 'writing-mode' set to 'vertical-rl' is 'central' and not 'alphabetic'." name="assert" />
+
+<style type="text/css"><![CDATA[
+@font-face {
+  font-family: Ahem;
+  src: url("../../../fonts/Ahem.ttf");
+}
+]]></style>
+  <style type="text/css"><![CDATA[
+  div
+    {
+      background-color: red;
+      font: 96px/1 Ahem; /* computes to 96px/96px */
+      height: 99px; /* the height of the cat image */
+      writing-mode: vertical-rl;
+    }
+
+  img
+    {
+      vertical-align: baseline;
+    }
+  /* In vertical writing mode, the central baseline is used as the dominant baseline;
+  here, the central baseline is assumed to be halfway between the under and over
+  logical margin edges of the inline replaced element box. */
+
+  /* cat.png has an intrinsic height of 99px and an intrinsic width of 98px */
+  ]]></style>
+ </head>
+
+ <body>
+
+  <p>Test passes if there is a cat and <strong>no red</strong>.</p>
+
+  <div><img src="support/cat.png" alt="Image download support must be enabled" /></div>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/baseline-inline-replaced-003.xht
@@ -0,0 +1,50 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Writing Modes Test: baseline-alignment of inline replaced element and 'vertical-lr'</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+  <link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#replaced-baselines" title="4.3 Atomic Inline Baselines" />
+  <link rel="match" href="baseline-inline-replaced-002-ref.xht" />
+
+  <meta content="ahem image" name="flags" />
+  <meta content="This test checks that the baseline-alignment of an image in the line box of a block with 'writing-mode' set to 'vertical-lr' is 'central' and not 'alphabetic'." name="assert" />
+
+<style type="text/css"><![CDATA[
+@font-face {
+  font-family: Ahem;
+  src: url("../../../fonts/Ahem.ttf");
+}
+]]></style>
+  <style type="text/css"><![CDATA[
+  div
+    {
+      background-color: red;
+      font: 96px/1 Ahem; /* computes to 96px/96px */
+      height: 99px; /* the height of the cat image */
+      writing-mode: vertical-lr;
+    }
+
+  img
+    {
+      vertical-align: baseline;
+    }
+  /* In vertical writing mode, the central baseline is used as the dominant baseline;
+  here, the central baseline is assumed to be halfway between the under and over
+  logical margin edges of the inline replaced element box. */
+
+  /* cat.png has an intrinsic height of 99px and an intrinsic width of 98px */
+  ]]></style>
+ </head>
+
+ <body>
+
+  <p>Test passes if there is a cat and <strong>no red</strong>.</p>
+
+  <div><img src="support/cat.png" alt="Image download support must be enabled" /></div>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/bidi-embed-001.html
@@ -0,0 +1,46 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+<meta charset="utf-8"/>
+<title>direction/unicode-bidi: span direction rtl, unicode-bidi embed (1)</title>
+
+<link rel="author" title="Richard Ishida" href='mailto:ishida@w3.org'/>
+<link rel="help" href='http://www.w3.org/TR/css-writing-modes-3/#text-direction'/>
+<link rel="match" href='reference/bidi-embed-001.html'/>
+<meta name="assert" content='In a ltr context, if direction:rtl and unicode-bidi:embed are applied to an inline element containing mixed direction text, the text in that element will be displayed in rtl order.'/>
+<style type="text/css">
+.test span { direction: rtl; unicode-bidi: embed; }
+
+ /* the following styles are not part of the test */
+.test, .ref { font-size: 150%; border: 1px solid orange; margin: 10px; width: 10em; padding: 5px; clear: both; }
+input { margin: 5px; }
+@font-face {
+    font-family: 'ezra_silregular';
+    src: url('support/sileot-webfont.woff') format('woff');
+    font-weight: normal;
+    font-style: normal;
+    }
+.test, .ref { font-family: ezra_silregular, serif; }
+</style>
+</head>
+<body>
+<p class="instructions" dir="ltr">Test passes if the two boxes are identical.</p>
+
+
+<!--Notes:
+Key to entities used below:
+        &#x5d0; ... &#x5d5; - The first six Hebrew letters (strongly RTL).
+        &#x202d; - The LRO (left-to-right-override) formatting character.
+        &#x202c; - The PDF (pop directional formatting) formatting character; closes LRO.
+-->
+
+
+
+<div class="test" dir="ltr">&gt; <span>a &gt; &#x5d0;</span> &gt;</div>
+
+
+<div class="ref" dir="ltr">&#x202d;&gt; &#x5d0; &lt; a &gt;&#x202c;</div>
+
+
+
+</body></html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/bidi-embed-002.html
@@ -0,0 +1,49 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+<meta charset="utf-8"/>
+<title>direction/unicode-bidi: span direction rtl, unicode-bidi embed (2)</title>
+
+<link rel="author" title="Richard Ishida" href='mailto:ishida@w3.org'/>
+<link rel="help" href='http://www.w3.org/TR/css-writing-modes-3/#text-direction'/>
+<link rel="match" href='reference/bidi-embed-002.html'/>
+<meta name="assert" content='In a ltr context, if direction:rtl and unicode-bidi:embed are applied to an inline element containing mixed direction text, the text in that element will be displayed in rtl order.'/>
+<style type="text/css">
+.test span { direction: rtl; unicode-bidi: embed; }
+
+ /* the following styles are not part of the test */
+.test, .ref { font-size: 150%; border: 1px solid orange; margin: 10px; width: 10em; padding: 5px; clear: both; }
+input { margin: 5px; }
+@font-face {
+    font-family: 'ezra_silregular';
+    src: url('support/sileot-webfont.woff') format('woff');
+    font-weight: normal;
+    font-style: normal;
+    }
+.test, .ref { font-family: ezra_silregular, serif; }
+</style>
+</head>
+<body>
+<p class="instructions" dir="ltr">Test passes if the two boxes are identical.</p>
+
+
+<!--Notes:
+Key to entities used below:
+        &#x5d0; ... &#x5d5; - The first six Hebrew letters (strongly RTL).
+        &#x202d; - The LRO (left-to-right-override) formatting character.
+        &#x202c; - The PDF (pop directional formatting) formatting character; closes LRO.
+-->
+
+
+
+<div class="test" dir="ltr">&gt; <span>&#x5d0; &gt; a</span> &gt;</div>
+
+
+<div class="ref" dir="ltr">&#x202d;&gt; a &lt; &#x5d0; &gt;&#x202c;</div>
+
+
+
+
+
+
+</body></html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/bidi-embed-003.html
@@ -0,0 +1,49 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+<meta charset="utf-8"/>
+<title>direction/unicode-bidi: span direction ltr, unicode-bidi embed (1)</title>
+
+<link rel="author" title="Richard Ishida" href='mailto:ishida@w3.org'/>
+<link rel="help" href='http://www.w3.org/TR/css-writing-modes-3/#text-direction'/>
+<link rel="match" href='reference/bidi-embed-003.html'/>
+<meta name="assert" content='In a rtl context, if direction:ltr and unicode-bidi:embed are applied to an inline element containing mixed direction text, the text in that element will be displayed in ltr order.'/>
+<style type="text/css">
+.test span { direction: ltr; unicode-bidi: embed; }
+
+ /* the following styles are not part of the test */
+.test, .ref { font-size: 150%; border: 1px solid orange; margin: 10px; width: 10em; padding: 5px; clear: both; }
+input { margin: 5px; }
+@font-face {
+    font-family: 'ezra_silregular';
+    src: url('support/sileot-webfont.woff') format('woff');
+    font-weight: normal;
+    font-style: normal;
+    }
+.test, .ref { font-family: ezra_silregular, serif; }
+</style>
+</head>
+<body>
+<p class="instructions" dir="ltr">Test passes if the two boxes are identical.</p>
+
+
+<!--Notes:
+Key to entities used below:
+        &#x5d0; ... &#x5d5; - The first six Hebrew letters (strongly RTL).
+        &#x202d; - The LRO (left-to-right-override) formatting character.
+        &#x202c; - The PDF (pop directional formatting) formatting character; closes LRO.
+-->
+
+
+
+<div class="test" dir="rtl">&gt; <span>&#x5d0; &gt; a</span> &gt;</div>
+
+
+<div class="ref" dir="rtl">&#x202d;&lt; &#x5d0; &gt; a &lt;&#x202c;</div>
+
+
+
+
+
+
+</body></html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/bidi-embed-004.html
@@ -0,0 +1,49 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+<meta charset="utf-8"/>
+<title>direction/unicode-bidi: span direction ltr, unicode-bidi embed (2)</title>
+
+<link rel="author" title="Richard Ishida" href='mailto:ishida@w3.org'/>
+<link rel="help" href='http://www.w3.org/TR/css-writing-modes-3/#text-direction'/>
+<link rel="match" href='reference/bidi-embed-004.html'/>
+<meta name="assert" content='In a rtl context, if direction:ltr and unicode-bidi:embed are applied to an inline element containing mixed direction text, the text in that element will be displayed in ltr order.'/>
+<style type="text/css">
+.test span { direction: ltr; unicode-bidi: embed; }
+
+ /* the following styles are not part of the test */
+.test, .ref { font-size: 150%; border: 1px solid orange; margin: 10px; width: 10em; padding: 5px; clear: both; }
+input { margin: 5px; }
+@font-face {
+    font-family: 'ezra_silregular';
+    src: url('support/sileot-webfont.woff') format('woff');
+    font-weight: normal;
+    font-style: normal;
+    }
+.test, .ref { font-family: ezra_silregular, serif; }
+</style>
+</head>
+<body>
+<p class="instructions" dir="ltr">Test passes if the two boxes are identical.</p>
+
+
+<!--Notes:
+Key to entities used below:
+        &#x5d0; ... &#x5d5; - The first six Hebrew letters (strongly RTL).
+        &#x202d; - The LRO (left-to-right-override) formatting character.
+        &#x202c; - The PDF (pop directional formatting) formatting character; closes LRO.
+-->
+
+
+
+<div class="test" dir="rtl">&gt; <span>a &gt; &#x5d0;</span> &gt;</div>
+
+
+<div class="ref" dir="rtl">&#x202d;&lt; a &gt; &#x5d0; &lt;&#x202c;</div>
+
+
+
+
+
+
+</body></html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/bidi-embed-005.html
@@ -0,0 +1,53 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+<meta charset="utf-8"/>
+<title>direction/unicode-bidi: element as directional character with unicode-bidi embed, rtl</title>
+
+<link rel="author" title="Richard Ishida" href='mailto:ishida@w3.org'/>
+<link rel="help" href='http://www.w3.org/TR/css-writing-modes-3/#text-direction'/>
+<link rel="match" href='reference/bidi-embed-005.html'/>
+<meta name="assert" content='If unicode-bidi:embed is applied to an inline element, that element will interact with the surrounding text like a strongly directional character.'/>
+<style type="text/css">
+.test span { direction: rtl; unicode-bidi: embed; }
+
+ /* the following styles are not part of the test */
+.test, .ref { font-size: 150%; border: 1px solid orange; margin: 10px; width: 10em; padding: 5px; clear: both; }
+input { margin: 5px; }
+@font-face {
+    font-family: 'ezra_silregular';
+    src: url('support/sileot-webfont.woff') format('woff');
+    font-weight: normal;
+    font-style: normal;
+    }
+.test, .ref { font-family: ezra_silregular, serif; }
+</style>
+</head>
+<body>
+<p class="instructions" dir="ltr">Test passes if the two boxes are identical.</p>
+
+
+<!--Notes:
+Key to entities used below:
+        &#x5d0; ... &#x5d5; - The first six Hebrew letters (strongly RTL).
+        &#x202d; - The LRO (left-to-right-override) formatting character.
+        &#x202c; - The PDF (pop directional formatting) formatting character; closes LRO.
+-->
+
+
+
+<div class="test"><div dir="rtl">a > <span>&#x5d0; > &#x5d1;</span> > d</div>
+                  <div dir="rtl">a > <span>b > c</span> > d</div>
+                  </div>
+
+
+<div class="ref"><div dir="rtl">&#x202d;d &lt; &#x5d1; &lt; &#x5d0; &lt; a&#x202c;</div>
+	     <div dir="rtl">&#x202d;d &lt; b &gt; c &lt; a&#x202c;</div>
+	     </div>
+
+
+
+
+
+
+</body></html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/bidi-embed-006.html
@@ -0,0 +1,53 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+<meta charset="utf-8"/>
+<title>direction/unicode-bidi: element as directional character with unicode-bidi embed, ltr</title>
+
+<link rel="author" title="Richard Ishida" href='mailto:ishida@w3.org'/>
+<link rel="help" href='http://www.w3.org/TR/css-writing-modes-3/#text-direction'/>
+<link rel="match" href='reference/bidi-embed-006.html'/>
+<meta name="assert" content='If unicode-bidi:embed is applied to an inline element, that element will interact with the surrounding text like a strongly directional character.'/>
+<style type="text/css">
+.test span { direction: ltr; unicode-bidi: embed; }
+
+ /* the following styles are not part of the test */
+.test, .ref { font-size: 150%; border: 1px solid orange; margin: 10px; width: 10em; padding: 5px; clear: both; }
+input { margin: 5px; }
+@font-face {
+    font-family: 'ezra_silregular';
+    src: url('support/sileot-webfont.woff') format('woff');
+    font-weight: normal;
+    font-style: normal;
+    }
+.test, .ref { font-family: ezra_silregular, serif; }
+</style>
+</head>
+<body>
+<p class="instructions" dir="ltr">Test passes if the two boxes are identical.</p>
+
+
+<!--Notes:
+Key to entities used below:
+        &#x5d0; ... &#x5d5; - The first six Hebrew letters (strongly RTL).
+        &#x202d; - The LRO (left-to-right-override) formatting character.
+        &#x202c; - The PDF (pop directional formatting) formatting character; closes LRO.
+-->
+
+
+
+<div class="test"><div dir="ltr">&#x5d0; > <span>b > c</span> > &#x5d3;</div>
+                  <div dir="ltr"> &#x5d0; > <span>&#x5d1; > &#x5d2;</span> > &#x5d3;</div>
+                  </div>
+
+
+<div class="ref"><div dir="ltr">&#x202d;&#x5d0; &gt; b &gt; c &gt; &#x5d3;&#x202c;</div>
+	     <div dir="ltr">&#x202d;&#x5d0; &gt; &#x5d2; &lt; &#x5d1; &gt; &#x5d3;&#x202c;</div>
+    </div>
+
+
+
+
+
+
+</body></html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/bidi-embed-007.html
@@ -0,0 +1,49 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+<meta charset="utf-8"/>
+<title>direction/unicode-bidi: element isolation and unicode-bidi embed, rtl + number</title>
+
+<link rel="author" title="Richard Ishida" href='mailto:ishida@w3.org'/>
+<link rel="help" href='http://www.w3.org/TR/css-writing-modes-3/#text-direction'/>
+<link rel="match" href='reference/bidi-embed-007.html'/>
+<meta name="assert" content='If unicode-bidi:embed is applied to an inline element, the text in that element will NOT be directionally isolated from surrounding text.'/>
+<style type="text/css">
+.test span { direction: rtl; unicode-bidi: embed; }
+
+ /* the following styles are not part of the test */
+.test, .ref { font-size: 150%; border: 1px solid orange; margin: 10px; width: 10em; padding: 5px; clear: both; }
+input { margin: 5px; }
+@font-face {
+    font-family: 'ezra_silregular';
+    src: url('support/sileot-webfont.woff') format('woff');
+    font-weight: normal;
+    font-style: normal;
+    }
+.test, .ref { font-family: ezra_silregular, serif; }
+</style>
+</head>
+<body>
+<p class="instructions" dir="ltr">Test passes if the two boxes are identical.</p>
+
+
+<!--Notes:
+Key to entities used below:
+        &#x5d0; ... &#x5d5; - The first six Hebrew letters (strongly RTL).
+        &#x202d; - The LRO (left-to-right-override) formatting character.
+        &#x202c; - The PDF (pop directional formatting) formatting character; closes LRO.
+-->
+
+
+
+<div class="test" dir="ltr"><span>&#x5d0;</span> 3</div>
+
+
+<div class="ref" dir="ltr">&#x202d;3 &#x5d0;&#x202c;</div>
+
+
+
+
+
+
+</body></html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/bidi-embed-008.html
@@ -0,0 +1,49 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+<meta charset="utf-8"/>
+<title>direction/unicode-bidi: element isolation and unicode-bidi embed, ltr + number</title>
+
+<link rel="author" title="Richard Ishida" href='mailto:ishida@w3.org'/>
+<link rel="help" href='http://www.w3.org/TR/css-writing-modes-3/#text-direction'/>
+<link rel="match" href='reference/bidi-embed-008.html'/>
+<meta name="assert" content='If unicode-bidi:embed is applied to an inline element, the text in that element will NOT be directionally isolated from surrounding text.'/>
+<style type="text/css">
+.test span { direction: ltr; unicode-bidi: embed; }
+
+ /* the following styles are not part of the test */
+.test, .ref { font-size: 150%; border: 1px solid orange; margin: 10px; width: 10em; padding: 5px; clear: both; }
+input { margin: 5px; }
+@font-face {
+    font-family: 'ezra_silregular';
+    src: url('support/sileot-webfont.woff') format('woff');
+    font-weight: normal;
+    font-style: normal;
+    }
+.test, .ref { font-family: ezra_silregular, serif; }
+</style>
+</head>
+<body>
+<p class="instructions" dir="ltr">Test passes if the two boxes are identical.</p>
+
+
+<!--Notes:
+Key to entities used below:
+        &#x5d0; ... &#x5d5; - The first six Hebrew letters (strongly RTL).
+        &#x202d; - The LRO (left-to-right-override) formatting character.
+        &#x202c; - The PDF (pop directional formatting) formatting character; closes LRO.
+-->
+
+
+
+<div class="test" dir="rtl"><span>a</span> 3</div>
+
+
+<div class="ref" dir="rtl">&#x202d;a 3&#x202c;</div>
+
+
+
+
+
+
+</body></html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/bidi-embed-009.html
@@ -0,0 +1,49 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+<meta charset="utf-8"/>
+<title>direction/unicode-bidi: element isolation and unicode-bidi embed, rtl list</title>
+
+<link rel="author" title="Richard Ishida" href='mailto:ishida@w3.org'/>
+<link rel="help" href='http://www.w3.org/TR/css-writing-modes-3/#text-direction'/>
+<link rel="match" href='reference/bidi-embed-009.html'/>
+<meta name="assert" content='If unicode-bidi:embed is applied to an inline element, the text in that element will NOT be directionally isolated from following content.'/>
+<style type="text/css">
+.test span { direction: ltr; unicode-bidi: embed; }
+
+ /* the following styles are not part of the test */
+.test, .ref { font-size: 150%; border: 1px solid orange; margin: 10px; width: 10em; padding: 5px; clear: both; }
+input { margin: 5px; }
+@font-face {
+    font-family: 'ezra_silregular';
+    src: url('support/sileot-webfont.woff') format('woff');
+    font-weight: normal;
+    font-style: normal;
+    }
+.test, .ref { font-family: ezra_silregular, serif; }
+</style>
+</head>
+<body>
+<p class="instructions" dir="ltr">Test passes if the two boxes are identical.</p>
+
+
+<!--Notes:
+Key to entities used below:
+        &#x5d0; ... &#x5d5; - The first six Hebrew letters (strongly RTL).
+        &#x202d; - The LRO (left-to-right-override) formatting character.
+        &#x202c; - The PDF (pop directional formatting) formatting character; closes LRO.
+-->
+
+
+
+<div class="test" dir="rtl"><span>a</span> &gt; b</div>
+
+
+<div class="ref" dir="rtl">&#x202d;a &gt; b</div>
+
+
+
+
+
+
+</body></html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/bidi-embed-010.html
@@ -0,0 +1,49 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+<meta charset="utf-8"/>
+<title>direction/unicode-bidi: element isolation and unicode-bidi embed, ltr list</title>
+
+<link rel="author" title="Richard Ishida" href='mailto:ishida@w3.org'/>
+<link rel="help" href='http://www.w3.org/TR/css-writing-modes-3/#text-direction'/>
+<link rel="match" href='reference/bidi-embed-010.html'/>
+<meta name="assert" content='If unicode-bidi:embed is applied to an inline element, the text in that element will NOT be directionally isolated from following content.'/>
+<style type="text/css">
+.test span { direction: rtl; unicode-bidi: embed; }
+
+ /* the following styles are not part of the test */
+.test, .ref { font-size: 150%; border: 1px solid orange; margin: 10px; width: 10em; padding: 5px; clear: both; }
+input { margin: 5px; }
+@font-face {
+    font-family: 'ezra_silregular';
+    src: url('support/sileot-webfont.woff') format('woff');
+    font-weight: normal;
+    font-style: normal;
+    }
+.test, .ref { font-family: ezra_silregular, serif; }
+</style>
+</head>
+<body>
+<p class="instructions" dir="ltr">Test passes if the two boxes are identical.</p>
+
+
+<!--Notes:
+Key to entities used below:
+        &#x5d0; ... &#x5d5; - The first six Hebrew letters (strongly RTL).
+        &#x202d; - The LRO (left-to-right-override) formatting character.
+        &#x202c; - The PDF (pop directional formatting) formatting character; closes LRO.
+-->
+
+
+
+<div class="test" dir="ltr"><span>&#x5d0;</span> &gt; &#x5d1;</div>
+
+
+<div class="ref" dir="ltr">&#x202d;&#x5d1; &lt; &#x5d0;</div>
+
+
+
+
+
+
+</body></html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/bidi-embed-011.html
@@ -0,0 +1,50 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+<meta charset="utf-8"/>
+<title>direction/unicode-bidi: direction alone and inherited, unicode-bidi embed</title>
+
+<link rel="author" title="Richard Ishida" href='mailto:ishida@w3.org'/>
+<link rel="help" href='http://www.w3.org/TR/css-writing-modes-3/#text-direction'/>
+<link rel="match" href='reference/bidi-embed-011.html'/>
+<meta name="assert" content='Directionality is not changed by the direction property on its own, but unicode-bidi: embed will apply direction declared on a higher level element.'/>
+<style type="text/css">
+.test b { direction: rtl; font-weight: normal; }
+.test span { unicode-bidi: embed; }
+
+ /* the following styles are not part of the test */
+.test, .ref { font-size: 150%; border: 1px solid orange; margin: 10px; width: 10em; padding: 5px; clear: both; }
+input { margin: 5px; }
+@font-face {
+    font-family: 'ezra_silregular';
+    src: url('support/sileot-webfont.woff') format('woff');
+    font-weight: normal;
+    font-style: normal;
+    }
+.test, .ref { font-family: ezra_silregular, serif; }
+</style>
+</head>
+<body>
+<p class="instructions" dir="ltr">Test passes if the two boxes are identical.</p>
+
+
+<!--Notes:
+Key to entities used below:
+        &#x5d0; ... &#x5d5; - The first six Hebrew letters (strongly RTL).
+        &#x202d; - The LRO (left-to-right-override) formatting character.
+        &#x202c; - The PDF (pop directional formatting) formatting character; closes LRO.
+-->
+
+
+
+<div class="test">&gt; <b>a &gt; <span>b &gt; &#x5d3;</span> &gt; d</b> &gt;</div>
+
+
+<div class="ref" dir="ltr">&#x202d;&gt; a &gt; &#x5d3; &lt; b &gt; d &gt;&#x202c;</div>
+
+
+
+
+
+
+</body></html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/bidi-isolate-001.html
@@ -0,0 +1,49 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+<meta charset="utf-8"/>
+<title>direction/unicode-bidi: span direction rtl, unicode-bidi isolate (1)</title>
+
+<link rel="author" title="Richard Ishida" href='mailto:ishida@w3.org'/>
+<link rel="help" href='http://www.w3.org/TR/css-writing-modes-3/#text-direction'/>
+<link rel="match" href='reference/bidi-isolate-001.html'/>
+<meta name="assert" content='In a ltr context, if direction:rtl and unicode-bidi:isolate are applied to an inline element containing mixed direction text, the text in that element will be displayed in rtl order.'/>
+<style type="text/css">
+.test span { direction: rtl; unicode-bidi: isolate; }
+
+ /* the following styles are not part of the test */
+.test, .ref { font-size: 150%; border: 1px solid orange; margin: 10px; width: 10em; padding: 5px; clear: both; }
+input { margin: 5px; }
+@font-face {
+    font-family: 'ezra_silregular';
+    src: url('support/sileot-webfont.woff') format('woff');
+    font-weight: normal;
+    font-style: normal;
+    }
+.test, .ref { font-family: ezra_silregular, serif; }
+</style>
+</head>
+<body>
+<p class="instructions" dir="ltr">Test passes if the two boxes are identical.</p>
+
+
+<!--Notes:
+Key to entities used below:
+        &#x5d0; ... &#x5d5; - The first six Hebrew letters (strongly RTL).
+        &#x202d; - The LRO (left-to-right-override) formatting character.
+        &#x202c; - The PDF (pop directional formatting) formatting character; closes LRO.
+-->
+
+
+
+<div class="test" dir="ltr">&gt; <span>a &gt; &#x5d0;</span> &gt;</div>
+
+
+<div class="ref" dir="ltr">&#x202d;&gt; &#x5d0; &lt; a &gt;&#x202c;</div>
+
+
+
+
+
+
+</body></html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/bidi-isolate-002.html
@@ -0,0 +1,49 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+<meta charset="utf-8"/>
+<title>direction/unicode-bidi: span direction rtl, unicode-bidi isolate (2)</title>
+
+<link rel="author" title="Richard Ishida" href='mailto:ishida@w3.org'/>
+<link rel="help" href='http://www.w3.org/TR/css-writing-modes-3/#text-direction'/>
+<link rel="match" href='reference/bidi-isolate-002.html'/>
+<meta name="assert" content='In a ltr context, if direction:rtl and unicode-bidi:isolate are applied to an inline element containing mixed direction text, the text in that element will be displayed in rtl order.'/>
+<style type="text/css">
+.test span { direction: rtl; unicode-bidi: isolate; }
+
+ /* the following styles are not part of the test */
+.test, .ref { font-size: 150%; border: 1px solid orange; margin: 10px; width: 10em; padding: 5px; clear: both; }
+input { margin: 5px; }
+@font-face {
+    font-family: 'ezra_silregular';
+    src: url('support/sileot-webfont.woff') format('woff');
+    font-weight: normal;
+    font-style: normal;
+    }
+.test, .ref { font-family: ezra_silregular, serif; }
+</style>
+</head>
+<body>
+<p class="instructions" dir="ltr">Test passes if the two boxes are identical.</p>
+
+
+<!--Notes:
+Key to entities used below:
+        &#x5d0; ... &#x5d5; - The first six Hebrew letters (strongly RTL).
+        &#x202d; - The LRO (left-to-right-override) formatting character.
+        &#x202c; - The PDF (pop directional formatting) formatting character; closes LRO.
+-->
+
+
+
+<div class="test" dir="ltr">&gt; <span>&#x5d0; &gt; a</span> &gt;</div>
+
+
+<div class="ref" dir="ltr">&#x202d;&gt; a &lt; &#x5d0; &gt;&#x202c;</div>
+
+
+
+
+
+
+</body></html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/bidi-isolate-003.html
@@ -0,0 +1,49 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+<meta charset="utf-8"/>
+<title>direction/unicode-bidi: span direction ltr, unicode-bidi isolate (1)</title>
+
+<link rel="author" title="Richard Ishida" href='mailto:ishida@w3.org'/>
+<link rel="help" href='http://www.w3.org/TR/css-writing-modes-3/#text-direction'/>
+<link rel="match" href='reference/bidi-isolate-003.html'/>
+<meta name="assert" content='In a rtl context, if direction:ltr and unicode-bidi:isolate are applied to an inline element containing mixed direction text, the text in that element will be displayed in ltr order.'/>
+<style type="text/css">
+.test span { direction: ltr; unicode-bidi: isolate; }
+
+ /* the following styles are not part of the test */
+.test, .ref { font-size: 150%; border: 1px solid orange; margin: 10px; width: 10em; padding: 5px; clear: both; }
+input { margin: 5px; }
+@font-face {
+    font-family: 'ezra_silregular';
+    src: url('support/sileot-webfont.woff') format('woff');
+    font-weight: normal;
+    font-style: normal;
+    }
+.test, .ref { font-family: ezra_silregular, serif; }
+</style>
+</head>
+<body>
+<p class="instructions" dir="ltr">Test passes if the two boxes are identical.</p>
+
+
+<!--Notes:
+Key to entities used below:
+        &#x5d0; ... &#x5d5; - The first six Hebrew letters (strongly RTL).
+        &#x202d; - The LRO (left-to-right-override) formatting character.
+        &#x202c; - The PDF (pop directional formatting) formatting character; closes LRO.
+-->
+
+
+
+<div class="test" dir="rtl">&gt; <span>&#x5d0; &gt; a</span> &gt;</div>
+
+
+<div class="ref" dir="rtl">&#x202d;&lt; &#x5d0; &gt; a &lt;&#x202c;</div>
+
+
+
+
+
+
+</body></html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/bidi-isolate-004.html
@@ -0,0 +1,49 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+<meta charset="utf-8"/>
+<title>direction/unicode-bidi: span direction ltr, unicode-bidi isolate (2)</title>
+
+<link rel="author" title="Richard Ishida" href='mailto:ishida@w3.org'/>
+<link rel="help" href='http://www.w3.org/TR/css-writing-modes-3/#text-direction'/>
+<link rel="match" href='reference/bidi-isolate-004.html'/>
+<meta name="assert" content='In a rtl context, if direction:ltr and unicode-bidi:isolate are applied to an inline element containing mixed direction text, the text in that element will be displayed in ltr order.'/>
+<style type="text/css">
+.test span { direction: ltr; unicode-bidi: isolate; }
+
+ /* the following styles are not part of the test */
+.test, .ref { font-size: 150%; border: 1px solid orange; margin: 10px; width: 10em; padding: 5px; clear: both; }
+input { margin: 5px; }
+@font-face {
+    font-family: 'ezra_silregular';
+    src: url('support/sileot-webfont.woff') format('woff');
+    font-weight: normal;
+    font-style: normal;
+    }
+.test, .ref { font-family: ezra_silregular, serif; }
+</style>
+</head>
+<body>
+<p class="instructions" dir="ltr">Test passes if the two boxes are identical.</p>
+
+
+<!--Notes:
+Key to entities used below:
+        &#x5d0; ... &#x5d5; - The first six Hebrew letters (strongly RTL).
+        &#x202d; - The LRO (left-to-right-override) formatting character.
+        &#x202c; - The PDF (pop directional formatting) formatting character; closes LRO.
+-->
+
+
+
+<div class="test" dir="rtl">&gt; <span>a &gt; &#x5d0;</span> &gt;</div>
+
+
+<div class="ref" dir="rtl">&#x202d;&lt; a &gt; &#x5d0; &lt;&#x202c;</div>
+
+
+
+
+
+
+</body></html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/bidi-isolate-005.html
@@ -0,0 +1,53 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+<meta charset="utf-8"/>
+<title>direction/unicode-bidi: element as directional character with unicode-bidi isolate, rtl</title>
+
+<link rel="author" title="Richard Ishida" href='mailto:ishida@w3.org'/>
+<link rel="help" href='http://www.w3.org/TR/css-writing-modes-3/#text-direction'/>
+<link rel="match" href='reference/bidi-isolate-005.html'/>
+<meta name="assert" content='If unicode-bidi:isolate is applied to an inline element, that element will interact with the surrounding text like a neutral directional character.'/>
+<style type="text/css">
+.test span { direction: rtl; unicode-bidi: isolate; }
+
+ /* the following styles are not part of the test */
+.test, .ref { font-size: 150%; border: 1px solid orange; margin: 10px; width: 10em; padding: 5px; clear: both; }
+input { margin: 5px; }
+@font-face {
+    font-family: 'ezra_silregular';
+    src: url('support/sileot-webfont.woff') format('woff');
+    font-weight: normal;
+    font-style: normal;
+    }
+.test, .ref { font-family: ezra_silregular, serif; }
+</style>
+</head>
+<body>
+<p class="instructions" dir="ltr">Test passes if the two boxes are identical.</p>
+
+
+<!--Notes:
+Key to entities used below:
+        &#x5d0; ... &#x5d5; - The first six Hebrew letters (strongly RTL).
+        &#x202d; - The LRO (left-to-right-override) formatting character.
+        &#x202c; - The PDF (pop directional formatting) formatting character; closes LRO.
+-->
+
+
+
+<div class="test"><div dir="rtl">a > <span>&#x5d0; > &#x5d1;</span> > d</div>
+                  <div dir="rtl">a > <span>b > c</span> > d</div>
+                  </div>
+
+
+<div class="ref"><div dir="rtl">&#x202d;a &gt; &#x5d1; &lt; &#x5d0; &gt; d&#x202c;</div>
+      	     <div dir="rtl">&#x202d;a &gt; b &gt; c &gt; d&#x202c;</div>
+      	     </div>
+
+
+
+
+
+
+</body></html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/bidi-isolate-006.html
@@ -0,0 +1,53 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+<meta charset="utf-8"/>
+<title>direction/unicode-bidi: element as directional character with unicode-bidi isolate, ltr</title>
+
+<link rel="author" title="Richard Ishida" href='mailto:ishida@w3.org'/>
+<link rel="help" href='http://www.w3.org/TR/css-writing-modes-3/#text-direction'/>
+<link rel="match" href='reference/bidi-isolate-006.html'/>
+<meta name="assert" content='If unicode-bidi:isolate is applied to an inline element, that element will interact with the surrounding text like a neutral directional character.'/>
+<style type="text/css">
+.test span { direction: ltr; unicode-bidi: isolate; }
+
+ /* the following styles are not part of the test */
+.test, .ref { font-size: 150%; border: 1px solid orange; margin: 10px; width: 10em; padding: 5px; clear: both; }
+input { margin: 5px; }
+@font-face {
+    font-family: 'ezra_silregular';
+    src: url('support/sileot-webfont.woff') format('woff');
+    font-weight: normal;
+    font-style: normal;
+    }
+.test, .ref { font-family: ezra_silregular, serif; }
+</style>
+</head>
+<body>
+<p class="instructions" dir="ltr">Test passes if the two boxes are identical.</p>
+
+
+<!--Notes:
+Key to entities used below:
+        &#x5d0; ... &#x5d5; - The first six Hebrew letters (strongly RTL).
+        &#x202d; - The LRO (left-to-right-override) formatting character.
+        &#x202c; - The PDF (pop directional formatting) formatting character; closes LRO.
+-->
+
+
+
+<div class="test"><div dir="ltr">&#x5d0; > <span>b > c</span> > &#x5d3;</div>
+                  <div dir="ltr">&#x5d0; > <span>&#x5d1; > &#x5d2;</span> > &#x5d3;</div>
+                  </div>
+
+
+<div class="ref"><div dir="ltr">&#x202d;&#x5d3; &lt; b &gt; c &lt; &#x5d0;&#x202c;</div>
+      	     <div dir="ltr">&#x202d;&#x5d3; &lt; &#x5d2; &lt; &#x5d1; &lt; &#x5d0;&#x202c;</div>
+      	     </div>
+
+
+
+
+
+
+</body></html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/bidi-isolate-007.html
@@ -0,0 +1,50 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+<meta charset="utf-8"/>
+<title>direction/unicode-bidi: element isolation and unicode-bidi isolate, rtl + number</title>
+
+<link rel="author" title="Richard Ishida" href='mailto:ishida@w3.org'/>
+<link rel="help" href='http://www.w3.org/TR/css-writing-modes-3/#text-direction'/>
+<link rel="match" href='reference/bidi-isolate-007.html'/>
+<meta name="assert" content='If unicode-bidi:isolate is applied to an inline element, the text in that element WILL be directionally isolated from surrounding text.'/>
+<style type="text/css">
+.test span { direction: rtl; unicode-bidi: isolate; }
+
+ /* the following styles are not part of the test */
+.test, .ref { font-size: 150%; border: 1px solid orange; margin: 10px; width: 10em; padding: 5px; clear: both; }
+input { margin: 5px; }
+@font-face {
+    font-family: 'ezra_silregular';
+    src: url('support/sileot-webfont.woff') format('woff');
+    font-weight: normal;
+    font-style: normal;
+    }
+.test, .ref { font-family: ezra_silregular, serif; }
+</style>
+</head>
+<body>
+<p class="instructions" dir="ltr">Test passes if the two boxes are identical.</p>
+
+
+<!--Notes:
+Key to entities used below:
+        &#x5d0; ... &#x5d5; - The first six Hebrew letters (strongly RTL).
+        &#x202d; - The LRO (left-to-right-override) formatting character.
+        &#x202c; - The PDF (pop directional formatting) formatting character; closes LRO.
+-->
+
+
+
+<div class="test" dir="ltr"><span>&#x5d0;</span> 3</div>
+
+<div class="ref">&#x202d;&#x5d0; 3&#x202c;</div>
+
+
+
+
+
+
+
+
+</body></html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/bidi-isolate-008.html
@@ -0,0 +1,49 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+<meta charset="utf-8"/>
+<title>direction/unicode-bidi: element isolation and unicode-bidi isolate, ltr + number</title>
+
+<link rel="author" title="Richard Ishida" href='mailto:ishida@w3.org'/>
+<link rel="help" href='http://www.w3.org/TR/css-writing-modes-3/#text-direction'/>
+<link rel="match" href='reference/bidi-isolate-008.html'/>
+<meta name="assert" content='If unicode-bidi:isolate is applied to an inline element, the text in that element WILL be directionally isolated from surrounding text.'/>
+<style type="text/css">
+.test span { direction: ltr; unicode-bidi: isolate; }
+
+ /* the following styles are not part of the test */
+.test, .ref { font-size: 150%; border: 1px solid orange; margin: 10px; width: 10em; padding: 5px; clear: both; }
+input { margin: 5px; }
+@font-face {
+    font-family: 'ezra_silregular';
+    src: url('support/sileot-webfont.woff') format('woff');
+    font-weight: normal;
+    font-style: normal;
+    }
+.test, .ref { font-family: ezra_silregular, serif; }
+</style>
+</head>
+<body>
+<p class="instructions" dir="ltr">Test passes if the two boxes are identical.</p>
+
+
+<!--Notes:
+Key to entities used below:
+        &#x5d0; ... &#x5d5; - The first six Hebrew letters (strongly RTL).
+        &#x202d; - The LRO (left-to-right-override) formatting character.
+        &#x202c; - The PDF (pop directional formatting) formatting character; closes LRO.
+-->
+
+
+
+<div class="test" dir="rtl"><span>a</span> 3</div>
+
+
+<div class="ref" dir="rtl">&#x202d;3 a&#x202c;</div>
+
+
+
+
+
+
+</body></html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/bidi-isolate-009.html
@@ -0,0 +1,49 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+<meta charset="utf-8"/>
+<title>direction/unicode-bidi: element isolation and unicode-bidi isolate, rtl list</title>
+
+<link rel="author" title="Richard Ishida" href='mailto:ishida@w3.org'/>
+<link rel="help" href='http://www.w3.org/TR/css-writing-modes-3/#text-direction'/>
+<link rel="match" href='reference/bidi-isolate-009.html'/>
+<meta name="assert" content='If unicode-bidi:isolate is applied to an inline element, the text in that element WILL be directionally isolated from following content.'/>
+<style type="text/css">
+.test span { direction: ltr; unicode-bidi: isolate; }
+
+ /* the following styles are not part of the test */
+.test, .ref { font-size: 150%; border: 1px solid orange; margin: 10px; width: 10em; padding: 5px; clear: both; }
+input { margin: 5px; }
+@font-face {
+    font-family: 'ezra_silregular';
+    src: url('support/sileot-webfont.woff') format('woff');
+    font-weight: normal;
+    font-style: normal;
+    }
+.test, .ref { font-family: ezra_silregular, serif; }
+</style>
+</head>
+<body>
+<p class="instructions" dir="ltr">Test passes if the two boxes are identical.</p>
+
+
+<!--Notes:
+Key to entities used below:
+        &#x5d0; ... &#x5d5; - The first six Hebrew letters (strongly RTL).
+        &#x202d; - The LRO (left-to-right-override) formatting character.
+        &#x202c; - The PDF (pop directional formatting) formatting character; closes LRO.
+-->
+
+
+
+<div class="test" dir="rtl"><span>a</span> &gt; b</div>
+
+
+<div class="ref" dir="rtl">&#x202d;b &lt; a</div>
+
+
+
+
+
+
+</body></html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/bidi-isolate-010.html
@@ -0,0 +1,49 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+<meta charset="utf-8"/>
+<title>direction/unicode-bidi: element isolation and unicode-bidi isolate, ltr list</title>
+
+<link rel="author" title="Richard Ishida" href='mailto:ishida@w3.org'/>
+<link rel="help" href='http://www.w3.org/TR/css-writing-modes-3/#text-direction'/>
+<link rel="match" href='reference/bidi-isolate-010.html'/>
+<meta name="assert" content='If unicode-bidi:isolate is applied to an inline element, the text in that element will NOT be directionally isolated from following content.'/>
+<style type="text/css">
+.test span { direction: rtl; unicode-bidi: isolate; }
+
+ /* the following styles are not part of the test */
+.test, .ref { font-size: 150%; border: 1px solid orange; margin: 10px; width: 10em; padding: 5px; clear: both; }
+input { margin: 5px; }
+@font-face {
+    font-family: 'ezra_silregular';
+    src: url('support/sileot-webfont.woff') format('woff');
+    font-weight: normal;
+    font-style: normal;
+    }
+.test, .ref { font-family: ezra_silregular, serif; }
+</style>
+</head>
+<body>
+<p class="instructions" dir="ltr">Test passes if the two boxes are identical.</p>
+
+
+<!--Notes:
+Key to entities used below:
+        &#x5d0; ... &#x5d5; - The first six Hebrew letters (strongly RTL).
+        &#x202d; - The LRO (left-to-right-override) formatting character.
+        &#x202c; - The PDF (pop directional formatting) formatting character; closes LRO.
+-->
+
+
+
+<div class="test" dir="ltr"><span>&#x5d0;</span> &gt; &#x5d1;</div>
+
+
+<div class="ref" dir="ltr">&#x202d;&#x5d0; &gt; &#x5d1;</div>
+
+
+
+
+
+
+</body></html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/bidi-isolate-011.html
@@ -0,0 +1,50 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+<meta charset="utf-8"/>
+<title>direction/unicode-bidi: direction alone and inherited, unicode-bidi embed</title>
+
+<link rel="author" title="Richard Ishida" href='mailto:ishida@w3.org'/>
+<link rel="help" href='http://www.w3.org/TR/css-writing-modes-3/#text-direction'/>
+<link rel="match" href='reference/bidi-embed-011.html'/>
+<meta name="assert" content='Directionality is not changed by the direction property on its own, but unicode-bidi: isolate will apply direction declared on a higher level element.'/>
+<style type="text/css">
+.test b { direction: rtl; font-weight: normal; }
+.test span { unicode-bidi: isolate; }
+
+ /* the following styles are not part of the test */
+.test, .ref { font-size: 150%; border: 1px solid orange; margin: 10px; width: 10em; padding: 5px; clear: both; }
+input { margin: 5px; }
+@font-face {
+    font-family: 'ezra_silregular';
+    src: url('support/sileot-webfont.woff') format('woff');
+    font-weight: normal;
+    font-style: normal;
+    }
+.test, .ref { font-family: ezra_silregular, serif; }
+</style>
+</head>
+<body>
+<p class="instructions" dir="ltr">Test passes if the two boxes are identical.</p>
+
+
+<!--Notes:
+Key to entities used below:
+        &#x5d0; ... &#x5d5; - The first six Hebrew letters (strongly RTL).
+        &#x202d; - The LRO (left-to-right-override) formatting character.
+        &#x202c; - The PDF (pop directional formatting) formatting character; closes LRO.
+-->
+
+
+
+<div class="test">&gt; <b>a &gt; <span>b &gt; &#x5d3;</span> &gt; d</b> &gt;</div>
+
+
+<div class="ref" dir="ltr">&#x202d;&gt; a &gt; &#x5d3; &lt; b &gt; d &gt;&#x202c;</div>
+
+
+
+
+
+
+</body></html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/bidi-isolate-override-001.html
@@ -0,0 +1,49 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+<meta charset="utf-8"/>
+<title>direction/unicode-bidi: span direction rtl, isolate-override (1)</title>
+
+<link rel="author" title="Richard Ishida" href='mailto:ishida@w3.org'/>
+<link rel="help" href='http://www.w3.org/TR/css-writing-modes-3/#text-direction'/>
+<link rel="match" href='reference/bidi-isolate-override-001.html'/>
+<meta name="assert" content='In a ltr context, if direction:rtl and unicode-bidi:isolate-override are applied to an inline element containing mixed direction text, the characters in that element will all be displayed in rtl order, ignoring the bidi algorithm.'/>
+<style type="text/css">
+.test span { direction: rtl; unicode-bidi: isolate-override; }
+
+ /* the following styles are not part of the test */
+.test, .ref { font-size: 150%; border: 1px solid orange; margin: 10px; width: 10em; padding: 5px; clear: both; }
+input { margin: 5px; }
+@font-face {
+    font-family: 'ezra_silregular';
+    src: url('support/sileot-webfont.woff') format('woff');
+    font-weight: normal;
+    font-style: normal;
+    }
+.test, .ref { font-family: ezra_silregular, serif; }
+</style>
+</head>
+<body>
+<p class="instructions" dir="ltr">Test passes if the two boxes are identical.</p>
+
+
+<!--Notes:
+Key to entities used below:
+        &#x5d0; ... &#x5d5; - The first six Hebrew letters (strongly RTL).
+        &#x202d; - The LRO (left-to-right-isolate-override) formatting character.
+        &#x202c; - The PDF (pop directional formatting) formatting character; closes LRO.
+-->
+
+
+
+<div class="test" dir="ltr">&gt; <span>abcd &gt; &#x5d0;&#x5d1;&#x5d2;&#x5d3;</span> &gt;</div>
+
+
+<div class="ref" dir="ltr">&#x202d;&gt; &#x5d3;&#x5d2;&#x5d1;&#x5d0; &lt; dcba &gt;&#x202c;</div>
+
+
+
+
+
+
+</body></html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/bidi-isolate-override-002.html
@@ -0,0 +1,49 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+<meta charset="utf-8"/>
+<title>direction/unicode-bidi: span direction rtl, isolate-override (2)</title>
+
+<link rel="author" title="Richard Ishida" href='mailto:ishida@w3.org'/>
+<link rel="help" href='http://www.w3.org/TR/css-writing-modes-3/#text-direction'/>
+<link rel="match" href='reference/bidi-isolate-override-002.html'/>
+<meta name="assert" content='In a ltr context, if direction:rtl and unicode-bidi:isolate-override are applied to an inline element containing mixed direction text, the characters in that element will all be displayed in rtl order, ignoring the bidi algorithm.'/>
+<style type="text/css">
+.test span { direction: rtl; unicode-bidi: isolate-override; }
+
+ /* the following styles are not part of the test */
+.test, .ref { font-size: 150%; border: 1px solid orange; margin: 10px; width: 10em; padding: 5px; clear: both; }
+input { margin: 5px; }
+@font-face {
+    font-family: 'ezra_silregular';
+    src: url('support/sileot-webfont.woff') format('woff');
+    font-weight: normal;
+    font-style: normal;
+    }
+.test, .ref { font-family: ezra_silregular, serif; }
+</style>
+</head>
+<body>
+<p class="instructions" dir="ltr">Test passes if the two boxes are identical.</p>
+
+
+<!--Notes:
+Key to entities used below:
+        &#x5d0; ... &#x5d5; - The first six Hebrew letters (strongly RTL).
+        &#x202d; - The LRO (left-to-right-isolate-override) formatting character.
+        &#x202c; - The PDF (pop directional formatting) formatting character; closes LRO.
+-->
+
+
+
+<div class="test" dir="ltr">&gt; <span>&#x5d0;&#x5d1;&#x5d2;&#x5d3; &gt; abcd</span> &gt;</div>
+
+
+<div class="ref" dir="ltr">&#x202d;&gt; dcba &lt; &#x5d3;&#x5d2;&#x5d1;&#x5d0; &gt;&#x202c;</div>
+
+
+
+
+
+
+</body></html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/bidi-isolate-override-003.html
@@ -0,0 +1,49 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+<meta charset="utf-8"/>
+<title>direction/unicode-bidi: span direction ltr, isolate-override (1)</title>
+
+<link rel="author" title="Richard Ishida" href='mailto:ishida@w3.org'/>
+<link rel="help" href='http://www.w3.org/TR/css-writing-modes-3/#text-direction'/>
+<link rel="match" href='reference/bidi-isolate-override-003.html'/>
+<meta name="assert" content='In a rtl context, if direction:ltr and unicode-bidi:isolate-override are applied to an inline element containing mixed direction text, the characters in that element will all be displayed in ltr order, ignoring the bidi algorithm.'/>
+<style type="text/css">
+.test span { direction: ltr; unicode-bidi: isolate-override; }
+
+ /* the following styles are not part of the test */
+.test, .ref { font-size: 150%; border: 1px solid orange; margin: 10px; width: 10em; padding: 5px; clear: both; }
+input { margin: 5px; }
+@font-face {
+    font-family: 'ezra_silregular';
+    src: url('support/sileot-webfont.woff') format('woff');
+    font-weight: normal;
+    font-style: normal;
+    }
+.test, .ref { font-family: ezra_silregular, serif; }
+</style>
+</head>
+<body>
+<p class="instructions" dir="ltr">Test passes if the two boxes are identical.</p>
+
+
+<!--Notes:
+Key to entities used below:
+        &#x5d0; ... &#x5d5; - The first six Hebrew letters (strongly RTL).
+        &#x202d; - The LRO (left-to-right-isolate-override) formatting character.
+        &#x202c; - The PDF (pop directional formatting) formatting character; closes LRO.
+-->
+
+
+
+<div class="test" dir="rtl">&gt; <span>&#x5d0;&#x5d1;&#x5d2;&#x5d3; &gt; abcd</span> &gt;</div>
+
+
+<div class="ref" dir="rtl">&#x202d;&lt; &#x5d0;&#x5d1;&#x5d2;&#x5d3; &gt; abcd &lt;&#x202c;</div>
+
+
+
+
+
+
+</body></html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/bidi-isolate-override-004.html
@@ -0,0 +1,49 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+<meta charset="utf-8"/>
+<title>direction/unicode-bidi: span direction ltr, isolate-override (2)</title>
+
+<link rel="author" title="Richard Ishida" href='mailto:ishida@w3.org'/>
+<link rel="help" href='http://www.w3.org/TR/css-writing-modes-3/#text-direction'/>
+<link rel="match" href='reference/bidi-isolate-override-004.html'/>
+<meta name="assert" content='In a rtl context, if direction:ltr and unicode-bidi:isolate-override are applied to an inline element containing mixed direction text, the characters in that element will all be displayed in ltr order, ignoring the bidi algorithm.'/>
+<style type="text/css">
+.test span { direction: ltr; unicode-bidi: isolate-override; }
+
+ /* the following styles are not part of the test */
+.test, .ref { font-size: 150%; border: 1px solid orange; margin: 10px; width: 10em; padding: 5px; clear: both; }
+input { margin: 5px; }
+@font-face {
+    font-family: 'ezra_silregular';
+    src: url('support/sileot-webfont.woff') format('woff');
+    font-weight: normal;
+    font-style: normal;
+    }
+.test, .ref { font-family: ezra_silregular, serif; }
+</style>
+</head>
+<body>
+<p class="instructions" dir="ltr">Test passes if the two boxes are identical.</p>
+
+
+<!--Notes:
+Key to entities used below:
+        &#x5d0; ... &#x5d5; - The first six Hebrew letters (strongly RTL).
+        &#x202d; - The LRO (left-to-right-isolate-override) formatting character.
+        &#x202c; - The PDF (pop directional formatting) formatting character; closes LRO.
+-->
+
+
+
+<div class="test" dir="rtl">&gt; <span>abcd &gt; &#x5d0;&#x5d1;&#x5d2;&#x5d3;</span> &gt;</div>
+
+
+<div class="ref" dir="rtl">&#x202d;&lt; abcd &gt; &#x5d0;&#x5d1;&#x5d2;&#x5d3; &lt;&#x202c;</div>
+
+
+
+
+
+
+</body></html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/bidi-isolate-override-005.html
@@ -0,0 +1,53 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+<meta charset="utf-8"/>
+<title>direction/unicode-bidi: element as directional character with isolate-override, rtl</title>
+
+<link rel="author" title="Richard Ishida" href='mailto:ishida@w3.org'/>
+<link rel="help" href='http://www.w3.org/TR/css-writing-modes-3/#text-direction'/>
+<link rel="match" href='reference/bidi-isolate-override-005.html'/>
+<meta name="assert" content='If unicode-bidi:isolate-override is applied to an inline element, that element will interact with the surrounding text like a neutral directional character.'/>
+<style type="text/css">
+.test span { direction: rtl; unicode-bidi: isolate-override; }
+
+ /* the following styles are not part of the test */
+.test, .ref { font-size: 150%; border: 1px solid orange; margin: 10px; width: 10em; padding: 5px; clear: both; }
+input { margin: 5px; }
+@font-face {
+    font-family: 'ezra_silregular';
+    src: url('support/sileot-webfont.woff') format('woff');
+    font-weight: normal;
+    font-style: normal;
+    }
+.test, .ref { font-family: ezra_silregular, serif; }
+</style>
+</head>
+<body>
+<p class="instructions" dir="ltr">Test passes if the two boxes are identical.</p>
+
+
+<!--Notes:
+Key to entities used below:
+        &#x5d0; ... &#x5d5; - The first six Hebrew letters (strongly RTL).
+        &#x202d; - The LRO (left-to-right-isolate-override) formatting character.
+        &#x202c; - The PDF (pop directional formatting) formatting character; closes LRO.
+-->
+
+
+
+<div class="test"><div dir="rtl">a > <span>&#x5d1; > &#x5d2;</span> > d</div>
+                  <div dir="rtl">a > <span>b > c</span> > d</div>
+                  </div>
+
+
+<div class="ref"><div dir="rtl">&#x202d;a &gt; &#x5d2; &lt; &#x5d1; &gt; d&#x202c;</div>
+      	     <div dir="rtl">&#x202d;a &gt; c &lt; b &gt; d&#x202c;</div>
+      	     </div>
+
+
+
+
+
+
+</body></html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/bidi-isolate-override-006.html
@@ -0,0 +1,53 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+<meta charset="utf-8"/>
+<title>direction/unicode-bidi: element as directional character with isolate-override, ltr</title>
+
+<link rel="author" title="Richard Ishida" href='mailto:ishida@w3.org'/>
+<link rel="help" href='http://www.w3.org/TR/css-writing-modes-3/#text-direction'/>
+<link rel="match" href='reference/bidi-isolate-override-006.html'/>
+<meta name="assert" content='If unicode-bidi:isolate-override is applied to an inline element, that element will interact with the surrounding text like a neutral directional character.'/>
+<style type="text/css">
+.test span { direction: ltr; unicode-bidi: isolate-override; }
+
+ /* the following styles are not part of the test */
+.test, .ref { font-size: 150%; border: 1px solid orange; margin: 10px; width: 10em; padding: 5px; clear: both; }
+input { margin: 5px; }
+@font-face {
+    font-family: 'ezra_silregular';
+    src: url('support/sileot-webfont.woff') format('woff');
+    font-weight: normal;
+    font-style: normal;
+    }
+.test, .ref { font-family: ezra_silregular, serif; }
+</style>
+</head>
+<body>
+<p class="instructions" dir="ltr">Test passes if the two boxes are identical.</p>
+
+
+<!--Notes:
+Key to entities used below:
+        &#x5d0; ... &#x5d5; - The first six Hebrew letters (strongly RTL).
+        &#x202d; - The LRO (left-to-right-isolate-override) formatting character.
+        &#x202c; - The PDF (pop directional formatting) formatting character; closes LRO.
+-->
+
+
+
+<div class="test"><div dir="ltr">&#x5d0; > <span>b > c</span> > &#x5d3;</div>
+                  <div dir="ltr"> &#x5d0; > <span>&#x5d1; > &#x5d2;</span> > &#x5d3;</div>
+                  </div>
+
+
+<div class="ref"><div dir="ltr">&#x202d;&#x5d3; &lt; b &gt; c &lt; &#x5d0;&#x202c;</div>
+      	     <div dir="ltr">&#x202d;&#x5d3; &lt; &#x5d1; &gt; &#x5d2; &lt; &#x5d0;&#x202c;</div>
+      	     </div>
+
+
+
+
+
+
+</body></html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/bidi-isolate-override-007.html
@@ -0,0 +1,49 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+<meta charset="utf-8"/>
+<title>direction/unicode-bidi: element isolation and isolate-override, rtl + number</title>
+
+<link rel="author" title="Richard Ishida" href='mailto:ishida@w3.org'/>
+<link rel="help" href='http://www.w3.org/TR/css-writing-modes-3/#text-direction'/>
+<link rel="match" href='reference/bidi-isolate-override-007.html'/>
+<meta name="assert" content='If unicode-bidi:isolate-override is applied to an inline element, the text in that element WILL be directionally isolated from surrounding text.'/>
+<style type="text/css">
+.test span { direction: rtl; unicode-bidi: isolate-override; }
+
+ /* the following styles are not part of the test */
+.test, .ref { font-size: 150%; border: 1px solid orange; margin: 10px; width: 10em; padding: 5px; clear: both; }
+input { margin: 5px; }
+@font-face {
+    font-family: 'ezra_silregular';
+    src: url('support/sileot-webfont.woff') format('woff');
+    font-weight: normal;
+    font-style: normal;
+    }
+.test, .ref { font-family: ezra_silregular, serif; }
+</style>
+</head>
+<body>
+<p class="instructions" dir="ltr">Test passes if the two boxes are identical.</p>
+
+
+<!--Notes:
+Key to entities used below:
+        &#x5d0; ... &#x5d5; - The first six Hebrew letters (strongly RTL).
+        &#x202d; - The LRO (left-to-right-isolate-override) formatting character.
+        &#x202c; - The PDF (pop directional formatting) formatting character; closes LRO.
+-->
+
+
+
+<div class="test" dir="ltr"><span>&#x5d0;&#x5d1;&#x5d2;&#x5d3;</span> 3</div>
+
+
+<div class="ref" dir="ltr">&#x202d;&#x5d3;&#x5d2;&#x5d1;&#x5d0; 3&#x202c;</div>
+
+
+
+
+
+
+</body></html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/bidi-isolate-override-008.html
@@ -0,0 +1,46 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+<meta charset="utf-8"/>
+<title>direction/unicode-bidi: element isolation and isolate-override, ltr + number</title>
+
+<link rel="author" title="Richard Ishida" href='mailto:ishida@w3.org'/>
+<link rel="help" href='http://www.w3.org/TR/css-writing-modes-3/#text-direction'/>
+<link rel="match" href='reference/bidi-isolate-override-008.html'/>
+<meta name="assert" content='If unicode-bidi:isolate-override is applied to an inline element, the text in that element WILL be directionally isolated from surrounding text.'/>
+<style type="text/css">
+.test span { direction: ltr; unicode-bidi: isolate-override; }
+
+ /* the following styles are not part of the test */
+.test, .ref { font-size: 150%; border: 1px solid orange; margin: 10px; width: 10em; padding: 5px; clear: both; }
+input { margin: 5px; }
+@font-face {
+    font-family: 'ezra_silregular';
+    src: url('support/sileot-webfont.woff') format('woff');
+    font-weight: normal;
+    font-style: normal;
+    }
+.test, .ref { font-family: ezra_silregular, serif; }
+</style>
+</head>
+<body>
+<p class="instructions" dir="ltr">Test passes if the two boxes are identical.</p>
+
+
+<!--Notes:
+Key to entities used below:
+        &#x5d0; ... &#x5d5; - The first six Hebrew letters (strongly RTL).
+        &#x202d; - The LRO (left-to-right-isolate-override) formatting character.
+        &#x202c; - The PDF (pop directional formatting) formatting character; closes LRO.
+-->
+
+
+
+<div class="test" dir="rtl"><span>abcd</span> 3</div>
+
+
+<div class="ref" dir="rtl">&#x202d;3 abcd&#x202c;</div>
+
+
+
+</body></html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/bidi-isolate-override-009.html
@@ -0,0 +1,49 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+<meta charset="utf-8"/>
+<title>direction/unicode-bidi: element isolation and isolate-override, rtl list</title>
+
+<link rel="author" title="Richard Ishida" href='mailto:ishida@w3.org'/>
+<link rel="help" href='http://www.w3.org/TR/css-writing-modes-3/#text-direction'/>
+<link rel="match" href='reference/bidi-isolate-override-009.html'/>
+<meta name="assert" content='If unicode-bidi:isolate-override is applied to an inline element, the text in that element WILL be directionally isolated from following content.'/>
+<style type="text/css">
+.test span { direction: ltr; unicode-bidi: isolate-override; }
+
+ /* the following styles are not part of the test */
+.test, .ref { font-size: 150%; border: 1px solid orange; margin: 10px; width: 10em; padding: 5px; clear: both; }
+input { margin: 5px; }
+@font-face {
+    font-family: 'ezra_silregular';
+    src: url('support/sileot-webfont.woff') format('woff');
+    font-weight: normal;
+    font-style: normal;
+    }
+.test, .ref { font-family: ezra_silregular, serif; }
+</style>
+</head>
+<body>
+<p class="instructions" dir="ltr">Test passes if the two boxes are identical.</p>
+
+
+<!--Notes:
+Key to entities used below:
+        &#x5d0; ... &#x5d5; - The first six Hebrew letters (strongly RTL).
+        &#x202d; - The LRO (left-to-right-isolate-override) formatting character.
+        &#x202c; - The PDF (pop directional formatting) formatting character; closes LRO.
+-->
+
+
+
+<div class="test" dir="rtl"><span>abcd</span> &gt; e</div>
+
+
+<div class="ref" dir="rtl">&#x202d;e &lt; abcd&#x202c;</div>
+
+
+
+
+
+
+</body></html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/bidi-isolate-override-010.html
@@ -0,0 +1,49 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+<meta charset="utf-8"/>
+<title>direction/unicode-bidi: element isolation and isolate-override, ltr list</title>
+
+<link rel="author" title="Richard Ishida" href='mailto:ishida@w3.org'/>
+<link rel="help" href='http://www.w3.org/TR/css-writing-modes-3/#text-direction'/>
+<link rel="match" href='reference/bidi-isolate-override-010.html'/>
+<meta name="assert" content='If unicode-bidi:isolate-override is applied to an inline element, the text in that element WILL be directionally isolated from following content.'/>
+<style type="text/css">
+.test span { direction: rtl; unicode-bidi: isolate-override; }
+
+ /* the following styles are not part of the test */
+.test, .ref { font-size: 150%; border: 1px solid orange; margin: 10px; width: 10em; padding: 5px; clear: both; }
+input { margin: 5px; }
+@font-face {
+    font-family: 'ezra_silregular';
+    src: url('support/sileot-webfont.woff') format('woff');
+    font-weight: normal;
+    font-style: normal;
+    }
+.test, .ref { font-family: ezra_silregular, serif; }
+</style>
+</head>
+<body>
+<p class="instructions" dir="ltr">Test passes if the two boxes are identical.</p>
+
+
+<!--Notes:
+Key to entities used below:
+        &#x5d0; ... &#x5d5; - The first six Hebrew letters (strongly RTL).
+        &#x202d; - The LRO (left-to-right-isolate-override) formatting character.
+        &#x202c; - The PDF (pop directional formatting) formatting character; closes LRO.
+-->
+
+
+
+<div class="test" dir="ltr"><span>&#x5d0;&#x5d1;&#x5d2;&#x5d3;</span> &gt; &#x5d4;</div>
+
+
+<div class="ref" dir="ltr">&#x202d;&#x5d3;&#x5d2;&#x5d1;&#x5d0; &gt; &#x5d4;&#x202c;</div>
+
+
+
+
+
+
+</body></html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/bidi-isolate-override-011.html
@@ -0,0 +1,50 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+<meta charset="utf-8"/>
+<title>direction/unicode-bidi: direction alone and inherited, isolate-override</title>
+
+<link rel="author" title="Richard Ishida" href='mailto:ishida@w3.org'/>
+<link rel="help" href='http://www.w3.org/TR/css-writing-modes-3/#text-direction'/>
+<link rel="match" href='reference/bidi-isolate-override-011.html'/>
+<meta name="assert" content='unicode-bidi: isolate-override will apply direction declared on a higher level element.'/>
+<style type="text/css">
+.test b { direction: rtl; font-weight: normal; }
+.test span { unicode-bidi: isolate-override; }
+
+ /* the following styles are not part of the test */
+.test, .ref { font-size: 150%; border: 1px solid orange; margin: 10px; width: 15em; padding: 5px; clear: both; }
+input { margin: 5px; }
+@font-face {
+    font-family: 'ezra_silregular';
+    src: url('support/sileot-webfont.woff') format('woff');
+    font-weight: normal;
+    font-style: normal;
+    }
+.test, .ref { font-family: ezra_silregular, serif; }
+</style>
+</head>
+<body>
+<p class="instructions" dir="ltr">Test passes if the two boxes are identical.</p>
+
+
+<!--Notes:
+Key to entities used below:
+        &#x5d0; ... &#x5d5; - The first six Hebrew letters (strongly RTL).
+        &#x202d; - The LRO (left-to-right-isolate-override) formatting character.
+        &#x202c; - The PDF (pop directional formatting) formatting character; closes LRO.
+-->
+
+
+
+<div class="test">&gt; <b>a &gt; <span>bc &gt; &#x5d1;&#x5d2;</span> &gt; d</b> &gt;</div>
+
+
+<div class="ref" dir="ltr">&#x202d;&gt; a &gt; &#x5d2;&#x5d1; &lt; cb &gt; d &gt;&#x202c;</div>
+
+
+
+
+
+
+</body></html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/bidi-isolate-override-012.html
@@ -0,0 +1,49 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+<meta charset="utf-8"/>
+<title>direction/unicode-bidi: default direction, isolate-override</title>
+
+<link rel="author" title="Richard Ishida" href='mailto:ishida@w3.org'/>
+<link rel="help" href='http://www.w3.org/TR/css-writing-modes-3/#text-direction'/>
+<link rel="match" href='reference/bidi-isolate-override-012.html'/>
+<meta name="assert" content='unicode-bidi: When no direction is set, isolate-override will apply ltr ordering to text within its scope.'/>
+<style type="text/css">
+.test span { unicode-bidi: isolate-override; }
+
+ /* the following styles are not part of the test */
+.test, .ref { font-size: 150%; border: 1px solid orange; margin: 10px; width: 15em; padding: 5px; clear: both; }
+input { margin: 5px; }
+@font-face {
+    font-family: 'ezra_silregular';
+    src: url('support/sileot-webfont.woff') format('woff');
+    font-weight: normal;
+    font-style: normal;
+    }
+.test, .ref { font-family: ezra_silregular, serif; }
+</style>
+</head>
+<body>
+<p class="instructions" dir="ltr">Test passes if the two boxes are identical.</p>
+
+
+<!--Notes:
+Key to entities used below:
+        &#x5d0; ... &#x5d5; - The first six Hebrew letters (strongly RTL).
+        &#x202d; - The LRO (left-to-right-isolate-override) formatting character.
+        &#x202c; - The PDF (pop directional formatting) formatting character; closes LRO.
+-->
+
+
+
+<div class="test">&gt; <span>abcd &gt; &#x5d0;&#x5d1;&#x5d2;&#x5d3;</span> &gt;</div>
+
+
+<div class="ref" dir="ltr">&#x202d;&gt; abcd &gt; &#x5d0;&#x5d1;&#x5d2;&#x5d3; &gt;&#x202c;</div>
+
+
+
+
+
+
+</body></html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/bidi-normal-001.html
@@ -0,0 +1,49 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+<meta charset="utf-8"/>
+<title>direction/unicode-bidi: span direction rtl, unicode-bidi normal (1)</title>
+
+<link rel="author" title="Richard Ishida" href='mailto:ishida@w3.org'/>
+<link rel="help" href='http://www.w3.org/TR/css-writing-modes-3/#text-direction'/>
+<link rel="match" href='reference/bidi-normal-001.html'/>
+<meta name="assert" content='In a ltr context, if direction:rtl and unicode-bidi:normal are applied to an inline element containing mixed direction text, the text in that element will NOT be displayed in rtl order.'/>
+<style type="text/css">
+.test span { direction: rtl; unicode-bidi: normal; }
+
+ /* the following styles are not part of the test */
+.test, .ref { font-size: 150%; border: 1px solid orange; margin: 10px; width: 10em; padding: 5px; clear: both; }
+input { margin: 5px; }
+@font-face {
+    font-family: 'ezra_silregular';
+    src: url('support/sileot-webfont.woff') format('woff');
+    font-weight: normal;
+    font-style: normal;
+    }
+.test, .ref { font-family: ezra_silregular, serif; }
+</style>
+</head>
+<body>
+<p class="instructions" dir="ltr">Test passes if the two boxes are identical.</p>
+
+
+<!--Notes:
+Key to entities used below:
+        &#x5d0; ... &#x5d5; - The first six Hebrew letters (strongly RTL).
+        &#x202d; - The LRO (left-to-right-override) formatting character.
+        &#x202c; - The PDF (pop directional formatting) formatting character; closes LRO.
+-->
+
+
+
+<div class="test" dir="ltr">&gt; <span>a &gt; &#x5d0;</span> &gt;</div>
+
+
+<div class="ref" dir="ltr">&#x202d;&gt; a &gt; &#x5d0; &gt;&#x202c;</div>
+
+
+
+
+
+
+</body></html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/bidi-normal-002.html
@@ -0,0 +1,49 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+<meta charset="utf-8"/>
+<title>direction/unicode-bidi: span direction rtl, unicode-bidi normal (2)</title>
+
+<link rel="author" title="Richard Ishida" href='mailto:ishida@w3.org'/>
+<link rel="help" href='http://www.w3.org/TR/css-writing-modes-3/#text-direction'/>
+<link rel="match" href='reference/bidi-normal-002.html'/>
+<meta name="assert" content='In a ltr context, if direction:rtl and unicode-bidi:normal are applied to an inline element containing mixed direction text, the text in that element will NOT be displayed in rtl order.'/>
+<style type="text/css">
+.test span { direction: rtl; unicode-bidi: normal; }
+
+ /* the following styles are not part of the test */
+.test, .ref { font-size: 150%; border: 1px solid orange; margin: 10px; width: 10em; padding: 5px; clear: both; }
+input { margin: 5px; }
+@font-face {
+    font-family: 'ezra_silregular';
+    src: url('support/sileot-webfont.woff') format('woff');
+    font-weight: normal;
+    font-style: normal;
+    }
+.test, .ref { font-family: ezra_silregular, serif; }
+</style>
+</head>
+<body>
+<p class="instructions" dir="ltr">Test passes if the two boxes are identical.</p>
+
+
+<!--Notes:
+Key to entities used below:
+        &#x5d0; ... &#x5d5; - The first six Hebrew letters (strongly RTL).
+        &#x202d; - The LRO (left-to-right-override) formatting character.
+        &#x202c; - The PDF (pop directional formatting) formatting character; closes LRO.
+-->
+
+
+
+<div class="test" dir="ltr">&gt; <span>&#x5d0; &gt; a</span> &gt;</div>
+
+
+<div class="ref" dir="ltr">&#x202d;&gt; &#x5d0; &gt; a &gt;&#x202c;</div>
+
+
+
+
+
+
+</body></html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/bidi-normal-003.html
@@ -0,0 +1,49 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+<meta charset="utf-8"/>
+<title>direction/unicode-bidi: span direction ltr, unicode-bidi normal (1)</title>
+
+<link rel="author" title="Richard Ishida" href='mailto:ishida@w3.org'/>
+<link rel="help" href='http://www.w3.org/TR/css-writing-modes-3/#text-direction'/>
+<link rel="match" href='reference/bidi-normal-003.html'/>
+<meta name="assert" content='In a rtl context, if direction:ltr and unicode-bidi:normal are applied to an inline element containing mixed direction text, the text in that element will NOT be displayed in ltr order.'/>
+<style type="text/css">
+.test span { direction: ltr; unicode-bidi: normal; }
+
+ /* the following styles are not part of the test */
+.test, .ref { font-size: 150%; border: 1px solid orange; margin: 10px; width: 10em; padding: 5px; clear: both; }
+input { margin: 5px; }
+@font-face {
+    font-family: 'ezra_silregular';
+    src: url('support/sileot-webfont.woff') format('woff');
+    font-weight: normal;
+    font-style: normal;
+    }
+.test, .ref { font-family: ezra_silregular, serif; }
+</style>
+</head>
+<body>
+<p class="instructions" dir="ltr">Test passes if the two boxes are identical.</p>
+
+
+<!--Notes:
+Key to entities used below:
+        &#x5d0; ... &#x5d5; - The first six Hebrew letters (strongly RTL).
+        &#x202d; - The LRO (left-to-right-override) formatting character.
+        &#x202c; - The PDF (pop directional formatting) formatting character; closes LRO.
+-->
+
+
+
+<div class="test" dir="rtl">&gt; <span>&#x5d0; &gt; a</span> &gt;</div>
+
+
+<div class="ref" dir="rtl">&#x202d;&lt; a &lt; &#x5d0; &lt;&#x202c;</div>
+
+
+
+
+
+
+</body></html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/bidi-normal-004.html
@@ -0,0 +1,49 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+<meta charset="utf-8"/>
+<title>direction/unicode-bidi: span direction ltr, unicode-bidi normal (2)</title>
+
+<link rel="author" title="Richard Ishida" href='mailto:ishida@w3.org'/>
+<link rel="help" href='http://www.w3.org/TR/css-writing-modes-3/#text-direction'/>
+<link rel="match" href='reference/bidi-normal-004.html'/>
+<meta name="assert" content='In a rtl context, if direction:ltr and unicode-bidi:normal are applied to an inline element containing mixed direction text, the text in that element will NOT be displayed in ltr order.'/>
+<style type="text/css">
+.test span { direction: ltr; unicode-bidi: normal; }
+
+ /* the following styles are not part of the test */
+.test, .ref { font-size: 150%; border: 1px solid orange; margin: 10px; width: 10em; padding: 5px; clear: both; }
+input { margin: 5px; }
+@font-face {
+    font-family: 'ezra_silregular';
+    src: url('support/sileot-webfont.woff') format('woff');
+    font-weight: normal;
+    font-style: normal;
+    }
+.test, .ref { font-family: ezra_silregular, serif; }
+</style>
+</head>
+<body>
+<p class="instructions" dir="ltr">Test passes if the two boxes are identical.</p>
+
+
+<!--Notes:
+Key to entities used below:
+        &#x5d0; ... &#x5d5; - The first six Hebrew letters (strongly RTL).
+        &#x202d; - The LRO (left-to-right-override) formatting character.
+        &#x202c; - The PDF (pop directional formatting) formatting character; closes LRO.
+-->
+
+
+
+<div class="test" dir="rtl">&gt; <span>a &gt; &#x5d0;</span> &gt;</div>
+
+
+<div class="ref" dir="rtl">&#x202d;&lt; &#x5d0; &lt; a &lt;&#x202c;</div>
+
+
+
+
+
+
+</body></html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/bidi-normal-005.html
@@ -0,0 +1,53 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+<meta charset="utf-8"/>
+<title>direction/unicode-bidi: element as directional character with unicode-bidi normal, rtl</title>
+
+<link rel="author" title="Richard Ishida" href='mailto:ishida@w3.org'/>
+<link rel="help" href='http://www.w3.org/TR/css-writing-modes-3/#text-direction'/>
+<link rel="match" href='reference/bidi-normal-005.html'/>
+<meta name="assert" content='If unicode-bidi:normal is applied to an inline element, that element will NOT interact with the surrounding text like a strong or neutral directional character.'/>
+<style type="text/css">
+.test span { direction: rtl; unicode-bidi: normal; }
+
+ /* the following styles are not part of the test */
+.test, .ref { font-size: 150%; border: 1px solid orange; margin: 10px; width: 10em; padding: 5px; clear: both; }
+input { margin: 5px; }
+@font-face {
+    font-family: 'ezra_silregular';
+    src: url('support/sileot-webfont.woff') format('woff');
+    font-weight: normal;
+    font-style: normal;
+    }
+.test, .ref { font-family: ezra_silregular, serif; }
+</style>
+</head>
+<body>
+<p class="instructions" dir="ltr">Test passes if the two boxes are identical.</p>
+
+
+<!--Notes:
+Key to entities used below:
+        &#x5d0; ... &#x5d5; - The first six Hebrew letters (strongly RTL).
+        &#x202d; - The LRO (left-to-right-override) formatting character.
+        &#x202c; - The PDF (pop directional formatting) formatting character; closes LRO.
+-->
+
+
+
+<div class="test"><div dir="rtl">a > <span>&#x5d0; > &#x5d1;</span> > d</div>
+                  <div dir="rtl">a > <span>b > c</span> > d</div>
+                  </div>
+
+
+<div class="ref"><div dir="rtl">&#x202d;d &lt; &#x5d1; &lt; &#x5d0; &lt; a&#x202c;</div>
+	     <div dir="rtl">&#x202d;a &gt; b &gt; c &gt; d&#x202c;</div>
+	     </div>
+
+
+
+
+
+
+</body></html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/bidi-normal-006.html
@@ -0,0 +1,53 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+<meta charset="utf-8"/>
+<title>direction/unicode-bidi: element as directional character with unicode-bidi normal, ltr</title>
+
+<link rel="author" title="Richard Ishida" href='mailto:ishida@w3.org'/>
+<link rel="help" href='http://www.w3.org/TR/css-writing-modes-3/#text-direction'/>
+<link rel="match" href='reference/bidi-normal-006.html'/>
+<meta name="assert" content='If unicode-bidi:normal is applied to an inline element, that element will NOT interact with the surrounding text like a strong or neutral directional character.'/>
+<style type="text/css">
+.test span { direction: ltr; unicode-bidi: normal; }
+
+ /* the following styles are not part of the test */
+.test, .ref { font-size: 150%; border: 1px solid orange; margin: 10px; width: 10em; padding: 5px; clear: both; }
+input { margin: 5px; }
+@font-face {
+    font-family: 'ezra_silregular';
+    src: url('support/sileot-webfont.woff') format('woff');
+    font-weight: normal;
+    font-style: normal;
+    }
+.test, .ref { font-family: ezra_silregular, serif; }
+</style>
+</head>
+<body>
+<p class="instructions" dir="ltr">Test passes if the two boxes are identical.</p>
+
+
+<!--Notes:
+Key to entities used below:
+        &#x5d0; ... &#x5d5; - The first six Hebrew letters (strongly RTL).
+        &#x202d; - The LRO (left-to-right-override) formatting character.
+        &#x202c; - The PDF (pop directional formatting) formatting character; closes LRO.
+-->
+
+
+
+<div class="test"><div dir="ltr">&#x5d0; > <span>b > c</span> > &#x5d3;</div>
+                  <div dir="ltr"> &#x5d0; > <span>&#x5d1; > &#x5d2;</span> > &#x5d3;</div>
+                  </div>
+
+
+<div class="ref"><div dir="ltr">&#x202d;&#x5d0; &gt; b &gt; c &gt; &#x5d3;&#x202c;</div>
+	     <div dir="ltr">&#x202d;&#x5d3; &lt; &#x5d2; &lt; &#x5d1; &lt; &#x5d0;&#x202c;</div>
+    </div>
+
+
+
+
+
+
+</body></html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/bidi-normal-007.html
@@ -0,0 +1,49 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+<meta charset="utf-8"/>
+<title>direction/unicode-bidi: element isolation and unicode-bidi normal, rtl + number</title>
+
+<link rel="author" title="Richard Ishida" href='mailto:ishida@w3.org'/>
+<link rel="help" href='http://www.w3.org/TR/css-writing-modes-3/#text-direction'/>
+<link rel="match" href='reference/bidi-normal-007.html'/>
+<meta name="assert" content='If unicode-bidi:normal is applied to an inline element, the text in that element will NOT be directionally isolated from surrounding text.'/>
+<style type="text/css">
+.test span { direction: rtl; unicode-bidi: normal; }
+
+ /* the following styles are not part of the test */
+.test, .ref { font-size: 150%; border: 1px solid orange; margin: 10px; width: 10em; padding: 5px; clear: both; }
+input { margin: 5px; }
+@font-face {
+    font-family: 'ezra_silregular';
+    src: url('support/sileot-webfont.woff') format('woff');
+    font-weight: normal;
+    font-style: normal;
+    }
+.test, .ref { font-family: ezra_silregular, serif; }
+</style>
+</head>
+<body>
+<p class="instructions" dir="ltr">Test passes if the two boxes are identical.</p>
+
+
+<!--Notes:
+Key to entities used below:
+        &#x5d0; ... &#x5d5; - The first six Hebrew letters (strongly RTL).
+        &#x202d; - The LRO (left-to-right-override) formatting character.
+        &#x202c; - The PDF (pop directional formatting) formatting character; closes LRO.
+-->
+
+
+
+<div class="test" dir="ltr"><span>&#x5d0;</span> 3</div>
+
+
+<div class="ref" dir="ltr">&#x202d;3 &#x5d0;&#x202c;</div>
+
+
+
+
+
+
+</body></html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/bidi-normal-008.html
@@ -0,0 +1,49 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+<meta charset="utf-8"/>
+<title>direction/unicode-bidi: element isolation and unicode-bidi normal, ltr + number</title>
+
+<link rel="author" title="Richard Ishida" href='mailto:ishida@w3.org'/>
+<link rel="help" href='http://www.w3.org/TR/css-writing-modes-3/#text-direction'/>
+<link rel="match" href='reference/bidi-normal-008.html'/>
+<meta name="assert" content='If unicode-bidi:normal is applied to an inline element, the text in that element will NOT be directionally isolated from surrounding text.'/>
+<style type="text/css">
+.test span { direction: ltr; unicode-bidi: normal; }
+
+ /* the following styles are not part of the test */
+.test, .ref { font-size: 150%; border: 1px solid orange; margin: 10px; width: 10em; padding: 5px; clear: both; }
+input { margin: 5px; }
+@font-face {
+    font-family: 'ezra_silregular';
+    src: url('support/sileot-webfont.woff') format('woff');
+    font-weight: normal;
+    font-style: normal;
+    }
+.test, .ref { font-family: ezra_silregular, serif; }
+</style>
+</head>
+<body>
+<p class="instructions" dir="ltr">Test passes if the two boxes are identical.</p>
+
+
+<!--Notes:
+Key to entities used below:
+        &#x5d0; ... &#x5d5; - The first six Hebrew letters (strongly RTL).
+        &#x202d; - The LRO (left-to-right-override) formatting character.
+        &#x202c; - The PDF (pop directional formatting) formatting character; closes LRO.
+-->
+
+
+
+<div class="test" dir="rtl"><span>a</span> 3</div>
+
+
+<div class="ref" dir="rtl">&#x202d;a 3&#x202c;</div>
+
+
+
+
+
+
+</body></html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/bidi-normal-009.html
@@ -0,0 +1,49 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+<meta charset="utf-8"/>
+<title>direction/unicode-bidi: element isolation and unicode-bidi normal, rtl list</title>
+
+<link rel="author" title="Richard Ishida" href='mailto:ishida@w3.org'/>
+<link rel="help" href='http://www.w3.org/TR/css-writing-modes-3/#text-direction'/>
+<link rel="match" href='reference/bidi-normal-009.html'/>
+<meta name="assert" content='If unicode-bidi:normal is applied to an inline element, the text in that element will NOT be directionally isolated from following content.'/>
+<style type="text/css">
+.test span { direction: ltr; unicode-bidi: normal; }
+
+ /* the following styles are not part of the test */
+.test, .ref { font-size: 150%; border: 1px solid orange; margin: 10px; width: 10em; padding: 5px; clear: both; }
+input { margin: 5px; }
+@font-face {
+    font-family: 'ezra_silregular';
+    src: url('support/sileot-webfont.woff') format('woff');
+    font-weight: normal;
+    font-style: normal;
+    }
+.test, .ref { font-family: ezra_silregular, serif; }
+</style>
+</head>
+<body>
+<p class="instructions" dir="ltr">Test passes if the two boxes are identical.</p>
+
+
+<!--Notes:
+Key to entities used below:
+        &#x5d0; ... &#x5d5; - The first six Hebrew letters (strongly RTL).
+        &#x202d; - The LRO (left-to-right-override) formatting character.
+        &#x202c; - The PDF (pop directional formatting) formatting character; closes LRO.
+-->
+
+
+
+<div class="test" dir="rtl"><span>a</span> &gt; b</div>
+
+
+<div class="ref" dir="rtl">&#x202d;a &gt; b</div>
+
+
+
+
+
+
+</body></html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/bidi-normal-010.html
@@ -0,0 +1,49 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+<meta charset="utf-8"/>
+<title>direction/unicode-bidi: element isolation and unicode-bidi normal, ltr list</title>
+
+<link rel="author" title="Richard Ishida" href='mailto:ishida@w3.org'/>
+<link rel="help" href='http://www.w3.org/TR/css-writing-modes-3/#text-direction'/>
+<link rel="match" href='reference/bidi-normal-010.html'/>
+<meta name="assert" content='If unicode-bidi:normal is applied to an inline element, the text in that element will NOT be directionally isolated from following content.'/>
+<style type="text/css">
+.test span { direction: rtl; unicode-bidi: normal; }
+
+ /* the following styles are not part of the test */
+.test, .ref { font-size: 150%; border: 1px solid orange; margin: 10px; width: 10em; padding: 5px; clear: both; }
+input { margin: 5px; }
+@font-face {
+    font-family: 'ezra_silregular';
+    src: url('support/sileot-webfont.woff') format('woff');
+    font-weight: normal;
+    font-style: normal;
+    }
+.test, .ref { font-family: ezra_silregular, serif; }
+</style>
+</head>
+<body>
+<p class="instructions" dir="ltr">Test passes if the two boxes are identical.</p>
+
+
+<!--Notes:
+Key to entities used below:
+        &#x5d0; ... &#x5d5; - The first six Hebrew letters (strongly RTL).
+        &#x202d; - The LRO (left-to-right-override) formatting character.
+        &#x202c; - The PDF (pop directional formatting) formatting character; closes LRO.
+-->
+
+
+
+<div class="test" dir="ltr"><span>&#x5d0;</span> &gt; &#x5d1;</div>
+
+
+<div class="ref" dir="ltr">&#x202d;&#x5d1; &lt; &#x5d0;</div>
+
+
+
+
+
+
+</body></html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/bidi-normal-011.html
@@ -0,0 +1,50 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+<meta charset="utf-8"/>
+<title>direction/unicode-bidi: direction alone and inherited, unicode-bidi normal</title>
+
+<link rel="author" title="Richard Ishida" href='mailto:ishida@w3.org'/>
+<link rel="help" href='http://www.w3.org/TR/css-writing-modes-3/#text-direction'/>
+<link rel="match" href='reference/bidi-normal-011.html'/>
+<meta name="assert" content='Directionality is not changed by the direction property on its own, nor by unicode-bidi:normal set on a lower level element.'/>
+<style type="text/css">
+.test b { direction: rtl; font-weight: normal; }
+.test span { unicode-bidi: normal; }
+
+ /* the following styles are not part of the test */
+.test, .ref { font-size: 150%; border: 1px solid orange; margin: 10px; width: 10em; padding: 5px; clear: both; }
+input { margin: 5px; }
+@font-face {
+    font-family: 'ezra_silregular';
+    src: url('support/sileot-webfont.woff') format('woff');
+    font-weight: normal;
+    font-style: normal;
+    }
+.test, .ref { font-family: ezra_silregular, serif; }
+</style>
+</head>
+<body>
+<p class="instructions" dir="ltr">Test passes if the two boxes are identical.</p>
+
+
+<!--Notes:
+Key to entities used below:
+        &#x5d0; ... &#x5d5; - The first six Hebrew letters (strongly RTL).
+        &#x202d; - The LRO (left-to-right-override) formatting character.
+        &#x202c; - The PDF (pop directional formatting) formatting character; closes LRO.
+-->
+
+
+
+<div class="test">&gt; <b>a &gt; <span>b &gt; &#x5d3;</span> &gt; d</b> &gt;</div>
+
+
+<div class="ref" dir="ltr">&#x202d;&gt; a &gt; b &gt; &#x5d3; &gt; d &gt;&#x202c;</div>
+
+
+
+
+
+
+</body></html>
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/bidi-override-001.html
@@ -0,0 +1,49 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+<meta charset="utf-8"/>
+<title>direction/unicode-bidi: span direction rtl, bidi-override (1)</title>
+
+<link rel="author" title="Richard Ishida" href='mailto:ishida@w3.org'/>
+<link rel="help" href='http://www.w3.org/TR/css-writing-modes-3/#text-direction'/>
+<link rel="match" href='reference/bidi-override-001.html'/>
+<meta name="assert" content='In a ltr context, if direction:rtl and unicode-bidi:bidi-override are applied to an inline element containing mixed direction text, the characters in that element will all be displayed in rtl order, ignoring the bidi algorithm.'/>
+<style type="text/css">
+.test span { direction: rtl; unicode-bidi: bidi-override; }
+
+ /* the following styles are not part of the test */
+.test, .ref { font-size: 150%; border: 1px solid orange; margin: 10px; width: 10em; padding: 5px; clear: both; }
+input { margin: 5px; }
+@font-face {
+    font-family: 'ezra_silregular';
+    src: url('support/sileot-webfont.woff') format('woff');
+    font-weight: normal;
+    font-style: normal;
+    }
+.test, .ref { font-family: ezra_silregular, serif; }
+</style>
+</head>
+<body>
+<p class="instructions" dir="ltr">Test passes if the two boxes are identical.</p>
+
+
+<!--Notes:
+Key to entities used below:
+        &#x5d0; ... &#x5d5; - The first six Hebrew letters (strongly RTL).
+        &#x202d; - The LRO (left-to-right-override) formatting character.
+        &#x202c; - The PDF (pop directional formatting) formatting character; closes LRO.
+-->
+
+
+
+<div class="test" dir="ltr">&gt; <span>abcd &gt; &#x5d0;&#x5d1;&#x5d2;&#x5d3;</span> &gt;</div>
+
+
+<div class="ref" dir="ltr">&#x202d;&gt; &#x5d3;&#x5d2;&#x5d1;&#x5d0; &lt; dcba &gt;&#x202c;</div>
+
+
+
+
+
+
+</body></html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/bidi-override-002.html
@@ -0,0 +1,49 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+<meta charset="utf-8"/>
+<title>direction/unicode-bidi: span direction rtl, bidi-override (2)</title>
+
+<link rel="author" title="Richard Ishida" href='mailto:ishida@w3.org'/>
+<link rel="help" href='http://www.w3.org/TR/css-writing-modes-3/#text-direction'/>
+<link rel="match" href='reference/bidi-override-002.html'/>
+<meta name="assert" content='In a ltr context, if direction:rtl and unicode-bidi:bidi-override are applied to an inline element containing mixed direction text, the characters in that element will all be displayed in rtl order, ignoring the bidi algorithm.'/>
+<style type="text/css">
+.test span { direction: rtl; unicode-bidi: bidi-override; }
+
+ /* the following styles are not part of the test */
+.test, .ref { font-size: 150%; border: 1px solid orange; margin: 10px; width: 10em; padding: 5px; clear: both; }
+input { margin: 5px; }
+@font-face {
+    font-family: 'ezra_silregular';
+    src: url('support/sileot-webfont.woff') format('woff');
+    font-weight: normal;
+    font-style: normal;
+    }
+.test, .ref { font-family: ezra_silregular, serif; }
+</style>
+</head>
+<body>
+<p class="instructions" dir="ltr">Test passes if the two boxes are identical.</p>
+
+
+<!--Notes:
+Key to entities used below:
+        &#x5d0; ... &#x5d5; - The first six Hebrew letters (strongly RTL).
+        &#x202d; - The LRO (left-to-right-override) formatting character.
+        &#x202c; - The PDF (pop directional formatting) formatting character; closes LRO.
+-->
+
+
+
+<div class="test" dir="ltr">&gt; <span>&#x5d0;&#x5d1;&#x5d2;&#x5d3; &gt; abcd</span> &gt;</div>
+
+
+<div class="ref" dir="ltr">&#x202d;&gt; dcba &lt; &#x5d3;&#x5d2;&#x5d1;&#x5d0; &gt;&#x202c;</div>
+
+
+
+
+
+
+</body></html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/bidi-override-003.html
@@ -0,0 +1,49 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+<meta charset="utf-8"/>
+<title>direction/unicode-bidi: span direction ltr, bidi-override (1)</title>
+
+<link rel="author" title="Richard Ishida" href='mailto:ishida@w3.org'/>
+<link rel="help" href='http://www.w3.org/TR/css-writing-modes-3/#text-direction'/>
+<link rel="match" href='reference/bidi-override-003.html'/>
+<meta name="assert" content='In a rtl context, if direction:ltr and unicode-bidi:bidi-override are applied to an inline element containing mixed direction text, the characters in that element will all be displayed in ltr order, ignoring the bidi algorithm.'/>
+<style type="text/css">
+.test span { direction: ltr; unicode-bidi: bidi-override; }
+
+ /* the following styles are not part of the test */
+.test, .ref { font-size: 150%; border: 1px solid orange; margin: 10px; width: 10em; padding: 5px; clear: both; }
+input { margin: 5px; }
+@font-face {
+    font-family: 'ezra_silregular';
+    src: url('support/sileot-webfont.woff') format('woff');
+    font-weight: normal;
+    font-style: normal;
+    }
+.test, .ref { font-family: ezra_silregular, serif; }
+</style>
+</head>
+<body>
+<p class="instructions" dir="ltr">Test passes if the two boxes are identical.</p>
+
+
+<!--Notes:
+Key to entities used below:
+        &#x5d0; ... &#x5d5; - The first six Hebrew letters (strongly RTL).
+        &#x202d; - The LRO (left-to-right-override) formatting character.
+        &#x202c; - The PDF (pop directional formatting) formatting character; closes LRO.
+-->
+
+
+
+<div class="test" dir="rtl">&gt; <span>&#x5d0;&#x5d1;&#x5d2;&#x5d3; &gt; abcd</span> &gt;</div>
+
+
+<div class="ref" dir="rtl">&#x202d;&lt; &#x5d0;&#x5d1;&#x5d2;&#x5d3; &gt; abcd &lt;&#x202c;</div>
+
+
+
+
+
+
+</body></html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/bidi-override-004.html
@@ -0,0 +1,49 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+<meta charset="utf-8"/>
+<title>direction/unicode-bidi: span direction ltr, bidi-override (2)</title>
+
+<link rel="author" title="Richard Ishida" href='mailto:ishida@w3.org'/>
+<link rel="help" href='http://www.w3.org/TR/css-writing-modes-3/#text-direction'/>
+<link rel="match" href='reference/bidi-override-004.html'/>
+<meta name="assert" content='In a rtl context, if direction:ltr and unicode-bidi:bidi-override are applied to an inline element containing mixed direction text, the characters in that element will all be displayed in ltr order, ignoring the bidi algorithm.'/>
+<style type="text/css">
+.test span { direction: ltr; unicode-bidi: bidi-override; }
+
+ /* the following styles are not part of the test */
+.test, .ref { font-size: 150%; border: 1px solid orange; margin: 10px; width: 10em; padding: 5px; clear: both; }
+input { margin: 5px; }
+@font-face {
+    font-family: 'ezra_silregular';
+    src: url('support/sileot-webfont.woff') format('woff');
+    font-weight: normal;
+    font-style: normal;
+    }
+.test, .ref { font-family: ezra_silregular, serif; }
+</style>
+</head>
+<body>
+<p class="instructions" dir="ltr">Test passes if the two boxes are identical.</p>
+
+
+<!--Notes:
+Key to entities used below:
+        &#x5d0; ... &#x5d5; - The first six Hebrew letters (strongly RTL).
+        &#x202d; - The LRO (left-to-right-override) formatting character.
+        &#x202c; - The PDF (pop directional formatting) formatting character; closes LRO.
+-->
+
+
+
+<div class="test" dir="rtl">&gt; <span>abcd &gt; &#x5d0;&#x5d1;&#x5d2;&#x5d3;</span> &gt;</div>
+
+
+<div class="ref" dir="rtl">&#x202d;&lt; abcd &gt; &#x5d0;&#x5d1;&#x5d2;&#x5d3; &lt;&#x202c;</div>
+
+
+
+
+
+
+</body></html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/bidi-override-005.html
@@ -0,0 +1,53 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+<meta charset="utf-8"/>
+<title>direction/unicode-bidi: element as directional character with bidi-override, rtl</title>
+
+<link rel="author" title="Richard Ishida" href='mailto:ishida@w3.org'/>
+<link rel="help" href='http://www.w3.org/TR/css-writing-modes-3/#text-direction'/>
+<link rel="match" href='reference/bidi-override-005.html'/>
+<meta name="assert" content='If unicode-bidi:bidi-override is applied to an inline element, that element will interact with the surrounding text like a strongly directional character.'/>
+<style type="text/css">
+.test span { direction: rtl; unicode-bidi: bidi-override; }
+
+ /* the following styles are not part of the test */
+.test, .ref { font-size: 150%; border: 1px solid orange; margin: 10px; width: 10em; padding: 5px; clear: both; }
+input { margin: 5px; }
+@font-face {
+    font-family: 'ezra_silregular';
+    src: url('support/sileot-webfont.woff') format('woff');
+    font-weight: normal;
+    font-style: normal;
+    }
+.test, .ref { font-family: ezra_silregular, serif; }
+</style>
+</head>
+<body>
+<p class="instructions" dir="ltr">Test passes if the two boxes are identical.</p>
+
+
+<!--Notes:
+Key to entities used below:
+        &#x5d0; ... &#x5d5; - The first six Hebrew letters (strongly RTL).
+        &#x202d; - The LRO (left-to-right-override) formatting character.
+        &#x202c; - The PDF (pop directional formatting) formatting character; closes LRO.
+-->
+
+
+
+<div class="test"><div dir="rtl">a > <span>&#x5d1; > &#x5d2;</span> > d</div>
+                  <div dir="rtl">a > <span>b > c</span> > d</div>
+                  </div>
+
+
+<div class="ref"><div dir="rtl">&#x202d;d &lt; &#x5d2; &lt; &#x5d1; &lt; a&#x202c;</div>
+	     <div dir="rtl">&#x202d;d &lt; c &lt; b &lt; a&#x202c;</div>
+	     </div>
+
+
+
+
+
+
+</body></html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/bidi-override-006.html
@@ -0,0 +1,53 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+<meta charset="utf-8"/>
+<title>direction/unicode-bidi: element as directional character with bidi-override, ltr</title>
+
+<link rel="author" title="Richard Ishida" href='mailto:ishida@w3.org'/>
+<link rel="help" href='http://www.w3.org/TR/css-writing-modes-3/#text-direction'/>
+<link rel="match" href='reference/bidi-override-006.html'/>
+<meta name="assert" content='If unicode-bidi:bidi-override is applied to an inline element, that element will interact with the surrounding text like a strongly directional character.'/>
+<style type="text/css">
+.test span { direction: ltr; unicode-bidi: bidi-override; }
+
+ /* the following styles are not part of the test */
+.test, .ref { font-size: 150%; border: 1px solid orange; margin: 10px; width: 10em; padding: 5px; clear: both; }
+input { margin: 5px; }
+@font-face {
+    font-family: 'ezra_silregular';
+    src: url('support/sileot-webfont.woff') format('woff');
+    font-weight: normal;
+    font-style: normal;
+    }
+.test, .ref { font-family: ezra_silregular, serif; }
+</style>
+</head>
+<body>
+<p class="instructions" dir="ltr">Test passes if the two boxes are identical.</p>
+
+
+<!--Notes:
+Key to entities used below:
+        &#x5d0; ... &#x5d5; - The first six Hebrew letters (strongly RTL).
+        &#x202d; - The LRO (left-to-right-override) formatting character.
+        &#x202c; - The PDF (pop directional formatting) formatting character; closes LRO.
+-->
+
+
+
+<div class="test"><div dir="ltr">&#x5d0; > <span>b > c</span> > &#x5d3;</div>
+                  <div dir="ltr"> &#x5d0; > <span>&#x5d1; > &#x5d2;</span> > &#x5d3;</div>
+                  </div>
+
+
+<div class="ref"><div dir="ltr">&#x202d;&#x5d0; &gt; b &gt; c &gt; &#x5d3;&#x202c;</div>
+	     <div dir="ltr">&#x202d;&#x5d0; &gt; &#x5d1; &gt; &#x5d2; &gt; &#x5d3;&#x202c;</div>
+    </div>
+
+
+
+
+
+
+</body></html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/bidi-override-007.html
@@ -0,0 +1,49 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+<meta charset="utf-8"/>
+<title>direction/unicode-bidi: element isolation and bidi-override, rtl + number</title>
+
+<link rel="author" title="Richard Ishida" href='mailto:ishida@w3.org'/>
+<link rel="help" href='http://www.w3.org/TR/css-writing-modes-3/#text-direction'/>
+<link rel="match" href='reference/bidi-override-007.html'/>
+<meta name="assert" content='If unicode-bidi:bidi-override is applied to an inline element, the text in that element will NOT be directionally isolated from surrounding text.'/>
+<style type="text/css">
+.test span { direction: rtl; unicode-bidi: bidi-override; }
+
+ /* the following styles are not part of the test */
+.test, .ref { font-size: 150%; border: 1px solid orange; margin: 10px; width: 10em; padding: 5px; clear: both; }
+input { margin: 5px; }
+@font-face {
+    font-family: 'ezra_silregular';
+    src: url('support/sileot-webfont.woff') format('woff');
+    font-weight: normal;
+    font-style: normal;
+    }
+.test, .ref { font-family: ezra_silregular, serif; }
+</style>
+</head>
+<body>
+<p class="instructions" dir="ltr">Test passes if the two boxes are identical.</p>
+
+
+<!--Notes:
+Key to entities used below:
+        &#x5d0; ... &#x5d5; - The first six Hebrew letters (strongly RTL).
+        &#x202d; - The LRO (left-to-right-override) formatting character.
+        &#x202c; - The PDF (pop directional formatting) formatting character; closes LRO.
+-->
+
+
+
+<div class="test" dir="ltr"><span>abcd</span> 3</div>
+
+
+<div class="ref" dir="ltr">&#x202d;3 dcba&#x202c;</div>
+
+
+
+
+
+
+</body></html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/bidi-override-008.html
@@ -0,0 +1,49 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+<meta charset="utf-8"/>
+<title>direction/unicode-bidi: element isolation and bidi-override, ltr + number</title>
+
+<link rel="author" title="Richard Ishida" href='mailto:ishida@w3.org'/>
+<link rel="help" href='http://www.w3.org/TR/css-writing-modes-3/#text-direction'/>
+<link rel="match" href='reference/bidi-override-008.html'/>
+<meta name="assert" content='If unicode-bidi:bidi-override is applied to an inline element, the text in that element will NOT be directionally isolated from surrounding text.'/>
+<style type="text/css">
+.test span { direction: ltr; unicode-bidi: bidi-override; }
+
+ /* the following styles are not part of the test */
+.test, .ref { font-size: 150%; border: 1px solid orange; margin: 10px; width: 10em; padding: 5px; clear: both; }
+input { margin: 5px; }
+@font-face {
+    font-family: 'ezra_silregular';
+    src: url('support/sileot-webfont.woff') format('woff');
+    font-weight: normal;
+    font-style: normal;
+    }
+.test, .ref { font-family: ezra_silregular, serif; }
+</style>
+</head>
+<body>
+<p class="instructions" dir="ltr">Test passes if the two boxes are identical.</p>
+
+
+<!--Notes:
+Key to entities used below:
+        &#x5d0; ... &#x5d5; - The first six Hebrew letters (strongly RTL).
+        &#x202d; - The LRO (left-to-right-override) formatting character.
+        &#x202c; - The PDF (pop directional formatting) formatting character; closes LRO.
+-->
+
+
+
+<div class="test" dir="rtl"><span>&#x5d0;&#x5d1;&#x5d2;&#x5d3;</span> 3</div>
+
+
+<div class="ref" dir="rtl">&#x202d;&#x5d0;&#x5d1;&#x5d2;&#x5d3; 3&#x202c;</div>
+
+
+
+
+
+
+</body></html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/bidi-override-009.html
@@ -0,0 +1,49 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+<meta charset="utf-8"/>
+<title>direction/unicode-bidi: element isolation and bidi-override, rtl list</title>
+
+<link rel="author" title="Richard Ishida" href='mailto:ishida@w3.org'/>
+<link rel="help" href='http://www.w3.org/TR/css-writing-modes-3/#text-direction'/>
+<link rel="match" href='reference/bidi-override-009.html'/>
+<meta name="assert" content='If unicode-bidi:bidi-override is applied to an inline element, the text in that element will NOT be directionally isolated from following content.'/>
+<style type="text/css">
+.test span { direction: ltr; unicode-bidi: bidi-override; }
+
+ /* the following styles are not part of the test */
+.test, .ref { font-size: 150%; border: 1px solid orange; margin: 10px; width: 10em; padding: 5px; clear: both; }
+input { margin: 5px; }
+@font-face {
+    font-family: 'ezra_silregular';
+    src: url('support/sileot-webfont.woff') format('woff');
+    font-weight: normal;
+    font-style: normal;
+    }
+.test, .ref { font-family: ezra_silregular, serif; }
+</style>
+</head>
+<body>
+<p class="instructions" dir="ltr">Test passes if the two boxes are identical.</p>
+
+
+<!--Notes:
+Key to entities used below:
+        &#x5d0; ... &#x5d5; - The first six Hebrew letters (strongly RTL).
+        &#x202d; - The LRO (left-to-right-override) formatting character.
+        &#x202c; - The PDF (pop directional formatting) formatting character; closes LRO.
+-->
+
+
+
+<div class="test" dir="rtl"><span>&#x5d0;&#x5d1;&#x5d2;&#x5d3;</span> &gt; e</div>
+
+
+<div class="ref" dir="rtl">&#x202d;&#x5d0;&#x5d1;&#x5d2;&#x5d3; &gt; e&#x202c;</div>
+
+
+
+
+
+
+</body></html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/bidi-override-010.html
@@ -0,0 +1,49 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+<meta charset="utf-8"/>
+<title>direction/unicode-bidi: element isolation and bidi-override, ltr list</title>
+
+<link rel="author" title="Richard Ishida" href='mailto:ishida@w3.org'/>
+<link rel="help" href='http://www.w3.org/TR/css-writing-modes-3/#text-direction'/>
+<link rel="match" href='reference/bidi-override-010.html'/>
+<meta name="assert" content='If unicode-bidi:bidi-override is applied to an inline element, the text in that element will NOT be directionally isolated from following content.'/>
+<style type="text/css">
+.test span { direction: rtl; unicode-bidi: bidi-override; }
+
+ /* the following styles are not part of the test */
+.test, .ref { font-size: 150%; border: 1px solid orange; margin: 10px; width: 10em; padding: 5px; clear: both; }
+input { margin: 5px; }
+@font-face {
+    font-family: 'ezra_silregular';
+    src: url('support/sileot-webfont.woff') format('woff');
+    font-weight: normal;
+    font-style: normal;
+    }
+.test, .ref { font-family: ezra_silregular, serif; }
+</style>
+</head>
+<body>
+<p class="instructions" dir="ltr">Test passes if the two boxes are identical.</p>
+
+
+<!--Notes:
+Key to entities used below:
+        &#x5d0; ... &#x5d5; - The first six Hebrew letters (strongly RTL).
+        &#x202d; - The LRO (left-to-right-override) formatting character.
+        &#x202c; - The PDF (pop directional formatting) formatting character; closes LRO.
+-->
+
+
+
+<div class="test" dir="ltr"><span>abcd</span> &gt; &#x5d4;</div>
+
+
+<div class="ref" dir="ltr">&#x202d;&#x5d4; &lt; dcba&#x202c;</div>
+
+
+
+
+
+
+</body></html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/bidi-override-011.html
@@ -0,0 +1,50 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+<meta charset="utf-8"/>
+<title>direction/unicode-bidi: direction alone and inherited, bidi-override</title>
+
+<link rel="author" title="Richard Ishida" href='mailto:ishida@w3.org'/>
+<link rel="help" href='http://www.w3.org/TR/css-writing-modes-3/#text-direction'/>
+<link rel="match" href='reference/bidi-override-011.html'/>
+<meta name="assert" content='unicode-bidi: bidi-override will apply direction declared on a higher level element.'/>
+<style type="text/css">
+.test b { direction: rtl; font-weight: normal; }
+.test span { unicode-bidi: bidi-override; }
+
+ /* the following styles are not part of the test */
+.test, .ref { font-size: 150%; border: 1px solid orange; margin: 10px; width: 15em; padding: 5px; clear: both; }
+input { margin: 5px; }
+@font-face {
+    font-family: 'ezra_silregular';
+    src: url('support/sileot-webfont.woff') format('woff');
+    font-weight: normal;
+    font-style: normal;
+    }
+.test, .ref { font-family: ezra_silregular, serif; }
+</style>
+</head>
+<body>
+<p class="instructions" dir="ltr">Test passes if the two boxes are identical.</p>
+
+
+<!--Notes:
+Key to entities used below:
+        &#x5d0; ... &#x5d5; - The first six Hebrew letters (strongly RTL).
+        &#x202d; - The LRO (left-to-right-override) formatting character.
+        &#x202c; - The PDF (pop directional formatting) formatting character; closes LRO.
+-->
+
+
+
+<div class="test">&gt; <b>a &gt; <span>bc &gt; &#x5d1;&#x5d2;</span> &gt; d</b> &gt;</div>
+
+
+<div class="ref" dir="ltr">&#x202d;&gt; a &gt; &#x5d2;&#x5d1; &lt; cb &gt; d &gt;&#x202c;</div>
+
+
+
+
+
+
+</body></html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/bidi-override-012.html
@@ -0,0 +1,49 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+<meta charset="utf-8"/>
+<title>direction/unicode-bidi: default direction, bidi-override</title>
+
+<link rel="author" title="Richard Ishida" href='mailto:ishida@w3.org'/>
+<link rel="help" href='http://www.w3.org/TR/css-writing-modes-3/#text-direction'/>
+<link rel="match" href='reference/bidi-override-012.html'/>
+<meta name="assert" content='unicode-bidi: When no direction is set, bidi-override will apply ltr ordering to text within its scope.'/>
+<style type="text/css">
+.test span { unicode-bidi: bidi-override; }
+
+ /* the following styles are not part of the test */
+.test, .ref { font-size: 150%; border: 1px solid orange; margin: 10px; width: 15em; padding: 5px; clear: both; }
+input { margin: 5px; }
+@font-face {
+    font-family: 'ezra_silregular';
+    src: url('support/sileot-webfont.woff') format('woff');
+    font-weight: normal;
+    font-style: normal;
+    }
+.test, .ref { font-family: ezra_silregular, serif; }
+</style>
+</head>
+<body>
+<p class="instructions" dir="ltr">Test passes if the two boxes are identical.</p>
+
+
+<!--Notes:
+Key to entities used below:
+        &#x5d0; ... &#x5d5; - The first six Hebrew letters (strongly RTL).
+        &#x202d; - The LRO (left-to-right-override) formatting character.
+        &#x202c; - The PDF (pop directional formatting) formatting character; closes LRO.
+-->
+
+
+
+<div class="test">&gt; <span>abcd &gt; &#x5d0;&#x5d1;&#x5d2;&#x5d3;</span> &gt;</div>
+
+
+<div class="ref" dir="ltr">&#x202d;&gt; abcd &gt; &#x5d0;&#x5d1;&#x5d2;&#x5d3; &gt;&#x202c;</div>
+
+
+
+
+
+
+</body></html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/bidi-plaintext-001.html
@@ -0,0 +1,46 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+<meta charset="utf-8"/>
+<title>unicode-bidi: span unicode-bidi plaintext, rtl (1)</title>
+
+<link rel="author" title="Richard Ishida" href='mailto:ishida@w3.org'/>
+<link rel="help" href='http://www.w3.org/TR/css-writing-modes-3/#text-direction'/>
+<link rel="match" href='reference/bidi-plaintext-001.html'/>
+<meta name="assert" content='If unicode-bidi:plaintext is applied to an inline element containing mixed direction text with a first strong directional character that is rtl, the text in that element will be displayed in rtl order.'/>
+<style type="text/css">
+.test span { unicode-bidi: plaintext; }
+
+ /* the following styles are not part of the test */
+.test, .ref { font-size: 150%; border: 1px solid orange; margin: 10px; width: 10em; padding: 5px; clear: both; }
+input { margin: 5px; }
+@font-face {
+    font-family: 'ezra_silregular';
+    src: url('support/sileot-webfont.woff') format('woff');
+    font-weight: normal;
+    font-style: normal;
+    }
+.test, .ref { font-family: ezra_silregular, serif; }
+</style>
+</head>
+<body>
+<p class="instructions" dir="ltr">Test passes if the two boxes are identical.</p>
+
+
+<!--Notes:
+Key to entities used below:
+        &#x5d0; ... &#x5d5; - The first six Hebrew letters (strongly RTL).
+        &#x202d; - The LRO (left-to-right-override) formatting character.
+        &#x202c; - The PDF (pop directional formatting) formatting character; closes LRO.
+-->
+
+
+
+<div class="test" dir="ltr">&gt; <span>&#x5d0; &gt; b &gt; &#x5d2;</span> &gt;</div>
+
+<div class="ref" dir="ltr">&#x202d;&gt; &#x5d2; &lt; b &lt; &#x5d0; &gt;&#x202c;</div>
+
+
+
+
+</body></html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/bidi-plaintext-002.html
@@ -0,0 +1,48 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+<meta charset="utf-8"/>
+<title>direction/unicode-bidi: span unicode-bidi plaintext, rtl (2)</title>
+
+<link rel="author" title="Richard Ishida" href='mailto:ishida@w3.org'/>
+<link rel="help" href='http://www.w3.org/TR/css-writing-modes-3/#text-direction'/>
+<link rel="match" href='reference/bidi-plaintext-002.html'/>
+<meta name="assert" content='If unicode-bidi:plaintext is applied to an inline element containing mixed direction text with a first strong directional character that is rtl, the text in that element will be displayed in rtl order.'/>
+<style type="text/css">
+.test span { direction: rtl; unicode-bidi: plaintext; }
+
+ /* the following styles are not part of the test */
+.test, .ref { font-size: 150%; border: 1px solid orange; margin: 10px; width: 10em; padding: 5px; clear: both; }
+input { margin: 5px; }
+@font-face {
+    font-family: 'ezra_silregular';
+    src: url('support/sileot-webfont.woff') format('woff');
+    font-weight: normal;
+    font-style: normal;
+    }
+.test, .ref { font-family: ezra_silregular, serif; }
+</style>
+</head>
+<body>
+<p class="instructions" dir="ltr">Test passes if the two boxes are identical.</p>
+
+
+<!--Notes:
+Key to entities used below:
+        &#x5d0; ... &#x5d5; - The first six Hebrew letters (strongly RTL).
+        &#x202d; - The LRO (left-to-right-override) formatting character.
+        &#x202c; - The PDF (pop directional formatting) formatting character; closes LRO.
+-->
+
+
+
+<div class="test" dir="rtl">&gt; <span>&#x5d0; &gt; b &gt; &#x5d2;</span> &gt;</div>
+
+<div class="ref" dir="rtl">&#x202d;&lt; &#x5d2; &lt; b &lt; &#x5d0; &lt;&#x202c;</div>
+
+
+
+
+
+
+</body></html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/bidi-plaintext-003.html
@@ -0,0 +1,49 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+<meta charset="utf-8"/>
+<title>unicode-bidi: span unicode-bidi plaintext, ltr (1)</title>
+
+<link rel="author" title="Richard Ishida" href='mailto:ishida@w3.org'/>
+<link rel="help" href='http://www.w3.org/TR/css-writing-modes-3/#text-direction'/>
+<link rel="match" href='reference/bidi-plaintext-003.html'/>
+<meta name="assert" content='If unicode-bidi:plaintext is applied to an inline element containing mixed direction text with a first strong directional character that is ltr, the text in that element will be displayed in ltr order.'/>
+<style type="text/css">
+.test span { unicode-bidi: plaintext; }
+
+ /* the following styles are not part of the test */
+.test, .ref { font-size: 150%; border: 1px solid orange; margin: 10px; width: 10em; padding: 5px; clear: both; }
+input { margin: 5px; }
+@font-face {
+    font-family: 'ezra_silregular';
+    src: url('support/sileot-webfont.woff') format('woff');
+    font-weight: normal;
+    font-style: normal;
+    }
+.test, .ref { font-family: ezra_silregular, serif; }
+</style>
+</head>
+<body>
+<p class="instructions" dir="ltr">Test passes if the two boxes are identical.</p>
+
+
+<!--Notes:
+Key to entities used below:
+        &#x5d0; ... &#x5d5; - The first six Hebrew letters (strongly RTL).
+        &#x202d; - The LRO (left-to-right-override) formatting character.
+        &#x202c; - The PDF (pop directional formatting) formatting character; closes LRO.
+-->
+
+
+
+<div class="test" dir="rtl">&gt; <span>a &gt; &#x5d0; &gt; c</span> &gt;</div>
+
+
+<div class="ref" dir="rtl">&#x202d;&lt; a &gt; &#x5d0; &gt; c &lt;&#x202c;</div>
+
+
+
+
+
+
+</body></html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/bidi-plaintext-004.html
@@ -0,0 +1,49 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+<meta charset="utf-8"/>
+<title>unicode-bidi: span unicode-bidi plaintext, ltr (2)</title>
+
+<link rel="author" title="Richard Ishida" href='mailto:ishida@w3.org'/>
+<link rel="help" href='http://www.w3.org/TR/css-writing-modes-3/#text-direction'/>
+<link rel="match" href='reference/bidi-plaintext-004.html'/>
+<meta name="assert" content='If unicode-bidi:plaintext is applied to an inline element containing mixed direction text with a first strong directional character that is ltr, the text in that element will be displayed in ltr order.'/>
+<style type="text/css">
+.test span { unicode-bidi: plaintext; }
+
+ /* the following styles are not part of the test */
+.test, .ref { font-size: 150%; border: 1px solid orange; margin: 10px; width: 10em; padding: 5px; clear: both; }
+input { margin: 5px; }
+@font-face {
+    font-family: 'ezra_silregular';
+    src: url('support/sileot-webfont.woff') format('woff');
+    font-weight: normal;
+    font-style: normal;
+    }
+.test, .ref { font-family: ezra_silregular, serif; }
+</style>
+</head>
+<body>
+<p class="instructions" dir="ltr">Test passes if the two boxes are identical.</p>
+
+
+<!--Notes:
+Key to entities used below:
+        &#x5d0; ... &#x5d5; - The first six Hebrew letters (strongly RTL).
+        &#x202d; - The LRO (left-to-right-override) formatting character.
+        &#x202c; - The PDF (pop directional formatting) formatting character; closes LRO.
+-->
+
+
+
+<div class="test" dir="ltr">&gt; <span>a &gt; &#x5d0; &gt; c</span> &gt;</div>
+
+
+<div class="ref" dir="ltr">&#x202d;&gt; a &gt; &#x5d0; &gt; c &gt;&#x202c;</div>
+
+
+
+
+
+
+</body></html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/bidi-plaintext-005.html
@@ -0,0 +1,53 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+<meta charset="utf-8"/>
+<title>unicode-bidi: element as directional character with unicode-bidi plaintext, rtl</title>
+
+<link rel="author" title="Richard Ishida" href='mailto:ishida@w3.org'/>
+<link rel="help" href='http://www.w3.org/TR/css-writing-modes-3/#text-direction'/>
+<link rel="match" href='reference/bidi-plaintext-005.html'/>
+<meta name="assert" content='If unicode-bidi:plaintext is applied to an inline element, that element will interact with the surrounding text like a neutral directional character.'/>
+<style type="text/css">
+.test span { unicode-bidi: plaintext; }
+
+ /* the following styles are not part of the test */
+.test, .ref { font-size: 150%; border: 1px solid orange; margin: 10px; width: 10em; padding: 5px; clear: both; }
+input { margin: 5px; }
+@font-face {
+    font-family: 'ezra_silregular';
+    src: url('support/sileot-webfont.woff') format('woff');
+    font-weight: normal;
+    font-style: normal;
+    }
+.test, .ref { font-family: ezra_silregular, serif; }
+</style>
+</head>
+<body>
+<p class="instructions" dir="ltr">Test passes if the two boxes are identical.</p>
+
+
+<!--Notes:
+Key to entities used below:
+        &#x5d0; ... &#x5d5; - The first six Hebrew letters (strongly RTL).
+        &#x202d; - The LRO (left-to-right-override) formatting character.
+        &#x202c; - The PDF (pop directional formatting) formatting character; closes LRO.
+-->
+
+
+
+<div class="test"><div dir="rtl">a > <span>&#x5d0; > &#x5d1;</span> > d</div>
+                  <div dir="rtl">a > <span>b > c</span> > d</div>
+                  </div>
+
+
+<div class="ref"><div dir="rtl">&#x202d;a &gt; &#x5d1; &lt; &#x5d0; &gt; d&#x202c;</div>
+      	     <div dir="rtl">&#x202d;a &gt; b &gt; c &gt; d&#x202c;</div>
+      	     </div>
+
+
+
+
+
+
+</body></html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/bidi-plaintext-006.html
@@ -0,0 +1,53 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+<meta charset="utf-8"/>
+<title>direction/unicode-bidi: element as directional character with unicode-bidi plaintext, ltr</title>
+
+<link rel="author" title="Richard Ishida" href='mailto:ishida@w3.org'/>
+<link rel="help" href='http://www.w3.org/TR/css-writing-modes-3/#text-direction'/>
+<link rel="match" href='reference/bidi-plaintext-006.html'/>
+<meta name="assert" content='If unicode-bidi:plaintext is applied to an inline element, that element will interact with the surrounding text like a neutral directional character.'/>
+<style type="text/css">
+.test span { unicode-bidi: plaintext; }
+
+ /* the following styles are not part of the test */
+.test, .ref { font-size: 150%; border: 1px solid orange; margin: 10px; width: 10em; padding: 5px; clear: both; }
+input { margin: 5px; }
+@font-face {
+    font-family: 'ezra_silregular';
+    src: url('support/sileot-webfont.woff') format('woff');
+    font-weight: normal;
+    font-style: normal;
+    }
+.test, .ref { font-family: ezra_silregular, serif; }
+</style>
+</head>
+<body>
+<p class="instructions" dir="ltr">Test passes if the two boxes are identical.</p>
+
+
+<!--Notes:
+Key to entities used below:
+        &#x5d0; ... &#x5d5; - The first six Hebrew letters (strongly RTL).
+        &#x202d; - The LRO (left-to-right-override) formatting character.
+        &#x202c; - The PDF (pop directional formatting) formatting character; closes LRO.
+-->
+
+
+
+<div class="test"><div dir="ltr">&#x5d0; > <span>b > c</span> > &#x5d3;</div>
+                  <div dir="ltr">&#x5d0; > <span>&#x5d1; > &#x5d2;</span> > &#x5d3;</div>
+                  </div>
+
+
+<div class="ref"><div dir="ltr">&#x202d;&#x5d3; &lt; b &gt; c &lt; &#x5d0;&#x202c;</div>
+      	     <div dir="ltr">&#x202d;&#x5d3; &lt; &#x5d2; &lt; &#x5d1; &lt; &#x5d0;&#x202c;</div>
+      	     </div>
+
+
+
+
+
+
+</body></html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/bidi-plaintext-007.html
@@ -0,0 +1,51 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+<meta charset="utf-8"/>
+<title>unicode-bidi: element isolation and unicode-bidi plaintext, rtl + number</title>
+
+<link rel="author" title="Richard Ishida" href='mailto:ishida@w3.org'/>
+<link rel="help" href='http://www.w3.org/TR/css-writing-modes-3/#text-direction'/>
+<link rel="match" href='reference/bidi-plaintext-007.html'/>
+<meta name="assert" content='If unicode-bidi:plaintext is applied to an inline element, the text in that element WILL be directionally isolated from surrounding text.'/>
+<style type="text/css">
+.test span { unicode-bidi: plaintext; }
+
+ /* the following styles are not part of the test */
+.test, .ref { font-size: 150%; border: 1px solid orange; margin: 10px; width: 10em; padding: 5px; clear: both; }
+input { margin: 5px; }
+@font-face {
+    font-family: 'ezra_silregular';
+    src: url('support/sileot-webfont.woff') format('woff');
+    font-weight: normal;
+    font-style: normal;
+    }
+.test, .ref { font-family: ezra_silregular, serif; }
+</style>
+</head>
+<body>
+<p class="instructions" dir="ltr">Test passes if the two boxes are identical.</p>
+
+
+<!--Notes:
+Key to entities used below:
+        &#x5d0; ... &#x5d5; - The first six Hebrew letters (strongly RTL).
+        &#x202d; - The LRO (left-to-right-override) formatting character.
+        &#x202c; - The PDF (pop directional formatting) formatting character; closes LRO.
+-->
+
+
+
+<div class="test" dir="ltr"><span>&#x5d0;</span> 3</div>
+
+
+<div class="ref" dir="ltr">&#x202d;&#x5d0; 3&#x202c;</div>
+
+
+
+
+
+
+
+
+</body></html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/bidi-plaintext-008.html
@@ -0,0 +1,49 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+<meta charset="utf-8"/>
+<title>unicode-bidi: element isolation and unicode-bidi plaintext, ltr + number</title>
+
+<link rel="author" title="Richard Ishida" href='mailto:ishida@w3.org'/>
+<link rel="help" href='http://www.w3.org/TR/css-writing-modes-3/#text-direction'/>
+<link rel="match" href='reference/bidi-plaintext-008.html'/>
+<meta name="assert" content='If unicode-bidi:plaintext is applied to an inline element, the text in that element WILL be directionally isolated from surrounding text.'/>
+<style type="text/css">
+.test span { unicode-bidi: plaintext; }
+
+ /* the following styles are not part of the test */
+.test, .ref { font-size: 150%; border: 1px solid orange; margin: 10px; width: 10em; padding: 5px; clear: both; }
+input { margin: 5px; }
+@font-face {
+    font-family: 'ezra_silregular';
+    src: url('support/sileot-webfont.woff') format('woff');
+    font-weight: normal;
+    font-style: normal;
+    }
+.test, .ref { font-family: ezra_silregular, serif; }
+</style>
+</head>
+<body>
+<p class="instructions" dir="ltr">Test passes if the two boxes are identical.</p>
+
+
+<!--Notes:
+Key to entities used below:
+        &#x5d0; ... &#x5d5; - The first six Hebrew letters (strongly RTL).
+        &#x202d; - The LRO (left-to-right-override) formatting character.
+        &#x202c; - The PDF (pop directional formatting) formatting character; closes LRO.
+-->
+
+
+
+<div class="test" dir="rtl"><span>a</span> 3</div>
+
+
+<div class="ref" dir="rtl">&#x202d;3 a&#x202c;</div>
+
+
+
+
+
+
+</body></html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/bidi-plaintext-009.html
@@ -0,0 +1,49 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+<meta charset="utf-8"/>
+<title>unicode-bidi: element isolation and unicode-bidi plaintext, rtl list</title>
+
+<link rel="author" title="Richard Ishida" href='mailto:ishida@w3.org'/>
+<link rel="help" href='http://www.w3.org/TR/css-writing-modes-3/#text-direction'/>
+<link rel="match" href='reference/bidi-plaintext-009.html'/>
+<meta name="assert" content='If unicode-bidi:plaintext is applied to an inline element, the text in that element WILL be directionally isolated from following content.'/>
+<style type="text/css">
+.test span { unicode-bidi: plaintext; }
+
+ /* the following styles are not part of the test */
+.test, .ref { font-size: 150%; border: 1px solid orange; margin: 10px; width: 10em; padding: 5px; clear: both; }
+input { margin: 5px; }
+@font-face {
+    font-family: 'ezra_silregular';
+    src: url('support/sileot-webfont.woff') format('woff');
+    font-weight: normal;
+    font-style: normal;
+    }
+.test, .ref { font-family: ezra_silregular, serif; }
+</style>
+</head>
+<body>
+<p class="instructions" dir="ltr">Test passes if the two boxes are identical.</p>
+
+
+<!--Notes:
+Key to entities used below:
+        &#x5d0; ... &#x5d5; - The first six Hebrew letters (strongly RTL).
+        &#x202d; - The LRO (left-to-right-override) formatting character.
+        &#x202c; - The PDF (pop directional formatting) formatting character; closes LRO.
+-->
+
+
+
+<div class="test" dir="rtl"><span>a</span> &gt; b</div>
+
+
+<div class="ref" dir="rtl">&#x202d;b &lt; a</div>
+
+
+
+
+
+
+</body></html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/bidi-plaintext-010.html
@@ -0,0 +1,49 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+<meta charset="utf-8"/>
+<title>unicode-bidi: element isolation and unicode-bidi plaintext, ltr list</title>
+
+<link rel="author" title="Richard Ishida" href='mailto:ishida@w3.org'/>
+<link rel="help" href='http://www.w3.org/TR/css-writing-modes-3/#text-direction'/>
+<link rel="match" href='reference/bidi-plaintext-010.html'/>
+<meta name="assert" content='If unicode-bidi:plaintext is applied to an inline element, the text in that element WILL be directionally isolated from following content.'/>
+<style type="text/css">
+.test span { unicode-bidi: plaintext; }
+
+ /* the following styles are not part of the test */
+.test, .ref { font-size: 150%; border: 1px solid orange; margin: 10px; width: 10em; padding: 5px; clear: both; }
+input { margin: 5px; }
+@font-face {
+    font-family: 'ezra_silregular';
+    src: url('support/sileot-webfont.woff') format('woff');
+    font-weight: normal;
+    font-style: normal;
+    }
+.test, .ref { font-family: ezra_silregular, serif; }
+</style>
+</head>
+<body>
+<p class="instructions" dir="ltr">Test passes if the two boxes are identical.</p>
+
+
+<!--Notes:
+Key to entities used below:
+        &#x5d0; ... &#x5d5; - The first six Hebrew letters (strongly RTL).
+        &#x202d; - The LRO (left-to-right-override) formatting character.
+        &#x202c; - The PDF (pop directional formatting) formatting character; closes LRO.
+-->
+
+
+
+<div class="test" dir="ltr"><span>&#x5d0;</span> &gt; &#x5d1;</div>
+
+
+<div class="ref" dir="ltr">&#x202d;&#x5d0; &gt; &#x5d1;</div>
+
+
+
+
+
+
+</body></html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/bidi-plaintext-011.html
@@ -0,0 +1,48 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+<meta charset="utf-8"/>
+<title>direction/unicode-bidi: span unicode-bidi plaintext, no strong (1)</title>
+
+<link rel="author" title="Richard Ishida" href='mailto:ishida@w3.org'/>
+<link rel="help" href='http://www.w3.org/TR/css-writing-modes-3/#text-direction'/>
+<link rel="match" href='reference/bidi-plaintext-011.html'/>
+<meta name="assert" content='If unicode-bidi:plaintext is applied to an inline element containing mixed direction text with no strong directional character, the text in that element will be displayed in ltr order.'/>
+<style type="text/css">
+.test span { direction: rtl; unicode-bidi: plaintext; }
+
+ /* the following styles are not part of the test */
+.test, .ref { font-size: 150%; border: 1px solid orange; margin: 10px; width: 10em; padding: 5px; clear: both; }
+input { margin: 5px; }
+@font-face {
+    font-family: 'ezra_silregular';
+    src: url('support/sileot-webfont.woff') format('woff');
+    font-weight: normal;
+    font-style: normal;
+    }
+.test, .ref { font-family: ezra_silregular, serif; }
+</style>
+</head>
+<body>
+<p class="instructions" dir="ltr">Test passes if the two boxes are identical.</p>
+
+
+<!--Notes:
+Key to entities used below:
+        &#x5d0; ... &#x5d5; - The first six Hebrew letters (strongly RTL).
+        &#x202d; - The LRO (left-to-right-override) formatting character.
+        &#x202c; - The PDF (pop directional formatting) formatting character; closes LRO.
+-->
+
+
+
+<div class="test" dir="rtl">&gt; <span>&gt; &gt;</span> &gt;</div>
+
+<div class="ref" dir="rtl">&#x202d;&lt; &gt; &gt; &lt;&#x202c;</div>
+
+
+
+
+
+
+</body></html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/bidi-unset-001.html
@@ -0,0 +1,49 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+<meta charset="utf-8"/>
+<title>direction/unicode-bidi: span direction rtl, unicode-bidi unset (1)</title>
+
+<link rel="author" title="Richard Ishida" href='mailto:ishida@w3.org'/>
+<link rel="help" href='http://www.w3.org/TR/css-writing-modes-3/#text-direction'/>
+<link rel="match" href='reference/bidi-normal-001.html'/>
+<meta name="assert" content='In a ltr context, if direction:rtl is set but unicode-bidi is not set on an inline element containing mixed direction text, the text in that element will NOT be displayed in rtl order.'/>
+<style type="text/css">
+.test span { direction: rtl; }
+
+ /* the following styles are not part of the test */
+.test, .ref { font-size: 150%; border: 1px solid orange; margin: 10px; width: 10em; padding: 5px; clear: both; }
+input { margin: 5px; }
+@font-face {
+    font-family: 'ezra_silregular';
+    src: url('support/sileot-webfont.woff') format('woff');
+    font-weight: normal;
+    font-style: normal;
+    }
+.test, .ref { font-family: ezra_silregular, serif; }
+</style>
+</head>
+<body>
+<p class="instructions" dir="ltr">Test passes if the two boxes are identical.</p>
+
+
+<!--Notes:
+Key to entities used below:
+        &#x5d0; ... &#x5d5; - The first six Hebrew letters (strongly RTL).
+        &#x202d; - The LRO (left-to-right-override) formatting character.
+        &#x202c; - The PDF (pop directional formatting) formatting character; closes LRO.
+-->
+
+
+
+<div class="test" dir="ltr">&gt; <span>a &gt; &#x5d0;</span> &gt;</div>
+
+
+<div class="ref" dir="ltr">&#x202d;&gt; a &gt; &#x5d0; &gt;&#x202c;</div>
+
+
+
+
+
+
+</body></html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/bidi-unset-002.html
@@ -0,0 +1,49 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+<meta charset="utf-8"/>
+<title>direction/unicode-bidi: span direction rtl, unicode-bidi unset (2)</title>
+
+<link rel="author" title="Richard Ishida" href='mailto:ishida@w3.org'/>
+<link rel="help" href='http://www.w3.org/TR/css-writing-modes-3/#text-direction'/>
+<link rel="match" href='reference/bidi-normal-002.html'/>
+<meta name="assert" content='In a ltr context, if direction:rtl is set but unicode-bidi is not set on an inline element containing mixed direction text, the text in that element will NOT be displayed in rtl order.'/>
+<style type="text/css">
+.test span { direction: rtl; }
+
+ /* the following styles are not part of the test */
+.test, .ref { font-size: 150%; border: 1px solid orange; margin: 10px; width: 10em; padding: 5px; clear: both; }
+input { margin: 5px; }
+@font-face {
+    font-family: 'ezra_silregular';
+    src: url('support/sileot-webfont.woff') format('woff');
+    font-weight: normal;
+    font-style: normal;
+    }
+.test, .ref { font-family: ezra_silregular, serif; }
+</style>
+</head>
+<body>
+<p class="instructions" dir="ltr">Test passes if the two boxes are identical.</p>
+
+
+<!--Notes:
+Key to entities used below:
+        &#x5d0; ... &#x5d5; - The first six Hebrew letters (strongly RTL).
+        &#x202d; - The LRO (left-to-right-override) formatting character.
+        &#x202c; - The PDF (pop directional formatting) formatting character; closes LRO.
+-->
+
+
+
+<div class="test" dir="ltr">&gt; <span>&#x5d0; &gt; a</span> &gt;</div>
+
+
+<div class="ref" dir="ltr">&#x202d;&gt; &#x5d0; &gt; a &gt;&#x202c;</div>
+
+
+
+
+
+
+</body></html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/bidi-unset-003.html
@@ -0,0 +1,49 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+<meta charset="utf-8"/>
+<title>direction/unicode-bidi: span direction ltr, unicode-bidi unset (1)</title>
+
+<link rel="author" title="Richard Ishida" href='mailto:ishida@w3.org'/>
+<link rel="help" href='http://www.w3.org/TR/css-writing-modes-3/#text-direction'/>
+<link rel="match" href='reference/bidi-normal-003.html'/>
+<meta name="assert" content='In a rtl context, if direction:ltr is set but unicode-bidi is not set on an inline element containing mixed direction text, the text in that element will NOT be displayed in ltr order.'/>
+<style type="text/css">
+.test span { direction: ltr; }
+
+ /* the following styles are not part of the test */
+.test, .ref { font-size: 150%; border: 1px solid orange; margin: 10px; width: 10em; padding: 5px; clear: both; }
+input { margin: 5px; }
+@font-face {
+    font-family: 'ezra_silregular';
+    src: url('support/sileot-webfont.woff') format('woff');
+    font-weight: normal;
+    font-style: normal;
+    }
+.test, .ref { font-family: ezra_silregular, serif; }
+</style>
+</head>
+<body>
+<p class="instructions" dir="ltr">Test passes if the two boxes are identical.</p>
+
+
+<!--Notes:
+Key to entities used below:
+        &#x5d0; ... &#x5d5; - The first six Hebrew letters (strongly RTL).
+        &#x202d; - The LRO (left-to-right-override) formatting character.
+        &#x202c; - The PDF (pop directional formatting) formatting character; closes LRO.
+-->
+
+
+
+<div class="test" dir="rtl">&gt; <span>&#x5d0; &gt; a</span> &gt;</div>
+
+
+<div class="ref" dir="rtl">&#x202d;&lt; a &lt; &#x5d0; &lt;&#x202c;</div>
+
+
+
+
+
+
+</body></html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/bidi-unset-004.html
@@ -0,0 +1,49 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+<meta charset="utf-8"/>
+<title>direction/unicode-bidi: span direction ltr, unicode-bidi unset (2)</title>
+
+<link rel="author" title="Richard Ishida" href='mailto:ishida@w3.org'/>
+<link rel="help" href='http://www.w3.org/TR/css-writing-modes-3/#text-direction'/>
+<link rel="match" href='reference/bidi-normal-004.html'/>
+<meta name="assert" content='In a rtl context, if direction:ltr is set but unicode-bidi is not set on an inline element containing mixed direction text, the text in that element will NOT be displayed in ltr order.'/>
+<style type="text/css">
+.test span { direction: ltr; }
+
+ /* the following styles are not part of the test */
+.test, .ref { font-size: 150%; border: 1px solid orange; margin: 10px; width: 10em; padding: 5px; clear: both; }
+input { margin: 5px; }
+@font-face {
+    font-family: 'ezra_silregular';
+    src: url('support/sileot-webfont.woff') format('woff');
+    font-weight: normal;
+    font-style: normal;
+    }
+.test, .ref { font-family: ezra_silregular, serif; }
+</style>
+</head>
+<body>
+<p class="instructions" dir="ltr">Test passes if the two boxes are identical.</p>
+
+
+<!--Notes:
+Key to entities used below:
+        &#x5d0; ... &#x5d5; - The first six Hebrew letters (strongly RTL).
+        &#x202d; - The LRO (left-to-right-override) formatting character.
+        &#x202c; - The PDF (pop directional formatting) formatting character; closes LRO.
+-->
+
+
+
+<div class="test" dir="rtl">&gt; <span>a &gt; &#x5d0;</span> &gt;</div>
+
+
+<div class="ref" dir="rtl">&#x202d;&lt; &#x5d0; &lt; a &lt;&#x202c;</div>
+
+
+
+
+
+
+</body></html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/bidi-unset-005.html
@@ -0,0 +1,53 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+<meta charset="utf-8"/>
+<title>direction/unicode-bidi: element as directional character with unicode-bidi unset, rtl</title>
+
+<link rel="author" title="Richard Ishida" href='mailto:ishida@w3.org'/>
+<link rel="help" href='http://www.w3.org/TR/css-writing-modes-3/#text-direction'/>
+<link rel="match" href='reference/bidi-normal-005.html'/>
+<meta name="assert" content='If direction is set but unicode-bidi is not set on an inline element, that element will NOT interact with the surrounding text like a strong or neutral directional character.'/>
+<style type="text/css">
+.test span { direction: rtl; }
+
+ /* the following styles are not part of the test */
+.test, .ref { font-size: 150%; border: 1px solid orange; margin: 10px; width: 10em; padding: 5px; clear: both; }
+input { margin: 5px; }
+@font-face {
+    font-family: 'ezra_silregular';
+    src: url('support/sileot-webfont.woff') format('woff');
+    font-weight: normal;
+    font-style: normal;
+    }
+.test, .ref { font-family: ezra_silregular, serif; }
+</style>
+</head>
+<body>
+<p class="instructions" dir="ltr">Test passes if the two boxes are identical.</p>
+
+
+<!--Notes:
+Key to entities used below:
+        &#x5d0; ... &#x5d5; - The first six Hebrew letters (strongly RTL).
+        &#x202d; - The LRO (left-to-right-override) formatting character.
+        &#x202c; - The PDF (pop directional formatting) formatting character; closes LRO.
+-->
+
+
+
+<div class="test"><div dir="rtl">a > <span>&#x5d0; > &#x5d1;</span> > d</div>
+                  <div dir="rtl">a > <span>b > c</span> > d</div>
+                  </div>
+
+
+<div class="ref"><div dir="rtl">&#x202d;d &lt; &#x5d1; &lt; &#x5d0; &lt; a&#x202c;</div>
+	     <div dir="rtl">&#x202d;a &gt; b &gt; c &gt; d&#x202c;</div>
+	     </div>
+
+
+
+
+
+
+</body></html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/bidi-unset-006.html
@@ -0,0 +1,53 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+<meta charset="utf-8"/>
+<title>direction/unicode-bidi: element as directional character with unicode-bidi unset, ltr</title>
+
+<link rel="author" title="Richard Ishida" href='mailto:ishida@w3.org'/>
+<link rel="help" href='http://www.w3.org/TR/css-writing-modes-3/#text-direction'/>
+<link rel="match" href='reference/bidi-normal-006.html'/>
+<meta name="assert" content='If direction is set but unicode-bidi is not set on an inline element, that element will NOT interact with the surrounding text like a strong or neutral directional character.'/>
+<style type="text/css">
+.test span { direction: ltr; }
+
+ /* the following styles are not part of the test */
+.test, .ref { font-size: 150%; border: 1px solid orange; margin: 10px; width: 10em; padding: 5px; clear: both; }
+input { margin: 5px; }
+@font-face {
+    font-family: 'ezra_silregular';
+    src: url('support/sileot-webfont.woff') format('woff');
+    font-weight: normal;
+    font-style: normal;
+    }
+.test, .ref { font-family: ezra_silregular, serif; }
+</style>
+</head>
+<body>
+<p class="instructions" dir="ltr">Test passes if the two boxes are identical.</p>
+
+
+<!--Notes:
+Key to entities used below:
+        &#x5d0; ... &#x5d5; - The first six Hebrew letters (strongly RTL).
+        &#x202d; - The LRO (left-to-right-override) formatting character.
+        &#x202c; - The PDF (pop directional formatting) formatting character; closes LRO.
+-->
+
+
+
+<div class="test"><div dir="ltr">&#x5d0; > <span>b > c</span> > &#x5d3;</div>
+                  <div dir="ltr"> &#x5d0; > <span>&#x5d1; > &#x5d2;</span> > &#x5d3;</div>
+                  </div>
+
+
+<div class="ref"><div dir="ltr">&#x202d;&#x5d0; &gt; b &gt; c &gt; &#x5d3;&#x202c;</div>
+	     <div dir="ltr">&#x202d;&#x5d3; &lt; &#x5d2; &lt; &#x5d1; &lt; &#x5d0;&#x202c;</div>
+    </div>
+
+
+
+
+
+
+</body></html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/bidi-unset-007.html
@@ -0,0 +1,49 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+<meta charset="utf-8"/>
+<title>direction/unicode-bidi: element isolation and unicode-bidi unset, rtl + number</title>
+
+<link rel="author" title="Richard Ishida" href='mailto:ishida@w3.org'/>
+<link rel="help" href='http://www.w3.org/TR/css-writing-modes-3/#text-direction'/>
+<link rel="match" href='reference/bidi-normal-007.html'/>
+<meta name="assert" content='If direction is set but unicode-bidi is not set on an inline element, the text in that element will NOT be directionally isolated from surrounding text.'/>
+<style type="text/css">
+.test span { direction: rtl; }
+
+ /* the following styles are not part of the test */
+.test, .ref { font-size: 150%; border: 1px solid orange; margin: 10px; width: 10em; padding: 5px; clear: both; }
+input { margin: 5px; }
+@font-face {
+    font-family: 'ezra_silregular';
+    src: url('support/sileot-webfont.woff') format('woff');
+    font-weight: normal;
+    font-style: normal;
+    }
+.test, .ref { font-family: ezra_silregular, serif; }
+</style>
+</head>
+<body>
+<p class="instructions" dir="ltr">Test passes if the two boxes are identical.</p>
+
+
+<!--Notes:
+Key to entities used below:
+        &#x5d0; ... &#x5d5; - The first six Hebrew letters (strongly RTL).
+        &#x202d; - The LRO (left-to-right-override) formatting character.
+        &#x202c; - The PDF (pop directional formatting) formatting character; closes LRO.
+-->
+
+
+
+<div class="test" dir="ltr"><span>&#x5d0;</span> 3</div>
+
+
+<div class="ref" dir="ltr">&#x202d;3 &#x5d0;&#x202c;</div>
+
+
+
+
+
+
+</body></html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/bidi-unset-008.html
@@ -0,0 +1,49 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+<meta charset="utf-8"/>
+<title>direction/unicode-bidi: element isolation and unicode-bidi unset, ltr + number</title>
+
+<link rel="author" title="Richard Ishida" href='mailto:ishida@w3.org'/>
+<link rel="help" href='http://www.w3.org/TR/css-writing-modes-3/#text-direction'/>
+<link rel="match" href='reference/bidi-normal-008.html'/>
+<meta name="assert" content='If direction is set but unicode-bidi is not set on an inline element, the text in that element will NOT be directionally isolated from surrounding text.'/>
+<style type="text/css">
+.test span { direction: ltr; }
+
+ /* the following styles are not part of the test */
+.test, .ref { font-size: 150%; border: 1px solid orange; margin: 10px; width: 10em; padding: 5px; clear: both; }
+input { margin: 5px; }
+@font-face {
+    font-family: 'ezra_silregular';
+    src: url('support/sileot-webfont.woff') format('woff');
+    font-weight: normal;
+    font-style: normal;
+    }
+.test, .ref { font-family: ezra_silregular, serif; }
+</style>
+</head>
+<body>
+<p class="instructions" dir="ltr">Test passes if the two boxes are identical.</p>
+
+
+<!--Notes:
+Key to entities used below:
+        &#x5d0; ... &#x5d5; - The first six Hebrew letters (strongly RTL).
+        &#x202d; - The LRO (left-to-right-override) formatting character.
+        &#x202c; - The PDF (pop directional formatting) formatting character; closes LRO.
+-->
+
+
+
+<div class="test" dir="rtl"><span>a</span> 3</div>
+
+
+<div class="ref" dir="rtl">&#x202d;a 3&#x202c;</div>
+
+
+
+
+
+
+</body></html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/bidi-unset-009.html
@@ -0,0 +1,49 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+<meta charset="utf-8"/>
+<title>direction/unicode-bidi: element isolation and unicode-bidi unset, rtl list</title>
+
+<link rel="author" title="Richard Ishida" href='mailto:ishida@w3.org'/>
+<link rel="help" href='http://www.w3.org/TR/css-writing-modes-3/#text-direction'/>
+<link rel="match" href='reference/bidi-normal-009.html'/>
+<meta name="assert" content='If direction is set but unicode-bidi is not set on an inline element, the text in that element will NOT be directionally isolated from following content.'/>
+<style type="text/css">
+.test span { direction: ltr; }
+
+ /* the following styles are not part of the test */
+.test, .ref { font-size: 150%; border: 1px solid orange; margin: 10px; width: 10em; padding: 5px; clear: both; }
+input { margin: 5px; }
+@font-face {
+    font-family: 'ezra_silregular';
+    src: url('support/sileot-webfont.woff') format('woff');
+    font-weight: normal;
+    font-style: normal;
+    }
+.test, .ref { font-family: ezra_silregular, serif; }
+</style>
+</head>
+<body>
+<p class="instructions" dir="ltr">Test passes if the two boxes are identical.</p>
+
+
+<!--Notes:
+Key to entities used below:
+        &#x5d0; ... &#x5d5; - The first six Hebrew letters (strongly RTL).
+        &#x202d; - The LRO (left-to-right-override) formatting character.
+        &#x202c; - The PDF (pop directional formatting) formatting character; closes LRO.
+-->
+
+
+
+<div class="test" dir="rtl"><span>a</span> &gt; b</div>
+
+
+<div class="ref" dir="rtl">&#x202d;a &gt; b</div>
+
+
+
+
+
+
+</body></html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/bidi-unset-010.html
@@ -0,0 +1,49 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+<meta charset="utf-8"/>
+<title>direction/unicode-bidi: element isolation and unicode-bidi unset, ltr list</title>
+
+<link rel="author" title="Richard Ishida" href='mailto:ishida@w3.org'/>
+<link rel="help" href='http://www.w3.org/TR/css-writing-modes-3/#text-direction'/>
+<link rel="match" href='reference/bidi-normal-010.html'/>
+<meta name="assert" content='If direction is set but unicode-bidi is not set on an inline element, the text in that element will NOT be directionally isolated from following content.'/>
+<style type="text/css">
+.test span { direction: rtl; }
+
+ /* the following styles are not part of the test */
+.test, .ref { font-size: 150%; border: 1px solid orange; margin: 10px; width: 10em; padding: 5px; clear: both; }
+input { margin: 5px; }
+@font-face {
+    font-family: 'ezra_silregular';
+    src: url('support/sileot-webfont.woff') format('woff');
+    font-weight: normal;
+    font-style: normal;
+    }
+.test, .ref { font-family: ezra_silregular, serif; }
+</style>
+</head>
+<body>
+<p class="instructions" dir="ltr">Test passes if the two boxes are identical.</p>
+
+
+<!--Notes:
+Key to entities used below:
+        &#x5d0; ... &#x5d5; - The first six Hebrew letters (strongly RTL).
+        &#x202d; - The LRO (left-to-right-override) formatting character.
+        &#x202c; - The PDF (pop directional formatting) formatting character; closes LRO.
+-->
+
+
+
+<div class="test" dir="ltr"><span>&#x5d0;</span> &gt; &#x5d1;</div>
+
+
+<div class="ref" dir="ltr">&#x202d;&#x5d1; &lt; &#x5d0;</div>
+
+
+
+
+
+
+</body></html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/block-embed-001.html
@@ -0,0 +1,49 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+<meta charset="utf-8"/>
+<title>direction: div direction rtl</title>
+
+<link rel="author" title="Richard Ishida" href='mailto:ishida@w3.org'/>
+<link rel="help" href='http://www.w3.org/TR/css-writing-modes-3/#text-direction'/>
+<link rel="match" href='reference/block-embed-001.html'/>
+<meta name="assert" content='If direction is applied to a block element containing mixed direction text, the text in that element will be displayed in the expected order.'/>
+<style type="text/css">
+.test { direction: rtl; }
+
+ /* the following styles are not part of the test */
+.test, .ref { font-size: 150%; border: 1px solid orange; margin: 10px; width: 10em; padding: 5px; clear: both; }
+input { margin: 5px; }
+@font-face {
+    font-family: 'ezra_silregular';
+    src: url('support/sileot-webfont.woff') format('woff');
+    font-weight: normal;
+    font-style: normal;
+    }
+.test, .ref { font-family: ezra_silregular, serif; }
+</style>
+</head>
+<body>
+<p class="instructions" dir="ltr">Test passes if the two boxes are identical.</p>
+
+
+<!--Notes:
+Key to entities used below:
+        &#x5d0; ... &#x5d5; - The first six Hebrew letters (strongly RTL).
+        &#x202d; - The LRO (left-to-right-override) formatting character.
+        &#x202c; - The PDF (pop directional formatting) formatting character; closes LRO.
+-->
+
+
+
+<div class="test">&gt; a &gt; &#x5d1; &gt; c &gt;</div>
+
+
+<div class="ref" dir="rtl">&#x202d;&lt; c &lt; &#x5d1; &lt; a &lt;&#x202c;</div>
+
+
+
+
+
+
+</body></html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/block-embed-002.html
@@ -0,0 +1,49 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+<meta charset="utf-8"/>
+<title>direction: div direction ltr</title>
+
+<link rel="author" title="Richard Ishida" href='mailto:ishida@w3.org'/>
+<link rel="help" href='http://www.w3.org/TR/css-writing-modes-3/#text-direction'/>
+<link rel="match" href='reference/block-embed-002.html'/>
+<meta name="assert" content='If direction is applied to a block element containing mixed direction text, the text in that element will be displayed in the expected order.'/>
+<style type="text/css">
+.test { direction: ltr; }
+
+ /* the following styles are not part of the test */
+.test, .ref { font-size: 150%; border: 1px solid orange; margin: 10px; width: 10em; padding: 5px; clear: both; }
+input { margin: 5px; }
+@font-face {
+    font-family: 'ezra_silregular';
+    src: url('support/sileot-webfont.woff') format('woff');
+    font-weight: normal;
+    font-style: normal;
+    }
+.test, .ref { font-family: ezra_silregular, serif; }
+</style>
+</head>
+<body>
+<p class="instructions" dir="ltr">Test passes if the two boxes are identical.</p>
+
+
+<!--Notes:
+Key to entities used below:
+        &#x5d0; ... &#x5d5; - The first six Hebrew letters (strongly RTL).
+        &#x202d; - The LRO (left-to-right-override) formatting character.
+        &#x202c; - The PDF (pop directional formatting) formatting character; closes LRO.
+-->
+
+
+<div dir="rtl">
+<div class="test">&gt; a &gt; &#x5d1; &gt; c &gt;</div>
+
+<div class="ref" dir="ltr">&#x202d;&gt; a &gt; &#x5d1; &gt; c &gt;&#x202c;</div>
+</div>
+
+
+
+
+
+
+</body></html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/block-embed-003.html
@@ -0,0 +1,52 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+<meta charset="utf-8"/>
+<title>direction: div direction rtl</title>
+
+<link rel="author" title="Richard Ishida" href='mailto:ishida@w3.org'/>
+<link rel="help" href='http://www.w3.org/TR/css-writing-modes-3/#text-direction'/>
+<link rel="match" href='reference/block-embed-003.html'/>
+<meta name="assert" content='If direction is applied to a block element, contained block elements inherit that direction.'/>
+<style type="text/css">
+.test { direction: rtl; }
+
+ /* the following styles are not part of the test */
+.test, .ref { font-size: 150%; border: 1px solid orange; margin: 10px; width: 10em; padding: 5px; clear: both; }
+input { margin: 5px; }
+@font-face {
+    font-family: 'ezra_silregular';
+    src: url('support/sileot-webfont.woff') format('woff');
+    font-weight: normal;
+    font-style: normal;
+    }
+.test, .ref { font-family: ezra_silregular, serif; }
+</style>
+</head>
+<body>
+<p class="instructions" dir="ltr">Test passes if the two boxes are identical.</p>
+
+
+<!--Notes:
+Key to entities used below:
+        &#x5d0; ... &#x5d5; - The first six Hebrew letters (strongly RTL).
+        &#x202d; - The LRO (left-to-right-override) formatting character.
+        &#x202c; - The PDF (pop directional formatting) formatting character; closes LRO.
+-->
+
+
+<div class="test">
+<div>&gt; a &gt; &#x5d1; &gt; c &gt;</div>
+<div>&gt; a &gt; &#x5d1; &gt; c &gt;</div>
+</div>
+
+<div class="ref">
+<div dir="rtl">&#x202d;&lt; c &lt; &#x5d1; &lt; a &lt;&#x202c;</div>
+<div dir="rtl">&#x202d;&lt; c &lt; &#x5d1; &lt; a &lt;&#x202c;</div>
+</div>
+
+
+
+
+
+</body></html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/block-flow-direction-001-ref.xht
@@ -0,0 +1,31 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+ <head>
+  <title>CSS Reftest Reference</title>
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" /> <!-- 2014-12-30 and 2016-11-14 -->
+
+  <meta name="flags" content="ahem" />
+
+<style type="text/css"><![CDATA[
+@font-face {
+  font-family: Ahem;
+  src: url("../../../fonts/Ahem.ttf");
+}
+]]></style>
+  <style type="text/css"><![CDATA[
+  div
+    {
+      background-color: blue;
+      color: yellow;
+      font: 20px/1 Ahem;
+      padding: 1em;
+      width: 19em;
+    }
+  ]]></style>
+ </head>
+ <body>
+
+  <div>P1ro A1ro S1ro S1ro P&nbsp; P A&nbsp; A S&nbsp;&nbsp;&nbsp; S&nbsp;&nbsp;&nbsp; P&nbsp; P A&nbsp; A S&nbsp;&nbsp;&nbsp; S&nbsp;&nbsp;&nbsp; P4ro A4ro S4ro S4ro P&nbsp;&nbsp;&nbsp; A&nbsp; A &nbsp;&nbsp;&nbsp;S &nbsp;&nbsp;&nbsp;S P&nbsp;&nbsp;&nbsp; A&nbsp; A &nbsp;&nbsp;&nbsp;S &nbsp;&nbsp;&nbsp;S P&nbsp;&nbsp;&nbsp; A&nbsp; A S7ro S7ro</div>
+
+ </body>
+</html>
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/block-flow-direction-002-ref.xht
@@ -0,0 +1,42 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+ <head>
+  <title>CSS Reftest Reference</title>
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" /> <!-- 2014-11-26 and 2016-11-14 -->
+
+  <!-- This reference file is the right-aligned version of
+  block-flow-direction-001-ref.xht
+  -->
+
+  <meta name="flags" content="ahem" />
+
+<style type="text/css"><![CDATA[
+@font-face {
+  font-family: Ahem;
+  src: url("../../../fonts/Ahem.ttf");
+}
+]]></style>
+  <style type="text/css"><![CDATA[
+  body
+    {
+      direction: rtl;
+    }
+
+  div
+    {
+      background-color: blue;
+      color: yellow;
+      font: 20px/1 Ahem;
+      padding: 1em;
+      width: 19em;
+    }
+  ]]></style>
+
+ </head>
+
+ <body>
+
+  <div>P1ro A1ro S1ro S1ro P&nbsp; P A&nbsp; A S&nbsp;&nbsp;&nbsp; S&nbsp;&nbsp;&nbsp; P&nbsp; P A&nbsp; A S&nbsp;&nbsp;&nbsp; S&nbsp;&nbsp;&nbsp; P4ro A4ro S4ro S4ro P&nbsp;&nbsp;&nbsp; A&nbsp; A &nbsp;&nbsp;&nbsp;S &nbsp;&nbsp;&nbsp;S P&nbsp;&nbsp;&nbsp; A&nbsp; A &nbsp;&nbsp;&nbsp;S &nbsp;&nbsp;&nbsp;S P&nbsp;&nbsp;&nbsp; A&nbsp; A S7ro S7ro</div>
+
+ </body>
+</html>
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/block-flow-direction-004.xht
@@ -0,0 +1,60 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Writing Modes Test: 'writing-mode' - initial value is 'horizontal-tb'</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+  <link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#writing-mode" title="3.1 Block Flow Direction: the writing-mode property" />
+  <link rel="match" href="block-flow-direction-001-ref.xht" />
+
+  <meta content="ahem" name="flags" />
+  <meta content="This test checks that the default, initial value of writing-mode is 'horizontal-tb'." name="assert" />
+
+<style type="text/css"><![CDATA[
+@font-face {
+  font-family: Ahem;
+  src: url("../../../fonts/Ahem.ttf");
+}
+]]></style>
+  <style type="text/css"><![CDATA[
+  body
+  {
+  color: yellow;
+  font: 20px/1 Ahem;
+  width: 21em;
+  }
+
+  div
+  {
+  background-color: blue;
+  border-left: blue solid 1em;
+  border-right: blue solid 1em;
+  }
+
+  div#top-border { border-top: blue solid 1em; }
+
+  div#bottom-border { border-bottom: blue solid 1em; }
+  ]]></style>
+ </head>
+
+ <body>
+
+  <!-- topmost line --><div id="top-border">AAAA BBBB CCCC DDDD</div>
+
+  <!-- 2nd topmost line --><div>E&nbsp; F G&nbsp; H J&nbsp;&nbsp;&nbsp; L&nbsp;&nbsp; </div>
+
+  <!-- 3rd topmost line --><div>M&nbsp; N Q&nbsp; R S&nbsp;&nbsp;&nbsp; T&nbsp;&nbsp; </div>
+
+  <!-- 4th topmost line --><div>UUUU VVVV WWWW XXXX</div>
+
+  <!-- 5th topmost line --><div>Z&nbsp;&nbsp;&nbsp; a&nbsp; b&nbsp;&nbsp;&nbsp; c&nbsp;&nbsp;&nbsp; d</div>
+
+  <!-- 6th topmost line --><div>e&nbsp;&nbsp;&nbsp; f&nbsp; g&nbsp;&nbsp;&nbsp; h&nbsp;&nbsp;&nbsp; j</div>
+
+  <!-- 7th topmost line --><div id="bottom-border">k&nbsp;&nbsp;&nbsp; m&nbsp; n qqqq rrrr</div>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/block-flow-direction-025-ref.xht
@@ -0,0 +1,38 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Reftest Reference</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+
+  <meta content="image" name="flags" />
+
+  <style type="text/css"><![CDATA[
+  p
+    {
+      margin: 0px;
+    }
+
+    img
+    {
+      float: right;
+      padding-left: 16px;
+    }
+  ]]></style>
+ </head>
+
+ <body>
+
+  <p><img src="support/swatch-blue.png" width="100" height="100" alt="Image download support must be enabled" /><img src="support/block-flow-direction-025-exp-res.png" width="359" height="36" alt="Image download support must be enabled" /></p>
+
+  <!--
+  The image says:
+  Test passes if there is a blue square in the
+  <strong>upper-right corner</strong> of the page.
+  -->
+
+ </body>
+</html>
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/block-flow-direction-043-ref.xht
@@ -0,0 +1,39 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+ <head>
+  <title>CSS Reftest Reference</title>
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" /> <!-- 2015-11-22 and 2016-11-14 -->
+
+  <!-- This reference file is the bottom-left-corner version of
+  block-flow-direction-001-ref.xht
+  -->
+
+  <meta name="flags" content="ahem" />
+
+<style type="text/css"><![CDATA[
+@font-face {
+  font-family: Ahem;
+  src: url("../../../fonts/Ahem.ttf");
+}
+]]></style>
+  <style type="text/css"><![CDATA[
+  div
+    {
+      background-color: blue;
+      bottom: 8px;
+      color: yellow;
+      font: 20px/1 Ahem;
+      padding: 1em;
+      position: absolute;
+      width: 19em;
+    }
+  ]]></style>
+
+ </head>
+
+ <body>
+
+  <div>P1ro A1ro S1ro S1ro P&nbsp; P A&nbsp; A S&nbsp;&nbsp;&nbsp; S&nbsp;&nbsp;&nbsp; P&nbsp; P A&nbsp; A S&nbsp;&nbsp;&nbsp; S&nbsp;&nbsp;&nbsp; P4ro A4ro S4ro S4ro P&nbsp;&nbsp;&nbsp; A&nbsp; A &nbsp;&nbsp;&nbsp;S &nbsp;&nbsp;&nbsp;S P&nbsp;&nbsp;&nbsp; A&nbsp; A &nbsp;&nbsp;&nbsp;S &nbsp;&nbsp;&nbsp;S P&nbsp;&nbsp;&nbsp; A&nbsp; A S7ro S7ro</div>
+
+ </body>
+</html>
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/block-flow-direction-066-ref.xht
@@ -0,0 +1,44 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Reftest Reference</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+
+  <meta content="image" name="flags" />
+
+  <style type="text/css"><![CDATA[
+  p
+    {
+      bottom: 8px;
+      margin-bottom: 0px;
+      position: absolute;
+    }
+
+  img
+    {
+      vertical-align: bottom;
+    }
+
+  img + img
+    {
+      padding-left: 16px;
+    }
+  ]]></style>
+ </head>
+
+ <body>
+
+  <p><img src="support/swatch-blue.png" width="100" height="100" alt="Image download support must be enabled" /><img src="support/block-flow-direction-066-exp-res.png" width="358" height="36" alt="Image download support must be enabled" /></p>
+
+  <!--
+  The image says:
+  Test passes if there is a blue square in the
+  <strong>bottom-left corner</strong> of the page.
+  -->
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/block-flow-direction-htb-001.xht
@@ -0,0 +1,77 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Writing Modes Test: horizontal-tb - block flow direction of block-level boxes</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+  <link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#writing-mode" title="3.1 Block Flow Direction: the writing-mode property" />
+  <link rel="match" href="block-flow-direction-001-ref.xht" />
+
+  <meta content="ahem" name="flags" />
+  <meta content="This test checks that block-level boxes in a 'horizontal-tb' writing mode are laid out one after the other, vertically, with the first beginning at the top of a containing block; they are ordered from top to bottom meaning that the 1st block box is the topmost one, then the 2nd block is juxtaposed at its bottom, then the 3rd block is juxtaposed to the 2nd block at its bottom, etc..." name="assert" />
+
+<style type="text/css"><![CDATA[
+@font-face {
+  font-family: Ahem;
+  src: url("../../../fonts/Ahem.ttf");
+}
+]]></style>
+  <style type="text/css"><![CDATA[
+  html
+    {
+      writing-mode: horizontal-tb;
+    }
+  /*
+  "
+  The principal writing mode of the document is determined by the writing-mode
+  and direction values specified on the root element.
+  "
+  */
+
+  body
+    {
+      color: yellow;
+      font: 20px/1 Ahem;
+      width: 21em;
+    }
+
+  div
+    {
+      background-color: blue;
+      border-left: blue solid 1em;
+      border-right: blue solid 1em;
+    }
+
+  div#top-border
+    {
+      border-top: blue solid 1em;
+    }
+
+  div#bottom-border
+    {
+      border-bottom: blue solid 1em;
+    }
+  ]]></style>
+ </head>
+
+ <body>
+
+  <!-- topmost line --><div id="top-border">AAAA BBBB CCCC DDDD</div>
+
+  <!-- 2nd topmost line --><div>E&nbsp; F G&nbsp; H J&nbsp;&nbsp;&nbsp; L&nbsp;&nbsp; </div>
+
+  <!-- 3rd topmost line --><div>M&nbsp; N Q&nbsp; R S&nbsp;&nbsp;&nbsp; T&nbsp;&nbsp; </div>
+
+  <!-- 4th topmost line --><div>UUUU VVVV WWWW XXXX</div>
+
+  <!-- 5th topmost line --><div>Z&nbsp;&nbsp;&nbsp; a&nbsp; b&nbsp;&nbsp;&nbsp; c&nbsp;&nbsp;&nbsp; d</div>
+
+  <!-- 6th topmost line --><div>e&nbsp;&nbsp;&nbsp; f&nbsp; g&nbsp;&nbsp;&nbsp; h&nbsp;&nbsp;&nbsp; j</div>
+
+  <!-- 7th topmost line --><div id="bottom-border">k&nbsp;&nbsp;&nbsp; m&nbsp; n qqqq rrrr</div>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/block-flow-direction-slr-043.xht
@@ -0,0 +1,101 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Writing Modes Test: sideways-lr - block flow direction of block-level boxes</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+  <link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#writing-mode" title="3.1 Block Flow Direction: the writing-mode property" />
+  <link rel="match" href="block-flow-direction-043-ref.xht" />
+
+  <meta content="ahem" name="flags" />
+  <meta content="This test checks that block-level boxes in a block formating context with 'writing-mode' set to 'sideways-lr' are laid out one after the other with the first beginning at the left-hand side of its containing block; they are ordered from left to right meaning that the 1st block box is the leftmost one and, then the 2nd block is juxtaposed at the right-hand side of 1st block, then the 3rd block is juxtaposed at the 2nd block on its right-hand side, etc... " name="assert" />
+
+<style type="text/css"><![CDATA[
+@font-face {
+  font-family: Ahem;
+  src: url("../../../fonts/Ahem.ttf");
+}
+]]></style>
+  <style type="text/css"><![CDATA[
+  html
+    {
+      writing-mode: sideways-lr;
+    }
+  /*
+  "
+  The principal writing mode of the document is determined by the writing-mode
+  and direction values specified on the root element.
+  "
+  */
+
+  body
+    {
+      color: yellow;
+      font: 20px/1 Ahem;
+      height: 9em;
+    }
+
+  div
+    {
+      background-color: blue;
+      border-bottom: blue solid 1em;
+      border-top: blue solid 1em;
+    }
+
+  div.left-border
+    {
+      border-left: blue solid 1em;
+    }
+
+  div#right-border
+    {
+      border-right: blue solid 1em;
+    }
+  ]]></style>
+ </head>
+
+ <body>
+
+<!-- The 1st left-most line of "P" --> <div class="left-border">AAAAAAA</div>
+
+<!-- The 2nd left-most line of "P" --> <div>&nbsp;&nbsp; B &nbsp;C</div>
+
+<!-- The 3rd left-most line of "P" --> <div>&nbsp;&nbsp; D &nbsp;E</div>
+
+<!-- The 4th left-most line of "P" --> <div>&nbsp;&nbsp; FFFF</div>
+
+
+
+<!-- The left-most line of "A" --> <div class="left-border">GGGGGGG</div>
+
+<!-- The 2nd left-most line of "A" --> <div>&nbsp;&nbsp; H &nbsp;J</div>
+
+<!-- The 3rd left-most line of "A" --> <div>&nbsp;&nbsp; K &nbsp;L</div>
+
+<!-- The 4th left-most line of "A" --> <div>MMMMMMM</div>
+
+
+
+<!-- The 1st left-most line of left-most "S" --> <div class="left-border">N&nbsp; QQQQ</div>
+
+<!-- The 2nd left-most line of left-most "S" --> <div>R&nbsp; S&nbsp; T</div>
+
+<!-- The 3rd left-most line of left-most "S" --> <div>U&nbsp; V&nbsp; W</div>
+
+<!-- The 4th left-most line of left-most "S" --> <div>XXXX &nbsp;Y</div>
+
+
+
+<!-- The left-most line of right-most "S" --> <div class="left-border">a&nbsp; bbbb</div>
+
+<!-- The 2nd left-most line of right-most "S" --> <div>c&nbsp; d&nbsp; e</div>
+
+<!-- The 3rd left-most line of right-most "S" --> <div>f&nbsp; g&nbsp; h</div>
+
+<!-- The 4th left-most line of right-most "S" --> <div id="right-border">jjjj &nbsp;k</div>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/block-flow-direction-slr-047.xht
@@ -0,0 +1,95 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Writing Modes Test: 'float: right' and 'sideways-lr' - block flow direction of block-level boxes</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+  <link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#writing-mode" title="3.1 Block Flow Direction: the writing-mode property" />
+  <link rel="match" href="block-flow-direction-002-ref.xht" />
+
+  <meta content="ahem" name="flags" />
+  <meta content="This test checks that a right-floated box with its 'writing-mode' set to 'sideways-lr' establishes a block formating context with a left-to-right block flow direction." name="assert" />
+
+<style type="text/css"><![CDATA[
+@font-face {
+  font-family: Ahem;
+  src: url("../../../fonts/Ahem.ttf");
+}
+]]></style>
+  <style type="text/css"><![CDATA[
+  body
+    {
+      color: yellow;
+      font: 20px/1 Ahem;
+    }
+
+  div#floated-right
+    {
+      background-color: blue;
+      border-bottom: blue solid 1em;
+      border-top: blue solid 1em;
+      float: right;
+      writing-mode: sideways-lr;
+    }
+
+  div.left-border
+    {
+      border-left: blue solid 1em;
+    }
+
+  div#right-border
+    {
+      border-right: blue solid 1em;
+    }
+  ]]></style>
+ </head>
+
+ <body>
+
+  <div id="floated-right">
+
+<!-- The 1st left-most line of "P" --> <div class="left-border">AAAAAAA</div>
+
+<!-- The 2nd left-most line of "P" --> <div>&nbsp;&nbsp; B &nbsp;C</div>
+
+<!-- The 3rd left-most line of "P" --> <div>&nbsp;&nbsp; D &nbsp;E</div>
+
+<!-- The 4th left-most line of "P" --> <div>&nbsp;&nbsp; FFFF</div>
+
+
+
+<!-- The left-most line of "A" --> <div class="left-border">GGGGGGG</div>
+
+<!-- The 2nd left-most line of "A" --> <div>&nbsp;&nbsp; H &nbsp;J</div>
+
+<!-- The 3rd left-most line of "A" --> <div>&nbsp;&nbsp; K &nbsp;L</div>
+
+<!-- The 4th left-most line of "A" --> <div>MMMMMMM</div>
+
+
+
+<!-- The 1st left-most line of left-most "S" --> <div class="left-border">N&nbsp; QQQQ</div>
+
+<!-- The 2nd left-most line of left-most "S" --> <div>R&nbsp; S&nbsp; T</div>
+
+<!-- The 3rd left-most line of left-most "S" --> <div>U&nbsp; V&nbsp; W</div>
+
+<!-- The 4th left-most line of left-most "S" --> <div>XXXX &nbsp;Y</div>
+
+
+
+<!-- The left-most line of right-most "S" --> <div class="left-border">a&nbsp; bbbb</div>
+
+<!-- The 2nd left-most line of right-most "S" --> <div>c&nbsp; d&nbsp; e</div>
+
+<!-- The 3rd left-most line of right-most "S" --> <div>f&nbsp; g&nbsp; h</div>
+
+<!-- The 4th left-most line of right-most "S" --> <div id="right-border">jjjj &nbsp;k</div>
+
+  </div>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/block-flow-direction-slr-048.xht
@@ -0,0 +1,97 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Writing Modes Test: 'float: right' and 'sideways-lr' - block flow direction of block-level boxes</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+  <link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#writing-mode" title="3.1 Block Flow Direction: the writing-mode property" />
+  <link rel="match" href="block-flow-direction-002-ref.xht" />
+
+  <meta content="ahem" name="flags" />
+  <meta content="This test checks that right-floated boxes with 'writing-mode' set to 'sideways-lr' establish block formating contexts with a left-to-right block flow direction." name="assert" />
+
+<style type="text/css"><![CDATA[
+@font-face {
+  font-family: Ahem;
+  src: url("../../../fonts/Ahem.ttf");
+}
+]]></style>
+  <style type="text/css"><![CDATA[
+  body
+    {
+      color: yellow;
+      font: 20px/1 Ahem;
+    }
+
+  div.floated-right
+    {
+      background-color: blue;
+      border-bottom: blue solid 1em;
+      border-right: blue solid 1em;
+      border-top: blue solid 1em;
+      float: right;
+      writing-mode: sideways-lr;
+    }
+
+  div#left-border
+    {
+      border-left: blue solid 1em;
+    }
+  ]]></style>
+ </head>
+
+ <body>
+
+  <div class="floated-right">
+
+<!-- The left-most line of right-most "S" --> <div>a &nbsp;bbbb</div>
+
+<!-- The 2nd left-most line of right-most "S" --> <div>c&nbsp; d&nbsp; e</div>
+
+<!-- The 3rd left-most line of right-most "S" --> <div>f&nbsp; g&nbsp; h</div>
+
+<!-- The 4th left-most line of right-most "S" --> <div>jjjj &nbsp;k</div>
+
+  </div>
+
+  <div class="floated-right">
+
+<!-- The 1st left-most line of left-most "S" --> <div>N &nbsp;QQQQ</div>
+
+<!-- The 2nd left-most line of left-most "S" --> <div>R&nbsp; S&nbsp; T</div>
+
+<!-- The 3rd left-most line of left-most "S" --> <div>U&nbsp; V&nbsp; W</div>
+
+<!-- The 4th left-most line of left-most "S" --> <div>XXXX &nbsp;Y</div>
+
+  </div>
+
+  <div class="floated-right">
+
+<!-- The left-most line of "A" --> <div>GGGGGGG</div>
+
+<!-- The 2nd left-most line of "A" --> <div>&nbsp;&nbsp; H &nbsp;J</div>
+
+<!-- The 3rd left-most line of "A" --> <div>&nbsp;&nbsp; K &nbsp;L</div>
+
+<!-- The 4th left-most line of "A" --> <div>MMMMMMM</div>
+
+  </div>
+
+  <div class="floated-right" id="left-border">
+
+<!-- The 1st left-most line of "P" --> <div>AAAAAAA</div>
+
+<!-- The 2nd left-most line of "P" --> <div>&nbsp;&nbsp; B &nbsp;C</div>
+
+<!-- The 3rd left-most line of "P" --> <div>&nbsp;&nbsp; D &nbsp;E</div>
+
+<!-- The 4th left-most line of "P" --> <div>&nbsp;&nbsp; FFFF</div>
+
+  </div>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/block-flow-direction-slr-050.xht
@@ -0,0 +1,101 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Writing Modes Test: position absolute and 'sideways-lr' - block flow direction of block-level boxes</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+  <link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#writing-mode" title="3.1 Block Flow Direction: the writing-mode property" />
+  <link rel="match" href="block-flow-direction-001-ref.xht" />
+
+  <meta content="ahem" name="flags" />
+  <meta content="This test checks that an absolutely positioned box with its 'writing-mode' set to 'sideways-lr' establishes a block formating context with a left-to-right block flow direction." name="assert" />
+
+<style type="text/css"><![CDATA[
+@font-face {
+  font-family: Ahem;
+  src: url("../../../fonts/Ahem.ttf");
+}
+]]></style>
+  <style type="text/css"><![CDATA[
+  body
+    {
+      color: yellow;
+      font: 20px/1 Ahem;
+    }
+
+  div#abs-pos
+    {
+      height: 9em;
+      left: auto;
+      position: absolute;
+      writing-mode: sideways-lr;
+    }
+
+  div#abs-pos > div
+    {
+      background-color: blue;
+      border-bottom: blue solid 1em;
+      border-top: blue solid 1em;
+    }
+
+  div.left-border
+    {
+      border-left: blue solid 1em;
+    }
+
+  div#right-border
+    {
+      border-right: blue solid 1em;
+    }
+  ]]></style>
+ </head>
+
+ <body>
+
+  <div id="abs-pos">
+
+<!-- The 1st left-most line of "P" --> <div class="left-border">AAAAAAA</div>
+
+<!-- The 2nd left-most line of "P" --> <div>&nbsp;&nbsp; B &nbsp;C</div>
+
+<!-- The 3rd left-most line of "P" --> <div>&nbsp;&nbsp; D &nbsp;E</div>
+
+<!-- The 4th left-most line of "P" --> <div>&nbsp;&nbsp; FFFF</div>
+
+
+
+<!-- The left-most line of "A" --> <div class="left-border">GGGGGGG</div>
+
+<!-- The 2nd left-most line of "A" --> <div>&nbsp;&nbsp; H &nbsp;J</div>
+
+<!-- The 3rd left-most line of "A" --> <div>&nbsp;&nbsp; K &nbsp;L</div>
+
+<!-- The 4th left-most line of "A" --> <div>MMMMMMM</div>
+
+
+
+<!-- The 1st left-most line of left-most "S" --> <div class="left-border">N&nbsp; QQQQ</div>
+
+<!-- The 2nd left-most line of left-most "S" --> <div>R&nbsp; S&nbsp; T</div>
+
+<!-- The 3rd left-most line of left-most "S" --> <div>U&nbsp; V&nbsp; W</div>
+
+<!-- The 4th left-most line of left-most "S" --> <div>XXXX &nbsp;Y</div>
+
+
+
+<!-- The left-most line of right-most "S" --> <div class="left-border">a&nbsp; bbbb</div>
+
+<!-- The 2nd left-most line of right-most "S" --> <div>c&nbsp; d&nbsp; e</div>
+
+<!-- The 3rd left-most line of right-most "S" --> <div>f&nbsp; g&nbsp; h</div>
+
+<!-- The 4th left-most line of right-most "S" --> <div id="right-border">jjjj &nbsp;k</div>
+
+  </div>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/block-flow-direction-slr-054.xht
@@ -0,0 +1,111 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Writing Modes Test: inline-block and 'sideways-lr' - block flow direction of block-level boxes</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+  <link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#writing-mode" title="3.1 Block Flow Direction: the writing-mode property" />
+  <link rel="match" href="block-flow-direction-001-ref.xht" />
+
+  <meta content="ahem" name="flags" />
+  <meta content="This test checks that an inline-block with its 'writing-mode' set to 'sideways-lr' establishes a block formating context with a left-to-right block flow direction." name="assert" />
+
+<style type="text/css"><![CDATA[
+@font-face {
+  font-family: Ahem;
+  src: url("../../../fonts/Ahem.ttf");
+}
+]]></style>
+  <style type="text/css"><![CDATA[
+  body
+    {
+      color: yellow;
+      font: 20px/1 Ahem;
+    }
+
+  div#inline-block
+    {
+      background-color: blue;
+      border-bottom: blue solid 1em;
+      display: inline-block;
+      height: 8em;
+      vertical-align: top;
+  /*
+  Why 'vertical-align: top' ?
+  See
+  http://lists.w3.org/Archives/Public/public-css-testsuite/2014Dec/0013.html
+  for explanations
+  */
+      writing-mode: sideways-lr;
+    }
+
+  span
+    {
+      display: block;
+    }
+
+  span.left-border
+    {
+      border-left: blue solid 1em;
+    }
+
+  span#right-border
+    {
+    border-right: blue solid 1em;
+    }
+  ]]></style>
+ </head>
+
+ <body>
+
+  <div>
+
+    <div id="inline-block">
+
+<!-- The 1st left-most line of "P" --> <span class="left-border">AAAAAAA</span>
+
+<!-- The 2nd left-most line of "P" --> <span>&nbsp;&nbsp; B &nbsp;C</span>
+
+<!-- The 3rd left-most line of "P" --> <span>&nbsp;&nbsp; D &nbsp;E</span>
+
+<!-- The 4th left-most line of "P" --> <span>&nbsp;&nbsp; FFFF</span>
+
+
+
+<!-- The left-most line of "A" --> <span class="left-border">GGGGGGG</span>
+
+<!-- The 2nd left-most line of "A" --> <span>&nbsp;&nbsp; H &nbsp;J</span>
+
+<!-- The 3rd left-most line of "A" --> <span>&nbsp;&nbsp; K &nbsp;L</span>
+
+<!-- The 4th left-most line of "A" --> <span>MMMMMMM</span>
+
+
+
+<!-- The 1st left-most line of left-most "S" --> <span class="left-border">N&nbsp; QQQQ</span>
+
+<!-- The 2nd left-most line of left-most "S" --> <span>R&nbsp; S&nbsp; T</span>
+
+<!-- The 3rd left-most line of left-most "S" --> <span>U&nbsp; V&nbsp; W</span>
+
+<!-- The 4th left-most line of left-most "S" --> <span>XXXX &nbsp;Y</span>
+
+
+
+<!-- The left-most line of right-most "S" --> <span class="left-border">a&nbsp; bbbb</span>
+
+<!-- The 2nd left-most line of right-most "S" --> <span>c&nbsp; d&nbsp; e</span>
+
+<!-- The 3rd left-most line of right-most "S" --> <span>f&nbsp; g&nbsp; h</span>
+
+<!-- The 4th left-most line of right-most "S" --> <span id="right-border">jjjj &nbsp;k</span>
+
+    </div>
+
+  </div>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/block-flow-direction-slr-055.xht
@@ -0,0 +1,71 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Writing Modes Test: inline-block and 'sideways-lr' - block flow direction of block-level boxes</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+  <link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#writing-mode" title="3.1 Block Flow Direction: the writing-mode property" />
+  <link rel="match" href="block-flow-direction-001-ref.xht" />
+
+  <meta content="ahem" name="flags" />
+  <meta content="This test checks that an inline-block with its 'writing-mode' set to 'sideways-lr'
+ establishes a block formating context with a left-to-right block flow direction." name="assert" />
+
+<style type="text/css"><![CDATA[
+@font-face {
+  font-family: Ahem;
+  src: url("../../../fonts/Ahem.ttf");
+}
+]]></style>
+  <style type="text/css"><![CDATA[
+  body
+    {
+      color: yellow;
+      font: 20px/1 Ahem;
+    }
+
+  div#inline-block
+    {
+      background-color: blue;
+      border-bottom: blue solid 1em;
+      display: inline-block;
+      height: 8em;
+      writing-mode: sideways-lr;
+    }
+
+  span
+    {
+      border-left: blue solid 1em;
+      display: block;
+    }
+
+  span#right-border
+    {
+      border-right: blue solid 1em;
+    }
+  ]]></style>
+ </head>
+
+ <body>
+
+  <div>
+
+    <div id="inline-block">
+
+<!-- The "P" --> <span>AAAAAAA &nbsp;&nbsp; B &nbsp;C &nbsp;&nbsp; D &nbsp;E &nbsp;&nbsp; FFFF</span>
+
+<!-- The "A" --> <span>GGGGGGG &nbsp;&nbsp; H &nbsp;J &nbsp;&nbsp; K &nbsp;L MMMMMMM</span>
+
+<!-- The left-most "S" --> <span>N&nbsp; QQQQ R&nbsp; S&nbsp; T U&nbsp; V&nbsp; W XXXX &nbsp;Y</span>
+
+<!-- The right-most "S" --> <span id="right-border">a&nbsp; bbbb c&nbsp; d&nbsp; e f&nbsp; g&nbsp; h jjjj &nbsp;k</span>
+
+    </div>
+
+  </div>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/block-flow-direction-slr-056.xht
@@ -0,0 +1,107 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Writing Modes Test: inline-block and 'sideways-lr' - block flow direction of block-level boxes</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+  <link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#writing-mode" title="3.1 Block Flow Direction: the writing-mode property" />
+  <link rel="match" href="block-flow-direction-001-ref.xht" />
+
+  <meta content="ahem" name="flags" />
+  <meta content="This test checks that an inline-block with its 'writing-mode' set to 'sideways-lr' establishes a block formating context with a left-to-right block flow direction." name="assert" />
+
+<style type="text/css"><![CDATA[
+@font-face {
+  font-family: Ahem;
+  src: url("../../../fonts/Ahem.ttf");
+}
+]]></style>
+  <style type="text/css"><![CDATA[
+  body
+    {
+      color: yellow;
+      font: 20px/1 Ahem;
+    }
+
+  div.inline-block
+    {
+      background-color: blue;
+      border-bottom: blue solid 1em;
+      border-left: blue solid 1em;
+      display: inline-block;
+      height: 8em;
+      vertical-align: top;
+  /*
+  Why 'vertical-align: top' ?
+  See
+  http://lists.w3.org/Archives/Public/public-css-testsuite/2014Dec/0013.html
+  for explanations
+  */
+      writing-mode: sideways-lr;
+    }
+
+  span
+    {
+      display: block;
+    }
+
+  span#right-border
+    {
+      border-right: blue solid 1em;
+    }
+  ]]></style>
+ </head>
+
+ <body>
+
+  <div>
+
+    <div class="inline-block">
+
+<!-- The 1st left-most line of "P" --> <span>AAAAAAA</span>
+
+<!-- The 2nd left-most line of "P" --> <span>&nbsp;&nbsp; B &nbsp;C</span>
+
+<!-- The 3rd left-most line of "P" --> <span>&nbsp;&nbsp; D &nbsp;E</span>
+
+<!-- The 4th left-most line of "P" --> <span>&nbsp;&nbsp; FFFF</span>
+
+    </div><div class="inline-block">
+
+<!-- The left-most line of "A" --> <span>GGGGGGG</span>
+
+<!-- The 2nd left-most line of "A" --> <span>&nbsp;&nbsp; H &nbsp;J</span>
+
+<!-- The 3rd left-most line of "A" --> <span>&nbsp;&nbsp; K &nbsp;L</span>
+
+<!-- The 4th left-most line of "A" --> <span>MMMMMMM</span>
+
+    </div><div class="inline-block">
+
+<!-- The 1st left-most line of left-most "S" --> <span>N&nbsp; QQQQ</span>
+
+<!-- The 2nd left-most line of left-most "S" --> <span>R&nbsp; S&nbsp; T</span>
+
+<!-- The 3rd left-most line of left-most "S" --> <span>U&nbsp; V&nbsp; W</span>
+
+<!-- The 4th left-most line of left-most "S" --> <span>XXXX &nbsp;Y</span>
+
+    </div><div class="inline-block">
+
+<!-- The left-most line of right-most "S" --> <span>a&nbsp; bbbb</span>
+
+<!-- The 2nd left-most line of right-most "S" --> <span>c&nbsp; d&nbsp; e</span>
+
+<!-- The 3rd left-most line of right-most "S" --> <span>f&nbsp; g&nbsp; h</span>
+
+<!-- The 4th left-most line of right-most "S" --> <span id="right-border">jjjj &nbsp;k</span>
+
+    </div>
+
+  </div>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/block-flow-direction-slr-058.xht
@@ -0,0 +1,99 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Writing Modes Test: table-cell and 'sideways-lr' - block flow direction of block-level boxes</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+  <link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#writing-mode" title="3.1 Block Flow Direction: the writing-mode property" />
+  <link rel="match" href="block-flow-direction-001-ref.xht" />
+
+  <meta content="ahem" name="flags" />
+  <meta content="This test checks that a table-cell with its 'writing-mode' set to 'sideways-lr' establishes a block formating context with a left-to-right block flow direction." name="assert" />
+
+<style type="text/css"><![CDATA[
+@font-face {
+  font-family: Ahem;
+  src: url("../../../fonts/Ahem.ttf");
+}
+]]></style>
+  <style type="text/css"><![CDATA[
+  body
+    {
+      color: yellow;
+      font: 20px/1 Ahem;
+    }
+
+  div#table-cell
+    {
+      display: table-cell;
+      height: 9em;
+      writing-mode: sideways-lr;
+    }
+
+  div#table-cell > div
+    {
+      background-color: blue;
+      border-bottom: blue solid 1em;
+      border-top: blue solid 1em;
+    }
+
+  div.left-border
+    {
+      border-left: blue solid 1em;
+    }
+
+  div#right-border
+    {
+      border-right: blue solid 1em;
+    }
+  ]]></style>
+ </head>
+
+ <body>
+
+  <div id="table-cell">
+
+<!-- The 1st left-most line of "P" --> <div class="left-border">AAAAAAA</div>
+
+<!-- The 2nd left-most line of "P" --> <div>&nbsp;&nbsp; B &nbsp;C</div>
+
+<!-- The 3rd left-most line of "P" --> <div>&nbsp;&nbsp; D &nbsp;E</div>
+
+<!-- The 4th left-most line of "P" --> <div>&nbsp;&nbsp; FFFF</div>
+
+
+<!-- The left-most line of "A" --> <div class="left-border">GGGGGGG</div>
+
+<!-- The 2nd left-most line of "A" --> <div>&nbsp;&nbsp; H &nbsp;J</div>
+
+<!-- The 3rd left-most line of "A" --> <div>&nbsp;&nbsp; K &nbsp;L</div>
+
+<!-- The 4th left-most line of "A" --> <div>MMMMMMM</div>
+
+
+
+<!-- The 1st left-most line of left-most "S" --> <div class="left-border">N&nbsp; QQQQ</div>
+
+<!-- The 2nd left-most line of left-most "S" --> <div>R&nbsp; S&nbsp; T</div>
+
+<!-- The 3rd left-most line of left-most "S" --> <div>U&nbsp; V&nbsp; W</div>
+
+<!-- The 4th left-most line of left-most "S" --> <div>XXXX &nbsp;Y</div>
+
+
+
+<!-- The left-most line of right-most "S" --> <div class="left-border">a&nbsp; bbbb</div>
+
+<!-- The 2nd left-most line of right-most "S" --> <div>c&nbsp; d&nbsp; e</div>
+
+<!-- The 3rd left-most line of right-most "S" --> <div>f&nbsp; g&nbsp; h</div>
+
+<!-- The 4th left-most line of right-most "S" --> <div id="right-border">jjjj &nbsp;k</div>
+
+  </div>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/block-flow-direction-slr-060.xht
@@ -0,0 +1,99 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Writing Modes Test: table-caption and 'sideways-lr' - block flow direction of block-level boxes</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+  <link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#writing-mode" title="3.1 Block Flow Direction: the writing-mode property" />
+  <link rel="match" href="block-flow-direction-001-ref.xht" />
+
+  <meta content="ahem" name="flags" />
+  <meta content="This test checks that a table-caption with its 'writing-mode' set to 'sideways-lr' establishes a block formating context with a left-to-right block flow direction." name="assert" />
+
+<style type="text/css"><![CDATA[
+@font-face {
+  font-family: Ahem;
+  src: url("../../../fonts/Ahem.ttf");
+}
+]]></style>
+  <style type="text/css"><![CDATA[
+  body
+    {
+      color: yellow;
+      font: 20px/1 Ahem;
+    }
+
+  div#table-caption
+    {
+      display: table-caption;
+      height: 9em;
+      writing-mode: sideways-lr;
+    }
+
+  div#table-caption > div
+    {
+      background-color: blue;
+      border-bottom: blue solid 1em;
+      border-top: blue solid 1em;
+    }
+
+  div.left-border
+    {
+      border-left: blue solid 1em;
+    }
+
+  div#right-border
+    {
+      border-right: blue solid 1em;
+    }
+  ]]></style>
+ </head>
+
+ <body>
+
+  <div id="table-caption">
+
+<!-- The 1st left-most line of "P" --> <div class="left-border">AAAAAAA</div>
+
+<!-- The 2nd left-most line of "P" --> <div>&nbsp;&nbsp; B &nbsp;C</div>
+
+<!-- The 3rd left-most line of "P" --> <div>&nbsp;&nbsp; D &nbsp;E</div>
+
+<!-- The 4th left-most line of "P" --> <div>&nbsp;&nbsp; FFFF</div>
+
+
+<!-- The left-most line of "A" --> <div class="left-border">GGGGGGG</div>
+
+<!-- The 2nd left-most line of "A" --> <div>&nbsp;&nbsp; H &nbsp;J</div>
+
+<!-- The 3rd left-most line of "A" --> <div>&nbsp;&nbsp; K &nbsp;L</div>
+
+<!-- The 4th left-most line of "A" --> <div>MMMMMMM</div>
+
+
+
+<!-- The 1st left-most line of left-most "S" --> <div class="left-border">N&nbsp; QQQQ</div>
+
+<!-- The 2nd left-most line of left-most "S" --> <div>R&nbsp; S&nbsp; T</div>
+
+<!-- The 3rd left-most line of left-most "S" --> <div>U&nbsp; V&nbsp; W</div>
+
+<!-- The 4th left-most line of left-most "S" --> <div>XXXX &nbsp;Y</div>
+
+
+
+<!-- The left-most line of right-most "S" --> <div class="left-border">a&nbsp; bbbb</div>
+
+<!-- The 2nd left-most line of right-most "S" --> <div>c&nbsp; d&nbsp; e</div>
+
+<!-- The 3rd left-most line of right-most "S" --> <div>f&nbsp; g&nbsp; h</div>
+
+<!-- The 4th left-most line of right-most "S" --> <div id="right-border">jjjj &nbsp;k</div>
+
+  </div>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/block-flow-direction-slr-062.xht
@@ -0,0 +1,103 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Writing Modes Test: list and sideways-lr - block flow direction of block-level boxes</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+  <link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#writing-mode" title="3.1 Block Flow Direction: the writing-mode property" />
+  <link rel="match" href="block-flow-direction-043-ref.xht" />
+
+  <meta content="ahem image" name="flags" />
+  <meta content="This test checks that block-level boxes in a block formating context with 'writing-mode' set to 'sideways-lr' are laid out one after the other with the first beginning at the left-hand side of its containing block; they are ordered from left to right meaning that the 1st block box is the leftmost one and then the 2nd block is juxtaposed to the right-hand side of 1st block, the 3rd block is juxtaposed to the 2nd block on its right-hand side, etc... " name="assert" />
+
+<style type="text/css"><![CDATA[
+@font-face {
+  font-family: Ahem;
+  src: url("../../../fonts/Ahem.ttf");
+}
+]]></style>
+  <style type="text/css"><![CDATA[
+  html
+    {
+      writing-mode: sideways-lr;
+    }
+  /*
+  "
+  The principal writing mode of the document is determined by the writing-mode
+  and direction values specified on the root element.
+  "
+  */
+
+  body
+    {
+      color: yellow;
+      font: 20px/1 Ahem;
+      height: 9em;
+    }
+
+  ul
+    {
+      background-color: blue;
+      border-top: blue solid 1em;
+      list-style: none outside url("support/blue1x1.png");
+      margin: 0em;
+      padding-bottom: 1em; /* overriding default 40px in several browsers */
+    }
+
+  ul.left-border
+    {
+      border-left: blue solid 1em;
+    }
+
+  ul#right-border
+    {
+      border-right: blue solid 1em;
+    }
+  ]]></style>
+ </head>
+
+ <body>
+
+<!-- The 1st left-most line of "P" --> <ul class="left-border"><li>AAAAAAA</li></ul>
+
+<!-- The 2nd left-most line of "P" --> <ul><li>&nbsp;&nbsp; B &nbsp;C</li></ul>
+
+<!-- The 3rd left-most line of "P" --> <ul><li>&nbsp;&nbsp; D &nbsp;E</li></ul>
+
+<!-- The 4th left-most line of "P" --> <ul><li>&nbsp;&nbsp; FFFF</li></ul>
+
+
+
+<!-- The left-most line of "A" --> <ul class="left-border"><li>GGGGGGG</li></ul>
+
+<!-- The 2nd left-most line of "A" --> <ul><li>&nbsp;&nbsp; H &nbsp;J</li></ul>
+
+<!-- The 3rd left-most line of "A" --> <ul><li>&nbsp;&nbsp; K &nbsp;L</li></ul>
+
+<!-- The 4th left-most line of "A" --> <ul><li>MMMMMMM</li></ul>
+
+
+
+<!-- The 1st left-most line of left-most "S" --> <ul class="left-border"><li>N&nbsp; QQQQ</li></ul>
+
+<!-- The 2nd left-most line of left-most "S" --> <ul><li>R&nbsp; S&nbsp; T</li></ul>
+
+<!-- The 3rd left-most line of left-most "S" --> <ul><li>U&nbsp; V&nbsp; W</li></ul>
+
+<!-- The 4th left-most line of left-most "S" --> <ul><li>XXXX &nbsp;Y</li></ul>
+
+
+
+<!-- The left-most line of right-most "S" --> <ul class="left-border"><li>a&nbsp; bbbb</li></ul>
+
+<!-- The 2nd left-most line of right-most "S" --> <ul><li>c&nbsp; d&nbsp; e</li></ul>
+
+<!-- The 3rd left-most line of right-most "S" --> <ul><li>f&nbsp; g&nbsp; h</li></ul>
+
+<!-- The 4th left-most line of right-most "S" --> <ul id="right-border"><li>jjjj &nbsp;k</li></ul>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/block-flow-direction-slr-063.xht
@@ -0,0 +1,70 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Writing Modes Test: sideways-lr - block flow direction of block-level boxes</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+  <link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#writing-mode" title="3.1 Block Flow Direction: the writing-mode property" />
+  <link rel="match" href="block-flow-direction-043-ref.xht" />
+
+  <meta content="ahem" name="flags" />
+  <meta content="This test checks that block-level boxes in a block formating context with 'writing-mode' set to 'sideways-lr' are laid out one after the other with the first beginning at the left-hand side of its containing block; they are ordered from left to right meaning that the 1st block box is the leftmost one and, then the 2nd block is juxtaposed at the right-hand side of 1st block, then the 3rd block is juxtaposed at the 2nd block on its right-hand side, etc... " name="assert" />
+
+  <!--
+  This test is a variation of block-flow-direction-003 test.
+  -->
+
+<style type="text/css"><![CDATA[
+@font-face {
+  font-family: Ahem;
+  src: url("../../../fonts/Ahem.ttf");
+}
+]]></style>
+  <style type="text/css"><![CDATA[
+  html
+    {
+      writing-mode: sideways-lr;
+    }
+  /*
+  "
+  The principal writing mode of the document is determined by the writing-mode
+  and direction values specified on the root element.
+  "
+  */
+
+  body
+    {
+      color: yellow;
+      font: 20px/1 Ahem;
+      height: 9em;
+    }
+
+  div
+    {
+      background-color: blue;
+      border: blue solid 1em;
+      border-right: blue none 0em;
+    }
+
+  div#right-most
+    {
+      border-right: blue solid 1em;
+    }
+  ]]></style>
+ </head>
+
+ <body>
+
+<!-- The "P" --> <div>AAAAAAA &nbsp;&nbsp; B &nbsp;C &nbsp;&nbsp; D &nbsp;E &nbsp;&nbsp; FFFF</div>
+
+<!-- The "A" --> <div>GGGGGGG &nbsp;&nbsp; H &nbsp;J &nbsp;&nbsp; K &nbsp;L MMMMMMM</div>
+
+<!-- The left-most "S" --> <div>N&nbsp; QQQQ R&nbsp; S&nbsp; T U&nbsp; V&nbsp; W XXXX &nbsp;Y</div>
+
+<!-- The right-most "S" --> <div id="right-most">a&nbsp; bbbb c&nbsp; d&nbsp; e f&nbsp; g&nbsp; h jjjj &nbsp;k</div>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/block-flow-direction-slr-066.xht
@@ -0,0 +1,45 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Writing Modes Test: writing mode (sideways-lr) of document - horizontal position of first block</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+  <link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#writing-mode" title="3.1 Block Flow Direction: the writing-mode property" />
+  <link rel="help" href="http://www.w3.org/TR/2011/REC-CSS2-20110607/visuren.html#block-formatting" title="9.4.1 Block formatting contexts" />
+  <link rel="match" href="block-flow-direction-066-ref.xht" />
+
+  <meta content="image" name="flags" />
+  <meta content="This test checks that, when 'writing-mode' value of the root element is set to 'sideways-lr', then its block boxes are laid out rightwardedly (from left to right) one after the other beginning at its lefthand side. Also, the inline flow direction is 'topwardedly', that is inline boxes in the line box flow from the bottom toward the top; inline boxes are laid out vertically, one after the other, starting at the physical bottom side of its containing block." name="assert" />
+
+  <style type="text/css"><![CDATA[
+  html
+    {
+      writing-mode: sideways-lr;
+    }
+
+  div
+    {
+      background-color: blue;
+      height: 100px;
+      width: 100px;
+    }
+  ]]></style>
+ </head>
+
+ <body>
+
+  <div></div>
+
+  <p><img src="support/block-flow-direction-066-exp-res.png" width="358" height="36" alt="Image download support must be enabled" /></p>
+
+  <!--
+  The image says:
+  Test passes if there is a blue square in the
+  <strong>bottom-left corner</strong> of the page.
+  -->
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/block-flow-direction-srl-042.xht
@@ -0,0 +1,101 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Writing Modes Test: sideways-rl - block flow direction of block-level boxes</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+  <link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#writing-mode" title="3.1 Block Flow Direction: the writing-mode property" />
+  <link rel="match" href="block-flow-direction-002-ref.xht" />
+
+  <meta content="ahem" name="flags" />
+  <meta content="This test checks that block-level boxes in a block formating context with 'writing-mode' set to 'sideways-rl' are laid out one after the other with the first beginning at the right-hand side of its containing block; they are ordered from right to left meaning that the 1st block box is the rightmost one, then the 2nd block is juxtaposed at its left-hand side, then the 3rd block is juxtaposed at the 2nd block on its left-hand side, etc... " name="assert" />
+
+<style type="text/css"><![CDATA[
+@font-face {
+  font-family: Ahem;
+  src: url("../../../fonts/Ahem.ttf");
+}
+]]></style>
+  <style type="text/css"><![CDATA[
+  html
+    {
+      writing-mode: sideways-rl;
+    }
+  /*
+  "
+  The principal writing mode of the document is determined by the writing-mode
+  and direction values specified on the root element.
+  "
+  */
+
+  body
+    {
+      color: yellow;
+      font: 20px/1 Ahem;
+      height: 9em;
+    }
+
+  div
+    {
+      background-color: blue;
+      border-bottom: blue solid 1em;
+      border-top: blue solid 1em;
+    }
+
+  div.right-border
+    {
+      border-right: blue solid 1em;
+    }
+
+  div#left-border
+    {
+      border-left: blue solid 1em;
+    }
+  ]]></style>
+ </head>
+
+ <body>
+
+<!-- The right-most line of right-most "S" --> <div class="right-border">A&nbsp; BBBB</div>
+
+<!-- The 2nd right-most line of right-most "S" --> <div>C&nbsp; D&nbsp; E</div>
+
+<!-- The 3rd right-most line of right-most "S" --> <div>F&nbsp; G&nbsp; H</div>
+
+<!-- The 4th right-most line of right-most "S" --> <div>JJJJ&nbsp; K</div>
+
+
+
+<!-- The right-most line of left-most "S" --> <div class="right-border">L&nbsp; MMMM</div>
+
+<!-- The 2nd right-most line of left-most "S" --> <div>Q&nbsp; R&nbsp; S</div>
+
+<!-- The 3rd right-most line of left-most "S" --> <div>T&nbsp; U&nbsp; V</div>
+
+<!-- The 4th right-most line of left-most "S" --> <div>WWWW&nbsp; X</div>
+
+
+
+<!-- The right-most line of "A" --> <div class="right-border">YYYYYYY</div>
+
+<!-- The 2nd right-most line of "A" --> <div>Z&nbsp; a&nbsp;&nbsp; </div>
+
+<!-- The 3rd right-most line of "A" --> <div>b&nbsp; c&nbsp;&nbsp; </div>
+
+<!-- The 4th right-most line of "A" --> <div>ddddddd</div>
+
+
+
+<!-- The right-most line of "P" --> <div class="right-border">eeee&nbsp;&nbsp; </div>
+
+<!-- The 2nd right-most line of "P" --> <div>f&nbsp; g&nbsp;&nbsp; </div>
+
+<!-- The 3rd right-most line of "P" --> <div>h&nbsp; j&nbsp;&nbsp; </div>
+
+<!-- The 4th right-most line of "P" --> <div id="left-border">kkkkkkk</div>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/block-flow-direction-srl-045.xht
@@ -0,0 +1,95 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Writing Modes Test: 'float: left' and 'sideways-rl' - block flow direction of block-level boxes</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+  <link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#writing-mode" title="3.1 Block Flow Direction: the writing-mode property" />
+  <link rel="match" href="block-flow-direction-001-ref.xht" />
+
+  <meta content="ahem" name="flags" />
+  <meta content="This test checks that a left-floated box with its 'writing-mode' set to 'sideways-rl' establishes a block formating context with a right-to-left block flow direction." name="assert" />
+
+<style type="text/css"><![CDATA[
+@font-face {
+  font-family: Ahem;
+  src: url("../../../fonts/Ahem.ttf");
+}
+]]></style>
+  <style type="text/css"><![CDATA[
+  body
+    {
+      color: yellow;
+      font: 20px/1 Ahem;
+    }
+
+  div#floated-left
+    {
+      background-color: blue;
+      border-top: blue solid 1em;
+      float: left;
+      height: 8em;
+      writing-mode: sideways-rl;
+    }
+
+  div.right-border
+    {
+      border-right: blue solid 1em;
+    }
+
+  div#left-border
+    {
+      border-left: blue solid 1em;
+    }
+  ]]></style>
+ </head>
+
+ <body>
+
+  <div id="floated-left">
+
+<!-- The right-most line of right-most "S" --> <div class="right-border">A&nbsp; BBBB</div>
+
+<!-- The 2nd right-most line of right-most "S" --> <div>C&nbsp; D&nbsp; E</div>
+
+<!-- The 3rd right-most line of right-most "S" --> <div>F&nbsp; G&nbsp; H</div>
+
+<!-- The 4th right-most line of right-most "S" --> <div>JJJJ&nbsp; K</div>
+
+
+
+<!-- The right-most line of left-most "S" --> <div class="right-border">L&nbsp; MMMM</div>
+
+<!-- The 2nd right-most line of left-most "S" --> <div>Q&nbsp; R&nbsp; S</div>
+
+<!-- The 3rd right-most line of left-most "S" --> <div>T&nbsp; U&nbsp; V</div>
+
+<!-- The 4th right-most line of left-most "S" --> <div>WWWW&nbsp; X</div>
+
+
+
+<!-- The right-most line of "A" --> <div class="right-border">YYYYYYY</div>
+
+<!-- The 2nd right-most line of "A" --> <div>Z&nbsp; a&nbsp;&nbsp; </div>
+
+<!-- The 3rd right-most line of "A" --> <div>b&nbsp; c&nbsp;&nbsp; </div>
+
+<!-- The 4th right-most line of "A" --> <div>ddddddd</div>
+
+
+
+<!-- The right-most line of "P" --> <div class="right-border">eeee&nbsp;&nbsp; </div>
+
+<!-- The 2nd right-most line of "P" --> <div>f&nbsp; g&nbsp;&nbsp; </div>
+
+<!-- The 3rd right-most line of "P" --> <div>h&nbsp; j&nbsp;&nbsp; </div>
+
+<!-- The 4th right-most line of "P" --> <div id="left-border">kkkkkkk</div>
+
+  </div>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/block-flow-direction-srl-046.xht
@@ -0,0 +1,97 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Writing Modes Test: 'float: left' and 'sideways-rl' - block flow direction of block-level boxes</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+  <link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#writing-mode" title="3.1 Block Flow Direction: the writing-mode property" />
+  <link rel="match" href="block-flow-direction-001-ref.xht" />
+
+  <meta content="ahem" name="flags" />
+  <meta content="This test checks that left-floated boxes with 'writing-mode' set to 'sideways-rl' establish block formating contexts with a right-to-left block flow direction." name="assert" />
+
+<style type="text/css"><![CDATA[
+@font-face {
+  font-family: Ahem;
+  src: url("../../../fonts/Ahem.ttf");
+}
+]]></style>
+  <style type="text/css"><![CDATA[
+  body
+    {
+      color: yellow;
+      font: 20px/1 Ahem;
+    }
+
+  div.floated-left
+    {
+      background-color: blue;
+      border-bottom: blue solid 1em;
+      border-left: blue solid 1em;
+      border-top: blue solid 1em;
+      float: left;
+      writing-mode: sideways-rl;
+    }
+
+  div#right-border
+    {
+      border-right: blue solid 1em;
+    }
+  ]]></style>
+ </head>
+
+ <body>
+
+  <div class="floated-left">
+
+<!-- The right-most line of "P" --> <div>eeee&nbsp;&nbsp;</div>
+
+<!-- The 2nd right-most line of "P" --> <div>f&nbsp; g&nbsp;&nbsp;</div>
+
+<!-- The 3rd right-most line of "P" --> <div>h&nbsp; j&nbsp;&nbsp;</div>
+
+<!-- The 4th right-most line of "P" --> <div>kkkkkkk</div>
+
+  </div>
+
+  <div class="floated-left">
+
+<!-- The right-most line of "A" --> <div>YYYYYYY</div>
+
+<!-- The 2nd right-most line of "A" --> <div>Z&nbsp; a&nbsp;&nbsp;</div>
+
+<!-- The 3rd right-most line of "A" --> <div>b&nbsp; c&nbsp;&nbsp;</div>
+
+<!-- The 4th right-most line of "A" --> <div>ddddddd</div>
+
+  </div>
+
+  <div class="floated-left">
+
+<!-- The right-most line of left-most "S" --> <div>L&nbsp; MMMM</div>
+
+<!-- The 2nd right-most line of left-most "S" --> <div>Q&nbsp; R&nbsp; S</div>
+
+<!-- The 3rd right-most line of left-most "S" --> <div>T&nbsp; U&nbsp; V</div>
+
+<!-- The 4th right-most line of left-most "S" --> <div>WWWW&nbsp; X</div>
+
+  </div>
+
+  <div class="floated-left" id="right-border">
+
+<!-- The right-most line of right-most "S" --> <div>A&nbsp; BBBB</div>
+
+<!-- The 2nd right-most line of right-most "S" --> <div>C&nbsp; D&nbsp; E</div>
+
+<!-- The 3rd right-most line of right-most "S" --> <div>F&nbsp; G&nbsp; H</div>
+
+<!-- The 4th right-most line of right-most "S" --> <div>JJJJ&nbsp; K</div>
+
+  </div>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/block-flow-direction-srl-049.xht
@@ -0,0 +1,101 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Writing Modes Test: position absolute and 'sideways-rl' - block flow direction of block-level boxes</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+  <link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#writing-mode" title="3.1 Block Flow Direction: the writing-mode property" />
+  <link rel="match" href="block-flow-direction-001-ref.xht" />
+
+  <meta content="ahem" name="flags" />
+  <meta content="This test checks that an absolutely positioned box with its 'writing-mode' set to 'sideways-rl' establishes a block formating context with a right-to-left block flow direction." name="assert" />
+
+<style type="text/css"><![CDATA[
+@font-face {
+  font-family: Ahem;
+  src: url("../../../fonts/Ahem.ttf");
+}
+]]></style>
+  <style type="text/css"><![CDATA[
+  body
+    {
+      color: yellow;
+      font: 20px/1 Ahem;
+    }
+
+  div#abs-pos
+    {
+      height: 9em;
+      left: auto;
+      position: absolute;
+      writing-mode: sideways-rl;
+    }
+
+  div#abs-pos > div
+    {
+      background-color: blue;
+      border-bottom: blue solid 1em;
+      border-top: blue solid 1em;
+    }
+
+  div.right-border
+    {
+      border-right: blue solid 1em;
+    }
+
+  div#left-border
+    {
+      border-left: blue solid 1em;
+    }
+  ]]></style>
+ </head>
+
+ <body>
+
+  <div id="abs-pos">
+
+<!-- The right-most line of right-most "S" --> <div class="right-border">A&nbsp; BBBB</div>
+
+<!-- The 2nd right-most line of right-most "S" --> <div>C&nbsp; D&nbsp; E</div>
+
+<!-- The 3rd right-most line of right-most "S" --> <div>F&nbsp; G&nbsp; H</div>
+
+<!-- The 4th right-most line of right-most "S" --> <div>JJJJ&nbsp; K</div>
+
+
+
+<!-- The right-most line of left-most "S" --> <div class="right-border">L&nbsp; MMMM</div>
+
+<!-- The 2nd right-most line of left-most "S" --> <div>Q&nbsp; R&nbsp; S</div>
+
+<!-- The 3rd right-most line of left-most "S" --> <div>T&nbsp; U&nbsp; V</div>
+
+<!-- The 4th right-most line of left-most "S" --> <div>WWWW&nbsp; X</div>
+
+
+
+<!-- The right-most line of "A" --> <div class="right-border">YYYYYYY</div>
+
+<!-- The 2nd right-most line of "A" --> <div>Z&nbsp; a&nbsp;&nbsp; </div>
+
+<!-- The 3rd right-most line of "A" --> <div>b&nbsp; c&nbsp;&nbsp; </div>
+
+<!-- The 4th right-most line of "A" --> <div>ddddddd</div>
+
+
+
+<!-- The right-most line of "P" --> <div class="right-border">eeee&nbsp;&nbsp; </div>
+
+<!-- The 2nd right-most line of "P" --> <div>f&nbsp; g&nbsp;&nbsp; </div>
+
+<!-- The 3rd right-most line of "P" --> <div>h&nbsp; j&nbsp;&nbsp; </div>
+
+<!-- The 4th right-most line of "P" --> <div id="left-border">kkkkkkk</div>
+
+  </div>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/block-flow-direction-srl-051.xht
@@ -0,0 +1,111 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Writing Modes Test: inline-block and 'sideways-rl' - block flow direction of block-level boxes</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+  <link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#writing-mode" title="3.1 Block Flow Direction: the writing-mode property" />
+  <link rel="match" href="block-flow-direction-001-ref.xht" />
+
+  <meta content="ahem" name="flags" />
+  <meta content="This test checks that an inline-block with its 'writing-mode' set to 'sideways-rl' establishes a block formating context with a right-to-left block flow direction." name="assert" />
+
+<style type="text/css"><![CDATA[
+@font-face {
+  font-family: Ahem;
+  src: url("../../../fonts/Ahem.ttf");
+}
+]]></style>
+  <style type="text/css"><![CDATA[
+  body
+    {
+      color: yellow;
+      font: 20px/1 Ahem;
+    }
+
+  div#inline-block
+    {
+    background-color: blue;
+      border-top: blue solid 1em;
+      display: inline-block;
+      height: 8em;
+      vertical-align: top;
+  /*
+  Why 'vertical-align: top' ?
+  See
+  http://lists.w3.org/Archives/Public/public-css-testsuite/2014Dec/0013.html
+  for explanations
+  */
+      writing-mode: sideways-rl;
+    }
+
+  span
+    {
+      display: block;
+    }
+
+  span.right-border
+    {
+      border-right: blue solid 1em;
+    }
+
+  span#left-border
+    {
+      border-left: blue solid 1em;
+    }
+  ]]></style>
+ </head>
+
+ <body>
+
+  <div>
+
+    <div id="inline-block">
+
+<!-- The right-most line of right-most "S" --> <span class="right-border">A&nbsp; BBBB</span>
+
+<!-- The 2nd right-most line of right-most "S" --> <span>C&nbsp; D&nbsp; E</span>
+
+<!-- The 3rd right-most line of right-most "S" --> <span>F&nbsp; G&nbsp; H</span>
+
+<!-- The 4th right-most line of right-most "S" --> <span>JJJJ&nbsp; K</span>
+
+
+
+<!-- The right-most line of left-most "S" --> <span class="right-border">L&nbsp; MMMM</span>
+
+<!-- The 2nd right-most line of left-most "S" --> <span>Q&nbsp; R&nbsp; S</span>
+
+<!-- The 3rd right-most line of left-most "S" --> <span>T&nbsp; U&nbsp; V</span>
+
+<!-- The 4th right-most line of left-most "S" --> <span>WWWW&nbsp; X</span>
+
+
+
+<!-- The right-most line of "A" --> <span class="right-border">YYYYYYY</span>
+
+<!-- The 2nd right-most line of "A" --> <span>Z&nbsp; a&nbsp;&nbsp; </span>
+
+<!-- The 3rd right-most line of "A" --> <span>b&nbsp; c&nbsp;&nbsp; </span>
+
+<!-- The 4th right-most line of "A" --> <span>ddddddd</span>
+
+
+
+<!-- The right-most line of "P" --> <span class="right-border">eeee&nbsp;&nbsp; </span>
+
+<!-- The 2nd right-most line of "P" --> <span>f&nbsp; g&nbsp;&nbsp; </span>
+
+<!-- The 3rd right-most line of "P" --> <span>h&nbsp; j&nbsp;&nbsp; </span>
+
+<!-- The 4th right-most line of "P" --> <span id="left-border">kkkkkkk</span>
+
+    </div>
+
+  </div>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/block-flow-direction-srl-052.xht
@@ -0,0 +1,77 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Writing Modes Test: inline-block and 'sideways-rl' - block flow direction of block-level boxes</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+  <link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#writing-mode" title="3.1 Block Flow Direction: the writing-mode property" />
+  <link rel="match" href="block-flow-direction-001-ref.xht" />
+
+  <meta content="ahem" name="flags" />
+  <meta content="This test checks that an inline-block with its 'writing-mode' set to 'sideways-rl' establishes a block formating context with a right-to-left block flow direction." name="assert" />
+
+<style type="text/css"><![CDATA[
+@font-face {
+  font-family: Ahem;
+  src: url("../../../fonts/Ahem.ttf");
+}
+]]></style>
+  <style type="text/css"><![CDATA[
+  body
+    {
+      color: yellow;
+      font: 20px/1 Ahem;
+    }
+
+  div#inline-block
+    {
+      background-color: blue;
+      border-top: blue solid 1em;
+      display: inline-block;
+      height: 8em;
+      vertical-align: top;
+  /*
+  Why 'vertical-align: top' ?
+  See
+  http://lists.w3.org/Archives/Public/public-css-testsuite/2014Dec/0013.html
+  for explanations
+  */
+      writing-mode: sideways-rl;
+    }
+
+  span
+    {
+      border-right: blue solid 1em;
+      display: block;
+    }
+
+  span#left-border
+    {
+      border-left: blue solid 1em;
+    }
+  ]]></style>
+ </head>
+
+ <body>
+
+  <div>
+
+    <div id="inline-block">
+
+<!-- The right-most "S" --> <span>A&nbsp; BBBB C&nbsp; D&nbsp; E F&nbsp; G&nbsp; H JJJJ&nbsp; K</span>
+
+<!-- The left-most "S" --> <span>L&nbsp; MMMM Q&nbsp; R&nbsp; S T&nbsp; U&nbsp; V WWWW&nbsp; X</span>
+
+<!-- The "A" --> <span>YYYYYYY Z&nbsp; a&nbsp;&nbsp; b&nbsp; c&nbsp;&nbsp; ddddddd</span>
+
+<!-- The "P" --> <span id="left-border">eeee&nbsp;&nbsp; f&nbsp; g&nbsp;&nbsp; h&nbsp; j&nbsp;&nbsp; kkkkkkk</span>
+
+    </div>
+
+  </div>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/block-flow-direction-srl-053.xht
@@ -0,0 +1,107 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Writing Modes Test: inline-block and 'sideways-rl' - block flow direction of block-level boxes</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+  <link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#writing-mode" title="3.1 Block Flow Direction: the writing-mode property" />
+  <link rel="match" href="block-flow-direction-001-ref.xht" />
+
+  <meta content="ahem" name="flags" />
+  <meta content="This test checks that an inline-block with its 'writing-mode' set to 'sideways-rl' establishes a block formating context with a right-to-left block flow direction." name="assert" />
+
+<style type="text/css"><![CDATA[
+@font-face {
+  font-family: Ahem;
+  src: url("../../../fonts/Ahem.ttf");
+}
+]]></style>
+  <style type="text/css"><![CDATA[
+  body
+    {
+      color: yellow;
+      font: 20px/1 Ahem;
+    }
+
+  div.inline-block
+    {
+      background-color: blue;
+      border-right: blue solid 1em;
+      border-top: blue solid 1em;
+      display: inline-block;
+      height: 8em;
+      vertical-align: top;
+  /*
+  Why 'vertical-align: top' ?
+  See
+  http://lists.w3.org/Archives/Public/public-css-testsuite/2014Dec/0013.html
+  for explanations
+  */
+      writing-mode: sideways-rl;
+    }
+
+  span
+    {
+      display: block;
+    }
+
+  span#left-border
+    {
+      border-left: blue solid 1em;
+    }
+  ]]></style>
+ </head>
+
+ <body>
+
+  <div>
+
+    <div class="inline-block">
+
+<!-- The right-most line of "P" --> <span>eeee&nbsp;&nbsp; </span>
+
+<!-- The 2nd right-most line of "P" --> <span>f&nbsp; g&nbsp;&nbsp; </span>
+
+<!-- The 3rd right-most line of "P" --> <span>h&nbsp; j&nbsp;&nbsp; </span>
+
+<!-- The 4th right-most line of "P" --> <span id="left-border">kkkkkkk</span>
+
+    </div><div class="inline-block">
+
+<!-- The right-most line of "A" --> <span>YYYYYYY</span>
+
+<!-- The 2nd right-most line of "A" --> <span>Z&nbsp; a&nbsp;&nbsp; </span>
+
+<!-- The 3rd right-most line of "A" --> <span>b&nbsp; c&nbsp;&nbsp; </span>
+
+<!-- The 4th right-most line of "A" --> <span>ddddddd</span>
+
+    </div><div class="inline-block">
+
+<!-- The right-most line of left-most "S" --> <span>L&nbsp; MMMM</span>
+
+<!-- The 2nd right-most line of left-most "S" --> <span>Q&nbsp; R&nbsp; S</span>
+
+<!-- The 3rd right-most line of left-most "S" --> <span>T&nbsp; U&nbsp; V</span>
+
+<!-- The 4th right-most line of left-most "S" --> <span>WWWW&nbsp; X</span>
+
+    </div><div class="inline-block">
+
+<!-- The right-most line of right-most "S" --> <span>A&nbsp; BBBB</span>
+
+<!-- The 2nd right-most line of right-most "S" --> <span>C&nbsp; D&nbsp; E</span>
+
+<!-- The 3rd right-most line of right-most "S" --> <span>F&nbsp; G&nbsp; H</span>
+
+<!-- The 4th right-most line of right-most "S" --> <span>JJJJ&nbsp; K</span>
+
+    </div>
+
+  </div>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/block-flow-direction-srl-057.xht
@@ -0,0 +1,100 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Writing Modes Test: table-cell and 'sideways-rl' - block flow direction of block-level boxes</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+  <link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#writing-mode" title="3.1 Block Flow Direction: the writing-mode property" />
+  <link rel="match" href="block-flow-direction-001-ref.xht" />
+
+  <meta content="ahem" name="flags" />
+  <meta content="This test checks that a table-cell with its 'writing-mode' set to 'sideways-rl' establishes a block formating context with a right-to-left block flow direction." name="assert" />
+
+<style type="text/css"><![CDATA[
+@font-face {
+  font-family: Ahem;
+  src: url("../../../fonts/Ahem.ttf");
+}
+]]></style>
+  <style type="text/css"><![CDATA[
+  body
+    {
+      color: yellow;
+      font: 20px/1 Ahem;
+    }
+
+  div#table-cell
+    {
+      display: table-cell;
+      height: 9em;
+      writing-mode: sideways-rl;
+    }
+
+  div#table-cell > div
+    {
+      background-color: blue;
+      border-bottom: blue solid 1em;
+      border-top: blue solid 1em;
+    }
+
+  div.right-border
+    {
+      border-right: blue solid 1em;
+    }
+
+  div#left-border
+    {
+      border-left: blue solid 1em;
+    }
+  ]]></style>
+ </head>
+
+ <body>
+
+  <div id="table-cell">
+
+<!-- The right-most line of right-most "S" --> <div class="right-border">A&nbsp; BBBB</div>
+
+<!-- The 2nd right-most line of right-most "S" --> <div>C&nbsp; D&nbsp; E</div>
+
+<!-- The 3rd right-most line of right-most "S" --> <div>F&nbsp; G&nbsp; H</div>
+
+<!-- The 4th right-most line of right-most "S" --> <div>JJJJ&nbsp; K</div>
+
+
+
+<!-- The right-most line of left-most "S" --> <div class="right-border">L&nbsp; MMMM</div>
+
+<!-- The 2nd right-most line of left-most "S" --> <div>Q&nbsp; R&nbsp; S</div>
+
+<!-- The 3rd right-most line of left-most "S" --> <div>T&nbsp; U&nbsp; V</div>
+
+<!-- The 4th right-most line of left-most "S" --> <div>WWWW&nbsp; X</div>
+
+
+
+<!-- The right-most line of "A" --> <div class="right-border">YYYYYYY</div>
+
+<!-- The 2nd right-most line of "A" --> <div>Z&nbsp; a&nbsp;&nbsp; </div>
+
+<!-- The 3rd right-most line of "A" --> <div>b&nbsp; c&nbsp;&nbsp; </div>
+
+<!-- The 4th right-most line of "A" --> <div>ddddddd</div>
+
+
+
+<!-- The right-most line of "P" --> <div class="right-border">eeee&nbsp;&nbsp; </div>
+
+<!-- The 2nd right-most line of "P" --> <div>f&nbsp; g&nbsp;&nbsp; </div>
+
+<!-- The 3rd right-most line of "P" --> <div>h&nbsp; j&nbsp;&nbsp; </div>
+
+<!-- The 4th right-most line of "P" --> <div id="left-border">kkkkkkk</div>
+
+  </div>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/block-flow-direction-srl-059.xht
@@ -0,0 +1,100 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Writing Modes Test: table-caption and 'sideways-rl' - block flow direction of block-level boxes</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+  <link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#writing-mode" title="3.1 Block Flow Direction: the writing-mode property" />
+  <link rel="match" href="block-flow-direction-001-ref.xht" />
+
+  <meta content="ahem" name="flags" />
+  <meta content="This test checks that a table-caption with its 'writing-mode' set to 'sideways-rl' establishes a block formating context with a right-to-left block flow direction." name="assert" />
+
+<style type="text/css"><![CDATA[
+@font-face {
+  font-family: Ahem;
+  src: url("../../../fonts/Ahem.ttf");
+}
+]]></style>
+  <style type="text/css"><![CDATA[
+  body
+    {
+      color: yellow;
+      font: 20px/1 Ahem;
+    }
+
+  div#table-caption
+    {
+      display: table-caption;
+      height: 9em;
+      writing-mode: sideways-rl;
+    }
+
+  div#table-caption > div
+    {
+      background-color: blue;
+      border-bottom: blue solid 1em;
+      border-top: blue solid 1em;
+    }
+
+  div.right-border
+    {
+      border-right: blue solid 1em;
+    }
+
+  div#left-border
+    {
+      border-left: blue solid 1em;
+    }
+  ]]></style>
+ </head>
+
+ <body>
+
+  <div id="table-caption">
+
+<!-- The right-most line of right-most "S" --> <div class="right-border">A&nbsp; BBBB</div>
+
+<!-- The 2nd right-most line of right-most "S" --> <div>C&nbsp; D&nbsp; E</div>
+
+<!-- The 3rd right-most line of right-most "S" --> <div>F&nbsp; G&nbsp; H</div>
+
+<!-- The 4th right-most line of right-most "S" --> <div>JJJJ&nbsp; K</div>
+
+
+
+<!-- The right-most line of left-most "S" --> <div class="right-border">L&nbsp; MMMM</div>
+
+<!-- The 2nd right-most line of left-most "S" --> <div>Q&nbsp; R&nbsp; S</div>
+
+<!-- The 3rd right-most line of left-most "S" --> <div>T&nbsp; U&nbsp; V</div>
+
+<!-- The 4th right-most line of left-most "S" --> <div>WWWW&nbsp; X</div>
+
+
+
+<!-- The right-most line of "A" --> <div class="right-border">YYYYYYY</div>
+
+<!-- The 2nd right-most line of "A" --> <div>Z&nbsp; a&nbsp;&nbsp; </div>
+
+<!-- The 3rd right-most line of "A" --> <div>b&nbsp; c&nbsp;&nbsp; </div>
+
+<!-- The 4th right-most line of "A" --> <div>ddddddd</div>
+
+
+
+<!-- The right-most line of "P" --> <div class="right-border">eeee&nbsp;&nbsp; </div>
+
+<!-- The 2nd right-most line of "P" --> <div>f&nbsp; g&nbsp;&nbsp; </div>
+
+<!-- The 3rd right-most line of "P" --> <div>h&nbsp; j&nbsp;&nbsp; </div>
+
+<!-- The 4th right-most line of "P" --> <div id="left-border">kkkkkkk</div>
+
+  </div>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/block-flow-direction-srl-061.xht
@@ -0,0 +1,103 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Writing Modes Test: list and sideways-rl - block flow direction of block-level boxes</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+  <link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#writing-mode" title="3.1 Block Flow Direction: the writing-mode property" />
+  <link rel="match" href="block-flow-direction-002-ref.xht" />
+
+  <meta content="ahem image" name="flags" />
+  <meta content="This test checks that block-level boxes in a block formating context with 'writing-mode' set to 'sideways-rl' are laid out one after the other with the first beginning at the right-hand side of its containing block; they are ordered from right to left meaning that the 1st block box is the rightmost one and then the 2nd block is juxtaposed to its left-hand side, the 3rd block is juxtaposed to the 2nd block on its left-hand side, etc... " name="assert" />
+
+<style type="text/css"><![CDATA[
+@font-face {
+  font-family: Ahem;
+  src: url("../../../fonts/Ahem.ttf");
+}
+]]></style>
+  <style type="text/css"><![CDATA[
+  html
+    {
+      writing-mode: sideways-rl;
+    }
+  /*
+  "
+  The principal writing mode of the document is determined by the writing-mode
+  and direction values specified on the root element.
+  "
+  */
+
+  body
+    {
+      color: yellow;
+      font: 20px/1 Ahem;
+      height: 9em;
+    }
+
+  ul
+    {
+      background-color: blue;
+      border-bottom: blue solid 1em;
+      list-style: none outside url("support/blue1x1.png");
+      margin: 0em;
+      padding-top: 1em; /* overriding default padding-start: 40px in several browsers */
+    }
+
+  ul.right-border
+    {
+      border-right: blue solid 1em;
+    }
+
+  ul#left-border
+    {
+      border-left: blue solid 1em;
+    }
+  ]]></style>
+ </head>
+
+ <body>
+
+<!-- The right-most line of right-most "S" --> <ul class="right-border"><li>A&nbsp; BBBB</li></ul>
+
+<!-- The 2nd right-most line of right-most "S" --> <ul><li>C&nbsp; D&nbsp; E</li></ul>
+
+<!-- The 3rd right-most line of right-most "S" --> <ul><li>F&nbsp; G&nbsp; H</li></ul>
+
+<!-- The 4th right-most line of right-most "S" --> <ul><li>JJJJ&nbsp; K</li></ul>
+
+
+
+<!-- The right-most line of left-most "S" --> <ul class="right-border"><li>L&nbsp; MMMM</li></ul>
+
+<!-- The 2nd right-most line of left-most "S" --> <ul><li>Q&nbsp; R&nbsp; S</li></ul>
+
+<!-- The 3rd right-most line of left-most "S" --> <ul><li>T&nbsp; U&nbsp; V</li></ul>
+
+<!-- The 4th right-most line of left-most "S" --> <ul><li>WWWW&nbsp; X</li></ul>
+
+
+
+<!-- The right-most line of "A" --> <ul class="right-border"><li>YYYYYYY</li></ul>
+
+<!-- The 2nd right-most line of "A" --> <ul><li>Z&nbsp; a&nbsp;&nbsp; </li></ul>
+
+<!-- The 3rd right-most line of "A" --> <ul><li>b&nbsp; c&nbsp;&nbsp; </li></ul>
+
+<!-- The 4th right-most line of "A" --> <ul><li>ddddddd</li></ul>
+
+
+
+<!-- The right-most line of "P" --> <ul class="right-border"><li>eeee&nbsp;&nbsp; </li></ul>
+
+<!-- The 2nd right-most line of "P" --> <ul><li>f&nbsp; g&nbsp;&nbsp; </li></ul>
+
+<!-- The 3rd right-most line of "P" --> <ul><li>h&nbsp; j&nbsp;&nbsp; </li></ul>
+
+<!-- The 4th right-most line of "P" --> <ul id="left-border"><li>kkkkkkk</li></ul>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/block-flow-direction-srl-064.xht
@@ -0,0 +1,71 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Writing Modes Test: sideways-rl - block flow direction of block-level boxes</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+  <link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#writing-mode" title="3.1 Block Flow Direction: the writing-mode property" />
+  <link rel="match" href="block-flow-direction-002-ref.xht" />
+
+  <meta content="ahem" name="flags" />
+  <meta content="This test checks that block-level boxes in a block formating context with 'writing-mode' set to 'sideways-rl' are laid out one after the other with the first beginning at the right-hand side of its containing block; they are ordered from right to left meaning that the 1st block box is the rightmost one, then the 2nd block is juxtaposed at its left-hand side, then the 3rd block is juxtaposed at the 2nd block on its left-hand side, etc... " name="assert" />
+
+  <!--
+  This test is a variation of block-flow-direction-002 test.
+  -->
+
+<style type="text/css"><![CDATA[
+@font-face {
+  font-family: Ahem;
+  src: url("../../../fonts/Ahem.ttf");
+}
+]]></style>
+  <style type="text/css"><![CDATA[
+  html
+    {
+      writing-mode: sideways-rl;
+    }
+  /*
+  "
+  The principal writing mode of the document is determined by the writing-mode
+  and direction values specified on the root element.
+  "
+  */
+
+  body
+    {
+      color: yellow;
+      font: 20px/1 Ahem;
+      height: 9em;
+    }
+
+  div
+    {
+      background-color: blue;
+      border-bottom: blue solid 1em;
+      border-right: blue solid 1em;
+      border-top: blue solid 1em;
+    }
+
+  div#left-border
+    {
+      border-left: blue solid 1em;
+    }
+  ]]></style>
+ </head>
+
+ <body>
+
+<!-- The right-most "S" --> <div>A&nbsp; BBBB C&nbsp; D&nbsp; E F&nbsp; G&nbsp; H JJJJ&nbsp; K</div>
+
+<!-- The left-most "S" --> <div>L&nbsp; MMMM Q&nbsp; R&nbsp; S T&nbsp; U&nbsp; V WWWW&nbsp; X</div>
+
+<!-- The "A" --> <div>YYYYYYY Z&nbsp; a&nbsp;&nbsp; b&nbsp; c&nbsp;&nbsp; ddddddd</div>
+
+<!-- The "P" --> <div id="left-border">eeee&nbsp;&nbsp; f&nbsp; g&nbsp;&nbsp; h&nbsp; j&nbsp;&nbsp; kkkkkkk</div>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/block-flow-direction-srl-065.xht
@@ -0,0 +1,39 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Writing Modes Test: writing mode (sideways-rl) of document - horizontal position of first block</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+  <link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#writing-mode" title="3.1 Block Flow Direction: the writing-mode property" />
+  <link rel="help" href="http://www.w3.org/TR/2011/REC-CSS2-20110607/visuren.html#block-formatting" title="9.4.1 Block formatting contexts" />
+  <link rel="match" href="block-flow-direction-025-ref.xht" />
+
+  <meta content="image" name="flags" />
+  <meta content="This test checks that, when 'writing-mode' value of the root element is set to 'sideways-rl', then its block boxes are laid out leftwardedly (from right to left) one after the other beginning at its righthand side. Also, the inline flow direction is 'bottomwardedly', that is inline boxes in the line box flow from the top toward the bottom; inline boxes are laid out vertically, one after the other, starting at the physical top side of its containing block." name="assert" />
+
+  <style type="text/css"><![CDATA[
+  html
+    {
+      writing-mode: sideways-rl;
+    }
+
+  div
+    {
+      background-color: blue;
+      height: 100px;
+      width: 100px;
+    }
+  ]]></style>
+ </head>
+
+ <body>
+
+  <div></div>
+
+  <p><img src="support/block-flow-direction-025-exp-res.png" width="359" height="36" alt="Image download support must be enabled" /></p>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/block-flow-direction-vlr-003.xht
@@ -0,0 +1,101 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Writing Modes Test: vertical-lr - block flow direction of block-level boxes</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+  <link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#writing-mode" title="3.1 Block Flow Direction: the writing-mode property" />
+  <link rel="match" href="block-flow-direction-001-ref.xht" />
+
+  <meta content="ahem" name="flags" />
+  <meta content="This test checks that block-level boxes in a block formating context with 'writing-mode' set to 'vertical-lr' are laid out one after the other with the first beginning at the left-hand side of its containing block; they are ordered from left to right meaning that the 1st block box is the leftmost one and, then the 2nd block is juxtaposed at the right-hand side of 1st block, then the 3rd block is juxtaposed at the 2nd block on its right-hand side, etc... " name="assert" />
+
+<style type="text/css"><![CDATA[
+@font-face {
+  font-family: Ahem;
+  src: url("../../../fonts/Ahem.ttf");
+}
+]]></style>
+  <style type="text/css"><![CDATA[
+  html
+    {
+      writing-mode: vertical-lr;
+    }
+  /*
+  "
+  The principal writing mode of the document is determined by the writing-mode
+  and direction values specified on the root element.
+  "
+  */
+
+  body
+    {
+      color: yellow;
+      font: 20px/1 Ahem;
+      height: 9em;
+    }
+
+  div
+    {
+      background-color: blue;
+      border-bottom: blue solid 1em;
+      border-top: blue solid 1em;
+    }
+
+  div.left-border
+    {
+      border-left: blue solid 1em;
+    }
+
+  div#right-border
+    {
+      border-right: blue solid 1em;
+    }
+  ]]></style>
+ </head>
+
+ <body>
+
+<!-- The 1st left-most line of "P" --> <div class="left-border">AAAAAAA</div>
+
+<!-- The 2nd left-most line of "P" --> <div>B&nbsp; C&nbsp;&nbsp; </div>
+
+<!-- The 3rd left-most line of "P" --> <div>D&nbsp; E&nbsp;&nbsp; </div>
+
+<!-- The 4th left-most line of "P" --> <div>FFFF&nbsp;&nbsp; </div>
+
+
+
+<!-- The left-most line of "A" --> <div class="left-border">GGGGGGG</div>
+
+<!-- The 2nd left-most line of "A" --> <div>H&nbsp; J&nbsp;&nbsp; </div>
+
+<!-- The 3rd left-most line of "A" --> <div>K&nbsp; L&nbsp;&nbsp; </div>
+
+<!-- The 4th left-most line of "A" --> <div>MMMMMMM</div>
+
+
+
+<!-- The 1st left-most line of left-most "S" --> <div class="left-border">NNNN&nbsp; Q</div>
+
+<!-- The 2nd left-most line of left-most "S" --> <div>R&nbsp; S&nbsp; T</div>
+
+<!-- The 3rd left-most line of left-most "S" --> <div>U&nbsp; V&nbsp; W</div>
+
+<!-- The 4th left-most line of left-most "S" --> <div>X&nbsp; YYYY</div>
+
+
+
+<!-- The left-most line of right-most "S" --> <div class="left-border">aaaa&nbsp; b</div>
+
+<!-- The 2nd left-most line of right-most "S" --> <div>c&nbsp; d&nbsp; e</div>
+
+<!-- The 3rd left-most line of right-most "S" --> <div>f&nbsp; g&nbsp; h</div>
+
+<!-- The 4th left-most line of right-most "S" --> <div id="right-border">j&nbsp; kkkk</div>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/block-flow-direction-vlr-007.xht
@@ -0,0 +1,95 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Writing Modes Test: 'float: right' and 'vertical-lr' - block flow direction of block-level boxes</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+  <link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#writing-mode" title="3.1 Block Flow Direction: the writing-mode property" />
+  <link rel="match" href="block-flow-direction-002-ref.xht" />
+
+  <meta content="ahem" name="flags" />
+  <meta content="This test checks that a right-floated box with its 'writing-mode' set to 'vertical-lr' establishes a block formating context with a left-to-right block flow direction." name="assert" />
+
+<style type="text/css"><![CDATA[
+@font-face {
+  font-family: Ahem;
+  src: url("../../../fonts/Ahem.ttf");
+}
+]]></style>
+  <style type="text/css"><![CDATA[
+  body
+    {
+      color: yellow;
+      font: 20px/1 Ahem;
+    }
+
+  div#floated-right
+    {
+      background-color: blue;
+      border-bottom: blue solid 1em;
+      border-top: blue solid 1em;
+      float: right;
+      writing-mode: vertical-lr;
+    }
+
+  div.left-border
+    {
+      border-left: blue solid 1em;
+    }
+
+  div#right-border
+    {
+      border-right: blue solid 1em;
+    }
+  ]]></style>
+ </head>
+
+ <body>
+
+  <div id="floated-right">
+
+<!-- The 1st left-most line of "P" --> <div class="left-border">AAAAAAA</div>
+
+<!-- The 2nd left-most line of "P" --> <div>B&nbsp; C&nbsp;&nbsp; </div>
+
+<!-- The 3rd left-most line of "P" --> <div>D&nbsp; E&nbsp;&nbsp; </div>
+
+<!-- The 4th left-most line of "P" --> <div>FFFF&nbsp;&nbsp; </div>
+
+
+
+<!-- The left-most line of "A" --> <div class="left-border">GGGGGGG</div>
+
+<!-- The 2nd left-most line of "A" --> <div>H&nbsp; J&nbsp;&nbsp; </div>
+
+<!-- The 3rd left-most line of "A" --> <div>K&nbsp; L&nbsp;&nbsp; </div>
+
+<!-- The 4th left-most line of "A" --> <div>MMMMMMM</div>
+
+
+
+<!-- The 1st left-most line of left-most "S" --> <div class="left-border">NNNN&nbsp; Q</div>
+
+<!-- The 2nd left-most line of left-most "S" --> <div>R&nbsp; S&nbsp; T</div>
+
+<!-- The 3rd left-most line of left-most "S" --> <div>U&nbsp; V&nbsp; W</div>
+
+<!-- The 4th left-most line of left-most "S" --> <div>X&nbsp; YYYY</div>
+
+
+
+<!-- The left-most line of right-most "S" --> <div class="left-border">aaaa&nbsp; b</div>
+
+<!-- The 2nd left-most line of right-most "S" --> <div>c&nbsp; d&nbsp; e</div>
+
+<!-- The 3rd left-most line of right-most "S" --> <div>f&nbsp; g&nbsp; h</div>
+
+<!-- The 4th left-most line of right-most "S" --> <div id="right-border">j&nbsp; kkkk</div>
+
+  </div>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/block-flow-direction-vlr-008.xht
@@ -0,0 +1,97 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Writing Modes Test: 'float: right' and 'vertical-lr' - block flow direction of block-level boxes</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+  <link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#writing-mode" title="3.1 Block Flow Direction: the writing-mode property" />
+  <link rel="match" href="block-flow-direction-002-ref.xht" />
+
+  <meta content="ahem" name="flags" />
+  <meta content="This test checks that right-floated boxes with 'writing-mode' set to 'vertical-lr' establish block formating contexts with a left-to-right block flow direction." name="assert" />
+
+<style type="text/css"><![CDATA[
+@font-face {
+  font-family: Ahem;
+  src: url("../../../fonts/Ahem.ttf");
+}
+]]></style>
+  <style type="text/css"><![CDATA[
+  body
+    {
+      color: yellow;
+      font: 20px/1 Ahem;
+    }
+
+  div.floated-right
+    {
+      background-color: blue;
+      border-bottom: blue solid 1em;
+      border-right: blue solid 1em;
+      border-top: blue solid 1em;
+      float: right;
+      writing-mode: vertical-lr;
+    }
+
+  div#left-border
+    {
+      border-left: blue solid 1em;
+    }
+  ]]></style>
+ </head>
+
+ <body>
+
+  <div class="floated-right">
+
+<!-- The left-most line of right-most "S" --> <div>aaaa&nbsp; b</div>
+
+<!-- The 2nd left-most line of right-most "S" --> <div>c&nbsp; d&nbsp; e</div>
+
+<!-- The 3rd left-most line of right-most "S" --> <div>f&nbsp; g&nbsp; h</div>
+
+<!-- The 4th left-most line of right-most "S" --> <div>j&nbsp; kkkk</div>
+
+  </div>
+
+  <div class="floated-right">
+
+<!-- The 1st left-most line of left-most "S" --> <div>NNNN&nbsp; Q</div>
+
+<!-- The 2nd left-most line of left-most "S" --> <div>R&nbsp; S&nbsp; T</div>
+
+<!-- The 3rd left-most line of left-most "S" --> <div>U&nbsp; V&nbsp; W</div>
+
+<!-- The 4th left-most line of left-most "S" --> <div>X&nbsp; YYYY</div>
+
+  </div>
+
+  <div class="floated-right">
+
+<!-- The left-most line of "A" --> <div>GGGGGGG</div>
+
+<!-- The 2nd left-most line of "A" --> <div>H&nbsp; J&nbsp;&nbsp;</div>
+
+<!-- The 3rd left-most line of "A" --> <div>K&nbsp; L&nbsp;&nbsp;</div>
+
+<!-- The 4th left-most line of "A" --> <div>MMMMMMM</div>
+
+  </div>
+
+  <div class="floated-right" id="left-border">
+
+<!-- The 1st left-most line of "P" --> <div>AAAAAAA</div>
+
+<!-- The 2nd left-most line of "P" --> <div>B&nbsp; C&nbsp;&nbsp; </div>
+
+<!-- The 3rd left-most line of "P" --> <div>D&nbsp; E&nbsp;&nbsp; </div>
+
+<!-- The 4th left-most line of "P" --> <div>FFFF&nbsp;&nbsp; </div>
+
+  </div>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/block-flow-direction-vlr-010.xht
@@ -0,0 +1,101 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Writing Modes Test: position absolute and 'vertical-lr' - block flow direction of block-level boxes</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+  <link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#writing-mode" title="3.1 Block Flow Direction: the writing-mode property" />
+  <link rel="match" href="block-flow-direction-001-ref.xht" />
+
+  <meta content="ahem" name="flags" />
+  <meta content="This test checks that an absolutely positioned box with its 'writing-mode' set to 'vertical-lr' establishes a block formating context with a left-to-right block flow direction." name="assert" />
+
+<style type="text/css"><![CDATA[
+@font-face {
+  font-family: Ahem;
+  src: url("../../../fonts/Ahem.ttf");
+}
+]]></style>
+  <style type="text/css"><![CDATA[
+  body
+    {
+      color: yellow;
+      font: 20px/1 Ahem;
+    }
+
+  div#abs-pos
+    {
+      height: 9em;
+      left: auto;
+      position: absolute;
+      writing-mode: vertical-lr;
+    }
+
+  div#abs-pos > div
+    {
+      background-color: blue;
+      border-bottom: blue solid 1em;
+      border-top: blue solid 1em;
+    }
+
+  div.left-border
+    {
+      border-left: blue solid 1em;
+    }
+
+  div#right-border
+    {
+      border-right: blue solid 1em;
+    }
+  ]]></style>
+ </head>
+
+ <body>
+
+  <div id="abs-pos">
+
+<!-- The 1st left-most line of "P" --> <div class="left-border">AAAAAAA</div>
+
+<!-- The 2nd left-most line of "P" --> <div>B&nbsp; C&nbsp;&nbsp; </div>
+
+<!-- The 3rd left-most line of "P" --> <div>D&nbsp; E&nbsp;&nbsp; </div>
+
+<!-- The 4th left-most line of "P" --> <div>FFFF&nbsp;&nbsp; </div>
+
+
+
+<!-- The left-most line of "A" --> <div class="left-border">GGGGGGG</div>
+
+<!-- The 2nd left-most line of "A" --> <div>H&nbsp; J&nbsp;&nbsp; </div>
+
+<!-- The 3rd left-most line of "A" --> <div>K&nbsp; L&nbsp;&nbsp; </div>
+
+<!-- The 4th left-most line of "A" --> <div>MMMMMMM</div>
+
+
+
+<!-- The 1st left-most line of left-most "S" --> <div class="left-border">NNNN&nbsp; Q</div>
+
+<!-- The 2nd left-most line of left-most "S" --> <div>R&nbsp; S&nbsp; T</div>
+
+<!-- The 3rd left-most line of left-most "S" --> <div>U&nbsp; V&nbsp; W</div>
+
+<!-- The 4th left-most line of left-most "S" --> <div>X&nbsp; YYYY</div>
+
+
+
+<!-- The left-most line of right-most "S" --> <div class="left-border">aaaa&nbsp; b</div>
+
+<!-- The 2nd left-most line of right-most "S" --> <div>c&nbsp; d&nbsp; e</div>
+
+<!-- The 3rd left-most line of right-most "S" --> <div>f&nbsp; g&nbsp; h</div>
+
+<!-- The 4th left-most line of right-most "S" --> <div id="right-border">j&nbsp; kkkk</div>
+
+  </div>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/block-flow-direction-vlr-014.xht
@@ -0,0 +1,111 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Writing Modes Test: inline-block and 'vertical-lr' - block flow direction of block-level boxes</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+  <link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#writing-mode" title="3.1 Block Flow Direction: the writing-mode property" />
+  <link rel="match" href="block-flow-direction-001-ref.xht" />
+
+  <meta content="ahem" name="flags" />
+  <meta content="This test checks that an inline-block with its 'writing-mode' set to 'vertical-lr' establishes a block formating context with a left-to-right block flow direction." name="assert" />
+
+<style type="text/css"><![CDATA[
+@font-face {
+  font-family: Ahem;
+  src: url("../../../fonts/Ahem.ttf");
+}
+]]></style>
+  <style type="text/css"><![CDATA[
+  body
+    {
+      color: yellow;
+      font: 20px/1 Ahem;
+    }
+
+  div#inline-block
+    {
+      background-color: blue;
+      border-top: blue solid 1em;
+      display: inline-block;
+      height: 8em;
+      vertical-align: top;
+  /*
+  Why 'vertical-align: top' ?
+  See
+  http://lists.w3.org/Archives/Public/public-css-testsuite/2014Dec/0013.html
+  for explanations
+  */
+      writing-mode: vertical-lr;
+    }
+
+  span
+    {
+      display: block;
+    }
+
+  span.left-border
+    {
+      border-left: blue solid 1em;
+    }
+
+  span#right-border
+    {
+      border-right: blue solid 1em;
+    }
+  ]]></style>
+ </head>
+
+ <body>
+
+  <div>
+
+    <div id="inline-block">
+
+<!-- The 1st left-most line of "P" --> <span class="left-border">AAAAAAA</span>
+
+<!-- The 2nd left-most line of "P" --> <span>B&nbsp; C&nbsp;&nbsp; </span>
+
+<!-- The 3rd left-most line of "P" --> <span>D&nbsp; E&nbsp;&nbsp; </span>
+
+<!-- The 4th left-most line of "P" --> <span>FFFF&nbsp;&nbsp; </span>
+
+
+
+<!-- The left-most line of "A" --> <span class="left-border">GGGGGGG</span>
+
+<!-- The 2nd left-most line of "A" --> <span>H&nbsp; J&nbsp;&nbsp; </span>
+
+<!-- The 3rd left-most line of "A" --> <span>K&nbsp; L&nbsp;&nbsp; </span>
+
+<!-- The 4th left-most line of "A" --> <span>MMMMMMM</span>
+
+
+
+<!-- The 1st left-most line of left-most "S" --> <span class="left-border">NNNN&nbsp; Q</span>
+
+<!-- The 2nd left-most line of left-most "S" --> <span>R&nbsp; S&nbsp; T</span>
+
+<!-- The 3rd left-most line of left-most "S" --> <span>U&nbsp; V&nbsp; W</span>
+
+<!-- The 4th left-most line of left-most "S" --> <span>X&nbsp; YYYY</span>
+
+
+
+<!-- The left-most line of right-most "S" --> <span class="left-border">aaaa&nbsp; b</span>
+
+<!-- The 2nd left-most line of right-most "S" --> <span>c&nbsp; d&nbsp; e</span>
+
+<!-- The 3rd left-most line of right-most "S" --> <span>f&nbsp; g&nbsp; h</span>
+
+<!-- The 4th left-most line of right-most "S" --> <span id="right-border">j&nbsp; kkkk</span>
+
+    </div>
+
+  </div>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/block-flow-direction-vlr-015.xht
@@ -0,0 +1,70 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Writing Modes Test: inline-block and 'vertical-lr' - block flow direction of block-level boxes</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+  <link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#writing-mode" title="3.1 Block Flow Direction: the writing-mode property" />
+  <link rel="match" href="block-flow-direction-001-ref.xht" />
+
+  <meta content="ahem" name="flags" />
+  <meta content="This test checks that an inline-block with its 'writing-mode' set to 'vertical-lr' establishes a block formating context with a left-to-right block flow direction." name="assert" />
+
+<style type="text/css"><![CDATA[
+@font-face {
+  font-family: Ahem;
+  src: url("../../../fonts/Ahem.ttf");
+}
+]]></style>
+  <style type="text/css"><![CDATA[
+  body
+    {
+      color: yellow;
+      font: 20px/1 Ahem;
+    }
+
+  div#inline-block
+    {
+      background-color: blue;
+      border-top: blue solid 1em;
+      display: inline-block;
+      height: 8em;
+      writing-mode: vertical-lr;
+    }
+
+  span
+    {
+      border-left: blue solid 1em;
+      display: block;
+    }
+
+  span#right-border
+    {
+      border-right: blue solid 1em;
+    }
+  ]]></style>
+ </head>
+
+ <body>
+
+  <div>
+
+    <div id="inline-block">
+
+<!-- The "P" --> <span>AAAAAAA B&nbsp; C&nbsp;&nbsp; D&nbsp; E&nbsp;&nbsp; FFFF&nbsp;&nbsp;</span>
+
+<!-- The "A" --> <span>GGGGGGG H&nbsp; J&nbsp;&nbsp; K&nbsp; L&nbsp;&nbsp; MMMMMMM</span>
+
+<!-- The left-most "S" --> <span>NNNN&nbsp; Q R&nbsp; S&nbsp; T U&nbsp; V&nbsp; W X&nbsp; YYYY</span>
+
+<!-- The right-most "S" --> <span id="right-border">aaaa&nbsp; b c&nbsp; d&nbsp; e f&nbsp; g&nbsp; h j&nbsp; kkkk</span>
+
+    </div>
+
+  </div>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/block-flow-direction-vlr-016.xht
@@ -0,0 +1,107 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Writing Modes Test: inline-block and 'vertical-lr' - block flow direction of block-level boxes</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+  <link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#writing-mode" title="3.1 Block Flow Direction: the writing-mode property" />
+  <link rel="match" href="block-flow-direction-001-ref.xht" />
+
+  <meta content="ahem" name="flags" />
+  <meta content="This test checks that an inline-block with its 'writing-mode' set to 'vertical-lr' establishes a block formating context with a left-to-right block flow direction." name="assert" />
+
+<style type="text/css"><![CDATA[
+@font-face {
+  font-family: Ahem;
+  src: url("../../../fonts/Ahem.ttf");
+}
+]]></style>
+  <style type="text/css"><![CDATA[
+  body
+    {
+      color: yellow;
+      font: 20px/1 Ahem;
+    }
+
+  div.inline-block
+    {
+      background-color: blue;
+      border-left: blue solid 1em;
+      border-top: blue solid 1em;
+      display: inline-block;
+      height: 8em;
+      vertical-align: top;
+  /*
+  Why 'vertical-align: top' ?
+  See
+  http://lists.w3.org/Archives/Public/public-css-testsuite/2014Dec/0013.html
+  for explanations
+  */
+      writing-mode: vertical-lr;
+    }
+
+  span
+    {
+      display: block;
+    }
+
+  span#right-border
+    {
+      border-right: blue solid 1em;
+    }
+  ]]></style>
+ </head>
+
+ <body>
+
+  <div>
+
+    <div class="inline-block">
+
+<!-- The 1st left-most line of "P" --> <span>AAAAAAA</span>
+
+<!-- The 2nd left-most line of "P" --> <span>B&nbsp; C&nbsp;&nbsp; </span>
+
+<!-- The 3rd left-most line of "P" --> <span>D&nbsp; E&nbsp;&nbsp; </span>
+
+<!-- The 4th left-most line of "P" --> <span>FFFF&nbsp;&nbsp; </span>
+
+    </div><div class="inline-block">
+
+<!-- The left-most line of "A" --> <span>GGGGGGG</span>
+
+<!-- The 2nd left-most line of "A" --> <span>H&nbsp; J&nbsp;&nbsp; </span>
+
+<!-- The 3rd left-most line of "A" --> <span>K&nbsp; L&nbsp;&nbsp; </span>
+
+<!-- The 4th left-most line of "A" --> <span>MMMMMMM</span>
+
+    </div><div class="inline-block">
+
+<!-- The 1st left-most line of left-most "S" --> <span>NNNN&nbsp; Q</span>
+
+<!-- The 2nd left-most line of left-most "S" --> <span>R&nbsp; S&nbsp; T</span>
+
+<!-- The 3rd left-most line of left-most "S" --> <span>U&nbsp; V&nbsp; W</span>
+
+<!-- The 4th left-most line of left-most "S" --> <span>X&nbsp; YYYY</span>
+
+    </div><div class="inline-block">
+
+<!-- The left-most line of right-most "S" --> <span>aaaa&nbsp; b</span>
+
+<!-- The 2nd left-most line of right-most "S" --> <span>c&nbsp; d&nbsp; e</span>
+
+<!-- The 3rd left-most line of right-most "S" --> <span>f&nbsp; g&nbsp; h</span>
+
+<!-- The 4th left-most line of right-most "S" --> <span id="right-border">j&nbsp; kkkk</span>
+
+    </div>
+
+  </div>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/block-flow-direction-vlr-018.xht
@@ -0,0 +1,100 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Writing Modes Test: table-cell and 'vertical-lr' - block flow direction of block-level boxes</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+  <link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#writing-mode" title="3.1 Block Flow Direction: the writing-mode property" />
+  <link rel="match" href="block-flow-direction-001-ref.xht" />
+
+  <meta content="ahem" name="flags" />
+  <meta content="This test checks that a table-cell with its 'writing-mode' set to 'vertical-lr' establishes a block formating context with a left-to-right block flow direction." name="assert" />
+
+<style type="text/css"><![CDATA[
+@font-face {
+  font-family: Ahem;
+  src: url("../../../fonts/Ahem.ttf");
+}
+]]></style>
+  <style type="text/css"><![CDATA[
+  body
+    {
+      color: yellow;
+      font: 20px/1 Ahem;
+    }
+
+  div#table-cell
+    {
+      display: table-cell;
+      height: 9em;
+      writing-mode: vertical-lr;
+    }
+
+  div#table-cell > div
+    {
+      background-color: blue;
+      border-bottom: blue solid 1em;
+      border-top: blue solid 1em;
+    }
+
+  div.left-border
+    {
+      border-left: blue solid 1em;
+    }
+
+  div#right-border
+    {
+      border-right: blue solid 1em;
+    }
+  ]]></style>
+ </head>
+
+ <body>
+
+  <div id="table-cell">
+
+<!-- The 1st left-most line of "P" --> <div class="left-border">AAAAAAA</div>
+
+<!-- The 2nd left-most line of "P" --> <div>B&nbsp; C&nbsp;&nbsp; </div>
+
+<!-- The 3rd left-most line of "P" --> <div>D&nbsp; E&nbsp;&nbsp; </div>
+
+<!-- The 4th left-most line of "P" --> <div>FFFF&nbsp;&nbsp; </div>
+
+
+
+<!-- The left-most line of "A" --> <div class="left-border">GGGGGGG</div>
+
+<!-- The 2nd left-most line of "A" --> <div>H&nbsp; J&nbsp;&nbsp; </div>
+
+<!-- The 3rd left-most line of "A" --> <div>K&nbsp; L&nbsp;&nbsp; </div>
+
+<!-- The 4th left-most line of "A" --> <div>MMMMMMM</div>
+
+
+
+<!-- The 1st left-most line of left-most "S" --> <div class="left-border">NNNN&nbsp; Q</div>
+
+<!-- The 2nd left-most line of left-most "S" --> <div>R&nbsp; S&nbsp; T</div>
+
+<!-- The 3rd left-most line of left-most "S" --> <div>U&nbsp; V&nbsp; W</div>
+
+<!-- The 4th left-most line of left-most "S" --> <div>X&nbsp; YYYY</div>
+
+
+
+<!-- The left-most line of right-most "S" --> <div class="left-border">aaaa&nbsp; b</div>
+
+<!-- The 2nd left-most line of right-most "S" --> <div>c&nbsp; d&nbsp; e</div>
+
+<!-- The 3rd left-most line of right-most "S" --> <div>f&nbsp; g&nbsp; h</div>
+
+<!-- The 4th left-most line of right-most "S" --> <div id="right-border">j&nbsp; kkkk</div>
+
+  </div>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/block-flow-direction-vlr-020.xht
@@ -0,0 +1,100 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Writing Modes Test: table-caption and 'vertical-lr' - block flow direction of block-level boxes</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+  <link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#writing-mode" title="3.1 Block Flow Direction: the writing-mode property" />
+  <link rel="match" href="block-flow-direction-001-ref.xht" />
+
+  <meta content="ahem" name="flags" />
+  <meta content="This test checks that a table-caption with its 'writing-mode' set to 'vertical-lr' establishes a block formating context with a left-to-right block flow direction." name="assert" />
+
+<style type="text/css"><![CDATA[
+@font-face {
+  font-family: Ahem;
+  src: url("../../../fonts/Ahem.ttf");
+}
+]]></style>
+  <style type="text/css"><![CDATA[
+  body
+    {
+      color: yellow;
+      font: 20px/1 Ahem;
+    }
+
+  div#table-caption
+    {
+      display: table-caption;
+      height: 9em;
+      writing-mode: vertical-lr;
+    }
+
+  div#table-caption > div
+    {
+      background-color: blue;
+      border-bottom: blue solid 1em;
+      border-top: blue solid 1em;
+    }
+
+  div.left-border
+    {
+      border-left: blue solid 1em;
+    }
+
+  div#right-border
+    {
+      border-right: blue solid 1em;
+    }
+  ]]></style>
+ </head>
+
+ <body>
+
+  <div id="table-caption">
+
+<!-- The 1st left-most line of "P" --> <div class="left-border">AAAAAAA</div>
+
+<!-- The 2nd left-most line of "P" --> <div>B&nbsp; C&nbsp;&nbsp; </div>
+
+<!-- The 3rd left-most line of "P" --> <div>D&nbsp; E&nbsp;&nbsp; </div>
+
+<!-- The 4th left-most line of "P" --> <div>FFFF&nbsp;&nbsp; </div>
+
+
+
+<!-- The left-most line of "A" --> <div class="left-border">GGGGGGG</div>
+
+<!-- The 2nd left-most line of "A" --> <div>H&nbsp; J&nbsp;&nbsp; </div>
+
+<!-- The 3rd left-most line of "A" --> <div>K&nbsp; L&nbsp;&nbsp; </div>
+
+<!-- The 4th left-most line of "A" --> <div>MMMMMMM</div>
+
+
+
+<!-- The 1st left-most line of left-most "S" --> <div class="left-border">NNNN&nbsp; Q</div>
+
+<!-- The 2nd left-most line of left-most "S" --> <div>R&nbsp; S&nbsp; T</div>
+
+<!-- The 3rd left-most line of left-most "S" --> <div>U&nbsp; V&nbsp; W</div>
+
+<!-- The 4th left-most line of left-most "S" --> <div>X&nbsp; YYYY</div>
+
+
+
+<!-- The left-most line of right-most "S" --> <div class="left-border">aaaa&nbsp; b</div>
+
+<!-- The 2nd left-most line of right-most "S" --> <div>c&nbsp; d&nbsp; e</div>
+
+<!-- The 3rd left-most line of right-most "S" --> <div>f&nbsp; g&nbsp; h</div>
+
+<!-- The 4th left-most line of right-most "S" --> <div id="right-border">j&nbsp; kkkk</div>
+
+  </div>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/block-flow-direction-vlr-022.xht
@@ -0,0 +1,103 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Writing Modes Test: list and vertical-lr - block flow direction of block-level boxes</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+  <link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#writing-mode" title="3.1 Block Flow Direction: the writing-mode property" />
+  <link rel="match" href="block-flow-direction-001-ref.xht" />
+
+  <meta content="ahem image" name="flags" />
+  <meta content="This test checks that block-level boxes in a block formating context with 'writing-mode' set to 'vertical-lr' are laid out one after the other with the first beginning at the left-hand side of its containing block; they are ordered from left to right meaning that the 1st block box is the leftmost one and then the 2nd block is juxtaposed to the right-hand side of 1st block, the 3rd block is juxtaposed to the 2nd block on its right-hand side, etc... " name="assert" />
+
+<style type="text/css"><![CDATA[
+@font-face {
+  font-family: Ahem;
+  src: url("../../../fonts/Ahem.ttf");
+}
+]]></style>
+  <style type="text/css"><![CDATA[
+  html
+    {
+      writing-mode: vertical-lr;
+    }
+  /*
+  "
+  The principal writing mode of the document is determined by the writing-mode
+  and direction values specified on the root element.
+  "
+  */
+
+  body
+    {
+      color: yellow;
+      font: 20px/1 Ahem;
+      height: 9em;
+    }
+
+  ul
+    {
+      background-color: blue;
+      border-bottom: blue solid 1em;
+      list-style: none outside url("support/blue1x1.png");
+      margin: 0em;
+      padding-top: 1em; /* overriding default 40px in several browsers */
+    }
+
+  ul.left-border
+    {
+      border-left: blue solid 1em;
+    }
+
+  ul#right-border
+    {
+      border-right: blue solid 1em;
+    }
+  ]]></style>
+ </head>
+
+ <body>
+
+<!-- The 1st left-most line of "P" --> <ul class="left-border"><li>AAAAAAA</li></ul>
+
+<!-- The 2nd left-most line of "P" --> <ul><li>B&nbsp; C&nbsp;&nbsp; </li></ul>
+
+<!-- The 3rd left-most line of "P" --> <ul><li>D&nbsp; E&nbsp;&nbsp; </li></ul>
+
+<!-- The 4th left-most line of "P" --> <ul><li>FFFF&nbsp;&nbsp; </li></ul>
+
+
+
+<!-- The left-most line of "A" --> <ul class="left-border"><li>GGGGGGG</li></ul>
+
+<!-- The 2nd left-most line of "A" --> <ul><li>H&nbsp; J&nbsp;&nbsp; </li></ul>
+
+<!-- The 3rd left-most line of "A" --> <ul><li>K&nbsp; L&nbsp;&nbsp; </li></ul>
+
+<!-- The 4th left-most line of "A" --> <ul><li>MMMMMMM</li></ul>
+
+
+
+<!-- The 1st left-most line of left-most "S" --> <ul class="left-border"><li>NNNN&nbsp; Q</li></ul>
+
+<!-- The 2nd left-most line of left-most "S" --> <ul><li>R&nbsp; S&nbsp; T</li></ul>
+
+<!-- The 3rd left-most line of left-most "S" --> <ul><li>U&nbsp; V&nbsp; W</li></ul>
+
+<!-- The 4th left-most line of left-most "S" --> <ul><li>X&nbsp; YYYY</li></ul>
+
+
+
+<!-- The left-most line of right-most "S" --> <ul class="left-border"><li>aaaa&nbsp; b</li></ul>
+
+<!-- The 2nd left-most line of right-most "S" --> <ul><li>c&nbsp; d&nbsp; e</li></ul>
+
+<!-- The 3rd left-most line of right-most "S" --> <ul><li>f&nbsp; g&nbsp; h</li></ul>
+
+<!-- The 4th left-most line of right-most "S" --> <ul id="right-border"><li>j&nbsp; kkkk</li></ul>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/block-flow-direction-vlr-023.xht
@@ -0,0 +1,70 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Writing Modes Test: vertical-lr - block flow direction of block-level boxes</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+  <link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#writing-mode" title="3.1 Block Flow Direction: the writing-mode property" />
+  <link rel="match" href="block-flow-direction-001-ref.xht" />
+
+  <meta content="ahem" name="flags" />
+  <meta content="This test checks that block-level boxes in a block formating context with 'writing-mode' set to 'vertical-lr' are laid out one after the other with the first beginning at the left-hand side of its containing block; they are ordered from left to right meaning that the 1st block box is the leftmost one and, then the 2nd block is juxtaposed at the right-hand side of 1st block, then the 3rd block is juxtaposed at the 2nd block on its right-hand side, etc... " name="assert" />
+
+  <!--
+  This test is a variation of block-flow-direction-003 test.
+  -->
+
+<style type="text/css"><![CDATA[
+@font-face {
+  font-family: Ahem;
+  src: url("../../../fonts/Ahem.ttf");
+}
+]]></style>
+  <style type="text/css"><![CDATA[
+  html
+    {
+      writing-mode: vertical-lr;
+    }
+  /*
+  "
+  The principal writing mode of the document is determined by the writing-mode
+  and direction values specified on the root element.
+  "
+  */
+
+  body
+    {
+      color: yellow;
+      font: 20px/1 Ahem;
+      height: 9em;
+    }
+
+  div
+    {
+      background-color: blue;
+      border: blue solid 1em;
+      border-right: blue none 0em;
+    }
+
+  div#right-most
+    {
+      border-right: blue solid 1em;
+    }
+  ]]></style>
+ </head>
+
+ <body>
+
+<!-- The "P" --> <div>AAAAAAA B&nbsp; C&nbsp;&nbsp; D&nbsp; E&nbsp;&nbsp; FFFF&nbsp;&nbsp; </div>
+
+<!-- The "A" --> <div>GGGGGGG H&nbsp; J&nbsp;&nbsp; K&nbsp; L&nbsp;&nbsp; MMMMMMM</div>
+
+<!-- The left-most "S" --> <div>NNNN&nbsp; Q R&nbsp; S&nbsp; T U&nbsp; V&nbsp; W X&nbsp; YYYY</div>
+
+<!-- The right-most "S" --> <div id="right-most">aaaa&nbsp; b c&nbsp; d&nbsp; e f&nbsp; g&nbsp; h j&nbsp; kkkk</div>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/block-flow-direction-vrl-002.xht
@@ -0,0 +1,101 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Writing Modes Test: vertical-rl - block flow direction of block-level boxes</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+  <link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#writing-mode" title="3.1 Block Flow Direction: the writing-mode property" />
+  <link rel="match" href="block-flow-direction-002-ref.xht" />
+
+  <meta content="ahem" name="flags" />
+  <meta content="This test checks that block-level boxes in a block formating context with 'writing-mode' set to 'vertical-rl' are laid out one after the other with the first beginning at the right-hand side of its containing block; they are ordered from right to left meaning that the 1st block box is the rightmost one, then the 2nd block is juxtaposed at its left-hand side, then the 3rd block is juxtaposed at the 2nd block on its left-hand side, etc... " name="assert" />
+
+<style type="text/css"><![CDATA[
+@font-face {
+  font-family: Ahem;
+  src: url("../../../fonts/Ahem.ttf");
+}
+]]></style>
+  <style type="text/css"><![CDATA[
+  html
+    {
+      writing-mode: vertical-rl;
+    }
+  /*
+  "
+  The principal writing mode of the document is determined by the writing-mode
+  and direction values specified on the root element.
+  "
+  */
+
+  body
+    {
+      color: yellow;
+      font: 20px/1 Ahem;
+      height: 9em;
+    }
+
+  div
+    {
+      background-color: blue;
+      border-bottom: blue solid 1em;
+      border-top: blue solid 1em;
+    }
+
+  div.right-border
+    {
+      border-right: blue solid 1em;
+    }
+
+  div#left-border
+    {
+      border-left: blue solid 1em;
+    }
+  ]]></style>
+ </head>
+
+ <body>
+
+<!-- The right-most line of right-most "S" --> <div class="right-border">A&nbsp; BBBB</div>
+
+<!-- The 2nd right-most line of right-most "S" --> <div>C&nbsp; D&nbsp; E</div>
+
+<!-- The 3rd right-most line of right-most "S" --> <div>F&nbsp; G&nbsp; H</div>
+
+<!-- The 4th right-most line of right-most "S" --> <div>JJJJ&nbsp; K</div>
+
+
+
+<!-- The right-most line of left-most "S" --> <div class="right-border">L&nbsp; MMMM</div>
+
+<!-- The 2nd right-most line of left-most "S" --> <div>Q&nbsp; R&nbsp; S</div>
+
+<!-- The 3rd right-most line of left-most "S" --> <div>T&nbsp; U&nbsp; V</div>
+
+<!-- The 4th right-most line of left-most "S" --> <div>WWWW&nbsp; X</div>
+
+
+
+<!-- The right-most line of "A" --> <div class="right-border">YYYYYYY</div>
+
+<!-- The 2nd right-most line of "A" --> <div>Z&nbsp; a&nbsp;&nbsp; </div>
+
+<!-- The 3rd right-most line of "A" --> <div>b&nbsp; c&nbsp;&nbsp; </div>
+
+<!-- The 4th right-most line of "A" --> <div>ddddddd</div>
+
+
+
+<!-- The right-most line of "P" --> <div class="right-border">eeee&nbsp;&nbsp; </div>
+
+<!-- The 2nd right-most line of "P" --> <div>f&nbsp; g&nbsp;&nbsp; </div>
+
+<!-- The 3rd right-most line of "P" --> <div>h&nbsp; j&nbsp;&nbsp; </div>
+
+<!-- The 4th right-most line of "P" --> <div id="left-border">kkkkkkk</div>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/block-flow-direction-vrl-005.xht
@@ -0,0 +1,95 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Writing Modes Test: 'float: left' and 'vertical-rl' - block flow direction of block-level boxes</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+  <link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#writing-mode" title="3.1 Block Flow Direction: the writing-mode property" />
+  <link rel="match" href="block-flow-direction-001-ref.xht" />
+
+  <meta content="ahem" name="flags" />
+  <meta content="This test checks that a left-floated box with its 'writing-mode' set to 'vertical-rl' establishes a block formating context with a right-to-left block flow direction." name="assert" />
+
+<style type="text/css"><![CDATA[
+@font-face {
+  font-family: Ahem;
+  src: url("../../../fonts/Ahem.ttf");
+}
+]]></style>
+  <style type="text/css"><![CDATA[
+  body
+    {
+      color: yellow;
+      font: 20px/1 Ahem;
+    }
+
+  div#floated-left
+    {
+      background-color: blue;
+      border-top: blue solid 1em;
+      float: left;
+      height: 8em;
+      writing-mode: vertical-rl;
+    }
+
+  div.right-border
+    {
+      border-right: blue solid 1em;
+    }
+
+  div#left-border
+    {
+      border-left: blue solid 1em;
+    }
+  ]]></style>
+ </head>
+
+ <body>
+
+  <div id="floated-left">
+
+<!-- The right-most line of right-most "S" --> <div class="right-border">A&nbsp; BBBB</div>
+
+<!-- The 2nd right-most line of right-most "S" --> <div>C&nbsp; D&nbsp; E</div>
+
+<!-- The 3rd right-most line of right-most "S" --> <div>F&nbsp; G&nbsp; H</div>
+
+<!-- The 4th right-most line of right-most "S" --> <div>JJJJ&nbsp; K</div>
+
+
+
+<!-- The right-most line of left-most "S" --> <div class="right-border">L&nbsp; MMMM</div>
+
+<!-- The 2nd right-most line of left-most "S" --> <div>Q&nbsp; R&nbsp; S</div>
+
+<!-- The 3rd right-most line of left-most "S" --> <div>T&nbsp; U&nbsp; V</div>
+
+<!-- The 4th right-most line of left-most "S" --> <div>WWWW&nbsp; X</div>
+
+
+
+<!-- The right-most line of "A" --> <div class="right-border">YYYYYYY</div>
+
+<!-- The 2nd right-most line of "A" --> <div>Z&nbsp; a&nbsp;&nbsp; </div>
+
+<!-- The 3rd right-most line of "A" --> <div>b&nbsp; c&nbsp;&nbsp; </div>
+
+<!-- The 4th right-most line of "A" --> <div>ddddddd</div>
+
+
+
+<!-- The right-most line of "P" --> <div class="right-border">eeee&nbsp;&nbsp; </div>
+
+<!-- The 2nd right-most line of "P" --> <div>f&nbsp; g&nbsp;&nbsp; </div>
+
+<!-- The 3rd right-most line of "P" --> <div>h&nbsp; j&nbsp;&nbsp; </div>
+
+<!-- The 4th right-most line of "P" --> <div id="left-border">kkkkkkk</div>
+
+  </div>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/block-flow-direction-vrl-006.xht
@@ -0,0 +1,97 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Writing Modes Test: 'float: left' and 'vertical-rl' - block flow direction of block-level boxes</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+  <link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#writing-mode" title="3.1 Block Flow Direction: the writing-mode property" />
+  <link rel="match" href="block-flow-direction-001-ref.xht" />
+
+  <meta content="ahem" name="flags" />
+  <meta content="This test checks that left-floated boxes with 'writing-mode' set to 'vertical-rl' establish block formating contexts with a right-to-left block flow direction." name="assert" />
+
+<style type="text/css"><![CDATA[
+@font-face {
+  font-family: Ahem;
+  src: url("../../../fonts/Ahem.ttf");
+}
+]]></style>
+  <style type="text/css"><![CDATA[
+  body
+    {
+      color: yellow;
+      font: 20px/1 Ahem;
+    }
+
+  div.floated-left
+    {
+      background-color: blue;
+      border-bottom: blue solid 1em;
+      border-left: blue solid 1em;
+      border-top: blue solid 1em;
+      float: left;
+      writing-mode: vertical-rl;
+    }
+
+  div#right-border
+    {
+      border-right: blue solid 1em;
+    }
+  ]]></style>
+ </head>
+
+ <body>
+
+  <div class="floated-left">
+
+<!-- The right-most line of "P" --> <div>eeee&nbsp;&nbsp;</div>
+
+<!-- The 2nd right-most line of "P" --> <div>f&nbsp; g&nbsp;&nbsp;</div>
+
+<!-- The 3rd right-most line of "P" --> <div>h&nbsp; j&nbsp;&nbsp;</div>
+
+<!-- The 4th right-most line of "P" --> <div>kkkkkkk</div>
+
+  </div>
+
+  <div class="floated-left">
+
+<!-- The right-most line of "A" --> <div>YYYYYYY</div>
+
+<!-- The 2nd right-most line of "A" --> <div>Z&nbsp; a&nbsp;&nbsp;</div>
+
+<!-- The 3rd right-most line of "A" --> <div>b&nbsp; c&nbsp;&nbsp;</div>
+
+<!-- The 4th right-most line of "A" --> <div>ddddddd</div>
+
+  </div>
+
+  <div class="floated-left">
+
+<!-- The right-most line of left-most "S" --> <div>L&nbsp; MMMM</div>
+
+<!-- The 2nd right-most line of left-most "S" --> <div>Q&nbsp; R&nbsp; S</div>
+
+<!-- The 3rd right-most line of left-most "S" --> <div>T&nbsp; U&nbsp; V</div>
+
+<!-- The 4th right-most line of left-most "S" --> <div>WWWW&nbsp; X</div>
+
+  </div>
+
+  <div class="floated-left" id="right-border">
+
+<!-- The right-most line of right-most "S" --> <div>A&nbsp; BBBB</div>
+
+<!-- The 2nd right-most line of right-most "S" --> <div>C&nbsp; D&nbsp; E</div>
+
+<!-- The 3rd right-most line of right-most "S" --> <div>F&nbsp; G&nbsp; H</div>
+
+<!-- The 4th right-most line of right-most "S" --> <div>JJJJ&nbsp; K</div>
+
+  </div>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/block-flow-direction-vrl-009.xht
@@ -0,0 +1,101 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Writing Modes Test: position absolute and 'vertical-rl' - block flow direction of block-level boxes</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+  <link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#writing-mode" title="3.1 Block Flow Direction: the writing-mode property" />
+  <link rel="match" href="block-flow-direction-001-ref.xht" />
+
+  <meta content="ahem" name="flags" />
+  <meta content="This test checks that an absolutely positioned box with its 'writing-mode' set to 'vertical-rl' establishes a block formating context with a right-to-left block flow direction." name="assert" />
+
+<style type="text/css"><![CDATA[
+@font-face {
+  font-family: Ahem;
+  src: url("../../../fonts/Ahem.ttf");
+}
+]]></style>
+  <style type="text/css"><![CDATA[
+  body
+    {
+      color: yellow;
+      font: 20px/1 Ahem;
+    }
+
+  div#abs-pos
+    {
+      height: 9em;
+      left: auto;
+      position: absolute;
+      writing-mode: vertical-rl;
+    }
+
+  div#abs-pos > div
+    {
+      background-color: blue;
+      border-bottom: blue solid 1em;
+      border-top: blue solid 1em;
+    }
+
+  div.right-border
+    {
+      border-right: blue solid 1em;
+    }
+
+  div#left-border
+    {
+      border-left: blue solid 1em;
+    }
+  ]]></style>
+ </head>
+
+ <body>
+
+  <div id="abs-pos">
+
+<!-- The right-most line of right-most "S" --> <div class="right-border">A&nbsp; BBBB</div>
+
+<!-- The 2nd right-most line of right-most "S" --> <div>C&nbsp; D&nbsp; E</div>
+
+<!-- The 3rd right-most line of right-most "S" --> <div>F&nbsp; G&nbsp; H</div>
+
+<!-- The 4th right-most line of right-most "S" --> <div>JJJJ&nbsp; K</div>
+
+
+
+<!-- The right-most line of left-most "S" --> <div class="right-border">L&nbsp; MMMM</div>
+
+<!-- The 2nd right-most line of left-most "S" --> <div>Q&nbsp; R&nbsp; S</div>
+
+<!-- The 3rd right-most line of left-most "S" --> <div>T&nbsp; U&nbsp; V</div>
+
+<!-- The 4th right-most line of left-most "S" --> <div>WWWW&nbsp; X</div>
+
+
+
+<!-- The right-most line of "A" --> <div class="right-border">YYYYYYY</div>
+
+<!-- The 2nd right-most line of "A" --> <div>Z&nbsp; a&nbsp;&nbsp; </div>
+
+<!-- The 3rd right-most line of "A" --> <div>b&nbsp; c&nbsp;&nbsp; </div>
+
+<!-- The 4th right-most line of "A" --> <div>ddddddd</div>
+
+
+
+<!-- The right-most line of "P" --> <div class="right-border">eeee&nbsp;&nbsp; </div>
+
+<!-- The 2nd right-most line of "P" --> <div>f&nbsp; g&nbsp;&nbsp; </div>
+
+<!-- The 3rd right-most line of "P" --> <div>h&nbsp; j&nbsp;&nbsp; </div>
+
+<!-- The 4th right-most line of "P" --> <div id="left-border">kkkkkkk</div>
+
+  </div>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/block-flow-direction-vrl-011.xht
@@ -0,0 +1,111 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Writing Modes Test: inline-block and 'vertical-rl' - block flow direction of block-level boxes</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+  <link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#writing-mode" title="3.1 Block Flow Direction: the writing-mode property" />
+  <link rel="match" href="block-flow-direction-001-ref.xht" />
+
+  <meta content="ahem" name="flags" />
+  <meta content="This test checks that an inline-block with its 'writing-mode' set to 'vertical-rl' establishes a block formating context with a right-to-left block flow direction." name="assert" />
+
+<style type="text/css"><![CDATA[
+@font-face {
+  font-family: Ahem;
+  src: url("../../../fonts/Ahem.ttf");
+}
+]]></style>
+  <style type="text/css"><![CDATA[
+  body
+    {
+      color: yellow;
+      font: 20px/1 Ahem;
+    }
+
+  div#inline-block
+    {
+      background-color: blue;
+      border-top: blue solid 1em;
+      display: inline-block;
+      height: 8em;
+      vertical-align: top;
+  /*
+  Why 'vertical-align: top' ?
+  See
+  http://lists.w3.org/Archives/Public/public-css-testsuite/2014Dec/0013.html
+  for explanations
+  */
+      writing-mode: vertical-rl;
+    }
+
+  span
+    {
+      display: block;
+    }
+
+  span.right-border
+    {
+      border-right: blue solid 1em;
+    }
+
+  span#left-border
+    {
+      border-left: blue solid 1em;
+    }
+  ]]></style>
+ </head>
+
+ <body>
+
+  <div>
+
+    <div id="inline-block">
+
+<!-- The right-most line of right-most "S" --> <span class="right-border">A&nbsp; BBBB</span>
+
+<!-- The 2nd right-most line of right-most "S" --> <span>C&nbsp; D&nbsp; E</span>
+
+<!-- The 3rd right-most line of right-most "S" --> <span>F&nbsp; G&nbsp; H</span>
+
+<!-- The 4th right-most line of right-most "S" --> <span>JJJJ&nbsp; K</span>
+
+
+
+<!-- The right-most line of left-most "S" --> <span class="right-border">L&nbsp; MMMM</span>
+
+<!-- The 2nd right-most line of left-most "S" --> <span>Q&nbsp; R&nbsp; S</span>
+
+<!-- The 3rd right-most line of left-most "S" --> <span>T&nbsp; U&nbsp; V</span>
+
+<!-- The 4th right-most line of left-most "S" --> <span>WWWW&nbsp; X</span>
+
+
+
+<!-- The right-most line of "A" --> <span class="right-border">YYYYYYY</span>
+
+<!-- The 2nd right-most line of "A" --> <span>Z&nbsp; a&nbsp;&nbsp; </span>
+
+<!-- The 3rd right-most line of "A" --> <span>b&nbsp; c&nbsp;&nbsp; </span>
+
+<!-- The 4th right-most line of "A" --> <span>ddddddd</span>
+
+
+
+<!-- The right-most line of "P" --> <span class="right-border">eeee&nbsp;&nbsp; </span>
+
+<!-- The 2nd right-most line of "P" --> <span>f&nbsp; g&nbsp;&nbsp; </span>
+
+<!-- The 3rd right-most line of "P" --> <span>h&nbsp; j&nbsp;&nbsp; </span>
+
+<!-- The 4th right-most line of "P" --> <span id="left-border">kkkkkkk</span>
+
+    </div>
+
+  </div>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/block-flow-direction-vrl-012.xht
@@ -0,0 +1,77 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Writing Modes Test: inline-block and 'vertical-rl' - block flow direction of block-level boxes</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+  <link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#writing-mode" title="3.1 Block Flow Direction: the writing-mode property" />
+  <link rel="match" href="block-flow-direction-001-ref.xht" />
+
+  <meta content="ahem" name="flags" />
+  <meta content="This test checks that an inline-block with its 'writing-mode' set to 'vertical-rl' establishes a block formating context with a right-to-left block flow direction." name="assert" />
+
+<style type="text/css"><![CDATA[
+@font-face {
+  font-family: Ahem;
+  src: url("../../../fonts/Ahem.ttf");
+}
+]]></style>
+  <style type="text/css"><![CDATA[
+  body
+    {
+      color: yellow;
+      font: 20px/1 Ahem;
+    }
+
+  div#inline-block
+    {
+      background-color: blue;
+      border-top: blue solid 1em;
+      display: inline-block;
+      height: 8em;
+      vertical-align: top;
+  /*
+  Why 'vertical-align: top' ?
+  See
+  http://lists.w3.org/Archives/Public/public-css-testsuite/2014Dec/0013.html
+  for explanations
+  */
+      writing-mode: vertical-rl;
+    }
+
+  span
+    {
+      border-right: blue solid 1em;
+      display: block;
+    }
+
+  span#left-border
+    {
+      border-left: blue solid 1em;
+    }
+  ]]></style>
+ </head>
+
+ <body>
+
+  <div>
+
+    <div id="inline-block">
+
+<!-- The right-most "S" --> <span>A&nbsp; BBBB C&nbsp; D&nbsp; E F&nbsp; G&nbsp; H JJJJ&nbsp; K</span>
+
+<!-- The left-most "S" --> <span>L&nbsp; MMMM Q&nbsp; R&nbsp; S T&nbsp; U&nbsp; V WWWW&nbsp; X</span>
+
+<!-- The "A" --> <span>YYYYYYY Z&nbsp; a&nbsp;&nbsp; b&nbsp; c&nbsp;&nbsp; ddddddd</span>
+
+<!-- The "P" --> <span id="left-border">eeee&nbsp;&nbsp; f&nbsp; g&nbsp;&nbsp; h&nbsp; j&nbsp;&nbsp; kkkkkkk</span>
+
+    </div>
+
+  </div>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/block-flow-direction-vrl-013.xht
@@ -0,0 +1,107 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Writing Modes Test: inline-block and 'vertical-rl' - block flow direction of block-level boxes</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+  <link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#writing-mode" title="3.1 Block Flow Direction: the writing-mode property" />
+  <link rel="match" href="block-flow-direction-001-ref.xht" />
+
+  <meta content="ahem" name="flags" />
+  <meta content="This test checks that an inline-block with its 'writing-mode' set to 'vertical-rl' establishes a block formating context with a right-to-left block flow direction." name="assert" />
+
+<style type="text/css"><![CDATA[
+@font-face {
+  font-family: Ahem;
+  src: url("../../../fonts/Ahem.ttf");
+}
+]]></style>
+  <style type="text/css"><![CDATA[
+  body
+    {
+      color: yellow;
+      font: 20px/1 Ahem;
+    }
+
+  div.inline-block
+    {
+      background-color: blue;
+      border-right: blue solid 1em;
+      border-top: blue solid 1em;
+      display: inline-block;
+      height: 8em;
+      vertical-align: top;
+  /*
+  Why 'vertical-align: top' ?
+  See
+  http://lists.w3.org/Archives/Public/public-css-testsuite/2014Dec/0013.html
+  for explanations
+  */
+      writing-mode: vertical-rl;
+    }
+
+  span
+    {
+      display: block;
+    }
+
+  span#left-border
+    {
+      border-left: blue solid 1em;
+    }
+  ]]></style>
+ </head>
+
+ <body>
+
+  <div>
+
+    <div class="inline-block">
+
+<!-- The right-most line of "P" --> <span>eeee&nbsp;&nbsp; </span>
+
+<!-- The 2nd right-most line of "P" --> <span>f&nbsp; g&nbsp;&nbsp; </span>
+
+<!-- The 3rd right-most line of "P" --> <span>h&nbsp; j&nbsp;&nbsp; </span>
+
+<!-- The 4th right-most line of "P" --> <span id="left-border">kkkkkkk</span>
+
+    </div><div class="inline-block">
+
+<!-- The right-most line of "A" --> <span>YYYYYYY</span>
+
+<!-- The 2nd right-most line of "A" --> <span>Z&nbsp; a&nbsp;&nbsp; </span>
+
+<!-- The 3rd right-most line of "A" --> <span>b&nbsp; c&nbsp;&nbsp; </span>
+
+<!-- The 4th right-most line of "A" --> <span>ddddddd</span>
+
+    </div><div class="inline-block">
+
+<!-- The right-most line of left-most "S" --> <span>L&nbsp; MMMM</span>
+
+<!-- The 2nd right-most line of left-most "S" --> <span>Q&nbsp; R&nbsp; S</span>
+
+<!-- The 3rd right-most line of left-most "S" --> <span>T&nbsp; U&nbsp; V</span>
+
+<!-- The 4th right-most line of left-most "S" --> <span>WWWW&nbsp; X</span>
+
+    </div><div class="inline-block">
+
+<!-- The right-most line of right-most "S" --> <span>A&nbsp; BBBB</span>
+
+<!-- The 2nd right-most line of right-most "S" --> <span>C&nbsp; D&nbsp; E</span>
+
+<!-- The 3rd right-most line of right-most "S" --> <span>F&nbsp; G&nbsp; H</span>
+
+<!-- The 4th right-most line of right-most "S" --> <span>JJJJ&nbsp; K</span>
+
+    </div>
+
+  </div>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/block-flow-direction-vrl-017.xht
@@ -0,0 +1,100 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Writing Modes Test: table-cell and 'vertical-rl' - block flow direction of block-level boxes</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+  <link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#writing-mode" title="3.1 Block Flow Direction: the writing-mode property" />
+  <link rel="match" href="block-flow-direction-001-ref.xht" />
+
+  <meta content="ahem" name="flags" />
+  <meta content="This test checks that a table-cell with its 'writing-mode' set to 'vertical-rl' establishes a block formating context with a right-to-left block flow direction." name="assert" />
+
+<style type="text/css"><![CDATA[
+@font-face {
+  font-family: Ahem;
+  src: url("../../../fonts/Ahem.ttf");
+}
+]]></style>
+  <style type="text/css"><![CDATA[
+  body
+    {
+      color: yellow;
+      font: 20px/1 Ahem;
+    }
+
+  div#table-cell
+    {
+      display: table-cell;
+      height: 9em;
+      writing-mode: vertical-rl;
+    }
+
+  div#table-cell > div
+    {
+      background-color: blue;
+      border-bottom: blue solid 1em;
+      border-top: blue solid 1em;
+    }
+
+  div.right-border
+    {
+      border-right: blue solid 1em;
+    }
+
+  div#left-border
+    {
+      border-left: blue solid 1em;
+    }
+  ]]></style>
+ </head>
+
+ <body>
+
+  <div id="table-cell">
+
+<!-- The right-most line of right-most "S" --> <div class="right-border">A&nbsp; BBBB</div>
+
+<!-- The 2nd right-most line of right-most "S" --> <div>C&nbsp; D&nbsp; E</div>
+
+<!-- The 3rd right-most line of right-most "S" --> <div>F&nbsp; G&nbsp; H</div>
+
+<!-- The 4th right-most line of right-most "S" --> <div>JJJJ&nbsp; K</div>
+
+
+
+<!-- The right-most line of left-most "S" --> <div class="right-border">L&nbsp; MMMM</div>
+
+<!-- The 2nd right-most line of left-most "S" --> <div>Q&nbsp; R&nbsp; S</div>
+
+<!-- The 3rd right-most line of left-most "S" --> <div>T&nbsp; U&nbsp; V</div>
+
+<!-- The 4th right-most line of left-most "S" --> <div>WWWW&nbsp; X</div>
+
+
+
+<!-- The right-most line of "A" --> <div class="right-border">YYYYYYY</div>
+
+<!-- The 2nd right-most line of "A" --> <div>Z&nbsp; a&nbsp;&nbsp; </div>
+
+<!-- The 3rd right-most line of "A" --> <div>b&nbsp; c&nbsp;&nbsp; </div>
+
+<!-- The 4th right-most line of "A" --> <div>ddddddd</div>
+
+
+
+<!-- The right-most line of "P" --> <div class="right-border">eeee&nbsp;&nbsp; </div>
+
+<!-- The 2nd right-most line of "P" --> <div>f&nbsp; g&nbsp;&nbsp; </div>
+
+<!-- The 3rd right-most line of "P" --> <div>h&nbsp; j&nbsp;&nbsp; </div>
+
+<!-- The 4th right-most line of "P" --> <div id="left-border">kkkkkkk</div>
+
+  </div>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/block-flow-direction-vrl-019.xht
@@ -0,0 +1,100 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Writing Modes Test: table-caption and 'vertical-rl' - block flow direction of block-level boxes</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+  <link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#writing-mode" title="3.1 Block Flow Direction: the writing-mode property" />
+  <link rel="match" href="block-flow-direction-001-ref.xht" />
+
+  <meta content="ahem" name="flags" />
+  <meta content="This test checks that a table-caption with its 'writing-mode' set to 'vertical-rl' establishes a block formating context with a right-to-left block flow direction." name="assert" />
+
+<style type="text/css"><![CDATA[
+@font-face {
+  font-family: Ahem;
+  src: url("../../../fonts/Ahem.ttf");
+}
+]]></style>
+  <style type="text/css"><![CDATA[
+  body
+    {
+      color: yellow;
+      font: 20px/1 Ahem;
+    }
+
+  div#table-caption
+    {
+      display: table-caption;
+      height: 9em;
+      writing-mode: vertical-rl;
+    }
+
+  div#table-caption > div
+    {
+      background-color: blue;
+      border-bottom: blue solid 1em;
+      border-top: blue solid 1em;
+    }
+
+  div.right-border
+    {
+      border-right: blue solid 1em;
+    }
+
+  div#left-border
+    {
+      border-left: blue solid 1em;
+    }
+  ]]></style>
+ </head>
+
+ <body>
+
+  <div id="table-caption">
+
+<!-- The right-most line of right-most "S" --> <div class="right-border">A&nbsp; BBBB</div>
+
+<!-- The 2nd right-most line of right-most "S" --> <div>C&nbsp; D&nbsp; E</div>
+
+<!-- The 3rd right-most line of right-most "S" --> <div>F&nbsp; G&nbsp; H</div>
+
+<!-- The 4th right-most line of right-most "S" --> <div>JJJJ&nbsp; K</div>
+
+
+
+<!-- The right-most line of left-most "S" --> <div class="right-border">L&nbsp; MMMM</div>
+
+<!-- The 2nd right-most line of left-most "S" --> <div>Q&nbsp; R&nbsp; S</div>
+
+<!-- The 3rd right-most line of left-most "S" --> <div>T&nbsp; U&nbsp; V</div>
+
+<!-- The 4th right-most line of left-most "S" --> <div>WWWW&nbsp; X</div>
+
+
+
+<!-- The right-most line of "A" --> <div class="right-border">YYYYYYY</div>
+
+<!-- The 2nd right-most line of "A" --> <div>Z&nbsp; a&nbsp;&nbsp; </div>
+
+<!-- The 3rd right-most line of "A" --> <div>b&nbsp; c&nbsp;&nbsp; </div>
+
+<!-- The 4th right-most line of "A" --> <div>ddddddd</div>
+
+
+
+<!-- The right-most line of "P" --> <div class="right-border">eeee&nbsp;&nbsp; </div>
+
+<!-- The 2nd right-most line of "P" --> <div>f&nbsp; g&nbsp;&nbsp; </div>
+
+<!-- The 3rd right-most line of "P" --> <div>h&nbsp; j&nbsp;&nbsp; </div>
+
+<!-- The 4th right-most line of "P" --> <div id="left-border">kkkkkkk</div>
+
+  </div>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/block-flow-direction-vrl-021.xht
@@ -0,0 +1,103 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Writing Modes Test: list and vertical-rl - block flow direction of block-level boxes</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+  <link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#writing-mode" title="3.1 Block Flow Direction: the writing-mode property" />
+  <link rel="match" href="block-flow-direction-002-ref.xht" />
+
+  <meta content="ahem image" name="flags" />
+  <meta content="This test checks that block-level boxes in a block formating context with 'writing-mode' set to 'vertical-rl' are laid out one after the other with the first beginning at the right-hand side of its containing block; they are ordered from right to left meaning that the 1st block box is the rightmost one and then the 2nd block is juxtaposed to its left-hand side, the 3rd block is juxtaposed to the 2nd block on its left-hand side, etc... " name="assert" />
+
+<style type="text/css"><![CDATA[
+@font-face {
+  font-family: Ahem;
+  src: url("../../../fonts/Ahem.ttf");
+}
+]]></style>
+  <style type="text/css"><![CDATA[
+  html
+    {
+      writing-mode: vertical-rl;
+    }
+  /*
+  "
+  The principal writing mode of the document is determined by the writing-mode
+  and direction values specified on the root element.
+  "
+  */
+
+  body
+    {
+      color: yellow;
+      font: 20px/1 Ahem;
+      height: 9em;
+    }
+
+  ul
+    {
+      background-color: blue;
+      border-bottom: blue solid 1em;
+      list-style: none outside url("support/blue1x1.png");
+      margin: 0em;
+      padding-top: 1em; /* overriding default padding-start: 40px in several browsers */
+    }
+
+  ul.right-border
+    {
+      border-right: blue solid 1em;
+    }
+
+  ul#left-border
+    {
+      border-left: blue solid 1em;
+    }
+  ]]></style>
+ </head>
+
+ <body>
+
+<!-- The right-most line of right-most "S" --> <ul class="right-border"><li>A&nbsp; BBBB</li></ul>
+
+<!-- The 2nd right-most line of right-most "S" --> <ul><li>C&nbsp; D&nbsp; E</li></ul>
+
+<!-- The 3rd right-most line of right-most "S" --> <ul><li>F&nbsp; G&nbsp; H</li></ul>
+
+<!-- The 4th right-most line of right-most "S" --> <ul><li>JJJJ&nbsp; K</li></ul>
+
+
+
+<!-- The right-most line of left-most "S" --> <ul class="right-border"><li>L&nbsp; MMMM</li></ul>
+
+<!-- The 2nd right-most line of left-most "S" --> <ul><li>Q&nbsp; R&nbsp; S</li></ul>
+
+<!-- The 3rd right-most line of left-most "S" --> <ul><li>T&nbsp; U&nbsp; V</li></ul>
+
+<!-- The 4th right-most line of left-most "S" --> <ul><li>WWWW&nbsp; X</li></ul>
+
+
+
+<!-- The right-most line of "A" --> <ul class="right-border"><li>YYYYYYY</li></ul>
+
+<!-- The 2nd right-most line of "A" --> <ul><li>Z&nbsp; a&nbsp;&nbsp; </li></ul>
+
+<!-- The 3rd right-most line of "A" --> <ul><li>b&nbsp; c&nbsp;&nbsp; </li></ul>
+
+<!-- The 4th right-most line of "A" --> <ul><li>ddddddd</li></ul>
+
+
+
+<!-- The right-most line of "P" --> <ul class="right-border"><li>eeee&nbsp;&nbsp; </li></ul>
+
+<!-- The 2nd right-most line of "P" --> <ul><li>f&nbsp; g&nbsp;&nbsp; </li></ul>
+
+<!-- The 3rd right-most line of "P" --> <ul><li>h&nbsp; j&nbsp;&nbsp; </li></ul>
+
+<!-- The 4th right-most line of "P" --> <ul id="left-border"><li>kkkkkkk</li></ul>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/block-flow-direction-vrl-024.xht
@@ -0,0 +1,71 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Writing Modes Test: vertical-rl - block flow direction of block-level boxes</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+  <link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#writing-mode" title="3.1 Block Flow Direction: the writing-mode property" />
+  <link rel="match" href="block-flow-direction-002-ref.xht" />
+
+  <meta content="ahem" name="flags" />
+  <meta content="This test checks that block-level boxes in a block formating context with 'writing-mode' set to 'vertical-rl' are laid out one after the other with the first beginning at the right-hand side of its containing block; they are ordered from right to left meaning that the 1st block box is the rightmost one, then the 2nd block is juxtaposed at its left-hand side, then the 3rd block is juxtaposed at the 2nd block on its left-hand side, etc... " name="assert" />
+
+  <!--
+  This test is a variation of block-flow-direction-002 test.
+  -->
+
+<style type="text/css"><![CDATA[
+@font-face {
+  font-family: Ahem;
+  src: url("../../../fonts/Ahem.ttf");
+}
+]]></style>
+  <style type="text/css"><![CDATA[
+  html
+    {
+      writing-mode: vertical-rl;
+    }
+  /*
+  "
+  The principal writing mode of the document is determined by the writing-mode
+  and direction values specified on the root element.
+  "
+  */
+
+  body
+    {
+      color: yellow;
+      font: 20px/1 Ahem;
+      height: 9em;
+    }
+
+  div
+    {
+      background-color: blue;
+      border-bottom: blue solid 1em;
+      border-right: blue solid 1em;
+      border-top: blue solid 1em;
+    }
+
+  div#left-border
+    {
+      border-left: blue solid 1em;
+    }
+  ]]></style>
+ </head>
+
+ <body>
+
+<!-- The right-most "S" --> <div>A&nbsp; BBBB C&nbsp; D&nbsp; E F&nbsp; G&nbsp; H JJJJ&nbsp; K</div>
+
+<!-- The left-most "S" --> <div>L&nbsp; MMMM Q&nbsp; R&nbsp; S T&nbsp; U&nbsp; V WWWW&nbsp; X</div>
+
+<!-- The "A" --> <div>YYYYYYY Z&nbsp; a&nbsp;&nbsp; b&nbsp; c&nbsp;&nbsp; ddddddd</div>
+
+<!-- The "P" --> <div id="left-border">eeee&nbsp;&nbsp; f&nbsp; g&nbsp;&nbsp; h&nbsp; j&nbsp;&nbsp; kkkkkkk</div>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/block-flow-direction-vrl-025.xht
@@ -0,0 +1,45 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Writing Modes Test: writing mode of document - horizontal position of first block</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+  <link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#writing-mode" title="3.1 Block Flow Direction: the writing-mode property" />
+  <link rel="help" href="http://www.w3.org/TR/2011/REC-CSS2-20110607/visuren.html#block-formatting" title="9.4.1 Block formatting contexts" />
+  <link rel="match" href="block-flow-direction-025-ref.xht" />
+
+  <meta content="image" name="flags" />
+  <meta content="This test checks that, when 'writing-mode' value of the root element is set to 'vertical-rl', then its block boxes are laid out leftwardedly (from right to left) one after the other beginning at its righthand side." name="assert" />
+
+  <style type="text/css"><![CDATA[
+  html
+    {
+      writing-mode: vertical-rl;
+    }
+
+  div
+    {
+      background-color: blue;
+      height: 100px;
+      width: 100px;
+    }
+  ]]></style>
+ </head>
+
+ <body>
+
+  <div></div>
+
+  <p><img src="support/block-flow-direction-025-exp-res.png" width="359" height="36" alt="Image download support must be enabled" /></p>
+
+  <!--
+  The image says:
+  Test passes if there is a blue square in the
+  <strong>upper-right corner</strong> of the page.
+  -->
+
+ </body>
+</html>
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/block-flow-direction-vrl-026-ref.xht
@@ -0,0 +1,39 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+	<head>
+		<title>CSS Reftest Reference</title>
+		<link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+		<meta name="flags" content="ahem" />
+<style type="text/css"><![CDATA[
+@font-face {
+  font-family: Ahem;
+  src: url("../../../fonts/Ahem.ttf");
+}
+]]></style>
+		<style type="text/css">
+				div
+				{
+					background: pink;
+					border: 1px solid black;
+					color: blue;
+					font: 20px/1 "Ahem";
+					margin: 10px;
+					width: 3em;
+					white-space: pre;
+				}
+		</style>
+	</head>
+	<body>
+		<p>Test passes if the 2 pink-and-blue rectangles are <strong>identical</strong>.</p>
+
+		<div>7 1
+ 52
+ 63</div>
+
+		<div>7 1
+ 52
+ 63</div>
+
+	</body>
+</html>
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/block-flow-direction-vrl-026.xht
@@ -0,0 +1,49 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+	<head>
+		<title>CSS Writing Modes Test: vertical-rl - block flow direction of block-level boxes</title>
+		<link rel="author" title="Taka Oshiyama" href="mailto:takaoshiyama@gmail.com" />
+		<link rel="reviewer" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+		<link rel="help" title="3.1. Block Flow Direction: the 'writing-mode' property" href="http://www.w3.org/TR/css-writing-modes-3/#block-flow" />
+		<link rel="match" href="block-flow-direction-vrl-026-ref.xht" />
+		<meta name="flags" content="ahem" />
+		<meta name="assert" content="This test checks 1.block flow direction, 2.inline direction when 'writing-mode' is set to 'vertical-rl'." />
+<style type="text/css"><![CDATA[
+@font-face {
+  font-family: Ahem;
+  src: url("../../../fonts/Ahem.ttf");
+}
+]]></style>
+		<style type="text/css">
+				.view_ahem
+				{
+					background: pink;
+					border: 1px solid black;
+					color: blue;
+					font: 20px/1 "Ahem";
+					height: 3em;
+					margin: 10px;
+					width: 3em;
+					white-space: pre;
+				}
+				#test_ahem
+				{
+					writing-mode: vertical-rl;
+				}
+				#control_ahem
+				{
+					writing-mode: horizontal-tb;
+				}
+		</style>
+	</head>
+	<body>
+		<p>Test passes if the 2 pink-and-blue rectangles are <strong>identical</strong>.</p>
+		<div class="view_ahem"><span id="test_ahem">123
+ 56
+7  </span></div>
+		<div class="view_ahem"><span id="control_ahem">7 1
+ 52
+ 63</span></div>
+	</body>
+</html>
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/block-override-001.html
@@ -0,0 +1,49 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+<meta charset="utf-8"/>
+<title>direction: div override rtl</title>
+
+<link rel="author" title="Richard Ishida" href='mailto:ishida@w3.org'/>
+<link rel="help" href='http://www.w3.org/TR/css-writing-modes-3/#text-direction'/>
+<link rel="match" href='reference/block-override-001.html'/>
+<meta name="assert" content='If unicode-bidi:bidi-override is applied to a block element, characters are displayed strictly in sequence according to the direction property.'/>
+<style type="text/css">
+.test { direction: rtl; unicode-bidi: bidi-override; }
+
+ /* the following styles are not part of the test */
+.test, .ref { font-size: 150%; border: 1px solid orange; margin: 10px; width: 10em; padding: 5px; clear: both; }
+input { margin: 5px; }
+@font-face {
+    font-family: 'ezra_silregular';
+    src: url('support/sileot-webfont.woff') format('woff');
+    font-weight: normal;
+    font-style: normal;
+    }
+.test, .ref { font-family: ezra_silregular, serif; }
+</style>
+</head>
+<body>
+<p class="instructions" dir="ltr">Test passes if the two boxes are identical.</p>
+
+
+<!--Notes:
+Key to entities used below:
+        &#x5d0; ... &#x5d5; - The first six Hebrew letters (strongly RTL).
+        &#x202d; - The LRO (left-to-right-override) formatting character.
+        &#x202c; - The PDF (pop directional formatting) formatting character; closes LRO.
+-->
+
+
+
+<div class="test">&gt; ab &gt; &#x5d2;&#x5d3; &gt; ef &gt;</div>
+
+
+<div class="ref" dir="rtl">&#x202d;&lt; fe &lt; &#x5d3;&#x5d2; &lt; ba &lt;&#x202c;</div>
+
+
+
+
+
+
+</body></html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/block-override-002.html
@@ -0,0 +1,49 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+<meta charset="utf-8"/>
+<title>direction: div override ltr</title>
+
+<link rel="author" title="Richard Ishida" href='mailto:ishida@w3.org'/>
+<link rel="help" href='http://www.w3.org/TR/css-writing-modes-3/#text-direction'/>
+<link rel="match" href='reference/block-override-002.html'/>
+<meta name="assert" content='If unicode-bidi:bidi-override is applied to a block element, characters are displayed strictly in sequence according to the direction property.'/>
+<style type="text/css">
+.test { direction: ltr; unicode-bidi: bidi-override; }
+
+ /* the following styles are not part of the test */
+.test, .ref { font-size: 150%; border: 1px solid orange; margin: 10px; width: 10em; padding: 5px; clear: both; }
+input { margin: 5px; }
+@font-face {
+    font-family: 'ezra_silregular';
+    src: url('support/sileot-webfont.woff') format('woff');
+    font-weight: normal;
+    font-style: normal;
+    }
+.test, .ref { font-family: ezra_silregular, serif; }
+</style>
+</head>
+<body>
+<p class="instructions" dir="ltr">Test passes if the two boxes are identical.</p>
+
+
+<!--Notes:
+Key to entities used below:
+        &#x5d0; ... &#x5d5; - The first six Hebrew letters (strongly RTL).
+        &#x202d; - The LRO (left-to-right-override) formatting character.
+        &#x202c; - The PDF (pop directional formatting) formatting character; closes LRO.
+-->
+
+
+<div dir="rtl">
+<div class="test">&gt; ab &gt; &#x5d2;&#x5d3; &gt; ef &gt;</div>
+
+<div class="ref" dir="ltr">&#x202d;&gt; ab &gt; &#x5d2;&#x5d3; &gt; ef &gt;&#x202c;</div>
+</div>
+
+
+
+
+
+
+</body></html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/block-override-003.html
@@ -0,0 +1,47 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+<meta charset="utf-8"/>
+<title>direction: div direction ltr</title>
+
+<link rel="author" title="Richard Ishida" href='mailto:ishida@w3.org'/>
+<link rel="help" href='http://www.w3.org/TR/css-writing-modes-3/#text-direction'/>
+<link rel="match" href='reference/block-override-003.html'/>
+<meta name="assert" content='If unicode-bidi:bidi-override is applied to a block element with no direction value set, characters are displayed strictly in sequence, in ltr order.'/>
+<style type="text/css">
+.test { unicode-bidi: bidi-override; }
+
+ /* the following styles are not part of the test */
+.test, .ref { font-size: 150%; border: 1px solid orange; margin: 10px; width: 10em; padding: 5px; clear: both; }
+input { margin: 5px; }
+@font-face {
+    font-family: 'ezra_silregular';
+    src: url('support/sileot-webfont.woff') format('woff');
+    font-weight: normal;
+    font-style: normal;
+    }
+.test, .ref { font-family: ezra_silregular, serif; }
+</style>
+</head>
+<body>
+<p class="instructions" dir="ltr">Test passes if the two boxes are identical.</p>
+
+
+<!--Notes:
+Key to entities used below:
+        &#x5d0; ... &#x5d5; - The first six Hebrew letters (strongly RTL).
+        &#x202d; - The LRO (left-to-right-override) formatting character.
+        &#x202c; - The PDF (pop directional formatting) formatting character; closes LRO.
+-->
+
+
+<div class="test">&gt; ab &gt; &#x5d2;&#x5d3; &gt; ef &gt;</div>
+
+<div class="ref" dir="ltr">&#x202d;&gt; ab &gt; &#x5d2;&#x5d3; &gt; ef &gt;&#x202c;</div>
+
+
+
+
+
+
+</body></html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/block-override-004.html
@@ -0,0 +1,54 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+<meta charset="utf-8"/>
+<title>unicode-bidi: div override inheritance</title>
+
+<link rel="author" title="Richard Ishida" href='mailto:ishida@w3.org'/>
+<link rel="help" href='http://www.w3.org/TR/css-writing-modes-3/#text-direction'/>
+<link rel="match" href='reference/block-override-004.html'/>
+<meta name="assert" content='If unicode-bidi:bidi-override is applied to a block element, all characters in immediate inline text are displayed strictly in sequence according to the direction property, but content of contained blocks is not.'/>
+<style type="text/css">
+.test { direction: rtl; unicode-bidi: bidi-override; }
+
+ /* the following styles are not part of the test */
+.test, .ref { font-size: 150%; border: 1px solid orange; margin: 10px; width: 10em; padding: 5px; clear: both; }
+input { margin: 5px; }
+@font-face {
+    font-family: 'ezra_silregular';
+    src: url('support/sileot-webfont.woff') format('woff');
+    font-weight: normal;
+    font-style: normal;
+    }
+.test, .ref { font-family: ezra_silregular, serif; }
+</style>
+</head>
+<body>
+<p class="instructions" dir="ltr">Test passes if the two boxes are identical.</p>
+
+
+<!--Notes:
+Key to entities used below:
+        &#x5d0; ... &#x5d5; - The first six Hebrew letters (strongly RTL).
+        &#x202d; - The LRO (left-to-right-override) formatting character.
+        &#x202c; - The PDF (pop directional formatting) formatting character; closes LRO.
+-->
+
+
+<div class="test">
+&gt; ab &gt; &#x5d2;&#x5d3; &gt; ef &gt;
+<div>&gt; ab &gt; &#x5d2;&#x5d3; &gt; ef &gt;</div>
+&gt; ab &gt; &#x5d2;&#x5d3; &gt; ef &gt;
+</div>
+
+<div class="ref">
+<div dir="rtl">&#x202d;&lt; fe &lt; &#x5d3;&#x5d2; &lt; ba &lt;&#x202c;</div>
+<div dir="rtl">&#x202d;&lt; ef &lt; &#x5d3;&#x5d2; &lt; ab &lt;&#x202c;</div>
+<div dir="rtl">&#x202d;&lt; fe &lt; &#x5d3;&#x5d2; &lt; ba &lt;&#x202c;</div>
+</div>
+
+
+
+
+
+</body></html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/block-override-isolate-001.html
@@ -0,0 +1,49 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+<meta charset="utf-8"/>
+<title>direction: div override rtl</title>
+
+<link rel="author" title="Richard Ishida" href='mailto:ishida@w3.org'/>
+<link rel="help" href='http://www.w3.org/TR/css-writing-modes-3/#text-direction'/>
+<link rel="match" href='reference/block-override-isolate-001.html'/>
+<meta name="assert" content='If unicode-bidi:isolate-override is applied to a block element, characters are displayed strictly in sequence according to the direction property.'/>
+<style type="text/css">
+.test { direction: rtl; unicode-bidi: isolate-override; }
+
+ /* the following styles are not part of the test */
+.test, .ref { font-size: 150%; border: 1px solid orange; margin: 10px; width: 10em; padding: 5px; clear: both; }
+input { margin: 5px; }
+@font-face {
+    font-family: 'ezra_silregular';
+    src: url('support/sileot-webfont.woff') format('woff');
+    font-weight: normal;
+    font-style: normal;
+    }
+.test, .ref { font-family: ezra_silregular, serif; }
+</style>
+</head>
+<body>
+<p class="instructions" dir="ltr">Test passes if the two boxes are identical.</p>
+
+
+<!--Notes:
+Key to entities used below:
+        &#x5d0; ... &#x5d5; - The first six Hebrew letters (strongly RTL).
+        &#x202d; - The LRO (left-to-right-override) formatting character.
+        &#x202c; - The PDF (pop directional formatting) formatting character; closes LRO.
+-->
+
+
+
+<div class="test">&gt; ab &gt; &#x5d2;&#x5d3; &gt; ef &gt;</div>
+
+
+<div class="ref" dir="rtl">&#x202d;&lt; fe &lt; &#x5d3;&#x5d2; &lt; ba &lt;&#x202c;</div>
+
+
+
+
+
+
+</body></html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/block-override-isolate-002.html
@@ -0,0 +1,49 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+<meta charset="utf-8"/>
+<title>direction: div override ltr</title>
+
+<link rel="author" title="Richard Ishida" href='mailto:ishida@w3.org'/>
+<link rel="help" href='http://www.w3.org/TR/css-writing-modes-3/#text-direction'/>
+<link rel="match" href='reference/block-override-isolate-002.html'/>
+<meta name="assert" content='If unicode-bidi:isolate-override is applied to a block element, characters are displayed strictly in sequence according to the direction property.'/>
+<style type="text/css">
+.test { direction: ltr; unicode-bidi: isolate-override; }
+
+ /* the following styles are not part of the test */
+.test, .ref { font-size: 150%; border: 1px solid orange; margin: 10px; width: 10em; padding: 5px; clear: both; }
+input { margin: 5px; }
+@font-face {
+    font-family: 'ezra_silregular';
+    src: url('support/sileot-webfont.woff') format('woff');
+    font-weight: normal;
+    font-style: normal;
+    }
+.test, .ref { font-family: ezra_silregular, serif; }
+</style>
+</head>
+<body>
+<p class="instructions" dir="ltr">Test passes if the two boxes are identical.</p>
+
+
+<!--Notes:
+Key to entities used below:
+        &#x5d0; ... &#x5d5; - The first six Hebrew letters (strongly RTL).
+        &#x202d; - The LRO (left-to-right-override) formatting character.
+        &#x202c; - The PDF (pop directional formatting) formatting character; closes LRO.
+-->
+
+
+<div dir="rtl">
+<div class="test">&gt; ab &gt; &#x5d2;&#x5d3; &gt; ef &gt;</div>
+
+<div class="ref" dir="ltr">&#x202d;&gt; ab &gt; &#x5d2;&#x5d3; &gt; ef &gt;&#x202c;</div>
+</div>
+
+
+
+
+
+
+</body></html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/block-override-isolate-003.html
@@ -0,0 +1,47 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+<meta charset="utf-8"/>
+<title>direction: div direction ltr</title>
+
+<link rel="author" title="Richard Ishida" href='mailto:ishida@w3.org'/>
+<link rel="help" href='http://www.w3.org/TR/css-writing-modes-3/#text-direction'/>
+<link rel="match" href='reference/block-override-isolate-003.html'/>
+<meta name="assert" content='If unicode-bidi:isolate-override is applied to a block element with no direction value set, characters are displayed strictly in sequence, in ltr order.'/>
+<style type="text/css">
+.test { unicode-bidi: isolate-override; }
+
+ /* the following styles are not part of the test */
+.test, .ref { font-size: 150%; border: 1px solid orange; margin: 10px; width: 10em; padding: 5px; clear: both; }
+input { margin: 5px; }
+@font-face {
+    font-family: 'ezra_silregular';
+    src: url('support/sileot-webfont.woff') format('woff');
+    font-weight: normal;
+    font-style: normal;
+    }
+.test, .ref { font-family: ezra_silregular, serif; }
+</style>
+</head>
+<body>
+<p class="instructions" dir="ltr">Test passes if the two boxes are identical.</p>
+
+
+<!--Notes:
+Key to entities used below:
+        &#x5d0; ... &#x5d5; - The first six Hebrew letters (strongly RTL).
+        &#x202d; - The LRO (left-to-right-override) formatting character.
+        &#x202c; - The PDF (pop directional formatting) formatting character; closes LRO.
+-->
+
+
+<div class="test">&gt; ab &gt; &#x5d2;&#x5d3; &gt; ef &gt;</div>
+
+<div class="ref" dir="ltr">&#x202d;&gt; ab &gt; &#x5d2;&#x5d3; &gt; ef &gt;&#x202c;</div>
+
+
+
+
+
+
+</body></html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/block-override-isolate-004.html
@@ -0,0 +1,54 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+<meta charset="utf-8"/>
+<title>unicode-bidi: div override inheritance</title>
+
+<link rel="author" title="Richard Ishida" href='mailto:ishida@w3.org'/>
+<link rel="help" href='http://www.w3.org/TR/css-writing-modes-3/#text-direction'/>
+<link rel="match" href='reference/block-override-isolate-004.html'/>
+<meta name="assert" content='If unicode-bidi:isolate-override is applied to a block element, all characters in immediate inline text are displayed strictly in sequence according to the direction property, but content of contained blocks is not.'/>
+<style type="text/css">
+.test { direction: rtl; unicode-bidi: isolate-override; }
+
+ /* the following styles are not part of the test */
+.test, .ref { font-size: 150%; border: 1px solid orange; margin: 10px; width: 10em; padding: 5px; clear: both; }
+input { margin: 5px; }
+@font-face {
+    font-family: 'ezra_silregular';
+    src: url('support/sileot-webfont.woff') format('woff');
+    font-weight: normal;
+    font-style: normal;
+    }
+.test, .ref { font-family: ezra_silregular, serif; }
+</style>
+</head>
+<body>
+<p class="instructions" dir="ltr">Test passes if the two boxes are identical.</p>
+
+
+<!--Notes:
+Key to entities used below:
+        &#x5d0; ... &#x5d5; - The first six Hebrew letters (strongly RTL).
+        &#x202d; - The LRO (left-to-right-override) formatting character.
+        &#x202c; - The PDF (pop directional formatting) formatting character; closes LRO.
+-->
+
+
+<div class="test">
+&gt; ab &gt; &#x5d2;&#x5d3; &gt; ef &gt;
+<div>&gt; ab &gt; &#x5d2;&#x5d3; &gt; ef &gt;</div>
+&gt; ab &gt; &#x5d2;&#x5d3; &gt; ef &gt;
+</div>
+
+<div class="ref">
+<div dir="rtl">&#x202d;&lt; fe &lt; &#x5d3;&#x5d2; &lt; ba &lt;&#x202c;</div>
+<div dir="rtl">&#x202d;&lt; ef &lt; &#x5d3;&#x5d2; &lt; ab &lt;&#x202c;</div>
+<div dir="rtl">&#x202d;&lt; fe &lt; &#x5d3;&#x5d2; &lt; ba &lt;&#x202c;</div>
+</div>
+
+
+
+
+
+</body></html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/block-plaintext-001.html
@@ -0,0 +1,51 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+<meta charset="utf-8"/>
+<title>unicode-bidi: div plaintext, rtl</title>
+
+<link rel="author" title="Richard Ishida" href='mailto:ishida@w3.org'/>
+<link rel="help" href='http://www.w3.org/TR/css-writing-modes-3/#text-direction'/>
+<link rel="match" href='reference/block-plaintext-001.html'/>
+<meta name="assert" content='If unicode-bidi: plaintext is applied to a div element containing mixed direction text, the order of directional runs in the text in that element will be determined by its first strong character.'/>
+<style type="text/css">
+.test { unicode-bidi: plaintext; }
+
+ /* the following styles are not part of the test */
+.test, .ref { font-size: 150%; border: 1px solid orange; margin: 10px; width: 10em; padding: 5px; clear: both; }
+input { margin: 5px; }
+@font-face {
+    font-family: 'ezra_silregular';
+    src: url('support/sileot-webfont.woff') format('woff');
+    font-weight: normal;
+    font-style: normal;
+    }
+.test, .ref { font-family: ezra_silregular, serif; }
+</style>
+</head>
+<body>
+<p class="instructions" dir="ltr">Test passes if the two boxes are identical.</p>
+
+
+<!--Notes:
+Key to entities used below:
+        &#x5d0; ... &#x5d5; - The first six Hebrew letters (strongly RTL).
+        &#x202d; - The LRO (left-to-right-override) formatting character.
+        &#x202c; - The PDF (pop directional formatting) formatting character; closes LRO.
+
+The punctuation is moved around in the source to make it easier to do visual comparisons when the test is run.
+-->
+
+
+
+<div class="test">&gt; &#x5d0; &gt; b &gt; &#x5d2; &gt;</div>
+
+
+<div class="ref" dir="rtl">&#x202d;&lt; &#x5d2; &lt; b &lt; &#x5d0; &lt;&#x202c;</div>
+
+
+
+
+
+
+</body></html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/block-plaintext-002.html
@@ -0,0 +1,51 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+<meta charset="utf-8"/>
+<title>unicode-bidi: div plaintext, ltr</title>
+
+<link rel="author" title="Richard Ishida" href='mailto:ishida@w3.org'/>
+<link rel="help" href='http://www.w3.org/TR/css-writing-modes-3/#text-direction'/>
+<link rel="match" href='reference/block-plaintext-002.html'/>
+<meta name="assert" content='If unicode-bidi: plaintext is applied to a div element containing mixed direction text, the order of directional runs in the text in that element will be determined by its first strong character.'/>
+<style type="text/css">
+.test { unicode-bidi: plaintext; }
+
+ /* the following styles are not part of the test */
+.test, .ref { font-size: 150%; border: 1px solid orange; margin: 10px; width: 10em; padding: 5px; clear: both; }
+input { margin: 5px; }
+@font-face {
+    font-family: 'ezra_silregular';
+    src: url('support/sileot-webfont.woff') format('woff');
+    font-weight: normal;
+    font-style: normal;
+    }
+.test, .ref { font-family: ezra_silregular, serif; }
+</style>
+</head>
+<body>
+<p class="instructions" dir="ltr">Test passes if the two boxes are identical.</p>
+
+
+<!--Notes:
+Key to entities used below:
+        &#x5d0; ... &#x5d5; - The first six Hebrew letters (strongly RTL).
+        &#x202d; - The LRO (left-to-right-override) formatting character.
+        &#x202c; - The PDF (pop directional formatting) formatting character; closes LRO.
+
+The punctuation is moved around in the source to make it easier to do visual comparisons when the test is run.
+-->
+
+
+<div dir="rtl">
+<div class="test">&gt; a &gt; &#x5d1; &gt; c &gt;</div>
+
+<div class="ref" dir="ltr">&#x202d;&gt; a &gt; &#x5d1; &gt; c &gt;&#x202c;</div>
+</div>
+
+
+
+
+
+
+</body></html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/block-plaintext-003.html
@@ -0,0 +1,54 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+<meta charset="utf-8"/>
+<title>unicode-bidi: div plaintext inheritance</title>
+
+<link rel="author" title="Richard Ishida" href='mailto:ishida@w3.org'/>
+<link rel="help" href='http://www.w3.org/TR/css-writing-modes-3/#text-direction'/>
+<link rel="match" href='reference/block-plaintext-003.html'/>
+<meta name="assert" content='If unicode-bidi:plaintext is applied to a block element, directional runs are displayed according to the first strong character, but content of contained blocks is not.'/>
+<style type="text/css">
+.test { unicode-bidi: plaintext; }
+
+ /* the following styles are not part of the test */
+.test, .ref { font-size: 150%; border: 1px solid orange; margin: 10px; width: 10em; padding: 5px; clear: both; }
+input { margin: 5px; }
+@font-face {
+    font-family: 'ezra_silregular';
+    src: url('support/sileot-webfont.woff') format('woff');
+    font-weight: normal;
+    font-style: normal;
+    }
+.test, .ref { font-family: ezra_silregular, serif; }
+</style>
+</head>
+<body>
+<p class="instructions" dir="ltr">Test passes if the two boxes are identical.</p>
+
+
+<!--Notes:
+Key to entities used below:
+        &#x5d0; ... &#x5d5; - The first six Hebrew letters (strongly RTL).
+        &#x202d; - The LRO (left-to-right-override) formatting character.
+        &#x202c; - The PDF (pop directional formatting) formatting character; closes LRO.
+-->
+
+
+<div class="test">
+&gt; a &gt; &#x5d1; &gt; c &gt;
+<div>&gt; &#x5d0; &gt; b &gt; &#x5d2; &gt;</div>
+&gt; &#x5d0; &gt; b &gt; &#x5d2; &gt;
+</div>
+
+<div class="ref">
+<div dir="ltr">&#x202d;&gt; a &gt; &#x5d1; &gt; c &gt;&#x202c;</div>
+<div dir="ltr">&#x202d;&gt;  &#x5d0; &gt; b &gt;  &#x5d2; &gt;&#x202c;</div>
+<div dir="rtl">&#x202d;&lt;  &#x5d2; &lt; b &lt;  &#x5d0; &lt;&#x202c;</div>
+</div>
+
+
+
+
+
+</body></html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/block-plaintext-004.html
@@ -0,0 +1,54 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+<meta charset="utf-8"/>
+<title>unicode-bidi: div plaintext with br</title>
+
+<link rel="author" title="Richard Ishida" href='mailto:ishida@w3.org'/>
+<link rel="help" href='http://www.w3.org/TR/css-writing-modes-3/#text-direction'/>
+<link rel="match" href='reference/block-plaintext-004.html'/>
+<meta name="assert" content='If unicode-bidi:plaintext is applied to a div element containing br tags, each line of characters that starts after br is displayed according to the first strong character after the br.'/>
+<style type="text/css">
+.test { unicode-bidi: plaintext; }
+
+ /* the following styles are not part of the test */
+.test, .ref { font-size: 150%; border: 1px solid orange; margin: 10px; width: 10em; padding: 5px; clear: both; }
+input { margin: 5px; }
+@font-face {
+    font-family: 'ezra_silregular';
+    src: url('support/sileot-webfont.woff') format('woff');
+    font-weight: normal;
+    font-style: normal;
+    }
+.test, .ref { font-family: ezra_silregular, serif; }
+</style>
+</head>
+<body>
+<p class="instructions" dir="ltr">Test passes if the two boxes are identical.</p>
+
+
+<!--Notes:
+Key to entities used below:
+        &#x5d0; ... &#x5d5; - The first six Hebrew letters (strongly RTL).
+        &#x202d; - The LRO (left-to-right-override) formatting character.
+        &#x202c; - The PDF (pop directional formatting) formatting character; closes LRO.
+-->
+
+
+<div class="test">
+&gt; a &gt; &#x5d1; &gt; c &gt;<br/>
+&gt; &#x5d0; &gt; b &gt; &#x5d2; &gt;<br/>
+&gt; a &gt; &#x5d1; &gt; c &gt;<br/>
+</div>
+
+<div class="ref">
+<div dir="ltr">&#x202d;&gt; a &gt; &#x5d1; &gt; c &gt;&#x202c;</div>
+<div dir="rtl">&#x202d;&lt;  &#x5d2; &lt; b &lt;  &#x5d0; &lt;&#x202c;</div>
+<div dir="ltr">&#x202d;&gt; a &gt; &#x5d1; &gt; c &gt;&#x202c;</div>
+</div>
+
+
+
+
+
+</body></html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/border-conflict-element-vlr-003.xht
@@ -0,0 +1,69 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Writing Modes Test: Border conflict resolution - adjacent cells with same border styles in a 'vertical-lr' table with 'direction: ltr' (basic)</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+  <link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#logical-directions" title="6.2 Flow-relative Directions" />
+  <link rel="help" href="http://www.w3.org/TR/CSS21/tables.html#border-conflict-resolution" title="17.6.2.1 Border conflict resolution" />
+  <link rel="match" href="../css21/reference/ref-filled-green-100px-square.xht" />
+
+  <meta content="" name="flags" />
+  <meta content="When two adjacent cells have the same 'border-width' value and the same 'border-style' value in a 'border-collapse: collapse' table, then the color of the border of the cell closest to line-left side wins (if the table's 'direction' is 'ltr'; line-right side, if it is 'rtl') and the color of the border of the cell closest to block-start side wins." name="assert" />
+
+  <style type="text/css"><![CDATA[
+  table
+    {
+      border-collapse: collapse;
+      direction: ltr;
+      writing-mode: vertical-lr;
+    }
+
+  td
+    {
+      padding: 0px;
+    }
+
+  td#five
+    {
+      border-bottom-color: green;
+      border-bottom-style: solid;
+      border-bottom-width: 100px;
+    }
+
+  td#six
+    {
+      border-top-color: red;
+      border-top-style: solid;
+      border-top-width: 100px;
+      width: 100px;
+    }
+  ]]></style>
+
+ </head>
+
+ <body>
+
+  <p>Test passes if there is a filled green square and <strong>no red</strong>.</p>
+
+  <table>
+
+    <tr>
+      <td></td> <td></td> <td></td>
+    </tr>
+
+    <tr>
+      <td></td> <td id="five"></td> <td id="six"></td>
+    </tr>
+
+    <tr>
+      <td></td> <td></td> <td></td>
+    </tr>
+
+  </table>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/border-conflict-element-vlr-005.xht
@@ -0,0 +1,69 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Writing Modes Test: Border conflict resolution - adjacent cells with same border styles in a 'vertical-lr' table with 'direction: ltr' (basic)</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+  <link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#logical-directions" title="6.2 Flow-relative Directions" />
+  <link rel="help" href="http://www.w3.org/TR/CSS21/tables.html#border-conflict-resolution" title="17.6.2.1 Border conflict resolution" />
+  <link rel="match" href="../css21/reference/ref-filled-green-100px-square.xht" />
+
+  <meta content="" name="flags" />
+  <meta content="When two adjacent cells have the same 'border-width' value and the same 'border-style' value in a 'border-collapse: collapse' table, then the color of the border of the cell closest to line-left side wins (if the table's 'direction' is 'ltr'; line-right side, if it is 'rtl') and the color of the border of the cell closest to block-start side wins." name="assert" />
+
+  <style type="text/css"><![CDATA[
+  table
+    {
+      border-collapse: collapse;
+      direction: ltr;
+      writing-mode: vertical-lr;
+    }
+
+  td
+    {
+      padding: 0px;
+    }
+
+  td#five
+    {
+      border-right-color: green;
+      border-right-style: solid;
+      border-right-width: 100px;
+    }
+
+  td#eight
+    {
+      border-left-color: red;
+      border-left-style: solid;
+      border-left-width: 100px;
+      height: 100px;
+    }
+  ]]></style>
+
+ </head>
+
+ <body>
+
+  <p>Test passes if there is a filled green square and <strong>no red</strong>.</p>
+
+  <table>
+
+    <tr>
+      <td></td> <td></td> <td></td>
+    </tr>
+
+    <tr>
+      <td></td> <td id="five"></td> <td></td>
+    </tr>
+
+    <tr>
+      <td></td> <td id="eight"></td> <td></td>
+    </tr>
+
+  </table>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/border-conflict-element-vlr-007.xht
@@ -0,0 +1,151 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Writing Modes Test: Border conflict resolution - adjacent cells with same border styles in a 'vertical-lr' table with 'direction: ltr' (complex)</title>
+
+  <!--
+  Original (and horizontal-tb) test is
+  http://test.csswg.org/suites/css2.1/nightly-unstable/html4/border-conflict-element-001a.htm
+  -->
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+  <link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#logical-directions" title="6.2 Flow-relative Directions" />
+  <link rel="help" href="http://www.w3.org/TR/CSS21/tables.html#border-conflict-resolution" title="17.6.2.1 Border conflict resolution" />
+  <link rel="match" href="../css21/reference/ref-filled-green-100px-square.xht" />
+
+  <meta content="" name="flags" />
+  <meta content="When two adjacent cells have the same 'border-width' value and the same 'border-style' value in a 'border-collapse: collapse' table, then the color of the border of the cell closest to line-left side wins (if the table's 'direction' is 'ltr'; line-right side, if it is 'rtl') and the color of the border of the cell closest to block-start side wins." name="assert" />
+
+  <style type="text/css"><![CDATA[
+  table
+    {
+      border-collapse: collapse;
+      direction: ltr;
+      writing-mode: vertical-lr;
+    }
+
+  td
+    {
+      border-style: solid solid solid solid;
+      border-width: 20px 20px 20px 20px;
+      padding: 0px;
+    }
+
+  td#one
+    {
+    border-color: green green green green;
+    }
+
+  td#two
+    {
+      border-color: red green green green;
+    }
+
+  td#three
+    {
+      border-color: red green green green;
+    }
+
+  td#four
+    {
+      border-color: red green green green;
+    }
+
+
+
+  td#five
+    {
+      border-color: green green green red;
+    }
+
+  td#six
+    {
+      border-color: red green green red;
+    }
+
+  td#seven
+    {
+      border-color: red green green red;
+    }
+
+  td#eight
+    {
+      border-color: red green green red;
+    }
+
+
+
+  td#nine
+    {
+      border-color: green green green red;
+    }
+
+  td#ten
+    {
+      border-color: red green green red;
+    }
+
+  td#eleven
+    {
+      border-color: red green green red;
+    }
+
+  td#twelve
+    {
+      border-color: red green green red;
+    }
+
+
+
+  td#thirteen
+    {
+      border-color: green green green red;
+    }
+
+  td#fourteen
+    {
+      border-color: red green green red;
+    }
+
+  td#fifteen
+    {
+      border-color: red green green red;
+    }
+
+  td#sixteen
+    {
+      border-color: red green green red;
+    }
+  ]]></style>
+
+ </head>
+
+ <body>
+
+  <p>Test passes if there is a filled green square and <strong>no red</strong>.</p>
+
+  <table>
+
+      <tr>
+          <td id="one"></td> <td id="two"></td> <td id="three"></td> <td id="four"></td>
+      </tr>
+
+      <tr>
+          <td id="five"></td> <td id="six"></td> <td id="seven"></td> <td id="eight"></td>
+      </tr>
+
+      <tr>
+          <td id="nine"></td> <td id="ten"></td> <td id="eleven"></td> <td id="twelve"></td>
+      </tr>
+
+      <tr>
+          <td id="thirteen"></td> <td id="fourteen"></td> <td id="fifteen"></td> <td id="sixteen"></td>
+      </tr>
+
+  </table>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/border-conflict-element-vlr-009.xht
@@ -0,0 +1,152 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Writing Modes Test: Border conflict resolution - adjacent cells with same border styles in a 'vertical-lr' table with 'direction: ltr' (complex)</title>
+
+  <!--
+  Original (and horizontal-tb) test is
+  http://test.csswg.org/suites/css2.1/nightly-unstable/html4/border-conflict-element-001c.htm
+  -->
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+  <link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#logical-directions" title="6.2 Flow-relative Directions" />
+  <link rel="help" href="http://www.w3.org/TR/CSS21/tables.html#border-conflict-resolution" title="17.6.2.1 Border conflict resolution" />
+  <link rel="match" href="../css21/reference/ref-filled-green-100px-square.xht" />
+
+  <meta content="" name="flags" />
+  <meta content="When two adjacent cells have the same 'border-width' value and the same 'border-style' value in a 'border-collapse: collapse' table, then the color of the border of the cell closest to line-left side wins (if the table's 'direction' is 'ltr'; line-right side, if it is 'rtl') and the color of the border of the cell closest to block-start side wins." name="assert" />
+
+  <style type="text/css"><![CDATA[
+  table
+    {
+      border-collapse: collapse;
+      direction: ltr;
+      writing-mode: vertical-lr;
+    }
+
+  td
+    {
+      border-style: solid none solid none;
+      border-width: 20px 0px 20px 0px;
+      padding: 0px;
+      width: 25px; /* height of each logical row */
+    }
+
+  td#one
+    {
+      border-color: green red green red;
+    }
+
+  td#two
+    {
+      border-color: red red green red;
+    }
+
+  td#three
+    {
+      border-color: red red green red;
+    }
+
+  td#four
+    {
+      border-color: red red green red;
+    }
+
+
+
+  td#five
+    {
+      border-color: green red green red;
+    }
+
+  td#six
+    {
+      border-color: red red green red;
+    }
+
+  td#seven
+    {
+      border-color: red red green red;
+    }
+
+  td#eight
+    {
+      border-color: red red green red;
+    }
+
+
+
+  td#nine
+    {
+      border-color: green red green red;
+    }
+
+  td#ten
+    {
+      border-color: red red green red;
+    }
+
+  td#eleven
+    {
+      border-color: red red green red;
+    }
+
+  td#twelve
+    {
+      border-color: red red green red;
+    }
+
+
+
+  td#thirteen
+    {
+      border-color: green red green red;
+    }
+
+  td#fourteen
+    {
+      border-color: red red green red;
+    }
+
+  td#fifteen
+    {
+      border-color: red red green red;
+    }
+
+  td#sixteen
+    {
+      border-color: red red green red;
+    }
+  ]]></style>
+
+ </head>
+
+ <body>
+
+  <p>Test passes if there is a filled green square and <strong>no red</strong>.</p>
+
+  <table>
+
+      <tr>
+          <td id="one"></td> <td id="two"></td> <td id="three"></td> <td id="four"></td>
+      </tr>
+
+      <tr>
+          <td id="five"></td> <td id="six"></td> <td id="seven"></td> <td id="eight"></td>
+      </tr>
+
+      <tr>
+          <td id="nine"></td> <td id="ten"></td> <td id="eleven"></td> <td id="twelve"></td>
+      </tr>
+
+      <tr>
+          <td id="thirteen"></td> <td id="fourteen"></td> <td id="fifteen"></td> <td id="sixteen"></td>
+      </tr>
+
+  </table>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/border-conflict-element-vlr-011.xht
@@ -0,0 +1,146 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Writing Modes Test: Border conflict resolution - adjacent cells with same border styles in a 'vertical-lr' table with 'direction: rtl' (complex)</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+  <link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#logical-directions" title="6.2 Flow-relative Directions" />
+  <link rel="help" href="http://www.w3.org/TR/CSS21/tables.html#border-conflict-resolution" title="17.6.2.1 Border conflict resolution" />
+  <link rel="match" href="../css21/reference/ref-filled-green-100px-square.xht" />
+
+  <meta content="" name="flags" />
+  <meta content="When two adjacent cells have the same 'border-width' value and the same 'border-style' value in a 'border-collapse: collapse' table, then the color of the border of the cell closest to line-left side wins (if the table's 'direction' is 'ltr'; line-right side, if it is 'rtl') and the color of the border of the cell closest to block-start side wins." name="assert" />
+
+  <style type="text/css"><![CDATA[
+  table
+    {
+      border-collapse: collapse;
+      direction: rtl;
+      writing-mode: vertical-lr;
+    }
+
+  td
+    {
+      border-style: solid solid solid solid;
+      border-width: 20px 20px 20px 20px;
+      padding: 0px;
+    }
+
+  td#one
+    {
+      border-color: green green green green;
+    }
+
+  td#two
+    {
+      border-color: green green red green;
+    }
+
+  td#three
+    {
+      border-color: green green red green;
+    }
+
+  td#four
+    {
+      border-color: green green red green;
+    }
+
+
+
+  td#five
+    {
+      border-color: green green green red;
+    }
+
+  td#six
+    {
+      border-color: green green red red;
+    }
+
+  td#seven
+    {
+      border-color: green green red red;
+    }
+
+  td#eight
+    {
+      border-color: green green red red;
+    }
+
+
+
+  td#nine
+    {
+      border-color: green green green red;
+    }
+
+  td#ten
+    {
+      border-color: green green red red;
+    }
+
+  td#eleven
+    {
+      border-color: green green red red;
+    }
+
+  td#twelve
+    {
+      border-color: green green red red;
+    }
+
+
+
+  td#thirteen
+    {
+      border-color: green green green red;
+    }
+
+  td#fourteen
+    {
+      border-color: green green red red;
+    }
+
+  td#fifteen
+    {
+      border-color: green green red red;
+    }
+
+  td#sixteen
+    {
+      border-color: green green red red;
+    }
+  ]]></style>
+
+ </head>
+
+ <body>
+
+  <p>Test passes if there is a filled green square and <strong>no red</strong>.</p>
+
+  <table>
+
+      <tr>
+          <td id="one"></td> <td id="two"></td> <td id="three"></td> <td id="four"></td>
+      </tr>
+
+      <tr>
+          <td id="five"></td> <td id="six"></td> <td id="seven"></td> <td id="eight"></td>
+      </tr>
+
+      <tr>
+          <td id="nine"></td> <td id="ten"></td> <td id="eleven"></td> <td id="twelve"></td>
+      </tr>
+
+      <tr>
+          <td id="thirteen"></td> <td id="fourteen"></td> <td id="fifteen"></td> <td id="sixteen"></td>
+      </tr>
+
+  </table>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/border-conflict-element-vlr-013.xht
@@ -0,0 +1,187 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Writing Modes Test: Border conflict resolution - cell wins over row, cell wins over rowgroup and cell wins over table (compound)</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+  <link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#logical-directions" title="6.2 Flow-relative Directions" />
+  <link rel="help" href="http://www.w3.org/TR/CSS21/tables.html#border-conflict-resolution" title="17.6.2.1 Border conflict resolution" />
+  <link rel="match" href="../css21/reference/ref-filled-green-100px-square.xht" />
+
+  <meta content="" name="flags" />
+  <meta content="This test checks that, in border-collapsing model, when 'border-style' values and 'border-width' values are identical, then the 'border-color' set on a cell wins over the 'border-color' set on a row (5th table), the 'border-color' set on a cell wins over the 'border-color' set on a row group (tfoot in 4th table, thead in 3rd table, tbody in 2nd table) and the 'border-color' set on a cell wins over the 'border-color' set on a table element (1st table)." name="assert" />
+
+  <style type="text/css"><![CDATA[
+  table
+    {
+      border-collapse: collapse;
+      direction: ltr;
+      height: 20px;
+      writing-mode: vertical-lr;
+    }
+
+  td
+    {
+      padding: 0px;
+    }
+
+
+
+  table#first
+    {
+      border-left: red solid 100px;
+    }
+
+  table#first td
+    {
+      border-left: green solid 100px;
+    }
+
+
+
+  table#second > tbody
+    {
+      border-left: red solid 100px;
+    }
+
+  table#second td
+    {
+      border-left: green solid 100px;
+    }
+
+
+
+  table#third > thead
+    {
+      border-left: red solid 100px;
+    }
+
+  table#third td
+    {
+      border-left: green solid 100px;
+    }
+
+
+
+  table#fourth > tfoot
+    {
+      border-left: red solid 100px;
+    }
+
+  table#fourth td
+    {
+      border-left: green solid 100px;
+    }
+
+
+
+  table#fifth tr
+    {
+      border-left: red solid 100px;
+    }
+
+  table#fifth td
+    {
+      border-left: green solid 100px;
+    }
+
+  div#reference-overlapped-red
+    {
+      background-color: red;
+      bottom: 100px;
+      height: 100px;
+      position: relative;
+      width: 100px;
+      z-index: -1;
+    }
+  ]]></style>
+
+ </head>
+
+ <body>
+
+  <p>Test passes if there is a filled green square and <strong>no red</strong>.</p>
+
+  <table id="first">
+
+  <colgroup><col></col><col></col></colgroup>
+
+    <tbody>
+
+      <tr>
+        <td></td> <td></td>
+      </tr>
+
+    </tbody>
+
+  </table>
+
+
+  <table id="second">
+
+  <colgroup><col></col><col></col></colgroup>
+
+    <tbody>
+
+      <tr>
+        <td></td> <td></td>
+      </tr>
+
+    </tbody>
+
+  </table>
+
+
+  <table id="third">
+
+  <colgroup><col></col><col></col></colgroup>
+
+    <thead>
+
+      <tr>
+        <td></td> <td></td>
+      </tr>
+
+    </thead>
+
+  </table>
+
+
+  <table id="fourth">
+
+  <colgroup><col></col><col></col></colgroup>
+
+    <tfoot>
+
+      <tr>
+        <td></td> <td></td>
+      </tr>
+
+    </tfoot>
+
+  </table>
+
+
+
+  <table id="fifth">
+
+  <colgroup><col></col><col></col></colgroup>
+
+    <tbody>
+
+      <tr>
+        <td></td> <td></td>
+      </tr>
+
+    </tbody>
+
+  </table>
+
+
+  <div id="reference-overlapped-red"></div>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/border-conflict-element-vrl-002.xht
@@ -0,0 +1,69 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Writing Modes Test: Border conflict resolution - adjacent cells with same border styles in a 'vertical-rl' table with 'direction: ltr' (basic)</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+  <link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#logical-directions" title="6.2 Flow-relative Directions" />
+  <link rel="help" href="http://www.w3.org/TR/CSS21/tables.html#border-conflict-resolution" title="17.6.2.1 Border conflict resolution" />
+  <link rel="match" href="../css21/reference/ref-filled-green-100px-square.xht" />
+
+  <meta content="" name="flags" />
+  <meta content="When two adjacent cells have the same 'border-width' value and the same 'border-style' value in a 'border-collapse: collapse' table, then the color of the border of the cell closest to line-left side wins (if the table's 'direction' is 'ltr'; line-right side, if it is 'rtl') and the color of the border of the cell closest to block-start side wins." name="assert" />
+
+  <style type="text/css"><![CDATA[
+  table
+    {
+      border-collapse: collapse;
+      direction: ltr;
+      writing-mode: vertical-rl;
+    }
+
+  td
+    {
+      padding: 0px;
+    }
+
+  td#five
+    {
+      border-bottom-color: green;
+      border-bottom-style: solid;
+      border-bottom-width: 100px;
+    }
+
+  td#six
+    {
+      border-top-color: red;
+      border-top-style: solid;
+      border-top-width: 100px;
+      width: 100px;
+    }
+  ]]></style>
+
+ </head>
+
+ <body>
+
+  <p>Test passes if there is a filled green square and <strong>no red</strong>.</p>
+
+  <table>
+
+    <tr>
+      <td></td> <td></td> <td></td>
+    </tr>
+
+    <tr>
+      <td></td> <td id="five"></td> <td id="six"></td>
+    </tr>
+
+    <tr>
+      <td></td> <td></td> <td></td>
+    </tr>
+
+  </table>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/border-conflict-element-vrl-004.xht
@@ -0,0 +1,69 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Writing Modes Test: Border conflict resolution - adjacent cells with same border styles in a 'vertical-rl' table with 'direction: ltr' (basic)</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+  <link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#logical-directions" title="6.2 Flow-relative Directions" />
+  <link rel="help" href="http://www.w3.org/TR/CSS21/tables.html#border-conflict-resolution" title="17.6.2.1 Border conflict resolution" />
+  <link rel="match" href="../css21/reference/ref-filled-green-100px-square.xht" />
+
+  <meta content="" name="flags" />
+  <meta content="When two adjacent cells have the same 'border-width' value and the same 'border-style' value in a 'border-collapse: collapse' table, then the color of the border of the cell closest to line-left side wins (if the table's 'direction' is 'ltr'; line-right side, if it is 'rtl') and the color of the border of the cell closest to block-start side wins." name="assert" />
+
+  <style type="text/css"><![CDATA[
+  table
+    {
+      border-collapse: collapse;
+      direction: ltr;
+      writing-mode: vertical-rl;
+    }
+
+  td
+    {
+      padding: 0px;
+    }
+
+  td#five
+    {
+      border-left-color: green;
+      border-left-style: solid;
+      border-left-width: 100px;
+    }
+
+  td#eight
+    {
+      border-right-color: red;
+      border-right-style: solid;
+      border-right-width: 100px;
+      height: 100px;
+    }
+  ]]></style>
+
+ </head>
+
+ <body>
+
+  <p>Test passes if there is a filled green square and <strong>no red</strong>.</p>
+
+  <table>
+
+    <tr>
+      <td></td> <td></td> <td></td>
+    </tr>
+
+    <tr>
+      <td></td> <td id="five"></td> <td></td>
+    </tr>
+
+    <tr>
+      <td></td> <td id="eight"></td> <td></td>
+    </tr>
+
+  </table>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/border-conflict-element-vrl-006.xht
@@ -0,0 +1,151 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Writing Modes Test: Border conflict resolution - adjacent cells with same border styles in a 'vertical-rl' table with 'direction: ltr' (complex)</title>
+
+  <!--
+  Original (and horizontal-tb) test is
+  http://test.csswg.org/suites/css2.1/nightly-unstable/html4/border-conflict-element-001a.htm
+  -->
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+  <link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#logical-directions" title="6.2 Flow-relative Directions" />
+  <link rel="help" href="http://www.w3.org/TR/CSS21/tables.html#border-conflict-resolution" title="17.6.2.1 Border conflict resolution" />
+  <link rel="match" href="../css21/reference/ref-filled-green-100px-square.xht" />
+
+  <meta content="" name="flags" />
+  <meta content="When two adjacent cells have the same 'border-width' value and the same 'border-style' value in a 'border-collapse: collapse' table, then the color of the border of the cell closest to line-left side wins (if the table's 'direction' is 'ltr'; line-right side, if it is 'rtl') and the color of the border of the cell closest to block-start side wins." name="assert" />
+
+  <style type="text/css"><![CDATA[
+  table
+    {
+      border-collapse: collapse;
+      direction: ltr;
+      writing-mode: vertical-rl;
+    }
+
+  td
+    {
+      border-style: solid solid solid solid;
+      border-width: 20px 20px 20px 20px;
+      padding: 0px;
+    }
+
+  td#one
+    {
+      border-color: green green green green;
+    }
+
+  td#two
+    {
+      border-color: red green green green;
+    }
+
+  td#three
+    {
+      border-color: red green green green;
+    }
+
+  td#four
+    {
+      border-color: red green green green;
+    }
+
+
+
+  td#five
+    {
+      border-color: green red green green;
+    }
+
+  td#six
+    {
+      border-color: red red green green;
+    }
+
+  td#seven
+    {
+      border-color: red red green green;
+    }
+
+  td#eight
+    {
+      border-color: red red green green;
+    }
+
+
+
+  td#nine
+    {
+      border-color: green red green green;
+    }
+
+  td#ten
+    {
+      border-color: red red green green;
+    }
+
+  td#eleven
+    {
+      border-color: red red green green;
+    }
+
+  td#twelve
+    {
+      border-color: red red green green;
+    }
+
+
+
+  td#thirteen
+    {
+      border-color: green red green green;
+    }
+
+  td#fourteen
+    {
+      border-color: red red green green;
+    }
+
+  td#fifteen
+    {
+      border-color: red red green green;
+    }
+
+  td#sixteen
+    {
+      border-color: red red green green;
+    }
+  ]]></style>
+
+ </head>
+
+ <body>
+
+  <p>Test passes if there is a filled green square and <strong>no red</strong>.</p>
+
+  <table>
+
+      <tr>
+          <td id="one"></td> <td id="two"></td> <td id="three"></td> <td id="four"></td>
+      </tr>
+
+      <tr>
+          <td id="five"></td> <td id="six"></td> <td id="seven"></td> <td id="eight"></td>
+      </tr>
+
+      <tr>
+          <td id="nine"></td> <td id="ten"></td> <td id="eleven"></td> <td id="twelve"></td>
+      </tr>
+
+      <tr>
+          <td id="thirteen"></td> <td id="fourteen"></td> <td id="fifteen"></td> <td id="sixteen"></td>
+      </tr>
+
+  </table>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/border-conflict-element-vrl-008.xht
@@ -0,0 +1,152 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Writing Modes Test: Border conflict resolution - adjacent cells with same border styles in a 'vertical-rl' table with 'direction: ltr' (complex)</title>
+
+  <!--
+  Original (and horizontal-tb) test is
+  http://test.csswg.org/suites/css2.1/nightly-unstable/html4/border-conflict-element-001c.htm
+  -->
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+  <link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#logical-directions" title="6.2 Flow-relative Directions" />
+  <link rel="help" href="http://www.w3.org/TR/CSS21/tables.html#border-conflict-resolution" title="17.6.2.1 Border conflict resolution" />
+  <link rel="match" href="../css21/reference/ref-filled-green-100px-square.xht" />
+
+  <meta content="" name="flags" />
+  <meta content="When two adjacent cells have the same 'border-width' value and the same 'border-style' value in a 'border-collapse: collapse' table, then the color of the border of the cell closest to line-left side wins (if the table's 'direction' is 'ltr'; line-right side, if it is 'rtl') and the color of the border of the cell closest to block-start side wins." name="assert" />
+
+  <style type="text/css"><![CDATA[
+  table
+    {
+      border-collapse: collapse;
+      direction: ltr;
+      writing-mode: vertical-rl;
+    }
+
+  td
+    {
+      border-style: solid none solid none;
+      border-width: 20px 0px 20px 0px;
+      padding: 0px;
+      width: 25px; /* height of each logical row */
+    }
+
+  td#one
+    {
+      border-color: green red green red;
+    }
+
+  td#two
+    {
+      border-color: red red green red;
+    }
+
+  td#three
+    {
+      border-color: red red green red;
+    }
+
+  td#four
+    {
+      border-color: red red green red;
+    }
+
+
+
+  td#five
+    {
+      border-color: green red green red;
+    }
+
+  td#six
+    {
+      border-color: red red green red;
+    }
+
+  td#seven
+    {
+      border-color: red red green red;
+    }
+
+  td#eight
+    {
+      border-color: red red green red;
+    }
+
+
+
+  td#nine
+    {
+      border-color: green red green red;
+    }
+
+  td#ten
+    {
+      border-color: red red green red;
+    }
+
+  td#eleven
+    {
+      border-color: red red green red;
+    }
+
+  td#twelve
+    {
+      border-color: red red green red;
+    }
+
+
+
+  td#thirteen
+    {
+      border-color: green red green red;
+    }
+
+  td#fourteen
+    {
+      border-color: red red green red;
+    }
+
+  td#fifteen
+    {
+      border-color: red red green red;
+    }
+
+  td#sixteen
+    {
+      border-color: red red green red;
+    }
+  ]]></style>
+
+ </head>
+
+ <body>
+
+  <p>Test passes if there is a filled green square and <strong>no red</strong>.</p>
+
+  <table>
+
+      <tr>
+          <td id="one"></td> <td id="two"></td> <td id="three"></td> <td id="four"></td>
+      </tr>
+
+      <tr>
+          <td id="five"></td> <td id="six"></td> <td id="seven"></td> <td id="eight"></td>
+      </tr>
+
+      <tr>
+          <td id="nine"></td> <td id="ten"></td> <td id="eleven"></td> <td id="twelve"></td>
+      </tr>
+
+      <tr>
+          <td id="thirteen"></td> <td id="fourteen"></td> <td id="fifteen"></td> <td id="sixteen"></td>
+      </tr>
+
+  </table>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/border-conflict-element-vrl-010.xht
@@ -0,0 +1,146 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Writing Modes Test: Border conflict resolution - adjacent cells with same border styles in a 'vertical-rl' table with 'direction: rtl' (complex)</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+  <link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#logical-directions" title="6.2 Flow-relative Directions" />
+  <link rel="help" href="http://www.w3.org/TR/CSS21/tables.html#border-conflict-resolution" title="17.6.2.1 Border conflict resolution" />
+  <link rel="match" href="../css21/reference/ref-filled-green-100px-square.xht" />
+
+  <meta content="" name="flags" />
+  <meta content="When two adjacent cells have the same 'border-width' value and the same 'border-style' value in a 'border-collapse: collapse' table, then the color of the border of the cell closest to line-left side wins (if the table's 'direction' is 'ltr'; line-right side, if it is 'rtl') and the color of the border of the cell closest to block-start side wins." name="assert" />
+
+  <style type="text/css"><![CDATA[
+  table
+    {
+      border-collapse: collapse;
+      direction: rtl;
+      writing-mode: vertical-rl;
+    }
+
+  td
+    {
+      border-style: solid solid solid solid;
+      border-width: 20px 20px 20px 20px;
+      padding: 0px;
+    }
+
+  td#one
+    {
+      border-color: green green green green;
+    }
+
+  td#two
+    {
+      border-color: green green red green;
+    }
+
+  td#three
+    {
+      border-color: green green red green;
+    }
+
+  td#four
+    {
+      border-color: green green red green;
+    }
+
+
+
+  td#five
+    {
+      border-color: green red green green;
+    }
+
+  td#six
+    {
+      border-color: green red red green;
+    }
+
+  td#seven
+    {
+      border-color: green red red green;
+    }
+
+  td#eight
+    {
+      border-color: green red red green;
+    }
+
+
+
+  td#nine
+    {
+      border-color: green red green green;
+    }
+
+  td#ten
+    {
+      border-color: green red red green;
+    }
+
+  td#eleven
+    {
+      border-color: green red red green;
+    }
+
+  td#twelve
+    {
+      border-color: green red red green;
+    }
+
+
+
+  td#thirteen
+    {
+      border-color: green red green green;
+    }
+
+  td#fourteen
+    {
+      border-color: green red red green;
+    }
+
+  td#fifteen
+    {
+      border-color: green red red green;
+    }
+
+  td#sixteen
+    {
+      border-color: green red red green;
+    }
+  ]]></style>
+
+ </head>
+
+ <body>
+
+  <p>Test passes if there is a filled green square and <strong>no red</strong>.</p>
+
+  <table>
+
+      <tr>
+          <td id="one"></td> <td id="two"></td> <td id="three"></td> <td id="four"></td>
+      </tr>
+
+      <tr>
+          <td id="five"></td> <td id="six"></td> <td id="seven"></td> <td id="eight"></td>
+      </tr>
+
+      <tr>
+          <td id="nine"></td> <td id="ten"></td> <td id="eleven"></td> <td id="twelve"></td>
+      </tr>
+
+      <tr>
+          <td id="thirteen"></td> <td id="fourteen"></td> <td id="fifteen"></td> <td id="sixteen"></td>
+      </tr>
+
+  </table>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/border-conflict-element-vrl-012.xht
@@ -0,0 +1,187 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Writing Modes Test: Border conflict resolution - cell wins over row, cell wins over rowgroup and cell wins over table (compound)</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+  <link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#logical-directions" title="6.2 Flow-relative Directions" />
+  <link rel="help" href="http://www.w3.org/TR/CSS21/tables.html#border-conflict-resolution" title="17.6.2.1 Border conflict resolution" />
+  <link rel="match" href="../css21/reference/ref-filled-green-100px-square.xht" />
+
+  <meta content="" name="flags" />
+  <meta content="This test checks that, in border-collapsing model, when 'border-style' values and 'border-width' values are identical, then the 'border-color' set on a cell wins over the 'border-color' set on a row (5th table), the 'border-color' set on a cell wins over the 'border-color' set on a row group (tfoot in 4th table, thead in 3rd table, tbody in 2nd table) and the 'border-color' set on a cell wins over the 'border-color' set on a table element (1st table)." name="assert" />
+
+  <style type="text/css"><![CDATA[
+  table
+    {
+      border-collapse: collapse;
+      direction: ltr;
+      height: 20px;
+      writing-mode: vertical-rl;
+    }
+
+  td
+    {
+      padding: 0px;
+    }
+
+
+
+  table#first
+    {
+      border-right: red solid 100px;
+    }
+
+  table#first td
+    {
+      border-right: green solid 100px;
+    }
+
+
+
+  table#second > tbody
+    {
+      border-right: red solid 100px;
+    }
+
+  table#second td
+    {
+      border-right: green solid 100px;
+    }
+
+
+
+  table#third > thead
+    {
+      border-right: red solid 100px;
+    }
+
+  table#third td
+    {
+      border-right: green solid 100px;
+    }
+
+
+
+  table#fourth > tfoot
+    {
+      border-right: red solid 100px;
+    }
+
+  table#fourth td
+    {
+      border-right: green solid 100px;
+    }
+
+
+
+  table#fifth tr
+    {
+      border-right: red solid 100px;
+    }
+
+  table#fifth td
+    {
+      border-right: green solid 100px;
+    }
+
+  div#reference-overlapped-red
+    {
+      background-color: red;
+      bottom: 100px;
+      height: 100px;
+      position: relative;
+      width: 100px;
+      z-index: -1;
+    }
+  ]]></style>
+
+ </head>
+
+ <body>
+
+  <p>Test passes if there is a filled green square and <strong>no red</strong>.</p>
+
+  <table id="first">
+
+  <colgroup><col></col><col></col></colgroup>
+
+    <tbody>
+
+      <tr>
+        <td></td> <td></td>
+      </tr>
+
+    </tbody>
+
+  </table>
+
+
+  <table id="second">
+
+  <colgroup><col></col><col></col></colgroup>
+
+    <tbody>
+
+      <tr>
+        <td></td> <td></td>
+      </tr>
+
+    </tbody>
+
+  </table>
+
+
+  <table id="third">
+
+  <colgroup><col></col><col></col></colgroup>
+
+    <thead>
+
+      <tr>
+        <td></td> <td></td>
+      </tr>
+
+    </thead>
+
+  </table>
+
+
+  <table id="fourth">
+
+  <colgroup><col></col><col></col></colgroup>
+
+    <tfoot>
+
+      <tr>
+        <td></td> <td></td>
+      </tr>
+
+    </tfoot>
+
+  </table>
+
+
+
+  <table id="fifth">
+
+  <colgroup><col></col><col></col></colgroup>
+
+    <tbody>
+
+      <tr>
+        <td></td> <td></td>
+      </tr>
+
+    </tbody>
+
+  </table>
+
+
+  <div id="reference-overlapped-red"></div>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/border-spacing-vlr-003.xht
@@ -0,0 +1,140 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Writing Modes Test: border-spacing - first value is specified and non-zero in 'vertical-lr' table</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+  <link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#dimension-mapping" title="7.2 Dimension Mapping" />
+  <link rel="help" href="http://www.w3.org/TR/2011/REC-CSS2-20110607/tables.html#separated-borders" title="17.6.1 The separated borders model" />
+  <link rel="match" href="border-spacing-vrl-002-ref.xht" />
+
+  <meta content="ahem" name="flags" />
+  <meta content="This test checks that first value of 'border-spacing' represents, from top to bottom, a) spacing between logical table left padding (physical table top padding) and leftmost cells and b) inter-column spacing and c) spacing between rightmost cells and logical table right padding (physical table bottom padding)." name="assert" />
+
+<style type="text/css"><![CDATA[
+@font-face {
+  font-family: Ahem;
+  src: url("../../../fonts/Ahem.ttf");
+}
+]]></style>
+  <style type="text/css"><![CDATA[
+  table
+    {
+      border-spacing: 0.5em 0em; /* computes to logical horizontal border-spacing: 10px */
+      font: 20px/1 Ahem; /* computes to 20px/20px */
+      padding: 1.25em 0em; /* computes to padding-top: 25px and padding-bottom: 25px */
+      writing-mode: vertical-lr;
+    }
+
+  td
+    {
+      height: 0.5em;
+      padding: 0em;
+      width: 1em;
+    }
+
+  /*
+
+         0px       width of nth row        20px                           TOP
+         |                                 |
+         ===================================     0x (0em)                 |||
+         | table padding-top 25px (1.25em) |                              |||
+         |    with red background=color    |                            \ ||| /
+         |    with red background=color    |                             \   /
+         |    with red background=color    |                              \ /
+         |    with red background=color    |                               v
+         ===================================    25px (1.25em)
+         |logical left border-spacing: 10px|
+         |    with red background=color    |
+         ===================================    35px (1.75em)
+         |  height of 1st td 10px (0.5em)  |                              |||
+         |    with red background=color    |                              |||
+         ===================================    45px (2.25em)           \ ||| /
+         |inter-column spacing 10px (0.5em)|                             \   /
+         |    with red background=color    |                              \ /
+         ===================================    55px (2.75em)              v
+         |  height of 2nd td 10px (0.5em)  |
+         |    with red background=color    |
+         ===================================    65px (3.25em)
+         |logical righ border-spacing: 10px|                              |||
+         |    with red background=color    |                              |||
+         ===================================    75px (3.75em)           \ ||| /
+         |tble padding-bottom 25px (1.25em)|                             \   /
+         |    with red background=color    |                              \ /
+         |    with red background=color    |                               v
+         |    with red background=color    |
+         |    with red background=color    |
+         ===================================   100px (5em)              BOTTOM
+
+  */
+
+  div#reference-overlapping-green
+    {
+      background-color: green;
+      height: 6.25em;
+      position: absolute;
+      width: 6.25em;
+    }
+
+  div#reference-overlapped-red
+    {
+      background-color: red;
+      height: 6.25em;
+      position: absolute;
+      width: 6.25em;
+      z-index: -1;
+    }
+
+  table#test-overlapped-red
+    {
+      background-color: red;
+    }
+
+  table#test-overlapping-green
+    {
+      background-color: green;
+    }
+  ]]></style>
+ </head>
+
+ <body>
+
+  <p>Test passes if there is a filled green rectangle and <strong>no red</strong>.</p>
+
+  <div id="reference-overlapping-green"></div>
+
+  <table id="test-overlapped-red">
+
+    <tr><td></td><td></td></tr>
+
+    <tr><td></td><td></td></tr>
+
+    <tr><td></td><td></td></tr>
+
+    <tr><td></td><td></td></tr>
+
+    <tr><td></td><td></td></tr>
+
+  </table>
+
+  <div id="reference-overlapped-red"></div>
+
+  <table id="test-overlapping-green">
+
+    <tr><td></td><td></td></tr>
+
+    <tr><td></td><td></td></tr>
+
+    <tr><td></td><td></td></tr>
+
+    <tr><td></td><td></td></tr>
+
+    <tr><td></td><td></td></tr>
+
+  </table>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/border-spacing-vlr-005.xht
@@ -0,0 +1,125 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Writing Modes Test: border-spacing - second value is specified and non-zero in 'vertical-lr' table</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+  <link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#dimension-mapping" title="7.2 Dimension Mapping" />
+  <link rel="help" href="http://www.w3.org/TR/2011/REC-CSS2-20110607/tables.html#separated-borders" title="17.6.1 The separated borders model" />
+  <link rel="match" href="border-spacing-vrl-002-ref.xht" />
+
+  <meta content="ahem" name="flags" />
+  <meta content="This test checks that second value of 'border-spacing' represents, from left to right, a) spacing between logical table top padding (physical table left padding) and topmost cells and b) inter-row spacing and c) spacing between bottommost cells and logical table bottom padding (physical table right padding)." name="assert" />
+
+<style type="text/css"><![CDATA[
+@font-face {
+  font-family: Ahem;
+  src: url("../../../fonts/Ahem.ttf");
+}
+]]></style>
+  <style type="text/css"><![CDATA[
+  table
+    {
+      border-spacing: 0em 0.5em; /* computes to logical vertical border-spacing: 10px */
+      font: 20px/1 Ahem; /* computes to 20px/20px */
+      padding: 0em 1.25em; /* computes to padding-left: 25px and padding-right: 25px */
+      writing-mode: vertical-lr;
+    }
+
+  td
+    {
+      height: 1em;
+      padding: 0em;
+      width: 0.5em;
+    }
+
+  /*
+
+  0px             25px     35px     45px     55px     65px     75px            100px
+  | padding-left   |  left  |  2nd   | middle |  1st   |  right | padding-right|
+  |   of table     |  vert. |  row   |  vert. |  right |  vert. |   of table   |
+  |                | border |        | border |  most  | border |              |
+  |                | spacing|        | spacing|  row   | spacing|              |
+20|                |        |        |        |        |        |              |
+px|                |        |        |        |        |        |              |
+  |                |        |        |        |        |        |              |
+  |                |        |        |        |        |        |              |
+  |                |        |        |        |        |        |              |
+40|                |        |        |        |        |        |              |
+px|                |        |        |        |        |        |              |
+  |                |        |        |        |        |        |              |
+  |                |        |        |        |        |        |              |
+  |                |        |        |        |        |        |              |
+60|                |        |        |        |        |        |              |
+px|                |        |        |        |        |        |              |
+  |                |        |        |        |        |        |              |
+  |                |        |        |        |        |        |              |
+  |                |        |        |        |        |        |              |
+80|                |        |        |        |        |        |              |
+px|                |        |        |        |        |        |              |
+  |                |        |        |        |        |        |              |
+  |                |        |        |        |        |        |              |
+  |                |        |        |        |        |        |              |
+00|                |        |        |        |        |        |              |
+px|                |        |        |        |        |        |              |
+
+  */
+
+  div#reference-overlapping-green
+    {
+      background-color: green;
+      height: 6.25em;
+      position: absolute;
+      width: 6.25em;
+    }
+
+  div#reference-overlapped-red
+    {
+      background-color: red;
+      height: 6.25em;
+      position: absolute;
+      width: 6.25em;
+      z-index: -1;
+    }
+
+  table#test-overlapped-red
+    {
+      background-color: red;
+    }
+
+  table#test-overlapping-green
+    {
+      background-color: green;
+    }
+  ]]></style>
+ </head>
+
+ <body>
+
+  <p>Test passes if there is a filled green rectangle and <strong>no red</strong>.</p>
+
+  <div id="reference-overlapping-green"></div>
+
+  <table id="test-overlapped-red">
+
+    <tr><td></td><td></td><td></td><td></td><td></td></tr>
+
+    <tr><td></td><td></td><td></td><td></td><td></td></tr>
+
+  </table>
+
+  <div id="reference-overlapped-red"></div>
+
+  <table id="test-overlapping-green">
+
+    <tr><td></td><td></td><td></td><td></td><td></td></tr>
+
+    <tr><td></td><td></td><td></td><td></td><td></td></tr>
+
+  </table>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/border-spacing-vrl-002-ref.xht
@@ -0,0 +1,22 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Reftest Reference</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+
+  <meta name="flags" content="image" />
+
+ </head>
+
+ <body>
+
+  <p>Test passes if there is a filled green rectangle and <strong>no red</strong>.</p>
+
+  <div><img src="support/swatch-green.png" width="100" height="200" alt="Image download support must be enabled" /></div>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/border-spacing-vrl-002.xht
@@ -0,0 +1,140 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Writing Modes Test: border-spacing - first value is specified and non-zero in 'vertical-rl' table</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+  <link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#dimension-mapping" title="7.2 Dimension Mapping" />
+  <link rel="help" href="http://www.w3.org/TR/2011/REC-CSS2-20110607/tables.html#separated-borders" title="17.6.1 The separated borders model" />
+  <link rel="match" href="border-spacing-vrl-002-ref.xht" />
+
+  <meta content="ahem" name="flags" />
+  <meta content="This test checks that first value of 'border-spacing' represents, from top to bottom, a) spacing between logical table right padding (physical table top padding) and rightmost cells and b) inter-column spacing and c) spacing between leftmost cells and logical table left padding (physical table bottom padding)." name="assert" />
+
+<style type="text/css"><![CDATA[
+@font-face {
+  font-family: Ahem;
+  src: url("../../../fonts/Ahem.ttf");
+}
+]]></style>
+  <style type="text/css"><![CDATA[
+  table
+    {
+      border-spacing: 0.5em 0em; /* computes to logical horizontal border-spacing: 10px */
+      font: 20px/1 Ahem; /* computes to 20px/20px */
+      padding: 1.25em 0em; /* computes to padding-top: 25px and padding-bottom: 25px */
+      writing-mode: vertical-rl;
+    }
+
+  td
+    {
+      height: 0.5em;
+      padding: 0em;
+      width: 1em;
+    }
+
+  /*
+
+         0px       width of nth row        20px                           TOP
+         |                                 |
+         ===================================     0x (0em)                 |||
+         | table padding-top 25px (1.25em) |                              |||
+         |    with red background=color    |                            \ ||| /
+         |    with red background=color    |                             \   /
+         |    with red background=color    |                              \ /
+         |    with red background=color    |                               v
+         ===================================    25px (1.25em)
+         |logical righ border-spacing: 10px|
+         |    with red background=color    |
+         ===================================    35px (1.75em)
+         |  height of 1st td 10px (0.5em)  |                              |||
+         |    with red background=color    |                              |||
+         ===================================    45px (2.25em)           \ ||| /
+         |inter-column spacing 10px (0.5em)|                             \   /
+         |    with red background=color    |                              \ /
+         ===================================    55px (2.75em)              v
+         |  height of 2nd td 10px (0.5em)  |
+         |    with red background=color    |
+         ===================================    65px (3.25em)
+         |logical left border-spacing: 10px|                              |||
+         |    with red background=color    |                              |||
+         ===================================    75px (3.75em)           \ ||| /
+         |tble padding-bottom 25px (1.25em)|                             \   /
+         |    with red background=color    |                              \ /
+         |    with red background=color    |                               v
+         |    with red background=color    |
+         |    with red background=color    |
+         ===================================   100px (5em)              BOTTOM
+
+  */
+
+  div#reference-overlapping-green
+    {
+      background-color: green;
+      height: 6.25em;
+      position: absolute;
+      width: 6.25em;
+    }
+
+  div#reference-overlapped-red
+    {
+      background-color: red;
+      height: 6.25em;
+      position: absolute;
+      width: 6.25em;
+      z-index: -1;
+    }
+
+  table#test-overlapped-red
+    {
+      background-color: red;
+    }
+
+  table#test-overlapping-green
+    {
+      background-color: green;
+    }
+  ]]></style>
+ </head>
+
+ <body>
+
+  <p>Test passes if there is a filled green rectangle and <strong>no red</strong>.</p>
+
+  <div id="reference-overlapping-green"></div>
+
+  <table id="test-overlapped-red">
+
+    <tr><td></td><td></td></tr>
+
+    <tr><td></td><td></td></tr>
+
+    <tr><td></td><td></td></tr>
+
+    <tr><td></td><td></td></tr>
+
+    <tr><td></td><td></td></tr>
+
+  </table>
+
+  <div id="reference-overlapped-red"></div>
+
+  <table id="test-overlapping-green">
+
+    <tr><td></td><td></td></tr>
+
+    <tr><td></td><td></td></tr>
+
+    <tr><td></td><td></td></tr>
+
+    <tr><td></td><td></td></tr>
+
+    <tr><td></td><td></td></tr>
+
+  </table>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/border-spacing-vrl-004.xht
@@ -0,0 +1,125 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Writing Modes Test: border-spacing - second value is specified and non-zero in 'vertical-rl' table</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+  <link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#dimension-mapping" title="7.2 Dimension Mapping" />
+  <link rel="help" href="http://www.w3.org/TR/2011/REC-CSS2-20110607/tables.html#separated-borders" title="17.6.1 The separated borders model" />
+  <link rel="match" href="border-spacing-vrl-002-ref.xht" />
+
+  <meta content="ahem" name="flags" />
+  <meta content="This test checks that second value of 'border-spacing' represents, from right to left, a) spacing between logical table top padding (physical table right padding) and topmost cells and b) inter-row spacing and c) between bottommost cells and logical table bottom padding (physical table left padding)." name="assert" />
+
+<style type="text/css"><![CDATA[
+@font-face {
+  font-family: Ahem;
+  src: url("../../../fonts/Ahem.ttf");
+}
+]]></style>
+  <style type="text/css"><![CDATA[
+  table
+    {
+      border-spacing: 0em 0.5em; /* computes to logical vertical border-spacing: 10px */
+      font: 20px/1 Ahem; /* computes to 20px/20px */
+      padding: 0em 1.25em; /* computes to padding-left: 25px and padding-right: 25px */
+      writing-mode: vertical-rl;
+    }
+
+  td
+    {
+      height: 1em;
+      padding: 0em;
+      width: 0.5em;
+    }
+
+  /*
+
+  0px             25px     35px     45px     55px     65px     75px            100px
+  | padding-left   |  left  |  2nd   | middle |  1st   |  right | padding-right|
+  |   of table     |  vert. |  right |  vert. |  right |  vert. |   of table   |
+  |                | border |  most  | border |  most  | border |              |
+  |                | spacing|   row  | spacing|  row   | spacing|              |
+20|                |        |        |        |        |        |              |
+px|                |        |        |        |        |        |              |
+  |                |        |        |        |        |        |              |
+  |                |        |        |        |        |        |              |
+  |                |        |        |        |        |        |              |
+40|                |        |        |        |        |        |              |
+px|                |        |        |        |        |        |              |
+  |                |        |        |        |        |        |              |
+  |                |        |        |        |        |        |              |
+  |                |        |        |        |        |        |              |
+60|                |        |        |        |        |        |              |
+px|                |        |        |        |        |        |              |
+  |                |        |        |        |        |        |              |
+  |                |        |        |        |        |        |              |
+  |                |        |        |        |        |        |              |
+80|                |        |        |        |        |        |              |
+px|                |        |        |        |        |        |              |
+  |                |        |        |        |        |        |              |
+  |                |        |        |        |        |        |              |
+  |                |        |        |        |        |        |              |
+00|                |        |        |        |        |        |              |
+px|                |        |        |        |        |        |              |
+
+  */
+
+  div#reference-overlapping-green
+    {
+      background-color: green;
+      height: 6.25em;
+      position: absolute;
+      width: 6.25em;
+    }
+
+  div#reference-overlapped-red
+    {
+      background-color: red;
+      height: 6.25em;
+      position: absolute;
+      width: 6.25em;
+      z-index: -1;
+    }
+
+  table#test-overlapped-red
+    {
+      background-color: red;
+    }
+
+  table#test-overlapping-green
+    {
+      background-color: green;
+    }
+  ]]></style>
+ </head>
+
+ <body>
+
+  <p>Test passes if there is a filled green rectangle and <strong>no red</strong>.</p>
+
+  <div id="reference-overlapping-green"></div>
+
+  <table id="test-overlapped-red">
+
+    <tr><td></td><td></td><td></td><td></td><td></td></tr>
+
+    <tr><td></td><td></td><td></td><td></td><td></td></tr>
+
+  </table>
+
+  <div id="reference-overlapped-red"></div>
+
+  <table id="test-overlapping-green">
+
+    <tr><td></td><td></td><td></td><td></td><td></td></tr>
+
+    <tr><td></td><td></td><td></td><td></td><td></td></tr>
+
+  </table>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/border-vlr-007.xht
@@ -0,0 +1,79 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Writing Modes Test: border in 'vertical-lr' writing-mode context</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+  <link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#vertical-layout" title="7.1 Principles of Layout in Vertical Writing Modes" />
+  <!--
+  Test inspired by
+  http://lxr.mozilla.org/mozilla-central/source/layout/reftests/writing-mode/1096224-1b.html
+  -->
+  <link rel="match" href="margin-vrl-002-ref.xht" />
+
+  <meta content="image" name="flags" />
+  <meta content="This test checks that border-left, border-right, border-top and border-bottom do not change in vertical writing-mode. The border-left property of a box still affects the lefthand border of such box." name="assert" />
+
+  <style type="text/css"><![CDATA[
+  .outer
+    {
+      border: blue solid 3px;
+      width: 200px;
+    }
+
+  hr
+    {
+      background-color: blue;
+      border: transparent none 0px;
+      height: 9px;
+      margin: 0px;
+    }
+
+  .inner
+    {
+      background-color: transparent;
+      height: 50px; /* necessary, otherwise inner blocks must grow as tall as the height of viewport */
+    }
+
+  .foo
+    {
+      border-bottom: blue solid 5px;
+      border-left: blue solid 100px;
+      border-right: blue solid 50px;
+      border-top: blue solid 20px;
+      writing-mode: vertical-lr;
+    }
+
+  .bar
+    {
+      border-bottom: blue solid 20px;
+      border-left: blue solid 50px;
+      border-right: blue solid 100px;
+      border-top: blue solid 5px;
+      writing-mode: vertical-lr;
+    }
+
+  div#reference
+    {
+      margin-top: 1em;
+    }
+  ]]></style>
+ </head>
+
+ <body>
+
+  <p>Test passes if there are 2 <strong>identical</strong> blue rectangles, each with 2 small yellow squares: the layout must be identical.</p>
+
+  <div class="outer">
+    <div class="inner foo"><img src="support/swatch-yellow.png" width="50" height="50" alt="Image download support must be enabled" /></div>
+    <hr />
+    <div class="inner bar"><img src="support/swatch-yellow.png" width="50" height="50" alt="Image download support must be enabled" /></div>
+  </div>
+
+  <div id="reference"><img src="support/blue-yellow-206w-165h.png" width="206" height="165" alt="Image download support must be enabled" /></div>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/border-vrl-006.xht
@@ -0,0 +1,79 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Writing Modes Test: border in 'vertical-rl' writing-mode context</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+  <link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#vertical-layout" title="7.1 Principles of Layout in Vertical Writing Modes" />
+  <!--
+  Test inspired by
+  http://lxr.mozilla.org/mozilla-central/source/layout/reftests/writing-mode/1096224-1b.html
+  -->
+  <link rel="match" href="margin-vrl-002-ref.xht" />
+
+  <meta content="image" name="flags" />
+  <meta content="This test checks that border-left, border-right, border-top and border-bottom do not change in vertical writing-mode. The border-left property of a box still affects the lefthand border of such box." name="assert" />
+
+  <style type="text/css"><![CDATA[
+  .outer
+    {
+      border: blue solid 3px;
+      width: 200px;
+    }
+
+  hr
+    {
+      background-color: blue;
+      border: transparent none 0px;
+      height: 9px;
+      margin: 0px;
+    }
+
+  .inner
+    {
+      background-color: transparent;
+      height: 50px; /* necessary, otherwise inner blocks must grow as tall as the height of viewport */
+    }
+
+  .foo
+    {
+      border-bottom: blue solid 5px;
+      border-left: blue solid 100px;
+      border-right: blue solid 50px;
+      border-top: blue solid 20px;
+      writing-mode: vertical-rl;
+    }
+
+  .bar
+    {
+      border-bottom: blue solid 20px;
+      border-left: blue solid 50px;
+      border-right: blue solid 100px;
+      border-top: blue solid 5px;
+      writing-mode: vertical-rl;
+    }
+
+  div#reference
+    {
+      margin-top: 1em;
+    }
+  ]]></style>
+ </head>
+
+ <body>
+
+  <p>Test passes if there are 2 <strong>identical</strong> blue rectangles, each with 2 small yellow squares: the layout must be identical.</p>
+
+  <div class="outer">
+    <div class="inner foo"><img src="support/swatch-yellow.png" width="50" height="50" alt="Image download support must be enabled" /></div>
+    <hr />
+    <div class="inner bar"><img src="support/swatch-yellow.png" width="50" height="50" alt="Image download support must be enabled" /></div>
+  </div>
+
+  <div id="reference"><img src="support/blue-yellow-206w-165h.png" width="206" height="165" alt="Image download support must be enabled" /></div>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/box-offsets-rel-pos-vlr-003.xht
@@ -0,0 +1,68 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Writing Modes Test: box offsets - position relative</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+  <link rel="help" title="7.1 Principles of Layout in Vertical Writing Modes" href="http://www.w3.org/TR/css-writing-modes-3/#vertical-layout" />
+  <link rel="match" href="abs-pos-non-replaced-vlr-013-ref.xht" />
+
+  <meta content="image" name="flags" />
+  <meta content="The 'top', 'right', 'bottom', 'left' property, for relative positioning, specify the offset of the box itself from its normal in-flow position, from the position it would have had if it had been static. The 'top', 'right', 'bottom', 'left' offset property are physical properties, not logical ones in vertical writing-modes." name="assert" />
+
+  <style type="text/css"><![CDATA[
+  html
+    {
+      writing-mode: vertical-lr;
+    }
+
+  img
+    {
+      position: relative;
+    }
+
+  img.moves-toward-left
+    {
+      right: 80px;
+    }
+
+  img.moves-toward-top
+    {
+      bottom: 80px;
+    }
+
+  img.moves-toward-right
+    {
+      left: 80px;
+    }
+
+  img.moves-toward-bottom
+    {
+      top: 80px;
+    }
+
+  /*
+  In this testcase, 7 red 80px by 80px squares overlap
+  another red 80px by 80px square (placed in the center of
+  a 3 by 3 grid of squares) and then, at the end, one single
+  green 80px by 80px square overlaps all 8 other red squares.
+  */
+  ]]></style>
+
+ </head>
+
+ <body>
+
+  <p><img src="support/pass-cdts-abs-pos-non-replaced.png" width="246" height="36" alt="Image download support must be enabled" /></p>
+
+  <div><img class="moves-toward-bottom moves-toward-right" src="support/100x100-red.png" width="80" height="80" alt="Image download support must be enabled" /><img class="moves-toward-right" src="support/100x100-red.png" width="80" height="80" alt="Image download support must be enabled" /><img class="moves-toward-right moves-toward-top" src="support/100x100-red.png" width="80" height="80" alt="Image download support must be enabled" /></div>
+
+  <div><img class="moves-toward-bottom" src="support/100x100-red.png" width="80" height="80" alt="Image download support must be enabled" /><img src="support/100x100-red.png" width="80" height="80" alt="Image download support must be enabled" /><img class="moves-toward-top" src="support/100x100-red.png" width="80" height="80" alt="Image download support must be enabled" /></div>
+
+  <div><img class="moves-toward-left moves-toward-bottom" src="support/100x100-red.png" width="80" height="80" alt="Image download support must be enabled" /><img class="moves-toward-left" src="support/100x100-red.png" width="80" height="80" alt="Image download support must be enabled" /><img class="moves-toward-left moves-toward-top" src="support/swatch-green.png" width="80" height="80" alt="Image download support must be enabled" /></div>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/box-offsets-rel-pos-vlr-005-ref.xht
@@ -0,0 +1,90 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Reftest Reference</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+
+  <meta content="image" name="flags" />
+
+  <style type="text/css"><![CDATA[
+  div > img
+    {
+      margin-left: 8px;
+      margin-right: 1em;
+    }
+
+  table
+    {
+      background-color: yellow;
+      border-spacing: 0px;
+      border: orange solid 50px;
+      display: inline-table;
+      height: 300px;
+      vertical-align: top;
+      width: 300px;
+    }
+
+  td
+    {
+      padding: 0px;
+    }
+
+  td.first-row
+    {
+      height: 29px;
+      vertical-align: top;
+    }
+
+  td#middle-row
+    {
+      text-align: center;
+    }
+
+  td.third-row
+    {
+      height: 25px;
+    }
+
+  span.blue
+    {
+      background-color: blue;
+      color: white;
+      height: 25px;
+      text-align: left;
+      width: 25px;
+    }
+
+  span#top-left, span#bottom-left
+    {
+      float: left;
+    }
+
+  span#top-right, span#bottom-right
+    {
+      float: right;
+    }
+  ]]></style>
+ </head>
+
+ <body>
+
+  <div>
+<img src="support/pass-cdts-box-offsets-rel-pos.png" width="304" height="35" alt="Image download support must be enabled" /><!--
+  The image says:
+  "
+  Test passes if there is a blue square
+  at each corner of the yellow square.
+  "
+  --><table>
+      <tr><td class="first-row"><span class="blue" id="top-left">TL</span></td><td class="first-row"><span class="blue" id="top-right">TR</span></td></tr>
+      <tr><td id="middle-row" colspan="2"><img src="support/100x100-lime.png" alt="Image download support must be enabled" /></td></tr>
+      <tr><td class="third-row"><span class="blue" id="bottom-left">BL</span></td><td class="third-row"><span class="blue" id="bottom-right">BR</span></td></tr>
+    </table>
+  </div>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/box-offsets-rel-pos-vlr-005.xht
@@ -0,0 +1,173 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Writing Modes Test: box offsets - relatively positioned boxes</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+  <link rel="help" title="7.1 Principles of Layout in Vertical Writing Modes" href="http://www.w3.org/TR/css-writing-modes-3/#vertical-layout" />
+  <link rel="match" href="box-offsets-rel-pos-vlr-005-ref.xht" />
+
+  <meta content="image" name="flags" />
+  <meta content="Box offsets (bottom, left, right, top) expressed in absolute units (not with percentage unit) for relatively positioned boxes are with respect to the edges of the boxes themselves." name="assert" />
+
+  <style type="text/css"><![CDATA[
+  html
+    {
+      writing-mode: vertical-lr;
+    }
+
+  div#statically-positioned-box
+    {
+      background-color: yellow; /* padding box will be yellow */
+      border: orange solid 50px; /* border box will be orange */
+      height: 100px; /* a bright green square 100px by 100px image will serve as content box */
+      margin-left: 8px;
+      padding: 50px;
+      position: static;
+      width: 100px;
+    }
+
+  div.blue-relatively-positioned
+    {
+      background-color: blue;
+      color: white;
+      height: 25px;
+      position: relative;
+      width: 25px;
+      writing-mode: horizontal-tb;
+    }
+
+  div#top-left
+    {
+      right: 250px;
+      /*
+      Calculation of right offset:
+          50px (div#statically-positioned-box's border-right)
+       +
+         200px (div#statically-positioned-box's padding-box width)
+       ==================
+         250px
+      */
+
+      top: 50px;
+      /*
+      Calculation of top offset:
+        50px (div#statically-positioned-box's border-top)
+      ==================
+        50px
+      */
+    }
+
+  div#top-right
+    {
+      right: 100px;
+      /*
+      Calculation of right offset:
+          25px (div#top-left's content width)
+       +
+          25px (div#top-right's content width)
+       +
+          50px (div#statically-positioned-box's border-right)
+       ==================
+         100px
+      */
+
+      top: 50px;
+      /*
+      Calculation of top offset:
+        50px (div#statically-positioned-box's border-top)
+      ==================
+        50px
+      */
+    }
+
+  div#bottom-left
+    {
+      top: 225px;
+      /*
+      Calculation of top offset:
+          50px (div#statically-positioned-box's border-top)
+       +
+         200px (div#statically-positioned-box's padding-box height)
+       -
+          25px (div#bottom-left's content height)
+      ==================
+         225px
+    */
+
+      right: 300px;
+      /*
+      Calculation of right offset:
+          25px (div#top-left's content width)
+       +
+          25px (div#top-right's content width)
+       +
+          50px (div#statically-positioned-box's border-right)
+       +
+         200px (div#statically-positioned-box's padding-box width)
+       ==================
+         300px
+      */
+    }
+
+  div#bottom-right
+    {
+      top: 225px;
+      /*
+      Calculation of top offset:
+          50px (div#statically-positioned-box's border-top)
+       +
+         200px (div#statically-positioned-box's padding-box height)
+       -
+          25px (div#bottom-right's content height)
+      ==================
+         225px
+    */
+
+      right: 150px;
+      /*
+      Calculation of right offset:
+          25px (div#top-left's content width)
+       +
+          25px (div#top-right's content width)
+       +
+          25px (div#bottom-left's content width)
+       +
+          25px (div#bottom-right's content width)
+       +
+          50px (div#statically-positioned-box's border-left)
+       ==================
+         150px
+      */
+  }
+  ]]></style>
+
+ </head>
+
+ <body>
+
+  <p><img src="support/pass-cdts-box-offsets-rel-pos.png" width="304" height="35" alt="Image download support must be enabled" /></p>
+
+  <!--
+  The image says:
+  "
+  Test passes if there is a blue square
+  at each corner of the yellow square.
+  "
+  -->
+
+  <div id="statically-positioned-box"><img src="support/100x100-lime.png" alt="Image download support must be enabled" /></div>
+
+  <div class="blue-relatively-positioned" id="top-left">TL</div>
+
+  <div class="blue-relatively-positioned" id="top-right">TR</div>
+
+  <div class="blue-relatively-positioned" id="bottom-left">BL</div>
+
+  <div class="blue-relatively-positioned" id="bottom-right">BR</div>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/box-offsets-rel-pos-vrl-002.xht
@@ -0,0 +1,68 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Writing Modes Test: box offsets - position relative</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+  <link rel="help" title="7.1 Principles of Layout in Vertical Writing Modes" href="http://www.w3.org/TR/css-writing-modes-3/#vertical-layout" />
+  <link rel="match" href="abs-pos-non-replaced-vrl-012-ref.xht" />
+
+  <meta content="image" name="flags" />
+  <meta content="The 'top', 'right', 'bottom', 'left' property, for relative positioning, specify the offset of the box itself from its normal in-flow position, from the position it would have had if it had been static. The 'top', 'right', 'bottom', 'left' offset property are physical properties, not logical ones in vertical writing-modes." name="assert" />
+
+  <style type="text/css"><![CDATA[
+  html
+    {
+      writing-mode: vertical-rl;
+    }
+
+  img
+    {
+      position: relative;
+    }
+
+  img.moves-toward-left
+    {
+      right: 80px;
+    }
+
+  img.moves-toward-top
+    {
+      bottom: 80px;
+    }
+
+  img.moves-toward-right
+    {
+      left: 80px;
+    }
+
+  img.moves-toward-bottom
+    {
+      top: 80px;
+    }
+
+  /*
+  In this testcase, 7 red 80px by 80px squares overlap
+  another red 80px by 80px square (placed in the center of
+  a 3 by 3 grid of squares) and then, at the end, one single
+  green 80px by 80px square overlaps all 8 other red squares.
+  */
+  ]]></style>
+
+ </head>
+
+ <body>
+
+  <p><img src="support/pass-cdts-abs-pos-non-replaced.png" width="246" height="36" alt="Image download support must be enabled" /></p>
+
+  <div><img class="moves-toward-bottom moves-toward-left" src="support/100x100-red.png" width="80" height="80" alt="Image download support must be enabled" /><img class="moves-toward-left" src="support/100x100-red.png" width="80" height="80" alt="Image download support must be enabled" /><img class="moves-toward-left moves-toward-top" src="support/100x100-red.png" width="80" height="80" alt="Image download support must be enabled" /></div>
+
+  <div><img class="moves-toward-bottom" src="support/100x100-red.png" width="80" height="80" alt="Image download support must be enabled" /><img src="support/100x100-red.png" width="80" height="80" alt="Image download support must be enabled" /><img class="moves-toward-top" src="support/100x100-red.png" width="80" height="80" alt="Image download support must be enabled" /></div>
+
+  <div><img class="moves-toward-right moves-toward-bottom" src="support/100x100-red.png" width="80" height="80" alt="Image download support must be enabled" /><img class="moves-toward-right" src="support/100x100-red.png" width="80" height="80" alt="Image download support must be enabled" /><img class="moves-toward-right moves-toward-top" src="support/swatch-green.png" width="80" height="80" alt="Image download support must be enabled" /></div>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/box-offsets-rel-pos-vrl-004-ref.xht
@@ -0,0 +1,97 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Reftest Reference</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+
+  <meta content="image" name="flags" />
+
+  <style type="text/css"><![CDATA[
+  div
+    {
+      text-align: right;
+    }
+
+  div > img
+    {
+      margin-left: 1em;
+      margin-right: 8px;
+    }
+
+  table
+    {
+      background-color: yellow;
+      border-spacing: 0px;
+      border: orange solid 50px;
+      display: inline-table;
+      height: 300px;
+      vertical-align: top;
+      width: 300px;
+    }
+
+  td
+    {
+      padding: 0px;
+    }
+
+  td.first-row
+    {
+      height: 29px;
+      vertical-align: top;
+    }
+
+  td#middle-row
+  {
+  text-align: center;
+  }
+
+  td.third-row
+    {
+      height: 25px;
+    }
+
+  span.blue
+    {
+      background-color: blue;
+      color: white;
+      height: 25px;
+      text-align: left;
+      width: 25px;
+    }
+
+  span#top-left, span#bottom-left
+    {
+      float: left;
+    }
+
+  span#top-right, span#bottom-right
+    {
+      float: right;
+    }
+  ]]></style>
+ </head>
+
+ <body>
+
+  <div>
+    <table>
+      <tr><td class="first-row"><span class="blue" id="top-left">TL</span></td><td class="first-row"><span class="blue" id="top-right">TR</span></td></tr>
+      <tr><td id="middle-row" colspan="2"><img src="support/100x100-lime.png" alt="Image download support must be enabled" /></td></tr>
+      <tr><td class="third-row"><span class="blue" id="bottom-left">BL</span></td><td class="third-row"><span class="blue" id="bottom-right">BR</span></td></tr>
+  </table><img src="support/pass-cdts-box-offsets-rel-pos.png" width="304" height="35" alt="Image download support must be enabled" />
+
+  <!--
+  The image says:
+  "
+  Test passes if there is a blue square
+  at each corner of the yellow square.
+  "
+  -->
+  </div>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/box-offsets-rel-pos-vrl-004.xht
@@ -0,0 +1,173 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Writing Modes Test: box offsets - relatively positioned boxes</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+  <link rel="help" title="7.1 Principles of Layout in Vertical Writing Modes" href="http://www.w3.org/TR/css-writing-modes-3/#vertical-layout" />
+  <link rel="match" href="box-offsets-rel-pos-vrl-004-ref.xht" />
+
+  <meta content="image" name="flags" />
+  <meta content="Box offsets (bottom, left, right, top) expressed in absolute units (not with percentage unit) for relatively positioned boxes are with respect to the edges of the boxes themselves." name="assert" />
+
+  <style type="text/css"><![CDATA[
+  html
+    {
+      writing-mode: vertical-rl;
+    }
+
+  div#statically-positioned-box
+    {
+      background-color: yellow; /* padding box will be yellow */
+      border: orange solid 50px; /* border box will be orange */
+      height: 100px; /* a bright green square 100px by 100px image will serve as content box */
+      margin-right: 8px;
+      padding: 50px;
+      position: static;
+      width: 100px;
+    }
+
+  div.blue-relatively-positioned
+    {
+      background-color: blue;
+      color: white;
+      height: 25px;
+      position: relative;
+      width: 25px;
+      writing-mode: horizontal-tb;
+    }
+
+  div#top-left
+    {
+      left: 75px;
+      /*
+      Calculation of left offset:
+          25px (div#top-left's content width)
+       +
+          50px (div#statically-positioned-box's border-left)
+       ==================
+          75px
+      */
+
+      top: 50px;
+      /*
+      Calculation of top offset:
+        50px (div#statically-positioned-box's border-top)
+      ==================
+        50px
+      */
+    }
+
+  div#top-right
+    {
+      left: 275px;
+      /*
+      Calculation of left offset:
+          25px (div#top-left's content width)
+       +
+          50px (div#statically-positioned-box's border-left)
+       +
+         200px (div#statically-positioned-box's padding-box)
+       ==================
+         275px
+      */
+
+      top: 50px;
+      /*
+      Calculation of top offset:
+        50px (div#statically-positioned-box's border-top)
+      ==================
+        50px
+      */
+    }
+
+  div#bottom-left
+    {
+      top: 225px;
+      /*
+      Calculation of top offset:
+          50px (div#statically-positioned-box's border-top)
+       +
+         200px (div#statically-positioned-box's padding-box height)
+       -
+          25px (div#bottom-left's content height)
+      ==================
+         225px
+    */
+
+      left: 125px;
+      /*
+      Calculation of left offset:
+          25px (div#top-left's content width)
+       +
+          25px (div#top-right's content width)
+       +
+          25px (div#bottom-left's content width)
+       +
+          50px (div#statically-positioned-box's border-left)
+       ==================
+         125px
+      */
+    }
+
+  div#bottom-right
+    {
+      top: 225px;
+      /*
+      Calculation of bottom offset:
+          50px (div#statically-positioned-box's border-top)
+       +
+         200px (div#statically-positioned-box's padding-box height)
+       -
+          25px (div#bottom-right's content height)
+      ==================
+         225px
+    */
+
+      left: 325px;
+      /*
+      Calculation of left offset:
+          25px (div#top-left's content width)
+       +
+          25px (div#top-right's content width)
+       +
+          25px (div#bottom-left's content width)
+       +
+          50px (div#statically-positioned-box's border-left)
+       +
+         200px (div#statically-positioned-box's padding-box)
+       ==================
+         325px
+      */
+  }
+  ]]></style>
+
+ </head>
+
+ <body>
+
+  <p><img src="support/pass-cdts-box-offsets-rel-pos.png" width="304" height="35" alt="Image download support must be enabled" /></p>
+
+  <!--
+  The image says:
+  "
+  Test passes if there is a blue square
+  at each corner of the yellow square.
+  "
+  -->
+
+  <div id="statically-positioned-box"><img src="support/100x100-lime.png" alt="Image download support must be enabled" /></div>
+
+  <div class="blue-relatively-positioned" id="top-left">TL</div>
+
+  <div class="blue-relatively-positioned" id="top-right">TR</div>
+
+  <div class="blue-relatively-positioned" id="bottom-left">BL</div>
+
+  <div class="blue-relatively-positioned" id="bottom-right">BR</div>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/caption-side-vlr-003.xht
@@ -0,0 +1,69 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Writing Modes Test: 'caption-side: top' and vertical-lr</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+  <link rel="help" href="https://drafts.csswg.org/css-writing-modes-3/#logical-direction-layout" title="7.4. Flow-Relative Mappings" />
+  <link rel="match" href="../css21/reference/ref-filled-green-100px-square.xht" />
+
+  <meta content="ahem image" name="flags" />
+  <meta content="This test checks that when 'caption-side' is set to 'top' in a vertical-lr table, then the caption is placed at the block-start side of the table, which is on the lefthand side of such table." name="assert" />
+
+<style type="text/css"><![CDATA[
+@font-face {
+  font-family: Ahem;
+  src: url("../../../fonts/Ahem.ttf");
+}
+]]></style>
+  <style type="text/css"><![CDATA[
+  table#test-overlapping-green
+    {
+      border-spacing: 0px;
+      caption-side: top;
+      font: 50px/1 Ahem; /* computes to 50px/50px */
+      writing-mode: vertical-lr;
+    }
+
+  caption
+    {
+      color: green;
+    }
+
+  td
+    {
+      color: transparent;
+      padding: 0px;
+    }
+
+  div#reference-overlapped-red
+    {
+      background: url("support/pattern-rg-rg-100x100.png") no-repeat;
+      bottom: 100px;
+      height: 100px;
+      position: relative;
+      width: 100px;
+      z-index: -1;
+    }
+  ]]></style>
+
+ </head>
+
+ <body>
+
+  <p>Test passes if there is a filled green square and <strong>no red</strong>.</p>
+
+  <table id="test-overlapping-green">
+    <caption>CA</caption>
+    <tr>
+      <td>T</td><td>D</td>
+    </tr>
+  </table>
+
+  <div id="reference-overlapped-red"></div>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/caption-side-vlr-005.xht
@@ -0,0 +1,68 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Writing Modes Test: 'caption-side: bottom' and vertical-lr</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+  <link rel="help" href="https://drafts.csswg.org/css-writing-modes-3/#logical-direction-layout" title="7.4. Flow-Relative Mappings" />
+  <link rel="match" href="../css21/reference/ref-filled-green-100px-square.xht" />
+
+  <meta content="ahem image" name="flags" />
+  <meta content="This test checks that when 'caption-side' is set to 'bottom' in a vertical-lr table, then the caption is placed at the block-end side of the table, which is on the righthand side of such table." name="assert" />
+
+<style type="text/css"><![CDATA[
+@font-face {
+  font-family: Ahem;
+  src: url("../../../fonts/Ahem.ttf");
+}
+]]></style>
+  <style type="text/css"><![CDATA[
+  div#reference-overlapped-red
+    {
+      background: url("support/pattern-gr-gr-100x100.png") no-repeat;
+      height: 100px;
+      position: absolute;
+      width: 100px;
+      z-index: -1;
+    }
+
+  table#test-overlapping-green
+    {
+      border-spacing: 0px;
+      caption-side: bottom;
+      font: 50px/1 Ahem; /* computes to 50px/50px */
+      writing-mode: vertical-lr;
+    }
+
+  caption
+    {
+      color: green;
+    }
+
+  td
+    {
+      color: transparent;
+      padding: 0px;
+    }
+  ]]></style>
+
+ </head>
+
+ <body>
+
+  <p>Test passes if there is a filled green square and <strong>no red</strong>.</p>
+
+  <div id="reference-overlapped-red"></div>
+
+  <table id="test-overlapping-green">
+    <caption>CA</caption>
+    <tr>
+      <td>T</td><td>D</td>
+    </tr>
+  </table>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/caption-side-vrl-002.xht
@@ -0,0 +1,68 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Writing Modes Test: 'caption-side: top' and vertical-rl</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+  <link rel="help" href="https://drafts.csswg.org/css-writing-modes-3/#logical-direction-layout" title="7.4. Flow-Relative Mappings" />
+  <link rel="match" href="../css21/reference/ref-filled-green-100px-square.xht" />
+
+  <meta content="ahem image" name="flags" />
+  <meta content="This test checks that when 'caption-side' is set to 'top' in a vertical-rl table, then the caption is placed at the block-start side of the table, which is on the righthand side of such table." name="assert" />
+
+<style type="text/css"><![CDATA[
+@font-face {
+  font-family: Ahem;
+  src: url("../../../fonts/Ahem.ttf");
+}
+]]></style>
+  <style type="text/css"><![CDATA[
+  div#reference-overlapped-red
+    {
+      background: url("support/pattern-gr-gr-100x100.png") no-repeat;
+      height: 100px;
+      position: absolute;
+      width: 100px;
+      z-index: -1;
+    }
+
+  table#test-overlapping-green
+    {
+      border-spacing: 0px;
+      caption-side: top;
+      font: 50px/1 Ahem; /* computes to 50px/50px */
+      writing-mode: vertical-rl;
+    }
+
+  caption
+    {
+      color: green;
+    }
+
+  td
+    {
+      color: transparent;
+      padding: 0px;
+    }
+  ]]></style>
+
+ </head>
+
+ <body>
+
+  <p>Test passes if there is a filled green square and <strong>no red</strong>.</p>
+
+  <div id="reference-overlapped-red"></div>
+
+  <table id="test-overlapping-green">
+    <caption>CA</caption>
+    <tr>
+      <td>T</td><td>D</td>
+    </tr>
+  </table>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/caption-side-vrl-004.xht
@@ -0,0 +1,68 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Writing Modes Test: 'caption-side: bottom' and vertical-rl</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+  <link rel="help" href="https://drafts.csswg.org/css-writing-modes-3/#logical-direction-layout" title="7.4. Flow-Relative Mappings" />
+  <link rel="match" href="../css21/reference/ref-filled-green-100px-square.xht" />
+
+  <meta content="ahem image" name="flags" />
+  <meta content="This test checks that when 'caption-side' is set to 'bottom' in a vertical-rl table, then the caption is placed at the block-end side of the table, which is on the lefthand side of such table." name="assert" />
+
+<style type="text/css"><![CDATA[
+@font-face {
+  font-family: Ahem;
+  src: url("../../../fonts/Ahem.ttf");
+}
+]]></style>
+  <style type="text/css"><![CDATA[
+  div#reference-overlapped-red
+    {
+      background: url("support/pattern-rg-rg-100x100.png") no-repeat;
+      height: 100px;
+      position: absolute;
+      width: 100px;
+      z-index: -1;
+    }
+
+  table#test-overlapping-green
+    {
+      border-spacing: 0px;
+      caption-side: bottom;
+      font: 50px/1 Ahem; /* computes to 50px/50px */
+      writing-mode: vertical-rl;
+    }
+
+  caption
+    {
+      color: green;
+    }
+
+  td
+    {
+      color: transparent;
+      padding: 0px;
+    }
+  ]]></style>
+
+ </head>
+
+ <body>
+
+  <p>Test passes if there is a filled green square and <strong>no red</strong>.</p>
+
+  <div id="reference-overlapped-red"></div>
+
+  <table id="test-overlapping-green">
+    <caption>CA</caption>
+    <tr>
+      <td>T</td><td>D</td>
+    </tr>
+  </table>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/central-baseline-alignment-002-ref.xht
@@ -0,0 +1,44 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Reftest Reference</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+
+  <meta name="flags" content="image" />
+
+  <style type="text/css"><![CDATA[
+  img
+    {
+      vertical-align: top;
+    }
+
+  img
+    {
+      padding-left: 60px;
+    }
+
+  img + br + img
+    {
+      padding-left: 30px;
+    }
+
+  img + br + img + br + img
+    {
+      padding-left: 75px;
+    }
+  ]]></style>
+
+ </head>
+
+ <body>
+
+  <p>Test passes if 2 orange squares are centered with respect to a blue square.</p>
+
+  <div><img src="support/swatch-orange.png" width="60" height="60" alt="Image download support must be enabled" /><br /><img src="support/swatch-blue.png" width="120" height="120" alt="Image download support must be enabled" /><br /><img src="support/swatch-orange.png" width="30" height="30" alt="Image download support must be enabled" /></div>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/central-baseline-alignment-002.xht
@@ -0,0 +1,53 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Writing Modes Test: central baseline-alignment of text with 'text-orientation: upright' (vertical-rl)</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+  <link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#text-baselines" title="4.2 Text Baselines" />
+  <link rel="match" href="central-baseline-alignment-002-ref.xht" />
+
+  <meta content="This test checks that the central baseline is used as the dominant baseline when 'text-orientation' is 'upright' in vertical writing-mode." name="assert" />
+  <meta content="ahem" name="flags" />
+
+<style type="text/css"><![CDATA[
+@font-face {
+  font-family: Ahem;
+  src: url("../../../fonts/Ahem.ttf");
+}
+]]></style>
+  <style type="text/css"><![CDATA[
+  div#textorient-mixed
+    {
+      color: orange;
+      font: 60px/1.5 Ahem; /* computes to 60px/90px */
+      height: 4em;
+      text-orientation: upright;
+      writing-mode: vertical-rl;
+    }
+
+  span#blue120
+    {
+      color: blue;
+      font-size: 2em; /* computes to 120px */
+    }
+
+  span#orange30
+    {
+      font-size: 0.5em; /* computes to 30px */
+    }
+  ]]></style>
+
+ </head>
+
+ <body>
+
+  <p>Test passes if 2 orange squares are centered with respect to a blue square.</p>
+
+  <div id="textorient-mixed">A<span id="blue120">B</span><span id="orange30">O</span></div>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/central-baseline-alignment-003.xht
@@ -0,0 +1,53 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Writing Modes Test: central baseline-alignment of text with 'text-orientation: upright' (vertical-lr)</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+  <link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#text-baselines" title="4.2 Text Baselines" />
+  <link rel="match" href="central-baseline-alignment-002-ref.xht" />
+
+  <meta content="This test checks that the central baseline is used as the dominant baseline when 'text-orientation' is 'upright' in vertical writing-mode." name="assert" />
+  <meta content="ahem" name="flags" />
+
+<style type="text/css"><![CDATA[
+@font-face {
+  font-family: Ahem;
+  src: url("../../../fonts/Ahem.ttf");
+}
+]]></style>
+  <style type="text/css"><![CDATA[
+  div#textorient-mixed
+    {
+      color: orange;
+      font: 60px/1.5 Ahem; /* computes to 60px/90px */
+      height: 4em;
+      text-orientation: upright;
+      writing-mode: vertical-lr;
+    }
+
+  span#blue120
+    {
+      color: blue;
+      font-size: 2em; /* computes to 120px */
+    }
+
+  span#orange30
+    {
+      font-size: 0.5em; /* computes to 30px */
+    }
+  ]]></style>
+
+ </head>
+
+ <body>
+
+  <p>Test passes if 2 orange squares are centered with respect to a blue square.</p>
+
+  <div id="textorient-mixed">A<span id="blue120">B</span><span id="orange30">O</span></div>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/clearance-calculations-vrl-002-ref.xht
@@ -0,0 +1,33 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Reftest Reference</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+
+  <meta content="image" name="flags" />
+
+  <style type="text/css"><![CDATA[
+  img
+    {
+      padding-right: 40px;
+    }
+
+  img + img
+    {
+      padding-right: 20px;
+    }
+  ]]></style>
+ </head>
+
+ <body>
+
+  <p>Test passes if there is <strong>no red</strong>.</p>
+
+  <div><img src="support/swatch-green.png" width="20" height="100" alt="Image download support must be enabled" /><img src="support/swatch-green.png" width="20" height="100" alt="Image download support must be enabled" /><img src="support/swatch-green.png" width="20" height="100" alt="Image download support must be enabled" /></div>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/clearance-calculations-vrl-002.xht
@@ -0,0 +1,77 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Writing Modes Test: Clearance calculations - clearing box has larger margin than width of float</title>
+
+  <!--
+  This test is the verticalized version of
+  http://test.csswg.org/suites/css2.1/latest/html4/clear-clearance-calculation-001.htm
+  -->
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+  <link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#vertical-layout" title="7.1 Principles of Layout in Vertical Writing Modes" />
+  <link rel="match" href="clearance-calculations-vrl-002-ref.xht" />
+
+  <meta content="ahem image" name="flags" />
+  <meta content="This test checks that when a clearing element has a right margin (in a block formating context with 'writing-mode' set to 'vertical-rl') larger than the width of a floated element, then the right margin is collapsed with the margin-left of preceding in-flow sibling. The clearing element is then placed at the point of the resulting collapsed margin." name="assert" />
+
+<style type="text/css"><![CDATA[
+@font-face {
+  font-family: Ahem;
+  src: url("../../../fonts/Ahem.ttf");
+}
+]]></style>
+  <style type="text/css"><![CDATA[
+  div
+    {
+      height: 5em;
+    }
+
+  div#parent
+    {
+      background: red url("support/clearance-calculation-vrl-002.png");
+      font: 20px/1 Ahem; /* computes to 20px/20px */
+      min-width: 6em;
+      writing-mode: vertical-rl;
+    }
+
+  div > div
+    {
+      background-color: green;
+      width: 1em;
+    }
+
+  div#preceding-sibling
+    {
+      margin-left: 1em;
+    }
+
+  div#floated-left
+    {
+      float: left;
+    }
+
+  div#clearing-left
+    {
+      clear: left;
+      margin-right: 4em;
+    }
+  ]]></style>
+
+ </head>
+
+ <body>
+
+  <p>Test passes if there is <strong>no red</strong>.</p>
+
+  <div id="parent">
+    <div id="preceding-sibling"></div>
+    <div id="floated-left"></div>
+    <div id="clearing-left"></div>
+  </div>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/clearance-calculations-vrl-004-ref.xht
@@ -0,0 +1,28 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Reftest Reference</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+
+  <meta content="image" name="flags" />
+
+  <style type="text/css"><![CDATA[
+    img
+    {
+      padding-right: 80px;
+    }
+  ]]></style>
+ </head>
+
+ <body>
+
+  <p>Test passes if there is <strong>no red</strong>.</p>
+
+  <div><img src="support/swatch-green.png" width="60" height="100" alt="Image download support must be enabled" /><img src="support/swatch-green.png" width="20" height="100" alt="Image download support must be enabled" /></div>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/clearance-calculations-vrl-004.xht
@@ -0,0 +1,78 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Writing Modes Test: Clearance calculations - clearing box has narrower margin than clearance</title>
+
+  <!--
+  This test is the verticalized version of
+  http://test.csswg.org/suites/css2.1/latest/html4/clear-clearance-calculation-002.htm
+  -->
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+  <link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#vertical-layout" title="7.1 Principles of Layout in Vertical Writing Modes" />
+  <link rel="match" href="clearance-calculations-vrl-004-ref.xht" />
+
+  <meta content="ahem image" name="flags" />
+  <meta content="This test checks that if, after margin collapsing, the position of the clearing element is on the right of the float or would be hypothetically positioned within the layout position of the float, then the clearing element is positioned directly on the left of the floated element." name="assert" />
+
+<style type="text/css"><![CDATA[
+@font-face {
+  font-family: Ahem;
+  src: url("../../../fonts/Ahem.ttf");
+}
+]]></style>
+  <style type="text/css"><![CDATA[
+  div
+    {
+      height: 5em; /* computes to 100px */
+    }
+
+  div#parent
+    {
+      background: red url("support/clearance-calculation-vrl-004.png");
+      font: 20px/1 Ahem; /* computes to 20px/20px */
+      min-width: 8em;
+      writing-mode: vertical-rl;
+    }
+
+  div > div
+    {
+      background-color: green;
+      width: 1em;
+    }
+
+  div#preceding-sibling
+    {
+      margin-left: 4em;
+    }
+
+  div#floated-left
+    {
+      float: left;
+      width: 2em;
+    }
+
+  div#clearing-left
+    {
+      clear: left;
+      margin-right: 3em;
+    }
+  ]]></style>
+
+ </head>
+
+ <body>
+
+  <p>Test passes if there is <strong>no red</strong>.</p>
+
+  <div id="parent">
+    <div id="preceding-sibling"></div>
+    <div id="floated-left"></div>
+    <div id="clearing-left"></div>
+  </div>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/clearance-calculations-vrl-006-ref.xht
@@ -0,0 +1,33 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Reftest Reference</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+
+  <meta content="image" name="flags" />
+
+  <style type="text/css"><![CDATA[
+    img
+    {
+      padding-right: 60px;
+    }
+
+    img + img
+    {
+      padding-right: 20px;
+    }
+  ]]></style>
+ </head>
+
+ <body>
+
+  <p>Test passes if there is <strong>no red</strong>.</p>
+
+  <div><img src="support/swatch-green.png" width="20" height="100" alt="Image download support must be enabled" /><img src="support/swatch-green.png" width="20" height="100" alt="Image download support must be enabled" /><img src="support/swatch-green.png" width="20" height="100" alt="Image download support must be enabled" /></div>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/clearance-calculations-vrl-006.xht
@@ -0,0 +1,80 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Writing Modes Test: Clearance calculations - clearing box has larger margin than width of float</title>
+
+  <!--
+  This test is the verticalized version of
+  http://test.csswg.org/suites/css2.1/latest/html4/clear-clearance-calculation-003.htm
+  -->
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+  <link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#vertical-layout" title="7.1 Principles of Layout in Vertical Writing Modes" />
+  <link rel="match" href="clearance-calculations-vrl-006-ref.xht" />
+
+  <meta content="ahem image" name="flags" />
+  <meta content="This test checks that when a clearing element (in a block formating context with 'writing-mode' set to 'vertical-rl') has a right margin larger than the width of a floated element, then the right margin is collapsed with the margin-left of preceding in-flow sibling. The clearing element is then placed at the point of the resulting collapsed margin." name="assert" />
+
+<style type="text/css"><![CDATA[
+@font-face {
+  font-family: Ahem;
+  src: url("../../../fonts/Ahem.ttf");
+}
+]]></style>
+  <style type="text/css"><![CDATA[
+  div
+    {
+      height: 5em; /* computes to 100px */
+    }
+
+  div#parent
+    {
+      background: red url("support/clearance-calculation-vrl-006.png");
+      font: 20px/1 Ahem; /* computes to 20px/20px */
+      min-width: 7em;
+      writing-mode: vertical-rl;
+    }
+
+  div > div
+    {
+      background-color: green;
+      width: 1em;
+    }
+
+  div#preceding-sibling
+    {
+      margin-left: 1em;
+    }
+
+  div#floated-left
+    {
+      float: left;
+    }
+
+  div#clearing-left /* collapsing-through element */
+    {
+      clear: left;
+      margin-left: 4em;
+      margin-right: 5em;
+      width: 0em;
+    }
+  ]]></style>
+
+ </head>
+
+ <body>
+
+  <p>Test passes if there is <strong>no red</strong>.</p>
+
+  <div id="parent">
+    <div id="preceding-sibling"></div>
+    <div id="floated-left"></div>
+    <div id="clearing-left"></div>
+    <div id="following-sibling"></div>
+  </div>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/clearance-calculations-vrl-008-ref.xht
@@ -0,0 +1,37 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Reftest Reference</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+
+  <meta content="image" name="flags" />
+
+  <style type="text/css"><![CDATA[
+  html
+    {
+      direction: rtl;
+    }
+
+    img
+    {
+      vertical-align: top;
+    }
+
+    img#green-square
+     {
+       padding-left: 8px;
+       padding-right: 100px;
+     }
+  ]]></style>
+ </head>
+
+ <body>
+
+  <div><img id="green-square" src="support/swatch-green.png" width="100" height="100" alt="Image download support must be enabled" /><img src="support/pass-cdts-clearance-calculations.png" width="474" height="17" alt="Image download support must be enabled" /></div>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/clearance-calculations-vrl-008.xht
@@ -0,0 +1,76 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Writing Modes Test: clearance calculations</title>
+
+  <!--
+  This test is the verticalized version of
+  http://test.csswg.org/suites/css2.1/latest/html4/clear-clearance-calculation-004.htm
+  -->
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+  <link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#vertical-layout" title="7.1 Principles of Layout in Vertical Writing Modes" />
+  <link rel="match" href="clearance-calculations-vrl-008-ref.xht" />
+
+  <meta content="image" name="flags" />
+  <meta content="In this test, the right border edge of div#clearing-left must be on the left side of div#floated-left, i.e., 50px further on its left-hand side. That means that the margin-left of div#preceding-sibling must not collapse with the right margin of the div#clearing-left and clearance must be added such that clearance + margin-right of div#clearing-left = 50px, i.e., clearance = 50px - margin-right of div#clearing-left; therefore clearance is equal to 50px - 75px = - 25px." name="assert" />
+
+  <style type="text/css"><![CDATA[
+  html
+    {
+      height: 116px;
+      writing-mode: vertical-rl;
+    }
+
+  div#preceding-sibling
+    {
+      margin-left: 25px;
+      width: 25px;
+    }
+
+  div#floated-left
+    {
+      float: left;
+      width: 50px;
+    }
+
+  div#clearing-left
+    {
+      background-color: green;
+      clear: left;
+      margin-left: 8px;
+      margin-right: 75px;
+      width: 100px;
+    }
+
+  div#reference-overlapped-red
+    {
+      background-color: red;
+      height: 100px;
+      position: absolute;
+      right: 108px;
+      top: 8px;
+      width: 100px;
+      z-index: -1;
+    }
+  ]]></style>
+
+ </head>
+
+ <body>
+
+  <div id="preceding-sibling"></div>
+
+  <div id="floated-left"></div>
+
+  <div id="clearing-left"></div>
+
+  <div><img src="support/pass-cdts-clearance-calculations.png" width="474" height="17" alt="Image download support must be enabled" /></div>
+
+  <div id="reference-overlapped-red"></div>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/clip-rect-vlr-003.xht
@@ -0,0 +1,38 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Writing Modes Test: 'clip: rect()' in 'vertical-lr' writing-mode (orthogonal)</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+  <link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#physical-only" title="7.6 Purely Physical Mappings" />
+  <link rel="match" href="clip-rect-vrl-002-ref.xht" />
+
+  <meta content="image" name="flags" />
+  <meta content="This test checks that 'clip: rect(0px, 50px, 50px, 0px)' set to an image with 'writing-mode: vertical-lr' will make invisible the region outside the top-left corner of such image." name="assert" />
+
+  <style type="text/css"><![CDATA[
+  img#test
+    {
+      clip: rect(0px, 50px, 50px, 0px);
+      position: absolute;
+      writing-mode: vertical-lr;
+    }
+  ]]></style>
+ </head>
+
+ <body>
+
+  <p><img src="support/pass-cdts-abs-pos-non-replaced.png" width="246" height="36" alt="Image download support must be enabled" /></p>
+
+  <!--
+  Image says:
+  Test passes if there is a filled green square and <strong>no red</strong>.
+  -->
+
+  <div><img id="test" src="support/pattern-gr-rr-100x100.png" width="100" height="100" alt="Image download support must be enabled" /></div>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/clip-rect-vlr-005.xht
@@ -0,0 +1,38 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Writing Modes Test: 'clip: rect()' in 'vertical-lr' writing-mode (orthogonal)</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+  <link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#physical-only" title="7.6 Purely Physical Mappings" />
+  <link rel="match" href="clip-rect-vrl-004-ref.xht" />
+
+  <meta content="image" name="flags" />
+  <meta content="This test checks that 'clip: rect(0px, 100px, 50px, 50px)' set to an image with 'writing-mode: vertical-lr' will make invisible the region outside the top-right corner of such image." name="assert" />
+
+  <style type="text/css"><![CDATA[
+  img#test
+    {
+      clip: rect(0px, 100px, 50px, 50px);
+      position: absolute;
+      writing-mode: vertical-lr;
+    }
+  ]]></style>
+ </head>
+
+ <body>
+
+  <p><img src="support/pass-cdts-abs-pos-non-replaced.png" width="246" height="36" alt="Image download support must be enabled" /></p>
+
+  <!--
+  Image says:
+  Test passes if there is a filled green square and <strong>no red</strong>.
+  -->
+
+  <div><img id="test" src="support/pattern-rg-rr-100x100.png" width="100" height="100" alt="Image download support must be enabled" /></div>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/clip-rect-vlr-007.xht
@@ -0,0 +1,38 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Writing Modes Test: 'clip: rect()' in 'vertical-lr' writing-mode (orthogonal)</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+  <link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#physical-only" title="7.6 Purely Physical Mappings" />
+  <link rel="match" href="clip-rect-vrl-006-ref.xht" />
+
+  <meta content="image" name="flags" />
+  <meta content="This test checks that 'clip: rect(50px, 50px, 100px, 0px)' set to an image with 'writing-mode: vertical-lr' will make invisible the region outside the bottom-left corner of such image." name="assert" />
+
+  <style type="text/css"><![CDATA[
+  img#test
+    {
+      clip: rect(50px, 50px, 100px, 0px);
+      position: absolute;
+      writing-mode: vertical-lr;
+    }
+  ]]></style>
+ </head>
+
+ <body>
+
+  <p><img src="support/pass-cdts-abs-pos-non-replaced.png" width="246" height="36" alt="Image download support must be enabled" /></p>
+
+  <!--
+  Image says:
+  Test passes if there is a filled green square and <strong>no red</strong>.
+  -->
+
+  <div><img id="test" src="support/pattern-rr-gr-100x100.png" width="100" height="100" alt="Image download support must be enabled" /></div>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/clip-rect-vlr-009.xht
@@ -0,0 +1,38 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Writing Modes Test: 'clip: rect()' in 'vertical-lr' writing-mode (orthogonal)</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+  <link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#physical-only" title="7.6 Purely Physical Mappings" />
+  <link rel="match" href="clip-rect-vrl-008-ref.xht" />
+
+  <meta content="image" name="flags" />
+  <meta content="This test checks that 'clip: rect(50px, 100px, 100px, 50px)' set to an image with 'writing-mode: vertical-lr' will make invisible the region outside the bottom-right corner of such image." name="assert" />
+
+  <style type="text/css"><![CDATA[
+  img#test
+    {
+      clip: rect(50px, 100px, 100px, 50px);
+      position: absolute;
+      writing-mode: vertical-lr;
+    }
+  ]]></style>
+ </head>
+
+ <body>
+
+  <p><img src="support/pass-cdts-abs-pos-non-replaced.png" width="246" height="36" alt="Image download support must be enabled" /></p>
+
+  <!--
+  Image says:
+  Test passes if there is a filled green square and <strong>no red</strong>.
+  -->
+
+  <div><img id="test" src="support/pattern-rr-rg-100x100.png" width="100" height="100" alt="Image download support must be enabled" /></div>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/clip-rect-vlr-011-ref.xht
@@ -0,0 +1,42 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Reftest Reference</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+
+  <meta content="image" name="flags" />
+
+  <style type="text/css"><![CDATA[
+  div
+    {
+      margin-left: 8px;
+    }
+
+  img
+    {
+      vertical-align: top;
+    }
+
+  img + img
+    {
+      padding-left: 16px;
+    }
+  ]]></style>
+
+ </head>
+
+ <body>
+
+  <div><img src="support/pass-cdts-abs-pos-non-replaced.png" width="246" height="36" alt="Image download support must be enabled" /><img src="support/swatch-green.png" width="50" height="50" alt="Image download support must be enabled" /></div>
+
+  <!--
+  Image says:
+  Test passes if there is a filled green square and <strong>no red</strong>.
+  -->
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/clip-rect-vlr-011.xht
@@ -0,0 +1,42 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Writing Modes Test: 'clip: rect()' in 'vertical-lr' writing-mode (non-orthogonal)</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+  <link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#physical-only" title="7.6 Purely Physical Mappings" />
+  <link rel="match" href="clip-rect-vlr-011-ref.xht" />
+
+  <meta content="image" name="flags" />
+  <meta content="This test checks that 'clip: rect(0px, 50px, 50px, 0px)' set to an image in a 'writing-mode: vertical-lr' document will make invisible the region outside the top-left corner." name="assert" />
+
+  <style type="text/css"><![CDATA[
+  html
+    {
+      writing-mode: vertical-lr;
+    }
+
+  img#test
+    {
+      clip: rect(0px, 50px, 50px, 0px);
+      position: absolute;
+    }
+  ]]></style>
+ </head>
+
+ <body>
+
+  <p><img src="support/pass-cdts-abs-pos-non-replaced.png" width="246" height="36" alt="Image download support must be enabled" /></p>
+
+  <!--
+  Image says:
+  Test passes if there is a filled green square and <strong>no red</strong>.
+  -->
+
+  <div><img id="test" src="support/pattern-gr-rr-100x100.png" width="100" height="100" alt="Image download support must be enabled" /></div>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/clip-rect-vlr-013-ref.xht
@@ -0,0 +1,42 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Reftest Reference</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+
+  <meta content="image" name="flags" />
+
+  <style type="text/css"><![CDATA[
+  div
+    {
+      margin-left: 8px;
+    }
+
+  img
+    {
+      vertical-align: top;
+    }
+
+  img + img
+    {
+      padding-left: 66px;
+    }
+  ]]></style>
+
+ </head>
+
+ <body>
+
+  <div><img src="support/pass-cdts-abs-pos-non-replaced.png" width="246" height="36" alt="Image download support must be enabled" /><img src="support/swatch-green.png" width="50" height="50" alt="Image download support must be enabled" /></div>
+
+  <!--
+  Image says:
+  Test passes if there is a filled green square and <strong>no red</strong>.
+  -->
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/clip-rect-vlr-013.xht
@@ -0,0 +1,42 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Writing Modes Test: 'clip: rect()' in 'vertical-lr' writing-mode (non-orthogonal)</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+  <link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#physical-only" title="7.6 Purely Physical Mappings" />
+  <link rel="match" href="clip-rect-vlr-013-ref.xht" />
+
+  <meta content="image" name="flags" />
+  <meta content="This test checks that 'clip: rect(0px, 100px, 50px, 50px)' set to an image in a 'writing-mode: vertical-lr' document will make invisible the region outside the top-right corner of such image." name="assert" />
+
+  <style type="text/css"><![CDATA[
+  html
+    {
+      writing-mode: vertical-lr;
+    }
+
+  img#test
+    {
+      clip: rect(0px, 100px, 50px, 50px);
+      position: absolute;
+    }
+  ]]></style>
+ </head>
+
+ <body>
+
+  <p><img src="support/pass-cdts-abs-pos-non-replaced.png" width="246" height="36" alt="Image download support must be enabled" /></p>
+
+  <!--
+  Image says:
+  Test passes if there is a filled green square and <strong>no red</strong>.
+  -->
+
+  <div><img id="test" src="support/pattern-rg-rr-100x100.png" width="100" height="100" alt="Image download support must be enabled" /></div>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/clip-rect-vlr-015-ref.xht
@@ -0,0 +1,43 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Reftest Reference</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+
+  <meta content="image" name="flags" />
+
+  <style type="text/css"><![CDATA[
+  div
+    {
+      margin-left: 8px;
+    }
+
+  img
+    {
+      vertical-align: top;
+    }
+
+  img + img
+    {
+      padding-left: 16px;
+      padding-top: 50px;
+    }
+  ]]></style>
+
+ </head>
+
+ <body>
+
+  <div><img src="support/pass-cdts-abs-pos-non-replaced.png" width="246" height="36" alt="Image download support must be enabled" /><img src="support/swatch-green.png" width="50" height="50" alt="Image download support must be enabled" /></div>
+
+  <!--
+  Image says:
+  Test passes if there is a filled green square and <strong>no red</strong>.
+  -->
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/clip-rect-vlr-015.xht
@@ -0,0 +1,42 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Writing Modes Test: 'clip: rect()' in 'vertical-lr' writing-mode (non-orthogonal)</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+  <link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#physical-only" title="7.6 Purely Physical Mappings" />
+  <link rel="match" href="clip-rect-vlr-015-ref.xht" />
+
+  <meta content="image" name="flags" />
+  <meta content="This test checks that 'clip: rect(50px, 50px, 100px, 0px)' set to an image in a 'writing-mode: vertical-lr' document will make invisible the region outside the bottom-left corner of such image." name="assert" />
+
+  <style type="text/css"><![CDATA[
+  html
+    {
+      writing-mode: vertical-lr;
+    }
+
+  img#test
+    {
+      clip: rect(50px, 50px, 100px, 0px);
+      position: absolute;
+    }
+  ]]></style>
+ </head>
+
+ <body>
+
+  <p><img src="support/pass-cdts-abs-pos-non-replaced.png" width="246" height="36" alt="Image download support must be enabled" /></p>
+
+  <!--
+  Image says:
+  Test passes if there is a filled green square and <strong>no red</strong>.
+  -->
+
+  <div><img id="test" src="support/pattern-rr-gr-100x100.png" width="100" height="100" alt="Image download support must be enabled" /></div>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/clip-rect-vlr-017-ref.xht
@@ -0,0 +1,43 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Reftest Reference</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+
+  <meta content="image" name="flags" />
+
+  <style type="text/css"><![CDATA[
+  div
+    {
+      margin-left: 8px;
+    }
+
+  img
+    {
+      vertical-align: top;
+    }
+
+  img + img
+    {
+      padding-left: 66px;
+      padding-top: 50px;
+    }
+  ]]></style>
+
+ </head>
+
+ <body>
+
+  <div><img src="support/pass-cdts-abs-pos-non-replaced.png" width="246" height="36" alt="Image download support must be enabled" /><img src="support/swatch-green.png" width="50" height="50" alt="Image download support must be enabled" /></div>
+
+  <!--
+  Image says:
+  Test passes if there is a filled green square and <strong>no red</strong>.
+  -->
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/clip-rect-vlr-017.xht
@@ -0,0 +1,42 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Writing Modes Test: 'clip: rect()' in 'vertical-lr' writing-mode (non-orthogonal)</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+  <link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#physical-only" title="7.6 Purely Physical Mappings" />
+  <link rel="match" href="clip-rect-vlr-017-ref.xht" />
+
+  <meta content="image" name="flags" />
+  <meta content="This test checks that 'clip: rect(50px, 100px, 100px, 50px)' set to an image in a 'writing-mode: vertical-lr' document will make invisible the region outside the bottom-right corner of such image." name="assert" />
+
+  <style type="text/css"><![CDATA[
+  html
+    {
+      writing-mode: vertical-lr;
+    }
+
+  img#test
+    {
+      clip: rect(50px, 100px, 100px, 50px);
+      position: absolute;
+    }
+  ]]></style>
+ </head>
+
+ <body>
+
+  <p><img src="support/pass-cdts-abs-pos-non-replaced.png" width="246" height="36" alt="Image download support must be enabled" /></p>
+
+  <!--
+  Image says:
+  Test passes if there is a filled green square and <strong>no red</strong>.
+  -->
+
+  <div><img id="test" src="support/pattern-rr-rg-100x100.png" width="100" height="100" alt="Image download support must be enabled" /></div>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/clip-rect-vrl-002-ref.xht
@@ -0,0 +1,27 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Reftest Reference</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+
+  <meta content="image" name="flags" />
+
+ </head>
+
+ <body>
+
+  <p><img src="support/pass-cdts-abs-pos-non-replaced.png" width="246" height="36" alt="Image download support must be enabled" /></p>
+
+  <!--
+  Image says:
+  Test passes if there is a filled green square and <strong>no red</strong>.
+  -->
+
+  <div><img src="support/swatch-green.png" width="50" height="50" alt="Image download support must be enabled" /></div>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/clip-rect-vrl-002.xht
@@ -0,0 +1,38 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Writing Modes Test: 'clip: rect()' in 'vertical-rl' writing-mode (orthogonal)</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+  <link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#physical-only" title="7.6 Purely Physical Mappings" />
+  <link rel="match" href="clip-rect-vrl-002-ref.xht" />
+
+  <meta content="image" name="flags" />
+  <meta content="This test checks that 'clip: rect(0px, 50px, 50px, 0px)' set to an image with 'writing-mode: vertical-rl' will make invisible the region outside the top-left corner of such image." name="assert" />
+
+  <style type="text/css"><![CDATA[
+  img#test
+    {
+      clip: rect(0px, 50px, 50px, 0px);
+      position: absolute;
+      writing-mode: vertical-rl;
+    }
+  ]]></style>
+ </head>
+
+ <body>
+
+  <p><img src="support/pass-cdts-abs-pos-non-replaced.png" width="246" height="36" alt="Image download support must be enabled" /></p>
+
+  <!--
+  Image says:
+  Test passes if there is a filled green square and <strong>no red</strong>.
+  -->
+
+  <div><img id="test" src="support/pattern-gr-rr-100x100.png" width="100" height="100" alt="Image download support must be enabled" /></div>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/clip-rect-vrl-004-ref.xht
@@ -0,0 +1,34 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Reftest Reference</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+
+  <meta content="image" name="flags" />
+
+  <style type="text/css"><![CDATA[
+  div > img
+    {
+      padding-left: 50px;
+    }
+  ]]></style>
+
+ </head>
+
+ <body>
+
+  <p><img src="support/pass-cdts-abs-pos-non-replaced.png" width="246" height="36" alt="Image download support must be enabled" /></p>
+
+  <!--
+  Image says:
+  Test passes if there is a filled green square and <strong>no red</strong>.
+  -->
+
+  <div><img src="support/swatch-green.png" width="50" height="50" alt="Image download support must be enabled" /></div>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/clip-rect-vrl-004.xht
@@ -0,0 +1,38 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Writing Modes Test: 'clip: rect()' in 'vertical-rl' writing-mode (orthogonal)</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+  <link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#physical-only" title="7.6 Purely Physical Mappings" />
+  <link rel="match" href="clip-rect-vrl-004-ref.xht" />
+
+  <meta content="image" name="flags" />
+  <meta content="This test checks that 'clip: rect(0px, 100px, 50px, 50px)' set to an image with 'writing-mode: vertical-rl' will make invisible the region outside the top-right corner of such image." name="assert" />
+
+  <style type="text/css"><![CDATA[
+  img#test
+    {
+      clip: rect(0px, 100px, 50px, 50px);
+      position: absolute;
+      writing-mode: vertical-rl;
+    }
+  ]]></style>
+ </head>
+
+ <body>
+
+  <p><img src="support/pass-cdts-abs-pos-non-replaced.png" width="246" height="36" alt="Image download support must be enabled" /></p>
+
+  <!--
+  Image says:
+  Test passes if there is a filled green square and <strong>no red</strong>.
+  -->
+
+  <div><img id="test" src="support/pattern-rg-rr-100x100.png" width="100" height="100" alt="Image download support must be enabled" /></div>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/clip-rect-vrl-006-ref.xht
@@ -0,0 +1,34 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Reftest Reference</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+
+  <meta content="image" name="flags" />
+
+  <style type="text/css"><![CDATA[
+  div > img
+    {
+      padding-top: 50px;
+    }
+  ]]></style>
+
+ </head>
+
+ <body>
+
+  <p><img src="support/pass-cdts-abs-pos-non-replaced.png" width="246" height="36" alt="Image download support must be enabled" /></p>
+
+  <!--
+  Image says:
+  Test passes if there is a filled green square and <strong>no red</strong>.
+  -->
+
+  <div><img src="support/swatch-green.png" width="50" height="50" alt="Image download support must be enabled" /></div>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/clip-rect-vrl-006.xht
@@ -0,0 +1,38 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Writing Modes Test: 'clip: rect()' in 'vertical-rl' writing-mode (orthogonal)</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+  <link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#physical-only" title="7.6 Purely Physical Mappings" />
+  <link rel="match" href="clip-rect-vrl-006-ref.xht" />
+
+  <meta content="image" name="flags" />
+  <meta content="This test checks that 'clip: rect(50px, 50px, 100px, 0px)' set to an image with 'writing-mode: vertical-rl' will make invisible the region outside the bottom-left corner of such image." name="assert" />
+
+  <style type="text/css"><![CDATA[
+  img#test
+    {
+      clip: rect(50px, 50px, 100px, 0px);
+      position: absolute;
+      writing-mode: vertical-rl;
+    }
+  ]]></style>
+ </head>
+
+ <body>
+
+  <p><img src="support/pass-cdts-abs-pos-non-replaced.png" width="246" height="36" alt="Image download support must be enabled" /></p>
+
+  <!--
+  Image says:
+  Test passes if there is a filled green square and <strong>no red</strong>.
+  -->
+
+  <div><img id="test" src="support/pattern-rr-gr-100x100.png" width="100" height="100" alt="Image download support must be enabled" /></div>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/clip-rect-vrl-008-ref.xht
@@ -0,0 +1,35 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Reftest Reference</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+
+  <meta content="image" name="flags" />
+
+  <style type="text/css"><![CDATA[
+  div > img
+    {
+      padding-left: 50px;
+      padding-top: 50px;
+    }
+  ]]></style>
+
+ </head>
+
+ <body>
+
+  <p><img src="support/pass-cdts-abs-pos-non-replaced.png" width="246" height="36" alt="Image download support must be enabled" /></p>
+
+  <!--
+  Image says:
+  Test passes if there is a filled green square and <strong>no red</strong>.
+  -->
+
+  <div><img src="support/swatch-green.png" width="50" height="50" alt="Image download support must be enabled" /></div>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/clip-rect-vrl-008.xht
@@ -0,0 +1,38 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Writing Modes Test: 'clip: rect()' in 'vertical-rl' writing-mode (orthogonal)</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+  <link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#physical-only" title="7.6 Purely Physical Mappings" />
+  <link rel="match" href="clip-rect-vrl-008-ref.xht" />
+
+  <meta content="image" name="flags" />
+  <meta content="This test checks that 'clip: rect(50px, 100px, 100px, 50px)' set to an image with 'writing-mode: vertical-rl' will make invisible the region outside the bottom-right corner of such image." name="assert" />
+
+  <style type="text/css"><![CDATA[
+  img#test
+    {
+      clip: rect(50px, 100px, 100px, 50px);
+      position: absolute;
+      writing-mode: vertical-rl;
+    }
+  ]]></style>
+ </head>
+
+ <body>
+
+  <p><img src="support/pass-cdts-abs-pos-non-replaced.png" width="246" height="36" alt="Image download support must be enabled" /></p>
+
+  <!--
+  Image says:
+  Test passes if there is a filled green square and <strong>no red</strong>.
+  -->
+
+  <div><img id="test" src="support/pattern-rr-rg-100x100.png" width="100" height="100" alt="Image download support must be enabled" /></div>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/clip-rect-vrl-010-ref.xht
@@ -0,0 +1,47 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Reftest Reference</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+
+  <meta content="image" name="flags" />
+
+  <style type="text/css"><![CDATA[
+  body
+    {
+      direction: rtl;
+    }
+
+  div
+    {
+      margin-right: 8px;
+    }
+
+  img
+    {
+      vertical-align: top;
+    }
+
+  img + img
+    {
+      padding-right: 66px;
+    }
+  ]]></style>
+
+ </head>
+
+ <body>
+
+  <div><img src="support/pass-cdts-abs-pos-non-replaced.png" width="246" height="36" alt="Image download support must be enabled" /><img src="support/swatch-green.png" width="50" height="50" alt="Image download support must be enabled" /></div>
+
+  <!--
+  Image says:
+  Test passes if there is a filled green square and <strong>no red</strong>.
+  -->
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/clip-rect-vrl-010.xht
@@ -0,0 +1,42 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Writing Modes Test: 'clip: rect()' in 'vertical-rl' writing-mode (non-orthogonal)</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+  <link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#physical-only" title="7.6 Purely Physical Mappings" />
+  <link rel="match" href="clip-rect-vrl-010-ref.xht" />
+
+  <meta content="image" name="flags" />
+  <meta content="This test checks that 'clip: rect(0px, 50px, 50px, 0px)' set to an image in a 'writing-mode: vertical-rl' document will make invisible the region outside the top-left corner of such image." name="assert" />
+
+  <style type="text/css"><![CDATA[
+  html
+    {
+      writing-mode: vertical-rl;
+    }
+
+  img#test
+    {
+      clip: rect(0px, 50px, 50px, 0px);
+      position: absolute;
+    }
+  ]]></style>
+ </head>
+
+ <body>
+
+  <p><img src="support/pass-cdts-abs-pos-non-replaced.png" width="246" height="36" alt="Image download support must be enabled" /></p>
+
+  <!--
+  Image says:
+  Test passes if there is a filled green square and <strong>no red</strong>.
+  -->
+
+  <div><img id="test" src="support/pattern-gr-rr-100x100.png" width="100" height="100" alt="Image download support must be enabled" /></div>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/clip-rect-vrl-012-ref.xht
@@ -0,0 +1,47 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Reftest Reference</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+
+  <meta content="image" name="flags" />
+
+  <style type="text/css"><![CDATA[
+  body
+    {
+      direction: rtl;
+    }
+
+  div
+    {
+      margin-right: 8px;
+    }
+
+  img
+    {
+      vertical-align: top;
+    }
+
+  img + img
+    {
+      padding-right: 16px;
+    }
+  ]]></style>
+
+ </head>
+
+ <body>
+
+  <div><img src="support/pass-cdts-abs-pos-non-replaced.png" width="246" height="36" alt="Image download support must be enabled" /><img src="support/swatch-green.png" width="50" height="50" alt="Image download support must be enabled" /></div>
+
+  <!--
+  Image says:
+  Test passes if there is a filled green square and <strong>no red</strong>.
+  -->
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/clip-rect-vrl-012.xht
@@ -0,0 +1,42 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Writing Modes Test: 'clip: rect()' in 'vertical-rl' writing-mode (non-orthogonal)</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+  <link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#physical-only" title="7.6 Purely Physical Mappings" />
+  <link rel="match" href="clip-rect-vrl-012-ref.xht" />
+
+  <meta content="image" name="flags" />
+  <meta content="This test checks that 'clip: rect(0px, 100px, 50px, 50px)' set to an image in a 'writing-mode: vertical-rl' document will make invisible the region outside the top-right corner of such image." name="assert" />
+
+  <style type="text/css"><![CDATA[
+  html
+    {
+      writing-mode: vertical-rl;
+    }
+
+  img#test
+    {
+      clip: rect(0px, 100px, 50px, 50px);
+      position: absolute;
+    }
+  ]]></style>
+ </head>
+
+ <body>
+
+  <p><img src="support/pass-cdts-abs-pos-non-replaced.png" width="246" height="36" alt="Image download support must be enabled" /></p>
+
+  <!--
+  Image says:
+  Test passes if there is a filled green square and <strong>no red</strong>.
+  -->
+
+  <div><img id="test" src="support/pattern-rg-rr-100x100.png" width="100" height="100" alt="Image download support must be enabled" /></div>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/clip-rect-vrl-014-ref.xht
@@ -0,0 +1,48 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Reftest Reference</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+
+  <meta content="image" name="flags" />
+
+  <style type="text/css"><![CDATA[
+  body
+    {
+      direction: rtl;
+    }
+
+  div
+    {
+      margin-right: 8px;
+    }
+
+  img
+    {
+      vertical-align: top;
+    }
+
+  img + img
+    {
+      padding-right: 66px;
+      padding-top: 50px;
+    }
+  ]]></style>
+
+ </head>
+
+ <body>
+
+  <div><img src="support/pass-cdts-abs-pos-non-replaced.png" width="246" height="36" alt="Image download support must be enabled" /><img src="support/swatch-green.png" width="50" height="50" alt="Image download support must be enabled" /></div>
+
+  <!--
+  Image says:
+  Test passes if there is a filled green square and <strong>no red</strong>.
+  -->
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/clip-rect-vrl-014.xht
@@ -0,0 +1,42 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Writing Modes Test: 'clip: rect()' in 'vertical-rl' writing-mode (non-orthogonal)</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+  <link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#physical-only" title="7.6 Purely Physical Mappings" />
+  <link rel="match" href="clip-rect-vrl-014-ref.xht" />
+
+  <meta content="image" name="flags" />
+  <meta content="This test checks that 'clip: rect(50px, 50px, 100px, 0px)' set to an image in a 'writing-mode: vertical-rl' document will make invisible the region outside the bottom-left corner of such image." name="assert" />
+
+  <style type="text/css"><![CDATA[
+  html
+    {
+      writing-mode: vertical-rl;
+    }
+
+  img#test
+    {
+      clip: rect(50px, 50px, 100px, 0px);
+      position: absolute;
+    }
+  ]]></style>
+ </head>
+
+ <body>
+
+  <p><img src="support/pass-cdts-abs-pos-non-replaced.png" width="246" height="36" alt="Image download support must be enabled" /></p>
+
+  <!--
+  Image says:
+  Test passes if there is a filled green square and <strong>no red</strong>.
+  -->
+
+  <div><img id="test" src="support/pattern-rr-gr-100x100.png" width="100" height="100" alt="Image download support must be enabled" /></div>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/clip-rect-vrl-016-ref.xht
@@ -0,0 +1,48 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Reftest Reference</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+
+  <meta content="image" name="flags" />
+
+  <style type="text/css"><![CDATA[
+  body
+    {
+      direction: rtl;
+    }
+
+  div
+    {
+      margin-right: 8px;
+    }
+
+  img
+    {
+      vertical-align: top;
+    }
+
+  img + img
+    {
+      padding-right: 16px;
+      padding-top: 50px;
+    }
+  ]]></style>
+
+ </head>
+
+ <body>
+
+  <div><img src="support/pass-cdts-abs-pos-non-replaced.png" width="246" height="36" alt="Image download support must be enabled" /><img src="support/swatch-green.png" width="50" height="50" alt="Image download support must be enabled" /></div>
+
+  <!--
+  Image says:
+  Test passes if there is a filled green square and <strong>no red</strong>.
+  -->
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/clip-rect-vrl-016.xht
@@ -0,0 +1,42 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Writing Modes Test: 'clip: rect()' in 'vertical-rl' writing-mode (non-orthogonal)</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+  <link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#physical-only" title="7.6 Purely Physical Mappings" />
+  <link rel="match" href="clip-rect-vrl-016-ref.xht" />
+
+  <meta content="image" name="flags" />
+  <meta content="This test checks that 'clip: rect(50px, 100px, 100px, 50px)' set to an image in a 'writing-mode: vertical-rl' document will make invisible the region outside the bottom-right corner of such image." name="assert" />
+
+  <style type="text/css"><![CDATA[
+  html
+    {
+      writing-mode: vertical-rl;
+    }
+
+  img#test
+    {
+      clip: rect(50px, 100px, 100px, 50px);
+      position: absolute;
+    }
+  ]]></style>
+ </head>
+
+ <body>
+
+  <p><img src="support/pass-cdts-abs-pos-non-replaced.png" width="246" height="36" alt="Image download support must be enabled" /></p>
+
+  <!--
+  Image says:
+  Test passes if there is a filled green square and <strong>no red</strong>.
+  -->
+
+  <div><img id="test" src="support/pattern-rr-rg-100x100.png" width="100" height="100" alt="Image download support must be enabled" /></div>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/contiguous-floated-table-vlr-003.xht
@@ -0,0 +1,77 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Writing Modes Test: floated border-collapsing tables (vertical-lr)</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+  <link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#vertical-layout" title="7.1 Principles of Layout in Vertical Writing Modes" />
+  <link rel="match" href="../css21/reference/ref-filled-green-100px-square.xht" />
+
+  <meta content="" name="flags" />
+  <meta content="This test checks that contiguous floated border-collapsing tables in a 'vertical-lr' context do not overlap." name="assert" />
+
+  <style type="text/css"><![CDATA[
+  table
+    {
+      border-left: red solid 50px;
+      border-collapse: collapse;
+      float: left;
+      height: 100px;
+      writing-mode: vertical-lr;
+    }
+
+  td
+    {
+      border-left: green solid 50px;
+      padding: 0px;
+    }
+
+  div#reference-overlapped-red
+    {
+      background-color: red;
+      height: 100px;
+      position: relative;
+      width: 100px;
+      z-index: -1;
+    }
+  ]]></style>
+
+ </head>
+
+ <body>
+
+  <p>Test passes if there is a filled green square and <strong>no red</strong>.</p>
+
+  <table id="first">
+
+    <tbody>
+
+      <tr>
+        <td></td> <td></td>
+      </tr>
+
+    </tbody>
+
+  </table>
+
+
+  <table id="second">
+
+    <tbody>
+
+      <tr>
+        <td></td> <td></td>
+      </tr>
+
+    </tbody>
+
+  </table>
+
+
+  <div id="reference-overlapped-red"></div>
+
+ </body>
+</html>
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/contiguous-floated-table-vlr-005.xht
@@ -0,0 +1,78 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Writing Modes Test: floated non-border-collapsing tables (vertical-lr)</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+  <link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#vertical-layout" title="7.1 Principles of Layout in Vertical Writing Modes" />
+  <link rel="match" href="../css21/reference/ref-filled-green-100px-square.xht" />
+
+  <meta content="" name="flags" />
+  <meta content="This test checks that contiguous floated non-border-collapsing tables in a 'vertical-lr' context do not overlap." name="assert" />
+
+  <style type="text/css"><![CDATA[
+  table
+    {
+      border-collapse: separate;
+      border-left: green solid 25px;
+      border-spacing: 0px;
+      float: left;
+      height: 100px;
+      writing-mode: vertical-lr;
+    }
+
+  td
+    {
+      border-left: green solid 25px;
+      padding: 0px;
+    }
+
+  div#reference-overlapped-red
+    {
+      background-color: red;
+      height: 100px;
+      position: relative;
+      width: 100px;
+      z-index: -1;
+    }
+  ]]></style>
+
+ </head>
+
+ <body>
+
+  <p>Test passes if there is a filled green square and <strong>no red</strong>.</p>
+
+  <table id="first">
+
+    <tbody>
+
+      <tr>
+        <td></td> <td></td>
+      </tr>
+
+    </tbody>
+
+  </table>
+
+
+  <table id="second">
+
+    <tbody>
+
+      <tr>
+        <td></td> <td></td>
+      </tr>
+
+    </tbody>
+
+  </table>
+
+
+  <div id="reference-overlapped-red"></div>
+
+ </body>
+</html>
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/contiguous-floated-table-vlr-007.xht
@@ -0,0 +1,80 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <!--
+  Test inspired by
+  http://test.csswg.org/source/css-writing-modes-3/table-progression-vrl-004.html
+  -->
+
+  <title>CSS Writing Modes Test: vertical-lr - contiguous floated tables and horizontal margins</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+  <link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#vertical-layout" title="7.1 Principles of Layout in Vertical Writing Modes" />
+  <link rel="match" href="../css21/reference/ref-filled-green-100px-square.xht" />
+
+  <meta content="image" name="flags" />
+  <meta content="This test checks that horizontal margins existing between contiguous floated tables with writing-mode set to 'vertical-lr' are not substracted by the amount of their borders. In this test, there should be an horizontal gap of 50px separating both tables. Margins between 2 floated boxes do not collapse." name="assert" />
+
+  <style type="text/css"><![CDATA[
+  table
+    {
+      border-collapse: separate;
+      border-spacing: 0px;
+      float: left;
+      height: 100px;
+      writing-mode: vertical-lr;
+    }
+
+  td
+    {
+      padding: 0px;
+    }
+
+  table#left-first
+    {
+      border-right: green solid 25px;
+      margin-right: 25px;
+    }
+
+  table#right-second
+    {
+      border-left: green solid 25px;
+      margin-left: 25px;
+    }
+
+  div#reference-overlapped
+    {
+      background-color: red;
+      background-image: url("support/margin-collapse-2em-space-wm-vert.png");
+      background-repeat: no-repeat;
+      height: 100px;
+      position: relative;
+      width: 100px;
+      z-index: -1;
+    }
+  ]]></style>
+ </head>
+
+ <body>
+
+  <p>Test passes if there is a filled green square and <strong>no red</strong>.</p>
+
+  <table id="left-first">
+
+    <tr><td></td><td></td><td></td><td></td></tr>
+
+  </table>
+
+  <table id="right-second">
+
+    <tr><td></td><td></td><td></td><td></td></tr>
+
+  </table>
+
+  <div id="reference-overlapped"></div>
+
+ </body>
+</html>
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/contiguous-floated-table-vlr-009.xht
@@ -0,0 +1,81 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <!--
+  Test inspired by
+  http://test.csswg.org/source/css-writing-modes-3/table-progression-vrl-004.html
+  -->
+
+  <title>CSS Writing Modes Test: vertical-lr - contiguous floated tables and horizontal margins</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+  <link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#vertical-layout" title="7.1 Principles of Layout in Vertical Writing Modes" />
+  <link rel="match" href="../css21/reference/ref-filled-green-100px-square.xht" />
+
+  <meta content="image" name="flags" />
+  <meta content="This test checks that horizontal margins existing between contiguous floated tables with writing-mode set to 'vertical-lr' are not substracted by the amount of their horizontal padding. In this test, there should be an horizontal gap of 50px separating both tables. Margins between 2 floated boxes do not collapse." name="assert" />
+
+  <style type="text/css"><![CDATA[
+  table
+    {
+      background-color: green;
+      border-collapse: separate;
+      border-spacing: 0px;
+      float: left;
+      height: 100px;
+      writing-mode: vertical-lr;
+    }
+
+  td
+    {
+      padding: 0px;
+    }
+
+  table#left-first
+    {
+      padding-right: 25px;
+      margin-right: 25px;
+    }
+
+  table#right-second
+    {
+      padding-left: 25px;
+      margin-left: 25px;
+    }
+
+  div#reference-overlapped
+    {
+      background-color: red;
+      background-image: url("support/margin-collapse-2em-space-wm-vert.png");
+      background-repeat: no-repeat;
+      height: 100px;
+      position: relative;
+      width: 100px;
+      z-index: -1;
+    }
+  ]]></style>
+ </head>
+
+ <body>
+
+  <p>Test passes if there is a filled green square and <strong>no red</strong>.</p>
+
+  <table id="left-first">
+
+    <tr><td></td><td></td><td></td><td></td></tr>
+
+  </table>
+
+  <table id="right-second">
+
+    <tr><td></td><td></td><td></td><td></td></tr>
+
+  </table>
+
+  <div id="reference-overlapped"></div>
+
+ </body>
+</html>
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/contiguous-floated-table-vrl-002.xht
@@ -0,0 +1,77 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Writing Modes Test: floated border-collapsing tables (vertical-rl)</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+  <link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#vertical-layout" title="7.1 Principles of Layout in Vertical Writing Modes" />
+  <link rel="match" href="../css21/reference/ref-filled-green-100px-square.xht" />
+
+  <meta content="" name="flags" />
+  <meta content="This test checks that contiguous floated border-collapsing tables in a 'vertical-rl' context do not overlap." name="assert" />
+
+  <style type="text/css"><![CDATA[
+  table
+    {
+      border-collapse: collapse;
+      border-right: red solid 50px;
+      float: left;
+      height: 100px;
+      writing-mode: vertical-rl;
+    }
+
+  td
+    {
+      border-right: green solid 50px;
+      padding: 0px;
+    }
+
+  div#reference-overlapped-red
+    {
+      background-color: red;
+      height: 100px;
+      position: relative;
+      width: 100px;
+      z-index: -1;
+    }
+  ]]></style>
+
+ </head>
+
+ <body>
+
+  <p>Test passes if there is a filled green square and <strong>no red</strong>.</p>
+
+  <table id="first">
+
+    <tbody>
+
+      <tr>
+        <td></td> <td></td>
+      </tr>
+
+    </tbody>
+
+  </table>
+
+
+  <table id="second">
+
+    <tbody>
+
+      <tr>
+        <td></td> <td></td>
+      </tr>
+
+    </tbody>
+
+  </table>
+
+
+  <div id="reference-overlapped-red"></div>
+
+ </body>
+</html>
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/contiguous-floated-table-vrl-004.xht
@@ -0,0 +1,78 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Writing Modes Test: floated non-border-collapsing tables (vertical-rl)</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+  <link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#vertical-layout" title="7.1 Principles of Layout in Vertical Writing Modes" />
+  <link rel="match" href="../css21/reference/ref-filled-green-100px-square.xht" />
+
+  <meta content="" name="flags" />
+  <meta content="This test checks that contiguous floated non-border-collapsing tables in a 'vertical-rl' context do not overlap." name="assert" />
+
+  <style type="text/css"><![CDATA[
+  table
+    {
+      border-right: green solid 25px;
+      border-collapse: separate;
+      border-spacing: 0px;
+      float: left;
+      height: 100px;
+      writing-mode: vertical-rl;
+    }
+
+  td
+    {
+      border-right: green solid 25px;
+      padding: 0px;
+    }
+
+  div#reference-overlapped-red
+    {
+      background-color: red;
+      height: 100px;
+      position: relative;
+      width: 100px;
+      z-index: -1;
+    }
+  ]]></style>
+
+ </head>
+
+ <body>
+
+  <p>Test passes if there is a filled green square and <strong>no red</strong>.</p>
+
+  <table id="first">
+
+    <tbody>
+
+      <tr>
+        <td></td> <td></td>
+      </tr>
+
+    </tbody>
+
+  </table>
+
+
+  <table id="second">
+
+    <tbody>
+
+      <tr>
+        <td></td> <td></td>
+      </tr>
+
+    </tbody>
+
+  </table>
+
+
+  <div id="reference-overlapped-red"></div>
+
+ </body>
+</html>
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/contiguous-floated-table-vrl-006.xht
@@ -0,0 +1,80 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <!--
+  Test inspired by
+  http://test.csswg.org/source/css-writing-modes-3/table-progression-vrl-004.html
+  -->
+
+  <title>CSS Writing Modes Test: vertical-rl - contiguous floated tables and horizontal margins</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+  <link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#vertical-layout" title="7.1 Principles of Layout in Vertical Writing Modes" />
+  <link rel="match" href="../css21/reference/ref-filled-green-100px-square.xht" />
+
+  <meta content="image" name="flags" />
+  <meta content="This test checks that horizontal margins existing between contiguous floated tables with writing-mode set to 'vertical-rl' are not substracted by the amount of their borders. In this test, there should be an horizontal gap of 50px separating both tables. Margins between 2 floated boxes do not collapse." name="assert" />
+
+  <style type="text/css"><![CDATA[
+  table
+    {
+      border-collapse: separate;
+      border-spacing: 0px;
+      float: left;
+      height: 100px;
+      writing-mode: vertical-rl;
+    }
+
+  td
+    {
+      padding: 0px;
+    }
+
+  table#left-first
+    {
+      border-right: green solid 25px;
+      margin-right: 25px;
+    }
+
+  table#right-second
+    {
+      border-left: green solid 25px;
+      margin-left: 25px;
+    }
+
+  div#reference-overlapped
+    {
+      background-color: red;
+      background-image: url("support/margin-collapse-2em-space-wm-vert.png");
+      background-repeat: no-repeat;
+      height: 100px;
+      position: relative;
+      width: 100px;
+      z-index: -1;
+    }
+  ]]></style>
+ </head>
+
+ <body>
+
+  <p>Test passes if there is a filled green square and <strong>no red</strong>.</p>
+
+  <table id="left-first">
+
+    <tr><td></td><td></td><td></td><td></td></tr>
+
+  </table>
+
+  <table id="right-second">
+
+    <tr><td></td><td></td><td></td><td></td></tr>
+
+  </table>
+
+  <div id="reference-overlapped"></div>
+
+ </body>
+</html>
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/contiguous-floated-table-vrl-008.xht
@@ -0,0 +1,81 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <!--
+  Test inspired by
+  http://test.csswg.org/source/css-writing-modes-3/table-progression-vrl-004.html
+  -->
+
+  <title>CSS Writing Modes Test: vertical-rl - contiguous floated tables and horizontal margins</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+  <link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#vertical-layout" title="7.1 Principles of Layout in Vertical Writing Modes" />
+  <link rel="match" href="../css21/reference/ref-filled-green-100px-square.xht" />
+
+  <meta content="image" name="flags" />
+  <meta content="This test checks that horizontal margins existing between contiguous floated tables with writing-mode set to 'vertical-rl' are not substracted by the amount of their horizontal padding. In this test, there should be an horizontal gap of 50px separating both tables. Margins between 2 floated boxes do not collapse." name="assert" />
+
+  <style type="text/css"><![CDATA[
+  table
+    {
+      background-color: green;
+      border-collapse: separate;
+      border-spacing: 0px;
+      float: left;
+      height: 100px;
+      writing-mode: vertical-rl;
+    }
+
+  td
+    {
+      padding: 0px;
+    }
+
+  table#left-first
+    {
+      padding-right: 25px;
+      margin-right: 25px;
+    }
+
+  table#right-second
+    {
+      padding-left: 25px;
+      margin-left: 25px;
+    }
+
+  div#reference-overlapped
+    {
+      background-color: red;
+      background-image: url("support/margin-collapse-2em-space-wm-vert.png");
+      background-repeat: no-repeat;
+      height: 100px;
+      position: relative;
+      width: 100px;
+      z-index: -1;
+    }
+  ]]></style>
+ </head>
+
+ <body>
+
+  <p>Test passes if there is a filled green square and <strong>no red</strong>.</p>
+
+  <table id="left-first">
+
+    <tr><td></td><td></td><td></td><td></td></tr>
+
+  </table>
+
+  <table id="right-second">
+
+    <tr><td></td><td></td><td></td><td></td></tr>
+
+  </table>
+
+  <div id="reference-overlapped"></div>
+
+ </body>
+</html>
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/different-block-flow-dir-001.xht
@@ -0,0 +1,50 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Writing Modes Test: descendant inline with a different 'writing-mode' value</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+  <link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#writing-mode" title="3.1 Block Flow Direction: the writing-mode property" />
+  <link rel="match" href="../css21/reference/ref-filled-green-100px-square.xht" />
+
+  <meta content="" name="flags" />
+  <meta content="This test checks that if an inline box has a different block flow direction than its containing block then its display computes to 'inline-block' in which case its specified width and specified height are not ignored and have to be rendered." name="assert" />
+
+  <style type="text/css"><![CDATA[
+  span#inner
+  {
+  background-color: green;
+  color: green;
+  height: 6.25em;
+  vertical-align: top;
+  width: 6.25em;
+  writing-mode: vertical-rl;
+  }
+
+  div#reference-overlapped-red
+  {
+  background-color: red;
+  bottom: 6.25em;
+  height: 6.25em;
+  position: relative;
+  width: 6.25em;
+  z-index: -1;
+  }
+  ]]></style>
+ </head>
+
+ <body>
+
+  <p>Test passes if there is a filled green square and <strong>no red</strong>.</p>
+
+  <div id="test-overlapping-green">
+    <span id="outer"><span id="inner">I</span></span>
+  </div>
+
+  <div id="reference-overlapped-red"></div>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/different-block-flow-dir-002.xht
@@ -0,0 +1,56 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Writing Modes Test: descendant inline with a different 'writing-mode' value</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+  <link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#writing-mode" title="3.1 Block Flow Direction: the writing-mode property" />
+  <link rel="match" href="../css21/reference/ref-filled-green-100px-square.xht" />
+
+  <meta content="" name="flags" />
+  <meta content="This test checks that if an inline box has a different block flow direction than its containing block then its display computes to 'inline-block' in which case its specified width and specified height are not ignored and have to be rendered." name="assert" />
+
+  <style type="text/css"><![CDATA[
+  span#outer
+  {
+  vertical-align: top;
+  writing-mode: vertical-rl;
+  }
+
+  span#inner
+  {
+  background-color: green;
+  color: green;
+  height: 6.25em;
+  vertical-align: top;
+  width: 6.25em;
+  writing-mode: horizontal-tb;
+  }
+
+  div#reference-overlapped-red
+  {
+  background-color: red;
+  bottom: 6.25em;
+  height: 6.25em;
+  position: relative;
+  width: 6.25em;
+  z-index: -1;
+  }
+  ]]></style>
+ </head>
+
+ <body>
+
+  <p>Test passes if there is a filled green square and <strong>no red</strong>.</p>
+
+  <div id="test-overlapping-green">
+    <span id="outer"><span id="inner">I</span></span>
+  </div>
+
+  <div id="reference-overlapped-red"></div>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/direction-vlr-003-ref.xht
@@ -0,0 +1,22 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Reftest Reference</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+
+  <meta name="flags" content="image" />
+
+ </head>
+
+ <body>
+
+  <p>Test passes if there is a filled green square and <strong>no red</strong>.</p>
+
+  <div><img src="support/left-bottom-green-200x300.png" width="200" height="300" alt="Image download support must be enabled" /></div>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/direction-vlr-003.xht
@@ -0,0 +1,47 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Writing Modes Test: 'vertical-lr' and 'direction: rtl'</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+  <link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#logical-directions" title="6.2 Flow-relative Directions" />
+  <link rel="match" href="direction-vlr-003-ref.xht" />
+
+  <meta content="ahem image" name="flags" />
+  <meta content="This test checks that when a block box has 'direction' set to 'rtl' in a vertical writing-mode, then inlines boxes are aligned from line-right to line-left." name="assert" />
+
+<style type="text/css"><![CDATA[
+@font-face {
+  font-family: Ahem;
+  src: url("../../../fonts/Ahem.ttf");
+}
+]]></style>
+  <style type="text/css"><![CDATA[
+  div
+    {
+      color: green;
+      font: 100px/1 Ahem; /* computes to 100px/100px */
+      height: 300px;
+      width: 200px;
+    }
+
+  div
+    {
+      background: red url("support/left-bottom-200x300.png");
+      direction: rtl;
+      writing-mode: vertical-lr;
+    }
+  ]]></style>
+ </head>
+
+ <body>
+
+  <p>Test passes if there is a filled green square and <strong>no red</strong>.</p>
+
+  <div>B</div>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/direction-vlr-005.xht
@@ -0,0 +1,47 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Writing Modes Test: 'vertical-lr' and 'direction: ltr'</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+  <link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#logical-directions" title="6.2 Flow-relative Directions" />
+  <link rel="match" href="../css21/reference/ref-filled-green-100px-square.xht" />
+
+  <meta content="ahem image" name="flags" />
+  <meta content="This test checks that when a block box has 'direction' set to 'ltr' in a vertical writing-mode, then inlines boxes are aligned from line-left to line-right." name="assert" />
+
+<style type="text/css"><![CDATA[
+@font-face {
+  font-family: Ahem;
+  src: url("../../../fonts/Ahem.ttf");
+}
+]]></style>
+  <style type="text/css"><![CDATA[
+  div
+    {
+      color: green;
+      font: 100px/1 Ahem; /* computes to 100px/100px */
+      height: 300px;
+      width: 200px;
+    }
+
+  div
+    {
+      background: red url("support/left-top-200x300.png");
+      direction: ltr;
+      writing-mode: vertical-lr;
+    }
+  ]]></style>
+ </head>
+
+ <body>
+
+  <p>Test passes if there is a filled green square and <strong>no red</strong>.</p>
+
+  <div>T</div>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/direction-vrl-002-ref.xht
@@ -0,0 +1,22 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Reftest Reference</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+
+  <meta name="flags" content="image" />
+
+ </head>
+
+ <body>
+
+  <p>Test passes if there is a filled green square and <strong>no red</strong>.</p>
+
+  <div><img src="support/right-bottom-green-200x300.png" width="200" height="300" alt="Image download support must be enabled" /></div>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/direction-vrl-002.xht
@@ -0,0 +1,47 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Writing Modes Test: 'vertical-rl' and 'direction: rtl'</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+  <link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#logical-directions" title="6.2 Flow-relative Directions" />
+  <link rel="match" href="direction-vrl-002-ref.xht" />
+
+  <meta content="ahem image" name="flags" />
+  <meta content="This test checks that when a block box has 'direction' set to 'rtl' in a vertical writing-mode, then inlines boxes are aligned from line-right to line-left." name="assert" />
+
+<style type="text/css"><![CDATA[
+@font-face {
+  font-family: Ahem;
+  src: url("../../../fonts/Ahem.ttf");
+}
+]]></style>
+  <style type="text/css"><![CDATA[
+  div
+    {
+      color: green;
+      font: 100px/1 Ahem; /* computes to 100px/100px */
+      height: 300px;
+      width: 200px;
+    }
+
+  div
+    {
+      background: red url("support/right-bottom-200x300.png");
+      direction: rtl;
+      writing-mode: vertical-rl;
+    }
+  ]]></style>
+ </head>
+
+ <body>
+
+  <p>Test passes if there is a filled green square and <strong>no red</strong>.</p>
+
+  <div>B</div>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/direction-vrl-004-ref.xht
@@ -0,0 +1,22 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Reftest Reference</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+
+  <meta name="flags" content="image" />
+
+ </head>
+
+ <body>
+
+  <p>Test passes if there is a filled green square and <strong>no red</strong>.</p>
+
+  <div><img src="support/right-top-green-200x300.png" width="200" height="300" alt="Image download support must be enabled" /></div>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/direction-vrl-004.xht
@@ -0,0 +1,47 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Writing Modes Test: 'vertical-rl' and 'direction: ltr'</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+  <link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#logical-directions" title="6.2 Flow-relative Directions" />
+  <link rel="match" href="direction-vrl-004-ref.xht" />
+
+  <meta content="ahem image" name="flags" />
+  <meta content="This test checks that when a block box has 'direction' set to 'ltr' in a vertical writing-mode, then inlines boxes are aligned from line-left to line-right." name="assert" />
+
+<style type="text/css"><![CDATA[
+@font-face {
+  font-family: Ahem;
+  src: url("../../../fonts/Ahem.ttf");
+}
+]]></style>
+  <style type="text/css"><![CDATA[
+  div
+    {
+      color: green;
+      font: 100px/1 Ahem; /* computes to 100px/100px */
+      height: 300px;
+      width: 200px;
+    }
+
+  div
+    {
+      background: red url("support/right-top-200x300.png");
+      direction: ltr;
+      writing-mode: vertical-rl;
+    }
+  ]]></style>
+ </head>
+
+ <body>
+
+  <p>Test passes if there is a filled green square and <strong>no red</strong>.</p>
+
+  <div>T</div>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/flexbox_align-items-stretch-writing-modes-ref.html
@@ -0,0 +1,18 @@
+<!DOCTYPE HTML>
+<html>
+<head>
+    <title>Reference file</title>
+    <link rel="author" title="Mitsuteru Sawa" href="mailto:mitsuteru.s@gmail.com">
+    <style>
+        .test {
+            height: 100px;
+            width: 250px;
+            background-color: green;
+        }
+    </style>
+</head>
+<body>
+    <p>The test passes if you see a green rectangle and no red.</p>
+    <div class="test"></div>
+</body>
+</html>
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/flexbox_align-items-stretch-writing-modes.html
@@ -0,0 +1,58 @@
+<!DOCTYPE HTML>
+<html>
+<head>
+    <title>CSS Test: Flexbox align-items: stretch with writing-mode vertical-lr and vertical-rl</title>
+    <link rel="author" title="Mitsuteru Sawa" href="mailto:mitsuteru.s@gmail.com">
+    <link rel="reviewer" title="Tab Atkins Jr." href="mailto:jackalmage@gmail.com">
+    <link rel="help" href="http://www.w3.org/TR/css-flexbox-1/#propdef-align-items">
+    <link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#writing-mode">
+    <link rel="match" href="flexbox_align-items-stretch-writing-modes-ref.html">
+    <meta name="assert" content="vertical-writing-mode flex items should stretch">
+    <style>
+        .container {
+            display: flex;
+            width: 250px;
+        }
+        .vertical-rl {
+            writing-mode: vertical-rl;
+        }
+        .vertical-lr {
+            writing-mode: vertical-lr;
+        }
+        .item {
+            background-color: green;
+        }
+        .square {
+            height: 50px;
+            width: 50px;
+        }
+        .error {
+            position: absolute;
+            background-color: red;
+            height: 100px;
+            width: 250px;
+            z-index: -1;
+        }
+    </style>
+</head>
+<body>
+    <p>The test passes if you see a green rectangle and no red.</p>
+    <div class="test">
+        <div class="error"></div>
+        <div class="container">
+            <div class="horizontal item">
+                <div class="square"></div>
+                <div class="square"></div>
+            </div>
+            <div class="vertical-rl item">
+                <div class="square"></div>
+                <div class="square"></div>
+            </div>
+            <div class="vertical-lr item">
+                <div class="square"></div>
+                <div class="square"></div>
+            </div>
+        </div>
+    </div>
+</body>
+</html>
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/float-clear-vlr-003.xht
@@ -0,0 +1,56 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Writing Modes Test: 'float: right' and 'clear: right' in 'vertical-lr' block formating context (basic)</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+  <link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#vertical-layout" title="7.1 Principles of Layout in Vertical Writing Modes" />
+  <link rel="match" href="../css21/reference/ref-filled-green-100px-square.xht" />
+
+  <meta content="ahem image" name="flags" />
+
+<style type="text/css"><![CDATA[
+@font-face {
+  font-family: Ahem;
+  src: url("../../../fonts/Ahem.ttf");
+}
+]]></style>
+  <style type="text/css"><![CDATA[
+  div#wrapper
+    {
+      background: red url("support/pattern-gr-gr-100x100.png");
+      color: transparent;
+      font: 50px/1 Ahem; /* computes to 50px/50px */
+      height: 2em; /* computes to 100px */
+      width: 2em; /* computes to 100px */
+      writing-mode: vertical-lr;
+    }
+
+  div#floated-right
+    {
+      float: right;
+    }
+
+  div#cleared-right
+    {
+      background-color: green;
+      clear: right;
+      width: 1em;
+    }
+  ]]></style>
+ </head>
+
+ <body>
+
+  <p>Test passes if there is a filled green square and <strong>no red</strong>.</p>
+
+  <div id="wrapper">
+    <div id="floated-right">R</div>
+    <div id="cleared-right"></div>
+  </div>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/float-clear-vlr-005.xht
@@ -0,0 +1,56 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Writing Modes Test: 'float: left' and 'clear: left' in 'vertical-lr' block formating context (basic)</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+  <link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#vertical-layout" title="7.1 Principles of Layout in Vertical Writing Modes" />
+  <link rel="match" href="../css21/reference/ref-filled-green-100px-square.xht" />
+
+  <meta content="ahem image" name="flags" />
+
+<style type="text/css"><![CDATA[
+@font-face {
+  font-family: Ahem;
+  src: url("../../../fonts/Ahem.ttf");
+}
+]]></style>
+  <style type="text/css"><![CDATA[
+  div#wrapper
+    {
+      background: red url("support/pattern-gr-gr-100x100.png");
+      color: transparent;
+      font: 50px/1 Ahem; /* computes to 50px/50px */
+      height: 2em; /* computes to 100px */
+      width: 2em; /* computes to 100px */
+      writing-mode: vertical-lr;
+    }
+
+  div#floated-left
+    {
+      float: left;
+    }
+
+  div#cleared-left
+    {
+      background-color: green;
+      clear: left;
+      width: 1em;
+    }
+  ]]></style>
+ </head>
+
+ <body>
+
+  <p>Test passes if there is a filled green square and <strong>no red</strong>.</p>
+
+  <div id="wrapper">
+    <div id="floated-left">L</div>
+    <div id="cleared-left"></div>
+  </div>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/float-clear-vlr-007.xht
@@ -0,0 +1,59 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Writing Modes Test: 'float: left' and 'clear: left' in 'vertical-lr' block formating context (intermediate)</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+  <link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#vertical-layout" title="7.1 Principles of Layout in Vertical Writing Modes" />
+  <link rel="match" href="../css21/reference/ref-filled-green-100px-square.xht" />
+
+  <meta content="image" name="flags" />
+  <meta content="This test checks that a block container box which has floats will not extend its logical height (it will appear to not be aware of its floats) unless it has a clearing block. This test is important for CSS columnar layout page based on floats." name="assert" />
+
+  <style type="text/css"><![CDATA[
+  div#wrapper
+    {
+      background: red url("support/pattern-gr-gr-100x100.png");
+      font-size: 50px;
+      height: 2em; /* computes to 100px */
+      width: 2em; /* computes to 100px */
+      writing-mode: vertical-lr;
+    }
+
+  div#container
+    {
+      border-right: green solid 1em;
+      width: auto; /* Very important: we want div#container to be able to shrink-wrap */
+    }
+
+  div.floated-left
+    {
+      float: left;
+      height: 50%; /* computes to 50px */
+      width: 1em; /* computes to 50px */
+    }
+
+  div#clearing
+    {
+      clear: left;
+    }
+  ]]></style>
+ </head>
+
+ <body>
+
+  <p>Test passes if there is a filled green square and <strong>no red</strong>.</p>
+
+  <div id="wrapper">
+    <div id="container">
+      <div class="floated-left"></div>
+      <div class="floated-left"></div>
+      <div id="clearing"></div>
+    </div>
+  </div>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/float-clear-vlr-009.xht
@@ -0,0 +1,66 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Writing Modes Test: 'float: right', 'float: left' and 'clear: both' in 'vertical-lr' block formating context (intermediate)</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+  <link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#vertical-layout" title="7.1 Principles of Layout in Vertical Writing Modes" />
+  <link rel="match" href="../css21/reference/ref-filled-green-100px-square.xht" />
+
+  <meta content="image" name="flags" />
+  <meta content="This test checks that a block container box which has floats will not extend its logical height (it will appear to not be aware of its floats) unless it has a clearing block. This test is important for CSS columnar layout page based on floats." name="assert" />
+
+  <style type="text/css"><![CDATA[
+  div#wrapper
+    {
+      background: red url("support/pattern-gr-gr-100x100.png");
+      font-size: 50px;
+      height: 2em; /* computes to 100px */
+      width: 2em; /* computes to 100px */
+      writing-mode: vertical-lr;
+    }
+
+  div#container
+    {
+      border-right: green solid 1em;
+      width: auto; /* Very important: we want div#container to be able to shrink-wrap */
+    }
+
+  div#floated-left
+    {
+      float: left;
+      height: 50%; /* computes to 50px */
+      width: 1em; /* computes to 50px */
+    }
+
+  div#floated-right
+    {
+      float: right;
+      height: 50%; /* computes to 50px */
+      width: 1em; /* computes to 50px */
+    }
+
+  div#clearing
+    {
+      clear: both;
+    }
+  ]]></style>
+ </head>
+
+ <body>
+
+  <p>Test passes if there is a filled green square and <strong>no red</strong>.</p>
+
+  <div id="wrapper">
+    <div id="container">
+      <div id="floated-right"></div>
+      <div id="clearing"></div>
+      <div id="floated-left"></div>
+    </div>
+  </div>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/float-clear-vrl-002.xht
@@ -0,0 +1,56 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Writing Modes Test: 'float: right' and 'clear: right' in 'vertical-rl' block formating context (basic)</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+  <link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#vertical-layout" title="7.1 Principles of Layout in Vertical Writing Modes" />
+  <link rel="match" href="../css21/reference/ref-filled-green-100px-square.xht" />
+
+  <meta content="ahem image" name="flags" />
+
+<style type="text/css"><![CDATA[
+@font-face {
+  font-family: Ahem;
+  src: url("../../../fonts/Ahem.ttf");
+}
+]]></style>
+  <style type="text/css"><![CDATA[
+  div#wrapper
+    {
+      background: red url("support/pattern-rg-rg-100x100.png");
+      color: transparent;
+      font: 50px/1 Ahem; /* computes to 50px/50px */
+      height: 2em; /* computes to 100px */
+      width: 2em; /* computes to 100px */
+      writing-mode: vertical-rl;
+    }
+
+  div#floated-right
+    {
+      float: right;
+    }
+
+  div#cleared-right
+    {
+      background-color: green;
+      clear: right;
+      width: 1em;
+    }
+  ]]></style>
+ </head>
+
+ <body>
+
+  <p>Test passes if there is a filled green square and <strong>no red</strong>.</p>
+
+  <div id="wrapper">
+    <div id="floated-right">R</div>
+    <div id="cleared-right"></div>
+  </div>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/float-clear-vrl-004.xht
@@ -0,0 +1,56 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Writing Modes Test: 'float: left' and 'clear: left' in 'vertical-rl' block formating context (basic)</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+  <link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#vertical-layout" title="7.1 Principles of Layout in Vertical Writing Modes" />
+  <link rel="match" href="../css21/reference/ref-filled-green-100px-square.xht" />
+
+  <meta content="ahem image" name="flags" />
+
+<style type="text/css"><![CDATA[
+@font-face {
+  font-family: Ahem;
+  src: url("../../../fonts/Ahem.ttf");
+}
+]]></style>
+  <style type="text/css"><![CDATA[
+  div#wrapper
+    {
+      background: red url("support/pattern-rg-rg-100x100.png");
+      color: transparent;
+      font: 50px/1 Ahem; /* computes to 50px/50px */
+      height: 2em; /* computes to 100px */
+      width: 2em; /* computes to 100px */
+      writing-mode: vertical-rl;
+    }
+
+  div#floated-left
+    {
+      float: left;
+    }
+
+  div#cleared-left
+    {
+      background-color: green;
+      clear: left;
+      width: 1em;
+    }
+  ]]></style>
+ </head>
+
+ <body>
+
+  <p>Test passes if there is a filled green square and <strong>no red</strong>.</p>
+
+  <div id="wrapper">
+    <div id="floated-left">L</div>
+    <div id="cleared-left"></div>
+  </div>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/float-clear-vrl-006.xht
@@ -0,0 +1,59 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Writing Modes Test: 'float: left' and 'clear: left' in 'vertical-rl' block formating context (intermediate)</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+  <link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#vertical-layout" title="7.1 Principles of Layout in Vertical Writing Modes" />
+  <link rel="match" href="../css21/reference/ref-filled-green-100px-square.xht" />
+
+  <meta content="image" name="flags" />
+  <meta content="This test checks that a block container box which has floats will not extend its logical height (it will appear to not be aware of its floats) unless it has a clearing block. This test is important for CSS columnar layout page based on floats." name="assert" />
+
+  <style type="text/css"><![CDATA[
+  div#wrapper
+    {
+      background: red url("support/pattern-rg-rg-100x100.png");
+      font-size: 50px;
+      height: 2em; /* computes to 100px */
+      width: 2em; /* computes to 100px */
+      writing-mode: vertical-rl;
+    }
+
+  div#container
+    {
+      border-left: green solid 1em;
+      width: auto; /* Very important: we want div#container to be able to shrink-wrap */
+    }
+
+  div.floated-left
+    {
+      float: left;
+      height: 50%; /* computes to 50px */
+      width: 1em; /* computes to 50px */
+    }
+
+  div#clearing
+    {
+      clear: left;
+    }
+  ]]></style>
+ </head>
+
+ <body>
+
+  <p>Test passes if there is a filled green square and <strong>no red</strong>.</p>
+
+  <div id="wrapper">
+    <div id="container">
+      <div class="floated-left"></div>
+      <div class="floated-left"></div>
+      <div id="clearing"></div>
+    </div>
+  </div>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/float-clear-vrl-008.xht
@@ -0,0 +1,66 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Writing Modes Test: 'float: right', 'float: left' and 'clear: both' in 'vertical-rl' block formating context (intermediate)</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+  <link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#vertical-layout" title="7.1 Principles of Layout in Vertical Writing Modes" />
+  <link rel="match" href="../css21/reference/ref-filled-green-100px-square.xht" />
+
+  <meta content="image" name="flags" />
+  <meta content="This test checks that a block container box which has floats will not extend its logical height (it will appear to not be aware of its floats) unless it has a clearing block. This test is important for CSS columnar layout page based on floats." name="assert" />
+
+  <style type="text/css"><![CDATA[
+  div#wrapper
+    {
+      background: red url("support/pattern-rg-rg-100x100.png");
+      font-size: 50px;
+      height: 2em; /* computes to 100px */
+      width: 2em; /* computes to 100px */
+      writing-mode: vertical-rl;
+    }
+
+  div#container
+    {
+      border-left: green solid 1em;
+      width: auto; /* Very important: we want div#container to be able to shrink-wrap */
+    }
+
+  div#floated-left
+    {
+      float: left;
+      height: 50%; /* computes to 50px */
+      width: 1em; /* computes to 50px */
+    }
+
+  div#floated-right
+    {
+      float: right;
+      height: 50%; /* computes to 50px */
+      width: 1em; /* computes to 50px */
+    }
+
+  div#clearing
+    {
+      clear: both;
+    }
+  ]]></style>
+ </head>
+
+ <body>
+
+  <p>Test passes if there is a filled green square and <strong>no red</strong>.</p>
+
+  <div id="wrapper">
+    <div id="container">
+      <div id="floated-right"></div>
+      <div id="clearing"></div>
+      <div id="floated-left"></div>
+    </div>
+  </div>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/float-contiguous-vlr-003.xht
@@ -0,0 +1,37 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Writing Modes Test: contiguous left-floating boxes in a 'vertical-lr' block formating context</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+  <link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#vertical-layout" title="7.1 Principles of Layout in Vertical Writing Modes" />
+  <link rel="match" href="inline-replaced-vrl-004-ref.xht" />
+
+  <meta content="image" name="flags" />
+  <meta content="This test checks the flow of contiguous left-floating boxes. The later (in source document) left-floating box must be to the right of the right outer edge of earlier floating boxes otherwise (if there is not enough available horizontal space) below the margin box of the earlier box." name="assert" />
+
+  <style type="text/css"><![CDATA[
+  div
+    {
+      height: 299px;
+      writing-mode: vertical-lr;
+    }
+
+  img
+    {
+      float: left;
+    }
+  ]]></style>
+ </head>
+
+ <body>
+
+  <p>Test passes if there is an unbroken drawing of a yin-yang (&#x262F;) symbol.</p>
+
+  <div><img src="support/test-tl.png" width="100" height="100" alt="Image download support must be enabled" /><img src="support/test-bl.png" width="100" height="100" alt="Image download support must be enabled" /><img src="support/test-tr.png" width="100" height="100" alt="Image download support must be enabled" /><img src="support/test-br.png" width="100" height="100" alt="Image download support must be enabled" /></div>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/float-contiguous-vlr-005.xht
@@ -0,0 +1,37 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Writing Modes Test: contiguous right-floating boxes in a 'vertical-lr' block formating context</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+  <link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#vertical-layout" title="7.1 Principles of Layout in Vertical Writing Modes" />
+  <link rel="match" href="inline-replaced-vrl-004-ref.xht" />
+
+  <meta content="image" name="flags" />
+  <meta content="This test checks the flow of contiguous right-floating boxes. The later (in source document) right-floating box must be to the left of the left outer edge of earlier floating boxes otherwise (if there is not enough available horizontal space) below the margin box of the earlier box." name="assert" />
+
+  <style type="text/css"><![CDATA[
+  div
+    {
+      height: 200px;
+      writing-mode: vertical-lr;
+    }
+
+  img
+    {
+      float: right;
+    }
+  ]]></style>
+ </head>
+
+ <body>
+
+  <p>Test passes if there is an unbroken drawing of a yin-yang (&#x262F;) symbol.</p>
+
+  <div><img src="support/test-bl.png" width="100" height="100" alt="Image download support must be enabled" /><img src="support/test-tl.png" width="100" height="100" alt="Image download support must be enabled" /><img src="support/test-br.png" width="100" height="100" alt="Image download support must be enabled" /><img src="support/test-tr.png" width="100" height="100" alt="Image download support must be enabled" /></div>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/float-contiguous-vlr-007-ref.xht
@@ -0,0 +1,42 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Reftest Reference</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" /> <!-- 2015-03-08 -->
+
+  <meta name="flags" content="image" />
+
+  <style type="text/css"><![CDATA[
+  p
+    {
+      margin: 0px 8px;
+    }
+
+  div
+    {
+      height: 200px;
+      margin-left: 8px;
+      width: 200px;
+    }
+
+  img
+    {
+      vertical-align: bottom;
+    }
+  ]]></style>
+ </head>
+
+ <body>
+
+  <p><img src="support/pass-cdts-float-contiguous.png" width="297" height="35" alt="Image download support must be enabled" /></p>
+
+  <div>
+    <img src="support/test-tl.png" alt="Image download support must be enabled" /><img src="support/test-tr.png" alt="Image download support must be enabled" /><img src="support/test-bl.png" alt="Image download support must be enabled" /><img src="support/test-br.png" alt="Image download support must be enabled" />
+  </div>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/float-contiguous-vlr-007.xht
@@ -0,0 +1,41 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Writing Modes Test: contiguous left-floating boxes in a 'vertical-lr' block formating context</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+  <link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#vertical-layout" title="7.1 Principles of Layout in Vertical Writing Modes" />
+  <link rel="match" href="float-contiguous-vlr-007-ref.xht" />
+
+  <meta content="image" name="flags" />
+  <meta content="This test checks the flow of contiguous left-floating boxes. The later (in source document) left-floating box must be to the right of the right outer edge of earlier floating boxes otherwise (if there is not enough available horizontal space) below the margin box of the earlier box." name="assert" />
+
+  <style type="text/css"><![CDATA[
+  html
+    {
+      writing-mode: vertical-lr;
+    }
+
+  div
+    {
+      height: 299px;
+    }
+
+  img
+    {
+      float: left;
+    }
+  ]]></style>
+ </head>
+
+ <body>
+
+  <p><img src="support/pass-cdts-float-contiguous.png" width="297" height="35" alt="Image download support must be enabled" /></p>
+
+  <div><img src="support/test-tl.png" width="100" height="100" alt="Image download support must be enabled" /><img src="support/test-bl.png" width="100" height="100" alt="Image download support must be enabled" /><img src="support/test-tr.png" width="100" height="100" alt="Image download support must be enabled" /><img src="support/test-br.png" width="100" height="100" alt="Image download support must be enabled" /></div>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/float-contiguous-vlr-009-ref.xht
@@ -0,0 +1,37 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Reftest Reference</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" /> <!-- 2015-03-08 -->
+
+  <meta name="flags" content="image" />
+
+  <style type="text/css"><![CDATA[
+  div
+    {
+      margin: 0px 8px;
+    }
+
+  img
+    {
+      vertical-align: top;
+    }
+
+  div > div
+    {
+      display: inline-block;
+      margin-left: 16px;
+    }
+  ]]></style>
+ </head>
+
+ <body>
+
+  <div><img src="support/pass-cdts-float-contiguous.png" width="297" height="35" alt="Image download support must be enabled" /><div><img src="support/test-tl.png" alt="Image download support must be enabled" /><img src="support/test-tr.png" alt="Image download support must be enabled" /><br /><img src="support/test-bl.png" alt="Image download support must be enabled" /><img src="support/test-br.png" alt="Image download support must be enabled" /></div></div>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/float-contiguous-vlr-009.xht
@@ -0,0 +1,41 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Writing Modes Test: contiguous right-floating boxes in a 'vertical-lr' block formating context</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+  <link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#vertical-layout" title="7.1 Principles of Layout in Vertical Writing Modes" />
+  <link rel="match" href="float-contiguous-vlr-009-ref.xht" />
+
+  <meta content="image" name="flags" />
+  <meta content="This test checks the flow of contiguous right-floating boxes. The later (in source document) right-floating box must be to the left of the left outer edge of earlier floating boxes otherwise (if there is not enough available horizontal space) below the margin box of the earlier box." name="assert" />
+
+  <style type="text/css"><![CDATA[
+  html
+    {
+      writing-mode: vertical-lr;
+    }
+
+  div
+    {
+      height: 200px;
+    }
+
+  div > img
+    {
+      float: right;
+    }
+  ]]></style>
+ </head>
+
+ <body>
+
+  <p><img src="support/pass-cdts-float-contiguous.png" width="297" height="35" alt="Image download support must be enabled" /></p>
+
+  <div><img src="support/test-bl.png" width="100" height="100" alt="Image download support must be enabled" /><img src="support/test-tl.png" width="100" height="100" alt="Image download support must be enabled" /><img src="support/test-br.png" width="100" height="100" alt="Image download support must be enabled" /><img src="support/test-tr.png" width="100" height="100" alt="Image download support must be enabled" /></div>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/float-contiguous-vlr-011.xht
@@ -0,0 +1,59 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Writing Modes Test: contiguous left-floating boxes with 'writing-mode' set to 'vertical-lr'</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+  <link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#vertical-layout" title="7.1 Principles of Layout in Vertical Writing Modes" />
+  <link rel="match" href="../css21/reference/ref-filled-green-100px-square.xht" />
+
+  <meta content="ahem" name="flags" />
+  <meta content="This test checks the flow of contiguous left-floated boxes with 'writing-mode' set to 'vertical-lr'." name="assert" />
+
+<style type="text/css"><![CDATA[
+@font-face {
+  font-family: Ahem;
+  src: url("../../../fonts/Ahem.ttf");
+}
+]]></style>
+  <style type="text/css"><![CDATA[
+  div#reference-overlapped-red
+    {
+      background-color: red;
+      height: 100px;
+      position: absolute;
+      width: 100px;
+      z-index: -1;
+    }
+
+  div.floated-left
+    {
+      color: green;
+      float: left;
+      font: 20px/1 Ahem; /* computes to 20px/20px */
+      writing-mode: vertical-lr;
+    }
+  ]]></style>
+ </head>
+
+ <body>
+
+  <p>Test passes if there is a filled green square and <strong>no red</strong>.</p>
+
+  <div id="reference-overlapped-red"></div>
+
+  <div class="floated-left">abcde</div>
+
+  <div class="floated-left">fghjk</div>
+
+  <div class="floated-left">lmnor</div>
+
+  <div class="floated-left">rstuv</div>
+
+  <div class="floated-left">wxyzz</div>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/float-contiguous-vlr-013.xht
@@ -0,0 +1,71 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Writing Modes Test: contiguous right-floating boxes with 'writing-mode' set to 'vertical-lr'</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+  <link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#vertical-layout" title="7.1 Principles of Layout in Vertical Writing Modes" />
+  <link rel="match" href="float-contiguous-vrl-012-ref.xht" />
+
+  <meta content="ahem" name="flags" />
+  <meta content="This test checks the flow of contiguous right-floated boxes with 'writing-mode' set to 'vertical-lr'." name="assert" />
+
+<style type="text/css"><![CDATA[
+@font-face {
+  font-family: Ahem;
+  src: url("../../../fonts/Ahem.ttf");
+}
+]]></style>
+  <style type="text/css"><![CDATA[
+  p
+    {
+      line-height: 1.25;
+    }
+
+  strong
+    {
+      line-height: 1;
+    }
+
+  div.floated-right
+    {
+      color: green;
+      float: right;
+      font: 20px/1 Ahem; /* computes to 20px/20px */
+      writing-mode: vertical-lr;
+    }
+
+  div#reference-overlapped-red
+    {
+      background-color: red;
+      height: 100px;
+      position: absolute;
+      right: 8px;
+      top: 52px;
+      width: 100px;
+      z-index: -1;
+    }
+  ]]></style>
+ </head>
+
+ <body>
+
+  <p>Test passes if there is a filled green square and <strong>no red</strong>.</p>
+
+  <div class="floated-right">abcde</div>
+
+  <div class="floated-right">fghjk</div>
+
+  <div class="floated-right">lmnor</div>
+
+  <div class="floated-right">rstuv</div>
+
+  <div class="floated-right">wxyzz</div>
+
+  <div id="reference-overlapped-red"></div>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/float-contiguous-vrl-002.xht
@@ -0,0 +1,37 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Writing Modes Test: contiguous left-floating boxes in a 'vertical-rl' block formating context</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+  <link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#vertical-layout" title="7.1 Principles of Layout in Vertical Writing Modes" />
+  <link rel="match" href="inline-replaced-vrl-004-ref.xht" />
+
+  <meta content="image" name="flags" />
+  <meta content="This test checks the flow of contiguous left-floating boxes. The later (in source document) left-floating box must be to the right of the right outer edge of earlier floating boxes otherwise (if there is not enough available horizontal space) below the margin box of the earlier box." name="assert" />
+
+  <style type="text/css"><![CDATA[
+  div
+    {
+      height: 299px;
+      writing-mode: vertical-rl;
+    }
+
+  img
+    {
+      float: left;
+    }
+  ]]></style>
+ </head>
+
+ <body>
+
+  <p>Test passes if there is an unbroken drawing of a yin-yang (&#x262F;) symbol.</p>
+
+  <div><img src="support/test-tr.png" width="100" height="100" alt="Image download support must be enabled" /><img src="support/test-br.png" width="100" height="100" alt="Image download support must be enabled" /><img src="support/test-tl.png" width="100" height="100" alt="Image download support must be enabled" /><img src="support/test-bl.png" width="100" height="100" alt="Image download support must be enabled" /></div>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/float-contiguous-vrl-004.xht
@@ -0,0 +1,43 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Writing Modes Test: contiguous right-floating boxes in a 'vertical-rl' block formating context</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+  <link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#vertical-layout" title="7.1 Principles of Layout in Vertical Writing Modes" />
+  <link rel="match" href="inline-replaced-vrl-004-ref.xht" />
+
+  <meta content="ahem image" name="flags" />
+  <meta content="This test checks the flow of contiguous right-floating boxes. The later (in source document) right-floating box must be to the left of the left outer edge of earlier floating boxes, otherwise (if there is not enough available horizontal space) below the margin box of the earlier box." name="assert" />
+
+<style type="text/css"><![CDATA[
+@font-face {
+  font-family: Ahem;
+  src: url("../../../fonts/Ahem.ttf");
+}
+]]></style>
+  <style type="text/css"><![CDATA[
+  div
+    {
+      height: 200px;
+      writing-mode: vertical-rl;
+    }
+
+  img
+    {
+      float: right;
+    }
+  ]]></style>
+ </head>
+
+ <body>
+
+  <p>Test passes if there is an unbroken drawing of a yin-yang (&#x262F;) symbol.</p>
+
+  <div><img src="support/test-br.png" width="100" height="100" alt="Image download support must be enabled" /><img src="support/test-tr.png" width="100" height="100" alt="Image download support must be enabled" /><img src="support/test-bl.png" width="100" height="100" alt="Image download support must be enabled" /><img src="support/test-tl.png" width="100" height="100" alt="Image download support must be enabled" /></div>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/float-contiguous-vrl-006-ref.xht
@@ -0,0 +1,47 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Reftest Reference</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" /> <!-- 2015-03-08 -->
+
+  <meta name="flags" content="image" />
+
+  <style type="text/css"><![CDATA[
+  html
+    {
+      direction: rtl;
+    }
+
+  p
+    {
+      margin: 0px 8px;
+    }
+
+  div
+    {
+      height: 200px;
+      margin-right: 8px;
+      width: 200px;
+    }
+
+  img
+    {
+      vertical-align: bottom;
+    }
+  ]]></style>
+ </head>
+
+ <body>
+
+  <p><img src="support/pass-cdts-float-contiguous.png" width="297" height="35" alt="Image download support must be enabled" /></p>
+
+  <div>
+    <img src="support/test-tr.png" alt="Image download support must be enabled" /><img src="support/test-tl.png" alt="Image download support must be enabled" /><img src="support/test-br.png" alt="Image download support must be enabled" /><img src="support/test-bl.png" alt="Image download support must be enabled" />
+  </div>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/float-contiguous-vrl-006.xht
@@ -0,0 +1,41 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Writing Modes Test: contiguous left-floating boxes in a 'vertical-rl' block formating context</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+  <link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#vertical-layout" title="7.1 Principles of Layout in Vertical Writing Modes" />
+  <link rel="match" href="float-contiguous-vrl-006-ref.xht" />
+
+  <meta content="image" name="flags" />
+  <meta content="This test checks the flow of contiguous left-floating boxes. The later (in source document) left-floating box must be to the right of the right outer edge of earlier floating boxes otherwise (if there is not enough available horizontal space) below the margin box of the earlier box." name="assert" />
+
+  <style type="text/css"><![CDATA[
+  html
+    {
+      writing-mode: vertical-rl;
+    }
+
+  div
+    {
+      height: 299px;
+    }
+
+  img
+    {
+      float: left;
+    }
+  ]]></style>
+ </head>
+
+ <body>
+
+  <p><img src="support/pass-cdts-float-contiguous.png" width="297" height="35" alt="Image download support must be enabled" /></p>
+
+  <div><img src="support/test-tr.png" width="100" height="100" alt="Image download support must be enabled" /><img src="support/test-br.png" width="100" height="100" alt="Image download support must be enabled" /><img src="support/test-tl.png" width="100" height="100" alt="Image download support must be enabled" /><img src="support/test-bl.png" width="100" height="100" alt="Image download support must be enabled" /></div>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/float-contiguous-vrl-008-ref.xht
@@ -0,0 +1,42 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Reftest Reference</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" /> <!-- 2015-03-08 -->
+
+  <meta name="flags" content="image" />
+
+  <style type="text/css"><![CDATA[
+  html
+    {
+      direction: rtl;
+    }
+
+  div
+    {
+      margin: 0px 8px;
+    }
+
+  img
+    {
+      vertical-align: top;
+    }
+
+  div > div
+    {
+      display: inline-block;
+      margin-right: 16px;
+    }
+  ]]></style>
+ </head>
+
+ <body>
+
+  <div><img src="support/pass-cdts-float-contiguous.png" width="297" height="35" alt="Image download support must be enabled" /><div><img src="support/test-tr.png" alt="Image download support must be enabled" /><img src="support/test-tl.png" alt="Image download support must be enabled" /><br /><img src="support/test-br.png" alt="Image download support must be enabled" /><img src="support/test-bl.png" alt="Image download support must be enabled" /></div></div>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/float-contiguous-vrl-008.xht
@@ -0,0 +1,41 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Writing Modes Test: contiguous right-floating boxes in a 'vertical-rl' block formating context</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+  <link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#vertical-layout" title="7.1 Principles of Layout in Vertical Writing Modes" />
+  <link rel="match" href="float-contiguous-vrl-008-ref.xht" />
+
+  <meta content="image" name="flags" />
+  <meta content="This test checks the flow of contiguous right-floating boxes. The later (in source document) right-floating box must be to the left of the left outer edge of earlier floating boxes, otherwise (if there is not enough available horizontal space) below the margin box of the earlier box." name="assert" />
+
+  <style type="text/css"><![CDATA[
+  html
+    {
+      writing-mode: vertical-rl;
+    }
+
+  div
+    {
+      height: 200px;
+    }
+
+  div > img
+    {
+      float: right;
+    }
+  ]]></style>
+ </head>
+
+ <body>
+
+  <p><img src="support/pass-cdts-float-contiguous.png" width="297" height="35" alt="Image download support must be enabled" /></p>
+
+  <div><img src="support/test-br.png" width="100" height="100" alt="Image download support must be enabled" /><img src="support/test-tr.png" width="100" height="100" alt="Image download support must be enabled" /><img src="support/test-bl.png" width="100" height="100" alt="Image download support must be enabled" /><img src="support/test-tl.png" width="100" height="100" alt="Image download support must be enabled" /></div>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/float-contiguous-vrl-010.xht
@@ -0,0 +1,59 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Writing Modes Test: contiguous left-floating boxes with 'writing-mode' set to 'vertical-rl'</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+  <link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#vertical-layout" title="7.1 Principles of Layout in Vertical Writing Modes" />
+  <link rel="match" href="../css21/reference/ref-filled-green-100px-square.xht" />
+
+  <meta content="ahem" name="flags" />
+  <meta content="This test checks the flow of contiguous left-floated boxes with 'writing-mode' set to 'vertical-rl'." name="assert" />
+
+<style type="text/css"><![CDATA[
+@font-face {
+  font-family: Ahem;
+  src: url("../../../fonts/Ahem.ttf");
+}
+]]></style>
+  <style type="text/css"><![CDATA[
+  div#reference-overlapped-red
+    {
+      background-color: red;
+      height: 100px;
+      position: absolute;
+      width: 100px;
+      z-index: -1;
+    }
+
+  div.floated-left
+    {
+      color: green;
+      float: left;
+      font: 20px/1 Ahem; /* computes to 20px/20px */
+      writing-mode: vertical-rl;
+    }
+  ]]></style>
+ </head>
+
+ <body>
+
+  <p>Test passes if there is a filled green square and <strong>no red</strong>.</p>
+
+  <div id="reference-overlapped-red"></div>
+
+  <div class="floated-left">abcde</div>
+
+  <div class="floated-left">fghjk</div>
+
+  <div class="floated-left">lmnor</div>
+
+  <div class="floated-left">rstuv</div>
+
+  <div class="floated-left">wxyzz</div>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/float-contiguous-vrl-012-ref.xht
@@ -0,0 +1,39 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Reftest Reference</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+
+  <meta content="image" name="flags" />
+
+  <style type="text/css"><![CDATA[
+  html
+    {
+      direction: rtl;
+    }
+
+  p
+    {
+      direction: ltr;
+      line-height: 1.25;
+    }
+
+  strong
+    {
+      line-height: 1;
+    }
+  ]]></style>
+ </head>
+
+ <body>
+
+  <p>Test passes if there is a filled green square and <strong>no red</strong>.</p>
+
+  <div><img src="support/swatch-green.png" width="100" height="100" alt="Image download support must be enabled" /></div>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/float-contiguous-vrl-012.xht
@@ -0,0 +1,71 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Writing Modes Test: contiguous right-floating boxes with 'writing-mode' set to 'vertical-rl'</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+  <link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#vertical-layout" title="7.1 Principles of Layout in Vertical Writing Modes" />
+  <link rel="match" href="float-contiguous-vrl-012-ref.xht" />
+
+  <meta content="ahem" name="flags" />
+  <meta content="This test checks the flow of contiguous right-floated boxes with 'writing-mode' set to 'vertical-rl'." name="assert" />
+
+<style type="text/css"><![CDATA[
+@font-face {
+  font-family: Ahem;
+  src: url("../../../fonts/Ahem.ttf");
+}
+]]></style>
+  <style type="text/css"><![CDATA[
+  p
+    {
+      line-height: 1.25;
+    }
+
+  strong
+    {
+      line-height: 1;
+    }
+
+  div.floated-right
+    {
+      color: green;
+      float: right;
+      font: 20px/1 Ahem; /* computes to 20px/20px */
+      writing-mode: vertical-rl;
+    }
+
+  div#reference-overlapped-red
+    {
+      background-color: red;
+      height: 100px;
+      position: absolute;
+      right: 8px;
+      top: 52px;
+      width: 100px;
+      z-index: -1;
+    }
+  ]]></style>
+ </head>
+
+ <body>
+
+  <p>Test passes if there is a filled green square and <strong>no red</strong>.</p>
+
+  <div class="floated-right">abcde</div>
+
+  <div class="floated-right">fghjk</div>
+
+  <div class="floated-right">lmnor</div>
+
+  <div class="floated-right">rstuv</div>
+
+  <div class="floated-right">wxyzz</div>
+
+  <div id="reference-overlapped-red"></div>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/float-shrink-to-fit-vlr-003.xht
@@ -0,0 +1,58 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Writing Modes Test: 'float' and 'shrink-to-fit' logical width in 'vertical-lr' context</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+  <link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#vertical-layout" title="7.1 Principles of Layout in Vertical Writing Modes" />
+  <link rel="match" href="../css21/reference/ref-filled-green-100px-square.xht" />
+
+  <meta content="ahem" name="flags" />
+  <meta content="This test checks that 'shrink-to-fit' width is applied on logical width (measure)." name="assert" />
+
+<style type="text/css"><![CDATA[
+@font-face {
+  font-family: Ahem;
+  src: url("../../../fonts/Ahem.ttf");
+}
+]]></style>
+  <style type="text/css"><![CDATA[
+  div.floated-left
+    {
+      background-color: red;
+      float: left;
+      font: 100px/1 Ahem; /* computes to 100px/100px */
+      writing-mode: vertical-lr;
+    }
+
+  div.left-border
+    {
+      border-left: red solid 1em;
+    }
+
+  div#reference-overlapped-green
+    {
+      background-color: green;
+      height: 100px;
+      position: relative;
+      width: 100px;
+      z-index: -1;
+    }
+  ]]></style>
+ </head>
+
+ <body>
+
+  <p>Test passes if there is a filled green square and <strong>no red</strong>.</p>
+
+  <div class="floated-left">
+    <div class="left-border"></div>
+  </div>
+
+  <div id="reference-overlapped-green"></div>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/float-shrink-to-fit-vlr-005.xht
@@ -0,0 +1,63 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Writing Modes Test: 'float' and 'shrink-to-fit' logical width in 'vertical-lr' context</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+  <link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#vertical-layout" title="7.1 Principles of Layout in Vertical Writing Modes" />
+  <link rel="match" href="../css21/reference/ref-filled-green-100px-square.xht" />
+
+  <meta content="ahem" name="flags" />
+  <meta content="This test checks that 'shrink-to-fit' width is applied on logical width (measure)." name="assert" />
+
+<style type="text/css"><![CDATA[
+@font-face {
+  font-family: Ahem;
+  src: url("../../../fonts/Ahem.ttf");
+}
+]]></style>
+  <style type="text/css"><![CDATA[
+  div.floated-left
+    {
+      background-color: red;
+      float: left;
+      font: 100px/1 Ahem; /* computes to 100px/100px */
+      writing-mode: vertical-lr;
+    }
+
+  div.left-border
+    {
+      border-left: red solid 1em;
+    }
+
+  div.right-border
+    {
+      border-right: red solid 1em;
+    }
+
+  div#reference-overlapped-green
+    {
+      background-color: green;
+      height: 100px;
+      position: relative;
+      width: 100px;
+      z-index: -1;
+    }
+  ]]></style>
+ </head>
+
+ <body>
+
+  <p>Test passes if there is a filled green square and <strong>no red</strong>.</p>
+
+  <div class="floated-left">
+    <div class="left-border right-border"></div>
+  </div>
+
+  <div id="reference-overlapped-green"></div>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/float-shrink-to-fit-vlr-007.xht
@@ -0,0 +1,73 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Writing Modes Test: 'float' and 'shrink-to-fit' logical width in 'vertical-lr' context</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+  <link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#vertical-layout" title="7.1 Principles of Layout in Vertical Writing Modes" />
+  <link rel="match" href="../css21/reference/ref-filled-green-100px-square.xht" />
+
+  <meta content="ahem" name="flags" />
+  <meta content="This test checks that 'shrink-to-fit' width is applied on logical width (measure)." name="assert" />
+
+<style type="text/css"><![CDATA[
+@font-face {
+  font-family: Ahem;
+  src: url("../../../fonts/Ahem.ttf");
+}
+]]></style>
+  <style type="text/css"><![CDATA[
+  div.floated-left
+    {
+      background-color: red;
+      float: left;
+      font: 100px/1 Ahem; /* computes to 100px/100px */
+      writing-mode: vertical-lr;
+    }
+
+  div.left-border
+    {
+      border-left: red solid 1em;
+    }
+
+  div.right-border
+    {
+      border-right: red solid 1em;
+    }
+
+  div.left-padding
+    {
+      padding-left: 1em;
+    }
+
+  div.right-padding
+    {
+      padding-right: 1em;
+    }
+
+  div#reference-overlapped-green
+    {
+      background-color: green;
+      height: 100px;
+      position: relative;
+      width: 100px;
+      z-index: -1;
+    }
+  ]]></style>
+ </head>
+
+ <body>
+
+  <p>Test passes if there is a filled green square and <strong>no red</strong>.</p>
+
+  <div class="floated-left">
+    <div class="left-border right-border left-padding right-padding"></div>
+  </div>
+
+  <div id="reference-overlapped-green"></div>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/float-shrink-to-fit-vlr-009.xht
@@ -0,0 +1,63 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Writing Modes Test: 'float' and 'shrink-to-fit' logical width (height: auto) in 'vertical-lr' context</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+  <link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#vertical-layout" title="7.1 Principles of Layout in Vertical Writing Modes" />
+  <link rel="match" href="../css21/reference/ref-filled-green-100px-square.xht" />
+
+  <meta content="ahem" name="flags" />
+  <meta content="This test checks that 'shrink-to-fit' applying on logical width must not reduce content but size to fit to its content. In this test, 'L' and 'R' glyphs must be rendered." name="assert" />
+
+<style type="text/css"><![CDATA[
+@font-face {
+  font-family: Ahem;
+  src: url("../../../fonts/Ahem.ttf");
+}
+]]></style>
+  <style type="text/css"><![CDATA[
+  div#test-floated-left
+    {
+      color: green;
+      float: left;
+      font: 50px/1 Ahem; /* computes to 50px/50px */
+      height: auto;
+      writing-mode: vertical-lr;
+    }
+
+  div.inner-green-border-bottom
+    {
+      border-bottom: green solid 1em;
+    }
+
+  div#reference-red-overlapped
+    {
+      background-color: red;
+      height: 100px;
+      position: relative;
+      width: 100px;
+      z-index: -1;
+    }
+  ]]></style>
+ </head>
+
+ <body>
+
+  <p>Test passes if there is a filled green square and <strong>no red</strong>.</p>
+
+  <div id="test-floated-left">
+
+    <div class="inner-green-border-bottom">L</div>
+
+    <div class="inner-green-border-bottom">R</div>
+
+  </div>
+
+  <div id="reference-red-overlapped"></div>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/float-shrink-to-fit-vrl-002.xht
@@ -0,0 +1,58 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Writing Modes Test: 'float' and 'shrink-to-fit' logical width in 'vertical-rl' context</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+  <link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#vertical-layout" title="7.1 Principles of Layout in Vertical Writing Modes" />
+  <link rel="match" href="../css21/reference/ref-filled-green-100px-square.xht" />
+
+  <meta content="ahem" name="flags" />
+  <meta content="This test checks that 'shrink-to-fit' width is applied on logical width (measure)." name="assert" />
+
+<style type="text/css"><![CDATA[
+@font-face {
+  font-family: Ahem;
+  src: url("../../../fonts/Ahem.ttf");
+}
+]]></style>
+  <style type="text/css"><![CDATA[
+  div.floated-left
+    {
+      background-color: red;
+      float: left;
+      font: 100px/1 Ahem; /* computes to 100px/100px */
+      writing-mode: vertical-rl;
+    }
+
+  div.left-border
+    {
+      border-left: red solid 1em;
+    }
+
+  div#reference-overlapped-green
+    {
+      background-color: green;
+      height: 100px;
+      position: relative;
+      width: 100px;
+      z-index: -1;
+    }
+  ]]></style>
+ </head>
+
+ <body>
+
+  <p>Test passes if there is a filled green square and <strong>no red</strong>.</p>
+
+  <div class="floated-left">
+    <div class="left-border"></div>
+  </div>
+
+  <div id="reference-overlapped-green"></div>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/float-shrink-to-fit-vrl-004.xht
@@ -0,0 +1,63 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Writing Modes Test:  'float' and 'shrink-to-fit' logical width in 'vertical-rl' context</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+  <link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#vertical-layout" title="7.1 Principles of Layout in Vertical Writing Modes" />
+  <link rel="match" href="../css21/reference/ref-filled-green-100px-square.xht" />
+
+  <meta content="ahem" name="flags" />
+  <meta content="This test checks that 'shrink-to-fit' width is applied on logical width (measure)." name="assert" />
+
+<style type="text/css"><![CDATA[
+@font-face {
+  font-family: Ahem;
+  src: url("../../../fonts/Ahem.ttf");
+}
+]]></style>
+  <style type="text/css"><![CDATA[
+  div.floated-left
+    {
+      background-color: red;
+      float: left;
+      font: 100px/1 Ahem; /* computes to 100px/100px */
+      writing-mode: vertical-rl;
+    }
+
+  div.left-border
+    {
+      border-left: red solid 1em;
+    }
+
+  div.right-border
+    {
+      border-right: red solid 1em;
+    }
+
+  div#reference-overlapped-green
+    {
+      background-color: green;
+      height: 100px;
+      position: relative;
+      width: 100px;
+      z-index: -1;
+    }
+  ]]></style>
+ </head>
+
+ <body>
+
+  <p>Test passes if there is a filled green square and <strong>no red</strong>.</p>
+
+  <div class="floated-left">
+    <div class="left-border right-border"></div>
+  </div>
+
+  <div id="reference-overlapped-green"></div>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/float-shrink-to-fit-vrl-006.xht
@@ -0,0 +1,73 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Writing Modes Test: 'float' and 'shrink-to-fit' logical width in 'vertical-rl' context</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+  <link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#vertical-layout" title="7.1 Principles of Layout in Vertical Writing Modes" />
+  <link rel="match" href="../css21/reference/ref-filled-green-100px-square.xht" />
+
+  <meta content="ahem" name="flags" />
+  <meta content="This test checks that 'shrink-to-fit' width is applied on logical width (measure)." name="assert" />
+
+<style type="text/css"><![CDATA[
+@font-face {
+  font-family: Ahem;
+  src: url("../../../fonts/Ahem.ttf");
+}
+]]></style>
+  <style type="text/css"><![CDATA[
+  div.floated-left
+    {
+      background-color: red;
+      float: left;
+      font: 100px/1 Ahem; /* computes to 100px/100px */
+      writing-mode: vertical-rl;
+    }
+
+  div.left-border
+    {
+      border-left: red solid 1em;
+    }
+
+  div.right-border
+    {
+      border-right: red solid 1em;
+    }
+
+  div.left-padding
+    {
+      padding-left: 1em;
+    }
+
+  div.right-padding
+    {
+      padding-right: 1em;
+    }
+
+  div#reference-overlapped-green
+    {
+      background-color: green;
+      height: 100px;
+      position: relative;
+      width: 100px;
+      z-index: -1;
+    }
+  ]]></style>
+ </head>
+
+ <body>
+
+  <p>Test passes if there is a filled green square and <strong>no red</strong>.</p>
+
+  <div class="floated-left">
+    <div class="left-border right-border left-padding right-padding"></div>
+  </div>
+
+  <div id="reference-overlapped-green"></div>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/float-shrink-to-fit-vrl-008.xht
@@ -0,0 +1,63 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Writing Modes Test: 'float' and 'shrink-to-fit' logical width (height: auto) in 'vertical-rl' context</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+  <link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#vertical-layout" title="7.1 Principles of Layout in Vertical Writing Modes" />
+  <link rel="match" href="../css21/reference/ref-filled-green-100px-square.xht" />
+
+  <meta content="ahem" name="flags" />
+  <meta content="This test checks that 'shrink-to-fit' applying on logical width must not reduce content but size to fit to its content. In this test, 'L' and 'R' glyphs must be rendered." name="assert" />
+
+<style type="text/css"><![CDATA[
+@font-face {
+  font-family: Ahem;
+  src: url("../../../fonts/Ahem.ttf");
+}
+]]></style>
+  <style type="text/css"><![CDATA[
+  div#test-floated-left
+    {
+      color: green;
+      float: left;
+      font: 50px/1 Ahem; /* computes to 50px/50px */
+      height: auto;
+      writing-mode: vertical-rl;
+    }
+
+  div.inner-green-border-bottom
+    {
+      border-bottom: green solid 1em;
+    }
+
+  div#reference-red-overlapped
+    {
+      background-color: red;
+      height: 100px;
+      position: relative;
+      width: 100px;
+      z-index: -1;
+    }
+  ]]></style>
+ </head>
+
+ <body>
+
+  <p>Test passes if there is a filled green square and <strong>no red</strong>.</p>
+
+  <div id="test-floated-left">
+
+    <div class="inner-green-border-bottom">L</div>
+
+    <div class="inner-green-border-bottom">R</div>
+
+  </div>
+
+  <div id="reference-red-overlapped"></div>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/float-shrink-to-fit-vrl-vlr-016.xht
@@ -0,0 +1,141 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Writing Modes Test: 'float' and 'shrink-to-fit' logical width (16 sub-tests)</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+  <link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#vertical-layout" title="7.1 Principles of Layout in Vertical Writing Modes" />
+  <link rel="match" href="../css21/reference/ref-filled-green-100px-square.xht" />
+
+  <meta content="ahem" name="flags" />
+  <meta content="This test checks that 'shrink-to-fit' rule (CSS2.1, §10.3.5) is applied onto logical width in vertical writing-modes. This test thoroughly checks systematically the 16 combinations of 'writing-mode: vertical-rl', 'writing-mode: vertical-lr', with 'float: left', with 'float: right' and with left and/or right border(s). Not tested here is 'padding-left' and 'padding-right'." name="assert" />
+
+<style type="text/css"><![CDATA[
+@font-face {
+  font-family: Ahem;
+  src: url("../../../fonts/Ahem.ttf");
+}
+]]></style>
+  <style type="text/css"><![CDATA[
+  div.test
+    {
+      background-color: red;
+      font: 100px/1 Ahem; /* computes to 100px/100px */
+    }
+
+  div.floated-right
+    {
+      float: right;
+    }
+
+  div.floated-left
+    {
+      float: left;
+    }
+
+  div.vrl
+    {
+      writing-mode: vertical-lr;
+    }
+
+  div.vlr
+    {
+      writing-mode: vertical-lr;
+    }
+
+  div.left-border
+    {
+      border-left: red solid 1em;
+    }
+
+  div.right-border
+    {
+      border-right: red solid 1em;
+    }
+
+  div#reference-overlapped-green
+    {
+      background-color: green;
+      height: 100px;
+      position: relative;
+      width: 100px;
+      z-index: -1;
+    }
+  ]]></style>
+ </head>
+
+ <body>
+
+  <p>Test passes if there is a filled green square and <strong>no red</strong>.</p>
+
+  <div class="test floated-right vlr">
+    <div class="left-border right-border"></div>
+  </div>
+
+  <div class="test floated-right vlr">
+    <div class="left-border right-border"></div>
+  </div>
+
+  <div class="test floated-right vrl">
+    <div class="left-border right-border"></div>
+  </div>
+
+  <div class="test floated-right vrl">
+    <div class="left-border right-border"></div>
+  </div>
+
+  <div class="test floated-right vlr">
+    <div class="left-border"></div>
+  </div>
+
+  <div class="test floated-right vlr">
+    <div class="right-border"></div>
+  </div>
+
+  <div class="test floated-right vrl">
+    <div class="left-border"></div>
+  </div>
+
+  <div class="test floated-right vrl">
+    <div class="right-border"></div>
+  </div>
+
+  <div class="test floated-left vlr">
+    <div class="left-border right-border"></div>
+  </div>
+
+  <div class="test floated-left vlr">
+    <div class="left-border right-border"></div>
+  </div>
+
+  <div class="test floated-left vrl">
+    <div class="left-border right-border"></div>
+  </div>
+
+  <div class="test floated-left vrl">
+    <div class="left-border right-border"></div>
+  </div>
+
+  <div class="test floated-left vlr">
+    <div class="left-border"></div>
+  </div>
+
+  <div class="test floated-left vlr">
+    <div class="right-border"></div>
+  </div>
+
+  <div class="test floated-left vrl">
+    <div class="left-border"></div>
+  </div>
+
+  <div class="test floated-left vrl">
+    <div class="right-border"></div>
+  </div>
+
+  <div id="reference-overlapped-green"></div>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/float-vlr-003.xht
@@ -0,0 +1,50 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Writing Modes Test: 'float: right' in a 'vertical-lr' block formating context (basic)</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+  <link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#vertical-layout" title="7.1 Principles of Layout in Vertical Writing Modes" />
+  <link rel="match" href="../css21/reference/ref-filled-green-100px-square.xht" />
+
+  <meta content="ahem image" name="flags" />
+  <meta content="This test checks that a floated right box in a containing block with 'writing-mode' set to 'vertical-lr' will be floated at the line-right side of its line box." name="assert" />
+
+<style type="text/css"><![CDATA[
+@font-face {
+  font-family: Ahem;
+  src: url("../../../fonts/Ahem.ttf");
+}
+]]></style>
+  <style type="text/css"><![CDATA[
+  div#wrapper
+    {
+      background: red url("support/pattern-gg-rg-100x100.png") no-repeat;
+      color: transparent;
+      font: 50px/1 Ahem; /* computes to 50px/50px */
+      height: 100px;
+      width: 100px;
+      writing-mode: vertical-lr;
+    }
+
+  div#floated-right
+    {
+      color: green;
+      float: right;
+    }
+  ]]></style>
+ </head>
+
+ <body>
+
+  <p>Test passes if there is a filled green square and <strong>no red</strong>.</p>
+
+  <div id="wrapper">
+    <div id="floated-right">R</div>A
+  </div>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/float-vlr-005.xht
@@ -0,0 +1,50 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Writing Modes Test: 'float: right' in a 'vertical-lr' block formating context (basic)</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+  <link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#vertical-layout" title="7.1 Principles of Layout in Vertical Writing Modes" />
+  <link rel="match" href="../css21/reference/ref-filled-green-100px-square.xht" />
+
+  <meta content="ahem image" name="flags" />
+  <meta content="This test checks that a floated right box in a containing block with 'writing-mode' set to 'vertical-lr' will be floated at the line-right side of its line box." name="assert" />
+
+<style type="text/css"><![CDATA[
+@font-face {
+  font-family: Ahem;
+  src: url("../../../fonts/Ahem.ttf");
+}
+]]></style>
+  <style type="text/css"><![CDATA[
+  div#wrapper
+    {
+      background: red url("support/pattern-gg-rg-100x100.png") no-repeat;
+      color: transparent;
+      font: 50px/1 Ahem; /* computes to 50px/50px */
+      height: 100px;
+      width: 100px;
+      writing-mode: vertical-lr;
+    }
+
+  div#floated-right
+    {
+      color: green;
+      float: right;
+    }
+  ]]></style>
+ </head>
+
+ <body>
+
+  <p>Test passes if there is a filled green square and <strong>no red</strong>.</p>
+
+  <div id="wrapper">A
+    <div id="floated-right">R</div>
+  </div>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/float-vlr-007.xht
@@ -0,0 +1,50 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Writing Modes Test: 'float: left' in a 'vertical-lr' block formating context (basic)</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+  <link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#vertical-layout" title="7.1 Principles of Layout in Vertical Writing Modes" />
+  <link rel="match" href="../css21/reference/ref-filled-green-100px-square.xht" />
+
+  <meta content="ahem image" name="flags" />
+  <meta content="This test checks that a floated left box in a containing block with 'writing-mode' set to 'vertical-lr' will be floated at the line-left side of its line box." name="assert" />
+
+<style type="text/css"><![CDATA[
+@font-face {
+  font-family: Ahem;
+  src: url("../../../fonts/Ahem.ttf");
+}
+]]></style>
+  <style type="text/css"><![CDATA[
+  div#wrapper
+    {
+      background: red url("support/pattern-rg-gg-100x100.png") no-repeat;
+      color: transparent;
+      font: 50px/1 Ahem; /* computes to 50px/50px */
+      height: 100px;
+      width: 100px;
+      writing-mode: vertical-lr;
+    }
+
+  div#floated-left
+    {
+      color: green;
+      float: left;
+    }
+  ]]></style>
+ </head>
+
+ <body>
+
+  <p>Test passes if there is a filled green square and <strong>no red</strong>.</p>
+
+  <div id="wrapper">A
+    <div id="floated-left">L</div>
+  </div>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/float-vlr-009.xht
@@ -0,0 +1,50 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Writing Modes Test: 'float: left' in a 'vertical-lr' block formating context (basic)</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+  <link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#vertical-layout" title="7.1 Principles of Layout in Vertical Writing Modes" />
+  <link rel="match" href="../css21/reference/ref-filled-green-100px-square.xht" />
+
+  <meta content="ahem image" name="flags" />
+  <meta content="This test checks that a floated left box in a containing block with 'writing-mode' set to 'vertical-lr' will be floated at the line-left side of its line box." name="assert" />
+
+<style type="text/css"><![CDATA[
+@font-face {
+  font-family: Ahem;
+  src: url("../../../fonts/Ahem.ttf");
+}
+]]></style>
+  <style type="text/css"><![CDATA[
+  div#wrapper
+    {
+      background: red url("support/pattern-gg-rg-100x100.png") no-repeat;
+      color: green;
+      font: 50px/1 Ahem; /* computes to 50px/50px */
+      height: 100px;
+      width: 100px;
+      writing-mode: vertical-lr;
+    }
+
+  div#floated-left
+    {
+      color: transparent;
+      float: left;
+    }
+  ]]></style>
+ </head>
+
+ <body>
+
+  <p>Test passes if there is a filled green square and <strong>no red</strong>.</p>
+
+  <div id="wrapper">
+    <div id="floated-left">L</div>A
+  </div>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/float-vlr-011.xht
@@ -0,0 +1,56 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Writing Modes Test: 'float: left' and 'float: right' in a 'vertical-lr' block formating context (basic)</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+  <link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#vertical-layout" title="7.1 Principles of Layout in Vertical Writing Modes" />
+  <link rel="match" href="../css21/reference/ref-filled-green-100px-square.xht" />
+
+  <meta content="ahem image" name="flags" />
+  <meta content="This test checks that a floated left box and a floated right box in a containing block with 'writing-mode' set to 'vertical-lr' will be respectively floated at the line-left side of its line box and floated at line-right of its line box." name="assert" />
+
+<style type="text/css"><![CDATA[
+@font-face {
+  font-family: Ahem;
+  src: url("../../../fonts/Ahem.ttf");
+}
+]]></style>
+  <style type="text/css"><![CDATA[
+  div#wrapper
+    {
+      background: red url("support/pattern-gr-rg-100x100.png") no-repeat;
+      color: transparent;
+      font: 50px/1 Ahem; /* computes to 50px/50px */
+      height: 100px;
+      width: 100px;
+      writing-mode: vertical-lr;
+    }
+
+  div#floated-right
+    {
+      color: green;
+      float: right;
+    }
+
+  div#floated-left
+    {
+      color: green;
+      float: left;
+    }
+  ]]></style>
+ </head>
+
+ <body>
+
+  <p>Test passes if there is a filled green square and <strong>no red</strong>.</p>
+
+  <div id="wrapper">
+    <div id="floated-right">R</div>A B <div id="floated-left">L</div>
+  </div>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/float-vlr-013.xht
@@ -0,0 +1,56 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Writing Modes Test: 'float: left' and 'float: right' in a 'vertical-lr' block formating context (basic)</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+  <link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#vertical-layout" title="7.1 Principles of Layout in Vertical Writing Modes" />
+  <link rel="match" href="../css21/reference/ref-filled-green-100px-square.xht" />
+
+  <meta content="ahem image" name="flags" />
+  <meta content="This test checks that a floated left box and a floated right box in a containing block with 'writing-mode' set to 'vertical-lr' will be respectively floated at the line-left side of its line box and floated at line-right of its line box." name="assert" />
+
+<style type="text/css"><![CDATA[
+@font-face {
+  font-family: Ahem;
+  src: url("../../../fonts/Ahem.ttf");
+}
+]]></style>
+  <style type="text/css"><![CDATA[
+  div#wrapper
+    {
+      background: red url("support/pattern-rg-gr-100x100.png") no-repeat;
+      color: transparent;
+      font: 50px/1 Ahem; /* computes to 50px/50px */
+      height: 100px;
+      width: 100px;
+      writing-mode: vertical-lr;
+    }
+
+  div#floated-right
+    {
+      color: green;
+      float: right;
+    }
+
+  div#floated-left
+    {
+      color: green;
+      float: left;
+    }
+  ]]></style>
+ </head>
+
+ <body>
+
+  <p>Test passes if there is a filled green square and <strong>no red</strong>.</p>
+
+  <div id="wrapper">
+    A <div id="floated-left">L</div> <div id="floated-right">R</div> B
+  </div>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/float-vrl-002.xht
@@ -0,0 +1,50 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Writing Modes Test: 'float: right' in a 'vertical-rl' block formating context (basic)</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+  <link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#vertical-layout" title="7.1 Principles of Layout in Vertical Writing Modes" />
+  <link rel="match" href="../css21/reference/ref-filled-green-100px-square.xht" />
+
+  <meta content="ahem image" name="flags" />
+  <meta content="This test checks that a floated right box in a containing block with 'writing-mode' set to 'vertical-rl' will be floated at the line-right side of its line box." name="assert" />
+
+<style type="text/css"><![CDATA[
+@font-face {
+  font-family: Ahem;
+  src: url("../../../fonts/Ahem.ttf");
+}
+]]></style>
+  <style type="text/css"><![CDATA[
+  div#wrapper
+    {
+      background: red url("support/pattern-gg-gr-100x100.png") no-repeat;
+      color: transparent;
+      font: 50px/1 Ahem; /* computes to 50px/50px */
+      height: 100px;
+      width: 100px;
+      writing-mode: vertical-rl;
+    }
+
+  div#floated-right
+    {
+      color: green;
+      float: right;
+    }
+  ]]></style>
+ </head>
+
+ <body>
+
+  <p>Test passes if there is a filled green square and <strong>no red</strong>.</p>
+
+  <div id="wrapper">
+    <div id="floated-right">R</div>A
+  </div>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/float-vrl-004.xht
@@ -0,0 +1,50 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Writing Modes Test: 'float: right' in a 'vertical-rl' block formating context (basic)</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+  <link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#vertical-layout" title="7.1 Principles of Layout in Vertical Writing Modes" />
+  <link rel="match" href="../css21/reference/ref-filled-green-100px-square.xht" />
+
+  <meta content="ahem image" name="flags" />
+  <meta content="This test checks that a floated right box in a containing block with 'writing-mode' set to 'vertical-rl' will be floated at the line-right side of its line box." name="assert" />
+
+<style type="text/css"><![CDATA[
+@font-face {
+  font-family: Ahem;
+  src: url("../../../fonts/Ahem.ttf");
+}
+]]></style>
+  <style type="text/css"><![CDATA[
+  div#wrapper
+    {
+      background: red url("support/pattern-gg-gr-100x100.png") no-repeat;
+      color: transparent;
+      font: 50px/1 Ahem; /* computes to 50px/50px */
+      height: 100px;
+      width: 100px;
+      writing-mode: vertical-rl;
+    }
+
+  div#floated-right
+    {
+      color: green;
+      float: right;
+    }
+  ]]></style>
+ </head>
+
+ <body>
+
+  <p>Test passes if there is a filled green square and <strong>no red</strong>.</p>
+
+  <div id="wrapper">A
+    <div id="floated-right">R</div>
+  </div>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/float-vrl-006.xht
@@ -0,0 +1,50 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Writing Modes Test: 'float: left' in a 'vertical-rl' block formating context (basic)</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+  <link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#vertical-layout" title="7.1 Principles of Layout in Vertical Writing Modes" />
+  <link rel="match" href="../css21/reference/ref-filled-green-100px-square.xht" />
+
+  <meta content="ahem image" name="flags" />
+  <meta content="This test checks that a floated left box in a containing block with 'writing-mode' set to 'vertical-rl' will be floated at the line-left side of its line box." name="assert" />
+
+<style type="text/css"><![CDATA[
+@font-face {
+  font-family: Ahem;
+  src: url("../../../fonts/Ahem.ttf");
+}
+]]></style>
+  <style type="text/css"><![CDATA[
+  div#wrapper
+    {
+      background: red url("support/pattern-gr-gg-100x100.png") no-repeat;
+      color: transparent;
+      font: 50px/1 Ahem; /* computes to 50px/50px */
+      height: 100px;
+      width: 100px;
+      writing-mode: vertical-rl;
+    }
+
+  div#floated-left
+    {
+      color: green;
+      float: left;
+    }
+  ]]></style>
+ </head>
+
+ <body>
+
+  <p>Test passes if there is a filled green square and <strong>no red</strong>.</p>
+
+  <div id="wrapper">A
+    <div id="floated-left">L</div>
+  </div>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/float-vrl-008.xht
@@ -0,0 +1,50 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Writing Modes Test: 'float: left' in a 'vertical-rl' block formating context (basic)</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+  <link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#vertical-layout" title="7.1 Principles of Layout in Vertical Writing Modes" />
+  <link rel="match" href="../css21/reference/ref-filled-green-100px-square.xht" />
+
+  <meta content="ahem image" name="flags" />
+  <meta content="This test checks that a floated left box in a containing block with 'writing-mode' set to 'vertical-rl' will be floated at the line-left side of its line box." name="assert" />
+
+<style type="text/css"><![CDATA[
+@font-face {
+  font-family: Ahem;
+  src: url("../../../fonts/Ahem.ttf");
+}
+]]></style>
+  <style type="text/css"><![CDATA[
+  div#wrapper
+    {
+      background: red url("support/pattern-gg-gr-100x100.png") no-repeat;
+      color: green;
+      font: 50px/1 Ahem; /* computes to 50px/50px */
+      height: 100px;
+      width: 100px;
+      writing-mode: vertical-rl;
+    }
+
+  div#floated-left
+    {
+      color: transparent;
+      float: left;
+    }
+  ]]></style>
+ </head>
+
+ <body>
+
+  <p>Test passes if there is a filled green square and <strong>no red</strong>.</p>
+
+  <div id="wrapper">
+    <div id="floated-left">L</div>A
+  </div>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/float-vrl-010.xht
@@ -0,0 +1,56 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Writing Modes Test: 'float: left' and 'float: right' in a 'vertical-rl' block formating context (basic)</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+  <link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#vertical-layout" title="7.1 Principles of Layout in Vertical Writing Modes" />
+  <link rel="match" href="../css21/reference/ref-filled-green-100px-square.xht" />
+
+  <meta content="ahem image" name="flags" />
+  <meta content="This test checks that a floated left box and a floated right box in a containing block with 'writing-mode' set to 'vertical-rl' will be respectively floated at the line-left side of its line box and floated at line-right of its line box." name="assert" />
+
+<style type="text/css"><![CDATA[
+@font-face {
+  font-family: Ahem;
+  src: url("../../../fonts/Ahem.ttf");
+}
+]]></style>
+  <style type="text/css"><![CDATA[
+  div#wrapper
+    {
+      background: red url("support/pattern-rg-gr-100x100.png") no-repeat;
+      color: transparent;
+      font: 50px/1 Ahem; /* computes to 50px/50px */
+      height: 100px;
+      width: 100px;
+      writing-mode: vertical-rl;
+    }
+
+  div#floated-right
+    {
+      color: green;
+      float: right;
+    }
+
+  div#floated-left
+    {
+      color: green;
+      float: left;
+    }
+  ]]></style>
+ </head>
+
+ <body>
+
+  <p>Test passes if there is a filled green square and <strong>no red</strong>.</p>
+
+  <div id="wrapper">
+    <div id="floated-right">R</div>A B <div id="floated-left">L</div>
+  </div>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/float-vrl-012.xht
@@ -0,0 +1,56 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Writing Modes Test: 'float: left' and 'float: right' in a 'vertical-rl' block formating context (basic)</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+  <link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#vertical-layout" title="7.1 Principles of Layout in Vertical Writing Modes" />
+  <link rel="match" href="../css21/reference/ref-filled-green-100px-square.xht" />
+
+  <meta content="ahem image" name="flags" />
+  <meta content="This test checks that a floated left box and a floated right box in a containing block with 'writing-mode' set to 'vertical-rl' will be respectively floated at the line-left side of its line box and floated at line-right of its line box." name="assert" />
+
+<style type="text/css"><![CDATA[
+@font-face {
+  font-family: Ahem;
+  src: url("../../../fonts/Ahem.ttf");
+}
+]]></style>
+  <style type="text/css"><![CDATA[
+  div#wrapper
+    {
+      background: red url("support/pattern-gr-rg-100x100.png") no-repeat;
+      color: transparent;
+      font: 50px/1 Ahem; /* computes to 50px/50px */
+      height: 100px;
+      width: 100px;
+      writing-mode: vertical-rl;
+    }
+
+  div#floated-right
+    {
+      color: green;
+      float: right;
+    }
+
+  div#floated-left
+    {
+      color: green;
+      float: left;
+    }
+  ]]></style>
+ </head>
+
+ <body>
+
+  <p>Test passes if there is a filled green square and <strong>no red</strong>.</p>
+
+  <div id="wrapper">
+    A <div id="floated-left">L</div> <div id="floated-right">R</div> B
+  </div>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/full-width-001.html
@@ -0,0 +1,66 @@
+<!DOCTYPE html>
+<html>
+<head>
+<meta charset="utf-8">
+<title>CSS Writing Modes: 'text-combine-upright: all' applied on a single typographic full-width unit character</title>
+<link rel="author" title="Masataka Yakura" href="http://google.com/+MasatakaYakura">
+<link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/">
+<link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#text-combine-fullwidth" title="9.1.3.1. Full-width Characters">
+<link rel="mismatch" href="reference/full-width-001-horizontal-notref.html">
+<link rel="mismatch" href="reference/full-width-001-nofullwidth-notref.html">
+<meta content="asis should" name="flags">
+<meta name="assert" content="When 'text-combine-upright: all' and 'text-transform: full-width' are applied simultaneously on 1 single typographic unit or when 'text-combine-upright: all' is set on a full-width typographic unit character, then such typographic unit remains a full-width character.">
+
+  <!--
+  This test is the equivalent of the "2" month in the
+  <date>2010年2月23日</date> example of example 17 in
+  section 9.1.3.1 of the specification
+  -->
+
+<style>
+  div
+    {
+      font-size: 64px;
+      writing-mode: vertical-rl;
+    }
+
+  div > p
+    {
+      border: black solid 1px;
+    }
+
+  span.tcu-all
+    {
+      text-combine-upright: all;
+    }
+
+  span.full-width
+    {
+      text-transform: full-width;
+    }
+</style>
+
+</head>
+
+<body>
+
+<p>Test passes if the glyphs in the 3 rectangles have the <strong>same order</strong>, the <strong>same orientation</strong> and the <strong>same layout</strong>; a different inter-character spacing is considered as PASS.</p>
+
+<div>
+
+  <p id="test1"><span class="tcu-all full-width">&#x34;</span>月</p>
+
+  <!-- &#x34; is the ISO-Latin1 digit 4 -->
+
+  <p id="test2"><span class="tcu-all">&#xFF14;</span>月</p>
+
+  <!-- &#xFF14; is the FULLWIDTH DIGIT 4 (≈ <wide> 0034 4)-->
+
+  <p id="reference">&#xFF14;月</p>
+
+  <!-- &#xFF14; is the FULLWIDTH DIGIT 4 (≈ <wide> 0034 4)-->
+
+</div>
+
+</body>
+</html>
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/full-width-002.html
@@ -0,0 +1,68 @@
+<!DOCTYPE html>
+<html>
+<head>
+<meta charset="utf-8">
+<title>CSS Writing Modes: 'text-combine-upright: all' applied on 2 full-width characters</title>
+<link rel="author" title="Masataka Yakura" href="http://google.com/+MasatakaYakura">
+<link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/">
+<link rel="reviewer" title="Elika J. Etemad" href="http://fantasai.inkedblade.net/contact"> <!-- 2016-09-29 -->
+<link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#text-combine-fullwidth" title="9.1.3.1. Full-width Characters">
+<link rel="help" href="https://www.w3.org/TR/css-text-3/#text-transform-property" title="2.1. Case Transforms: the 'text-transform' property">
+<link rel="mismatch" href="reference/full-width-002-notcu-notref.html">
+<link rel="mismatch" href="reference/full-width-002-horizontal-notref.html">
+<meta content="asis should" name="flags">
+<meta name="assert" content="When two or more full-width characters are combined, they are first converted to non-full-width characters.">
+
+  <!--
+  This test is the equivalent of the "23" day in the
+  <date>2010年2月23日</date> example of example 17 in
+  section 9.1.3.1 of the specification
+  -->
+
+<style>
+  div
+    {
+      font-size: 64px;
+      writing-mode: vertical-rl;
+    }
+
+  div > p
+    {
+      border: black solid 1px;
+    }
+
+  span.tcu-all
+    {
+      text-combine-upright: all;
+    }
+
+  span.full-width
+    {
+      text-transform: full-width;
+    }
+</style>
+</head>
+<body>
+
+<p>Test passes if the glyphs in the 3 rectangles have the <strong>same order</strong>, the <strong>same orientation</strong> and the <strong>same layout</strong>; a different inter-character spacing is considered as PASS.</p>
+
+<div>
+
+  <p id="test1"><span class="full-width tcu-all">&#x32;&#x38;</span>日</p>
+
+  <!-- &#x32; is the ISO-Latin1 digit 2 -->
+
+  <!-- &#x38; is the ISO-Latin1 digit 8 -->
+
+  <p id="test2"><span class="tcu-all">&#xFF12;&#xFF18;</span>日</p>
+
+  <!-- &#xFF12; is the FULLWIDTH DIGIT 2 (≈ <wide> 0032 2)-->
+
+  <!-- &#xFF18; is the FULLWIDTH DIGIT 8 (≈ <wide> 0038 8)-->
+
+  <p id="reference"><span class="tcu-all">28</span>日</p>
+
+</div>
+
+</body>
+</html>
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/full-width-003.html
@@ -0,0 +1,67 @@
+<!DOCTYPE html>
+<html>
+<head>
+<meta charset="utf-8">
+<title>CSS Writing Modes: 'text-combine-upright: digits 2' applied on 2 full-width characters</title>
+<link rel="author" title="Masataka Yakura" href="http://google.com/+MasatakaYakura">
+<link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/">
+<link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#text-combine-fullwidth" title="9.1.3.1. Full-width Characters">
+<link rel="help" href="https://www.w3.org/TR/css-text-3/#text-transform-property" title="2.1. Case Transforms: the 'text-transform' property">
+<link rel="mismatch" href="reference/full-width-002-notcu-notref.html">
+<link rel="mismatch" href="reference/full-width-002-horizontal-notref.html">
+<meta content="asis should" name="flags">
+<meta name="assert" content="When two or more full-width characters are combined, they are first converted to non-full-width characters.">
+
+  <!--
+  This test is the equivalent of the "23" day in the
+  <date>2010年2月23日</date> example of example 17 in
+  section 9.1.3.1 of the specification
+  -->
+
+<style>
+  div
+    {
+      font-size: 64px;
+      writing-mode: vertical-rl;
+    }
+
+  div > p
+    {
+      border: black solid 1px;
+    }
+
+  span.tcu-digits2
+    {
+      text-combine-upright: digits 2;
+    }
+
+  span.full-width
+    {
+      text-transform: full-width;
+    }
+</style>
+</head>
+<body>
+
+<p>Test passes if the glyphs in the 3 rectangles have the <strong>same order</strong>, the <strong>same orientation</strong> and the <strong>same layout</strong>; a different inter-character spacing is considered as PASS.</p>
+
+<div>
+
+  <p id="test1"><span class="full-width tcu-digits2">&#x32;&#x38;</span>日</p>
+
+  <!-- &#x32; is the ISO-Latin1 digit 2 -->
+
+  <!-- &#x38; is the ISO-Latin1 digit 8 -->
+
+  <p id="test2"><span class="tcu-digits2">&#xFF12;&#xFF18;</span>日</p>
+
+  <!-- &#xFF12; is the FULLWIDTH DIGIT 2 (≈ <wide> 0032 2)-->
+
+  <!-- &#xFF18; is the FULLWIDTH DIGIT 8 (≈ <wide> 0038 8)-->
+
+  <p id="reference"><span class="tcu-digits2">28</span>日</p>
+
+</div>
+
+</body>
+</html>
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/height-width-inline-non-replaced-vlr-003.xht
@@ -0,0 +1,64 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Writing Modes Test: height and width - inline non-replaced element in vertical writing-mode</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+  <link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#vertical-layout" title="7.1 Principles of Layout in Vertical Writing Modes" />
+  <link rel="help" href="http://www.w3.org/TR/2011/REC-CSS2-20110607/visudet.html#inline-width" title="10.3.1 Inline, non-replaced elements" />
+  <link rel="help" href="http://www.w3.org/TR/2011/REC-CSS2-20110607/visudet.html#inline-non-replaced" title="10.6.1 Inline, non-replaced elements" />
+  <link rel="match" href="../css21/reference/ref-filled-green-100px-square.xht" />
+
+  <meta content="ahem" name="flags" />
+  <meta content="This test checks that height and width declarations do not apply to inline non-replaced elements in vertical writing-modes." name="assert" />
+
+<style type="text/css"><![CDATA[
+@font-face {
+  font-family: Ahem;
+  src: url("../../../fonts/Ahem.ttf");
+}
+]]></style>
+  <style type="text/css"><![CDATA[
+  div#block
+    {
+      font: 100px/1 Ahem; /* computes to 100px/100px */
+      height: 2em;
+      width: 2em;
+      writing-mode: vertical-lr;
+    }
+
+  div#inline
+    {
+      background-color: red;
+      color: red;
+      display: inline;
+      height: 2em;
+      width: 2em;
+    }
+
+  div#overlapping-green
+    {
+      background-color: green;
+      bottom: 200px;
+      height: 100px;
+      position: relative;
+      width: 100px;
+    }
+  ]]></style>
+ </head>
+
+ <body>
+
+  <p>Test passes if there is a filled green square and <strong>no red</strong>.</p>
+
+  <div id="block">
+    <div id="inline">A</div>
+  </div>
+
+  <div id="overlapping-green"></div>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/height-width-inline-non-replaced-vrl-002.xht
@@ -0,0 +1,65 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Writing Modes Test: height and width - inline non-replaced element in vertical writing-mode</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+  <link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#vertical-layout" title="7.1 Principles of Layout in Vertical Writing Modes" />
+  <link rel="help" href="http://www.w3.org/TR/2011/REC-CSS2-20110607/visudet.html#inline-width" title="10.3.1 Inline, non-replaced elements" />
+  <link rel="help" href="http://www.w3.org/TR/2011/REC-CSS2-20110607/visudet.html#inline-non-replaced" title="10.6.1 Inline, non-replaced elements" />
+  <link rel="match" href="abs-pos-non-replaced-icb-vrl-008-ref.xht" />
+
+  <meta content="ahem" name="flags" />
+  <meta content="This test checks that height and width declarations do not apply to inline non-replaced elements in vertical writing-modes." name="assert" />
+
+<style type="text/css"><![CDATA[
+@font-face {
+  font-family: Ahem;
+  src: url("../../../fonts/Ahem.ttf");
+}
+]]></style>
+  <style type="text/css"><![CDATA[
+  div#block
+    {
+      font: 100px/1 Ahem; /* computes to 100px/100px */
+      height: 2em;
+      width: 4em;
+      writing-mode: vertical-rl;
+    }
+
+  div#inline
+    {
+      background-color: red;
+      color: red;
+      display: inline;
+      height: 2em;
+      width: 4em;
+    }
+
+  div#overlapping-green
+    {
+      background-color: green;
+      bottom: 200px;
+      height: 100px;
+      left: 300px;
+      position: relative;
+      width: 100px;
+    }
+  ]]></style>
+ </head>
+
+ <body>
+
+  <p>Test passes if there is a filled green square and <strong>no red</strong>.</p>
+
+  <div id="block">
+    <div id="inline">A</div>
+  </div>
+
+  <div id="overlapping-green"></div>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/horizontal-rule-vlr-003-ref.xht
@@ -0,0 +1,48 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Reftest Reference</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+
+  <meta content="image" name="flags" />
+
+  <style type="text/css"><![CDATA[
+  html
+    {
+      height: 100%;
+    }
+
+  body
+    {
+      height: 100%;
+      margin: 0px;
+    }
+
+  div
+    {
+      height: 100%;
+    }
+
+  img
+    {
+      margin-left: 1em;
+      vertical-align: top;
+    }
+
+  img + img
+    {
+      height: 100%;
+    }
+  ]]></style>
+ </head>
+
+ <body>
+
+    <div><img src="support/pass-cdts-horiz-rule.png" width="260" height="36" alt="Image download support must be enabled" /><img src="support/swatch-green.png" width="10" alt="Image download support must be enabled" /></div>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/horizontal-rule-vlr-003.xht
@@ -0,0 +1,58 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Writing Modes Test: horizontal rule - 'vertical-lr' and orthogonal flow</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+  <link rel="help" title="7.1 Principles of Layout in Vertical Writing Modes" href="http://www.w3.org/TR/css-writing-modes-3/#vertical-layout" />
+  <link rel="match" href="horizontal-rule-vlr-003-ref.xht" />
+
+  <meta content="image" name="flags" />
+  <meta content="This test checks that an horizontal rule (&lt;hr&gt; element) in 'vertical-lr' writing-mode must be rendered as a vertical rule." name="assert" />
+
+  <style type="text/css"><![CDATA[
+  html
+    {
+      writing-mode: vertical-lr;
+    }
+
+  body
+    {
+      margin: 0px;
+    }
+
+  hr
+    {
+      background-color: green;
+      border: transparent none 0px;
+      height: auto;
+      margin: 0px;
+      width: 10px;
+    }
+
+  div#overlapped-red
+    {
+      background-color: red;
+      height: 100%;
+      position: relative;
+      right: 10px;
+      width: 10px;
+      z-index: -1;
+    }
+  ]]></style>
+
+ </head>
+
+ <body>
+
+  <p><img src="support/pass-cdts-horiz-rule.png" width="260" height="36" alt="Image download support must be enabled" /></p>
+
+  <hr></hr>
+
+  <div id="overlapped-red"></div>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/horizontal-rule-vlr-005.xht
@@ -0,0 +1,49 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Writing Modes Test: horizontal rule - 'vertical-lr'</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+  <link rel="help" title="7.1 Principles of Layout in Vertical Writing Modes" href="http://www.w3.org/TR/css-writing-modes-3/#vertical-layout" />
+  <link rel="match" href="horizontal-rule-vrl-004-ref.xht" />
+
+  <meta content="" name="flags" />
+  <meta content="This test checks that an horizontal rule (&lt;hr&gt; element) with 'vertical-lr' writing-mode but inside an 'horizontal-tb' writing-mode context must be rendered as an horizontal rule." name="assert" />
+
+  <style type="text/css"><![CDATA[
+  hr
+    {
+      background-color: green;
+      border: transparent none 0px;
+      height: 10px;
+      margin: 0px;
+      width: 100%;
+      writing-mode: vertical-lr;
+    }
+
+  div#overlapped-red
+    {
+      background-color: red;
+      bottom: 10px;
+      height: 10px;
+      position: relative;
+      width: auto;
+      z-index: -1;
+    }
+  ]]></style>
+
+ </head>
+
+ <body>
+
+  <p>Test passes if there is an horizontal green bar and <strong>no red</strong>.</p>
+
+  <hr></hr>
+
+  <div id="overlapped-red"></div>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/horizontal-rule-vrl-002-ref.xht
@@ -0,0 +1,49 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Reftest Reference</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+
+  <meta content="image" name="flags" />
+
+  <style type="text/css"><![CDATA[
+  html
+    {
+      height: 100%;
+    }
+
+  body
+    {
+      direction: rtl;
+      height: 100%;
+      margin: 0px;
+    }
+
+  div
+    {
+      height: 100%;
+    }
+
+  img
+    {
+      margin-right: 1em;
+      vertical-align: top;
+    }
+
+  img + img
+    {
+      height: 100%;
+    }
+  ]]></style>
+ </head>
+
+ <body>
+
+    <div><img src="support/pass-cdts-horiz-rule.png" width="260" height="36" alt="Image download support must be enabled" /><img src="support/swatch-green.png" width="10" alt="Image download support must be enabled" /></div>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/horizontal-rule-vrl-002.xht
@@ -0,0 +1,58 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Writing Modes Test: horizontal rule - 'vertical-rl' and orthogonal flow</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+  <link rel="help" title="7.1 Principles of Layout in Vertical Writing Modes" href="http://www.w3.org/TR/css-writing-modes-3/#vertical-layout" />
+  <link rel="match" href="horizontal-rule-vrl-002-ref.xht" />
+
+  <meta content="image" name="flags" />
+  <meta content="This test checks that an horizontal rule (&lt;hr&gt; element) in 'vertical-rl' writing-mode must be rendered as a vertical rule." name="assert" />
+
+  <style type="text/css"><![CDATA[
+  html
+    {
+      writing-mode: vertical-rl;
+    }
+
+  body
+    {
+      margin: 0px;
+    }
+
+  hr
+    {
+      background-color: green;
+      border: transparent none 0px;
+      height: auto;
+      margin: 0px;
+      width: 10px;
+    }
+
+  div#overlapped-red
+    {
+      background-color: red;
+      height: 100%;
+      left: 10px;
+      position: relative;
+      width: 10px;
+      z-index: -1;
+    }
+  ]]></style>
+
+ </head>
+
+ <body>
+
+  <p><img src="support/pass-cdts-horiz-rule.png" width="260" height="36" alt="Image download support must be enabled" /></p>
+
+  <hr></hr>
+
+  <div id="overlapped-red"></div>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/horizontal-rule-vrl-004-ref.xht
@@ -0,0 +1,31 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Reftest Reference</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+
+  <meta content="" name="flags" />
+
+  <style type="text/css"><![CDATA[
+  hr
+    {
+      background-color: green;
+      border: transparent none 0px;
+      height: 10px;
+      margin: 0px;
+    }
+  ]]></style>
+ </head>
+
+ <body>
+
+  <p>Test passes if there is an horizontal green bar and <strong>no red</strong>.</p>
+
+  <hr></hr>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/horizontal-rule-vrl-004.xht
@@ -0,0 +1,49 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Writing Modes Test: horizontal rule - 'vertical-rl'</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+  <link rel="help" title="7.1 Principles of Layout in Vertical Writing Modes" href="http://www.w3.org/TR/css-writing-modes-3/#vertical-layout" />
+  <link rel="match" href="horizontal-rule-vrl-004-ref.xht" />
+
+  <meta content="" name="flags" />
+  <meta content="This test checks that an horizontal rule (&lt;hr&gt; element) with 'vertical-rl' writing-mode but inside an 'horizontal-tb' writing-mode context must be rendered as an horizontal rule." name="assert" />
+
+  <style type="text/css"><![CDATA[
+  hr
+    {
+      background-color: green;
+      border: transparent none 0px;
+      height: 10px;
+      margin: 0px;
+      width: 100%;
+      writing-mode: vertical-rl;
+    }
+
+  div#overlapped-red
+    {
+      background-color: red;
+      bottom: 10px;
+      height: 10px;
+      position: relative;
+      width: auto;
+      z-index: -1;
+    }
+  ]]></style>
+
+ </head>
+
+ <body>
+
+  <p>Test passes if there is an horizontal green bar and <strong>no red</strong>.</p>
+
+  <hr></hr>
+
+  <div id="overlapped-red"></div>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/inline-block-alignment-002-ref.xht
@@ -0,0 +1,48 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+  <title>CSS Reftest Reference</title>
+  <link rel="author" title="Hajime Shiozawa" href="mailto:hajime.shiozawa@gmail.com" />
+  <link rel="reviewer" title="Gerard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" /> <!-- 2015-07-20 -->
+  <meta name="flags" content="image" />
+  <style type="text/css"><![CDATA[
+    img
+    {
+      vertical-align: top;
+    }
+
+    img
+    {
+      padding-left: 90px; /* 60 px (padding-left) + 30px (the position difference of box) */
+    }
+
+    img + br + img
+    {
+      padding-left: 60px; /* 60 px (padding-left) */
+    }
+
+    img + br + img + img
+    {
+      padding-left: 0;
+    }
+
+    img + br + img + img + br + img
+    {
+      padding-left: 105px; /* 60 px (padding-left) + 45px (the position difference of box)
+    }
+  ]]></style>
+
+</head>
+
+<body>
+
+<p>Test passes if 2 orange squares are centered with respect to a blue square.</p>
+
+<div>
+   <img src="support/swatch-orange.png" width="60" height="60" alt="Image download support must be enabled" /><br /><!--
+--><img src="support/swatch-blue.png" width="120" height="120" alt="Image download support must be enabled" /><!--
+--><img src="support/swatch-yellow.png" width="120" height="120" alt="Image download support must be enabled" /><br /><!--
+--><img src="support/swatch-orange.png" width="30" height="30" alt="Image download support must be enabled" /></div>
+
+</body>
+</html>
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/inline-block-alignment-002.xht
@@ -0,0 +1,76 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+  <head>
+    <title>CSS Writing Modes Test: inline-block alignment - central alignment with vertical layout</title>
+    <link rel="author" title="Hajime Shiozawa" href="mailto:hajime.shiozawa@gmail.com" />
+    <link rel="reviewer" title="Gerard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" /> <!-- 2015-09-26 -->
+    <link rel="help" title="CSS3 Writing modes: 4.3. Atomic Inline Baseline" href="http://www.w3.org/TR/css-writing-modes-3/#replaced-baselines" />
+    <link rel="help" title="CSS2.1 9.2.2 Inline-level elements and inline boxes" href="http://www.w3.org/TR/CSS21/visuren.html#inline-boxes" />
+    <link rel="match" href="inline-block-alignment-002-ref.xht" />
+    <meta name="assert" content="This test checks the generation of inline-block baseline. When 'writing-mode' is 'vertical-rl' and when 'text-orientation' is 'mixed', then the central baseline is used as the dominant baseline." />
+    <meta name="flags" content="ahem" />
+<style type="text/css"><![CDATA[
+@font-face {
+  font-family: Ahem;
+  src: url("../../../fonts/Ahem.ttf");
+}
+]]></style>
+    <style type="text/css"><![CDATA[
+    div#rl-mixed
+    {
+      color: orange;
+      font: 60px/1 Ahem; /* computes to 60px/60px */
+      writing-mode: vertical-rl;
+      text-orientation: mixed;
+    }
+
+    div#inline-block
+    {
+      display: inline-block;
+      padding-left: 0.5em; /* computes to 60px */
+      font-size: 2em; /* computes to 120px */
+      /*
+        such padding-left declaration is arbitrary and only serve to make the
+        test a bit more challenging.
+      */
+    }
+
+    span.block-descendant
+    {
+      display: block;
+    }
+
+    span#first-line-box
+    {
+      color: yellow;
+    }
+
+    span#last-line-box
+    {
+      color: blue;
+    }
+
+    span#orange30
+    {
+      padding-right: 4em; /* computes to 120px */
+      font-size: 0.5em; /* computes to 30px */
+      /*
+        such padding-right declaration is arbitrary and only serve to make the
+        test a bit more challenging.
+      */
+    }
+    ]]></style>
+
+  </head>
+
+  <body>
+
+  <p>Test passes if 2 orange squares are centered with respect to a blue square.</p>
+
+  <div id="rl-mixed">A<div id="inline-block">
+    <span class="block-descendant" id="first-line-box">F</span>
+    <span class="block-descendant" id="last-line-box">L</span>
+  </div><span id="orange30">O</span></div>
+
+  </body>
+</html>
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/inline-block-alignment-003-ref.xht
@@ -0,0 +1,48 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+  <title>CSS Reftest Reference</title>
+  <link rel="author" title="Hajime Shiozawa" href="mailto:hajime.shiozawa@gmail.com" />
+  <link rel="reviewer" title="Gerard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" /> <!-- 2015-07-20 -->
+  <meta name="flags" content="image" />
+  <style type="text/css"><![CDATA[
+    img
+    {
+      vertical-align: top;
+    }
+
+    img
+    {
+      padding-left: 210px; /* 60 px (padding-left) + 120px (blue box width) + 30px (the position difference of box) */
+    }
+
+    img + br + img
+    {
+      padding-left: 60px; /* 60 px (padding-left) */
+    }
+
+    img + br + img + img
+    {
+      padding-left: 0;
+    }
+
+    img + br + img + img + br + img
+    {
+      padding-left: 225px; /* 60 px (padding-left) + 120px (blue box width) + 45px (the position difference of box)
+    }
+  ]]></style>
+
+</head>
+
+<body>
+
+<p>Test passes if 2 orange squares are centered with respect to a blue square.</p>
+
+<div>
+   <img src="support/swatch-orange.png" width="60" height="60" alt="Image download support must be enabled" /><br /><!--
+--><img src="support/swatch-yellow.png" width="120" height="120" alt="Image download support must be enabled" /><!--
+--><img src="support/swatch-blue.png" width="120" height="120" alt="Image download support must be enabled" /><br /><!--
+--><img src="support/swatch-orange.png" width="30" height="30" alt="Image download support must be enabled" /></div>
+
+</body>
+</html>
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/inline-block-alignment-003.xht
@@ -0,0 +1,76 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+  <head>
+    <title>CSS Writing Modes Test: inline-block alignment - central alignment with vertical layout</title>
+    <link rel="author" title="Hajime Shiozawa" href="mailto:hajime.shiozawa@gmail.com" />
+    <link rel="reviewer" title="Gerard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" /> <!-- 2015-09-26 -->
+    <link rel="help" title="CSS3 Writing modes: 4.3. Atomic Inline Baseline" href="http://www.w3.org/TR/css-writing-modes-3/#replaced-baselines" />
+    <link rel="help" title="CSS2.1 9.2.2 Inline-level elements and inline boxes" href="http://www.w3.org/TR/CSS21/visuren.html#inline-boxes" />
+    <link rel="match" href="inline-block-alignment-003-ref.xht" />
+    <meta name="assert" content="This test checks the generation of inline-block baseline. When 'writing-mode' is 'vertical-lr' and when 'text-orientation' is 'mixed', then the central baseline is used as the dominant baseline." />
+    <meta name="flags" content="ahem" />
+<style type="text/css"><![CDATA[
+@font-face {
+  font-family: Ahem;
+  src: url("../../../fonts/Ahem.ttf");
+}
+]]></style>
+    <style type="text/css"><![CDATA[
+    div#lr-mixed
+    {
+      color: orange;
+      font: 60px/1 Ahem; /* computes to 60px/60px */
+      writing-mode: vertical-lr;
+      text-orientation: mixed;
+    }
+
+    div#inline-block
+    {
+      display: inline-block;
+      padding-left: 0.5em; /* computes to 60px */
+      font-size: 2em; /* computes to 120px */
+      /*
+        such padding-left declaration is arbitrary and only serve to make the
+        test a bit more challenging.
+      */
+    }
+
+    span.block-descendant
+    {
+      display: block;
+    }
+
+    span#first-line-box
+    {
+      color: yellow;
+    }
+
+    span#last-line-box
+    {
+      color: blue;
+    }
+
+    span#orange30
+    {
+      padding-right: 4em; /* computes to 120px */
+      font-size: 0.5em; /* computes to 30px */
+      /*
+        such padding-right declaration is arbitrary and only serve to make the
+        test a bit more challenging.
+      */
+    }
+    ]]></style>
+
+  </head>
+
+  <body>
+
+  <p>Test passes if 2 orange squares are centered with respect to a blue square.</p>
+
+  <div id="lr-mixed">A<div id="inline-block">
+    <span class="block-descendant" id="first-line-box">F</span>
+    <span class="block-descendant" id="last-line-box">L</span>
+  </div><span id="orange30">O</span></div>
+
+  </body>
+</html>
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/inline-block-alignment-004.xht
@@ -0,0 +1,76 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+  <head>
+    <title>CSS Writing Modes Test: inline-block alignment - central alignment with vertical layout</title>
+    <link rel="author" title="Hajime Shiozawa" href="mailto:hajime.shiozawa@gmail.com" />
+    <link rel="reviewer" title="Gerard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" /> <!-- 2015-09-26 -->
+    <link rel="help" title="CSS3 Writing modes: 4.3. Atomic Inline Baseline" href="http://www.w3.org/TR/css-writing-modes-3/#replaced-baselines" />
+    <link rel="help" title="CSS2.1 9.2.2 Inline-level elements and inline boxes" href="http://www.w3.org/TR/CSS21/visuren.html#inline-boxes" />
+    <link rel="match" href="inline-block-alignment-002-ref.xht" />
+    <meta name="assert" content="This test checks the generation of inline-block baseline. When 'writing-mode' is 'vertical-rl' and when 'text-orientation' is 'upright', then the central baseline is used as the dominant baseline." />
+    <meta name="flags" content="ahem" />
+<style type="text/css"><![CDATA[
+@font-face {
+  font-family: Ahem;
+  src: url("../../../fonts/Ahem.ttf");
+}
+]]></style>
+    <style type="text/css"><![CDATA[
+    div#rl-upright
+    {
+      color: orange;
+      font: 60px/1 Ahem; /* computes to 60px/60px */
+      writing-mode: vertical-rl;
+      text-orientation: upright;
+    }
+
+    div#inline-block
+    {
+      display: inline-block;
+      padding-left: 0.5em; /* computes to 60px */
+      font-size: 2em; /* computes to 120px */
+      /*
+        such padding-left declaration is arbitrary and only serve to make the
+        test a bit more challenging.
+      */
+    }
+
+    span.block-descendant
+    {
+      display: block;
+    }
+
+    span#first-line-box
+    {
+      color: yellow;
+    }
+
+    span#last-line-box
+    {
+      color: blue;
+    }
+
+    span#orange30
+    {
+      padding-right: 4em; /* computes to 120px */
+      font-size: 0.5em; /* computes to 30px */
+      /*
+        such padding-right declaration is arbitrary and only serve to make the
+        test a bit more challenging.
+      */
+    }
+    ]]></style>
+
+  </head>
+
+  <body>
+
+  <p>Test passes if 2 orange squares are centered with respect to a blue square.</p>
+
+  <div id="rl-upright">A<div id="inline-block">
+    <span class="block-descendant" id="first-line-box">F</span>
+    <span class="block-descendant" id="last-line-box">L</span>
+  </div><span id="orange30">O</span></div>
+
+  </body>
+</html>
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/inline-block-alignment-005.xht
@@ -0,0 +1,76 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+  <head>
+    <title>CSS Writing Modes Test: inline-block alignment - central alignment with vertical layout</title>
+    <link rel="author" title="Hajime Shiozawa" href="mailto:hajime.shiozawa@gmail.com" />
+    <link rel="reviewer" title="Gerard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" /> <!-- 2015-09-26 -->
+    <link rel="help" title="CSS3 Writing modes: 4.3. Atomic Inline Baseline" href="http://www.w3.org/TR/css-writing-modes-3/#replaced-baselines" />
+    <link rel="help" title="CSS2.1 9.2.2 Inline-level elements and inline boxes" href="http://www.w3.org/TR/CSS21/visuren.html#inline-boxes" />
+    <link rel="match" href="inline-block-alignment-003-ref.xht" />
+    <meta name="assert" content="This test checks the generation of inline-block baseline. When 'writing-mode' is 'vertical-lr' and when 'text-orientation' is 'upright', then the central baseline is used as the dominant baseline." />
+    <meta name="flags" content="ahem" />
+<style type="text/css"><![CDATA[
+@font-face {
+  font-family: Ahem;
+  src: url("../../../fonts/Ahem.ttf");
+}
+]]></style>
+    <style type="text/css"><![CDATA[
+    div#lr-upright
+    {
+      color: orange;
+      font: 60px/1 Ahem; /* computes to 60px/60px */
+      writing-mode: vertical-lr;
+      text-orientation: upright;
+    }
+
+    div#inline-block
+    {
+      display: inline-block;
+      padding-left: 0.5em; /* computes to 60px */
+      font-size: 2em; /* computes to 120px */
+      /*
+        such padding-left declaration is arbitrary and only serve to make the
+        test a bit more challenging.
+      */
+    }
+
+    span.block-descendant
+    {
+      display: block;
+    }
+
+    span#first-line-box
+    {
+      color: yellow;
+    }
+
+    span#last-line-box
+    {
+      color: blue;
+    }
+
+    span#orange30
+    {
+      padding-right: 4em; /* computes to 120px */
+      font-size: 0.5em; /* computes to 30px */
+      /*
+        such padding-right declaration is arbitrary and only serve to make the
+        test a bit more challenging.
+      */
+    }
+    ]]></style>
+
+  </head>
+
+  <body>
+
+  <p>Test passes if 2 orange squares are centered with respect to a blue square.</p>
+
+  <div id="lr-upright">A<div id="inline-block">
+    <span class="block-descendant" id="first-line-box">F</span>
+    <span class="block-descendant" id="last-line-box">L</span>
+  </div><span id="orange30">O</span></div>
+
+  </body>
+</html>
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/inline-block-alignment-006-ref.xht
@@ -0,0 +1,29 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+  <title>CSS Reftest Reference</title>
+  <link rel="author" title="Hajime Shiozawa" href="mailto:hajime.shiozawa@gmail.com" />
+  <link rel="reviewer" title="Gerard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" /> <!-- 2015-07-21 -->
+  <meta name="flags" content="image" />
+  <style type="text/css"><![CDATA[
+
+  img
+  {
+    padding-left: 84px; /* 60px (padding-left) + 24px (the left edge position of box) */
+    vertical-align: top;
+  }
+  ]]></style>
+
+  </head>
+
+  <body>
+
+  <p>Test passes if the <strong>left edge</strong> of an irregular polygon is straight and unbroken.</p>
+
+  <div>
+    <img src="support/swatch-fuchsia.png" width="48" height="60" alt="Image download support must be enabled" /><br /><!--
+ --><img src="support/swatch-fuchsia.png" width="216" height="120" alt="Image download support must be enabled" /><br /><!--
+ --><img src="support/swatch-fuchsia.png" width="24" height="30" alt="Image download support must be enabled" />
+  </div>
+  </body>
+</html>
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/inline-block-alignment-006.xht
@@ -0,0 +1,66 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+  <head>
+    <title>CSS Writing Modes Test: inline block alignment - alphabetical alignment with vertical layout</title>
+    <link rel="author" title="Hajime Shiozawa" href="mailto:hajime.shiozawa@gmail.com" />
+    <link rel="reviewer" title="Gerard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" /> <!-- 2015-09-26 -->
+    <link rel="help" title="CSS3 Writing modes: 4.3. Atomic Inline Baseline" href="http://www.w3.org/TR/css-writing-modes-3/#replaced-baselines" />
+    <link rel="help" title="CSS2.1 9.2.2 Inline-level elements and inline boxes" href="http://www.w3.org/TR/CSS21/visuren.html#inline-boxes" />
+    <link rel="match" href="inline-block-alignment-006-ref.xht" />
+    <meta name="assert" content="This test checks the generation of inline-block baseline. When 'writing-mode' is 'vertical-rl' and when 'text-orientation' is 'sideways', then the alphabetical baseline is used as the dominant baseline." />
+    <meta name="flags" content="ahem" />
+<style type="text/css"><![CDATA[
+@font-face {
+  font-family: Ahem;
+  src: url("../../../fonts/Ahem.ttf");
+}
+]]></style>
+    <style type="text/css"><![CDATA[
+    div#rl-sideways
+    {
+      color: fuchsia;
+      font: 60px/1 Ahem; /* computes to 60px/60px */
+      writing-mode: vertical-rl;
+      text-orientation: sideways;
+    }
+
+    div#inline-block
+    {
+      display: inline-block;
+      padding-left: 0.5em; /* computes to 60px */
+      font-size: 2em; /* computes to 120px */
+      /*
+        such padding-left declaration is arbitrary and only serve to make the
+        test a bit more challenging.
+      */
+    }
+
+    span.block-descendant
+    {
+      display: block;
+    }
+
+    span#fuchsia30
+    {
+      padding-right: 4em; /* computes to 120px */
+      font-size: 0.5em; /* computes to 30px */
+      /*
+        such padding-right declaration is arbitrary and only serve to make the
+        test a bit more challenging.
+      */
+    }
+    ]]></style>
+
+  </head>
+
+  <body>
+
+  <p>Test passes if the <strong>left edge</strong> of an irregular polygon is straight and unbroken.</p>
+
+  <div id="rl-sideways">É<div id="inline-block">
+    <span class="block-descendant">B</span>
+    <span class="block-descendant last-line-box">É</span>
+  </div><span id="fuchsia30">É</span></div>
+
+  </body>
+</html>
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/inline-block-alignment-007.xht
@@ -0,0 +1,66 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+  <head>
+    <title>CSS Writing Modes Test: inline block alignment - alphabetical alignment with vertical layout</title>
+    <link rel="author" title="Hajime Shiozawa" href="mailto:hajime.shiozawa@gmail.com" />
+    <link rel="reviewer" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" /> <!-- 2015-09-26 -->
+    <link rel="help" title="CSS3 Writing modes: 4.3. Atomic Inline Baseline" href="http://www.w3.org/TR/css-writing-modes-3/#replaced-baselines" />
+    <link rel="help" title="CSS2.1 9.2.2 Inline-level elements and inline boxes" href="http://www.w3.org/TR/CSS21/visuren.html#inline-boxes" />
+    <link rel="match" href="inline-block-alignment-006-ref.xht" />
+    <meta name="assert" content="This test checks the generation of inline-block baseline. When 'writing-mode' is 'vertical-lr' and when 'text-orientation' is 'sideways', then the alphabetical baseline is used as the dominant baseline." />
+    <meta name="flags" content="ahem" />
+<style type="text/css"><![CDATA[
+@font-face {
+  font-family: Ahem;
+  src: url("../../../fonts/Ahem.ttf");
+}
+]]></style>
+    <style type="text/css"><![CDATA[
+    div#lr-sideways
+    {
+      color: fuchsia;
+      font: 60px/1 Ahem; /* computes to 60px/60px */
+      writing-mode: vertical-lr;
+      text-orientation: sideways;
+    }
+
+    div#inline-block
+    {
+      display: inline-block;
+      padding-left: 0.5em; /* computes to 60px */
+      font-size: 2em; /* computes to 120px */
+      /*
+        such padding-left declaration is arbitrary and only serve to make the
+        test a bit more challenging.
+      */
+    }
+
+    span.block-descendant
+    {
+      display: block;
+    }
+
+    span#fuchsia30
+    {
+      padding-right: 4em; /* computes to 120px */
+      font-size: 0.5em; /* computes to 30px */
+      /*
+        such padding-right declaration is arbitrary and only serve to make the
+        test a bit more challenging.
+      */
+    }
+    ]]></style>
+
+  </head>
+
+  <body>
+
+  <p>Test passes if the <strong>left edge</strong> of an irregular polygon is straight and unbroken.</p>
+
+  <div id="lr-sideways">É<div id="inline-block">
+    <span class="block-descendant">B</span>
+    <span class="block-descendant last-line-box">É</span>
+  </div><span id="fuchsia30">É</span></div>
+
+  </body>
+</html>
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/inline-block-alignment-orthogonal-vlr-003.xht
@@ -0,0 +1,64 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+  <head>
+    <meta http-equiv="content-type" content="text/html; charset=UTF-8" />
+    <title>CSS Writing Modes Test: text baseline alignment of inline-block in orthogonal flow</title>
+    <link rel="author" title="Hajime Shiozawa" href="mailto:hajime.shiozawa@gmail.com" />
+    <link rel="reviewer" title="Gerard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" /> <!-- 2015-06-12 -->
+    <link rel="help" title="4.3 Atomic Inline Baselines" href="http://www.w3.org/TR/css-writing-modes-3/#replaced-baselines" />
+    <link rel="match" href="inline-block-alignment-orthogonal-vrl-002-ref.xht" />
+    <meta name="assert" content="This test checks the generation of text baseline. When 'writing-mode' of the containing block of an inline-block in orthogonal flow is 'horizontal-tb', then the dominant baseline used is the alphabetical baseline. In this test, the inline-block should be 'sitting' on the alphabetical baseline, therefore creating a straight and unbroken bottom edge." />
+    <meta name="flags" content="ahem" />
+<style type="text/css"><![CDATA[
+@font-face {
+  font-family: Ahem;
+  src: url("../../../fonts/Ahem.ttf");
+}
+]]></style>
+    <style type="text/css"><![CDATA[
+    div#horiz-tb
+    {
+      color: orange;
+      font: 60px/1 Ahem; /* computes to 60px/60px */
+      writing-mode: horizontal-tb;
+    }
+
+    div#inline-block-90
+    {
+      background-color: orange; /* we want the padding-bottom to be painted with orange color */
+      display: inline-block;
+      font-size: 1.5em; /* computes to 90px */
+      /*
+        such padding-bottom declaration is arbitrary and only serve to make the
+        test a bit more challenging.
+      */
+      padding-bottom: 0.5em; /* computes to 45px */
+      text-orientation: mixed;
+      writing-mode: vertical-lr;
+    }
+
+    span.block-descendant
+    {
+      display: block;
+    }
+
+    span#orange30
+    {
+      font-size: 0.5em; /* computes to 30px */
+    }
+    ]]></style>
+
+  </head>
+
+  <body>
+
+  <p>Test passes if the <strong>bottom edge</strong> of an irregular polygon is straight and unbroken.</p>
+
+  <div id="horiz-tb">É<div id="inline-block-90">
+      <span class="block-descendant">L</span>
+      <span class="block-descendant">Z</span>
+    </div><span id="orange30">É</span>
+  </div>
+
+  </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/inline-block-alignment-orthogonal-vlr-005.xht
@@ -0,0 +1,64 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+  <head>
+    <meta http-equiv="content-type" content="text/html; charset=UTF-8" />
+    <title>CSS Writing Modes Test: text baseline alignment of inline-block in orthogonal flow</title>
+    <link rel="author" title="Hajime Shiozawa" href="mailto:hajime.shiozawa@gmail.com" />
+    <link rel="reviewer" title="Gerard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" /> <!-- 2015-06-12 -->
+    <link rel="help" title="4.3 Atomic Inline Baselines" href="http://www.w3.org/TR/css-writing-modes-3/#replaced-baselines" />
+    <link rel="match" href="inline-block-alignment-orthogonal-vrl-002-ref.xht" />
+    <meta name="assert" content="This test checks the generation of text baseline. When 'writing-mode' of the containing block of an inline-block in orthogonal flow is 'horizontal-tb', then the dominant baseline used is the alphabetical baseline. In this test, the inline-block should be 'sitting' on the alphabetical baseline, therefore creating a straight and unbroken bottom edge." />
+    <meta name="flags" content="ahem" />
+<style type="text/css"><![CDATA[
+@font-face {
+  font-family: Ahem;
+  src: url("../../../fonts/Ahem.ttf");
+}
+]]></style>
+    <style type="text/css"><![CDATA[
+    div#horiz-tb
+    {
+      color: orange;
+      font: 60px/1 Ahem; /* computes to 60px/60px */
+      writing-mode: horizontal-tb;
+    }
+
+    div#inline-block-90
+    {
+      background-color: orange; /* we want the padding-bottom to be painted with orange color */
+      display: inline-block;
+      font-size: 1.5em; /* computes to 90px */
+      /*
+        such padding-bottom declaration is arbitrary and only serve to make the
+        test a bit more challenging.
+      */
+      padding-bottom: 0.5em; /* computes to 45px */
+      text-orientation: upright;
+      writing-mode: vertical-lr;
+    }
+
+    span.block-descendant
+    {
+      display: block;
+    }
+
+    span#orange30
+    {
+      font-size: 0.5em; /* computes to 30px */
+    }
+    ]]></style>
+
+  </head>
+
+  <body>
+
+  <p>Test passes if the <strong>bottom edge</strong> of an irregular polygon is straight and unbroken.</p>
+
+  <div id="horiz-tb">É<div id="inline-block-90">
+      <span class="block-descendant">L</span>
+      <span class="block-descendant">Z</span>
+    </div><span id="orange30">É</span>
+  </div>
+
+  </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/inline-block-alignment-orthogonal-vrl-002-ref.xht
@@ -0,0 +1,24 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+  <title>CSS Reftest Reference</title>
+  <link rel="author" title="Hajime Shiozawa" href="mailto:hajime.shiozawa@gmail.com" />
+  <link rel="reviewer" title="Gerard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" /> <!-- 2015-06-12 -->
+  <meta name="flags" content="image" />
+  <style type="text/css"><![CDATA[
+    img
+    {
+      vertical-align: bottom;
+    }
+  ]]></style>
+
+</head>
+
+<body>
+
+<p>Test passes if the <strong>bottom edge</strong> of an irregular polygon is straight and unbroken.</p>
+
+<div><img src="support/swatch-orange.png" width="60" height="48" alt="Image download support must be enabled" /><img src="support/swatch-orange.png" width="180" height="135" alt="Image download support must be enabled" /><img src="support/swatch-orange.png" width="30" height="24" alt="Image download support must be enabled" /></div>
+
+</body>
+</html>
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/inline-block-alignment-orthogonal-vrl-002.xht
@@ -0,0 +1,64 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+  <head>
+    <meta http-equiv="content-type" content="text/html; charset=UTF-8" />
+    <title>CSS Writing Modes Test: text baseline alignment of inline-block in orthogonal flow</title>
+    <link rel="author" title="Hajime Shiozawa" href="mailto:hajime.shiozawa@gmail.com" />
+    <link rel="reviewer" title="Gerard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" /> <!-- 2015-06-12 -->
+    <link rel="help" title="4.3 Atomic Inline Baselines" href="http://www.w3.org/TR/css-writing-modes-3/#replaced-baselines" />
+    <link rel="match" href="inline-block-alignment-orthogonal-vrl-002-ref.xht" />
+    <meta name="assert" content="This test checks the generation of text baseline. When 'writing-mode' of the containing block of an inline-block in orthogonal flow is 'horizontal-tb', then the dominant baseline used is the alphabetical baseline. In this test, the inline-block should be 'sitting' on the alphabetical baseline, therefore creating a straight and unbroken bottom edge." />
+    <meta name="flags" content="ahem" />
+<style type="text/css"><![CDATA[
+@font-face {
+  font-family: Ahem;
+  src: url("../../../fonts/Ahem.ttf");
+}
+]]></style>
+    <style type="text/css"><![CDATA[
+    div#horiz-tb
+    {
+      color: orange;
+      font: 60px/1 Ahem; /* computes to 60px/60px */
+      writing-mode: horizontal-tb;
+    }
+
+    div#inline-block-90
+    {
+      background-color: orange; /* we want the padding-bottom to be painted with orange color */
+      display: inline-block;
+      font-size: 1.5em; /* computes to 90px */
+      /*
+        such padding-bottom declaration is arbitrary and only serve to make the
+        test a bit more challenging.
+      */
+      padding-bottom: 0.5em; /* computes to 45px */
+      text-orientation: mixed;
+      writing-mode: vertical-rl;
+    }
+
+    span.block-descendant
+    {
+      display: block;
+    }
+
+    span#orange30
+    {
+      font-size: 0.5em; /* computes to 30px */
+    }
+    ]]></style>
+
+  </head>
+
+  <body>
+
+  <p>Test passes if the <strong>bottom edge</strong> of an irregular polygon is straight and unbroken.</p>
+
+  <div id="horiz-tb">É<div id="inline-block-90">
+      <span class="block-descendant">L</span>
+      <span class="block-descendant">Z</span>
+    </div><span id="orange30">É</span>
+  </div>
+
+  </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/inline-block-alignment-orthogonal-vrl-004.xht
@@ -0,0 +1,64 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+  <head>
+    <meta http-equiv="content-type" content="text/html; charset=UTF-8" />
+    <title>CSS Writing Modes Test: text baseline alignment of inline-block in orthogonal flow</title>
+    <link rel="author" title="Hajime Shiozawa" href="mailto:hajime.shiozawa@gmail.com" />
+    <link rel="reviewer" title="Gerard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" /> <!-- 2015-06-12 -->
+    <link rel="help" title="4.3 Atomic Inline Baselines" href="http://www.w3.org/TR/css-writing-modes-3/#replaced-baselines" />
+    <link rel="match" href="inline-block-alignment-orthogonal-vrl-002-ref.xht" />
+    <meta name="assert" content="This test checks the generation of text baseline. When 'writing-mode' of the containing block of an inline-block in orthogonal flow is 'horizontal-tb', then the dominant baseline used is the alphabetical baseline. In this test, the inline-block should be 'sitting' on the alphabetical baseline, therefore creating a straight and unbroken bottom edge." />
+    <meta name="flags" content="ahem" />
+<style type="text/css"><![CDATA[
+@font-face {
+  font-family: Ahem;
+  src: url("../../../fonts/Ahem.ttf");
+}
+]]></style>
+    <style type="text/css"><![CDATA[
+    div#horiz-tb
+    {
+      color: orange;
+      font: 60px/1 Ahem; /* computes to 60px/60px */
+      writing-mode: horizontal-tb;
+    }
+
+    div#inline-block-90
+    {
+      background-color: orange; /* we want the padding-bottom to be painted with orange color */
+      display: inline-block;
+      font-size: 1.5em; /* computes to 90px */
+      /*
+        such padding-bottom declaration is arbitrary and only serve to make the
+        test a bit more challenging.
+      */
+      padding-bottom: 0.5em; /* computes to 45px */
+      text-orientation: upright;
+      writing-mode: vertical-rl;
+    }
+
+    span.block-descendant
+    {
+      display: block;
+    }
+
+    span#orange30
+    {
+      font-size: 0.5em; /* computes to 30px */
+    }
+    ]]></style>
+
+  </head>
+
+  <body>
+
+  <p>Test passes if the <strong>bottom edge</strong> of an irregular polygon is straight and unbroken.</p>
+
+  <div id="horiz-tb">É<div id="inline-block-90">
+      <span class="block-descendant">L</span>
+      <span class="block-descendant">Z</span>
+    </div><span id="orange30">É</span>
+  </div>
+
+  </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/inline-block-alignment-slr-009-ref.xht
@@ -0,0 +1,35 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+ <title>CSS Reftest Reference</title>
+ <link rel="author" title="Hajime Shiozawa" href="mailto:hajime.shiozawa@gmail.com" />
+  <link rel="reviewer" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" /> <!-- 2015-12-12 -->
+ <meta name="flags" content="image" />
+ <style type="text/css"><![CDATA[
+ img
+ {
+  padding-left: 252px; /* 60px (padding-left) + 120px (B) + 96px (?) - 24px (?) == 252px */
+  vertical-align: top;
+ }
+
+ img + br + img
+ {
+  padding-left: 60px; /* 60px (padding-left) */
+ }
+
+ img + br + img + br + img
+ {
+  padding-left: 228px; /* 60px (padding-left) + 120px (B) + 96px (?) - 48px == 228px */
+ }
+ ]]></style>
+
+</head>
+
+<body>
+
+<p>Test passes if the <strong>right edge</strong> of an irregular polygon is straight and unbroken.</p>
+
+<div><img src="support/swatch-teal.png" width="24" height="30" alt="Image download support must be enabled" /><br /><img src="support/swatch-teal.png" width="216" height="120" alt="Image download support must be enabled" /><br /><img src="support/swatch-teal.png" width="48" height="60" alt="Image download support must be enabled" /></div>
+
+</body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/inline-block-alignment-slr-009.xht
@@ -0,0 +1,65 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+  <title>CSS Writing Modes Test: inline block alignment - alphabetical alignment with vertical layout</title>
+  <link rel="author" title="Hajime Shiozawa" href="mailto:hajime.shiozawa@gmail.com" />
+  <link rel="reviewer" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" /> <!-- 2015-12-12 -->
+  <link rel="help" title="CSS3 Writing modes: 4.3. Atomic Inline Baseline" href="http://www.w3.org/TR/css-writing-modes-3/#replaced-baselines" />
+  <link rel="help" title="CSS2.1 9.2.2 Inline-level elements and inline boxes" href="http://www.w3.org/TR/CSS21/visuren.html#inline-boxes" />
+  <link rel="match" href="inline-block-alignment-slr-009-ref.xht" />
+  <meta name="assert" content="This test checks the generation of inline-block baseline. When 'writing-mode' is 'sideways-lr', then the alphabetic baseline is used as the dominant baseline." />
+  <meta name="flags" content="ahem" />
+<style type="text/css"><![CDATA[
+@font-face {
+  font-family: Ahem;
+  src: url("../../../fonts/Ahem.ttf");
+}
+]]></style>
+  <style type="text/css"><![CDATA[
+    div#slr
+  {
+    color: teal;
+    font: 60px/1 Ahem; /* computes to 60px/60px */
+    writing-mode: sideways-lr;
+  }
+
+  div#inline-block
+  {
+    display: inline-block;
+    padding-left: 0.5em; /* computes to 60px */
+    font-size: 2em; /* computes to 120px */
+    /*
+      such padding-left declaration is arbitrary and only serve to make the
+      test a bit more challenging.
+    */
+  }
+
+  span.block-descendant
+  {
+    display: block;
+  }
+
+  span#fuchsia30
+  {
+    padding-right: 4em; /* computes to 120px */
+    font-size: 0.5em; /* computes to 30px */
+    /*
+      such padding-right declaration is arbitrary and only serve to make the
+      test a bit more challenging.
+    */
+  }
+  ]]></style>
+
+</head>
+
+<body>
+
+<p>Test passes if the <strong>right edge</strong> of an irregular polygon is straight and unbroken.</p>
+
+<div id="slr">É<div id="inline-block">
+  <span class="block-descendant">B</span>
+  <span class="block-descendant last-line-box">É</span>
+</div><span id="fuchsia30">É</span></div>
+
+</body>
+</html>
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/inline-block-alignment-srl-008.xht
@@ -0,0 +1,65 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+  <head>
+    <title>CSS Writing Modes Test: inline block alignment - alphabetical alignment with vertical layout</title>
+    <link rel="author" title="Hajime Shiozawa" href="mailto:hajime.shiozawa@gmail.com" />
+    <link rel="reviewer" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" /> <!-- 2015-12-06 -->
+    <link rel="help" title="CSS3 Writing modes: 4.3. Atomic Inline Baseline" href="http://www.w3.org/TR/css-writing-modes-3/#replaced-baselines" />
+    <link rel="help" title="CSS2.1 9.2.2 Inline-level elements and inline boxes" href="http://www.w3.org/TR/CSS21/visuren.html#inline-boxes" />
+    <link rel="match" href="inline-block-alignment-006-ref.xht" />
+    <meta name="assert" content="This test checks the generation of inline-block baseline. When 'writing-mode' is 'sideways-rl', then the alphabetic baseline is used as the dominant baseline." />
+    <meta name="flags" content="ahem" />
+<style type="text/css"><![CDATA[
+@font-face {
+  font-family: Ahem;
+  src: url("../../../fonts/Ahem.ttf");
+}
+]]></style>
+    <style type="text/css"><![CDATA[
+    div#srl
+    {
+      color: fuchsia;
+      font: 60px/1 Ahem; /* computes to 60px/60px */
+      writing-mode: sideways-rl;
+    }
+
+    div#inline-block
+    {
+      display: inline-block;
+      padding-left: 0.5em; /* computes to 60px */
+      font-size: 2em; /* computes to 120px */
+      /*
+        such padding-left declaration is arbitrary and only serve to make the
+        test a bit more challenging.
+      */
+    }
+
+    span.block-descendant
+    {
+      display: block;
+    }
+
+    span#fuchsia30
+    {
+      padding-right: 4em; /* computes to 120px */
+      font-size: 0.5em; /* computes to 30px */
+      /*
+        such padding-right declaration is arbitrary and only serve to make the
+        test a bit more challenging.
+      */
+    }
+    ]]></style>
+
+  </head>
+
+  <body>
+
+  <p>Test passes if the <strong>left edge</strong> of an irregular polygon is straight and unbroken.</p>
+
+  <div id="srl">É<div id="inline-block">
+    <span class="block-descendant">B</span>
+    <span class="block-descendant last-line-box">É</span>
+  </div><span id="fuchsia30">É</span></div>
+
+  </body>
+</html>
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/inline-replaced-vlr-003.xht
@@ -0,0 +1,34 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Writing Modes Test: inline replaced element and 'vertical-lr'</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+  <link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#writing-mode" title="3.1 Block Flow Direction: the writing-mode property" />
+  <link rel="match" href="inline-replaced-vrl-002-ref.xht" />
+
+  <meta content="image" name="flags" />
+  <meta content="This test checks that the content of an inline replaced element does not rotate due to the writing mode." name="assert" />
+
+  <style type="text/css"><![CDATA[
+  div
+    {
+      height: 7em;
+      writing-mode: vertical-lr;
+    }
+
+  /* cat.png has an intrinsic height of 99px and an intrinsic width of 98px */
+  ]]></style>
+ </head>
+
+ <body>
+
+  <p>Test passes if there is a cat and if the <strong>cat is not rotated</strong>.</p>
+
+  <div><img src="support/cat.png" alt="Image download support must be enabled" /></div>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/inline-replaced-vlr-005.xht
@@ -0,0 +1,41 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Writing Modes Test: inline replaced element and 'vertical-lr' (advanced)</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+  <link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#replaced-baselines" title="4.3 Atomic Inline Baselines" />
+  <link rel="match" href="inline-replaced-vrl-004-ref.xht" />
+
+  <meta content="ahem image" name="flags" />
+  <meta content="This test checks that, while the content of inline replaced elements do not rotate in vertical writing mode, they are nevertheless laid out from top to bottom (inline base direction) in a line box and their baseline-alignment is central (not alphabetic) and then the following lines boxes (line box direction within a block container) are ordered from left to right." name="assert" />
+
+<style type="text/css"><![CDATA[
+@font-face {
+  font-family: Ahem;
+  src: url("../../../fonts/Ahem.ttf");
+}
+]]></style>
+  <style type="text/css"><![CDATA[
+  div
+    {
+      font: 100px/1 Ahem; /* computes to 100px/100px */
+      height: 2em;
+      writing-mode: vertical-lr;
+    }
+  ]]></style>
+ </head>
+
+ <body>
+
+  <p>Test passes if there is an unbroken drawing of a yin-yang (&#x262F;) symbol.</p>
+
+  <div id="wrapper">
+    <img src="support/test-tl.png" alt="Image download support must be enabled" /><img src="support/test-bl.png" alt="Image download support must be enabled" /><img src="support/test-tr.png" alt="Image download support must be enabled" /><img src="support/test-br.png" alt="Image download support must be enabled" />
+  </div>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/inline-replaced-vrl-002-ref.xht
@@ -0,0 +1,19 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+ <head>
+  <title>CSS Reftest Reference</title>
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" /> <!-- 2015-01-16 -->
+
+  <meta name="flags" content="image" />
+  <style type="text/css"><![CDATA[
+  img { vertical-align: top; }
+  ]]></style>
+ </head>
+ <body>
+
+  <p>Test passes if there is a cat and if the <strong>cat is not rotated</strong>.</p>
+
+  <div><img id="cat" src="support/cat.png" alt="Image download support must be enabled" /></div>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/inline-replaced-vrl-002.xht
@@ -0,0 +1,34 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Writing Modes Test: inline replaced element and 'vertical-rl'</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+  <link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#writing-mode" title="3.1 Block Flow Direction: the writing-mode property" />
+  <link rel="match" href="inline-replaced-vrl-002-ref.xht" />
+
+  <meta content="image" name="flags" />
+  <meta content="This test checks that the content of an inline replaced element does not rotate due to the writing mode." name="assert" />
+
+  <style type="text/css"><![CDATA[
+  div
+    {
+      height: 7em;
+      writing-mode: vertical-rl;
+   }
+
+  /* cat.png has an intrinsic height of 99px and an intrinsic width of 98px */
+  ]]></style>
+ </head>
+
+ <body>
+
+  <p>Test passes if there is a cat and if the <strong>cat is not rotated</strong>.</p>
+
+  <div><img src="support/cat.png" alt="Image download support must be enabled" /></div>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/inline-replaced-vrl-004-ref.xht
@@ -0,0 +1,30 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+ <head>
+  <title>CSS Reftest Reference</title>
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" /> <!-- 2015-01-16 -->
+
+  <meta name="flags" content="image" />
+  <style type="text/css"><![CDATA[
+  div
+    {
+      height: 200px;
+      width: 200px;
+    }
+
+  img
+    {
+      vertical-align: top;
+    }
+  ]]></style>
+ </head>
+ <body>
+
+  <p>Test passes if there is an unbroken drawing of a yin-yang (&#x262F;) symbol.</p>
+
+  <div>
+    <img src="support/test-tl.png" alt="Image download support must be enabled" /><img src="support/test-tr.png" alt="Image download support must be enabled" /><img src="support/test-bl.png" alt="Image download support must be enabled" /><img src="support/test-br.png" alt="Image download support must be enabled" />
+  </div>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/inline-replaced-vrl-004.xht
@@ -0,0 +1,41 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Writing Modes Test: inline replaced element and 'vertical-rl' (advanced)</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+  <link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#replaced-baselines" title="4.3 Atomic Inline Baselines" />
+  <link rel="match" href="inline-replaced-vrl-004-ref.xht" />
+
+  <meta content="ahem image" name="flags" />
+  <meta content="This test checks that, while the content of inline replaced elements do not rotate in vertical writing mode, they are nevertheless laid out from top to bottom (inline base direction) in a line box and their baseline-alignment is central (not alphabetic) and then the following lines boxes (line box direction within a block container) are ordered from right to left." name="assert" />
+
+<style type="text/css"><![CDATA[
+@font-face {
+  font-family: Ahem;
+  src: url("../../../fonts/Ahem.ttf");
+}
+]]></style>
+  <style type="text/css"><![CDATA[
+  div
+    {
+      font: 100px/1 Ahem; /* computes to 100px/100px */
+      height: 2em;
+      writing-mode: vertical-rl;
+    }
+  ]]></style>
+ </head>
+
+ <body>
+
+  <p>Test passes if there is an unbroken drawing of a yin-yang (&#x262F;) symbol.</p>
+
+  <div>
+    <img src="support/test-tr.png" alt="Image download support must be enabled" /><img src="support/test-br.png" alt="Image download support must be enabled" /><img src="support/test-tl.png" alt="Image download support must be enabled" /><img src="support/test-bl.png" alt="Image download support must be enabled" />
+  </div>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/inline-table-alignment-002-ref.xht
@@ -0,0 +1,48 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+  <title>CSS Reftest Reference</title>
+  <link rel="author" title="Hajime Shiozawa" href="mailto:hajime.shiozawa@gmail.com" />
+  <link rel="reviewer" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" /> <!-- 2015-08-13 -->
+  <meta name="flags" content="image" />
+  <style type="text/css"><![CDATA[
+    img
+    {
+      vertical-align: top;
+    }
+
+    img
+    {
+      padding-left: 210px; /* 60 px (padding-left) + 120px (blue box width) + 30px (the position difference of box) */
+    }
+
+    img + br + img
+    {
+      padding-left: 60px; /* 60 px (padding-left) */
+    }
+
+    img + br + img + img
+    {
+      padding-left: 0;
+    }
+
+    img + br + img + img + br + img
+    {
+      padding-left: 225px; /* 60 px (padding-left) + 120px (blue box width) + 45px (the position difference of box)
+    }
+  ]]></style>
+
+</head>
+
+<body>
+
+<p>Test passes if 2 orange squares are centered with respect to a blue square.</p>
+
+<div>
+   <img src="support/swatch-orange.png" width="60" height="60" alt="Image download support must be enabled" /><br /><!--
+--><img src="support/swatch-yellow.png" width="120" height="120" alt="Image download support must be enabled" /><!--
+--><img src="support/swatch-blue.png" width="120" height="120" alt="Image download support must be enabled" /><br /><!--
+--><img src="support/swatch-orange.png" width="30" height="30" alt="Image download support must be enabled" /></div>
+
+</body>
+</html>
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/inline-table-alignment-002.xht
@@ -0,0 +1,76 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+  <head>
+    <title>CSS Writing Modes Test: inline-table alignment - central alignment with vertical layout</title>
+    <link rel="author" title="Hajime Shiozawa" href="mailto:hajime.shiozawa@gmail.com" />
+    <link rel="reviewer" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" /> <!-- 2015-08-13 -->
+    <link rel="help" title="CSS3 Writing modes: 4.3. Atomic Inline Baseline" href="http://www.w3.org/TR/css-writing-modes-3/#replaced-baselines" />
+    <link rel="help" title="10.8.1 Leading and half-leading" href="http://www.w3.org/TR/CSS21/visudet.html#leading" />
+    <link rel="match" href="inline-table-alignment-002-ref.xht" />
+    <meta name="assert" content="This test checks the generation of inline-table baseline. When 'writing-mode' is 'vertical-rl' and when 'text-orientation' is 'mixed', then the central baseline is used as the dominant baseline." />
+    <meta name="flags" content="ahem" />
+<style type="text/css"><![CDATA[
+@font-face {
+  font-family: Ahem;
+  src: url("../../../fonts/Ahem.ttf");
+}
+]]></style>
+    <style type="text/css"><![CDATA[
+    div#rl-mixed
+    {
+      color: orange;
+      font: 60px/1 Ahem; /* computes to 60px/60px */
+      writing-mode: vertical-rl;
+      text-orientation: mixed;
+    }
+
+    div#inline-table
+    {
+      display: inline-table;
+      padding-left: 0.5em; /* computes to 60px */
+      font-size: 2em; /* computes to 120px */
+      /*
+        such padding-left declaration is arbitrary and only serve to make the
+        test a bit more challenging.
+      */
+    }
+
+    span.row
+    {
+      display: table-row;
+    }
+
+    span#first
+    {
+      color: blue;
+    }
+
+    span#last
+    {
+      color: yellow;
+    }
+
+    span#orange30
+    {
+      padding-right: 4em; /* computes to 120px */
+      font-size: 0.5em; /* computes to 30px */
+      /*
+        such padding-right declaration is arbitrary and only serve to make the
+        test a bit more challenging.
+      */
+    }
+    ]]></style>
+
+  </head>
+
+  <body>
+
+  <p>Test passes if 2 orange squares are centered with respect to a blue square.</p>
+
+  <div id="rl-mixed">A<div id="inline-table">
+    <span class="row" id="first">F</span>
+    <span class="row" id="last">L</span>
+  </div><span id="orange30">O</span></div>
+
+  </body>
+</html>
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/inline-table-alignment-003-ref.xht
@@ -0,0 +1,48 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+  <title>CSS Reftest Reference</title>
+  <link rel="author" title="Hajime Shiozawa" href="mailto:hajime.shiozawa@gmail.com" />
+  <link rel="reviewer" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" /> <!-- 2015-08-13 -->
+  <meta name="flags" content="image" />
+  <style type="text/css"><![CDATA[
+    img
+    {
+      vertical-align: top;
+    }
+
+    img
+    {
+      padding-left: 90px; /* 60 px (padding-left) + 30px (the position difference of box) */
+    }
+
+    img + br + img
+    {
+      padding-left: 60px; /* 60 px (padding-left) */
+    }
+
+    img + br + img + img
+    {
+      padding-left: 0;
+    }
+
+    img + br + img + img + br + img
+    {
+      padding-left: 105px; /* 60 px (padding-left) + 45px (the position difference of box)
+    }
+  ]]></style>
+
+</head>
+
+<body>
+
+<p>Test passes if 2 orange squares are centered with respect to a blue square.</p>
+
+<div>
+   <img src="support/swatch-orange.png" width="60" height="60" alt="Image download support must be enabled" /><br /><!--
+--><img src="support/swatch-blue.png" width="120" height="120" alt="Image download support must be enabled" /><!--
+--><img src="support/swatch-yellow.png" width="120" height="120" alt="Image download support must be enabled" /><br /><!--
+--><img src="support/swatch-orange.png" width="30" height="30" alt="Image download support must be enabled" /></div>
+
+</body>
+</html>
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/inline-table-alignment-003.xht
@@ -0,0 +1,76 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+  <head>
+    <title>CSS Writing Modes Test: inline-table alignment - central alignment with vertical layout</title>
+    <link rel="author" title="Hajime Shiozawa" href="mailto:hajime.shiozawa@gmail.com" />
+    <link rel="reviewer" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" /> <!-- 2015-08-13 -->
+    <link rel="help" title="CSS3 Writing modes: 4.3. Atomic Inline Baseline" href="http://www.w3.org/TR/css-writing-modes-3/#replaced-baselines" />
+    <link rel="help" title="10.8.1 Leading and half-leading" href="http://www.w3.org/TR/CSS21/visudet.html#leading" />
+    <link rel="match" href="inline-table-alignment-003-ref.xht" />
+    <meta name="assert" content="This test checks the generation of inline-table baseline. When 'writing-mode' is 'vertical-lr' and when 'text-orientation' is 'mixed', then the central baseline is used as the dominant baseline." />
+    <meta name="flags" content="ahem" />
+<style type="text/css"><![CDATA[
+@font-face {
+  font-family: Ahem;
+  src: url("../../../fonts/Ahem.ttf");
+}
+]]></style>
+    <style type="text/css"><![CDATA[
+    div#lr-mixed
+    {
+      color: orange;
+      font: 60px/1 Ahem; /* computes to 60px/60px */
+      writing-mode: vertical-lr;
+      text-orientation: mixed;
+    }
+
+    div#inline-table
+    {
+      display: inline-table;
+      padding-left: 0.5em; /* computes to 60px */
+      font-size: 2em; /* computes to 120px */
+      /*
+        such padding-left declaration is arbitrary and only serve to make the
+        test a bit more challenging.
+      */
+    }
+
+    span.row
+    {
+      display: table-row;
+    }
+
+    span#first
+    {
+      color: blue;
+    }
+
+    span#last
+    {
+      color: yellow;
+    }
+
+    span#orange30
+    {
+      padding-right: 4em; /* computes to 120px */
+      font-size: 0.5em; /* computes to 30px */
+      /*
+        such padding-right declaration is arbitrary and only serve to make the
+        test a bit more challenging.
+      */
+    }
+    ]]></style>
+
+  </head>
+
+  <body>
+
+  <p>Test passes if 2 orange squares are centered with respect to a blue square.</p>
+
+  <div id="lr-mixed">A<div id="inline-table">
+    <span class="row" id="first">F</span>
+    <span class="row" id="last">L</span>
+  </div><span id="orange30">O</span></div>
+
+  </body>
+</html>
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/inline-table-alignment-004.xht
@@ -0,0 +1,76 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+  <head>
+    <title>CSS Writing Modes Test: inline-table alignment - central alignment with vertical layout</title>
+    <link rel="author" title="Hajime Shiozawa" href="mailto:hajime.shiozawa@gmail.com" />
+    <link rel="reviewer" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" /> <!-- 2015-08-13 -->
+    <link rel="help" title="CSS3 Writing modes: 4.3. Atomic Inline Baseline" href="http://www.w3.org/TR/css-writing-modes-3/#replaced-baselines" />
+    <link rel="help" title="10.8.1 Leading and half-leading" href="http://www.w3.org/TR/CSS21/visudet.html#leading" />
+    <link rel="match" href="inline-table-alignment-002-ref.xht" />
+    <meta name="assert" content="This test checks the generation of inline-table baseline. When 'writing-mode' is 'vertical-rl' and when 'text-orientation' is 'upright', then the central baseline is used as the dominant baseline." />
+    <meta name="flags" content="ahem" />
+<style type="text/css"><![CDATA[
+@font-face {
+  font-family: Ahem;
+  src: url("../../../fonts/Ahem.ttf");
+}
+]]></style>
+    <style type="text/css"><![CDATA[
+    div#rl-upright
+    {
+      color: orange;
+      font: 60px/1 Ahem; /* computes to 60px/60px */
+      writing-mode: vertical-rl;
+      text-orientation: upright;
+    }
+
+    div#inline-table
+    {
+      display: inline-table;
+      padding-left: 0.5em; /* computes to 60px */
+      font-size: 2em; /* computes to 120px */
+      /*
+        such padding-left declaration is arbitrary and only serve to make the
+        test a bit more challenging.
+      */
+    }
+
+    span.row
+    {
+      display: table-row;
+    }
+
+    span#first
+    {
+      color: blue;
+    }
+
+    span#last
+    {
+      color: yellow;
+    }
+
+    span#orange30
+    {
+      padding-right: 4em; /* computes to 120px */
+      font-size: 0.5em; /* computes to 30px */
+      /*
+        such padding-right declaration is arbitrary and only serve to make the
+        test a bit more challenging.
+      */
+    }
+    ]]></style>
+
+  </head>
+
+  <body>
+
+  <p>Test passes if 2 orange squares are centered with respect to a blue square.</p>
+
+  <div id="rl-upright">A<div id="inline-table">
+    <span class="row" id="first">F</span>
+    <span class="row" id="last">L</span>
+  </div><span id="orange30">O</span></div>
+
+  </body>
+</html>
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/inline-table-alignment-005.xht
@@ -0,0 +1,76 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+  <head>
+    <title>CSS Writing Modes Test: inline-table alignment - central alignment with vertical layout</title>
+    <link rel="author" title="Hajime Shiozawa" href="mailto:hajime.shiozawa@gmail.com" />
+    <link rel="reviewer" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" /> <!-- 2015-08-13 -->
+    <link rel="help" title="CSS3 Writing modes: 4.3. Atomic Inline Baseline" href="http://www.w3.org/TR/css-writing-modes-3/#replaced-baselines" />
+    <link rel="help" title="10.8.1 Leading and half-leading" href="http://www.w3.org/TR/CSS21/visudet.html#leading" />
+    <link rel="match" href="inline-table-alignment-003-ref.xht" />
+    <meta name="assert" content="This test checks the generation of inline-table baseline. When 'writing-mode' is 'vertical-lr' and when 'text-orientation' is 'upright', then the central baseline is used as the dominant baseline." />
+    <meta name="flags" content="ahem" />
+<style type="text/css"><![CDATA[
+@font-face {
+  font-family: Ahem;
+  src: url("../../../fonts/Ahem.ttf");
+}
+]]></style>
+    <style type="text/css"><![CDATA[
+    div#lr-upright
+    {
+      color: orange;
+      font: 60px/1 Ahem; /* computes to 60px/60px */
+      writing-mode: vertical-lr;
+      text-orientation: upright;
+    }
+
+    div#inline-table
+    {
+      display: inline-table;
+      padding-left: 0.5em; /* computes to 60px */
+      font-size: 2em; /* computes to 120px */
+      /*
+        such padding-left declaration is arbitrary and only serve to make the
+        test a bit more challenging.
+      */
+    }
+
+    span.row
+    {
+      display: table-row;
+    }
+
+    span#first
+    {
+      color: blue;
+    }
+
+    span#last
+    {
+      color: yellow;
+    }
+
+    span#orange30
+    {
+      padding-right: 4em; /* computes to 120px */
+      font-size: 0.5em; /* computes to 30px */
+      /*
+        such padding-right declaration is arbitrary and only serve to make the
+        test a bit more challenging.
+      */
+    }
+    ]]></style>
+
+  </head>
+
+  <body>
+
+  <p>Test passes if 2 orange squares are centered with respect to a blue square.</p>
+
+  <div id="lr-upright">A<div id="inline-table">
+    <span class="row" id="first">F</span>
+    <span class="row" id="last">L</span>
+  </div><span id="orange30">O</span></div>
+
+  </body>
+</html>
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/line-box-direction-htb-001.xht
@@ -0,0 +1,44 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Writing Modes Test: horizontal-tb - ordering direction of line boxes</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+  <link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#writing-mode" title="3.1 Block Flow Direction: the writing-mode property" />
+  <link rel="match" href="block-flow-direction-001-ref.xht" />
+
+  <meta content="ahem" name="flags" />
+  <meta content="This test checks that line boxes of a block box in a 'horizontal-tb' writing mode are laid out one after the other, vertically, with the first beginning at the top of the block box; they are ordered from top to bottom meaning that the 1st line box is the topmost one and then the 2nd block is juxtaposed to its bottom, the 3rd block is juxtaposed to the 2nd block on its left-hand side, etc..." name="assert" />
+
+<style type="text/css"><![CDATA[
+@font-face {
+  font-family: Ahem;
+  src: url("../../../fonts/Ahem.ttf");
+}
+]]></style>
+  <style type="text/css"><![CDATA[
+  body
+  {
+  color: yellow;
+  font: 20px/1 Ahem;
+  }
+
+  div
+  {
+  background-color: blue;
+  border: blue solid 1em;
+  width: 19em; /* Each line box has an inline-size of 19em */
+  writing-mode: horizontal-tb;
+  }
+  ]]></style>
+ </head>
+
+ <body>
+
+  <div>AAAA BBBB CCCC DDDD E&nbsp; F G&nbsp; H J&nbsp;&nbsp;&nbsp; L&nbsp;&nbsp; M&nbsp; N Q&nbsp; R S&nbsp;&nbsp;&nbsp; T&nbsp;&nbsp; UUUU VVVV WWWW XXXX Z&nbsp;&nbsp;&nbsp; a&nbsp; b&nbsp;&nbsp;&nbsp; c&nbsp;&nbsp;&nbsp; d e&nbsp;&nbsp;&nbsp; f&nbsp; g&nbsp;&nbsp;&nbsp; h&nbsp;&nbsp;&nbsp; j k&nbsp;&nbsp;&nbsp; m&nbsp; n qqqq rrrr</div>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/line-box-direction-slr-043.xht
@@ -0,0 +1,44 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Writing Modes Test: sideways-lr - ordering direction of line boxes</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+  <link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#writing-mode" title="3.1 Block Flow Direction: the writing-mode property" />
+  <link rel="match" href="block-flow-direction-001-ref.xht" />
+
+  <meta content="ahem" name="flags" />
+  <meta content="This test checks that line boxes in a block box with 'writing-mode' set to 'sideways-lr' are laid out one after the other with the first beginning at the left-hand side of the block box; they are ordered from left to right meaning that the 1st line box is the leftmost one and then the 2nd line box is juxtaposed to the right-hand side of 1st line box, the 3rd line box is juxtaposed to the 2nd line box on its right-hand side, etc... " name="assert" />
+
+<style type="text/css"><![CDATA[
+@font-face {
+  font-family: Ahem;
+  src: url("../../../fonts/Ahem.ttf");
+}
+]]></style>
+  <style type="text/css"><![CDATA[
+  body
+    {
+      color: yellow;
+      font: 20px/1 Ahem;
+    }
+
+  div
+    {
+      background-color: blue;
+      border: blue solid 1em;
+      height: 7em; /* Each line box has an inline-size of 7em */
+      writing-mode: sideways-lr;
+    }
+  ]]></style>
+ </head>
+
+ <body>
+
+  <div>AAAAAAA &nbsp;&nbsp;&nbsp;B &nbsp;C &nbsp;&nbsp;&nbsp;D &nbsp;E &nbsp;&nbsp;&nbsp;FFFF &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; GGGGGGG &nbsp;&nbsp;&nbsp;H &nbsp;J &nbsp;&nbsp;&nbsp;K &nbsp;L MMMMMMM &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; N&nbsp; QQQQ R&nbsp; S&nbsp; T U&nbsp; V&nbsp; W XXXX &nbsp;Y &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; a&nbsp; bbbb c&nbsp; d&nbsp; e f&nbsp; g&nbsp; h jjjj &nbsp;k</div>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/line-box-direction-slr-047.xht
@@ -0,0 +1,45 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Writing Modes Test: 'float: right' and 'sideways-lr' - ordering direction of line boxes</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+  <link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#writing-mode" title="3.1 Block Flow Direction: the writing-mode property" />
+  <link rel="match" href="block-flow-direction-002-ref.xht" />
+
+  <meta content="ahem" name="flags" />
+  <meta content="This test checks that the line boxes of a right-floated box with its 'writing-mode' set to 'sideways-lr' will be ordered from left to right." name="assert" />
+
+<style type="text/css"><![CDATA[
+@font-face {
+  font-family: Ahem;
+  src: url("../../../fonts/Ahem.ttf");
+}
+]]></style>
+  <style type="text/css"><![CDATA[
+  body
+    {
+      color: yellow;
+      font: 20px/1 Ahem;
+    }
+
+  div
+    {
+      background-color: blue;
+      border: blue solid 1em;
+      float: right;
+      height: 7em; /* Each line box has an inline-size of 7em */
+      writing-mode: sideways-lr;
+    }
+  ]]></style>
+ </head>
+
+ <body>
+
+  <div>AAAAAAA &nbsp;&nbsp;&nbsp;B &nbsp;C &nbsp;&nbsp;&nbsp;D &nbsp;E &nbsp;&nbsp;&nbsp;FFFF &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; GGGGGGG &nbsp;&nbsp;&nbsp;H &nbsp;J &nbsp;&nbsp;&nbsp;K &nbsp;L MMMMMMM &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; N&nbsp; QQQQ R&nbsp; S&nbsp; T U&nbsp; V&nbsp; W XXXX &nbsp;Y &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; a&nbsp; bbbb c&nbsp; d&nbsp; e f&nbsp; g&nbsp; h jjjj &nbsp;k</div>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/line-box-direction-slr-048.xht
@@ -0,0 +1,74 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Writing Modes Test: 'float: right' and 'sideways-lr' - ordering direction of line boxes</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+  <link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#writing-mode" title="3.1 Block Flow Direction: the writing-mode property" />
+  <link rel="match" href="block-flow-direction-002-ref.xht" />
+
+  <meta content="ahem" name="flags" />
+  <meta content="This test checks that the line boxes of right-floated boxes with 'writing-mode' set to 'sideways-lr' will be ordered from left to right." name="assert" />
+
+<style type="text/css"><![CDATA[
+@font-face {
+  font-family: Ahem;
+  src: url("../../../fonts/Ahem.ttf");
+}
+]]></style>
+  <style type="text/css"><![CDATA[
+  body
+    {
+      color: yellow;
+      font: 20px/1 Ahem;
+    }
+
+  div.floated-right
+    {
+      background-color: blue;
+      border-bottom: blue solid 1em;
+      border-right: blue solid 1em;
+      border-top: blue solid 1em;
+      float: right;
+      height: 7em; /* Each line box has an inline-size of 7em */
+      writing-mode: sideways-lr;
+    }
+
+  div#left-border
+    {
+      border-left: blue solid 1em;
+    }
+  ]]></style>
+ </head>
+
+ <body>
+
+  <div class="floated-right">
+
+<!-- The right-most "S" --> a&nbsp; bbbb c&nbsp; d&nbsp; e f&nbsp; g&nbsp; h jjjj &nbsp;k
+
+  </div>
+
+  <div class="floated-right">
+
+<!-- The left-most "S" --> N&nbsp; QQQQ R&nbsp; S&nbsp; T U&nbsp; V&nbsp; W XXXX &nbsp;Y
+
+  </div>
+
+  <div class="floated-right">
+
+<!-- The "A" --> GGGGGGG &nbsp;&nbsp;&nbsp;H &nbsp;J &nbsp;&nbsp;&nbsp;K &nbsp;L MMMMMMM
+
+  </div>
+
+  <div class="floated-right" id="left-border">
+
+<!-- The "P" --> AAAAAAA &nbsp;&nbsp;&nbsp;B &nbsp;C &nbsp;&nbsp;&nbsp;D &nbsp;E &nbsp;&nbsp;&nbsp;FFFF
+
+  </div>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/line-box-direction-slr-050.xht
@@ -0,0 +1,46 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Writing Modes Test: position absolute and 'sideways-lr' - ordering direction of line boxes</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+  <link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#writing-mode" title="3.1 Block Flow Direction: the writing-mode property" />
+  <link rel="match" href="block-flow-direction-001-ref.xht" />
+
+  <meta content="ahem" name="flags" />
+  <meta content="This test checks that line boxes of an absolutely positioned box with its 'writing-mode' set to 'sideways-lr' will be ordered from left to right." name="assert" />
+
+<style type="text/css"><![CDATA[
+@font-face {
+  font-family: Ahem;
+  src: url("../../../fonts/Ahem.ttf");
+}
+]]></style>
+  <style type="text/css"><![CDATA[
+  body
+    {
+      color: yellow;
+      font: 20px/1 Ahem;
+    }
+
+  div
+    {
+      background-color: blue;
+      border: blue solid 1em;
+      height: 7em; /* Each line box has an inline-size of 7em */
+      left: auto;
+      position: absolute;
+      writing-mode: sideways-lr;
+    }
+  ]]></style>
+ </head>
+
+ <body>
+
+  <div>AAAAAAA &nbsp;&nbsp;&nbsp;B &nbsp;C &nbsp;&nbsp;&nbsp;D &nbsp;E &nbsp;&nbsp;&nbsp;FFFF &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; GGGGGGG &nbsp;&nbsp;&nbsp;H &nbsp;J &nbsp;&nbsp;&nbsp;K &nbsp;L MMMMMMM &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; N&nbsp; QQQQ R&nbsp; S&nbsp; T U&nbsp; V&nbsp; W XXXX &nbsp;Y &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; a&nbsp; bbbb c&nbsp; d&nbsp; e f&nbsp; g&nbsp; h jjjj &nbsp;k</div>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/line-box-direction-slr-053.xht
@@ -0,0 +1,66 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Writing Modes Test: inline-block and 'sideways-lr' - ordering direction of line boxes</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+  <link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#writing-mode" title="3.1 Block Flow Direction: the writing-mode property" />
+  <link rel="match" href="block-flow-direction-001-ref.xht" />
+
+  <meta content="ahem" name="flags" />
+  <meta content="This test checks that lines boxes of descendant block boxes of an inline-block with its 'writing-mode' set to 'sideways-lr' are ordered from left to right." name="assert" />
+
+<style type="text/css"><![CDATA[
+@font-face {
+  font-family: Ahem;
+  src: url("../../../fonts/Ahem.ttf");
+}
+]]></style>
+  <style type="text/css"><![CDATA[
+  body
+    {
+      color: yellow;
+      font: 20px/1 Ahem;
+    }
+
+  div#inline-block
+    {
+      background-color: blue;
+      border-bottom: blue solid 1em;
+      border-right: blue solid 1em;
+      display: inline-block;
+      height: 8em; /* Each line box has an inline-size of 8em */
+      writing-mode: sideways-lr;
+    }
+
+  span
+    {
+      border-left: blue solid 1em;
+      display: block;
+    }
+  ]]></style>
+ </head>
+
+ <body>
+
+  <div>
+
+    <div id="inline-block">
+
+<!-- The "P" --> <span>AAAAAAA &nbsp;&nbsp;&nbsp;B &nbsp;C &nbsp;&nbsp;&nbsp;D &nbsp;E &nbsp;&nbsp;&nbsp;FFFF </span>
+
+<!-- The "A" --> <span>GGGGGGG &nbsp;&nbsp;&nbsp;H &nbsp;J &nbsp;&nbsp;&nbsp;K &nbsp;L MMMMMMM</span>
+
+<!-- The left-most "S" --> <span>N&nbsp; QQQQ R&nbsp; S&nbsp; T U&nbsp; V&nbsp; W XXXX &nbsp;Y</span>
+
+<!-- The right-most "S" --> <span>a&nbsp; bbbb c&nbsp; d&nbsp; e f&nbsp; g&nbsp; h jjjj &nbsp;k</span>
+
+    </div>
+
+  </div>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/line-box-direction-slr-054.xht
@@ -0,0 +1,107 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Writing Modes Test: inline-block and 'sideways-lr' - ordering direction of line boxes</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+  <link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#writing-mode" title="3.1 Block Flow Direction: the writing-mode property" />
+  <link rel="match" href="block-flow-direction-001-ref.xht" />
+
+  <meta content="ahem" name="flags" />
+  <meta content="This test checks that lines boxes of descendant block boxes of inline-blocks with 'writing-mode' set to 'sideways-lr' are ordered from left to right." name="assert" />
+
+<style type="text/css"><![CDATA[
+@font-face {
+  font-family: Ahem;
+  src: url("../../../fonts/Ahem.ttf");
+}
+]]></style>
+  <style type="text/css"><![CDATA[
+  body
+    {
+      color: yellow;
+      font: 20px/1 Ahem;
+    }
+
+  div.inline-block
+    {
+      background-color: blue;
+      border-bottom: blue solid 1em;
+      border-left: blue solid 1em;
+      display: inline-block;
+      height: 8em;
+      vertical-align: top;
+  /*
+  Why 'vertical-align: top' ?
+  See
+  http://lists.w3.org/Archives/Public/public-css-testsuite/2014Dec/0013.html
+  for explanations
+  */
+      writing-mode: sideways-lr;
+    }
+
+  span
+    {
+      display: block;
+    }
+
+  span#right-border
+    {
+      border-right: blue solid 1em;
+    }
+  ]]></style>
+ </head>
+
+ <body>
+
+  <div>
+
+    <div class="inline-block">
+
+<!-- The 1st left-most line of "P" --> <span>AAAAAAA</span>
+
+<!-- The 2nd left-most line of "P" --> <span>&nbsp;&nbsp;&nbsp;B &nbsp;C</span>
+
+<!-- The 3rd left-most line of "P" --> <span>&nbsp;&nbsp;&nbsp;D &nbsp;E</span>
+
+<!-- The 4th left-most line of "P" --> <span>&nbsp;&nbsp;&nbsp;FFFF</span>
+
+    </div><div class="inline-block">
+
+<!-- The left-most line of "A" --> <span>GGGGGGG</span>
+
+<!-- The 2nd left-most line of "A" --> <span>&nbsp;&nbsp;&nbsp;H &nbsp;J</span>
+
+<!-- The 3rd left-most line of "A" --> <span>&nbsp;&nbsp;&nbsp;K &nbsp;L</span>
+
+<!-- The 4th left-most line of "A" --> <span>MMMMMMM</span>
+
+    </div><div class="inline-block">
+
+<!-- The 1st left-most line of left-most "S" --> <span>N&nbsp; QQQQ</span>
+
+<!-- The 2nd left-most line of left-most "S" --> <span>R&nbsp; S&nbsp; T</span>
+
+<!-- The 3rd left-most line of left-most "S" --> <span>U&nbsp; V&nbsp; W</span>
+
+<!-- The 4th left-most line of left-most "S" --> <span>XXXX &nbsp;Y</span>
+
+    </div><div class="inline-block">
+
+<!-- The left-most line of right-most "S" --> <span>a&nbsp; bbbb</span>
+
+<!-- The 2nd left-most line of right-most "S" --> <span>c&nbsp; d&nbsp; e</span>
+
+<!-- The 3rd left-most line of right-most "S" --> <span>f&nbsp; g&nbsp; h</span>
+
+<!-- The 4th left-most line of right-most "S" --> <span id="right-border">jjjj &nbsp;k</span>
+
+    </div>
+
+  </div>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/line-box-direction-slr-056.xht
@@ -0,0 +1,45 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Writing Modes Test: table-cell and 'sideways-lr' - ordering direction of line boxes</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+  <link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#writing-mode" title="3.1 Block Flow Direction: the writing-mode property" />
+  <link rel="match" href="block-flow-direction-001-ref.xht" />
+
+  <meta content="ahem" name="flags" />
+  <meta content="This test checks that the lines boxes of a table-cell with its 'writing-mode' set to 'sideways-lr' are ordered from left to right." name="assert" />
+
+<style type="text/css"><![CDATA[
+@font-face {
+  font-family: Ahem;
+  src: url("../../../fonts/Ahem.ttf");
+}
+]]></style>
+  <style type="text/css"><![CDATA[
+  body
+    {
+      color: yellow;
+      font: 20px/1 Ahem;
+    }
+
+  div
+    {
+      background-color: blue;
+      border: blue solid 1em;
+      display: table-cell;
+      height: 7em; /* Each line box has an inline-size of 7em */
+      writing-mode: sideways-lr;
+    }
+  ]]></style>
+ </head>
+
+ <body>
+
+  <div>AAAAAAA &nbsp;&nbsp;&nbsp;B &nbsp;C &nbsp;&nbsp;&nbsp;D &nbsp;E &nbsp;&nbsp;&nbsp;FFFF &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; GGGGGGG &nbsp;&nbsp;&nbsp;H &nbsp;J &nbsp;&nbsp;&nbsp;K &nbsp;L MMMMMMM &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; N&nbsp; QQQQ R&nbsp; S&nbsp; T U&nbsp; V&nbsp; W XXXX &nbsp;Y &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; a&nbsp; bbbb c&nbsp; d&nbsp; e f&nbsp; g&nbsp; h jjjj &nbsp;k</div>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/line-box-direction-slr-058.xht
@@ -0,0 +1,45 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Writing Modes Test: table-caption and 'sideways-lr' - ordering direction of line boxes</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+  <link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#writing-mode" title="3.1 Block Flow Direction: the writing-mode property" />
+  <link rel="match" href="block-flow-direction-001-ref.xht" />
+
+  <meta content="ahem" name="flags" />
+  <meta content="This test checks that the lines boxes of a table-caption with its 'writing-mode' set to 'sideways-lr' are ordered from left to right." name="assert" />
+
+<style type="text/css"><![CDATA[
+@font-face {
+  font-family: Ahem;
+  src: url("../../../fonts/Ahem.ttf");
+}
+]]></style>
+  <style type="text/css"><![CDATA[
+  body
+    {
+      color: yellow;
+      font: 20px/1 Ahem;
+    }
+
+  div
+    {
+      background-color: blue;
+      border: blue solid 1em;
+      display: table-caption;
+      height: 7em; /* Each line box has an inline-size of 7em */
+      writing-mode: sideways-lr;
+    }
+  ]]></style>
+ </head>
+
+ <body>
+
+  <div>AAAAAAA &nbsp;&nbsp;&nbsp;B &nbsp;C &nbsp;&nbsp;&nbsp;D &nbsp;E &nbsp;&nbsp;&nbsp;FFFF &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; GGGGGGG &nbsp;&nbsp;&nbsp;H &nbsp;J &nbsp;&nbsp;&nbsp;K &nbsp;L MMMMMMM &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; N&nbsp; QQQQ R&nbsp; S&nbsp; T U&nbsp; V&nbsp; W XXXX &nbsp;Y &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; a&nbsp; bbbb c&nbsp; d&nbsp; e f&nbsp; g&nbsp; h jjjj &nbsp;k</div>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/line-box-direction-slr-060.xht
@@ -0,0 +1,47 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Writing Modes Test: list and 'sideways-lr' - ordering direction of line boxes</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+  <link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#writing-mode" title="3.1 Block Flow Direction: the writing-mode property" />
+  <link rel="match" href="block-flow-direction-001-ref.xht" />
+
+  <meta content="ahem" name="flags" />
+  <meta content="This test checks that line boxes in a block box with 'writing-mode' set to 'sideways-lr' are laid out one after the other with the first beginning at the left-hand side of the block box; they are ordered from left to right meaning that the 1st line box is the leftmost one and then the 2nd line box is juxtaposed to the right-hand side of 1st line box, the 3rd line box is juxtaposed to the 2nd line box on its right-hand side, etc... " name="assert" />
+
+<style type="text/css"><![CDATA[
+@font-face {
+  font-family: Ahem;
+  src: url("../../../fonts/Ahem.ttf");
+}
+]]></style>
+  <style type="text/css"><![CDATA[
+  body
+    {
+      color: yellow;
+      font: 20px/1 Ahem;
+    }
+
+  ul
+    {
+      background-color: blue;
+      border: blue solid 1em;
+      height: 7em; /* Each line box has an inline-size of 7em */
+      list-style: none outside none;
+      margin: 0em;
+      padding-bottom: 0em; /* overriding default padding-end: 40px in several browsers */
+      writing-mode: sideways-lr;
+    }
+  ]]></style>
+ </head>
+
+ <body>
+
+  <ul><li>AAAAAAA &nbsp;&nbsp;&nbsp;B &nbsp;C &nbsp;&nbsp;&nbsp;D &nbsp;E &nbsp;&nbsp;&nbsp;FFFF &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; GGGGGGG &nbsp;&nbsp;&nbsp;H &nbsp;J &nbsp;&nbsp;&nbsp;K &nbsp;L MMMMMMM &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; N&nbsp; QQQQ R&nbsp; S&nbsp; T U&nbsp; V&nbsp; W XXXX &nbsp;Y &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; a&nbsp; bbbb c&nbsp; d&nbsp; e f&nbsp; g&nbsp; h jjjj &nbsp;k</li></ul>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/line-box-direction-srl-042.xht
@@ -0,0 +1,44 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Writing Modes Test: sideways-rl - ordering direction of line boxes</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+  <link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#writing-mode" title="3.1 Block Flow Direction: the writing-mode property" />
+  <link rel="match" href="block-flow-direction-001-ref.xht" />
+
+  <meta content="ahem" name="flags" />
+  <meta content="This test checks that line boxes of a block box in a 'sideways-rl' writing mode are laid out one after the other, leftwardedly, with the first beginning at the rightmost line of the block box; they are ordered from right to left meaning that the 1st line box is the rightmost one and then the 2nd line box is juxtaposed to its left-hand side, the 3rd block is juxtaposed to the 2nd line box on its left-hand side, etc..." name="assert" />
+
+<style type="text/css"><![CDATA[
+@font-face {
+  font-family: Ahem;
+  src: url("../../../fonts/Ahem.ttf");
+}
+]]></style>
+  <style type="text/css"><![CDATA[
+  body
+    {
+      color: yellow;
+      font: 20px/1 Ahem;
+    }
+
+  div
+    {
+      background-color: blue;
+      border: blue solid 1em;
+      height: 7em; /* Each line box has an inline-size of 7em */
+      writing-mode: sideways-rl;
+    }
+  ]]></style>
+ </head>
+
+ <body>
+
+  <div>A&nbsp; BBBB C&nbsp; D&nbsp; E F&nbsp; G&nbsp; H JJJJ&nbsp; K &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; L&nbsp; MMMM Q&nbsp; R&nbsp; S T&nbsp; U&nbsp; V WWWW&nbsp; X &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; YYYYYYY Z&nbsp; a&nbsp;&nbsp; b&nbsp; c&nbsp;&nbsp; ddddddd &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; eeee&nbsp;&nbsp; f&nbsp; g&nbsp;&nbsp; h&nbsp; j&nbsp;&nbsp; kkkkkkk</div>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/line-box-direction-srl-045.xht
@@ -0,0 +1,45 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Writing Modes Test: 'float: left' and 'sideways-rl' - ordering direction of line boxes</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+  <link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#writing-mode" title="3.1 Block Flow Direction: the writing-mode property" />
+  <link rel="match" href="block-flow-direction-001-ref.xht" />
+
+  <meta content="ahem" name="flags" />
+  <meta content="This test checks that the line boxes of a left-floated box with its 'writing-mode' set to 'sideways-rl' will be ordered from right to left." name="assert" />
+
+<style type="text/css"><![CDATA[
+@font-face {
+  font-family: Ahem;
+  src: url("../../../fonts/Ahem.ttf");
+}
+]]></style>
+  <style type="text/css"><![CDATA[
+  body
+    {
+      color: yellow;
+      font: 20px/1 Ahem;
+    }
+
+  div
+    {
+      background-color: blue;
+      border: blue solid 1em;
+      float: left;
+      height: 7em; /* Each line box has an inline-size of 7em */
+      writing-mode: sideways-rl;
+    }
+  ]]></style>
+ </head>
+
+ <body>
+
+  <div>A&nbsp; BBBB C&nbsp; D&nbsp; E F&nbsp; G&nbsp; H JJJJ&nbsp; K &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; L&nbsp; MMMM Q&nbsp; R&nbsp; S T&nbsp; U&nbsp; V WWWW&nbsp; X &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; YYYYYYY Z&nbsp; a&nbsp;&nbsp; b&nbsp; c&nbsp;&nbsp; ddddddd &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; eeee&nbsp;&nbsp; f&nbsp; g&nbsp;&nbsp; h&nbsp; j&nbsp;&nbsp; kkkkkkk</div>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/line-box-direction-srl-046.xht
@@ -0,0 +1,75 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Writing Modes Test: 'float: left' and 'sideways-rl' - ordering direction of line boxes</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+  <link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#writing-mode" title="3.1 Block Flow Direction: the writing-mode property" />
+  <link rel="match" href="block-flow-direction-001-ref.xht" />
+
+  <meta content="ahem" name="flags" />
+  <meta content="This test checks that the line boxes of left-floated boxes with 'writing-mode' set to 'sideways-rl' will be ordered from right to left." name="assert" />
+
+<style type="text/css"><![CDATA[
+@font-face {
+  font-family: Ahem;
+  src: url("../../../fonts/Ahem.ttf");
+}
+]]></style>
+  <style type="text/css"><![CDATA[
+  body
+    {
+      color: yellow;
+      font: 20px/1 Ahem;
+    }
+
+  div.floated-left
+    {
+      background-color: blue;
+      border-bottom: blue solid 1em;
+      border-left: blue solid 1em;
+      border-top: blue solid 1em;
+      float: left;
+      height: 7em; /* Each line box has an inline-size of 7em */
+      writing-mode: sideways-rl;
+    }
+
+  div#right-border
+    {
+      border-right: blue solid 1em;
+    }
+  ]]></style>
+ </head>
+
+ <body>
+
+
+  <div class="floated-left">
+
+<!-- The "P" --> eeee&nbsp;&nbsp; f&nbsp; g&nbsp;&nbsp; h&nbsp; j&nbsp;&nbsp; kkkkkkk
+
+  </div>
+
+  <div class="floated-left">
+
+<!-- The  "A" --> YYYYYYY Z&nbsp; a&nbsp;&nbsp; b&nbsp; c&nbsp;&nbsp; ddddddd
+
+  </div>
+
+  <div class="floated-left">
+
+<!-- The left-most "S" --> L&nbsp; MMMM Q&nbsp; R&nbsp; S T&nbsp; U&nbsp; V WWWW&nbsp; X
+
+  </div>
+
+  <div class="floated-left" id="right-border">
+
+<!-- The right-most "S" --> A&nbsp; BBBB C&nbsp; D&nbsp; E F&nbsp; G&nbsp; H JJJJ&nbsp; K
+
+  </div>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/line-box-direction-srl-049.xht
@@ -0,0 +1,46 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Writing Modes Test: position absolute and 'sideways-rl' - ordering direction of line boxes</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+  <link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#writing-mode" title="3.1 Block Flow Direction: the writing-mode property" />
+  <link rel="match" href="block-flow-direction-001-ref.xht" />
+
+  <meta content="ahem" name="flags" />
+  <meta content="This test checks that line boxes of an absolutely positioned box with its 'writing-mode' set to 'sideways-rl' will be ordered from right to left." name="assert" />
+
+<style type="text/css"><![CDATA[
+@font-face {
+  font-family: Ahem;
+  src: url("../../../fonts/Ahem.ttf");
+}
+]]></style>
+  <style type="text/css"><![CDATA[
+  body
+    {
+      color: yellow;
+      font: 20px/1 Ahem;
+    }
+
+  div
+    {
+      background-color: blue;
+      border: blue solid 1em;
+      height: 7em; /* Each line box has an inline-size of 7em */
+      left: auto;
+      position: absolute;
+      writing-mode: sideways-rl;
+    }
+  ]]></style>
+ </head>
+
+ <body>
+
+  <div>A&nbsp; BBBB C&nbsp; D&nbsp; E F&nbsp; G&nbsp; H JJJJ&nbsp; K &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; L&nbsp; MMMM Q&nbsp; R&nbsp; S T&nbsp; U&nbsp; V WWWW&nbsp; X &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; YYYYYYY Z&nbsp; a&nbsp;&nbsp; b&nbsp; c&nbsp;&nbsp; ddddddd &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; eeee&nbsp;&nbsp; f&nbsp; g&nbsp;&nbsp; h&nbsp; j&nbsp;&nbsp; kkkkkkk</div>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/line-box-direction-srl-051.xht
@@ -0,0 +1,73 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Writing Modes Test: inline-block and 'sideways-rl' - ordering direction of line boxes</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+  <link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#writing-mode" title="3.1 Block Flow Direction: the writing-mode property" />
+  <link rel="match" href="block-flow-direction-001-ref.xht" />
+
+  <meta content="ahem" name="flags" />
+  <meta content="This test checks that lines boxes of descendant block boxes of an inline-block with its 'writing-mode' set to 'sideways-rl' are ordered from right to left." name="assert" />
+
+<style type="text/css"><![CDATA[
+@font-face {
+  font-family: Ahem;
+  src: url("../../../fonts/Ahem.ttf");
+}
+]]></style>
+  <style type="text/css"><![CDATA[
+  body
+    {
+      color: yellow;
+      font: 20px/1 Ahem;
+    }
+
+  div#inline-block
+    {
+      background-color: blue;
+      border-right: blue solid 1em;
+      border-top: blue solid 1em;
+      display: inline-block;
+      height: 8em; /* Each line box has an inline-size of 8em */
+      vertical-align: top;
+  /*
+  Why 'vertical-align: top' ?
+  See
+  http://lists.w3.org/Archives/Public/public-css-testsuite/2014Dec/0013.html
+  for explanations
+  */
+      writing-mode: sideways-rl;
+    }
+
+  span
+    {
+      border-left: blue solid 1em;
+      display: block;
+    }
+  ]]></style>
+ </head>
+
+ <body>
+
+  <div>
+
+    <div id="inline-block">
+
+<!-- The right-most "S" --> <span>A&nbsp; BBBB C&nbsp; D&nbsp; E F&nbsp; G&nbsp; H JJJJ&nbsp; K</span>
+
+<!-- The left-most "S" --> <span>L&nbsp; MMMM Q&nbsp; R&nbsp; S T&nbsp; U&nbsp; V WWWW&nbsp; X</span>
+
+<!-- The "A" --> <span>YYYYYYY Z&nbsp; a&nbsp;&nbsp; b&nbsp; c&nbsp;&nbsp; ddddddd</span>
+
+<!-- The "P" --> <span>eeee&nbsp;&nbsp; f&nbsp; g&nbsp;&nbsp; h&nbsp; j&nbsp;&nbsp; kkkkkkk</span>
+
+    </div>
+
+  </div>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/line-box-direction-srl-052.xht
@@ -0,0 +1,107 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Writing Modes Test: inline-block and 'sideways-rl' - ordering direction of line boxes</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+  <link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#writing-mode" title="3.1 Block Flow Direction: the writing-mode property" />
+  <link rel="match" href="block-flow-direction-001-ref.xht" />
+
+  <meta content="ahem" name="flags" />
+  <meta content="This test checks that lines boxes of descendant block boxes of inline-blocks with 'writing-mode' set to 'sideways-rl' are ordered from right to left." name="assert" />
+
+<style type="text/css"><![CDATA[
+@font-face {
+  font-family: Ahem;
+  src: url("../../../fonts/Ahem.ttf");
+}
+]]></style>
+  <style type="text/css"><![CDATA[
+  body
+    {
+      color: yellow;
+      font: 20px/1 Ahem;
+    }
+
+  div.inline-block
+    {
+      background-color: blue;
+      border-right: blue solid 1em;
+      border-top: blue solid 1em;
+      display: inline-block;
+      height: 8em;
+      vertical-align: top;
+  /*
+  Why 'vertical-align: top' ?
+  See
+  http://lists.w3.org/Archives/Public/public-css-testsuite/2014Dec/0013.html
+  for explanations
+  */
+      writing-mode: sideways-rl;
+    }
+
+  span
+    {
+      display: block;
+    }
+
+  span#left-border
+    {
+      border-left: blue solid 1em;
+    }
+  ]]></style>
+ </head>
+
+ <body>
+
+  <div>
+
+    <div class="inline-block">
+
+<!-- The right-most line of "P" --> <span>eeee&nbsp;&nbsp; </span>
+
+<!-- The 2nd right-most line of "P" --> <span>f&nbsp; g&nbsp;&nbsp; </span>
+
+<!-- The 3rd right-most line of "P" --> <span>h&nbsp; j&nbsp;&nbsp; </span>
+
+<!-- The 4th right-most line of "P" --> <span id="left-border">kkkkkkk</span>
+
+    </div><div class="inline-block">
+
+<!-- The right-most line of "A" --> <span>YYYYYYY</span>
+
+<!-- The 2nd right-most line of "A" --> <span>Z&nbsp; a&nbsp;&nbsp; </span>
+
+<!-- The 3rd right-most line of "A" --> <span>b&nbsp; c&nbsp;&nbsp; </span>
+
+<!-- The 4th right-most line of "A" --> <span>ddddddd</span>
+
+    </div><div class="inline-block">
+
+<!-- The right-most line of left-most "S" --> <span>L&nbsp; MMMM</span>
+
+<!-- The 2nd right-most line of left-most "S" --> <span>Q&nbsp; R&nbsp; S</span>
+
+<!-- The 3rd right-most line of left-most "S" --> <span>T&nbsp; U&nbsp; V</span>
+
+<!-- The 4th right-most line of left-most "S" --> <span>WWWW&nbsp; X</span>
+
+    </div><div class="inline-block">
+
+<!-- The right-most line of right-most "S" --> <span>A&nbsp; BBBB</span>
+
+<!-- The 2nd right-most line of right-most "S" --> <span>C&nbsp; D&nbsp; E</span>
+
+<!-- The 3rd right-most line of right-most "S" --> <span>F&nbsp; G&nbsp; H</span>
+
+<!-- The 4th right-most line of right-most "S" --> <span>JJJJ&nbsp; K</span>
+
+    </div>
+
+  </div>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/line-box-direction-srl-055.xht
@@ -0,0 +1,45 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Writing Modes Test: table-cell and 'sideways-rl' - ordering direction of line boxes</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+  <link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#writing-mode" title="3.1 Block Flow Direction: the writing-mode property" />
+  <link rel="match" href="block-flow-direction-001-ref.xht" />
+
+  <meta content="ahem" name="flags" />
+  <meta content="This test checks that the lines boxes of a table-cell with its 'writing-mode' set to 'sideways-rl' are ordered from right to left." name="assert" />
+
+<style type="text/css"><![CDATA[
+@font-face {
+  font-family: Ahem;
+  src: url("../../../fonts/Ahem.ttf");
+}
+]]></style>
+  <style type="text/css"><![CDATA[
+  body
+    {
+      color: yellow;
+      font: 20px/1 Ahem;
+    }
+
+  div
+    {
+      background-color: blue;
+      border: blue solid 1em;
+      display: table-cell;
+      height: 7em; /* Each line box has an inline-size of 7em */
+      writing-mode: sideways-rl;
+    }
+  ]]></style>
+ </head>
+
+ <body>
+
+  <div>A&nbsp; BBBB C&nbsp; D&nbsp; E F&nbsp; G&nbsp; H JJJJ&nbsp; K &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; L&nbsp; MMMM Q&nbsp; R&nbsp; S T&nbsp; U&nbsp; V WWWW&nbsp; X &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; YYYYYYY Z&nbsp; a&nbsp;&nbsp; b&nbsp; c&nbsp;&nbsp; ddddddd &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; eeee&nbsp;&nbsp; f&nbsp; g&nbsp;&nbsp; h&nbsp; j&nbsp;&nbsp; kkkkkkk</div>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/line-box-direction-srl-057.xht
@@ -0,0 +1,45 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Writing Modes Test: table-caption and 'sideways-rl' - ordering direction of line boxes</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+  <link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#writing-mode" title="3.1 Block Flow Direction: the writing-mode property" />
+  <link rel="match" href="block-flow-direction-001-ref.xht" />
+
+  <meta content="ahem" name="flags" />
+  <meta content="This test checks that the lines boxes of a table-caption with its 'writing-mode' set to 'sideways-rl' are ordered from right to left." name="assert" />
+
+<style type="text/css"><![CDATA[
+@font-face {
+  font-family: Ahem;
+  src: url("../../../fonts/Ahem.ttf");
+}
+]]></style>
+  <style type="text/css"><![CDATA[
+  body
+    {
+      color: yellow;
+      font: 20px/1 Ahem;
+    }
+
+  div
+    {
+      background-color: blue;
+      border: blue solid 1em;
+      display: table-caption;
+      height: 7em; /* Each line box has an inline-size of 7em */
+      writing-mode: sideways-rl;
+    }
+  ]]></style>
+ </head>
+
+ <body>
+
+  <div>A&nbsp; BBBB C&nbsp; D&nbsp; E F&nbsp; G&nbsp; H JJJJ&nbsp; K &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; L&nbsp; MMMM Q&nbsp; R&nbsp; S T&nbsp; U&nbsp; V WWWW&nbsp; X &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; YYYYYYY Z&nbsp; a&nbsp;&nbsp; b&nbsp; c&nbsp;&nbsp; ddddddd &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; eeee&nbsp;&nbsp; f&nbsp; g&nbsp;&nbsp; h&nbsp; j&nbsp;&nbsp; kkkkkkk</div>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/line-box-direction-srl-059.xht
@@ -0,0 +1,47 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Writing Modes Test: list and 'sideways-rl' - ordering direction of line boxes</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+  <link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#writing-mode" title="3.1 Block Flow Direction: the writing-mode property" />
+  <link rel="match" href="block-flow-direction-001-ref.xht" />
+
+  <meta content="ahem" name="flags" />
+  <meta content="This test checks that line boxes of a block box in a 'sideways-rl' writing mode are laid out one after the other, leftwardedly, with the first beginning at the rightmost line of the block box; they are ordered from right to left meaning that the 1st line box is the rightmost one and then the 2nd line box is juxtaposed to its left-hand side, the 3rd block is juxtaposed to the 2nd line box on its left-hand side, etc..." name="assert" />
+
+<style type="text/css"><![CDATA[
+@font-face {
+  font-family: Ahem;
+  src: url("../../../fonts/Ahem.ttf");
+}
+]]></style>
+  <style type="text/css"><![CDATA[
+  body
+    {
+      color: yellow;
+      font: 20px/1 Ahem;
+    }
+
+  ul
+    {
+      background-color: blue;
+      border: blue solid 1em;
+      height: 7em; /* Each line box has an inline-size of 7em */
+      list-style: none outside none;
+      margin: 0em;
+      padding-top: 0em; /* overriding default padding-start: 40px in several browsers */
+      writing-mode: sideways-rl;
+    }
+  ]]></style>
+ </head>
+
+ <body>
+
+  <ul><li>A&nbsp; BBBB C&nbsp; D&nbsp; E F&nbsp; G&nbsp; H JJJJ&nbsp; K &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; L&nbsp; MMMM Q&nbsp; R&nbsp; S T&nbsp; U&nbsp; V WWWW&nbsp; X &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; YYYYYYY Z&nbsp; a&nbsp;&nbsp; b&nbsp; c&nbsp;&nbsp; ddddddd &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; eeee&nbsp;&nbsp; f&nbsp; g&nbsp;&nbsp; h&nbsp; j&nbsp;&nbsp; kkkkkkk</li></ul>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/line-box-direction-vlr-003.xht
@@ -0,0 +1,44 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Writing Modes Test: vertical-lr - ordering direction of line boxes</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+  <link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#writing-mode" title="3.1 Block Flow Direction: the writing-mode property" />
+  <link rel="match" href="block-flow-direction-001-ref.xht" />
+
+  <meta content="ahem" name="flags" />
+  <meta content="This test checks that line boxes in a block box with 'writing-mode' set to 'vertical-lr' are laid out one after the other with the first beginning at the left-hand side of the block box; they are ordered from left to right meaning that the 1st line box is the leftmost one and then the 2nd line box is juxtaposed to the right-hand side of 1st line box, the 3rd line box is juxtaposed to the 2nd line box on its right-hand side, etc... " name="assert" />
+
+<style type="text/css"><![CDATA[
+@font-face {
+  font-family: Ahem;
+  src: url("../../../fonts/Ahem.ttf");
+}
+]]></style>
+  <style type="text/css"><![CDATA[
+  body
+    {
+      color: yellow;
+      font: 20px/1 Ahem;
+    }
+
+  div
+    {
+      background-color: blue;
+      border: blue solid 1em;
+      height: 7em; /* Each line box has an inline-size of 7em */
+      writing-mode: vertical-lr;
+    }
+  ]]></style>
+ </head>
+
+ <body>
+
+  <div>AAAAAAA B&nbsp; C&nbsp;&nbsp; D&nbsp; E&nbsp;&nbsp; FFFF&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; GGGGGGG H&nbsp; J&nbsp;&nbsp; K&nbsp; L&nbsp;&nbsp; MMMMMMM &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; NNNN&nbsp; Q R&nbsp; S&nbsp; T U&nbsp; V&nbsp; W X&nbsp; YYYY &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; aaaa&nbsp; b c&nbsp; d&nbsp; e f&nbsp; g&nbsp; h j&nbsp; kkkk</div>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/line-box-direction-vlr-007.xht
@@ -0,0 +1,45 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Writing Modes Test: 'float: right' and 'vertical-lr' - ordering direction of line boxes</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+  <link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#writing-mode" title="3.1 Block Flow Direction: the writing-mode property" />
+  <link rel="match" href="block-flow-direction-002-ref.xht" />
+
+  <meta content="ahem" name="flags" />
+  <meta content="This test checks that the line boxes of a right-floated box with its 'writing-mode' set to 'vertical-lr' will be ordered from left to right." name="assert" />
+
+<style type="text/css"><![CDATA[
+@font-face {
+  font-family: Ahem;
+  src: url("../../../fonts/Ahem.ttf");
+}
+]]></style>
+  <style type="text/css"><![CDATA[
+  body
+    {
+      color: yellow;
+      font: 20px/1 Ahem;
+    }
+
+  div
+    {
+      background-color: blue;
+      border: blue solid 1em;
+      float: right;
+      height: 7em; /* Each line box has an inline-size of 7em */
+      writing-mode: vertical-lr;
+    }
+  ]]></style>
+ </head>
+
+ <body>
+
+  <div>AAAAAAA B&nbsp; C&nbsp;&nbsp; D&nbsp; E&nbsp;&nbsp; FFFF&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; GGGGGGG H&nbsp; J&nbsp;&nbsp; K&nbsp; L&nbsp;&nbsp; MMMMMMM &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; NNNN&nbsp; Q R&nbsp; S&nbsp; T U&nbsp; V&nbsp; W X&nbsp; YYYY &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; aaaa&nbsp; b c&nbsp; d&nbsp; e f&nbsp; g&nbsp; h j&nbsp; kkkk</div>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/line-box-direction-vlr-008.xht
@@ -0,0 +1,74 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Writing Modes Test: 'float: right' and 'vertical-lr' - ordering direction of line boxes</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+  <link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#writing-mode" title="3.1 Block Flow Direction: the writing-mode property" />
+  <link rel="match" href="block-flow-direction-002-ref.xht" />
+
+  <meta content="ahem" name="flags" />
+  <meta content="This test checks that the line boxes of right-floated boxes with 'writing-mode' set to 'vertical-lr' will be ordered from left to right." name="assert" />
+
+<style type="text/css"><![CDATA[
+@font-face {
+  font-family: Ahem;
+  src: url("../../../fonts/Ahem.ttf");
+}
+]]></style>
+  <style type="text/css"><![CDATA[
+  body
+    {
+      color: yellow;
+      font: 20px/1 Ahem;
+    }
+
+  div.floated-right
+    {
+      background-color: blue;
+      border-bottom: blue solid 1em;
+      border-right: blue solid 1em;
+      border-top: blue solid 1em;
+      float: right;
+      height: 7em; /* Each line box has an inline-size of 7em */
+      writing-mode: vertical-lr;
+    }
+
+  div#left-border
+    {
+      border-left: blue solid 1em;
+    }
+  ]]></style>
+ </head>
+
+ <body>
+
+  <div class="floated-right">
+
+<!-- The right-most "S" --> aaaa&nbsp; b c&nbsp; d&nbsp; e f&nbsp; g&nbsp; h j&nbsp; kkkk
+
+  </div>
+
+  <div class="floated-right">
+
+<!-- The left-most "S" --> NNNN&nbsp; Q R&nbsp; S&nbsp; T U&nbsp; V&nbsp; W X&nbsp; YYYY
+
+  </div>
+
+  <div class="floated-right">
+
+<!-- The "A" --> GGGGGGG H&nbsp; J&nbsp;&nbsp; K&nbsp; L&nbsp;&nbsp; MMMMMMM
+
+  </div>
+
+  <div class="floated-right" id="left-border">
+
+<!-- The "P" --> AAAAAAA B&nbsp; C&nbsp;&nbsp; D&nbsp; E&nbsp;&nbsp; FFFF&nbsp;&nbsp;
+
+  </div>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/line-box-direction-vlr-010.xht
@@ -0,0 +1,46 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Writing Modes Test: position absolute and 'vertical-lr' - ordering direction of line boxes</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+  <link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#writing-mode" title="3.1 Block Flow Direction: the writing-mode property" />
+  <link rel="match" href="block-flow-direction-001-ref.xht" />
+
+  <meta content="ahem" name="flags" />
+  <meta content="This test checks that line boxes of an absolutely positioned box with its 'writing-mode' set to 'vertical-lr' will be ordered from left to right." name="assert" />
+
+<style type="text/css"><![CDATA[
+@font-face {
+  font-family: Ahem;
+  src: url("../../../fonts/Ahem.ttf");
+}
+]]></style>
+  <style type="text/css"><![CDATA[
+  body
+    {
+      color: yellow;
+      font: 20px/1 Ahem;
+    }
+
+  div
+    {
+      background-color: blue;
+      border: blue solid 1em;
+      height: 7em; /* Each line box has an inline-size of 7em */
+      left: auto;
+      position: absolute;
+      writing-mode: vertical-lr;
+    }
+  ]]></style>
+ </head>
+
+ <body>
+
+  <div>AAAAAAA B&nbsp; C&nbsp;&nbsp; D&nbsp; E&nbsp;&nbsp; FFFF&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; GGGGGGG H&nbsp; J&nbsp;&nbsp; K&nbsp; L&nbsp;&nbsp; MMMMMMM &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; NNNN&nbsp; Q R&nbsp; S&nbsp; T U&nbsp; V&nbsp; W X&nbsp; YYYY &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; aaaa&nbsp; b c&nbsp; d&nbsp; e f&nbsp; g&nbsp; h j&nbsp; kkkk</div>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/line-box-direction-vlr-013.xht
@@ -0,0 +1,66 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Writing Modes Test: inline-block and 'vertical-lr' - ordering direction of line boxes</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+  <link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#writing-mode" title="3.1 Block Flow Direction: the writing-mode property" />
+  <link rel="match" href="block-flow-direction-001-ref.xht" />
+
+  <meta content="ahem" name="flags" />
+  <meta content="This test checks that lines boxes of descendant block boxes of an inline-block with its 'writing-mode' set to 'vertical-lr' are ordered from left to right." name="assert" />
+
+<style type="text/css"><![CDATA[
+@font-face {
+  font-family: Ahem;
+  src: url("../../../fonts/Ahem.ttf");
+}
+]]></style>
+  <style type="text/css"><![CDATA[
+  body
+    {
+      color: yellow;
+      font: 20px/1 Ahem;
+    }
+
+  div#inline-block
+    {
+      background-color: blue;
+      border-right: blue solid 1em;
+      border-top: blue solid 1em;
+      display: inline-block;
+      height: 8em; /* Each line box has an inline-size of 8em */
+      writing-mode: vertical-lr;
+    }
+
+  span
+    {
+      border-left: blue solid 1em;
+      display: block;
+    }
+  ]]></style>
+ </head>
+
+ <body>
+
+  <div>
+
+    <div id="inline-block">
+
+<!-- The "P" --> <span>AAAAAAA B&nbsp; C&nbsp;&nbsp; D&nbsp; E&nbsp;&nbsp; FFFF&nbsp;&nbsp; </span>
+
+<!-- The "A" --> <span>GGGGGGG H&nbsp; J&nbsp;&nbsp; K&nbsp; L&nbsp;&nbsp; MMMMMMM</span>
+
+<!-- The left-most "S" --> <span>NNNN&nbsp; Q R&nbsp; S&nbsp; T U&nbsp; V&nbsp; W X&nbsp; YYYY</span>
+
+<!-- The right-most "S" --> <span>aaaa&nbsp; b c&nbsp; d&nbsp; e f&nbsp; g&nbsp; h j&nbsp; kkkk</span>
+
+    </div>
+
+  </div>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/line-box-direction-vlr-014.xht
@@ -0,0 +1,107 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Writing Modes Test: inline-block and 'vertical-lr' - ordering direction of line boxes</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+  <link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#writing-mode" title="3.1 Block Flow Direction: the writing-mode property" />
+  <link rel="match" href="block-flow-direction-001-ref.xht" />
+
+  <meta content="ahem" name="flags" />
+  <meta content="This test checks that lines boxes of descendant block boxes of inline-blocks with 'writing-mode' set to 'vertical-lr' are ordered from left to right." name="assert" />
+
+<style type="text/css"><![CDATA[
+@font-face {
+  font-family: Ahem;
+  src: url("../../../fonts/Ahem.ttf");
+}
+]]></style>
+  <style type="text/css"><![CDATA[
+  body
+    {
+      color: yellow;
+      font: 20px/1 Ahem;
+    }
+
+  div.inline-block
+    {
+      background-color: blue;
+      border-left: blue solid 1em;
+      border-top: blue solid 1em;
+      display: inline-block;
+      height: 8em;
+      vertical-align: top;
+  /*
+  Why 'vertical-align: top' ?
+  See
+  http://lists.w3.org/Archives/Public/public-css-testsuite/2014Dec/0013.html
+  for explanations
+  */
+      writing-mode: vertical-lr;
+    }
+
+  span
+    {
+      display: block;
+    }
+
+  span#right-border
+    {
+      border-right: blue solid 1em;
+    }
+  ]]></style>
+ </head>
+
+ <body>
+
+  <div>
+
+    <div class="inline-block">
+
+<!-- The 1st left-most line of "P" --> <span>AAAAAAA</span>
+
+<!-- The 2nd left-most line of "P" --> <span>B&nbsp; C&nbsp;&nbsp; </span>
+
+<!-- The 3rd left-most line of "P" --> <span>D&nbsp; E&nbsp;&nbsp; </span>
+
+<!-- The 4th left-most line of "P" --> <span>FFFF&nbsp;&nbsp; </span>
+
+    </div><div class="inline-block">
+
+<!-- The left-most line of "A" --> <span>GGGGGGG</span>
+
+<!-- The 2nd left-most line of "A" --> <span>H&nbsp; J&nbsp;&nbsp; </span>
+
+<!-- The 3rd left-most line of "A" --> <span>K&nbsp; L&nbsp;&nbsp; </span>
+
+<!-- The 4th left-most line of "A" --> <span>MMMMMMM</span>
+
+    </div><div class="inline-block">
+
+<!-- The 1st left-most line of left-most "S" --> <span>NNNN&nbsp; Q</span>
+
+<!-- The 2nd left-most line of left-most "S" --> <span>R&nbsp; S&nbsp; T</span>
+
+<!-- The 3rd left-most line of left-most "S" --> <span>U&nbsp; V&nbsp; W</span>
+
+<!-- The 4th left-most line of left-most "S" --> <span>X&nbsp; YYYY</span>
+
+    </div><div class="inline-block">
+
+<!-- The left-most line of right-most "S" --> <span>aaaa&nbsp; b</span>
+
+<!-- The 2nd left-most line of right-most "S" --> <span>c&nbsp; d&nbsp; e</span>
+
+<!-- The 3rd left-most line of right-most "S" --> <span>f&nbsp; g&nbsp; h</span>
+
+<!-- The 4th left-most line of right-most "S" --> <span id="right-border">j&nbsp; kkkk</span>
+
+    </div>
+
+  </div>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/line-box-direction-vlr-016.xht
@@ -0,0 +1,45 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Writing Modes Test: table-cell and 'vertical-lr' - ordering direction of line boxes</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+  <link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#writing-mode" title="3.1 Block Flow Direction: the writing-mode property" />
+  <link rel="match" href="block-flow-direction-001-ref.xht" />
+
+  <meta content="ahem" name="flags" />
+  <meta content="This test checks that the lines boxes of a table-cell with its 'writing-mode' set to 'vertical-lr' are ordered from left to right." name="assert" />
+
+<style type="text/css"><![CDATA[
+@font-face {
+  font-family: Ahem;
+  src: url("../../../fonts/Ahem.ttf");
+}
+]]></style>
+  <style type="text/css"><![CDATA[
+  body
+    {
+      color: yellow;
+      font: 20px/1 Ahem;
+    }
+
+  div
+    {
+      background-color: blue;
+      border: blue solid 1em;
+      display: table-cell;
+      height: 7em; /* Each line box has an inline-size of 7em */
+      writing-mode: vertical-lr;
+    }
+  ]]></style>
+ </head>
+
+ <body>
+
+  <div>AAAAAAA B&nbsp; C&nbsp;&nbsp; D&nbsp; E&nbsp;&nbsp; FFFF&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; GGGGGGG H&nbsp; J&nbsp;&nbsp; K&nbsp; L&nbsp;&nbsp; MMMMMMM &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; NNNN&nbsp; Q R&nbsp; S&nbsp; T U&nbsp; V&nbsp; W X&nbsp; YYYY &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; aaaa&nbsp; b c&nbsp; d&nbsp; e f&nbsp; g&nbsp; h j&nbsp; kkkk</div>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/line-box-direction-vlr-018.xht
@@ -0,0 +1,45 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Writing Modes Test: table-caption and 'vertical-lr' - ordering direction of line boxes</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+  <link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#writing-mode" title="3.1 Block Flow Direction: the writing-mode property" />
+  <link rel="match" href="block-flow-direction-001-ref.xht" />
+
+  <meta content="ahem" name="flags" />
+  <meta content="This test checks that the lines boxes of a table-caption with its 'writing-mode' set to 'vertical-lr' are ordered from left to right." name="assert" />
+
+<style type="text/css"><![CDATA[
+@font-face {
+  font-family: Ahem;
+  src: url("../../../fonts/Ahem.ttf");
+}
+]]></style>
+  <style type="text/css"><![CDATA[
+  body
+    {
+      color: yellow;
+      font: 20px/1 Ahem;
+    }
+
+  div
+    {
+      background-color: blue;
+      border: blue solid 1em;
+      display: table-caption;
+      height: 7em; /* Each line box has an inline-size of 7em */
+      writing-mode: vertical-lr;
+    }
+  ]]></style>
+ </head>
+
+ <body>
+
+  <div>AAAAAAA B&nbsp; C&nbsp;&nbsp; D&nbsp; E&nbsp;&nbsp; FFFF&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; GGGGGGG H&nbsp; J&nbsp;&nbsp; K&nbsp; L&nbsp;&nbsp; MMMMMMM &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; NNNN&nbsp; Q R&nbsp; S&nbsp; T U&nbsp; V&nbsp; W X&nbsp; YYYY &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; aaaa&nbsp; b c&nbsp; d&nbsp; e f&nbsp; g&nbsp; h j&nbsp; kkkk</div>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/line-box-direction-vlr-020.xht
@@ -0,0 +1,47 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Writing Modes Test: list and 'vertical-lr' - ordering direction of line boxes</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+  <link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#writing-mode" title="3.1 Block Flow Direction: the writing-mode property" />
+  <link rel="match" href="block-flow-direction-001-ref.xht" />
+
+  <meta content="ahem" name="flags" />
+  <meta content="This test checks that line boxes in a block box with 'writing-mode' set to 'vertical-lr' are laid out one after the other with the first beginning at the left-hand side of the block box; they are ordered from left to right meaning that the 1st line box is the leftmost one and then the 2nd line box is juxtaposed to the right-hand side of 1st line box, the 3rd line box is juxtaposed to the 2nd line box on its right-hand side, etc... " name="assert" />
+
+<style type="text/css"><![CDATA[
+@font-face {
+  font-family: Ahem;
+  src: url("../../../fonts/Ahem.ttf");
+}
+]]></style>
+  <style type="text/css"><![CDATA[
+  body
+    {
+      color: yellow;
+      font: 20px/1 Ahem;
+    }
+
+  ul
+    {
+      background-color: blue;
+      border: blue solid 1em;
+      height: 7em; /* Each line box has an inline-size of 7em */
+      list-style: none outside none;
+      margin: 0em;
+      padding-top: 0em; /* overriding default padding-start: 40px in several browsers */
+      writing-mode: vertical-lr;
+    }
+  ]]></style>
+ </head>
+
+ <body>
+
+  <ul><li>AAAAAAA B&nbsp; C&nbsp;&nbsp; D&nbsp; E&nbsp;&nbsp; FFFF&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; GGGGGGG H&nbsp; J&nbsp;&nbsp; K&nbsp; L&nbsp;&nbsp; MMMMMMM &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; NNNN&nbsp; Q R&nbsp; S&nbsp; T U&nbsp; V&nbsp; W X&nbsp; YYYY &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; aaaa&nbsp; b c&nbsp; d&nbsp; e f&nbsp; g&nbsp; h j&nbsp; kkkk</li></ul>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/line-box-direction-vrl-002.xht
@@ -0,0 +1,44 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Writing Modes Test: vertical-rl - ordering direction of line boxes</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+  <link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#writing-mode" title="3.1 Block Flow Direction: the writing-mode property" />
+  <link rel="match" href="block-flow-direction-001-ref.xht" />
+
+  <meta content="ahem" name="flags" />
+  <meta content="This test checks that line boxes of a block box in a 'vertical-rl' writing mode are laid out one after the other, leftwardedly, with the first beginning at the rightmost line of the block box; they are ordered from right to left meaning that the 1st line box is the rightmost one and then the 2nd line box is juxtaposed to its left-hand side, the 3rd block is juxtaposed to the 2nd line box on its left-hand side, etc..." name="assert" />
+
+<style type="text/css"><![CDATA[
+@font-face {
+  font-family: Ahem;
+  src: url("../../../fonts/Ahem.ttf");
+}
+]]></style>
+  <style type="text/css"><![CDATA[
+  body
+    {
+      color: yellow;
+      font: 20px/1 Ahem;
+    }
+
+  div
+    {
+      background-color: blue;
+      border: blue solid 1em;
+      height: 7em; /* Each line box has an inline-size of 7em */
+      writing-mode: vertical-rl;
+    }
+  ]]></style>
+ </head>
+
+ <body>
+
+  <div>A&nbsp; BBBB C&nbsp; D&nbsp; E F&nbsp; G&nbsp; H JJJJ&nbsp; K &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; L&nbsp; MMMM Q&nbsp; R&nbsp; S T&nbsp; U&nbsp; V WWWW&nbsp; X &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; YYYYYYY Z&nbsp; a&nbsp;&nbsp; b&nbsp; c&nbsp;&nbsp; ddddddd &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; eeee&nbsp;&nbsp; f&nbsp; g&nbsp;&nbsp; h&nbsp; j&nbsp;&nbsp; kkkkkkk</div>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/line-box-direction-vrl-005.xht
@@ -0,0 +1,45 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Writing Modes Test: 'float: left' and 'vertical-rl' - ordering direction of line boxes</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+  <link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#writing-mode" title="3.1 Block Flow Direction: the writing-mode property" />
+  <link rel="match" href="block-flow-direction-001-ref.xht" />
+
+  <meta content="ahem" name="flags" />
+  <meta content="This test checks that the line boxes of a left-floated box with its 'writing-mode' set to 'vertical-rl' will be ordered from right to left." name="assert" />
+
+<style type="text/css"><![CDATA[
+@font-face {
+  font-family: Ahem;
+  src: url("../../../fonts/Ahem.ttf");
+}
+]]></style>
+  <style type="text/css"><![CDATA[
+  body
+    {
+      color: yellow;
+      font: 20px/1 Ahem;
+    }
+
+  div
+    {
+      background-color: blue;
+      border: blue solid 1em;
+      float: left;
+      height: 7em; /* Each line box has an inline-size of 7em */
+      writing-mode: vertical-rl;
+    }
+  ]]></style>
+ </head>
+
+ <body>
+
+  <div>A&nbsp; BBBB C&nbsp; D&nbsp; E F&nbsp; G&nbsp; H JJJJ&nbsp; K &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; L&nbsp; MMMM Q&nbsp; R&nbsp; S T&nbsp; U&nbsp; V WWWW&nbsp; X &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; YYYYYYY Z&nbsp; a&nbsp;&nbsp; b&nbsp; c&nbsp;&nbsp; ddddddd &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; eeee&nbsp;&nbsp; f&nbsp; g&nbsp;&nbsp; h&nbsp; j&nbsp;&nbsp; kkkkkkk</div>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/line-box-direction-vrl-006.xht
@@ -0,0 +1,75 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Writing Modes Test: 'float: left' and 'vertical-rl' - ordering direction of line boxes</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+  <link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#writing-mode" title="3.1 Block Flow Direction: the writing-mode property" />
+  <link rel="match" href="block-flow-direction-001-ref.xht" />
+
+  <meta content="ahem" name="flags" />
+  <meta content="This test checks that the line boxes of left-floated boxes with 'writing-mode' set to 'vertical-rl' will be ordered from right to left." name="assert" />
+
+<style type="text/css"><![CDATA[
+@font-face {
+  font-family: Ahem;
+  src: url("../../../fonts/Ahem.ttf");
+}
+]]></style>
+  <style type="text/css"><![CDATA[
+  body
+    {
+      color: yellow;
+      font: 20px/1 Ahem;
+    }
+
+  div.floated-left
+    {
+      background-color: blue;
+      border-bottom: blue solid 1em;
+      border-left: blue solid 1em;
+      border-top: blue solid 1em;
+      float: left;
+      height: 7em; /* Each line box has an inline-size of 7em */
+      writing-mode: vertical-rl;
+    }
+
+  div#right-border
+    {
+      border-right: blue solid 1em;
+    }
+  ]]></style>
+ </head>
+
+ <body>
+
+
+  <div class="floated-left">
+
+<!-- The "P" --> eeee&nbsp;&nbsp; f&nbsp; g&nbsp;&nbsp; h&nbsp; j&nbsp;&nbsp; kkkkkkk
+
+  </div>
+
+  <div class="floated-left">
+
+<!-- The  "A" --> YYYYYYY Z&nbsp; a&nbsp;&nbsp; b&nbsp; c&nbsp;&nbsp; ddddddd
+
+  </div>
+
+  <div class="floated-left">
+
+<!-- The left-most "S" --> L&nbsp; MMMM Q&nbsp; R&nbsp; S T&nbsp; U&nbsp; V WWWW&nbsp; X
+
+  </div>
+
+  <div class="floated-left" id="right-border">
+
+<!-- The right-most "S" --> A&nbsp; BBBB C&nbsp; D&nbsp; E F&nbsp; G&nbsp; H JJJJ&nbsp; K
+
+  </div>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/line-box-direction-vrl-009.xht
@@ -0,0 +1,46 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Writing Modes Test: position absolute and 'vertical-rl' - ordering direction of line boxes</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+  <link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#writing-mode" title="3.1 Block Flow Direction: the writing-mode property" />
+  <link rel="match" href="block-flow-direction-001-ref.xht" />
+
+  <meta content="ahem" name="flags" />
+  <meta content="This test checks that line boxes of an absolutely positioned box with its 'writing-mode' set to 'vertical-rl' will be ordered from right to left." name="assert" />
+
+<style type="text/css"><![CDATA[
+@font-face {
+  font-family: Ahem;
+  src: url("../../../fonts/Ahem.ttf");
+}
+]]></style>
+  <style type="text/css"><![CDATA[
+  body
+    {
+      color: yellow;
+      font: 20px/1 Ahem;
+    }
+
+  div
+    {
+      background-color: blue;
+      border: blue solid 1em;
+      height: 7em; /* Each line box has an inline-size of 7em */
+      left: auto;
+      position: absolute;
+      writing-mode: vertical-rl;
+    }
+  ]]></style>
+ </head>
+
+ <body>
+
+  <div>A&nbsp; BBBB C&nbsp; D&nbsp; E F&nbsp; G&nbsp; H JJJJ&nbsp; K &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; L&nbsp; MMMM Q&nbsp; R&nbsp; S T&nbsp; U&nbsp; V WWWW&nbsp; X &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; YYYYYYY Z&nbsp; a&nbsp;&nbsp; b&nbsp; c&nbsp;&nbsp; ddddddd &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; eeee&nbsp;&nbsp; f&nbsp; g&nbsp;&nbsp; h&nbsp; j&nbsp;&nbsp; kkkkkkk</div>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/line-box-direction-vrl-011.xht
@@ -0,0 +1,73 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Writing Modes Test: inline-block and 'vertical-rl' - ordering direction of line boxes</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+  <link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#writing-mode" title="3.1 Block Flow Direction: the writing-mode property" />
+  <link rel="match" href="block-flow-direction-001-ref.xht" />
+
+  <meta content="ahem" name="flags" />
+  <meta content="This test checks that lines boxes of descendant block boxes of an inline-block with its 'writing-mode' set to 'vertical-rl' are ordered from right to left." name="assert" />
+
+<style type="text/css"><![CDATA[
+@font-face {
+  font-family: Ahem;
+  src: url("../../../fonts/Ahem.ttf");
+}
+]]></style>
+  <style type="text/css"><![CDATA[
+  body
+    {
+      color: yellow;
+      font: 20px/1 Ahem;
+    }
+
+  div#inline-block
+    {
+      background-color: blue;
+      border-right: blue solid 1em;
+      border-top: blue solid 1em;
+      display: inline-block;
+      height: 8em; /* Each line box has an inline-size of 8em */
+      vertical-align: top;
+  /*
+  Why 'vertical-align: top' ?
+  See
+  http://lists.w3.org/Archives/Public/public-css-testsuite/2014Dec/0013.html
+  for explanations
+  */
+      writing-mode: vertical-rl;
+    }
+
+  span
+    {
+      border-left: blue solid 1em;
+      display: block;
+    }
+  ]]></style>
+ </head>
+
+ <body>
+
+  <div>
+
+    <div id="inline-block">
+
+<!-- The right-most "S" --> <span>A&nbsp; BBBB C&nbsp; D&nbsp; E F&nbsp; G&nbsp; H JJJJ&nbsp; K</span>
+
+<!-- The left-most "S" --> <span>L&nbsp; MMMM Q&nbsp; R&nbsp; S T&nbsp; U&nbsp; V WWWW&nbsp; X</span>
+
+<!-- The "A" --> <span>YYYYYYY Z&nbsp; a&nbsp;&nbsp; b&nbsp; c&nbsp;&nbsp; ddddddd</span>
+
+<!-- The "P" --> <span>eeee&nbsp;&nbsp; f&nbsp; g&nbsp;&nbsp; h&nbsp; j&nbsp;&nbsp; kkkkkkk</span>
+
+    </div>
+
+  </div>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/line-box-direction-vrl-012.xht
@@ -0,0 +1,107 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Writing Modes Test: inline-block and 'vertical-rl' - ordering direction of line boxes</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+  <link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#writing-mode" title="3.1 Block Flow Direction: the writing-mode property" />
+  <link rel="match" href="block-flow-direction-001-ref.xht" />
+
+  <meta content="ahem" name="flags" />
+  <meta content="This test checks that lines boxes of descendant block boxes of inline-blocks with 'writing-mode' set to 'vertical-rl' are ordered from right to left." name="assert" />
+
+<style type="text/css"><![CDATA[
+@font-face {
+  font-family: Ahem;
+  src: url("../../../fonts/Ahem.ttf");
+}
+]]></style>
+  <style type="text/css"><![CDATA[
+  body
+    {
+      color: yellow;
+      font: 20px/1 Ahem;
+    }
+
+  div.inline-block
+    {
+      background-color: blue;
+      border-right: blue solid 1em;
+      border-top: blue solid 1em;
+      display: inline-block;
+      height: 8em;
+      vertical-align: top;
+  /*
+  Why 'vertical-align: top' ?
+  See
+  http://lists.w3.org/Archives/Public/public-css-testsuite/2014Dec/0013.html
+  for explanations
+  */
+      writing-mode: vertical-rl;
+    }
+
+  span
+    {
+      display: block;
+    }
+
+  span#left-border
+    {
+      border-left: blue solid 1em;
+    }
+  ]]></style>
+ </head>
+
+ <body>
+
+  <div>
+
+    <div class="inline-block">
+
+<!-- The right-most line of "P" --> <span>eeee&nbsp;&nbsp; </span>
+
+<!-- The 2nd right-most line of "P" --> <span>f&nbsp; g&nbsp;&nbsp; </span>
+
+<!-- The 3rd right-most line of "P" --> <span>h&nbsp; j&nbsp;&nbsp; </span>
+
+<!-- The 4th right-most line of "P" --> <span id="left-border">kkkkkkk</span>
+
+    </div><div class="inline-block">
+
+<!-- The right-most line of "A" --> <span>YYYYYYY</span>
+
+<!-- The 2nd right-most line of "A" --> <span>Z&nbsp; a&nbsp;&nbsp; </span>
+
+<!-- The 3rd right-most line of "A" --> <span>b&nbsp; c&nbsp;&nbsp; </span>
+
+<!-- The 4th right-most line of "A" --> <span>ddddddd</span>
+
+    </div><div class="inline-block">
+
+<!-- The right-most line of left-most "S" --> <span>L&nbsp; MMMM</span>
+
+<!-- The 2nd right-most line of left-most "S" --> <span>Q&nbsp; R&nbsp; S</span>
+
+<!-- The 3rd right-most line of left-most "S" --> <span>T&nbsp; U&nbsp; V</span>
+
+<!-- The 4th right-most line of left-most "S" --> <span>WWWW&nbsp; X</span>
+
+    </div><div class="inline-block">
+
+<!-- The right-most line of right-most "S" --> <span>A&nbsp; BBBB</span>
+
+<!-- The 2nd right-most line of right-most "S" --> <span>C&nbsp; D&nbsp; E</span>
+
+<!-- The 3rd right-most line of right-most "S" --> <span>F&nbsp; G&nbsp; H</span>
+
+<!-- The 4th right-most line of right-most "S" --> <span>JJJJ&nbsp; K</span>
+
+    </div>
+
+  </div>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/line-box-direction-vrl-015.xht
@@ -0,0 +1,45 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Writing Modes Test: table-cell and 'vertical-rl' - ordering direction of line boxes</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+  <link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#writing-mode" title="3.1 Block Flow Direction: the writing-mode property" />
+  <link rel="match" href="block-flow-direction-001-ref.xht" />
+
+  <meta content="ahem" name="flags" />
+  <meta content="This test checks that the lines boxes of a table-cell with its 'writing-mode' set to 'vertical-rl' are ordered from right to left." name="assert" />
+
+<style type="text/css"><![CDATA[
+@font-face {
+  font-family: Ahem;
+  src: url("../../../fonts/Ahem.ttf");
+}
+]]></style>
+  <style type="text/css"><![CDATA[
+  body
+    {
+      color: yellow;
+      font: 20px/1 Ahem;
+    }
+
+  div
+    {
+      background-color: blue;
+      border: blue solid 1em;
+      display: table-cell;
+      height: 7em; /* Each line box has an inline-size of 7em */
+      writing-mode: vertical-rl;
+    }
+  ]]></style>
+ </head>
+
+ <body>
+
+  <div>A&nbsp; BBBB C&nbsp; D&nbsp; E F&nbsp; G&nbsp; H JJJJ&nbsp; K &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; L&nbsp; MMMM Q&nbsp; R&nbsp; S T&nbsp; U&nbsp; V WWWW&nbsp; X &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; YYYYYYY Z&nbsp; a&nbsp;&nbsp; b&nbsp; c&nbsp;&nbsp; ddddddd &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; eeee&nbsp;&nbsp; f&nbsp; g&nbsp;&nbsp; h&nbsp; j&nbsp;&nbsp; kkkkkkk</div>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/line-box-direction-vrl-017.xht
@@ -0,0 +1,45 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Writing Modes Test: table-caption and 'vertical-rl' - ordering direction of line boxes</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+  <link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#writing-mode" title="3.1 Block Flow Direction: the writing-mode property" />
+  <link rel="match" href="block-flow-direction-001-ref.xht" />
+
+  <meta content="ahem" name="flags" />
+  <meta content="This test checks that the lines boxes of a table-caption with its 'writing-mode' set to 'vertical-rl' are ordered from right to left." name="assert" />
+
+<style type="text/css"><![CDATA[
+@font-face {
+  font-family: Ahem;
+  src: url("../../../fonts/Ahem.ttf");
+}
+]]></style>
+  <style type="text/css"><![CDATA[
+  body
+    {
+      color: yellow;
+      font: 20px/1 Ahem;
+    }
+
+  div
+    {
+      background-color: blue;
+      border: blue solid 1em;
+      display: table-caption;
+      height: 7em; /* Each line box has an inline-size of 7em */
+      writing-mode: vertical-rl;
+    }
+  ]]></style>
+ </head>
+
+ <body>
+
+  <div>A&nbsp; BBBB C&nbsp; D&nbsp; E F&nbsp; G&nbsp; H JJJJ&nbsp; K &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; L&nbsp; MMMM Q&nbsp; R&nbsp; S T&nbsp; U&nbsp; V WWWW&nbsp; X &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; YYYYYYY Z&nbsp; a&nbsp;&nbsp; b&nbsp; c&nbsp;&nbsp; ddddddd &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; eeee&nbsp;&nbsp; f&nbsp; g&nbsp;&nbsp; h&nbsp; j&nbsp;&nbsp; kkkkkkk</div>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/line-box-direction-vrl-019.xht
@@ -0,0 +1,47 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Writing Modes Test: list and 'vertical-rl' - ordering direction of line boxes</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+  <link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#writing-mode" title="3.1 Block Flow Direction: the writing-mode property" />
+  <link rel="match" href="block-flow-direction-001-ref.xht" />
+
+  <meta content="ahem" name="flags" />
+  <meta content="This test checks that line boxes of a block box in a 'vertical-rl' writing mode are laid out one after the other, leftwardedly, with the first beginning at the rightmost line of the block box; they are ordered from right to left meaning that the 1st line box is the rightmost one and then the 2nd line box is juxtaposed to its left-hand side, the 3rd block is juxtaposed to the 2nd line box on its left-hand side, etc..." name="assert" />
+
+<style type="text/css"><![CDATA[
+@font-face {
+  font-family: Ahem;
+  src: url("../../../fonts/Ahem.ttf");
+}
+]]></style>
+  <style type="text/css"><![CDATA[
+  body
+    {
+      color: yellow;
+      font: 20px/1 Ahem;
+    }
+
+  ul
+    {
+      background-color: blue;
+      border: blue solid 1em;
+      height: 7em; /* Each line box has an inline-size of 7em */
+      list-style: none outside none;
+      margin: 0em;
+      padding-top: 0em; /* overriding default padding-start: 40px in several browsers */
+      writing-mode: vertical-rl;
+    }
+  ]]></style>
+ </head>
+
+ <body>
+
+  <ul><li>A&nbsp; BBBB C&nbsp; D&nbsp; E F&nbsp; G&nbsp; H JJJJ&nbsp; K &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; L&nbsp; MMMM Q&nbsp; R&nbsp; S T&nbsp; U&nbsp; V WWWW&nbsp; X &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; YYYYYYY Z&nbsp; a&nbsp;&nbsp; b&nbsp; c&nbsp;&nbsp; ddddddd &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; eeee&nbsp;&nbsp; f&nbsp; g&nbsp;&nbsp; h&nbsp; j&nbsp;&nbsp; kkkkkkk</li></ul>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/line-box-height-vlr-003-ref.xht
@@ -0,0 +1,38 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Reftest Reference</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+
+  <style type="text/css"><![CDATA[
+  body
+    {
+      margin-left: 32px;
+    }
+
+  div
+    {
+      border: blue solid 2px;
+      font-size: 32px;
+      margin: 1em;
+      writing-mode: vertical-lr;
+      text-orientation: mixed;
+    }
+  ]]></style>
+
+  </head>
+
+  <body>
+
+    <p>Test passes if there are 2 identical blue rectangles with "123456" rotated 90 degrees clockwise. The size of each blue rectangles must be identical and the two "123456" numbers must be enclosed by the two blue borders.</p>
+
+    <div>123456</div>
+
+    <div>123456</div>
+
+  </body>
+</html>
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/line-box-height-vlr-003.xht
@@ -0,0 +1,59 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Writing Modes Test: line box height and border on non-replaced inline box (mixed)</title>
+
+  <!--
+  Test inspired by
+  https://dxr.mozilla.org/mozilla-central/source/layout/reftests/writing-mode/1130907-intrinsic-sizing-2.html
+  -->
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+  <link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#vertical-layout" title="7.1 Principles of Layout in Vertical Writing Modes" />
+  <link rel="help" href="http://www.w3.org/TR/CSS21/visudet.html#line-height" title="10.8.1 Leading and half-leading" />
+  <link rel="match" href="line-box-height-vlr-003-ref.xht" />
+
+  <meta content="" name="flags" />
+  <meta content="This test checks that a line box height does not increase because an inline non-replaced box has a border. In this test, the '34' inline box and the '56' inline box should be lined up with its inline '12' sibling. The line box height, enclosed by the blue border should not grow to accomodate transparent 'border-left' of inline box and transparent 'border-right' of inline box." name="assert" />
+
+  <style type="text/css"><![CDATA[
+  body
+    {
+      margin-left: 32px;
+    }
+
+  div
+    {
+      border: blue solid 2px;
+      font-size: 32px;
+      margin: 1em;
+      writing-mode: vertical-lr;
+      text-orientation: mixed;
+    }
+
+  span#border-left
+    {
+      border-left: 1.5em solid transparent;
+    }
+
+  span#border-right
+    {
+      border-right: 1.5em solid transparent;
+    }
+  ]]></style>
+
+  </head>
+
+  <body>
+
+    <p>Test passes if there are 2 identical blue rectangles with "123456" rotated 90 degrees clockwise. The size of each blue rectangles must be identical and the two "123456" numbers must be enclosed by the two blue borders.</p>
+
+    <div id="test">12<span id="border-left">34</span><span id="border-right">56</span></div>
+
+    <div id="reference">123456</div>
+
+  </body>
+</html>
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/line-box-height-vlr-005.xht
@@ -0,0 +1,59 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Writing Modes Test: line box height and padding on non-replaced inline box (mixed)</title>
+
+  <!--
+  Test inspired by
+  https://dxr.mozilla.org/mozilla-central/source/layout/reftests/writing-mode/1130907-intrinsic-sizing-2.html
+  -->
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+  <link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#vertical-layout" title="7.1 Principles of Layout in Vertical Writing Modes" />
+  <link rel="help" href="http://www.w3.org/TR/CSS21/visudet.html#line-height" title="10.8.1 Leading and half-leading" />
+  <link rel="match" href="line-box-height-vlr-003-ref.xht" />
+
+  <meta content="" name="flags" />
+  <meta content="This test checks that a line box height does not increase because an inline non-replaced box has a padding. In this test, the '34' inline box and the '56' inline box should be lined up with its inline '12' sibling. The line box height, enclosed by the blue border should not grow to accomodate transparent 'padding-left' of inline box and transparent 'padding-right' of inline box." name="assert" />
+
+  <style type="text/css"><![CDATA[
+  body
+    {
+      margin-left: 32px;
+    }
+
+  div
+    {
+      border: blue solid 2px;
+      font-size: 32px;
+      margin: 1em;
+      writing-mode: vertical-lr;
+      text-orientation: mixed;
+    }
+
+  span#padding-left
+    {
+      padding-left: 1.5em;
+    }
+
+  span#padding-right
+    {
+      padding-right: 1.5em;
+    }
+  ]]></style>
+
+  </head>
+
+  <body>
+
+    <p>Test passes if there are 2 identical blue rectangles with "123456" rotated 90 degrees clockwise. The size of each blue rectangles must be identical and the two "123456" numbers must be enclosed by the two blue borders.</p>
+
+    <div id="test">12<span id="padding-left">34</span><span id="padding-right">56</span></div>
+
+    <div id="reference">123456</div>
+
+  </body>
+</html>
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/line-box-height-vlr-007-ref.xht
@@ -0,0 +1,38 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Reftest Reference</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+
+  <style type="text/css"><![CDATA[
+  body
+    {
+      margin-left: 32px;
+    }
+
+  div
+    {
+      border: blue solid 2px;
+      font-size: 32px;
+      margin: 1em;
+      writing-mode: vertical-lr;
+      text-orientation: sideways;
+    }
+  ]]></style>
+
+  </head>
+
+  <body>
+
+    <p>Test passes if there are 2 identical blue rectangles with "123456" rotated 90 degrees clockwise. The size of each blue rectangles must be identical and the two "123456" numbers must be enclosed by the two blue borders.</p>
+
+    <div>123456</div>
+
+    <div>123456</div>
+
+  </body>
+</html>
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/line-box-height-vlr-007.xht
@@ -0,0 +1,59 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Writing Modes Test: line box height and border on non-replaced inline box (sideways)</title>
+
+  <!--
+  Test inspired by
+  https://dxr.mozilla.org/mozilla-central/source/layout/reftests/writing-mode/1130907-intrinsic-sizing-2.html
+  -->
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+  <link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#vertical-layout" title="7.1 Principles of Layout in Vertical Writing Modes" />
+  <link rel="help" href="http://www.w3.org/TR/CSS21/visudet.html#line-height" title="10.8.1 Leading and half-leading" />
+  <link rel="match" href="line-box-height-vlr-007-ref.xht" />
+
+  <meta content="" name="flags" />
+  <meta content="This test checks that a line box height does not increase because an inline non-replaced box has a border. In this test, the '34' inline box and the '56' inline box should be lined up with its inline '12' sibling. The line box height, enclosed by the blue border should not grow to accomodate transparent 'border-left' of inline box and transparent 'border-right' of inline box." name="assert" />
+
+  <style type="text/css"><![CDATA[
+  body
+    {
+      margin-left: 32px;
+    }
+
+  div
+    {
+      border: blue solid 2px;
+      font-size: 32px;
+      margin: 1em;
+      writing-mode: vertical-lr;
+      text-orientation: sideways;
+    }
+
+  span#border-left
+    {
+      border-left: 1.5em solid transparent;
+    }
+
+  span#border-right
+    {
+      border-right: 1.5em solid transparent;
+    }
+  ]]></style>
+
+  </head>
+
+  <body>
+
+    <p>Test passes if there are 2 identical blue rectangles with "123456" rotated 90 degrees clockwise. The size of each blue rectangles must be identical and the two "123456" numbers must be enclosed by the two blue borders.</p>
+
+    <div id="test">12<span id="border-left">34</span><span id="border-right">56</span></div>
+
+    <div id="reference">123456</div>
+
+  </body>
+</html>
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/line-box-height-vlr-009.xht
@@ -0,0 +1,59 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Writing Modes Test: line box height and padding on non-replaced inline box (sideways)</title>
+
+  <!--
+  Test inspired by
+  https://dxr.mozilla.org/mozilla-central/source/layout/reftests/writing-mode/1130907-intrinsic-sizing-2.html
+  -->
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+  <link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#vertical-layout" title="7.1 Principles of Layout in Vertical Writing Modes" />
+  <link rel="help" href="http://www.w3.org/TR/CSS21/visudet.html#line-height" title="10.8.1 Leading and half-leading" />
+  <link rel="match" href="line-box-height-vlr-007-ref.xht" />
+
+  <meta content="" name="flags" />
+  <meta content="This test checks that a line box height does not increase because an inline non-replaced box has a padding. In this test, the '34' inline box and the '56' inline box should be lined up with its inline '12' sibling. The line box height, enclosed by the blue border should not grow to accomodate transparent 'padding-left' of inline box and transparent 'padding-right' of inline box." name="assert" />
+
+  <style type="text/css"><![CDATA[
+  body
+    {
+      margin-left: 32px;
+    }
+
+  div
+    {
+      border: blue solid 2px;
+      font-size: 32px;
+      margin: 1em;
+      writing-mode: vertical-lr;
+      text-orientation: sideways;
+    }
+
+  span#padding-left
+    {
+      padding-left: 1.5em;
+    }
+
+  span#padding-right
+    {
+      padding-right: 1.5em;
+    }
+  ]]></style>
+
+  </head>
+
+  <body>
+
+    <p>Test passes if there are 2 identical blue rectangles with "123456" rotated 90 degrees clockwise. The size of each blue rectangles must be identical and the two "123456" numbers must be enclosed by the two blue borders.</p>
+
+    <div id="test">12<span id="padding-left">34</span><span id="padding-right">56</span></div>
+
+    <div id="reference">123456</div>
+
+  </body>
+</html>
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/line-box-height-vlr-011-ref.xht
@@ -0,0 +1,38 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Reftest Reference</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+
+  <style type="text/css"><![CDATA[
+  body
+    {
+      margin-left: 32px;
+    }
+
+  div
+    {
+      border: blue solid 2px;
+      font-size: 32px;
+      margin: 1em;
+      writing-mode: vertical-lr;
+      text-orientation: upright;
+    }
+  ]]></style>
+
+  </head>
+
+  <body>
+
+    <p>Test passes if there are 2 identical blue rectangles with "123456" upright. The size of each blue rectangles must be identical and the two "123456" numbers must be enclosed by the two blue borders.</p>
+
+    <div>123456</div>
+
+    <div>123456</div>
+
+  </body>
+</html>
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/line-box-height-vlr-011.xht
@@ -0,0 +1,59 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Writing Modes Test: line box height and border on non-replaced inline box (upright)</title>
+
+  <!--
+  Test inspired by
+  https://dxr.mozilla.org/mozilla-central/source/layout/reftests/writing-mode/1130907-intrinsic-sizing-2.html
+  -->
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+  <link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#vertical-layout" title="7.1 Principles of Layout in Vertical Writing Modes" />
+  <link rel="help" href="http://www.w3.org/TR/CSS21/visudet.html#line-height" title="10.8.1 Leading and half-leading" />
+  <link rel="match" href="line-box-height-vlr-011-ref.xht" />
+
+  <meta content="" name="flags" />
+  <meta content="This test checks that a line box height does not increase because an inline non-replaced box has a border. In this test, the '34' inline box and the '56' inline box should be lined up with its inline '12' sibling. The line box height, enclosed by the blue border should not grow to accomodate transparent 'border-left' of inline box and transparent 'border-right' of inline box." name="assert" />
+
+  <style type="text/css"><![CDATA[
+  body
+    {
+      margin-left: 32px;
+    }
+
+  div
+    {
+      border: blue solid 2px;
+      font-size: 32px;
+      margin: 1em;
+      writing-mode: vertical-lr;
+      text-orientation: upright;
+    }
+
+  span#border-left
+    {
+      border-left: 1.5em solid transparent;
+    }
+
+  span#border-right
+    {
+      border-right: 1.5em solid transparent;
+    }
+  ]]></style>
+
+  </head>
+
+  <body>
+
+    <p>Test passes if there are 2 identical blue rectangles with "123456" upright. The size of each blue rectangles must be identical and the two "123456" numbers must be enclosed by the two blue borders.</p>
+
+    <div id="test">12<span id="border-left">34</span><span id="border-right">56</span></div>
+
+    <div id="reference">123456</div>
+
+  </body>
+</html>
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/line-box-height-vlr-013.xht
@@ -0,0 +1,59 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Writing Modes Test: line box height and padding on non-replaced inline box (upright)</title>
+
+  <!--
+  Test inspired by
+  https://dxr.mozilla.org/mozilla-central/source/layout/reftests/writing-mode/1130907-intrinsic-sizing-2.html
+  -->
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+  <link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#vertical-layout" title="7.1 Principles of Layout in Vertical Writing Modes" />
+  <link rel="help" href="http://www.w3.org/TR/CSS21/visudet.html#line-height" title="10.8.1 Leading and half-leading" />
+  <link rel="match" href="line-box-height-vlr-011-ref.xht" />
+
+  <meta content="" name="flags" />
+  <meta content="This test checks that a line box height does not increase because an inline non-replaced box has a padding. In this test, the '34' inline box and the '56' inline box should be lined up with its inline '12' sibling. The line box height, enclosed by the blue border should not grow to accomodate transparent 'padding-left' of inline box and transparent 'padding-right' of inline box." name="assert" />
+
+  <style type="text/css"><![CDATA[
+  body
+    {
+      margin-left: 32px;
+    }
+
+  div
+    {
+      border: blue solid 2px;
+      font-size: 32px;
+      margin: 1em;
+      writing-mode: vertical-lr;
+      text-orientation: upright;
+    }
+
+  span#padding-left
+    {
+      padding-left: 1.5em;
+    }
+
+  span#padding-right
+    {
+      padding-right: 1.5em;
+    }
+  ]]></style>
+
+  </head>
+
+  <body>
+
+    <p>Test passes if there are 2 identical blue rectangles with "123456" upright. The size of each blue rectangles must be identical and the two "123456" numbers must be enclosed by the two blue borders.</p>
+
+    <div id="test">12<span id="padding-left">34</span><span id="padding-right">56</span></div>
+
+    <div id="reference">123456</div>
+
+  </body>
+</html>
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/line-box-height-vlr-021-ref.xht
@@ -0,0 +1,41 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Reftest Reference</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+
+  <meta content="" name="flags" />
+
+  <style type="text/css"><![CDATA[
+  body
+    {
+      margin-left: 32px;
+    }
+
+  div
+    {
+      border: blue solid 2px;
+      font-size: 32px;
+      margin: 1em;
+      writing-mode: vertical-rl;
+    }
+  ]]></style>
+
+  </head>
+
+  <body>
+
+    <p>Test passes if there are 3 identical blue rectangles with "123456" rotated 90 degrees clockwise. The size of each blue rectangles must be identical and the three "123456" numbers must be enclosed by the three blue borders.</p>
+
+    <div>123456</div>
+
+    <div>123456</div>
+
+    <div>123456</div>
+
+  </body>
+</html>
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/line-box-height-vlr-021.xht
@@ -0,0 +1,77 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Writing Modes Test: line box height and border on non-replaced inline box (complex)</title>
+
+  <!--
+  Test inspired by
+  https://dxr.mozilla.org/mozilla-central/source/layout/reftests/writing-mode/1130907-intrinsic-sizing-2.html
+  -->
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+  <link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#vertical-layout" title="7.1 Principles of Layout in Vertical Writing Modes" />
+  <link rel="help" href="http://www.w3.org/TR/CSS21/visudet.html#line-height" title="10.8.1 Leading and half-leading" />
+  <link rel="match" href="line-box-height-vlr-021-ref.xht" />
+
+  <meta content="" name="flags" />
+  <meta content="This test checks that a line box height does not increase because an inline non-replaced box has a border. In this test, the '34' inline box and the '56' inline box should be lined up with its inline '12' sibling. The line box height, enclosed by the blue border should not grow to accomodate transparent 'border-left' of inline box and transparent 'border-right' of inline box." name="assert" />
+  <meta name="DC.date.created" content="2015-07-22T09:54:03+11:00" scheme=
+  "W3CDTF" />
+  <meta name="DC.date.modified" content="2016-07-22T09:54:03+11:00" scheme=
+  "W3CDTF" />
+
+  <style type="text/css"><![CDATA[
+  body
+    {
+      margin-left: 32px;
+    }
+
+  div.vlr, div#reference
+    {
+      border: blue solid 2px;
+      font-size: 32px;
+      margin: 1em;
+    }
+
+  div.vlr
+    {
+      writing-mode: vertical-lr;
+    }
+
+  span.brdr-left
+    {
+      border-left: 1.5em solid transparent;
+    }
+
+  span.brdr-right
+    {
+      border-right: 1.5em solid transparent;
+    }
+
+  div#reference
+    {
+      writing-mode: vertical-rl;
+    }
+  ]]></style>
+
+  </head>
+
+  <body>
+
+    <p>Test passes if there are 3 identical blue rectangles with "123456" rotated 90 degrees clockwise. The size of each blue rectangles must be identical and the three "123456" numbers must be enclosed by the three blue borders.</p>
+
+    <div class="vlr">
+      <div>12<span class="brdr-left">34</span>56</div>
+    </div>
+
+    <div class="vlr">
+      <div>12<span class="brdr-right">34</span>56</div>
+    </div>
+
+    <div id="reference">123456</div>
+
+  </body>
+</html>
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/line-box-height-vlr-023-ref.xht
@@ -0,0 +1,42 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Reftest Reference</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+
+  <meta content="" name="flags" />
+
+  <style type="text/css"><![CDATA[
+  body
+    {
+      margin-left: 32px;
+    }
+
+  div
+    {
+      border: blue solid 2px;
+      float: left;
+      font-size: 32px;
+      margin: 1em;
+      writing-mode: vertical-rl;
+    }
+  ]]></style>
+
+  </head>
+
+  <body>
+
+    <p>Test passes if there are 3 identical blue rectangles with "123456" rotated 90 degrees clockwise. The size of each blue rectangles must be identical and the three "123456" numbers must be enclosed by the three blue borders.</p>
+
+    <div>123456</div>
+
+    <div>123456</div>
+
+    <div>123456</div>
+
+  </body>
+</html>
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/line-box-height-vlr-023.xht
@@ -0,0 +1,76 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Writing Modes Test: line box height and border on non-replaced inline box (complex)</title>
+
+  <!--
+  Test inspired by
+  https://dxr.mozilla.org/mozilla-central/source/layout/reftests/writing-mode/1130907-intrinsic-sizing-2.html
+  -->
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+  <link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#vertical-layout" title="7.1 Principles of Layout in Vertical Writing Modes" />
+  <link rel="help" href="http://www.w3.org/TR/CSS21/visudet.html#line-height" title="10.8.1 Leading and half-leading" />
+  <link rel="match" href="line-box-height-vlr-023-ref.xht" />
+
+  <meta content="" name="flags" />
+  <meta content="This test checks that a line box height does not increase because an inline non-replaced box has a border. In this test, the '34' inline box and the '56' inline box should be lined up with its inline '12' sibling. The line box height, enclosed by the blue border should not grow to accomodate transparent 'border-left' of inline box and transparent 'border-right' of inline box." name="assert" />
+  <meta name="DC.date.created" content="2015-07-22T09:54:03+11:00" scheme="W3CDTF" />
+  <meta name="DC.date.modified" content="2016-07-22T09:54:03+11:00" scheme="W3CDTF" />
+
+  <style type="text/css"><![CDATA[
+  body
+    {
+      margin-left: 32px;
+    }
+
+  div.vlr, div#reference
+    {
+      border: blue solid 2px;
+      float: left;
+      font-size: 32px;
+      margin: 1em;
+    }
+
+  div.vlr
+    {
+      writing-mode: vertical-lr;
+    }
+
+  span.brdr-left
+    {
+      border-left: 1.5em solid transparent;
+    }
+
+  span.brdr-right
+    {
+      border-right: 1.5em solid transparent;
+    }
+
+  div#reference
+    {
+      writing-mode: vertical-rl;
+    }
+  ]]></style>
+
+  </head>
+
+  <body>
+
+    <p>Test passes if there are 3 identical blue rectangles with "123456" rotated 90 degrees clockwise. The size of each blue rectangles must be identical and the three "123456" numbers must be enclosed by the three blue borders.</p>
+
+    <div class="vlr">
+      <div>12<span class="brdr-left">34</span>56</div>
+    </div>
+
+    <div class="vlr">
+      <div>12<span class="brdr-right">34</span>56</div>
+    </div>
+
+    <div id="reference">123456</div>
+
+  </body>
+</html>
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/line-box-height-vrl-002-ref.xht
@@ -0,0 +1,38 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Reftest Reference</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+
+  <style type="text/css"><![CDATA[
+  body
+    {
+      margin-left: 32px;
+    }
+
+  div
+    {
+      border: blue solid 2px;
+      font-size: 32px;
+      margin: 1em;
+      writing-mode: vertical-rl;
+      text-orientation: mixed;
+    }
+  ]]></style>
+
+  </head>
+
+  <body>
+
+    <p>Test passes if there are 2 identical blue rectangles with "123456" rotated 90 degrees clockwise. The size of each blue rectangles must be identical and the two "123456" numbers must be enclosed by the two blue borders.</p>
+
+    <div>123456</div>
+
+    <div>123456</div>
+
+  </body>
+</html>
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/line-box-height-vrl-002.xht
@@ -0,0 +1,59 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Writing Modes Test: line box height and border on non-replaced inline box (mixed)</title>
+
+  <!--
+  Test inspired by
+  https://dxr.mozilla.org/mozilla-central/source/layout/reftests/writing-mode/1130907-intrinsic-sizing-2.html
+  -->
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+  <link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#vertical-layout" title="7.1 Principles of Layout in Vertical Writing Modes" />
+  <link rel="help" href="http://www.w3.org/TR/CSS21/visudet.html#line-height" title="10.8.1 Leading and half-leading" />
+  <link rel="match" href="line-box-height-vrl-002-ref.xht" />
+
+  <meta content="" name="flags" />
+  <meta content="This test checks that a line box height does not increase because an inline non-replaced box has a border. In this test, the '34' inline box and the '56' inline box should be lined up with its inline '12' sibling. The line box height, enclosed by the blue border should not grow to accomodate transparent 'border-left' of inline box and transparent 'border-right' of inline box." name="assert" />
+
+  <style type="text/css"><![CDATA[
+  body
+    {
+      margin-left: 32px;
+    }
+
+  div
+    {
+      border: blue solid 2px;
+      font-size: 32px;
+      margin: 1em;
+      writing-mode: vertical-rl;
+      text-orientation: mixed;
+    }
+
+  span#border-left
+    {
+      border-left: 1.5em solid transparent;
+    }
+
+  span#border-right
+    {
+      border-right: 1.5em solid transparent;
+    }
+  ]]></style>
+
+  </head>
+
+  <body>
+
+    <p>Test passes if there are 2 identical blue rectangles with "123456" rotated 90 degrees clockwise. The size of each blue rectangles must be identical and the two "123456" numbers must be enclosed by the two blue borders.</p>
+
+    <div id="test">12<span id="border-left">34</span><span id="border-right">56</span></div>
+
+    <div id="reference">123456</div>
+
+  </body>
+</html>
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/line-box-height-vrl-004.xht
@@ -0,0 +1,59 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Writing Modes Test: line box height and padding on non-replaced inline box (mixed)</title>
+
+  <!--
+  Test inspired by
+  https://dxr.mozilla.org/mozilla-central/source/layout/reftests/writing-mode/1130907-intrinsic-sizing-2.html
+  -->
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+  <link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#vertical-layout" title="7.1 Principles of Layout in Vertical Writing Modes" />
+  <link rel="help" href="http://www.w3.org/TR/CSS21/visudet.html#line-height" title="10.8.1 Leading and half-leading" />
+  <link rel="match" href="line-box-height-vrl-002-ref.xht" />
+
+  <meta content="" name="flags" />
+  <meta content="This test checks that a line box height does not increase because an inline non-replaced box has a padding. In this test, the '34' inline box and the '56' inline box should be lined up with its inline '12' sibling. The line box height, enclosed by the blue border should not grow to accomodate transparent 'padding-left' of inline box and transparent 'padding-right' of inline box." name="assert" />
+
+  <style type="text/css"><![CDATA[
+  body
+    {
+      margin-left: 32px;
+    }
+
+  div
+    {
+      border: blue solid 2px;
+      font-size: 32px;
+      margin: 1em;
+      writing-mode: vertical-rl;
+      text-orientation: mixed;
+    }
+
+  span#padding-left
+    {
+      padding-left: 1.5em;
+    }
+
+  span#padding-right
+    {
+      padding-right: 1.5em;
+    }
+  ]]></style>
+
+  </head>
+
+  <body>
+
+    <p>Test passes if there are 2 identical blue rectangles with "123456" rotated 90 degrees clockwise. The size of each blue rectangles must be identical and the two "123456" numbers must be enclosed by the two blue borders.</p>
+
+    <div id="test">12<span id="padding-left">34</span><span id="padding-right">56</span></div>
+
+    <div id="reference">123456</div>
+
+  </body>
+</html>
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/line-box-height-vrl-006-ref.xht
@@ -0,0 +1,38 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Reftest Reference</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+
+  <style type="text/css"><![CDATA[
+  body
+    {
+      margin-left: 32px;
+    }
+
+  div
+    {
+      border: blue solid 2px;
+      font-size: 32px;
+      margin: 1em;
+      writing-mode: vertical-rl;
+      text-orientation: sideways;
+    }
+  ]]></style>
+
+  </head>
+
+  <body>
+
+    <p>Test passes if there are 2 identical blue rectangles with "123456" rotated 90 degrees clockwise. The size of each blue rectangles must be identical and the two "123456" numbers must be enclosed by the two blue borders.</p>
+
+    <div>123456</div>
+
+    <div>123456</div>
+
+  </body>
+</html>
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/line-box-height-vrl-006.xht
@@ -0,0 +1,59 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Writing Modes Test: line box height and border on non-replaced inline box (sideways)</title>
+
+  <!--
+  Test inspired by
+  https://dxr.mozilla.org/mozilla-central/source/layout/reftests/writing-mode/1130907-intrinsic-sizing-2.html
+  -->
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+  <link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#vertical-layout" title="7.1 Principles of Layout in Vertical Writing Modes" />
+  <link rel="help" href="http://www.w3.org/TR/CSS21/visudet.html#line-height" title="10.8.1 Leading and half-leading" />
+  <link rel="match" href="line-box-height-vrl-006-ref.xht" />
+
+  <meta content="" name="flags" />
+  <meta content="This test checks that a line box height does not increase because an inline non-replaced box has a border. In this test, the '34' inline box and the '56' inline box should be lined up with its inline '12' sibling. The line box height, enclosed by the blue border should not grow to accomodate transparent 'border-left' of inline box and transparent 'border-right' of inline box." name="assert" />
+
+  <style type="text/css"><![CDATA[
+  body
+    {
+      margin-left: 32px;
+    }
+
+  div
+    {
+      border: blue solid 2px;
+      font-size: 32px;
+      margin: 1em;
+      writing-mode: vertical-rl;
+      text-orientation: sideways;
+    }
+
+  span#border-left
+    {
+      border-left: 1.5em solid transparent;
+    }
+
+  span#border-right
+    {
+      border-right: 1.5em solid transparent;
+    }
+  ]]></style>
+
+  </head>
+
+  <body>
+
+    <p>Test passes if there are 2 identical blue rectangles with "123456" rotated 90 degrees clockwise. The size of each blue rectangles must be identical and the two "123456" numbers must be enclosed by the two blue borders.</p>
+
+    <div id="test">12<span id="border-left">34</span><span id="border-right">56</span></div>
+
+    <div id="reference">123456</div>
+
+  </body>
+</html>
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/line-box-height-vrl-008.xht
@@ -0,0 +1,59 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Writing Modes Test: line box height and padding on non-replaced inline box (sideways)</title>
+
+  <!--
+  Test inspired by
+  https://dxr.mozilla.org/mozilla-central/source/layout/reftests/writing-mode/1130907-intrinsic-sizing-2.html
+  -->
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+  <link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#vertical-layout" title="7.1 Principles of Layout in Vertical Writing Modes" />
+  <link rel="help" href="http://www.w3.org/TR/CSS21/visudet.html#line-height" title="10.8.1 Leading and half-leading" />
+  <link rel="match" href="line-box-height-vrl-006-ref.xht" />
+
+  <meta content="" name="flags" />
+  <meta content="This test checks that a line box height does not increase because an inline non-replaced box has a padding. In this test, the '34' inline box and the '56' inline box should be lined up with its inline '12' sibling. The line box height, enclosed by the blue border should not grow to accomodate transparent 'padding-left' of inline box and transparent 'padding-right' of inline box." name="assert" />
+
+  <style type="text/css"><![CDATA[
+  body
+    {
+      margin-left: 32px;
+    }
+
+  div
+    {
+      border: blue solid 2px;
+      font-size: 32px;
+      margin: 1em;
+      writing-mode: vertical-rl;
+      text-orientation: sideways;
+    }
+
+  span#padding-left
+    {
+      padding-left: 1.5em;
+    }
+
+  span#padding-right
+    {
+      padding-right: 1.5em;
+    }
+  ]]></style>
+
+  </head>
+
+  <body>
+
+    <p>Test passes if there are 2 identical blue rectangles with "123456" rotated 90 degrees clockwise. The size of each blue rectangles must be identical and the two "123456" numbers must be enclosed by the two blue borders.</p>
+
+    <div id="test">12<span id="padding-left">34</span><span id="padding-right">56</span></div>
+
+    <div id="reference">123456</div>
+
+  </body>
+</html>
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/line-box-height-vrl-010-ref.xht
@@ -0,0 +1,38 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Reftest Reference</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+
+  <style type="text/css"><![CDATA[
+  body
+    {
+      margin-left: 32px;
+    }
+
+  div
+    {
+      border: blue solid 2px;
+      font-size: 32px;
+      margin: 1em;
+      writing-mode: vertical-rl;
+      text-orientation: upright;
+    }
+  ]]></style>
+
+  </head>
+
+  <body>
+
+    <p>Test passes if there are 2 identical blue rectangles with "123456" upright. The size of each blue rectangles must be identical and the two "123456" numbers must be enclosed by the two blue borders.</p>
+
+    <div>123456</div>
+
+    <div>123456</div>
+
+  </body>
+</html>
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/line-box-height-vrl-010.xht
@@ -0,0 +1,59 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Writing Modes Test: line box height and border on non-replaced inline box (upright)</title>
+
+  <!--
+  Test inspired by
+  https://dxr.mozilla.org/mozilla-central/source/layout/reftests/writing-mode/1130907-intrinsic-sizing-2.html
+  -->
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+  <link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#vertical-layout" title="7.1 Principles of Layout in Vertical Writing Modes" />
+  <link rel="help" href="http://www.w3.org/TR/CSS21/visudet.html#line-height" title="10.8.1 Leading and half-leading" />
+  <link rel="match" href="line-box-height-vrl-010-ref.xht" />
+
+  <meta content="" name="flags" />
+  <meta content="This test checks that a line box height does not increase because an inline non-replaced box has a border. In this test, the '34' inline box and the '56' inline box should be lined up with its inline '12' sibling. The line box height, enclosed by the blue border should not grow to accomodate transparent 'border-left' of inline box and transparent 'border-right' of inline box." name="assert" />
+
+  <style type="text/css"><![CDATA[
+  body
+    {
+      margin-left: 32px;
+    }
+
+  div
+    {
+      border: blue solid 2px;
+      font-size: 32px;
+      margin: 1em;
+      writing-mode: vertical-rl;
+      text-orientation: upright;
+    }
+
+  span#border-left
+    {
+      border-left: 1.5em solid transparent;
+    }
+
+  span#border-right
+    {
+      border-right: 1.5em solid transparent;
+    }
+  ]]></style>
+
+  </head>
+
+  <body>
+
+    <p>Test passes if there are 2 identical blue rectangles with "123456" upright. The size of each blue rectangles must be identical and the two "123456" numbers must be enclosed by the two blue borders.</p>
+
+    <div id="test">12<span id="border-left">34</span><span id="border-right">56</span></div>
+
+    <div id="reference">123456</div>
+
+  </body>
+</html>
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/line-box-height-vrl-012.xht
@@ -0,0 +1,59 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Writing Modes Test: line box height and padding on non-replaced inline box (upright)</title>
+
+  <!--
+  Test inspired by
+  https://dxr.mozilla.org/mozilla-central/source/layout/reftests/writing-mode/1130907-intrinsic-sizing-2.html
+  -->
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+  <link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#vertical-layout" title="7.1 Principles of Layout in Vertical Writing Modes" />
+  <link rel="help" href="http://www.w3.org/TR/CSS21/visudet.html#line-height" title="10.8.1 Leading and half-leading" />
+  <link rel="match" href="line-box-height-vrl-010-ref.xht" />
+
+  <meta content="" name="flags" />
+  <meta content="This test checks that a line box height does not increase because an inline non-replaced box has a padding. In this test, the '34' inline box and the '56' inline box should be lined up with its inline '12' sibling. The line box height, enclosed by the blue border should not grow to accomodate transparent 'padding-left' of inline box and transparent 'padding-right' of inline box." name="assert" />
+
+  <style type="text/css"><![CDATA[
+  body
+    {
+      margin-left: 32px;
+    }
+
+  div
+    {
+      border: blue solid 2px;
+      font-size: 32px;
+      margin: 1em;
+      writing-mode: vertical-rl;
+      text-orientation: upright;
+    }
+
+  span#padding-left
+    {
+      padding-left: 1.5em;
+    }
+
+  span#padding-right
+    {
+      padding-right: 1.5em;
+    }
+  ]]></style>
+
+  </head>
+
+  <body>
+
+    <p>Test passes if there are 2 identical blue rectangles with "123456" upright. The size of each blue rectangles must be identical and the two "123456" numbers must be enclosed by the two blue borders.</p>
+
+    <div id="test">12<span id="padding-left">34</span><span id="padding-right">56</span></div>
+
+    <div id="reference">123456</div>
+
+  </body>
+</html>
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/margin-collapse-vlr-003.xht
@@ -0,0 +1,74 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Writing Modes Test: 'vertical-lr' and margin collapsing - maximum of 2 adjoining margins</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+  <link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#logical-direction-layout" title="7.4 Flow-Relative Mappings" />
+  <link rel="match" href="../css21/reference/ref-filled-green-100px-square.xht" />
+
+  <!--
+  Test adapted from
+  http://test.csswg.org/suites/css2.1/nightly-unstable/html4/margin-collapse-002.htm
+
+  "
+  The margin collapsing rules apply exactly with the block-start margin substituted for the top margin and the block-end margin substituted for the bottom margin.
+  "
+  -->
+
+  <meta content="ahem image" name="flags" />
+  <meta name="assert" content="This test checks that margin-end and margin-start of adjacent blocks collapse into its maximum in 'vertical-lr' writing-mode." />
+
+<style type="text/css"><![CDATA[
+@font-face {
+  font-family: Ahem;
+  src: url("../../../fonts/Ahem.ttf");
+}
+]]></style>
+  <style type="text/css"><![CDATA[
+  div
+    {
+      font: 25px/1em Ahem;
+      height: 4em;
+    }
+
+  div#wrapper
+    {
+      background: red url("support/margin-collapse-2em-space-wm-vert.png");
+      width: 4em;
+      writing-mode: vertical-lr;
+    }
+
+  div#wrapper > div
+    {
+      background-color: green;
+      width: 1em;
+    }
+
+  div#leftmost
+    {
+      margin-right: 2em; /* block-end margin of 1st block */
+    }
+
+  div#rightmost
+    {
+      margin-left: 1em; /* block-start margin of following block */
+    }
+  ]]></style>
+
+ </head>
+
+ <body>
+
+  <p>Test passes if there is a filled green square and <strong>no red</strong>.</p>
+
+  <div id="wrapper">
+    <div id="leftmost"></div>
+    <div id="rightmost"></div>
+  </div>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/margin-collapse-vlr-009.xht
@@ -0,0 +1,74 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Writing Modes Test: 'vertical-lr' and margin collapsing - adjoining margins of non-siblings or ancestors</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+  <link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#logical-direction-layout" title="7.4 Flow-Relative Mappings" />
+  <link rel="match" href="../css21/reference/ref-filled-green-100px-square.xht" />
+
+  <!--
+  Test adapted from
+  http://test.csswg.org/suites/css2.1/nightly-unstable/html4/margin-collapse-005.htm
+
+  "
+  The margin collapsing rules apply exactly with the block-start margin substituted for the top margin and the block-end margin substituted for the bottom margin.
+  "
+  -->
+
+  <meta content="ahem image" name="flags" />
+  <meta name="assert" content="This test checks that adjoining margin-end and margin-start boxes generated by elements, that are not related by siblings or ancestors, collapse in 'vertical-lr' writing-mode." />
+
+<style type="text/css"><![CDATA[
+@font-face {
+  font-family: Ahem;
+  src: url("../../../fonts/Ahem.ttf");
+}
+]]></style>
+  <style type="text/css"><![CDATA[
+  div
+    {
+      font: 25px/1em Ahem;
+      height: 4em;
+    }
+
+  div#wrapper
+    {
+      background: red url("support/margin-collapse-2em-space-wm-vert.png");
+      width: 4em;
+      writing-mode: vertical-lr;
+    }
+
+  div#leftmost
+    {
+      background-color: green;
+      margin-right: 2em; /* block-end margin of sub-block of 1st block */
+      width: 1em;
+    }
+
+  div#rightmost
+    {
+      background-color: green;
+      margin-left: 1em; /* block-start margin of following sibling block */
+      width: 1em;
+    }
+  ]]></style>
+
+ </head>
+
+ <body>
+
+  <p>Test passes if there is a filled green square and <strong>no red</strong>.</p>
+
+  <div id="wrapper">
+    <div>
+      <div id="leftmost"></div>
+    </div>
+    <div id="rightmost"></div>
+  </div>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/margin-collapse-vlr-011.xht
@@ -0,0 +1,75 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Writing Modes Test: 'vertical-lr' and margin collapsing - floated elements do not collapse margins</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+  <link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#logical-direction-layout" title="7.4 Flow-Relative Mappings" />
+  <link rel="match" href="../css21/reference/ref-filled-green-100px-square.xht" />
+
+  <!--
+  Test adapted from
+  http://test.csswg.org/suites/css2.1/nightly-unstable/html4/margin-collapse-006.htm
+
+  "
+  The margin collapsing rules apply exactly with the block-start margin substituted for the top margin and the block-end margin substituted for the bottom margin.
+  "
+  -->
+
+  <meta content="ahem image" name="flags" />
+  <meta name="assert" content="This test checks that margin-end of floated box does not collapse with the margin-start of a preceding block box in 'vertical-lr' writing-mode." />
+
+<style type="text/css"><![CDATA[
+@font-face {
+  font-family: Ahem;
+  src: url("../../../fonts/Ahem.ttf");
+}
+]]></style>
+  <style type="text/css"><![CDATA[
+  div
+    {
+      font: 25px/1em Ahem;
+      height: 4em;
+    }
+
+  div#wrapper
+    {
+      background: red url("support/margin-collapse-2em-space-wm-vert.png");
+      width: 4em;
+      writing-mode: vertical-lr;
+    }
+
+  div#wrapper > div
+    {
+      background-color: green;
+      width: 1em;
+    }
+
+  div#leftmost
+    {
+      margin-right: 1em; /* block-end margin of 1st block */
+    }
+
+  div#rightmost
+    {
+      float: right;
+      margin-left: 1em; /* block-start margin of floated box */
+    }
+  ]]></style>
+
+ </head>
+
+ <body>
+
+  <p>Test passes if there is a filled green square and <strong>no red</strong>.</p>
+
+  <div id="wrapper">
+    <div id="leftmost"></div>
+    <div id="rightmost"></div>
+  </div>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/margin-collapse-vlr-015.xht
@@ -0,0 +1,76 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Writing Modes Test: 'vertical-lr' and margin collapsing - elements with 'overflow' set to 'visible'</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+  <link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#logical-direction-layout" title="7.4 Flow-Relative Mappings" />
+  <link rel="match" href="../css21/reference/ref-filled-green-100px-square.xht" />
+
+  <!--
+  Test adapted from
+  http://test.csswg.org/suites/css2.1/nightly-unstable/html4/margin-collapse-008.htm
+
+  "
+  The margin collapsing rules apply exactly with the block-start margin substituted for the top margin and the block-end margin substituted for the bottom margin.
+  "
+  -->
+
+  <meta content="ahem image" name="flags" />
+  <meta name="assert" content="This test checks that elements with 'overflow' set to 'visible' collapse margin with in-flow children in 'vertical-lr' writing-mode." />
+
+<style type="text/css"><![CDATA[
+@font-face {
+  font-family: Ahem;
+  src: url("../../../fonts/Ahem.ttf");
+}
+]]></style>
+  <style type="text/css"><![CDATA[
+  div
+    {
+      font: 25px/1em Ahem;
+      height: 4em;
+    }
+
+  div#wrapper
+    {
+      background: url("support/margin-collapse-2em-space-wm-vert.png") -1em top;
+      border-left: green solid 1em;
+      writing-mode: vertical-lr;
+    }
+
+  div#wrapper div
+    {
+      width: 1em;
+    }
+
+  div#overflow
+    {
+      margin-left: 2em; /* block-start margin of overflowed block */
+      overflow: visible;
+    }
+
+  div#nested
+    {
+      background-color: green;
+      margin-left: 2em; /* block-start margin of sub-block */
+    }
+  ]]></style>
+
+ </head>
+
+ <body>
+
+  <p>Test passes if there is a filled green square and <strong>no red</strong>.</p>
+
+  <div id="wrapper">
+    <div id="overflow">
+      <div id="nested"></div>
+    </div>
+  </div>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/margin-collapse-vlr-017.xht
@@ -0,0 +1,74 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Writing Modes Test: 'vertical-lr' and margin collapsing - elements with 'overflow' set to 'hidden'</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+  <link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#logical-direction-layout" title="7.4 Flow-Relative Mappings" />
+  <link rel="match" href="../css21/reference/ref-filled-green-100px-square.xht" />
+
+  <!--
+  Test adapted and modified from
+  http://test.csswg.org/suites/css2.1/nightly-unstable/html4/margin-collapse-009.htm
+
+  "
+  The margin collapsing rules apply exactly with the block-start margin substituted for the top margin and the block-end margin substituted for the bottom margin.
+  "
+  -->
+
+  <meta content="ahem image" name="flags" />
+  <meta name="assert" content="This test checks that elements with 'overflow' set to 'hidden' do not collapse margin with in-flow children in 'vertical-lr' writing-mode. In this test, we are testing and checking that 'margin-left' of div#overflow does not collapse with 'margin-left' of div#nested." />
+
+<style type="text/css"><![CDATA[
+@font-face {
+  font-family: Ahem;
+  src: url("../../../fonts/Ahem.ttf");
+}
+]]></style>
+  <style type="text/css"><![CDATA[
+  div
+    {
+      font: 25px/1em Ahem;
+      height: 4em;
+    }
+
+  div#wrapper
+    {
+      background-color: green;
+      width: 8em;
+      writing-mode: vertical-lr;
+    }
+
+  div#overflow
+    {
+      background-color: white;
+      margin-left: 4em; /* block-start margin of overflowed block */
+      overflow: hidden;
+      width: 4em;
+    }
+
+  div#nested
+    {
+      background-color: red;
+      margin-left: 4em; /* block-start margin of sub-block */
+      width: 4em;
+    }
+  ]]></style>
+
+ </head>
+
+ <body>
+
+  <p>Test passes if there is a filled green square and <strong>no red</strong>.</p>
+
+  <div id="wrapper">
+    <div id="overflow">
+      <div id="nested"></div>
+    </div>
+  </div>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/margin-collapse-vlr-025.xht
@@ -0,0 +1,65 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Writing Modes Test: 'vertical-lr' and margin collapsing - collapse through empty siblings</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+  <link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#logical-direction-layout" title="7.4 Flow-Relative Mappings" />
+  <link rel="match" href="../css21/reference/ref-filled-green-100px-square.xht" />
+
+  <!--
+  Test adapted from
+  http://test.csswg.org/suites/css2.1/nightly-unstable/html4/margin-collapse-016.htm
+
+  "
+  The margin collapsing rules apply exactly with the block-start margin substituted for the top margin and the block-end margin substituted for the bottom margin.
+  "
+  -->
+
+  <meta content="ahem image" name="flags" />
+  <meta name="assert" content="This test checks that margins can collapse through empty elements in 'vertical-lr' writing-mode." />
+
+<style type="text/css"><![CDATA[
+@font-face {
+  font-family: Ahem;
+  src: url("../../../fonts/Ahem.ttf");
+}
+]]></style>
+  <style type="text/css"><![CDATA[
+  div
+    {
+      font: 25px/1em Ahem;
+      height: 4em;
+    }
+
+  div#wrapper
+    {
+      background-image: url("support/margin-collapse-2em-space-wm-vert.png");
+      background-position: -1em top;
+      border-left: green solid 1em;
+      border-right: green solid 1em;
+      writing-mode: vertical-lr;
+    }
+
+  div.widthless
+    {
+      margin-right: 2em;
+    }
+  ]]></style>
+
+ </head>
+
+ <body>
+
+  <p>Test passes if there is a filled green square and <strong>no red</strong>.</p>
+
+  <div id="wrapper">
+    <div class="widthless"></div>
+    <div class="widthless"></div>
+  </div>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/margin-collapse-vlr-031.xht
@@ -0,0 +1,69 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Writing Modes Test: 'vertical-lr' and margin collapsing - collapse through sibling</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+  <link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#logical-direction-layout" title="7.4 Flow-Relative Mappings" />
+  <link rel="match" href="../css21/reference/ref-filled-green-100px-square.xht" />
+
+  <meta content="ahem image" name="flags" />
+  <meta name="assert" content="This test checks that horizontal margins of boxes can collapse through a sibling box whose left and right margins collapse in 'vertical-lr' writing-mode." />
+
+<style type="text/css"><![CDATA[
+@font-face {
+  font-family: Ahem;
+  src: url("../../../fonts/Ahem.ttf");
+}
+]]></style>
+  <style type="text/css"><![CDATA[
+  div
+    {
+      font: 25px/1em Ahem;
+      height: 4em;
+    }
+
+  div#wrapper
+    {
+      background-image: url("support/margin-collapse-2em-space-wm-vert.png");
+      writing-mode: vertical-lr;
+    }
+
+  div#left-most-sibling
+    {
+      background-color: green;
+      margin-right: 2em;
+      width: 1em;
+    }
+
+  div#middle-sibling
+    {
+      margin-left: 2em;
+      margin-right: 2em;
+    }
+
+  div#right-most-sibling
+    {
+      background-color: green;
+      margin-left: 2em;
+      width: 1em;
+    }
+  ]]></style>
+
+ </head>
+
+ <body>
+
+  <p>Test passes if there is a filled green square and <strong>no red</strong>.</p>
+
+  <div id="wrapper">
+    <div id="left-most-sibling"></div>
+    <div id="middle-sibling"></div>
+    <div id="right-most-sibling"></div>
+  </div>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/margin-collapse-vlr-035.xht
@@ -0,0 +1,72 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Writing Modes Test: 'vertical-lr' and margin collapsing - left margin of a block collapses with left margin of its first child</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+  <link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#logical-direction-layout" title="7.4 Flow-Relative Mappings" />
+  <link rel="match" href="../css21/reference/ref-filled-green-100px-square.xht" />
+
+  <!--
+  Test adapted from
+  http://test.csswg.org/suites/css2.1/nightly-unstable/html4/margin-collapse-017.htm
+
+  "
+  The margin collapsing rules apply exactly with the block-start margin substituted for the top margin and the block-end margin substituted for the bottom margin.
+  "
+  -->
+
+  <meta content="ahem image" name="flags" />
+  <meta name="assert" content="This test checks that, in a vertical-lr context, the left margin an in-flow block element collapses with its first in-flow block-level child's left margin if the element has no top border, no top padding, and the child has no clearance." />
+
+<style type="text/css"><![CDATA[
+@font-face {
+  font-family: Ahem;
+  src: url("../../../fonts/Ahem.ttf");
+}
+]]></style>
+  <style type="text/css"><![CDATA[
+  div
+    {
+      font: 25px/1em Ahem;
+      height: 4em;
+    }
+
+  div#wrapper
+    {
+      background: red url("support/margin-collapse-2em-space-wm-vert.png") -1em top;
+      border-left: green solid 1em;
+      width: 3em;
+      writing-mode: vertical-lr;
+    }
+
+  div#parent
+    {
+      margin-left: 2em; /* block-start margin */
+    }
+
+  div#first-child
+    {
+      background-color: green;
+      margin-left: 2em; /* block-start margin of child */
+      width: 1em;
+    }
+  ]]></style>
+
+ </head>
+
+ <body>
+
+  <p>Test passes if there is a filled green square and <strong>no red</strong>.</p>
+
+  <div id="wrapper">
+    <div id="parent">
+      <div id="first-child"></div>
+    </div>
+  </div>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/margin-collapse-vlr-037.xht
@@ -0,0 +1,76 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Writing Modes Test: 'vertical-lr' and margin collapsing - right margin of a block collapses with right margin of its last child</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+  <link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#logical-direction-layout" title="7.4 Flow-Relative Mappings" />
+  <link rel="match" href="../css21/reference/ref-filled-green-100px-square.xht" />
+
+  <!--
+  "
+  The margin collapsing rules apply exactly with the block-start margin substituted for the top margin and the block-end margin substituted for the bottom margin.
+  "
+  -->
+
+  <meta content="ahem image" name="flags" />
+  <meta name="assert" content="This test checks that, in a vertical-lr context, the right margin an in-flow block box collapses with its last in-flow block-level child's right margin if the element has no right padding and no right border and the child's right margin does not collapse with a left margin that has clearance." />
+
+<style type="text/css"><![CDATA[
+@font-face {
+  font-family: Ahem;
+  src: url("../../../fonts/Ahem.ttf");
+}
+]]></style>
+  <style type="text/css"><![CDATA[
+  div
+    {
+      font: 25px/1em Ahem;
+      height: 4em;
+    }
+
+  div#wrapper
+    {
+      background: red url("support/margin-collapse-2em-space-wm-vert.png") -1em top;
+      border-left: green solid 1em;
+      width: 3em;
+      writing-mode: vertical-lr;
+    }
+
+  div#parent
+    {
+      background-color: green;
+      margin-right: 2em; /* block-end margin */
+    }
+
+  div#last-child
+    {
+      margin-right: 2em; /* block-end margin of last child */
+    }
+
+  div#following-parent
+    {
+      background-color: green;
+      width: 1em;
+    }
+  ]]></style>
+
+ </head>
+
+ <body>
+
+  <p>Test passes if there is a filled green square and <strong>no red</strong>.</p>
+
+  <div id="wrapper">
+    <div id="parent">
+      <div id="widthless-child"></div>
+      <div id="last-child"></div>
+    </div>
+    <div id="following-parent"></div>
+  </div>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/margin-collapse-vrl-002.xht
@@ -0,0 +1,74 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Writing Modes Test: 'vertical-rl' and margin collapsing - maximum of 2 adjoining margins</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+  <link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#logical-direction-layout" title="7.4 Flow-Relative Mappings" />
+  <link rel="match" href="../css21/reference/ref-filled-green-100px-square.xht" />
+
+  <!--
+  Test adapted from
+  http://test.csswg.org/suites/css2.1/nightly-unstable/html4/margin-collapse-002.htm
+
+  "
+  The margin collapsing rules apply exactly with the block-start margin substituted for the top margin and the block-end margin substituted for the bottom margin.
+  "
+  -->
+
+  <meta content="ahem image" name="flags" />
+  <meta name="assert" content="This test checks that margin-end and margin-start of adjacent blocks collapse into its maximum in 'vertical-rl' writing-mode." />
+
+<style type="text/css"><![CDATA[
+@font-face {
+  font-family: Ahem;
+  src: url("../../../fonts/Ahem.ttf");
+}
+]]></style>
+  <style type="text/css"><![CDATA[
+  div
+    {
+      font: 25px/1em Ahem;
+      height: 4em;
+    }
+
+  div#wrapper
+    {
+      background: red url("support/margin-collapse-2em-space-wm-vert.png");
+      width: 4em;
+      writing-mode: vertical-rl;
+    }
+
+  div#wrapper > div
+    {
+      background-color: green;
+      width: 1em;
+    }
+
+  div#rightmost
+    {
+      margin-left: 2em; /* block-end margin of 1st block */
+    }
+
+  div#leftmost
+    {
+      margin-right: 1em; /* block-start margin of following block */
+    }
+  ]]></style>
+
+ </head>
+
+ <body>
+
+  <p>Test passes if there is a filled green square and <strong>no red</strong>.</p>
+
+  <div id="wrapper">
+    <div id="rightmost"></div>
+    <div id="leftmost"></div>
+  </div>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/margin-collapse-vrl-008.xht
@@ -0,0 +1,74 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Writing Modes Test: 'vertical-rl' and margin collapsing - adjoining margins of non-siblings or ancestors</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+  <link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#logical-direction-layout" title="7.4 Flow-Relative Mappings" />
+  <link rel="match" href="../css21/reference/ref-filled-green-100px-square.xht" />
+
+  <!--
+  Test adapted from
+  http://test.csswg.org/suites/css2.1/nightly-unstable/html4/margin-collapse-005.htm
+
+  "
+  The margin collapsing rules apply exactly with the block-start margin substituted for the top margin and the block-end margin substituted for the bottom margin.
+  "
+  -->
+
+  <meta content="ahem image" name="flags" />
+  <meta name="assert" content="This test checks that adjoining margin-end and margin-start boxes generated by elements, that are not related by siblings or ancestors, collapse in 'vertical-rl' writing-mode." />
+
+<style type="text/css"><![CDATA[
+@font-face {
+  font-family: Ahem;
+  src: url("../../../fonts/Ahem.ttf");
+}
+]]></style>
+  <style type="text/css"><![CDATA[
+  div
+    {
+      font: 25px/1em Ahem;
+      height: 4em;
+    }
+
+  div#wrapper
+    {
+      background: red url("support/margin-collapse-2em-space-wm-vert.png");
+      width: 4em;
+      writing-mode: vertical-rl;
+    }
+
+  div#rightmost
+    {
+      background-color: green;
+      margin-left: 2em; /* block-end margin of sub-block of 1st block */
+      width: 1em;
+    }
+
+  div#leftmost
+    {
+      background-color: green;
+      margin-right: 1em; /* block-start margin of following sibling block */
+      width: 1em;
+    }
+  ]]></style>
+
+ </head>
+
+ <body>
+
+  <p>Test passes if there is a filled green square and <strong>no red</strong>.</p>
+
+  <div id="wrapper">
+    <div>
+      <div id="rightmost"></div>
+    </div>
+    <div id="leftmost"></div>
+  </div>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/margin-collapse-vrl-010.xht
@@ -0,0 +1,75 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Writing Modes Test: 'vertical-rl' and margin collapsing - floated elements do not collapse margins</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+  <link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#logical-direction-layout" title="7.4 Flow-Relative Mappings" />
+  <link rel="match" href="../css21/reference/ref-filled-green-100px-square.xht" />
+
+  <!--
+  Test adapted from
+  http://test.csswg.org/suites/css2.1/nightly-unstable/html4/margin-collapse-006.htm
+
+  "
+  The margin collapsing rules apply exactly with the block-start margin substituted for the top margin and the block-end margin substituted for the bottom margin.
+  "
+  -->
+
+  <meta content="ahem image" name="flags" />
+  <meta name="assert" content="This test checks that margin-start of floated box does not collapse with the margin-end of a preceding block box in 'vertical-rl' writing-mode." />
+
+<style type="text/css"><![CDATA[
+@font-face {
+  font-family: Ahem;
+  src: url("../../../fonts/Ahem.ttf");
+}
+]]></style>
+  <style type="text/css"><![CDATA[
+  div
+    {
+      font: 25px/1em Ahem;
+      height: 4em;
+    }
+
+  div#wrapper
+    {
+      background: red url("support/margin-collapse-2em-space-wm-vert.png");
+      width: 4em;
+      writing-mode: vertical-rl;
+    }
+
+  div#wrapper > div
+    {
+      background-color: green;
+      width: 1em;
+    }
+
+  div#rightmost
+    {
+      margin-left: 1em; /* block-end margin of 1st block */
+    }
+
+  div#leftmost
+    {
+      float: left;
+      margin-right: 1em; /* block-start margin of floated box */
+    }
+  ]]></style>
+
+ </head>
+
+ <body>
+
+  <p>Test passes if there is a filled green square and <strong>no red</strong>.</p>
+
+  <div id="wrapper">
+    <div id="rightmost"></div>
+    <div id="leftmost"></div>
+  </div>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/margin-collapse-vrl-014.xht
@@ -0,0 +1,76 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Writing Modes Test: 'vertical-rl' and margin collapsing - elements with 'overflow' set to 'visible'</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+  <link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#logical-direction-layout" title="7.4 Flow-Relative Mappings" />
+  <link rel="match" href="../css21/reference/ref-filled-green-100px-square.xht" />
+
+  <!--
+  Test adapted from
+  http://test.csswg.org/suites/css2.1/nightly-unstable/html4/margin-collapse-008.htm
+
+  "
+  The margin collapsing rules apply exactly with the block-start margin substituted for the top margin and the block-end margin substituted for the bottom margin.
+  "
+  -->
+
+  <meta content="ahem image" name="flags" />
+  <meta name="assert" content="This test checks that elements with 'overflow' set to 'visible' collapse margin with in-flow children in 'vertical-rl' writing-mode." />
+
+<style type="text/css"><![CDATA[
+@font-face {
+  font-family: Ahem;
+  src: url("../../../fonts/Ahem.ttf");
+}
+]]></style>
+  <style type="text/css"><![CDATA[
+  div
+    {
+      font: 25px/1em Ahem;
+      height: 4em;
+    }
+
+  div#wrapper
+    {
+      background: url("support/margin-collapse-2em-space-wm-vert.png") left top;
+      border-right: green solid 1em;
+      writing-mode: vertical-rl;
+    }
+
+  div#wrapper div
+    {
+      width: 1em;
+    }
+
+  div#overflow
+    {
+      margin-right: 2em; /* block-start margin of overflowed block */
+      overflow: visible;
+    }
+
+  div#nested
+    {
+      background-color: green;
+      margin-right: 2em; /* block-start margin of sub-block */
+    }
+  ]]></style>
+
+ </head>
+
+ <body>
+
+  <p>Test passes if there is a filled green square and <strong>no red</strong>.</p>
+
+  <div id="wrapper">
+    <div id="overflow">
+      <div id="nested"></div>
+    </div>
+  </div>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/margin-collapse-vrl-016.xht
@@ -0,0 +1,73 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Writing Modes Test: 'vertical-rl' and margin collapsing - elements with 'overflow' set to 'hidden'</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+  <link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#logical-direction-layout" title="7.4 Flow-Relative Mappings" />
+  <link rel="match" href="../css21/reference/ref-filled-green-100px-square.xht" />
+
+  <!--
+  Test adapted and modified from
+  http://test.csswg.org/suites/css2.1/nightly-unstable/html4/margin-collapse-009.htm
+
+  "
+  The margin collapsing rules apply exactly with the block-start margin substituted for the top margin and the block-end margin substituted for the bottom margin.
+  "
+  -->
+
+  <meta content="ahem image" name="flags" />
+  <meta name="assert" content="This test checks that elements with 'overflow' set to 'hidden' do not collapse their horizontal margin with the horizontal margin in-flow children in 'vertical-rl' writing-mode. In this test, we are testing and checking that 'margin-right' of div#overflow does not collapse with 'margin-right' of div#nested." />
+
+<style type="text/css"><![CDATA[
+@font-face {
+  font-family: Ahem;
+  src: url("../../../fonts/Ahem.ttf");
+}
+]]></style>
+  <style type="text/css"><![CDATA[
+  div
+    {
+      font: 25px/1em Ahem;
+      height: 4em;
+    }
+
+  div#wrapper
+    {
+      width: 8em;
+      writing-mode: vertical-rl;
+    }
+
+  div#overflow
+    {
+      background-color: green;
+      margin-right: 4em; /* block-start margin of overflowed block */
+      overflow: hidden;
+      width: 4em;
+    }
+
+  div#nested
+    {
+      background-color: red;
+      margin-right: 4em; /* block-start margin of sub-block */
+      width: 4em;
+    }
+  ]]></style>
+
+ </head>
+
+ <body>
+
+  <p>Test passes if there is a filled green square and <strong>no red</strong>.</p>
+
+  <div id="wrapper">
+    <div id="overflow">
+      <div id="nested"></div>
+    </div>
+  </div>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/margin-collapse-vrl-024.xht
@@ -0,0 +1,65 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Writing Modes Test: 'vertical-rl' and margin collapsing - collapse through empty siblings</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+  <link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#logical-direction-layout" title="7.4 Flow-Relative Mappings" />
+  <link rel="match" href="../css21/reference/ref-filled-green-100px-square.xht" />
+
+  <!--
+  Test adapted from
+  http://test.csswg.org/suites/css2.1/nightly-unstable/html4/margin-collapse-016.htm
+
+  "
+  The margin collapsing rules apply exactly with the block-start margin substituted for the top margin and the block-end margin substituted for the bottom margin.
+  "
+  -->
+
+  <meta content="ahem image" name="flags" />
+  <meta name="assert" content="This test checks that margins can collapse through empty elements in 'vertical-rl' writing-mode." />
+
+<style type="text/css"><![CDATA[
+@font-face {
+  font-family: Ahem;
+  src: url("../../../fonts/Ahem.ttf");
+}
+]]></style>
+  <style type="text/css"><![CDATA[
+  div
+    {
+      font: 25px/1em Ahem;
+      height: 4em;
+    }
+
+  div#wrapper
+    {
+      background-image: url("support/margin-collapse-2em-space-wm-vert.png");
+      background-position: -1em top;
+      border-left: green solid 1em;
+      border-right: green solid 1em;
+      writing-mode: vertical-rl;
+    }
+
+  div.widthless
+    {
+      margin-left: 2em;
+    }
+  ]]></style>
+
+ </head>
+
+ <body>
+
+  <p>Test passes if there is a filled green square and <strong>no red</strong>.</p>
+
+  <div id="wrapper">
+    <div class="widthless"></div>
+    <div class="widthless"></div>
+  </div>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/margin-collapse-vrl-030.xht
@@ -0,0 +1,69 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Writing Modes Test: 'vertical-rl' and margin collapsing - collapse through sibling</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+  <link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#logical-direction-layout" title="7.4 Flow-Relative Mappings" />
+  <link rel="match" href="../css21/reference/ref-filled-green-100px-square.xht" />
+
+  <meta content="ahem image" name="flags" />
+  <meta name="assert" content="This test checks that horizontal margins of boxes can collapse through a sibling box whose left and right margins collapse in 'vertical-rl' writing-mode." />
+
+<style type="text/css"><![CDATA[
+@font-face {
+  font-family: Ahem;
+  src: url("../../../fonts/Ahem.ttf");
+}
+]]></style>
+  <style type="text/css"><![CDATA[
+  div
+    {
+      font: 25px/1em Ahem;
+      height: 4em;
+    }
+
+  div#wrapper
+    {
+      background-image: url("support/margin-collapse-2em-space-wm-vert.png");
+      writing-mode: vertical-rl;
+    }
+
+  div#right-most-sibling
+    {
+      background-color: green;
+      margin-left: 2em;
+      width: 1em;
+    }
+
+  div#middle-sibling
+    {
+      margin-left: 2em;
+      margin-right: 2em;
+    }
+
+  div#left-most-sibling
+    {
+      background-color: green;
+      margin-right: 2em;
+      width: 1em;
+    }
+  ]]></style>
+
+ </head>
+
+ <body>
+
+  <p>Test passes if there is a filled green square and <strong>no red</strong>.</p>
+
+  <div id="wrapper">
+    <div id="right-most-sibling"></div>
+    <div id="middle-sibling"></div>
+    <div id="left-most-sibling"></div>
+  </div>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/margin-collapse-vrl-034.xht
@@ -0,0 +1,72 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Writing Modes Test: 'vertical-rl' and margin collapsing - right margin of a block collapses with right margin of its first child</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+  <link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#logical-direction-layout" title="7.4 Flow-Relative Mappings" />
+  <link rel="match" href="../css21/reference/ref-filled-green-100px-square.xht" />
+
+  <!--
+  Test adapted from
+  http://test.csswg.org/suites/css2.1/nightly-unstable/html4/margin-collapse-017.htm
+
+  "
+  The margin collapsing rules apply exactly with the block-start margin substituted for the top margin and the block-end margin substituted for the bottom margin.
+  "
+  -->
+
+  <meta content="ahem image" name="flags" />
+  <meta name="assert" content="This test checks that, in a vertical-rl context, the right margin an in-flow block box collapses with its first in-flow block-level child's right margin if the element has no top border, no top padding, and the child has no clearance." />
+
+<style type="text/css"><![CDATA[
+@font-face {
+  font-family: Ahem;
+  src: url("../../../fonts/Ahem.ttf");
+}
+]]></style>
+  <style type="text/css"><![CDATA[
+  div
+    {
+      font: 25px/1em Ahem;
+      height: 4em;
+    }
+
+  div#wrapper
+    {
+      background: red url("support/margin-collapse-2em-space-wm-vert.png");
+      border-right: green solid 1em;
+      width: 3em;
+      writing-mode: vertical-rl;
+    }
+
+  div#parent
+    {
+      margin-right: 2em; /* block-start margin */
+    }
+
+  div#first-child
+    {
+      background-color: green;
+      margin-right: 2em; /* block-start margin of child */
+      width: 1em;
+    }
+  ]]></style>
+
+ </head>
+
+ <body>
+
+  <p>Test passes if there is a filled green square and <strong>no red</strong>.</p>
+
+  <div id="wrapper">
+    <div id="parent">
+      <div id="first-child"></div>
+    </div>
+  </div>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/margin-collapse-vrl-036.xht
@@ -0,0 +1,76 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Writing Modes Test: 'vertical-rl' and margin collapsing - left margin of a block collapses with left margin of its last child</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+  <link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#logical-direction-layout" title="7.4 Flow-Relative Mappings" />
+  <link rel="match" href="../css21/reference/ref-filled-green-100px-square.xht" />
+
+  <!--
+  "
+  The margin collapsing rules apply exactly with the block-start margin substituted for the top margin and the block-end margin substituted for the bottom margin.
+  "
+  -->
+
+  <meta content="ahem image" name="flags" />
+  <meta name="assert" content="This test checks that, in a vertical-rl context, the left margin an in-flow block box collapses with its last in-flow block-level child's left margin if the element has no left padding and no left border and the child's left margin does not collapse with a right margin that has clearance." />
+
+<style type="text/css"><![CDATA[
+@font-face {
+  font-family: Ahem;
+  src: url("../../../fonts/Ahem.ttf");
+}
+]]></style>
+  <style type="text/css"><![CDATA[
+  div
+    {
+      font: 25px/1em Ahem;
+      height: 4em;
+    }
+
+  div#wrapper
+    {
+      background: red url("support/margin-collapse-2em-space-wm-vert.png");
+      border-right: green solid 1em;
+      width: 3em;
+      writing-mode: vertical-rl;
+    }
+
+  div#parent
+    {
+      background-color: green;
+      margin-left: 2em; /* block-end margin */
+    }
+
+  div#last-child
+    {
+      margin-left: 2em; /* block-end margin of last child */
+    }
+
+  div#following-parent
+    {
+      background-color: green;
+      width: 1em;
+    }
+  ]]></style>
+
+ </head>
+
+ <body>
+
+  <p>Test passes if there is a filled green square and <strong>no red</strong>.</p>
+
+  <div id="wrapper">
+    <div id="parent">
+      <div id="widthless-child"></div>
+      <div id="last-child"></div>
+    </div>
+    <div id="following-parent"></div>
+  </div>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/margin-vlr-003.xht
@@ -0,0 +1,81 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Writing Modes Test: margin in 'vertical-lr' writing-mode context</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+  <link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#vertical-layout" title="7.1 Principles of Layout in Vertical Writing Modes" />
+  <!--
+  Test inspired by
+  http://lxr.mozilla.org/mozilla-central/source/layout/reftests/writing-mode/1096224-1b.html
+  -->
+  <link rel="match" href="margin-vrl-002-ref.xht" />
+
+  <meta content="image" name="flags" />
+  <meta content="This test checks that margin-left, margin-right, margin-top and margin-bottom do not change in vertical writing-mode. The margin-left property of a box still affects the lefthand margin of such box." name="assert" />
+
+  <style type="text/css"><![CDATA[
+  .outer
+    {
+      background-color: blue;
+      border: blue solid 3px;
+      width: 200px;
+    }
+
+  hr
+    {
+      background-color: transparent;
+      border: transparent none 0px;
+      height: 3px;
+      margin: 0.5em auto;
+    }
+
+  .inner
+    {
+      background-color: yellow;
+      height: 50px;
+      width: 50px;
+    }
+
+  .foo
+    {
+      margin-bottom: 5px;
+      margin-left: 100px;
+      margin-right: 50px;
+      margin-top: 20px;
+      writing-mode: vertical-lr;
+    }
+
+  .bar
+    {
+      margin-bottom: 20px;
+      margin-left: 50px;
+      margin-right: 100px;
+      margin-top: 5px;
+      writing-mode: vertical-lr;
+    }
+
+  div#reference
+    {
+      margin-top: 1em;
+    }
+  ]]></style>
+ </head>
+
+ <body>
+
+  <p>Test passes if there are 2 <strong>identical</strong> blue rectangles, each with 2 small yellow squares: the layout must be identical.</p>
+
+  <div class="outer">
+    <div class="inner foo"></div>
+    <hr />
+    <div class="inner bar"></div>
+  </div>
+
+  <div id="reference"><img src="support/blue-yellow-206w-165h.png" width="206" height="165" alt="Image download support must be enabled" /></div>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/margin-vrl-002-ref.xht
@@ -0,0 +1,35 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Reftest Reference</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+
+  <meta name="flags" content="image" />
+
+  <style type="text/css"><![CDATA[
+  div
+    {
+      margin-bottom: 1em;
+    }
+
+  img
+    {
+      vertical-align: top;
+    }
+  ]]></style>
+ </head>
+
+ <body>
+
+  <p>Test passes if there are 2 <strong>identical</strong> blue rectangles, each with 2 small yellow squares: the layout must be identical.</p>
+
+  <div><img src="support/blue-yellow-206w-165h.png" width="206" height="165" alt="Image download support must be enabled" /></div>
+
+  <div><img src="support/blue-yellow-206w-165h.png" width="206" height="165" alt="Image download support must be enabled" /></div>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/margin-vrl-002.xht
@@ -0,0 +1,81 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Writing Modes Test: margin in 'vertical-rl' writing-mode context</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+  <link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#vertical-layout" title="7.1 Principles of Layout in Vertical Writing Modes" />
+  <!--
+  Test inspired by
+  http://lxr.mozilla.org/mozilla-central/source/layout/reftests/writing-mode/1096224-1b.html
+  -->
+  <link rel="match" href="margin-vrl-002-ref.xht" />
+
+  <meta content="image" name="flags" />
+  <meta content="This test checks that margin-left, margin-right, margin-top and margin-bottom do not change in vertical writing-mode. The margin-left property of a box still affects the lefthand margin of such box." name="assert" />
+
+  <style type="text/css"><![CDATA[
+  .outer
+    {
+      background-color: blue;
+      border: blue solid 3px;
+      width: 200px;
+    }
+
+  hr
+    {
+      background-color: transparent;
+      border: transparent none 0px;
+      height: 3px;
+      margin: 0.5em auto;
+    }
+
+  .inner
+    {
+      background-color: yellow;
+      height: 50px;
+      width: 50px;
+    }
+
+  .foo
+    {
+      margin-bottom: 5px;
+      margin-left: 100px;
+      margin-right: 50px;
+      margin-top: 20px;
+      writing-mode: vertical-rl;
+    }
+
+  .bar
+    {
+      margin-bottom: 20px;
+      margin-left: 50px;
+      margin-right: 100px;
+      margin-top: 5px;
+      writing-mode: vertical-rl;
+    }
+
+  div#reference
+    {
+      margin-top: 1em;
+    }
+  ]]></style>
+ </head>
+
+ <body>
+
+  <p>Test passes if there are 2 <strong>identical</strong> blue rectangles, each with 2 small yellow squares: the layout must be identical.</p>
+
+  <div class="outer">
+    <div class="inner foo"></div>
+    <hr />
+    <div class="inner bar"></div>
+  </div>
+
+  <div id="reference"><img src="support/blue-yellow-206w-165h.png" width="206" height="165" alt="Image download support must be enabled" /></div>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/ortho-htb-alongside-vrl-floats-002-ref.xht
@@ -0,0 +1,121 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Reftest Reference</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+
+  <meta content="image" name="flags" />
+
+  <style type="text/css"><![CDATA[
+  html
+    {
+      height: 100%;
+    }
+
+  /*
+    minimum used height of the document root element is 176px;
+    less than 176px will make the reference file no longer reliable.
+
+       36px : img#pass-fail-conditions-sentence's intrinsic height
+     +
+        4px : descender space below baseline
+     =========
+       40px : 1st table (height: 25%)
+    multiplied by
+        4
+     =========
+      160px : height of the 3 tables
+    +
+        8px : body's margin-top
+    +
+        8px : body's margin-bottom
+     =========
+      176px
+  */
+
+  body
+    {
+      height: calc(100% - 16px);
+    }
+
+  table
+    {
+      border-spacing: 0px;
+      margin: 0px;
+      table-layout: fixed;
+      width: 100%;
+    }
+
+  td
+    {
+      padding: 0px;
+      vertical-align: top;
+    }
+
+  table#first-table-top
+    {
+      height: 25%;
+    }
+
+  table#second-table-middle
+    {
+      height: 25%;
+    }
+
+  table#third-table-bottom
+    {
+      height: 50%;
+    }
+  ]]></style>
+ </head>
+
+ <body>
+
+  <table id="first-table-top">
+
+  <col></col><col width="100"></col><col width="100"></col><col width="324"></col>
+
+    <tr>
+      <td></td>
+      <td style="background-color: olive;">&nbsp;</td>
+      <td style="background-color: blue;">&nbsp;</td>
+      <td style="padding-left: 16px; padding-right: 8px;"><img id="pass-fail-conditions-sentence" src="support/ortho-htb-alongside-vrl-floats-002-exp-res.png" alt="Image download support must be enabled" />
+      <!--
+      The image says:
+      Test passes if the orange rectangle
+      is below the blue rectangle.
+  --></td>
+    </tr>
+
+  </table>
+
+
+
+  <table id="second-table-middle">
+
+  <col></col><col width="100"></col><col width="100"></col><col width="324"></col>
+
+    <tr>
+      <td></td><td style="background-color: olive;">&nbsp;</td><td style="background-color: orange;">&nbsp;</td><td></td>
+    </tr>
+
+  </table>
+
+
+
+  <table id="third-table-bottom">
+
+  <col></col><col width="100"></col><col width="100"></col><col width="324"></col>
+
+    <tr>
+      <td></td><td></td><td style="background-color: orange;">&nbsp;</td><td></td>
+    </tr>
+
+  </table>
+
+ </body>
+</html>
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/ortho-htb-alongside-vrl-floats-002.xht
@@ -0,0 +1,98 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Writing Modes Test: positioning of an orthogonal (horizontal-tb) block alongside vertical-rl floats</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+  <link rel="bookmark" href="https://bugzilla.mozilla.org/show_bug.cgi?id=1283721" title="Bug 1283721: Incorrect positioning of orthogonal (horizontal-tb) block alongside vertical-rl floats" />
+  <link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#vertical-layout" title="7.1 Principles of Layout in Vertical Writing Modes" />
+  <link rel="match" href="ortho-htb-alongside-vrl-floats-002-ref.xht" />
+
+  <!--
+  The 'horizontal-tb' equivalent of this test is
+  http://www.gtalbot.org/BugzillaSection/Bug1283721-ortho-htb-alongside-vrl-floats-006htb.html
+  -->
+
+  <meta content="image" name="flags" />
+  <meta content="This test checks that non-positioned block boxes created after the float box flow vertically as if the float did not exist. In this test, the orange block box, which creates a new block formatting context, should flow next to the earliest float that offers sufficient (logical width) space." name="assert" />
+  <meta name="DC.date.created" content="2016-07-04T09:54:03+11:00" scheme="W3CDTF" />
+  <meta name="DC.date.modified" content="2016-07-21T09:54:03+11:00" scheme="W3CDTF" />
+
+  <style type="text/css"><![CDATA[
+  html
+    {
+      writing-mode: vertical-rl;
+    }
+
+  /*
+    minimum used height of the document root element is 176px;
+    less than 176px will make the reference file no longer reliable.
+
+       36px : image intrinsic height
+     +
+        4px : descender space below baseline
+     =========
+       40px : 1st table with 'height: 25%'
+    multiplied by
+        4
+     =========
+      160px : height of the 3 tables
+    +
+        8px : body's margin-top
+    +
+        8px : body's margin-bottom
+     =========
+      176px
+  */
+
+  div
+    {
+      width: 100px;
+    }
+
+  div#first-blue-float
+    {
+      background-color: blue;
+      float: left;
+      height: 25%;
+    }
+
+  div#second-olive-float-with-clear
+    {
+      background-color: olive;
+      clear: left;
+      float: left;
+      height: 50%;
+    }
+
+  div#orange-horiz-tb
+    {
+      background-color: orange;
+      height: 75%;
+      writing-mode: horizontal-tb;
+    }
+  ]]></style>
+
+ </head>
+
+ <body>
+
+  <p><img src="support/ortho-htb-alongside-vrl-floats-002-exp-res.png" width="300" height="36" alt="Image download support must be enabled" /></p>
+
+  <!--
+  The image says:
+  Test passes if the orange rectangle
+  is below the blue rectangle.
+  -->
+
+  <div id="first-blue-float">&nbsp;</div>
+
+  <div id="second-olive-float-with-clear">&nbsp;</div>
+
+  <div id="orange-horiz-tb">&nbsp;</div>
+
+ </body>
+</html>
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/ortho-htb-alongside-vrl-floats-006-ref.xht
@@ -0,0 +1,121 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Reftest Reference</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+
+  <meta content="image" name="flags" />
+
+  <style type="text/css"><![CDATA[
+  html
+    {
+      height: 100%;
+    }
+
+  /*
+    minimum used height of the document root element is 176px;
+    less than 176px will make the reference file no longer reliable.
+
+       36px : img#pass-fail-conditions-sentence's intrinsic height
+     +
+        4px : descender space below baseline
+     =========
+       40px : 1st table (height: 25%)
+    multiplied by
+        4
+     =========
+      160px : height of the 3 tables
+    +
+        8px : body's margin-top
+    +
+        8px : body's margin-bottom
+     =========
+      176px
+  */
+
+  body
+    {
+      height: calc(100% - 16px);
+    }
+
+  table
+    {
+      border-spacing: 0px;
+      height: 25%;
+      margin: 0px;
+      table-layout: fixed;
+      width: 100%;
+    }
+
+  td
+    {
+      padding: 0px;
+      vertical-align: top;
+    }
+  ]]></style>
+ </head>
+
+ <body>
+
+  <table id="first-table-top">
+
+  <col></col><col width="100"></col><col width="100"></col><col width="100"></col><col width="100"></col><col width="324"></col>
+
+    <tr>
+      <td></td>
+      <td style="background-color: fuchsia;">&nbsp;</td>
+      <td style="background-color: olive;">&nbsp;</td>
+      <td style="background-color: blue;">&nbsp;</td>
+      <td style="background-color: fuchsia;">&nbsp;</td>
+      <td style="padding-left: 16px; padding-right: 8px;"><img id="pass-fail-conditions-sentence" src="support/ortho-htb-alongside-vrl-floats-002-exp-res.png" alt="Image download support must be enabled" />
+      <!--
+      The image says:
+      Test passes if the orange rectangle
+      is below the blue rectangle.
+  --></td>
+    </tr>
+
+  </table>
+
+
+
+  <table id="second-table-middle">
+
+  <col></col><col width="100"></col><col width="100"></col><col width="100"></col><col width="100"></col><col width="324"></col>
+
+    <tr>
+      <td></td><td style="background-color: fuchsia;"></td><td style="background-color: olive;">&nbsp;</td><td style="background-color: orange;">&nbsp;</td><td style="background-color: fuchsia;">&nbsp;</td><td></td>
+    </tr>
+
+  </table>
+
+
+
+  <table id="third-table-middle">
+
+  <col></col><col width="100"></col><col width="100"></col><col width="100"></col><col width="100"></col><col width="324"></col>
+
+    <tr>
+      <td></td><td style="background-color: fuchsia;"></td><td></td><td style="background-color: orange;">&nbsp;</td><td style="background-color: fuchsia;">&nbsp;</td><td></td>
+    </tr>
+
+  </table>
+
+
+
+  <table id="fourth-table-bottom">
+
+  <col></col><col width="100"></col><col width="100"></col><col width="100"></col><col width="100"></col><col width="324"></col>
+
+    <tr>
+      <td></td><td></td><td></td><td></td><td></td>
+    </tr>
+
+  </table>
+
+ </body>
+</html>
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/ortho-htb-alongside-vrl-floats-006.xht
@@ -0,0 +1,97 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Writing Modes Test: positioning of an orthogonal (horizontal-tb) block alongside vertical-rl floats</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+  <link rel="bookmark" href="https://bugzilla.mozilla.org/show_bug.cgi?id=1283721" title="Bug 1283721: Incorrect positioning of orthogonal (horizontal-tb) block alongside vertical-rl floats" />
+  <link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#vertical-layout" title="7.1 Principles of Layout in Vertical Writing Modes" />
+  <link rel="match" href="ortho-htb-alongside-vrl-floats-006-ref.xht" />
+
+  <!--
+  The 'horizontal-tb' equivalent of this test is
+  http://www.gtalbot.org/BugzillaSection/Bug1283721-new-block-form-ctxt-alongside-floats-005.html
+  -->
+
+  <meta content="image" name="flags" />
+  <meta content="This test checks that non-positioned block boxes created after the float box flow vertically as if the float did not exist. In this test, the orange block box, which creates a new block formatting context, should flow next to the earliest float that offers sufficient (logical width) space: in this test, this is the blue rectangle." name="assert" />
+  <meta name="DC.date.created" content="2016-07-04T09:54:03+11:00" scheme="W3CDTF" />
+  <meta name="DC.date.modified" content="2016-07-21T09:54:03+11:00" scheme="W3CDTF" />
+
+  <style type="text/css"><![CDATA[
+  html
+    {
+      writing-mode: vertical-rl;
+    }
+
+  div
+    {
+      width: 100px;
+    }
+
+  div#tall-fuchsia-float
+    {
+      background-color: fuchsia;
+      float: left;
+      height: 75%;
+    }
+
+  div#second-blue-float
+    {
+      background-color: blue;
+      clear: left;
+      float: left;
+      height: 25%;
+    }
+
+  div#third-olive-float-with-clear
+    {
+      background-color: olive;
+      clear: left;
+      float: left;
+      height: 50%;
+    }
+
+  div#fourth-fuchsia-float-with-clear
+    {
+      background-color: fuchsia;
+      clear: left;
+      float: left;
+      height: 75%;
+    }
+
+  div#orange-horiz-tb
+    {
+      background-color: orange;
+      height: 50%;
+      writing-mode: horizontal-tb;
+    }
+  ]]></style>
+
+ </head>
+
+ <body>
+
+  <p><img src="support/ortho-htb-alongside-vrl-floats-002-exp-res.png" width="300" height="36" alt="Image download support must be enabled" /></p>
+
+  <!--
+  The image says:
+  Test passes if the orange rectangle
+  is below the blue rectangle.
+  -->
+
+  <div id="tall-fuchsia-float">&nbsp;</div>
+
+  <div id="second-blue-float">&nbsp;</div>
+
+  <div id="third-olive-float-with-clear">&nbsp;</div>
+
+  <div id="fourth-fuchsia-float-with-clear">&nbsp;</div>
+
+  <div id="orange-horiz-tb">&nbsp;</div>
+
+ </body>
+</html>
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/ortho-htb-alongside-vrl-floats-010-ref.xht
@@ -0,0 +1,128 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Reftest Reference</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+
+  <meta content="image" name="flags" />
+
+  <style type="text/css"><![CDATA[
+  html
+    {
+      height: 100%;
+    }
+
+  /*
+    minimum used height of the document root element is 176px;
+    less than 176px will make the reference file no longer reliable.
+
+       36px : img#pass-fail-conditions-sentence's intrinsic height
+     +
+        4px : descender space below baseline
+     =========
+       40px : 1st table (height: 25%)
+    multiplied by
+        4
+     =========
+      160px : height of the 3 tables
+    +
+        8px : body's margin-top
+    +
+        8px : body's margin-bottom
+     =========
+      176px
+  */
+
+  body
+    {
+      height: calc(100% - 16px);
+    }
+
+  table
+    {
+      border-spacing: 0px;
+      height: 25%;
+      margin: 0px;
+      table-layout: fixed;
+      width: 100%;
+    }
+
+  td
+    {
+      padding: 0px;
+      vertical-align: top;
+    }
+  ]]></style>
+ </head>
+
+ <body>
+
+  <table id="first-table-top">
+
+  <col></col><col width="100"></col><col width="100"></col><col width="100"></col><col width="324"></col>
+
+    <tr>
+      <td></td>
+      <td style="background-color: fuchsia;">&nbsp;</td>
+      <td style="background-color: olive;">&nbsp;</td>
+      <td style="background-color: blue;">&nbsp;</td>
+      <td style="padding-left: 16px; padding-right: 8px;"><img id="pass-fail-conditions-sentence" src="support/ortho-htb-alongside-vrl-floats-002-exp-res.png" alt="Image download support must be enabled" />
+      <!--
+      The image says:
+      Test passes if the orange rectangle
+      is below the blue rectangle.
+  --></td>
+    </tr>
+
+  </table>
+
+
+
+  <table id="second-table-middle">
+
+  <col></col><col width="100"></col><col width="100"></col><col width="100"></col><col width="324"></col>
+
+    <tr>
+      <td></td>
+      <td style="background-color: fuchsia;"></td>
+      <td style="background-color: olive;">&nbsp;</td>
+      <td style="background-color: orange;">&nbsp;</td>
+      <td></td>
+    </tr>
+
+  </table>
+
+
+
+  <table id="third-table-middle">
+
+  <col></col><col width="100"></col><col width="100"></col><col width="100"></col><col width="324"></col>
+
+    <tr>
+      <td></td>
+      <td style="background-color: fuchsia;"></td>
+      <td></td>
+      <td style="background-color: orange;">&nbsp;</td>
+      <td></td>
+    </tr>
+
+  </table>
+
+
+
+  <table id="fourth-table-bottom">
+
+  <col></col><col width="100"></col><col width="100"></col><col width="100"></col><col width="324"></col>
+
+    <tr>
+      <td></td><td></td><td></td><td></td>
+    </tr>
+
+  </table>
+
+ </body>
+</html>
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/ortho-htb-alongside-vrl-floats-010.xht
@@ -0,0 +1,88 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Writing Modes Test: positioning of an orthogonal (horizontal-tb) block alongside vertical-rl floats</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+  <link rel="bookmark" href="https://bugzilla.mozilla.org/show_bug.cgi?id=1283721" title="Bug 1283721: Incorrect positioning of orthogonal (horizontal-tb) block alongside vertical-rl floats" />
+  <link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#vertical-layout" title="7.1 Principles of Layout in Vertical Writing Modes" />
+  <link rel="match" href="ortho-htb-alongside-vrl-floats-010-ref.xht" />
+
+  <!--
+  The 'horizontal-tb' equivalent of this test is
+  http://www.gtalbot.org/BugzillaSection/Bug1283721-new-block-form-ctxt-alongside-floats-004.html
+  -->
+
+  <meta content="image" name="flags" />
+  <meta content="This test checks that non-positioned block boxes created after the float box flow vertically as if the float did not exist. In this test, the orange block box, which creates a new block formatting context, should flow next to the earliest float that offers sufficient (logical width) space: in this test, this is the blue rectangle." name="assert" />
+  <meta name="DC.date.created" content="2016-07-04T09:54:03+11:00" scheme="W3CDTF" />
+  <meta name="DC.date.modified" content="2016-07-21T09:54:03+11:00" scheme="W3CDTF" />
+
+  <style type="text/css"><![CDATA[
+  html
+    {
+      writing-mode: vertical-rl;
+    }
+
+  div
+    {
+      width: 100px;
+    }
+
+  div#first-blue-float
+    {
+      background-color: blue;
+      clear: left;
+      float: left;
+      height: 25%;
+    }
+
+  div#second-olive-float-with-clear
+    {
+      background-color: olive;
+      clear: left;
+      float: left;
+      height: 50%;
+    }
+
+  div#third-fuchsia-float-with-clear
+    {
+      background-color: fuchsia;
+      clear: left;
+      float: left;
+      height: 75%;
+    }
+
+  div#orange-horiz-tb
+    {
+      background-color: orange;
+      height: 50%;
+      writing-mode: horizontal-tb;
+    }
+  ]]></style>
+
+ </head>
+
+ <body>
+
+  <p><img src="support/ortho-htb-alongside-vrl-floats-002-exp-res.png" width="300" height="36" alt="Image download support must be enabled" /></p>
+
+  <!--
+  The image says:
+  Test passes if the orange rectangle
+  is below the blue rectangle.
+  -->
+
+  <div id="first-blue-float">&nbsp;</div>
+
+  <div id="second-olive-float-with-clear">&nbsp;</div>
+
+  <div id="third-fuchsia-float-with-clear">&nbsp;</div>
+
+  <div id="orange-horiz-tb">&nbsp;</div>
+
+ </body>
+</html>
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/ortho-htb-alongside-vrl-floats-014-ref.xht
@@ -0,0 +1,121 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Reftest Reference</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+
+  <meta content="image" name="flags" />
+
+  <style type="text/css"><![CDATA[
+  html
+    {
+      height: 100%;
+    }
+
+  /*
+    minimum used height of the document root element is 176px;
+    less than 176px will make the reference file no longer reliable.
+
+       36px : img#pass-fail-conditions-sentence's intrinsic height
+     +
+        4px : descender space below baseline
+     =========
+       40px : 1st table (height: 25%)
+    multiplied by
+        4
+     =========
+      160px : height of the 3 tables
+    +
+        8px : body's margin-top
+    +
+        8px : body's margin-bottom
+     =========
+      176px
+  */
+
+  body
+    {
+      height: calc(100% - 16px);
+    }
+
+  table
+    {
+      border-spacing: 0px;
+      margin: 0px;
+      table-layout: fixed;
+      width: 100%;
+    }
+
+  td
+    {
+      padding: 0px;
+      vertical-align: top;
+    }
+
+  table#first-table-top
+    {
+      height: 25%;
+    }
+
+  table#second-table-middle
+    {
+      height: 25%;
+    }
+
+  table#third-table-bottom
+    {
+      height: 50%;
+    }
+  ]]></style>
+ </head>
+
+ <body>
+
+  <table id="first-table-top">
+
+  <col></col><col width="100"></col><col width="100"></col><col width="324"></col>
+
+    <tr>
+      <td></td>
+      <td style="background-color: blue;">&nbsp;</td>
+      <td style="background-color: olive;">&nbsp;</td>
+      <td style="padding-left: 16px; padding-right: 8px;"><img id="pass-fail-conditions-sentence" src="support/ortho-htb-alongside-vrl-floats-002-exp-res.png" alt="Image download support must be enabled" />
+      <!--
+      The image says:
+      Test passes if the orange rectangle
+      is below the blue rectangle.
+  --></td>
+    </tr>
+
+  </table>
+
+
+
+  <table id="second-table-middle">
+
+  <col></col><col width="100"></col><col width="100"></col><col width="324"></col>
+
+    <tr>
+      <td></td><td style="background-color: orange;">&nbsp;</td><td style="background-color: olive;">&nbsp;</td><td></td>
+    </tr>
+
+  </table>
+
+
+
+  <table id="third-table-bottom">
+
+  <col></col><col width="100"></col><col width="100"></col><col width="324"></col>
+
+    <tr>
+      <td></td><td style="background-color: orange;">&nbsp;</td><td></td><td></td>
+    </tr>
+
+  </table>
+
+ </body>
+</html>
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/ortho-htb-alongside-vrl-floats-014.xht
@@ -0,0 +1,98 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Writing Modes Test: positioning of an orthogonal (horizontal-tb) block alongside vertical-rl floats</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+  <link rel="bookmark" href="https://bugzilla.mozilla.org/show_bug.cgi?id=1283721" title="Bug 1283721: Incorrect positioning of orthogonal (horizontal-tb) block alongside vertical-rl floats" />
+  <link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#vertical-layout" title="7.1 Principles of Layout in Vertical Writing Modes" />
+  <link rel="match" href="ortho-htb-alongside-vrl-floats-014-ref.xht" />
+
+  <!--
+  The 'horizontal-tb' equivalent of this test is
+  http://www.gtalbot.org/BugzillaSection/Bug1283721-ortho-htb-alongside-vrl-floats-007htb.html
+  -->
+
+  <meta content="image" name="flags" />
+  <meta content="This test checks that non-positioned block boxes created after the float box flow vertically as if the float did not exist. In this test, the orange block box, which creates a new block formatting context, should flow next to the earliest float that offers sufficient (logical width) space." name="assert" />
+  <meta name="DC.date.created" content="2016-07-04T09:54:03+11:00" scheme="W3CDTF" />
+  <meta name="DC.date.modified" content="2016-07-21T09:54:03+11:00" scheme="W3CDTF" />
+
+  <style type="text/css"><![CDATA[
+  html
+    {
+      writing-mode: vertical-rl;
+    }
+
+  /*
+    minimum used height of the document root element is 176px;
+    less than 176px will make the reference file no longer reliable.
+
+       36px : image intrinsic height
+     +
+        4px : descender space below baseline
+     =========
+       40px : 1st table with 'height: 25%'
+    multiplied by
+        4
+     =========
+      160px : height of the 3 tables
+    +
+        8px : body's margin-top
+    +
+        8px : body's margin-bottom
+     =========
+      176px
+  */
+
+  div
+    {
+      width: 100px;
+    }
+
+  div#first-blue-float
+    {
+      background-color: olive;
+      float: left;
+      height: 50%;
+    }
+
+  div#second-olive-float-with-clear
+    {
+      background-color: blue;
+      clear: left;
+      float: left;
+      height: 25%;
+    }
+
+  div#orange-horiz-tb
+    {
+      background-color: orange;
+      height: 75%;
+      writing-mode: horizontal-tb;
+    }
+  ]]></style>
+
+ </head>
+
+ <body>
+
+  <p><img src="support/ortho-htb-alongside-vrl-floats-002-exp-res.png" width="300" height="36" alt="Image download support must be enabled" /></p>
+
+  <!--
+  The image says:
+  Test passes if the orange rectangle
+  is below the blue rectangle.
+  -->
+
+  <div id="first-blue-float">&nbsp;</div>
+
+  <div id="second-olive-float-with-clear">&nbsp;</div>
+
+  <div id="orange-horiz-tb">&nbsp;</div>
+
+ </body>
+</html>
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/outline-inline-block-vrl-006.html
@@ -0,0 +1,40 @@
+<!DOCTYPE html>
+<meta charset="utf-8">
+<title>CSS Writing Modes Test: outline layout and inline-block and vertical-rl writing-mode</title>
+<link rel="match" href="reference/outline-inline-block-vrl-006.html" />
+<link rel="author" title="Koji Ishii" href="mailto:kojiishi@gmail.com" />
+<link rel="reviewer" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" /> <!-- 2016-01-14 -->
+<link rel="help" title="7.1. Principles of Layout in Vertical Writing Modes" href="http://www.w3.org/TR/css-writing-modes-3/#vertical-layout" />
+<link rel="help" title="18.4 Dynamic outlines: the 'outline' property" href="http://www.w3.org/TR/2011/REC-CSS2-20110607/ui.html#dynamic-outlines" />
+<meta content="ahem" name="flags" />
+<style type="text/css">
+@font-face {
+  font-family: Ahem;
+  src: url("../../../fonts/Ahem.ttf");
+}
+</style>
+<style>
+.container {
+  color:transparent;
+  font:50px/1 Ahem;
+  height:6em;
+  writing-mode:vertical-rl;
+}
+.outline {
+  color:orange;
+  display:inline-block;
+  outline:blue solid 2px;
+}
+</style>
+<p>Test passes if the inside of 3 blue rectangles is orange.
+<div class="container">
+  <!--
+    Additional div to ensure that the origin of the containing block of the
+    outline span is different from the origin of the writing mode root.
+  -->
+  <div>123<span class="outline">XXX</span></div>
+  <div>12345 6<span class="outline">XX</span></div>
+  <div>1</div>
+  <div><span class="outline">1</span></div>
+  <div>1</div>
+</div>
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/outline-inline-vlr-006.html
@@ -0,0 +1,31 @@
+<!DOCTYPE html>
+<meta charset="utf-8">
+<title>CSS Writing Modes Test: outline layout and non-replaced inline and vertical-lr writing-mode</title>
+<link rel="match" href="reference/outline-inline-vlr-006.html" />
+<link rel="author" title="Koji Ishii" href="mailto:kojiishi@gmail.com" />
+<link rel="reviewer" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" /> <!-- 2016-01-14 -->
+<link rel="help" title="7.1. Principles of Layout in Vertical Writing Modes" href="http://www.w3.org/TR/css-writing-modes-3/#vertical-layout" />
+<link rel="help" title="18.4 Dynamic outlines: the 'outline' property" href="http://www.w3.org/TR/2011/REC-CSS2-20110607/ui.html#dynamic-outlines" />
+<meta content="ahem" name="flags" />
+<style type="text/css">
+@font-face {
+  font-family: Ahem;
+  src: url("../../../fonts/Ahem.ttf");
+}
+</style>
+<style>
+div {
+  color:transparent;
+  font:50px/1 Ahem;
+  height:5em;
+}
+.vlr {
+  writing-mode:vertical-lr;
+}
+.outline {
+  color:orange;
+  outline:blue solid 2px;
+}
+</style>
+<p>Test passes if the inside of 2 blue squares is orange.
+<div class="vlr">1234<span class="outline">5 6</span>7890</div>
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/outline-inline-vrl-006.html
@@ -0,0 +1,39 @@
+<!DOCTYPE html>
+<meta charset="utf-8">
+<title>CSS Writing Modes Test: outline layout and non-replaced inline and vertical-rl writing-mode</title>
+<link rel="match" href="reference/outline-inline-vrl-006.html" />
+<link rel="author" title="Koji Ishii" href="mailto:kojiishi@gmail.com" />
+<link rel="reviewer" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" /> <!-- 2016-01-14 -->
+<link rel="help" title="7.1. Principles of Layout in Vertical Writing Modes" href="http://www.w3.org/TR/css-writing-modes-3/#vertical-layout" />
+<link rel="help" title="18.4 Dynamic outlines: the 'outline' property" href="http://www.w3.org/TR/2011/REC-CSS2-20110607/ui.html#dynamic-outlines" />
+<meta content="ahem" name="flags" />
+<style type="text/css">
+@font-face {
+  font-family: Ahem;
+  src: url("../../../fonts/Ahem.ttf");
+}
+</style>
+<style>
+.container {
+  color:transparent;
+  font:50px/1 Ahem;
+  height:5em;
+  writing-mode:vertical-rl;
+}
+.outline {
+  color:orange;
+  outline:blue solid 2px;
+}
+</style>
+<p>Test passes if the inside of 2 blue squares is orange.
+<div class="container">
+  <!--
+    Additional div to ensure that the origin of the containing block of the
+    outline span is different from the origin of the writing mode root.
+  -->
+  <div>1</div>
+  <div>1234<span class="outline">5 6</span>7890</div>
+  <div>1</div>
+  <div>1</div>
+  <div>1</div>
+</div>
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/padding-vlr-005.xht
@@ -0,0 +1,79 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Writing Modes Test: padding in 'vertical-lr' writing-mode context</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+  <link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#vertical-layout" title="7.1 Principles of Layout in Vertical Writing Modes" />
+  <!--
+  Test inspired by
+  http://lxr.mozilla.org/mozilla-central/source/layout/reftests/writing-mode/1096224-1b.html
+  -->
+  <link rel="match" href="margin-vrl-002-ref.xht" />
+
+  <meta content="image" name="flags" />
+  <meta content="This test checks that padding-left, padding-right, padding-top and padding-bottom do not change in vertical writing-mode. The padding-left property of a box still affects the lefthand padding of such box." name="assert" />
+
+  <style type="text/css"><![CDATA[
+  .outer
+    {
+      border: blue solid 3px;
+      width: 200px;
+    }
+
+  hr
+    {
+      background-color: blue;
+      border: transparent none 0px;
+      height: 9px;
+      margin: 0px;
+    }
+
+  .inner
+    {
+      background-color: blue;
+      height: 50px; /* necessary, otherwise inner blocks will grow as tall as the height of viewport */
+    }
+
+  .foo
+    {
+      padding-bottom: 5px;
+      padding-left: 100px;
+      padding-right: 50px;
+      padding-top: 20px;
+      writing-mode: vertical-lr;
+    }
+
+  .bar
+    {
+      padding-bottom: 20px;
+      padding-left: 50px;
+      padding-right: 100px;
+      padding-top: 5px;
+      writing-mode: vertical-lr;
+    }
+
+  div#reference
+    {
+      margin-top: 1em;
+    }
+  ]]></style>
+ </head>
+
+ <body>
+
+  <p>Test passes if there are 2 <strong>identical</strong> blue rectangles, each with 2 small yellow squares: the layout must be identical.</p>
+
+  <div class="outer">
+    <div class="inner foo"><img src="support/swatch-yellow.png" width="50" height="50" alt="Image download support must be enabled" /></div>
+    <hr />
+    <div class="inner bar"><img src="support/swatch-yellow.png" width="50" height="50" alt="Image download support must be enabled" /></div>
+  </div>
+
+  <div id="reference"><img src="support/blue-yellow-206w-165h.png" width="206" height="165" alt="Image download support must be enabled" /></div>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/padding-vrl-004.xht
@@ -0,0 +1,79 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Writing Modes Test: padding in 'vertical-rl' writing-mode context</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+  <link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#vertical-layout" title="7.1 Principles of Layout in Vertical Writing Modes" />
+  <!--
+  Test inspired by
+  http://lxr.mozilla.org/mozilla-central/source/layout/reftests/writing-mode/1096224-1b.html
+  -->
+  <link rel="match" href="margin-vrl-002-ref.xht" />
+
+  <meta content="image" name="flags" />
+  <meta content="This test checks that padding-left, padding-right, padding-top and padding-bottom do not change in vertical writing-mode. The padding-left property of a box still affects the lefthand padding of such box." name="assert" />
+
+  <style type="text/css"><![CDATA[
+  .outer
+    {
+      border: blue solid 3px;
+      width: 200px;
+    }
+
+  hr
+    {
+      background-color: blue;
+      border: transparent none 0px;
+      height: 9px;
+      margin: 0px;
+    }
+
+  .inner
+    {
+      background-color: blue;
+      height: 50px; /* necessary, otherwise inner blocks must grow as tall as the height of viewport */
+    }
+
+  .foo
+    {
+      padding-bottom: 5px;
+      padding-left: 100px;
+      padding-right: 50px;
+      padding-top: 20px;
+      writing-mode: vertical-rl;
+    }
+
+  .bar
+    {
+      padding-bottom: 20px;
+      padding-left: 50px;
+      padding-right: 100px;
+      padding-top: 5px;
+      writing-mode: vertical-rl;
+    }
+
+  div#reference
+    {
+      margin-top: 1em;
+    }
+  ]]></style>
+ </head>
+
+ <body>
+
+  <p>Test passes if there are 2 <strong>identical</strong> blue rectangles, each with 2 small yellow squares: the layout must be identical.</p>
+
+  <div class="outer">
+    <div class="inner foo"><img src="support/swatch-yellow.png" width="50" height="50" alt="Image download support must be enabled" /></div>
+    <hr />
+    <div class="inner bar"><img src="support/swatch-yellow.png" width="50" height="50" alt="Image download support must be enabled" /></div>
+  </div>
+
+  <div id="reference"><img src="support/blue-yellow-206w-165h.png" width="206" height="165" alt="Image download support must be enabled" /></div>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/percent-margin-vlr-003.xht
@@ -0,0 +1,76 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Writing Modes Test: margin percentage and 'vertical-lr' (orthogonal flow)</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+  <link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#dimension-mapping" title="7.2 Dimensional Mapping" />
+  <link rel="match" href="margin-vrl-002-ref.xht" />
+
+  <meta content="image" name="flags" />
+  <meta content="This test checks that percentages on the margin are calculated with respect to the width (inline-size) of the containing block if the 'writing-mode' of such containing block is 'horizontal-tb'. In this test, div.outer's computed 'writing-mode' value is 'horizontal-tb' and it is the div.inner's containing block." name="assert" />
+
+  <style type="text/css"><![CDATA[
+  div.outer
+    {
+      background-color: blue;
+      border: blue solid 3px;
+      width: 200px;
+    }
+
+  div.inner
+    {
+      background-color: yellow;
+      height: 50px;
+      width: 50px;
+      writing-mode: vertical-lr;
+    }
+
+  div.foo
+    {
+      margin-bottom: 2.5%; /* 5px ; collapses with hr's margin-top */
+      margin-left: 50%; /* 100px */
+      margin-right: 25%; /* 50px */
+      margin-top: 10%; /* 20px */
+    }
+
+  hr
+    {
+      background-color: transparent;
+      border: transparent none 0px;
+      height: 3px;
+      margin: 0.5em auto;
+    }
+
+  div.bar
+    {
+      margin-bottom: 10%; /* 20px */
+      margin-left: 25%; /* 50px */
+      margin-right: 50%; /* 100px */
+      margin-top: 2.5%; /* 5px ; collapses with hr's margin-bottom */
+    }
+
+  div#reference
+    {
+      margin-top: 1em;
+    }
+  ]]></style>
+ </head>
+
+ <body>
+
+  <p>Test passes if there are 2 <strong>identical</strong> blue rectangles, each with 2 small yellow squares: the layout must be identical.</p>
+
+  <div class="outer">
+    <div class="inner foo"></div>
+    <hr />
+    <div class="inner bar"></div>
+  </div>
+
+  <div id="reference"><img src="support/blue-yellow-206w-165h.png" width="206" height="165" alt="Image download support must be enabled" /></div>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/percent-margin-vlr-005.xht
@@ -0,0 +1,70 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Writing Modes Test: margin percentage and 'vertical-lr'</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+  <link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#dimension-mapping" title="7.2 Dimensional Mapping" />
+  <link rel="match" href="margin-vrl-002-ref.xht" />
+
+  <meta content="image" name="flags" />
+  <meta content="This test checks that percentages on the margin are calculated with respect to the height (inline-size) of the containing block if the 'writing-mode' of such containing block is 'vertical-lr'." name="assert" />
+
+  <style type="text/css"><![CDATA[
+  div.outer
+    {
+      background-color: blue;
+      border-top: blue solid 3px;
+      border-right: blue solid 3px;
+      border-bottom: blue solid 2px;
+      border-left: blue solid 3px;
+      height: 160px;
+      writing-mode: vertical-lr;
+    }
+
+  div.inner
+    {
+      background-color: yellow;
+      height: 50px;
+      width: 50px;
+    }
+
+  div.foo
+    {
+      margin-bottom: 0%; /* 0px */
+      margin-left: 31.25%; /* 31.25% mult by 160px == 50px */
+      margin-right: 0%; /* 0px */
+      margin-top: 55.625%; /* 20px + 50px + 19px == 89px ; 89px divided by 160px == 55.625% */
+    }
+
+  div.bar
+    {
+      margin-bottom: 0%; /* 0px */
+      margin-left: 0%; /* 0px */
+      margin-right: 31.25%; /* 31.25% mult by 160px == 50px */
+      margin-top: 12.5%; /* 12.5% mult by 160px == 20px */
+    }
+
+  div#reference
+    {
+      margin-top: 1em;
+    }
+  ]]></style>
+ </head>
+
+ <body>
+
+  <p>Test passes if there are 2 <strong>identical</strong> blue rectangles, each with 2 small yellow squares: the layout must be identical.</p>
+
+  <div class="outer">
+    <div class="inner foo"></div>
+    <div class="inner bar"></div>
+  </div>
+
+  <div id="reference"><img src="support/blue-yellow-206w-165h.png" width="206" height="165" alt="Image download support must be enabled" /></div>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/percent-margin-vlr-007.xht
@@ -0,0 +1,71 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Writing Modes Test: margin percentage and 'vertical-lr' (orthogonal flow)</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+  <link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#dimension-mapping" title="7.2 Dimensional Mapping" />
+  <link rel="match" href="margin-vrl-002-ref.xht" />
+
+  <meta content="image" name="flags" />
+  <meta content="This test checks that percentages on the margin are calculated with respect to the height (inline-size) of the containing block if the 'writing-mode' of such containing block is 'vertical-lr'." name="assert" />
+
+  <style type="text/css"><![CDATA[
+  div.outer
+    {
+      background-color: blue;
+      border-top: blue solid 3px;
+      border-right: blue solid 3px;
+      border-bottom: blue solid 2px;
+      border-left: blue solid 3px;
+      height: 160px;
+      writing-mode: vertical-lr;
+    }
+
+  div.inner
+    {
+      background-color: yellow;
+      height: 50px;
+      width: 50px;
+      writing-mode: horizontal-tb;
+    }
+
+  div.foo
+    {
+      margin-bottom: 0%; /* 0px */
+      margin-left: 31.25%; /* 31.25% mult by 160px == 50px */
+      margin-right: 0%; /* 0px */
+      margin-top: 55.625%; /* 20px + 50px + 19px == 89px ; 89px divided by 160px == 55.625% */
+    }
+
+  div.bar
+    {
+      margin-bottom: 0%; /* 0px */
+      margin-left: 0%; /* 0px */
+      margin-right: 31.25%; /* 31.25% mult by 160px == 50px */
+      margin-top: 12.5%; /* 12.5% mult by 160px == 20px */
+    }
+
+  div#reference
+    {
+      margin-top: 1em;
+    }
+  ]]></style>
+ </head>
+
+ <body>
+
+  <p>Test passes if there are 2 <strong>identical</strong> blue rectangles, each with 2 small yellow squares: the layout must be identical.</p>
+
+  <div class="outer">
+    <div class="inner foo"></div>
+    <div class="inner bar"></div>
+  </div>
+
+  <div id="reference"><img src="support/blue-yellow-206w-165h.png" width="206" height="165" alt="Image download support must be enabled" /></div>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/percent-margin-vrl-002.xht
@@ -0,0 +1,76 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Writing Modes Test: margin percentage and 'vertical-rl' (orthogonal flow)</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+  <link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#dimension-mapping" title="7.2 Dimensional Mapping" />
+  <link rel="match" href="margin-vrl-002-ref.xht" />
+
+  <meta content="image" name="flags" />
+  <meta content="This test checks that percentages on the margin are calculated with respect to the width (inline-size) of the containing block if 'writing-mode' of such containing block is 'horizontal-tb'. In this test, div.outer's computed 'writing-mode' value is 'horizontal-tb' and it is the div.inner's containing block." name="assert" />
+
+  <style type="text/css"><![CDATA[
+  div.outer
+    {
+      background-color: blue;
+      border: blue solid 3px;
+      width: 200px;
+    }
+
+  div.inner
+    {
+      background-color: yellow;
+      height: 50px;
+      width: 50px;
+      writing-mode: vertical-rl;
+    }
+
+  div.foo
+    {
+      margin-bottom: 2.5%; /* 5px ; collapses with hr's margin-top */
+      margin-left: 50%; /* 100px */
+      margin-right: 25%; /* 50px */
+      margin-top: 10%; /* 20px */
+    }
+
+  hr
+    {
+      background-color: transparent;
+      border: transparent none 0px;
+      height: 3px;
+      margin: 0.5em auto;
+    }
+
+  div.bar
+    {
+      margin-bottom: 10%; /* 20px */
+      margin-left: 25%; /* 50px */
+      margin-right: 50%; /* 100px */
+      margin-top: 2.5%; /* 5px ; collapses with hr's margin-bottom */
+    }
+
+  div#reference
+    {
+      margin-top: 1em;
+    }
+  ]]></style>
+ </head>
+
+ <body>
+
+  <p>Test passes if there are 2 <strong>identical</strong> blue rectangles, each with 2 small yellow squares: the layout must be identical.</p>
+
+  <div class="outer">
+    <div class="inner foo"></div>
+    <hr />
+    <div class="inner bar"></div>
+  </div>
+
+  <div id="reference"><img src="support/blue-yellow-206w-165h.png" width="206" height="165" alt="Image download support must be enabled" /></div>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/percent-margin-vrl-004.xht
@@ -0,0 +1,70 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Writing Modes Test: margin percentage and 'vertical-rl'</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+  <link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#dimension-mapping" title="7.2 Dimensional Mapping" />
+  <link rel="match" href="margin-vrl-002-ref.xht" />
+
+  <meta content="image" name="flags" />
+  <meta content="This test checks that percentages on the margin are calculated with respect to the height (inline-size) of the containing block if the 'writing-mode' of such containing block is 'vertical-rl'." name="assert" />
+
+  <style type="text/css"><![CDATA[
+  div.outer
+    {
+      background-color: blue;
+      border-top: blue solid 3px;
+      border-right: blue solid 3px;
+      border-bottom: blue solid 2px;
+      border-left: blue solid 3px;
+      height: 160px;
+      writing-mode: vertical-rl;
+    }
+
+  div.inner
+    {
+      background-color: yellow;
+      height: 50px;
+      width: 50px;
+    }
+
+  div.foo
+    {
+      margin-bottom: 0%; /* 0px */
+      margin-left: 0%; /* 0px */
+      margin-right: 31.25%; /* 31.25% mult by 160px == 50px */
+      margin-top: 12.5%; /* 12.5% mult by 160px == 20px */
+    }
+
+  div.bar
+    {
+      margin-bottom: 0%; /* 0px */
+      margin-left: 31.25%; /* 31.25% mult by 160px == 50px */
+      margin-right: 0%; /* 0px */
+      margin-top: 55.625%; /* 20px + 50px + 19px == 89px ; 89px divided by 160px == 55.625% */
+    }
+
+  div#reference
+    {
+      margin-top: 1em;
+    }
+  ]]></style>
+ </head>
+
+ <body>
+
+  <p>Test passes if there are 2 <strong>identical</strong> blue rectangles, each with 2 small yellow squares: the layout must be identical.</p>
+
+  <div class="outer">
+    <div class="inner foo"></div>
+    <div class="inner bar"></div>
+  </div>
+
+  <div id="reference"><img src="support/blue-yellow-206w-165h.png" width="206" height="165" alt="Image download support must be enabled" /></div>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/percent-margin-vrl-006.xht
@@ -0,0 +1,71 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Writing Modes Test: margin percentage and 'vertical-rl' (orthogonal flow)</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+  <link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#dimension-mapping" title="7.2 Dimensional Mapping" />
+  <link rel="match" href="margin-vrl-002-ref.xht" />
+
+  <meta content="image" name="flags" />
+  <meta content="This test checks that percentages on the margin are calculated with respect to the height (inline-size) of the containing block if the 'writing-mode' of such containing block is 'vertical-rl'." name="assert" />
+
+  <style type="text/css"><![CDATA[
+  div.outer
+    {
+      background-color: blue;
+      border-top: blue solid 3px;
+      border-right: blue solid 3px;
+      border-bottom: blue solid 2px;
+      border-left: blue solid 3px;
+      height: 160px;
+      writing-mode: vertical-rl;
+    }
+
+  div.inner
+    {
+      background-color: yellow;
+      height: 50px;
+      width: 50px;
+      writing-mode: horizontal-tb;
+    }
+
+  div.foo
+    {
+      margin-bottom: 0%; /* 0px */
+      margin-left: 0%; /* 0px */
+      margin-right: 31.25%; /* 31.25% mult by 160px == 50px */
+      margin-top: 12.5%; /* 12.5% mult by 160px == 20px */
+    }
+
+  div.bar
+    {
+      margin-bottom: 0%; /* 0px */
+      margin-left: 31.25%; /* 31.25% mult by 160px == 50px */
+      margin-right: 0%; /* 0px */
+      margin-top: 55.625%; /* 20px + 50px + 19px == 89px ; 89px divided by 160px == 55.625% */
+    }
+
+  div#reference
+    {
+      margin-top: 1em;
+    }
+  ]]></style>
+ </head>
+
+ <body>
+
+  <p>Test passes if there are 2 <strong>identical</strong> blue rectangles, each with 2 small yellow squares: the layout must be identical.</p>
+
+  <div class="outer">
+    <div class="inner foo"></div>
+    <div class="inner bar"></div>
+  </div>
+
+  <div id="reference"><img src="support/blue-yellow-206w-165h.png" width="206" height="165" alt="Image download support must be enabled" /></div>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/percent-padding-vlr-003.xht
@@ -0,0 +1,75 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Writing Modes Test: padding percentage and 'vertical-lr' (orthogonal flow)</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+  <link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#dimension-mapping" title="7.2 Dimensional Mapping" />
+  <link rel="match" href="margin-vrl-002-ref.xht" />
+
+  <meta content="image" name="flags" />
+  <meta content="This test checks that percentages on the padding are calculated with respect to the width (inline-size) of the containing block if 'writing-mode' of such containing block is 'horizontal-tb'. In this test, div.outer's computed 'writing-mode' value is 'horizontal-tb' and it is the div.inner's containing block." name="assert" />
+
+  <style type="text/css"><![CDATA[
+  div.outer
+    {
+      background-color: blue;
+      border: blue solid 3px;
+      width: 200px;
+    }
+
+  div.inner
+    {
+      background-color: transparent;
+      height: 50px;
+      writing-mode: vertical-lr;
+    }
+
+  div.foo
+    {
+      padding-bottom: 2.5%; /* 5px */
+      padding-left: 50%; /* 100px */
+      padding-right: 25%; /* 50px */
+      padding-top: 10%; /* 20px */
+    }
+
+  hr
+    {
+      background-color: transparent;
+      border: transparent none 0px;
+      height: 3px;
+      margin: 3px auto;
+    }
+
+  div.bar
+    {
+      padding-bottom: 10%; /* 20px */
+      padding-left: 25%; /* 50px */
+      padding-right: 50%; /* 100px */
+      padding-top: 2.5%; /* 5px */
+    }
+
+  div#reference
+    {
+      margin-top: 1em;
+    }
+  ]]></style>
+ </head>
+
+ <body>
+
+  <p>Test passes if there are 2 <strong>identical</strong> blue rectangles, each with 2 small yellow squares: the layout must be identical.</p>
+
+  <div class="outer">
+    <div class="inner foo"><img src="support/swatch-yellow.png" width="50" height="50" alt="Image download support must be enabled" /></div>
+    <hr />
+    <div class="inner bar"><img src="support/swatch-yellow.png" width="50" height="50" alt="Image download support must be enabled" /></div>
+  </div>
+
+  <div id="reference"><img src="support/blue-yellow-206w-165h.png" width="206" height="165" alt="Image download support must be enabled" /></div>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/percent-padding-vlr-005.xht
@@ -0,0 +1,69 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Writing Modes Test: padding percentage and 'vertical-lr'</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+  <link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#dimension-mapping" title="7.2 Dimensional Mapping" />
+  <link rel="match" href="margin-vrl-002-ref.xht" />
+
+  <meta content="image" name="flags" />
+  <meta content="This test checks that percentages on the padding are calculated with respect to the height (inline-size) of the containing block if the 'writing-mode' of such containing block is 'vertical-lr'." name="assert" />
+
+  <style type="text/css"><![CDATA[
+  div.outer
+    {
+      background-color: blue;
+      border-top: blue solid 3px;
+      border-right: blue solid 3px;
+      border-bottom: blue solid 2px;
+      border-left: blue solid 3px;
+      height: 160px;
+      writing-mode: vertical-lr;
+    }
+
+  div.inner
+    {
+      background-color: transparent;
+      height: 50px;
+    }
+
+  div.foo
+    {
+      padding-bottom: 0%; /* 0px */
+      padding-left: 31.25%; /* 31.25% mult by 160px == 50px */
+      padding-right: 0%; /* 0px */
+      padding-top: 55.625%; /* 20px + 50px + 19px == 89px ; 89px divided by 160px == 55.625% */
+    }
+
+  div.bar
+    {
+      padding-bottom: 0%; /* 0px */
+      padding-left: 0%; /* 0px */
+      padding-right: 31.25%; /* 31.25% mult by 160px == 50px */
+      padding-top: 12.5%; /* 12.5% mult by 160px == 20px */
+    }
+
+  div#reference
+    {
+      margin-top: 1em;
+    }
+  ]]></style>
+ </head>
+
+ <body>
+
+  <p>Test passes if there are 2 <strong>identical</strong> blue rectangles, each with 2 small yellow squares: the layout must be identical.</p>
+
+  <div class="outer">
+    <div class="inner foo"><img src="support/swatch-yellow.png" width="50" height="50" alt="Image download support must be enabled" /></div>
+    <div class="inner bar"><img src="support/swatch-yellow.png" width="50" height="50" alt="Image download support must be enabled" /></div>
+  </div>
+
+  <div id="reference"><img src="support/blue-yellow-206w-165h.png" width="206" height="165" alt="Image download support must be enabled" /></div>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/percent-padding-vlr-007.xht
@@ -0,0 +1,70 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Writing Modes Test: padding percentage and 'vertical-lr' (orthogonal flow)</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+  <link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#dimension-mapping" title="7.2 Dimensional Mapping" />
+  <link rel="match" href="margin-vrl-002-ref.xht" />
+
+  <meta content="image" name="flags" />
+  <meta content="This test checks that percentages on the padding are calculated with respect to the height (inline-size) of the containing block if the 'writing-mode' of such containing block is 'vertical-lr'." name="assert" />
+
+  <style type="text/css"><![CDATA[
+  div.outer
+    {
+      background-color: blue;
+      border-top: blue solid 3px;
+      border-right: blue solid 3px;
+      border-bottom: blue solid 2px;
+      border-left: blue solid 3px;
+      height: 160px;
+      writing-mode: vertical-lr;
+    }
+
+  div.inner
+    {
+      background-color: transparent;
+      height: 50px;
+      writing-mode: horizontal-tb;
+    }
+
+  div.foo
+    {
+      padding-bottom: 0%; /* 0px */
+      padding-left: 31.25%; /* 31.25% mult by 160px == 50px */
+      padding-right: 0%; /* 0px */
+      padding-top: 55.625%; /* 20px + 50px + 19px == 89px ; 89px divided by 160px == 55.625% */
+    }
+
+  div.bar
+    {
+      padding-bottom: 0%; /* 0px */
+      padding-left: 0%; /* 0px */
+      padding-right: 31.25%; /* 31.25% mult by 160px == 50px */
+      padding-top: 12.5%; /* 12.5% mult by 160px == 20px */
+    }
+
+  div#reference
+    {
+      margin-top: 1em;
+    }
+  ]]></style>
+ </head>
+
+ <body>
+
+  <p>Test passes if there are 2 <strong>identical</strong> blue rectangles, each with 2 small yellow squares: the layout must be identical.</p>
+
+  <div class="outer">
+    <div class="inner foo"><img src="support/swatch-yellow.png" width="50" height="50" alt="Image download support must be enabled" /></div>
+    <div class="inner bar"><img src="support/swatch-yellow.png" width="50" height="50" alt="Image download support must be enabled" /></div>
+  </div>
+
+  <div id="reference"><img src="support/blue-yellow-206w-165h.png" width="206" height="165" alt="Image download support must be enabled" /></div>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/percent-padding-vrl-002.xht
@@ -0,0 +1,75 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Writing Modes Test: padding percentage and vertical-rl (orthogonal flow)</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+  <link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#dimension-mapping" title="7.2 Dimensional Mapping" />
+  <link rel="match" href="margin-vrl-002-ref.xht" />
+
+  <meta content="image" name="flags" />
+  <meta content="This test checks that percentages on the padding are calculated with respect to the width (inline-size) of the containing block if the 'writing-mode' of such containing block is 'horizontal-tb'. In this test, div.outer's computed 'writing-mode' value is 'horizontal-tb' and it is the div.inner's containing block." name="assert" />
+
+  <style type="text/css"><![CDATA[
+  div.outer
+    {
+      background-color: blue;
+      border: blue solid 3px;
+      width: 200px;
+    }
+
+  div.inner
+    {
+      background-color: transparent;
+      height: 50px;
+      writing-mode: vertical-rl;
+    }
+
+  div.foo
+    {
+      padding-bottom: 2.5%; /* 5px */
+      padding-left: 50%; /* 100px */
+      padding-right: 25%; /* 50px */
+      padding-top: 10%; /* 20px */
+    }
+
+  hr
+    {
+      background-color: transparent;
+      border: transparent none 0px;
+      height: 3px;
+      margin: 3px auto;
+    }
+
+  div.bar
+    {
+      padding-bottom: 10%;
+      padding-left: 25%;
+      padding-right: 50%;
+      padding-top: 2.5%;
+    }
+
+  div#reference
+    {
+      margin-top: 1em;
+    }
+  ]]></style>
+ </head>
+
+ <body>
+
+  <p>Test passes if there are 2 <strong>identical</strong> blue rectangles, each with 2 small yellow squares: the layout must be identical.</p>
+
+  <div class="outer">
+    <div class="inner foo"><img src="support/swatch-yellow.png" width="50" height="50" alt="Image download support must be enabled" /></div>
+    <hr />
+    <div class="inner bar"><img src="support/swatch-yellow.png" width="50" height="50" alt="Image download support must be enabled" /></div>
+  </div>
+
+  <div id="reference"><img src="support/blue-yellow-206w-165h.png" width="206" height="165" alt="Image download support must be enabled" /></div>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/percent-padding-vrl-004.xht
@@ -0,0 +1,69 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Writing Modes Test: padding percentage and 'vertical-rl'</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+  <link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#dimension-mapping" title="7.2 Dimensional Mapping" />
+  <link rel="match" href="margin-vrl-002-ref.xht" />
+
+  <meta content="image" name="flags" />
+  <meta content="This test checks that percentages on the padding are calculated with respect to the height (inline-size) of the containing block if the 'writing-mode' of such containing block is 'vertical-rl'." name="assert" />
+
+  <style type="text/css"><![CDATA[
+  div.outer
+    {
+      background-color: blue;
+      border-top: blue solid 3px;
+      border-right: blue solid 3px;
+      border-bottom: blue solid 2px;
+      border-left: blue solid 3px;
+      height: 160px;
+      writing-mode: vertical-rl;
+    }
+
+  div.inner
+    {
+      background-color: transparent;
+      height: 50px;
+    }
+
+  div.foo
+    {
+      padding-bottom: 0%; /* 0px */
+      padding-left: 0%; /* 0px */
+      padding-right: 31.25%; /* 31.25% mult by 160px == 50px */
+      padding-top: 12.5%; /* 12.5% mult by 160px == 20px */
+    }
+
+  div.bar
+    {
+      padding-bottom: 0%; /* 0px */
+      padding-left: 31.25%; /* 31.25% mult by 160px == 50px */
+      padding-right: 0%; /* 0px */
+      padding-top: 55.625%; /* 20px + 50px + 19px == 89px ; 89px divided by 160px == 55.625% */
+    }
+
+  div#reference
+    {
+      margin-top: 1em;
+    }
+  ]]></style>
+ </head>
+
+ <body>
+
+  <p>Test passes if there are 2 <strong>identical</strong> blue rectangles, each with 2 small yellow squares: the layout must be identical.</p>
+
+  <div class="outer">
+    <div class="inner foo"><img src="support/swatch-yellow.png" width="50" height="50" alt="Image download support must be enabled" /></div>
+    <div class="inner bar"><img src="support/swatch-yellow.png" width="50" height="50" alt="Image download support must be enabled" /></div>
+  </div>
+
+  <div id="reference"><img src="support/blue-yellow-206w-165h.png" width="206" height="165" alt="Image download support must be enabled" /></div>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/percent-padding-vrl-006.xht
@@ -0,0 +1,70 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Writing Modes Test: padding percentage and 'vertical-rl' (orthogonal flow)</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+  <link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#dimension-mapping" title="7.2 Dimensional Mapping" />
+  <link rel="match" href="margin-vrl-002-ref.xht" />
+
+  <meta content="image" name="flags" />
+  <meta content="This test checks that percentages on the padding are calculated with respect to the height (inline-size) of the containing block if the 'writing-mode' of such containing block is 'vertical-rl'." name="assert" />
+
+  <style type="text/css"><![CDATA[
+  div.outer
+    {
+      background-color: blue;
+      border-top: blue solid 3px;
+      border-right: blue solid 3px;
+      border-bottom: blue solid 2px;
+      border-left: blue solid 3px;
+      height: 160px;
+      writing-mode: vertical-rl;
+    }
+
+  div.inner
+    {
+      background-color: transparent;
+      height: 50px;
+      writing-mode: horizontal-tb;
+    }
+
+  div.foo
+    {
+      padding-bottom: 0%; /* 0px */
+      padding-left: 0%; /* 0px */
+      padding-right: 31.25%; /* 31.25% mult by 160px == 50px */
+      padding-top: 12.5%; /* 12.5% mult by 160px == 20px */
+    }
+
+  div.bar
+    {
+      padding-bottom: 0%; /* 0px */
+      padding-left: 31.25%; /* 31.25% mult by 160px == 50px */
+      padding-right: 0%; /* 0px */
+      padding-top: 55.625%; /* 20px + 50px + 19px == 89px ; 89px divided by 160px == 55.625% */
+    }
+
+  div#reference
+    {
+      margin-top: 1em;
+    }
+  ]]></style>
+ </head>
+
+ <body>
+
+  <p>Test passes if there are 2 <strong>identical</strong> blue rectangles, each with 2 small yellow squares: the layout must be identical.</p>
+
+  <div class="outer">
+    <div class="inner foo"><img src="support/swatch-yellow.png" width="50" height="50" alt="Image download support must be enabled" /></div>
+    <div class="inner bar"><img src="support/swatch-yellow.png" width="50" height="50" alt="Image download support must be enabled" /></div>
+  </div>
+
+  <div id="reference"><img src="support/blue-yellow-206w-165h.png" width="206" height="165" alt="Image download support must be enabled" /></div>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/reference/bidi-embed-001.html
@@ -0,0 +1,46 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+<meta charset="utf-8"/>
+<title>direction/unicode-bidi: span direction rtl, unicode-bidi embed (1)</title>
+
+<link rel="author" title="Richard Ishida" href='mailto:ishida@w3.org'/>
+<style type="text/css">
+.test span { direction: rtl; unicode-bidi: embed; }
+
+ /* the following styles are not part of the test */
+.test, .ref { font-size: 150%; border: 1px solid orange; margin: 10px; width: 10em; padding: 5px; clear: both; }
+input { margin: 5px; }
+@font-face {
+    font-family: 'ezra_silregular';
+    src: url('support/sileot-webfont.woff') format('woff');
+    font-weight: normal;
+    font-style: normal;
+    }
+.test, .ref { font-family: ezra_silregular, serif; }
+</style>
+</head>
+<body>
+<p class="instructions" dir="ltr">Test passes if the two boxes are identical.</p>
+
+
+<!--Notes:
+Key to entities used below:
+        &#x5d0; ... &#x5d5; - The first six Hebrew letters (strongly RTL).
+        &#x202d; - The LRO (left-to-right-override) formatting character.
+        &#x202c; - The PDF (pop directional formatting) formatting character; closes LRO.
+-->
+
+
+
+<div class="ref" dir="ltr">&#x202d;&gt; &#x5d0; &lt; a &gt;&#x202c;</div>
+
+
+<div class="ref" dir="ltr">&#x202d;&gt; &#x5d0; &lt; a &gt;&#x202c;</div>
+
+
+
+
+
+
+</body></html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/reference/bidi-embed-002.html
@@ -0,0 +1,46 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+<meta charset="utf-8"/>
+<title>direction/unicode-bidi: span direction rtl, unicode-bidi embed (2)</title>
+
+<link rel="author" title="Richard Ishida" href='mailto:ishida@w3.org'/>
+<style type="text/css">
+.test span { direction: rtl; unicode-bidi: embed; }
+
+ /* the following styles are not part of the test */
+.test, .ref { font-size: 150%; border: 1px solid orange; margin: 10px; width: 10em; padding: 5px; clear: both; }
+input { margin: 5px; }
+@font-face {
+    font-family: 'ezra_silregular';
+    src: url('support/sileot-webfont.woff') format('woff');
+    font-weight: normal;
+    font-style: normal;
+    }
+.test, .ref { font-family: ezra_silregular, serif; }
+</style>
+</head>
+<body>
+<p class="instructions" dir="ltr">Test passes if the two boxes are identical.</p>
+
+
+<!--Notes:
+Key to entities used below:
+        &#x5d0; ... &#x5d5; - The first six Hebrew letters (strongly RTL).
+        &#x202d; - The LRO (left-to-right-override) formatting character.
+        &#x202c; - The PDF (pop directional formatting) formatting character; closes LRO.
+-->
+
+
+
+<div class="ref" dir="ltr">&#x202d;&gt; a &lt; &#x5d0; &gt;&#x202c;</div>
+
+
+<div class="ref" dir="ltr">&#x202d;&gt; a &lt; &#x5d0; &gt;&#x202c;</div>
+
+
+
+
+
+
+</body></html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/reference/bidi-embed-003.html
@@ -0,0 +1,46 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+<meta charset="utf-8"/>
+<title>direction/unicode-bidi: span direction ltr, unicode-bidi embed (1)</title>
+
+<link rel="author" title="Richard Ishida" href='mailto:ishida@w3.org'/>
+<style type="text/css">
+.test span { direction: ltr; unicode-bidi: embed; }
+
+ /* the following styles are not part of the test */
+.test, .ref { font-size: 150%; border: 1px solid orange; margin: 10px; width: 10em; padding: 5px; clear: both; }
+input { margin: 5px; }
+@font-face {
+    font-family: 'ezra_silregular';
+    src: url('support/sileot-webfont.woff') format('woff');
+    font-weight: normal;
+    font-style: normal;
+    }
+.test, .ref { font-family: ezra_silregular, serif; }
+</style>
+</head>
+<body>
+<p class="instructions" dir="ltr">Test passes if the two boxes are identical.</p>
+
+
+<!--Notes:
+Key to entities used below:
+        &#x5d0; ... &#x5d5; - The first six Hebrew letters (strongly RTL).
+        &#x202d; - The LRO (left-to-right-override) formatting character.
+        &#x202c; - The PDF (pop directional formatting) formatting character; closes LRO.
+-->
+
+
+
+<div class="ref" dir="rtl">&#x202d;&lt; &#x5d0; &gt; a &lt;&#x202c;</div>
+
+
+<div class="ref" dir="rtl">&#x202d;&lt; &#x5d0; &gt; a &lt;&#x202c;</div>
+
+
+
+
+
+
+</body></html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/reference/bidi-embed-004.html
@@ -0,0 +1,46 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+<meta charset="utf-8"/>
+<title>direction/unicode-bidi: span direction ltr, unicode-bidi embed (2)</title>
+
+<link rel="author" title="Richard Ishida" href='mailto:ishida@w3.org'/>
+<style type="text/css">
+.test span { direction: ltr; unicode-bidi: embed; }
+
+ /* the following styles are not part of the test */
+.test, .ref { font-size: 150%; border: 1px solid orange; margin: 10px; width: 10em; padding: 5px; clear: both; }
+input { margin: 5px; }
+@font-face {
+    font-family: 'ezra_silregular';
+    src: url('support/sileot-webfont.woff') format('woff');
+    font-weight: normal;
+    font-style: normal;
+    }
+.test, .ref { font-family: ezra_silregular, serif; }
+</style>
+</head>
+<body>
+<p class="instructions" dir="ltr">Test passes if the two boxes are identical.</p>
+
+
+<!--Notes:
+Key to entities used below:
+        &#x5d0; ... &#x5d5; - The first six Hebrew letters (strongly RTL).
+        &#x202d; - The LRO (left-to-right-override) formatting character.
+        &#x202c; - The PDF (pop directional formatting) formatting character; closes LRO.
+-->
+
+
+
+<div class="ref" dir="rtl">&#x202d;&lt; a &gt; &#x5d0; &lt;&#x202c;</div>
+
+
+<div class="ref" dir="rtl">&#x202d;&lt; a &gt; &#x5d0; &lt;&#x202c;</div>
+
+
+
+
+
+
+</body></html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/reference/bidi-embed-005.html
@@ -0,0 +1,50 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+<meta charset="utf-8"/>
+<title>direction/unicode-bidi: element as directional character with unicode-bidi embed, rtl</title>
+
+<link rel="author" title="Richard Ishida" href='mailto:ishida@w3.org'/>
+<style type="text/css">
+.test span { direction: rtl; unicode-bidi: embed; }
+
+ /* the following styles are not part of the test */
+.test, .ref { font-size: 150%; border: 1px solid orange; margin: 10px; width: 10em; padding: 5px; clear: both; }
+input { margin: 5px; }
+@font-face {
+    font-family: 'ezra_silregular';
+    src: url('support/sileot-webfont.woff') format('woff');
+    font-weight: normal;
+    font-style: normal;
+    }
+.test, .ref { font-family: ezra_silregular, serif; }
+</style>
+</head>
+<body>
+<p class="instructions" dir="ltr">Test passes if the two boxes are identical.</p>
+
+
+<!--Notes:
+Key to entities used below:
+        &#x5d0; ... &#x5d5; - The first six Hebrew letters (strongly RTL).
+        &#x202d; - The LRO (left-to-right-override) formatting character.
+        &#x202c; - The PDF (pop directional formatting) formatting character; closes LRO.
+-->
+
+
+
+<div class="ref"><div dir="rtl">&#x202d;d &lt; &#x5d1; &lt; &#x5d0; &lt; a&#x202c;</div>
+	     <div dir="rtl">&#x202d;d &lt; b &gt; c &lt; a&#x202c;</div>
+	     </div>
+
+
+<div class="ref"><div dir="rtl">&#x202d;d &lt; &#x5d1; &lt; &#x5d0; &lt; a&#x202c;</div>
+	     <div dir="rtl">&#x202d;d &lt; b &gt; c &lt; a&#x202c;</div>
+	     </div>
+
+
+
+
+
+
+</body></html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/reference/bidi-embed-006.html
@@ -0,0 +1,50 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+<meta charset="utf-8"/>
+<title>direction/unicode-bidi: element as directional character with unicode-bidi embed, ltr</title>
+
+<link rel="author" title="Richard Ishida" href='mailto:ishida@w3.org'/>
+<style type="text/css">
+.test span { direction: ltr; unicode-bidi: embed; }
+
+ /* the following styles are not part of the test */
+.test, .ref { font-size: 150%; border: 1px solid orange; margin: 10px; width: 10em; padding: 5px; clear: both; }
+input { margin: 5px; }
+@font-face {
+    font-family: 'ezra_silregular';
+    src: url('support/sileot-webfont.woff') format('woff');
+    font-weight: normal;
+    font-style: normal;
+    }
+.test, .ref { font-family: ezra_silregular, serif; }
+</style>
+</head>
+<body>
+<p class="instructions" dir="ltr">Test passes if the two boxes are identical.</p>
+
+
+<!--Notes:
+Key to entities used below:
+        &#x5d0; ... &#x5d5; - The first six Hebrew letters (strongly RTL).
+        &#x202d; - The LRO (left-to-right-override) formatting character.
+        &#x202c; - The PDF (pop directional formatting) formatting character; closes LRO.
+-->
+
+
+
+<div class="ref"><div dir="ltr">&#x202d;&#x5d0; &gt; b &gt; c &gt; &#x5d3;&#x202c;</div>
+	     <div dir="ltr">&#x202d;&#x5d0; &gt; &#x5d2; &lt; &#x5d1; &gt; &#x5d3;&#x202c;</div>
+    </div>
+
+
+<div class="ref"><div dir="ltr">&#x202d;&#x5d0; &gt; b &gt; c &gt; &#x5d3;&#x202c;</div>
+	     <div dir="ltr">&#x202d;&#x5d0; &gt; &#x5d2; &lt; &#x5d1; &gt; &#x5d3;&#x202c;</div>
+    </div>
+
+
+
+
+
+
+</body></html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/reference/bidi-embed-007.html
@@ -0,0 +1,46 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+<meta charset="utf-8"/>
+<title>direction/unicode-bidi: element isolation and unicode-bidi embed, rtl + number</title>
+
+<link rel="author" title="Richard Ishida" href='mailto:ishida@w3.org'/>
+<style type="text/css">
+.test span { direction: rtl; unicode-bidi: embed; }
+
+ /* the following styles are not part of the test */
+.test, .ref { font-size: 150%; border: 1px solid orange; margin: 10px; width: 10em; padding: 5px; clear: both; }
+input { margin: 5px; }
+@font-face {
+    font-family: 'ezra_silregular';
+    src: url('support/sileot-webfont.woff') format('woff');
+    font-weight: normal;
+    font-style: normal;
+    }
+.test, .ref { font-family: ezra_silregular, serif; }
+</style>
+</head>
+<body>
+<p class="instructions" dir="ltr">Test passes if the two boxes are identical.</p>
+
+
+<!--Notes:
+Key to entities used below:
+        &#x5d0; ... &#x5d5; - The first six Hebrew letters (strongly RTL).
+        &#x202d; - The LRO (left-to-right-override) formatting character.
+        &#x202c; - The PDF (pop directional formatting) formatting character; closes LRO.
+-->
+
+
+
+<div class="ref" dir="ltr">&#x202d;3 &#x5d0;&#x202c;</div>
+
+
+<div class="ref" dir="ltr">&#x202d;3 &#x5d0;&#x202c;</div>
+
+
+
+
+
+
+</body></html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/reference/bidi-embed-008.html
@@ -0,0 +1,46 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+<meta charset="utf-8"/>
+<title>direction/unicode-bidi: element isolation and unicode-bidi embed, ltr + number</title>
+
+<link rel="author" title="Richard Ishida" href='mailto:ishida@w3.org'/>
+<style type="text/css">
+.test span { direction: ltr; unicode-bidi: embed; }
+
+ /* the following styles are not part of the test */
+.test, .ref { font-size: 150%; border: 1px solid orange; margin: 10px; width: 10em; padding: 5px; clear: both; }
+input { margin: 5px; }
+@font-face {
+    font-family: 'ezra_silregular';
+    src: url('support/sileot-webfont.woff') format('woff');
+    font-weight: normal;
+    font-style: normal;
+    }
+.test, .ref { font-family: ezra_silregular, serif; }
+</style>
+</head>
+<body>
+<p class="instructions" dir="ltr">Test passes if the two boxes are identical.</p>
+
+
+<!--Notes:
+Key to entities used below:
+        &#x5d0; ... &#x5d5; - The first six Hebrew letters (strongly RTL).
+        &#x202d; - The LRO (left-to-right-override) formatting character.
+        &#x202c; - The PDF (pop directional formatting) formatting character; closes LRO.
+-->
+
+
+
+<div class="ref" dir="rtl">&#x202d;a 3&#x202c;</div>
+
+
+<div class="ref" dir="rtl">&#x202d;a 3&#x202c;</div>
+
+
+
+
+
+
+</body></html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/reference/bidi-embed-009.html
@@ -0,0 +1,46 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+<meta charset="utf-8"/>
+<title>direction/unicode-bidi: element isolation and unicode-bidi embed, rtl list</title>
+
+<link rel="author" title="Richard Ishida" href='mailto:ishida@w3.org'/>
+<style type="text/css">
+.test span { direction: ltr; unicode-bidi: embed; }
+
+ /* the following styles are not part of the test */
+.test, .ref { font-size: 150%; border: 1px solid orange; margin: 10px; width: 10em; padding: 5px; clear: both; }
+input { margin: 5px; }
+@font-face {
+    font-family: 'ezra_silregular';
+    src: url('support/sileot-webfont.woff') format('woff');
+    font-weight: normal;
+    font-style: normal;
+    }
+.test, .ref { font-family: ezra_silregular, serif; }
+</style>
+</head>
+<body>
+<p class="instructions" dir="ltr">Test passes if the two boxes are identical.</p>
+
+
+<!--Notes:
+Key to entities used below:
+        &#x5d0; ... &#x5d5; - The first six Hebrew letters (strongly RTL).
+        &#x202d; - The LRO (left-to-right-override) formatting character.
+        &#x202c; - The PDF (pop directional formatting) formatting character; closes LRO.
+-->
+
+
+
+<div class="ref" dir="rtl">&#x202d;a &gt; b</div>
+
+
+<div class="ref" dir="rtl">&#x202d;a &gt; b</div>
+
+
+
+
+
+
+</body></html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/reference/bidi-embed-010.html
@@ -0,0 +1,46 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+<meta charset="utf-8"/>
+<title>direction/unicode-bidi: element isolation and unicode-bidi embed, ltr list</title>
+
+<link rel="author" title="Richard Ishida" href='mailto:ishida@w3.org'/>
+<style type="text/css">
+.test span { direction: rtl; unicode-bidi: embed; }
+
+ /* the following styles are not part of the test */
+.test, .ref { font-size: 150%; border: 1px solid orange; margin: 10px; width: 10em; padding: 5px; clear: both; }
+input { margin: 5px; }
+@font-face {
+    font-family: 'ezra_silregular';
+    src: url('support/sileot-webfont.woff') format('woff');
+    font-weight: normal;
+    font-style: normal;
+    }
+.test, .ref { font-family: ezra_silregular, serif; }
+</style>
+</head>
+<body>
+<p class="instructions" dir="ltr">Test passes if the two boxes are identical.</p>
+
+
+<!--Notes:
+Key to entities used below:
+        &#x5d0; ... &#x5d5; - The first six Hebrew letters (strongly RTL).
+        &#x202d; - The LRO (left-to-right-override) formatting character.
+        &#x202c; - The PDF (pop directional formatting) formatting character; closes LRO.
+-->
+
+
+
+<div class="ref" dir="ltr">&#x202d;&#x5d1; &lt; &#x5d0;</div>
+
+
+<div class="ref" dir="ltr">&#x202d;&#x5d1; &lt; &#x5d0;</div>
+
+
+
+
+
+
+</body></html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/reference/bidi-embed-011.html
@@ -0,0 +1,47 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+<meta charset="utf-8"/>
+<title>direction/unicode-bidi: direction alone and inherited, unicode-bidi embed</title>
+
+<link rel="author" title="Richard Ishida" href='mailto:ishida@w3.org'/>
+<style type="text/css">
+.test b { direction: rtl; font-weight: normal; }
+.test span { unicode-bidi: embed; }
+
+ /* the following styles are not part of the test */
+.test, .ref { font-size: 150%; border: 1px solid orange; margin: 10px; width: 10em; padding: 5px; clear: both; }
+input { margin: 5px; }
+@font-face {
+    font-family: 'ezra_silregular';
+    src: url('support/sileot-webfont.woff') format('woff');
+    font-weight: normal;
+    font-style: normal;
+    }
+.test, .ref { font-family: ezra_silregular, serif; }
+</style>
+</head>
+<body>
+<p class="instructions" dir="ltr">Test passes if the two boxes are identical.</p>
+
+
+<!--Notes:
+Key to entities used below:
+        &#x5d0; ... &#x5d5; - The first six Hebrew letters (strongly RTL).
+        &#x202d; - The LRO (left-to-right-override) formatting character.
+        &#x202c; - The PDF (pop directional formatting) formatting character; closes LRO.
+-->
+
+
+
+<div class="ref" dir="ltr">&#x202d;&gt; a &gt; &#x5d3; &lt; b &gt; d &gt;&#x202c;</div>
+
+
+<div class="ref" dir="ltr">&#x202d;&gt; a &gt; &#x5d3; &lt; b &gt; d &gt;&#x202c;</div>
+
+
+
+
+
+
+</body></html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/reference/bidi-isolate-001.html
@@ -0,0 +1,46 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+<meta charset="utf-8"/>
+<title>direction/unicode-bidi: span direction rtl, unicode-bidi isolate (1)</title>
+
+<link rel="author" title="Richard Ishida" href='mailto:ishida@w3.org'/>
+<style type="text/css">
+.test span { direction: rtl; unicode-bidi: isolate; }
+
+ /* the following styles are not part of the test */
+.test, .ref { font-size: 150%; border: 1px solid orange; margin: 10px; width: 10em; padding: 5px; clear: both; }
+input { margin: 5px; }
+@font-face {
+    font-family: 'ezra_silregular';
+    src: url('support/sileot-webfont.woff') format('woff');
+    font-weight: normal;
+    font-style: normal;
+    }
+.test, .ref { font-family: ezra_silregular, serif; }
+</style>
+</head>
+<body>
+<p class="instructions" dir="ltr">Test passes if the two boxes are identical.</p>
+
+
+<!--Notes:
+Key to entities used below:
+        &#x5d0; ... &#x5d5; - The first six Hebrew letters (strongly RTL).
+        &#x202d; - The LRO (left-to-right-override) formatting character.
+        &#x202c; - The PDF (pop directional formatting) formatting character; closes LRO.
+-->
+
+
+
+<div class="ref" dir="ltr">&#x202d;&gt; &#x5d0; &lt; a &gt;&#x202c;</div>
+
+
+<div class="ref" dir="ltr">&#x202d;&gt; &#x5d0; &lt; a &gt;&#x202c;</div>
+
+
+
+
+
+
+</body></html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/reference/bidi-isolate-002.html
@@ -0,0 +1,46 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+<meta charset="utf-8"/>
+<title>direction/unicode-bidi: span direction rtl, unicode-bidi isolate (2)</title>
+
+<link rel="author" title="Richard Ishida" href='mailto:ishida@w3.org'/>
+<style type="text/css">
+.test span { direction: rtl; unicode-bidi: isolate; }
+
+ /* the following styles are not part of the test */
+.test, .ref { font-size: 150%; border: 1px solid orange; margin: 10px; width: 10em; padding: 5px; clear: both; }
+input { margin: 5px; }
+@font-face {
+    font-family: 'ezra_silregular';
+    src: url('support/sileot-webfont.woff') format('woff');
+    font-weight: normal;
+    font-style: normal;
+    }
+.test, .ref { font-family: ezra_silregular, serif; }
+</style>
+</head>
+<body>
+<p class="instructions" dir="ltr">Test passes if the two boxes are identical.</p>
+
+
+<!--Notes:
+Key to entities used below:
+        &#x5d0; ... &#x5d5; - The first six Hebrew letters (strongly RTL).
+        &#x202d; - The LRO (left-to-right-override) formatting character.
+        &#x202c; - The PDF (pop directional formatting) formatting character; closes LRO.
+-->
+
+
+
+<div class="ref" dir="ltr">&#x202d;&gt; a &lt; &#x5d0; &gt;&#x202c;</div>
+
+
+<div class="ref" dir="ltr">&#x202d;&gt; a &lt; &#x5d0; &gt;&#x202c;</div>
+
+
+
+
+
+
+</body></html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/reference/bidi-isolate-003.html
@@ -0,0 +1,46 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+<meta charset="utf-8"/>
+<title>direction/unicode-bidi: span direction ltr, unicode-bidi isolate (1)</title>
+
+<link rel="author" title="Richard Ishida" href='mailto:ishida@w3.org'/>
+<style type="text/css">
+.test span { direction: ltr; unicode-bidi: isolate; }
+
+ /* the following styles are not part of the test */
+.test, .ref { font-size: 150%; border: 1px solid orange; margin: 10px; width: 10em; padding: 5px; clear: both; }
+input { margin: 5px; }
+@font-face {
+    font-family: 'ezra_silregular';
+    src: url('support/sileot-webfont.woff') format('woff');
+    font-weight: normal;
+    font-style: normal;
+    }
+.test, .ref { font-family: ezra_silregular, serif; }
+</style>
+</head>
+<body>
+<p class="instructions" dir="ltr">Test passes if the two boxes are identical.</p>
+
+
+<!--Notes:
+Key to entities used below:
+        &#x5d0; ... &#x5d5; - The first six Hebrew letters (strongly RTL).
+        &#x202d; - The LRO (left-to-right-override) formatting character.
+        &#x202c; - The PDF (pop directional formatting) formatting character; closes LRO.
+-->
+
+
+
+<div class="ref" dir="rtl">&#x202d;&lt; &#x5d0; &gt; a &lt;&#x202c;</div>
+
+
+<div class="ref" dir="rtl">&#x202d;&lt; &#x5d0; &gt; a &lt;&#x202c;</div>
+
+
+
+
+
+
+</body></html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/reference/bidi-isolate-004.html
@@ -0,0 +1,46 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+<meta charset="utf-8"/>
+<title>direction/unicode-bidi: span direction ltr, unicode-bidi isolate (2)</title>
+
+<link rel="author" title="Richard Ishida" href='mailto:ishida@w3.org'/>
+<style type="text/css">
+.test span { direction: ltr; unicode-bidi: isolate; }
+
+ /* the following styles are not part of the test */
+.test, .ref { font-size: 150%; border: 1px solid orange; margin: 10px; width: 10em; padding: 5px; clear: both; }
+input { margin: 5px; }
+@font-face {
+    font-family: 'ezra_silregular';
+    src: url('support/sileot-webfont.woff') format('woff');
+    font-weight: normal;
+    font-style: normal;
+    }
+.test, .ref { font-family: ezra_silregular, serif; }
+</style>
+</head>
+<body>
+<p class="instructions" dir="ltr">Test passes if the two boxes are identical.</p>
+
+
+<!--Notes:
+Key to entities used below:
+        &#x5d0; ... &#x5d5; - The first six Hebrew letters (strongly RTL).
+        &#x202d; - The LRO (left-to-right-override) formatting character.
+        &#x202c; - The PDF (pop directional formatting) formatting character; closes LRO.
+-->
+
+
+
+<div class="ref" dir="rtl">&#x202d;&lt; a &gt; &#x5d0; &lt;&#x202c;</div>
+
+
+<div class="ref" dir="rtl">&#x202d;&lt; a &gt; &#x5d0; &lt;&#x202c;</div>
+
+
+
+
+
+
+</body></html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/reference/bidi-isolate-005.html
@@ -0,0 +1,50 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+<meta charset="utf-8"/>
+<title>direction/unicode-bidi: element as directional character with unicode-bidi isolate, rtl</title>
+
+<link rel="author" title="Richard Ishida" href='mailto:ishida@w3.org'/>
+<style type="text/css">
+.test span { direction: rtl; unicode-bidi: isolate; }
+
+ /* the following styles are not part of the test */
+.test, .ref { font-size: 150%; border: 1px solid orange; margin: 10px; width: 10em; padding: 5px; clear: both; }
+input { margin: 5px; }
+@font-face {
+    font-family: 'ezra_silregular';
+    src: url('support/sileot-webfont.woff') format('woff');
+    font-weight: normal;
+    font-style: normal;
+    }
+.test, .ref { font-family: ezra_silregular, serif; }
+</style>
+</head>
+<body>
+<p class="instructions" dir="ltr">Test passes if the two boxes are identical.</p>
+
+
+<!--Notes:
+Key to entities used below:
+        &#x5d0; ... &#x5d5; - The first six Hebrew letters (strongly RTL).
+        &#x202d; - The LRO (left-to-right-override) formatting character.
+        &#x202c; - The PDF (pop directional formatting) formatting character; closes LRO.
+-->
+
+
+
+<div class="ref"><div dir="rtl">&#x202d;a &gt; &#x5d1; &lt; &#x5d0; &gt; d&#x202c;</div>
+      	     <div dir="rtl">&#x202d;a &gt; b &gt; c &gt; d&#x202c;</div>
+      	     </div>
+
+
+<div class="ref"><div dir="rtl">&#x202d;a &gt; &#x5d1; &lt; &#x5d0; &gt; d&#x202c;</div>
+      	     <div dir="rtl">&#x202d;a &gt; b &gt; c &gt; d&#x202c;</div>
+      	     </div>
+
+
+
+
+
+
+</body></html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/reference/bidi-isolate-006.html
@@ -0,0 +1,50 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+<meta charset="utf-8"/>
+<title>direction/unicode-bidi: element as directional character with unicode-bidi isolate, ltr</title>
+
+<link rel="author" title="Richard Ishida" href='mailto:ishida@w3.org'/>
+<style type="text/css">
+.test span { direction: ltr; unicode-bidi: isolate; }
+
+ /* the following styles are not part of the test */
+.test, .ref { font-size: 150%; border: 1px solid orange; margin: 10px; width: 10em; padding: 5px; clear: both; }
+input { margin: 5px; }
+@font-face {
+    font-family: 'ezra_silregular';
+    src: url('support/sileot-webfont.woff') format('woff');
+    font-weight: normal;
+    font-style: normal;
+    }
+.test, .ref { font-family: ezra_silregular, serif; }
+</style>
+</head>
+<body>
+<p class="instructions" dir="ltr">Test passes if the two boxes are identical.</p>
+
+
+<!--Notes:
+Key to entities used below:
+        &#x5d0; ... &#x5d5; - The first six Hebrew letters (strongly RTL).
+        &#x202d; - The LRO (left-to-right-override) formatting character.
+        &#x202c; - The PDF (pop directional formatting) formatting character; closes LRO.
+-->
+
+
+
+<div class="ref"><div dir="ltr">&#x202d;&#x5d3; &lt; b &gt; c &lt; &#x5d0;&#x202c;</div>
+      	     <div dir="ltr">&#x202d;&#x5d3; &lt; &#x5d2; &lt; &#x5d1; &lt; &#x5d0;&#x202c;</div>
+      	     </div>
+
+
+<div class="ref"><div dir="ltr">&#x202d;&#x5d3; &lt; b &gt; c &lt; &#x5d0;&#x202c;</div>
+      	     <div dir="ltr">&#x202d;&#x5d3; &lt; &#x5d2; &lt; &#x5d1; &lt; &#x5d0;&#x202c;</div>
+      	     </div>
+
+
+
+
+
+
+</body></html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/reference/bidi-isolate-007.html
@@ -0,0 +1,47 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+<meta charset="utf-8"/>
+<title>direction/unicode-bidi: element isolation and unicode-bidi isolate, rtl + number</title>
+
+<link rel="author" title="Richard Ishida" href='mailto:ishida@w3.org'/>
+<style type="text/css">
+.test span { direction: rtl; unicode-bidi: isolate; }
+
+ /* the following styles are not part of the test */
+.test, .ref { font-size: 150%; border: 1px solid orange; margin: 10px; width: 10em; padding: 5px; clear: both; }
+input { margin: 5px; }
+@font-face {
+    font-family: 'ezra_silregular';
+    src: url('support/sileot-webfont.woff') format('woff');
+    font-weight: normal;
+    font-style: normal;
+    }
+.test, .ref { font-family: ezra_silregular, serif; }
+</style>
+</head>
+<body>
+<p class="instructions" dir="ltr">Test passes if the two boxes are identical.</p>
+
+
+<!--Notes:
+Key to entities used below:
+        &#x5d0; ... &#x5d5; - The first six Hebrew letters (strongly RTL).
+        &#x202d; - The LRO (left-to-right-override) formatting character.
+        &#x202c; - The PDF (pop directional formatting) formatting character; closes LRO.
+-->
+
+
+
+<div class="ref">&#x202d;&#x5d0; 3&#x202c;</div>
+
+<div class="ref">&#x202d;&#x5d0; 3&#x202c;</div>
+
+
+
+
+
+
+
+
+</body></html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/reference/bidi-isolate-008.html
@@ -0,0 +1,46 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+<meta charset="utf-8"/>
+<title>direction/unicode-bidi: element isolation and unicode-bidi isolate, ltr + number</title>
+
+<link rel="author" title="Richard Ishida" href='mailto:ishida@w3.org'/>
+<style type="text/css">
+.test span { direction: ltr; unicode-bidi: isolate; }
+
+ /* the following styles are not part of the test */
+.test, .ref { font-size: 150%; border: 1px solid orange; margin: 10px; width: 10em; padding: 5px; clear: both; }
+input { margin: 5px; }
+@font-face {
+    font-family: 'ezra_silregular';
+    src: url('support/sileot-webfont.woff') format('woff');
+    font-weight: normal;
+    font-style: normal;
+    }
+.test, .ref { font-family: ezra_silregular, serif; }
+</style>
+</head>
+<body>
+<p class="instructions" dir="ltr">Test passes if the two boxes are identical.</p>
+
+
+<!--Notes:
+Key to entities used below:
+        &#x5d0; ... &#x5d5; - The first six Hebrew letters (strongly RTL).
+        &#x202d; - The LRO (left-to-right-override) formatting character.
+        &#x202c; - The PDF (pop directional formatting) formatting character; closes LRO.
+-->
+
+
+
+<div class="ref" dir="rtl">&#x202d;3 a&#x202c;</div>
+
+
+<div class="ref" dir="rtl">&#x202d;3 a&#x202c;</div>
+
+
+
+
+
+
+</body></html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/reference/bidi-isolate-009.html
@@ -0,0 +1,46 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+<meta charset="utf-8"/>
+<title>direction/unicode-bidi: element isolation and unicode-bidi isolate, rtl list</title>
+
+<link rel="author" title="Richard Ishida" href='mailto:ishida@w3.org'/>
+<style type="text/css">
+.test span { direction: ltr; unicode-bidi: isolate; }
+
+ /* the following styles are not part of the test */
+.test, .ref { font-size: 150%; border: 1px solid orange; margin: 10px; width: 10em; padding: 5px; clear: both; }
+input { margin: 5px; }
+@font-face {
+    font-family: 'ezra_silregular';
+    src: url('support/sileot-webfont.woff') format('woff');
+    font-weight: normal;
+    font-style: normal;
+    }
+.test, .ref { font-family: ezra_silregular, serif; }
+</style>
+</head>
+<body>
+<p class="instructions" dir="ltr">Test passes if the two boxes are identical.</p>
+
+
+<!--Notes:
+Key to entities used below:
+        &#x5d0; ... &#x5d5; - The first six Hebrew letters (strongly RTL).
+        &#x202d; - The LRO (left-to-right-override) formatting character.
+        &#x202c; - The PDF (pop directional formatting) formatting character; closes LRO.
+-->
+
+
+
+<div class="ref" dir="rtl">&#x202d;b &lt; a</div>
+
+
+<div class="ref" dir="rtl">&#x202d;b &lt; a</div>
+
+
+
+
+
+
+</body></html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/reference/bidi-isolate-010.html
@@ -0,0 +1,46 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+<meta charset="utf-8"/>
+<title>direction/unicode-bidi: element isolation and unicode-bidi isolate, ltr list</title>
+
+<link rel="author" title="Richard Ishida" href='mailto:ishida@w3.org'/>
+<style type="text/css">
+.test span { direction: rtl; unicode-bidi: isolate; }
+
+ /* the following styles are not part of the test */
+.test, .ref { font-size: 150%; border: 1px solid orange; margin: 10px; width: 10em; padding: 5px; clear: both; }
+input { margin: 5px; }
+@font-face {
+    font-family: 'ezra_silregular';
+    src: url('support/sileot-webfont.woff') format('woff');
+    font-weight: normal;
+    font-style: normal;
+    }
+.test, .ref { font-family: ezra_silregular, serif; }
+</style>
+</head>
+<body>
+<p class="instructions" dir="ltr">Test passes if the two boxes are identical.</p>
+
+
+<!--Notes:
+Key to entities used below:
+        &#x5d0; ... &#x5d5; - The first six Hebrew letters (strongly RTL).
+        &#x202d; - The LRO (left-to-right-override) formatting character.
+        &#x202c; - The PDF (pop directional formatting) formatting character; closes LRO.
+-->
+
+
+
+<div class="ref" dir="ltr">&#x202d;&#x5d0; &gt; &#x5d1;</div>
+
+
+<div class="ref" dir="ltr">&#x202d;&#x5d0; &gt; &#x5d1;</div>
+
+
+
+
+
+
+</body></html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/reference/bidi-isolate-override-001.html
@@ -0,0 +1,46 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+<meta charset="utf-8"/>
+<title>direction/unicode-bidi: span direction rtl, isolate-override (1)</title>
+
+<link rel="author" title="Richard Ishida" href='mailto:ishida@w3.org'/>
+<style type="text/css">
+.test span { direction: rtl; unicode-bidi: isolate-override; }
+
+ /* the following styles are not part of the test */
+.test, .ref { font-size: 150%; border: 1px solid orange; margin: 10px; width: 10em; padding: 5px; clear: both; }
+input { margin: 5px; }
+@font-face {
+    font-family: 'ezra_silregular';
+    src: url('support/sileot-webfont.woff') format('woff');
+    font-weight: normal;
+    font-style: normal;
+    }
+.test, .ref { font-family: ezra_silregular, serif; }
+</style>
+</head>
+<body>
+<p class="instructions" dir="ltr">Test passes if the two boxes are identical.</p>
+
+
+<!--Notes:
+Key to entities used below:
+        &#x5d0; ... &#x5d5; - The first six Hebrew letters (strongly RTL).
+        &#x202d; - The LRO (left-to-right-isolate-override) formatting character.
+        &#x202c; - The PDF (pop directional formatting) formatting character; closes LRO.
+-->
+
+
+
+<div class="ref" dir="ltr">&#x202d;&gt; &#x5d3;&#x5d2;&#x5d1;&#x5d0; &lt; dcba &gt;&#x202c;</div>
+
+
+<div class="ref" dir="ltr">&#x202d;&gt; &#x5d3;&#x5d2;&#x5d1;&#x5d0; &lt; dcba &gt;&#x202c;</div>
+
+
+
+
+
+
+</body></html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/reference/bidi-isolate-override-002.html
@@ -0,0 +1,46 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+<meta charset="utf-8"/>
+<title>direction/unicode-bidi: span direction rtl, isolate-override (2)</title>
+
+<link rel="author" title="Richard Ishida" href='mailto:ishida@w3.org'/>
+<style type="text/css">
+.test span { direction: rtl; unicode-bidi: isolate-override; }
+
+ /* the following styles are not part of the test */
+.test, .ref { font-size: 150%; border: 1px solid orange; margin: 10px; width: 10em; padding: 5px; clear: both; }
+input { margin: 5px; }
+@font-face {
+    font-family: 'ezra_silregular';
+    src: url('support/sileot-webfont.woff') format('woff');
+    font-weight: normal;
+    font-style: normal;
+    }
+.test, .ref { font-family: ezra_silregular, serif; }
+</style>
+</head>
+<body>
+<p class="instructions" dir="ltr">Test passes if the two boxes are identical.</p>
+
+
+<!--Notes:
+Key to entities used below:
+        &#x5d0; ... &#x5d5; - The first six Hebrew letters (strongly RTL).
+        &#x202d; - The LRO (left-to-right-isolate-override) formatting character.
+        &#x202c; - The PDF (pop directional formatting) formatting character; closes LRO.
+-->
+
+
+
+<div class="ref" dir="ltr">&#x202d;&gt; dcba &lt; &#x5d3;&#x5d2;&#x5d1;&#x5d0; &gt;&#x202c;</div>
+
+
+<div class="ref" dir="ltr">&#x202d;&gt; dcba &lt; &#x5d3;&#x5d2;&#x5d1;&#x5d0; &gt;&#x202c;</div>
+
+
+
+
+
+
+</body></html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/reference/bidi-isolate-override-003.html
@@ -0,0 +1,46 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+<meta charset="utf-8"/>
+<title>direction/unicode-bidi: span direction ltr, isolate-override (1)</title>
+
+<link rel="author" title="Richard Ishida" href='mailto:ishida@w3.org'/>
+<style type="text/css">
+.test span { direction: ltr; unicode-bidi: isolate-override; }
+
+ /* the following styles are not part of the test */
+.test, .ref { font-size: 150%; border: 1px solid orange; margin: 10px; width: 10em; padding: 5px; clear: both; }
+input { margin: 5px; }
+@font-face {
+    font-family: 'ezra_silregular';
+    src: url('support/sileot-webfont.woff') format('woff');
+    font-weight: normal;
+    font-style: normal;
+    }
+.test, .ref { font-family: ezra_silregular, serif; }
+</style>
+</head>
+<body>
+<p class="instructions" dir="ltr">Test passes if the two boxes are identical.</p>
+
+
+<!--Notes:
+Key to entities used below:
+        &#x5d0; ... &#x5d5; - The first six Hebrew letters (strongly RTL).
+        &#x202d; - The LRO (left-to-right-isolate-override) formatting character.
+        &#x202c; - The PDF (pop directional formatting) formatting character; closes LRO.
+-->
+
+
+
+<div class="ref" dir="rtl">&#x202d;&lt; &#x5d0;&#x5d1;&#x5d2;&#x5d3; &gt; abcd &lt;&#x202c;</div>
+
+
+<div class="ref" dir="rtl">&#x202d;&lt; &#x5d0;&#x5d1;&#x5d2;&#x5d3; &gt; abcd &lt;&#x202c;</div>
+
+
+
+
+
+
+</body></html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/reference/bidi-isolate-override-004.html
@@ -0,0 +1,46 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+<meta charset="utf-8"/>
+<title>direction/unicode-bidi: span direction ltr, isolate-override (2)</title>
+
+<link rel="author" title="Richard Ishida" href='mailto:ishida@w3.org'/>
+<style type="text/css">
+.test span { direction: ltr; unicode-bidi: isolate-override; }
+
+ /* the following styles are not part of the test */
+.test, .ref { font-size: 150%; border: 1px solid orange; margin: 10px; width: 10em; padding: 5px; clear: both; }
+input { margin: 5px; }
+@font-face {
+    font-family: 'ezra_silregular';
+    src: url('support/sileot-webfont.woff') format('woff');
+    font-weight: normal;
+    font-style: normal;
+    }
+.test, .ref { font-family: ezra_silregular, serif; }
+</style>
+</head>
+<body>
+<p class="instructions" dir="ltr">Test passes if the two boxes are identical.</p>
+
+
+<!--Notes:
+Key to entities used below:
+        &#x5d0; ... &#x5d5; - The first six Hebrew letters (strongly RTL).
+        &#x202d; - The LRO (left-to-right-isolate-override) formatting character.
+        &#x202c; - The PDF (pop directional formatting) formatting character; closes LRO.
+-->
+
+
+
+<div class="ref" dir="rtl">&#x202d;&lt; abcd &gt; &#x5d0;&#x5d1;&#x5d2;&#x5d3; &lt;&#x202c;</div>
+
+
+<div class="ref" dir="rtl">&#x202d;&lt; abcd &gt; &#x5d0;&#x5d1;&#x5d2;&#x5d3; &lt;&#x202c;</div>
+
+
+
+
+
+
+</body></html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/reference/bidi-isolate-override-005.html
@@ -0,0 +1,50 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+<meta charset="utf-8"/>
+<title>direction/unicode-bidi: element as directional character with isolate-override, rtl</title>
+
+<link rel="author" title="Richard Ishida" href='mailto:ishida@w3.org'/>
+<style type="text/css">
+.test span { direction: rtl; unicode-bidi: isolate-override; }
+
+ /* the following styles are not part of the test */
+.test, .ref { font-size: 150%; border: 1px solid orange; margin: 10px; width: 10em; padding: 5px; clear: both; }
+input { margin: 5px; }
+@font-face {
+    font-family: 'ezra_silregular';
+    src: url('support/sileot-webfont.woff') format('woff');
+    font-weight: normal;
+    font-style: normal;
+    }
+.test, .ref { font-family: ezra_silregular, serif; }
+</style>
+</head>
+<body>
+<p class="instructions" dir="ltr">Test passes if the two boxes are identical.</p>
+
+
+<!--Notes:
+Key to entities used below:
+        &#x5d0; ... &#x5d5; - The first six Hebrew letters (strongly RTL).
+        &#x202d; - The LRO (left-to-right-isolate-override) formatting character.
+        &#x202c; - The PDF (pop directional formatting) formatting character; closes LRO.
+-->
+
+
+
+<div class="ref"><div dir="rtl">&#x202d;a &gt; &#x5d2; &lt; &#x5d1; &gt; d&#x202c;</div>
+      	     <div dir="rtl">&#x202d;a &gt; c &lt; b &gt; d&#x202c;</div>
+      	     </div>
+
+
+<div class="ref"><div dir="rtl">&#x202d;a &gt; &#x5d2; &lt; &#x5d1; &gt; d&#x202c;</div>
+      	     <div dir="rtl">&#x202d;a &gt; c &lt; b &gt; d&#x202c;</div>
+      	     </div>
+
+
+
+
+
+
+</body></html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/reference/bidi-isolate-override-006.html
@@ -0,0 +1,50 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+<meta charset="utf-8"/>
+<title>direction/unicode-bidi: element as directional character with isolate-override, ltr</title>
+
+<link rel="author" title="Richard Ishida" href='mailto:ishida@w3.org'/>
+<style type="text/css">
+.test span { direction: ltr; unicode-bidi: isolate-override; }
+
+ /* the following styles are not part of the test */
+.test, .ref { font-size: 150%; border: 1px solid orange; margin: 10px; width: 10em; padding: 5px; clear: both; }
+input { margin: 5px; }
+@font-face {
+    font-family: 'ezra_silregular';
+    src: url('support/sileot-webfont.woff') format('woff');
+    font-weight: normal;
+    font-style: normal;
+    }
+.test, .ref { font-family: ezra_silregular, serif; }
+</style>
+</head>
+<body>
+<p class="instructions" dir="ltr">Test passes if the two boxes are identical.</p>
+
+
+<!--Notes:
+Key to entities used below:
+        &#x5d0; ... &#x5d5; - The first six Hebrew letters (strongly RTL).
+        &#x202d; - The LRO (left-to-right-isolate-override) formatting character.
+        &#x202c; - The PDF (pop directional formatting) formatting character; closes LRO.
+-->
+
+
+
+<div class="ref"><div dir="ltr">&#x202d;&#x5d3; &lt; b &gt; c &lt; &#x5d0;&#x202c;</div>
+      	     <div dir="ltr">&#x202d;&#x5d3; &lt; &#x5d1; &gt; &#x5d2; &lt; &#x5d0;&#x202c;</div>
+      	     </div>
+
+
+<div class="ref"><div dir="ltr">&#x202d;&#x5d3; &lt; b &gt; c &lt; &#x5d0;&#x202c;</div>
+      	     <div dir="ltr">&#x202d;&#x5d3; &lt; &#x5d1; &gt; &#x5d2; &lt; &#x5d0;&#x202c;</div>
+      	     </div>
+
+
+
+
+
+
+</body></html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/reference/bidi-isolate-override-007.html
@@ -0,0 +1,46 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+<meta charset="utf-8"/>
+<title>direction/unicode-bidi: element isolation and isolate-override, rtl + number</title>
+
+<link rel="author" title="Richard Ishida" href='mailto:ishida@w3.org'/>
+<style type="text/css">
+.test span { direction: rtl; unicode-bidi: isolate-override; }
+
+ /* the following styles are not part of the test */
+.test, .ref { font-size: 150%; border: 1px solid orange; margin: 10px; width: 10em; padding: 5px; clear: both; }
+input { margin: 5px; }
+@font-face {
+    font-family: 'ezra_silregular';
+    src: url('support/sileot-webfont.woff') format('woff');
+    font-weight: normal;
+    font-style: normal;
+    }
+.test, .ref { font-family: ezra_silregular, serif; }
+</style>
+</head>
+<body>
+<p class="instructions" dir="ltr">Test passes if the two boxes are identical.</p>
+
+
+<!--Notes:
+Key to entities used below:
+        &#x5d0; ... &#x5d5; - The first six Hebrew letters (strongly RTL).
+        &#x202d; - The LRO (left-to-right-isolate-override) formatting character.
+        &#x202c; - The PDF (pop directional formatting) formatting character; closes LRO.
+-->
+
+
+
+<div class="ref" dir="ltr">&#x202d;&#x5d3;&#x5d2;&#x5d1;&#x5d0;&#x202c; 3</div>
+
+
+<div class="ref" dir="ltr">&#x202d;&#x5d3;&#x5d2;&#x5d1;&#x5d0;&#x202c; 3</div>
+
+
+
+
+
+
+</body></html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/reference/bidi-isolate-override-008.html
@@ -0,0 +1,46 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+<meta charset="utf-8"/>
+<title>direction/unicode-bidi: element isolation and isolate-override, ltr + number</title>
+
+<link rel="author" title="Richard Ishida" href='mailto:ishida@w3.org'/>
+<style type="text/css">
+.test span { direction: ltr; unicode-bidi: isolate-override; }
+
+ /* the following styles are not part of the test */
+.test, .ref { font-size: 150%; border: 1px solid orange; margin: 10px; width: 10em; padding: 5px; clear: both; }
+input { margin: 5px; }
+@font-face {
+    font-family: 'ezra_silregular';
+    src: url('support/sileot-webfont.woff') format('woff');
+    font-weight: normal;
+    font-style: normal;
+    }
+.test, .ref { font-family: ezra_silregular, serif; }
+</style>
+</head>
+<body>
+<p class="instructions" dir="ltr">Test passes if the two boxes are identical.</p>
+
+
+<!--Notes:
+Key to entities used below:
+        &#x5d0; ... &#x5d5; - The first six Hebrew letters (strongly RTL).
+        &#x202d; - The LRO (left-to-right-isolate-override) formatting character.
+        &#x202c; - The PDF (pop directional formatting) formatting character; closes LRO.
+-->
+
+
+
+<div class="ref" dir="rtl">&#x202d;3 abcd&#x202c;</div>
+
+
+<div class="ref" dir="rtl">&#x202d;3 abcd&#x202c;</div>
+
+
+
+
+
+
+</body></html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/reference/bidi-isolate-override-009.html
@@ -0,0 +1,46 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+<meta charset="utf-8"/>
+<title>direction/unicode-bidi: element isolation and isolate-override, rtl list</title>
+
+<link rel="author" title="Richard Ishida" href='mailto:ishida@w3.org'/>
+<style type="text/css">
+.test span { direction: ltr; unicode-bidi: isolate-override; }
+
+ /* the following styles are not part of the test */
+.test, .ref { font-size: 150%; border: 1px solid orange; margin: 10px; width: 10em; padding: 5px; clear: both; }
+input { margin: 5px; }
+@font-face {
+    font-family: 'ezra_silregular';
+    src: url('support/sileot-webfont.woff') format('woff');
+    font-weight: normal;
+    font-style: normal;
+    }
+.test, .ref { font-family: ezra_silregular, serif; }
+</style>
+</head>
+<body>
+<p class="instructions" dir="ltr">Test passes if the two boxes are identical.</p>
+
+
+<!--Notes:
+Key to entities used below:
+        &#x5d0; ... &#x5d5; - The first six Hebrew letters (strongly RTL).
+        &#x202d; - The LRO (left-to-right-isolate-override) formatting character.
+        &#x202c; - The PDF (pop directional formatting) formatting character; closes LRO.
+-->
+
+
+
+<div class="ref" dir="rtl">&#x202d;e &lt; abcd</div>
+
+
+<div class="ref" dir="rtl">&#x202d;e &lt; abcd</div>
+
+
+
+
+
+
+</body></html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/reference/bidi-isolate-override-010.html
@@ -0,0 +1,46 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+<meta charset="utf-8"/>
+<title>direction/unicode-bidi: element isolation and isolate-override, ltr list</title>
+
+<link rel="author" title="Richard Ishida" href='mailto:ishida@w3.org'/>
+<style type="text/css">
+.test span { direction: rtl; unicode-bidi: isolate-override; }
+
+ /* the following styles are not part of the test */
+.test, .ref { font-size: 150%; border: 1px solid orange; margin: 10px; width: 10em; padding: 5px; clear: both; }
+input { margin: 5px; }
+@font-face {
+    font-family: 'ezra_silregular';
+    src: url('support/sileot-webfont.woff') format('woff');
+    font-weight: normal;
+    font-style: normal;
+    }
+.test, .ref { font-family: ezra_silregular, serif; }
+</style>
+</head>
+<body>
+<p class="instructions" dir="ltr">Test passes if the two boxes are identical.</p>
+
+
+<!--Notes:
+Key to entities used below:
+        &#x5d0; ... &#x5d5; - The first six Hebrew letters (strongly RTL).
+        &#x202d; - The LRO (left-to-right-isolate-override) formatting character.
+        &#x202c; - The PDF (pop directional formatting) formatting character; closes LRO.
+-->
+
+
+
+<div class="ref" dir="ltr">&#x202d;&#x5d3;&#x5d2;&#x5d1;&#x5d0; &gt; &#x5d4;</div>
+
+
+<div class="ref" dir="ltr">&#x202d;&#x5d3;&#x5d2;&#x5d1;&#x5d0; &gt; &#x5d4;</div>
+
+
+
+
+
+
+</body></html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/reference/bidi-isolate-override-011.html
@@ -0,0 +1,47 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+<meta charset="utf-8"/>
+<title>direction/unicode-bidi: direction alone and inherited, isolate-override</title>
+
+<link rel="author" title="Richard Ishida" href='mailto:ishida@w3.org'/>
+<style type="text/css">
+.test b { direction: rtl; font-weight: normal; }
+.test span { unicode-bidi: isolate-override; }
+
+ /* the following styles are not part of the test */
+.test, .ref { font-size: 150%; border: 1px solid orange; margin: 10px; width: 15em; padding: 5px; clear: both; }
+input { margin: 5px; }
+@font-face {
+    font-family: 'ezra_silregular';
+    src: url('support/sileot-webfont.woff') format('woff');
+    font-weight: normal;
+    font-style: normal;
+    }
+.test, .ref { font-family: ezra_silregular, serif; }
+</style>
+</head>
+<body>
+<p class="instructions" dir="ltr">Test passes if the two boxes are identical.</p>
+
+
+<!--Notes:
+Key to entities used below:
+        &#x5d0; ... &#x5d5; - The first six Hebrew letters (strongly RTL).
+        &#x202d; - The LRO (left-to-right-isolate-override) formatting character.
+        &#x202c; - The PDF (pop directional formatting) formatting character; closes LRO.
+-->
+
+
+
+<div class="ref" dir="ltr">&#x202d;&gt; a &gt; &#x5d2;&#x5d1; &lt; cb &gt; d &gt;&#x202c;</div>
+
+
+<div class="ref" dir="ltr">&#x202d;&gt; a &gt; &#x5d2;&#x5d1; &lt; cb &gt; d &gt;&#x202c;</div>
+
+
+
+
+
+
+</body></html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/reference/bidi-isolate-override-012.html
@@ -0,0 +1,46 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+<meta charset="utf-8"/>
+<title>direction/unicode-bidi: default direction, isolate-override</title>
+
+<link rel="author" title="Richard Ishida" href='mailto:ishida@w3.org'/>
+<style type="text/css">
+.test span { unicode-bidi: isolate-override; }
+
+ /* the following styles are not part of the test */
+.test, .ref { font-size: 150%; border: 1px solid orange; margin: 10px; width: 15em; padding: 5px; clear: both; }
+input { margin: 5px; }
+@font-face {
+    font-family: 'ezra_silregular';
+    src: url('support/sileot-webfont.woff') format('woff');
+    font-weight: normal;
+    font-style: normal;
+    }
+.test, .ref { font-family: ezra_silregular, serif; }
+</style>
+</head>
+<body>
+<p class="instructions" dir="ltr">Test passes if the two boxes are identical.</p>
+
+
+<!--Notes:
+Key to entities used below:
+        &#x5d0; ... &#x5d5; - The first six Hebrew letters (strongly RTL).
+        &#x202d; - The LRO (left-to-right-isolate-override) formatting character.
+        &#x202c; - The PDF (pop directional formatting) formatting character; closes LRO.
+-->
+
+
+
+<div class="ref" dir="ltr">&#x202d;&gt; abcd &gt; &#x5d0;&#x5d1;&#x5d2;&#x5d3; &gt;&#x202c;</div>
+
+
+<div class="ref" dir="ltr">&#x202d;&gt; abcd &gt; &#x5d0;&#x5d1;&#x5d2;&#x5d3; &gt;&#x202c;</div>
+
+
+
+
+
+
+</body></html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/reference/bidi-normal-001.html
@@ -0,0 +1,46 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+<meta charset="utf-8"/>
+<title>direction/unicode-bidi: span direction rtl, unicode-bidi normal (1)</title>
+
+<link rel="author" title="Richard Ishida" href='mailto:ishida@w3.org'/>
+<style type="text/css">
+.test span { direction: rtl; unicode-bidi: normal; }
+
+ /* the following styles are not part of the test */
+.test, .ref { font-size: 150%; border: 1px solid orange; margin: 10px; width: 10em; padding: 5px; clear: both; }
+input { margin: 5px; }
+@font-face {
+    font-family: 'ezra_silregular';
+    src: url('support/sileot-webfont.woff') format('woff');
+    font-weight: normal;
+    font-style: normal;
+    }
+.test, .ref { font-family: ezra_silregular, serif; }
+</style>
+</head>
+<body>
+<p class="instructions" dir="ltr">Test passes if the two boxes are identical.</p>
+
+
+<!--Notes:
+Key to entities used below:
+        &#x5d0; ... &#x5d5; - The first six Hebrew letters (strongly RTL).
+        &#x202d; - The LRO (left-to-right-override) formatting character.
+        &#x202c; - The PDF (pop directional formatting) formatting character; closes LRO.
+-->
+
+
+
+<div class="ref" dir="ltr">&#x202d;&gt; a &gt; &#x5d0; &gt;&#x202c;</div>
+
+
+<div class="ref" dir="ltr">&#x202d;&gt; a &gt; &#x5d0; &gt;&#x202c;</div>
+
+
+
+
+
+
+</body></html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/reference/bidi-normal-002.html
@@ -0,0 +1,46 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+<meta charset="utf-8"/>
+<title>direction/unicode-bidi: span direction rtl, unicode-bidi normal (2)</title>
+
+<link rel="author" title="Richard Ishida" href='mailto:ishida@w3.org'/>
+<style type="text/css">
+.test span { direction: rtl; unicode-bidi: normal; }
+
+ /* the following styles are not part of the test */
+.test, .ref { font-size: 150%; border: 1px solid orange; margin: 10px; width: 10em; padding: 5px; clear: both; }
+input { margin: 5px; }
+@font-face {
+    font-family: 'ezra_silregular';
+    src: url('support/sileot-webfont.woff') format('woff');
+    font-weight: normal;
+    font-style: normal;
+    }
+.test, .ref { font-family: ezra_silregular, serif; }
+</style>
+</head>
+<body>
+<p class="instructions" dir="ltr">Test passes if the two boxes are identical.</p>
+
+
+<!--Notes:
+Key to entities used below:
+        &#x5d0; ... &#x5d5; - The first six Hebrew letters (strongly RTL).
+        &#x202d; - The LRO (left-to-right-override) formatting character.
+        &#x202c; - The PDF (pop directional formatting) formatting character; closes LRO.
+-->
+
+
+
+<div class="ref" dir="ltr">&#x202d;&gt; &#x5d0; &gt; a &gt;&#x202c;</div>
+
+
+<div class="ref" dir="ltr">&#x202d;&gt; &#x5d0; &gt; a &gt;&#x202c;</div>
+
+
+
+
+
+
+</body></html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/reference/bidi-normal-003.html
@@ -0,0 +1,46 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+<meta charset="utf-8"/>
+<title>direction/unicode-bidi: span direction ltr, unicode-bidi normal (1)</title>
+
+<link rel="author" title="Richard Ishida" href='mailto:ishida@w3.org'/>
+<style type="text/css">
+.test span { direction: ltr; unicode-bidi: normal; }
+
+ /* the following styles are not part of the test */
+.test, .ref { font-size: 150%; border: 1px solid orange; margin: 10px; width: 10em; padding: 5px; clear: both; }
+input { margin: 5px; }
+@font-face {
+    font-family: 'ezra_silregular';
+    src: url('support/sileot-webfont.woff') format('woff');
+    font-weight: normal;
+    font-style: normal;
+    }
+.test, .ref { font-family: ezra_silregular, serif; }
+</style>
+</head>
+<body>
+<p class="instructions" dir="ltr">Test passes if the two boxes are identical.</p>
+
+
+<!--Notes:
+Key to entities used below:
+        &#x5d0; ... &#x5d5; - The first six Hebrew letters (strongly RTL).
+        &#x202d; - The LRO (left-to-right-override) formatting character.
+        &#x202c; - The PDF (pop directional formatting) formatting character; closes LRO.
+-->
+
+
+
+<div class="ref" dir="rtl">&#x202d;&lt; a &lt; &#x5d0; &lt;&#x202c;</div>
+
+
+<div class="ref" dir="rtl">&#x202d;&lt; a &lt; &#x5d0; &lt;&#x202c;</div>
+
+
+
+
+
+
+</body></html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/reference/bidi-normal-004.html
@@ -0,0 +1,46 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+<meta charset="utf-8"/>
+<title>direction/unicode-bidi: span direction ltr, unicode-bidi normal (2)</title>
+
+<link rel="author" title="Richard Ishida" href='mailto:ishida@w3.org'/>
+<style type="text/css">
+.test span { direction: ltr; unicode-bidi: normal; }
+
+ /* the following styles are not part of the test */
+.test, .ref { font-size: 150%; border: 1px solid orange; margin: 10px; width: 10em; padding: 5px; clear: both; }
+input { margin: 5px; }
+@font-face {
+    font-family: 'ezra_silregular';
+    src: url('support/sileot-webfont.woff') format('woff');
+    font-weight: normal;
+    font-style: normal;
+    }
+.test, .ref { font-family: ezra_silregular, serif; }
+</style>
+</head>
+<body>
+<p class="instructions" dir="ltr">Test passes if the two boxes are identical.</p>
+
+
+<!--Notes:
+Key to entities used below:
+        &#x5d0; ... &#x5d5; - The first six Hebrew letters (strongly RTL).
+        &#x202d; - The LRO (left-to-right-override) formatting character.
+        &#x202c; - The PDF (pop directional formatting) formatting character; closes LRO.
+-->
+
+
+
+<div class="ref" dir="rtl">&#x202d;&lt; &#x5d0; &lt; a &lt;&#x202c;</div>
+
+
+<div class="ref" dir="rtl">&#x202d;&lt; &#x5d0; &lt; a &lt;&#x202c;</div>
+
+
+
+
+
+
+</body></html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/reference/bidi-normal-005.html
@@ -0,0 +1,50 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+<meta charset="utf-8"/>
+<title>direction/unicode-bidi: element as directional character with unicode-bidi normal, rtl</title>
+
+<link rel="author" title="Richard Ishida" href='mailto:ishida@w3.org'/>
+<style type="text/css">
+.test span { direction: rtl; unicode-bidi: normal; }
+
+ /* the following styles are not part of the test */
+.test, .ref { font-size: 150%; border: 1px solid orange; margin: 10px; width: 10em; padding: 5px; clear: both; }
+input { margin: 5px; }
+@font-face {
+    font-family: 'ezra_silregular';
+    src: url('support/sileot-webfont.woff') format('woff');
+    font-weight: normal;
+    font-style: normal;
+    }
+.test, .ref { font-family: ezra_silregular, serif; }
+</style>
+</head>
+<body>
+<p class="instructions" dir="ltr">Test passes if the two boxes are identical.</p>
+
+
+<!--Notes:
+Key to entities used below:
+        &#x5d0; ... &#x5d5; - The first six Hebrew letters (strongly RTL).
+        &#x202d; - The LRO (left-to-right-override) formatting character.
+        &#x202c; - The PDF (pop directional formatting) formatting character; closes LRO.
+-->
+
+
+
+<div class="ref"><div dir="rtl">&#x202d;d &lt; &#x5d1; &lt; &#x5d0; &lt; a&#x202c;</div>
+	     <div dir="rtl">&#x202d;a &gt; b &gt; c &gt; d&#x202c;</div>
+	     </div>
+
+
+<div class="ref"><div dir="rtl">&#x202d;d &lt; &#x5d1; &lt; &#x5d0; &lt; a&#x202c;</div>
+	     <div dir="rtl">&#x202d;a &gt; b &gt; c &gt; d&#x202c;</div>
+	     </div>
+
+
+
+
+
+
+</body></html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/reference/bidi-normal-006.html
@@ -0,0 +1,50 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+<meta charset="utf-8"/>
+<title>direction/unicode-bidi: element as directional character with unicode-bidi normal, ltr</title>
+
+<link rel="author" title="Richard Ishida" href='mailto:ishida@w3.org'/>
+<style type="text/css">
+.test span { direction: ltr; unicode-bidi: normal; }
+
+ /* the following styles are not part of the test */
+.test, .ref { font-size: 150%; border: 1px solid orange; margin: 10px; width: 10em; padding: 5px; clear: both; }
+input { margin: 5px; }
+@font-face {
+    font-family: 'ezra_silregular';
+    src: url('support/sileot-webfont.woff') format('woff');
+    font-weight: normal;
+    font-style: normal;
+    }
+.test, .ref { font-family: ezra_silregular, serif; }
+</style>
+</head>
+<body>
+<p class="instructions" dir="ltr">Test passes if the two boxes are identical.</p>
+
+
+<!--Notes:
+Key to entities used below:
+        &#x5d0; ... &#x5d5; - The first six Hebrew letters (strongly RTL).
+        &#x202d; - The LRO (left-to-right-override) formatting character.
+        &#x202c; - The PDF (pop directional formatting) formatting character; closes LRO.
+-->
+
+
+
+<div class="ref"><div dir="ltr">&#x202d;&#x5d0; &gt; b &gt; c &gt; &#x5d3;&#x202c;</div>
+	     <div dir="ltr">&#x202d;&#x5d3; &lt; &#x5d2; &lt; &#x5d1; &lt; &#x5d0;&#x202c;</div>
+    </div>
+
+
+<div class="ref"><div dir="ltr">&#x202d;&#x5d0; &gt; b &gt; c &gt; &#x5d3;&#x202c;</div>
+	     <div dir="ltr">&#x202d;&#x5d3; &lt; &#x5d2; &lt; &#x5d1; &lt; &#x5d0;&#x202c;</div>
+    </div>
+
+
+
+
+
+
+</body></html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/reference/bidi-normal-007.html
@@ -0,0 +1,46 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+<meta charset="utf-8"/>
+<title>direction/unicode-bidi: element isolation and unicode-bidi normal, rtl + number</title>
+
+<link rel="author" title="Richard Ishida" href='mailto:ishida@w3.org'/>
+<style type="text/css">
+.test span { direction: rtl; unicode-bidi: normal; }
+
+ /* the following styles are not part of the test */
+.test, .ref { font-size: 150%; border: 1px solid orange; margin: 10px; width: 10em; padding: 5px; clear: both; }
+input { margin: 5px; }
+@font-face {
+    font-family: 'ezra_silregular';
+    src: url('support/sileot-webfont.woff') format('woff');
+    font-weight: normal;
+    font-style: normal;
+    }
+.test, .ref { font-family: ezra_silregular, serif; }
+</style>
+</head>
+<body>
+<p class="instructions" dir="ltr">Test passes if the two boxes are identical.</p>
+
+
+<!--Notes:
+Key to entities used below:
+        &#x5d0; ... &#x5d5; - The first six Hebrew letters (strongly RTL).
+        &#x202d; - The LRO (left-to-right-override) formatting character.
+        &#x202c; - The PDF (pop directional formatting) formatting character; closes LRO.
+-->
+
+
+
+<div class="ref" dir="ltr">&#x202d;3 &#x5d0;&#x202c;</div>
+
+
+<div class="ref" dir="ltr">&#x202d;3 &#x5d0;&#x202c;</div>
+
+
+
+
+
+
+</body></html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/reference/bidi-normal-008.html
@@ -0,0 +1,46 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+<meta charset="utf-8"/>
+<title>direction/unicode-bidi: element isolation and unicode-bidi normal, ltr + number</title>
+
+<link rel="author" title="Richard Ishida" href='mailto:ishida@w3.org'/>
+<style type="text/css">
+.test span { direction: ltr; unicode-bidi: normal; }
+
+ /* the following styles are not part of the test */
+.test, .ref { font-size: 150%; border: 1px solid orange; margin: 10px; width: 10em; padding: 5px; clear: both; }
+input { margin: 5px; }
+@font-face {
+    font-family: 'ezra_silregular';
+    src: url('support/sileot-webfont.woff') format('woff');
+    font-weight: normal;
+    font-style: normal;
+    }
+.test, .ref { font-family: ezra_silregular, serif; }
+</style>
+</head>
+<body>
+<p class="instructions" dir="ltr">Test passes if the two boxes are identical.</p>
+
+
+<!--Notes:
+Key to entities used below:
+        &#x5d0; ... &#x5d5; - The first six Hebrew letters (strongly RTL).
+        &#x202d; - The LRO (left-to-right-override) formatting character.
+        &#x202c; - The PDF (pop directional formatting) formatting character; closes LRO.
+-->
+
+
+
+<div class="ref" dir="rtl">&#x202d;a 3&#x202c;</div>
+
+
+<div class="ref" dir="rtl">&#x202d;a 3&#x202c;</div>
+
+
+
+
+
+
+</body></html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/reference/bidi-normal-009.html
@@ -0,0 +1,46 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+<meta charset="utf-8"/>
+<title>direction/unicode-bidi: element isolation and unicode-bidi normal, rtl list</title>
+
+<link rel="author" title="Richard Ishida" href='mailto:ishida@w3.org'/>
+<style type="text/css">
+.test span { direction: ltr; unicode-bidi: normal; }
+
+ /* the following styles are not part of the test */
+.test, .ref { font-size: 150%; border: 1px solid orange; margin: 10px; width: 10em; padding: 5px; clear: both; }
+input { margin: 5px; }
+@font-face {
+    font-family: 'ezra_silregular';
+    src: url('support/sileot-webfont.woff') format('woff');
+    font-weight: normal;
+    font-style: normal;
+    }
+.test, .ref { font-family: ezra_silregular, serif; }
+</style>
+</head>
+<body>
+<p class="instructions" dir="ltr">Test passes if the two boxes are identical.</p>
+
+
+<!--Notes:
+Key to entities used below:
+        &#x5d0; ... &#x5d5; - The first six Hebrew letters (strongly RTL).
+        &#x202d; - The LRO (left-to-right-override) formatting character.
+        &#x202c; - The PDF (pop directional formatting) formatting character; closes LRO.
+-->
+
+
+
+<div class="ref" dir="rtl">&#x202d;a &gt; b</div>
+
+
+<div class="ref" dir="rtl">&#x202d;a &gt; b</div>
+
+
+
+
+
+
+</body></html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/reference/bidi-normal-010.html
@@ -0,0 +1,46 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+<meta charset="utf-8"/>
+<title>direction/unicode-bidi: element isolation and unicode-bidi normal, ltr list</title>
+
+<link rel="author" title="Richard Ishida" href='mailto:ishida@w3.org'/>
+<style type="text/css">
+.test span { direction: rtl; unicode-bidi: normal; }
+
+ /* the following styles are not part of the test */
+.test, .ref { font-size: 150%; border: 1px solid orange; margin: 10px; width: 10em; padding: 5px; clear: both; }
+input { margin: 5px; }
+@font-face {
+    font-family: 'ezra_silregular';
+    src: url('support/sileot-webfont.woff') format('woff');
+    font-weight: normal;
+    font-style: normal;
+    }
+.test, .ref { font-family: ezra_silregular, serif; }
+</style>
+</head>
+<body>
+<p class="instructions" dir="ltr">Test passes if the two boxes are identical.</p>
+
+
+<!--Notes:
+Key to entities used below:
+        &#x5d0; ... &#x5d5; - The first six Hebrew letters (strongly RTL).
+        &#x202d; - The LRO (left-to-right-override) formatting character.
+        &#x202c; - The PDF (pop directional formatting) formatting character; closes LRO.
+-->
+
+
+
+<div class="ref" dir="ltr">&#x202d;&#x5d1; &lt; &#x5d0;</div>
+
+
+<div class="ref" dir="ltr">&#x202d;&#x5d1; &lt; &#x5d0;</div>
+
+
+
+
+
+
+</body></html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/reference/bidi-normal-011.html
@@ -0,0 +1,47 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+<meta charset="utf-8"/>
+<title>direction/unicode-bidi: direction alone and inherited, unicode-bidi normal</title>
+
+<link rel="author" title="Richard Ishida" href='mailto:ishida@w3.org'/>
+<style type="text/css">
+.test b { direction: rtl; font-weight: normal; }
+.test span { unicode-bidi: normal; }
+
+ /* the following styles are not part of the test */
+.test, .ref { font-size: 150%; border: 1px solid orange; margin: 10px; width: 10em; padding: 5px; clear: both; }
+input { margin: 5px; }
+@font-face {
+    font-family: 'ezra_silregular';
+    src: url('support/sileot-webfont.woff') format('woff');
+    font-weight: normal;
+    font-style: normal;
+    }
+.test, .ref { font-family: ezra_silregular, serif; }
+</style>
+</head>
+<body>
+<p class="instructions" dir="ltr">Test passes if the two boxes are identical.</p>
+
+
+<!--Notes:
+Key to entities used below:
+        &#x5d0; ... &#x5d5; - The first six Hebrew letters (strongly RTL).
+        &#x202d; - The LRO (left-to-right-override) formatting character.
+        &#x202c; - The PDF (pop directional formatting) formatting character; closes LRO.
+-->
+
+
+
+<div class="ref" dir="ltr">&#x202d;&gt; a &gt; b &gt; &#x5d3; &gt; d &gt;&#x202c;</div>
+
+
+<div class="ref" dir="ltr">&#x202d;&gt; a &gt; b &gt; &#x5d3; &gt; d &gt;&#x202c;</div>
+
+
+
+
+
+
+</body></html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/reference/bidi-override-001.html
@@ -0,0 +1,46 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+<meta charset="utf-8"/>
+<title>direction/unicode-bidi: span direction rtl, bidi-override (1)</title>
+
+<link rel="author" title="Richard Ishida" href='mailto:ishida@w3.org'/>
+<style type="text/css">
+.test span { direction: rtl; unicode-bidi: bidi-override; }
+
+ /* the following styles are not part of the test */
+.test, .ref { font-size: 150%; border: 1px solid orange; margin: 10px; width: 10em; padding: 5px; clear: both; }
+input { margin: 5px; }
+@font-face {
+    font-family: 'ezra_silregular';
+    src: url('support/sileot-webfont.woff') format('woff');
+    font-weight: normal;
+    font-style: normal;
+    }
+.test, .ref { font-family: ezra_silregular, serif; }
+</style>
+</head>
+<body>
+<p class="instructions" dir="ltr">Test passes if the two boxes are identical.</p>
+
+
+<!--Notes:
+Key to entities used below:
+        &#x5d0; ... &#x5d5; - The first six Hebrew letters (strongly RTL).
+        &#x202d; - The LRO (left-to-right-override) formatting character.
+        &#x202c; - The PDF (pop directional formatting) formatting character; closes LRO.
+-->
+
+
+
+<div class="ref" dir="ltr">&#x202d;&gt; &#x5d3;&#x5d2;&#x5d1;&#x5d0; &lt; dcba &gt;&#x202c;</div>
+
+
+<div class="ref" dir="ltr">&#x202d;&gt; &#x5d3;&#x5d2;&#x5d1;&#x5d0; &lt; dcba &gt;&#x202c;</div>
+
+
+
+
+
+
+</body></html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/reference/bidi-override-002.html
@@ -0,0 +1,46 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+<meta charset="utf-8"/>
+<title>direction/unicode-bidi: span direction rtl, bidi-override (2)</title>
+
+<link rel="author" title="Richard Ishida" href='mailto:ishida@w3.org'/>
+<style type="text/css">
+.test span { direction: rtl; unicode-bidi: bidi-override; }
+
+ /* the following styles are not part of the test */
+.test, .ref { font-size: 150%; border: 1px solid orange; margin: 10px; width: 10em; padding: 5px; clear: both; }
+input { margin: 5px; }
+@font-face {
+    font-family: 'ezra_silregular';
+    src: url('support/sileot-webfont.woff') format('woff');
+    font-weight: normal;
+    font-style: normal;
+    }
+.test, .ref { font-family: ezra_silregular, serif; }
+</style>
+</head>
+<body>
+<p class="instructions" dir="ltr">Test passes if the two boxes are identical.</p>
+
+
+<!--Notes:
+Key to entities used below:
+        &#x5d0; ... &#x5d5; - The first six Hebrew letters (strongly RTL).
+        &#x202d; - The LRO (left-to-right-override) formatting character.
+        &#x202c; - The PDF (pop directional formatting) formatting character; closes LRO.
+-->
+
+
+
+<div class="ref" dir="ltr">&#x202d;&gt; dcba &lt; &#x5d3;&#x5d2;&#x5d1;&#x5d0; &gt;&#x202c;</div>
+
+
+<div class="ref" dir="ltr">&#x202d;&gt; dcba &lt; &#x5d3;&#x5d2;&#x5d1;&#x5d0; &gt;&#x202c;</div>
+
+
+
+
+
+
+</body></html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/reference/bidi-override-003.html
@@ -0,0 +1,46 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+<meta charset="utf-8"/>
+<title>direction/unicode-bidi: span direction ltr, bidi-override (1)</title>
+
+<link rel="author" title="Richard Ishida" href='mailto:ishida@w3.org'/>
+<style type="text/css">
+.test span { direction: ltr; unicode-bidi: bidi-override; }
+
+ /* the following styles are not part of the test */
+.test, .ref { font-size: 150%; border: 1px solid orange; margin: 10px; width: 10em; padding: 5px; clear: both; }
+input { margin: 5px; }
+@font-face {
+    font-family: 'ezra_silregular';
+    src: url('support/sileot-webfont.woff') format('woff');
+    font-weight: normal;
+    font-style: normal;
+    }
+.test, .ref { font-family: ezra_silregular, serif; }
+</style>
+</head>
+<body>
+<p class="instructions" dir="ltr">Test passes if the two boxes are identical.</p>
+
+
+<!--Notes:
+Key to entities used below:
+        &#x5d0; ... &#x5d5; - The first six Hebrew letters (strongly RTL).
+        &#x202d; - The LRO (left-to-right-override) formatting character.
+        &#x202c; - The PDF (pop directional formatting) formatting character; closes LRO.
+-->
+
+
+
+<div class="ref" dir="rtl">&#x202d;&lt; &#x5d0;&#x5d1;&#x5d2;&#x5d3; &gt; abcd &lt;&#x202c;</div>
+
+
+<div class="ref" dir="rtl">&#x202d;&lt; &#x5d0;&#x5d1;&#x5d2;&#x5d3; &gt; abcd &lt;&#x202c;</div>
+
+
+
+
+
+
+</body></html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/reference/bidi-override-004.html
@@ -0,0 +1,46 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+<meta charset="utf-8"/>
+<title>direction/unicode-bidi: span direction ltr, bidi-override (2)</title>
+
+<link rel="author" title="Richard Ishida" href='mailto:ishida@w3.org'/>
+<style type="text/css">
+.test span { direction: ltr; unicode-bidi: bidi-override; }
+
+ /* the following styles are not part of the test */
+.test, .ref { font-size: 150%; border: 1px solid orange; margin: 10px; width: 10em; padding: 5px; clear: both; }
+input { margin: 5px; }
+@font-face {
+    font-family: 'ezra_silregular';
+    src: url('support/sileot-webfont.woff') format('woff');
+    font-weight: normal;
+    font-style: normal;
+    }
+.test, .ref { font-family: ezra_silregular, serif; }
+</style>
+</head>
+<body>
+<p class="instructions" dir="ltr">Test passes if the two boxes are identical.</p>
+
+
+<!--Notes:
+Key to entities used below:
+        &#x5d0; ... &#x5d5; - The first six Hebrew letters (strongly RTL).
+        &#x202d; - The LRO (left-to-right-override) formatting character.
+        &#x202c; - The PDF (pop directional formatting) formatting character; closes LRO.
+-->
+
+
+
+<div class="ref" dir="rtl">&#x202d;&lt; abcd &gt; &#x5d0;&#x5d1;&#x5d2;&#x5d3; &lt;&#x202c;</div>
+
+
+<div class="ref" dir="rtl">&#x202d;&lt; abcd &gt; &#x5d0;&#x5d1;&#x5d2;&#x5d3; &lt;&#x202c;</div>
+
+
+
+
+
+
+</body></html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/reference/bidi-override-005.html
@@ -0,0 +1,50 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+<meta charset="utf-8"/>
+<title>direction/unicode-bidi: element as directional character with bidi-override, rtl</title>
+
+<link rel="author" title="Richard Ishida" href='mailto:ishida@w3.org'/>
+<style type="text/css">
+.test span { direction: rtl; unicode-bidi: bidi-override; }
+
+ /* the following styles are not part of the test */
+.test, .ref { font-size: 150%; border: 1px solid orange; margin: 10px; width: 10em; padding: 5px; clear: both; }
+input { margin: 5px; }
+@font-face {
+    font-family: 'ezra_silregular';
+    src: url('support/sileot-webfont.woff') format('woff');
+    font-weight: normal;
+    font-style: normal;
+    }
+.test, .ref { font-family: ezra_silregular, serif; }
+</style>
+</head>
+<body>
+<p class="instructions" dir="ltr">Test passes if the two boxes are identical.</p>
+
+
+<!--Notes:
+Key to entities used below:
+        &#x5d0; ... &#x5d5; - The first six Hebrew letters (strongly RTL).
+        &#x202d; - The LRO (left-to-right-override) formatting character.
+        &#x202c; - The PDF (pop directional formatting) formatting character; closes LRO.
+-->
+
+
+
+<div class="ref"><div dir="rtl">&#x202d;d &lt; &#x5d2; &lt; &#x5d1; &lt; a&#x202c;</div>
+	     <div dir="rtl">&#x202d;d &lt; c &lt; b &lt; a&#x202c;</div>
+	     </div>
+
+
+<div class="ref"><div dir="rtl">&#x202d;d &lt; &#x5d2; &lt; &#x5d1; &lt; a&#x202c;</div>
+	     <div dir="rtl">&#x202d;d &lt; c &lt; b &lt; a&#x202c;</div>
+	     </div>
+
+
+
+
+
+
+</body></html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/reference/bidi-override-006.html
@@ -0,0 +1,50 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+<meta charset="utf-8"/>
+<title>direction/unicode-bidi: element as directional character with bidi-override, ltr</title>
+
+<link rel="author" title="Richard Ishida" href='mailto:ishida@w3.org'/>
+<style type="text/css">
+.test span { direction: ltr; unicode-bidi: bidi-override; }
+
+ /* the following styles are not part of the test */
+.test, .ref { font-size: 150%; border: 1px solid orange; margin: 10px; width: 10em; padding: 5px; clear: both; }
+input { margin: 5px; }
+@font-face {
+    font-family: 'ezra_silregular';
+    src: url('support/sileot-webfont.woff') format('woff');
+    font-weight: normal;
+    font-style: normal;
+    }
+.test, .ref { font-family: ezra_silregular, serif; }
+</style>
+</head>
+<body>
+<p class="instructions" dir="ltr">Test passes if the two boxes are identical.</p>
+
+
+<!--Notes:
+Key to entities used below:
+        &#x5d0; ... &#x5d5; - The first six Hebrew letters (strongly RTL).
+        &#x202d; - The LRO (left-to-right-override) formatting character.
+        &#x202c; - The PDF (pop directional formatting) formatting character; closes LRO.
+-->
+
+
+
+<div class="ref"><div dir="ltr">&#x202d;&#x5d0; &gt; b &gt; c &gt; &#x5d3;&#x202c;</div>
+	     <div dir="ltr">&#x202d;&#x5d0; &gt; &#x5d1; &gt; &#x5d2; &gt; &#x5d3;&#x202c;</div>
+    </div>
+
+
+<div class="ref"><div dir="ltr">&#x202d;&#x5d0; &gt; b &gt; c &gt; &#x5d3;&#x202c;</div>
+	     <div dir="ltr">&#x202d;&#x5d0; &gt; &#x5d1; &gt; &#x5d2; &gt; &#x5d3;&#x202c;</div>
+    </div>
+
+
+
+
+
+
+</body></html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/reference/bidi-override-007.html
@@ -0,0 +1,46 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+<meta charset="utf-8"/>
+<title>direction/unicode-bidi: element isolation and bidi-override, rtl + number</title>
+
+<link rel="author" title="Richard Ishida" href='mailto:ishida@w3.org'/>
+<style type="text/css">
+.test span { direction: rtl; unicode-bidi: bidi-override; }
+
+ /* the following styles are not part of the test */
+.test, .ref { font-size: 150%; border: 1px solid orange; margin: 10px; width: 10em; padding: 5px; clear: both; }
+input { margin: 5px; }
+@font-face {
+    font-family: 'ezra_silregular';
+    src: url('support/sileot-webfont.woff') format('woff');
+    font-weight: normal;
+    font-style: normal;
+    }
+.test, .ref { font-family: ezra_silregular, serif; }
+</style>
+</head>
+<body>
+<p class="instructions" dir="ltr">Test passes if the two boxes are identical.</p>
+
+
+<!--Notes:
+Key to entities used below:
+        &#x5d0; ... &#x5d5; - The first six Hebrew letters (strongly RTL).
+        &#x202d; - The LRO (left-to-right-override) formatting character.
+        &#x202c; - The PDF (pop directional formatting) formatting character; closes LRO.
+-->
+
+
+
+<div class="ref" dir="ltr">&#x202d;3 dcba&#x202c;</div>
+
+
+<div class="ref" dir="ltr">&#x202d;3 dcba</div>
+
+
+
+
+
+
+</body></html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/reference/bidi-override-008.html
@@ -0,0 +1,46 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+<meta charset="utf-8"/>
+<title>direction/unicode-bidi: element isolation and bidi-override, ltr + number</title>
+
+<link rel="author" title="Richard Ishida" href='mailto:ishida@w3.org'/>
+<style type="text/css">
+.test span { direction: ltr; unicode-bidi: bidi-override; }
+
+ /* the following styles are not part of the test */
+.test, .ref { font-size: 150%; border: 1px solid orange; margin: 10px; width: 10em; padding: 5px; clear: both; }
+input { margin: 5px; }
+@font-face {
+    font-family: 'ezra_silregular';
+    src: url('support/sileot-webfont.woff') format('woff');
+    font-weight: normal;
+    font-style: normal;
+    }
+.test, .ref { font-family: ezra_silregular, serif; }
+</style>
+</head>
+<body>
+<p class="instructions" dir="ltr">Test passes if the two boxes are identical.</p>
+
+
+<!--Notes:
+Key to entities used below:
+        &#x5d0; ... &#x5d5; - The first six Hebrew letters (strongly RTL).
+        &#x202d; - The LRO (left-to-right-override) formatting character.
+        &#x202c; - The PDF (pop directional formatting) formatting character; closes LRO.
+-->
+
+
+
+<div class="ref" dir="rtl">&#x202d;&#x5d0;&#x5d1;&#x5d2;&#x5d3; 3&#x202c;</div>
+
+
+<div class="ref" dir="rtl">&#x202d;&#x5d0;&#x5d1;&#x5d2;&#x5d3; 3&#x202c;</div>
+
+
+
+
+
+
+</body></html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/reference/bidi-override-009.html
@@ -0,0 +1,46 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+<meta charset="utf-8"/>
+<title>direction/unicode-bidi: element isolation and bidi-override, rtl list</title>
+
+<link rel="author" title="Richard Ishida" href='mailto:ishida@w3.org'/>
+<style type="text/css">
+.test span { direction: ltr; unicode-bidi: bidi-override; }
+
+ /* the following styles are not part of the test */
+.test, .ref { font-size: 150%; border: 1px solid orange; margin: 10px; width: 10em; padding: 5px; clear: both; }
+input { margin: 5px; }
+@font-face {
+    font-family: 'ezra_silregular';
+    src: url('support/sileot-webfont.woff') format('woff');
+    font-weight: normal;
+    font-style: normal;
+    }
+.test, .ref { font-family: ezra_silregular, serif; }
+</style>
+</head>
+<body>
+<p class="instructions" dir="ltr">Test passes if the two boxes are identical.</p>
+
+
+<!--Notes:
+Key to entities used below:
+        &#x5d0; ... &#x5d5; - The first six Hebrew letters (strongly RTL).
+        &#x202d; - The LRO (left-to-right-override) formatting character.
+        &#x202c; - The PDF (pop directional formatting) formatting character; closes LRO.
+-->
+
+
+
+<div class="ref" dir="rtl">&#x202d;&#x5d0;&#x5d1;&#x5d2;&#x5d3; &gt; e&#x202c;</div>
+
+
+<div class="ref" dir="rtl">&#x202d;&#x5d0;&#x5d1;&#x5d2;&#x5d3; &gt; e&#x202c;</div>
+
+
+
+
+
+
+</body></html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/reference/bidi-override-010.html
@@ -0,0 +1,46 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+<meta charset="utf-8"/>
+<title>direction/unicode-bidi: element isolation and bidi-override, ltr list</title>
+
+<link rel="author" title="Richard Ishida" href='mailto:ishida@w3.org'/>
+<style type="text/css">
+.test span { direction: rtl; unicode-bidi: bidi-override; }
+
+ /* the following styles are not part of the test */
+.test, .ref { font-size: 150%; border: 1px solid orange; margin: 10px; width: 10em; padding: 5px; clear: both; }
+input { margin: 5px; }
+@font-face {
+    font-family: 'ezra_silregular';
+    src: url('support/sileot-webfont.woff') format('woff');
+    font-weight: normal;
+    font-style: normal;
+    }
+.test, .ref { font-family: ezra_silregular, serif; }
+</style>
+</head>
+<body>
+<p class="instructions" dir="ltr">Test passes if the two boxes are identical.</p>
+
+
+<!--Notes:
+Key to entities used below:
+        &#x5d0; ... &#x5d5; - The first six Hebrew letters (strongly RTL).
+        &#x202d; - The LRO (left-to-right-override) formatting character.
+        &#x202c; - The PDF (pop directional formatting) formatting character; closes LRO.
+-->
+
+
+
+<div class="ref" dir="ltr">&#x202d;&#x5d4; &lt; dcba&#x202c;</div>
+
+
+<div class="ref" dir="ltr">&#x202d;&#x5d4; &lt; dcba&#x202c;</div>
+
+
+
+
+
+
+</body></html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/reference/bidi-override-011.html
@@ -0,0 +1,47 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+<meta charset="utf-8"/>
+<title>direction/unicode-bidi: direction alone and inherited, bidi-override</title>
+
+<link rel="author" title="Richard Ishida" href='mailto:ishida@w3.org'/>
+<style type="text/css">
+.test b { direction: rtl; font-weight: normal; }
+.test span { unicode-bidi: bidi-override; }
+
+ /* the following styles are not part of the test */
+.test, .ref { font-size: 150%; border: 1px solid orange; margin: 10px; width: 15em; padding: 5px; clear: both; }
+input { margin: 5px; }
+@font-face {
+    font-family: 'ezra_silregular';
+    src: url('support/sileot-webfont.woff') format('woff');
+    font-weight: normal;
+    font-style: normal;
+    }
+.test, .ref { font-family: ezra_silregular, serif; }
+</style>
+</head>
+<body>
+<p class="instructions" dir="ltr">Test passes if the two boxes are identical.</p>
+
+
+<!--Notes:
+Key to entities used below:
+        &#x5d0; ... &#x5d5; - The first six Hebrew letters (strongly RTL).
+        &#x202d; - The LRO (left-to-right-override) formatting character.
+        &#x202c; - The PDF (pop directional formatting) formatting character; closes LRO.
+-->
+
+
+
+<div class="ref" dir="ltr">&#x202d;&gt; a &gt; &#x5d2;&#x5d1; &lt; cb &gt; d &gt;&#x202c;</div>
+
+
+<div class="ref" dir="ltr">&#x202d;&gt; a &gt; &#x5d2;&#x5d1; &lt; cb &gt; d &gt;&#x202c;</div>
+
+
+
+
+
+
+</body></html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/reference/bidi-override-012.html
@@ -0,0 +1,46 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+<meta charset="utf-8"/>
+<title>direction/unicode-bidi: default direction, bidi-override</title>
+
+<link rel="author" title="Richard Ishida" href='mailto:ishida@w3.org'/>
+<style type="text/css">
+.test span { unicode-bidi: bidi-override; }
+
+ /* the following styles are not part of the test */
+.test, .ref { font-size: 150%; border: 1px solid orange; margin: 10px; width: 15em; padding: 5px; clear: both; }
+input { margin: 5px; }
+@font-face {
+    font-family: 'ezra_silregular';
+    src: url('support/sileot-webfont.woff') format('woff');
+    font-weight: normal;
+    font-style: normal;
+    }
+.test, .ref { font-family: ezra_silregular, serif; }
+</style>
+</head>
+<body>
+<p class="instructions" dir="ltr">Test passes if the two boxes are identical.</p>
+
+
+<!--Notes:
+Key to entities used below:
+        &#x5d0; ... &#x5d5; - The first six Hebrew letters (strongly RTL).
+        &#x202d; - The LRO (left-to-right-override) formatting character.
+        &#x202c; - The PDF (pop directional formatting) formatting character; closes LRO.
+-->
+
+
+
+<div class="ref" dir="ltr">&#x202d;&gt; abcd &gt; &#x5d0;&#x5d1;&#x5d2;&#x5d3; &gt;&#x202c;</div>
+
+
+<div class="ref" dir="ltr">&#x202d;&gt; abcd &gt; &#x5d0;&#x5d1;&#x5d2;&#x5d3; &gt;&#x202c;</div>
+
+
+
+
+
+
+</body></html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/reference/bidi-plaintext-001.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+<meta charset="utf-8"/>
+<title>unicode-bidi: span unicode-bidi plaintext, rtl (1)</title>
+
+<link rel="author" title="Richard Ishida" href='mailto:ishida@w3.org'/>
+<style type="text/css">
+.test span { unicode-bidi: plaintext; }
+
+ /* the following styles are not part of the test */
+.test, .ref { font-size: 150%; border: 1px solid orange; margin: 10px; width: 10em; padding: 5px; clear: both; }
+input { margin: 5px; }
+@font-face {
+    font-family: 'ezra_silregular';
+    src: url('support/sileot-webfont.woff') format('woff');
+    font-weight: normal;
+    font-style: normal;
+    }
+.test, .ref { font-family: ezra_silregular, serif; }
+</style>
+</head>
+<body>
+<p class="instructions" dir="ltr">Test passes if the two boxes are identical.</p>
+
+
+<!--Notes:
+Key to entities used below:
+        &#x5d0; ... &#x5d5; - The first six Hebrew letters (strongly RTL).
+        &#x202d; - The LRO (left-to-right-override) formatting character.
+        &#x202c; - The PDF (pop directional formatting) formatting character; closes LRO.
+-->
+
+
+
+<div class="ref" dir="ltr">&#x202d;&gt; &#x5d2; &lt; b &lt; &#x5d0; &gt;&#x202c;</div>
+
+<div class="ref" dir="ltr">&#x202d;&gt; &#x5d2; &lt; b &lt; &#x5d0; &gt;&#x202c;</div>
+
+
+
+
+</body></html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/reference/bidi-plaintext-002.html
@@ -0,0 +1,45 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+<meta charset="utf-8"/>
+<title>direction/unicode-bidi: span unicode-bidi plaintext, rtl (2)</title>
+
+<link rel="author" title="Richard Ishida" href='mailto:ishida@w3.org'/>
+<style type="text/css">
+.test span { direction: rtl; unicode-bidi: plaintext; }
+
+ /* the following styles are not part of the test */
+.test, .ref { font-size: 150%; border: 1px solid orange; margin: 10px; width: 10em; padding: 5px; clear: both; }
+input { margin: 5px; }
+@font-face {
+    font-family: 'ezra_silregular';
+    src: url('support/sileot-webfont.woff') format('woff');
+    font-weight: normal;
+    font-style: normal;
+    }
+.test, .ref { font-family: ezra_silregular, serif; }
+</style>
+</head>
+<body>
+<p class="instructions" dir="ltr">Test passes if the two boxes are identical.</p>
+
+
+<!--Notes:
+Key to entities used below:
+        &#x5d0; ... &#x5d5; - The first six Hebrew letters (strongly RTL).
+        &#x202d; - The LRO (left-to-right-override) formatting character.
+        &#x202c; - The PDF (pop directional formatting) formatting character; closes LRO.
+-->
+
+
+
+<div class="ref" dir="rtl">&#x202d;&lt; &#x5d2; &lt; b &lt; &#x5d0; &lt;&#x202c;</div>
+
+<div class="ref" dir="rtl">&#x202d;&lt; &#x5d2; &lt; b &lt; &#x5d0; &lt;&#x202c;</div>
+
+
+
+
+
+
+</body></html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/reference/bidi-plaintext-003.html
@@ -0,0 +1,46 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+<meta charset="utf-8"/>
+<title>unicode-bidi: span unicode-bidi plaintext, ltr (1)</title>
+
+<link rel="author" title="Richard Ishida" href='mailto:ishida@w3.org'/>
+<style type="text/css">
+.test span { unicode-bidi: plaintext; }
+
+ /* the following styles are not part of the test */
+.test, .ref { font-size: 150%; border: 1px solid orange; margin: 10px; width: 10em; padding: 5px; clear: both; }
+input { margin: 5px; }
+@font-face {
+    font-family: 'ezra_silregular';
+    src: url('support/sileot-webfont.woff') format('woff');
+    font-weight: normal;
+    font-style: normal;
+    }
+.test, .ref { font-family: ezra_silregular, serif; }
+</style>
+</head>
+<body>
+<p class="instructions" dir="ltr">Test passes if the two boxes are identical.</p>
+
+
+<!--Notes:
+Key to entities used below:
+        &#x5d0; ... &#x5d5; - The first six Hebrew letters (strongly RTL).
+        &#x202d; - The LRO (left-to-right-override) formatting character.
+        &#x202c; - The PDF (pop directional formatting) formatting character; closes LRO.
+-->
+
+
+
+<div class="ref" dir="rtl">&#x202d;&lt; a &gt; &#x5d0; &gt; c &lt;&#x202c;</div>
+
+
+<div class="ref" dir="rtl">&#x202d;&lt; a &gt; &#x5d0; &gt; c &lt;&#x202c;</div>
+
+
+
+
+
+
+</body></html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/reference/bidi-plaintext-004.html
@@ -0,0 +1,46 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+<meta charset="utf-8"/>
+<title>unicode-bidi: span unicode-bidi plaintext, ltr (2)</title>
+
+<link rel="author" title="Richard Ishida" href='mailto:ishida@w3.org'/>
+<style type="text/css">
+.test span { unicode-bidi: plaintext; }
+
+ /* the following styles are not part of the test */
+.test, .ref { font-size: 150%; border: 1px solid orange; margin: 10px; width: 10em; padding: 5px; clear: both; }
+input { margin: 5px; }
+@font-face {
+    font-family: 'ezra_silregular';
+    src: url('support/sileot-webfont.woff') format('woff');
+    font-weight: normal;
+    font-style: normal;
+    }
+.test, .ref { font-family: ezra_silregular, serif; }
+</style>
+</head>
+<body>
+<p class="instructions" dir="ltr">Test passes if the two boxes are identical.</p>
+
+
+<!--Notes:
+Key to entities used below:
+        &#x5d0; ... &#x5d5; - The first six Hebrew letters (strongly RTL).
+        &#x202d; - The LRO (left-to-right-override) formatting character.
+        &#x202c; - The PDF (pop directional formatting) formatting character; closes LRO.
+-->
+
+
+
+<div class="ref" dir="ltr">&#x202d;&gt; a &gt; &#x5d0; &gt; c &gt;&#x202c;</div>
+
+
+<div class="ref" dir="ltr">&#x202d;&gt; a &gt; &#x5d0; &gt; c &gt;&#x202c;</div>
+
+
+
+
+
+
+</body></html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/reference/bidi-plaintext-005.html
@@ -0,0 +1,50 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+<meta charset="utf-8"/>
+<title>unicode-bidi: element as directional character with unicode-bidi plaintext, rtl</title>
+
+<link rel="author" title="Richard Ishida" href='mailto:ishida@w3.org'/>
+<style type="text/css">
+.test span { unicode-bidi: plaintext; }
+
+ /* the following styles are not part of the test */
+.test, .ref { font-size: 150%; border: 1px solid orange; margin: 10px; width: 10em; padding: 5px; clear: both; }
+input { margin: 5px; }
+@font-face {
+    font-family: 'ezra_silregular';
+    src: url('support/sileot-webfont.woff') format('woff');
+    font-weight: normal;
+    font-style: normal;
+    }
+.test, .ref { font-family: ezra_silregular, serif; }
+</style>
+</head>
+<body>
+<p class="instructions" dir="ltr">Test passes if the two boxes are identical.</p>
+
+
+<!--Notes:
+Key to entities used below:
+        &#x5d0; ... &#x5d5; - The first six Hebrew letters (strongly RTL).
+        &#x202d; - The LRO (left-to-right-override) formatting character.
+        &#x202c; - The PDF (pop directional formatting) formatting character; closes LRO.
+-->
+
+
+
+<div class="ref"><div dir="rtl">&#x202d;a &gt; &#x5d1; &lt; &#x5d0; &gt; d&#x202c;</div>
+      	     <div dir="rtl">&#x202d;a &gt; b &gt; c &gt; d&#x202c;</div>
+      	     </div>
+
+
+<div class="ref"><div dir="rtl">&#x202d;a &gt; &#x5d1; &lt; &#x5d0; &gt; d&#x202c;</div>
+      	     <div dir="rtl">&#x202d;a &gt; b &gt; c &gt; d&#x202c;</div>
+      	     </div>
+
+
+
+
+
+
+</body></html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/reference/bidi-plaintext-006.html
@@ -0,0 +1,50 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+<meta charset="utf-8"/>
+<title>direction/unicode-bidi: element as directional character with unicode-bidi plaintext, ltr</title>
+
+<link rel="author" title="Richard Ishida" href='mailto:ishida@w3.org'/>
+<style type="text/css">
+.test span { unicode-bidi: plaintext; }
+
+ /* the following styles are not part of the test */
+.test, .ref { font-size: 150%; border: 1px solid orange; margin: 10px; width: 10em; padding: 5px; clear: both; }
+input { margin: 5px; }
+@font-face {
+    font-family: 'ezra_silregular';
+    src: url('support/sileot-webfont.woff') format('woff');
+    font-weight: normal;
+    font-style: normal;
+    }
+.test, .ref { font-family: ezra_silregular, serif; }
+</style>
+</head>
+<body>
+<p class="instructions" dir="ltr">Test passes if the two boxes are identical.</p>
+
+
+<!--Notes:
+Key to entities used below:
+        &#x5d0; ... &#x5d5; - The first six Hebrew letters (strongly RTL).
+        &#x202d; - The LRO (left-to-right-override) formatting character.
+        &#x202c; - The PDF (pop directional formatting) formatting character; closes LRO.
+-->
+
+
+
+<div class="ref"><div dir="ltr">&#x202d;&#x5d3; &lt; b &gt; c &lt; &#x5d0;&#x202c;</div>
+      	     <div dir="ltr">&#x202d;&#x5d3; &lt; &#x5d2; &lt; &#x5d1; &lt; &#x5d0;&#x202c;</div>
+      	     </div>
+
+
+<div class="ref"><div dir="ltr">&#x202d;&#x5d3; &lt; b &gt; c &lt; &#x5d0;&#x202c;</div>
+      	     <div dir="ltr">&#x202d;&#x5d3; &lt; &#x5d2; &lt; &#x5d1; &lt; &#x5d0;&#x202c;</div>
+      	     </div>
+
+
+
+
+
+
+</body></html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/reference/bidi-plaintext-007.html
@@ -0,0 +1,48 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+<meta charset="utf-8"/>
+<title>unicode-bidi: element isolation and unicode-bidi plaintext, rtl + number</title>
+
+<link rel="author" title="Richard Ishida" href='mailto:ishida@w3.org'/>
+<style type="text/css">
+.test span { unicode-bidi: plaintext; }
+
+ /* the following styles are not part of the test */
+.test, .ref { font-size: 150%; border: 1px solid orange; margin: 10px; width: 10em; padding: 5px; clear: both; }
+input { margin: 5px; }
+@font-face {
+    font-family: 'ezra_silregular';
+    src: url('support/sileot-webfont.woff') format('woff');
+    font-weight: normal;
+    font-style: normal;
+    }
+.test, .ref { font-family: ezra_silregular, serif; }
+</style>
+</head>
+<body>
+<p class="instructions" dir="ltr">Test passes if the two boxes are identical.</p>
+
+
+<!--Notes:
+Key to entities used below:
+        &#x5d0; ... &#x5d5; - The first six Hebrew letters (strongly RTL).
+        &#x202d; - The LRO (left-to-right-override) formatting character.
+        &#x202c; - The PDF (pop directional formatting) formatting character; closes LRO.
+-->
+
+
+
+<div class="ref" dir="ltr">&#x202d;&#x5d0; 3&#x202c;</div>
+
+
+<div class="ref" dir="ltr">&#x202d;&#x5d0; 3&#x202c;</div>
+
+
+
+
+
+
+
+
+</body></html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/reference/bidi-plaintext-008.html
@@ -0,0 +1,46 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+<meta charset="utf-8"/>
+<title>unicode-bidi: element isolation and unicode-bidi plaintext, ltr + number</title>
+
+<link rel="author" title="Richard Ishida" href='mailto:ishida@w3.org'/>
+<style type="text/css">
+.test span { unicode-bidi: plaintext; }
+
+ /* the following styles are not part of the test */
+.test, .ref { font-size: 150%; border: 1px solid orange; margin: 10px; width: 10em; padding: 5px; clear: both; }
+input { margin: 5px; }
+@font-face {
+    font-family: 'ezra_silregular';
+    src: url('support/sileot-webfont.woff') format('woff');
+    font-weight: normal;
+    font-style: normal;
+    }
+.test, .ref { font-family: ezra_silregular, serif; }
+</style>
+</head>
+<body>
+<p class="instructions" dir="ltr">Test passes if the two boxes are identical.</p>
+
+
+<!--Notes:
+Key to entities used below:
+        &#x5d0; ... &#x5d5; - The first six Hebrew letters (strongly RTL).
+        &#x202d; - The LRO (left-to-right-override) formatting character.
+        &#x202c; - The PDF (pop directional formatting) formatting character; closes LRO.
+-->
+
+
+
+<div class="ref" dir="rtl">&#x202d;3 a&#x202c;</div>
+
+
+<div class="ref" dir="rtl">&#x202d;3 a&#x202c;</div>
+
+
+
+
+
+
+</body></html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/reference/bidi-plaintext-009.html
@@ -0,0 +1,46 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+<meta charset="utf-8"/>
+<title>unicode-bidi: element isolation and unicode-bidi plaintext, rtl list</title>
+
+<link rel="author" title="Richard Ishida" href='mailto:ishida@w3.org'/>
+<style type="text/css">
+.test span { unicode-bidi: plaintext; }
+
+ /* the following styles are not part of the test */
+.test, .ref { font-size: 150%; border: 1px solid orange; margin: 10px; width: 10em; padding: 5px; clear: both; }
+input { margin: 5px; }
+@font-face {
+    font-family: 'ezra_silregular';
+    src: url('support/sileot-webfont.woff') format('woff');
+    font-weight: normal;
+    font-style: normal;
+    }
+.test, .ref { font-family: ezra_silregular, serif; }
+</style>
+</head>
+<body>
+<p class="instructions" dir="ltr">Test passes if the two boxes are identical.</p>
+
+
+<!--Notes:
+Key to entities used below:
+        &#x5d0; ... &#x5d5; - The first six Hebrew letters (strongly RTL).
+        &#x202d; - The LRO (left-to-right-override) formatting character.
+        &#x202c; - The PDF (pop directional formatting) formatting character; closes LRO.
+-->
+
+
+
+<div class="ref" dir="rtl">&#x202d;b &lt; a</div>
+
+
+<div class="ref" dir="rtl">&#x202d;b &lt; a</div>
+
+
+
+
+
+
+</body></html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/reference/bidi-plaintext-010.html
@@ -0,0 +1,46 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+<meta charset="utf-8"/>
+<title>unicode-bidi: element isolation and unicode-bidi plaintext, ltr list</title>
+
+<link rel="author" title="Richard Ishida" href='mailto:ishida@w3.org'/>
+<style type="text/css">
+.test span { unicode-bidi: plaintext; }
+
+ /* the following styles are not part of the test */
+.test, .ref { font-size: 150%; border: 1px solid orange; margin: 10px; width: 10em; padding: 5px; clear: both; }
+input { margin: 5px; }
+@font-face {
+    font-family: 'ezra_silregular';
+    src: url('support/sileot-webfont.woff') format('woff');
+    font-weight: normal;
+    font-style: normal;
+    }
+.test, .ref { font-family: ezra_silregular, serif; }
+</style>
+</head>
+<body>
+<p class="instructions" dir="ltr">Test passes if the two boxes are identical.</p>
+
+
+<!--Notes:
+Key to entities used below:
+        &#x5d0; ... &#x5d5; - The first six Hebrew letters (strongly RTL).
+        &#x202d; - The LRO (left-to-right-override) formatting character.
+        &#x202c; - The PDF (pop directional formatting) formatting character; closes LRO.
+-->
+
+
+
+<div class="ref" dir="ltr">&#x202d;&#x5d0; &gt; &#x5d1;</div>
+
+
+<div class="ref" dir="ltr">&#x202d;&#x5d0; &gt; &#x5d1;</div>
+
+
+
+
+
+
+</body></html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/reference/bidi-plaintext-011.html
@@ -0,0 +1,45 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+<meta charset="utf-8"/>
+<title>direction/unicode-bidi: span unicode-bidi plaintext, no strong (1)</title>
+
+<link rel="author" title="Richard Ishida" href='mailto:ishida@w3.org'/>
+<style type="text/css">
+.test span { direction: rtl; unicode-bidi: plaintext; }
+
+ /* the following styles are not part of the test */
+.test, .ref { font-size: 150%; border: 1px solid orange; margin: 10px; width: 10em; padding: 5px; clear: both; }
+input { margin: 5px; }
+@font-face {
+    font-family: 'ezra_silregular';
+    src: url('support/sileot-webfont.woff') format('woff');
+    font-weight: normal;
+    font-style: normal;
+    }
+.test, .ref { font-family: ezra_silregular, serif; }
+</style>
+</head>
+<body>
+<p class="instructions" dir="ltr">Test passes if the two boxes are identical.</p>
+
+
+<!--Notes:
+Key to entities used below:
+        &#x5d0; ... &#x5d5; - The first six Hebrew letters (strongly RTL).
+        &#x202d; - The LRO (left-to-right-override) formatting character.
+        &#x202c; - The PDF (pop directional formatting) formatting character; closes LRO.
+-->
+
+
+
+<div class="ref" dir="rtl">&#x202d;&lt; &gt; &gt; &lt;&#x202c;</div>
+
+<div class="ref" dir="rtl">&#x202d;&lt; &gt; &gt; &lt;&#x202c;</div>
+
+
+
+
+
+
+</body></html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/reference/block-embed-001.html
@@ -0,0 +1,46 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+<meta charset="utf-8"/>
+<title>direction: div direction rtl</title>
+
+<link rel="author" title="Richard Ishida" href='mailto:ishida@w3.org'/>
+<style type="text/css">
+.test { direction: rtl; }
+
+ /* the following styles are not part of the test */
+.test, .ref { font-size: 150%; border: 1px solid orange; margin: 10px; width: 10em; padding: 5px; clear: both; }
+input { margin: 5px; }
+@font-face {
+    font-family: 'ezra_silregular';
+    src: url('support/sileot-webfont.woff') format('woff');
+    font-weight: normal;
+    font-style: normal;
+    }
+.test, .ref { font-family: ezra_silregular, serif; }
+</style>
+</head>
+<body>
+<p class="instructions" dir="ltr">Test passes if the two boxes are identical.</p>
+
+
+<!--Notes:
+Key to entities used below:
+        &#x5d0; ... &#x5d5; - The first six Hebrew letters (strongly RTL).
+        &#x202d; - The LRO (left-to-right-override) formatting character.
+        &#x202c; - The PDF (pop directional formatting) formatting character; closes LRO.
+-->
+
+
+
+<div class="ref" dir="rtl">&#x202d;&lt; c &lt; &#x5d1; &lt; a &lt;&#x202c;</div>
+
+
+<div class="ref" dir="rtl">&#x202d;&lt; c &lt; &#x5d1; &lt; a &lt;&#x202c;</div>
+
+
+
+
+
+
+</body></html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/reference/block-embed-002.html
@@ -0,0 +1,45 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+<meta charset="utf-8"/>
+<title>direction: div direction ltr</title>
+
+<link rel="author" title="Richard Ishida" href='mailto:ishida@w3.org'/>
+<style type="text/css">
+.test { direction: ltr; }
+
+ /* the following styles are not part of the test */
+.test, .ref { font-size: 150%; border: 1px solid orange; margin: 10px; width: 10em; padding: 5px; clear: both; }
+input { margin: 5px; }
+@font-face {
+    font-family: 'ezra_silregular';
+    src: url('support/sileot-webfont.woff') format('woff');
+    font-weight: normal;
+    font-style: normal;
+    }
+.test, .ref { font-family: ezra_silregular, serif; }
+</style>
+</head>
+<body>
+<p class="instructions" dir="ltr">Test passes if the two boxes are identical.</p>
+
+
+<!--Notes:
+Key to entities used below:
+        &#x5d0; ... &#x5d5; - The first six Hebrew letters (strongly RTL).
+        &#x202d; - The LRO (left-to-right-override) formatting character.
+        &#x202c; - The PDF (pop directional formatting) formatting character; closes LRO.
+-->
+
+
+<div dir="rtl">
+<div class="ref" dir="ltr">&#x202d;&gt; a &gt; &#x5d1; &gt; c &gt;&#x202c;</div>
+
+<div class="ref" dir="ltr">&#x202d;&gt; a &gt; &#x5d1; &gt; c &gt;&#x202c;</div>
+</div>
+
+
+
+
+
+</body></html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/reference/block-embed-003.html
@@ -0,0 +1,49 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+<meta charset="utf-8"/>
+<title>direction: div direction rtl</title>
+
+<link rel="author" title="Richard Ishida" href='mailto:ishida@w3.org'/>
+<style type="text/css">
+.test { direction: rtl; }
+
+ /* the following styles are not part of the test */
+.test, .ref { font-size: 150%; border: 1px solid orange; margin: 10px; width: 10em; padding: 5px; clear: both; }
+input { margin: 5px; }
+@font-face {
+    font-family: 'ezra_silregular';
+    src: url('support/sileot-webfont.woff') format('woff');
+    font-weight: normal;
+    font-style: normal;
+    }
+.test, .ref { font-family: ezra_silregular, serif; }
+</style>
+</head>
+<body>
+<p class="instructions" dir="ltr">Test passes if the two boxes are identical.</p>
+
+
+<!--Notes:
+Key to entities used below:
+        &#x5d0; ... &#x5d5; - The first six Hebrew letters (strongly RTL).
+        &#x202d; - The LRO (left-to-right-override) formatting character.
+        &#x202c; - The PDF (pop directional formatting) formatting character; closes LRO.
+-->
+
+
+<div class="ref">
+<div dir="rtl">&#x202d;&lt; c &lt; &#x5d1; &lt; a &lt;&#x202c;</div>
+<div dir="rtl">&#x202d;&lt; c &lt; &#x5d1; &lt; a &lt;&#x202c;</div>
+</div>
+
+<div class="ref">
+<div dir="rtl">&#x202d;&lt; c &lt; &#x5d1; &lt; a &lt;&#x202c;</div>
+<div dir="rtl">&#x202d;&lt; c &lt; &#x5d1; &lt; a &lt;&#x202c;</div>
+</div>
+
+
+
+
+
+</body></html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/reference/block-override-001.html
@@ -0,0 +1,46 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+<meta charset="utf-8"/>
+<title>direction: div override rtl</title>
+
+<link rel="author" title="Richard Ishida" href='mailto:ishida@w3.org'/>
+<style type="text/css">
+.test { direction: rtl; unicode-bidi: bidi-override; }
+
+ /* the following styles are not part of the test */
+.test, .ref { font-size: 150%; border: 1px solid orange; margin: 10px; width: 10em; padding: 5px; clear: both; }
+input { margin: 5px; }
+@font-face {
+    font-family: 'ezra_silregular';
+    src: url('support/sileot-webfont.woff') format('woff');
+    font-weight: normal;
+    font-style: normal;
+    }
+.test, .ref { font-family: ezra_silregular, serif; }
+</style>
+</head>
+<body>
+<p class="instructions" dir="ltr">Test passes if the two boxes are identical.</p>
+
+
+<!--Notes:
+Key to entities used below:
+        &#x5d0; ... &#x5d5; - The first six Hebrew letters (strongly RTL).
+        &#x202d; - The LRO (left-to-right-override) formatting character.
+        &#x202c; - The PDF (pop directional formatting) formatting character; closes LRO.
+-->
+
+
+
+<div class="ref" dir="rtl">&#x202d;&lt; fe &lt; &#x5d3;&#x5d2; &lt; ba &lt;&#x202c;</div>
+
+
+<div class="ref" dir="rtl">&#x202d;&lt; fe &lt; &#x5d3;&#x5d2; &lt; ba &lt;&#x202c;</div>
+
+
+
+
+
+
+</body></html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/reference/block-override-002.html
@@ -0,0 +1,45 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+<meta charset="utf-8"/>
+<title>direction: div override ltr</title>
+
+<link rel="author" title="Richard Ishida" href='mailto:ishida@w3.org'/>
+<style type="text/css">
+.test { direction: ltr; unicode-bidi: bidi-override; }
+
+ /* the following styles are not part of the test */
+.test, .ref { font-size: 150%; border: 1px solid orange; margin: 10px; width: 10em; padding: 5px; clear: both; }
+input { margin: 5px; }
+@font-face {
+    font-family: 'ezra_silregular';
+    src: url('support/sileot-webfont.woff') format('woff');
+    font-weight: normal;
+    font-style: normal;
+    }
+.test, .ref { font-family: ezra_silregular, serif; }
+</style>
+</head>
+<body>
+<p class="instructions" dir="ltr">Test passes if the two boxes are identical.</p>
+
+
+<!--Notes:
+Key to entities used below:
+        &#x5d0; ... &#x5d5; - The first six Hebrew letters (strongly RTL).
+        &#x202d; - The LRO (left-to-right-override) formatting character.
+        &#x202c; - The PDF (pop directional formatting) formatting character; closes LRO.
+-->
+
+
+<div dir="rtl">
+<div class="ref" dir="ltr">&#x202d;&gt; ab &gt; &#x5d2;&#x5d3; &gt; ef &gt;&#x202c;</div>
+
+<div class="ref" dir="ltr">&#x202d;&gt; ab &gt; &#x5d2;&#x5d3; &gt; ef &gt;&#x202c;</div>
+</div>
+
+
+
+
+
+</body></html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/reference/block-override-003.html
@@ -0,0 +1,44 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+<meta charset="utf-8"/>
+<title>direction: div direction ltr</title>
+
+<link rel="author" title="Richard Ishida" href='mailto:ishida@w3.org'/>
+<style type="text/css">
+.test { unicode-bidi: bidi-override; }
+
+ /* the following styles are not part of the test */
+.test, .ref { font-size: 150%; border: 1px solid orange; margin: 10px; width: 10em; padding: 5px; clear: both; }
+input { margin: 5px; }
+@font-face {
+    font-family: 'ezra_silregular';
+    src: url('support/sileot-webfont.woff') format('woff');
+    font-weight: normal;
+    font-style: normal;
+    }
+.test, .ref { font-family: ezra_silregular, serif; }
+</style>
+</head>
+<body>
+<p class="instructions" dir="ltr">Test passes if the two boxes are identical.</p>
+
+
+<!--Notes:
+Key to entities used below:
+        &#x5d0; ... &#x5d5; - The first six Hebrew letters (strongly RTL).
+        &#x202d; - The LRO (left-to-right-override) formatting character.
+        &#x202c; - The PDF (pop directional formatting) formatting character; closes LRO.
+-->
+
+
+<div class="ref" dir="ltr">&#x202d;&gt; ab &gt; &#x5d2;&#x5d3; &gt; ef &gt;&#x202c;</div>
+
+<div class="ref" dir="ltr">&#x202d;&gt; ab &gt; &#x5d2;&#x5d3; &gt; ef &gt;&#x202c;</div>
+
+
+
+
+
+
+</body></html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/reference/block-override-004.html
@@ -0,0 +1,51 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+<meta charset="utf-8"/>
+<title>unicode-bidi: div override inheritance</title>
+
+<link rel="author" title="Richard Ishida" href='mailto:ishida@w3.org'/>
+<style type="text/css">
+.test { direction: rtl; unicode-bidi: bidi-override; }
+
+ /* the following styles are not part of the test */
+.test, .ref { font-size: 150%; border: 1px solid orange; margin: 10px; width: 10em; padding: 5px; clear: both; }
+input { margin: 5px; }
+@font-face {
+    font-family: 'ezra_silregular';
+    src: url('support/sileot-webfont.woff') format('woff');
+    font-weight: normal;
+    font-style: normal;
+    }
+.test, .ref { font-family: ezra_silregular, serif; }
+</style>
+</head>
+<body>
+<p class="instructions" dir="ltr">Test passes if the two boxes are identical.</p>
+
+
+<!--Notes:
+Key to entities used below:
+        &#x5d0; ... &#x5d5; - The first six Hebrew letters (strongly RTL).
+        &#x202d; - The LRO (left-to-right-override) formatting character.
+        &#x202c; - The PDF (pop directional formatting) formatting character; closes LRO.
+-->
+
+
+<div class="ref">
+<div dir="rtl">&#x202d;&lt; fe &lt; &#x5d3;&#x5d2; &lt; ba &lt;&#x202c;</div>
+<div dir="rtl">&#x202d;&lt; ef &lt; &#x5d3;&#x5d2; &lt; ab &lt;&#x202c;</div>
+<div dir="rtl">&#x202d;&lt; fe &lt; &#x5d3;&#x5d2; &lt; ba &lt;&#x202c;</div>
+</div>
+
+<div class="ref">
+<div dir="rtl">&#x202d;&lt; fe &lt; &#x5d3;&#x5d2; &lt; ba &lt;&#x202c;</div>
+<div dir="rtl">&#x202d;&lt; ef &lt; &#x5d3;&#x5d2; &lt; ab &lt;&#x202c;</div>
+<div dir="rtl">&#x202d;&lt; fe &lt; &#x5d3;&#x5d2; &lt; ba &lt;&#x202c;</div>
+</div>
+
+
+
+
+
+</body></html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/reference/block-override-isolate-001.html
@@ -0,0 +1,46 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+<meta charset="utf-8"/>
+<title>direction: div override rtl</title>
+
+<link rel="author" title="Richard Ishida" href='mailto:ishida@w3.org'/>
+<style type="text/css">
+.test { direction: rtl; unicode-bidi: isolate-override; }
+
+ /* the following styles are not part of the test */
+.test, .ref { font-size: 150%; border: 1px solid orange; margin: 10px; width: 10em; padding: 5px; clear: both; }
+input { margin: 5px; }
+@font-face {
+    font-family: 'ezra_silregular';
+    src: url('support/sileot-webfont.woff') format('woff');
+    font-weight: normal;
+    font-style: normal;
+    }
+.test, .ref { font-family: ezra_silregular, serif; }
+</style>
+</head>
+<body>
+<p class="instructions" dir="ltr">Test passes if the two boxes are identical.</p>
+
+
+<!--Notes:
+Key to entities used below:
+        &#x5d0; ... &#x5d5; - The first six Hebrew letters (strongly RTL).
+        &#x202d; - The LRO (left-to-right-override) formatting character.
+        &#x202c; - The PDF (pop directional formatting) formatting character; closes LRO.
+-->
+
+
+
+<div class="ref" dir="rtl">&#x202d;&lt; fe &lt; &#x5d3;&#x5d2; &lt; ba &lt;&#x202c;</div>
+
+
+<div class="ref" dir="rtl">&#x202d;&lt; fe &lt; &#x5d3;&#x5d2; &lt; ba &lt;&#x202c;</div>
+
+
+
+
+
+
+</body></html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/reference/block-override-isolate-002.html
@@ -0,0 +1,45 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+<meta charset="utf-8"/>
+<title>direction: div override ltr</title>
+
+<link rel="author" title="Richard Ishida" href='mailto:ishida@w3.org'/>
+<style type="text/css">
+.test { direction: ltr; unicode-bidi: isolate-override; }
+
+ /* the following styles are not part of the test */
+.test, .ref { font-size: 150%; border: 1px solid orange; margin: 10px; width: 10em; padding: 5px; clear: both; }
+input { margin: 5px; }
+@font-face {
+    font-family: 'ezra_silregular';
+    src: url('support/sileot-webfont.woff') format('woff');
+    font-weight: normal;
+    font-style: normal;
+    }
+.test, .ref { font-family: ezra_silregular, serif; }
+</style>
+</head>
+<body>
+<p class="instructions" dir="ltr">Test passes if the two boxes are identical.</p>
+
+
+<!--Notes:
+Key to entities used below:
+        &#x5d0; ... &#x5d5; - The first six Hebrew letters (strongly RTL).
+        &#x202d; - The LRO (left-to-right-override) formatting character.
+        &#x202c; - The PDF (pop directional formatting) formatting character; closes LRO.
+-->
+
+
+<div dir="rtl">
+<div class="ref" dir="ltr">&#x202d;&gt; ab &gt; &#x5d2;&#x5d3; &gt; ef &gt;&#x202c;</div>
+
+<div class="ref" dir="ltr">&#x202d;&gt; ab &gt; &#x5d2;&#x5d3; &gt; ef &gt;&#x202c;</div>
+</div>
+
+
+
+
+
+</body></html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/reference/block-override-isolate-003.html
@@ -0,0 +1,44 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+<meta charset="utf-8"/>
+<title>direction: div direction ltr</title>
+
+<link rel="author" title="Richard Ishida" href='mailto:ishida@w3.org'/>
+<style type="text/css">
+.test { unicode-bidi: isolate-override; }
+
+ /* the following styles are not part of the test */
+.test, .ref { font-size: 150%; border: 1px solid orange; margin: 10px; width: 10em; padding: 5px; clear: both; }
+input { margin: 5px; }
+@font-face {
+    font-family: 'ezra_silregular';
+    src: url('support/sileot-webfont.woff') format('woff');
+    font-weight: normal;
+    font-style: normal;
+    }
+.test, .ref { font-family: ezra_silregular, serif; }
+</style>
+</head>
+<body>
+<p class="instructions" dir="ltr">Test passes if the two boxes are identical.</p>
+
+
+<!--Notes:
+Key to entities used below:
+        &#x5d0; ... &#x5d5; - The first six Hebrew letters (strongly RTL).
+        &#x202d; - The LRO (left-to-right-override) formatting character.
+        &#x202c; - The PDF (pop directional formatting) formatting character; closes LRO.
+-->
+
+
+<div class="ref" dir="ltr">&#x202d;&gt; ab &gt; &#x5d2;&#x5d3; &gt; ef &gt;&#x202c;</div>
+
+<div class="ref" dir="ltr">&#x202d;&gt; ab &gt; &#x5d2;&#x5d3; &gt; ef &gt;&#x202c;</div>
+
+
+
+
+
+
+</body></html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/reference/block-override-isolate-004.html
@@ -0,0 +1,51 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+<meta charset="utf-8"/>
+<title>unicode-bidi: div override inheritance</title>
+
+<link rel="author" title="Richard Ishida" href='mailto:ishida@w3.org'/>
+<style type="text/css">
+.test { direction: rtl; unicode-bidi: isolate-override; }
+
+ /* the following styles are not part of the test */
+.test, .ref { font-size: 150%; border: 1px solid orange; margin: 10px; width: 10em; padding: 5px; clear: both; }
+input { margin: 5px; }
+@font-face {
+    font-family: 'ezra_silregular';
+    src: url('support/sileot-webfont.woff') format('woff');
+    font-weight: normal;
+    font-style: normal;
+    }
+.test, .ref { font-family: ezra_silregular, serif; }
+</style>
+</head>
+<body>
+<p class="instructions" dir="ltr">Test passes if the two boxes are identical.</p>
+
+
+<!--Notes:
+Key to entities used below:
+        &#x5d0; ... &#x5d5; - The first six Hebrew letters (strongly RTL).
+        &#x202d; - The LRO (left-to-right-override) formatting character.
+        &#x202c; - The PDF (pop directional formatting) formatting character; closes LRO.
+-->
+
+
+<div class="ref">
+<div dir="rtl">&#x202d;&lt; fe &lt; &#x5d3;&#x5d2; &lt; ba &lt;&#x202c;</div>
+<div dir="rtl">&#x202d;&lt; ef &lt; &#x5d3;&#x5d2; &lt; ab &lt;&#x202c;</div>
+<div dir="rtl">&#x202d;&lt; fe &lt; &#x5d3;&#x5d2; &lt; ba &lt;&#x202c;</div>
+</div>
+
+<div class="ref">
+<div dir="rtl">&#x202d;&lt; fe &lt; &#x5d3;&#x5d2; &lt; ba &lt;&#x202c;</div>
+<div dir="rtl">&#x202d;&lt; ef &lt; &#x5d3;&#x5d2; &lt; ab &lt;&#x202c;</div>
+<div dir="rtl">&#x202d;&lt; fe &lt; &#x5d3;&#x5d2; &lt; ba &lt;&#x202c;</div>
+</div>
+
+
+
+
+
+</body></html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/reference/block-plaintext-001.html
@@ -0,0 +1,48 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+<meta charset="utf-8"/>
+<title>unicode-bidi: div plaintext, rtl</title>
+
+<link rel="author" title="Richard Ishida" href='mailto:ishida@w3.org'/>
+<style type="text/css">
+.test { unicode-bidi: plaintext; }
+
+ /* the following styles are not part of the test */
+.test, .ref { font-size: 150%; border: 1px solid orange; margin: 10px; width: 10em; padding: 5px; clear: both; }
+input { margin: 5px; }
+@font-face {
+    font-family: 'ezra_silregular';
+    src: url('support/sileot-webfont.woff') format('woff');
+    font-weight: normal;
+    font-style: normal;
+    }
+.test, .ref { font-family: ezra_silregular, serif; }
+</style>
+</head>
+<body>
+<p class="instructions" dir="ltr">Test passes if the two boxes are identical.</p>
+
+
+<!--Notes:
+Key to entities used below:
+        &#x5d0; ... &#x5d5; - The first six Hebrew letters (strongly RTL).
+        &#x202d; - The LRO (left-to-right-override) formatting character.
+        &#x202c; - The PDF (pop directional formatting) formatting character; closes LRO.
+
+The punctuation is moved around in the source to make it easier to do visual comparisons when the test is run.
+-->
+
+
+
+<div class="ref" dir="rtl">&#x202d;&lt; &#x5d2; &lt; b &lt; &#x5d0; &lt;&#x202c;</div>
+
+
+<div class="ref" dir="rtl">&#x202d;&lt; &#x5d2; &lt; b &lt; &#x5d0; &lt;&#x202c;</div>
+
+
+
+
+
+
+</body></html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/reference/block-plaintext-002.html
@@ -0,0 +1,46 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+<meta charset="utf-8"/>
+<title>unicode-bidi: div plaintext, ltr</title>
+
+<link rel="author" title="Richard Ishida" href='mailto:ishida@w3.org'/>
+<style type="text/css">
+.test { unicode-bidi: plaintext; }
+
+ /* the following styles are not part of the test */
+.test, .ref { font-size: 150%; border: 1px solid orange; margin: 10px; width: 10em; padding: 5px; clear: both; }
+input { margin: 5px; }
+@font-face {
+    font-family: 'ezra_silregular';
+    src: url('support/sileot-webfont.woff') format('woff');
+    font-weight: normal;
+    font-style: normal;
+    }
+.test, .ref { font-family: ezra_silregular, serif; }
+</style>
+</head>
+<body>
+<p class="instructions" dir="ltr">Test passes if the two boxes are identical.</p>
+
+
+<!--Notes:
+Key to entities used below:
+        &#x5d0; ... &#x5d5; - The first six Hebrew letters (strongly RTL).
+        &#x202d; - The LRO (left-to-right-override) formatting character.
+        &#x202c; - The PDF (pop directional formatting) formatting character; closes LRO.
+
+The punctuation is moved around in the source to make it easier to do visual comparisons when the test is run.
+-->
+
+<div dir="rtl">
+<div class="ref" dir="ltr">&#x202d;&gt; a &gt; &#x5d1; &gt; c &gt;&#x202c;</div>
+
+<div class="ref" dir="ltr">&#x202d;&gt; a &gt; &#x5d1; &gt; c &gt;&#x202c;</div>
+</div>
+
+
+
+
+
+</body></html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/reference/block-plaintext-003.html
@@ -0,0 +1,51 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+<meta charset="utf-8"/>
+<title>unicode-bidi: div plaintext inheritance</title>
+
+<link rel="author" title="Richard Ishida" href='mailto:ishida@w3.org'/>
+<style type="text/css">
+.test { unicode-bidi: plaintext; }
+
+ /* the following styles are not part of the test */
+.test, .ref { font-size: 150%; border: 1px solid orange; margin: 10px; width: 10em; padding: 5px; clear: both; }
+input { margin: 5px; }
+@font-face {
+    font-family: 'ezra_silregular';
+    src: url('support/sileot-webfont.woff') format('woff');
+    font-weight: normal;
+    font-style: normal;
+    }
+.test, .ref { font-family: ezra_silregular, serif; }
+</style>
+</head>
+<body>
+<p class="instructions" dir="ltr">Test passes if the two boxes are identical.</p>
+
+
+<!--Notes:
+Key to entities used below:
+        &#x5d0; ... &#x5d5; - The first six Hebrew letters (strongly RTL).
+        &#x202d; - The LRO (left-to-right-override) formatting character.
+        &#x202c; - The PDF (pop directional formatting) formatting character; closes LRO.
+-->
+
+
+<div class="ref">
+<div dir="ltr">&#x202d;&gt; a &gt; &#x5d1; &gt; c &gt;&#x202c;</div>
+<div dir="ltr">&#x202d;&gt;  &#x5d0; &gt; b &gt;  &#x5d2; &gt;&#x202c;</div>
+<div dir="rtl">&#x202d;&lt;  &#x5d2; &lt; b &lt;  &#x5d0; &lt;&#x202c;</div>
+</div>
+
+<div class="ref">
+<div dir="ltr">&#x202d;&gt; a &gt; &#x5d1; &gt; c &gt;&#x202c;</div>
+<div dir="ltr">&#x202d;&gt;  &#x5d0; &gt; b &gt;  &#x5d2; &gt;&#x202c;</div>
+<div dir="rtl">&#x202d;&lt;  &#x5d2; &lt; b &lt;  &#x5d0; &lt;&#x202c;</div>
+</div>
+
+
+
+
+
+</body></html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/reference/block-plaintext-004.html
@@ -0,0 +1,51 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+<meta charset="utf-8"/>
+<title>unicode-bidi: div plaintext with br</title>
+
+<link rel="author" title="Richard Ishida" href='mailto:ishida@w3.org'/>
+<style type="text/css">
+.test { unicode-bidi: plaintext; }
+
+ /* the following styles are not part of the test */
+.test, .ref { font-size: 150%; border: 1px solid orange; margin: 10px; width: 10em; padding: 5px; clear: both; }
+input { margin: 5px; }
+@font-face {
+    font-family: 'ezra_silregular';
+    src: url('support/sileot-webfont.woff') format('woff');
+    font-weight: normal;
+    font-style: normal;
+    }
+.test, .ref { font-family: ezra_silregular, serif; }
+</style>
+</head>
+<body>
+<p class="instructions" dir="ltr">Test passes if the two boxes are identical.</p>
+
+
+<!--Notes:
+Key to entities used below:
+        &#x5d0; ... &#x5d5; - The first six Hebrew letters (strongly RTL).
+        &#x202d; - The LRO (left-to-right-override) formatting character.
+        &#x202c; - The PDF (pop directional formatting) formatting character; closes LRO.
+-->
+
+
+<div class="ref">
+<div dir="ltr">&#x202d;&gt; a &gt; &#x5d1; &gt; c &gt;&#x202c;</div>
+<div dir="rtl">&#x202d;&lt;  &#x5d2; &lt; b &lt;  &#x5d0; &lt;&#x202c;</div>
+<div dir="ltr">&#x202d;&gt; a &gt; &#x5d1; &gt; c &gt;&#x202c;</div>
+</div>
+
+<div class="ref">
+<div dir="ltr">&#x202d;&gt; a &gt; &#x5d1; &gt; c &gt;&#x202c;</div>
+<div dir="rtl">&#x202d;&lt;  &#x5d2; &lt; b &lt;  &#x5d0; &lt;&#x202c;</div>
+<div dir="ltr">&#x202d;&gt; a &gt; &#x5d1; &gt; c &gt;&#x202c;</div>
+</div>
+
+
+
+
+
+</body></html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/reference/full-width-001-horizontal-notref.html
@@ -0,0 +1,45 @@
+<!DOCTYPE html>
+<html>
+<head>
+<meta charset="utf-8">
+<title>CSS Test Reference</title>
+<link rel="author" title="Masataka Yakura" href="http://google.com/+MasatakaYakura">
+<link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/">
+<meta content="asis" name="flags">
+<style>
+  div
+    {
+      font-size: 64px;
+    }
+
+  div > p
+    {
+      border: black solid 1px;
+    }
+
+  span.full-width
+    {
+      text-transform: full-width;
+    }
+</style>
+</head>
+<body>
+
+<p>Test passes if the glyphs in the 3 rectangles have the <strong>same order</strong>, the <strong>same orientation</strong> and the <strong>same layout</strong>; a different inter-character spacing is considered as PASS.</p>
+
+<div>
+
+  <p><span class="full-width">&#x34;</span>月</p>
+
+  <!-- &#x34; is the ISO-Latin1 digit 4 -->
+
+  <p>&#xFF14;月</p>
+
+  <!-- &#xFF14; is the FULLWIDTH DIGIT 4 (≈ <wide> 0034 4)-->
+
+  <p>&#xFF14;月</p>
+
+</div>
+
+</body>
+</html>
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/reference/full-width-001-nofullwidth-notref.html
@@ -0,0 +1,41 @@
+<!DOCTYPE html>
+<html>
+<head>
+<meta charset="utf-8">
+<title>CSS Test Reference</title>
+<link rel="author" title="Masataka Yakura" href="http://google.com/+MasatakaYakura">
+<link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/">
+<meta content="asis" name="flags">
+<style>
+  div
+    {
+      font-size: 64px;
+      writing-mode: vertical-rl;
+    }
+
+  div > p
+    {
+      border: black solid 1px;
+    }
+</style>
+</head>
+<body>
+
+<p>Test passes if the glyphs in the 3 rectangles have the <strong>same order</strong>, the <strong>same orientation</strong> and the <strong>same layout</strong>; a different inter-character spacing is considered as PASS.</p>
+
+<div>
+
+  <p>&#x34;月</p>
+
+  <!-- &#x34; is the ISO-Latin1 digit 4 -->
+
+  <p>&#xFF14;月</p>
+
+  <!-- &#xFF14; is the FULLWIDTH DIGIT 4 (≈ <wide> 0034 4)-->
+
+  <p>&#xFF14;月</p>
+
+</div>
+
+</body>
+</html>
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/reference/full-width-002-horizontal-notref.html
@@ -0,0 +1,45 @@
+<!DOCTYPE html>
+<html>
+<head>
+<meta charset="utf-8">
+<title>CSS Test Reference</title>
+<link rel="author" title="Masataka Yakura" href="http://google.com/+MasatakaYakura">
+<link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/">
+<meta content="asis" name="flags">
+<style>
+  div
+    {
+      font-size: 64px;
+    }
+
+  div > p
+    {
+      border: black solid 1px;
+    }
+
+  span.full-width
+    {
+      text-transform: full-width;
+    }
+</style>
+</head>
+<body>
+
+<p>Test passes if the glyphs in the 3 rectangles have the <strong>same order</strong>, the <strong>same orientation</strong> and the <strong>same layout</strong>; a different inter-character spacing is considered as PASS.</p>
+
+<div>
+
+  <p><span class="full-width">28</span>日</p>
+
+  <p>&#xFF12;&#xFF18;日</p>
+
+  <!-- &#xFF12; is the FULLWIDTH DIGIT 2 (≈ <wide> 0032 2)-->
+
+  <!-- &#xFF18; is the FULLWIDTH DIGIT 8 (≈ <wide> 0038 8)-->
+
+  <p>28日</p>
+
+</div>
+
+</body>
+</html>
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/reference/full-width-002-notcu-notref.html
@@ -0,0 +1,46 @@
+<!DOCTYPE html>
+<html>
+<head>
+<meta charset="utf-8">
+<title>CSS Test Reference</title>
+<link rel="author" title="Masataka Yakura" href="http://google.com/+MasatakaYakura">
+<link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/">
+<meta content="asis" name="flags">
+<style>
+  div
+    {
+      font-size: 64px;
+      writing-mode: vertical-rl;
+    }
+
+  div > p
+    {
+      border: black solid 1px;
+    }
+
+  span.full-width
+    {
+      text-transform: full-width;
+    }
+</style>
+</head>
+<body>
+
+<p>Test passes if the glyphs in the 3 rectangles have the <strong>same order</strong>, the <strong>same orientation</strong> and the <strong>same layout</strong>; a different inter-character spacing is considered as PASS.</p>
+
+<div>
+
+  <p><span class="full-width">28</span>日</p>
+
+  <p>&#xFF12;&#xFF18;日</p>
+
+  <!-- &#xFF12; is the FULLWIDTH DIGIT 2 (≈ <wide> 0032 2)-->
+
+  <!-- &#xFF18; is the FULLWIDTH DIGIT 8 (≈ <wide> 0038 8)-->
+
+  <p>28日</p>
+
+</div>
+
+</body>
+</html>
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/reference/horizontal-ahem-1x1-notref.html
@@ -0,0 +1,32 @@
+<!DOCTYPE html>
+<html>
+<head>
+<meta charset="utf-8">
+<title>CSS Test Reference</title>
+<link rel="author" title="Masataka Yakura" href="https://google.com/+MasatakaYakura">
+<meta name="flags" content="ahem">
+<style type="text/css">
+@font-face {
+  font-family: Ahem;
+  src: url("../../../../fonts/Ahem.ttf");
+}
+</style>
+<style>
+.test {
+  font-size: 5em;
+  line-height: 1;
+  font-family: Ahem;
+}
+</style>
+</head>
+<body>
+
+<p>Test passes if there are 2 <strong>identical</strong> black squares.</p>
+
+<div class="test">
+  <p>x</p>
+  <p>x</p>
+</div>
+
+</body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/reference/horizontal-ahem-1x3-notref.html
@@ -0,0 +1,32 @@
+<!DOCTYPE html>
+<html>
+<head>
+<meta charset="utf-8">
+<title>CSS Test Reference</title>
+<link rel="author" title="Masataka Yakura" href="https://google.com/+MasatakaYakura">
+<meta name="flags" content="ahem">
+<style type="text/css">
+@font-face {
+  font-family: Ahem;
+  src: url("../../../../fonts/Ahem.ttf");
+}
+</style>
+<style>
+.test {
+  font-size: 5em;
+  line-height: 1;
+  font-family: Ahem;
+}
+</style>
+</head>
+<body>
+
+<p>Test passes if there are 2 <strong>identical</strong> black rectangles.</p>
+
+<div class="test">
+  <p>xxx</p>
+  <p>xxx</p>
+</div>
+
+</body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/reference/horizontal-ahem-1x4-notref.html
@@ -0,0 +1,32 @@
+<!DOCTYPE html>
+<html>
+<head>
+<meta charset="utf-8">
+<title>CSS Test Reference</title>
+<link rel="author" title="Masataka Yakura" href="https://google.com/+MasatakaYakura">
+<meta name="flags" content="ahem">
+<style type="text/css">
+@font-face {
+  font-family: Ahem;
+  src: url("../../../../fonts/Ahem.ttf");
+}
+</style>
+<style>
+.test {
+  font-size: 5em;
+  line-height: 1;
+  font-family: Ahem;
+}
+</style>
+</head>
+<body>
+
+<p>Test passes if there are 2 <strong>identical</strong> black rectangles.</p>
+
+<div class="test">
+  <p>xxxx</p>
+  <p>xxxx</p>
+</div>
+
+</body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/reference/horizontal-ahem-1x5-notref.html
@@ -0,0 +1,32 @@
+<!DOCTYPE html>
+<html>
+<head>
+<meta charset="utf-8">
+<title>CSS Test Reference</title>
+<link rel="author" title="Masataka Yakura" href="https://google.com/+MasatakaYakura">
+<meta name="flags" content="ahem">
+<style type="text/css">
+@font-face {
+  font-family: Ahem;
+  src: url("../../../../fonts/Ahem.ttf");
+}
+</style>
+<style>
+.test {
+  font-size: 5em;
+  line-height: 1;
+  font-family: Ahem;
+}
+</style>
+</head>
+<body>
+
+<p>Test passes if there are 2 <strong>identical</strong> black rectangles.</p>
+
+<div class="test">
+  <p>xxxxx</p>
+  <p>xxxxx</p>
+</div>
+
+</body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/reference/outline-inline-block-vrl-006.html
@@ -0,0 +1,29 @@
+<!DOCTYPE html>
+<meta charset="utf-8">
+<title>CSS Writing Modes Test: outline layout and non-replaced inline and vertical-rl writing-mode</title>
+<link rel="author" title="Koji Ishii" href="mailto:kojiishi@gmail.com" />
+<link rel="reviewer" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" /> <!-- 2016-01-14 -->
+<meta content="ahem" name="flags" />
+<style type="text/css">
+@font-face {
+  font-family: Ahem;
+  src: url("../../../../fonts/Ahem.ttf");
+}
+</style>
+<style>
+.container {
+  color:transparent;
+  font:50px/1 Ahem;
+}
+.outline {
+  color:orange;
+  display:inline-block;
+  outline:blue solid 2px;
+}
+</style>
+<p>Test passes if the inside of 3 blue rectangles is orange.
+<div class="container">
+  <span class="outline" style="margin-left:1em">1</span><br>
+  <span class="outline" style="margin-left:3em">1<br>2</span><br>
+  <span class="outline" style="margin-left:5em">1<br>2<br>X</span>
+</div>
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/reference/outline-inline-vlr-006.html
@@ -0,0 +1,25 @@
+<!DOCTYPE html>
+<meta charset="utf-8">
+<title>CSS Writing Modes Test: outline layout and non-replaced inline and vertical-lr writing-mode</title>
+<link rel="author" title="Koji Ishii" href="mailto:kojiishi@gmail.com" />
+<link rel="reviewer" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" /> <!-- 2016-01-14 -->
+<meta content="ahem" name="flags" />
+<style type="text/css">
+@font-face {
+  font-family: Ahem;
+  src: url("../../../../fonts/Ahem.ttf");
+}
+</style>
+<style>
+div {
+  color:transparent;
+  font:50px/1 Ahem;
+  width:2em;
+}
+.outline {
+  color:orange;
+  outline:blue solid 2px;
+}
+</style>
+<p>Test passes if the inside of 2 blue squares is orange.
+<div>1<span class="outline">2</span> 34 56 78 <span class="outline">9</span>0</div>
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/reference/outline-inline-vrl-006.html
@@ -0,0 +1,30 @@
+<!DOCTYPE html>
+<meta charset="utf-8">
+<title>CSS Writing Modes Test: outline layout and non-replaced inline and vertical-rl writing-mode</title>
+<link rel="author" title="Koji Ishii" href="mailto:kojiishi@gmail.com" />
+<link rel="reviewer" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" /> <!-- 2016-01-14 -->
+<meta content="ahem" name="flags" />
+<style type="text/css">
+@font-face {
+  font-family: Ahem;
+  src: url("../../../../fonts/Ahem.ttf");
+}
+</style>
+<style>
+.container {
+  color:transparent;
+  font:50px/1 Ahem;
+}
+.outline {
+  color:orange;
+  outline:blue solid 2px;
+}
+</style>
+<p>Test passes if the inside of 2 blue squares is orange.
+<div class="container">
+  <div>111<span class="outline">1</span></div>
+  <div>1</div>
+  <div>1</div>
+  <div>1</div>
+  <div>1111<span class="outline">1</span></div>
+</div>
new file mode 100644
index 0000000000000000000000000000000000000000..81547578d36c7989db0a03127074a5f4b33768b4
GIT binary patch
literal 59096
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
new file mode 100644
index 0000000000000000000000000000000000000000..c880aaab5cfbdfd11ebf885244cb7a5229c03ec5
GIT binary patch
literal 85204
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
A-2eap
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/reference/text-combine-upright-decorations-001.html
@@ -0,0 +1,65 @@
+<!DOCTYPE html>
+<title>CSS Writing Modes Test: The resulting composition is treated as a signel glyph for decorations</title>
+<meta name="flags" content="ahem">
+<link rel="author" title="Koji Ishii" href="mailto:kojiishi@gmail.com">
+<style type="text/css">
+@font-face {
+  font-family: Ahem;
+  src: url("../../../../fonts/Ahem.ttf");
+}
+</style>
+<style>
+#container {
+    font: 50px/1 Ahem;
+}
+.vlr {
+    writing-mode:vertical-lr;
+}
+.vrl {
+    writing-mode:vertical-rl;
+}
+.test, .ref {
+    border:solid thin;
+    margin:.2em;
+}
+p {
+    margin:0 .5em;
+}
+.underline {
+    text-decoration:underline;
+}
+.overline {
+    text-decoration:overline;
+}
+.emphasis {
+    text-emphasis:filled;
+}
+</style>
+<p>This test asserts the resulting composition is treated as a single glyph for decorations.
+<p>Test passes if the following two boxes in each row are identical.
+<div id=container>
+    <div class=vlr>
+        <div class=test>
+            <p class=underline>X&#xA0;X
+            <p class=overline>X&#xA0;X
+            <p class=emphasis>XXX
+        </div>
+        <div class=ref>
+            <p class=underline>X&#xA0;X
+            <p class=overline>X&#xA0;X
+            <p class=emphasis>XXX
+        </div>
+    </div>
+    <div class=vrl>
+        <div class=test>
+            <p class=underline>X&#xA0;X
+            <p class=overline>X&#xA0;X
+            <p class=emphasis>XXX
+        </div>
+        <div class=ref>
+            <p class=underline>X&#xA0;X
+            <p class=overline>X&#xA0;X
+            <p class=emphasis>XXX
+        </div>
+    </div>
+</div>
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/reference/text-combine-upright-inherit-all-001.html
@@ -0,0 +1,20 @@
+<!DOCTYPE html>
+<title>CSS Writing Modes Test: text-combine-upright:all inherits</title>
+<link rel="author" title="Koji Ishii" href="mailto:kojiishi@gmail.com">
+<style>
+#container {
+    font-size:50px;
+}
+.vrl {
+    writing-mode:vertical-rl;
+}
+.tcy {
+    text-combine-upright:all;
+}
+</style>
+<p>Test passes if all two-digit numbers are <b>upright</b> in <b>horizontal</b> flow.
+<div id=container>
+    <div>66</div>
+    <div class=vrl><span class=tcy>66</span></div>
+    <div class=vrl><span class=tcy>66</span></div>
+</div>
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/reference/text-combine-upright-inherit-all-002.html
@@ -0,0 +1,37 @@
+<!DOCTYPE html>
+<html>
+<head>
+    <title>CSS Writing Modes Test: text-combine-upright :all </title>
+    <link rel="author" title="Shinsuke Matsuki" href="mailto:shinsuke.matsuki@access-company.com">
+    <meta charset="utf-8">
+    <style type="text/css">
+    #container {
+        font-size:50px;
+    }
+    .vrl {
+        writing-mode:vertical-rl;
+    }
+    .tcy {
+        text-combine-upright:all;
+    }
+    </style>
+</head>
+<body>
+    <p>Test passes if the <b>line breaks</b> before <q>56</q>, and all digits are in<b>upright</b> in <b>horizontal</b> flow.
+    <div id=container>
+        <div class="vrl tcy">
+            <table>
+                <tr>
+                    <td>
+                        <div style="display: inline-table">
+                            <div style="display: inline-block">
+                                <span class=tcy>12</span><span class=tcy>56</span>
+                            </div>
+                        </div>
+                    </td>
+                </tr>
+            </table>
+        </div>
+    </div>
+</body>
+</html>
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/reference/text-combine-upright-layout-rules-001-ref.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<html>
+<head>
+<meta charset="utf-8">
+<title>CSS Writing Modes: Layout rules of text-combine-upright</title>
+<link rel="author" title="Masataka Yakura" href="https://google.com/+MasatakaYakura">
+<link rel="author" title="Koji Ishii" href="mailto:kojiishi@gmail.com">
+<meta name="flags" content="ahem">
+<style type="text/css">
+@font-face {
+  font-family: Ahem;
+  src: url("../../../../fonts/Ahem.ttf");
+}
+</style>
+<style>
+#container {
+  writing-mode: vertical-rl;
+  font: 50px/1 Ahem;
+}
+#container > div {
+  margin:.2em;
+}
+.tcy {
+  text-combine-upright: all;
+  color:transparent;
+}
+</style>
+</head>
+<body>
+<p>Test passes if there are 2 <strong>identical</strong> hollow squares.</p>
+<div id="container">
+  <div>AAA<br>A A<br>AAA</div>
+  <div>AAA<br>A A<br>AAA</div>
+</div>
+</body>
+</html>
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/reference/text-combine-upright-value-single-character.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<html>
+<head>
+<meta charset="utf-8">
+<title>CSS Writing Modes: text-combine-upright: all</title>
+<link rel="author" title="Masataka Yakura" href="https://google.com/+MasatakaYakura">
+<meta name="flags" content="font">
+<style>
+@font-face {
+  font-family: tcu-font;
+  src: url("support/tcu-font.woff");
+}
+
+.test {
+  writing-mode: vertical-rl;
+  font-size: 5em;
+  font-family: tcu-font;
+}
+
+.tcy {
+  text-combine-upright: all;
+}
+</style>
+</head>
+<body>
+
+<p>Test passes if there are 2 <strong>identical</strong> white triangles.</p>
+
+<div class="test">
+  <p>3</p>
+  <p>3</p>
+</div>
+
+</body>
+</html>
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/reference/vertical-ahem-1x1-ref.html
@@ -0,0 +1,33 @@
+<!DOCTYPE html>
+<html>
+<head>
+<meta charset="utf-8">
+<title>CSS Test Reference</title>
+<link rel="author" title="Masataka Yakura" href="https://google.com/+MasatakaYakura">
+<meta name="flags" content="ahem">
+<style type="text/css">
+@font-face {
+  font-family: Ahem;
+  src: url("../../../../fonts/Ahem.ttf");
+}
+</style>
+<style>
+.test {
+  writing-mode: vertical-rl;
+  font-size: 5em;
+  line-height: 1;
+  font-family: Ahem;
+}
+</style>
+</head>
+<body>
+
+<p>Test passes if there are 2 <strong>identical</strong> black squares.</p>
+
+<div class="test">
+  <p>x</p>
+  <p>x</p>
+</div>
+
+</body>
+</html>
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/reference/vertical-ahem-1x3-ref.html
@@ -0,0 +1,33 @@
+<!DOCTYPE html>
+<html>
+<head>
+<meta charset="utf-8">
+<title>CSS Test Reference</title>
+<link rel="author" title="Masataka Yakura" href="https://google.com/+MasatakaYakura">
+<meta name="flags" content="ahem">
+<style type="text/css">
+@font-face {
+  font-family: Ahem;
+  src: url("../../../../fonts/Ahem.ttf");
+}
+</style>
+<style>
+.test {
+  writing-mode: vertical-rl;
+  font-size: 5em;
+  line-height: 1;
+  font-family: Ahem;
+}
+</style>
+</head>
+<body>
+
+<p>Test passes if there are 2 <strong>identical</strong> black rectangles.</p>
+
+<div class="test">
+  <p>xxx</p>
+  <p>xxx</p>
+</div>
+
+</body>
+</html>
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/reference/vertical-ahem-1x4-ref.html
@@ -0,0 +1,33 @@
+<!DOCTYPE html>
+<html>
+<head>
+<meta charset="utf-8">
+<title>CSS Test Reference</title>
+<link rel="author" title="Masataka Yakura" href="https://google.com/+MasatakaYakura">
+<meta name="flags" content="ahem">
+<style type="text/css">
+@font-face {
+  font-family: Ahem;
+  src: url("../../../../fonts/Ahem.ttf");
+}
+</style>
+<style>
+.test {
+  writing-mode: vertical-rl;
+  font-size: 5em;
+  line-height: 1;
+  font-family: Ahem;
+}
+</style>
+</head>
+<body>
+
+<p>Test passes if there are 2 <strong>identical</strong> black rectangles.</p>
+
+<div class="test">
+  <p>xxxx</p>
+  <p>xxxx</p>
+</div>
+
+</body>
+</html>
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/reference/vertical-ahem-1x5-ref.html
@@ -0,0 +1,33 @@
+<!DOCTYPE html>
+<html>
+<head>
+<meta charset="utf-8">
+<title>CSS Test Reference</title>
+<link rel="author" title="Masataka Yakura" href="https://google.com/+MasatakaYakura">
+<meta name="flags" content="ahem">
+<style type="text/css">
+@font-face {
+  font-family: Ahem;
+  src: url("../../../../fonts/Ahem.ttf");
+}
+</style>
+<style>
+.test {
+  writing-mode: vertical-rl;
+  font-size: 5em;
+  line-height: 1;
+  font-family: Ahem;
+}
+</style>
+</head>
+<body>
+
+<p>Test passes if there are 2 <strong>identical</strong> black rectangles.</p>
+
+<div class="test">
+  <p>xxxxx</p>
+  <p>xxxxx</p>
+</div>
+
+</body>
+</html>
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/reference/writing-mode-horizontal-001l-ref.html
@@ -0,0 +1,24 @@
+<!DOCTYPE html>
+<html>
+<head>
+<meta charset="utf-8">
+<title>CSS Test Reference</title>
+<link rel="author" title="Masataka Yakura" href="http://google.com/+MasatakaYakura">
+<style>
+.test {
+  font-size: 5em;
+  line-height: 1;
+}
+</style>
+</head>
+<body>
+
+<p>Test passes if the following texts are identical:</p>
+
+<div class="test">
+  <p>2014</p>
+  <p>2014</p>
+</div>
+
+</body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/reference/writing-mode-horizontal-001r-ref.html
@@ -0,0 +1,25 @@
+<!DOCTYPE html>
+<html>
+<head>
+<meta charset="utf-8">
+<title>CSS Test Reference</title>
+<link rel="author" title="Masataka Yakura" href="http://google.com/+MasatakaYakura">
+<style>
+.test {
+  font-size: 5em;
+  line-height: 1;
+  direction: rtl;
+}
+</style>
+</head>
+<body>
+
+<p>Test passes if the following texts are identical:</p>
+
+<div class="test">
+  <p>2014</p>
+  <p>2014</p>
+</div>
+
+</body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/reftest/writing-mode-vertical-lr-002-ref.xht
@@ -0,0 +1,42 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+    <title>CSS Test: writing-mode - vertical-lr - basic case - reference</title>
+    <link rel="author" title="Yoshifumi Kawai" href="mailto:kawai@est.co.jp" />
+    <meta name="flags" content="ahem" />
+<style type="text/css"><![CDATA[
+@font-face {
+  font-family: Ahem;
+  src: url("../../../../fonts/Ahem.ttf");
+}
+]]></style>
+    <style type="text/css"><![CDATA[
+        div
+        {
+            background: yellow;
+            color: blue;
+            font: 20px/1 Ahem;
+            height: 6em;
+            margin: 10px;
+            width: 6em;
+            white-space: pre;
+        }
+    ]]></style>
+</head>
+<body>
+    <p>The upper block is identical to the lower block including each character positions.</p>
+<div>adhjns
+  i  t
+be ko
+c  lqu
+ f m v
+ g  r</div>
+<div>adhjns
+  i  t
+be ko
+c  lqu
+ f m v
+ g  r</div>
+</body>
+</html>
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/reftest/writing-mode-vertical-rl-001-ref.xht
@@ -0,0 +1,42 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+    <title>CSS Test: writing-mode - vertical-rl - basic case - reference</title>
+    <link rel="author" title="Yoshifumi Kawai" href="mailto:kawai@est.co.jp" />
+    <meta name="flags" content="ahem" />
+<style type="text/css"><![CDATA[
+@font-face {
+  font-family: Ahem;
+  src: url("../../../../fonts/Ahem.ttf");
+}
+]]></style>
+    <style type="text/css"><![CDATA[
+        div
+        {
+            background: yellow;
+            color: blue;
+            font: 20px/1 Ahem;
+            height: 6em;
+            margin: 10px;
+            width: 6em;
+            white-space: pre;
+        }
+    ]]></style>
+</head>
+<body>
+    <p>The upper block is identical to the lower block including each character positions.</p>
+<div>tomiea
+  n  b
+uq jf
+v  kgc
+ r l d
+ s  h</div>
+<div>tomiea
+  n  b
+uq jf
+v  kgc
+ r l d
+ s  h</div>
+</body>
+</html>
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/reftest/writing-mode-vertical-rl-002-ref.xht
@@ -0,0 +1,41 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+    <title>CSS Test: writing-mode - vertical-rl - basic case - reference</title>
+    <link rel="author" title="Yoshifumi Kawai" href="mailto:kawai@est.co.jp" />
+    <meta name="flags" content="ahem" />
+<style type="text/css"><![CDATA[
+@font-face {
+  font-family: Ahem;
+  src: url("../../../../fonts/Ahem.ttf");
+}
+]]></style>
+    <style type="text/css"><![CDATA[
+        div
+        {
+            background: yellow;
+            color: blue;
+            font: 20px/1 Ahem;
+            height: 6em;
+            margin: 10px;
+            width: 6em;
+        }
+    ]]></style>
+</head>
+<body>
+    <p>The upper block is identical to the lower block including each character positions.</p>
+<div>urmiea
+vsn&nbsp;&nbsp;x
+&nbsp;&nbsp;&nbsp;jf
+&nbsp;tokgc
+&nbsp;&nbsp;&nbsp;l d
+&nbsp;&nbsp;q h</div>
+<div>urmiea
+vsn&nbsp;&nbsp;x
+&nbsp;&nbsp;&nbsp;jf
+&nbsp;tokgc
+&nbsp;&nbsp;&nbsp;l d
+&nbsp;&nbsp;q h</div>
+</body>
+</html>
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/row-progression-slr-023.xht
@@ -0,0 +1,72 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Writing Modes Test: sideways-lr - table rows progression</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+  <link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#writing-mode" title="3.1 Block Flow Direction: the writing-mode property" />
+  <link rel="match" href="block-flow-direction-001-ref.xht" />
+
+  <meta content="ahem" name="flags" />
+  <meta content="This test checks that rows of a table element with in a 'sideways-lr' writing mode are laid out one after the other, rightwardedly, with the first beginning at the leftmost side of the table box; table rows are ordered from left to right meaning that the 1st row is the leftmost one and then the 2nd row is juxtaposed to its right-hand side, the 3rd row is juxtaposed to the 2nd row on its right-hand side, etc... Table cells and table -moz-columns in a table with writing-mode set to 'sideways-lr' are ordered according to inline flow direction, which is from bottom to top." name="assert" />
+
+<style type="text/css"><![CDATA[
+@font-face {
+  font-family: Ahem;
+  src: url("../../../fonts/Ahem.ttf");
+}
+]]></style>
+  <style type="text/css"><![CDATA[
+  body
+    {
+      color: yellow;
+      font: 20px/1 Ahem;
+    }
+
+  table
+    {
+      background-color: blue;
+      border-spacing: 0em;
+      border: blue solid 1em;
+      height: 7em;
+      writing-mode: sideways-lr;
+    }
+
+  td
+    {
+      padding-bottom: 0em;
+      padding-left: 1em;
+      padding-right: 0em;
+      padding-top: 0em;
+    }
+
+  td.left-most-cell
+    {
+      padding-left: 0em;
+    }
+  ]]></style>
+ </head>
+
+ <body>
+
+  <table>
+
+<!-- The "P" -->
+  <tr><td class="left-most-cell">AAA &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; </td><td class="left-most-cell">BB C D EE</td><td class="left-most-cell">FF &nbsp;G &nbsp;H JJ</td></tr>
+
+<!-- The "A" -->
+  <tr><td>KKK &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; LLL</td><td>MM N O QQ</td><td>RR &nbsp;S &nbsp;T UU</td></tr>
+
+<!-- The left-most "S" -->
+  <tr><td>V&nbsp;&nbsp; W&nbsp; X&nbsp; YYY</td><td>aa b c d</td><td>ee &nbsp;f &nbsp;g &nbsp;h</td></tr>
+
+<!-- The right-most "S" -->
+  <tr><td>j&nbsp;&nbsp; k&nbsp; m&nbsp; nnn</td><td>qq r s t</td><td>uu &nbsp;v &nbsp;w &nbsp;x</td></tr>
+
+  </table>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/row-progression-slr-029.xht
@@ -0,0 +1,88 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Writing Modes Test: sideways-lr - table rows progression (thead, 2 tbodies, tfoot)</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+  <link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#writing-mode" title="3.1 Block Flow Direction: the writing-mode property" />
+  <link rel="match" href="block-flow-direction-001-ref.xht" />
+
+  <meta content="ahem" name="flags" />
+  <meta content="This test checks that rows of a table element with in a 'sideways-lr' writing mode are laid out one after the other, rightwardedly, with the first beginning at the leftmost side of the table box; table rows are ordered from left to right meaning that the 1st row is the leftmost one and then the 2nd row is juxtaposed to its right-hand side, the 3rd row is juxtaposed to the 2nd row on its right-hand side, etc... Table cells and table -moz-columns in a table with writing-mode set to 'sideways-lr' are ordered according to inline flow direction, which is from bottom to top." name="assert" />
+
+<style type="text/css"><![CDATA[
+@font-face {
+  font-family: Ahem;
+  src: url("../../../fonts/Ahem.ttf");
+}
+]]></style>
+  <style type="text/css"><![CDATA[
+  body
+    {
+      color: yellow;
+      font: 20px/1 Ahem;
+    }
+
+  table
+    {
+      background-color: blue;
+      border-spacing: 0em;
+      border: blue solid 1em;
+      height: 7em;
+      writing-mode: sideways-lr;
+    }
+
+  td
+    {
+      padding-bottom: 0em;
+      padding-left: 1em;
+      padding-right: 0em;
+      padding-top: 0em;
+    }
+
+  td.left-most-cell
+    {
+      padding-left: 0em;
+    }
+  ]]></style>
+ </head>
+
+ <body>
+
+  <table>
+
+    <thead>
+
+<!-- The "P" -->
+      <tr><td class="left-most-cell">AAA &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; </td><td class="left-most-cell">BB C D EE</td><td class="left-most-cell">FF &nbsp;G &nbsp;H JJ</td></tr>
+
+    </thead>
+
+    <tfoot>
+
+<!-- The right-most "S" -->
+      <tr><td>j&nbsp;&nbsp; k&nbsp; m&nbsp; nnn</td><td>qq r s t</td><td>uu &nbsp;v &nbsp;w &nbsp;x</td></tr>
+
+    </tfoot>
+
+    <tbody>
+
+<!-- The "A" -->
+      <tr><td>KKK &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; LLL</td><td>MM N O QQ</td><td>RR &nbsp;S &nbsp;T UU</td></tr>
+
+    </tbody>
+
+    <tbody>
+
+<!-- The left-most "S" -->
+      <tr><td>V&nbsp;&nbsp; W&nbsp; X&nbsp; YYY</td><td>aa b c d</td><td>ee &nbsp;f &nbsp;g &nbsp;h</td></tr>
+
+    </tbody>
+
+  </table>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/row-progression-srl-022.xht
@@ -0,0 +1,72 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Writing Modes Test: sideways-rl - table rows progression</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+  <link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#writing-mode" title="3.1 Block Flow Direction: the writing-mode property" />
+  <link rel="match" href="block-flow-direction-001-ref.xht" />
+
+  <meta content="ahem" name="flags" />
+  <meta content="This test checks that rows of a table element with in a 'sideways-rl' writing mode are laid out one after the other, leftwardedly, with the first beginning at the rightmost side of the table box; table rows are ordered from right to left meaning that the 1st row is the rightmost one and then the 2nd row is juxtaposed to its left-hand side, the 3rd row is juxtaposed to the 2nd row on its left-hand side, etc..." name="assert" />
+
+<style type="text/css"><![CDATA[
+@font-face {
+  font-family: Ahem;
+  src: url("../../../fonts/Ahem.ttf");
+}
+]]></style>
+  <style type="text/css"><![CDATA[
+  body
+    {
+      color: yellow;
+      font: 20px/1 Ahem;
+    }
+
+  table
+    {
+      background-color: blue;
+      border-spacing: 0em;
+      border: blue solid 1em;
+      height: 7em;
+      writing-mode: sideways-rl;
+    }
+
+  td
+    {
+      padding-bottom: 0em;
+      padding-left: 1em;
+      padding-right: 0em;
+      padding-top: 0em;
+    }
+
+  td.left-most-cell
+    {
+      padding-left: 0em;
+    }
+  ]]></style>
+ </head>
+
+ <body>
+
+  <table>
+
+<!-- The right-most "S" -->
+  <tr><td>A&nbsp; B&nbsp; C&nbsp; DDD</td><td>EE F G H</td><td>JJ &nbsp;K &nbsp;L &nbsp;M</td></tr>
+
+<!-- The left-most "S" -->
+  <tr><td>N&nbsp; O&nbsp; Q&nbsp; RRR</td><td>SS T U V</td><td>WW &nbsp;X &nbsp;Y &nbsp;Z</td></tr>
+
+<!-- The "A" -->
+  <tr><td>aaa b&nbsp; c&nbsp; ddd</td><td>ee f g hh</td><td>jj &nbsp; &nbsp; kk</td></tr>
+
+<!-- The "P" -->
+  <tr><td class="left-most-cell">mmm n&nbsp; o&nbsp; qqq</td><td class="left-most-cell">r s t uu</td><td class="left-most-cell">&nbsp; &nbsp; &nbsp; vv</td></tr>
+
+  </table>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/row-progression-srl-028.xht
@@ -0,0 +1,87 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Writing Modes Test: sideways-rl - table rows progression (thead, 2 tbodies, tfoot)</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+  <link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#writing-mode" title="3.1 Block Flow Direction: the writing-mode property" />
+  <link rel="match" href="block-flow-direction-001-ref.xht" />
+
+  <meta content="ahem" name="flags" />
+  <meta content="This test checks that rows of a table element with in a 'sideways-rl' writing mode are laid out one after the other, leftwardedly, with the first beginning at the rightmost side of the table box; table rows are ordered from right to left meaning that the 1st row is the rightmost one and then the 2nd row is juxtaposed to its left-hand side, the 3rd row is juxtaposed to the 2nd row on its left-hand side, etc..." name="assert" />
+
+<style type="text/css"><![CDATA[
+@font-face {
+  font-family: Ahem;
+  src: url("../../../fonts/Ahem.ttf");
+}
+]]></style>
+  <style type="text/css"><![CDATA[
+  body
+    {
+      color: yellow;
+      font: 20px/1 Ahem;
+    }
+
+  table
+    {
+      background-color: blue;
+      border-spacing: 0em;
+      border: blue solid 1em;
+      height: 7em;
+      writing-mode: sideways-rl;
+    }
+
+  td
+    {
+      padding-bottom: 0em;
+      padding-left: 1em;
+      padding-right: 0em;
+      padding-top: 0em;
+    }
+
+  td.left-most-cell
+    {
+      padding-left: 0em;
+    }
+  ]]></style>
+ </head>
+
+ <body>
+
+  <table>
+
+    <thead>
+
+<!-- The right-most "S" -->
+      <tr><td>A&nbsp; B&nbsp; C&nbsp; DDD</td><td>EE F G H</td><td>JJ &nbsp;K &nbsp;L &nbsp;M</td></tr>
+
+    </thead>
+
+    <tfoot>
+
+<!-- The "P" -->
+      <tr><td class="left-most-cell">mmm n&nbsp; o&nbsp; qqq</td><td class="left-most-cell">r s t uu</td><td class="left-most-cell">&nbsp; &nbsp; &nbsp; vv</td></tr>
+
+    </tfoot>
+
+    <tbody>
+
+<!-- The left-most "S" -->
+      <tr><td>N&nbsp; O&nbsp; Q&nbsp; RRR</td><td>SS T U V</td><td>WW &nbsp;X &nbsp;Y &nbsp;Z</td></tr>
+
+    </tbody>
+
+    <tbody>
+<!-- The "A" -->
+      <tr><td>aaa b&nbsp; c&nbsp; ddd</td><td>ee f g hh</td><td>jj &nbsp; &nbsp; kk</td></tr>
+
+    </tbody>
+
+  </table>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/row-progression-vlr-003.xht
@@ -0,0 +1,72 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Writing Modes Test: vertical-lr - table rows progression</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+  <link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#writing-mode" title="3.1 Block Flow Direction: the writing-mode property" />
+  <link rel="match" href="block-flow-direction-001-ref.xht" />
+
+  <meta content="ahem" name="flags" />
+  <meta content="This test checks that rows of a table element with in a 'vertical-lr' writing mode are laid out one after the other, rightwardedly, with the first beginning at the leftmost side of the table box; table rows are ordered from left to right meaning that the 1st row is the leftmost one and then the 2nd row is juxtaposed to its right-hand side, the 3rd row is juxtaposed to the 2nd row on its right-hand side, etc..." name="assert" />
+
+<style type="text/css"><![CDATA[
+@font-face {
+  font-family: Ahem;
+  src: url("../../../fonts/Ahem.ttf");
+}
+]]></style>
+  <style type="text/css"><![CDATA[
+  body
+    {
+      color: yellow;
+      font: 20px/1 Ahem;
+    }
+
+  table
+    {
+      background-color: blue;
+      border-spacing: 0em;
+      border: blue solid 1em;
+      height: 7em;
+      writing-mode: vertical-lr;
+    }
+
+  td
+    {
+      padding-bottom: 0em;
+      padding-left: 1em;
+      padding-right: 0em;
+      padding-top: 0em;
+    }
+
+  td.left-most-cell
+    {
+      padding-left: 0em;
+    }
+  ]]></style>
+ </head>
+
+ <body>
+
+  <table>
+
+<!-- The "P" -->
+  <tr><td class="left-most-cell">AAA B&nbsp; C&nbsp; DDD</td><td class="left-most-cell">EE F G H</td><td class="left-most-cell">JJ &nbsp; &nbsp; &nbsp;</td></tr>
+
+<!-- The "A" -->
+  <tr><td>KKK L&nbsp; M&nbsp; NNN</td><td>OO Q R SS</td><td>TT &nbsp; &nbsp; UU</td></tr>
+
+<!-- The left-most "S" -->
+  <tr><td>VVV W&nbsp; X&nbsp; Y&nbsp;</td><td>a b c dd</td><td>&nbsp;e &nbsp;f &nbsp;g hh</td></tr>
+
+<!-- The right-most "S" -->
+  <tr><td>jjj k&nbsp; m&nbsp; n&nbsp;</td><td>q r s tt</td><td>&nbsp;u &nbsp;v &nbsp;w xx</td></tr>
+
+  </table>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/row-progression-vlr-005.xht
@@ -0,0 +1,72 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Writing Modes Test: vertical-lr - table rows progression and colspan</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+  <link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#writing-mode" title="3.1 Block Flow Direction: the writing-mode property" />
+  <link rel="match" href="block-flow-direction-001-ref.xht" />
+
+  <meta content="ahem" name="flags" />
+  <meta content="This test checks that colspanned cells in a table are handled according to a top-to-bottom inline flow direction." name="assert" />
+
+<style type="text/css"><![CDATA[
+@font-face {
+  font-family: Ahem;
+  src: url("../../../fonts/Ahem.ttf");
+}
+]]></style>
+  <style type="text/css"><![CDATA[
+  body
+    {
+      color: yellow;
+      font: 20px/1 Ahem;
+    }
+
+  table
+    {
+      background-color: blue;
+      border-spacing: 0em;
+      border: blue solid 1em;
+      height: 7em;
+      writing-mode: vertical-lr;
+    }
+
+  td
+    {
+      padding-bottom: 0em;
+      padding-left: 1em;
+      padding-right: 0em;
+      padding-top: 0em;
+    }
+
+  td.left-most-cell
+    {
+      padding-left: 0em;
+    }
+  ]]></style>
+ </head>
+
+ <body>
+
+  <table>
+
+<!-- The "P" -->
+  <tr><td class="left-most-cell">AAA B&nbsp; C&nbsp; DDD</td><td class="left-most-cell">EE F G H</td><td class="left-most-cell">JJ &nbsp; &nbsp; &nbsp;</td></tr>
+
+<!-- The "A" -->
+  <tr><td colspan="2">KKKOO L&nbsp; Q&nbsp; M&nbsp; R&nbsp; NNNSS</td><td>TT &nbsp; &nbsp; UU</td></tr>
+
+<!-- The left-most "S" -->
+  <tr><td>VVV W&nbsp; X&nbsp; Y&nbsp;</td><td colspan="2">a&nbsp; b c&nbsp; d e&nbsp; f gggg</td></tr>
+
+<!-- The right-most "S" -->
+  <tr><td>jjj k&nbsp; m&nbsp; n&nbsp;</td><td>q r s tt</td><td>&nbsp;u &nbsp;v &nbsp;w xx</td></tr>
+
+  </table>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/row-progression-vlr-007.xht
@@ -0,0 +1,72 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Writing Modes Test: vertical-lr - table rows progression and rowspan</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+  <link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#writing-mode" title="3.1 Block Flow Direction: the writing-mode property" />
+  <link rel="match" href="block-flow-direction-001-ref.xht" />
+
+  <meta content="ahem" name="flags" />
+  <meta content="This test checks that rowspanned cells in a table are handled according to a left-to-right direction." name="assert" />
+
+<style type="text/css"><![CDATA[
+@font-face {
+  font-family: Ahem;
+  src: url("../../../fonts/Ahem.ttf");
+}
+]]></style>
+  <style type="text/css"><![CDATA[
+  body
+    {
+      color: yellow;
+      font: 20px/1 Ahem;
+    }
+
+  table
+    {
+      background-color: blue;
+      border-spacing: 0em;
+      border: blue solid 1em;
+      height: 7em;
+      writing-mode: vertical-lr;
+    }
+
+  td
+    {
+      padding-bottom: 0em;
+      padding-left: 1em;
+      padding-right: 0em;
+      padding-top: 0em;
+    }
+
+  td.left-most-cell
+    {
+      padding-left: 0em;
+    }
+  ]]></style>
+ </head>
+
+ <body>
+
+  <table>
+
+<!-- The "P" -->
+  <tr><td class="left-most-cell">AAA B&nbsp; C&nbsp; DDD</td><td class="left-most-cell">EE F G H</td><td class="left-most-cell" rowspan="2">JJ &nbsp; &nbsp; &nbsp; &nbsp; TT &nbsp; &nbsp; UU</td></tr>
+
+<!-- The "A" -->
+  <tr><td>KKK L&nbsp; M&nbsp; NNN</td><td>OO Q R SS</td></tr>
+
+<!-- The left-most "S" -->
+  <tr><td>VVV W&nbsp; X&nbsp; Y&nbsp;</td><td rowspan="2">a b c dd &nbsp; q r s tt</td><td>&nbsp;e &nbsp;f &nbsp;g hh</td></tr>
+
+<!-- The right-most "S" -->
+  <tr><td>jjj k&nbsp; m&nbsp; n&nbsp;</td><td>&nbsp;u &nbsp;v &nbsp;w xx</td></tr>
+
+  </table>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/row-progression-vlr-009.xht
@@ -0,0 +1,88 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Writing Modes Test: vertical-lr - table rows progression (thead, 2 tbodies, tfoot)</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+  <link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#writing-mode" title="3.1 Block Flow Direction: the writing-mode property" />
+  <link rel="match" href="block-flow-direction-001-ref.xht" />
+
+  <meta content="ahem" name="flags" />
+  <meta content="This test checks that rows of a table element with in a 'vertical-lr' writing mode are laid out one after the other, rightwardedly, with the first beginning at the leftmost side of the table box; table rows are ordered from left to right meaning that the 1st row is the leftmost one and then the 2nd row is juxtaposed to its right-hand side, the 3rd row is juxtaposed to the 2nd row on its right-hand side, etc... Table cells in a table with writing-mode set to 'sideways-lr' are ordered according to inline flow direction, which is from bottom to top." name="assert" />
+
+<style type="text/css"><![CDATA[
+@font-face {
+  font-family: Ahem;
+  src: url("../../../fonts/Ahem.ttf");
+}
+]]></style>
+  <style type="text/css"><![CDATA[
+  body
+    {
+      color: yellow;
+      font: 20px/1 Ahem;
+    }
+
+  table
+    {
+      background-color: blue;
+      border-spacing: 0em;
+      border: blue solid 1em;
+      height: 7em;
+      writing-mode: vertical-lr;
+    }
+
+  td
+    {
+      padding-bottom: 0em;
+      padding-left: 1em;
+      padding-right: 0em;
+      padding-top: 0em;
+    }
+
+  td.left-most-cell
+    {
+      padding-left: 0em;
+    }
+  ]]></style>
+ </head>
+
+ <body>
+
+  <table>
+
+    <thead>
+
+<!-- The "P" -->
+      <tr><td class="left-most-cell">AAA B&nbsp; C&nbsp; DDD</td><td class="left-most-cell">EE F G H</td><td class="left-most-cell">JJ &nbsp; &nbsp; &nbsp;</td></tr>
+
+    </thead>
+
+    <tfoot>
+
+<!-- The right-most "S" -->
+      <tr><td>jjj k&nbsp; m&nbsp; n&nbsp;</td><td>q r s tt</td><td>&nbsp;u &nbsp;v &nbsp;w xx</td></tr>
+
+    </tfoot>
+
+    <tbody>
+
+<!-- The "A" -->
+      <tr><td>KKK L&nbsp; M&nbsp; NNN</td><td>OO Q R SS</td><td>TT &nbsp; &nbsp; UU</td></tr>
+
+    </tbody>
+
+    <tbody>
+
+<!-- The left-most "S" -->
+      <tr><td>VVV W&nbsp; X&nbsp; Y&nbsp;</td><td>a b c dd</td><td>&nbsp;e &nbsp;f &nbsp;g hh</td></tr>
+
+    </tbody>
+
+  </table>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/row-progression-vrl-002.xht
@@ -0,0 +1,72 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Writing Modes Test: vertical-rl - table rows progression</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+  <link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#writing-mode" title="3.1 Block Flow Direction: the writing-mode property" />
+  <link rel="match" href="block-flow-direction-001-ref.xht" />
+
+  <meta content="ahem" name="flags" />
+  <meta content="This test checks that rows of a table element with in a 'vertical-rl' writing mode are laid out one after the other, leftwardedly, with the first beginning at the rightmost side of the table box; table rows are ordered from right to left meaning that the 1st row is the rightmost one and then the 2nd row is juxtaposed to its left-hand side, the 3rd row is juxtaposed to the 2nd row on its left-hand side, etc..." name="assert" />
+
+<style type="text/css"><![CDATA[
+@font-face {
+  font-family: Ahem;
+  src: url("../../../fonts/Ahem.ttf");
+}
+]]></style>
+  <style type="text/css"><![CDATA[
+  body
+    {
+      color: yellow;
+      font: 20px/1 Ahem;
+    }
+
+  table
+    {
+      background-color: blue;
+      border-spacing: 0em;
+      border: blue solid 1em;
+      height: 7em;
+      writing-mode: vertical-rl;
+    }
+
+  td
+    {
+      padding-bottom: 0em;
+      padding-left: 1em;
+      padding-right: 0em;
+      padding-top: 0em;
+    }
+
+  td.left-most-cell
+    {
+      padding-left: 0em;
+    }
+  ]]></style>
+ </head>
+
+ <body>
+
+  <table>
+
+<!-- The right-most "S" -->
+  <tr><td>A&nbsp; B&nbsp; C&nbsp; DDD</td><td>EE F G H</td><td>JJ &nbsp;K &nbsp;L &nbsp;M</td></tr>
+
+<!-- The left-most "S" -->
+  <tr><td>N&nbsp; O&nbsp; Q&nbsp; RRR</td><td>SS T U V</td><td>WW &nbsp;X &nbsp;Y &nbsp;Z</td></tr>
+
+<!-- The "A" -->
+  <tr><td>aaa b&nbsp; c&nbsp; ddd</td><td>ee f g hh</td><td>jj &nbsp; &nbsp; kk</td></tr>
+
+<!-- The "P" -->
+  <tr><td class="left-most-cell">mmm n&nbsp; o&nbsp; qqq</td><td class="left-most-cell">r s t uu</td><td class="left-most-cell">&nbsp; &nbsp; &nbsp; vv</td></tr>
+
+  </table>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/row-progression-vrl-004.xht
@@ -0,0 +1,72 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Writing Modes Test: vertical-rl - table rows progression and colspan</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+  <link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#writing-mode" title="3.1 Block Flow Direction: the writing-mode property" />
+  <link rel="match" href="block-flow-direction-001-ref.xht" />
+
+  <meta content="ahem" name="flags" />
+  <meta content="This test checks that colspanned cells in a table are handled according to a top-to-bottom inline flow direction." name="assert" />
+
+<style type="text/css"><![CDATA[
+@font-face {
+  font-family: Ahem;
+  src: url("../../../fonts/Ahem.ttf");
+}
+]]></style>
+  <style type="text/css"><![CDATA[
+  body
+    {
+      color: yellow;
+      font: 20px/1 Ahem;
+    }
+
+  table
+    {
+      background-color: blue;
+      border-spacing: 0em;
+      border: blue solid 1em;
+      height: 7em;
+      writing-mode: vertical-rl;
+    }
+
+  td
+    {
+      padding-bottom: 0em;
+      padding-left: 1em;
+      padding-right: 0em;
+      padding-top: 0em;
+    }
+
+  td.left-most-cell
+    {
+      padding-left: 0em;
+    }
+  ]]></style>
+ </head>
+
+ <body>
+
+  <table>
+
+<!-- The right-most "S" -->
+  <tr><td>A&nbsp; B&nbsp; C&nbsp; DDD</td><td>EE F G H</td><td>JJ &nbsp;K &nbsp;L &nbsp;M</td></tr>
+
+<!-- The left-most "S" -->
+  <tr><td colspan="2">N&nbsp; OO Q&nbsp; R&nbsp; S&nbsp; T&nbsp; UUUU</td><td>WW &nbsp;X &nbsp;Y &nbsp;Z</td></tr>
+
+<!-- The "A" -->
+  <tr><td>aaa b&nbsp; c&nbsp; ddd</td><td colspan="2">eeff g&nbsp;&nbsp; h&nbsp;&nbsp; jjjj</td></tr>
+
+<!-- The "P" -->
+  <tr><td class="left-most-cell">mmm n&nbsp; o&nbsp; qqq</td><td class="left-most-cell">r s t uu</td><td class="left-most-cell">&nbsp; &nbsp; &nbsp; vv</td></tr>
+
+  </table>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/row-progression-vrl-006.xht
@@ -0,0 +1,72 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Writing Modes Test: vertical-rl - table rows progression and rowspan</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+  <link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#writing-mode" title="3.1 Block Flow Direction: the writing-mode property" />
+  <link rel="match" href="block-flow-direction-001-ref.xht" />
+
+  <meta content="ahem" name="flags" />
+  <meta content="This test checks that rowspanned cells in a table are handled according to a right-to-left direction." name="assert" />
+
+<style type="text/css"><![CDATA[
+@font-face {
+  font-family: Ahem;
+  src: url("../../../fonts/Ahem.ttf");
+}
+]]></style>
+  <style type="text/css"><![CDATA[
+  body
+    {
+      color: yellow;
+      font: 20px/1 Ahem;
+    }
+
+  table
+    {
+      background-color: blue;
+      border-spacing: 0em;
+      border: blue solid 1em;
+      height: 7em;
+      writing-mode: vertical-rl;
+    }
+
+  td
+    {
+      padding-bottom: 0em;
+      padding-left: 1em;
+      padding-right: 0em;
+      padding-top: 0em;
+    }
+
+  td.left-most-cell
+    {
+      padding-left: 0em;
+    }
+  ]]></style>
+ </head>
+
+ <body>
+
+  <table>
+
+<!-- The right-most "S" -->
+  <tr><td>A&nbsp; B&nbsp; C&nbsp; DDD</td><td>EE F G H</td><td rowspan="2">JJ &nbsp;K &nbsp;L &nbsp;M &nbsp; WW &nbsp;X &nbsp;Y &nbsp;Z</td></tr>
+
+<!-- The left-most "S" -->
+  <tr><td>N&nbsp; O&nbsp; Q&nbsp; RRR</td><td>SS T U V</td></tr>
+
+<!-- The "A" -->
+  <tr><td>aaa b&nbsp; c&nbsp; ddd</td><td rowspan="2" class="left-most-cell">ee f g hh &nbsp; r s t uu</td><td>jj &nbsp; &nbsp; kk</td></tr>
+
+<!-- The "P" -->
+  <tr><td class="left-most-cell">mmm n&nbsp; o&nbsp; qqq</td><td class="left-most-cell">&nbsp; &nbsp; &nbsp; vv</td></tr>
+
+  </table>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/row-progression-vrl-008.xht
@@ -0,0 +1,87 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Writing Modes Test: vertical-rl - table rows progression (thead, 2 tbodies, tfoot)</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+  <link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#writing-mode" title="3.1 Block Flow Direction: the writing-mode property" />
+  <link rel="match" href="block-flow-direction-001-ref.xht" />
+
+  <meta content="ahem" name="flags" />
+  <meta content="This test checks that rows of a table element with in a 'vertical-rl' writing mode are laid out one after the other, leftwardedly, with the first beginning at the rightmost side of the table box; table rows are ordered from right to left meaning that the 1st row is the rightmost one and then the 2nd row is juxtaposed to its left-hand side, the 3rd row is juxtaposed to the 2nd row on its left-hand side, etc..." name="assert" />
+
+<style type="text/css"><![CDATA[
+@font-face {
+  font-family: Ahem;
+  src: url("../../../fonts/Ahem.ttf");
+}
+]]></style>
+  <style type="text/css"><![CDATA[
+  body
+    {
+      color: yellow;
+      font: 20px/1 Ahem;
+    }
+
+  table
+    {
+      background-color: blue;
+      border-spacing: 0em;
+      border: blue solid 1em;
+      height: 7em;
+      writing-mode: vertical-rl;
+    }
+
+  td
+    {
+      padding-bottom: 0em;
+      padding-left: 1em;
+      padding-right: 0em;
+      padding-top: 0em;
+    }
+
+  td.left-most-cell
+    {
+      padding-left: 0em;
+    }
+  ]]></style>
+ </head>
+
+ <body>
+
+  <table>
+
+    <thead>
+
+<!-- The right-most "S" -->
+      <tr><td>A&nbsp; B&nbsp; C&nbsp; DDD</td><td>EE F G H</td><td>JJ &nbsp;K &nbsp;L &nbsp;M</td></tr>
+
+    </thead>
+
+    <tfoot>
+
+<!-- The "P" -->
+      <tr><td class="left-most-cell">mmm n&nbsp; o&nbsp; qqq</td><td class="left-most-cell">r s t uu</td><td class="left-most-cell">&nbsp; &nbsp; &nbsp; vv</td></tr>
+
+    </tfoot>
+
+    <tbody>
+
+<!-- The left-most "S" -->
+      <tr><td>N&nbsp; O&nbsp; Q&nbsp; RRR</td><td>SS T U V</td><td>WW &nbsp;X &nbsp;Y &nbsp;Z</td></tr>
+
+    </tbody>
+
+    <tbody>
+<!-- The "A" -->
+      <tr><td>aaa b&nbsp; c&nbsp; ddd</td><td>ee f g hh</td><td>jj &nbsp; &nbsp; kk</td></tr>
+
+    </tbody>
+
+  </table>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
index 0000000000000000000000000000000000000000..1b947700808585e8c224cee096247eb5d30a1ded
GIT binary patch
literal 649
zc%17D@N?(olHy`uVBq!ia0vp^DIm<j1|$m}O$`B3jKx9jP7LeL$-D$|SkfJR9T^xl
z_H+M9WCijSl0AZa85pY67#JE_7#My5g&JNkFq9fFFuY1&V6d9Oz#v{QXIG#NP(q@_
zHKHUqKdq!Zu_%=xATcwqM9<GPM4`-B&%h$JXwE~RU5`Co978JN-d;K=*kB-V*x^$B
zMTb=%?52nmNS%CM`Tu@1&mD!@;|_)f%o2T@uZVg&0vYGBrk}gpl)z>nlfF`W5{NP9
zs@~k)tOt1#EY1amtAH7+W39@$n<Nhu%vrk5gA2q6+g<WbjK#R&p@nzsL=g~UP1(yk
zx*TZ?hYP3eQqlx5BHv!x87**zq3y9wscR63vH8~0;_V7E7<rCIzUo>6Vx({NexBzz
g>LB7ABzTg2nTMdZlUSV&Fi9|Yy85}Sb4q9e05a$EdjJ3c
new file mode 100644
index 0000000000000000000000000000000000000000..57bf3ddc5213d06e0975de38f330ffb7c441b268
GIT binary patch
literal 510
zc%17D@N?(olHy`uVBq!ia0vp^DIm<j1|$m}O$`B3jKx9jP7LeL$-D$|SkfJR9T^xl
z_H+M9WCijSl0AZa85pY67#JE_7#My5g&JNkFq9fFFuY1&V6d9Oz#v{QXIG#NP(q@_
zHKHUqKdq!Zu_%=xATcwqM9<GPM4`-B&%h$JXwE~RT@juxjv*CsZ?7NBJ?tRj?6~v)
zBHh!hFE%W9PiR`g=<D(CZ_WDG-(RbLW|b4DpPT>T2(!lvX$H>3KhK?=qIelyoTC0u
z+}bulfOF!6?IB(rEgl^$M}inwI-;y>m-klb*g7<<FkUR@%_yLdb#kid6sD=BEl=O{
zCNeT6eaQ9DVFgO7zMrsAWW^dqo%DPjZVrLweCH%h1|}EX%66Wm4yn9}met7-4h<4D
z(n1hZtWz{twX!)*-;_Sg#B}7r?FkWF4Ge+a_Y|Eq10tOx&fSv`6Hs8g-v)8UCq7B9
z##2&<ioPA&(7<5$!%SrwlY+yQN#!R3xI(T8OxtYU#>&!haJ%A05eCLZ)Al&G1ufXr
zwqed*LmdSNo_)NXOBpx>wmy+HBE{)*_c`b3JrUH_%$U6m7!M4du6{1-oD!M<s-dy7
new file mode 100644
index 0000000000000000000000000000000000000000..4583cc675d747fc8c77189ebbd3d596283102b43
GIT binary patch
literal 18096
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
NAVshPD@0ka6e}>lt(gD-
new file mode 100644
index 0000000000000000000000000000000000000000..f9cbd2be892e945e3e1bcc019886fa695404997c
GIT binary patch
literal 33964
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
PQYn@4|97E(Nvi)B^|1l1
new file mode 100644
index 0000000000000000000000000000000000000000..84ad57bef5a0d5f1c01ba39891d0ef7476273799
GIT binary patch
literal 38068
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
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/support/adobe-fonts/LICENSE
@@ -0,0 +1,31 @@
+CSS Half-Width Orientation Test and CSS Full-Width Orientation Test are released under the SIL Open Font License - please read it carefully and do not download the fonts unless you agree to the the terms of the license:
+Copyright © 2013 Adobe Systems Incorporated (http://www.adobe.com/), with Reserved Font Names CSS Half-Width Orientation Test and CSS Full-Width Orientation Test
+This Font Software is licensed under the SIL Open Font License, Version 1.1.
+This license is copied below, and is also available with a FAQ at: http://scripts.sil.org/OFL
+
+SIL OPEN FONT LICENSE Version 1.1 - 26 February 2007
+
+PREAMBLE
+The goals of the Open Font License (OFL) are to stimulate worldwide development of collaborative font projects, to support the font creation efforts of academic and linguistic communities, and to provide a free and open framework in which fonts may be shared and improved in partnership with others.
+The OFL allows the licensed fonts to be used, studied, modified and redistributed freely as long as they are not sold by themselves. The fonts, including any derivative works, can be bundled, embedded, redistributed and/or sold with any software provided that any reserved names are not used by derivative works. The fonts and derivatives, however, cannot be released under any other type of license. The requirement for fonts to remain under this license does not apply to any document created using the fonts or their derivatives.
+
+DEFINITIONS
+"Font Software" refers to the set of files released by the Copyright Holder(s) under this license and clearly marked as such. This may include source files, build scripts and documentation.
+"Reserved Font Name" refers to any names specified as such after the copyright statement(s).
+"Original Version" refers to the collection of Font Software components as distributed by the Copyright Holder(s).
+"Modified Version" refers to any derivative made by adding to, deleting, or substituting -- in part or in whole -- any of the components of the Original Version, by changing formats or by porting the Font Software to a new environment.
+"Author" refers to any designer, engineer, programmer, technical writer or other person who contributed to the Font Software.
+
+PERMISSION & CONDITIONS
+Permission is hereby granted, free of charge, to any person obtaining a copy of the Font Software, to use, study, copy, merge, embed, modify, redistribute, and sell modified and unmodified copies of the Font Software, subject to the following conditions:
+1) Neither the Font Software nor any of its individual components, in Original or Modified Versions, may be sold by itself.
+2) Original or Modified Versions of the Font Software may be bundled, redistributed and/or sold with any software, provided that each copy contains the above copyright notice and this license. These can be included either as stand-alone text files, human-readable headers or in the appropriate machine-readable metadata fields within text or binary files as long as those fields can be easily viewed by the user.
+3) No Modified Version of the Font Software may use the Reserved Font Name(s) unless explicit written permission is granted by the corresponding Copyright Holder. This restriction only applies to the primary font name as presented to the users.
+4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font Software shall not be used to promote, endorse or advertise any Modified Version, except to acknowledge the contribution(s) of the Copyright Holder(s) and the Author(s) or with their explicit written permission.
+5) The Font Software, modified or unmodified, in part or in whole, must be distributed entirely under this license, and must not be distributed under any other license. The requirement for fonts to remain under this license does not apply to any document created using the Font Software.
+
+TERMINATION
+This license becomes null and void if any of the above conditions are not met.
+
+DISCLAIMER
+THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM OTHER DEALINGS IN THE FONT SOFTWARE.
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/support/adobe-fonts/README.md
@@ -0,0 +1,43 @@
+CSS Orientation Test
+====
+
+Overview
+----
+CSS Orientation Test are special-purpose OpenType fonts. This open source project provides all of the source files
+that were used to build these OpenType fonts by using the AFDKO *makeotf* tool.
+
+Getting Involved
+----
+Send suggestions for changes to the CSS Orientation Test project maintainer, lunde@adobe.com, for consideration.
+
+Building
+====
+
+Pre-built font binaries
+----
+The installable font resources (font binaries) are not part of the source files.
+They are available at  https://github.com/adobe-fonts/css-orientation-test/
+The latest version of the font binaries is 1.005 (April 4th 2015).
+
+
+Requirements
+----
+
+For building binary font files from source, installation of the
+[Adobe Font Development Kit for OpenType](http://www.adobe.com/devnet/opentype/afdko.html) (AFDKO)
+is necessary. The AFDKO tools are widely used for font development today, and are part of most font editor applications.
+
+Building the fonts
+----
+
+The key to building OpenType fonts is *makeotf*, which is part of AFDKO. Information and usage instructions can be found
+by executing *makeotf -h*.
+
+In this repository, all necessary files are in place for building the OpenType fonts. For example, build a binary OTF font
+for the full-width version like this, which also includes a post-process for inserting a "stub" 'DSIG' table:
+
+    % makeotf -f cidfont.ps -r -ch UnicodeAll-UTF32-H
+    % sfntedit -a DSIG=DSIG.bin CSSFWOrientationTest.otf
+    % sfntedit -f CSSFWOrientationTest.otf
+
+That is all.
new file mode 100644
index 0000000000000000000000000000000000000000..7ca197bc06e58834eb43a7638527e151f6b4e4e6
GIT binary patch
literal 1735
zc%17D@N?(olHy`uVBq!ia0y~yU~~Xs4mP03*$GQm0V$SrM_)$<hK>E)e-c@Ne6}QS
zcNd2LAh=-f^2tCE&H|6fVg?4jBOuH;Rhv&5D9B#o>FdgVpG8R2O!E4+)CE8x$r9Iy
z66gHf+|;}h2Ir#G#FEq$h4Rdj3<Y;j-+=H&K5?Mw@}4e^Ar-gY-aVZilge=HVfmyj
zW-pI&2lcwdY<Z>RA(o{aa^%s{i?JJb2&%q1CAQex@juf<r|8`RUEOTqNoNl=v2MJ!
zE5r4qQpAQ!u4|hdHIGH#zSGyO^K4S*Op`3*%g-Al=j5N8Gjk4q-JFvt`=)d)(qJm!
z%_`<%U}O<+pqQZC1Smm{zKD526Gi+E8;SVI?_eTBKZ3b#ErVZ<hn@DMn1^d`Z1^GE
ze|P$yfX_QV{#*K=;cMJ$r}O)#)G~%Q{GYkLT-DYzdHx$SMTc(o4~Kd^zn}a0c>Oz%
zuGv0Z8xAo=#LQoE<;L1Cx9#P#OB8NytNZuk{Od{I=b30abjLCJZCAg~uew@%$NwV%
zMwj!F8pL=W?DRc3ja_Wt|GB>>Z#%2TmT{1w&T__=upIkBwV#iC&f4kEl2~w*=|_6_
zrnC)JZ<=jS##gU89#^3^Gb+2NL5%CcjcX~<<(1WMpQ<Q(-uL+Q^XaD_=G#@0`De*2
zaAmTH_VVLbH4o|8`!(>A<-8mj|9#d$d;ebye<sIVaFsb?)`?B~SdH$@y<;0-`|ZWQ
zPx0r!y!EbIx#NBB@yVUHeFQErg*U{%_1RW7W&7{*>f7gQ<$s^&)i+l^|NIv9VE@?)
z3r;dy?9`gM;^(Z}3!6{Q@_zdEoVO=m*!$0Kyib0~n#>aOl)>zm?}V!ROh32jSN>S{
zYU8?xKY!;+`nhRu>%TYi&#m-H4Ql(C*2MmJu=TO$`JF$1f1Ts))*s$qyX&+Hqp#F~
zDsFk3P3D?s&)wf%Yj$&w`OXN#Z=Zrs_OJ>yr12!|ZRMA<p2KSITKA&hQsl<>KYl&=
z%P7oh63HMQ{bNC(dfT%;)(a+#F*y&L-DF?*pUX3fbP#6UQ1-A{cKPI+S0lenezG$3
z<id@wlK+0(bCPM6O2bz%JBd2$%-K<YHm+Vac{YDYKQEt}>vT@$SqcqXx#dgz)Q-0I
z+W)&Z@yU;rqaX9;TB{xC;sd$kp3S5+zgK=t1_trDYdRA?Yy`S+svOAuIrq)KYwvTL
zI_b`4`<(%X-+q02^8H=?_pN5TPBhmq=484t0jTIsVbROuFKuVa{NA|7_UgnlZ%i@|
zaPfi+ZsS+G9vk&*<1Rh5%kRVbZ8ulHvt*d|mv6(2>f+;5wdU9ruyQCgFffrupz*hK
z^og`?W*{pQ(Wpoea9GYjm4bzZ3XXxgh$^nRpvge2;(z+}%+1F>-;lbry$M*KFnGH9
KxvX<aXaWELrW1((
new file mode 100644
index 0000000000000000000000000000000000000000..f5c13ab550d8ebe88e36159c26b9b8d0ae86b788
GIT binary patch
literal 1735
zc%17D@N?(olHy`uVBq!ia0y~yU~~Xs4mP03*$GQm0V$SrM_)$<hK>E)e-c@Ne6}QS
zcNd2LAh=-f^2tCE&H|6fVg?4jBOuH;Rhv&5D9B#o>FdgVpG8R2TDa-#r_Vqk$r9Iy
z66gHf+|;}h2Ir#G#FEq$h4Rdj3<Y;j-+=H&K5?Mw@}4e^Ar-gY-aVZilge=HVfiFA
zvzJG?gL++Jw!B*8A(o{aa^%s{i?JJb2&%q1CAQex@juf<r|8`RP2FtaNpBA|v2MJ!
zE5r4rQpAQ!u4|hX2K8)TcJ}Fx6G?hAXLv4FF|L)HarEc2Gc!;Ad~kfG&ol3p8eK{Z
z*B6>CXAp2;U}T|~pxguqK_%B*&}5*Fi>TozqQfV_a!S{d0;y>W3Vt0BRcK&f;vkJc
z;a_)UIDTC{Uc__V$FMc=KRVszJ?d6f-ii4CsJ@|Ued)gE@n`lmXdn20cKhy0_hxN8
zUp8A{!BOUlm(P}@Kfm+wdb!F`T{YH-L`I!FpP;NaVZZ*~?=P)VxVbIw-H)SNPqO>Z
z7FpoBo?-c|$@1-!&Q-p%H=N?LeYV5`R_2Pj<V{Z({(N8m{@{|_$(@W*1`YB2YO}Ss
z&9|CeQ@Sl}{&ZiS3rUQBR$E8fM%aG4IPb}O+pEd?dnfp;GqiNzW-Tbm-n4f4p1se!
zCLQ*?|M1Ca?WZ5#=Xtxyn^`(^vlJ|wGDp%YZ<R##^T|uHb#59=`%|!_>i^>PXYJS$
zZZbzmou9Oi)#%#fJJtcV-+ui26o3B9TkpEHJKnEVpZw9<N8kcec*FfSKHJu5<$sU&
zcxMxO?_Q0TW!b_#ws+_G*kw00sPR9z+LyBDS#}<K`{b*_Pv5TVR5^V0x6OYqqpO*d
z8dCWZ7T;%C`CWIy``?q?->;N=EjM%b{b>`QlpOtbarfl=zkGx)90_mO$}PXA(B`GB
zefj=-pHIGgd^LIgdm~SW$!r_$9b)f)>+5A){5^NRr`cOyz3`sBzkG~x8(9`eGDqY;
zY*yz>z2`qs-f~Jw=o{;8dOr&exG?&P9cUG^%ed0H@Mbcji7$hA)Q<&$?7t=#OZ$pl
zaA8~%`y=7_%#>xu+;x*|ZcdbuS!;J~zWywo1)fYG6DO8W-gdH8{<h)NJ5>v+ataJI
zclk<OU;$}c@H#7~=FX4D@9pQv?2jtkb347CbHgIAJGS?$WY=f@k&r$%so0cTr6#M9
zC1EK$$o;p!pZ(XhK5(hZ_qYCfp*?$d+WuVpe1GlQUcFBb?q@VHm@NS+DxVwkr_gM^
zPv75|d-GzZ`n)&EJix`9u(y@pt!=Wjnppjscc)KY`F%C{{M&i8d=0AmnRU|c-zi+n
zwVXeOk<^qAB#`+Rvci^X%wZ)f6X7?RY@&g|ij_>g2Oj-pKF0m|hVze{mB9Lh!PC{x
JWt~$(69AH@CZPZT
new file mode 100644
index 0000000000000000000000000000000000000000..4f354e93527e237aa40e5db31a919695ab849329
GIT binary patch
literal 1731
zc%17D@N?(olHy`uVBq!ia0y~yU~~Xs4mP03*$GQm0V$SrM_)$<hK>E)e-c@Ne6}QS
zcNd2LAh=-f^2tCE&H|6fVg?4jBOuH;Rhv&5D9B#o>FdgVpGkt%T+n81Ryt5fvcxr_
z#5q4VH#M(>!MP|ku_QG`p**uBL&4qCHz2%`PaJ5vw5N+>NX4zUcTZ=>q{<wB_};`b
z_fog`5~-CtGOoH#)VUJ2qT{Id;@wGw%3fEd>bgyD`p2r&x~)u6M4Wfsky)**+(~Oo
zFLq6G-H@=fJBrnLsYJeSv9;c&8QyAXkG7Z?+wq@yw5RylnGeb}5=Jx4moC!iV)(<q
z)_}=@fssXkVuErLAOu<ZW?jx?@zt7oW`U$@B3lJJhe87b6Fve%aMOg3r6<K*C;hL`
zzNY(6W--5t{Z*U1oYz+?*K*tb4?4%n_+-}4vhqy})81~jea6Ie<C)&wIbYt*+W+s@
zxg|S});KUspZVyR%F<(bOYi^x8>RgB<hQM#uj{Y#w5zza#*yLnl@j+)j}tZ(HU9SJ
zQ!|!*#=>-??OeXkHk&OU{=T=JvF1jKpF%_Ki`R`Q#YaB|r%zsg?%JHsn=Bg{w$0pM
zH7S(&YPS4a-+%X__kO#?eez1yXC}rR<;Axrz1{ot@zwB2JnFTFPfia%_4@wZX+3s1
zaX_PzwoREM>65oAqWbydCDl5S_S60pZ29#kdHq>iHh}}L*O|;)wvW~5+Uz^G<M)31
z(fBF;{Fk@>b!&ILU#mX(qxBhCmJPf$o3(FVi?q8}rMUBR$<K<<FQ5Eq{q)ht-RSF@
zoj`}}IJqum&$H~jc7D~>YNw9h753x{o&Wid_Q@|^pP3o=oRj*i=CL=wvF84Cn=1dW
zQRgrG`MixsRax}-@ppc8uZ^n(4v2;A{&-MYeG>2U=kvEetT8HDRQ2}r-Dm7fHx|9h
zt@&_c-x3q+|9ARsrd;0lr0D3a)#p`=%{&+wb6mfg*;PF95c?zYbE2|m`O%%p*^~Ky
zpA}@;a8zg8N5{o}eCJ}h1rAKxc;gs*uhkAy%k39!92ufL-X3GOKCiM_d-DtRlfkhk
zA6|Tw{rBgh$|i<w9aYluJbP!anGyA8W9;RVYuQ&{XJebR=y(iJn*&hW-N~LG3m^CI
zueY!?j4a%H`}sOfjt85<@*g*E?^nyN%lsqt`uL<`Q)!i&tY#L015el816uX%{NJwi
zflF1s%X;XAuGza&`RC&Aul8MYGq3!RZzAX*6$I42+fVne)og#&<Mn#-{-tWhyU&QT
z6wF+;{o}z43!k)gE{$LPyvXQp-Pc>i)z9WJdw979iX6LehUIV2TFtsYANUC83{vt@
zL-wl69J4}1(irYB;>|wT2{N=`C8%S};BpOz0{NPIf3v6V`Fua=8Iu#RE@AL=^>bP0
Hl+XkK8)Gyy
new file mode 100644
index 0000000000000000000000000000000000000000..6eded69a4a3ac9e6b98cfea08c9163997d6224c3
GIT binary patch
literal 1735
zc%17D@N?(olHy`uVBq!ia0y~yU~~Xs4mP03*$GQm0V$SrM_)$<hK>E)e-c@Ne6}QS
zcNd2LAh=-f^2tCE&H|6fVg?4jBOuH;Rhv&5D9B#o>FdgVpGkt1PgQuXa0XCFvcxr_
z#5q4VH#M(>!MP|ku_QG`p**uBL&4qCHz2%`PaJ5vyr+v}NX4zUcTZ=>q{<wB_+BM5
z_fog`5~<D|8CP8==v;AI(Q(v!@$RGoWv?q!b={^n{bN;X-BzZ^BF?++$gEaY?xeM)
z7rQRGZb(?#9mVRrR3d-xlcE@x8QyAXSy8iQ+VP)xw5RylnGeb}Gh&|kuGHvKVz|E0
zOqqd2z=460VuErLAOw|MW5Prg*9cI@QvwdeDO}geryQ{;=p@gyMH*)q-jm_HS2JU#
z*95BkoWDKk?xXXD{~SIApM9+MYyFw**cU(bpT`I|tecg;UES6+d;VJkae)J3<?o&?
zsV?~U>-FtPkHkJRGRCBJNl%_4wR>va|M%Il@*dmP%-vsC=KJa3<uqQV8;h3Ro-E%!
zc`Emv`V@<qnda(16H2O_H@#fg`o8}C!6mtiEgKoOEm+?^>0a04<$h}MbJtitPc3F*
z%rUGlRbAb->bl*nnSb_fu6nyveA3FR&sdpmI2|)rkKT3q_-cJMN$+3BCh6->yS{(7
zu4Mg<Jq`@fM{+bR4d>hm+4$|8y61D3O?65?A3A*f$sRwunn$7GdQ7H~_b-tXF6Bk<
z9lqXrTz#tE_VRY?pIaa8+dj`n?Y%)c(0w1yCT!ZdxaLm1+Ro1rKX-hOD0<=ZvtpU;
z%&Kd592jQbSt@!m<?Qi0-+EP6>rLsm)>n~SY4`kR_@tLppRqGl^qT(ioKQ8N>E}NE
z$}jU?ZC!Wq=kr`C-@b4e`90P@*Pegl$S^zN?J@Rz8NVvO^Y-hXmlXXe_<HO4?X&zW
z8$7Sx{_$XAtY>D~znyP4pF9?O@@Lo9@cEu;ITIL|ZuGp$t@&`|pU#iyC+^?W=ZZe}
zTjOgdW8f}uKyCAlW9+?FMmFWTKo=fMl9o5g%C9fVYOZWzFq?R*mw($_kF@Z#i}zLh
z*Lr;G4Ud0)Ui_>u(7r3Te<XalyCgU3<MDMf{PONb?=>@-A`<(Ii|GbSmbu-FJyS&F
z&Hw%QeSFg4>00Z`f8Q|$#`ramJH9ohoYn7*PyXvtv?{H+#XlG5!X0;j?oW9AZm0Z5
z(^XTR?6W<&vumsQcD4GF_?y>ny-?%-*Q>_l;SAJXaQ))x{eJH+KDluI>Eo4sDQOpK
z92usstdf@R=~FR}+3_d4bguuh`|IPX^N!ysX82zx9xURT$m2b8f&3cXPJR15%v8!j
vP~yR=R|ZY0T3p7&WTHV|n6d1z`^y|`{rP^}!!6ao`h>yL)z4*}Q$iB}0Ynd%
new file mode 100644
index 0000000000000000000000000000000000000000..5f4b53c46b742536eb779d589d78eb951468a41f
GIT binary patch
literal 1732
zc%17D@N?(olHy`uVBq!ia0y~yU~~Xs4mP03*$GQm0V$SrM_)$<hK>E)e-c@Ne6}QS
zcNd2LAh=-f^2tCE&H|6fVg?4jBOuH;Rhv&5D9B#o>FdgVpGksMM0ag=Vk1yUvcxr_
z#5q4VH#M(>!MP|ku_QG`p**uBL&4qCHz2%`PaJ5vjHioZNX4zUcTZ=>q{<wB`2I=S
z<hVTwS3QonuGVWxS-8!~RVPmBu4uD#;G%UohPy<*=nH6W*~-0eM@E6_H9egOf$X*2
zVN>*)ShZu1Xh~=tt$3|E{jpN_&XlBO%O;)qQkfw3e6DeNoBYXk#glt9MO_0~9#~yT
zV`*Su;!vQNpxguqL6$xp-*&+bYrIsABf1tDFu!MDWD#&cCeZoVh!&~IuP5nusr>&K
zwkG<I<uN&rx>c2Tjy%i$93@`$Z?&a3W6S@u+pQ<<o3-_P*{p5`r|#Va#h0v2>i>Ry
z>si?SlS5&R!O>n%uim>}`~Uym>c^`Vef?a#{eHEd4>C84Ib;N0etWWC+4DNncX@fw
zv|DFA85Xkk=6jggZu#){z3q%GxhCq2En;837F>!i{BvdIlhwwi&-di`F>&ZVTR$)5
zYQfiA?z<=LFArV6_luL!)?0g61fovdn3j^A|Fh!jQ<e5fjm{^hPe1+o{@rOkwmES?
zZAsgv%#riVTNP3LeDacNrAYgUe+qW|`lG!5tSuX3OKSM6Gn4FCjV{i<V;!;g+mCyn
z;?MKE@vK|B<NaFo$tSJP!~)${V>~72rG|XI-Sj(^n`-XV8(CJZtFgH}&&M`9kBP(g
zomaY1<Y&X}%)cjxPCs@0?(|7-*4sV*89wQy-e+Nlh_v21p(Xd0JM5G9klVYwYHfPS
zzslKelY>Q%yT9|RlQyVkY*7o_{qdmm@k#qW{(SzmSABV3==$1yhySn$%nI4t%P)6(
z?v%9W^KaYD&bc!;W=%x(*O@8D*f^Ou&aSw3jNM=6Ow)eXx+e*jVhi6Lx%K3*W3h-s
zhEaEJ&4m?@m5Z-CF)Yl~+4j+K@wZ&Rb9n~-K-+?Vwtc&NGACT@ukWXj^rD0{zoP2*
zWy}NmWf9QC#qZT}gS+jw6<h5rjsJS<LqX7&8LJtbgjd}CvEa8?P|ckmkKfx*k=Y$o
zxcBz+b)5`{y2A1wH*e=x&#ue-BlTK+(q>a>m71((7RHvT>wxCn{&wbX$NIpfD&ODw
z>V>S?yHoe);_tWiU2`+9{E%<LDj*dE)V|v<=5OgQe--z7J$e696=UaT+6^0=uHOEU
zP*PuXc<Ji>Vdsyg{QCQ9>+`a6w(M&chKRT(^61<TUm(9qw=+MUyu^-!XmBf)U_8A_
z;|v3)u^0r|wxAKzF=lYNhO%ftbIpTapZHtOf4(2LN^k|RGGXv^^>bP0l+XkK&z~15
new file mode 100644
index 0000000000000000000000000000000000000000..4c2f6c8e632989ca42ba4f36f5d6c979b55a74b1
GIT binary patch
literal 1734
zc%17D@N?(olHy`uVBq!ia0y~yU~~Xs4mP03*$GQm0V$SrM_)$<hK>E)e-c@Ne6}QS
zcNd2LAh=-f^2tCE&H|6fVg?4jBOuH;Rhv&5D9B#o>FdgVpGkt1i+_!m{4Su7WQl7;
ziF1B#Zfaf$gL6@8Vo7R>LV0FMhJw4NZ$Nk>pE%HTIZqeIkcwMx@1D+%NtHSN@comt
z$#HuWu6i7GU9H!YvT&P|t4^HMUD0Ogz(wnF40nlq(HGF%vXy(`j*J4;YkE2n0@-W3
z!=~sov1-R2(UQ<QTJc(S`eUW;oheDn%qE@rQkfw3e6DeNoBYXk#glt9MO_0~9#~yT
zV`*Su;!vQNpxguqK`qy~F;K%b3`|t<6p$cF;enzT229gJSEjICU!-y7fVBeyBZ~kM
zfzBsD?0o05&U>H6q(8@_H|BkOE>W%UbLF!_;pl14w(5QP6JD&x#PNT2ez}@-)-}7^
zsX(6YyF+I^-#_^C^?JF=QQc?C4I2)Ln5$`;mTCX}_x`$+tjD&sbNAQP`F=WhIZe0W
z!lGrjC(E}_UdQ^*-f+&DEwd*xIB`qepOI6S@$mQkYJ<$%DSkjRU%XzpWc{NbD~(Tv
zr)Qn3yg7$OAnHuK?a5UOUv2F#Q?Gx&F0T4zYf9GEN=}6>6E?0rx$WMkkFQR9@~QuA
zpRBJx{rdjhx{}p5_5igV$<eg5opUE-<F|9_p5I+I)hYda=<)TZd;IKb9wv^{>r7^5
z{}MUjl3(=R;p?r(zfaZMUfys1bL*ph+voYHy*DUlY!Ul#Heu7&#Wj1L#uPnY`Kj>!
z$|pB=e){NBZS-}`PEG}ro!WCxrkp)~hfmHUELKatJl?Bl!LK>b<2{${KI6}jIMei(
z=Y*>HOh5P8SALoIYU{j-KcDBydAe!$_1~NO=UV<ZCJx^<WsjT9`_!e6J)gfl(MHlX
zZtu6BexHRMGJ?LE*;VBD2hEyWpZ7awQ>K5>#-z7b(<ezvt8gfoEUuE4w<*-%{wMZx
zqO)iD(VfECllj@t1Tri<sk7~)<6=La^Re8FEz36EIL6+4Yrm@H?u$080<%2c9%Hxm
zQ{NmL`NjNX@Z6IJH@?dL`*Tqxmx4(r(8QiSv$y!_{=0GR<&$fFuVy<tdtOXl2Xy2D
zpd;UDdwwi@+`s>SLD3(tqhIsp?^a{t(2m;M%YV;q(wd)3KW49)?{V&0&V&yud4*U6
z!gc}8%eim;U3s6|)Jb=?>+cNM`0d%ZC;j)9)~@Z%`}E*`2GG(a_l~ib&)xIu^_RIm
zeSc%@=DqSrV>=tpkl4Cv`^SSP8lSXzhu5#2*M0KK@2lD8-_EM$n-#xOqwA1F#J=?o
z_5r)q_SNoXMo-J6Bzg!jEvQ{^!<w!`JRkT7D<;io+yr%u!6Mj@_LZNz@bmp&E&J~R
Ps}lxKS3j3^P6<r_*lsGP
new file mode 100644
index 0000000000000000000000000000000000000000..052d224df11a9545c56918a2144e159ef96a922d
GIT binary patch
literal 1708
zc%17D@N?(olHy`uVBq!ia0y~yU~~Xs4mP03*$GQm0V$SrM_)$<hK>E)e-c@Ne6}QS
zcNd2LAh=-f^2tCE&H|6fVg?4jBOuH;Rhv&5D9B#o>FdgVpG8PiNN$If;8LKFWQl7;
ziF1B#Zfaf$gL6@8Vo7R>LV0FMhJw4NZ$Nk>pE%HT7Ec$)kcwMx@0`t+DU~_?@w{4Q
z&LwvF30W$S7KZXW76nKzR1%Yq+AG>E9=K>;j$xI^7kvTEEnC?YD>6Q)T$9s@5XfHJ
z9yUd$iB;S7iq;N|qd%^++w`={d{dO(Y&bRT`gQJa2K(pE<Q1+kPBFe86e!}#@UPt}
zhRK0}kwt)Ff^rie1X=o~EkCW=AQq;zlkFXb94RIxyi~icK3~-H-_z9*`+ubS+?oC-
zpggAX#j8JSxNH9feG_$fVE_5+x+VMb-cG*zj-k=4{Nb@B`Op7+4KG(Y>dVBj#^C5z
zPp`9kz4rh8yz|(0_2}zo<NsIYe!4fAiDS#km*<}Rp17pC@w<PIit${a$iiaj$!Ga>
z{`|B4t}Z*9MIggDo==@Q^tS&T&wUob+s}6c)y%Z7o_zK2)@=DVp8swI@BVhE_~aES
zMwVMAj!a9*j!&&V`&6ZU^1;I=pHJ6*egDoR9~+GZhuJf9RhPR@l3sP~-Y<=pn(ET0
zPL{i8eYgL0>W(23M@;e3lRB?8CltjOegAfAtNZuxf7NLP@t?e}R_EKy^SP(i;2`}Y
zD}B?_)thWf>~{VQNv(bmQuL-KwR)NH%&I7cMzQkLP@~B2Gj1QenDTY$sj~A+RTgjk
zZSy<G=&o+V0n=-5CM)#LWBOTUQ2Arst*!Sq{`{RQ=Y4GTw*GrF|5yQ?$Guv<=EJRz
zOa9;a^Y_<z)yK!PuiM>KZE)z$GWqdf;$F|pvVZ&LZa%qe@5!U9woae#l@|7)frXJp
z>`KOmgURii9&A6sFY8sc>YMI*?|b+4fcheHJ~(dn>p3&mo1t;q#v2cs(_|&Q&gF?X
zENH#LZ+D~6YUbN>i|(uVul3^dyE5-}|8rJ>48dMD`JTOVOMG<e-mH50<QenU?8ApW
zFKPpww?e+=Lb0l*UCzHB)%@zm*N4n~e{E+mm%@fcrcyN@o=r@7>wk8Bva_XSw7J5=
z$D$Srjtq@bK;v?5n}1i|mo|0Moz3<;1Gawqwe89GeXD<OHnV<`xG<5QiQ`HJ(1U%G
zz3tB*IQis8|J1iD*QKN_w{}Qq1^PT8$7JWbOP9`Htu~xlx4rD`%)7<&HwI1VTBPyk
z)<V~*Uh5jIsgqaMg7b<9wamjtP^lz{9S&s^7S~K?z$TGlTF?AU=>22Oibo;9N`t}E
L)z4*}Q$iB}Yt;g8
new file mode 100644
index 0000000000000000000000000000000000000000..1826531268a137ebc2b102ef577b401acfd9106b
GIT binary patch
literal 1707
zc%17D@N?(olHy`uVBq!ia0y~yU~~Xs4mP03*$GQm0V$SrM_)$<hK>E)e-c@Ne6}QS
zcNd2LAh=-f^2tCE&H|6fVg?4jBOuH;Rhv&5D9B#o>FdgVpG8PiR7SG&nIBL{vcxr_
z#5q4VH#M(>!MP|ku_QG`p**uBL&4qCHz2%`PaJ4Ev!{z=NX4zUcTQ%{DU~_?@w|y=
z?xmxwE8Vo@qP_;Gux}OAN-E6!8padn(pk0X=!?J$`yG~CxF*-~VBx{Z5!D+K9M^1=
ziwZ2_5L@#_V0A)3SK;ePPd`pLye4y5w~Fz;ID_`*=I1~AR50bs8CC9Ex=5po;Sc}X
z0!{`-76Au}3Cc}?5>#?cEE9EHL=`^~9X`{XmU}bkt_dmPy~D`Fq0qp9M4<C=6ETZd
zmYx)MowT|}^tIUko{#L4=4bWIezV`s{<YKmdez@t3LobGEDPVXFzxN;yYCnp&C1_B
zTT;HD?(f&Ro`u~EOs9PclP3igufHTe-TwNGzLeXyetnI<t|D)v+u$&J)=Q5%8Lu$C
z5C1+cOxflP)NQiS@aCrrhu-i1p0FutG6PfYi`NHJijRH^UOsuf-}N`2Hvxs7y`PtI
zHR0<m_v%UY-$K^!{o-V_HwviNXrJlLYti@OY7I|5T=Kr))6=7$ewA-meaz3Ta6#>v
z*U6O&pDgRzT5jjLOMUX!$tU^USADntb?c8I6Nk>uOCjrCYEC$L@5w#ctJ(eU_5XkO
zxxeqp_O9>us*Gmt0=ewNS%*zqH}APyZ?^MuN@exulTU8k{PZoy-RSQc1}5EiLE%QB
zpJ&`Y_%P*a>!-5sttyAF{<it=Wwbenp;7hPo5>2j^O%0_)35w8@730M6My~P)}xXv
zdfWZIU)_6QhXt)y`Rpo^O>P<l?!VvGnUb@m>h0%PCXOvD+?x62ZqJ_b?A7<TGrY~-
z`ko74v-g*e(QY4h6%K`h$X+&in?eoly6!(G7B1PHbpPbmlkL_l0vU$gymlGaJ}&%O
z%&Bm}NKCrs!W!nkCujBojht}nAiK4{YO(g_7v?7~$DTa+@m2BPuZw_wSak70^ThJW
zqL;hnZ<|iOQ?;Nfx4=NN3TPbT)@J@)`l?5dpOvrw|1jlC(9xfH^X-=dV>fE?LH2xk
z&uf1!{jt2}ua=(0rc$%(3>(mK0n35Lz5V^{|B>r!f+qd`rv6;(+PypT{@kptt-qGm
zZet?#O`*YIF3^MTtO}n#zgeSX`K`FJdYAD`*#dSBonWBXdU({$V|IKh{yN7$?cVyh
z>b&oN(skH@r485qqKv?$ld>Q1Q7Mb<h?=X%xMjnl0*dkqeu6s2Fuf2WMxFQbc)iN^
VkEKsdkO$To44$rjF6*2Ung9}97McJ6
new file mode 100644
index 0000000000000000000000000000000000000000..851eeea03982414e3e707cc7d3d0d83d760c118f
GIT binary patch
literal 4187
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
new file mode 100644
index 0000000000000000000000000000000000000000..d325b15a4cf3f12e54adf85c3691de11bebac057
GIT binary patch
literal 4055
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
JPDHLkV1nR!&gTFC
new file mode 100644
index 0000000000000000000000000000000000000000..3898d5a2d9eb14ad80343ecbcd9d8216d2e2f755
GIT binary patch
literal 159
zc%17D@N?(olHy`uVBq!ia0vp^cYv6Yg9%7l%?MWqQk(@Ik;M!Q+`=Ht$S`Y;1W=GA
z-O<;Pfnj4`&F{d;K)yn<N02WALzOB6LqjtI!_WUf`XvKHsR0ASs|1iy3=HD=lj4uM
w0o96nx;TbZ+)7GG_;KEV%k5wS69Xd~!<21|jJ`5wKu%!rboFyt=akR{03t^vmH+?%
new file mode 100644
index 0000000000000000000000000000000000000000..7d9151c848aa9b6d59fc9d61d6c7a47b462c9325
GIT binary patch
literal 160
zc%17D@N?(olHy`uVBq!ia0y~yU~~Yo89A7Mq(b9^1|Y>*;1OBOz`!jG!i)^F=12eq
zS<)SS9T^xl_SO6joD5Q%>=ES4z)+>iz|hdl!0_`wkbcR)P-?)y@G60U!D<ErgLwX=
z_@iz>wPKzwjv*Ddl2Q_WoHyWdJE$Qsi$UQ4!@-Y?jHV*1dVwk!JYD@<);T3K0RU>A
BCtm;n
new file mode 100644
index 0000000000000000000000000000000000000000..07b0239fc528cccdcd57a562256f4083ba9608f5
GIT binary patch
literal 1031
zc%17D@N?(olHy`uVBq!ia0vp^j6i&cg9%95U60WRQk(@Ik;M!Q+`=Ht$S`Y;1W=GA
z-O<;Pfnj4`&F{d;K)yn<N02WALzOB6LqjtI!_WUf`XvKHsR0ASs{{rHs~HRo;`x)}
zkGe51FxPszIEGZ*N=i!j!7t$8!^6YFz{qlF6p!LjOl!=>kjl%n<7C14yTDA#;OXk;
Jvd$@?2>@6W&tL!m
new file mode 100644
index 0000000000000000000000000000000000000000..6049e271506d26b8dbf0d1a6df22bba82794e94a
GIT binary patch
literal 1429
zc%17D@N?(olHy`uVBq!ia0vp^j6meT!31P|Vrg6qq&N#aB8wRqxP?KOkzv*x37{ZL
zx}&cn1H;C?n%{wwfqaEzk04(LhALGChK6PahM)g|^h*YYQUeBtR|yOZRx=nF#PcV`
zA9Z73VCD97aSW-rm6VY1gI~ab$AL${L17e+;!!+`M;1<CxN_C*Lf)ae2f!kf!PC{x
JWt~$(695(xz~le`
new file mode 100644
index 0000000000000000000000000000000000000000..47ceb84d3fbd2b09831616b9b53f565cf18bec07
GIT binary patch
literal 463
zc%17D@N?(olHy`uVBq!ia0vp^=YV)A2NRH-?H3A?U`coMb!1@J*w6hZkrl}2Ebxdd
zW?<ku0>X?_wfUrhg6t)pzOL-|8RZ!a4Sp%b+A=UO#(BCphE&{od-ot`LjaG<!Pt%e
zrzP`pIZc_#<y7%x$saZ0iu;MI9=t0XuS}2%VqU3e3Z$H~6ik<}0VxmOC2dz6vcS?m
zdM|Uy&3Jie<*lp#BX?!Nv}|TVD48Gyq`)SC3<8?~GzcOMq`=bn>{)X;C5JH_zZ#tq
zz4`gexR+<us=i-EjwJ+KS`#nK|LxH#Vzf3}>s8ltc}hL=z5xt;22WQ%mvv4FO#q-B
Bp}+tD
new file mode 100644
index 0000000000000000000000000000000000000000..667b6558892eee3a3f33932de6b154ec2bfb070f
GIT binary patch
literal 162
zc%17D@N?(olHy`uVBq!ia0vp^j3CUx1SBVv2j2ryEa{HEjtmSN`?>!lvI6;>1s;*b
z3=G`DAk4@xYmNj^kiEpy*OmPqj~uH7vt+mF51^1_iEBiObAE1aYF-J0b5UwyNotBh
zd1gt5g1e`0KzJjcI8YIfr;B3<$MxidgdhA2jLeJ-H&@-=3>0VZboFyt=akR{0B61?
ACjbBd
new file mode 100644
index 0000000000000000000000000000000000000000..e0af55533031f2cbd61229e197a72a9b88b484a4
GIT binary patch
literal 940
zc%17D@N?(olHy`uVBq!ia0vp^A|TAc3?z4jzqJQajKx9jP7LeL$-D$|SkfJR9T^xl
z_H+M9WMyDrW(e>Jab;lm&oBx`!AJ$ijkBVF6lZ})WHAE+-(e7DJf6QI1t=(0;u=vB
zoS#-wo>-L15RjOeSEA?V8lq5UtY@lcXkhTAXdzG)zo(01h(>U-1Z%U5fdMejEn#4s
SDDYnaWV)xTpUXO@geCwv#wy$Z
new file mode 100644
index 0000000000000000000000000000000000000000..85dd7324815b8f8ef1a1d0496224c1a0661db9d8
GIT binary patch
literal 1883
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
V<q-+yJ<<RG002ovPDHLkV1mLWjBEe^
new file mode 100644
index 0000000000000000000000000000000000000000..7fc9f14ed6e7b3a349dc860c223961c300ff6bca
GIT binary patch
literal 320
zc%17D@N?(olHy`uVBq!ia0vp^6+oQA!2~1^2_>fjDVB6cUq=Rpjs4tz5?O(K&H|6f
zVg?4jBOuH;Rhv&5D9B#o>FdgVpP8M(fHmrQi$73Evcxr_#5q4VH#M(>!MP|ku_QG`
zp**uBL&4qCHz2%`PaLRdm8XkiNX4zU7Y=eVDDbcxJo2x)PnARNMfx}SA|HQN-;&z+
z@AJ<dydPR6lyPAJtCUFw%K}GklZ*>Yyip4ro5es3sVxp522d8rVAF*tYXmVsDjV5A
fDk;@swUzN>3+wTEhw$A%S2K9J`njxgN@xNA+Q?$R
new file mode 100644
index 0000000000000000000000000000000000000000..2d1355e3bdbad617522e8d2ab36cad6459ef743c
GIT binary patch
literal 334
zc%17D@N?(olHy`uVBq!ia0vp^3xGI<g9%9XU0HJjNU@|l`Z_W&Z0zU$lgJ9>a~60+
z7BevL9RXp+soH$fKtc8rPhVH|`^@Z&O6+Iv|8EBhNtU=qlsM<-=BDPAFgO>bCYGe8
zD3oWGWGJ|M`UZqI@`(c#?eKJQ45_&F_ToWa1_KUe!%Kh5msx*c{`t>C!|(c`s;AdK
zPx|;$doG_r0;3od9bnRdq6XFo7?Rk)zzsoIRWk8lRVmB>Q_9GOMQKC>BR5PnGqTEC
aH`$M+F(1FQ=#w_k4-B5JelF{r5}E)zB48f?
new file mode 100644
index 0000000000000000000000000000000000000000..5145c22c4854e9244f879fe7a892dd78d49105f5
GIT binary patch
literal 327
zc%17D@N?(olHy`uVBq!ia0vp^JwTko!2~34Z}o2jQY`6?zK#qG8~eHcB(eheoCO|{
z#S9F5M?jcysy3fAP>{XE)7O>#J~KO`k=Wa{XH|egk|nMYCC>S|xv6<249-QVi6yBi
z3gww484B*6z5(HleBwYw8$DedLn>~)y?Bt5!GMFsQUCAvoURXv3Y+UECSNjL;eOp(
z)w-I!-v8xK1xFzjk0uq52`ruy6gY)caB(>&;o<^S;@~#n<T|2q|6XCep~rgsZsez9
QK*uw9y85}Sb4q9e05-;20RR91
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/support/embedded-doc-abs-pos-non-replaced-icb-vlr-007.html
@@ -0,0 +1,96 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
+
+<html>
+
+ <head>
+
+  <meta http-equiv="content-type" content="text/html; charset=UTF-8">
+
+  <title>Embedded HTML document for abs-pos-non-replaced-icb-vlr-007 in 'writing-mode: vertical-rl'</title>
+
+  <!--
+  position absolute and 'vertical-lr' - 'left' and 'width' are 'auto', 'right' is not 'auto' with 'direction: ltr' in initial containing block
+  -->
+
+  <style type="text/css">
+  html
+    {
+      direction: ltr;
+    }
+
+  div
+    {
+      border-left: green solid 25px;
+      border-right: green solid 75px;
+      height: 100px;
+      left: auto;
+      position: absolute;
+      right: 80%;
+      top: 0px;
+      width: auto;
+      writing-mode: vertical-lr;
+    }
+
+  /*
+  "
+  1. [If] 'left' and 'width' are 'auto' and 'right' is not 'auto', then the width is shrink-to-fit. Then solve for 'left'
+  "
+  10.3.7 Absolutely positioned, non-replaced elements
+  http://www.w3.org/TR/CSS21/visudet.html#abs-non-replaced-width
+
+  So:
+
+           auto : left
+        +
+            0px : margin-left
+        +
+           25px : border-left-width
+        +
+            0px : padding-left
+        +
+           auto : width
+        +
+            0px : padding-right
+        +
+           75px : border-right-width
+        +
+            0px : margin-right
+        +
+            80% : right
+        ====================
+          500px : width of containing block (width of Initial Containing Block)
+
+  becomes
+
+        (solve) : left
+        +
+            0px : margin-left
+        +
+           25px : border-left-width
+        +
+            0px : padding-left
+        +
+            0px : width (shrink-to-fit)
+        +
+            0px : padding-right
+        +
+           75px : border-right-width
+        +
+            0px : margin-right
+        +
+          400px : right (80% of 500px == 400px)
+        ====================
+          500px : width of containing block (width of Initial Containing Block)
+
+   so used left offset value must be 0 .
+
+  */
+  </style>
+ </head>
+
+ <body>
+
+  <div></div>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/support/embedded-doc-abs-pos-non-replaced-icb-vlr-009.html
@@ -0,0 +1,96 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
+
+<html>
+
+ <head>
+
+  <meta http-equiv="content-type" content="text/html; charset=UTF-8">
+
+  <title>Embedded HTML document for abs-pos-non-replaced-icb-vlr-009 in 'writing-mode: vertical-rl'</title>
+
+  <!--
+  position absolute and 'vertical-lr' - 'left' and 'width' are 'auto', 'right' is not 'auto' with 'direction: rtl' in initial containing block
+  -->
+
+  <style type="text/css">
+  html
+    {
+      direction: rtl;
+    }
+
+  div
+    {
+      border-left: green solid 25px;
+      border-right: green solid 75px;
+      height: 100px;
+      left: auto;
+      position: absolute;
+      right: 20%;
+      top: 0px;
+      width: auto;
+      writing-mode: vertical-lr;
+    }
+
+  /*
+  "
+  1. [If] 'left' and 'width' are 'auto' and 'right' is not 'auto', then the width is shrink-to-fit. Then solve for 'left'
+  "
+  10.3.7 Absolutely positioned, non-replaced elements
+  http://www.w3.org/TR/CSS21/visudet.html#abs-non-replaced-width
+
+  So:
+
+           auto : left
+        +
+            0px : margin-left
+        +
+           25px : border-left-width
+        +
+            0px : padding-left
+        +
+           auto : width
+        +
+            0px : padding-right
+        +
+           75px : border-right-width
+        +
+            0px : margin-right
+        +
+           20% : right
+        ====================
+          500px : width of containing block (width of Initial Containing Block)
+
+  becomes
+
+        (solve) : left
+        +
+            0px : margin-left
+        +
+           25px : border-left-width
+        +
+            0px : padding-left
+        +
+            0px : width (shrink-to-fit)
+        +
+            0px : padding-right
+        +
+           75px : border-right-width
+        +
+            0px : margin-right
+        +
+          400px : right (20% of 500px == 100px)
+        ====================
+          500px : width of containing block (width of Initial Containing Block)
+
+   so used left offset value must be 300px .
+
+  */
+  </style>
+ </head>
+
+ <body>
+
+  <div></div>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/support/embedded-doc-abs-pos-non-replaced-icb-vlr-015.html
@@ -0,0 +1,96 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
+
+<html>
+
+ <head>
+
+  <meta http-equiv="content-type" content="text/html; charset=UTF-8">
+
+  <title>Embedded HTML document for abs-pos-non-replaced-icb-vlr-015 in 'writing-mode: vertical-lr'</title>
+
+  <!--
+  position absolute and 'vertical-rl' - 'width' and 'right' are 'auto' and 'left' is not 'auto' with 'direction: ltr' in initial containing block
+  -->
+
+  <style type="text/css">
+  html
+    {
+      direction: ltr;
+    }
+
+  div
+    {
+      border-left: green solid 25px;
+      border-right: green solid 75px;
+      height: 100px;
+      left: 60%;
+      position: absolute;
+      right: auto;
+      top: 0px;
+      width: auto;
+      writing-mode: vertical-lr;
+    }
+
+  /*
+  "
+  3. [If] 'width' and 'right' are 'auto' and 'left' is not 'auto', then the width is shrink-to-fit. Then solve for 'right'
+  "
+  10.3.7 Absolutely positioned, non-replaced elements
+  http://www.w3.org/TR/CSS21/visudet.html#abs-non-replaced-width
+
+  So:
+
+           60% : left
+        +
+            0px : margin-left
+        +
+           25px : border-left-width
+        +
+            0px : padding-left
+        +
+           auto : width (set to shrink-to-fit)
+        +
+            0px : padding-right
+        +
+           75px : border-right-width
+        +
+            0px : margin-right
+        +
+          solve : right
+        ====================
+          500px : width of containing block (width of Initial Containing Block)
+
+  becomes
+
+          300px : left (60% of 500px == 300px)
+        +
+            0px : margin-left
+        +
+           25px : border-left-width
+        +
+            0px : padding-left
+        +
+            0px : width (shrink-to-fit)
+        +
+            0px : padding-right
+        +
+           75px : border-right-width
+        +
+            0px : margin-right
+        +
+          solve : right
+        ====================
+          500px : width of containing block (width of Initial Containing Block)
+
+   so used right offset value must be 100px.
+
+  */
+  </style>
+ </head>
+
+ <body>
+
+  <div></div>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/support/embedded-doc-abs-pos-non-replaced-icb-vlr-017.html
@@ -0,0 +1,96 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
+
+<html>
+
+ <head>
+
+  <meta http-equiv="content-type" content="text/html; charset=UTF-8">
+
+  <title>Embedded HTML document for abs-pos-non-replaced-icb-vlr-017 in 'writing-mode: vertical-lr'</title>
+
+  <!--
+   position absolute and 'vertical-lr' - 'width' and 'right' are 'auto' and 'left' is not 'auto' with 'direction: rtl' in initial containing block
+  -->
+
+  <style type="text/css">
+  html
+    {
+      direction: rtl;
+    }
+
+  div
+    {
+      border-left: green solid 25px;
+      border-right: green solid 75px;
+      height: 100px;
+      left: 60%;
+      position: absolute;
+      right: auto;
+      top: 0px;
+      width: auto;
+      writing-mode: vertical-lr;
+    }
+
+  /*
+  "
+  3. [If] 'width' and 'right' are 'auto' and 'left' is not 'auto', then the width is shrink-to-fit. Then solve for 'right'
+  "
+  10.3.7 Absolutely positioned, non-replaced elements
+  http://www.w3.org/TR/CSS21/visudet.html#abs-non-replaced-width
+
+  So:
+
+           60% : left
+        +
+            0px : margin-left
+        +
+           25px : border-left-width
+        +
+            0px : padding-left
+        +
+           auto : width (set to shrink-to-fit)
+        +
+            0px : padding-right
+        +
+           75px : border-right-width
+        +
+            0px : margin-right
+        +
+          solve : right
+        ====================
+          500px : width of containing block (width of Initial Containing Block)
+
+  becomes
+
+          300px : left (60% of 500px == 300px)
+        +
+            0px : margin-left
+        +
+           25px : border-left-width
+        +
+            0px : padding-left
+        +
+            0px : width (shrink-to-fit)
+        +
+            0px : padding-right
+        +
+           75px : border-right-width
+        +
+            0px : margin-right
+        +
+          solve : right
+        ====================
+          500px : width of containing block (width of Initial Containing Block)
+
+   so used right offset value must be 100px.
+
+  */
+  </style>
+ </head>
+
+ <body>
+
+  <div></div>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/support/embedded-doc-abs-pos-non-replaced-icb-vlr-019.html
@@ -0,0 +1,97 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
+
+<html>
+
+ <head>
+
+  <meta http-equiv="content-type" content="text/html; charset=UTF-8">
+
+  <title>Embedded HTML document for abs-pos-non-replaced-icb-vlr-019 in 'writing-mode: vertical-lr'</title>
+
+  <!--
+  position absolute and 'vertical-rl' - 'left' is 'auto', 'width' and 'right' are not 'auto' with 'direction: ltr' in initial containing block
+  -->
+
+  <style type="text/css">
+  html
+    {
+      direction: ltr;
+    }
+
+  div
+    {
+      background-color: green;
+      border-left: green solid 35px;
+      border-right: green solid 15px;
+      height: 100px;
+      left: auto;
+      position: absolute;
+      right: 80%;
+      top: 0px;
+      width: 50px;
+      writing-mode: vertical-lr;
+    }
+
+  /*
+  "
+  4. [If] 'left' is 'auto', 'width' and 'right' are not 'auto', then solve for 'left'
+  "
+  10.3.7 Absolutely positioned, non-replaced elements
+  http://www.w3.org/TR/CSS21/visudet.html#abs-non-replaced-width
+
+  So:
+
+           auto : left
+        +
+            0px : margin-left
+        +
+           35px : border-left-width
+        +
+            0px : padding-left
+        +
+           50px : width
+        +
+            0px : padding-right
+        +
+           15px : border-right-width
+        +
+            0px : margin-right
+        +
+            80% : right
+        ====================
+          500px : width of containing block (width of Initial Containing Block)
+
+  becomes
+
+        (solve) : left
+        +
+            0px : margin-left
+        +
+           35px : border-left-width
+        +
+            0px : padding-left
+        +
+           50px : width
+        +
+            0px : padding-right
+        +
+           15px : border-right-width
+        +
+            0px : margin-right
+        +
+          400px : right (80% of 500px == 400px)
+        ====================
+          500px : width of containing block (width of Initial Containing Block)
+
+   so used left offset value must be 0px .
+
+  */
+  </style>
+ </head>
+
+ <body>
+
+  <div></div>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/support/embedded-doc-abs-pos-non-replaced-icb-vlr-021.html
@@ -0,0 +1,97 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
+
+<html>
+
+ <head>
+
+  <meta http-equiv="content-type" content="text/html; charset=UTF-8">
+
+  <title>Embedded HTML document for abs-pos-non-replaced-icb-vlr-021 in 'writing-mode: vertical-rl'</title>
+
+  <!--
+  position absolute and 'vertical-rl' - 'left' is 'auto', 'width' and 'right' are not 'auto' with 'direction: rtl' in initial containing block
+  -->
+
+  <style type="text/css">
+  html
+    {
+      direction: rtl;
+    }
+
+  div
+    {
+      background-color: green;
+      border-left: green solid 35px;
+      border-right: green solid 15px;
+      height: 100px;
+      left: auto;
+      position: absolute;
+      right: 80%;
+      top: 0px;
+      width: 50px;
+      writing-mode: vertical-lr;
+    }
+
+  /*
+  "
+  4. [If] 'left' is 'auto', 'width' and 'right' are not 'auto', then solve for 'left'
+  "
+  10.3.7 Absolutely positioned, non-replaced elements
+  http://www.w3.org/TR/CSS21/visudet.html#abs-non-replaced-width
+
+  So:
+
+           auto : left
+        +
+            0px : margin-left
+        +
+           35px : border-left-width
+        +
+            0px : padding-left
+        +
+           50px : width
+        +
+            0px : padding-right
+        +
+           15px : border-right-width
+        +
+            0px : margin-right
+        +
+            80% : right
+        ====================
+          500px : width of containing block (width of Initial Containing Block)
+
+  becomes
+
+        (solve) : left
+        +
+            0px : margin-left
+        +
+           35px : border-left-width
+        +
+            0px : padding-left
+        +
+           50px : width
+        +
+            0px : padding-right
+        +
+           15px : border-right-width
+        +
+            0px : margin-right
+        +
+          400px : right (80% of 500px == 400px)
+        ====================
+          500px : width of containing block (width of Initial Containing Block)
+
+   so used left offset value must be 0px .
+
+  */
+  </style>
+ </head>
+
+ <body>
+
+  <div></div>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/support/embedded-doc-abs-pos-non-replaced-icb-vlr-023.html
@@ -0,0 +1,97 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
+
+<html>
+
+ <head>
+
+  <meta http-equiv="content-type" content="text/html; charset=UTF-8">
+
+  <title>Embedded HTML document for abs-pos-non-replaced-icb-vrl-023 in 'writing-mode: vertical-lr'</title>
+
+  <!--
+  position absolute and 'vertical-lr' - 'width' is 'auto', 'left' and 'right' are not 'auto' with 'direction: ltr' in initial containing block
+  -->
+
+  <style type="text/css">
+  html
+    {
+      direction: ltr;
+    }
+
+  div
+    {
+      background-color: green;
+      border-left: green none 0px;
+      border-right: green none 0px;
+      height: 100px;
+      left: 60%;
+      position: absolute;
+      right: 20%;
+      top: 0px;
+      width: auto;
+      writing-mode: vertical-lr;
+    }
+
+  /*
+  "
+  5. [If] 'width' is 'auto', 'left' and 'right' are not 'auto', then solve for 'width'
+  "
+  10.3.7 Absolutely positioned, non-replaced elements
+  http://www.w3.org/TR/CSS21/visudet.html#abs-non-replaced-width
+
+  So:
+
+            60% : left
+        +
+            0px : margin-left
+        +
+            0px : border-left-width
+        +
+            0px : padding-left
+        +
+           auto : width
+        +
+            0px : padding-right
+        +
+            0px : border-right-width
+        +
+            0px : margin-right
+        +
+            20% : right
+        ====================
+          500px : width of containing block (width of Initial Containing Block)
+
+  becomes
+
+          300px : left (60% of 500px)
+        +
+            0px : margin-left
+        +
+            0px : border-left-width
+        +
+            0px : padding-left
+        +
+          solve : width
+        +
+            0px : padding-right
+        +
+            0px : border-right-width
+        +
+            0px : margin-right
+        +
+          100px : right (20% of 500px == 100px)
+        ====================
+          500px : width of containing block (width of Initial Containing Block)
+
+   so used width value must be 100px .
+
+  */
+  </style>
+ </head>
+
+ <body>
+
+  <div></div>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/support/embedded-doc-abs-pos-non-replaced-icb-vlr-025.html
@@ -0,0 +1,97 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
+
+<html>
+
+ <head>
+
+  <meta http-equiv="content-type" content="text/html; charset=UTF-8">
+
+  <title>Embedded HTML document for abs-pos-non-replaced-icb-vlr-025 in 'writing-mode: vertical-lr'</title>
+
+  <!--
+  position absolute and 'vertical-lr' - 'width' is 'auto', 'left' and 'right' are not 'auto' with 'direction: rtl' in initial containing block
+  -->
+
+  <style type="text/css">
+  html
+    {
+      direction: rtl;
+    }
+
+  div
+    {
+      background-color: green;
+      border-left: green none 0px;
+      border-right: green none 0px;
+      height: 100px;
+      left: 60%;
+      position: absolute;
+      right: 20%;
+      top: 0px;
+      width: auto;
+      writing-mode: vertical-lr;
+    }
+
+  /*
+  "
+  5. [If] 'width' is 'auto', 'left' and 'right' are not 'auto', then solve for 'width'
+  "
+  10.3.7 Absolutely positioned, non-replaced elements
+  http://www.w3.org/TR/CSS21/visudet.html#abs-non-replaced-width
+
+  So:
+
+            60% : left
+        +
+            0px : margin-left
+        +
+            0px : border-left-width
+        +
+            0px : padding-left
+        +
+           auto : width
+        +
+            0px : padding-right
+        +
+            0px : border-right-width
+        +
+            0px : margin-right
+        +
+            20% : right
+        ====================
+          500px : width of containing block (width of Initial Containing Block)
+
+  becomes
+
+          300px : left (60% of 500px)
+        +
+            0px : margin-left
+        +
+            0px : border-left-width
+        +
+            0px : padding-left
+        +
+          solve : width
+        +
+            0px : padding-right
+        +
+            0px : border-right-width
+        +
+            0px : margin-right
+        +
+          100px : right (20% of 500px == 100px)
+        ====================
+          500px : width of containing block (width of Initial Containing Block)
+
+   so used width value must be 100px .
+
+  */
+  </style>
+ </head>
+
+ <body>
+
+  <div></div>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/support/embedded-doc-abs-pos-non-replaced-icb-vlr-027.html
@@ -0,0 +1,97 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
+
+<html>
+
+ <head>
+
+  <meta http-equiv="content-type" content="text/html; charset=UTF-8">
+
+  <title>Embedded HTML document for abs-pos-non-replaced-icb-vlr-027 in 'writing-mode: vertical-lr'</title>
+
+  <!--
+  position absolute and 'vertical-lr' - 'right' is 'auto', 'left' and 'width' are not 'auto' with 'direction: ltr' in initial containing block
+  -->
+
+  <style type="text/css">
+  html
+    {
+      direction: ltr;
+    }
+
+  div
+    {
+      background-color: green;
+      border-left: green none 0px;
+      border-right: green none 0px;
+      height: 100px;
+      left: 60%;
+      position: absolute;
+      right: auto;
+      top: 0px;
+      width: 20%;
+      writing-mode: vertical-lr;
+    }
+
+  /*
+  "
+  6. [If] 'right' is 'auto', 'left' and 'width' are not 'auto', then solve for 'right'
+  "
+  10.3.7 Absolutely positioned, non-replaced elements
+  http://www.w3.org/TR/CSS21/visudet.html#abs-non-replaced-width
+
+  So:
+
+            60% : left
+        +
+            0px : margin-left
+        +
+            0px : border-left-width
+        +
+            0px : padding-left
+        +
+            20% : width
+        +
+            0px : padding-right
+        +
+            0px : border-right-width
+        +
+            0px : margin-right
+        +
+           auto : right
+        ====================
+          500px : width of containing block (width of Initial Containing Block)
+
+  becomes
+
+          300px : left (60% of 500px)
+        +
+            0px : margin-left
+        +
+            0px : border-left-width
+        +
+            0px : padding-left
+        +
+          100px : width (20% of 500px == 100px)
+        +
+            0px : padding-right
+        +
+            0px : border-right-width
+        +
+            0px : margin-right
+        +
+          solve : right
+        ====================
+          500px : width of containing block (width of Initial Containing Block)
+
+   so used right offset value must be 100px .
+
+  */
+  </style>
+ </head>
+
+ <body>
+
+  <div></div>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/support/embedded-doc-abs-pos-non-replaced-icb-vlr-029.html
@@ -0,0 +1,97 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
+
+<html>
+
+ <head>
+
+  <meta http-equiv="content-type" content="text/html; charset=UTF-8">
+
+  <title>Embedded HTML document for abs-pos-non-replaced-icb-vlr-029 in 'writing-mode: vertical-lr'</title>
+
+  <!--
+  position absolute and 'vertical-lr' - 'right' is 'auto', 'left' and 'width' are not 'auto' with 'direction: rtl' in initial containing block
+  -->
+
+  <style type="text/css">
+  html
+    {
+      direction: rtl;
+    }
+
+  div
+    {
+      background-color: green;
+      border-left: green none 0px;
+      border-right: green none 0px;
+      height: 100px;
+      left: 60%;
+      position: absolute;
+      right: auto;
+      top: 0px;
+      width: 20%;
+      writing-mode: vertical-lr;
+    }
+
+  /*
+  "
+  6. [If] 'right' is 'auto', 'left' and 'width' are not 'auto', then solve for 'right'
+  "
+  10.3.7 Absolutely positioned, non-replaced elements
+  http://www.w3.org/TR/CSS21/visudet.html#abs-non-replaced-width
+
+  So:
+
+            60% : left
+        +
+            0px : margin-left
+        +
+            0px : border-left-width
+        +
+            0px : padding-left
+        +
+            20% : width
+        +
+            0px : padding-right
+        +
+            0px : border-right-width
+        +
+            0px : margin-right
+        +
+           auto : right
+        ====================
+          500px : width of containing block (width of Initial Containing Block)
+
+  becomes
+
+          300px : left (60% of 500px)
+        +
+            0px : margin-left
+        +
+            0px : border-left-width
+        +
+            0px : padding-left
+        +
+          100px : width (20% of 500px == 100px)
+        +
+            0px : padding-right
+        +
+            0px : border-right-width
+        +
+            0px : margin-right
+        +
+          solve : right
+        ====================
+          500px : width of containing block (width of Initial Containing Block)
+
+   so used right offset value must be 100px .
+
+  */
+  </style>
+ </head>
+
+ <body>
+
+  <div></div>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/support/embedded-doc-abs-pos-non-replaced-icb-vlr-031.html
@@ -0,0 +1,99 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
+
+<html>
+
+ <head>
+
+  <meta http-equiv="content-type" content="text/html; charset=UTF-8">
+
+  <title>Embedded HTML document for abs-pos-non-replaced-icb-vlr-031 in 'writing-mode: vertical-lr'</title>
+
+  <!--
+  position absolute and 'vertical-lr' - overconstrained values with 'direction: ltr' in initial containing block
+  -->
+
+  <style type="text/css">
+  html
+    {
+      direction: ltr;
+    }
+
+  div
+    {
+      background-color: green;
+      border-left: green none 0px;
+      border-right: green none 0px;
+      height: 100px;
+      left: 60%;
+      margin-left: 0px;
+      margin-right: 0px;
+      position: absolute;
+      right: 40%;
+      top: 0px;
+      width: 20%;
+      writing-mode: vertical-lr;
+    }
+
+  /*
+  "
+  If the values are over-constrained, ignore the value for 'left' (in case the 'direction' property of the containing block is 'rtl') or 'right' (in case 'direction' is 'ltr') and solve for that value.
+  "
+  10.3.7 Absolutely positioned, non-replaced elements
+  http://www.w3.org/TR/CSS21/visudet.html#abs-non-replaced-width
+
+  So:
+
+            60% : left
+        +
+            0px : margin-left
+        +
+            0px : border-left-width
+        +
+            0px : padding-left
+        +
+            20% : width
+        +
+            0px : padding-right
+        +
+            0px : border-right-width
+        +
+            0px : margin-right
+        +
+           40% : right
+        ====================
+          500px : width of containing block (width of Initial Containing Block)
+
+  becomes
+
+          300px : left (60% of 500px)
+        +
+            0px : margin-left
+        +
+            0px : border-left-width
+        +
+            0px : padding-left
+        +
+          100px : width (20% of 500px == 100px)
+        +
+            0px : padding-right
+        +
+            0px : border-right-width
+        +
+            0px : margin-right
+        +
+ignore and solve : right
+        ====================
+          500px : width of containing block (width of Initial Containing Block)
+
+   so used right offset value must be 100px .
+
+  */
+  </style>
+ </head>
+
+ <body>
+
+  <div></div>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/support/embedded-doc-abs-pos-non-replaced-icb-vlr-033.html
@@ -0,0 +1,99 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
+
+<html>
+
+ <head>
+
+  <meta http-equiv="content-type" content="text/html; charset=UTF-8">
+
+  <title>Embedded HTML document for abs-pos-non-replaced-icb-vlr-033 in 'writing-mode: vertical-lr'</title>
+
+  <!--
+  position absolute and 'vertical-lr' - overconstrained values with 'direction: rtl' in initial containing block
+  -->
+
+  <style type="text/css">
+  html
+    {
+      direction: rtl;
+    }
+
+  div
+    {
+      background-color: green;
+      border-left: green none 0px;
+      border-right: green none 0px;
+      height: 100px;
+      left: 20%;
+      margin-left: 0px;
+      margin-right: 0px;
+      position: absolute;
+      right: 20%;
+      top: 0px;
+      width: 20%;
+      writing-mode: vertical-lr;
+    }
+
+  /*
+  "
+  If the values are over-constrained, ignore the value for 'left' (in case the 'direction' property of the containing block is 'rtl') or 'right' (in case 'direction' is 'ltr') and solve for that value.
+  "
+  10.3.7 Absolutely positioned, non-replaced elements
+  http://www.w3.org/TR/CSS21/visudet.html#abs-non-replaced-width
+
+  So:
+
+            20% : left
+        +
+            0px : margin-left
+        +
+            0px : border-left-width
+        +
+            0px : padding-left
+        +
+            20% : width
+        +
+            0px : padding-right
+        +
+            0px : border-right-width
+        +
+            0px : margin-right
+        +
+           20% : right
+        ====================
+          500px : width of containing block (width of Initial Containing Block)
+
+  becomes
+
+ignore and solve : left
+        +
+            0px : margin-left
+        +
+            0px : border-left-width
+        +
+            0px : padding-left
+        +
+          100px : width (20% of 500px == 100px)
+        +
+            0px : padding-right
+        +
+            0px : border-right-width
+        +
+            0px : margin-right
+        +
+          100px : right
+        ====================
+          500px : width of containing block (width of Initial Containing Block)
+
+   so used left offset value must be 300px .
+
+  */
+  </style>
+ </head>
+
+ <body>
+
+  <div></div>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/support/embedded-doc-abs-pos-non-replaced-icb-vrl-006.html
@@ -0,0 +1,96 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
+
+<html>
+
+ <head>
+
+  <meta http-equiv="content-type" content="text/html; charset=UTF-8">
+
+  <title>Embedded HTML document for abs-pos-non-replaced-icb-vrl-006 in 'writing-mode: vertical-rl'</title>
+
+  <!--
+  position absolute and 'vertical-rl' - 'left' and 'width' are 'auto', 'right' is not 'auto' with 'direction: ltr' in initial containing block
+  -->
+
+  <style type="text/css">
+  html
+    {
+      direction: ltr;
+    }
+
+  div
+    {
+      border-left: green solid 25px;
+      border-right: green solid 75px;
+      height: 100px;
+      left: auto;
+      position: absolute;
+      right: 80%;
+      top: 0px;
+      width: auto;
+      writing-mode: vertical-rl;
+    }
+
+  /*
+  "
+  1. [If] 'left' and 'width' are 'auto' and 'right' is not 'auto', then the width is shrink-to-fit. Then solve for 'left'
+  "
+  10.3.7 Absolutely positioned, non-replaced elements
+  http://www.w3.org/TR/CSS21/visudet.html#abs-non-replaced-width
+
+  So:
+
+           auto : left
+        +
+            0px : margin-left
+        +
+           25px : border-left-width
+        +
+            0px : padding-left
+        +
+           auto : width
+        +
+            0px : padding-right
+        +
+           75px : border-right-width
+        +
+            0px : margin-right
+        +
+            80% : right
+        ====================
+          500px : width of containing block (width of Initial Containing Block)
+
+  becomes
+
+        (solve) : left
+        +
+            0px : margin-left
+        +
+           25px : border-left-width
+        +
+            0px : padding-left
+        +
+            0px : width (shrink-to-fit)
+        +
+            0px : padding-right
+        +
+           75px : border-right-width
+        +
+            0px : margin-right
+        +
+          400px : right (80% of 500px == 400px)
+        ====================
+          500px : width of containing block (width of Initial Containing Block)
+
+   so used left offset value must be 0px .
+
+  */
+  </style>
+ </head>
+
+ <body>
+
+  <div></div>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/support/embedded-doc-abs-pos-non-replaced-icb-vrl-008.html
@@ -0,0 +1,96 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
+
+<html>
+
+ <head>
+
+  <meta http-equiv="content-type" content="text/html; charset=UTF-8">
+
+  <title>Embedded HTML document for abs-pos-non-replaced-icb-vrl-008 in 'writing-mode: vertical-rl'</title>
+
+  <!--
+  position absolute and 'vertical-rl' - 'left' and 'width' are 'auto', 'right' is not 'auto' with 'direction: rtl' in initial containing block
+  -->
+
+  <style type="text/css">
+  html
+    {
+      direction: rtl;
+    }
+
+  div
+    {
+      border-left: green solid 25px;
+      border-right: green solid 75px;
+      height: 100px;
+      left: auto;
+      position: absolute;
+      right: 20%;
+      top: 0px;
+      width: auto;
+      writing-mode: vertical-rl;
+    }
+
+  /*
+  "
+  1. [If] 'left' and 'width' are 'auto' and 'right' is not 'auto', then the width is shrink-to-fit. Then solve for 'left'
+  "
+  10.3.7 Absolutely positioned, non-replaced elements
+  http://www.w3.org/TR/CSS21/visudet.html#abs-non-replaced-width
+
+  So:
+
+           auto : left
+        +
+            0px : margin-left
+        +
+           25px : border-left-width
+        +
+            0px : padding-left
+        +
+           auto : width
+        +
+            0px : padding-right
+        +
+           75px : border-right-width
+        +
+            0px : margin-right
+        +
+            20% : right
+        ====================
+          500px : width of containing block (width of Initial Containing Block)
+
+  becomes
+
+        (solve) : left
+        +
+            0px : margin-left
+        +
+           25px : border-left-width
+        +
+            0px : padding-left
+        +
+            0px : width (shrink-to-fit)
+        +
+            0px : padding-right
+        +
+           75px : border-right-width
+        +
+            0px : margin-right
+        +
+          100px : right (20% of 500px == 100px)
+        ====================
+          500px : width of containing block (width of Initial Containing Block)
+
+   so used left offset value must be 300px .
+
+  */
+  </style>
+ </head>
+
+ <body>
+
+  <div></div>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/support/embedded-doc-abs-pos-non-replaced-icb-vrl-014.html
@@ -0,0 +1,96 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
+
+<html>
+
+ <head>
+
+  <meta http-equiv="content-type" content="text/html; charset=UTF-8">
+
+  <title>Embedded HTML document for abs-pos-non-replaced-icb-vrl-014 in 'writing-mode: vertical-rl'</title>
+
+  <!--
+  position absolute and 'vertical-rl' - 'width' and 'right' are 'auto' and 'left' is not 'auto' with 'direction: ltr' in initial containing block
+  -->
+
+  <style type="text/css">
+  html
+    {
+      direction: ltr;
+    }
+
+  div
+    {
+      border-left: green solid 25px;
+      border-right: green solid 75px;
+      height: 100px;
+      left: 60%;
+      position: absolute;
+      right: auto;
+      top: 0px;
+      width: auto;
+      writing-mode: vertical-rl;
+    }
+
+  /*
+  "
+  3. [If] 'width' and 'right' are 'auto' and 'left' is not 'auto', then the width is shrink-to-fit. Then solve for 'right'
+  "
+  10.3.7 Absolutely positioned, non-replaced elements
+  http://www.w3.org/TR/CSS21/visudet.html#abs-non-replaced-width
+
+  So:
+
+           60% : left
+        +
+            0px : margin-left
+        +
+           25px : border-left-width
+        +
+            0px : padding-left
+        +
+           auto : width (set to shrink-to-fit)
+        +
+            0px : padding-right
+        +
+           75px : border-right-width
+        +
+            0px : margin-right
+        +
+          solve : right
+        ====================
+          500px : width of containing block (width of Initial Containing Block)
+
+  becomes
+
+          300px : left (60% of 500px == 300px)
+        +
+            0px : margin-left
+        +
+           25px : border-left-width
+        +
+            0px : padding-left
+        +
+            0px : width (shrink-to-fit)
+        +
+            0px : padding-right
+        +
+           75px : border-right-width
+        +
+            0px : margin-right
+        +
+          solve : right
+        ====================
+          500px : width of containing block (width of Initial Containing Block)
+
+   so used right offset value must be 100px.
+
+  */
+  </style>
+ </head>
+
+ <body>
+
+  <div></div>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/support/embedded-doc-abs-pos-non-replaced-icb-vrl-016.html
@@ -0,0 +1,96 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
+
+<html>
+
+ <head>
+
+  <meta http-equiv="content-type" content="text/html; charset=UTF-8">
+
+  <title>Embedded HTML document for abs-pos-non-replaced-icb-vrl-016 in 'writing-mode: vertical-rl'</title>
+
+  <!--
+  position absolute and 'vertical-rl' - 'width' and 'right' are 'auto' and 'left' is not 'auto' with 'direction: rtl' in initial containing block
+  -->
+
+  <style type="text/css">
+  html
+    {
+      direction: rtl;
+    }
+
+  div
+    {
+      border-left: green solid 25px;
+      border-right: green solid 75px;
+      height: 100px;
+      left: 60%;
+      position: absolute;
+      right: auto;
+      top: 0px;
+      width: auto;
+      writing-mode: vertical-rl;
+    }
+
+  /*
+  "
+  3. [If] 'width' and 'right' are 'auto' and 'left' is not 'auto', then the width is shrink-to-fit. Then solve for 'right'
+  "
+  10.3.7 Absolutely positioned, non-replaced elements
+  http://www.w3.org/TR/CSS21/visudet.html#abs-non-replaced-width
+
+  So:
+
+            60% : left
+        +
+            0px : margin-left
+        +
+           25px : border-left-width
+        +
+            0px : padding-left
+        +
+           auto : width (set to shrink-to-fit)
+        +
+            0px : padding-right
+        +
+           75px : border-right-width
+        +
+            0px : margin-right
+        +
+          solve : right
+        ====================
+          500px : width of containing block (width of Initial Containing Block)
+
+  becomes
+
+          300px : left (60% of 500px == 300px)
+        +
+            0px : margin-left
+        +
+           25px : border-left-width
+        +
+            0px : padding-left
+        +
+            0px : width (shrink-to-fit)
+        +
+            0px : padding-right
+        +
+           75px : border-right-width
+        +
+            0px : margin-right
+        +
+          solve : right
+        ====================
+          500px : width of containing block (width of Initial Containing Block)
+
+   so used right offset value must be 100px.
+
+  */
+  </style>
+ </head>
+
+ <body>
+
+  <div></div>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/support/embedded-doc-abs-pos-non-replaced-icb-vrl-018.html
@@ -0,0 +1,97 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
+
+<html>
+
+ <head>
+
+  <meta http-equiv="content-type" content="text/html; charset=UTF-8">
+
+  <title>Embedded HTML document for abs-pos-non-replaced-icb-vrl-018 in 'writing-mode: vertical-rl'</title>
+
+  <!--
+  position absolute and 'vertical-rl' - 'left' is 'auto', 'width' and 'right' are not 'auto' with 'direction: ltr' in initial containing block
+  -->
+
+  <style type="text/css">
+  html
+    {
+      direction: ltr;
+    }
+
+  div
+    {
+      background-color: green;
+      border-left: green solid 35px;
+      border-right: green solid 15px;
+      height: 100px;
+      left: auto;
+      position: absolute;
+      right: 80%;
+      top: 0px;
+      width: 50px;
+      writing-mode: vertical-rl;
+    }
+
+  /*
+  "
+  4. [If] 'left' is 'auto', 'width' and 'right' are not 'auto', then solve for 'left'
+  "
+  10.3.7 Absolutely positioned, non-replaced elements
+  http://www.w3.org/TR/CSS21/visudet.html#abs-non-replaced-width
+
+  So:
+
+           auto : left
+        +
+            0px : margin-left
+        +
+           35px : border-left-width
+        +
+            0px : padding-left
+        +
+           50px : width
+        +
+            0px : padding-right
+        +
+           15px : border-right-width
+        +
+            0px : margin-right
+        +
+            80% : right
+        ====================
+          500px : width of containing block (width of Initial Containing Block)
+
+  becomes
+
+        (solve) : left
+        +
+            0px : margin-left
+        +
+           35px : border-left-width
+        +
+            0px : padding-left
+        +
+           50px : width
+        +
+            0px : padding-right
+        +
+           15px : border-right-width
+        +
+            0px : margin-right
+        +
+          400px : right (80% of 500px == 400px)
+        ====================
+          500px : width of containing block (width of Initial Containing Block)
+
+   so used left offset value must be 0px .
+
+  */
+  </style>
+ </head>
+
+ <body>
+
+  <div></div>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/support/embedded-doc-abs-pos-non-replaced-icb-vrl-020.html
@@ -0,0 +1,97 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
+
+<html>
+
+ <head>
+
+  <meta http-equiv="content-type" content="text/html; charset=UTF-8">
+
+  <title>Embedded HTML document for abs-pos-non-replaced-icb-vrl-020 in 'writing-mode: vertical-rl'</title>
+
+  <!--
+  position absolute and 'vertical-rl' - 'left' is 'auto', 'width' and 'right' are not 'auto' with 'direction: rtl' in initial containing block
+  -->
+
+  <style type="text/css">
+  html
+    {
+      direction: rtl;
+    }
+
+  div
+    {
+      background-color: green;
+      border-left: green solid 35px;
+      border-right: green solid 15px;
+      height: 100px;
+      left: auto;
+      position: absolute;
+      right: 80%;
+      top: 0px;
+      width: 50px;
+      writing-mode: vertical-rl;
+    }
+
+  /*
+  "
+  4. [If] 'left' is 'auto', 'width' and 'right' are not 'auto', then solve for 'left'
+  "
+  10.3.7 Absolutely positioned, non-replaced elements
+  http://www.w3.org/TR/CSS21/visudet.html#abs-non-replaced-width
+
+  So:
+
+           auto : left
+        +
+            0px : margin-left
+        +
+           35px : border-left-width
+        +
+            0px : padding-left
+        +
+           50px : width
+        +
+            0px : padding-right
+        +
+           15px : border-right-width
+        +
+            0px : margin-right
+        +
+            80% : right
+        ====================
+          500px : width of containing block (width of Initial Containing Block)
+
+  becomes
+
+        (solve) : left
+        +
+            0px : margin-left
+        +
+           35px : border-left-width
+        +
+            0px : padding-left
+        +
+           50px : width
+        +
+            0px : padding-right
+        +
+           15px : border-right-width
+        +
+            0px : margin-right
+        +
+          400px : right (80% of 500px == 400px)
+        ====================
+          500px : width of containing block (width of Initial Containing Block)
+
+   so used left offset value must be 0px .
+
+  */
+  </style>
+ </head>
+
+ <body>
+
+  <div></div>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/support/embedded-doc-abs-pos-non-replaced-icb-vrl-022.html
@@ -0,0 +1,97 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
+
+<html>
+
+ <head>
+
+  <meta http-equiv="content-type" content="text/html; charset=UTF-8">
+
+  <title>Embedded HTML document for abs-pos-non-replaced-icb-vrl-022 in 'writing-mode: vertical-rl'</title>
+
+  <!--
+  position absolute and 'vertical-rl' - 'width' is 'auto', 'left' and 'right' are not 'auto' with 'direction: ltr' in initial containing block
+  -->
+
+  <style type="text/css">
+  html
+    {
+      direction: ltr;
+    }
+
+  div
+    {
+      background-color: green;
+      border-left: green none 0px;
+      border-right: green none 0px;
+      height: 100px;
+      left: 60%;
+      position: absolute;
+      right: 20%;
+      top: 0px;
+      width: auto;
+      writing-mode: vertical-rl;
+    }
+
+  /*
+  "
+  5. [If] 'width' is 'auto', 'left' and 'right' are not 'auto', then solve for 'width'
+  "
+  10.3.7 Absolutely positioned, non-replaced elements
+  http://www.w3.org/TR/CSS21/visudet.html#abs-non-replaced-width
+
+  So:
+
+            60% : left
+        +
+            0px : margin-left
+        +
+            0px : border-left-width
+        +
+            0px : padding-left
+        +
+           auto : width
+        +
+            0px : padding-right
+        +
+            0px : border-right-width
+        +
+            0px : margin-right
+        +
+            20% : right
+        ====================
+          500px : width of containing block (width of Initial Containing Block)
+
+  becomes
+
+          300px : left (60% of 500px)
+        +
+            0px : margin-left
+        +
+            0px : border-left-width
+        +
+            0px : padding-left
+        +
+          solve : width
+        +
+            0px : padding-right
+        +
+            0px : border-right-width
+        +
+            0px : margin-right
+        +
+          100px : right (20% of 500px == 100px)
+        ====================
+          500px : width of containing block (width of Initial Containing Block)
+
+   so used width value must be 100px .
+
+  */
+  </style>
+ </head>
+
+ <body>
+
+  <div></div>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/support/embedded-doc-abs-pos-non-replaced-icb-vrl-024.html
@@ -0,0 +1,97 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
+
+<html>
+
+ <head>
+
+  <meta http-equiv="content-type" content="text/html; charset=UTF-8">
+
+  <title>Embedded HTML document for abs-pos-non-replaced-icb-vrl-024 in 'writing-mode: vertical-rl'</title>
+
+  <!--
+  position absolute and 'vertical-rl' - 'width' is 'auto', 'left' and 'right' are not 'auto' with 'direction: rtl' in initial containing block
+  -->
+
+  <style type="text/css">
+  html
+    {
+      direction: rtl;
+    }
+
+  div
+    {
+      background-color: green;
+      border-left: green none 0px;
+      border-right: green none 0px;
+      height: 100px;
+      left: 60%;
+      position: absolute;
+      right: 20%;
+      top: 0px;
+      width: auto;
+      writing-mode: vertical-rl;
+    }
+
+  /*
+  "
+  5. [If] 'width' is 'auto', 'left' and 'right' are not 'auto', then solve for 'width'
+  "
+  10.3.7 Absolutely positioned, non-replaced elements
+  http://www.w3.org/TR/CSS21/visudet.html#abs-non-replaced-width
+
+  So:
+
+            60% : left
+        +
+            0px : margin-left
+        +
+            0px : border-left-width
+        +
+            0px : padding-left
+        +
+           auto : width
+        +
+            0px : padding-right
+        +
+            0px : border-right-width
+        +
+            0px : margin-right
+        +
+            20% : right
+        ====================
+          500px : width of containing block (width of Initial Containing Block)
+
+  becomes
+
+          300px : left (60% of 500px)
+        +
+            0px : margin-left
+        +
+            0px : border-left-width
+        +
+            0px : padding-left
+        +
+          solve : width
+        +
+            0px : padding-right
+        +
+            0px : border-right-width
+        +
+            0px : margin-right
+        +
+          100px : right (20% of 500px == 100px)
+        ====================
+          500px : width of containing block (width of Initial Containing Block)
+
+   so used width value must be 100px .
+
+  */
+  </style>
+ </head>
+
+ <body>
+
+  <div></div>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/support/embedded-doc-abs-pos-non-replaced-icb-vrl-026.html
@@ -0,0 +1,97 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
+
+<html>
+
+ <head>
+
+  <meta http-equiv="content-type" content="text/html; charset=UTF-8">
+
+  <title>Embedded HTML document for abs-pos-non-replaced-icb-vrl-026 in 'writing-mode: vertical-rl'</title>
+
+  <!--
+  position absolute and 'vertical-rl' - 'right' is 'auto', 'left' and 'width' are not 'auto' with 'direction: ltr' in initial containing block
+  -->
+
+  <style type="text/css">
+  html
+    {
+      direction: ltr;
+    }
+
+  div
+    {
+      background-color: green;
+      border-left: green none 0px;
+      border-right: green none 0px;
+      height: 100px;
+      left: 60%;
+      position: absolute;
+      right: auto;
+      top: 0px;
+      width: 20%;
+      writing-mode: vertical-rl;
+    }
+
+  /*
+  "
+  6. [If] 'right' is 'auto', 'left' and 'width' are not 'auto', then solve for 'right'
+  "
+  10.3.7 Absolutely positioned, non-replaced elements
+  http://www.w3.org/TR/CSS21/visudet.html#abs-non-replaced-width
+
+  So:
+
+            60% : left
+        +
+            0px : margin-left
+        +
+            0px : border-left-width
+        +
+            0px : padding-left
+        +
+            20% : width
+        +
+            0px : padding-right
+        +
+            0px : border-right-width
+        +
+            0px : margin-right
+        +
+           auto : right
+        ====================
+          500px : width of containing block (width of Initial Containing Block)
+
+  becomes
+
+          300px : left (60% of 500px)
+        +
+            0px : margin-left
+        +
+            0px : border-left-width
+        +
+            0px : padding-left
+        +
+          100px : width (20% of 500px == 100px)
+        +
+            0px : padding-right
+        +
+            0px : border-right-width
+        +
+            0px : margin-right
+        +
+          solve : right
+        ====================
+          500px : width of containing block (width of Initial Containing Block)
+
+   so used right offset value must be 100px .
+
+  */
+  </style>
+ </head>
+
+ <body>
+
+  <div></div>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/support/embedded-doc-abs-pos-non-replaced-icb-vrl-028.html
@@ -0,0 +1,97 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
+
+<html>
+
+ <head>
+
+  <meta http-equiv="content-type" content="text/html; charset=UTF-8">
+
+  <title>Embedded HTML document for abs-pos-non-replaced-icb-vrl-028 in 'writing-mode: vertical-rl'</title>
+
+  <!--
+  position absolute and 'vertical-rl' - 'right' is 'auto', 'left' and 'width' are not 'auto' with 'direction: rtl' in initial containing block
+  -->
+
+  <style type="text/css">
+  html
+    {
+      direction: rtl;
+    }
+
+  div
+    {
+      background-color: green;
+      border-left: green none 0px;
+      border-right: green none 0px;
+      height: 100px;
+      left: 60%;
+      position: absolute;
+      right: auto;
+      top: 0px;
+      width: 20%;
+      writing-mode: vertical-rl;
+    }
+
+  /*
+  "
+  6. [If] 'right' is 'auto', 'left' and 'width' are not 'auto', then solve for 'right'
+  "
+  10.3.7 Absolutely positioned, non-replaced elements
+  http://www.w3.org/TR/CSS21/visudet.html#abs-non-replaced-width
+
+  So:
+
+            60% : left
+        +
+            0px : margin-left
+        +
+            0px : border-left-width
+        +
+            0px : padding-left
+        +
+            20% : width
+        +
+            0px : padding-right
+        +
+            0px : border-right-width
+        +
+            0px : margin-right
+        +
+           auto : right
+        ====================
+          500px : width of containing block (width of Initial Containing Block)
+
+  becomes
+
+          300px : left (60% of 500px)
+        +
+            0px : margin-left
+        +
+            0px : border-left-width
+        +
+            0px : padding-left
+        +
+          100px : width (20% of 500px == 100px)
+        +
+            0px : padding-right
+        +
+            0px : border-right-width
+        +
+            0px : margin-right
+        +
+          solve : right
+        ====================
+          500px : width of containing block (width of Initial Containing Block)
+
+   so used right offset value must be 100px .
+
+  */
+  </style>
+ </head>
+
+ <body>
+
+  <div></div>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/support/embedded-doc-abs-pos-non-replaced-icb-vrl-030.html
@@ -0,0 +1,99 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
+
+<html>
+
+ <head>
+
+  <meta http-equiv="content-type" content="text/html; charset=UTF-8">
+
+  <title>Embedded HTML document for abs-pos-non-replaced-icb-vrl-030 in 'writing-mode: vertical-rl'</title>
+
+  <!--
+  position absolute and 'vertical-rl' - overconstrained values with 'direction: ltr' in initial containing block
+  -->
+
+  <style type="text/css">
+  html
+    {
+      direction: ltr;
+    }
+
+  div
+    {
+      background-color: green;
+      border-left: green none 0px;
+      border-right: green none 0px;
+      height: 100px;
+      left: 60%;
+      margin-left: 0px;
+      margin-right: 0px;
+      position: absolute;
+      right: 40%;
+      top: 0px;
+      width: 20%;
+      writing-mode: vertical-rl;
+    }
+
+  /*
+  "
+  If the values are over-constrained, ignore the value for 'left' (in case the 'direction' property of the containing block is 'rtl') or 'right' (in case 'direction' is 'ltr') and solve for that value.
+  "
+  10.3.7 Absolutely positioned, non-replaced elements
+  http://www.w3.org/TR/CSS21/visudet.html#abs-non-replaced-width
+
+  So:
+
+             60% : left
+         +
+             0px : margin-left
+         +
+             0px : border-left-width
+         +
+             0px : padding-left
+         +
+             20% : width
+         +
+             0px : padding-right
+         +
+             0px : border-right-width
+         +
+             0px : margin-right
+         +
+             40% : right
+         ====================
+           500px : width of containing block (width of Initial Containing Block)
+
+  becomes
+
+           300px : left (60% of 500px)
+         +
+             0px : margin-left
+         +
+             0px : border-left-width
+         +
+             0px : padding-left
+         +
+           100px : width (20% of 500px == 100px)
+         +
+             0px : padding-right
+         +
+             0px : border-right-width
+         +
+             0px : margin-right
+         +
+ignore and solve : right
+         ====================
+           500px : width of containing block (width of Initial Containing Block)
+
+   so used right offset value must be 100px .
+
+  */
+  </style>
+ </head>
+
+ <body>
+
+  <div></div>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/support/embedded-doc-abs-pos-non-replaced-icb-vrl-032.html
@@ -0,0 +1,99 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
+
+<html>
+
+ <head>
+
+  <meta http-equiv="content-type" content="text/html; charset=UTF-8">
+
+  <title>Embedded HTML document for abs-pos-non-replaced-icb-vrl-032 in 'writing-mode: vertical-rl'</title>
+
+  <!--
+  position absolute and 'vertical-rl' - overconstrained values with 'direction: rtl' in initial containing block
+  -->
+
+  <style type="text/css">
+  html
+    {
+      direction: rtl;
+    }
+
+  div
+    {
+      background-color: green;
+      border-left: green none 0px;
+      border-right: green none 0px;
+      height: 100px;
+      left: 20%;
+      margin-left: 0px;
+      margin-right: 0px;
+      position: absolute;
+      right: 20%;
+      top: 0px;
+      width: 20%;
+      writing-mode: vertical-rl;
+    }
+
+  /*
+  "
+  If the values are over-constrained, ignore the value for 'left' (in case the 'direction' property of the containing block is 'rtl') or 'right' (in case 'direction' is 'ltr') and solve for that value.
+  "
+  10.3.7 Absolutely positioned, non-replaced elements
+  http://www.w3.org/TR/CSS21/visudet.html#abs-non-replaced-width
+
+  So:
+
+             20% : left
+         +
+             0px : margin-left
+         +
+             0px : border-left-width
+         +
+             0px : padding-left
+         +
+             20% : width
+         +
+             0px : padding-right
+         +
+             0px : border-right-width
+         +
+             0px : margin-right
+         +
+             20% : right
+         ====================
+           500px : width of containing block (width of Initial Containing Block)
+
+  becomes
+
+ignore and solve : left
+         +
+             0px : margin-left
+         +
+             0px : border-left-width
+         +
+             0px : padding-left
+         +
+           100px : width (20% of 500px == 100px)
+         +
+             0px : padding-right
+         +
+             0px : border-right-width
+         +
+             0px : margin-right
+         +
+           100px : right
+         ====================
+           500px : width of containing block (width of Initial Containing Block)
+
+   so used left offset value must be 300px .
+
+  */
+  </style>
+ </head>
+
+ <body>
+
+  <div></div>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/support/embedded-doc-for-background-size-root-vrl-002.html
@@ -0,0 +1,28 @@
+<!DOCTYPE html>
+
+<html>
+
+ <head>
+
+  <meta charset="UTF-8">
+
+  <link rel="author" title="Koji Ishii" href="mailto:kojiishi@gmail.com">
+  <link rel="reviewer" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/"> <!-- 2015-05-01 -->
+
+  <title>Embedded HTML document for background-size-document-root-vrl-002</title>
+
+  <style>
+    html
+      {
+        background-image: url("swatch-green.png");
+        background-repeat: no-repeat;
+        background-size: 100% 100%;
+        writing-mode: vertical-rl;
+
+        width: 100px;
+      }
+  </style>
+
+ </head>
+
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/support/embedded-doc-for-background-size-root-vrl-004.html
@@ -0,0 +1,29 @@
+<!DOCTYPE html>
+
+<html>
+
+ <head>
+
+  <meta charset="UTF-8">
+
+  <link rel="author" title="Koji Ishii" href="mailto:kojiishi@gmail.com">
+  <link rel="reviewer" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/"> <!-- 2015-05-01 -->
+
+  <title>Embedded HTML document for background-size-document-root-vrl-004</title>
+
+  <style>
+    html
+      {
+        background-image: url("swatch-green.png");
+        background-repeat: no-repeat;
+        background-size: 100% 100%;
+        writing-mode: vertical-rl;
+
+        border-right: green solid 20px;
+        width: 80px;
+      }
+  </style>
+
+ </head>
+
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/support/embedded-doc-for-background-size-root-vrl-006.html
@@ -0,0 +1,30 @@
+<!DOCTYPE html>
+
+<html>
+
+ <head>
+
+  <meta charset="UTF-8">
+
+  <link rel="author" title="Koji Ishii" href="mailto:kojiishi@gmail.com">
+  <link rel="reviewer" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/"> <!-- 2015-05-01 -->
+
+  <title>Embedded HTML document for background-size-document-root-vrl-006</title>
+
+  <style>
+    html
+      {
+        background-image: url("swatch-green.png");
+        background-repeat: no-repeat;
+        background-size: 100% 100%;
+        writing-mode: vertical-rl;
+
+        margin-right: 50px;
+        padding-right: 50px;
+        width: 50px;
+      }
+  </style>
+
+ </head>
+
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/support/embedded-doc-for-background-size-root-vrl-008.html
@@ -0,0 +1,31 @@
+<!DOCTYPE html>
+
+<html>
+
+ <head>
+
+  <meta charset="UTF-8">
+
+  <link rel="author" title="Koji Ishii" href="mailto:kojiishi@gmail.com">
+  <link rel="reviewer" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/"> <!-- 2015-05-01 -->
+
+  <title>Embedded HTML document for background-size-document-root-vrl-008</title>
+
+  <style>
+    html
+      {
+        background-image: url("swatch-green.png");
+        background-repeat: no-repeat;
+        background-size: 100% 100%;
+        writing-mode: vertical-rl;
+
+        border-left: white solid 20px;
+        margin-right: 50px;
+        padding-right: 50px;
+        width: 50px;
+      }
+  </style>
+
+ </head>
+
+</html>
\ No newline at end of file
new file mode 100644
index 0000000000000000000000000000000000000000..ac9b2a307255fcf7b7b70dbfe0c5a358e6642ff9
GIT binary patch
literal 8951
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
O11WKNu__V6AO8c=Pj8$6
new file mode 100644
index 0000000000000000000000000000000000000000..da9d401f917269f152a78f85b5a25229269eaee6
GIT binary patch
literal 8988
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
NN=#m~Ld3xLzW|p}a2x;t
new file mode 100644
index 0000000000000000000000000000000000000000..ebe4df21f63a4cb1cbfb022cfe8be43b65d974c6
GIT binary patch
literal 9567
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
I5yOE01~>eryZ`_I
new file mode 100644
index 0000000000000000000000000000000000000000..6e30eba507a77ee266a7632ca657978fca15e707
GIT binary patch
literal 700
zc%17D@N?(olHy`uVBq!ia0vp^Cm0wQbvT%SEY2C(FM$+Gx}&cn1H;CC?mvmFAmIX!
z$YKTtz9S&aI8~cZ8YswK;_2(kexFg6Sy6b`36C>CA;}Wgh!W@g+}zZ>5(ej@)Wnk1
z6ovB4k_-iRPv3y>Mm}){1|~I67srr_TW_x%<YX}5Vcxjx_xm^NCb-Kj^iZC0c<Pe_
zTe6v2S~m!Yad0Op>IjG(a*9yU0SY)o00kO>;)j@k;w`K|aSm=eDjZC10V^a)=eCtM
l7U*C5L?!3Y+{Yg~*)Q~R1olNUc><FagQu&X%Q~loCIC1z&VB#@
new file mode 100644
index 0000000000000000000000000000000000000000..30668751dfb937767136d713ae99f1769ec77719
GIT binary patch
literal 702
zc%17D@N?(olHy`uVBq!ia0vp^Cm0wQbvT%SEY2C(FM$+Gx}&cn1H;CC?mvmFAmIX!
z$YKTtz9S&aI8~cZ8YswK;_2(kexHqn*-Y}l`iDUE43Z_T5hc#~xw)x%B@E6*sfi`2
zDGKG8B^e6tp1uL$jeOz^3``oHE{-7;x87bk$jhL>!@P0Y(ZtUinE2&5ZYsMhFPYSI
zyNy#o?2uE0f=)~828Rd^?!?9oKmn#iMV%H_pg0FNP+UL^D6XhOM}>pQEf9sI=&bO)
pZggnn8Ht0*)Nv5a{d`p3%z7tBV9=Hy^MMJA!PC{xWt~$(69C?h&7c4P
new file mode 100644
index 0000000000000000000000000000000000000000..6025c4e85be3ddffa53da709a47822b574328528
GIT binary patch
literal 704
zc%17D@N?(olHy`uVBq!ia0vp^Cm0wQbvT%SEY2C(FM$+Gx}&cn1H;CC?mvmFAmIX!
z$YKTtz9S&aI8~cZ8YswK;_2(kexFg6SzgCCyRHW)Bw6AbQR1ARo12<f!r)w#npl#W
zqEMb$lA+-4=^GH<$S2Ogz@+8r;uunK>+O|;ybKCF%p1iv{y&w-DrX~bL)m3{$)u*s
zZJYvPhnyl5bXr<BI7D!8CpK;X3NR%q>a?%|#W}cv;sRnoaYY?ED#W7mQJ$>yo9?YP
tRB{B({b`dFmc&Xe*HTF#Zk>P97%k<w0v~Ce1tvWP22WQ%mvv4FO#mU>&$s{p
new file mode 100644
index 0000000000000000000000000000000000000000..b2645c0fe6937ac5d35007cb11ed3f3e71af1122
GIT binary patch
literal 705
zc%17D@N?(olHy`uVBq!ia0vp^Cm0wQbvT%SEY2C(FM$+Gx}&cn1H;CC?mvmFAmIX!
z$YKTtz9S&aI8~cZ8YswK;_2(kexHq%iCvG~&~F`3NV3E=qQp5rH#aq}gu%HeHL)Z$
zMWH;iBtya7(>EZzkx!g~fl1rb#WAGf*4rxw1sMcHoE_sIm&oZ_SV)w4pV;H6npqHK
z&UnZvf`hxIb%THy2X~^Pj(`|YKtTs6-~bd)Yy^rQVgib{u+mW>7M*w2-ZD9~u1Dfv
vGR>@@t}l*CYjui#7`QORst~8nkF!}%ZsYb9l|P;UOj`_|u6{1-oD!M<4YkTk
new file mode 100644
index 0000000000000000000000000000000000000000..86fd7e5671d1f3f8a7e1cc3636b269e2326f8a19
GIT binary patch
literal 1039
zc%17D@N?(olHy`uVBq!ia0vp^8bG{&gAGX5$?DwzQk(@Ik;M!Q+`=Ht$S`Y;1W=GA
z-O<;Pfnj4`&F{d;K)yn<N02WALzOB6LqjtI!_WUf`XvKHsR0ASs{{rHs~HRo;`x)}
zkGe51Ft>WTIEGZ*N=ivc_;KFB^~3-F^=?_S*aaMXc$#GxSS~CmS8!n9tzu^yWsWjO
dnKWTaFzjh(wVi6#>J7}i44$rjF6*2UngG3&4VC}^
new file mode 100644
index 0000000000000000000000000000000000000000..43e739acbc296799a67ae742268d5c6d20b6f7e8
GIT binary patch
literal 699
zc%17D@N?(olHy`uVBq!ia0vp^Cm0wQbvT%SEY2C(FM$+Gx}&cn1H;CC?mvmFAmIX!
z$YKTtz9S&aI8~cZ8YswK;_2(kexFg6*<9*=kL!M*kYtH#M2T~LZf<H`34?P{YGO%h
zib8p2Nrr;Er*A-bBcC_}1Cy$!i(^Q|t+!VWaxxh3FmGIv@_*`G(N8+AQU_(;iDYlQ
zcFmCSkW&N)cT4LA0Wl8lL`59|F`$5g4p6`WD4y5|6hFiS6mMarqe3h?_vC7AWRe>+
mE(9waOl|=yBtvKS|5(4d?4e(c1x$dciow&>&t;ucLK6VIWy_KP
new file mode 100644
index 0000000000000000000000000000000000000000..8a2fa55efdf69d9ac0222eeabfc534600e26c82e
GIT binary patch
literal 304
zc%17D@N?(olHy`uVBq!ia0vp^DIm<j1SJ1AFfjuumUKs7M+SzC{oH>NS%G}c0*}aI
z1_o|n5N2eUHAey{$X?><>&kwQhn-nUef6@>>wrR%C9V-A&iT2ysd*&~&PAz-C8;S2
z<(VZJ3hti10pX2&;y^{SJY5_^DsH{K;K<8hz;k57>k0jp?u&xH7YMklI~P&<InlPf
zR4HOZ!oen1Z!pO{4NQvZK*$IPxq$^tCUAnugF;}kNtFVP)2iK8F&}^V$mS@}l?<M)
KelF{r5}E*Wuw9z~
new file mode 100644
index 0000000000000000000000000000000000000000..42cfff628b4680024908635e353bfe9bbf10d952
GIT binary patch
literal 803300
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%0Dp`!2#`eQD
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
new file mode 100644
index 0000000000000000000000000000000000000000..11636f5f77136c7cb15b9abc41a9d44c1773b3ba
GIT binary patch
literal 1032
zc%17D@N?(olHy`uVBq!ia0vp^8bG{&gAGX5$?DwzQk(@Ik;M!Q+`=Ht$S`Y;1W=GA
z-O<;Pfnj4`&F{d;K)yn<N02WALzOB6LqjtI!_WUf`XvKHsR0ASs{{rHs~HRo;`x)}
zkGe51FxPpyIEGZ*O8WEvzy09^HU`EcM+{CdIxz57u`{t;SWvDo${b~mGHJqWU}WHu
XVzJe`cySpp*D`pz`njxgN@xNA4JHd-
new file mode 100644
index 0000000000000000000000000000000000000000..54d35eb05e9bebcd62f61e2cbf42d795636d2dd3
GIT binary patch
literal 3501
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
bIvM{5!Vh76Qwvg^00000NkvXXu0mjf<uIUZ
new file mode 100644
index 0000000000000000000000000000000000000000..f5adb11b4b44cd176ad86d78e64c997223e8ff8d
GIT binary patch
literal 14211
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
new file mode 100644
index 0000000000000000000000000000000000000000..7ecf84bae34a692fce464239588b7f47c832c36a
GIT binary patch
literal 3138
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
new file mode 100644
index 0000000000000000000000000000000000000000..d7c58d622437186dd21070c74d6de4c73edb3fbf
GIT binary patch
literal 3172
zc$}41c{CJW8y+E3#v~<6qNyw;#+b-fmh3xY7n)@M4St!77)xbImh59JBV-v{wy{kp
z%V=cJzLx9^rpV4m|9|H@-#zEv^FHrA=Utxno^zjYLwyalv%F^k005horm8Uja4O>1
zz5zUSe7f7rA3Fd{PRe@906^JW)_o-NF+Ss|Y3T(3fLl&BL!v17^0AWzt)-{NG6@1P
z2*@FgWo!Td*56vH$|gRew6y0ICbPVs8a=qVlUsQ#Ra8|k-R)=U7Zzm79bd@38aJ+u
zAg^j0$4yF#CVqVDFxf9@UfRKN_mgJb-L>p|=GqtS9JeAM*&y}~Pz7}U@U!$7PZ$1k
z3pOzD->%>EfVJKFdF*`JXC~#VfRp9R1M*}zF_gki|8>aS`CkaolgaS^p&&5Ze?<%R
zSFDWI)jJAKF>ha3m{7_(1z4AP=ByRX9uMh=eHYEp#23yc%Y>9*uXGxE9Z_B-*v%~;
z69%IsFY@!r3X4^%t06#wYy#joKID`J%;Q6rwXi}HKsGr)x~-aP<WTtAg8?>x!S21v
zt3u?EtH77e)M(hwWk@i);_5&1Q%_2-dlRO3KIf8sW(7lpi|%)(l8=U1ih0uu7I$M!
z8M`}DOTU}EdJ)Zci}%#qn8^!Q_c%5`Aonu-CkFopmgvw>XteIxUD+_rwm?PTr-pIT
z{uA3%u)UJ1uH-?MEJnavxZwog`@+3D#~FW*$TX1L0^@%N7s$DFR(@89gw35h7~2&P
zSdbG>>fEAlL~$uvOTc2fKXKca9BsdUW_MtmCsd@DSyNF~A2bFN5wt2X5OB;JPWFI0
z<Wj&GCtlRY>nh&Y?L#DDB4Cv9cUr_Y(M0JganzE1jIDtk1T>9|gkcQ(<NVb)UWMDh
z@U1hUtkd13v<R+BMb7U+gjiXT3y@%tn7KFf4c`|Ew|#(N|9;@C*{!;P!F_P9e^xWs
zR)e%vP+9zZGV`9cb<R*DcGHD{Vj<ycOA+I=WO8Xq=s%Oh-rjz}!vH*YoK0A%=GxED
z4iQ(hUc~)`z(-o|Gg5Qzly?xNq?V8^T)q1G!JxkBgRdbkPWop)i(7*x^-(X$5tM=F
zf4#Y|>=fcFi;SE&9hp&`T{<${NognV-Xr@29%een>%QX?8arklzzMXE#ME|nRqRIc
zZS}Ps5uJ@)t(F5O(uWP!n|fJ%-H!5!``9dx{=M3q&8Jbhn*qJO)fxY)eMzyf2U$J0
zADB%m_EKm5STi48hbUqdUB?Hmh~*~|XE7CaTgcWY)$9dRRc+hB;(E{;Q6pjw33slM
z6aEhnrzRPq=WjAQCgcmolb5lkI;r^ybVgxXL4ORl?e^?#594NePs7~uCtq7Wf2$@G
z#}*_;&E`#}D_L5L8vP7uJ%kr#Sqc`)CGxGvIq!DVkSsYnZ@D=9dGja$O}Tfa7SeC8
zog_Wi?imJ(3izF>Loy~6<jmn1b=3EO)#mvkvYo~$@MbTijj<`4S|>eT%emyjUG`}m
zsO%XP%Q~s@sfC<HW{kB7E!0QDT?}D7(8J%o5w(}~ouFHs58ZXOebm^Jrp}1e+wn7p
z4^g(COQw+%^0@x8s)R9I?a@74`4))2D48j4aQR32h9aI6m@uR76*#A4GsKZqdq4$7
z7jr(etfVv^y!`Cnmn3TZD%Jv*cgZdWZ{}yO|8lB=TtKqPLuWN39;R#NmS(=qgvn1j
zbqI5+>x7o98m_z!*^!iN{@SPV1+-?^4Z(+o#=}q9ekocrF}JBhN~ES#B^i0qZLwt}
znx=I<JOPQeAl)06rwiXCfl>0g7v(GCmlK+=*$mx84RD<gIFrZA=8dP!bjUyktrOLg
zWP?fIi3)m7YFcP$k&N9p`e*_48un*7FR1^{`(+-)M%D&!s%yN$#1?v=r_I4z#Ne)O
zRpDho(CWK=5~uJJ-x>ghuU0{-<AGSxV)1<}ubfnkkLiB-l{}r)N+4v0FU_jY6?MIy
zai~X3Dp*;JSf7+QUGBeBR6j5(?(%>j&;{cu7WrB?oqh)u)N6*1$84+^@s)=mXLd!}
z%Rg*p$cy&0YMLk_Ri>H*+zT~9Tl`B}jy_?&V5&*N>_tC4fwf*9Zd}Zk2lb|#8~v(;
zujZbck?sp<h7)>t=xv@$90KbU7NA?4)002aJE^a}rnKEEbnls9p)L~VvSL(mO@Z4i
zC)NR+*y1hGfR0BP5p4Rq(F)(7(nLEW{n{p5Hu7d99U)#tj>r<-x}D(UqpQhH&5a+c
zEI4Mto$vs`RN+%HoG*a~ss8fpl$F`p7!muCNS+USUboIjp@@&h`DyghxWtEZx`Rr$
zH}UxJ>Z;XSi?@9`p1{heO6jUMoc7lB2oA6s0-q$}pM~uB*Q(}-Q|VES5?;Ke3)8f6
zUpD-YuJ@ssg8A3F=_WTYzo+F!ZjLk&`Eb$U5{#)=I1&`)%i+0>wG{eH3R5_Btvhx|
z3w=Cg&slP;=Jl_9+Tk<{?4nSf{<S!-4hnqdK=x^DEaZ+<<suKtW|Gq4DKG>cV5ZNf
zoUu-vrC=OnVqW~6F=4R>?fEOY6uX6&EVB|6mx<vZQnAl<v6MAA*Sl8D!HlUM{Y0up
zGV~G6<6S;zV-xwy{~)V@SUrqE_<J0YbHVLT{?LDjv=;9YaO0>#mDB0HmBHGsE5;g+
zN6+6tgaa3EJbPO5A;<;ia=LZ|tc0r!dxJ7PE|o-=(@IbKmf=wikygmAuZJHFTsSb#
zs2eEiOARp5GP9&K@pXM#J*hHmEK^Wc#de{~^@>XJEa$KBv}ZhuE5KUskE%%24X0s^
zSs~n1dx4$WxRQa><y0RCylv2FZUSzl2@1UEm?*Na+{_;<QF3$ZX+^Kt83?&l!E<5s
zaXW5@`+B^e5sO0|TgLr@`_-joUZy6TjquwGQ9A8}-lY9oq06nV1?(8gOXu2@F;efS
zjc#Z9BTh9c^`&B@RalAiTE5Rp2YZ!GF4coy9$F<{tdYrOS4X9S@jQRNe_6CjCqm9O
z{iNM(33W=S4k+Mnn5#FZuw5+W20~PwP34-*9KyQ=$TzD+t7(Pq0094=dw1gO>>ANJ
zlO9pp^|k{RNo23Ji5RXhvZW14^nP;sN9d7vym6knbi%<lb-aa<@HPGc>bAkK{nDHX
zt`bjWVRduhE#434rEfy>_KR9JHb1W-`jT{v?RLIDDa$u4M7+^yFi1V<D~ow1s!?bB
zF?(rw-pudNH(vikey26hjQr8dCKw*{flFG<*~jTem6w!cQ~}*_F6FtO3@a{b^*jpo
zi675yyS2k&XVdVZhiJW;wu4>_a|pgbO16?yc9-&O&p^aY%G;vtN(R2TvYr#_*0s-Z
zCrn4vB%`QBqw7nf*Ui<6FZKEUipD!0zggiw$#pw=d3towZ>#}0mr=HnFFwDsiTvJ|
zA2-9@9|*A|xLaXL*D=JwcP_++()nTxv|aO7p(&cSAnzq@29sZ#TMVUoKU1u2tU3)y
zfIVleJV<MmuXmj9>`K1EJCpc4L!2PlR7lgtbFs@FO>yy}2W_92_NVPA2nM7nen3e*
z-V5!t@Gs3*^N@}R(GFI&!alOxxGJpzEW--l9>*O$OGreb>`}}1&SFQ>Qr<Q4jF4a-
z<?iAyH4rI7c-mE<%FY-8_h7VYd%W3J(S*3lfS3FCur2W1@24ujT4r5aza`tDw%apt
zVpEHx^Vi+V2H)s6%A+LCL4svo#3KwYUJ1|TMHK3nng}f|?;k{5!&(9%E&LbjZy(f^
zttRNXO{GR1u4+4KM>hTy4vT|lqT6upPdS*B7pzNYHXO6v>Oe?UV1Hcw(5ProN+??4
z0ei~m+LRycJ@oiSU#X-0N@^Qk6K*!yspvQms}q(zp3&`+DRBJDO*rUa>=*!_E`Wr9
zr^FFKZ6K{^&mO0nQg`fxSh{;O5Ool&@4;c5&CikV4*}b5D^D2#>&enSTmdUp`@G?l
zcjj+A9Q|u%bO!fxGJ6ONCu-Ml=^9Oua^|gs-zeN)h(>)VCi7=hli_PP6`VpRIuG^=
p4BexhZD0=4U^oePtf@U_jzVVDt+HN~Zl361Ej4}B5|u|U{{#FP`d<J5
new file mode 100644
index 0000000000000000000000000000000000000000..04dc0fe2e9e838e592f8da044555f1a379ab641f
GIT binary patch
literal 3051
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
SqpVAgQYsW;ZCnlZO!*fQEYgGk
new file mode 100644
index 0000000000000000000000000000000000000000..15fd6065ef670fcab7e0b662285c19bdd881da1d
GIT binary patch
literal 3466
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
new file mode 100644
index 0000000000000000000000000000000000000000..a0db6909418d2046f55290052262fe421bad6709
GIT binary patch
literal 9285
zc$|HDWmFwakoMs27Pwe05}e>}fs4C4A!u-ii@Q6)Ex1FF5S)bI0d8=25AGh8_uc*W
z?Cy_m&Y79+K7FdIYNl$QdU~Q%m1VHd$<P4+z><@dQU?GyrI)r5D*Vf}maC}a<%Vb_
zp(FtS^$8e{rbsV+G$&a-R{+57{pW;BWyS`*45GNnDM3(H;W3FhQQU~GlL3Glkdu<o
z^jbK|^%N)AeI5`afe)e;*9C(aK9{d)=P;-;J3z==zUq@4%SY%N%+Ai(MEKO{YZ_u!
zTt9q$iYhAn(1*k?Zo$M)Z4P^QN)n&hmc~as=zN|y-GYi9w6+VwmJe_VAwg*t_*QJ>
zzP^vGqayQ7G)-hpufD6qy&GX<N_B*+K29<49e7*sy;J+DfAY3sXLW(IAcbVo@KO<>
z5X-+)W@s=8M?z}o-ZNDM0SF|?R1Yg;h}JHVB74jh#omZswmsOc>9m0bH9UwZu7vug
z>M;@!mkvA#B=7xj@9hi6wW5&`Mbt~IzR^?kZeCEF=m8N)Tp%|&c>uew7h`DMr1s2t
zJ}an*?B~PW)z3~26B01D-~p$stIV&v9;uZ(j>9@S{&~cdYrz2E^w^$Y<iB@<UqJ?`
zQU_z9Y{a&y+E3LtE3KMvU61}*p27nHmxVe1eqXk6w+DSaU9YG!6Y}B&zK?%<_%xd7
zXp6!pCU~6Ba*4X=)%lA`#44Mmg|Xkk5kIl=ldN&?*&$axj`a^DzzL1=@#>BQUHxqK
znl#C4^L8SrX8Dkt!d9{80uP3Fjz>L=J;PwBIJzRl#~FwLe8-B+Y3IwXd#5JRUz~+O
zQDa}3K5*aec`slRRLG$3-rU_xuu_Z(H<LKGoGecqU07bpX}eq2`IG|yhVT!HMghDg
z#q{S3ifN3YO%77Ruo9@))fr}9$L9GYQ$=+fKeMwl&U1n%;h-8JWE*Mm{`UHbUZl*B
zHXXynJpZ<%y+~r;jGRYt!Vz|AM|O5sZ$LNA`EmNf_QA^YG-}~dw$gTOjrW6(Wt2EQ
z8%$J~=gZmN)NB^89vg3)u}zstR(C>O(4B!*sSeg-v;W!uc)BX%Nb6#{A7@kqx<JnN
zssQ5!*!$`REn6K9u@DbRg)vV0=_WC1Nv-y9#M&T^SfI3XgjXczD6Pi{jR+*_>C#OT
z2YTL?8lpuPZh$Vb+xl{<rYHmCv88#=T}~SIqh_$=u1S6bVK_u`$o$+-Q*5Bc;l2DQ
zU^m&fJIy(C(9yIlf`tJZu$|0f3~Tb=X}x!sk5x&JOE7Os_*5c;9OmyW7g)$3=J(m>
z=BcDjvgL88UlqF#I<|!=W>nxwtSY>`@{64ptI<%?0>%5T|EWa4cQZEr;*G6vWf64D
zjl$>HzNWpQ!@XdIM|8uWs-{)CvG!HoZ`AHEvsWdkYvw3EdD&U_Owdrr6ABn%IMSLB
z_%4+Uf<&s(;b&z;P{0t)ly`Et_<H^FrnBAAi&jRBFm<~c`z$xuk8R*2?XBJ)9jkB@
zOl79JxL_75cLiP#AG10opJs4zGk%Em03F}9N6JtUJcS$8JWqVId;8x90>(g%Dmd0-
zmgvm(ZNo7T5)kMY6N=IkLu1Iu3jY-}{Yw&tUAp?YMfzK^YoG3~a63;F=P+?3prvT@
zai79VN-HPPG#4s6`b<vt^*V9-Hqx<1TKUJ*f)j%|mWj61cWR-z-0ZBZ^yFoJhxZz#
zrf}S2%A*7bPC~s`pDc0$m=IJ6^8{F8pUlOV5NGx^kX!)Bdh29ed!PH-hZ$CfZ@r+n
z)(X##@T=dcC6a@D36MDn>UDQNLZW_eq4-aa4GjUrC<_NC&GS6D&?`BIR`Ty%eZj6I
zd~R%WJT)n0A-3YP5?p-6yD^Lozu%G@<zkM!Z{uB$l)sY)0LcCwPm$0A|4i&?%uspt
zK9!YQj#wu`LOHsrfDqVQBY6n;r1|*O#Ht|!HLQ9)Mjr9BA>@cLtpXgMz&u$D4ByHF
zPFSGTv#Zu$?5XF$1Ty2!n+7hA;mTXZIV0)J3eV}96aI!7RjqA(2Whgye>js;NM^@)
zjb|0q)UtOKbxgXux>K_aB^6-UZg9Yti#^ir1K1LJW)s-;dBX`ham&Vm67xw@Q8i{I
zaw=SaiOAUxstEL@)Nl}}@abh;x2RY4%pLtCT|UfT36g1E!g>8=CT$grr}fkO%^<cM
ziqf0>WD}+hZf6U4U}MGB@StZ4#D0#i@`XMQ`wNQD>W>t|iDZ|UzbDrIRcD>ccnWQF
zO~ZW=G!?iXa*J5c+g4(tt@9cs&3>*FTkTWTss2d4{jP1Yk_3OMQIsR(;8%($u50|7
zN=e`O^oI5IHx-fcR_=GW)LqNUZqHlW=$%ouETRF0g$IMUyn$P1VOI8Cx8CnE#1i@d
zK%7XOuF_L7xOLq5uX(P_OkV2{VyN$<{R3-HIT@OmkU0e=>HPlonQNc?Pk66+0s7FI
zyG}fT1@<>*d-2@gKGHm90`F(d*9a3X?R~Ddxj_W$_Evh|q{NIDFl}}6{GZ(I_2f@j
zY$=*fOG7`+_UqMd7B-A_WgVVfOVprL3+Ea!B{KJJ-%QS6US5;Cw8$2GObE2SY;%Ry
z^~#rQX(|6{pcM6M7Mre)KxbF_h~GrJ`Sl$mlOP}am!YX&@2bC&67#iO$)F85q@r&%
z{3#p>adkU5Iv)`8aJRqO4;p#bWk^@$>kZxA5`Vu}bCC(6n0@<8q``#(n~S=1mGco1
zrhgHF?~5_;lGne(u!k&UM|)a4ALbwGh_rt-A+1q#G0LbP42L)xaNzFx%M9BPH)yis
zKM24h)_GHNQP~AML?zR;buzIy?e)jNDlL+AZsOUkPiCNgwVz^VOZC`_)HU6^R%#dT
zxz0^kM})H8md6Pp0N(}nil8VbANg9Q3xhAj#-g#W8c+aWH}LeMm<hC`8tdxk@}?v=
zN%V1UDHUU)>8|L;TupIb(r6C%!!Dld)eUUB&#Ie}Y@>AE6EiZW+rm$`CXBy`;FV>)
zO!>SMsa;MMGj&Q}Mn5?X#!gKiXzKCXDaC6lxW~h_WzqLj;#%%Lu*0s=IRH4c^s@rl
zU&S;MKeS^DSA2U@#H14Kacz=A*KhKdZ;`daoROLB>1}OFIt9RwbotC#Bc(iHo5G@j
z_K^auVs}^fwnA+*K=1J}w^n4L@Twq6A|jBuCZO}rmG78J+(w_dbscn1Ly%Sfc^Il3
zL(F>LmP^d4e<@rBi6It&)g<w|nr;;;a!{b^Q}qZtGQ6iTh?!%LRxC#@z9BKuO8-p<
zx_+dDACKIDBEW&>4MY9)V4;=lo!z%g`tI~uAc*n_o@Hde&UjCoFkRuZwS&^ru4d1G
zgdu?0lp-LWaD4oZb$<7#qKoIJx;ZE*_-bu3eQMehr&k8q2>|$mp3?FjcXbhA!s73&
zX!S;L@k$2O`9Il5$+`#C*}VNtH%!Qd53#^(W3u^d&VYaOjlji8cWF%<Pr<)kFE-4h
z2jNoFYQ%c_<bBk!wlU<#&fAmMSw5+Zjd7^4Q)TQ%s{+G|fnAqQuEi<?0w|mqcUkqK
zF?JLq7D@hl!MI#fvWz`^3GxipwBTv9uFBWq=`5c!@W?`t+A1|TH7O)40|`+E#yAA)
z6{Dg&z`$i>V_N9tlHup_zLRRSt6aB&Vfbdef+Xq7k|p=o-j^j)x?++vsTNV=@gBTc
zyXFj#mK`<JuvDpH!5$qR#J%KcLM}`*MF}0OR7^-FDD20N^(K(*X>lFpLKN_ObIQM8
z_pG3IfGjp@Yo+UF@;HWfd$7A5jU5fvzQRh4@YSBe(6<h(xTcHvSBvpxRZ9H$pTLF}
z452;pVEp*%UY&iG>NhWoc+vm6h&GvC!og85IXUt`iY@Yy6ylyUY99CW`fbnyK7hM4
z=e+Q7p*mg}_%tuwD@`_;eu%ZF0B%l7!mNEWpzVp1SU|X*Eh9>(ji2OXPS+)GWhx?(
zUcQ+rOPGqbH!M$cV4s(=zE)l`t<Gir=AC$g-vtL3D0exPPHNS7!Q%&?zsr}9W?sfG
zan(|Urlb{Vr&xXsma{$b@_4DLx&mn>*y{CPRz53CohtIK8|(49iHx{%UQ(TfaAi8y
zk1O{EQnu6o+-V+}%R4(wsNq{+i@loFrlD(2N{s}23=Y<A%k3&$#%gwV=Gk#MC8T}=
z%NKlcVHwq{R6f(XLNY3p=V&Y}Cj*m4zt0mwy1^OLYv1^NRcI5YZ+vw)d<;u7A$rwH
zcjx20G+WkS5=rPHadst%Azf=mSDoM?1K=jW9i-3I#AOChH_B4a{&mMP8wx=7nle0j
z+i^eO+0|<Ix3c3Df&iK}WTrVDKiIfKBj^%wEmJI4m1m;NG2-(W8A>F&Sj<{kkm#4~
zX!63;&0qWCuoWyh8-wH$wg<VcNZllPW|gobgy2hje-ix1C&a+p<;R?8_Eo<k&8Qd{
z4Cg%817fa$L24W_>wj)DUnXWDOfpzfck;%M!<}z;vXvr7c58f!mm_fRcvt{5Cg#hk
zR#9B%I{EFG5tDSGAMKZNPFkr*6)P(fb6j=ZldCYc@=;Y1+fnxXuk@06F+M3FJeL4f
z!kV#+W3;$kV*;|1sFar=<-|YTSD5y^hQ(QrAp`I4t{>e_N=zQexW6Q$LBiF|@yLg-
zrDzQ{tH@B@q6GV54b?KG8(t?Dkn!?GzvPw^%g+CqVm^)+LSU}?P1fTVIsbcjdTm#L
zK1cDPfao{p{FA#Wx$-x69P?(b)GsOrqqUP6s${helS)wjk3TBdBbw~DR3FHdG;Pkh
z35~5=M+)IUf9?z=SsF`G2&WjLEA6~NxTg6t*+yj?&;TxG*fO{82+l6kJ=GA2>|H{F
zid}D^6;D5Okeuvv^;d+e-OVWL86Q@+ioQAR5X=h|cwK~o=&bjf^Z462Kj8m|-OU`c
z7CKS{_m%HZRLOv=OUBiTb-8jN^yF_<D~+C$bMTMG^8%1#31)2p)*Q}#Ze5UF?q5s0
zj5-1U2$|({nHkGYMdoX%>bo0SjYqqf6jt3nq~diMy6#4&(_LdrF{oB@<eiCU4rt(*
z+GFNF@tX0Q@SDsFh5JEPmlG1<d(oXPFH${U(}@w`cDW5Mr8n*7(`Ox&Q+zd{?P}JT
zVge&wt^4!gL-PD-;VnB8FA0G#iJbs>w0vGk4dv`|KE_LN^L)HHljBFvarYrzYgOfB
z{G~$sUZB=qU_$<jU?XWf_S7eo7i18rhCgQ^UJB3HGQazsYEkS6w5Kj)h*wbvKFXDQ
z*5Z{!fR8S0c+7oj{r;z3nDykV6dN=(yR908L8c<ds`FBjRx(YLc_RR!wU08Pg$zuv
zRpNELHerQwuBjF1ci5~v1bu$7BgHis&`oN0drvdJdGs^~NKE3aun-NGIG#_W-8l8;
z!T6_Db2)xu088|bYI-RY?%Pz(qOYr5&9|Z}=y4B?nPFlT$#TYjJG+Dk0!8@c6eKi=
zsg6%j*97+lV#`uFOFG*459X{)vH45oFZ{8s;EIlVihZ`hnR^x<AACW*404F;bRq<@
zt?wt-&F|V#_!000pKo(rk_-)<pSL!yJ=TPsJdd&uZ4XVGasv*>6p|D*{n<a78X%I>
z@QQs(ri!1lRKysC3`yM*$*w4s1#&FbrlMN}zmZEJtH;FV)3!h?3jh_s!D)31fDSO%
z@|_F{pDpi7fl<+CnZjHZQj9D(05Je+MD5ohu++KC_YJa>SHiSRg$&fp><rt?*>M;G
zE1?*^MoX@<h>eV6u9|6$r98k~*a@rVOvjP``=aB;JSJ87i=}{y8CK1!4OLHIExt>&
zroi_}bPf(!sD_P)z59FG&P&c!T4_RuV};=5UnnC-V4S;c|2v$&V`{e*N@B;K)6AUk
zkyP*mF}>6Wo<Bi8plIf~@Fu6*T?LHJSqcT5%q|0?Z+|A$&u2m7O@auQxYu^)IcfNx
z7E!SV0q3!O1^7VA<wtk1MT%@sM`YEE9Bpb8K-|l3Hs5dsdF?EmBgHD#h}F<-t4jH+
zDuTsb{;JX*>G#ITjZj}Jb2#z!(RWxu;yKyA5Y*r2MZ8N3e<>EKeQ68jVJ_A@PgM*)
zszy%^HwcVCxx6~>szWz*Gie_W^0UKeQyyoImoh-@%Q``gmmzFI32d?A*yEG&*xVNq
zt)2+F&R#Vdx_)MNb{N*;5PzRfEZBq4ZXuN@0opiKPyg3+{@oEeIC0hdH1CzKdlabD
zgZ#O+;;L`$CL2_615f2$YBLVS-EqMo-0ND@NPLT!M~Bf<rqWLLvu+jwWQlO{{-jhu
zZS2)lLH8@;&1dAmiT08OEZR^|v#&`9j<~b@21WYc5Q7;}@w!^sJW=1f`h!1n2zqqz
z&?6Ox3h`3C)S2s(t^Q^Y`_)>xk?1o@K*iHHUoC3*BEcbG#`A2gU$fn!VT9t<+;Z2v
zXjKgYpt)n2BhX^;)X-Yg<EtP0aMcRm*x7Io;Q{#D1o!R4b;(gec+Gn-cwK*l|75%?
z@dcc=_Mrn#8v^h^chhiS<koj*am9tio#|=0NW}*}jhE-?=H_fZW$|KF-TtsTH#I^=
zttcDt`@lMEh%SU*V4>AAa-u1&!l6+o?h^3oay}1mh_b;+tC*z)j?!y$=BCqa9liNK
zwB5D<fwyt87WO^3v!|i0tU#r5waDG=Sl3gkB#Cs(d^Fk%&bAZuz7hEwvvfd`9I)JG
zbNodW8z6i`R}JeCHnx#`Q<J=xp<k{@J76t|YrF`3-@cwv+g01YQbDJs4me$HlM-ed
z(#k0PtG|2XDRW|Q_EkP!%y=N?`-s@XpKxC1vyuqjiF^IYYx?);8+Sich_`x=Rxhve
zOv-rSy;}S?7P8+F0^)SlxIkc4g2JdOQy83a5(Q@=325ys3<X~E8>p?+C<ckocIF9B
zs_|UqkdfJZM#t|^+|Pb{1R9Zqc4lg5pp5TtL)gAu>HCd$Su8$N_<51y<NSQ~!i$fK
z(J#D)ut`bB;22uYr95BZinSWPp9+85kuktM!4V`#7Ed9_G%-Kd{@9%l-y#*qX+BQ+
zwe_AbkU%+0$Esq~yeRaa7;BQ%_KFx!?Xwmqgp?#S`}ZPSi#p3l|23#kXJcqjY4C`w
zyE&!lLmzEd^gkZG%66@nk1H(yGx}`F3kRU;d)Mg46;Ak=d;<XG=lr_vPYf?OV2tIc
zmwO?5XnyJ!+~@hNPCofCm!YbMvNVsYKQGWC7n{g9?+-Qrho-a2^r^?HqA`mn(?ieN
zAr)eDH{gYp(zuM1u=R=85ml^0J_=D>Uuo6v?qjNANjclS&#$+XK-FpxIIQ*RI=_b^
zaNJ>h=%J3*#rZDR?BZSQ>|#_;4Ba^g2hWhl&!KZqh-=Wxj3^(X53O6%AsSg>dm>0K
zDOcA>11B@hrh#TA@-Il0*Nix%mBF<02XYy_Tzgc=t421OVm@qIf$W~nMc7I}%@=+8
zDz;%^{<09y+fs7QgQKkFzTm0pO&^<^o4}(*=vD(kf>ij!Vyyp1t@4feH0*Gpv_F3q
z7vFe(>_r5=+@Mo*xGlD^^@9R!B#y_~!#(Xr;DPsEO>ufptDHvTau+zTy&0)?`5))|
zycgffILQUmX&<TpK>EZF5(<LsG#d>0!UL$^J`ViAxHkXjfc%|Tj@9dQ(JJJf@F4(@
zXJ6;kE{pM5oAGv7LfGgn6&psK7UEW?w9IUqbLah+H?+${QZjm5e|=l^n~;>mG4~F~
zmgCQ|^?zQ1&*r#+Igj!hRrc428}d2JkJFRB4!dk5#<~?fUoW1|kMRA}es(smW_)SJ
zf5rUrI<nIvfHf+~ez(h5n?8vKB*;fo+}=&|Z8XIC4OuVgj9=20K@Lp#U`Kv!o@tH;
zn?q;Wf1NhguR3%0w|HVx1OW5i)4hm(vL@?Vt`}H#_dmgz*sCZm5^1(!!pWe|W-IS^
z1;luUu?W;IO<8L9WTi`^<+oE}k)tc8%a3X*8wqi*pDCvT-8uMJA8?L+Yl9w6*Cg>&
zPSW^80#f3U+h=Ef8Ti!OTd5nB1%7!BH$mV{5b#@msYPpUpn0|)5>=cZycQI+j`zfD
zjp5_u^XUROzLanUQ%BlXy=H#)s(2QTXuCfSf~rZ3p$1bg?f6-pjP6vO)dDo}h6`ds
zOE5GE+)x5so|83^WmlxYXv$n;fy$zEiePGGB_G9QmrnI=E={MCwT^Oewil^ICMS9i
zY!p#%TPkVoF?XV>@DDuLHesVOKezC8uI~S^=U<|^Sx}<}J7r%*8aUtTS709Cr<BvF
zp&uW{B%r%V<03j^$40Mumg(CcS7zS|8j1}reNG@yCX!VR{`GgTh%W^n`Kz<l9|Y;q
z-NGG%D4iR{{qK^vLNK=c!%;l#)n$Qt5gZ9z<A@3rssoY5APpkv<EhIWH<UMq;n&$|
zodRXiLx?HrNLe4NAJF!B?~-u=CKZ`ikD;`928XB_oll)ibjjNjymliv&wiKEV3M?z
zIi5BS$I~c%vUu*3GSR#rDV~P@`gEyUBvy26$Lr5$@$jwl?O8{pc}g^*Vjfk+`lXPS
zTPb^g+G!pqCs4geqZBnkx)oI(*_>Aswk+7MMPQ<AGY26v%(tStZ7aW+o#siH^coqK
zqWTv3d7mUNbAZUH$n+Ef{n0Gi<<~6-V<Z{c?jf0fBYJWi>36{CuTUt#s1X_~%JEod
zni$iFFZOTIo!PzF#zZ#}L^S8upEvR$NKrF`b2)-2Qyuatrt*_)nroSa37uHwC-l5h
zR_paS-?>3N6Z)6FHc9b_?K+wB7pbV^3Uo|Q%pP~YT?WSx@}!}!q-Cffaux7rWIF%w
z04nT=<%REEGj0-7h?q9iMq~ibJT5G8-hatv=K!=Omb_1|^4UOC`y#xbSwuJ)E;U3#
zlbs!N*2|bR!v{g#bKHt;iIs=q>?X^)74`n%E#z8#nRteltX`3Y9BHGjIo7ZIlJZ4=
zcRu`8&#gOu1CkWbUEcUcD+}iyjXNehfZEW&!m%)p9gxSD<qmm|_z^q^(ULC?xv8#N
z7#JpmHG7!vJ>Bf@jIHqW(mhswcN<_ZY(02)=_=)sm(34(r6^A%`&&2XD{b-aPH>jg
zpvz3?y>go>gtOTa9Qg2%L%><hRhPE8_PhLRMD@GRP;HZ(Y?t<-Ewv!;L&ElcwR(ry
zfPfFjN%|h`YMsKD{bu)A(Y9_F*=)V<+l3<C&FEIod3(3t3VZiA*BAxXe}9D$N`OTp
z@RjWM##muStHIcIhZ+FPeUtSHM9T-;MWw_4Vtl9Tqgg7^{4eVe^1xcQ=5Nn0{e-*Q
z!^i;E%@(GI%}(o`bUXNuo%4aYX4{dqB<N*UYJ@FXj^qR(U~fXE#Lx8_52R*&5%^TL
zPISpW57-LQ?0ZM@E`(fo-*b0Sf6c4m%zhX!7au+0q3f<b%<l`jzV}h}P_i=iOEz%8
z-s^k2#vDYPpjP?Aj6oh&N4h*eP+!V!tSDWwq6==uV~bedsx&*)eIJX|6BV9xXu!hn
z=`6V$Y&0nd6>LFvqu_Rx^zM4~wV2KyouvfT6qRexPzC$%JJud^4!li&RM((A=Tcnc
z50@sLp!&1QV9of$(VfU-4f8^oF8C-iAw-p|KTeO|{m=kZheQ4&ZhLK+Hxu=J@qr}=
zNB_-UyZ*yob9}p`<`h(AzAFLOvL~Q@_G;j<+}NjAn55K^*9!O1w~U_s%!LtKVKxuF
zj9tC5atKq@PihTtZV~?Io1PH@k+0IvDh*5ohX(3bc=Ae?Osn&RtxVx}X&T*xnJV9E
zosET&D9RfX@HRV&T3Qx0wl{?CEh;Rs-S(?sdwk(-UVz3^6XHP*f6sm4+t<67(b06G
z6U9XdqiG8`cL_6|XNZC2m+uL3hGJ1eeb@D}*}L*^cVK250H7MCskg`@WNtotUVK64
z%~M|6;(OjTh;H^r^Kpt{H{Kwh5e_#^XHX_ZoBYvFVem);r&qhFR~8NrG8li*=Y3IL
zc&(bC{gmQxolMC*=veng?DIXr_wd&5b?DiOM&}j@RR1W>*KEsa=kP1`h!p2}&ikcA
z(+wz{uD7rbAQB)l>3Wc^z$eMir`i%aijI8y?*Buq2xbXQaOKzL-EN-+42Pn(e!jgg
zK%$wg$DfgDrva3IJR!Ku)bhJ^mg^U!>4>y9JTz|WAbmB1{%;=U%i(pDMaqn@1*aV7
z;@I&Bf7wXD>gQcV9UW8ZrMtuZj7ZpP$whv>*$I9mN`x8qdIJ#Gv$$oFcrDgGS%2~~
z=IQSb3Jd)nY|Gb2>(wM5N~)QjVN|=-!;m8<?@5e?|K@oLqUW1Fza4p2?yo{WfK(iw
zg~$!r;>VF1KWz%F8uA8c8Q&HL#l7N<tg#H)SwB8|ou$$3Q?@UIZtiu$Ix+4P3Y8)F
z=c57u{3w3hCu^NH<lJKH|BsV?3D{AZ9m<v}TQ+vlhpXSXSRJVZxB>yc?%)2buRJ--
z2aV@o0c%q%F5_p}QGUx0C4V}fQDLu=A6XCinAf}e&<;`+ZPb3;QCUGEY>fL6$Kci{
z{kzW5V_d=}lQq#tG(x$5&06fH;n?kC0^iXN^PL1Ayg~)C<3dKxkM8zY6uPf@Nce>1
zlkN=H21a{nJ1VK~Yv=9$j2Diii}Zgx4VH5kOtd!4<ya;lgLTr=K0uaGJF0eJcmK&<
zFIl?1hK~Ii`#F3gGB+O5b(BQR3hsP!(|N8@L~e-k<hCzhQmZY;bo{0+t22eiURlOF
zd9rX?b*J^1Qc@w{b-Qne&_~9TtxwIuX%s0G+>ZkdYH$APj;|ysQ?u%urzu%G5dL3?
zbD&2%{!YbjDG~q>2LJgNfQm3EvY&PQf?UDoZw)JfAd~~IbHI5Ow1zF$lvq=tB5k8<
z&Q|5DK!vSwh>*4Wf41B^O>CE51fJxHYbI#YGv_}2&iFtzESyffQjSU{@;R&#VIW}e
z8a&j8$L6+VJ??$7BOsa^!M9QOjkMn31=e(7G}2lMX!J^fSo#z9kzPXx@vyzoK&<8r
zGl>^;#JG{D0@~sJ({z~%ULPB>;q+0bwg-wt1fSJEBLZt>GF(@xQohW&eOq#-n^onc
z(pB*RRcgf-8F0?H1om&8g=dN)QO6ZBSab-rFdS;FPo{Twg&E!9@m>!^v$XX}o3ow8
z-6<`97}K&LrJ+M9B7?Si&R<FyU(oNf2P2Ry;TnV+fVbq<*Z!3~hWKe;I3qu?5Xp4i
zt6ByRuQ2_sfNG`At|hlExlfanM6S5hU_Dq2W)IoHH&;Bn&UIG`Eo7+l>S}b12%TKL
zIqq6dGL)p$r`Qmp`^mY4|5^o|$^<g>R^OdIc6GPcjWV`|jI)W_g`cvL0eqfFpGz1P
zQKr<+e>=FsZ&I2`&yNUx7f%G8j~?ke!kyJfbN*X_DX!+V^X2Vz3Y;^6ZkY<vARJ-X
zu5$M=@obR70w%l_7F7NAmWdgw$l~Yf?u+`RU`W&Jh|Pj%Fc{}!WzyD4X+4^StBS+n
zu7f`*e#E~9uxBT=8vg9}^z}PFS19RN>s51Gx=kbRE+7zKd~>lqJn>AI+C)XNBmV;v
zY;^@yN4#Y^z$~(8ggOuis^lhTM+%mO8msGA`tsbrNq^2UT*(a4wZVZK7^W{IR`2bc
zZJ7xh;xpc&%X_axM)4lUqbuZ1Ycbt6@zd(~qxPmx`{IP2UmhV`SLGOH5yU>vKx&r*
z`FM)46|LJ<eveLTzG8k;#eLb&+%geC_dcBU#U+`Mdi!6a4#{NVuYbu2x6zE+FQ5j{
z19Lp2{CzZji+O$mqy17|i+W_f;5<USuFBf~6fC~Wfpi>cFN4t|sDtOGOx#K9)8yB)
z)V>*iL_R;4^#{DAn-rBXI%KHWy|>P`|0^D<M72?M7C+AK9c{1?u6U9(?ym?EupLeT
z_v$2Z#C8oFQyf+$6<q{Uf(H;=B-5-ByiVzVsY-2)D?GY}P$(kcW~!UR1w|&BK`7PC
zX*fxuqyKCF>xK<e3##7K_`JbVuZK)*Va4&UUqAem4eqqoW4ga{U5wn(9k<y#IBH^u
nd1)2y-gTRB4@A%Slsuy_?Rcz=Ah8kxFNYjNS*rHk`{4foHKYKt
new file mode 100644
index 0000000000000000000000000000000000000000..ec130f10f463e051c4a89a3cd1650d32d0d0ac3e
GIT binary patch
literal 9553
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
new file mode 100644
index 0000000000000000000000000000000000000000..981741b7e53b11ff19128ddc65d13120074ae261
GIT binary patch
literal 9346
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
a{RU%1y8m%;-`Wp&U*x4#q^cx72mUWz|MDjQ
new file mode 100644
index 0000000000000000000000000000000000000000..9b2a0610e4e994a68e983d4af65122df384143c7
GIT binary patch
literal 9699
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
new file mode 100644
index 0000000000000000000000000000000000000000..a2d661461866dc97a59602608d77da1dbc9fb684
GIT binary patch
literal 14727
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
new file mode 100644
index 0000000000000000000000000000000000000000..23b1beb9cd4cb1d56b556729928c828ba6430743
GIT binary patch
literal 14511
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
C5l=k;
new file mode 100644
index 0000000000000000000000000000000000000000..64e081c72f1a5007037a5b12d0c556e9c9f76fe1
GIT binary patch
literal 14969
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
new file mode 100644
index 0000000000000000000000000000000000000000..952e0089b8f25e46a8bff6140b6ab438a75bed7b
GIT binary patch
literal 14620
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
Q)XPmuOkT8HSntRG0c$B*`Tzg`
new file mode 100644
index 0000000000000000000000000000000000000000..22f51030c36f8a37d27e44914158bbd533919afa
GIT binary patch
literal 2324
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
new file mode 100644
index 0000000000000000000000000000000000000000..e81c0ae4cf5cad2e6246d489eb446fd76ddd51c4
GIT binary patch
literal 3774
zc$@*g4ngsWP)<h;3K|Lk000e1NJLTq00A%n001Kh0ssI2oUFkm00004XF*Lt006O%
z3;baP00009a7bBm000ie000ie0hKEb8vp<R2XskIMF-yl4-+{DzW;0N000h6Nkl<Z
zc-rk<c|a3a9)1(TnLs$@MhOanT9rywL`Z5yuqudD#Hyv;df`!QQCp8~>$<vDT@R|Y
z*0WX%Dhigu?rK-WRuELM3Wy5IDVItDxsTaD2#{muO(sDFcfP+glli^x_x;|Rd3kT<
z13^&~P%r?({FPHv<FogSx1tiE&}*P^5j=1+c}4{0WpeF|i_q7BqDrOO#Z1Y&v3Krh
zCpw;bx`OaBxyI|<`-!{&5N6s}r04?!64-Jw+E5fl(Y6eZ#=ohn6%<y%DS0Wu-FFqq
zop0vvKt9iZF6pSwO7yhQBLXYxa$nF{E0Grg!c6;!6ny}6N`l^jxcYjt&$20lt<8Y-
zyZdTHlp+)ioUe32{SMg!1+V0AB8SZc0073oiHi>2YEyI_leb*ml@Q`>g8%>k!)xs9
zb;tgw6Dv`)ErX-k3S-tqzE)t>cS3*6J+x?ohXnutSPkMN9=Xj|c7I3NaqsMgn30Y&
z0Dy)2*ads?pLI8m-#YY=ff-?wSDR3%CF{1LP>B6~9YNYMIJRM_#phN}8O#I#02|+_
z8*-k=^wM7yGwkH`)XyS@+L?3)?xY0E5tfMl3J_HXqaoX{pKqQ`e#eK2S!=BcnkFlZ
zPxQ}`ASosP_K`%6Hv<3w%sqk^{*e1)Xm?xsFoEbmzD5KCQe6JeiH^SW_vcl$i6#8n
zqLWGEyx!SgDMe8fl~#T`(LMC9S*1+^skGxs@#)oLEj0Ql#_-lDk}1v6BW(50H|qEj
zaogi-hZm1@<?g8v_k6+3E^1$XUAsisRDApcwo7bgYp0Ho)}h1<&j_Q3Y1RpzFXk88
zGC1Zo!-L-Y=HC@hMbeJ?>jz?8Y^R=XROq3<N*{Cf*uNaiuWgqIsxv-vHRois5uF7g
zMpgm5>R^7^oayTqw(6(CTD)4r_0;@?M2_(OaBmOCb<~n0`PDqJgkN_vZ7s*sk!DJQ
z34snIYXlvT%GQi%*EhFUNYt)1^(P{SeSD=IMNwW>g#FmV^*vW5>4WXV7$gTIoiQW5
zS?$6mtJ)Xr8FK-%u8M{u!R~RtwWBD!b;u!OGI~J+lFpi){j57(N%`hs&Rsde*{X^?
zVA0if%^MfdSrB5R6o6C*vlSDI@RJR4yjqhQkfd^i_J_<E&k6e<sm)0g&F7++bTR`H
zt^>&$(Vz?BWf`~J=FeiA^?YRF!i}*j`1OGp0876qgG)Y%Ub;8C^r;L0089rb-|e^@
z#Uiz$Fk)7)gBl6CXJp)f8|TY}SPM{A_GZH7b_D<c+B)RWOUQ^U7y;7*ZIQ13nGG1~
zAnD2x&bAYlzLWeJB&r675ejHj2RqXdv%{QC^s6<|Rt=dPq5a|f4d=KB54EKfn#1^*
z;YKWRVdy}nM$iE%=QT9kOk$g=Z-$t7Ed2dJS(6k1)4?mUFK-L1JdiNj(TwFiCUW7n
ztcOC9>*q8JmZb&<I?IhAsOQN606<osvne*v)uO9y+vwcqUGX8ULk_)!jK~5px3)mk
z>O!XhR4@Hir_;^p2#Kn}K}G>sb+BvAaAe}vnjA>w2=5O9D_54r(k9K4WkDmsg;)nN
zHG;NGXSsWZ{?w#1eH8x^VFLgFCJy5h4_qp1mWZ444=064)8gNZK3YRcU!~xwK&eT!
zUchv>r2`;)kP`iVy4z<L?mrhRFg9Z#t>Yeg2^sa~5;y_d-aJbWRW-XIL3OZdE#`}H
zYK?iN0!q2seFjxOn`DlV{@}(CG-zHDbh;#zi2*u5`9lY!)v%bLr&&en;~j0kn#lHB
zTOtO4m&vsrmGVdq0AlVG@b<j*M}OTLaO>>dt{Dh|0OF^B1b5ElHLImBugy8#JZ5Hq
z6#%097a#er*)TWA%hsF*005{=EJxM0lJQ!H95OB=WABCf2%^9Ky?Yj+s#<_o2Ya4*
z_gwxn>{?@tA*Pf0(~9Qq`yJYLGpk%^P>!(v5HNF0Q(8`)+K5y(=bgDD(3^<?IzahD
z2P9%2zB!SXJon3UB@G=ixv2T>FPmq-cP3!{^5LBu--6p4mu$<q*D6vd#I0pnDF>?q
zrukcTUIXkrEo<{`Kb0$lwK>au+!L+}FfSGKs;}Q)n|iaMLndvnEjYGf=4SKcE#dYE
z0G7U!y-WYL{#Zc`U#66{J-Yh+r|W)iS0Bvyt>YasCL?2SclrrJO8;IwOCMD=ewYze
z2ZNaCkEFN_XN#W*bZU*!WrxQE)_?ou@uDX}xuoskrJYN@Dnm^S%@MahI851+Y_@sk
ziem+}?NV7s!>!X_%-d8&r|Zqc03D$GfzC#m*7A|Eqx@8Iq`y540069g-d=X}Pu1p;
zQc#(*b5Zy(CsP0b0M_0i3A?Vgbg!a`?tLF0&^dpwAN|pZN(tWH)Qz+x&Opn~y{WLJ
z>U&et+Fv$I3$W|lJ@V!(-@7HKn<1oi0%8Vdgt@P%zFUPUAc`x9uI3n3z-J3<6#p!E
zBKj);uMXax^OZvjgWb(_YmL?YWDVKtB8FH4004tMIXS&JHB3)swD(I1`UAh@@Y1kB
zRsaBCIgs;7+Kr#XG#63fOkg^YuMzSpA1>!*atG~Bdi;WyF)2{!Ki!f>=}&<|-@&W9
zL-I1Yw$Zt&TRC-;q|j$>kFT^_zS1cx1qu|XDJumE)PSTwfdVxkDNuN=2IQ-9;-EYo
zROq+PAX+r2g7)t_B<1PQiT>*hqD6x$sD7X<Jo+{$XORE9J0vQoNZ&YXl#>a9AeJ8E
zKG<9ET-h`0u#L`b%Z;{GO_-Rmm#`kwQ}S;gS;qCTMi2yH4hmiTLou)C8DdC$002<7
z-8ir?#LEgn5QOCuny@viQtfpgRQ%}tnusCR2!bFizjrtOs}b_%1tgS`Uvems%eF=k
z1hHmw6AzW}l^QcE&Z)w*<Vb&ede_XbR`q#W34{QC;&@?sSn5Hz*+%{LEH}muK@h}!
zWsyjCT8LX9xOC8xsX<z?)n66ccT<^E*?4@M>c9S5E2R3z!K@c%;vHA!+iA|vl})MP
z4uQKX<p2P{%L-SCX*d5$hi*_s>+icioXBR;5ClP(1INX!KYp!VqUr`{`=3XbaoJ1+
zK@bbi35yP0IT6;~knW^f_Y?SF!L2wMm52=ph+h2H!)5|EzUc0@i9@FExcrze5w(_I
zST|nN1O#etq5Y^Rekf7tju4lTOOE7Mw~1Be5zZky%0zIJ1swtf-_3G1-d{tTHX*l{
z?+l{F@Yd>p(SI-Reim79eWlOfPm6?lDS&SR07+bUeYuBSboO)AtMqk8xdWW+-`w#)
z6<1We#+SX~y0E{ybzrIuhz$tf9fG7`ghqU2%efieQ`4HdhnS@F>mgQZ0}^6yp-lrn
zl(OY~l)I))gRE*_uzS?`7A3yP0w#g7%>hRGYv|A>=JxWPL9`$#{d$D&s-n&TpnRG&
z+iQGEl}tYc@CGD2@%G#W&hCq@2~ZS8WskoL9hsc|j|pS9RY+BI0^AqmVsh<QZXK8z
zXfNsz8!>2sq+x_cd|_E;iPQ9PJr*8j0e`(OP<vhpVsD{C12>egJfqk})24y$85!qN
zoZ0hMo36<MCIM$ZM<e|;v}x<X%`h1045ALRA#)R~&!yz^0RW2n%$<dAeI7rEZk$&L
zJaOj8xbc$QoGJ+bvg&ikJ7PYZ5;xa8{cNQa09kc*dh1(pBbiuX`;}V<_5dMm#GnNt
zGX+?DIln<*>BKa_4Gyul(58VOO3rH#FtltMwBHohHCezWU}~(th5_6RgOSc48Zh;a
zUFd#s*QFMv^!|@2jkDHHc0hn}ULgdDvx4GBwPxov%B7X3PoZ<-hcG;+z0b%v^H3_U
z|4&-o8*_rNA2RJ%ZXK8^(F`#l&{Pp-rT{lMpxd}IM9m!vU_2n9usXP$S1(|=v5Z+`
zHqI&I#d7Oy<|ZC9miia&%Di8=|0k=&Wuq*OR)8RJ#6Eb=(CYKopOl|GZ9Xs7+Z33%
zPn~CTA+4<Dzo#Dh#ZR!uyUz6^w+>8|XoLm?1jZ9^GX=Q8fu;ZS5lvYIt=%b$OTHND
zv$D{D#eGO9tALrK8&k7u)k-0+%{ko|7#(1Yf4(tJ89hOIf!oV)2BEn`EDI{%v}8rj
z@HO#+=*BBRl(>ltC)Ts{<f;7^>=L59=l}o{w}=G}S>GN!R66iI4f8s!W#|6m)`6|k
z&M_>%kB{V6^P~#N^Qye>=Cc7!?N@Bal?84-t8!aqazRb@GPc_Xc^x{x`S0(G96DuV
zdU1WbR3>b?b7512v*WwRYh);jO7Fwt3vPWC#GbbO@*}=P)beNQiZ|>6x0Hzu`h^V%
zB`Vz!;{3+q!`G_$5(&R1|LBsD&LKNWiB>X+2*488)0x&_ZYZ=sMl#1-etMQ2YXdx2
z6$<n$y*{g~ki=2R-7o!Ui1nls4P8q#iYF&0SpeYs)m;f>i3<U&@XgufEke0m)KZ%H
z#W>fA`>Ld!tE{^@uA`P5&9C80r0w-L)7DJ#_hqUteJdJMBW+!0A1rJT$i&YdT--i8
zXt+)H7l=ADUa^Q(0-$>-7!VmT=;6cxHB%spFK@o`&79FrCIA3S@5yT~)JbtX9dJ!X
zdKRy+L!l^&D%x%xTpT*k3IG7C28J%yG33{Y`~v+owAboLb9<rAAb8;YmcSmrw^F8W
z>2Y07x;fw{j-n`v3X77wSP^H`Y_t_kY2nshNku~Z%SL~4>%jcm1l0SG6!hA}Z%myY
za&}R{nJ7o(HA<`RnaEI&&QT!hvTn)2za9izt7aUU{9291J_%|-QXt$je7J=h;lDWj
oa^UOrH<r8HI&y8feaA%Re-2;5Tx+cfdjJ3c07*qoM6N<$f&|?o_5c6?
new file mode 100644
index 0000000000000000000000000000000000000000..ec502d3532a2424ebf23faff03ea74ad23d82192
GIT binary patch
literal 3210
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
new file mode 100644
index 0000000000000000000000000000000000000000..f8c677b8e0527e40a8f09d8aa1859e1edc901c30
GIT binary patch
literal 10269
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
QhqDGqiOGvr3G4g+FDg>}s{jB1
new file mode 100644
index 0000000000000000000000000000000000000000..48555d3acc82c9eef723172e83559e4ada232b37
GIT binary patch
literal 10187
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
Rd-IP0DKUA`a$$Y{{{^LnB**{&
new file mode 100644
index 0000000000000000000000000000000000000000..8d35d98e9c473b89d4c81d22045234b6ba8816d9
GIT binary patch
literal 4410
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
ADgXcg
new file mode 100644
index 0000000000000000000000000000000000000000..f9cc0b1eeff1654d91f104a1522a80083ff39474
GIT binary patch
literal 3902
zc$@(~55e$>P)<h;3K|Lk000e1NJLTq009I5001Ni0ssI2;IY%+00004XF*Lt006O%
z3;baP00009a7bBm000ie000ie0hKEb8vp<R2XskIMF-yl5fmIWTvhBe000inNkl<Z
zc-rk;d0bRg8-DN1!0Zeth=A-0GD@jsEQ$<j3hs(hYNnZ*OD?6@r)FjP^Gi$3U30-Q
zOC%JOq_Tdpl(>tcxBzYl$$&ch&fM=0W|)PUd+#ioU*6|0n0wDT@B6&xopbIx_c?%)
za2oPcbCc(tl9P`7OKhWnI6nokhm?FVI1h1tijQkOJnukJy&g6Fs~4Z&G@+*-%^rJg
z2{DlWkF#Xu$kTz7?h~`k9ZXUH0K5fxA{0eYRFo&M_!~%Ift9$qWOE|R_^-NR?WC`e
z|CBvZ%kCA-4rUPOfj9Ex^T4x}BhL&(+$U(8JD8-AQ`&7%-8&<UoHMvH*Auuyx87Hh
zjQszt^ky($8BAyvm+zS^h~NMKutSq(d~;FMY`msxEZs1rZ@3o%0Kg83%UHVauLmkU
zii+|CmIJZVPe`mfHr&(iyQ1AQ`gCFd0I<RYv-e(>=v(j6%WnMi@tBu=DFDC-ihFxw
z+2hv1?T?Om$w`lF8*jFdnmHRd_pHM9{cQ*l<q5o#4_-Q)Ik+<i0KhA1$j60$YYFjh
z=rj4inS%>cyZTUDI&Luu%SS9nh%<l}9XGh&#x@jfesXU6v_8R1006Iuq{*v~Rm=63
zvsZC$evomP*bOyWqR$NY$)LKvKFK#~(zcS@B9&TFd+xx3_>h6yYBVT{qMDj5NkRQS
zDY(`k*JxyaUpkZ-$FP_mHd3n%M;;X4PRW@+o_`=wt3-EC?RoFzfRv3lRi+y}eMW9A
zdmvRS8ZLc1Iilm({H7M?F-FHU%z2O68gK3(uD>>K5akKzUfp|-Tl?$HM@o&X?#zy{
z9leJfde}^We*-`Ch`4vZDXW#L<@fTY2G9k0BD_`@hB?ZBz38~feXCZ=t80?F4FBrn
zU5Q%Rbp7bk1e^1%S#;`?xWJ^<=Ouba9-#4(LEn@&D&UnbZ>min>FV~Ub(>Z!MNw2-
zklHS8Po3$@KvVT)H@1VxKx2={6`FmYXm4*#3?6gTCa2BydlQ4+_(O`K*rQ`ya>b*k
zlngXp#_`9k?y9e^>gI3s5!+hBbnGyrRBHK!jn@jpFozhxh>ly_w`!$tJUk+NNOnW3
zaq4R;y0EO~n_gD_RZ38=|CHEUq%f*U*icmFT@0L*9^q;Fh}tn_jL+$xt5g8Y=)s-K
z=Z~7T>G-urS^xl#&Wo<fPLAX`^z;^+p4i^Z4q9;98y(IcsZ`i{-e<M*R0yTb0Dw6<
z#-(TAk)vSqhxhVEjQ@Fd=-OUw^by<I7BHg*#IPNR8a7;Dz#=+salg%M%rEyF9&eg0
zp8QX4$t`SC-rV)(ust!m3RflhP#iP_?|z-QzW&032oLjuE49<~KdUMmGyoo*=N><~
zrdQ35DLs8XdEu|7O<z+`t#GhLM`7@o7G}_Rfoyr5SO);0tt<R|Y_9-@acu8VMNf?V
zV~mb*=^1$BC=fcAftbx(8U;{7{2Q9n=rqKEsA0nq2C$;z7Wb`ZqoiKW^y5(Ne|MkG
z9I~*uNh*=+oQN4-GSGNI!Tr8(XtQNe9ZU5B0HC%{n7!loN}*aMEZei7uO@r^E2FaR
z>l`sbFMlN0TZXbu&I$6S0cfi>kD8bpxbWz$C#q%}1z(KO?Ou8Y9=Q>C*1EG50ah(j
z0Vg_7feo(!wo)jwzx1H=o@*~w|1r7pz0_r;BE6fFfz@qH??(ma%<~<Umd=id{-|69
zAkI(W_Sk$!2Y}H1`2F8nmi6-{{>7iJ8h1Dd0w`{V$}4h8gl2Z@Y6}kuUmeY70Vr>s
zxD&JZ;|aY(yy+AG0930or98&y7?)i0$kjD~2qDDzcW*0PR;_>?9k;k|y@iVz9@|iG
zx~X-xsLGdgjhuJ3wTjK|`EGib4v8y{e;a=|J$-Yf(yhsWv>UW)ws_HmPY;*Z%d|SB
z@anNu8RK&J%iiza@}rXc^75H$3U4$io10Zll?9u>xyK(C!)(c8pI~Nf$>m47W<_n`
z`;kFYO64}wopyW0#E%YMsF!Iq(%RGe=8j%PU$lBqI|P6k^?LZVmCN>>zAw@0HKIGE
zJ3n0dr_?-=?2m5mk}Dp$`o%_!5Qq48V=E%8T1-v6=(z5_^=$PUvhtnACDYay-IZ!o
zO%>UTC+}oWoAt7_ZB+kZTYg*1TbnlR&;v)-bX%2Rt4Dsl?D`Lj(qh_C006j={pVy|
zF_f(I@|wbRGX{0@^8f$<Zg}4*8%i5>#)irpJIC`|*5!6Rr|z#&+paJq|9C!ofgqIG
z@;gKFEc4$PG_}V*9>(`+DS3wr-ruykcdLaMqvIInv`462x-9DG_G&L}2x-f?jVRc+
z7Hd%Zt*{*-&H#3F+~U3sHgv+`wQu(HqXGak{PmBHK4>WyOMV~6G2N-HULR}ZrO%Iz
z1PiPPiazysQg9aKu&)=~eaht;5+vNPO(H?!g~30%GKlk2yhjxomNs&6An_t60|^r3
zHi-lYG8ssaAd`Uv2{IW>P?XIR%r8@roRfH=lEJq6*&RaL=S4L9;<@neVcxD6&v0dM
zi_rEt5e>h9F8phlC!ZNekig$285a(pNyRb%c#@lJc}|R8a(VBZlt?auAP6U{-+Q|*
ziS-tXj^Ky0*^AO*+R==yYV%XPM-_>RMtK`L;*9-WYGaYri_Y(u-ZzAWAPB;X>^J4V
z1vQ4(=27|0+~w&#{HO?mFgwLh-gNp2@wahN>6NTGDG?k5K@di8pBcN0_b0awZO>+G
zPk|5*+2uzTr*`2Y2!imUhc5r+A@(a`sIn$E^YzYL1VIpXc*>ltD^k-Q5`zIO7pz9W
z?*!9kb0#^F0~h^NqeSs{Ao1&VWu`{A#NI1<*rz8NEZ(?Q-97gC`1nvRf*=UO4UHea
zvf!?Yz{aLu*00;9Cr9!u_c^LN$5u{A2=}5O2!e1z6DEG~Tb<V21zF_}nZsf`cp?ab
zutE~2?I@RG#Y9r{ZuEex2c|c%v^5)h`wz_#HajiAwJY!=E@s70)?%tFRW~*Y0(#8c
zTXs*ZQcE6O$o@zW>`U>m6lXdv8ph|rLdbi1d%C}ckhkr-adb{pbn*w^pRILN`Hexl
zLjq+yn=P5FJ$K+kLDwh_-M;?QxC3D&E-$PSsg)1^S{+9NU=7J`?NeR7b1)Z>Ztou~
zZ;)#g!it;)FHwP;y3^J>oL1d3!^dqoRVPzRtFqtfKo{hRP<8e8*Ev9sUwZU<lTxE>
ztju5X8XY>mo!_7{Mr}i1I#9aL%f8YeSIZw>Ixst?MMY%W3qVoDxexdW8(Ys1P+$AJ
zThLo4L{1BEQ3A<;EoQ}5)?y@szA1l9aGz~=%+5n-79JkSp;;w^gQ8&~JXi^ND_8OT
zG1b6S#-IcBIwzFh7_>ViP{y{|29vt_1A`b;+++w@ctL3x@$Y?c0Kge*I2J|!=-3!8
zK>I00Cd;M8Q+)xr=>?DU*xg!~YSvrGqKnGb&lKktbOH#?yr4u;RNr`H1Pj3T9W&v#
z?9Ung_LG4Ez<lZ548^_!w^{^&$}79SRgRt8hX>9Ia0!)J@x`pBog8sxt)lYCdH*+3
zJDHsZMQNWfrn}WsyQ89EB0N|LdHth()tEN3V>6Qd&Gd_emEX?NZle<nn{6;j^-s=-
z#UC@|wNQg*g2MD>0)VW^AY@crJ6tRUh)n8YiU+H6p9lbHQEnwp%{^vVFP??ARdFr1
zSPBsOT8K%a!3c{B1-N(QXpIIyQJMFr0w5x(v)OQ6k|VJnpgp7Bn(TRSZ-o*7q-VC}
zGN;Vw!31ztfJ+3JVpivswK{RVoE5;cI2nz?<T0$u1dfV^3GrYh<n^#C<TaSZ_T@OG
z{3c90flln(Y?DcjFB`w$LZj2{MyE~;01R(4$vcJV%>V##od`#S!|<|-qE1{d27uBG
zUsF&he&hcFfV#_dY5<+&ZwUZcDC`kB+Y_gn<PkP*dWT~>&dJcn#am7U&7KtHX^4+2
zQd&&L?2B1lQP$FUfoyrb*n-zK5^LKHu{?bmJm^&tm6OVELU6GYn@lRjD!nT~=LPWq
zKqXS@&H5Cn0Du?dO>?-n051SY{6W|zE{Y?AxUDx>42P=a8obgfHE{T>E=605Zv3+O
zO!s+XLJWqvAf?4oyJCo09aq+x{glBU{c1yYp}EvgFD%Kaz?Bzbd+Lg$*zS(*>fy4-
z&M3bL!o^N(G5PrP5tp>!tZwN7E<jCbm8lm+^<TFEyi(Hnj{X3};*U;Z162KS!y>x!
zGap15qQ)QHmu)><RY?t2HOcTe^7!YBu<rf41ixAM#4OX)x3;Er9lSjEQk_(zRWwu_
z{XEs*cj&kGwb;+Hvf{S`BR?o=((2^*kI#t+oLnNazFB_pv)&QIzC3wHqE<FuIXL$v
zpI)mgRVa#TZmoNj7d>rn**&qQS^ea8$@WPRKp}com+HpXf`A?~v&!yE)Ea5sh3v%x
zVk~PQcA8^*>M#%32a1XE1Rhks(EdwuF4oI5YRUbwteK{2l4}eY6`78AV)=;$ld}4Y
zIZFqI`cXY_AD}IVu>3?_y<-puD6#VoT@flY%EqfdwN#V7v3Jy;?Gq-A7T(<4p9K&$
zaa&RKW0g)LtuN18IW)+B#Qs{Xu?E=J6DYCsb1E8@8bw3-k8}8Ks!3-3n>5gpqN%>n
zan>oB^=X>U2yh9gUG0fkv6Z!Uh1w>ACFOf&C5N#90GOeI`3KJ)=+|yQzQ{$<FcBUw
zbj-F+m@VEtJu!$5;F$88kl5OB8f|H>&6uPIB~05@{9QjBr_6e=W2f?V{%0AzgIm@C
zR`6?YtT=i{iCb5-<E&m$lfPnoLKwGYinD@xjb3u-rra!Q(yQNpn8t5U1pr`lN|^e^
zXRp|HT#zS1|NY_~&9xQ1hBxfKx-FgsBuKyu^g4z(KgE-mw!ZkTSfg)N3M-C$_TF~-
zl$kxqOd#>XC4<+%o!JY$bKdUmO{daWkt5dCryu%d*-H#E)FklmKZrh|Ot=jVD*ylh
M07*qoM6N<$g2~j0<NyEw
new file mode 100644
index 0000000000000000000000000000000000000000..b14c75ea2c0d40b1fed8b5502722275bb3ca205a
GIT binary patch
literal 312
zc%17D@N?(olHy`uVBq!ia0vp^DIm<j1SJ1AFfjuumUKs7M+SzC{oH>NS%G}c0*}aI
z1_r((Aj~*bn@<`j$X?><>&kwgnVn6~$Y@%UE>K9a#5JPCIX^cyHLrxhxhOTUBsE2$
zJhLQ2!QIn0AiR-J9H?lKr;B4q#jUrO4{|aXaIiQE>)bgvS*%9uOqjyq%0*6R^_U_y
zBphsF<!00YGg=wMzzin_ZZJc!ffdXUIM4)UaDWwy>99a_i8a+(eqIwk?I~{}Cq$zV
u#2i(KvEC46)1bN_WCVoVzycyq|K88abdvX|<`tl889ZJ6T-G@yGywp0HC!?P
new file mode 100644
index 0000000000000000000000000000000000000000..80c7035f1fc3482e6b84dfb0e7d601b1eb527bae
GIT binary patch
literal 311
zc%17D@N?(olHy`uVBq!ia0vp^DIm<j1SJ1AFfjuumUKs7M+SzC{oH>NS%G}c0*}aI
z1_r((Aj~*bn@<`j$X?><>&kwgnVrp)`BdG?UZ9X<iEBiObAE1aYF-J0b5UwyNotBh
zd1gt5g1e`0KzJjcI8f0-PZ!6Kid%0lU*u(QU~zF=S2TCGSk0s}s~yy|7dsu6V~W_2
zaIlG$n^6bMXk`!sGn^Q>!3@O)Rxm^0Kogk30ah%g!vfJI)>L`Z`n=ZZPi-4mAR0I!
t`h_6IsX|QmhNzwf)eIpcK;)Xowf9_@j&Df*HwEZe22WQ%mvv4FO#qeMUz`8{
new file mode 100644
index 0000000000000000000000000000000000000000..a98636ddef3c9d2db53c888d3fd47e10417a831a
GIT binary patch
literal 307
zc%17D@N?(olHy`uVBq!ia0vp^DIm<j1SJ1AFfjuumUKs7M+SzC{oH>NS%G}c0*}aI
z1_o|n5N2eUHAey{$X?><>&kwgiIbV%T4rG|NV{Z-Yeb22er|4RUI~M9QEFmIYKlU6
zW=V#EyQgnJcq5-UP|;jZ7srr_TW>FI6a?DDVCa)q9CqQwC*>!0i=B^iG3rEYNI2Nk
z${+@2I5BX88Hx?8V1~efCNP5os0PGf*#KcMML-w__sX!HgD8QJ8(1I)a6-%zf*7v~
kQSJ@VG!1Il!Cx7SopDTViC<NffevNxboFyt=akR{0ISwlf&c&j
new file mode 100644
index 0000000000000000000000000000000000000000..fd1f7a7b50acc4c30258a745ec4659476cdad6b8
GIT binary patch
literal 307
zc%17D@N?(olHy`uVBq!ia0vp^DIm<j1SJ1AFfjuumUKs7M+SzC{oH>NS%G}c0*}aI
z1_o|n5N2eUHAey{$X?><>&kwgk(F6Q?5`bTD^N(X#5JPCIX^cyHLrxhxhOTUBsE2$
zJhLQ2!QIn0AiR-J9H?lnr;B4q#jUru4{|aX@Gu)LpIrXAjMuqDnB`%<n)%$l`wsiD
zaEs|gY)Ie)lLv*sWRohGWc3D<+|$6Mm=1)DfRMLm-+JzI8o!zicnsgVjQ?LBvzz1E
S=l6jQW$<+Mb6Mw<&;$U_pj~eO
new file mode 100644
index 0000000000000000000000000000000000000000..431b99f933a69b054f42e7c952b37e884ca0c7a2
GIT binary patch
literal 301
zc%17D@N?(olHy`uVBq!ia0vp^DIm<j1SJ1AFfjuumUKs7M+SzC{oH>NS%G}c0*}aI
z1_r((Aj~*bn@<`j$X?><>&kwgnUzUVa93vjaiEZ7iEBiObAE1aYF-J0b5UwyNotBh
zd1gt5g1e`0KzJjcI8f1aPZ!6Kid%0lI0`ZtaIkD#e5#Po=#=v61of%s4nBKwwL9Tp
z6Dzlv4up(=kQ-RQWCACcJSYSvn^eIht2dbBo<@PjUw4?C&NChVxMWc<(1{G5u6{1-
HoD!M<{M20$
new file mode 100644
index 0000000000000000000000000000000000000000..63248d4dd1f0d5f3781eaecc89f34991208b5f44
GIT binary patch
literal 308
zc%17D@N?(olHy`uVBq!ia0vp^DIm<j1SJ1AFfjuumUKs7M+SzC{oH>NS%G}c0*}aI
z1_o|n5N2eUHAey{$X?><>&kwgk(F6nZ0Q5-oj@VU64!_l=ltB<)VvY~=c3falGGH1
z^30M91$R&1fbd2>aiF4ko-U3d6}R4AKFG^pz`<<z;z^EQ_zUByHNq}pCBCfNCa(75
z6w`^=kZ@24Og5>4Nmg$#$vq8Bis?Ye2ne}>1xzNq+<EUz<l{|y6tPPaH23vqy>}ff
VZda}y5dgZB!PC{xWt~$(696h!U<CjG
new file mode 100644
index 0000000000000000000000000000000000000000..6fba8358309f73b463120f862e093eb8d30d64cc
GIT binary patch
literal 309
zc%17D@N?(olHy`uVBq!ia0vp^DIm<j1SJ1AFfjuuwj^(N7l!{JxM1({$v_d#0*}aI
z1_o|n5N2eUHAey{$X?><>&kwgMM{)OKW&n>B2Y-O#5JPCIX^cyHLrxhxhOTUBsE2$
zJhLQ2!QIn0AiR-J9H?lnr;B4q#jUrO4stRW@Gu)LpIrXAq_vKz@`akgp{cW5zn%(J
zZ(`*Z(}~!?0wxnU!Q??9FxjLECRx3~B=<BhDW(G<BYv%$)tHVVLW)toUl?XCVm@jh
S_4g3ap$wj`elF{r5}E-2)nFt5
new file mode 100644
index 0000000000000000000000000000000000000000..47ee743880e3b6c2c70a8d6289790d277c375240
GIT binary patch
literal 304
zc%17D@N?(olHy`uVBq!ia0vp^DIm<j1SJ1AFfjuumUKs7M+SzC{oH>NS%G}c0*}aI
z1_o|n5N2eUHAey{$X?><>&kwgk(F6Y>p{AF15ik^#5JPCIX^cyHLrxhxhOTUBsE2$
zJhLQ2!QIn0AiR-J9H?lPr;B4q#jUrO8hIHMI9N6wKY26e_=J{w9A~ed-LcAev+%(t
zR&Ft!2ne}>1xzMzg2{tIV6sUSOtN}|N$zQ2^4d2o-h+{t;$k|)8TjuTgVQ{w<2(EA
R1pr;i;OXk;vd$@?2>?UtUfuuz
new file mode 100644
index 0000000000000000000000000000000000000000..6b19ec9a4e77b2f3b817d6f1e20b6b16e0610e86
GIT binary patch
literal 309
zc%17D@N?(olHy`uVBq!ia0vp^DIm<j1SJ1AFfjuumUKs7M+SzC{oH>NS%G}c0*}aI
z1_o|n5N2eUHAey{$X?><>&kwgk(Gf<JjQOrRG^S#iEBiObAE1aYF-J0b5UwyNotBh
zd1gt5g1e`0KzJjcI8f1iPZ!6Kid%0lALL~);9xeqbn@n$br;m9)(E?ZrDP?)>|O20
zDW(&#A>p79m~2u7ldRrgl6xAM6w`r_5fE|%3z$rJxichxj_KP?dla$D6EyhsXT3x7
WS=^?}Bp(AhmBG{1&t;ucLK6UXZC{iC
new file mode 100644
index 0000000000000000000000000000000000000000..e28bdba9dd623dba3605c512f5418ce8f2fd10e4
GIT binary patch
literal 300
zc%17D@N?(olHy`uVBq!ia0vp^DIm<j1SJ1AFfjuumUKs7M+SzC{oH>NS%G}c0*}aI
z1_r((Aj~*bn@<`j$X?><>&kwgnUzUiWv%>%nLr`Q64!_l=ltB<)VvY~=c3falGGH1
z^30M91$R&1fbd2>aiF4Uo-U3d6}R4AI4B6T>41SxUh%O96a6lD`_<_DejM7GaIlG$
zTTBN+MnK37EMPK$6HFcy0+UUuV3O4vOma`7K%-S2W5Wd|4?FWo1wa=vc)I$ztaD0e
F0suOwS<(Oi
new file mode 100644
index 0000000000000000000000000000000000000000..797e289e059e513b032e83408d6765ada161290e
GIT binary patch
literal 325
zc%17D@N?(olHy`uVBq!ia0vp^DIm<j1SJ1AFfjuumUKs7M+SzC{oH>NS%G}EByV>Y
zhW{YAVDIwDKoQOYkH}&M25w;xW@MN(M*=9wUgGKN%6^|kN>o5*;Wn!$Kq1Kz*N775
z{M_8syb=cIqSVBa)D(sC%#sWRcTeAd@J2pyprW~+E{-7;x87bl$jM;9!@P0F<nqrY
zt#wS5FVqYUy}T9i?pWw@7H%<}hz$vxVDg|4m~2u7ldRrgl6xAM6w`r_5fF02m)Kd2
h>DVNQGST-7!}Z0?ZVU8mq<{`(@O1TaS?83{1ORHDWhVdt
new file mode 100644
index 0000000000000000000000000000000000000000..97aac24065ca67dee25c6f50fb74bf36bb3a75d5
GIT binary patch
literal 330
zc%17D@N?(olHy`uVBq!ia0vp^DIm<j1SJ1AFfjuumUKs7M+SzC{oH>NS%G}EByV>Y
zhW{YAVDIwDKoQOYkH}&M2EHR8%s5q>PZ}u5UgGKN%6^|kN>p6BV6tTcP)M@GHKN2h
zKQ}iuuY|$5C^fMpHASI3vm`^o-P1Q9ypc~FsA!R=i(^Q|t+$si@-jHE0NLw`qdrtl
zKeO6FO<TQWt-ygMR&Ft!2#$n<U<S(u2!kmC!eG<^Gg=wMzzin_ZZJc!0jz6-z@5`C
z#Lv&#rjyU%4bd<SY7m5sfRGzlAlf(~rU*d{RRxj1_OPDOWj;FV>US5QYZ*LU{an^L
HB{Ts5q()^k
new file mode 100644
index 0000000000000000000000000000000000000000..177743874e289c608f3acc1a84d0b5f1574b032a
GIT binary patch
literal 330
zc%17D@N?(olHy`uVBq!ia0vp^DIm<j1SJ1AFfjuumUKs7M+SzC{oH>NS%G}EByV>Y
zhW{YAVDIwDKoQOYkH}&M2EHR8%s5q>PZ}u5UgGKN%6^|kN>s+ujeX&IppayVYeb22
zer|4RUI~M9QEFmIYKlU6W=V#EyQgnJcq5-UP|+e!7srr_TW>EP<YX}5U~v@X_J8il
zZKr%DOyTfMbCb0K2bx&9#dIP#5)OhHEE^yUrU(dwQ3uRuWe@{1oEW&l48;bpt_=cb
zUfZ8Pl^l6bU>ei_2pIt(H?TmIb3$|rK@3xcnC%TBx9(vNdCufD$8`@Vq!>J1{an^L
HB{Ts5I^JTN
new file mode 100644
index 0000000000000000000000000000000000000000..38904b2508781e084a4f24af5ea46255e56c1ca3
GIT binary patch
literal 700
zc%17D@N?(olHy`uVBq!ia0vp^Cm0wQbvT%SEY2C(FM$+Gx}&cn1H;CC?mvmFAmIX!
z$YKTtz9S&aI8~cZ8YswK;_2(kexFg6S=#6_N84+lkYtH#M2T~LZf<H`34?P{YGO%h
zib8p2Nrr;Er*A-bBcC_}1CyGki(^Q|t+!VWaxy3|FdJ&W+g~)-@q^-|o`Ak(ZyRne
z;}j4(<P@Qx)6%-ZA%cTDv2g=XfGJT?r-c<L&cO{77Z3xAE9%fu;b3wLL?J0UE6y4n
jY&^myH&nvn-v&l*57x+6-7HqXWX0g=>gTe~DWM4f4ARZ3
new file mode 100644
index 0000000000000000000000000000000000000000..a3c6bb63b6449f31aacf468b14ad6b5f8b3e6a81
GIT binary patch
literal 702
zc%17D@N?(olHy`uVBq!ia0vp^Cm0wQbvT%SEY2C(FM$+Gx}&cn1H;CC?mvmFAmIX!
z$YKTtz9S&aI8~cZ8YswK;_2(kexHqn*_12a=5q{CNV3E=qQp5rH#aq}gu%HeHL)Z$
zMWH;iBtya7(>EZzkx!g~fl0&D#WAGf*4rxwIT;iLm>reP@}8!1fB&Fp6zmi+X_ZvL
zZ4<^rP7xg3Ev*{_#5lMU6?Fu}fC36SKmiA!cw!?^{16jRyoHsH3I~&0zzRvyxjs_u
m#pyml8!9=9=KlWkkm1-a)>{i1V%>lVi^0>?&t;ucLK6Vh<I3p(
new file mode 100644
index 0000000000000000000000000000000000000000..b9987017a06e54877463443466f9d64991d176d1
GIT binary patch
literal 705
zc%17D@N?(olHy`uVBq!ia0vp^Cm0wQbvT%SEY2C(FM$+Gx}&cn1H;CC?mvmFAmIX!
z$YKTtz9S&aI8~cZ8YswK;_2(kexFg6%~<^KEW5WrA;}Wgh!W@g+}zZ>5(ej@)Wnk1
z6ovB4k_-iRPv3y>Mm}){1}1G!7srr_TW_yi<YZ9bady<cTmRIe`9b@X-GYadr=}dt
zzRkkHov5fIAa=+pLP4jcb%R3$P@r)GP=E<2-ogqL=imm43y9HCAr_q<x0@Yo)sn8D
ulGQZ#-He641&SLRk5k72ng@KhB;S8~_DGi3sm{Q(#o+1c=d#Wzp$Pz2K+zHa
new file mode 100644
index 0000000000000000000000000000000000000000..8f54bf5a8941affb649702d60b4fdc33c217c989
GIT binary patch
literal 704
zc%17D@N?(olHy`uVBq!ia0vp^Cm0wQbvT%SEY2C(FM$+Gx}&cn1H;CC?mvmFAmIX!
z$YKTtz9S&aI8~cZ8YswK;_2(kexHq%iCJB$(U=b?Bw6AbQR1ARo12<f!r)w#npl#W
zqEMb$lA+-4=^GH<$S2Ogz@+8r;uunK>+O|;ybJ;&E{^dg>pop=YHl_NKJ+YA+q3!d
zE=~clLrxJ2IxVdm93nWl6B{=G1(*^Qby`?~;vC#SaRD))xS|dn6=Ko(DDN=K@2qKp
vHdJy2%{{tj;iL%0{(%TR+zN5)+#lJwm*bl8dZo9(q{ZOr>gTe~DWM4flRnSf
new file mode 100644
index 0000000000000000000000000000000000000000..f76b208311833e643efb219e6c64b9912f7ead74
GIT binary patch
literal 1037
zc%17D@N?(olHy`uVBq!ia0vp^8bG{&gAGX5$?DwzQk(@Ik;M!Q+`=Ht$S`Y;1W=GA
z-O<;Pfnj4`&F{d;K)yn<N02WALzOB6LqjtI!_WUf`XvKHsR0ASs{{rHs~HRo;`x)}
zkGe51FgJU;IEGZ*O8WEvzdf@lqq4GcC@%|#f?As+9|Kdy1#1C?2DZJ-jHAp^<|vaU
aOdbZ6#jN&=<)?%4H-o3EpUXO@geCx?0S?dr
new file mode 100644
index 0000000000000000000000000000000000000000..59467ec3f18546675bc4a136e421dc21dc6c5154
GIT binary patch
literal 703
zc%17D@N?(olHy`uVBq!ia0vp^Cm0wQbvT%SEY2C(FM$+Gx}&cn1H;CC?mvmFAmIX!
z$YKTtz9S&aI8~cZ8YswK;_2(kexFg6SyFz<!yPg}A;}Wgh!W@g+}zZ>5(ej@)Wnk1
z6ovB4k_-iRPv3y>Mm}){1}05U7srr_TW_yi<YZ9bady;xx4$T6;osmL(uy`go?^bC
zW*N8C93nWl6B{=Oh#g`|RMcr<J>&!wXlVrs0L2w`fZ|RO3OYamdMd=!*}Yv>m`BCz
n1C<;xNc@RVIDl^X^NQ)LGJE*?{Aq^3l*Qob>gTe~DWM4fbNR|t
new file mode 100644
index 0000000000000000000000000000000000000000..313c37f4dfbd1f785ac95def6736118d9fc03920
GIT binary patch
literal 700
zc%17D@N?(olHy`uVBq!ia0vp^Cm0wQbvT%SEY2C(FM$+Gx}&cn1H;CC?mvmFAmIX!
z$YKTtz9S&aI8~cZ8YswK;_2(kexHq%(O9DJ`LvlpA;}Wgh!W@g+}zZ>5(ej@)Wnk1
z6ovB4k_-iRPv3y>Mm}){1|~I67srr_TW_x%<YiD0U~=48tbJVUUFI1d&J^ccdTB*T
zEems*T3R;<h;eWyD(VP`9de3L&;bfKL;wXEf#QdlfZ{EzKyeOkIx57Xvm*Ld6l4G3
la_eAn3$Ab@r1R*1y^AL}uFSL&*ab{h44$rjF6*2UngA#5%Mkzo
new file mode 100644
index 0000000000000000000000000000000000000000..81547578d36c7989db0a03127074a5f4b33768b4
GIT binary patch
literal 59096
zc$}nrV{j%<^zIwmeB*3vo4c`%jcwc5I2+rxZQHh;jcwih{`Xeh5BKBk>ZeXW&zv*e
zQ`0?lrl-bLPE-^C0{AXRD*&`_1DX`^zxn@LL`9Wl005AZ?<U@V(5AHa6cZK^{niG)
zx!E`3Fpn{?#N_3azE4C801)l~03BU=&poSRN-DnqfFJMx0MbtYKpHucfMi2XiGdja
zV3Pli`wx0<)^$dP*7|neTF!U8DF6T#%(8-kZ0O=d1OTu?fBTUC2iO~^1QR<`>u-(m
zyYJd>Ut^^PhGJ8F$M0CSgKr<`{{v)GD|eG`?Hm9|Y65`p)gb1BGn*Of8vy_l1>eV+
zzQGRB&joMxEq-e&-<<dxq$mJTA2Vwww{PwJdmNDf0HkpGm9wjrt>L%dOvJZF@(t4I
zVj>M|eYfv^=WD*>i2eg;E6BBtzP0hUHUj{_;{yOJ%rQRomUgy|P5{96_4m1S0RWhd
z{!KJ?I|t+M*rWfh-|rg*9c%CwuEqx6V?O$h1wj6XAtHsNZ~H%YWr8nn`aj#ZrH=5Q
zoq~7Ca$CcnltBbhKo;5ceC2DCiLjE@M3_Y*u4UXa<${)V-Bdm-mrxO}Yd`{)kB+&+
zv>qkJc@n&)Ci~#tj;ejZw-oh2<Ahf!^BGoYYHZG)Kv-_hpCM>=8dgI^y$-CVJHKWN
zOv9l9-PSI=;iU1UT=cx#%HKY}mf@p!Z`^o?h~fM7porm!tAk>&xZwMdgNXwf4-i3<
zkpILGBB3lfU>nua{?rMK35YQy4y1+RiVC6)q=owpP28su=p4F_j5J<Xu{?f@7wm?N
zWcvWM-PLTn{|4gaZkbzUbGlT@?d<cwqXIz$5JcMhiQvc9U19;st7iu9_J#@F-6Qbn
zKJS}j5AdRXheGbTcf~~RnN`ORVg-;eg0R#8Xlg)s>;M#YARL?!20gBVw9nuJ{#SGF
z(|@>Uz%_nSv>@8}p)f*{_gbbPIO>B`gmCN#aUvY=Dz(5b??7$@dxnZJQ34Bdr4s_^
za}AWEcuNS_^4S;s+Y|_Kg!}&?wndZA8nT99&N?=P>*Ugf6M`daCvSVA%R$%JFE1Er
z#CA<e9C6>l-Qa3y6mpJ(S#~t){Hcu!vyUKIS2)6UCja|2$XT4ZUd5>vZ`sqh%ieaj
z*<MU;c+Ld29riV4V6{vUnJqo69j^I&+4!6x7te3~>ZBAXDP1C={!+nH%YCzZ?4Er^
zc1SMcrSLMS?qG3Sf0g;UHFB~y@7dj$P<OlTTpG5$?E59D;jngzR8?g9!T1>x0DLi(
z%?5I5zViT4Rl9`-@Mf=EJ};GS#?@ogX6{IC^J@twv4*e^G5FtWUxxVv2;ORy4NVme
z<?aRC)p@Tyt;wV%zU1H}D+~DqSUxMNX{)RrpESqj$Ctly_K=cjxCa)J1W0{XRDo)(
zk9Tp|wyK+7B==&KS)6j2riWPg-RdP%$&4jgv1Us%B;8_%Pqc|pyPf2n>174aM?X%!
zj?z(&blJVA6p}t18p%or=b1O^s1;smj@1TrAG{kWd%YVeB=M{&V|FwN#Y@-1*CD?q
z-c6gytk%j8T(jSGVz<7Sv^`v9C9bjzPBv-2K6P;lU9*3CAX!OXb)Uy=2}#YpRhJb$
zF~)4=Gr#K!B-OOF|LFWG()8FKPuOM<M)>2qPFhHqov)8UnWK-eh>>+F4!;;e8Us4_
zlYFFzS%bPD`Pa{<f3D0UIorU!rvi@PqS_fZ0*zeUp&mIs-ghe6kj-CQJGdxm=f}A;
z%Y`7K%fH6opC}12@=(ius+2&o$>UpysL4|-=AD@V5ES^@A}{mo%OsS{ASacyJ%V*|
z*ve$8XK@=sfEB~4=R@|KDA_~i&$Rp@)BC($Fj%{aTK;@3h#Y(4EeN`U%XUbY{T$aa
zynn8CJfA^)LJ9YOzk>@5PT#=l4CA`NT`~F*N5s~$FiG>q4-_z-NR!7;YU$B4Lr60z
z4Jk7(O7qPRG%#LBL(LD~Gk;7FIsOG252d_KfZv6tnjED-n1uZ{QB6&rAg`Z1uM0i=
z&2naBxC+jmDr3yDLdza9X?(Z(t0|Dqw0s4p$=}*UbCt%5VtrD_6l#UoC8cw6%XoNI
z!X-RY|9Dm85%~5;+fcW*dX?jxKtD7~JuH17R@fn}Ah!Mhk4x@$giKLbQUc;8hI>w&
zKAznnQHzAHAbNv{V-&ho=rR`SfY@EyWEAZ-ftP~DDAOv2uC5;>%1(4@YS8XR3pKf~
z&@oku-PON+1jBAn3#c}#;`pG2w%pg~h_8jUJpSMqut8^&fV+R`h_*pula{`Z*+OQM
zs(Gm6kiNm*JWi5zJlPQ+eTepK#Gg35Q~!*|pFDjG_k!A$QN3sR4B3@xdsuy)>BZrj
zNw^d8tpCaGn@o62@j~SjoPCV-V)_o}6X`qHeYAb;$t_yE{M*?^8_&;9Duzy-c+8?3
z+hYKms%u$*;M}cyd+P6Q4)UI}LK#PgykeH}ROicto1@YZ?IBUnPAj&_^Dxxd@x?O8
z&6V12>4=zY_9>mn9DTN%h_^yAwm>1Jt0)+ua|bG6Z9=m!bT<&Ae>@zu@mhJ_T2i6i
z$CmC_RdS!G1m}24`8>^7B3Jp2Euia(AR(H3v+X^%fbrm2LZl;<nAbOkR~$X&X7xr=
zPu@v&?$~ZW`WK;R|J-oEgLt9q7|!VPL<mVX{|!OVhQ-OUEV4&|$d~+$!VpwGmeTH7
z5FVOzC$Ii)HJPo(p~ZmZ>S*Wz3wC>M1k}~7m|p<5xNrVPY4#ttXO?G{YpQo|bwpG>
zh<7gWK!O#-xLpQw-Lvi41^8#2_u#&ZIRX3wVx;?Pf&T8Cd}5YJJ~5??VmShD`q{6)
zX1@#XOOY)hPsE}Bh`wqS<(IO*Y86g5dV3+V4WI|8+bLipjo4?0dk=CDFLNd=gs4%2
z!091{_UydH1ksA4m41M!Lyik_zdNpg__&!JDqyGlbVR$YfivW1st&BVjdQT?>Ytz>
zymq}u^81qfBC6aak6h39%?@LeMn8LORc|h+k#wGS#T$X5i%s+#P=`h5r!#m?<*d$`
zqkK&dOX>uC`Zv{n;aB|m0$J+$0zcdF4d4?;N0*JI%D`6TA65zP3Fx1&PS>bMRQ|E1
z$UOw+y#v_-Bie&+hr|m&>NRA9%knEm_X+B=_M@v2>V;<g#e>f?)K8iMI<HSY5sbAX
zq7L{=B}SvqRuLjo1JTrvxB}s+FMt==yhDi>@U#o=1zx<1r{yPQ2dwH#wnMY&*A7IE
zo)`%;Pym$_Eu{oA&c#bOGhHQt-j)TAbvU*g<K{Fq{)>_G01L^1k!4$t2qPEmOL++2
zeP3L#p{7)bH6LijVjh{mg7o=#cjszOv;a}__pLj`#6F?*Wv%`C7Owjqdkr_V_`-_@
zo3H7%e^@oo>rbe89Fi&W$6J~P5s?PbzUMsLE`v8`3^Xj*5iWIAH+<Ro8VOaqDp~g!
z9-j~Dv8D;97L2rWwX}9vPGEmO1!heG5=29@2kr(RdjulVSO0#pBL7pXGCE4~kHt77
z3K~h;4pfH+Y%)^CwM@KLRResnb&cMw#=qX3SPE6qySGPn&Q0vpPXB{P;Zv)Nu!YsN
zFNSYHu$$j&@)rDjnK0SPgZ1@cc9bp}>2UgQiqB2eutmQ62cJ6l7XmMY)DB^<K!7g@
z&5p0X+Rm4sOj>ARD{)T1tLuK}Rrr3Vn|;SqDd*N(MAXwKwin1(U=)cjpgYg7o0j|W
zO^#?dS}Ky?I7B0Uzh_~5HXUULCz37R&F<$?$ILU~1ZRQ7Qg8l&&G#zPtYa5Ny4n)(
z;3p(k;~lQj_rKVlq%3GTo*@;OQ9pe?;JY>>)hN{36o^i^Z6y2#Mfh!_Pl7Fcc_UIK
zf5`kEyNHocUag5_m^-R-XW0I+eU+qRH0ZM4EA%AF>9zg-1wIgQUMoqqfwt2Z@sYDa
zHAhGK{x=a>(l&u*UX=>L;>d@4Rem$VFS8`6o5kvJ<?ct*h`dSWlG>=^R?@Kg1d@gh
z)7yyI(I&W44FcbFl#*`zPCC(@-(R*;Jh=q!_|2pXS(FkbAF5J+<ax{|H|afZymQsv
zi<yecWD7w)N`2PyM@&suDbAH1x!U`x>T%C8+l2tc1LEhT!2|K6alhsy$VbVsMnn_^
z!zF;Fq>BYvtg)DLvfScWCuAQ+F&jVfjUqNE&<;>i$sLXSX=9D+Bz59s>SSEF25vG^
z9UW@5K$9m59e`Sx$^C~8FIvQEeTj}LS_sQMY>t&17*+9SM^%ns8^|0Jn@5)p`x~Sj
zgOhf58$X^RJbNqct6P>gaBZSZ-S}(|H@)z(N3xIRpX=YbK6$f;b@%>0D|Y>Px_0&=
z@lCbeufAP=Cg_Up?%h5Rd**rP`vm!l@tv5ym3uCJck~I;J?40(^AUq`5;k2}b!KXF
z(~hGTNv;}SFg~OIM}G?IG}y+hU09`|R&6=g_;1Y_zl~nIx=NR$q`eS#G4kZ{jNB>O
zX}*nX^N)>0bA{$&=YsWVlXJUA!SRDhrxIbg+ziE;(gX07);o${ExVdwA^G3<gUTz8
zcR<(g?XvE?s|DAy>NBW&p;!G6>ksXZ79T}{!tB}UGpvW{dxm?<SGCvWSB_UcFvA(#
z3dm;SsTea(YjKtgwhWdGjsqY)FdV)x7&c&7-qeg$i@gC@g;NFefcFl@4Neb6>BsNq
z>j&!>>No7K*bUn)-EGw$tg%^Pv;w+B^oU1@=5JyfMsSb=l_E}tqz#*H{@mo%_NZIY
zvZ&&eM?MUZ8~&}`T+u&ge#Ci;3>eZJQrJ(q>9X&89^tgkV4=rOju;<O*_YZcvR`kp
z{6)TH#LgvCTLi9DN41!sKgN8R;vn-<^h+tMbVJ#=jEOBJO{TJlrbt$)`J~Ofht&v&
zeUp8YEi#>4MyUum-(fy`KXKpJVB%ryVeMhK#=>IKxoY8(zCRImG=Ic;_xq0P&fPKV
zC9ZWu%c6?WbHe#Z^v>8Z{iW<Bt#x?Av`fFsoPcSYX`4lWQGiu|eL5{WB|9xUU2Wp*
z2;nZteHfH>z@TA;jw#7aDvoS0&Std1NRwWjUIUhPFo{{Juy9S$*1WDkeT@!3iC(I@
zaGTkz)fm_q@%vJfoHm+vK8b7mkMU@o)$hiR1}lvwx^`8g!%CC#c^pfb8gfmgO5hT$
zWfa?Tnk`*JlKOb1$`X!cK;!C~MW?|<gNtUhCRByclKz?Xnf6(W^BlKvX6=+FR^@aB
zLxts%+S2k8#}Xf|;rx09do$fsk{OS+RDEV+W_@P!;VS)VxK&{jZ2GXOsbzz9Q{!sY
zTGgtDm3I?vQ+gB1I{rG}I@r3<y5V}oMc75@MXU8-lg)aK^{UHxkL<Z<`zC>5bTh@O
z()r1wv}e=DpO3uG9vv%&dbPFki-$*Y&%d3UTl!aZPit=%0gsxG3U4VNUEY14BmCCc
z^$aV?=i`qmZ&GhX-s@dwf{0uCE}ZzaQQ%^AB#W`TBMt|g4)`xozr@1wHxv#_>{&U}
z@GGNeqGZLI_uCA6m=3UAHe5EGBY4R1m7;*d9fq?v6E}UeM{b917jFA2j?A*1^QTTc
z`x#+V^HZ$HzmK_&-A%LZ;_63!pH|p;WH?WW9vhpc-<92^)eo;8ckFhY;Ms54Z#nYY
z@jLOmOmSy(W^-rrsAZf@Asi<;4nt@S7(1<MGgY~%#nB8VUXD2#x6`-Kx4~)+Rxzs;
zmanN?SvWMdtZCy{(W_OLZ?pYtJH&C0Y`ttJ*NWDfui{$%V>#M*uHoG2WZl-J-EMPm
zv}w{jkAEg>N71gd3B06rjpA9(yrOqXZW-THxx{e|XkXnt?b^F^a&50}huRRj)PJ&m
z(tc|3oZ~ypvY&3p+MM2C*s#1*yIj8Hxa?G#p!%RXqk1ZBaosxo*nMuHdBWbY4;s!l
z$PT_g+oHQ!=Kk7*jzcO&vI_dLK_FZK27MhwxQYdy_m^%QGgkkB_<UpX8oPMd?#xlK
zA+5RUb-yOc$gl63tJZk`(BljtQ@j1-wzq{xqbZWO85()J9AMoJW%A_GF-MA0we>}V
z%;ZCvfBAPn&HIrlfUH^@U~fB1I6ZPPgwm%f3|RLxs>waAhE4iCJJYM^yCUyIOq;<s
z3r&-aBVYDM<$N!`BBX-Hc`GA&MwY;e<JaO(1dUpE|ChgiLC1rwSOSvED|#FrK*l~+
zrnydiraD|hq7u5{%U7~#3-8Ubcu}5I&=0Bg7vJ){$3Akr6Z!IeTRjiUI`5TqMz=kk
zB0eJX|FH<OoDVm7is~B{zZ(lR#S02Od7Cd*=c#nFM;EXX!m3sVFrO#<g7U=RZYjxG
z%=<E@x-whr_Pq`DstN~{J9KqpXOClwQr6Y5`SS5-6(vA14N_4~YG3{*BT;+t{Z7$+
zWsU;!&ugH@!u>He(#{D4guo#N4e`&PQP#wr^_$Xv>#;<yE?(r{puaqP&uU4&`@{Km
z$<zG>|IVTg`30)uryF+n&M=tz`PDA4EO!%%BG(Ms_hO&p&p&x@UO0`><0sn#wrf>(
z=I00UN&rfWU6is}wB5&j&e@|E*HtW>!Nn-I{TKZb=pFbl#g>zQh(Fj09h+53bk1>~
z#U4YO74h_xz<sr(_iGIydho7?K8zn#gA39X^;gT=wc(&*_fyq^-846Hhq4M6e!n?X
zT((6Z8DYOW)Ta}sYSRw!oLuU5NY39nugX^wJO^(UemifLEv0Ri5Up(%!j>*mVYn2!
zCM=s5Qe2{}1C#;|%MnawR3s7Uey!Q2p%FTzk``E}56C};1Hdp&IP82^A4@T*?fqM<
z!5!WawCTQx!k30HKL7o_Vf)3|WKTM=DL%SvDPIj;K6VXD{XpReaIc!ad2$a@&GfiF
z`jB6<caY;eocT&NjZ|O6Mh@HEXZ?vfxDXySazSQ2`Hur;xoR%5uuY8=Gm37;cL%%L
zp64Gk-rJ8zi^UrZ0&Q<0I@FmFU0KOxU8drnNumAKQO^a^`f?FF59gV0H%Xr8j{LcM
z6mG`H{*a86W1214qCzr=f4h6LBs|_T5HRb_j?7yqx`Kx%KVHiAj~0DeXUD_5;gO=J
zfP|q_Kn1zu2%*BeR3zbJmhUzTz(KYSk};VoBL$AIC*+zbBS>yX=^3x8$GHWhc?S`n
zAI(VE1wCL-0afzn2_>3wKHR?_)PjR0@G5y0%F$`^a28_tC2$XUKCGcOxeBbom-#UF
z&@%a44Sq>8%o-vLv*c@{?b!MR>9uIXd*B%nO7@UbeO#Pa$NRsu{*2pWRP`dX0Gsz{
zTF_kg&)fh=yZT<Z+k^XVsB*hN-e{~FmUqzVUA1R6pMWRq;8_;cp~(TJunBYWNUre=
z!zmW`39_P4Dr0JFB&A_i=HyiNBWlOU6aCi|+zA<zz}Ef^Ljp#m)Zq!*yFm9bUQ^W+
zXOn<c0~hrk)TNQNRc!Vw83UyiC-(SB6NVbBRnVpsIzyUOi>54V1I-nerhp3r&s86n
zn9jkdI>U2smp|SEvh|MVpzQ<n_2uVMF7cZtt}s7%nb0W0$Y4lQ3*zA8L>$EFM=62|
z0u$n?6@_rbS<K1Q#3@e5mq!7>AN>dHtx`jyq^UnxjIwB7v$ifBv)T>tRbP`-MU20i
z5o|jeF3-VKPPG*hm;N5=vY?-xAN9!BaRh-9!kng?em2X96Y%q!o`HR}vl?B6M)rK7
zN>&&l!P<MfSBu-T_z(MTYRNFcpsijRj1vk034>fy9kg}+#K~RDAxyv(x@Jqi_&^*g
zvDsKCC^}1_umDvj(0p}9?$z$J1914UgRvan>&gy1gT7=i6cOhlnJq@|cX>D&Mae>X
z#kCokU7S!0i&E0C(wwI`LyJM&a_KF{bXEKJ+f5=|p?;Ro<%{r}e`fbMX2&0K1lAwz
zX3uYfAU~%`5$b=`#dJyiBYA$4=pyuMdI7M`i`{+*=EVC*brFi4gzdIpru~@05<lLD
zW7+9eEqt~Xfdy^q?e^!`;m}Kdq<dE?qE<Ax#(Ae%$y>-2G4#t(Yk1PboJPfliq{KQ
z^wHVM?}pTwZLp=p1AEw`v$khM$qF{Vrsaj2?&o!b!R%EWgFvbXh`eUD3Q*f+TLF99
zL2yHh>fyQG+I^IIB$J+#9z~RNmGHhpBi``d?KGE+Q!~aXoX$|iSv3q3PCH89c-qge
zkP<e>>AZNgFN)PX%jj`ZeZ>^ZILgtq_%rKHS!Duy7xCg($Q@lWWmt9>dfH)^OkDJT
z82qBUpfiDDrfHP)F<l&f5Fen|y)1wUJsu}K$f--5g6@qQ8z6McMHrHk{zfKsQ7C*D
z(7nhDOTeDi&E}4pZ!a~vTsQgNxI7jfN49l9wRU8UL$i@Ub^aKQBFF2$XH}6@8M2p|
zBKv9-X1|TJ7nP9tRQS_07PqEEykoEl%n78I#!+6&6bJ077u*fJs5irHtdBX!2Zo($
zs~uUvnpub<A_#^NSkwof0^z7fKM@jC1D@1Rtqz8($6^(vrblreyu1s*`_q5T-T^nf
zOPaU~<V3>SWqAgz>Q%dD^8$N9zLQPH$UP4$Pw2<1ZoIGMLV5S7Il|X&B|KjSJHfm6
z{^`@L&~BdBZ92zWccQ7D+9uu&_fJW>JE)$C`oxvZ`?ORT?v8~{8EP$hK<FXEfSpR_
zeDWQw@$zapwVEXG%Ng)Y7zpUbCw}i1f&L=@^}H<%-Hi+2=L3IUM(O*q47}E4_7W9z
zt6Z-lT8Zb&oen3vn%4Yeq#UvPu%8YyHVXav$lMMusGfc+>YxT%wVAIW`J-Es1c?{r
zhrzE|z?3)jc|(#lU>$Bd-qbdT;S)GmU+lFYcbIBHAMocf(t|e?Lz?L#$Ww!?>4G&3
zLmt$xMomZS;+%0AOCj_CSA8IO!00BZ+6TS%gu_G<x*zlp(LKU$47TC^)?a*xX_)+L
zAq!0~Hd|j7cYmj(u7Rt>1Qpvf@LiyMRC_vvR6P52fpYN$!;UEb2IjXY*W_US#t@Mj
z;k01n<+|S9!JrPC=$TW1-SZ0#Ki=!tTNIlE&4FWjyJ{8xojOk$*VNMib#-uomlgt7
zYdJAzuP?bgKFPEuwaXGqGI}|@=4afA<C9&`>C!RqDxw5OlAiCkbFpWcL6XCquc-1L
z#i`Em7bmJqar)bCE_Lm;4nqZd+qPGee}H?chwgq&IHBycDw;mTNLKvM+_c-dW~2mF
z8KFp^+Cg^3PXvsF_sR?vRefxoiP&+AvQtP8w(a<jr(&9`3`9|8@5=}|1W-b{QaI6}
zA2F2fn_@zF3u~2Oxf(P`1B`x~Gt}i$#$>+^+KcWzs0hoT6mt}Uf8v3WaI^osz1R}G
zm&EiE1lzpCw?}#~9Dk=XOI`kW5W>&jc%UEcB7KltO;!c<_J}Ghi)U|ow{F52E50{U
zISI!QFEmzcvbqgJbp2pkDXysMDID*D34dHI#w_(e+0VaG!oe=fAw7L*m_B8#rRG_?
zlylF1tY-~PgCv}<8tWd<#<8Fzv|Pr;?q@WN5>r*e*jB>vl2dJr<mr_xLeIBq{L@Pz
zC=(D<J3=N|cW*&o-pC_(QkDie_)}%-6uZ$SWcUg2aC&Q*EoU??tvQEUi`ifd`M)>Q
z20oaPdW5dAC;m|EP`M$h_HeHNH1$Fd+hJIL@kIFFFv1k|IHkbU??SktVD=cOL;nBm
zroruORkV!VF!4(0k91Y+jTIS?Q>+y#X0e2FdhwtLk7f2#o$X{CHc33-gW6E@9x5gL
z7@prJ96N^eK9Q3+gmK~DozNF2OB@(y?I5nIf-^nJC~DGB-$ro>hH+&~R$M>lT5$gW
z>IcE%<N!5<Pd*V7_cheTj9=vRDLOErrA(rLprOCfhc!Z4(xUH2!Z#=p$@1nY5i&)N
zXWSD)=yQK4hf~KuE#`_k0ULA6|KXhe^!^9g7A87_?}WrBh%{@+`Zp`5_#c<X&oeVH
z>s)+z#$HjYVJ1!jie2=KC>DG6E<c7nP_2k@JF=>whZdOT9hVLNb~}d4;ecmMf<eP)
z{;ZzpYu2oOI5!xEeU*1q+db=!aiU<;iHP_xW7HHQ^2AZSx)eO}<WW=DRMeu3QUi+=
z$f8tp<0{5X>8JMj0dyZ#!beSwZMCXrF(ezpZluqo_YYFUEZU4{5pto%-ZxVKh`sd&
zPR-RCeq|>(VYRcIo`7|w8&^@EZy+9^>Bqksj!-)qM#Qv}fKtQm(}ZrF$W{V5^+xfB
zEXETwS$8?Vgya79j$;~03e4A_SP9CRn3?ri>fGD&Knv$_Q<a}2I>3BHHvQr)BwT51
zqGP(ncZpxf@))1$_z{kb&PaY22~Wz(*>+Nf&b7Z172yYUg%W4<rYLH{?%)B?jzoQU
zA&kewJ0xb2J7@H6Kv;rR>-$#8Y|HzTTscB-o0(&BZ_%jnZL&475Plvb^y0CxCg-CZ
zw?nJEX}mHV7wUg@XCJw|<&}Lu(Wq0nsUM+U&oMIQN<2#%Ipxa}ieJZEd__N1@Pk>n
z-&K0J{+3)sQkpuD+0@HMwyLQ}j>eTOTNKK-dX672gXJa^S_Yrta6zG1EGpF1q%}&(
ze|YF=FEqwT&JI}22}I(^iA?1_iGp{lL~e}?r~1pALV9)RFR5rL+sPhfGfxKlN@gcU
zg54!_o}nU2RzJ{f^BpN1mO|kE{H@`P^q|?=2SlF=xyNTF#IO|8zop+5T!DT@g=a``
zhDlYG<Tg7%gXd$jiyD~gjZUIhlqy~jB=ijcXV6{6WS9mmP*`o(yH$Qgu`FDEO`_B8
z_RUH=6qQd>-4y!lDi4JLJ??)+jE~mdy_N-9^osT+>$&AtNToEaaZ+aM{W}S`L;20^
zzF<%DofyM>vM@2Lguf5RjXlbqu;owuq@udz)7PY~j*(DlPeop7S58fr<E*-!Jy$df
zriL$zQVL%!rSj!Xd_7PiVS`|`uxCtgSf~gp&MV55{P)xIpERq0ITRHD>)-z7Pgp^q
zcL$F+h*@5Aj?_g6zb$Fy24a`(p{hGawwGz-DL-4bZX%O&IIh>9RoC`zB*yEmbRwpt
zD-ES{efh22l8r*5GpRC*M4wMLrpMHIiHGdNo0}6^l|f40e+O(K;*2)=aZo>@23Lr#
z1SLUElr`!H?*iZgwWsFR5*?%qd4b|de*%70dS^iykZV5hDA+9WC~y76|2*S9bvyJ5
zkB-)l{lb~%fg5^RT|tO+(bsl73R?eCi3~U@p%~zPJvWtaRP|wl#VfM_31PEH$eFo;
z9ej~gf|}q9vRLe%Y&Xu|zOq-ar=J?WHVVwGCVtmw4Zi*YcqhO#xvgz#B1x-=EeV(&
z@q-HshC_$GqfrqO7T!x}FBxl}wFP7E<1CdF4h+&4>c##jl&mBx$ZJf}m}iywu0qoD
zDMQ%vDMd`_LsmHR>g(#3D5chP)GFoAgfGii6Rl79gg$~n!(eU1PaFbAn>>zFsVpp}
zM_VA^etP18usw4W1l4~8Ybc?7J}}V9pigzbG&EsyE!EWcAlwsJCZ`}|o?3|j<TGeL
zmHULD{UwlL^^p<di9s&|#8W^O7%}pQAq`%r{8&dqmUpeq0yk@r`27Q}x$uHa{`;U$
z?PLIMva9v|G^;_Dy3zI`jMj&1qL%lk))FZfPAsZZj!G-OT~KUP#E1olo>xg&E3JPR
zRt<BWNj&!8A)?lk=-KjXg856{A&^VLNK?altvHjG)8Cugs~IpYtHpUEFYYXURp6c5
zN{bPENoE~07oBm>LSfxBUjv|++<j&27?q_6S$~P&lx-W4Ek5EgZ_XU5IDQK-cpPjP
zJQ^g(Jj!w*veDN%zURvzMAgObruj7U66+fa{0JisyCN;5xRBw_%INLZ7`2@UO}R0b
z%=*wBTTFFli7psgB`apfE^y-bDpPtYAZQoJbie;-pChW=^}U^|pQo8i|7@lv;mGIQ
z?*W4&_%}5%LOa2Gt+x?CXmV)cEa0@0tNLX1M6F5jBq~d?c{Mqfu^5A&u6<|M(?5u$
zo7w5~SSoPvxqFw<kn!Og@ou<}mr`#yH7Ky^x}WW`etR%={6%q;^yNOg(a;*{8}>Gy
ze%E(w?K|L6@ED7zx%4ug*)ZZ`;!_*18n2t$u=V0y9RC%Z`T0;2-^6($^7h&7vVQW1
zo99E5*}eFWo4WXy$ZTVZraR7?HH#KGJW=%-L=_}~AXXa@8W<BY!2l?&AMHlO!*$FH
zuy|$@jS*Vu<PxI=bniyN3mx^Ei8fGJE2x|p__r2Q(H@SyheWx)Xe$9Ku?XUyhQLId
zn9xvRRK$3QH6a8abbmtcA0u^em73VB=)&@;tE5{IjX=(MntzgAQnE_c6gNchNw-Cg
z?l)RGpvlR?hm}F8&#X2?ty%eXjwR=6dY2<FWzmX668c8+F`y?Or)IQRPSdEs&WL0n
zq0)D<|5C6je<oVCzEDAo!Q8_a$`2{TRUBf>u4B%tsPv_d7(_zkyp0n~^1FDO?Cf2J
z@aneQ)%hhis2y^~;otN_gdW4it$hV{DgPo{#3!!<!OEd4Az=%KQikgJFp>fbIg+I)
z+o#cV$)&#}Iq+S%OR0|G_Bd8-_3&*+tv{&;4QYY%M(~1CShj1lErEoB#4@+~5vNJF
zWh5O-h)qPndFr{-x#67MDphR8gWuyLMSYqgHTD$dK+(tH$l@+r#MLZA#=g>Y;%}TT
zLB1usD4@EFl5Ib$Xwd_GIsmgv67`;Wo%ozB#9Sj$H{fib?m5+rfM=3LIi1%zq?=qT
zYd|!~2s7bVkl{(?44}GS^P2wr&t?tQV?PKdbjS`g9!dHaz;yQq-zG?>*(@(GN&!1$
zG$lASCDPH3fPP>wC7NcGd$0wP#-7in56d3+vWH`22=>gLW!I#x?Z-M4Dx{(%r3D%h
zc-*wvvf&b#-cr;iFNLf9`vy!ijIGi|c$MaNMn}FY)AG|TfK|~+o1{aOnYyhCS;ya{
z&*d?B+%D`I_5If~TngK%NQ<Bw$P`*uNH&abFnb?6r<hyRy^2#NF)vtUVC6znc-4Gh
z@vc}O;V5-@)fG&4h*Dtj4o}}zPEZYmENT|%Ixw5>ryFP*bo!2FpY1N^uKjcHHEvx^
z-kD`z^{6g}_7IJ#yeDuu(r(Cir^}C57m<uW=^!?%GwVd_w*OsES2x@^nvpDI2VAn7
zS=`6)G8)7QKSXBX(I5NgMOOIlg(EmSn8v4lby;iekoD5c?Lj0vLV}*@YZ|K|)s8@X
z$x>vDLR6KuF;z#EtTDBqGGUdn$TFP^dD~LahupPlewFNU!_x!{B{h|1#F<@g)#88B
znfb?OgC4E)bCynxRg3HQXRr7lU0dY>vtP4fPVxMe45#Us>b<H37`BDKZD^J?%;*|n
zD-6o}%4&5Qa4I+|pDH$&#Fn}%g_ab`2e~a9H8bhQF;2r>$l95;>b38*{%VbDm1`AN
zQ7@A(t1infuUBbT@l{1@LurS|FzmU!gs(35MZvs@uGs5u!&;)c{8F#4iSN@0^rkpZ
zsJROIAUYS*FAn-3tx#D3>YD~-qAii1o9Z72X(PKRtT6P^!?e>@Xs=-Cs|9JJxoEE-
z=yL>ZqAn4iH`U1MYxlJUJwTs5FtSW>PLR>ctH;#n>7xY&L8p__Dyyf|*y+ayi9ol@
zsTb5x_2mW1U|`bGimF%CnD^}k%3xtK(Ee1<t0C1N?K6RvLSa`@FRQ`mBfwB4I%m=k
z>QjYzE3WyWUmk=3=lM%LtcD^e5tat6NpwZ2Z!D-1LzVd4TtBgI38ozNF`~voe;QVk
z!788zM}Hb-o$}mWKRvLMs6utcME{|$33{FSoJ@Z`u#?uRy+$pNjWM6iw);+;dXj|v
z^7k)$IpX(Bk}O}lf%-otNst;yM67+JX_|Ay>8d^MF>*HsFv^Og3P?PZ;n(*cG;>eY
zlH1+n-d}C^AGmW*w%>%zyIbh>)B5BsbMC3V;L6qWmG#L|$&=&6<Y*8%Z4j2S%|VF1
zvN&8EOmj-~Ip#;EkWmmO4sbmeO^C8iV!&wv&G+2iWbjxfqtEALbajY}OoxlXaVlPi
zYn`h&!IAfKjpYB<Qz}EWWCh}GKDr9U6>fc%zN{PSeF*w|4IfX{6%T#f6!UPfKH{`B
zEhXL!p%3N!)xydf>I)3|3obdt!7+WKlTp?*nVwQspCCQ>NTqm6)f7bi6hV@4qcZ&{
zwEZIYcdSGuf=JksNlId_a<1Y~M@rdV`EYhi&POIsmGB>VZc%<R%4k=OzC-P>tdgF4
z7X6b-CYe=~V@xDDxUfF^t+^HL=eP4j@r;NQo>5k(2oEI6{qkhBt}{toZF@v%h=m6{
zNe$}rhw^7;e*?@;k?=`6SR2V|59I^ayv*3(7mqOAjW8<$xlJjgW-TnHDK(A%`525_
zNmb}ChK`);Za2Bvwg7Yv@RyaxRz+zRi|j2<axF}&dw*nh+W7_Yzty--n`Uu<DRc;=
zFHNJlUezF}w(T18Mh)KRRIiq*uO0J4pzXlDf<4E5#;{r*V|X%<)|!k~%)>8H84IRH
zHq*JdjNOgCc~$OSW}e0-Y#E|WGTS<-?mF`)@G!Hpw)aVyvDs)SE9kDUkD)#^zN}~r
z&x>}SY$}Hnz6VI*JHl})4%~cJ&Q5KeN!*tnBRW5=H2uWa>`i_ZlUwtOip&%1(a5UC
z4(^(_emcO?=kdHYTeog;NT<l_Ip?BvcvYCoOu|k>*CB!7ROrN%!?9`Yl0+HJm&l4v
zvu+(%WXms`#q?>fCQ1<#+2YWnyTAu;zu@7b*jd)ibglpL?dD7!cX+xJbt}#P?fZl<
zj5P_J^vk<$>IQUs96t-)<!yNM36mwF&<?h;)%z=L_%YZ`r~e2^{&j}+UM9)R!n$5Z
zOO#|rT%0AXZdmaxrSYGG#=`|J*ol~uTJ&_mQ+e_6-`Mv3fi5~NMo@N~3i7MR75>u;
zrW7Ol`}V(9&2g$NguN8|8)}gAMm6@MylUqmOhfG(wRj92htGTuAD?T+H9i|04lT`Z
z<L@i$orgDSFUI?3@Hb1Y9V1GQJOra17cZWP-RE0Fx@KMF+w=s2{hnXcr7r}QUA%j2
zx-NU~4gB^#;djR2t^1Js7*i5E?WUd=7pvu&se$n$OJcj4X8zeZ7*jpJIialWKs;in
zw>folHUc$gK$>%LU!<rr#5sW!2GGF<*rIyyLxw-d^<ntKj9Vbb?eVLQIaJe(T4bD^
z=XH@S(I)1Mwi}oC(`o5Dkn))jm-kpmsw_u2=Nbp5+k&G=w1qw@ELXqj#B`fz1c^4u
zdxho8H{F<S8~Ub(?-gfl_629$0%thvQBDYV^;MQbu~n9@vusdfFBggUhJ~oXNb-*u
z)Ybi^#2!7K=V`VZrR%)C4@k$UtjFb<Zd-g?61P6PjQ0ofc;;PXpP*65_1zj#MTtuM
z%6;_5AMYRh-q!448q+rIW)_{O=8cst*64Kpb|>8$?eS4A3SM*L8SvN5HlfuIwP*j9
zc`>=WxlR5DSJ*6>t`Uh-UVWgY-H|GjYQq&rXYWU|8Kqpi&IHVWWG)Kzb0s?e+aRCn
z45?TzcSG|l`@pqhrI`z_%|Tmw{eX~tyidNw>1|9wl!TcKiz&LL+pSGmH?%E((PzNp
z_0)XvH4u*+m$jD)hj3bmCo*KyY>G6<fOJUFDJC5Fk)gSVCKWZ%y*)3Yi|Qj$-^drg
z{@7{wBp<!`(s`Eoo}BSCH1a0lx;B0H(bUPH+`ApLUfklSM^9@fi-Fm<uh;eG6V((5
zEU}7<cZb`T%a|W?3%;Q}&Nkc{a`UfUKA6v7JL52{sYDk;APqa-NRJ)4Ad5{Wb3h`B
zZPyK}V%#!1w=;68kGS;wdwBnwUz_bd-r08F^O@f#^zGX4o#PWqV7U64vuVfNs$a?t
zp9iA^fRXn@xglJQidx&abd_3dQqA2WOrr=^IhI=CuuO8XL_?*zsXX&k<{`>LnXrWK
zl;k1oRoS};u{^&_B2%&Qw8KJ;L#0`jTR!Ae9KRgRxom32<~uz&h46^gDN8>4_0dAV
zh|#8DyWs3mZZlJT)_mXYk-Sy;bo%k?$6tbULh_novm_9D(QU#z^o+1?U(IfAz}ver
z;Wk%Z*=5K(_{_JD6d}Nz)ph*%o_f=vwytCJ9(04cZ#?8uozy+%7J0+HkH8S!a(IZ<
z4CDc}W48l6J31h-wIlo^en#|0paF%jDVTzpgPDR^WKAOUI-;54>|qVj_mzjthOmd!
zhs-1FBj$noKs0PLU_5p_(3G)=amq;ASgZG$(hy|dFd`_T9Q$ijeV`?+HsuCp2z7`8
zC<PqHUS{MURG(@|s{M0gJ|sEh9HA01&8W)4Ki-mM4`zt4?-+p#%r@N^cm_43+cz2V
z7@~{N1nL@W3_UaNy9}ve<F<H*aGiY;wqD1~0ssKFHA6iEol#DI|3v>FXUuXYFtB{;
zKogywm?6@Eo}Pi8J^&cr1R^{%^7%=A&rVOz+m(RkS~qKs6^$daygCZ$uva=8qBs>}
z78ro|3jW4ztujtbI^ie!uy6gi4^cP-2na|>A*FiBT!ESh1h{gApFsp$Nmw4p50}AU
zzNVF*1DNf3VJUiycpa8~HXZIiMCEjortOJ`1_H1sQq{<9eeQ03!BT)5AkfAr57cN=
z8zRb7y0YY$9oIQ1LJ46O3KTelFiOp(!}qJ_CWuT}={$5-bh>ogg~|8HKj*0XjT@w6
z6YI2Hz%?tgRJ&_*aN8Ep?v?qpr{^3W_CWd>(Ko?HF%+oF&>MF-7M(-a3|`DmlErm_
zM1^^xV+Y+O{vLr@1tqB-QCVMqE#4Wsu(d@i6%5gVL85zp<9?&FSN~j`IMeX9P9Kc;
zwg~i*nnPBFE_xq{+M_ShD<_vM{$7lqNWCrKY2_AL+-PKAmJgcEY9yE+=P-YHo0Gd1
z@4XLVr3C+&7r+kSm~1Hlnz!r?F>U~-pbO8%MVZo=+?Z7-r*R2~cK;H7MySmrkcPrY
ze&|&MB1>ZLN*ke~2s5WrNgLxR2%`zn+7GZ~f}=|ONJTe^k;FMMD(Q|DVdpxC6XS=N
zFv1L)FhO*r%1c2#Qjko26}kJ}^NU)2z#yq6!I-u<j=D_c>uqKFXByWi7rkSq<;D&s
zhxsA9t66bC`^GT=lG_ML)^$oT?=dj5V~@>Nm_EH!AH!0Z-&w0L$vH2hvO?t?EJMxZ
zuTt@%)tgZJ!vf9vkW`xbs3^u0=QPI*5v+PI{i8z?{Z^QAEP0)9lQ<TzLmtESM0GAX
z%s^oe?-#+kNYMz2$oVc~J69iZlzj$fltUUz*#SCM>i`6XcTTd55dJx~lK{wAd2Ral
z%mrJA&;b|$<N@jcEr27S3*i2ZX+RIa2ha{E1mpq;LFE3M-`Wc8vYJ1UHxZD){0CNu
zxYp3?Q)7lab0J^`79$Oec!Cb0%{d%m|Js8P3i=BptW^VZatp-MA&IfXy?*f%qq10r
z=CShd)c?2rBQ+LV=6Yf|t#nKp)3*sZ$^IcL-dGQKDmXifjA#ge(y%hQA9H^Dgo8|<
zP2jNr9P-&xApvE0{52YiKWE=zgWui>?|85qSm*B-xM5C+!H?4Ir2?*ilWpTjuYVSI
z4Hy{<Qi}HI1&S0un^})7#%mg5XFCE|P+mq^1(htV!P7n$h!^kd(WPR>i)z_ZQtCcQ
z(RzbMom7+>C!W`Owd?Bt=><?v`a`YstGdGzAR>{Y&oz^d(ITKc8k7$}qr~IEavg4r
zeijJ6h@%d5NJ#SR2RA|v#V+^cu*=nd@utgI+v4{<|HkWe?FLG5KaT{jVWSxE7*P4a
z2>%jQc?rgu?xcl0P<)#fOz=CriT2HeZn#_#=1p#NMr2Zj_V8KXxE&8~S8bj8`^(j~
z%%WtDYVu8Is%sc5ivX_wr(tjU^xLPT|0^$T6{{H{xR3{j$5&qCX=r%|7JnVZe0Qw|
z;D7!c0{Qv^Ai1qAbi%kP8Lx5pWI4({vW||<IY}h5%FMG{&y#CIzbV4jC4^^c)YAUY
z`-uqx_u~h1C_FXjJ}fhQerU%S<8c89hKRzjy*@g=DBjSGGoHZk3D4<s*?##7!RONl
zFNO6iDEF1t*VXI2g`-1U+;Qvjb|<eZXI6XIeqj3j^<Ne{C4%FK*kLZTcWnG<$Bnb=
zfazV0XEZIItQ}$5WrXP+Nhr0Ac)NgOPFZ+?sjw)D-L&KTd*D?`MYx0y)xYF-4j8Rz
z8Q$VPsp8gjr)!_AGyXfO7s=-Edb^Vid3yc57CS{oyEtsw6*qcmBU|Ak*|8-vMcZBG
z!J2b%Z7Lw?1Qq*Fhp{R*V-;;@YudC+`!g^Ik*ZVmg?)Btkld2DywlS#wDNL>9~>Lv
z<da!~Ndx54p(=72MEve|ld76eazTUaT4Lpl0oi3d;8Ifi)SSNwV=HS(ZFk_WV~Z$b
zty|zlSY1Z*gqUJ#447P~T-1LWV|=g@3$6%RT8^s=plE6gzd0)%PbgF#z`aLi*FH|*
zwjpkkXt5`UWcP}oCv#vbh0YX;cbO?;l7#bN+5FoHrlNz*P9s!!KWDLcrx$p4gLvJ)
zna_@a^F7@uY%K7J@(86}o9~JbBy91Z7*)#7k|8f~B}jRKd#D7vd)$zatWw_oL2(qj
z<8|Ami!bXtskWW9oc}uN$!Fo$0atBL2~s|l@RxnlR4az&@W%!dy#hch_U>QbfgP(t
z4oe7+80NFgZXmuJc!J{GZepBSUshE0%DnV$0mq)4Q~(rMGJP<Q_9rU|V?FZ^TsdkH
zL6JCLMaf%o8}^yz5&w4Se-(qXW~`~Ud!j#{=KHUur(7uy1uv`&)rx7_H?U>7Wi}l2
zd@wd>nL)3DS`@R8qAxj%g`MJ*h*xh~_Ne`64DEU8i=`YCw3>K~VS<Fi-RBJzbCtE#
zG}X}VggX_9l+k16I*GU-JA2Ves9-T#H*_TAEG)}}%GUyfWXsN$b)BCg_@bw$qtD%K
z=8EtweR%h$!XI$6yps+(?qm_n-}HE^ZOORa)`~q`H!u{UGs+ZLAeXgY27H|+ShG0w
zQLX!iT_Z^t(0%Xp{w0DT<S^z>dzEa1G20$@5W(rw4_zFh0tNSlncfwt2dae0XV{4Q
z7|68GB{eb!4K&ni`;2`ObdLUN3s;GzN^?tVv7ZJB*~i<>nH_}hq|W9(@B9XOsvgNx
z@BSwCE?NMbY#@%Vnq#ok!FAdf*1=~P9buXFqRG~p^swma|0e57KrFambwK3c{V7om
zMrPOmiyjz$idS250FB-vJ|R4Hv-WT3=;Db@E^EVU`|)V#0_l9?rH4R&Ywa@Ai>sri
z(|rux?L{n-$G6LJc{<2&nznm4_;9*r`*eB~!)WP*!<j`^K=5)_r}Z%yw`x&mx1@re
z`!4sAJ;xZD)S2=LjvhrA4wc;wgGi`Vd<sunt<Nt3kJgE7p6{oShWZpBY!L(^M4^(t
z$!T;Du@zM~&fHD7ly#4;5L4V3QiKpOI&qN5*h{M_F)moIr4JH4c2agwmjEj7@SyMS
zi~TAI8CQFE3!bjDE4iDd2%eE$O#<WJMY|wUc+5q!B3SUKg{4JI5%I`vFuB{%VO_L2
zl8^Ayjgwk4{Mi87B2NYMzn~DWA_J{o0)$;(jj4t<6v^7=6k830M$_7f9G83rHddOv
zr)lX4)w=85M@^aw=B{jurc?ZQrCIzB)OAPW#&1_GS6uG>LqJ2(lJsSIHq*PPq@?=~
zs4S*tRc+@|fvtyPnUJJd!;6l)I@Pa<ljuooZW9=>8FEy<#xS3T&@?X6I$~qEljz!R
z6f0|U{PI=410-VA2lib!AsPz%04~Nn$+TRlB@y&lz=Esd3)}A&+MUEOp?Uqf)V?}w
z6)m%MXLCVi#86Q@dea#aSdY<N=TqJwP`L`vY~r&;->SBwG?jt8t?PT8PnKKHI5B$a
z3reN0V>ss+ji=UE<KJRHpxmt;Lrv6dsk1mrP=GTwNw|b&h#PaNXs6^a>3-)>)QbL+
z%KnjF?ztHEpel_~l)V79ym2ZnaGhmI+7|GKY@?6a5JDf(&Ruvl(TVK%<WVVIWToF?
zrLQTkrj1&3O4~|=3__b&4&cAH5kKb!Rynbfdodh@ry@p<;=?gYQX%3@*rcY0!NF`B
zcs76~@z<lyIzlsSf7~EiP(ioacu`SzvTW|ByBN!_md>`vJE-d`t>Xk3?)W|)CB9bJ
z#JuIOLeHn-7gRjs2p*(-=8I%b#ne3GJogH$U5zTiSzrF_JB19G_CCq(p_(+@XbH3X
z3H>4vK?`&UgeKQ(#lWJxQy4S?{RkzOHW{M>YXQ{5Fid7pRTLC@C4$p$?<a%KVR`-2
z;9qcr^>M!L&1&ZHki8*}fvb9-z^Th35}@W<#ghn!oC>Ui=&;LBz8|Uz6hiu<KL+Uj
z(UQN{t2II~2PtZAlC5Vckz!js3<!pgb7_!y(3FnFhY*6oVq@qs`gF>lWUaeKeXcM!
z;?V6M?$togUzR}y(~!RK&uMei!-s&Y5}Yl3+({MPB5!ZDEq0io<Gdqw&z=BrQtlzU
zH!~E(rF}jYr5?<K$fhEHU2fs8-jZ+7Q}O<AUS3?jvTnI-3;wHG;pZE|Qx8@%Po)lb
zOw9D7Vr!;TKg(xec^Z`8?0en*Tb?ZP$<2~dpY`AhqMt;9CMpFg-{I+1r?jd?B+-*8
z)gSK=&Y&0a%s$vJtZ=5tB;ievx8r?!!T6+AX@1QPb5v_M-whL1c3;ZukrF&yol?B(
zC^{cBE=QFNFRDf33HSsKcs$<DKdZKV;p<s(^sHHJ9Ksh;nP?|hM3cK|;qBtTi1|mD
zDP5p&Ayfnu(iBRHBFC|!FwBR-_@?_6BC0o}h|*CPBP%oF(zlRf$8RhkE-fyJ^N2er
zzRdGY4)^c1nd5d-A>9p`&qsKv!_Tt$!y)6>kP9?NO4*IX<AEiEaAydSaZn)fbK)mM
zX=E`Hvx30?ozp^&&7{D<jhQ_X45mq~(a<LUj72<9pK=;`36;B*-Wc5Bzxx3#xg!bF
z<7q9Z%SAzdM#{xUf6R5L)$r8<hMFuBmp3jvH*C?uJ!wT!1-M<7hmtr<dOkClqpfos
z`b#HM4uv!|MITnZcD*0K;L_cx{=u}3n$a2CF!8df)U3lhYFPVD_O*uV%la_jU%b^R
z`tbqcOc+1>n~0|6sduAND-ZESA6$ZIX_q`Qr!Gu!!wu1jw;28E5FJ2%$9XCV!s|Bk
z4<T$sgd))^2SkvT=DZw-o@Ew7)lV8B2=_&VNSqtwU9HGT+}4Rxisp>+mmT0zF=J=C
zXOk*X<vL|QfkqLVH#+B7@}jfo3k@l;FHNT)C%;8%AiX{qp~?ZlGVLb5X~|uw8kbL8
z*T?cK5lc?X>yV7Cx9&X-LBNN$)vM6M>MRle^u{&1LgU)vg;JB5_oI%jd0{zi`L=&(
z%WbnoL50E8^ax33X@S#vXeyeXMLNyJ_qICnfptp!Bnf!^Ax++^>=d6dH~{to*-&EU
zLTjffE7uzh5<eWp&JS4zyEKyJ)W3?Hq|wXl^1Q^4Tqf8Z&S09g%!Q4Ve2^EU#uxdK
z^~Tk9v-=C^%=m(^>e9~G^cJSMh<Q6w`L2Foh+8pUncf4@lHMxJe>)5CVm%<4hUXp0
z<BOYMwM!&gbfM01xtGoopOX;D90{TvmxvA<_iuK~c*cyz-QJU@t>GtRWPy$*h|ypq
z)%jll3qbV0gd-NIQ)kc2r@XWqVEsO1F-S9V@Y@WehP)spxqe_(+nT(L#@PIOX0=?|
zw*C571Z&R*+sn<r|8m=X>ZkXuSo-QR<KbBQ^c8zrr#A3M9#PlD{`B05)$1mWKZ_6P
zu;T?>!i77|OxZZS0kCeq3jl7?YTzQ;_Q2wKK{mY(B?mTQ*EW>ng$-F<X55e+w2s=o
z{7hg1XNOx>NjAq7Q4hN_XqM3L2^E1ZrnaIPM7mR|rA@y-MQ&(#Ve8$wcRl^o-?rZN
z#@lN)zd_u$Pj1+L%PqHxd_7rw@{enH{f68AzV4Glr#9WPX$O(inyY5+y8Gd)!obUB
z*jo<p(!@<<J_7xzk@_3TDl@}7H0Vj;9Z*%uCleYFJ#2x~Q$ME=7Tmznfdj-7Abvx$
z@N!T4oBWQRZF#~6WbV>$rq+v3JjrnIRQT*XO4mZJ3M^y7jg-v>{Wl|JBj`P%jFuqM
zderkEBWf5vJq_;V;XMhc8-p9+pyWJg=H1x=I~9{iHazF_X;Pp>iv)s2DNROdid2mY
z>j15$WG8escAZM{W{sG*a>esc{PS~Cu6Digj{4Q%NmI7oG-c9)kslr$-8%W<J1?rA
zKW{x*^udDSahEQBbnfhD?)+WH;{ST|-9J2aOXI~Cja#sET-oJUlF#Q&96fx&-s{GW
zTE~4yre<q?6L2PzseC~F?kp?HlzSkV%GJCm%9NKwFA6#==Sm6D?Tn*LWx0V7&bXW}
zrMzl&pI7zQc+<h#_aXM$8iyZc>5ki8e`n1dCr_z2k9}e5J^6PZdFpSk-n(Jbt)kj>
z+r$Q8^{Gu8ezHUTje6%>Z?EBX8*cq*-6wC{wePC%7;<dhOxV-jGoO+}!rOq&yxfq!
zyoep`0D)@{z19$cmL7o{vNLssuz))|Eh6>1-rE=-Jf$ffZ)}XmoA7ZJeQ0VDob-NE
z6Qk`Mz-ey_^%Rqoa`f|TClwvwGaF_BIGe>pKT6TrKpzEXI?@b2b~s5vG>Xs!4H3<W
zFLQ3c{Nj9X`R*0t#xJ|JVeF2A6-CWUr?$7H16ph5tLj&;89ipzN{k(h+$7xt;wp$g
zI8sAACgLGRaYuKC@Hf7EK6!tw+OA%`4%VoWcHMrVjpnYhXkG;oEWkP)Iyyx8y_gOo
zEmb`5%~bIKY47MDYdbnvoYL>Jf;A@mIARq3)}0~ln6!@EP3~K(=FCTW+<E3xVW(~%
z#qG0MW+dq|a1IfTvLb>d^H8Yc@gmR&Qfj4{x;h=UOj|gaXQA&*b5KZ&VpoLP2c+v1
zJ-z~}Y91dDk~5~o<KK$74d78~sesu@fvX=c@0{B9z%#4YZocfm${Q}eN<DE|!L3hD
ztgUODQd>Jwe5-lzn5z~%qO5J2+(oKNrnYY-!9Vid_S(sfb+r>G<DPb^FX}(lZR7@V
zW5NC;ydYn4R!kWU0Ivo@VWA7*zaysj!8{M4IwY6CUJ>jyP?J_>;(RR4fZK|LF^M}A
z8wtz9qRBj#g2;2Ah9!**M~y=q6^AHCba+cDYle)*csWl>STjeUJr6oNv$CTxmX4?d
zos7ofab@%n$$7}gx$=T#H2C&PawawHq|l$A0=YFTD4<lUi|GZu$IY}7j8HxY@ngC_
zKj;<x`Jp0$uefR%MB7RHL{FBH_>mWWdEc*g?_0Zc%g?s|X3pH;wdVE4=JqSE>D>L1
zx<?&$<OMR3Sc#OY{!0Boee}c6`Q~5DyLzg=usC-2^vg&WIY7jZ9{!bjO#SoG|9E8I
zq5J;2_ZNdAxjj!8=FHsk;CsZeW0M+J_o+`G`~7_rk|+N{THe_}_T`qAZ@7u-8~mqh
z(k<aKIUhHIp<3AtA(;*ktTiJVjV1&{EzT@XNTbmKk#izw#5l!CC=^kIEb7uLtEy`1
zAjHTe3{MY-h|!PqfTu3Mu#&v9gS>6BrnjjXD@}Icb~U(><gQ95TaUG7it0D{UaRP6
zZ8eiDBU!0#5d=SPZslk2CCuN92JF32Hv?>L0awA@!6ni)PcD-vb2(vsmtw4lMw7w3
zbTc5Vf|wH2!*U}SZBy$Th$cjDDnyXEXv)Pq;k6R<MpjUeO0>%&?8qONOQeJ?Gml#3
z%ygEG$&=7F2Qhq*!;)gKGVqPjLpA1A@+G$}m6Zzh8fbkig-hW&FnVD)ypS&>ud1hh
zHg{F$#@9|=UiiDqThv1(TS<-Q*_J8l3z@BAt5GNw>q`Y=t9t0uiQ|6s@Vo6(7U;*1
zxrf-Si}>-QZ#}IC4A26;=&)`jm&YyS5<aAf3p|m_hud^z0DeUFDON*Qr@<#+N;ID(
z@n{kRqq+=G8$(pdG+_*mc~K<;V>`izyLN$Xkh9{lK~gvesDxmJ=Q^qcoS!8#nK(-h
z4)-?#fT%tIvfe^&C!-E@t<Kfu&Rq7#n>Q2J=W|Ep>nm3zKTr?7^aP(E!^y_+>NAJ^
zw(>i7s_(=9N3zp=@2bi1r(Q<61b*vA1HYXhnHMp+M4^;j8n==2MnKM4l)EnApv$48
zgT~t|Tp?(DHcDtFNT|ZwK*P-vg=PI2r8(44T_J?1z?1Uwg}j3_zwp+BPpbEx*vFfD
zKHAmCgNHiR{puecJ29Kr^Ywfqjfqeu7r+_=-~-qSbC^78@gOFwO}JPGU2MWZQN6<o
zk&)!%OrTE^*l(YNcYVk!iLy=dm>6h)jpbnI4Pu)^#g?N<A~}a~%@a*}Swh=O6WU4v
z*nLZZ-w6CRp$%0mCW<q(a1m71<k0YGKSI!qv|sW^k$L^EDM^I)SLYaV)sdtwU*~FX
zcj@xgmw9upA#hDU`8>War1F8yYTX^dp5KO!sgJOjaRksO0QB*54{(VriVuN<8PNpc
zS^Nk(m@pC=>WDxTlRJw5QA|J-Hzk$ZffRI8;F_id(zz!UkA;%clS>_6CcG!tgO|A+
zhWoi$EE<7`UrviA?Tkcrhav)r1fWO&DdNtiMvK8-f1G8JzDtR|+(30`gz$e><>+(N
z31n!V&NXkIOP8nqI=rdpZ=lXPeXIK9Q^B6U2e+!REkV_abV*T&V|uEa4SE{lws46;
zq=g&wG^L!$Y+oVTSENsFw9`;XRkb*!s)bBdy~tw=&6O2UJ64bjTP<)X24J@#k}wqD
zO+z*yq!P4Zm~$7b?m~2428_2j#ZZU=%LP;!F?DT#Nr%Uv_oP&M3u)Q=(Q3awFn{6u
zx7@bnw$JN+tP5}A)7!)Ey{bO;(qYi*da`b~dhqcAd->fv)h_j&U+nUd?Ztxmvdhe3
zNDWPR>lLOqIvM05jQMj;tM#DA$@Q0_$3dNuJu$@yw=8Zi7HRB7RA21qf6Az4gfN>D
zO@t`=2>~jUOF>UU{mpyGp%fCV;3?Ubu0(brzLpI*2}qnM%*JPh7`f(0vE;)6G(u~U
z1GF*P;mVNlEz?d(;qQ0dCmc*rMlUEYU%=}-!u+0a2QT8Yp6-rtPg}Tyi9)e}`6QuO
zjgePV*WWyq5*1$R`3GK8-Khs7I16ax;>Pu}eojUlq>O9<>*uDVfDkodr*yC*9pFu(
zy&oME4~3)O-U+U_{`zqEdfvAt9A0zw3fZb)9kDYX3j1Ll85li#aUD8PPaPFM9gmqd
zD#EZHdz9vt$w`F=apWDCs7J$`aM28g%MNcgx~Q^)1*C~*BM&l&piAeanRkq$UA<+q
z=vm99Xe+k5+}LvK_2G4V_R8?wMW3$CBr{HzzxGG|REmf_HR?Za-pZxyvo0If9^zJO
za+XWwOvx!qNtsuZvh+-pvI0AmvI0b!#gw!GCS?Ii-9QNFX$I;B`dMRCH7%o<AD0Ux
zh4=MJQ1$>4<cbl1fb5xxctL<jK%mk?QGv0eoF7k~Ht6-1`6O|hI)fa$OWm%n-^`bH
z^jTcG(+_#SDa}gEt*s8#+B3`CI)V?VVU2HfV0&@z9<E)JA3O6+cIun#u9R;|iBkFi
zqLh*&&F|P5-gbix_2Q=O%&W-8?>JYcD%6hFtqg}(@|H#A<Up~`zw+!od~;{uOLaZ+
zY6!>a55szkxVyCVX5__~Rq$p7d#!?v@(Wa&$RWC5@Og;>y5NE$TyR1E1s5=U=Y~zW
zb5agP_JV_^J|zcShf<8WodO7f(rjjm^o#@(J-L1i3`~+@N&7YvP2bgj5+L;1kdAP;
zgB&Bv;s4hbmzOVA#YN?6$vidQpL=!PPT_CE=>B_^U!4DqS$zMSN0<Qsy#v|Z1oX(|
zZee;S+ha-wY~91$r)-L0`Ws?8tlQ^B<m{7*6KLV2cFma%w8*B(xoo6`lX*Y8X&~-`
zl~D3AJ&uWd-hnjWGBA5*m5>HRVre0aX8Unh+i}V{#>hSVBe3^F%fh>R^x+P5Y)5%H
zc*WQ^r-l8!?2d@5yPapdM!<S4XWrFq(XE4+KaZQB<x||Le2Nca>H$D&(nz26Ay!t6
z@VU{!8B^7WUYM7U$v2iPk{ry@wH$nkgh}a<LysL%PpK!Ldi<jW*S>zDW5LxOul@eo
z1-wjR$4<QYs(M^~{kJDxJ4Obnryn|aa1RlP@uAM-gRpMkkvJ82lnoZ<RxJbOVOE+}
zDS|?m!iB)DSo7RG*3$)MS2C!c$v#lVj9z8Tpv=gi5GDiN5@;Ky|Md`)pf|T?urfeE
zQp|a{Q>zDdDy4(53FgsUp3F;fHse%&sxBTV3Z2C!R{@Y9hDDhILyY_vDZY8r&aEHv
z{K8;(W6xg!@O6{vUO^z!)VmAofqm1jc=yzGi-|#9-=Awe9Tw6;hGN%Ei+Z1KH}Ecl
zE9TZP-l6NxNu^kW20-Q!#U^0wLw3-dADY(^%F#^5(M$*WC=9=3D}}Nt=9c1J56WUr
z5M|LXDK-~88l8$mLLvln&MH2o*sV+VN9#NQTcn}^`2N__q?|;be*B*8>em9vn0@8X
zx2o6n?0DeQg)84UvEu6a9Vg%HSim13)xSOQyJPArYS)ox!e6Af7Lew`$B&Xy^~~Ob
zoqGr&;zN&7IjBGLnJxx$P|QWSpJ|@P!#s@}*iY4$MJ-Vp2qg2voH>oA3W*$}W~|Uc
z`&kO9auyb&au)WtWQ7hT!YHIv!($-^s0DF3A|-tJHl&OdbA}w~F%XM)`tVj*!XP#3
zl&u5CKavB>A<p!eNAIbO6%;Z2r)TvrAr-m?>M5v6Cts@a4b`JBnse7r$ex=kD$B<2
z&l)R)7u`42ooK#Xy>~{xaNsWWpA&P3PF7DWYqpcEzj!1*LsZN075-&@#MoT~Yr)e1
zS9}0?xSYG4OO(+%1ZcdWj3QV*RY=Q&dwI0SCoc=}e+4b1AqK{N9tt$T#+!j6#g?wl
ztYS07J`l-LS`}d3%#K?>Xt1T{6_#OtNfzcTf(V4m7~;s26en%lampDf<iW59rj&bg
z&b|0ppQ<8ZZDQKGY%y>4!do7`q2&2p!)I<>fBd26J8}iz;OnoygZN&$bl%!+>SwQp
z$<=@JTSKdtT>T^8^ohgTHg_(XKU{tG*B)Ewruh#poHTXTwnwj73pDYAJ$VG=$je>B
zC2Z7ZgEg^g@sb;4$H1<!bd&~qBScdrTCa&Fmz|i|2XAL`redaqlSWcb>~k>n#Xy*>
zRX7AG7Dt>V{l63O_zUdBFK$|uqsvj>4zKTdbA4Dnm8<iKUNTO7;%MNTJ9}-yqQFsD
ze*|Kj4jS*RX1R!@g_gLO!*WxHl@MI%QFK`>lrz9$4K$83U=cCbkc#7EgM-$)vcP3!
zQPY@(KFyw$GMLmjYSkpz3Rc6ia^sq#qTX364fMy5{`^c*9g6U-j_{a^U;51@W6L|p
zlYr1aRe22ID69&<Fm2&A)1T(wOzp1wOEsVTSulgQBAolom%0%YSCz4965E_j+gzH1
zZZ18-5EAEt^%+x(vJtO|q}p#tfG2M9U#rYkk+hR(qSLmN+`B@p*?En6KQ6^gvdrC?
z!uwVqBE0l(^rTF9o#9$ogJA~6<i{B{NVweTu~>{QC1Et#;hHVSCeh_&Mi6exwONOs
ztN6!K&J#Av-U^$Xaa1u_zn1k!4-c#Rcq-o3$;JvrZ!pS+qc+8p_O(t<KYIANH$EOj
z|HfURq<f6A2VOJV;5F0H!^5jSeV@MOf`89>R56*2irMtFO|~564(SbMi_?=)!Tuv7
z)8Jn=!7Z2DlkQF3X8*|}vj~^so!3QT#8sQ3lL^q3o4k2_p7{$hY8RRCzNu&(d0>tD
z;yvmks&bc_Kyq1yqVA=l@0(YJy+P61+M4l=QEdHYpZFEh3-n5*@#av?I{O&1%+96p
zre2FTb#Ti_<4p`QSx~6MpwL#RVL%fJF;Q~E8o@;Lhw-!uWg;x$>0V8Cs<&<A`SyIn
zY2w!V=96FEtlmuST-)>6iX2h>RQ<Klzq&P(ui+<Tw6vH7r_rjeA#03AuV`y&arb=Q
zb89B<D$8IX`_)FP(IJ>ywY_{qabYX#;ZrifMx;jv6hnZ8zLP8lV+lbBeiJ@dD&Is=
zA5HNYP=zv6wM)hXQ{M*rLp@-{U#}{2lRPp^%vnZuFHz@!Z8){ITwSR%!cN2>1ST$n
zA(QQ+Ssk0wBeIi!k;-oy?4bqrAaTnztZxChV4;DDg@%b}?*zCf(9lsZm{_Nd;iRGm
zL#Jn^!GUPjLG1yjHSO5-2w^Q?&m91hOo$LHtW!cUV&krvvXP)=3t*X(g(z+O>7I{r
z^m(g<7kWf~e2y-#YMQt!@H81W<D2&2C+Y@R^MRfQeuDlUFua3kPmfOI^1uR%ktCs4
zslFT?ElnhJbTc}zX|g_=st3{1w%>CAMB_Bk_cWNA%Kpa?W;)%kPe+Q8z(!%!dfln7
zpQW!g^fZw7QlD*zBsuokLL@2neKt9n)U(ef`cxkk2LIY;!w1*EPXp1zXWy^R?OAI4
zy6j7t)}o%~yt<D>nbx8}^FZOq)8zlOlfV2}y;^Peirc@rO8BrlldV(D5jph%SZ5B0
zE8u8-Mth*WO{}2__bPJT@YW6N@5FZUw(cFy$mOSc`)D_liBXO9LYdj0R)fDKfnd>$
zp%LQjP+yMd*0t5C&%KySV}(yePWTKWg;H*lmhmnGlt5L%D|RI$f>=TiZiVJm4G`!g
z#gI<|yd`22Ynb{=>_bUI2w`RoDMf^~0lJM{N*VTG=Cdw^A}Jwd6(X2&JLOD}rVw@k
zxVbF2r5FH&DQT`aZDXjb4c1g+%Zb)_1CEC3Oo%n7GG`>|0e#M0M^+rZc+}mKHm!Vw
z)Q4xQuVz1e*Yb-Rj}@1Wn|tRst;4%-8sBzt>nmA_AswUR>hYfEN(Ft>s!d}j+%~2>
zdKsBLVnQvem7*>1>ptKdoDVgLA_hPS2|bb^3xGFArL!7kg7wz%s7N^x*?v-ySf`0y
zN-2;m(YOjJLW|TAq66Lud(V&*y}P$GZH~)&NfuMxQ@!QF5+c#)LMutTiJ|%DtDn8*
zs@v{^=<3und}GGbZFAKZrd+0*T0f=d*-5wm_{A^oxL-H*8wWpa_8-WGJSr!X&U`AY
z2L9%9(=`m?W!)$uZps11%^}i0JqvCnk1|us{-?1Lr<@t3hAqv7af8=KgL<!4$N;mz
zWu9H=L<ZF`WJj5VO+(zIyEeUk`=ytUi&jU=N;mFmx%|QP8=w67n`b!k;s0#Cxu))l
z_;7zR^Miwlh09wz=8z1^4_G_cwGRNl1-PHEco1u~h=3dv&4GB*ZTK+^h$KynH(G~}
z#njs>kO8~MU}#RC8;xS4X2MD#ofR|UPAi3U7`I~=ffFJ_MRcc{P&ma8oC9fa_OIwl
zfxcF^vqTbiK55;S)3e&{C&uP*tNPTQ?MJVkacpwaZHwmp=(76`k`wRU`>>a+te<jv
z7fRxyHTU20!K3pQjNqTheJ{0dVL$LJ9kg=3)?;JC>^5N~k)+q`!tAzJp9<x%$yxSB
zWit~w1FdqfP~MDXeGKww&e{aqu_1_(5XjTawd~d0R5hoGp1+TA5bgQ329Qa_cH)V7
zv-qC&@vVpMRF1s#^15wrkmo9EuDEJ5dH-Wluwu!Pkn`Z;jVsoyShbO?FTZ-k*d3gf
zixP5lUx1~Wp31$7n3tEcBeE{0WWbILjCBT@Z82Dpb$$%wFd^updrSCeEa%I|fZmsd
z5uGm;(J2M}GO~f1y1t@&1qtcx1bew?I%#fr{ra&hK5VWmo2fg<Un}sc8eY|;7fSiJ
z8iFrv_)D;$x;a~S6F>Cp`>*OL3G@0Utd%yY^<p;gqlByD8n}ZT?ch-A#jZ}tUT<WP
zL@1(Ez(ZC<8H(ZfxQJ{$sSJXZb7&Pyja{AkK~`fpnaj%QgB;38;7&T+kEV}=f1?mY
zvM@@cRRrVX;l)8#)=89$PS{uroEj;OG-vtp3qln&L+$mfM_rMaDXEa0Nlu?zSc|uZ
zN`R8V#&%lM2aTi+KVCdBfx#CI!H_(DPaxGtMOD?ydVq@hdVr94u6`XsAOuY{gBN(N
zTG%k@FNd%GG4Z@ww`%Fb9(R`McTR|5UVi7$vByVESof2Q$4_|m`kjNTs;6I8Q&m;l
zdg;}P>7yH5Bl21nWK3yUx%=?YIjytqy1a#yhO@Ffw&*K&zO{MpB}2xJ9XfUN=%9BH
z|Iotv2@}RHn%6K1u|f#!@)EEEh1}1%M4pzr%LnDRNjVg65@y!0hhbn79gN6<lS&pd
z(OERzoRteA6rkZx0IhWvYsj@2u}0F1oZOaFnv-^VWCd7;)-BOqFE6+?#q5s{WWoEV
ziLec??`eqWn_pdj!$nidr>pVi@?*=cE@@S(t_)K<zIDySi|^}s0SyC{OUJPxJ+o5J
z#N*UHG{CQrZXajkvbe?lG|GzAKlIi{?B-4CDIFl7#a=@R!9h07jexC4n5i<EZKy`(
z-o%LL=*$%Dws6wJPH6eieSud_7@ZlcFQ`|=nC&C|x>y?Kgg2kQI6Pn7IkCEW{P^nX
ziF5;RH#Bx{Lrv0!t1r5!x@N*e+{2j}>S&ULJ)p0h#U)JGvto}R8Z)wGXGO5zi!K`+
ztnMV`jE=HH2l!RCz*;R{SgXX&l}VALm#rF|twjf`Ho3Fds)g!0Z*3-_%cgaY{_B3A
z^~KrSx|^GB_`^;z4Nscki8D3Xnzv~XaSQGBle-V9f4SkPzKgvwk>N{}$sr(<1(;9H
zL78;Llw7e(ab|-=T9FMF5o;Yu(VJsU3v1Bw9P$~6$bN8BOg=OGG;`?#-uP)g(~l;u
z5RJKCYgYB<Vy-d|K$8VCSB{kE4NwdDmf)3;a-&XXYbKl5tDlis3)Sb<FPDRtip-_*
z*Bv4)CTkioHa6PScT~>WG@fiy6a58{a5ccd5{i?iv2zD>tH$U#HYZVhBm(=i1i1+l
z4`Oeifo@r}Ydgcl1L#(&l{`Jw`%)v-!0K~sOH|t;TOKa;^iG?P;IfF%Ccc5|igTPk
z0d~5MdsEYj%wnv0h+WBy>`*CKMvXH@M=X}Cqy|IL`J+*}(xG`EA`hZE5(8G4qKOz?
zWvmX>B-X1YF?Obnn(Xr41Y<c(FqW6V8wy!lq6gma-J&|UE+r1H#zdOSkjo`ZC>GKV
zm|O{X$tjf(Bq!azKsd@u&5GI9S2RH>_MnZqke%s$8lM}!<E!S^Z`?lq&+C6Wwgw<_
ztT}w>s%7C8b!1EU;PUox3suz<^^=#ax&8L`rki?R?lnN>H~JYM-t!ynnO0K~7XZBr
z&@OYD4gj?iPLH2fm<T;wnA91txmnJR%DO%}2PmC$8J%+}opTG2&bhsG)<@-B259U+
z$?xX&-I`kDYLv`CO0pC~!j_(+K_2tBDVGW*&L&c9Zg}hI=C@Z8XLy=Av?ct))hqgw
zMg2|Bv0f^;Uh1Vn3a27Iz<NvS+=pAQVN+ipNYl=JWN58}165ki?ojPLi+7e2Hs~j<
z-}vskx2)UnlXu>^<;QQ0nXvwr31jLf-n?=ADDugBTkg7N%e()1$4|Fzem}8%?TyQl
zo!72iyA0PEQAdk)u+A*7UUzT_C+)C-b)wUdEipX9gM11`!4agq2LKvQ#3mD3X%SAM
zP%B2XaUP*pvIQ#H0yc{1qS!0q*BZUC(Bctj9t3L*7AJ00%#xg)cDFx-!mUS4isz&H
zOEzqrgMBkuKC7EOG8>%C)L-27(Bf;=zyEjrvhr1`jZA87+<jTo_{p1QE>pKybVcGe
z<k(Fc-}zj9*Qq`c5-pSYI{%t$ez|APf?>!npu;5L3(f<QyHuk?RtjI|>APf01kY;H
zbHf43xpd%MI?a;Ez9>E2q^BaNH=`-jrz(I{8tv)W?nQT+<)p?Lo7}j#ENJ~9)wDmP
zPXxamJ^+8oV3L0CZQ(0b$Ext2)lXcr@c8(qpS8Bmi0o-=C2w|<fdBMoMLNsm$rdq0
zHZ*O#`M)2Xx6H?X=2^Cc*+Ibze9q>s)B5@#kjG9h9vN+nC2a=kGR=5K#$w<+A_RcE
z4bUmkl+zcHvwA~XiGm~vv@MZEquVUB+E@sdvNWr0fiPZi07j6x6c9pIQYrQXiq5u6
zakaU%;L_paYMZKt&sY-PsB&||LQDPR=dQ?Y%sDn_ZO>7J3ys*paf15V<};u0Uje^L
zxSbq3VygqG)fM;lOt_J8*#N)OaYtSaHk3wW=_ICXa*SQ6qsloBOyDR%z}?=U33i-8
zk0T>U^0I@;*iN6rBMZUiDj5>yC;Y`|OT3a?faax`RXV&<Lh{opS~eCEd%G;^`jtA^
z{!wx%!cN!X<L36v#`fmws?mYFSH*@t_p4p)3#6el_g0nNa{Zu&<B#vpCQdmPDH}OC
zmNkBG&G1Wa{dwfGZIMl5%0k2H>gwC>d5B?<x-+Nw{o)>o6X$7CoJLPY%3O?fmC!&~
zCz{wXe9uY6WMrrRJiVv?JhYtQL5`wbGI=zPrfH&Ul(6Qb!;~L#bp*sxn04!m5Q}Q0
zy4%~P5x@FwNw8(Y*v*?(%oC>7k9y(#t9st;s3>tvt!i7zZ^re8!A{Nwxy;1#UMQDI
zJ&We)+9hxtJo6aZc{H?195X{E)|!~Xa72cfs_o)wet_*5Cfcy4og#Oe6J^3ikvk|T
z_AV-7MlW(tkIObE^%QzkRfjvS39N(-#eLuw1AFil;qK;NuUN44^wjcc>X8FG)enRj
z4UIkR@7C}K5Za;}=-5EU@L^U<0G}8V-iF8CdIr%F$zoq3*%QIu$^q&b+5PGn#7$n9
zExGj{bn7Lljm%r5?%1Fn5;iwB>PfcLvxZ;q007k3XzgArtkXVQAA!&IaSwBeY^wJe
zSjC`V)D_c~;PlWXu&!fT!wCK3c3N}DuCU3zqaY+-%f_RJpZmkdepbWCfcu$86|4Pg
zooqRJc-YL3PxaP3(vK<@t5LBEU)$ugque1QpvUw~UvG`VVl-LcjyEGS+jp+|1kL`(
zvis%70|MRtv$OpCBgFXAkB<oXGswJl^}}tSsh|B+Jxz(gXB$jC>jbWc<JX#vnLHx}
zulDdr4xmRS@InvtIJ-_E_SGqfR;LiZZ=J%R&m(o;g4lSRHDn=rFJjfq6(p$sZ58?T
zMK-<Ousdng>C;-tvTM|Tkcw;6hH+_nok4!tDC*MYHaW-|vdh`nXy&bH<_|wKThn-R
zW1~~ut&VjxH5qxU)q>e&a~i;LinrY0w@P3?ey)^bVrAEOO6yXf<5&h{{g@nffSKa`
zNZe1f^oG<yK5uOu6*E8o$>$(tSCB<lt1B<Nbjp=uOGBfNP9Ll8VWiH}>w6yHXV`O?
zz>Pe0>6Ai$RefFS^jCznS`9*24{LLBE5BQVz$6=uOut=&aA6Gs^Xzz{N^eNHRIEtg
z0aMA;m2gm(<3Iz2@wp>ak>C`;!p>|Or2*;?wX6`4r|t~sJ?;EIdybP`X}P?6$s)lP
zzK;Z&yWjRZ9#D_r+IRIV6(<;CTomFNIT*qGw|2}J&l5T#irv5(3&JPC5GC_jlZ88)
z$PeS%@`Ko262(RWpgT5%=7w3H4<<;RiYc8Lm|A-9xfavec$f{(mFhhZjvBx%NYp*V
zJo(ITF#oaZ#vv2KH8z9M-MEOfJ$F&1MV!=p^w~=$iPlKN3+h9Q8{I~Ot)_B%l(*ha
zY|hG|w-0^vPh)pXU%z_V(2bSH)Z<HTsI0zWsrtst(Tzh}*Q{^5f6SjB9eVqaI)@4C
z6o=Iue!M=1)*i6bfRzJ*9z@h0wAuraViGxghni#LzCwB>fnKvx^op{x_=S;VfYHkx
zVFy%cBL)V*Wfm?#;eSG;?FeGjgw$j7D#RmO`m#7S;$SM=4O&Or{9I8=EC;5oLPZiK
zNuVa5`B3Idy^Mw^-T2#|e6b;76(=-5_gwP?(NcNQuSwe?Ad%i)Q#N79jZ3TAs%q?d
zAm(EAp`K4#hi;6%Ornd|#42xCNUD!jZX7yo_4?^M#{TJ-gKr;NCE3XBCP&?n+Xw&h
z&tvXyqdj#A@~ZAM{}tf;QVubq9`<dEC<5*lq(s8~=$TLgdg#?Z00E-rEDHk#iC3PS
zM>byi&>!EBXR50g?j)~n*tTichOM`<SmK>CpORDBJe>wE;Xw~VPmGu}RO7|WBA}Y2
zi{(A^sVnNgT~;8cNkH|WuG~%mXaC7Mb*`8To&*ZsN#!~SovU-hjpAuGY3HJEerdG{
zOS-q&tn2BT?m1H<yeq!R<pTn{pLrJS{KPK&U^J0UONQAwpyLjjzIAx$u~)e$rsxG$
z6k!M%!Lo*%DJChU*xC=6#LpTFg<v$A^sysGIy+c2A8llk&Cz5!JIW1yK8$2`WYbPp
z*-nwQUUQ<=&c2~A@IRimq9-W8+~H&x9znJjpWgH3E3<FgIXg%1jLv8pX)|Zfv5c9q
zdiL@E{`JKAMY9@Oc=5L+!}rF^G4({E(2&D-9|mWW^=tK*#qK$F+)L6=9az?$B@9lV
zaV^M26RjI{KvbpmUnheUU~8E<h%9gvl9C0+FAGr#mjx6;>|;x#ghVRkvjEF{QW11f
zmh<*U6Fze)=bbS7Qezt6w;m|$W052twke`rvx?7*wozmiCR+jR=feJ+KpeuG-fC^F
zP#X%=#ENPh->TT;gAoF3=QPyD{GO)28btk;&3vMLN5}MKlVaJC+9LI19l1fh+3?=Y
zMf}V)LrAlsZQlGiDZQmJI`rzQdh@Fe_3GxPdFnGiweCZ?Swf!Dy=?H(e!hhqV(dJ2
z`YaepnzaHa3o3o4F5FK6v-xZ@0-nd##jyvt(`Ze{;Wjedvb%6!d03-K&%(22QYX>b
zUD`AkBRxOlBIw&l9l;F}U>6t&0&WlXNwBpe%8m@{mk{&vCF<!JMBH-Z@MfZ)sh(cE
zoLFY6Uv5cu-mQN1)JOaF{{8QJ_kF}?6Z6)?$t}b<UHy9bQlgu#p5Aik$QJdhnZ&YW
zsrotJx$mQo_C55`-%}V6`|(S;pR(MblB?@N`$x2COSGrJV#5~cKw%C^qs=@4+INsF
z4$&LVm{P1Y=7upj2%1LogYMq^U^<o<qh}`y18^?{_xzxZwD3wZhS-e|D*R420s{j$
zh{`}AeP5$ejXwlGf}0#`4ZDbqlz1v<la0&Y29UphB{`<n)voCIuT?R%fgD<*K0(rt
zVW)!4P}K7e-X1hMT3WKy8>YQ6P2E?lGh+)w32B9=<Q9$xpYs6UpxZ&udImVH$`3IK
zdYm$5&e)Y!Xh+{8Q2%rL?YG0<e$`_XIs6UswMu<g*r<D&tKvp*zv1XCE82Z-rwGGt
z1!DLkN*L5GOi30FqSYBm{alnyT?$6&S?Z+I$PI<3QAe_n1&W0cc%lpj<715`Gg#3k
z!y)J5n=9DUib$%OGuV-|Fsn5RH4;yNhvG^FkbI=cXcyCc{>s{+D51HMoCeGY`>9rf
z_3G5;vR8~uJzcC!<Iql!XjN1!%^*%-sw&0uNUEnUSi}x#BdiF5VOuq>rsKC{v%KgE
z_rf1tzO-e~{Ul@Z*m)=3+WXKw^DNHn@)3jER;v5IxPScUpT%P%)xTaAt>7oDxp-LZ
zyxpX{O8s*0kSivR99BHxme-fg_)+of{kO`aiFL#(r`<Dc(v8~}6Z^D=5fgHTPa40!
zBX7(w=Ce5Q0KZYUjh=O`;jjh46T`#KPCO?R)vi*Vb$SbJII%L*rJZu_f3i8)?|MvG
z#pux$Wn;*`hH%BmkrfqVba~}tM^{vgt&fD^F;YJkBx(Jb-TFs#$LZ%+bB}-|pw5{<
z5<Il=Mc0+ADm7unv`XKVD6K+SC@lvQoLxZgW`l$jP}fzEhZ0glCB#bSm|+8L2Ax&b
zg>%jzHjwk8$qM#bPE@X-Wo3l0aD&d9Dld|p2L-z)+f+plz?N14vm<E6l6tE%gF|j>
z83Q~jgoj%3_gUAp6w49^2Ca_HjsgN|Ur$~m<H&gOiW*a&P@ht(TFDOLhyU+auTtMt
z|5Kg&SK@wusoa(~^5R=(UNw8#+Dk9VnRe&azuop@{t*1#8)`ZH)#GX<d7U)C+h>zq
zqyWOL-Rc$UpH32M_2>78=UjcDbIDbq1FBlJZ6iG|8t0er2XsrgJkZ*5Jf9~aC^68Y
zMyFje7-@4NR^aj@Nk6M~_#!x{D<pO$z3fJ5Ux!Tv)%*M?>RSaKsYb;zvvbIW4)g%D
ze*^*mcL@#T!L-pfRC6I~B`LvHl2HFv5^PCGk1M79T1sej#Ff&kvl>dGEOQ=U4JBUe
z#-{@SYCwzPjX(N)P3fSyRnsqC`c`1btInIQoLp6-=jW@LgDUH1KQg#f*w<86Rav*n
zadn`fB=Cf~&nxI6<C{v#J{dNQj4H0JI#CqPqv!9rePWJSPv;VHE_MoDdzeEGs;`sE
zDe!QDl=IdTWbTvdC+Y`DGN<>F#<3TXPlbbGBd6nPQ}d5-;uc3w`f(IW>FEe8ff}`h
zDD)P_4ZRbc0@6jo!uy2-yL%oWPqX~d|9-BLc$V%B2gKSnkoIL{Qavjh7K<e_r~oMC
z5paH^YVm$@6up%!XuxN3ek@s_3CXx`DI$)<8_Z;6L^Ls&BBH^=u?KH(ss|553e2%G
zrgvN(N>e`##lrevl$1end5m<(WcLWs+9K4+LZ@6Bmz|PQ7D0qjn+al+RT@PJ8%0&O
zh^lUbQ^_lgpGSE~zn*X~+v(n1K1LH|-)RW1srCn$Hjg34)hf`*BWkRbYzK8LAUmiw
zzpKt6IgPowjbsg(_m9@1NOZ!DLkC|wy`V5Jw%S!iavK*8w|#wv8>^{y1pbjH)GBhE
zj8Xp#e~YReB)ilrdnyO(`7HkBY+fJ#cz?`Y9DRP$AoI-mi;ITy>T6lNelU51e<rE*
zmL1^RbyfZ4BEsY%)sx0qs9YF&<w63v;M>Im>(_(K*9a^5CAtGtCK}KmV5bh|yaX{d
z0}GiNVNBJS6JaAS6lY%q<H3$8y;c$Fa|(6+5M0f}D^@&=KU1%}<dW;~N4#^zLl3Q3
zv3Ku^OIEJD<dPLDn2%Dq65W1rC+x}2&FnX0Lbk+k%mfypL^>8z#G1HHOx2k&vXgBm
zvFk9+M32d)(Zph!z|OAO=!`5I$Hv}CY-R@=RM9&`jSj5fb5`)#Js+$n>FD71c92$e
zUx&Jn(6dP+_%^VudpI9=H%CVuCMB&MMxtYc5XiuSGX!kQqu4J?>pQcZM4O348#5h*
zm2|T?LOOTvEG)M}&PLmsWunn}RwS8CuV{tRj8SR^orNXE<t%1MGqhP)21(IrxzR$z
z7uo=*e$x;AburHf?#%cb4&*gv7ERs1a^1a~rhGy+Wsc(8raphsjn^i#e&QZKdG1XM
zuiY^Dm+f!BUK{zTu-CnS*>-aYFYeXP_Uc85#(5FUrjcF}Ajo1)CSj;Z%~Yb3aB@%L
zmdZuixnY5=hnXXB;bw#MI^hb^E?w;2z@a!<STz@UP-vHQP-jT<hbpLtPQ&0R4AF(8
zgo;^1R4~p)BKFQw!ckbLvAuJ!SaLs|YPbf>iW(bzQb{a++2Gn|%km0djz-3fi4<ft
zK78GZ36p+1Yt*FYe!6DzX#VX6^P=p*wUh4^C+(b28uG1{8X9KR4W6~7R;Z|%vE;Uj
zVxZG!Vmtq8s=pI-P&jvgrwhXzScmR2;)o2N5m8?f+sW{{w(8s$shvObh&n@T5IVRD
zZV#KUDd)v707H4e^Z!UC&YX#ajZlmh2Cx&RhZ~YQW<+(g9WZG#a#i5(C0m*?tOP(G
z0udUpRkBR-@NJ)M!pyKJr&ZWw>rqj$Ili{Z_M=><HO*$H8DYh0XX#%>3<KFqsPGx%
za=@vWgQ;!}rz@sS{^-4+#iZVXDE%GM3-H)tTXyd+7MSmUCbs;+>rJhrOWY-Pr?<Ls
z%O%Br;qs?v4jp9HkIrgnR`-|3$o>3lDqmT=|6|_M^K^M&ab5Q8U|{kU+s4K({loAf
zSLCXfKfrur!<i~Ep??>w#W>9M$od%0yi8cAVX#;+3b&Xv^MK}z8bdT^COTBCD>ZUV
z2eQYk0-mQTAs&N-bH(yQMGd>}Br#t9z}lD8m+wo8Z<CDGOJ`(%b<8ljd*QrQG^ffp
z@`uDnz>Zd+6-5~^h+*x4&UA!N*3(bc9#Rt=`&rAjU)^})ukc4$eWRk_HLIzqF>(s7
z+*ms@Yqb~`4j_ssyol$GS?8J?O|}Qe{$hxOCfm|`_7Q6sip7X0r1aPvDT@-FzQlpi
zMoqKRK@r-CPZxD~RE<2ffhg0M=82UXX1RP*1{v>OzhKOd)cd67N!Ab68MjTJ=V5%9
z4YsifY@?04g3`dkkfc7<Y?Ak_W)p3Cq3Pc+y>K@1SLLlyhi%N!W!FvZv1JlnU7e0(
z@|(bm!~hRJ4|v$hIY2|(IhLf$VXI4vByH@<97%dKFyp7}l9;)c9O&$l1`1|a-UCUN
zW~0;k6v2$W3r@vOPmku{$wWh+AM~b@c@(ss-5L-}+;{ioEy=s?O4|8ls=XrGI;|>P
zUe!7+S|-MCd-U>4Z{8rw>XU#{Us=#FX=44NtH(~7RL^|m0>G-l6jrTcQ<PlnVF9U7
ze@8l}l8E{SIkfL_;vpH2srR2yclKT~JUIKzoBCapUrsIuDDyjp2Qky1NgJfFmD5Fg
zJX~n&bLr`cTud2Wkh?S+;{QGj#<HM~hH6T-i5}<3reHA}yA^yi)bqJm-zb#>g-2QS
zNu3VKnX3h89;|EI>11lGYUjsgGN72?;hNxC69fAMr$N}fuDgT$gFHX&zWbJ|&yo?}
z7NyfK=<YeapsR)Fdemn1BjRo*%Q4=X!EyRM8XY6t$E=o!^&XnephOFof17CF+zXl8
zJSX`ozc2al)MyS9RyH3c8DiKXgU*D=aAB&+Ay=TgEoa!GJc5C7t~TA<FS5C7ITHHT
z3}?b2(a!&nB$r`&8mxaJBQL}T8Y(&1MVZCs9t}WX|M?)uj9z*V5$;&my^Np0ow;bu
z0pG>hMNN+YCi%(5e<z#L>jx(N)aNIxy*81(QNt;>OnLO`6ClTpAje6HQ);-8+!$iz
z5>d>>Ul_6^Yez*Th+_uFlv)t?q0vO`D5O~J2zcM9TD%-J$OO7yfo~fK-PHe3bc4=%
z1c>|Ss4^VHJswRAAAzq89||8iVmMxos0DE!ixq+_$$5x@AKG0Ol;oPYG6J~~s~$z0
z`zuBP=j!4V7b)Q}@qYs{GJQu$z86*^BPc`3XP`j$-n(2qN=AMU_|(%nkWTSj$C*zB
zoEhT=yR?)`NHk6bbu!TsqY29s8OYvTt<*v-Hf^RiI20ad<l#^!N2jFA?(LDqQJ&eX
z{({Ct$4kymla!H5fn}}<N5Ki&C^$#3CMJoJ14OnL$n<YS?I0VLt8bCQsloM)t@l5<
z@_I6CLXB3UX(Rq!@2hXkQC0PW6HA%~jhsDK991)cmTPE!hRz)`OyDxP0xo#o$zy@O
z$zw$kC3M#0v4F%FeD29(Lh3Nlxkr#Knl+@7IF_j|RjohoFf#ooZG+V3U(EaFK{}MI
z{~ml7*hAKN_V9hCr&&k}GoNRS+9cwr9M%?5FECGyG?HP1G_al8Lm2ju&jrrA2Y=rl
z3L|W+RPP>Ge)zn6z=LHWgK$nRv=V+h;a8t{(|TSe=#G;%b<eA>c5gu@XzSO13hNI8
z>fCak^_QjAFBeB}s)Sq+?acEP8`+G4tSAj8vQDDqLf9Cl<(*`JMfx}uE}X?2M1eHY
zA_`V1BhzOImeJAs0jym1qX!-?uQ)$FP>*8K+PWC3QlLO@IJbb#j312cX(%41n;K8X
z9%v{YsSBK6P;Gy?a%ku;R}L%cZesKEM2$|^%M|2_xoU3xc_>xXOQ}Faj>d4xHKxYP
zqBPZ<)jP!*%U%&n7tJE)W0RyaGlQn4N~DA+&>pmiv(qYBLe#qSQU~#C@ddQDUkTVR
z^p6kDL8JPyH1%FyKMhE;sUeI{D#o0LMr+F(#$aB)+X^aiI!vF8?MExatG%@P$@ip{
zQU-z)jo=jQ6s1bQ0++Da4f!TUsS*^UBAnfj6oo)>4iYSXATkwEGAU6ICLnM8{3hZo
zf>}tvl+!r~Cf>DR!9DjZSa6pU2sWd!uC5V(&O@-{3+|$S^3B(L2|u2_y)iXI(h%0o
z0NfYlUe{<9V6@5!Rv@i3P<Nhzc%_we^irwN^*v_e#UgU?Nx6!4O5%9DVmjQXxRCYp
zo;4ot;`5KkOIYa%4J)3dqx~JF8ucBLHXaRWt~GjT6B2aanUtrMAq72hA}B559~b>|
z#9=Fa`W&^Lq~+_JbLKcjzxp}(bDlo8quV^UMh*Qnv-sMbWOu7WyjrjK3Fa0yMvo6}
zR_nF~*c`o9qgX<gtDB1ju-$Wbo}Eu?QDb!GV>OrL5>;BC7#;gq^_{Vg*dJ61u&&f0
z7h`-J61zGLRdl>u&9{c?R5An|VF<bmp7|Mw^M89vB#Ln*c7juol_MpsLa-EbQ*xOT
zf+aRFv#J>0;4h=uD>_4x4W2vy>_`KPwJF%B>5ae(&ofZ+z}tgN_lzC2U`+Gm%Jo;c
zeCqEy_nl|FWCPz0(Ry{%(}bb>Yw5p#fyI(^mZPB_d|(-O_}@RxvHagO&9MS&<T&%D
zq%<D?7w0;X6ePO9fXD7fX2z?Ct3!Rc@_e%%^<9@!Sk#}66DS>D`hS3qg=MT$Iuutd
zR+``Y7pZDWA+!rnwPy{HDhFQ?RbM_IQFU)3NQ>sb*hkYa(6p3$<=;=!@V|+sWg1Nr
z!J-na|GZeEYUp35Dus;~lGI-zc;r@}IB{N@YS6KFp6~*|LjmwwL%6s9-Bd+EjmMH9
zhMZ!6oQ9s8%A!Lqq^EA-#Q`YZDS2ycU~u8p%7{{H>FTuBRs!iQZ03)~4`mpR{KPh+
z7&X5?&?F4p&u}5SzxdsThx3|>6zGZ|-oj=GdbU!<S(jjYjSxpo>Gy3f+0ld($uH@!
zkBAnK(&*v%L`GWbKo!0zjW!dd;TKhyqO?wwk;cB=0F(2n_-}ymm;4Nf{OE*<1{{IO
z`&O5iuh#5Y?$?tB9EpkZzTnqAuwEBi?>VP)=6tW|oVZ@Q$mSRgJf*YOwDcR-sZJxV
zs`$*xlo>gDl_2WF23=mA_ae2)fYA8eU_bO+7Iz7kFmT!$GeM+zZOW80N{`!G=-Ht}
zIz>h4PW*0~Xu^`7I$w+!01w%wTQG@^-EQ>DqO{m<APN(HCsoWLeFRSF;pwUY2`q5<
z1&Q~7Zd$lJi0W=geZvBsjmwJkZXF#TV2a2ky`4J&+6|B2=0vBxI{Ht0)fzofUaZkh
zeYOMChqGYUH1_v&=F=NR5X#^=$)apfqCg4TT7O(U!2bFNDmGAtF=Id(YWw#3NPW0s
z%qUQcUeW*hz(Bj!uj`FKc-S?YeVxwv@kA7z9pM$Ie9_4`Xr=VgB;g!J+JAuG=m@){
zGqpVQTeEQ5c}_IprRQe6*pBJ(rq0cv&By|9XJv!3Y4<&j3YJ}QT3S%7S*(Z}J8MvO
z3F{MZ(cyvEwC>M49A3!V$i*-GDe<)WXwM4^!^d~?&Yq8Uk@4!|{LXgrYDhG<?oOx=
zsINcq0-bPc@A(ZsiEmVm?YPex*yn8!yXSJ1+=~~Sa*6G?c`<Bu?<_AY1%CMf-G*S-
zRTmz9nFsr=WYD(Kf%%tYF?&{gp~09@gt~cnyo#r}V8su>OD=ZObFV*qOs4BQVSmj)
zgERjYPoyG#dNEvg;Zd5zk&61!ztNeRhI)F&vzVJa;8e|$b5GSQ)y{f$TE+Yz4NHH(
zU`<!b=AM7T=BQrld!bpILNznV|CjgGYlqLjFEWHUD~HU8fS0_$zW6LO(>1K_o!VQN
z?ycw?dkdX=Z^ixg7WlzDV>bN!JDW|o?S#Mn#EI{*u@uzO_O%W49QRel{dj<VAqE9I
z76jd{2!=to3*cUHRQn2{e%sB5?N%|>t#aUwlO^m~$yubp?up_m$$8K!`U>3PA54tz
zXlcu#BmL=e<cUxE(`8)zVC)x|mzxR~52CtWkU*EAqEclQHTtmg*kP^?XE}YBLLk&N
zF+8(^zAh4_2milK8gyaU^@&J43YXEdh=Pas%ZjLc_}o8Srw2xe=O;{iA3g*}I2!Tc
z1u65&02q-F!0Eb8;(dS#xS)yDnQ)Y%!36ioTWZNPa*DjwriRF=Hnl_z-A3Lbr>3h#
z<d4(UkXq74PN^X#hck3rblsc>JWdE_Y|_p@e~QZ4hOX4i{d7jvboM1O7Dhizcc!C*
zbh>CC|6>NxF1byad6@XH;E@hCdI?*TvZaG2&TYw{XU0WsLIjdH>aFt{L`vm?kReou
zgeHu_DSA^KeCUpjSu2SZsrtmWwKLXz_0c>&cEv3~(?t7SK;M;&juT#pzj$0-hoqc(
zV(_Wg$WpcY0U_C#e6aiL8I-85|DYI<&gKNWiD&U{x$tz(@c(u?CyJmUmrbd)OP#*L
zP%#y`A2g`5*O3f7vGecLfn2M;6!{*rJIUWQA96M=*8cxQ3!GG%@D+q;Z1#hQ5KMWU
zfr&ug$FdK4o9{t{H~RUT6dl4qhvM%;hm!v-9ZLJ?5d2r@Kt0qss9?klfUx?_6W@yp
zeR+T?putM8y?(Boi*pZNhzckSbum0Ig=V-4s51D%R4HKdi4km8XkUC;eIZ&6fmbUq
zgX*&kOexp7DRr)BzKVA(FXu-$z4V*r2B6&&%gcK{L)xXM0+&83eHImG92rod)_vDd
zvzde+fo`FNop#{~rNtMRP+Fo*C{+xh_z##-+N(3?9#%@`YkKq2_ZVCH?pb;>UYlQv
z2y}bD_&@io_&=GIPjf_B0*)g|+KcfS9x|j~Vp2kL0}!byw)|)`kxhe->^$uYCbIjd
zhqCF{nBcb<payYthP8s<tSRS9cq*sZskjT-w^9Z}bU69|U&oL`ydoRW5-JF>8e6&-
z{E)85FrH5MHm)q+OtROmzh~=z*UTtixu<vvnW1jhx1Ifk4a<3P`mB?0tXN7cx8pss
zRulztF&S$Ujcm@;na{+-x=*<gc&5MK8FnQwysr)f0jXRY!CnS>ya@;~#MqS>LTNAr
z+fKwGy#yFS;SA804(H4_b;)iAjmpvh3qbV0j9r~YX;A=+8SnxgWOC#8%A5QpI8siD
z;y20r0>${X@^YG_;5P+oy>q$vrRoV?T1LFzS3C4hu!(BZFSIH|>Z?eqQ^Uafde>MA
zAT+yV_2%yVGpG4Uo^<3tUz<PY-b?Ra;w*2Rc*VONkyyi+Mef+3IeW)Na_2Xi#S$U=
z<A<J}J$-lOL%N;wIu`B!>1E9&#F;3WId<9VQFTM6ESz*v#;n-fv5m<Uk9MDk@Ww_B
zLw_oAx_79|#kf1Q$*1KPoP1i@H~F-hwuhATpM1(nlc~w4HCUa*?y~#>_LW&aEZ`=k
ztY8tXa=RtkZ(aGX%|PvS=C1EC40ZO*Ara=<=U;Fvs*Y#VVZS+Y)_m0dG%E#~ZT(lK
z#a3TnTC7|drDW?H7z^Yo496(BoJwXz{NFM(wzp;a!qa1~A+E~7m>2vWV`K#p`>tbo
zFZQR`^ECRb;_lPv6}}+7D*EWfzVbEHpI#w$3QdzSjLbr5?8|b@lHw}@Nh^0Al(PH<
z!7vlDL}s9n^>zJ=f~KV-zlWH$rqYw<3rZQ-s>{`fjvecMpr4ebXtsq$wnK3qJEd9e
z1!)#f(d?X|?=VWrXg^YRRz*2u7{41l!p^N}kuZdLgZd=0BnlR?H@_88hNF0*R{KC0
zl|c{{gNQO>D{eH0sMGO(k<{PqV)-6aZ|)y1(==D`g5(z?@68@sgg@PFeGCva`fsC=
zb1gR-^N5rKl^5hdtd|4ei%0f`)`NlcV<_p%`b)9dAs68_ZGDN*K)a0kp%mHO4tW^9
zp$=ZDizvguTi0upPxvsK99QZf_)bWMN=z3Hla$OX6!O@=YEAnkru%5#ANrk>{;Nlq
zRg40>H?k>3cG5Z~j1aJ5<hdEJTRX_wozZ7Mj)d7g);B|Wp>Lx07J2c~54X5raFxLT
zm`2j^v?)$#{YGJk#p_s0N1cOC15?tFM-j@QI%<~{aafcx1eF6%IH#C^U-nm22f}YC
zl&Wd3LRE?d1KMY0<Y2g}3ja_`eU5`)7dG7bEpzAIamU=bTjn$m9eT+nLx(nh9}E7~
z+%52T@WcM3S+hyHEy8D@5!Kvq?m6~-gK}{U#~EN)L%)8o!oYZe1BHMc@{nkMj@0-H
zks~!aoWCX4IFu^1?jx9982jl(8SNWECBR;s8d@^O_K-{q4uqgXgDLfk<8q~>NEO&G
z;#6E{_5p)=@|dOf<>547e^D7lYc+^76hqZ{lp!@u(rxfdy|bS+UTB;M`cpWq<(B#6
zM~{shwWV?W(p}G7JV)Mt*%Yzo`SttnUh|;x&b`k)eB-z=FWi6GZSPz%g^!VyrI8=a
zuP*yy`;_6AHowM*zjEc8#hsp*`sw=i)hq72^P+}rdoLxkhYlb7&*5`NPngxj&VEc%
zV{~?TjQfwiz8tTiYoOWX1N7yj(1te7{Oop|zTxI_8NT0dVtB36)z^m8DfV{ZbUM7b
zG%w|sWXoC2INsElp9{}HAGjH(h#zP;`hRR6WV)w*<bp9RlPfpOc4Z&=^FWi*ryG{`
z>%Mu*N!%!}bbdJCv~-GYmwkJJc#+VR%x4qC^Yy9pKAj+*PbY}``zDBEhQZ9SQ7eAw
zpkQ-l`e=il!8zb4@%;0T67TCBKF>_?#WM$2VwcQIkt@$RU0mG8AZkw$n==0GJukV?
z)bx^bPfah?rlu!hxB10v0Bgb&U>TNwadvty-aOwB^>y0uy_e59O`R<7cdjqB=jUP1
zIe;)bzP;x{*mEx1bFMyB>Y#hhrF+in+jDV0KIch?VCNZ`*&3r2Q`SH`&prRnQ|-y;
zVe~bG+kqX*C$i4TXW=>q5>*T1v#9NP8~xsD%<XUc_O44{*8#TcfF7|0runnJmFA~Z
z2t+%*W&nV+iNws30*oHA!68S{Dj;Mjiy&yE+5Q|aJ1ANvb=m}12~EJ_5n4u(fOLN0
z@840Xk)=Pp7>Gn`N3%@Q=&30ZH3G003&3LZ07?<j5Jk^AN-e&Op$V*kpLw6o49D}N
zUT$itCq$%$VTvFe5}g@t*9L%Q(AE%_u`A(9>&+vj(L548K!+!_T?m5pQhb26klq=J
zIafg3NzVdYsf`EMzI!C^bRsoew|gfYw9n?6m%tiru*OR+G}oN2@jKJZaXwDpKy$iG
zGn)?l-QnfE<;UL1<)M@Yp1rib<Fx#l|F6Awfp4q2@`cYsZ^^QbWJ#7~Tb5-@a%5Y!
zWLuWsaU3Uc-j3rWPDl)d5E4R2h{=nD39pnl=|F&#0);eX(p;{NtN_yog))?K8HUR+
zq(d{5>9l-IZaYjrO1aZwD|fH8&yi$Xa-0Cu`F-DopQEGK(cWvXwf0(Tuk~Lak}=*&
zWKP9cnU!+x2Sr!Kt^me-9Alm|MjNJp2xN?cUe0BT>(MUItH}VN1+kzP%%dEu%m;oV
zq|D6zNDbD>av&`4zEdO(mJA9-<MT%*(UCv@2^r&F#A7KUdf}j)?}0GB6f4zIfTJ`^
z;F`f$MJny1G$d;Z38}@T$36vd8)ksmp!0&sCMRyekq*FXx`~8<5>chjb8JGafO5v<
zjE~fuCM0{voIW7U?_Sx0P9eU0Zk#w%r8{LU6W%%hu|lW(714w>%pnQ=vYc4O01A{a
z(Hg4)Xy=8t!z}30fDj~NDVb#{HFfP8+Uc&8fsUn6dkF!EF0DeZB0_F;=7B=A6Ke}Q
zF3c(?Q?)Z#_6pr1^Ub5so(sDzNLBzqJ}7;WAln#$V=9J%&oh(ZoO|!P>u0rVi@KY&
z$+4Q>%s(~u;0M9C*}=oNzx!VDvv<1|+<i}9=d#ONzqw*D`{_U5b=X+DX0i4g%kS&A
zwJdn(_Wqlbdy}!`=Z_y_%YL2MaqHbTKL6WWi*C49>ZiGd_|oOXZhiM+5xQgbK`i75
zghu_9^%^vAF(;^TCcxdJo>B#ItsAJlbs-e*(LjD7`E)g{4FPkv!6QR@j~Xidv`qif
zaJ|_nE_GI<@8qx2MIn+meIf8~#j~;tP4{AjljyE|?A*CTlDQHY1-vqCbbuxApjMWK
zhM+|UL&0|4Lc(BH*sM6+%vPL}@W3aB{;~su-<s<8G>{V_T(OH9Qe#g~zzWZtk1Jz7
z6H(2pvZ0#G86gSCnn3eOBVdQfi@-Nen@c%?&QHi#2RRYX*;mrWl02VR$b4)>C$5y{
z<CN#)NgGIz>t(0bkw(&Lc1FhWK5Y=p1qz#l*kvKp@;GxZ(}ciTdXaAX+6N!p{ugvo
zk5aw<&b#ds*XW-gNKJ}gOEvxY*RrnB{bWvVrk>d=&B-gzsg{^Or9siG2E9LOHJ57e
zOdiXCX<V@!oyu6bDPf|5Y6?RCPqKvM8!-EXgNh_X8A0C>_Ov<`$ey*{-1D9ya{P3B
zdcU0Hk&--JPJZRTCCl7+_XKJ%)HWpaI6~;*MB8wuM3FL?B7Q;<2O5Ny$p&Gu{@kdk
z7_33SdM~EdAfdo$NK-*xoMZ@A+h|%4J%jg`O(UsO!b&M3Ofdd3335{23u`9OVZXd1
zPLyD?97jrK5QMuawKwuik~yqArRYZN8z-R);1j5^##P3_aRh-Pf&~4pI74_Op`-P!
zwh%ybO3+W4L(ar(ODdinujvbi=g$v^`{YNiYGfq&GbmsU&6~&l5ngPVHxK!CwZf@5
zAmxp0lk-O8RdTB2yb&39AG&hsrFH@|W268xMoz2p1%;e15?5<A=%b}`MiTl0Mot+K
zRoaXNBD=9oplgIlBLx$ZM#u^gA$@;jaC6`0w{JOo_JOq{^LKymod~<5b?qH}-CJf~
zeP>^HFZ=Na4?GljuIjmC$&Y`2<l)9Q18*H;HSsICL*bjQAOBx-4_rU`<85G@AnrNQ
zrBIvu=%pZ^doC6Eyh1`gk8?%X!ni<)+gxREbukF&sqJP86nfA44r1QJ7LyAUo%2Yo
z2LDUYfg-@iZAImj2600PEv}jo9a0X%6gsd@*pAlKBwx=(2UZ8WQDez#DLTA@HNxM#
z6gs#sl@8@;ekh~-kgz$6X=KZ277ZmcriHY(O`$|U-p{5X1ny=;4^TQB!Mf0Th^t;K
zC4eD<se0Nfy01;8Ora@OB%d|RfJ)F<9b<x+{TBq?j~gJA<cgdPodPiUtEmVv!i+>H
zdkV=E`dtRPe{OAc7yF$as_tj!q~yz)P?%D#J7UBW8G~G`+$iyZAS3}?6iR$X3dnSD
z@htVB>yvNH066|5kO?Tt;+QHj?oQ>0#AEeCAJROjdWiORtDx=)bWK24JKbn1#s$$1
zbr3t0cyBy3rZG9>;)J*ZeO3oBfr*;jI>|&eIjA;p3!(}ki%Rlnd-Do}Ay=8FbmUBT
zq@juX(oTWfhPsN?^?&ESC${fS{_F30uMO-?8m|hxxNP8wwf)EL>|Ed}$KGyVKXCAC
zzxXuy&nDWFX0cxBRo(l!ujHm3-~IL*B_<Q>)pY%iNcmG+bF5(2w5jqlm=(o^G7_UO
z@5v9Is;ZPQZml3{iQvZ?h$EG+r#WLYXMtQyJUvJ3maQ4~nYn@5*|TeFyJx@}?BkP}
z8+z4#tbSR!gYb0=^Bxl~XK2@#xDPIZ>T_{txt#TbFnVHy*n4@Qcm%V@B7pCKiK!9w
zxkP@EPmvdZ+@b6VV{EJyGgkvNb2VTRRZtfe4x!?R6@`eF0Q@V$jR`C5A!DUZLz(v6
zsJ6^Sj7FXITuc`fwc2xH8^lHe#AsCbf)O+ti^^pT;5ZY260=w&BdxW}K23F*8!$>e
zS(1tepFG97*xKE^WiM2iUBen(3iCDBn3ZM8PuX7<t35Z2eY@$ZJ>N)v{M~Q=cH_1m
z|M0pk*If65*RH*SdzSV6<V^B6Q%lS~xwg0e&DYr4<oPH6`(J&F<yh|cv#}@T`18lA
zW!V2K#I!MwOUUr9aKc7aI0j*Sl352pi$Na1X%b<x6KEd>JCB~qdkEip@IX>D6Y82x
zP&^KmUf_qofqTG1Sl9*7=4L_ElpqU_>TOO;49N%dLPoUt@bFy>6OZgP@xx0zm;ezJ
zByf0YncF+qEaBO#Zm2SK;<af1E&q7?)oTJxFKm8xcr7>n@PgI<?XDxwJooFv5B|fM
zL;K$Cnz#R^xt$$72M_jkaBs0ks)H*wbhNS`zyH9)?G4M;Y#!PEqR;%_ue<fy1AG4F
zZyvtym#25#eAABD_jcZN;QIQSYi7?|u>^GY{_`IxRO$ec{06X(s)2lJ!q#eRn*i8A
zaU1Zji@fH-5S*(>!YejYXO4w!iz94Dyf_`rk{m7a>j*D8B(#KbGhnFKVm?xrPHnWg
zDyoC^;ReWFfJ8Xrs>l37EJWz3uBMHST!LtZ12G#wMM`asGIF?R7FRf3flhRY(neh%
zcR3%nM~J1c|BzE-TeI(u@7&+<=sk0{9lrIgXI|OuQd`@09X!I8{B+f(o4=m?<jsQp
z@4mA?nLHL?xBjkBUv<-U*RQYYZtL9m_0etDbR=JX-DLFLyyfX@7xfPx`R?^Mt9#yj
zGkKiq1ztn!saeE|c$$e<0o_!D?No>ytOB}OF=#>9&kg`eg_5rm0>WX<V7fz8DW#lO
zb8fWIODG2}Fi1CXk!Y_dv;|5zs8q_Yh9hnVA?ayrc~zhWPg@HG(SvD9swzsqLLqK0
z_kx5ML#`ZB&^E(PQ4;wEH*@xR+XouzJA8K^XzIj{QI_cNiMs0B_czab>xEN8``!V{
zJ?do5x)abkYGJ5!c1u&&5VVf^%bGjqRQubSo1k@+^4&MyNPZjT7jsKh&>I@^3%+@w
z>{9T_8p4Tky6M!CO(!yaw&`f4rI@gui!i1uC|1&ASdj60vN1IS#=nbbL?u@aZnS8r
z#9UOd9-yf5jJoK>B&g=znsVi<zA?ADwhK!spr#PeO=iy^ah1J4Gf7vnxz<7cDv?`(
zDP(S(+WiLl$YP!0<nA{P=zc@|QVg?0`mzbi=1i%^m_?uiRd6_<H)F`jB#=D?$fBnZ
zt)hlcwROmBeuE{*lylZ`e;WVPqjK-%UmaI)v&)s0d&hpYpD@dL=CL8g<L;N(dFwyl
z?EWNqyE=g4MCZf983)YgYdPk_=9*9TZaz6?r&3c0pnTypr?*(`g*Z!q@xDNNp9wQ`
zB_A$U*=duXCp{|L_Hie1K=u)F*v1>Hj$yN(niI)4l&?sv&#;U!8B>%fcQYPlHnBE=
z*VVz8Gc0N#8WO_B;Y#TCgJ~Frp?C>`1D7}f9JoXV2S(H;?5%9aFmyQ8QbX-iL5?us
z|6<JFYaDp{?sMn*?)itoaP?L3g{2j2U-E^McRamd`Fo3-Z{6^F&ajPLy!DNMw_zao
zO>gfC@tJMO50ZzTy|b5*Fqt=VkK?&h0PtXAd>HVU4WPx;v~dpw0M&q5k6F0@wjxk3
zP4>y;Govqz@l3z}n(}_aBXbcSl|dNgQKM2%B%XsdbcBdz8S*knAuq|`5?UHjv_N=G
zkb60in@@=uPDyIZh_|y$NTp)_pn9FrGZiv6s+D4+T2t7l(5MmqCe<B>n*ILPR=+Q*
z+Dx`Jzpu4rQV)ari|b+V1^X8eT8_QOyfS{*Oy`pMWAaqStK_NtU%cN-!uwT^pX7?q
zZ(@{;kBKQ|`O+yUwm#uvPS0o*AX`d7@(s1D+NV~tI#z%A$&=&1W%niT=>Fsrz)(}^
zIF0&G$V(ogO@W)-$W3;7$Yu>D^6?4k8M?Tm1{Fk~!TeRx(-dNqhz5vu@>=Lb360P4
zt>mf{OgN{Tip_-HPT8-Uyp_!nuea%$Ch||D(%W=`Tr@|?g=&*G(o7zk*!AQeZ)Ia+
z@;APwh_|At5p|Brz^>K|FnLTTBBn!^XO{Rg<be;0YB)nR;_x{|D3r+4gF1@oLSh~n
z^m8n)Qfst&dZsNzJP}W2SdIT%UnBpqHG$V(f0g{FGMqS`eCEW70a^>PQKe&xCEC@<
z(qN}Ji!#kn2xA6p#2Pb)vWR#lSvEG1*+zWc26$}tdK<{B8=G*}!(_&lzDR_w8GA4J
zT^b{AffzZ_X%Hs2Q{&G<uh<ZV$jPL6A`UzX4P?+jLWwOzhT$MPQzXYwMuzd{eA3U7
zNAjz`OPbbIHcc83;&zXZ53^l_CwZorAruFO)KKLtF=U<s^s+i)QS+P6ZhoUa8K{SK
z<5Ul_TZzSy@jb(Y?-}rWmWW-=jXw9By6=S-o}=rnV_#9fK`2ng00@oL*bF9{PbQm>
z3S3kZ`PV>*oli4h3G1P0nbzCZue<$*uIk#^s&ngayKVgkAJlYp)!@A~>|BlULUR$w
zT(+FuqW&OA=feMDd_ega%H=GO%hdO%P%88wqR{0+RDh&#JW7R@wX5xF{uk`No=-pR
zNv>mc>rb6rPqEbqO@B!4rzf+l&g8GWkUUq^w6KFhbdT3c;Lz5Lb#$_JUS7f7XSe>-
zr?6~<xsu;y-zAH{Nb{XDgZWzQ{MpTCRZ;fcV6uu~xeAqrzZ$<+mh*dZTR!q#t|H^x
zFh8YA!wus1)i6Jvm}Ft;CNX75>bE4Lg=4k`Gz=qmgE>XW9hGM{zxUMHE%Ht4<y*rY
zRW~Tqn%kKY!XJ&y5e5KG$Sx^$d#MS*0cx1&Ir==G{8|(KS}BDGF2zGNun*xG-9Hnv
z=(AZgKhsR%gDXmj(aSrW8t@AYp!l?fMDf+lg2vHSyAA^=KDS_gUZv3)%#6b>WnD<H
z!1jo@F}++qwQq9vurlLXy?1cszJ{YmL%Yf2zLkCLCr`Hb4eoVq>YKlL^ZdR|+!dSW
z!`1xF>K9h-*|Ty<<e`U}7sD0#+R2j*dk5j&1y^6aKzfwcLB)QH(8@&C{~nMg*aY<9
zL;)pEQBWciqS{a+sgxQ?keO;v)2XQ_<|Uh_A+PpzM$9wRz7892`-lJjJ=l1Su{=}E
z_>wYaFvavQ@l4D}He9_CH(b#!q&jI76=dtA0Y_i8>;$?HT9ApE9PO@-wnZ*7=}ntb
z6Cd2G{8!Dt+O~A3=gBfW*(3gj=uI`~Ocm;kxC;Bvs2G6F!_I#^3$})a!s%)uL>X73
zFQHayQ4<N+RoKekz%EI~$sIp_ZsZlo?j3)Iv!eVL%kr<AApaVaBP%4>u)`-$UY`8J
z+1bDU{p{qe^7ps1{~Ny_#P2g`;Kms==NV4wox@T{Y!=T9SUM;H8+foc9!hG*KVf$z
zwbK0t*cb7B-rV{qQx^%SizaCz7WGi?g>^gXhpqoKeuOF()L&dbe(xgX8}1aryPXB`
zmhM<j?+Z5Q`|RuFzAk1NBen39mQ(ItkI_tox&coP(?#P2R?NmJ5=29B6g;=MGEYGd
z)U1MxPe`_iR@N$avckYdfNe~NKlUvB{hvHG^Xj8{YxXYtY|LXXSp87`>f}?4cki?p
zINAlL%0IGn&xqY(Zx@Qyera7VX+Pl@4Ux;^X}Khx3o&5~Gm%SOR=L#cKrVH9DwjVF
z{QExIGg)sU_OKDkT(mEdZH9=Y)*#uzD3{P(JiA;HZkeL5G$4IT+dEwC4#Ublu1!=S
zZK877eQg1eOJzzAeK~TYa<V_t1T(*{nP3d-D19k+?+5NySF$>Cr(v{R#>o17qG71q
zQU9_ojYiK)a>tzkOzk*_(#SC=cRY5^QLrP2RGLHV?j+X1^8YYCth6KFUvOVkf<5#P
zDTC;%v}=ewss`AT>Ll8$^U<Ejr<`O>b5g3~QR#$^N3hdn?{*~QD0;bR&8mY3SFO3J
zb<OOKHETL%uTfX6K5$?){B^Ef+e!W;8)rB3eYA1VhE7?|X=?|^gl%N0!+{UXL?cI-
z;6iw#Q7`xi-e?Q4R8t1ezkyj@i3Y0@ewQDVewX3^u7O_%;67;pVZay@-8Es^8xozq
z5C!v_#tQ<=0X)u%kk~|?%?eE#X)ed7GRJJdbZaI~&NK9)vhf)*hbVD~8rUUGFdH(%
zMjw6r3>~9LB>Ay4Q+A!NvB_J}Os)7yG~j^-+(*c#;77DG8Lk6QJ0+__F~*e0lh&aa
z5Z0jF$3|wR3o#-CeNPoSU<23_bIpN$DcQx<H_*{G$dAW%7J3_CRO#_%jLC@kz<U^Q
zIyGT{xrbp9{l|rIWM&*$p)@idrY<Wr=i*9CT~<OIU5}EghfHfFX8uCsYv|x>4T(y?
zRN(P2wG_HwEA_-?V~mp9iqrAPE6_mP!JIRDf2i4C6&-pv+x$NB`J0>lzR#x4lgN4U
zS&8o}GA#QP%TJD@ShFy=%-B?plFxD~iJvoLLiSWl$es}s(xhWTQ*NI**9Iy_gxBzw
z2>X5JYn0ioi82yhGgV5Ku9zsr6QT(iLol3yUmaDM4S>X_p-6mign=*2B$6-_fs%&~
zg3}1`f)kUckRc}WWMExBWnV^_C}kumfIo~f^7=q}HvxucUru%&+bQi~yYYKQriV$h
zY21i=h*2Z8`<aeOGk9_e|FJK>Kh#p?BYY-vRqMaVd!LGVW#+NPZ1K2sXpv#r^(qzT
zp85SUlkC{_S?-AZG4?7~b$+wNAB&inJD6}{Ur32l94US8NX3~FDvamJzL%LkGgDNn
zQhYXv6YM#z>&nYRVRw1mOK=e?ch|o{FUsrAx$ElO<nk929_#9Wu3Rtk3a`qfgN@R`
zHZ!{Vo4FIPP<{|l<PT;9`KknM0%8(tC7Xah1IM872NMblo{^DbNdbCZDvtB(m3{O(
z)Gl$*xVJ-!duKGd<Q0nJCr%(w98l@FV$}i4!!&CW{xZ8{QXYmc9$=qP>2A0IzPE{d
z`>b*a+NpSwBAF}@KEglxb75lgY#LE6`BR)>728xgrC;?jp_BiDdQ9s0mB}-TZL&5~
zZGym3Wu%Gn^~=N#y6NKXn<@P-PrWV2Y&riC`zwWkkRGy-<0_mX+Ey`52<%Kf*gUDu
zh)ofjU8VN&(&LuBJw1E&^z`h#ao)TU@_3?m&z{}|H{Qtozdif*_4MxDi{oCR{0X~X
z^}oq)6oZeM;M9y!Av=`t8%9cb>849AZ)zGIZfa6(XdWJJZe70~?=k)_?EdqXi@is3
zf5ts_6Am^ik23|#dWL8rifaThPXWC!B|eEO1z8bc<1`~!Sr8o6V~-|8cE-MGMo7cc
zBGzS|fM91z0S}C6e;r#ZD|l3Pi<|hN4H4od?T#8ejemOPMumYjCU@*!P+X)q`}$z=
z)E&1ZuSlNa-gx>Rz9~fY*Vt=cw%#<$debsNZzhMR;$**$eJsy^px905vmA2KJE2<=
zFuc@=ijDOLW2!UaLaEvrqN_IAQOX7-W{l0E4UF;&RhmFz2`)!$p$V$Z6Rp@JE#3nd
zHcZcKGP)IneoMek(kvj<>k&qsfp8OzG>0)Ki|F@sVgeaDI-YD~@=NmZf=_L?$<G=a
zs9VaCPvERO^|$VRv3|%^(b-gCadwBpY~cPrhcGYdH|wrFR9)`3nM)gwjt!N0XGbc`
zMcv%Sq`vvHYnOzDd7ck?zWH`&sHOMH;pKBnc)u~!7Y-%gO*GegnlE42VNvLe^-I=2
zu(4@Yd8GFH$+c1XL4`lRej&G!{lki`Rmt~O&D%g|TS5$MC!wtsP@pJTDeqZAz|Q%U
z_wpg!!a(P9EIs4TKt!#Jyul-UE3ZTNR!DUSV(uK)pP4xUyPXl@S=_wW<Hn3HIF1AO
zt1w@3oWItjcxL?mrKQEdgIpi$I6le_aFOjzp}m9!e>NUWo+7${7%teylqWmVQK{aj
zKt87gd<`ufrM3)4sa0v|zEpB1k&oU`JReV1^C2Cx1e3B#ipYTTO{3a;gE0V7O7uI?
zpMbRs{VyReyhK6dh=qoEh}gsx%CJPDxey_p#QY-isD*GYogqu5t4t`MON<;qW^8V3
z2(WP2G{`=<Bl#LkwS%=443!jc%9bYkUvDJyX9tp}Q0#sdzNWu5dHGfU;SB!uU)|8f
zTJ3}wWSzEvBSdIWNVEka4a0UUYX*Q1W~gRxpx)8a=8g1WG*1g~Bxc%~-W*Ki;niqC
zo|(K%8|Gs8#Y~TP0YAtTjTsP`TeO-4Iz<azIvPu`*pQ_yu%=sDbd`<#j@CsBLq7I;
zle2Q{M@wDBFq`#@=5OG~PTKAZT+eR+CBmiV;b0m8xuyYTB7}jd3~5bgOV6h%%Y0lo
zpIQ`hF+lwMfD8N9`N{ga0`OhPUm7*y$1HT(mSDn&S7HPZ+vrTO_;^&6C(z0$TLX4{
znK;z|n>kmqZ^?>47I)e&j(j9VhoudgMj(WB>@7kFy-TpGs(j8Ov)g5@Yqa_(WfpEg
z!o+x2Q|R;891&;JHqXB1+4JU@HSONg$2YuQW-BeH`)fZTT!hff&Mc#qC$WO`+83m0
zMH~j<OhSVT8W$jef)Nm#%p}d7C~YiV6^!&0BDEug1WN%<Qs&kEh@qnK=AUvqOoelA
zzLPL0WzMmi?e_+p+y}!WxFtX@Q8KmzWNbCe1}0vHyL4?ZR(Xba(}`ltYZ`SFS85Q*
z`3eNOfy5_B<nUuUtse$hjIj&oQGj)lm3|4^N-TDeE1f+J@jXGoQk6=D4WAc~=N#zh
zT6WzWmsRzX|K%+&%2V81zpgq^YI6^*_v~A)c&F=#Ri#%J=bN7&T+n4wDD-8*>YCzY
zXUUGQ-D2l9Ra)8aRs1#C$orWLxvOLDW#Vp$TWf-%!5U8UYfX9$>a*~x4;j&kcCc7T
z_|*r+ij2>bn@IsU%?ZjzDK%!XK_Y#MRdceaObkk%h(r%hrj(|*b3DALgL0(Nt=nQs
z$!wZ4=RK%T-ghN(VwIz~`-Gd#Ykp@x>LX%=Dn24~Sq=S`m%_f`ro@;Hg|U8m4cSR-
zY)vq>0*#dtx@VNEKot!A1y`6bO{oO)GNDcr8nRc@^PB}#F%3ak)C$3T+8v54UA7WC
zstbwomiF08P-xvt2`?{)<ih8i1)-(|i&nr#W}8P%Ok`z7(X6~%m$H+XhrH%aL&X(P
zqf`cvlXDQ|%sFcT?{31~o~ZU4sy$Y#IyhK6x2DFMZ%~Y^_EzzH<)Sr9cV8E&Ru$z(
zXVvL=jaFT@czEyJjTKJrp|L@((6M)MkxlW=(3}R~!@T^`0@vIn{R6!Muh1F;k8D|W
z`;m%|E<d$l<*J^m^4qlL%6mI+JG#<pcP!A`b!wM)&K2919w=CDJ39W_T|fHCjXyo@
zuJ=<}<W6uss9TpZM5D^=X;Y#ZWYA93tVO|?C8aGas4XmvR_<#J#n&3kBsEcHp@vNZ
z5)T!{x;DaAt*o9au)2zs))QAQb(K(E@s~I3&1YSz12wX)V3)B~yucR{`*FUMYXq(i
z@l5c{L@U{k2J{u;Dgz$&07|C;4|@!Z)L>Tyu}y^$l>%h!WjNpDCuA#<JFzqEexseE
z02{)|^i8yLh`(Z{bTUKR5XPLZrQtKx8EEYR=7S0_`59Fn`F$u^6SXWNTHvk^rwyhm
zHf`F3By8rA<J_F@uD>Gr(D;~S->`3dwq^S>4<?^v2L@K3U<c61Ir>=guH>Fa?ts|#
z^C}gy5B+)n1^s!+kIF1{Uyv>Ti1-$Yx5&IrOc7MXVMk^<U&ur#OzW_`w0GeQ#&ihO
z4=#KG?K=&dh=pQ0S%TPG!mI;FBd<uR|5B<PctE4f%XBu-)RP<yCrhkANH<rZ%fTII
z?VrcM-#B34w+UQj>7wy(+(>!n^RtrQk-Rr~1s9oXx7<P2aD>d|@5o&GnERM`Gw9+4
z;Y5^9rZbobNUh8lLZxA1E;SFjp(AZKtRGg8&ox2He4-IGjkt(RqZ{lzW4;ZhF;@@^
zo#e62e7Zy*h%|SihKV)<zs)7DcM1u8y}Gd*G)%xeYIK^*QNu(UQo16NnYv7M4r&}(
zn^0XM6sQY8l~~*~0<VzF2v7M4(Z#n54U1isVN+gbU6Dm`=e$r}uy(eybHSF~bM9vk
zjPF>;byR-#$}`DirF)6jhnl(Ubo7PW&Hkc%Q(3Kd?V27`EskJe-(a9JFV9w9eV4tv
zI<(-?<j>6|#k#kX96NCT<0szz-Cqtr-u7z6Al=J%jPD?J#v_cE_;)gbJ<Ym=$PV;o
zpk1cpE_6j*#aaqx?}A)Xy}<#*fR?TW@`jzMcO^&2PPZzdA(f-NqoTxOR;<|F&}Gk`
z->Yl|n`5A(rDdSlqIh-foJOn4pvV&(f~_qu*nZ^R4WI9`-V;!q+jSzpSTN*So2l*t
zAK@tBjZ)^piSn((I61JmMTa`h1T5}C2bv85g18pZDMlSOBiV@+)P+$5r4r@1!jXa>
zP?*4^f#$gm6SUZdV;6N00o@f4j@A~Wpi7Gpm(xMEZb&*sP2o)|&BjTdf;!T{KCGgi
zfaD$&_Exb2KiSav1H0@Dg>UWeOy0iYrUz+H?eia^J}YFZ03jWt1|@XHR$_mJv-t+I
zAT1r{g>`T^FEh-Gq6Q>%^yml@sUh{8Rxyn#RYnRzZw1@{vo4xpA4{r^%t$bykpZR1
z#G0hrshe0KXmzkZ`}OW!Hy=rUaQ^0<kJJ-8<EqOp|N7fcz2CRu?~*%)YFr@m@n@4S
zB!Bw+-=BJf)v>`xh~zIjwq^U<M`Mdu^=)5D`Ll<}|3Si^L(Dlj=Cu}6gJ~<!QA<Eg
zRxpopY+exb6&RWl(o8AsXAH@RwRDkdO$bNZN3>g?No)b<pID&lXbz%o=}Twe$Th~)
z8e>B*iLCjLvHF)rIkw&s7_EbU<K(*RuClv4fZ`F2)kT>E%hlBn)nb0)X(s)Ip3er<
zQo;!UdsIbZwdS~^0^pxwvju=(?=y=Xpk-Qw(Z)psE2X%DrBX8Dro<gmp@nu9L`i0)
zCTP(|(Qj+nEP;vC|2-kL%y8Vl!fB}}E-))v_BeVRR<|?HUR76@f3oz^uhrF*ciKyA
zO>^&Y*aPKOv*OP0SCJR;^Yc8RzSHcwpw&^&`qs_svNikHuIolgHJZvbcE6{ue^IB=
ztkY;UrRD9(KP-(jnoVV;Lnk}yyu96NudT1%Ac=NSZRg(ZD;{2a`2%-WZkp9m3bD=c
z9SZ36-o!l2#6rP@SIy*;<<dZ3nS>yjmY{+d4R-UwRB^!wEFOV<8{&fHMDMH0<$MvS
zTd`)~v<2fORyhuU6$9l&g~fSeV-x|}P7CHjO-%^d-WwwCsQ4PF$PhFsUs%%j-gHRA
z$);Q=k6Qv~OV{kX%gLLYoQA`TON(&#+ripcZfCxuH$EQQP>~<9Y-_6b)ztdxlD~^|
zXax40epge$I@ji_*hu{zkpDma8_|1C<#od&tLrPYN_Ayb_iTUpAfZ<ykqhYQ9)Y~v
zOx;&R{0T}sA4U@EDDCR7(|TPE5Ud%UwLl2cFyfVna8!xt*4UXk(L|LX*CZdLBTRv=
zk|=z(q#V(PIpMUm$VWCoBo}JGCQRLc5@@J}wjzqWSm#5KE7XMoVc04*JCPc*(AI8q
zuzcfc{`L03<S&!Qv(PI|S@tcKyK>!jc7Qc~*mv~=S`|#B>0?KdN0Nt=uYqpaHg;CA
zSb36I&X<wBZyELCsJ){#L4$J$DuOn#%|*B(0gZ`7JEk>@%L!4m3?}e`5usm*Wlae~
zLD&2~pi#RZTH11NiY}1XND8;wZUgz0rPb#J^8)hzY1D;$Dr5KDMt08v73`ii6WKit
zb9QZ6zr482R9NpfSrxoekyxwD3sxDdJjeCjaNF0z0d}uRP;%4lu>bM+sc){Yb-8O?
zZEL!lINqkrw+z><D0KI)Uc@O3oFLTR@ctiO8GGG&uTf)B9-6QfQ=eJ!J;IMYa<oq7
zN1~H$l23v<*@gv?b1`h;z=IChS!pIe97jqUlaEr~=Z5e2LWBu>f!>hr!V*(MbkkxU
z==xOBmfC{5ApV^wDk*Jhg(a|=M;&gIX==9<0#<s7=FHrXLnVOpW2t4QQMA1DOugkA
z?mq+}d1xf^By8JyPt(>Dn;*FIhQ`Wbi=<6$?h=D_<Lw{!gc^&T?0{CMd$0TYmpX7m
zfAiJ*>wDN>!@Mh{6_7ROiuKD47E?{~^{w+8E?<5}M<?$0+r~arJc%)&4#1&;8opR-
zP}=h2B^bjl!K%GZEIum?i3T{Xg~B~8TJjKD0E-w7lnn^}nJA~GKojUmrm2<?woAg=
ziYrQ5qlo<}mbL&%TLH73(UvPFyVP>*1@s;_(J-L@Q)jwT#$yL-VcYzUka1a`&r{QB
zEYzVo?D+Ql%LjYUJ=|Ya<tPcX46~Y7{QYw}uO7b}qN8uzv1Oe{d1&Jg#y{NoclX>f
zq+m;q&Ec-&>s}wc>TvSG<k;5L{f(`qAy@m>-kpn@T^%QHS<oxTO%<<xg|V~AieHYj
z5buWS_ny)5W+}9iEq+F98f7~f-!7<g-3qeep|UbR#KuN~vF#W+aZ%Gu1)JJ-+|;1S
zp9>*%#5(e7-7Hk;Q7tx3TS;DBOBQ{tNnA{pc_Ye?cq4%A0D!BaV*b``AQN>0G`L=A
zPBiu|xMmByvQ~&~j>Z<7;|rG!qdVu>N~XJcN)#nC0_Ua12YEGYwoJ8BCLVuqyt~OV
zsls!@M|qXn?Uf@eJps4Pth&3;ZpHwMW3@^btPcjQ-{013HU`RV#3Y$-FQ|q0^0fWC
z9_9)h$95O3DDEw?2iyf#)!lOng;f=YH<`!FRSSA%hx7ANaTiC>F{^xq9Ck63aLR3)
zmOS#nQnrRY;A--%Nqwxa+Ou5xSe{zpOpYXzvsvAnmswR7t-Y>#IQ2n$UFD)je}7f-
zC%?U7|0f?FI({#4#c+-7ga_XzYh29?N~agjFk}dphZ6;q6AR$5j42SL*14)PiAowP
ztHjVpB}BGWm9jO1MfjDFZNX8L#IPkSZyuiVOpC-e!6KoeYHvN}Dt0)mJvPFY$f|d;
zj3vsg$#*DT9FML0ac!WR9VlP7Dstn>`G+Ov0~y!EHx-Qhw}%Il|I)p;cQ&o7XeD#o
zgYp$*?vf;|B20uV7La`q=x~@8wOA2h?7A698+ii2JQ9q0yb2F@s))fCD>Eg$^i$rT
zSf7?ju?kwTS4<bzuFUaz>*RPhxB9{n@V!$+n$~PSjxo4;=58kL1$x+mv6>VyTp=2e
z>zWjhixpFtk=!vkAV`2}ZFoC?T02mL)-8nBofJntoQ~Xy0Y9E-OdG+=MUrfhJ?^sX
zRLP9>?aiX-IEYOuzKL`RGq*r=5&%{vkpyFuF>h!xRT?ftm6|kFYLF^5aQ@R(GmFSd
zV+J|OYi3N28HPH!H8YBT?#&VqWf_Lw!kLx*j0SQ~8I1Q~o{1K%PbKEkLV7Uf!_ulX
zmQ{2N?h7VQ@>|%u*7w&3l0TtxNbbeQ@m>OCA~3<2HZ0wcxI<7f38j&lcXCg@C2Jv9
zEB8;hdB%@ul0PSd_9|N$8&k@7nOfqXbuhim66WhnyaaYG2hC8e45msqf{7}6)fi0F
z)2sGiB1*631{1UC)#6}c0lflT(=Z!b8jRV`oObzwk<NJ)_E5r!``>9#Aly1<A$dV`
z0u(&4V{wmKJR2et`NUjVAc#gpA}0p553w<AcD2`MSNl9_UxXOY4KQWk@{4;+{(Q&Y
zr^{Y^x$MNgou)P0A1r&mFj017`>M~%rumQm{2GCNNw}u4T~EG5zN2d!YbEbJm*X!@
zXT@GdPuSeac$ff@nO0^Fb3cRVMG0dnr`$%b%7ckgdNqr9%k+x)&9(HZC75WUSKYxx
z2ffmfO(sk{YLNpx^B#!0pDrk_sBUNja+@f*3(Nd<&0Rol6NKC~91vThgJ>v2iA+4V
z0yP|*c-c#)?AIQD{A;Fde|2h$iB(Nc&VvV)mW2z1v02j+kUjrf{v~FaVi%E$VmTKJ
z6OnkD(~VvoCWPAyHu5hehTuCf@|^<tJKW^&u&M7vtjjhkiiQ#(zeDVkTq76FtaWzM
zoG+(b>r6Aaw5c3&O#fofvQIwxD7F8-+<P!n-eb5D1;f3anU`j#_qR{TOM@b8^1+fs
zBK1AZOuwhe_}&RckR4MQn0%%Va)c5JNvF}Yc&+AKT+7H=8j!q2-Dcxt*VxFay(iW#
zciVzbMR%GXReaii&1Hq!_R1B#o*VtE$?w#V-?^3ijtPE8m;N0g7|W*zNa>svJX}`g
zqkB$sv6>>8W@$}xYqM}{UB9~^s9aLk9`z4gzhd)xhq|+38P2Jj=*I2LhfD$dmO2PI
z)&&Zhg{3%y@B<1Ho-hCunhj2f^3(|INq@`N;BEAz3de{`)P0qzi{%fM_C%Jhz09{h
z`MurR%hsq$mG0W6d7Fj~?g_1+I-SsxKY+A!F{?4-sx&N36#J}~WuYlVE8vjKL0(0a
zD#l?WqjIMy9Wz0zftUj@L$Xl4GWRO5hsbq7@OaA&`Nt-$$TsO&|2)rb-yj(~Ss$Lm
z^(lj~6Ma)OVeIZK>m;2rASyKC&@gz!P@Z1Bm<u3z05PT@>q<sC*jy|7esov<F&KZ%
z<TYO8zR}meGqvJm?B@^g9J`wAq~+4sovE=~DO{k5j@^V~H|5c>yD8Rl+>Pgj?otUL
zP-UWHcMAYXVV82EA{k@%P9D5>;^_6-)bRD%nq%c{E#86aR$OzL#;EP8STV2sMsNT1
zsizdPv?Tc-{I8TRk}DnIp8}{BR|KW3DI25#g^+)B809L3T6~?}h|StCi%<vH;k=3i
z?C_XYh^q}oOei#qCIKTX3P_w$8}n&6AfmJ?oov{`d-#Z*_t+aN?dp<8S$Fb-e;Fzs
z8Y=D|9_}xWvaUxT<=-P$%aR{J!qeE}s=znCk^E(pyuY4NlQDlPjaiFhb`U$m!)(Wq
zm!?KujQ!+2VF2`l=Wd#*ZaM?C0v7DNfC*d{LiR2Luh!@d#(b{G=_;cEN*KA3uoIn`
zsLP82EZeBwQ0TzPbh2bJe8!9{VT&54Wr1n2>A5|M|Gu@Yc<a{UWy@d^>*Z-Ce+mD-
zw|-gaGJZHU<CDo#$-7xs@|WLG1!3Z2ua+)bKg{>z{8?rr`!07>p&<Kyt$hBgq36Gv
z)cG%z;K7UZAxk#x#^WO+$Kj9r?a0$lkBmI^6y|lmdH#3mMwXNEx(6hreyf{S%;b|>
z<pahYyehqr%I(%;1X<4QrqATuZhR)el|*tBCS+c}xhxu827la1deyR&JGCSl?O)mw
zUAC9LCBFfW{Sk5v`}04ZA7)N)uM_*0)_u_$s5sB0>p-d5%p*H9A`jXQaL?32SO_=T
z)s23C_r{Gwyk}h5J2ccw?m0y6>6h<G^g2iH$sxiFr;zT+pOK2H7?D#;XWQzC6*8+m
z))O1M{abp6db!WX-tUERo;ZJk8RBb*)V1S1HPqfx5GExazxE6qFha~tp~YiGqOs#z
ztPa%z?u$Z;*feNp*gZnn>S+uMLu9la$2+*!H*OqP`u*JJ#6~>7ovi8!#djGMW1L`*
z{{_W3OlVWpVgkJ?30|yyPQef{#kLcU*-q!%U5GLlO6aM9XmNr?PF`R{CMrS0@Qp}p
z{u1rMBkye7c*S&PprYLm%lG-OrZWOH=ZR6r9QkVLqm(&jCiGE8C3YkhBw1GLrFtSK
zHoo&t`Ly&|KGf^)9jltwMpiT3=ReY(Qtl;s){dywVd7sbWd4a_b;bP<w&)6rwTg4G
z-ca0u4GsWm%BDD%Fqr)Svu7ZeWg)nX^@YVU^2uhx<cnyxa~h2>VfsiyL$P0oqh3t2
zyqq-43o7#~=zA431FVNW>oJM*$+I?kxUv{phMEu<yU+=h`*jeDc9i*x;K}?R;*WGS
z!=_{?6wJ>PC#J5Ut!F;GXM^6N8pc$R**qbQ4sQyF1e2%S!iKeMj`woC-o0eyBaf_H
zvTWtiM+cUC<MAgSfAT4Q<Ds#~xFEbSK;C%xk%7g>o_O-fC%EgDtbCL_Su*hOBP*9a
z_V^P|JkG!I!(9gs?E2x0yKXwT>j%jv*vr}BKfSA5|EH(eqvRd(+7Cy_zdxk!B%l1j
zu7mjL^lNCB4l=j0C;36b;~qwaYf@6Q6h4Htr^<{%ZA&9-RoktD?7+t#v&Wuh9rvI8
z`TevGg52jRypLPH54iy-egj2*qOcVlnk|hHAGy(z-~5Ihxb^;@pS?f%(bHh7UP+7&
zpK?8uM|SOfQa*w};Ti=*z!mbfa-R}_fJ+$Yn+8_S?IQnbq`WjTk33AykL8&}Bh5Q0
zPD4GZ=`%IuE;~Mhgf$qR0EZ7&!6P&TSiugJ_Mt}dZ-M7Z_T^1;`W}AZkNY2Di*`Kp
zhi4SeMccQG9pj_7eE#k;ip66cyZIN!I{yg1&-srOQRQx?kvUBJgNa`CxwrxN->N>B
zVAy&CVfr#!+*lq;Xw>*Z3gv6mRBzDG++_t~eU<9Zi4IRF1O=y!`f~uRSc<VcKzOOv
zo{Jenn3fy>d<sL6yPmdS2PFJJH5Tqh!dP1t2{$nrh=|0OaI5jGnLL!TQ2Gu4W)ixp
zFWAO$TZ8jwv7Nv9&T9u8O2@J*9=rP5Qm#2T{xQq4|4%SE;QHCA!AP;vzqf47;p_kX
zTSo(2-gVC6V&`>#V!iW|Kl+~AShMx|zrU`~;VQlE?O!|dia$su^6ll{dgym#%|GVr
zmCq>`F;=FIWdYeHZu17h#G;@9iiF-?=?@a^7c&Rr>Y{RZhi)jMvy2dfH9=)n3398P
zIBTU@HCA+DqyyNv7Qx-L5HB_1wuuI}mgaKM{T>i=3Tb8sa8)gK1F5ZpZXmUY*KEVc
zGo*Y#Ou2&IxB`J3E4*5;BI8vR@T|%QCo3V$z^$sqR2~MaO`p@63QH@huyLDN7<G7N
z;qf<X#)EF^mV11_b~ZcNx0@n@r`$@+#fac*3|pNn`A03lI}w2xmE`JU_GisT&DNsO
zm_4#hV_<*Q+4=6_!|%+V{XzQ+_0P5|e(=BpgZkt`g{r28)3B%YgUOK^9s5jP(3yOM
z-RunJC0FZe$SbFkCG4+~1G*ZJ<s|1;p5jhq`t6hO*U~|Rq~cl5ef#aG1CDZ)M3+P}
zZO?o~+7vWon1a$n7TfbEG1>b2!Mb}E9*GG@?rmb;WELv7EB*~@x$MN3^$~k3!gMn8
zn5E1rW&?9IvGI2^H?td<xEByz*N3sW>QD$$$p^#YEb^p31TFYl;5f5GeQvaLR;?xw
z+Y}ay$a`0Wz&E}wEb7RUEl{@-I~Yc=xP2jrDBc*xW)(X_AdySLVu(EH3&ncjX5CP0
z_ZPvK26_`f20HOh0rf-yZ!%gecvWce#I#UPggzt|lV=qn$XWLj0j{G0+z^5d4Z6E_
zg~T@ULQg2xW)hdNaF8bskQWw(Vgn{|n7pt$ByJ=xtP909n#9fIrq_qWYsm|{La}R2
zv76wB_mHQ1g5piubK)ULjMsn~S4E@Zz%p{xM+|0h<1o1zT2GvpYXx!NLF^nv*i~$9
zL*R_j!s6kL*k2n!n!9@Bv@Nh9?9!tkJz6gEd1TV-lOH3KJ}>{?n{6#EZGjg2ueohk
zw525qf2Ug7;ElGHzipBJ``fnW<~Bas+#EgG7KxCnNF;had;<QjhL^a<$XCBkUSa<}
z8f_c@1G(Y@ZPDhj|JfF4Q<%xqF>>oR#b)x40M9nGwMF<RqS5B@9`f{@{LKf*ZD_oU
zI7#pE??DU=5L)1R%!lVWo1~oTN@gQNTz@!nw_~LG0{PY6V65njSf;_2s1`7Ta->@O
zW|(T7DQVfxBJP*#D5su3j9rngKPPile#-t%^$G6P03?mL6-HUYwG@D(QR*#;TS@rU
zSHs19JxiAK^r?=nyXT&Di)yN>Y9P+Aj{UxLu2Vv+hgRk>1~%~0Fm{A-q4-5o2R*(C
z2R*eD4tgpmT*LGSJ&hFE3Epmm6K|%m9Nun(oRIc38DovYXmJT`KQPN2cbC;hqZgnp
zQHNn{L~=2wKew?jbL`8><uf`18eg-M{KuDN&5i%RxsCrn$!+|MZBxF$|0CH8JLG!r
zm@+g0zebb7uTgR`B5Vefji{A3aIkKzpK-ojoR4iA;e6xojbPjub4pY{W_A&8_pQlU
zC9#9S#2zV%f9T81FCn{GY(H#XBShtm1jYTDbK)&CPB|Gdi_0KuZod#;I(&I%>PhUN
zkWkdF*|;rBG0%Te8cJpr{8x~YQk7EN|GCL2?7ye$?K64i?JveNBV^IZ;>Y%1TzV4l
z%7_aN7q=lFJZI6Dcq+DDOO?22m><2Egr)xiTx0o4x#qy1ooO(xoXI!$u&NxK19AGh
zf{EKC9=i7u^-cz7<y1k3K?NNmA378i4-*x1Uk(*CVvhBqx@qj}hJ9+KIZjv#t|&_#
zk`&V6Yzis1EgIWn7PrF(?h?9m3YWLGy?61NjXVBpD5<YjVR28&uqo`Fe<m(W)=GFS
z{5hE&C-b6a3NKO)1YXS0XZL<_eFiQXVYS%dT&nH98LPHK$d!k4a%C1pcNcQwZ4x&g
z{4c_dmj5(vOesRnBeUh7OC^q7l|m5$JFGMLsf1gylDT~<a!G7uQ0xcSYw$}0Fj*x5
zn2c%`^kb=Xk8m0=OjZnhRVXHQx7B^ANG2h`<oXifOc34+=svz%qWduOgDi9(4#oz;
zK>GM_KgjX$5SZPUU&1O}M(Djtb1uH>GPuvG0b;0MwhAsU8z!n@Rjy?LwIxd0x*`*2
zMqG87V2(RiZipi0OrngeSMgW4T$xy9Utr~Au%0h<{W9^=xD4E%%b35)SjX5}Igp%K
zDPerAzl6o>C#$fUd}DR4W!f-dnO671GBuS+%T!Su2sdJ!ekDt+3%+Mb|7u!X@})0Y
z<^lSpt{Cf(mE)JVU{}iOj?2Iiasx`!BqSkMFyWv(Z+1+f@?gw%Ml9A~hg_Zlc25T{
z<RL4=7Xv(oiLA_pfQB;npX{JR<3~~!%_R7tG%y@L0f#8ayf_7ks3w^3(OG84B&rL>
zD$a<r0BY0(NCKA%PXsCNvnrqjPo;&VmRN}p*YPeyDl$(&Dyk7;MNzTL2jGm*;7lvb
z7_lgG6Q2&f$eO0!bTCHAo;1It@r){%BNC!fc`#8->6abbs4@$-iUaUdM3?5=j8Kle
za#M6=RLldAN|gzSRc^v|L87(zLRd$ctdt%1h>fSLkf{hrX$pYvl!=8joB2^14XHB-
zum(1o51kzssXGfTnvfQ4gce^6A!!cO^wSgHSU?b!#Jm!<7AS+wv!dzQ*+8CH$|0&6
ziwa`E8@*)Eq^tzJ0Duzv+(Z)32udjf;Su(hG^Ub=8IkH%DAXm8J$sE<1vY_|fP;l}
zL_b%#SY<}JnCLcO_N7?h#4gggOH?w2ZVC)jRp!hmmRV%-7RNwiWT?T^Gf_axz<R+H
zG$yw7Ok>N|LsU2fB_sgXROzoLOwm9c>V_axB0;3N0n3jXAaL(DiKQ$e8DSgH2B@9R
z7Yd@-J6o(KY$5vViE!CGz%1Hoa_O%pZ}LK{VPdBM@5O;SmCCc<p9|e7waVPei-36|
z^h)CyZDh_)k7$&*V%^f&dE`N&<y9AtZ?uMxZ37|xh6zwdn}C=lP<-iL3B;@x#88Ah
zt}(}3+GoQn8-$oY8mlmi<x8R&*hg0gF;_IU&iq_Sbw$IX6;R|F^9!TSf~E!kX<$g1
zg8W5*k+>gB@#4N5h@|AKO!>HvJHg#3o$GCZb3M?rC9=}Zrg1OnJWnj~U?zCXCd4e!
znV#<5m*qgIcB15Go**Sts*TIQSSlhsokm%LY>Pt7TaPg&(afKVGv+kxl5=|4B{&ez
zhq#(ma}Ke8ARRkFmcm>}GgS&xVBC`cnLL?cfHXLhDUG|EMroR$pVN3vKIZa?_GD!+
z;i3zb9lObo-6P92*sWAWGlV9=I8{NCzN?aq+OCRT0LaNQ!FtRI>f}h<KvU73GB+RY
z{PSEdZ$q3XI}?%-xNRw1Wos_*Z>T?>g!#l~!++u)lgE-mf*RYD8UUApqcq4oI|WH;
zAedM}hm(P+v}$@xrG;dG%gI=mPk>iiO<tYbP4t<~SqKOa%N2t8v_3!390g#dSeqb5
zu(mt}up}-SAXcrqvAYf4?-ay(ee^3sTFNBd#iK5<AIUWSGVqrs@J9xg(JUr0k@x*U
z=#y&8iE9)H#$0E_O0pD{^f-7bijjl(6%HHmD~!~yFa~36IE{mp3+1R9T3LWGQ;^0u
z63hLxv_U6`YDaXYXh)fp&x(AMG^T|qI|fn)!T1SSNR5F1l!=BE4kl`3ry>U~Qd4eR
zBn<cxYSvAFNQz`YB+U|tjfh=%>xesn-B-dTwEJj{5O=r%K=xt~la!MU;tQcCv6pA=
z4AbK%Et;TX(>Ocb#G6ec?Tof~L&OB^qGX#1?9QCruscAjc0$4SX%KjNCL!=dgoIE=
z0eE8VNXil+R!At@(gpC*HRK~+A*TA`fIOLzm5Tu9;T}ox=S*RGex0Fz(|A2|nCEgJ
z_KeOp7Lhe*rE8EAzNaTQd=J1Hbr8aL<U;b9I~mERSvajhC?Cih<2ndwBhX8T70eQr
zk04?BTsnqNrs!WBo=@`c(mG+r$UYPGY8sbj8S}%5bYBuo%%`Nzj#0Bb7@K=0CWJ7=
zxX=VS7>Odv%0;<AY9PM2a4w;5p2fyW)kX%yt0~HXSF;3|IyRqdf!ekb_(q<P&=q}E
z05%g`?~4Sp8LLUJ#wEhqWUdWA0pF&N`L5)#&JQNK>9Qz7IpA&<&J6CR6KoN3IX4&b
z4PZeUAtY4P3I$<;s3;*z)kM}$Lcp01RR>ze8-~T`7KoZ_l2rQ_!ota1g^R|;`F3g*
zE)gLoxhg|1rLl7UtTB-+kUCSMM3dol*q_WOFv4Zv?c~mlvVD=<s0-yN<jje>P(ni1
z9G8qlg#S<GMx|2?{#*$LglE$DJ<ZGmX#}69AneE>8ac6iq8G&S0Xw~ha7386cP*K)
zK43i-cyzelO$_YPT#27@i>M--a7=HGl|?TS`zLd;W`qN@Jgw$0j0lw0=u&)D^)l*`
ztENHTk`#>Gv-*;C$tA{9ub!AQovAiBMLN+*I^R+qV62Q|ay%kOr;L~_DB9t8zi1{6
zGn_MMm;tes9OqZF*(WBST+vQJsaOgbyOVJ-%P)+69V-rsB~pLRtRUF#8G~T+IO3c!
zlWSnqQ==tx<dU6C#vNf=neSXAvSq9}C`MrtZ5Io0**+EE@_7ny+1!HBt}F)e7YDb5
zwY@llczhR7Z^ouD5|w3o;Y?k9In&E*W#X-vXFd;)lFVo>L1DL&MH~RAz3U<riqLcM
zt_ZAuS39B5e5qH6sO}*|Pztd*hzy`Nk!M{(!tM)(5F$Hb7Hg_x)XNTHllo-L10#FU
z=iw~*Xm6*x?<oq3(A0Y2v+wclAy<Xs+2Q50hANgVl0hFj=3mrt_lrX<y$s8RRXXnD
zOYfb<g|qg~;@HPjI{q-;*G~BTqIv;J;XpP=sXhCc+(eHJ%dP6^k7Khv+Nxge>%_b=
ze%BZ2OE+GX?n|dA8sDwBe+K>2lwrZ6D54$IF0JpHywALj`^=6D?=x0upUHtf7b^t^
zqL7feFo+vb*8L`KfZm4F?K$jpdk$-msg`BaQKjg}CI42Mo1X5WP?-&x1yU$Rz{~=O
zzhuUZD>4}catsRSG)s^YC9p3Qn80;)q86pCj=&!+j81M5m}73qzm<p2-Z6P<sd#hp
z8&go=c#M0WlH%STW*(E_T%`EkDs_0r-jf+U-KCbTINm}$a5P)#8f1pUBNqydADt#f
z?w=YfmvTO^Kc9#3F;C5?`xF_xSP6TNKcfj1;M!emqDPg~hbqDHx{69rsb5YfDyVjv
zE}x?rc9!WfIoM}p+X8bK2z?5fV&;}<I#b0QL8#S~+h1RNgQ`+#(}^n`PTF$fqMB5}
z{+c6Uqmz9iOR5G=kx$JJax|jMw=dYSig*QL1m@ZDr8ll>O*gKJSp>1EIXa;y&=+lA
zHGx7G%D`xlX*Q$W3$#5XKZ?+@nyF(hyC4!ObXlqeO4eT(5H<8g08v32X5tLp1yXTg
zFG#k#d1iO=*;MZpFLTet?kg2RxlwY?J}ka0eON}_ngUHgbP@&c3}T1m35{8x9f#8l
zQiAPR!~z}B9$a2gX$7*#Oq#P~>dk2ywQwIybe*!aZ29~Vx$0DfJ-q)%s_(Fm2{WC{
zPB{A%z3t&tAMXh5<6WQX;~jTa1VYfsyK4r$h=ELS`0gbX^J2<H%pVe4$Q!jGsD_+r
zdv9W1SaLLx&fTe)RgH|i2#vpK18>?1Ja_xzLrH;sXiBGV1=8tBw1L!&1^qS9n5uBX
zp4seMROmz4R9lej!!oE9#at5=vPw)75{onlEP>t{cK_BGQ{BI(nIa@*bF;Ec=Ge}i
zSqF`HWAeC-j2X`@?`8mtRwIy=ET7a5T+Fx8!52$|4_vq-I3V~5WOf1~#1WSp&o~_+
zJeJI85Do{D84bcMj%*FWr=9#ShN4ye=GE`yAOTHQsQF!XQgF;qRVv;o**KZKy{##G
z-a1Wh?_6Exf0{D69+=YP$)E1u{C@!N<)c3U0C?JCU}RumU}Egt|4jd6JipCXCV379
z5IDzEHV;PsJM-r#=NgVyAQvLZ004eb4Ws}70C?JCU}Rw6X#F#nfr0bozcatmIM*-$
zMUVmGL;$XM2aEs!0C?J!RBvQlSrq@hbMJeTW!0*ox|Qw5F0r~1-7!XGD~vIA8Dm6t
zL_}0N8#Roms1Yl=vAX%RTUDYeqAK!XO2ss6#O_iRExY-))j#a^L-a$bh^VMY=k4#@
zc}YgqvX|dG=bd-&x##|V=UoeYZviOeSHM)UD>V%GTexVaFcGXH?JuF?4P(IOy!UO6
zwhif^hF9Jqy5tH5rGT;(<`_ePxK5mjpzlMG?I-%wmjNtrO)02(ZOqe9YrAnZHi=ok
zz&y{m=LabIGf3OpL=nC8i>xUv^T?QoNchJXPa+k(MvuS3_jMHQCE88SOCV!UW6=JA
z4*w>){eHw_<A^h7+y~;ejv={>+gdYiHdga~cjsT@-ba~d6mfG8IeQT~vyGh0qKEkk
z_9{B1f~-`-VOyYo2Fc(NPT4sm><H&iqMNnm%n6(_S@g>?QuZgDusw(e8SZ-wN0}#X
z*2qZ%a~9qT?GibtEBCU5zsdOwQ3#S4v#VUAbASn%24bD~LGE+EX_OfITDf<zb6h*m
zTF9lmM6c{3&$DdV^I^^IAZrd|$a}(i7BM2PSnD*(F<^ukCh}$-7nJvRA(o=07EXs2
z$b8sPEeIhF`PXoqIwVzxw?TbBasCZzadRIhofenymEA<A<NY1bb*hEx&<d%9>rRVG
z_?+0Xd1RdqW7Od-C@)SQ)uI*Df|`A%Hnzh$Z*a~8zB4)Q8}*6PY6^#BjvOn`_o3qp
zv<&5$Ce{)vHBI<N+iE{5=AQ#!KIPMo)~Pl4@6mSPhP%x57ykF)U)(axG6rcTy)Q8e
zu@zQ&*L0!GSY9DNqUz4K%Kxtq?eZKczl5?v>gbbu7;^79jLRMMy@K69yZ<o!#m}PZ
zpTq^(#Ci5&ihWqNzais)j8V=>+7(p%4#u9*e#;y){FcEHdzb&(3vy1#Vb)l0-c4;d
zuyU(Os`rh%bHKX<cyPcv(0JNJ_>x$3cT|ME9Nq>Nh%RrL{oH{C(~T|#zqc!72PMwq
zjSxO2$WypLjH&M}0q?y)+S^8v$V&(7n8H~C!8A79e|Q=*!RJ^rPgozhaXjj|$N|4^
zyYsd{Io<;~YB$Ftu6vtYQ<snEk5hx6m1p`*o_ig~DV?{+t@@7FM8xYLj%W_etNJ+p
zSCNhSFahyqqfY+Ng;d*m<4?`ss=4YzO{<Q4+3)NJ{{rg4FkAot0C?JCU|_I;!Ul#-
zjBJeCm|~c@n01&7n71(hVzFS!W0}CRh2;>d0BaQM4YmTdJ?tjzi`XA<#BrS9<l*$<
zjN@$JoWl8!>j<|5_Yxifo+O@6ycN9v_$KgO;Wy&nAiyCoL6A)_N$`nKnlOWKm+&i*
z7?F9RW}<UM|A|G2b%;$9J0^BV?1#9F_#z1&i7bg{l75owr1GS`Nk>TUkTH{KlC_fE
zCnqE~O`c6YPyUxekiro~CdDqrPf89-^OU8O&6GDOKT&?7qNlP?)l2o5T8LVex}AER
zhJnTzjdz+-nl@T$T5ehswC-t#Xur_m(^;YON>@TRM|X#wlAep+3;h)alMERQlMIg-
zsTl1r_A`EFGSAe*^o`jxa|a7Hi#UsImVB0dR!mkKtYxgbtiRc`*-F@2+3v8jvpZz(
zV*kb=&f$&Y3@0O}Q_d+aDlV^F*STf6v$;38|MDpD6!1*)+~URN)!@zLeZWV<XM)c!
z-zGmkzc9aZ{z3lN0-^$00uutC1Qi8a1wRU@3zZ7p7p4|ABkV)CM7TwGMfig7dl76v
zxFF(Kq*i1~<budoQEX94Q2|joQB$H$L_LXSi8hKp5n~gR6Vns3CFVxVmso|^ir6V}
z9B~?P9&rV6eQ|r@+2Wnzk0kIVG$pJ`c#-Irn3cFJ@m%7Mq@bj#q$x=olFlSOOBPDD
zNzO~2ki02{EyXG2L#k8iku;68L+JwP4H-Nc*D}>IQ!=+@KFD&*`j#D%eI~~(*DCi?
zUP-=G{*i)&f(?a>iUf*g6sr`kE51^~h7;~8jVdiE?JM0-da3k5>7O!*GM}=hvVG+;
z<yGZ(D$FXjRXnM5sm!aKQF*2+rs_@Ao9c7bpK3&au&S1?_D1cOI;HxO`iA;f4FU~Y
z8do&lYWmV5&>Ge@uRW^6u2ZD5txKnCU3X6Rot~23oZcIKHhru5UiI&q5H#W4#8s2h
zCYwzDHYH<f(=?fBEz=%Nx10WAMhg&bnDJ?*)J(IP0W<f_Qk&H<TVQs>9JM*~=Bmuy
zF;8UPjCnTz`C~W*0003100EHzjQ|h;000000ssL30ss~O00962UjP6A0C?KvTFH`I
zR~bG@+f)LH%aAIHVx@AWf?cR(x1GUwh3LWENe_-%Zil7DmarytuexJaJOYovf+wI@
zv&bs!S?~a?Sn>q?|M&lAx`QNloKzC3OVYXLo^$?rJZ+45$Na}^nAfhoY0Sn$V|4tQ
zxk*nle%;*I*w^uf`T53~j<1=@#!Sc8&AS_a((w;y{oi!_hWU8o3mv~{{(9{#9skgL
zaqaIq{*ih2`X6=t7LEU+<F|kLuj^mx_=b6Z>(4sAX>M-)Q^!9xH@5z*<Dby{e|7w&
z`RV=Fb^H%=@BYuszUi5^nbY^BshE*znHOei7AB>qp_$Nck7h?SKBv*dbm+T6-%~TA
zm2=Dwu=+O5-l5<7<{te$pwWBo=_497=<E^g8qj#3#uJ><G0(A=&q(R*BXgJjF7a2R
z*>GLWbP3)Z&l7s$-x}fioOUo|UfZSLk7<5DV}`S!nFQ<0p`<u<swa-=tZHx?)7}B?
z34Qa-0&jY>r$T!N;K-3VFikr1GqXj16>}Kvs?p5bBwha0!OsdolD&LN9~d$h8P`6I
zE(!h|Cl6_EImfrmujub1v+20a_@5F+hxB`(Qk>Io3$#u#8ZF^SLaRpfJEdLc;BLqf
z!Dv0cSS(HmMh{ZhbF{`hVh9)5ohXh>Sq<FG;+fDs=ERKVk^+2B2+E;ieM#?9XkCL&
zPXOUUG4{9|6Ln*}ub5kk^{s&BTV~h%fp)fN#L~1+mO?)JoH#Io+_G=I9pvA{JI^v4
zxKGeNARbf;&X5yU%bE9<o%<*_cZb$oz}{Kc#*hs2rcHWh@%;rjbWB+Da|IBYbG1Om
zO<F&L^iz7*rt^faa?Wx;P|4W*uS;#dLh^0WYSG5j!R!JWTgk-fYMaiqS}OEg{j~e~
zv_gCv+n;~`8#<v4U2g$j@s=%Uu1GP3w@e8h%P&=Zmi3{9en=d?OCPpQett+kvbL7}
zt+VFa;m4PI;8*Qc1y`nEsAsfQdoPKC+V{ZYzIxyF&G_-NLO;$v!dvVpBg>HMd3omX
zW`45lcys}a964_ja;^nj>*iC8Q+T|qL=zvuH{BmUt=3WI!3e&uk25P*ver8Vu=(=@
zydHxqp5wwJ(e|Et-gD@HoZbaT`*`cUUI*TH4yaW~f2w@v{WF!SK$z00Dfm9Y=UjPh
z?I!f3f=%AitVCPDoxR8qG7{-`F|%-y$lDTQK6G*Aw$oD9{ustBwIrdWi)b}cE{EEk
z#mwrDmC78jQs_y?;ZfC-I&|g&kxKZG-OZ95V=kn@LiZjfahNWgEm?l@cuZr4(s$3j
zKw2}}C9x`@)2g6%=&)`B7g?FOm9gE5JnpKNCaQ&@RVKLzndMz*sY1)lX=s|!B2Vun
zxHVoX6VakR;Xa4XC0N-Fq&rnD^ECdBR&)SY*4We85=ZJ=tkfjO=mO87;`hkeSyOki
zkD0;?7srSR;>=JZtmlNaf?1)x#=8>Oq42(~w0kY<sTZ867c7#{+;Jd*)=hA_=>81v
zJ&mg*S_^ovPqBnouup87XXIBKm^q-i3i+Z2y*Z<&9h%*NMb`0#-%Ip)27kFv>z>kY
zMbBu^_c1;H7BOazzWJG-KB4u;bXFBv_h*2yOQ)S;Wdmm)(d;4p?&><;u}w2i>6yom
zk;w_XW7^e(pFU9EEtocGzTzm1u{r=mi`fx9HR$|(eOsrq4{#piUq!s(@v*~mPcf~7
zM|?7$xlI@y;)!RU((e;mcMAA*&@9*<gN8kNFSP6e1BT2IRj8Gf%%L-V$5LVp4-va8
zU3G9_ANY6<Zqx4*!kr;JrngPRs1w?`16ohPzg^`T(|d>~PnXDQ8}u+=nF~8KKBCWK
z$Grx=1(!x}TFkv?c<)yUeRcib2JcSrB=XqCQxnqSw^fy919W7eK7%gqVpSa!pE@1c
zgZ>KkRzC&CNq~vKW9f#tSiP<+u@X7OzJIE+&hv%2UI$MYuTuxP?BrTWZsN1HC(sI!
z*s;_9ZOjT5XC<}wCbItzu~)K|1^mK`s46JSO&Xx&NHr$wOV0_G<Z)Rav^vk^xNqzH
zii;7c#()$NSE}k%BRYG%5&2H`_+3{k7FE198<H3y9)GT}`@+SKiN-VT9oaaO1lb1r
z-<k8aaqN-39bg^i1YC*sb%*Cl3)LoLI|dKpI%<Oc!BDC0DCT3(KhbE`Q_QlFd5&0S
z`O%7ULc4bAWYGr~#>iV4$LB5%T_V19ka1i35@aYXXi7VXYjcfYKA#^uOv2bU(~5ec
znmIs@9_IGGqD!JEWpzmM_LhtENg#!M-4o(1{1L1dx}vI@C7GU`@j2NrLzmE*&%n9?
zm!&RfX+<=3d9=s$MWEf1B}k4l(hBK?TRGN@?E=!4*wD=ATvD2|+ALoxzaeTWukTjg
ziRPp&NJ#k8){1fDc*3}}@ziy5%eaxvJ1uo#6(`u`Ylv8fZLZY<pX{!Au6mvXHFK7`
z3#Sq7wK!77X|D-ICkQ78(9527K0R+OE^Vz4df;xWutv93hW!oS4-*eE%Jri?#(etk
z;X&q*ob`gXTFu*qtZS*AX8Q%j^*v|j!f#7k3*K?08a$13Fs}SUPig5-oaUwloSz2W
ziy_9vGVor5W9}Z}?178wr|#{oAP(hgOyNjhJyEvSVETPj2`ksUTtj>2Oe0@k?5lM!
ztlPBj&e{^N+SpN;bLIUQ<LAy66OCQ$&Ap}!BYz&(BVv~e^l5t$jaBszL$&C**AiMt
zS*>3SWUx*btV|kKw?fNLU?ZK3_YUdj=e~CHyj+UvzC^M179`RM@juZWL)Q<Cv#wQ|
zWHXXp(1WmgRj!{lADCf9FYr!DNsr*Fni$f0l#7e&(YibijWrLl__YvYyeF7y-$U#w
z)i>3Gns}(4d%JfNnQokU*j+xynQDJgR(sFe&qyiH?QDL#TobB}!j9gEoI6a#FOR_&
z@9WyyqqDVr>>HP9hvj<(_+BD@PY_Y(*k$!Olx`io8vxomlC(E6Hp=xJMLjnsk^Ee9
z%(0tKq3;9avK{5tCHQCUa;o1x{>8mYk(}-D<aIr^vT|P4g35*~wIfuIr>+Kk&sB#z
zg;C_Y(5qd}foegA(&of33i_2{f6`}#MZL_j{4lIqd`Gf8>s~-(vu~GmFqc#Ns{4pr
zh}g%-OTv6@wVh5>&ttDMR4*`8n34%E)J}?gQPp|0ycZG(t9*B&5{zrRxF!+2SYG|W
zZtjEntHWJic3J%LRm#^>kyKaIBt2B~gUI@<UlI!qtJJUBZ7$FI6FoDm<nmqSSW9hg
zlq#f6NKbT2{PgEqIfVJ&0C^qn*wie(8{E_lbjHSxFyeYH%#^1yP;YxWW96m9k)qSb
z$O2?8)&9m1TG<6OD^Cm0Qeb1MXy{yT?|kN7Ua?P=voV~Q&yw*EHUGZA%FDvMYoYnB
zx1a~=Kc;Kg%T=spq4?W9>*U;F9U>e`K;`GC?}o^*(;#Z6+E1D-iHC6n%<`oJ2}xZ)
zbN*Iju_{;1)-=U;dzIkc)>f)Ee#9|AbaEW%iRF*2HLQNjTqj~ul6zQrhn4C3;H|CJ
zCmEi{5?;4roJLV6%;t*EU8XtVZB^X2@ST*f-#Esap34KffSYJ;GuNzMIwC1#)C>IW
zDxI&Y=CRkC1rfW2|52GBQcDatkMumB8_IcKjnAP+F6Z<-iY#H*;%YYJb?1Xfca~>5
z`K(DWE6S*<Yu8G0@&XoS^`b25_Vk`|?mDCEbT+~a(L;(gu?*s>KHC37-)x<Fr|IgQ
zW71(;*@PYUV(i<<o2RbhGQpk9D3I6%y&Y=Tzh7EYXY-(Jex2{)O5_jwdt9se8_M12
zF3#VJeShz^E!6ME-FA4p8{bV=6;e}I%6%`>vxEH%^%K3r&EBl~Q(pe=eAO-aH+e^1
zqy-kjV^FaRjvVTLCO*M!^?{o?&>lrYZ?XNEqTeF>!+?w1+RNBApAytv)tx#x6jSkS
zy~8iQcNdQq^4HpnUAK;pkh3i8m%Gg`Keu+J|5SXr|4n~}o|Dg6`QHB?X5~M57x30w
zxaHrX`u!1o9@6&~<reZE09)q4{{XOjcq{+_0C?JMR9BEBM-hE*XM6mblRbIw-D;(i
zcc;^xy!T!;(>2q5)85S9th_mS2^|6nBqZbz$V(sx1P}oP-UcRs55Dl;|3Y^4?CpKf
z5mosztGd#?Dont9|J{gf@P9sTDke;zf=O7YqJ}yeXrhHSrZ9~ePGAML!q)Qtw%88a
zV<mRLj@Su1V;Ag--LO0Mz@FF(dt)E$i~X=a4#0sp2nXX39E!s*hr=<CBXA^E;V2x9
zV{j~v!|^x)C*mZWj8m{0r(z9G!&<Dv={N&t;w+qvb8s%s!}+)X7vdsZj7xASF2m)x
z0$1WHT#ajREw01$xB&{U;(6SKjral{!|!l69>xQB3NPUWR&YOlfjjXi{(*nuAx`36
zd<DP6-|;kF#=r3|{0GnBHGC6a$Lr{zi$`GN+tBz1zJ>4OJNPcXhu@=zAK?f1A>KeA
zf5RsH6hFpK;NXw=Gw#EBxER2PhXBtYM2rXtQsl@m!~*_+4OqkoH{xd8g!l0*ZpAIQ
z4Y%V@_zOOVH}MvJg<s?I_zixG7x6P%_&KYrvCak_XOk_qImKztaF#2$6}RR#+?LyM
zd#>aT+>twRXYRsXxf^%q9^8|Aac}O!eYqd^=K(yB2k~GY!b5o&=Xf~hc?6H-Djvn7
zc?^%`aXg+U@I;=(lX(hP^Hi?kX<W;7Je_CoOrFKFc@EFzc|4yN@Iqe1i+Kqz<z>8_
zSMW++#jAM@ujO^To;Ogj!!B)V_SmOGm+Lv8N1p*hMwn&Hgefz;i}&zVyp4C5;|_co
z_uv%{xxft^agjITYxp9*#G80CZ^483D{tj(yq$OOPTs|hyqov%Uf#$1`2Zi}LwuMY
z;3M3`5Asodh#%%-e4HQQNBIPw<j43FpXSH;44>t5e4a1x6MT`M<fr%&U*;=(m9O!2
zzQH&77C+6;@NK@scljRQ=Vx2aC~|b*yFs2d(q2}omhX0xaN1Wg2YzU~Jy$1Fc9^Md
zR|i=)^gC@^OgeSbAWWmCETws;u&*p8H*kY~KT(l(w6E8PZlIHz&I09Rs+Q`0=w+&z
zI?78O?dhz!sAAn4s7wVV>?=F;s+lYQD=X1MS6PcHiB&aHsT^UAbmk7NOcs)QzX-!o
z-F6B5JhqkJ5=D$7S5j!jDhc!`Qi*b=GVQst(AVNXS&>?lyvBh!s+SKO%g;rt`=Ul_
z;8cB`3>?)i#X$FR`OQ{IUs<uTeYJF8tR;BW9%*sX(ZMM6!%FDsN!QCqleTtTYtaqD
zr0uITOjOrRx}LTq`=M$&l6TJ(rG$}8PRqbp`6^2-$4%VW%2G+tG8-+kr@FK(srXGZ
zJ4!ZH<Ghn+Y1NiAQ%Oi?x^MX^R=vqY^|bt)>bRCVZXj)|rbg7$P#mXuT+gFOCxyie
z7Yt~*!B8iewu3xql`i9=Rg=ooy-G)CR^RotCsmPFPB^+UR6}Xk$PFrv&MKLVQE1nD
zZlJt@>Q!V|5~?1XeC=0cl!~~h$f%~WK5!<BLuzIr(i4$x8knWZb}chk;!tvuBqxh(
zDw!Hq#kt+_3L#FbG77DvMq@K6syc{sWmmOdh?)-4NOg5h`$o=WPNKC`VXRO0!aP}4
zr&4#rvexRk{aj8j@NAR^-7Hs`8<r<FG6}0hj&hUoG@)F$;M$pE)MlXuVR1+51uQ^2
zm&#^Yn7Dl>Yv)E}VPTsp?`IHp60HW!(zh*_VnPQK+Hcum-tn|tL0?t8L{}0|S0cM7
zI20V#^1z*+n_pMTRqGmoUJw$-(!G3sZuOdGC-<a@(qgAwa#Z>+oiFyUotvAhOFa!4
zrM`(fP%Y676{W~E=}ghDmdMD<)70$;t)eYsqBRXRaD_1$c8(Wkx3CyPqac?#x>=x-
zcE;$d$c-C9yK;NWkZ+6)1xs9abO{;-Bg$n%%CR+D+Sn*KV$k#wMaK)9QOnSEY!$AK
zkr1^+?UJsgGBxJwIE*FGGK3xfDYPw7v*6_zE|;K@Ernc{;LXLZNy5eDtw~UYtO^4~
zn2MO_W;fF+=on&EgWT`Pvs;S!x&&*kbJM&BhEoj#3trWY6LHp*vDA|-vNp>NQ)=VZ
z6xzh$m^f+@aUtu59a5s1<yXx(nOT0?j6S=?`(_N&juuWYWKNi;DzN_tH3J)&0C?Kl
z!T7&*17k0P_XduDh>eVleUTg8*t8=QHwZ*}Zx9IrG8!UfH?V2PL@;b%R&d?GtnIRa
zO~G{&b1RcJn8OO>u*E<*EI<yc2b9AOQWgo}FmB+0YUTuratJbMZ)A2W19G_(Tz4^W
g)c<FIi*N%Ka0S4)ksCy`0U)z4>i_{!=EffY0Brg)5&!@I
new file mode 100644
index 0000000000000000000000000000000000000000..dd47e286650cfc82724f91da82ca11b5875a60af
GIT binary patch
literal 175
zc%17D@N?(olHy`uVBq!ia0vp^{2<K11SGd?VUh(>Ea{HEjtmSN`?>!lvI6;>1s;*b
z3=G`DAk4@xYmNj^kiEpy*OmPaqX2`7XhaI{G@y`ViEBiObAE1aYF-J0b5UwyNotBh
zd1gt5g1e`0KzJjcI7pGFi(`n!`Q(%z|K~Sm95~{@B@t@7YSyn+jIBIOGUjDJUjr2}
Nc)I$ztaD0e0sv=8EXV)=
new file mode 100644
index 0000000000000000000000000000000000000000..bf2759634d45dbe3df13868341eddb7e4bf24172
GIT binary patch
literal 84
zc%17D@N?(olHy`uVBq!ia0vp^{2<K83?vyP*g1g|bAV5XD+9y-u8K?HKrWA`i(^Q|
dt>gp+Mj%g@f$_JNuojTT;OXk;vd$@?2>>P$4{-nh
new file mode 100644
index 0000000000000000000000000000000000000000..3f8f8b4ea37ad16b21bb7c34d256ed1ab299fe1a
GIT binary patch
literal 133
zc%17D@N?(olHy`uVBq!ia0vp^{2<K11SGd?VUh(>jKx9jP7LeL$-D$|SkfJR9T^xl
z_H+M9WCij$3p^r=85sBugD~Uq{1qucK`Boc#}JL+<R9lh%&#z6B_-Uu>X^%x;Ikj(
Z87!9^@Jm1J83R<s;OXk;vd$@?2>`j6BzXV;
new file mode 100644
index 0000000000000000000000000000000000000000..0aa79b0c86bd72c2220ecce39b9553e2cd3605b9
GIT binary patch
literal 84
zc%17D@N?(olHy`uVBq!ia0vp^{2<K83?vyP*g1g|bAV5XD?<aroS#c40=Yb%E{-7;
dw~`YS7=b)p2FBl7!dgHUgQu&X%Q~loCIBjB50U@?
new file mode 100644
index 0000000000000000000000000000000000000000..8fff8179ef34fd1d9784624c307c463085695d89
GIT binary patch
literal 170
zc%17D@N?(olHy`uVBq!ia0vp^{2<K11SGd?VUh(>jKx9jP7LeL$-D$|I14-?iy0WW
zg+Z8+Vb&Z8pdfpRr>`sf9d<TGX5k4&y+S}C$r9Iy66gHf+|;}h2Ir#G#FEq$h4Rdj
z3<Y;j-+=H&K5?KTaZeY=5RLQ6IT;BGat4M5J*(tGZ5OO!yuFW6u6JYOSD+FGPgg&e
IbxsLQ0FU)4rvLx|
new file mode 100644
index 0000000000000000000000000000000000000000..d3cd498b52bd88ea6c991f050f1ecb1cfdd136bb
GIT binary patch
literal 84
zc%17D@N?(olHy`uVBq!ia0vp^{2<K83?vyP*g1g|bAV5X>;I(;rzSbh26A~kT^vIy
dZY3uuFamkH42-|EgtdSy22WQ%mvv4FO#nq@5F-Ep
new file mode 100644
index 0000000000000000000000000000000000000000..0293ce89dea5c9413e4c829cc83a4e39d8f23300
GIT binary patch
literal 156
zc%17D@N?(olHy`uVBq!ia0vp^{2<K11|+SoP4xm&jKx9jP7LeL$-D$|*pj^6T^Rm@
z;DWu&Cj&(|3p^r=85p>QL70(Y)*K0-AbW|YuPgg4R#65`cCM1`H9#R5PZ!4!jq}MV
s85uv$JE$cjEnw)$lDlfNN|Kv_A+(E0c5RvdE}%LFPgg&ebxsLQ0IVw~FaQ7m
new file mode 100644
index 0000000000000000000000000000000000000000..1591aa0e2e274854ed836cf582235ea0202f9c8e
GIT binary patch
literal 84
zc%17D@N?(olHy`uVBq!ia0vp^{2<K83?vyP*g1g|bAV5X>;L}@UB|w-0=Yb%E{-7;
dw~`YS7=b)p2FBl7!dgHUgQu&X%Q~loCIDbL5Y7Mq
new file mode 100644
index 0000000000000000000000000000000000000000..d6e6e7fc1860889220d5ba7018ea11d6925ca39a
GIT binary patch
literal 235940
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
ze;@xo{(b!W`1kSe<KM@>kAENkKK_0D`}p_q@8jRczmI<(|33bG{QLO#@$ci`$G?w%
zAOAl7ef<0Q_wn!J-^ag?e;@xo{(b!W`1kSe<KM@>kAENkKK_0D`}p_q@8jRczmI<(
z|33bG{QLO#@$ci`$G?w%AOAl7ef<0Q_wn!J-^ag?e;@xo{`DI;`1tqn@8jRczmI<(
z|33bG{QLO#@$ci`$G?w%AOAl7ef<0Q_wn!J-^ag?e;@xo{(b!W`1kSe<KM@>kAENk
zKK_0D`}p_q@8jRczmI<(|33bG{QLO#@$ci`$G?w%AOAl7ef=gB`1kSe<KM@>kAENk
zKK_0D`}p_q@8jRczmI<(|33bG{QLO#@$ci`$G?w%AOHS>_Lj83zrer1zreqKbyR_W
zfq#L2fq#L2fq%g_=vOxt_!syW_!syW_!syW_!syW_!syW_!syW_!syW_!syW_!syW
z_!syW_!syW_!syW_!syW_!syW_!syW_!syW_!syW_!syW_!syW_!syW_!syW_!syW
z_!syW_!syW_!syW_!syW_!syW_!syW_!syW_!syW_!syW_!syW_!syW_!syW_!syW
z_!syW_!syW_!syW_!syW_!syW_!syW_!syW_!syW_!syW_!syW_!syW_!syW_!syW
z_!syW_!syW_!syW_!syW_!syW_!syW_!syW_!syW_!syW_!syW_!syW_!syW_!syW
z_!syW_!syW_!syW_!syW_!syW_!syW_!syW_!syW_!syW_!syW_!syW_!syW_!syW
z_!syW_!syW_!syW_!syW_!syW_!syW_!syW_!syW_!syW_!syW_!syW_!syW_!syW
z_!syW_!syW_!syW_!syW_!syW_!syW_!syW_!syW_!syW_!syW_!syW_!syW_!syW
z_!syW_!syW_!syW_!syW_!syW_!syW_!syW_!syW_!syW_!syW_!syW_!syW_!syW
z_!syW_!syW_!syW_!syW_!syW_!syW_!syW_!szxvJv1vz<+@M0RI901N;a05AYx0
zKfr&0{{a61-xT0Kz<+@M0RI901N;a05AYx0Kfr&0{{a61{sa66_z&<O;6K2Bfd2sh
z0saI02lx;0AK*X0e}Ml0{{j93{0I0C@E_nmz<+@M0RI901N;a05AYx0Kfr&0{{a61
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
zANUXa2mS;9f&ajN;6Lym_z(OC{saGk|G<CXKky&;5BvxI1OI{lz<=OB@E`aO{0II6
z|AGI&f8amxANUXa2mS;9f&ajN;6Lym_z(OC{saGk|G<CXKky&;5BvxI1OI{lz<=OB
z@E`aO{0II6|AGI&f8amxANUXa2mS;9f&ajN;6Lym_z(OC{saGk|G<CXKky&;5BvxI
z1OI{lz<=OB@E`aO{0II6|AGI&f8amxANUXa2mS;9f&ajN;6Lym_z(OC{saGk|G<CX
zKky&;5BvxI1OI{lz<=OB@E`aO{0II6|AGI&f8amxANUXa2mS;9f&ajN;6Lym_z(OC
z{saGk|G<CXKky&;5BvxI1OI{lz<=OB@E`aO{0II6|AGI&f8amxANUXa2mS;9f&ajN
z;6Lym_z(OC{saGk|G<CXKky&;5BvxI1OI{lz<=OB@E`aO{0II6|AGI&f8amxANUXa
z2mS;9f&ajN;6Lym_z(OC{saGk|G<CXKky&;5BvxI1OI{lz<=OB@E`aO{0II6|AGI&
zf8amxANUXa2mS;9f&ajN;6Lz>=#8BJod2Bvod2Bvod2Bvod2Bvod2Bvod2Bvod2Bv
zod2Bvod2Bvod2Bvod4XD=ltjV=ltjV=ltjV=ltjV=ltjV=ltjV=ltjV=ltjV=ltjV
z=ltjV=ltjV=ltjV=ltjV=ltjV=ltjV=ltjV=ltjV=ltjV=ltjV=ltjV=ltjV=ltjV
z=ltjV=ltjV=ltjV=ltjV=ltjV=ltjV=ltjV=ltjV=ltjV=ltjV=ltjV=ltjV=ltjV
z=ltjV=ltjV=ltjV=ltjV=ltjV=ltjV=ltjV=ltjV=ltjV=ltjV=ltjV=ltjV=ltjV
z=ltjV=ltjV=ltjV=ltjV=ltjV=ltjV=ltjV=ltjV=ltjV=ltjV=ltjV=ltjV=ltjV
z=ltjV=ltjV=ltjV=ltjV=ltjV=ltjV=ltjV=ltjV=ltjV=ltjV=ltjV=ltjV=ltjV
z=ltjV=ltjV=ltjV=ltjV=ltjV=ltjV=ltjV=ltjV=ltjV=ltjV=ltjV=ltjV=ltjV
z=ltjV=ltjV=ltjV=ltjV=ltjV=ltjV=ltjV=ltjV=ltjV=ltjV=ltjV=ltjV=ltjV
z=ltjV=ltjV=ltjV=ltjV=ltjV=ltjV=ltjV=ltjV=ltjV=ltjV=ltjV=ltjV=ltjV
z=ltjV=ltjV=ltg%fAQCa6#N(b7yK9e7yK9e7yK9e7yK9e7yK9e7yK9e7yK9e7yK9e
z7yK9e7yK9e7yK6vQ1D;yU+`b>U+`b>U+`b>U+`b>U+`b>U+`b>U+`b>U+`b>U+`b>
zU+`b>U+`b>U+`b>U+`b>U+`b>U+`b>U+`b>U+`b>U+`b>U+`b>U+`b>U+`b>U+`b>
zU+`b>U+`b>U+`b>U+`b>U+`b>U+`b>U+`b>U+`b>U+`b>U+`b>U+`b>U+`b>U+`b>
zU+`b>U+`b>U+`b>U+`b>U+`b>U+`b>U+`b>U+`b>U+`b>U+`b>U+`b>U+`b>U+`b>
zU+`b>U+`b>U+`b>U+`b>U+`b>U+`b>U+`b>U+`b>U+`b>U+`b>U+`b>U+`b>U+`b>
zU+`b>U+`b>U+`b>U+`b>U+`b>U+`b>U+`b>U+`b>U+`b>U+`b>U+`b>U+`b>U+`b>
zU+`b>U+`b>U+`b>U+`b>U+`b>U+`b>U+`b>U+`b>U+`b>U+`b>U+`b>U+`b>U+`b>
zU+`b>U+`b>U+`b>U+`b>U+`b>U+`b>U+`b>U+`b>U+`b>U+`b>U+`b>U+`b>U+`b>
zU+`b>U+`b>U+`b>U+`b>U+`b>U+`b>U+`b>U+`b>U+`b>U+`b>U+`b>U+`b>U+`b>
zU+`b>U+|CSjgtS8|C0Zb|C0Zb|C0Zb|C0Zb|C0Zb|C0Zb|C0Zb|C0Zb|C0Zb|C0Zb
z|C0Zb|I$H9{!9K#{!9K#{!9K#{!9K#{!9K#{!9K#{!9K#{!9K#{!9K#{!9K#{!9K#
z{!9K#{!9K#{!9K#{!9K#{!9K#{!9K#{!9K#{!9K#{!9K#{!9K#{!9K#{!9K#{!9K#
z{!9K#{!9K#{!9K#{!9K#{!9K#{!9K#{!9K#{!9K#{!9K#{!9K#{!9K#{!9K#{!9K#
z{!9K#{!9K#{!9K#{!9K#{!9K#{!9K#{!9K#{!9K#{!9K#{!9K#{!9K#{!9K#{!9K#
z{!9K#{!9K#{!9K#{!9K#{!9K#{!9K#{!9K#{!9K#{!9K#{!9K#{!9K#{!9K#{!9K#
z{!9K#{!9K#{!9K#{!9K#{!9K#{!9K#{!9K#{!9K#{!9K#{!9K#{!9K#{!9K#{!9K#
z{!9K#{!9K#{!9K#{!9K#{!9K#{!9K#{!9K#{!9K#{!9K#{!9K#{!9K#{!9K#{!9K#
z{!9K#{!9K#{!9K#{!9K#{!9K#{!9K#{!9K#{!9K#{!9K#{!9K#{!9K#{!9K#{!9K#
z{!9K#{!9K#{!9K#{!9K#{!9K#{!9K#{!9K#{!9K#{!9K#{!9K#{!9K#{!9K#{>zWQ
z_^ZMy{ww|~{ww|~{ww|~{ww|~{ww|~{ww|~{ww|~{ww|~{ww|~{ww|~{ww|~{ww|~
z{woKn_^<e{_^<e{_^<e{_^<e{_^<e{_^<e{_^<e{_^<e{_^<e{_^<e{_^<e{_^<e{
z_^<e{_^<e{_^<e{_^<e{_^<e{_^<e{_^<e{_^<e{_^<e{_^<e{_^<e{_^<e{_^<e{
z_^<e{_^<e{_^<e{_^<e{_^<e{_^<e{_^<e{_^<e{_^<e{_^<e{_^<e{_^<e{_^<e{
z_^<e{_^<e{_^<e{_^<e{_^<e{_^<e{_^<e{_^<e{_^<e{_^<e{_^<e{_^<e{_^<e{
z_^<e{_^<e{_^<e{_^<e{_^<e{_^<e{_^<e{_^<e{_^<e{_^<e{_^<e{_^<e{_^<e{
z_^<e{_^<e{_^<e{_^<e{_^<e{_^<e{_^<e{_^<e{_^<e{_^<e{_^<e{_^<e{_^<e{
z_^<e{_^<e{_^<e{_^<e{_^<e{_^<e{_^<e{_^<e{_^<e{_^<e{_^<e{_^<e{_^<e{
z_^<e{_^<e{_^<e{_^<e{_^<e{_^<e{_^<e{_^<e{_^<e{_^<e{_^<e{_^<e{_^<e{
z_^<e{_^<e{_^<e{_^<e{_^<e{_^<e{_^<e{_^<e{_^<e{_^<e{_^<e{_($?a&40~*
z&40~*&40~*&40~*&40~*&40~*&40~*&40~*&40~*&40~*&40~*&40~*&40~*?O-+k
zHUBmLHUBmLHUBmLHUBmLHUBmLHUBmLHUBmLHUBmLHUBmLHUBmLHUBmLHUBmLHUBmL
zHUBmLHUBmLHUBmLHUBmLHUBmLHUBmLHUBmLHUBmLHUBmLHUBmLHUBmLHUBmLHUBmL
zHUBmLHUBmLHUBmLHUBmLHUBmLHUBmLHUBmLHUBmLHUBmLHUBmLHUBmLHUBmLHUBmL
zHUBmLHUBmLHUBmLHUBmLHUBmLHUBmLHUBmLHUBmLHUBmLHUBmLHUBmLHUBmLHUBmL
zHUBmLHUBmLHUBmLHUBmLHUBmLHUBmLHUBmLHUBmLHUBmLHUBmLHUBmLHUBmLHUBmL
zHUBmLHUBmLHUBmLHUBmLHUBmLHUBmLHUBmLHUBmLHUBmLHUBmLHUBmLHUBmLHUBmL
zHUBmLHUBmLHUBmLHUBmLHUBmLHUBmLHUBmLHUBmLHUBmLHUBmLHUBmLHUBmLHUBmL
zHUBmLHUBmLHUBmLHUBmLHUBmLHUBmLHUBmLHUBmLHUBmLHUBmLHUBmLHUBmLHUBmL
zHUBmLHUBmLHUBmLHUBmLHUBmLHUBmLHUBmLHUBmLHUBmL^~YcQHKCFJ$baNN@*nw+
z{73#H|B?U5f8;;%ANh~`NB$%Kk^jhl<UjHs`H%cZ{v-d9|HyyjKRRIKKk^^>kNije
zBma^A$baNN@*nw+{73#H|B?U5f8;;%ANh~`NB$%Kk^jhl<UjHs`H%cZ{v-d9|Hyyj
zKk^^>kNijeBma^A$baNN@*nw+{73#H|B?U5f8;;%ANh~`NB$%Kk^jhl<UjHs`H%cZ
z{v-d9|HyyjKk^^>kNijeBma^A$baNN@*nw+{73#H|B?U5f8;;%ANh~`NB$%Kk^jhl
z<UjHs`H%cZ{v-d9|HyyjKk^^>kNijeBma^A$baNN@*nw+{73#H|B?U5f8;;%ANh~`
zNB$%Kk^jhl<UjHs`H%cZ{v-d9|HyyjKk^^>kNijeBma^A$baNN@*nw+{73#H|B?U5
zf8;;%ANh~`NB$%Kk^jhl<UjHs`H%cZ{v-d9|HyyjKk^^>kNijeBma^A$baNN@*nw+
z{73#H|B?U5f8;;%ANh~`NB$%Kk^jhl<UjHs`H%cZ{v-d9|HyyjKk^^>kNijeBma^A
z$baNN@*nw+{73#H|B?U5f8;;%ANh~`NB$%Kk^jhl<UjHs`H%cZ{v-d9|HyyjKk^^>
zNAX6(f5U&nf5U&nf5U&nf5U&nf5U&nf5U&nf5U&nf5U&nf5U&nf5U&nf5U&nf5U&n
zf5U&nf5U&{pbh^G{|)~Q{|)~Q{|)~Q{|)~Q{|)~Q{|)~Q{|)~Q{|)~Q{|)~Q{|)~Q
z{|)~Q{|)~Q{|)~Q{|)~Q{|)~Q{|)~Q{|)~Q{|)~Q{|)~Q{|)~Q{|)~Q{|)~Q{|)~Q
z{|)~Q{|)~Q{|)~Q{|)~Q{|)~Q{|)~Q{|)~Q{|)~Q{|)~Q{|)~Q{|)~Q{|)~Q{|)~Q
z{|)~Q{|)~Q{|)~Q{|)~Q{|)~Q{|)~Q{|)~Q{|)~Q{|)~Q{|)~Q{|)~Q{|)~Q{|)~Q
z{|)~Q{|)~Q{|)~Q{|)~Q{|)~Q{|)~Q{|)~Q{|)~Q{|)~Q{|)~Q{|)~Q{|)~Q{|)~Q
z{|)~Q{|)~Q{|)~Q{|)~Q{|)~Q{|)~Q{|)~Q{|)~Q{|)~Q{|)~Q{|)~Q{|)~Q{|)~Q
z{|)~Q{|)~Q{|)~Q{|)~Q{|)~Q{|)~Q{|)~Q{|)~Q{|)~Q{|)~Q{|)~Q{|)~Q{|)~Q
z{|)~Q{|)~Q{|)~Q{|)~Q{|)~Q{|)~Q{|)~Q{|)~Q{|)~Q{|)~Q{|)~Q{|)~Q{|)~Q
z{|)~Q{|)~Q{|)~Q{|)~Q{|)~Q{|)~Q{|)~Q{|)~Q{|)~Q{|)~Q{|*1m$6x#v;Vu6y
z|1JM5|1JM5|1JM5|1JM5|1JM5|1JM5|1JM5|1JM5|1JM5|1JM5|1JM5|1JM5|1JM5
z|1JNm1GoIQ{I~qK{I~qK{I~qK{I~qK{I~qK{I~qK{I~qK{I~qK{I~qK{I~qK{I~qK
z{I~qK{I~qK{I~qK{I~qK{I~qK{I~qK{I~qK{I~qK{I~qK{I~qK{I~qK{I~qK{I~qK
z{I~qK{I~qK{I~qK{I~qK{I~qK{I~qK{I~qK{I~qK{I~qK{I~qK{I~qK{I~qK{I~qK
z{I~qK{I~qK{I~qK{I~qK{I~qK{I~qK{I~qK{I~qK{I~qK{I~qK{I~qK{I~qK{I~qK
z{I~qK{I~qK{I~qK{I~qK{I~qK{I~qK{I~qK{I~qK{I~qK{I~qK{I~qK{I~qK{I~qK
z{I~qK{I~qK{I~qK{I~qK{I~qK{I~qK{I~qK{I~qK{I~qK{I~qK{I~qK{I~qK{I~qK
z{I~qK{I~qK{I~qK{I~qK{I~qK{I~qK{I~qK{I~qK{I~qK{I~qK{I~qK{I~qK{I~qK
z{I~qK{I~qK{I~qK{I~qK{I~qK{I~qK{I~qK{I~qK{I~qK{I~qK{I~qK{I~qK{I~qK
z{I~qK{I~qK{I~qK{I~qK{I~qK{I~qK{I~qK{I~qK{I~qK{I~ogc%$RL<G<s-<G<s-
z<G<s-<G<s-<G<s-<G<s-<G<s-<G<s-<G<s-<G<s-<G<s-<G<s-<G<s-<G<s-<G*w8
zj{lDTj{lDTj{lDTj{lDTj{lDTj{lDTj{lDTj{lDTj{lDTj{lDTj{lDTj{lDTj{lDT
zj{lDTj{lDTj{lDTj{lDTj{lDTj{lDTj{lDTj{lDTj{lDTj{lDTj{lDTj{lDTj{lDT
zj{lDTj{lDTj{lDTj{lDTj{lDTj{lDTj{lDTj{lDTj{lDTj{lDTj{lDTj{lDTj{lDT
zj{lDTj{lDTj{lDTj{lDTj{lDTj{lDTj{lDTj{lDTj{lDTj{lDTj{lDTj{lDTj{lDT
zj{lDTj{lDTj{lDTj{lDTj{lDTj{lDTj{lDTj{lDTj{lDTj{lDTj{lDTj{lDTj{lDT
zj{lDTj{lDTj{lDTj{lDTj{lDTj{lDTj{lDTj{lDTj{lDTj{lDTj{lDTj{lDTj{lDT
zj{lDTj{lDTj{lDTj{lDTj{lDTj{lDTj{lDTj{lDTj{lDTj{lDTj{lDTj{lDTj{lDT
zj{lDTj{lDTj{lDTj{lDTj{lDTj{lDTj{lDTj{lDTj{lDTj{lDTj{lDTj{lDTj{lDT
zj{lDTj{lDTj{lDTj{lDTj{lDTj{lDTj{lDTj{olCFaGl&J^wxbJ^wxbJ^wxbJ^wxb
zJ^wxbJ^wxbJ^wxbJ^wxbJ^wxbJ^wxbJ^wxbJ^wxbJ^wxbJ^wxbJ^wxbJ^#HE==tyY
z@A>cf@A>cf@A>cf@A>cf@A>cf@A>cf@A>cf@A>cf@A>cf@A>cf@A>cf@A>cf@A>cf
z@A>cf@A>cf@A>cf@A>cf@A>cf@A>cf@A>cf@A>cf@A>cf@A>cf@A>cf@A>cf@A>cf
z@A>cf@A>cf@A>cf@A>cf@A>cf@A>cf@A>cf@A>cf@A>cf@A>cf@A>cf@A>cf@A>cf
z@A>cf@A>cf@A>cf@A>cf@A>cf@A>cf@A>cf@A>cf@A>cf@A>cf@A>cf@A>cf@A>cf
z@A>cf@A>cf@A>cf@A>cf@A>cf@A>cf@A>cf@A>cf@A>cf@A>cf@A>cf@A>cf@A>cf
z@A>cf@A>cf@A>cf@A>cf@A>cf@A>cf@A>cf@A>cf@A>cf@A>cf@A>cf@A>cf@A>cf
z@A>cf@A>cf@A>cf@A>cf@A>cf@A>cf@A>cf@A>cf@A>cf@A>cf@A>cf@A>cf@A>cf
z@A>cf@A>cf@A>cf@A>cf@A>cf@A>cf@A>cf@A>cf@A>cf@A>cf@A>cf@A>cf@A>cf
z@A>cf@A>cf@A>cf@A>cf@A>cf@A>cf@A*gX#=!r;|G@vi|G@vi|G@vi|G@vi|G@vi
z|G@vi|G@vi|G@vi|G@vi|G@vi|G@vi|G@vi|G@vi|G@vi|G@vi|KKDB{s;aC{s;aC
z{s;aC{s;aC{s;aC{s;aC{s;aC{s;aC{s;aC{s;aC{s;aC{s;aC{s;aC{s;aC{s;aC
z{s;aC{s;aC{s;aC{s;aC{s;aC{s;aC{s;aC{s;aC{s;aC{s;aC{s;aC{s;aC{s;aC
z{s;aC{s;aC{s;aC{s;aC{s;aC{s;aC{s;aC{s;aC{s;aC{s;aC{s;aC{s;aC{s;aC
z{s;aC{s;aC{s;aC{s;aC{s;aC{s;aC{s;aC{s;aC{s;aC{s;aC{s;aC{s;aC{s;aC
z{s;aC{s;aC{s;aC{s;aC{s;aC{s;aC{s;aC{s;aC{s;aC{s;aC{s;aC{s;aC{s;aC
z{s;aC{s;aC{s;aC{s;aC{s;aC{s;aC{s;aC{s;aC{s;aC{s;aC{s;aC{s;aC{s;aC
z{s;aC{s;aC{s;aC{s;aC{s;aC{s;aC{s;aC{s;aC{s;aC{s;aC{s;aC{s;aC{s;aC
z{s;aC{s;aC{s;aC{s;aC{s;aC{s;aC{s;aC{s;aC{s;aC{s;aC{s;aC{s;aC{s;aC
z{s;aC{s;aC{s;aC{s;aC{)dmh_)mk4{Ez&P{Ez&P{Ez&P{Ez&P{Ez&P{Ez&P{Ez&P
z{Ez&P{Ez&P{Ez&P{Ez&P{Ez&P{Ez&P{Ez&P{Ez&P{Ez&P{Etp#<bULU<bULU<bULU
z<bULU<bULU<bULU<bULU<bULU<bULU<bULU<bULU<bULU<bULU<bULU<bULU<bULU
z<bULU<bULU<bULU<bULU<bULU<bULU<bULU<bULU<bULU<bULU<bULU<bULU<bULU
z<bULU<bULU<bULU<bULU<bULU<bULU<bULU<bULU<bULU<bULU<bULU<bULU<bULU
z<bULU<bULU<bULU<bULU<bULU<bULU<bULU<bULU<bULU<bULU<bULU<bULU<bULU
z<bULU<bULU<bULU<bULU<bULU<bULU<bULU<bULU<bULU<bULU<bULU<bULU<bULU
z<bULU<bULU<bULU<bULU<bULU<bULU<bULU<bULU<bULU<bULU<bULU<bULU<bULU
z<bULU<bULU<bULU<bULU<bULU<bULU<bULU<bULU<bULU<bULU<bULU<bULU<bULU
z<bULU<bULU<bULU<bULU<bULU<bULU<bULU<bULU<bULU<bULU<bULU<bULU<bULU
z<bULU<bULU<bULU<R7^k6aN$c6aN$c6aN$c6aN$c6aN$c6aN$c6aN$c6aN$c6aN$c
z6aN$c6aN$c6aN$c6aN$c6aN$c6aN$c6aN$c6aN$clarbFpZK5npZK5npZK5npZK5n
zpZK5npZK5npZK5npZK5npZK5npZK5npZK5npZK5npZK5npZK5npZK5npZK5npZK5n
zpZK5npZK5npZK5npZK5npZK5npZK5npZK5npZK5npZK5npZK5npZK5npZK5npZK5n
zpZK5npZK5npZK5npZK5npZK5npZK5npZK5npZK5npZK5npZK5npZK5npZK5npZK5n
zpZK5npZK5npZK5npZK5npZK5npZK5npZK5npZK5npZK5npZK5npZK5npZK5npZK5n
zpZK5npZK5npZK5npZK5npZK5npZK5npZK5npZK5npZK5npZK5npZK5npZK5npZK5n
zpZK5npZK5npZK5npZK5npZK5npZK5npZK5npZK5npZK5npZK5npZK5npZK5npZK5n
zpZK5npZK5npZK5npZK5npZK5npZK5npZK5npZK5npZK5npZK5npZK5npZK5npZK5n
zpZK5npZK5npZK5npZK5npZK5npZK5npZK5npZK5npZK5npZK5npZK5npZK5npZK5n
zpZK5npZLe^#?1fB|IGi)|IGi)|IGi)|IGi)|IGi)|IGi)|IGi)|IGi)|IGi)|IGi)
z|IGi)|IGi)|IGi)|IGi)|IGi)|IGi)|IGjFgl7I{{%8JY{%8JY{%8JY{%8JY{%8JY
z{%8JY{%8JY{%8JY{%8JY{%8JY{%8JY{%8JY{%8JY{%8JY{%8JY{%8JY{%8JY{%8JY
z{%8JY{%8JY{%8JY{%8JY{%8JY{%8JY{%8JY{%8JY{%8JY{%8JY{%8JY{%8JY{%8JY
z{%8JY{%8JY{%8JY{%8JY{%8JY{%8JY{%8JY{%8JY{%8JY{%8JY{%8JY{%8JY{%8JY
z{%8JY{%8JY{%8JY{%8JY{%8JY{%8JY{%8JY{%8JY{%8JY{%8JY{%8JY{%8JY{%8JY
z{%8JY{%8JY{%8JY{%8JY{%8JY{%8JY{%8JY{%8JY{%8JY{%8JY{%8JY{%8JY{%8JY
z{%8JY{%8JY{%8JY{%8JY{%8JY{%8JY{%8JY{%8JY{%8JY{%8JY{%8JY{%8JY{%8JY
z{%8JY{%8JY{%8JY{%8JY{%8JY{%8JY{%8JY{%8JY{%8JY{%8JY{%8JY{%8JY{%8JY
z{%8JY{%8JY{%8JY{%8JY{%8JY{%8JY{%8JY{%8JY{%8JY{%8JY{%8JY{%8JY{%8JC
zyOH=${3res|B3&^f8sy!pZHJwC;k)viT}iZ;y>}9_)q*N{uBR+|HOadKk=XVPy8qT
z6aR_-#DC&H@t^ol{3res|H(-u{uBR+|HOadKk=XVPy8qT6aR_-#DC&H@t^ol{3res
z|B3&^f8sy!pZHJwC;k)viT}iZ;y>}9_)q*N{uBR+|HOadKk=XVPy8qT6aR_-#DC&H
z@t^ol{3res|B3&^f8sy!pZHJwC;k)viT}iZ;y>}9_)q*N{uBR+|HOadKk=XVPy8qT
z6aR_-#DC&H@t^ol{3res|B3&^f8sy!pZHJwC;k)viT}iZ;y>}9_)q*N{uBR+|HOad
zKk=XVPy8qT6aR_-#DC&H@t^ol{3res|B3&^f8sy!pZHJwC;k)viT}iZ;y>}9_)q*N
z{uBR+|HOadKk=XVPy8qT6aR_-#DC&H@t^ol{3res|B3&^f8sy!pZHJwC;k)viT}iZ
z;y>}9_)q*N{uBR+|HOadKk=XVPy8qT6aR_-#DC&H@t^ol{3res|B3&^f8sy!pZHJw
zC;k)viT}iZ;y>}9_)q*N{uBR+|HOadKk=XVPy8qT6aR_-#DC&H@t^ol{3res|B3&^
zf8sy!pZHJwC;k)vnB7?TU-)16U-)16U-)16U-)16U-)16U-)16U-)16U-)16U-)16
zU-)16U-)16U-)16U-)16U-)16U-)16U-)16U-)16U-)16U!2&&|HA*m|HA*m|HA*m
z|HA*m|HA*m|HA*m|HA*m|HA*m|HA*m|HA*m|HA*m|HA*m|HA*m|HA*m|HA*m|HA*m
z|HA*m|HA*m|HA*m|HA*m|HA*m|HA*m|HA*m|HA*m|HA*m|HA*m|HA*m|HA*m|HA*m
z|HA*m|HA*m|HA*m|HA*m|HA*m|HA*m|HA*m|HA*m|HA*m|HA*m|HA*m|HA*m|HA*m
z|HA*m|HA*m|HA*m|HA*m|HA*m|HA*m|HA*m|HA*m|HA*m|HA*m|HA*m|HA*m|HA*m
z|HA*m|HA*m|HA*m|HA*m|HA*m|HA*m|HA*m|HA*m|HA*m|HA*m|HA*m|HA*m|HA*m
z|HA*m|HA*m|HA*m|HA*m|HA*m|HA*m|HA*m|HA*m|HA*m|HA*m|HA*m|HA*m|HA*m
z|HA*m|HA*m|HA*m|HA*m|HA*m|HA*m|HA*m|HA*m|HA*m|HA*m|HA*m|HA*m|HA*m
z|HA*m|HA*m|HA*m|HA*m|HA*m|HA*m|HA*m|HA*m|HA*m|HA*m|HA*m|HA*m|HA*m
z|HA*mKVmml{#X82{#X82{#X82{#X82{#X82{#X82{#X82{#X82{#X82{#X82{#X82
z{#X82{#X82{#X82{#X82{#X82{#X82{#X82{#X82C%5vy^1t%G^1t%G^1t%G^1t%G
z^1t%G^1t%G^1t%G^1t%G^1t%G^1t%G^1t%G^1t%G^1t%G^1t%G^1t%G^1t%G^1t%G
z^1t%G^1t%G^1t%G^1t%G^1t%G^1t%G^1t%G^1t%G^1t%G^1t%G^1t%G^1t%G^1t%G
z^1t%G^1t%G^1t%G^1t%G^1t%G^1t%G^1t%G^1t%G^1t%G^1t%G^1t%G^1t%G^1t%G
z^1t%G^1t%G^1t%G^1t%G^1t%G^1t%G^1t%G^1t%G^1t%G^1t%G^1t%G^1t%G^1t%G
z^1t%G^1t%G^1t%G^1t%G^1t%G^1t%G^1t%G^1t%G^1t%G^1t%G^1t%G^1t%G^1t%G
z^1t%G^1t%G^1t%G^1t%G^1t%G^1t%G^1t%G^1t%G^1t%G^1t%G^1t%G^1t%G^1t%G
z^1t%G^1t%G^1t%G^1t%G^1t%G^1t%G^1t%G^1t%G^1t%G^1t%G^1t%G^1t%G^1t%G
z^1t%G^1t%G^1t%G^1t%G^1t%G^1t%G^1t%G^1t%G^1t%G^1t%G^1t%G^1t%G@{iYz
zjsK1RjsK1RjsK1RjsK1RjsK1RjsK1RjsK1RjsK1RjsK1RjsK1RjsK1RjsK1RjsK1R
zjsK1RjsK1RjsK1RjsK1RjsK1RjsK1RjsMLFZv1cjZ~SlkZ~SlkZ~SlkZ~SlkZ~Slk
zZ~SlkZ~SlkZ~SlkZ~SlkZ~SlkZ~SlkZ~SlkZ~SlkZ~SlkZ~SlkZ~SlkZ~SlkZ~Slk
zZ~SlkZ~SlkZ~SlkZ~SlkZ~SlkZ~SlkZ~SlkZ~SlkZ~SlkZ~SlkZ~SlkZ~SlkZ~Slk
zZ~SlkZ~SlkZ~SlkZ~SlkZ~SlkZ~SlkZ~SlkZ~SlkZ~SlkZ~SlkZ~SlkZ~SlkZ~Slk
zZ~SlkZ~SlkZ~SlkZ~SlkZ~SlkZ~SlkZ~SlkZ~SlkZ~SlkZ~SlkZ~SlkZ~SlkZ~Slk
zZ~SlkZ~SlkZ~SlkZ~SlkZ~SlkZ~SlkZ~SlkZ~SlkZ~SlkZ~SlkZ~SlkZ~SlkZ~Slk
zZ~SlkZ~SlkZ~SlkZ~SlkZ~SlkZ~SlkZ~SlkZ~SlkZ~SlkZ~SlkZ~SlkZ~SlkZ~Slk
zZ~SlkZ~SlkZ~SlkZ~SlkZ~SlkZ~SlkZ~SlkZ~SlkZ~SlkZ~SlkZ~SlkZ~SlkZ~Slk
zZ~SlkZ~SlkZ~SlkZ~SlkZ~SlkZ~SlkZ|rZ}Z`^O(Z`^O(Z`>nw<DC0*?$5bD=l-1g
zbMDW%Kj;3O`*ZHkc|Pa)oV#;A&b^+`y%x{CPR`Bf-2R@s_H)NQcieN`Id|-H-8pys
zbH_h%ed7AW^@-~f*C!`&;`+q(iR+W+KXHBH`o#5#>l4=}u1{Q_xIS@x;`+q(iR%;B
zC$3LipSV78ed7AW^@-~f*C(z|=5#WrlR2H7>&cu>=5#WrlR2Ht>10kPb2^#R$(&B+
zbTX%teLvavlYKwg_mh1;+4qxuKiT(_eLvavlj}dZ{*&uJx&D*uKe_(X3)gS|Pxk+0
z|4;VcCEwWX|8D<x`@h@&-Tv?Pf4Bd;{on2XZvS`P-F0`@-CcKg-Q9I}*WF!rcir7}
zcQ>cqoOa#ab$8d@U3Yig-F0`@-CcKg-Q9I}*WF!rcir91XE&eSe0KBM&1W~C-F$W@
zyPMB$KD+ts=Chm6Za%yD?B=tZ&u%`u`RwMio6l}OyZP+qvzyOuKD+ts=Chm6Za%yD
z?B=t3UG2KN>*%hdyN>QUy6fn!qq~moUU$2W?mD{b=&qx?j_x|T>*%hdyN>QUy6fn!
zqq~moI=buVuA{q-?q0jQj_x|T>*%hdyN>QUy6fn!qq~moI=buVuA{q-?mD{b=&qx?
zj_x|T>*%hdyN>QUy6fn!qq~moeC#^9>*%hdyN>QUy6fn!qq~moI=buVuA{q-?mD{b
z=&qx?j_x|T>*%hdyN>QUy6fn!qq~moI=buVuA{q-?mD{b=&qx?j_x|TGrH^OuA{q-
z?mD{b=&qx?j_x|T>*%hdyN>QUy6fn!qq~moI=buV&iSsRyN>QUy6fn!qq~moI=buV
zuA{q-?mD{b=&qx?j_x|T>*%hdyN>QUy6fn!qq~moeC~YieC~YieC~YieC~YieC~Yi
zeC~YieC~YieC|5B>*%hdyN>QUy6fn!qq~moI=buVuA{q-?mX{2?>z53?>z53?>z53
z?>z53?>z53?>z53?>z53?>z53?>z53?>ysi<KX$=`QZ8B`QZ8B`QZ8B`QZ8B`QZ8B
z`QZ8B`QZ8B`QZ8B`QZ8B`QZ8B`QZ8B`QZ8B`QZ8B`QZ8B`QZ8B`QZ8B`QZ8B`QZ8B
z`QZ8B`QZ8B`QZ6*!UxX>&j-&3&j-&3&j-&3&j-&3&j-&3&j-&3&j-&3&j-&3&j-&3
z&j-&3&j-&3&j-(k_fd!UQHS?Yhxbv3_fd!UQHS?Yhxbv3_fd!UQHS?Yhxbtj{|EmE
z{|EmE{|EmE{|EmE{|EmE{|EmE{|EmE{|EmE{|EmE{|EmE{|EmE{|EmE{|EmE{|EmE
z{|EmE{|EmE{|EmE{|EmE{|EmE{|EmE{|EmE{|EmE{|EmE{|EmE{|EmE{|EmE{|EmE
z{|EmE{|EmE{|EmE{|EmE{|EmE{|EmE{|EmE{|EmE{|EmE{|EmE{|EmE{|EmE{|EmE
z{|EmE{|EmE{|EmE{|EmE{|EmE{|EmE{|EmE{|EmE{|EmE{|EmE{|EmE{|EmE{|EmE
z{|EmE{|EmE{|EmE{|EmE{|EmE{|EmE{|EmE{|EmE{|EmE{|EmE{|EmE{|EmE{|EmE
z{|EmE{|EmE{|EmE{|EmE{|EmE{|EmE{|EmE{|EmE{|EmE{|EmE{|EmE{|EmE{|EmE
z{|EmE{|EmE{|EmE{|EmE{|EmE{|EmE{|EmE{|Eml-MHZYg8vKtFZjRU|APMu{xA5y
z;QxaE3;r+ozu^CZ{|o*v_`l%)g8vKtFZjRU|APMu{xA5y;QxaE3;r+ozu^CZ{|o*v
z`j=dOf{*J@zWMBf&p!D4gZI7U7kvHG&)>|RxpVuO?|SZKw_ft>gV&#&y>RpM58i(E
z=1*rod*{BpFMH;@+;P+6U+>}1f0-}-><iCv={fE`^z?HN-S@Gd`}~XC^xtvU&p+hR
z7modgr#<(_9OH%0zsODh9e4fwL;lmHza;*$AAJ7bxjlZ;Uv-bqcRw}zxefS_e|Yh(
zPq>S}^vB%~-F-a!)0dCkx%0@`uX^~_^~1L>-~7<!r(b^6<(FOl;XB{<ws(Kyqi?(V
z+{^EN`0|5iSMBW|z5nXvUwC!@SHJ5WPrdWoAH8m#>_7Aw-~BJ&dv)_e|KNS^ynOuf
zv4_t->xo;R^V;;~pZ>Z(`o6Dt|JVMxv+Mg`n_YkZ>#p8^-xqz(_02E2uD|Aqhd%I@
zcfI}U{OPNg{=i56>0@^uefZ%!XJ7m+w|?nU{ia8=yLYa>=(#)pvzPq8=;JcneXAGk
zTmL_L`u9HWef<CY<A0lV_o1ubpI!dC`#<A4{Km77e*Uei<tIOSb@P#{^704Y_K|P=
zYiC#Ix37NuJ-2@J_VtfHaO-Nj{nQhG>RZ3^9cRD!`nTWr-0ytDdtPz(GynXpPrLn<
z@BE5KUvv2-m#=!`Ypgf^k;^Z=eAN?Q_8qTz>VXfx>3c3eeEFfrzvIcXS31%MF8|Ei
z-u(?vyz!lHxP0y918;f#8z20-H$3p>ue|)q%h!L)H@y2B-u>1mFQ2;nz&qdjo+r-!
z%#%+&{ueIK{<E`v_V(RpvNwM0*7djj{_DqIbN$XYoIUlcZ(V)LlUFZ)^6Di|?!Wnq
z_si>-UVhrspZT|c#}9q(&%FBTSH9)!JAUHU_4e5E7k<}AUiF=C_?wqMeEHAb|093n
z`@ZjQ{H?$EgYW&wlmGbfpM2pES69!xFMHzp+ipGbdmsM;?|Id4`qD4_Bd>YQAN<nS
z{hrIuyZn9M{;CiCu@ArchyKJ*T%O&1=}$cON%wu;<sW|h>z@3&C%^H%m+!y)j`uwM
z!4Lk}k6pduN3QOC&)FaPziwT><kjb2{+X|N@WXHZo`=5w>@8Qn<JSA1c<5Wd>anx`
z#sq%p@jP(#z1j7*-M)O_>)-TMmuH`U-@9IU>!<Gfp3A46y8LTrcR%Us10TKqz}3a=
zC*SkX;}1M?_F31z_4>zOdG)vM`_$`CxxSIEU;gXQ{@&-_x_arq`ZquI5C82aI{w{P
z-+gs<_06}Rdh(mT^)-*2{raDM-^cEr?)z5{T;2C2SM6t=eXm^)fA>23zUyD{m;dvp
zx_bNH&HmA+-Madje{*&J)mMM()lZ-Of$#i+H{E*fCqM1(|9RgVuit<D8?Ik@{m*~n
zCpiAIzxM9$&R+4iZ(aX#f8+Jn-SxjVyL9W_U-j;X-~HjMfBwYPgID`id-a`X&;9lA
z(U0Exb^q+Mf8g^!eD>R3aqEZw;NSm(e|Z1@(C*$__tw32Z{1t}d#}46dgg1gKYi!1
zNAJAj>{mT@>t~PKmtXq}zVm(X-GBViH@@(l?>jF4$=TieZvW`@E3aODJzd@Z+3$Md
zsrP>SyRMt>?LYPzS2zFV4_w{+iGT2S-ucas-+An@v(NhOTc2}(`t(o#yg&LwU-2Vf
z`}chFd%tgfzu<*$ey=~{`sVe^uIu0O#9Kb_x_5p3)%pK%_0p^Jk6iuU#~yj~(T5*7
z`{E~W{jc7Vd+Xl1x9+Wb>)yJz?yY<4-nzH$t$XX<y0`AFd+Xl1x9+Wb>)yJz{)g5t
z_H!oB-n{wzgD?DW-|b)c_47B^?3p|FJ@>Mo{jOX8?H_-9_Gb3{gRg(#;a?V>fAG(~
z@Eo4vxrd&<`_S!=g%>~n*SCD)d;ZfSZrptS4NrUCk9q#5|HJeDm$!W4dw%{AFRtfb
zJni^Nf7NaA?x#NgVD@tt{U87E;$5F;GoSh7tDnj)zy8kKANl69hd*}f`r-TDe0llE
z<&Rx{@bWL-`73Yxli&CaZ~Lap>(71oOFwvdcGcc@|0}-m`sH7Jeg8Y&^v(w!{S!}K
zH6Qw!@BSC>{WTxDzWKh-zI@B&n;(Ar*%SZh)@y(G%m44!{n-2d()*wObMHHQ?bZF+
z)%U;d`u(>*=Wl+=)y=QDsvmmeTfX}3Z+iOr{0FXI`cHq?owq;yO?Up(*|+@l|MI`x
uT)phsv+TJ$S6_7Z&L_N#|A}?=$#(L&w?6Y-ci;N|<YDfu|M%C88~+|vfP+K;
new file mode 100644
index 0000000000000000000000000000000000000000..c880aaab5cfbdfd11ebf885244cb7a5229c03ec5
GIT binary patch
literal 85204
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
A-2eap
new file mode 100644
index 0000000000000000000000000000000000000000..904e24e996a3e5da93bef89e10c49e24c07d0ed2
GIT binary patch
literal 1368
zc$@)P1*iInP)<h;3K|Lk000e1NJLTq003kF003kJ0{{R3g3O3#0000aP)t-s005aY
zGnr;)nE(LHGc(L)X3UwH%*@QpW@i7Hng7hp|NsC0s-1y@0000CbW%=J|NsC0|NsC0
z|Ns9065r0w00001VoOIv3m@0SzyJUQ%1J~)RCwC$mrHKsHV}qI#0OA$)CUNV+0PNC
z5z>1FDgrZWOHO<59>534BKsDgp7p3B>I7zAF2$Eby&QX;;i_BGr>dV-tSTkfVYNIl
zi$7l1mTrsB_C8C-i#4X^3LaLG>jn4e0?941+dy=QV9i9xkG(@4H;@(~ogt^a`43yj
z^`**Zh^{Td#Pj%+Qr%fKN-5`g;nYOF+LzqmXhmO+m0gFk>gfe#F-NRAhUdXXT_P3&
z5hZ>zhPowUE`a<#=%qb^0(KmTs?O^A;`TX0ocz1q{qO362uJ`J02e5qdmo1g`RwHP
z!A7z7fk;yZJFK4j+J<J_!!kFwGv}DTl*m6N!y-fSp;zS$vG4R+^f3f3FkDp6`iZB@
z9Rq0{yOh5|GFgnv$G$b5jmSNW@=3{zpgZ``cV=57#LB;M$gx-;>{j+R-gEgot3{VQ
zT_EJMJvHm{U-0*2vCJ(xH5>9<9E?yX{cn>?Cg7{`b(@FBIAj4b8LLlxUA}&DNX9v(
z3NQA_a4!BS*5!`~%BqqjA5Y&4uFEHnEyD3&j#zU)o^f5S%cniIzr|OZ3i>ow5`DiR
zKV-E(ZYQ3EdZkb6@<UeNeUB?iBFq`D*X2*MI!I#{X}9FZS$$Qmwt_`|Y{-wZnqKV6
z1blp+IyR9XXEjwg7bU<2vXH;?C)8Cq%49XyvL(Ou3A1w<`?`EvZGvCF2-_3drF_v3
zWsvc|O+gEO*$ta$@sA0cmcFE8)2I`NWRx;N{9|`#gBRBOOq5lHKJ|AG{lc-r?c}4)
zL-$z5Md6GLEg?qSW3G#N#pKN%xTocLj)Y#BeKpr}_iC1cFHVHGREV^M$HW)&`;U1U
zqa(S7SZ8*J-qhDnFUE@G8)EF3n+2Q$s`7)uute1_k<QgF7t5n>rGpW1SV4To*jSQh
zlcG$a4=ps-GU>1C2_a&@$I%?>7`aa!VnfzdIeZ#?+sUD|PY~B%U0^7GO|Nu@sDsJ#
z@KlWWEXlsO1AjC<{IhGw<M`A>1$M}i5N36xL4oHW;3LYQL{&USeE7rWXggil@q+qy
zcqZ;IV<F)o1Yw4G7>JjWW`PLt<%)`T&`L8>V}>Oa<kn^+iI7n5LHubaqvh(*WJr7^
z)T>O$2em@zx|mEC771}cDVqgE!@z!yT>QYv82lFP(%@F<5;wl4TqknAA$72YTMI-#
zh4f`KPMMiy>XyGdc~Of)_A<zfoj!JJF(=#0d7SY)+PJ~38KUdBOaRb$*jPKdJK=EV
zrkm0Z8xVG(YE0}Yt@-e>+14L1KJ#R!khI&B)WtXi&X5b{lL3*@ZkLC@MvW|+A?7gN
zW^9D0T;2*9*?`>~p)-$sKP@gC`DhvB0@0TW$+>vr68OLZ|AFHIA?8UIVp5VL8#iJF
zp>x%gNY!OhEyLo1uORl+--}g*Wst2R?yDkOfv7^I8;JRK;rXg-$rj?i69C?WTvb<5
z-Ama!5K|d3=PQC<K{RE8uwP1VM##=LEUkC!&4^ZAZE86{8mYSe$D&=JS`K8398A-<
zAkI6YxS&bnwNTEyqw<esfq5o26J~CRQnjl~iN@O75YIKX+q?rYE}CZZF2t>$$WP>d
ai~I`(b4pM507-ZN0000<MNUMnLSTZUYM}!F
new file mode 100644
index 0000000000000000000000000000000000000000..f413ff5c1a0f2ad9f9a345d3e07be57a59a82207
GIT binary patch
literal 1045
zc$@(h1nT>VP)<h;3K|Lk000e1NJLTq003kF003kJ0{{R3g3O3#0000aP)t-s005aY
zGnr;)nE(LHGc(L)X3UwH%*@QpW@i7Hng7hp|NsC0s-1y@0000CbW%=J|NsC0|NsC0
z|Ns9065r0w00001VoOIv3m@0SzyJUPhe<?1RCwC$ms@V5FcgLlnk;}*nH@}b&;=9;
z`W^{0$~+gU<h>dx3m9n@P^7faO%<|&!sf>KZm^B!d3qut2z>beeU2{xp@)&j(02``
zTY^Y(yls!8j-g6{#iqXUOZZmq^{tQRnwIpYptOGKE#wg=geU|udB&pePc3cOueFKs
zvzd?t6~fN!7xtH~ecHeFR|~mNE=(hU<zcj=XW{%Yp6UJ6N@ftUzmC!P5cbt`?6jy?
zkn>j9-;D~v`nZNntt8~9LC7xNOec_RZz1(-9N|5dP=m0v9-_#(n4W^-V2~txiYhzj
z!i$YK*$mpxEQDn<+Gk7q?5d2K>8gc&fN~c@-gEJg62@yGi)KdJFKsVL7OffK1s(gk
zuDvn5Y{BU<F%-%e((qKG8u5Ul%idy$ct({KxR(KBlCq)lwQ%n=>I*USjd;i%YrdEb
z{Sn*_^roe9hCXX0U8@*Tm5}W<;uM1)L8qv|EjeFw?$DQBbYc7Y_+{2Z;0_;OA3x6W
z0PY|Sr^RF&+^N9lo^nJde+0T>e|Q%!CAxA~?GMkwJ^q*@L1D^DW{@@e8aZfW&HlL(
zh^h58`-7ZbHV<zaS+W1w2>0aSI!6vcWNu~EzD%TLWzD`y<i?s$R_yCU8Y@az$o?{s
ztJ8(Yy+rUffV?jfsir=p{xwOCNIQ`VxeF})mt`W=%)g=j#qveyLfcAweUa7TT2Y9%
zj|Z80xYL7JBN#v$SuMm7!T-APcUV_RUG7#w6p(kTFo<b#?tbL$mc9)MbD|J81-xCa
zu1iy(+!eIf8G_WOYv>wDV7Xr)zJ+r5pkj?+g<rb&*<VHdwnQ#%k*B`?n)b<=Z)r8M
z*w%Y?pY@=}iIK&e%yly-p3Gaau$<qAqFp+%WF>S_u|SWDG`g}53&gW~H?kPATZn)^
z{pHpDF0f_Yc)Al>7VPVTai^XiPQR;MAxJ&d2ec|FrET5HXc}tCS~{7gaV(KcTp<oc
zQD|B7>QZ^Z1TjZ~gu`3RQzOf}P2=}cU|fp)kR|{zS!z=9ML<>z3CM~dAz5JrL$V?W
z4Q^@!)=5xS07+PK!ylVGm5`=3ktPvYvS1MHR5ItZK3>BJtE{TnlF}3mey44O;Kkq6
ztd@0Ivcj%UvClb}M#-r)(X{Qa==a|U(_!d)YlyiY`vK(N;tTmg{#)cPVxOudoeJ1E
P00000NkvXXu0mjfoHYWE
new file mode 100644
index 0000000000000000000000000000000000000000..f6ac0ef7e8f6e192c9c26239884bf92b13cf67b8
GIT binary patch
literal 1025
zc$@(N1pfPpP)<h;3K|Lk000e1NJLTq003kF003kJ0{{R3g3O3#0000aP)t-s005aY
zGnr;)nE(LHGc(L)X3UwH%*@QpW@i7Hng7hp|NsC0s-1y@0000CbW%=J|NsC0|NsC0
z|Ns9065r0w00001VoOIv3m@0SzyJUPb4f%&RCwC$mQ8M}Fc5&T!~r@I9HIMngrJ)4
zQ(^kjbwEn?FN@yb9iWkt>{9_J2)W!F@R;Dg)Lp$zS!5CX;rV991JU){SM-DYAV0|e
zM%uPHwukYjIUJ7B*Q=ZTu2z>QMR^bD+hKK83n7YJaQrDaUiXl8N2@a^ART^^rwFp>
z9#IKgok0Td0KkTyXt?~yXZ<2qM=a7Vzey#Q*6RDnL2!78qHiE=Ex4QTA^lz~J%kTw
zstmq|U|5-t@E~V@SRUkpVNEL-i@q);x>HzkHGJJLeJv;~hO4ub=d-q4IFZka!eTMc
zu`{buHGh%+at79akO>1WhSi7Zh!q^12-bv5K>WppZFh6@Am?f!<BIe8<ZyJvwWFFq
zUcMXE0yolD)G8oeTdi8;=!mNz`J_B*yPwI?M)m~}`KHs5imGL+R7;7ZWotYNJV;A*
zWckKOJq2tdq{0$$(*LL3ZKU7Jv@p{|rJmVH#VIZ=UDrmLfQ3*?VqE$rdu3uFswG*f
z%lCCbgf){JI*%YWuFdgL!bDU{f?kyVyi~}>KvZ5Be|6^zTf#t8UO;S(JZAKN+3ASN
z3j@6)uNUz|&Al}d$_w_F78jlrimN;suUD0qIN$0jWDohucq6MjSV#Rh_J5@Pc!G3f
z_wwM3t6xj|WYw9-AC(uqCDDE%<9fTAh~QL5JzvTmP~Jf3VT_w`oktbsK$-$vb-dY+
zEip&>4?ZIC^U;m)Hw&SbOn!F;BHM*_pCjsYrK_unjA?=AlYvYnPPY~!(~?^V6%rmz
z<RXVlV(+q3UGZ)qa4U<3RPu9z8&h()Lr7;MvMclhIow%G<k?0tDQT)8vXJ#M5t59J
znRmOBS}sb`n8kPXi@9Ww{-vOHwGp3wv!1nUm_EL5ha0)Qi>kimBF|Bjt{e!>7aIY`
z$e-!kZF!dZ$<~h?Ekqu$Hyc?mW_>Y3_Tv~aU&L~krJRVP<{Xh@#O3lKU&e81AT)VW
z+l8Kn<$pJj%%^`<NBnV^?sG(rO721gjrZ5ir7vt3{7A{<<H{~jA7`ID<MD7X!t_;S
zAdaE>s>@+0W|%%6zicXInEvpcG8HpS|5i+Fr$GIwnD~MX)K@9PlerDlpNfeu>p=af
vm<;kz{V6gHxvP)gcJytThUyO|QzGyW8di!g0nvTM00000NkvXXu0mjfqXF-V
new file mode 100644
index 0000000000000000000000000000000000000000..59843ae54b64f6ce4f7e616d4be491c911ea84cf
GIT binary patch
literal 1235
zc$@*#1T6cBP)<h;3K|Lk000e1NJLTq003kF003kJ0{{R3g3O3#0000aP)t-s005aY
zGnr;)nE(LHGc(L)X3UwH%*@QpW@i7Hng7hp|NsC0s-1y@0000CbW%=J|NsC0|NsC0
z|Ns9065r0w00001VoOIv3m@0SzyJUQMM*?KRCwC$mrYXRI26aFnjFBd+de=qdOt_N
zRTBGjNv4=J5|!QqHQb;NfD32Vom9jLqFiod>%)>Qhp^}!Di#F%(|iB->7dhx5Bfwt
zkx%50BC1n|tx|6vK%_mLQWqnX6K;;U`FDFEg`lc|)m4wlpBK4@05B8)B_V|J%_Vlw
za4<$t6qwQ5?fVe&2b-UQ(B}DF=TLGmWzFWjfTsuoBj{dz2tgQl^A0mb5R|kzAGjHU
zzt-QIvk5};13=E&LB-q-)byMklsg#6^|GA>1kTt&3kTTsQcmN$3rJ$UlvDpmfxi-B
zs(OsZVotq*l2F1pfdVHvT}FC0ny!_MGKlO{^1lTH|7D!$)SEgOs2&9Y@Lbr2kd{<#
zhySTga0aoQC4`TSr6hxqDd{GMq~)Oxf{zHUHg7p3EkeB)qa9pj)F50=N<;4i33kkV
z+Zkfqoh0ngavtIa&CE4aHM11QcA(<ZnS*i}9_-kZ;*#IbkX(ZM7}U-VnO=(WZJ}O6
zN?{sklqJk*eYL?f(2HA43tsrLxw#P83GW(do-aa9$Cseyd*a!d^}6HVyqYAe5u#PP
zW%Z*kP*_6LlYHvTg7zzOR0H&%9HKkXNYMzhoi|%+O@~02w{IClNzOR!w=8e?lQnb@
z%pq|-dqh2QW;SdM6#?$Yk>1_eQZqwfj_k!6`W4$RXtT;($sb=Vf=Ltr<fHQ=Orru;
zUn;qEfp&3@JVRc|I^G&)9Ni4A9mSQOHEM$Fe1C)nz8+lD!g*#oEk#T?Ym^*pUDLa@
zP0fmiPIHK0vlU}q+Y5`}FTpe9;sq1LWPGS!Et$V!6C--}V}{^za7DM=t4WauJA@K$
zMP={GAs~J}TSO4+Obz2!!c-2PJ^BD}6(L7%qhFFWlm_w*{A_jB&gyf79BgCs?>w9n
z=2B#u(Pr7sL0tWekex*^{dF&8!>RY)KGWH*ffTXTQc}}ioq82%jI{MEgls^5+h<%O
z^>H1Z@tJtBVk*~XX#88aM!5hI=gDs?hBhOj+jXMvWV-~H?(^Z!I&l*r!fNriI&I;K
z<Iv6+Vk^Q0%(qeN5a+0NAxn^9#sT%s+L9uce-sc;vjLIT_kg$%QSX=-v{o_lKqih2
zSFAju?}mC>UB`|wTQ4r~E*vl-*0C6Qu@PH2eTrR0Wf{T~%Xbknf3wf*S&<+a`6o9M
zz*S7^KKgFY$UnJ0HVgZg8jXfF%*c<rs4-Jtxk{$Dr$zap4viTq<*Snt>L({(KZLbt
zzRNL^s?W;zZP~w5L&>g+M15Ai**#&3n|Wb>4eGP<`;PGlMsC0muRbf^cs3p5##&fh
zIr(FkMaZ}vrt)1Swj2@$kLqXgyORsRw`3xZBX}-f+RL=$<nPGNDtben%J*+U`~KZM
xFqlMZdn&(j3r#(mcWQ87&CEBe=q+_3|9^_Lp+#u>Ntgft002ovPDHLkV1lbeOeO#T
new file mode 100644
index 0000000000000000000000000000000000000000..d5d96d9cd1b7774736dd760c6a3686c0f8f9ee77
GIT binary patch
literal 5405
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
Hu0mjfa6-k4
new file mode 100644
index 0000000000000000000000000000000000000000..88f06722fc9ca3e9e87825db680847d3f4b5d573
GIT binary patch
literal 2671
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
new file mode 100644
index 0000000000000000000000000000000000000000..51921a7e91a2514f00d5bbc45963f94915625f5d
GIT binary patch
literal 1237
zc$@*%1S<Q9P)<h;3K|Lk000e1NJLTq001fg006iM0ssI28V~72000D>Nkl<Zc%1EA
zJ9eWm6ur!uMUc)*NNIOoLOO7lC8V@hfXgglI&haIxPvlFa0k11Q-}~*2zU=mVeHX8
zs&sU8(eLT~P((yn4!;)UzKK395Jhc41pp0@ra&X<h2%g+z*V7=h^Qt)LI7p#US;$h
zft8+!N@{Bo5Y?{flf3P{%-Wi~zM@yi%BwbR=+(%KiM7(J59KU@VC$VL0N9tT#xGkO
z&~C{Q$aa1LV8v>=idoHko%;*#_zCD&E1UpaSdBl<tf`XF#{iISrUgsU;IzX_0!%Ie
zf9I2S@VZ@X?ELQBTaQB@VyV{`dDg-?^mFJ*n}eZJ=j_4EpjS|$Z8ot&MB%;<^lp(B
zI7Z9SGx6J6TLBx!w~ynQ(dI$d-T{4`gJ@<+@|)>@072;9C4F@Kw(+{s6vAF+-1L(Q
z4^!14sk))7a^odWJkWRJ9<m^n=E<J}0e#o?qzbF_FpiNcpy%7I^fgbDA1dDY>n*EU
z#%s3lxfk2_{K@Co_p+U@mVa_ZM_e98rC98!UWSf!=ltn^;;r<2nKM!h`n$bymZ6`m
zfn_$I)cu@$5#0Ord|(c}?#mu3ryZ*+yOA{nC&rf!!RQ-cle*-V(VrXO1OOS9uyQV!
zmV58cFp;f2fNjQVR-^!9rDQ%`=Md0uV<5rh(<#45mMJ}g<2&>s_0kx5ji(*UZRCFR
z-N-na1!wd@>M;?dUXXfD`9&vwd8t>@LQ+p^WId>+yCgl+$O;~92JUU`?}PrH<9Op>
zs$5>;c+t_Nx+lDH3gF<38<=(FbUsB@W8A;Wv&al5NOZjh0Ll#MXuu{0>H<5UI!^Z~
zQ#BJ{{W{$;2C_H2AEq;Wd>uSyijxESi;crtX@PX>=^IV$GOJd@45kR^J7>B61&YS_
z0#)faltfypkdd=BJDBLescN;inaQede7eRQ@Pnv9+i`-T`SvGs#BB>7Yws(9t>@@<
zB4sFZnq!IHDt1U4x*-f4M=`CpJ89=$7qLn1A%Je}QHfY%v4?WE4aj!>GtAW63a$FJ
zeYvXlk|g~JQ-e5vC4tAQtNNcvl5T**I{;(=*8H9{@YlYdpWkJY^o6|pt*7(prBB0G
zb{*vHSQTww_q`$GjH9LB{hSo>aN!2}Kp*G>eW0HYmA}hO*!4B~rybAM;a{~winbNV
zSlW)S(dVx}<yyK0zUV*BymliCGh{n5%aUsk;4Pc}8*z?5pMyF_%t>`%9U~$V9y}&O
z9M1>bN3tr+`uW2Zy$^`#|4ik8s!3v|ii+tE_<n4mk7FeZv(1U$BSW-7aV=FEAWCuA
z2)mmnc8q^dj9-GO<YunScdA-l4V_2BJAMBPX2|24p8YU(nc-XWwf6l%_x(BUCttB9
z$)G}^??+$s;{hAJjmNAdDzV;M>em2~@^Z2urq2@)O}J2L?=5Y}@Lb;rU%DPMS@J=(
z9q;tvv7?^zIy`pt^`YUhqbY>Pj=1#Uv7_+VkwSRv=)vial{^#3A-!(|`au7W({B#b
zzkM6UagwwT+{xbwWoGv$+=%~s@&kRKUkHBz*9wbTXEOB100000NkvXXu0mjf1t4<w
new file mode 100644
index 0000000000000000000000000000000000000000..2c1c8f7f4cb3b547a0ec63b852e3f431695725ef
GIT binary patch
literal 6202
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
Y0s28*hpr*n3IG5A07*qoM6N<$f^+!d3IG5A
new file mode 100644
index 0000000000000000000000000000000000000000..f4bfd48549fd8ae374e2da5677b1311b983191ae
GIT binary patch
literal 1382
zc$@)d1)2JZP)<h;3K|Lk000e1NJLTq001fg006iM0ssI28V~7200001b5ch_0Itp)
z=>Px#1ZP1_K>z@;j|==^1poj532;bRa{vGi!vFvd!vV){sAK>D02*{fSaefwW^{L9
za%BKeVQFr3E>1;MAa*k@H7+qQF!XYv000ElNkl<ZcwX&XYnp=~4D2m?q#mV5=}~$N
zS3!|SFf$mseXw7DxyYCynS@|_nL7MEZqwzmd~OeA_Dcu!X}}NihwB|jmL7N^ihL+j
zAA`96ZTJRR9I7`|Z>Zi`)oTbm{1#nw@wpmCeiZ!kE~FeauN<&~S}y{}+3$L9;C_PO
z(WG~yp8$Y=?1b-SySsRQu6Vbt4q!RZ;qTW3X$4H-my6Ho>K;PdStJZ;@NQDUrV@Uh
zR=jw)AR2saM)A6PRw@u6c!AGX!Uq@IiL8@vYW+0LUJb6j_kUB@oBhe{mUEj@>w_@Z
z2VRJ%#Ii^XcI~^)W4S-g^|skoVF>^wJTH0k+$j7iED}6Rc+3w2&+!V4{vvpvl#K&V
zj(dsPe}?zD(cbzcvXA3RtO)?;(_Jr=5;e=RTFBn|C9=0_B2nM%q8GkvC-Q@^tcE)A
z$%@a}=q|38uV5j!FIBzLXu!j&Lm<}+_W97tK9sLz4+6udoUaa;`eT>1j{|S9yGZIQ
zCAU7V7sFTUxEIKdy2f2<y^l#by<G2%u>4GKrwjSGruKqYJ1f;Q25sY^i!Rz(5f3`f
z!lwlVb&?_~G?{Xonu3AXVeOfI$@jtgwa0d^9jxEl3wo)K>q9hB54@#i=UcfL2h?Lg
z@YIad-~mt3WjlC~Z_6h&+aRB!%XaV}U*R*_KIUalyzAD=IuS)DKknzmQ;6lSx(y|3
zy=hvu@1<q65|m8Jn)Q`~w7vR{@H%X;E2U<By5Kow>QaA)W_|s{N;u$o%{g9hy3)~R
zR!k4lB<n*jDUT(4>r2<$V!hn@bSbpGmz8Jb+0o{@BBc0eu2-~<*Ii}|6KNl{@POyL
z<t=-u!l`akD%7oCL)sms`i~VhYJHPo&`qfI&}94|6h3RQSn&_R=S^*Ya?|vp4xMlh
zT1%xESO;Fn>uDli`G_v|ksU87QW3E{L8@^bMAyNKl=?+UlAe9asaFt!t@iNs8D9eL
zTT4<NE8+ceP?7+}y;$sK@F6WxwYCl~YEG@W%W9D+JXz#J84t9c;yg$%WIanMp84J$
z9yg_7q;7q~r1&jw5C8LLxYPj_B>?)`gR&DI@$2AK)oW<0VBL+{i?T&%`}|8Kdno1L
z8Y1_=4)51p4~Oqn?SM}pzfgSAdR+Cq15z6uoqP~J$OGkl5ImuJ=Di(C^(e`M0uO{&
zrAc%_h<tVGtoa5;3TnLyKTkANuhSk6T+5+)WX^>GZ>XO3)ptZ2N*9L6Z<`v4m$!ni
zckvKYPPY}`0iFmm$sehdpRRrRO)JgePrfhze(*x6>RGARalWTW)wt3oOLRT(T)N3^
zp|}U%)Dv3lTD)rTluguN_hg>{PmxbKpk}@JT_|xyH_b5KWW@(*^3?HLEM!w#v)&mh
zej7;CW=e4Z*V}m3-%}^;MteK)Ld!4eHvzZ6YbrwjA6k2QR``auhX<Q0HG_{UFx~q9
zhd)_<<tNP%QIPe&4gVv%99S-_2I{V7h1A&B8}J(gV#1}0yNpY8?d41#?Eu??6N1-E
z9seAB-2uQy+upsDOLtzO>&<eY!;c?3nt$sc`xCdl_AgC27@>N9CH(lYqig|E^2d)I
o@sdYuF_*ZT<7)iak!Ahy2S6_{Pn2s)!vFvP07*qoM6N<$f?|uB>i_@%
new file mode 100644
index 0000000000000000000000000000000000000000..d7df4098ed213e61f604a887df8492e37eb48311
GIT binary patch
literal 1783
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
I=n#4L51nFti2wiq
new file mode 100644
index 0000000000000000000000000000000000000000..22eff43039ce69cc84ac10db13396984865e317d
GIT binary patch
literal 2189
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
Wv^j|^WpMgB04z<>CKX2b=sy5dK?PI*
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/support/text-orientation.js
@@ -0,0 +1,217 @@
+(function () {
+    var log = function () {};
+
+    function OrientationTester(container, orientation) {
+        this.container = container;
+        this.setOrientation(orientation);
+    }
+    extend(OrientationTester.prototype, {
+        setOrientation: function (orientation) {
+            this.orientation = orientation;
+        },
+        measure: function (results) {
+            this.results = results;
+            this._measureNode(this.container);
+        },
+        _measureNode: function (node, block) {
+            switch (node.nodeType) {
+            case Node.ELEMENT_NODE:
+                var blockOverride = node.dataset.block;
+                if (blockOverride)
+                    block = blockOverride;
+                var nodes = node.childNodes;
+                for (var i = 0; i < nodes.length; i++)
+                    this._measureNode(nodes[i], block);
+                return;
+            case Node.TEXT_NODE:
+                break;
+            default:
+                return;
+            }
+
+            if (this.orientation == "R") {
+                var advanceExpected = 8;
+                var advanceFailed = 4;
+            } else {
+                advanceExpected = 4;
+                advanceFailed = 8;
+            }
+
+            var range = document.createRange();
+            var text = node.textContent;
+            for (var ich = 0; ich < text.length; ich++) {
+                var code = text.charCodeAt(ich);
+                if (code == 10 || code == 13)
+                    continue;
+                range.setStart(node, ich);
+                if (code >= 0xD800 && code <= 0xDBFF) {
+                    var next = text.charCodeAt(ich+1);
+                    if (next >= 0xDC00 && next <= 0xDFFF) {
+                        ich++;
+                        code = ((code & 0x3FF) << 10) + (next & 0x3FF) + 0x10000;
+                    }
+                }
+                range.setEnd(node, ich + 1);
+                rect = range.getBoundingClientRect();
+                if (rect.width == 16) {
+                    if (rect.height == advanceExpected) {
+                        this.results.passCount++;
+                        continue;
+                    }
+                    //log("U+" + stringFromUnicode(code) + " " + rect.width + "x" + rect.height);
+                    if (rect.height == advanceFailed) {
+                        this.results.failed(this, code, block);
+                        continue;
+                    }
+                }
+                this.results.inconclusive(this, code, block, rect);
+            }
+        }});
+
+    function Results(name) {
+        var block = document.createElement("details");
+        this.summary = appendChildElement(block, "summary");
+        this.summary.textContent = name;
+        var typeList = appendChildElement(block, "ul");
+        this.failList = appendChildElement(appendChildElement(typeList, "li", "Failures"), "ol");
+        this.inconclusiveList = appendChildElement(appendChildElement(typeList, "li", "Inconclusives"), "ol");
+        details.appendChild(block);
+        this.passCount = 0;
+        this.failCount = 0;
+        this.inconclusiveCount = 0;
+    }
+    extend(Results.prototype, {
+        failed: function (test, code, block) {
+            this.failCount++;
+            this.append(this.failList, test, code, block);
+        },
+        inconclusive: function (test, code, block, rect) {
+            this.inconclusiveCount++;
+            this.append(this.inconclusiveList, test, code, block, " but inconclusive (rendered as " + rect.width + "x" + rect.height + ")");
+        },
+        append: function (list, test, code, block, message) {
+            var text = stringFromUnicode(code) + " should be " + test.orientation;
+            if (block)
+                text = block + ": " + text;
+            if (message)
+                text += message;
+            appendChildElement(list, "li", text);
+        },
+        done: function (test) {
+            this.summary.textContent += " (" + this.passCount + " passes, " +
+                this.failCount + " fails, " +
+                this.inconclusiveCount + " inconclusives)";
+            assert_equals(this.failCount, 0, "Fail count");
+            assert_greater_than(this.passCount, 0, "Pass count");
+            test.done();
+        }});
+
+    function Runner() {
+        var nodes = document.querySelectorAll("div[data-vo]");
+        this.testers = [];
+        for (var i = 0; i < nodes.length; i++) {
+            var node = nodes[i];
+            var vo = node.dataset.vo;
+            var tester = new OrientationTester(node, vo);
+            tester.test = async_test("Default orientation for vo=" + vo);
+            this.testers.push(tester);
+        }
+        this.testU = async_test("Orientation=Upright");
+        this.testR = async_test("Orientation=Rotated");
+    }
+    extend(Runner.prototype, {
+        run: function () {
+            log("Started");
+            var start = new Date;
+
+            for (var i = 0; i < this.testers.length; i++) {
+                var tester = this.testers[i];
+                var test = tester.test;
+                test.step(function () {
+                    var results = new Results(test.name);
+                    tester.measure(results);
+                    results.done(test);
+                });
+            }
+            this.runOrientation(this.testU, "U");
+            this.runOrientation(this.testR, "R");
+
+            log("Elapsed " + (new Date() - start));
+            done();
+        },
+        runOrientation: function (test, orientation) {
+            container.classList.add(orientation);
+            var results = new Results(test.name);
+            var me = this;
+            test.step(function () {
+                for (var i = 0; i < me.testers.length; i++) {
+                    var tester = me.testers[i];
+                    tester.setOrientation(orientation);
+                    tester.measure(results);
+                }
+                results.done(test);
+            })
+            container.classList.remove(orientation);
+        }});
+
+    setup({explicit_done:true, explicit_timeout:true});
+    var runner = new Runner();
+    window.onload = function () {
+        if (window.location.search == "?wait") {
+            log("Sleeping 5 secs for debug purpose");
+            return setTimeout(run, 5000);
+        }
+        run();
+    }
+
+    function run() {
+        onFontReady("16px orientation", function () { runner.run(); });
+    }
+
+    function onFontReady(font, func) {
+        log("Waiting test fonts to load");
+        if (document.fonts) {
+            if ('load' in document.fonts)
+                return document.fonts.load(font).then(func);
+            if ('ready' in document.fonts)
+                return document.fonts.ready.then(func);
+        }
+        document.offsetTop; // last resort to load @font-face
+        func();
+    }
+
+    function arrayFromRangesByValue(dict) {
+        var array = [];
+        for (var value in dict) {
+            var ranges = dict[value];
+            for (var i = 0; i < ranges.length; i += 2) {
+                var to = ranges[i+1];
+                for (var code = ranges[i]; code <= to; code++)
+                    array[code] = value;
+            }
+        }
+        return array;
+    };
+
+    function stringFromUnicode(code) {
+        var hex = code.toString(16).toUpperCase();
+        if (hex.length < 4) {
+            hex = "0000" + hex;
+            hex = hex.substr(hex.length - 4);
+        }
+        return hex + ' "' + String.fromCharCode(code) + '"';
+    }
+
+    function appendChildElement(parent, tag, text) {
+        var node = document.createElement(tag);
+        if (text)
+            node.textContent = text;
+        parent.appendChild(node);
+        return node;
+    }
+
+    function extend(target, dict) {
+        for (var key in dict)
+            target[key] = dict[key];
+    }
+})();
new file mode 100644
index 0000000000000000000000000000000000000000..53a3af92cd650450b04b9d4f43b28e35ee95dc53
GIT binary patch
literal 10366
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
new file mode 100644
index 0000000000000000000000000000000000000000..b437e8fb8d74bafc27661189144968c757de4405
GIT binary patch
literal 4379
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
V-;yoAhuHuC002ovPDHLkV1iAQZ|?vA
new file mode 100644
index 0000000000000000000000000000000000000000..50816d38f6b6758e69991c65de0b9dc505628ebe
GIT binary patch
literal 477
zc%17D@N?(olHy`uVBq!ia0vp^)*#Hm1|*NFe%cJAI14-?iy0WWg+Z8+Vb&Z8pdd@S
zqpu?a!^Xav-+_~Xe1&9>AYTTCDpdxChGqtapZ|gMO9qBg0|tgy2@DKYGZ+}e^C!h0
zbz@*)4EA(!45_%4^ymNlhxUg#7#SFk95HBOaA4@wIM2j#q2rUzD3dg%1Ow+j=Hd%g
S=~=+2VDNPHb6Mw<&;$Sn{i37*
new file mode 100644
index 0000000000000000000000000000000000000000..d6139238de3f34140bc49d72cbd732c5e3862f39
GIT binary patch
literal 480
zc%17D@N?(olHy`uVBq!ia0vp^)*#Hm1|*NFe%cJAI14-?iy0WWg+Z8+Vb&Z8pdd@S
zqpu?a!^Xav-+_~Xe1&9>AYTTCDpdxChGqtapZ|gMO9qBg0|tgy2@DKYGZ+}e^C!h0
zbz@*)4D)nx45_%4^ymNlhxUg#7#SFk95HBOaA4@wIM2j#q2rUzD3fUBMgxOB86Z!B
Zfv1_dY~>NrbHLbO@O1TaS?83{1OWL`qpbh{
new file mode 100644
index 0000000000000000000000000000000000000000..c352b1095486755624d6787740baf268931c88f4
GIT binary patch
literal 483
zc%17D@N?(olHy`uVBq!ia0vp^)*#Hm1|*NFe%cJAI14-?iy0WWg+Z8+Vb&Z8pdd@S
zqpu?a!^Xav-+_~Xe1&9>AYTTCDpdxChGqtapZ|gMO9qBg0|tgy2@DKYGZ+}e^C!h0
zbz@*)jP!JI45_%4^ymNlhxW{S8I=Vt-w$JJU`R@maAZ(uaGR3O$dutyDK^R^jmg7c
Y_=cr8ZaZ5&FhUqSUHx3vIVCg!0O#R^iU0rr
new file mode 100644
index 0000000000000000000000000000000000000000..8baf6f60404bb9bacc3286ec5aeb48c587cd6ce8
GIT binary patch
literal 477
zc%17D@N?(olHy`uVBq!ia0vp^)*#Hm1|*NFe%cJAI14-?iy0WWg+Z8+Vb&Z8pdd@S
zqpu?a!^Xav-+_~Xe1&9>AYTTCDpdxChGqtapZ|gMO9qBg0|tgy2@DKYGZ+}e^C!h0
zbz@*)4EA(!45_%4^ymD65Aq!DEDRh9YHfln3``j=m0}7FZd1}3N0}rs4=}JEVlJLu
Ste6Ol3I<PCKbLh*2~7aNpMc2#
new file mode 100644
index 0000000000000000000000000000000000000000..7e881312b358a609412577050c0f3a50f97bec79
GIT binary patch
literal 480
zc%17D@N?(olHy`uVBq!ia0vp^)*#Hm1|*NFe%cJAI14-?iy0WWg+Z8+Vb&Z8pdd@S
zqpu?a!^Xav-+_~Xe1&9>AYTTCDpdxChGqtapZ|gMO9qBg0|tgy2@DKYGZ+}e^C!h0
zbz@*)4D)nx45_%4^ymNlhxUg(7<zbk7#NQnF=%3NVCdC2&%|<}<CD%PlQgCTgMBe`
V$%I7?SAem>;OXk;vd$@?2>_&EqoDu*
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/table-column-order-002.xht
@@ -0,0 +1,75 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Writing Modes Test: 'direction: rtl' - table -moz-columns order and vertical-rl</title>
+
+  <link rel="author" title="Hajime Shiozawa" href="mailto:hajime.shiozawa@gmail.com" />
+  <link rel="reviewer" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" /> <!-- 2015-12-21 -->
+  <link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#direction" title="2.1 Specifying Directionality: the direction property" />
+  <link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#vertical-layout" title="7.1 Principles of Layout in Vertical Writing Modes" />
+  <link rel="match" href="block-flow-direction-001-ref.xht" />
+
+  <meta content="ahem" name="flags" />
+  <meta content="This test checks that a table with 'writing-mode' set to 'vertical-rl' and with 'direction' set to 'rtl' will have its column displayed from bottom (1st column) to top (last column). This test relies on right-to-left directionality applying to characters that are strongly sensitive to directionality. In this test, we use digits [0-9] and non-breaking spaces which are all strongly sensitive to bidi directionality." name="assert" />
+
+<style type="text/css"><![CDATA[
+@font-face {
+  font-family: Ahem;
+  src: url("../../../fonts/Ahem.ttf");
+}
+]]></style>
+  <style type="text/css"><![CDATA[
+  body
+    {
+      color: yellow;
+      font: 20px/1 Ahem;
+    }
+
+  table
+    {
+      background-color: blue;
+      border-spacing: 0em;
+      border: blue solid 1em;
+      height: 7em;
+      direction: rtl;
+      writing-mode: vertical-rl;
+    }
+
+  td
+    {
+      padding-bottom: 0em;
+      padding-left: 1em;
+      padding-right: 0em;
+      padding-top: 0em;
+    }
+
+  td.left-most-cell
+    {
+      padding-left: 0em;
+    }
+  ]]></style>
+ </head>
+
+ <body>
+
+  <table>
+
+   <!-- The right-most "S" -->
+   <tr><td><!-- bottommost column -->111 2 &nbsp; 3 &nbsp; 4 &nbsp;</td><td>5&nbsp; 6&nbsp; 7&nbsp; 88</td><td><!-- topmost column -->&nbsp;9 &nbsp;0 &nbsp;1 22</td></tr>
+
+   <!-- The left-most "S" -->
+   <tr><td><!-- bottommost column -->333 4 &nbsp; 5 &nbsp; 6 &nbsp;</td><td>7&nbsp; 8&nbsp; 9&nbsp; 00</td><td><!-- topmost column -->&nbsp;1 &nbsp;2 &nbsp;3 44</td></tr>
+
+   <!-- The "A" -->
+   <tr><td><!-- bottommost column -->555 &nbsp;&nbsp; &nbsp;&nbsp; 666</td><td>77 8&nbsp; 9&nbsp; 00</td><td><!-- topmost column -->11 &nbsp;2 &nbsp;3 44</td></tr>
+
+   <!-- The "P" -->
+   <tr><td class="left-most-cell"><!-- bottommost column -->&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; 555</td><td class="left-most-cell">66 7&nbsp; 8&nbsp; 99</td><td class="left-most-cell"><!-- topmost column -->00 &nbsp;1 &nbsp;2 33</td></tr>
+
+  </table>
+
+ </body>
+</html>
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/table-column-order-003.xht
@@ -0,0 +1,75 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Writing Modes Test: 'direction: rtl' - table -moz-columns order and vertical-lr</title>
+
+  <link rel="author" title="Hajime Shiozawa" href="mailto:hajime.shiozawa@gmail.com" />
+  <link rel="reviewer" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" /> <!-- 2015-12-21 -->
+  <link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#direction" title="2.1 Specifying Directionality: the direction property" />
+  <link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#vertical-layout" title="7.1 Principles of Layout in Vertical Writing Modes" />
+  <link rel="match" href="block-flow-direction-001-ref.xht" />
+
+  <meta content="ahem" name="flags" />
+  <meta content="This test checks that a table with 'writing-mode' set to 'vertical-lr' and with 'direction' set to 'rtl' will have its column displayed from bottom (1st column) to top (last column). This test relies on right-to-left directionality applying to characters that are strongly sensitive to directionality. In this test, we use digits [0-9] and non-breaking spaces which are all strongly sensitive to bidi directionality." name="assert" />
+
+<style type="text/css"><![CDATA[
+@font-face {
+  font-family: Ahem;
+  src: url("../../../fonts/Ahem.ttf");
+}
+]]></style>
+  <style type="text/css"><![CDATA[
+  body
+    {
+      color: yellow;
+      font: 20px/1 Ahem;
+    }
+
+  table
+    {
+      background-color: blue;
+      border-spacing: 0em;
+      border: blue solid 1em;
+      height: 7em;
+      direction: rtl;
+      writing-mode: vertical-lr;
+    }
+
+  td
+    {
+      padding-bottom: 0em;
+      padding-left: 1em;
+      padding-right: 0em;
+      padding-top: 0em;
+    }
+
+  td.left-most-cell
+    {
+      padding-left: 0em;
+    }
+  ]]></style>
+ </head>
+
+ <body>
+
+  <table>
+
+   <!-- The "P" -->
+   <tr><td class="left-most-cell"><!-- bottommost column -->111 &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;</td><td class="left-most-cell">22 3&nbsp; 4&nbsp; 55</td><td class="left-most-cell"><!-- topmost column -->66 &nbsp;7 &nbsp;8 99</td></tr>
+
+   <!-- The "A" -->
+   <tr><td><!-- bottommost column -->000 &nbsp;&nbsp; &nbsp;&nbsp; 111</td><td>22 3&nbsp; 4&nbsp; 55</td><td><!-- topmost column -->66 &nbsp;7 &nbsp;8 99</td></tr>
+
+   <!-- The left-most "S" -->
+   <tr><td><!-- bottommost column -->0 &nbsp; 1 &nbsp; 2 &nbsp; 333</td><td>44 5&nbsp; 6&nbsp; 7&nbsp;</td><td><!-- topmost column -->88 &nbsp;9 &nbsp;0 &nbsp;1</td></tr>
+
+   <!-- The right-most "S" -->
+   <tr><td><!-- bottommost column -->2 &nbsp; 3 &nbsp; 4 &nbsp; 555</td><td>66 7&nbsp; 8&nbsp; 9&nbsp;</td><td><!-- topmost column -->00 &nbsp;1 &nbsp;2 &nbsp;3</td></tr>
+
+  </table>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/table-column-order-004.xht
@@ -0,0 +1,75 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Writing Modes Test: 'direction: rtl' - table -moz-columns order and vertical-rl</title>
+
+  <link rel="author" title="Hajime Shiozawa" href="mailto:hajime.shiozawa@gmail.com" />
+  <link rel="reviewer" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" /> <!-- 2015-12-21 -->
+  <link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#direction" title="2.1 Specifying Directionality: the direction property" />
+  <link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#vertical-layout" title="7.1 Principles of Layout in Vertical Writing Modes" />
+  <link rel="match" href="block-flow-direction-001-ref.xht" />
+
+  <meta content="ahem" name="flags" />
+  <meta content="This test checks that colspanned cells in a table with 'direction' set to 'rtl' are handled according to a bottom-to-top column direction. This test relies on right-to-left directionality applying to characters that are strongly sensitive to directionality. In this test, we use digits [0-9] and non-breaking spaces which are all strongly sensitive to bidi directionality." name="assert" />
+
+<style type="text/css"><![CDATA[
+@font-face {
+  font-family: Ahem;
+  src: url("../../../fonts/Ahem.ttf");
+}
+]]></style>
+  <style type="text/css"><![CDATA[
+  body
+    {
+      color: yellow;
+      font: 20px/1 Ahem;
+    }
+
+  table
+    {
+      background-color: blue;
+      border-spacing: 0em;
+      border: blue solid 1em;
+      height: 7em;
+      direction: rtl;
+      writing-mode: vertical-rl;
+    }
+
+  td
+    {
+      padding-bottom: 0em;
+      padding-left: 1em;
+      padding-right: 0em;
+      padding-top: 0em;
+    }
+
+  td.left-most-cell
+    {
+      padding-left: 0em;
+    }
+  ]]></style>
+ </head>
+
+ <body>
+
+  <table>
+
+   <!-- The right-most "S" -->
+   <tr><td><!-- bottommost column -->111 2 &nbsp; 3 &nbsp; 4 &nbsp;</td><td>5&nbsp; 6&nbsp; 7&nbsp; 88</td><td><!-- topmost column -->&nbsp;9 &nbsp;0 &nbsp;1 22</td></tr>
+
+   <!-- The left-most "S" -->
+   <tr><td colspan="2"><!-- bottommost column -->3333&nbsp; 4 &nbsp;5&nbsp; 6 &nbsp;7&nbsp; 8 &nbsp;99</td><td><!-- topmost column -->&nbsp;1 &nbsp;2 &nbsp;3 44</td></tr>
+
+   <!-- The "A" -->
+   <tr><td><!-- bottommost column -->555 &nbsp;&nbsp; &nbsp;&nbsp; 666</td><td colspan="2"><!-- topmost column -->7777 8&nbsp; 9 0&nbsp; 1 2222</td></tr>
+
+   <!-- The "P" -->
+   <tr><td class="left-most-cell"><!-- bottommost column -->&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; 333</td><td class="left-most-cell">44 5&nbsp; 6&nbsp; 77</td><td class="left-most-cell"><!-- topmost column -->88 &nbsp;9 &nbsp;0 11</td></tr>
+
+  </table>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/table-column-order-005.xht
@@ -0,0 +1,75 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Writing Modes Test: 'direction: rtl' - table -moz-columns order and vertical-lr</title>
+
+  <link rel="author" title="Hajime Shiozawa" href="mailto:hajime.shiozawa@gmail.com" />
+  <link rel="reviewer" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" /> <!-- 2015-12-21 -->
+  <link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#direction" title="2.1 Specifying Directionality: the direction property" />
+  <link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#vertical-layout" title="7.1 Principles of Layout in Vertical Writing Modes" />
+  <link rel="match" href="block-flow-direction-001-ref.xht" />
+
+  <meta content="ahem" name="flags" />
+  <meta content="This test checks that colspanned cells in a table with 'direction' set to 'rtl' are handled according to a bottom-to-top column direction. This test relies on right-to-left directionality applying to characters that are strongly sensitive to directionality. In this test, we use digits [0-9] and non-breaking spaces which are all strongly sensitive to bidi directionality." name="assert" />
+
+<style type="text/css"><![CDATA[
+@font-face {
+  font-family: Ahem;
+  src: url("../../../fonts/Ahem.ttf");
+}
+]]></style>
+  <style type="text/css"><![CDATA[
+  body
+    {
+      color: yellow;
+      font: 20px/1 Ahem;
+    }
+
+  table
+    {
+      background-color: blue;
+      border-spacing: 0em;
+      border: blue solid 1em;
+      height: 7em;
+      direction: rtl;
+      writing-mode: vertical-lr;
+    }
+
+  td
+    {
+      padding-bottom: 0em;
+      padding-left: 1em;
+      padding-right: 0em;
+      padding-top: 0em;
+    }
+
+  td.left-most-cell
+    {
+      padding-left: 0em;
+    }
+  ]]></style>
+ </head>
+
+ <body>
+
+  <table>
+
+   <!-- The "P" -->
+   <tr><td class="left-most-cell"><!-- bottommost column -->111 &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;</td><td class="left-most-cell">22 3&nbsp; 4&nbsp; 55</td><td class="left-most-cell"><!-- topmost column -->66 &nbsp;7 &nbsp;8 99</td></tr>
+
+   <!-- The "A" -->
+   <tr><td colspan="2"><!-- bottommost column -->00000 &nbsp;&nbsp;&nbsp;1&nbsp; &nbsp;&nbsp;&nbsp;2&nbsp; 33333</td><td><!-- topmost column -->44 &nbsp;5 &nbsp;6 77</td></tr>
+
+   <!-- The left-most "S" -->
+   <tr><td><!-- bottommost column -->8 &nbsp; 9 &nbsp; 0 &nbsp; 111</td><td colspan="2"><!-- topmost column -->2222 3 &nbsp;4 5 &nbsp;6 7 &nbsp;8</td></tr>
+
+   <!-- The right-most "S" -->
+   <tr><td><!-- bottommost column -->9 &nbsp; 0 &nbsp; 1 &nbsp; 222</td><td>33 4&nbsp; 5&nbsp; 6&nbsp;</td><td><!-- topmost column -->77 &nbsp;8 &nbsp;9 &nbsp;0</td></tr>
+
+  </table>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/table-column-order-slr-007.xht
@@ -0,0 +1,75 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Writing Modes Test: 'direction: rtl' - table -moz-columns order and sideways-lr</title>
+
+  <link rel="author" title="Hajime Shiozawa" href="mailto:hajime.shiozawa@gmail.com" />
+  <link rel="reviewer" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" /> <!-- 2015-12-22 -->
+  <link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#direction" title="2.1 Specifying Directionality: the direction property" />
+  <link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#vertical-layout" title="7.1 Principles of Layout in Vertical Writing Modes" />
+  <link rel="match" href="block-flow-direction-001-ref.xht" />
+
+  <meta content="ahem" name="flags" />
+  <meta content="This test checks that a table with 'writing-mode' set to 'sideways-lr' and with 'direction' set to 'rtl' will have its column displayed from top (1st column) to bottom (last column). This test relies on right-to-left directionality applying to characters that are strongly sensitive to directionality. In this test, we use digits [0-9] and non-breaking spaces which are all strongly sensitive to bidi directionality." name="assert" />
+
+<style type="text/css"><![CDATA[
+@font-face {
+  font-family: Ahem;
+  src: url("../../../fonts/Ahem.ttf");
+}
+]]></style>
+  <style type="text/css"><![CDATA[
+  body
+    {
+      color: yellow;
+      font: 20px/1 Ahem;
+    }
+
+  table
+    {
+      background-color: blue;
+      border-spacing: 0em;
+      border: blue solid 1em;
+      height: 7em;
+      direction: rtl;
+      writing-mode: sideways-lr;
+    }
+
+  td
+    {
+      padding-bottom: 0em;
+      padding-left: 1em;
+      padding-right: 0em;
+      padding-top: 0em;
+    }
+
+  td.left-most-cell
+    {
+      padding-left: 0em;
+    }
+  ]]></style>
+ </head>
+
+ <body>
+
+  <table>
+
+   <!-- The "P" -->
+   <tr><td class="left-most-cell"><!-- topmost column -->11 2&nbsp; 3&nbsp; 44</td><td class="left-most-cell">55 &nbsp;6 &nbsp;7 88</td><td class="left-most-cell"><!-- bottommost column -->999 &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;</td></tr>
+
+   <!-- The "A" -->
+   <tr><td><!-- topmost column -->00 1&nbsp; 2&nbsp; 33</td><td>44 &nbsp;5 &nbsp;6 77</td><td><!-- bottommost column -->888 &nbsp;&nbsp; &nbsp;&nbsp; 999</td></tr>
+
+   <!-- The left-most "S" -->
+   <tr><td><!-- topmost column -->00 1&nbsp; 2&nbsp; 3&nbsp;</td><td>44 &nbsp;5 &nbsp;6 &nbsp;7</td><td><!-- bottommost column -->&nbsp; 8 &nbsp; 9 &nbsp; 0 111</td></tr>
+
+   <!-- The right-most "S" -->
+   <tr><td><!-- topmost column -->22 3&nbsp; 4&nbsp; 5&nbsp;</td><td>66 &nbsp;7 &nbsp;8 &nbsp;9</td><td><!-- bottommost column -->&nbsp; 0 &nbsp; 1 &nbsp; 2 333</td></tr>
+
+  </table>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/table-column-order-srl-006.xht
@@ -0,0 +1,75 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Writing Modes Test: 'direction: rtl' - table -moz-columns order and sideways-rl</title>
+
+  <link rel="author" title="Hajime Shiozawa" href="mailto:hajime.shiozawa@gmail.com" />
+  <link rel="reviewer" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" /> <!-- 2015-12-22 -->
+  <link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#direction" title="2.1 Specifying Directionality: the direction property" />
+  <link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#vertical-layout" title="7.1 Principles of Layout in Vertical Writing Modes" />
+  <link rel="match" href="block-flow-direction-001-ref.xht" />
+
+  <meta content="ahem" name="flags" />
+  <meta content="This test checks that a table with 'writing-mode' set to 'sideways-rl' and with 'direction' set to 'rtl' will have its column displayed from bottom (1st column) to top (last column). This test relies on right-to-left directionality applying to characters that are strongly sensitive to directionality. In this test, we use digits [0-9] and non-breaking spaces which are all strongly sensitive to bidi directionality." name="assert" />
+
+<style type="text/css"><![CDATA[
+@font-face {
+  font-family: Ahem;
+  src: url("../../../fonts/Ahem.ttf");
+}
+]]></style>
+  <style type="text/css"><![CDATA[
+  body
+    {
+      color: yellow;
+      font: 20px/1 Ahem;
+    }
+
+  table
+    {
+      background-color: blue;
+      border-spacing: 0em;
+      border: blue solid 1em;
+      height: 7em;
+      direction: rtl;
+      writing-mode: sideways-rl;
+    }
+
+  td
+    {
+      padding-bottom: 0em;
+      padding-left: 1em;
+      padding-right: 0em;
+      padding-top: 0em;
+    }
+
+  td.left-most-cell
+    {
+      padding-left: 0em;
+    }
+  ]]></style>
+ </head>
+
+ <body>
+
+  <table>
+
+   <!-- The right-most "S" -->
+   <tr><td><!-- bottommost column -->111 2 &nbsp; 3 &nbsp; 4 &nbsp;</td><td>5&nbsp; 6&nbsp; 7&nbsp; 88</td><td><!-- topmost column -->&nbsp;9 &nbsp;0 &nbsp;1 22</td></tr>
+
+   <!-- The left-most "S" -->
+   <tr><td><!-- bottommost column -->333 4 &nbsp; 5 &nbsp; 6 &nbsp;</td><td>7&nbsp; 8&nbsp; 9&nbsp; 00</td><td><!-- topmost column -->&nbsp;1 &nbsp;2 &nbsp;3 44</td></tr>
+
+   <!-- The "A" -->
+   <tr><td><!-- bottommost column -->555 &nbsp;&nbsp; &nbsp;&nbsp; 666</td><td>77 8&nbsp; 9&nbsp; 00</td><td><!-- topmost column -->11 &nbsp;2 &nbsp;3 44</td></tr>
+
+   <!-- The "P" -->
+   <tr><td class="left-most-cell"><!-- bottommost column -->&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; 555</td><td class="left-most-cell">66 7&nbsp; 8&nbsp; 99</td><td class="left-most-cell"><!-- topmost column -->00 &nbsp;1 &nbsp;2 33</td></tr>
+
+  </table>
+
+ </body>
+</html>
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/table-progression-001-ref.html
@@ -0,0 +1,93 @@
+<!DOCTYPE html>
+<meta charset="utf-8">
+<title>CSS Reference</title>
+<link rel="author" title="Elika J. Etemad" href="http://fantasai.inkedblade.net/contact">
+<link rel="reviewer" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" /> <!-- 2016-01-15 -->
+
+<style>
+  table {
+    border-spacing: 0;
+    margin: 1em;
+  }
+  td {
+    width: 1em;
+    height: 1em;
+    border: solid gray;
+  }
+
+  .navy { background: navy}
+  .blue { background: blue }
+  .aqua { background: aqua }
+  .teal { background: teal }
+  .purp { background: purple }
+  .pink { background: fuchsia }
+  .yllw { background: yellow }
+  .orng { background: orange }
+  caption { background: green; }
+</style>
+
+<p>Test passes if the following three tables look identical.
+
+<table>
+  <caption></caption>
+  <tr>
+    <td rowspan=2>
+    <td class="orng">
+    <td colspan=3>
+    <td class="navy">
+  <tr>
+    <td rowspan=3>
+    <td class="yllw">
+    <td class="pink">
+    <td rowspan=2>
+    <td class="blue">
+  <tr>
+    <td class="aqua">
+    <td rowspan=2 colspan=2>
+    <td rowspan=2>
+  <tr>
+    <td class="teal">
+    <td class="purp">
+</table>
+
+<table>
+  <tr>
+    <td rowspan=2>
+    <td class="orng">
+    <td colspan=3>
+    <td class="navy">
+  <tr>
+    <td rowspan=3>
+    <td class="yllw">
+    <td class="pink">
+    <td rowspan=2>
+    <td class="blue">
+  <tr>
+    <td class="aqua">
+    <td rowspan=2 colspan=2>
+    <td rowspan=2>
+  <tr>
+    <td class="teal">
+    <td class="purp">
+</table>
+
+<table>
+  <tr>
+    <td rowspan=2>
+    <td class="orng">
+    <td colspan=3>
+    <td class="navy">
+  <tr>
+    <td rowspan=3>
+    <td class="yllw">
+    <td class="pink">
+    <td rowspan=2>
+    <td class="blue">
+  <tr>
+    <td class="aqua">
+    <td rowspan=2 colspan=2>
+    <td rowspan=2>
+  <tr>
+    <td class="teal">
+    <td class="purp">
+</table>
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/table-progression-002-ref.html
@@ -0,0 +1,68 @@
+<!DOCTYPE html>
+<meta charset="utf-8">
+<title>CSS Reference</title>
+<link rel="author" title="Elika J. Etemad" href="http://fantasai.inkedblade.net/contact">
+<link rel="reviewer" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" /> <!-- 2016-01-15 -->
+
+<style>
+  table {
+    border-spacing: 0;
+    border: solid gray;
+    margin: 1em;
+    float: left;
+  }
+  td {
+    width: 1em;
+    height: 1em;
+  }
+
+  .navy { background: navy}
+  .blue { background: blue }
+  .aqua { background: aqua }
+  .teal { background: teal }
+</style>
+
+<p>Test passes if the following patterned boxes all look identical.
+
+<table class="reference">
+  <tr><td class="navy">
+  <tr><td class="navy">
+  <tr><td class="blue">
+  <tr><td class="aqua">
+  <tr><td class="aqua">
+</table>
+
+<table class="reference">
+  <tr><td class="navy">
+  <tr><td class="navy">
+  <tr><td class="blue">
+  <tr><td class="aqua">
+  <tr><td class="aqua">
+</table>
+
+
+<table class="reference">
+  <tr><td class="navy">
+  <tr><td class="navy">
+  <tr><td class="blue">
+  <tr><td class="aqua">
+  <tr><td class="aqua">
+</table>
+
+
+<table class="reference">
+  <tr><td class="navy">
+  <tr><td class="navy">
+  <tr><td class="blue">
+  <tr><td class="aqua">
+  <tr><td class="aqua">
+</table>
+
+
+<table class="reference">
+  <tr><td class="navy">
+  <tr><td class="navy">
+  <tr><td class="blue">
+  <tr><td class="aqua">
+  <tr><td class="aqua">
+</table>
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/table-progression-slr-001-ref.html
@@ -0,0 +1,96 @@
+<!DOCTYPE html>
+<meta charset="utf-8">
+<title>CSS Reference</title>
+<link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/">
+<link rel="author" title="Elika J. Etemad" href="http://fantasai.inkedblade.net/contact">
+
+<style>
+  table {
+    border-spacing: 0;
+    margin: 1em;
+  }
+  td {
+    width: 1em;
+    height: 1em;
+    border: solid gray;
+  }
+
+  .navy { background: navy}
+  .blue { background: blue }
+  .aqua { background: aqua }
+  .teal { background: teal }
+  .purp { background: purple }
+  .pink { background: fuchsia }
+  .yllw { background: yellow }
+  .orng { background: orange }
+  caption { background: green; }
+</style>
+
+<p>Test passes if the following three tables look identical.
+
+<table>
+  <caption></caption>
+  <tr>
+    <td class="teal">
+    <td rowspan="3">
+    <td colspan="2" rowspan="2">
+    <td class="purp">
+    <td rowspan="2">
+  <tr>
+    <td class="aqua">
+    <td rowspan="2">
+  <tr>
+    <td rowspan="2">
+    <td class="yllw">
+    <td class="pink">
+    <td class="blue">
+
+  <tr>
+    <td class="orng">
+    <td colspan="3">
+    <td class="navy">
+</table>
+
+<table>
+  <tr>
+    <td class="teal">
+    <td rowspan="3">
+    <td colspan="2" rowspan="2">
+    <td class="purp">
+    <td rowspan="2">
+  <tr>
+    <td class="aqua">
+    <td rowspan="2">
+  <tr>
+    <td rowspan="2">
+    <td class="yllw">
+    <td class="pink">
+    <td class="blue">
+
+  <tr>
+    <td class="orng">
+    <td colspan="3">
+    <td class="navy">
+</table>
+
+<table>
+  <tr>
+    <td class="teal">
+    <td rowspan="3">
+    <td colspan="2" rowspan="2">
+    <td class="purp">
+    <td rowspan="2">
+  <tr>
+    <td class="aqua">
+    <td rowspan="2">
+  <tr>
+    <td rowspan="2">
+    <td class="yllw">
+    <td class="pink">
+    <td class="blue">
+
+  <tr>
+    <td class="orng">
+    <td colspan="3">
+    <td class="navy">
+</table>
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/table-progression-slr-001.html
@@ -0,0 +1,134 @@
+<!DOCTYPE html>
+<meta charset="utf-8">
+<title>CSS Test: sideways-lr Table Row/Rowgroup/Cell Ordering</title>
+<link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/">
+<link rel="author" title="Elika J. Etemad" href="http://fantasai.inkedblade.net/contact">
+<link rel="match" href="table-progression-slr-001-ref.html">
+<meta name="assert" content="This test checks that sideways-lr tables order rows/rowgroups left to right and cells bottom-to-top (LTR) or top-to-bottom (RTL) per 'direction'. This test also checks that 'writing-mode' and 'direction' do not apply to table rows and row groups.">
+<link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#block-flow" title="3.1 Block Flow Direction: the 'writing-mode' property">
+<link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#direction" title="2.1 Specifying Directionality: the 'direction' property">
+
+<style>
+  .test {
+    writing-mode: sideways-lr;
+  }
+  [dir=rtl] {
+    direction: rtl;
+  }
+
+  table {
+    border-spacing: 0;
+    margin: 1em;
+  }
+  td {
+    width: 1em;
+    height: 1em;
+    border: solid gray;
+  }
+
+  .navy { background: navy}
+  .blue { background: blue }
+  .aqua { background: aqua }
+  .teal { background: teal }
+  .purp { background: purple }
+  .pink { background: fuchsia }
+  .yllw { background: yellow }
+  .orng { background: orange }
+
+
+  /* These rules must have no effect. */
+  .test thead,
+  .test tfoot,
+  .test tbody,
+  .test tr,
+  .test td {
+    writing-mode: horizontal-tb; /* For UAs not supporting vertical-rl */
+    writing-mode: sideways-rl;
+    direction: rtl;
+  }
+  .test[dir=rtl] thead,
+  .test[dir=rtl] tfoot,
+  .test[dir=rtl] tbody,
+  .test[dir=rtl] tr,
+  .test[dir=rtl] td {
+    direction: ltr;
+  }
+</style>
+
+<p>Test passes if the following three tables look identical.
+
+<table class="test">
+  <thead>
+    <tr>
+      <td colspan=2>
+      <td class="aqua">
+      <td class="teal">
+  <tfoot>
+    <tr>
+      <td class="navy">
+      <td class="blue">
+      <td colspan=2>
+  <tbody>
+    <tr>
+      <td class="orng">
+      <td colspan=3>
+  <tbody>
+    <tr>
+      <td rowspan=3>
+      <td class="yllw">
+      <td rowspan=2 colspan=2>
+    <tr>
+      <td class="pink">
+    <tr>
+      <td colspan=2>
+      <td class="purp">
+</table>
+
+<table dir=rtl class="test">
+  <thead>
+    <tr>
+      <td class="teal">
+      <td class="aqua">
+      <td colspan=2>
+  <tfoot>
+    <tr>
+      <td colspan=2>
+      <td class="blue">
+      <td class="navy">
+  <tbody>
+    <tr>
+      <td colspan=3>
+      <td class="orng">
+  <tbody>
+    <tr>
+      <td rowspan=2 colspan=2>
+      <td class="yllw">
+      <td rowspan=3>
+    <tr>
+      <td class="pink">
+    <tr>
+      <td class="purp">
+      <td colspan=2>
+</table>
+
+<table class="reference">
+  <tr>
+    <td class="teal">
+    <td rowspan="3">
+    <td colspan="2" rowspan="2">
+    <td class="purp">
+    <td rowspan="2">
+  <tr>
+    <td class="aqua">
+    <td rowspan="2">
+  <tr>
+    <td rowspan="2">
+    <td class="yllw">
+    <td class="pink">
+    <td class="blue">
+
+  <tr>
+    <td class="orng">
+    <td colspan="3">
+    <td class="navy">
+</table>
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/table-progression-slr-002.html
@@ -0,0 +1,85 @@
+<!DOCTYPE html>
+<title>CSS Test: sideways-lr Table Column/Colgroup Ordering</title>
+<link rel="author" title="Elika J. Etemad" href="http://fantasai.inkedblade.net/contact">
+<link rel="match" href="table-progression-002-ref.html">
+<meta name="assert" content="This test checks that sideways-lr tables order -moz-columns bottom-to-top (LTR) or top-to-bottom (RTL) per the table's 'direction'. This test also checks that 'writing-mode' and 'direction' do not apply to table -moz-columns and column groups.">
+<link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#block-flow" title="3.1 Block Flow Direction: the 'writing-mode' property">
+<link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#direction" title="2.1 Specifying Directionality: the 'direction' property">
+
+<style>
+  .test {
+    writing-mode: sideways-lr;
+  }
+  [dir=rtl] {
+    direction: rtl;
+  }
+
+
+  table {
+    border-spacing: 0;
+    border: solid gray;
+    margin: 1em;
+    float: left;
+  }
+  td {
+    width: 1em;
+    height: 1em;
+  }
+
+  .navy { background: navy}
+  .blue { background: blue }
+  .aqua { background: aqua }
+  .teal { background: teal }
+
+  /* These declarations must have no effect. */
+  .test col,
+  .test colgroup {
+    writing-mode: horizontal-tb;
+    writing-mode: sideways-rl;
+    direction: rtl;
+  }
+  .test[dir=rtl] col,
+  .test[dir=rtl] colgroup {
+    direction: ltr;
+  }
+</style>
+
+<p>Test passes if the following patterned boxes all look identical.
+
+<table class="test">
+  <col span=2 class="aqua">
+  <col class="blue">
+  <col span=2 class="navy">
+  <tr><td><td><td><td><td>
+</table>
+<table class="test">
+  <colgroup span=2 class="aqua"></colgroup>
+  <colgroup>
+    <col class="blue">
+    <col span=2 class="navy">
+  </colgroup>
+  <tr><td><td><td><td><td>
+</table>
+
+<table dir=rtl class="test">
+  <col span=2 class="navy">
+  <col class="blue">
+  <col span=2 class="aqua">
+  <tr><td><td><td><td><td>
+</table>
+<table dir=rtl class="test">
+  <colgroup span=2 class="navy"></colgroup>
+  <colgroup>
+    <col class="blue">
+    <col span=2 class="aqua">
+  </colgroup>
+  <tr><td><td><td><td><td>
+</table>
+
+<table class="reference">
+  <tr><td class="navy">
+  <tr><td class="navy">
+  <tr><td class="blue">
+  <tr><td class="aqua">
+  <tr><td class="aqua">
+</table>
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/table-progression-srl-001.html
@@ -0,0 +1,132 @@
+<!DOCTYPE html>
+<meta charset="utf-8">
+<title>CSS Test: sideways-rl Table Row/Rowgroup/Cell Ordering</title>
+<link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/">
+<link rel="author" title="Elika J. Etemad" href="http://fantasai.inkedblade.net/contact">
+<link rel="match" href="table-progression-001-ref.html">
+<meta name="assert" content="This test checks that sideways-rl tables order rows/rowgroups right to left and cells top-to-bottom (LTR) or bottom-to-top (RTL) per 'direction'. This test also checks that 'writing-mode' and 'direction' do not apply to table rows and row groups.">
+<link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#block-flow" title="3.1 Block Flow Direction: the 'writing-mode' property">
+<link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#direction" title="2.1 Specifying Directionality: the 'direction' property">
+
+<style>
+  .test {
+    writing-mode: sideways-rl;
+  }
+  [dir=rtl] {
+    direction: rtl;
+  }
+
+  table {
+    border-spacing: 0;
+    margin: 1em;
+  }
+  td {
+    width: 1em;
+    height: 1em;
+    border: solid gray;
+  }
+
+  .navy { background: navy}
+  .blue { background: blue }
+  .aqua { background: aqua }
+  .teal { background: teal }
+  .purp { background: purple }
+  .pink { background: fuchsia }
+  .yllw { background: yellow }
+  .orng { background: orange }
+
+  /* These rules must have no effect. */
+  .test thead,
+  .test tfoot,
+  .test tbody,
+  .test tr,
+  .test td {
+    writing-mode: horizontal-tb; /* For UAs not supporting vertical-rl */
+    writing-mode: sideways-lr;
+    direction: rtl;
+  }
+  .test[dir=rtl] thead,
+  .test[dir=rtl] tfoot,
+  .test[dir=rtl] tbody,
+  .test[dir=rtl] tr,
+  .test[dir=rtl] td {
+    direction: ltr;
+  }
+</style>
+
+<p>Test passes if the following three tables look identical.
+
+<table class="test">
+  <thead>
+    <tr>
+      <td class="navy">
+      <td class="blue">
+      <td colspan=2>
+  <tfoot>
+    <tr>
+      <td colspan=2>
+      <td class="aqua">
+      <td class="teal">
+  <tbody>
+    <tr>
+      <td rowspan=3>
+      <td colspan=2>
+      <td class="purp">
+    <tr>
+      <td class="pink">
+      <td rowspan=2 colspan=2>
+    <tr>
+      <td class="yllw">
+  <tbody>
+    <tr>
+      <td class="orng">
+      <td colspan=3>
+</table>
+
+<table dir=rtl class="test">
+  <thead>
+    <tr>
+      <td colspan=2>
+      <td class="blue">
+      <td class="navy">
+  <tfoot>
+    <tr>
+      <td class="teal">
+      <td class="aqua">
+      <td colspan=2>
+  <tbody>
+    <tr>
+      <td class="purp">
+      <td colspan=2>
+      <td rowspan=3>
+    <tr>
+      <td rowspan=2 colspan=2>
+      <td class="pink">
+    <tr>
+      <td class="yllw">
+  <tbody>
+    <tr>
+      <td colspan=3>
+      <td class="orng">
+</table>
+
+<table class="reference">
+  <tr>
+    <td rowspan=2>
+    <td class="orng">
+    <td colspan="3">
+    <td class="navy">
+  <tr>
+    <td rowspan="3">
+    <td class="yllw">
+    <td class="pink">
+    <td rowspan="2">
+    <td class="blue">
+  <tr>
+    <td class="aqua">
+    <td rowspan=2 colspan=2>
+    <td rowspan=2>
+  <tr>
+    <td class="teal">
+    <td class="purp">
+</table>
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/table-progression-srl-002.html
@@ -0,0 +1,86 @@
+<!DOCTYPE html>
+<meta charset="utf-8">
+<title>CSS Test: sideways-rl Table Column/Colgroup Ordering</title>
+<link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/">
+<link rel="author" title="Elika J. Etemad" href="http://fantasai.inkedblade.net/contact">
+<link rel="match" href="table-progression-002-ref.html">
+<meta name="assert" content="This test checks that sideways-rl tables order -moz-columns top-to-bottom (LTR) or bottom-to-top (RTL) per the table's 'direction'. This test also checks that 'writing-mode' and 'direction' do not apply to table -moz-columns and column groups.">
+<link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#block-flow" title="3.1 Block Flow Direction: the 'writing-mode' property">
+<link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#direction" title="2.1 Specifying Directionality: the 'direction' property">
+
+<style>
+  .test {
+    writing-mode: sideways-rl;
+  }
+  [dir=rtl] {
+    direction: rtl;
+  }
+
+  table {
+    border-spacing: 0;
+    border: solid gray;
+    margin: 1em;
+    float: left;
+  }
+  td {
+    width: 1em;
+    height: 1em;
+  }
+
+  .navy { background: navy}
+  .blue { background: blue }
+  .aqua { background: aqua }
+  .teal { background: teal }
+
+  /* These declarations must have no effect. */
+  .test col,
+  .test colgroup {
+    writing-mode: horizontal-tb;
+    writing-mode: sideways-lr;
+    direction: rtl;
+  }
+  .test[dir=rtl] col,
+  .test[dir=rtl] colgroup {
+    direction: ltr;
+  }
+</style>
+
+<p>Test passes if the following patterned boxes all look identical.
+
+<table class="test">
+  <col span=2 class="navy">
+  <col class="blue">
+  <col span=2 class="aqua">
+  <tr><td><td><td><td><td>
+</table>
+<table class="test">
+  <colgroup span=2 class="navy"></colgroup>
+  <colgroup>
+    <col class="blue">
+    <col span=2 class="aqua">
+  </colgroup>
+  <tr><td><td><td><td><td>
+</table>
+
+<table dir=rtl class="test">
+  <col span=2 class="aqua">
+  <col class="blue">
+  <col span=2 class="navy">
+  <tr><td><td><td><td><td>
+</table>
+<table dir=rtl class="test">
+  <colgroup span=2 class="aqua"></colgroup>
+  <colgroup>
+    <col class="blue">
+    <col span=2 class="navy">
+  </colgroup>
+  <tr><td><td><td><td><td>
+</table>
+
+<table class="reference">
+  <tr><td class="navy">
+  <tr><td class="navy">
+  <tr><td class="blue">
+  <tr><td class="aqua">
+  <tr><td class="aqua">
+</table>
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/table-progression-vlr-001.html
@@ -0,0 +1,135 @@
+<!DOCTYPE html>
+<meta charset="utf-8">
+<title>CSS Test: vertical-lr Table Row/Rowgroup/Cell Ordering</title>
+<link rel="author" title="Elika J. Etemad" href="http://fantasai.inkedblade.net/contact">
+<link rel="reviewer" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/"> <!-- 2016-01-15 -->
+<link rel="match" href="table-progression-001-ref.html">
+<meta name="assert" content="This test checks that vertical-lr tables order rows/rowgroups left to right and cells top-to-bottom (LTR) or bottom-to-top (RTL) per 'direction'. This test also checks that 'writing-mode' and 'direction' do not apply to table rows and row groups.">
+<link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#block-flow" title="3.1 Block Flow Direction: the 'writing-mode' property">
+<link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#direction" title="2.1 Specifying Directionality: the 'direction' property">
+
+<style>
+  .test {
+    writing-mode: vertical-lr;
+  }
+  [dir=rtl] {
+    direction: rtl;
+  }
+
+  table {
+    border-spacing: 0;
+    margin: 1em;
+  }
+  td {
+    width: 1em;
+    height: 1em;
+    border: solid gray;
+  }
+
+  .navy { background: navy}
+  .blue { background: blue }
+  .aqua { background: aqua }
+  .teal { background: teal }
+  .purp { background: purple }
+  .pink { background: fuchsia }
+  .yllw { background: yellow }
+  .orng { background: orange }
+
+
+  /* These rules must have no effect. */
+  .test thead,
+  .test tfoot,
+  .test tbody,
+  .test tr,
+  .test td {
+    writing-mode: horizontal-tb; /* For UAs not supporting vertical-rl */
+    writing-mode: vertical-rl;
+    direction: rtl;
+  }
+  .test[dir=rtl] thead,
+  .test[dir=rtl] tfoot,
+  .test[dir=rtl] tbody,
+  .test[dir=rtl] tr,
+  .test[dir=rtl] td {
+    direction: ltr;
+  }
+</style>
+
+<p>Test passes if the following three tables look identical.
+
+<table class="test">
+  <thead>
+    <tr>
+      <td colspan=2>
+      <td class="aqua">
+      <td class="teal">
+  <tfoot>
+    <tr>
+      <td class="navy">
+      <td class="blue">
+      <td colspan=2>
+  <tbody>
+    <tr>
+      <td class="orng">
+      <td colspan=3>
+  <tbody>
+    <tr>
+      <td rowspan=3>
+      <td class="yllw">
+      <td rowspan=2 colspan=2>
+    <tr>
+      <td class="pink">
+    <tr>
+      <td colspan=2>
+      <td class="purp">
+</table>
+
+<table dir=rtl class="test">
+  <thead>
+    <tr>
+      <td class="teal">
+      <td class="aqua">
+      <td colspan=2>
+  <tfoot>
+    <tr>
+      <td colspan=2>
+      <td class="blue">
+      <td class="navy">
+  <tbody>
+    <tr>
+      <td colspan=3>
+      <td class="orng">
+  <tbody>
+    <tr>
+      <td rowspan=2 colspan=2>
+      <td class="yllw">
+      <td rowspan=3>
+    <tr>
+      <td class="pink">
+    <tr>
+      <td class="purp">
+      <td colspan=2>
+</table>
+
+
+<table class="reference">
+  <tr>
+    <td rowspan=2>
+    <td class="orng">
+    <td colspan=3>
+    <td class="navy">
+
+  <tr>
+    <td rowspan=3>
+    <td class="yllw">
+    <td class="pink">
+    <td rowspan=2>
+    <td class="blue">
+  <tr>
+    <td class="aqua">
+    <td rowspan=2 colspan=2>
+    <td rowspan=2>
+  <tr>
+    <td class="teal">
+    <td class="purp">
+</table>
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/table-progression-vlr-002.html
@@ -0,0 +1,87 @@
+<!DOCTYPE html>
+<meta charset="utf-8">
+<title>CSS Test: vertical-lr Table Column/Colgroup Ordering</title>
+<link rel="author" title="Elika J. Etemad" href="http://fantasai.inkedblade.net/contact">
+<link rel="reviewer" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/"> <!-- 2016-01-15 -->
+<link rel="match" href="table-progression-002-ref.html">
+<meta name="assert" content="This test checks that vertical-lr tables order -moz-columns top-to-bottom (LTR) or bottom-to-top (RTL) per the table's 'direction'. This test also checks that 'writing-mode' and 'direction' do not apply to table -moz-columns and column groups.">
+<link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#block-flow" title="3.1 Block Flow Direction: the 'writing-mode' property">
+<link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#direction"z>
+
+<style>
+  .test {
+    writing-mode: vertical-lr;
+  }
+  [dir=rtl] {
+    direction: rtl;
+  }
+
+
+  table {
+    border-spacing: 0;
+    border: solid gray;
+    margin: 1em;
+    float: left;
+  }
+  td {
+    width: 1em;
+    height: 1em;
+  }
+
+  .navy { background: navy}
+  .blue { background: blue }
+  .aqua { background: aqua }
+  .teal { background: teal }
+
+  /* These declarations must have no effect. */
+  .test col,
+  .test colgroup {
+    writing-mode: horizontal-tb;
+    writing-mode: vertical-rl;
+    direction: rtl;
+  }
+  .test[dir=rtl] col,
+  .test[dir=rtl] colgroup {
+    direction: ltr;
+  }
+</style>
+
+<p>Test passes if the following patterned boxes all look identical.
+
+<table class="test">
+  <col span=2 class="navy">
+  <col class="blue">
+  <col span=2 class="aqua">
+  <tr><td><td><td><td><td>
+</table>
+<table class="test">
+  <colgroup span=2 class="navy"></colgroup>
+  <colgroup>
+    <col class="blue">
+    <col span=2 class="aqua">
+  </colgroup>
+  <tr><td><td><td><td><td>
+</table>
+
+<table dir=rtl class="test">
+  <col span=2 class="aqua">
+  <col class="blue">
+  <col span=2 class="navy">
+  <tr><td><td><td><td><td>
+</table>
+<table dir=rtl class="test">
+  <colgroup span=2 class="aqua"></colgroup>
+  <colgroup>
+    <col class="blue">
+    <col span=2 class="navy">
+  </colgroup>
+  <tr><td><td><td><td><td>
+</table>
+
+<table class="reference">
+  <tr><td class="navy">
+  <tr><td class="navy">
+  <tr><td class="blue">
+  <tr><td class="aqua">
+  <tr><td class="aqua">
+</table>
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/table-progression-vlr-003.html
@@ -0,0 +1,116 @@
+<!DOCTYPE html>
+<meta charset="utf-8">
+<title>CSS Test: vertical-lr upright orientation Table Row/Rowgroup/Cell Ordering</title>
+<link rel="author" title="Elika J. Etemad" href="http://fantasai.inkedblade.net/contact">
+<link rel="reviewer" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/"> <!-- 2016-01-19 -->
+<link rel="match" href="table-progression-001-ref.html">
+<meta name="assert" content="This test checks that vertical-lr tables, whether LTR or RTL, order rows/rowgroups left to right and cells top-to-bottom when text-orientation is upright.">
+<link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#block-flow" title="3.1 Block Flow Direction: the 'writing-mode' property">
+<link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#direction" title="2.1 Specifying Directionality: the 'direction' property">
+<link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#text-orientation" title="5.1 Orienting Text: the 'text-orientation' property">
+
+<style>
+  .test {
+    writing-mode: vertical-lr;
+    text-orientation: upright;
+  }
+  [dir=rtl] {
+    direction: rtl;
+  }
+
+  table {
+    border-spacing: 0;
+    margin: 1em;
+  }
+  td {
+    width: 1em;
+    height: 1em;
+    border: solid gray;
+  }
+
+  .navy { background: navy}
+  .blue { background: blue }
+  .aqua { background: aqua }
+  .teal { background: teal }
+  .purp { background: purple }
+  .pink { background: fuchsia }
+  .yllw { background: yellow }
+  .orng { background: orange }
+</style>
+
+<p>Test passes if the following three tables look identical.
+
+<table class="test">
+  <thead>
+    <tr>
+      <td colspan=2>
+      <td class="aqua">
+      <td class="teal">
+  <tfoot>
+    <tr>
+      <td class="navy">
+      <td class="blue">
+      <td colspan=2>
+  <tbody>
+    <tr>
+      <td class="orng">
+      <td colspan=3>
+  <tbody>
+    <tr>
+      <td rowspan=3>
+      <td class="yllw">
+      <td rowspan=2 colspan=2>
+    <tr>
+      <td class="pink">
+    <tr>
+      <td colspan=2>
+      <td class="purp">
+</table>
+
+<table class="test" dir=rtl>
+  <thead>
+    <tr>
+      <td colspan=2>
+      <td class="aqua">
+      <td class="teal">
+  <tfoot>
+    <tr>
+      <td class="navy">
+      <td class="blue">
+      <td colspan=2>
+  <tbody>
+    <tr>
+      <td class="orng">
+      <td colspan=3>
+  <tbody>
+    <tr>
+      <td rowspan=3>
+      <td class="yllw">
+      <td rowspan=2 colspan=2>
+    <tr>
+      <td class="pink">
+    <tr>
+      <td colspan=2>
+      <td class="purp">
+</table>
+
+<table class="reference">
+  <tr>
+    <td rowspan=2>
+    <td class="orng">
+    <td colspan="3">
+    <td class="navy">
+  <tr>
+    <td rowspan="3">
+    <td class="yllw">
+    <td class="pink">
+    <td rowspan="2">
+    <td class="blue">
+  <tr>
+    <td class="aqua">
+    <td rowspan=2 colspan=2>
+    <td rowspan=2>
+  <tr>
+    <td class="teal">
+    <td class="purp">
+</table>
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/table-progression-vlr-004.html
@@ -0,0 +1,76 @@
+<!DOCTYPE html>
+<meta charset="utf-8">
+<title>CSS Test: vertical-lr upright orientation Table Column/Colgroup Ordering</title>
+<link rel="author" title="Elika J. Etemad" href="http://fantasai.inkedblade.net/contact">
+<link rel="match" href="table-progression-002-ref.html">
+<meta name="assert" content="This test checks that vertical-lr tables, whether LTR or RTL, order -moz-columns top-to-bottom when text-orientation is upright.">
+<link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#block-flow" title="3.1 Block Flow Direction: the 'writing-mode' property">
+<link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#direction"z>
+<link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#text-orientation" title="5.1 Orienting Text: the 'text-orientation' property">
+
+<style>
+  .test {
+    writing-mode: vertical-lr;
+    text-orientation: upright;
+  }
+  [dir=rtl] {
+    direction: rtl;
+  }
+
+
+  table {
+    border-spacing: 0;
+    border: solid gray;
+    margin: 1em;
+    float: left;
+  }
+  td {
+    width: 1em;
+    height: 1em;
+  }
+
+  .navy { background: navy}
+  .blue { background: blue }
+  .aqua { background: aqua }
+  .teal { background: teal }
+</style>
+
+<p>Test passes if the following patterned boxes all look identical.
+
+<table class="test">
+  <col span=2 class="navy">
+  <col class="blue">
+  <col span=2 class="aqua">
+  <tr><td><td><td><td><td>
+</table>
+<table class="test">
+  <colgroup span=2 class="navy"></colgroup>
+  <colgroup>
+    <col class="blue">
+    <col span=2 class="aqua">
+  </colgroup>
+  <tr><td><td><td><td><td>
+</table>
+
+<table dir=rtl class="test">
+  <col span=2 class="navy">
+  <col class="blue">
+  <col span=2 class="aqua">
+  <tr><td><td><td><td><td>
+</table>
+<table dir=rtl class="test">
+  <colgroup span=2 class="navy"></colgroup>
+  <colgroup>
+    <col class="blue">
+    <col span=2 class="aqua">
+  </colgroup>
+  <tr><td><td><td><td><td>
+</table>
+
+<table class="reference">
+  <tr><td class="navy">
+  <tr><td class="navy">
+  <tr><td class="blue">
+  <tr><td class="aqua">
+  <tr><td class="aqua">
+</table>
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/table-progression-vrl-001.html
@@ -0,0 +1,132 @@
+<!DOCTYPE html>
+<meta charset="utf-8">
+<title>CSS Test: vertical-rl Table Row/Rowgroup/Cell Ordering</title>
+<link rel="author" title="Elika J. Etemad" href="http://fantasai.inkedblade.net/contact">
+<link rel="reviewer" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/"> <!-- 2016-01-15 -->
+<link rel="match" href="table-progression-001-ref.html">
+<meta name="assert" content="This test checks that vertical-rl tables order rows/rowgroups right to left and cells top-to-bottom (LTR) or bottom-to-top (RTL) per 'direction'. This test also checks that 'writing-mode' and 'direction' do not apply to table rows and row groups.">
+<link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#block-flow" title="3.1 Block Flow Direction: the 'writing-mode' property">
+<link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#direction" title="2.1 Specifying Directionality: the 'direction' property">
+
+<style>
+  .test {
+    writing-mode: vertical-rl;
+  }
+  [dir=rtl] {
+    direction: rtl;
+  }
+
+  table {
+    border-spacing: 0;
+    margin: 1em;
+  }
+  td {
+    width: 1em;
+    height: 1em;
+    border: solid gray;
+  }
+
+  .navy { background: navy}
+  .blue { background: blue }
+  .aqua { background: aqua }
+  .teal { background: teal }
+  .purp { background: purple }
+  .pink { background: fuchsia }
+  .yllw { background: yellow }
+  .orng { background: orange }
+
+  /* These rules must have no effect. */
+  .test thead,
+  .test tfoot,
+  .test tbody,
+  .test tr,
+  .test td {
+    writing-mode: horizontal-tb; /* For UAs not supporting vertical-rl */
+    writing-mode: vertical-lr;
+    direction: rtl;
+  }
+  .test[dir=rtl] thead,
+  .test[dir=rtl] tfoot,
+  .test[dir=rtl] tbody,
+  .test[dir=rtl] tr,
+  .test[dir=rtl] td {
+    direction: ltr;
+  }
+</style>
+
+<p>Test passes if the following three tables look identical.
+
+<table class="test">
+  <thead>
+    <tr>
+      <td class="navy">
+      <td class="blue">
+      <td colspan=2>
+  <tfoot>
+    <tr>
+      <td colspan=2>
+      <td class="aqua">
+      <td class="teal">
+  <tbody>
+    <tr>
+      <td rowspan=3>
+      <td colspan=2>
+      <td class="purp">
+    <tr>
+      <td class="pink">
+      <td rowspan=2 colspan=2>
+    <tr>
+      <td class="yllw">
+  <tbody>
+    <tr>
+      <td class="orng">
+      <td colspan=3>
+</table>
+
+<table dir=rtl class="test">
+  <thead>
+    <tr>
+      <td colspan=2>
+      <td class="blue">
+      <td class="navy">
+  <tfoot>
+    <tr>
+      <td class="teal">
+      <td class="aqua">
+      <td colspan=2>
+  <tbody>
+    <tr>
+      <td class="purp">
+      <td colspan=2>
+      <td rowspan=3>
+    <tr>
+      <td rowspan=2 colspan=2>
+      <td class="pink">
+    <tr>
+      <td class="yllw">
+  <tbody>
+    <tr>
+      <td colspan=3>
+      <td class="orng">
+</table>
+
+<table class="reference">
+  <tr>
+    <td rowspan=2>
+    <td class="orng">
+    <td colspan="3">
+    <td class="navy">
+  <tr>
+    <td rowspan="3">
+    <td class="yllw">
+    <td class="pink">
+    <td rowspan="2">
+    <td class="blue">
+  <tr>
+    <td class="aqua">
+    <td rowspan=2 colspan=2>
+    <td rowspan=2>
+  <tr>
+    <td class="teal">
+    <td class="purp">
+</table>
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/table-progression-vrl-002.html
@@ -0,0 +1,86 @@
+<!DOCTYPE html>
+<meta charset="utf-8">
+<title>CSS Test: vertical-rl Table Column/Colgroup Ordering</title>
+<link rel="author" title="Elika J. Etemad" href="http://fantasai.inkedblade.net/contact">
+<link rel="reviewer" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/"> <!-- 2016-01-15 -->
+<link rel="match" href="table-progression-002-ref.html">
+<meta name="assert" content="This test checks that vertical-rl tables order -moz-columns top-to-bottom (LTR) or bottom-to-top (RTL) per the table's 'direction'. This test also checks that 'writing-mode' and 'direction' do not apply to table -moz-columns and column groups.">
+<link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#block-flow" title="3.1 Block Flow Direction: the 'writing-mode' property">
+<link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#direction" title="2.1 Specifying Directionality: the 'direction' property">
+
+<style>
+  .test {
+    writing-mode: vertical-rl;
+  }
+  [dir=rtl] {
+    direction: rtl;
+  }
+
+  table {
+    border-spacing: 0;
+    border: solid gray;
+    margin: 1em;
+    float: left;
+  }
+  td {
+    width: 1em;
+    height: 1em;
+  }
+
+  .navy { background: navy}
+  .blue { background: blue }
+  .aqua { background: aqua }
+  .teal { background: teal }
+
+  /* These declarations must have no effect. */
+  .test col,
+  .test colgroup {
+    writing-mode: horizontal-tb;
+    writing-mode: vertical-lr;
+    direction: rtl;
+  }
+  .test[dir=rtl] col,
+  .test[dir=rtl] colgroup {
+    direction: ltr;
+  }
+</style>
+
+<p>Test passes if the following patterned boxes all look identical.
+
+<table class="test">
+  <col span=2 class="navy">
+  <col class="blue">
+  <col span=2 class="aqua">
+  <tr><td><td><td><td><td>
+</table>
+<table class="test">
+  <colgroup span=2 class="navy"></colgroup>
+  <colgroup>
+    <col class="blue">
+    <col span=2 class="aqua">
+  </colgroup>
+  <tr><td><td><td><td><td>
+</table>
+
+<table dir=rtl class="test">
+  <col span=2 class="aqua">
+  <col class="blue">
+  <col span=2 class="navy">
+  <tr><td><td><td><td><td>
+</table>
+<table dir=rtl class="test">
+  <colgroup span=2 class="aqua"></colgroup>
+  <colgroup>
+    <col class="blue">
+    <col span=2 class="navy">
+  </colgroup>
+  <tr><td><td><td><td><td>
+</table>
+
+<table class="reference">
+  <tr><td class="navy">
+  <tr><td class="navy">
+  <tr><td class="blue">
+  <tr><td class="aqua">
+  <tr><td class="aqua">
+</table>
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/table-progression-vrl-003.html
@@ -0,0 +1,116 @@
+<!DOCTYPE html>
+<meta charset="utf-8">
+<title>CSS Test: vertical-rl upright orientation Table Row/Rowgroup/Cell Ordering</title>
+<link rel="author" title="Elika J. Etemad" href="http://fantasai.inkedblade.net/contact">
+<link rel="reviewer" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/"> <!-- 2016-01-19 -->
+<link rel="match" href="table-progression-001-ref.html">
+<meta name="assert" content="This test checks that vertical-rl tables, whether LTR or RTL, order rows/rowgroups right to left and cells top-to-bottom when text-orientation is upright.">
+<link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#block-flow" title="3.1 Block Flow Direction: the 'writing-mode' property">
+<link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#direction" title="2.1 Specifying Directionality: the 'direction' property">
+<link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#text-orientation" title="5.1 Orienting Text: the 'text-orientation' property">
+
+<style>
+  .test {
+    writing-mode: vertical-rl;
+    text-orientation: upright;
+  }
+  [dir=rtl] {
+    direction: rtl;
+  }
+
+  table {
+    border-spacing: 0;
+    margin: 1em;
+  }
+  td {
+    width: 1em;
+    height: 1em;
+    border: solid gray;
+  }
+
+  .navy { background: navy}
+  .blue { background: blue }
+  .aqua { background: aqua }
+  .teal { background: teal }
+  .purp { background: purple }
+  .pink { background: fuchsia }
+  .yllw { background: yellow }
+  .orng { background: orange }
+</style>
+
+<p>Test passes if the following three tables look identical.
+
+<table class="test">
+  <thead>
+    <tr>
+      <td class="navy">
+      <td class="blue">
+      <td colspan=2>
+  <tfoot>
+    <tr>
+      <td colspan=2>
+      <td class="aqua">
+      <td class="teal">
+  <tbody>
+    <tr>
+      <td rowspan=3>
+      <td colspan=2>
+      <td class="purp">
+    <tr>
+      <td class="pink">
+      <td rowspan=2 colspan=2>
+    <tr>
+      <td class="yllw">
+  <tbody>
+    <tr>
+      <td class="orng">
+      <td colspan=3>
+</table>
+
+<table class="test" dir=rtl>
+  <thead>
+    <tr>
+      <td class="navy">
+      <td class="blue">
+      <td colspan=2>
+  <tfoot>
+    <tr>
+      <td colspan=2>
+      <td class="aqua">
+      <td class="teal">
+  <tbody>
+    <tr>
+      <td rowspan=3>
+      <td colspan=2>
+      <td class="purp">
+    <tr>
+      <td class="pink">
+      <td rowspan=2 colspan=2>
+    <tr>
+      <td class="yllw">
+  <tbody>
+    <tr>
+      <td class="orng">
+      <td colspan=3>
+</table>
+
+<table class="reference">
+  <tr>
+    <td rowspan=2>
+    <td class="orng">
+    <td colspan="3">
+    <td class="navy">
+  <tr>
+    <td rowspan="3">
+    <td class="yllw">
+    <td class="pink">
+    <td rowspan="2">
+    <td class="blue">
+  <tr>
+    <td class="aqua">
+    <td rowspan=2 colspan=2>
+    <td rowspan=2>
+  <tr>
+    <td class="teal">
+    <td class="purp">
+</table>
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/table-progression-vrl-004.html
@@ -0,0 +1,75 @@
+<!DOCTYPE html>
+<meta charset="utf-8">
+<title>CSS Test: vertical-rl upright orientation Table Column/Colgroup Ordering</title>
+<link rel="author" title="Elika J. Etemad" href="http://fantasai.inkedblade.net/contact">
+<link rel="match" href="table-progression-002-ref.html">
+<meta name="assert" content="This test checks that vertical-rl tables, whether LTR or RTL, order -moz-columns top-to-bottom when text-orientation is upright.">
+<link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#block-flow" title="3.1 Block Flow Direction: the 'writing-mode' property">
+<link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#direction" title="2.1 Specifying Directionality: the 'direction' property">
+<link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#text-orientation" title="5.1 Orienting Text: the 'text-orientation' property">
+
+<style>
+  .test {
+    writing-mode: vertical-rl;
+    text-orientation: upright;
+  }
+  [dir=rtl] {
+    direction: rtl;
+  }
+
+  table {
+    border-spacing: 0;
+    border: solid gray;
+    margin: 1em;
+    float: left;
+  }
+  td {
+    width: 1em;
+    height: 1em;
+  }
+
+  .navy { background: navy}
+  .blue { background: blue }
+  .aqua { background: aqua }
+  .teal { background: teal }
+</style>
+
+<p>Test passes if the following patterned boxes all look identical.
+
+<table class="test">
+  <col span=2 class="navy">
+  <col class="blue">
+  <col span=2 class="aqua">
+  <tr><td><td><td><td><td>
+</table>
+<table class="test">
+  <colgroup span=2 class="navy"></colgroup>
+  <colgroup>
+    <col class="blue">
+    <col span=2 class="aqua">
+  </colgroup>
+  <tr><td><td><td><td><td>
+</table>
+
+<table dir=rtl class="test">
+  <col span=2 class="navy">
+  <col class="blue">
+  <col span=2 class="aqua">
+  <tr><td><td><td><td><td>
+</table>
+<table dir=rtl class="test">
+  <colgroup span=2 class="navy"></colgroup>
+  <colgroup>
+    <col class="blue">
+    <col span=2 class="aqua">
+  </colgroup>
+  <tr><td><td><td><td><td>
+</table>
+
+<table class="reference">
+  <tr><td class="navy">
+  <tr><td class="navy">
+  <tr><td class="blue">
+  <tr><td class="aqua">
+  <tr><td class="aqua">
+</table>
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/text-align-vlr-003.xht
@@ -0,0 +1,47 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Writing Modes Test: 'text-align: left' - 'vertical-lr' and 'direction: ltr'</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+  <link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#vertical-layout" title="7.1 Principles of Layout in Vertical Writing Modes" />
+  <link rel="match" href="../css21/reference/ref-filled-green-100px-square.xht" />
+
+  <meta content="ahem image" name="flags" />
+
+<style type="text/css"><![CDATA[
+@font-face {
+  font-family: Ahem;
+  src: url("../../../fonts/Ahem.ttf");
+}
+]]></style>
+  <style type="text/css"><![CDATA[
+  div
+    {
+      color: green;
+      font: 100px/1 Ahem; /* computes to 100px/100px */
+      height: 300px;
+      width: 200px;
+    }
+
+  div
+    {
+      background: red url("support/left-top-200x300.png");
+      direction: ltr;
+      text-align: left;
+      writing-mode: vertical-lr;
+    }
+  ]]></style>
+ </head>
+
+ <body>
+
+  <p>Test passes if there is a filled green square and <strong>no red</strong>.</p>
+
+  <div>T</div>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/text-align-vlr-005.xht
@@ -0,0 +1,48 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Writing Modes Test: 'text-align: left' - 'vertical-lr' and 'direction: rtl'</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+  <link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#vertical-layout" title="7.1 Principles of Layout in Vertical Writing Modes" />
+  <link rel="match" href="../css21/reference/ref-filled-green-100px-square.xht" />
+
+  <meta content="ahem image" name="flags" />
+  <meta content="This test checks that 'text-align: left' aligns an inline box within a line box with respect to the line box's logical left side (line-left side). Here, 'direction: rtl' has no impact, no influence on such alignment." name="assert" />
+
+<style type="text/css"><![CDATA[
+@font-face {
+  font-family: Ahem;
+  src: url("../../../fonts/Ahem.ttf");
+}
+]]></style>
+  <style type="text/css"><![CDATA[
+  div
+    {
+      color: green;
+      font: 100px/1 Ahem; /* computes to 100px/100px */
+      height: 300px;
+      width: 200px;
+    }
+
+  div
+    {
+      background: red url("support/left-top-200x300.png");
+      direction: rtl;
+      text-align: left;
+      writing-mode: vertical-lr;
+    }
+  ]]></style>
+ </head>
+
+ <body>
+
+  <p>Test passes if there is a filled green square and <strong>no red</strong>.</p>
+
+  <div>T</div>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/text-align-vlr-007.xht
@@ -0,0 +1,46 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Writing Modes Test: 'text-align: left' - 'vertical-lr' and initial, default 'direction'</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+  <link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#vertical-layout" title="7.1 Principles of Layout in Vertical Writing Modes" />
+  <link rel="match" href="../css21/reference/ref-filled-green-100px-square.xht" />
+
+  <meta content="ahem image" name="flags" />
+
+<style type="text/css"><![CDATA[
+@font-face {
+  font-family: Ahem;
+  src: url("../../../fonts/Ahem.ttf");
+}
+]]></style>
+  <style type="text/css"><![CDATA[
+  div
+    {
+      color: green;
+      font: 100px/1 Ahem; /* computes to 100px/100px */
+      height: 300px;
+      width: 200px;
+    }
+
+  div
+    {
+      background: red url("support/left-top-200x300.png");
+      text-align: left;
+      writing-mode: vertical-lr;
+    }
+  ]]></style>
+ </head>
+
+ <body>
+
+  <p>Test passes if there is a filled green square and <strong>no red</strong>.</p>
+
+  <div>T</div>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/text-align-vlr-009-ref.xht
@@ -0,0 +1,22 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Reftest Reference</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+
+  <meta name="flags" content="image" />
+
+ </head>
+
+ <body>
+
+  <p>Test passes if there is a filled green square and <strong>no red</strong>.</p>
+
+  <div><img src="support/left-center-green-200x300.png" width="200" height="300" alt="Image download support must be enabled" /></div>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/text-align-vlr-009.xht
@@ -0,0 +1,47 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Writing Modes Test: 'text-align: center' - 'vertical-lr' and 'direction: ltr'</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+  <link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#vertical-layout" title="7.1 Principles of Layout in Vertical Writing Modes" />
+  <link rel="match" href="text-align-vlr-009-ref.xht" />
+
+  <meta content="ahem image" name="flags" />
+
+<style type="text/css"><![CDATA[
+@font-face {
+  font-family: Ahem;
+  src: url("../../../fonts/Ahem.ttf");
+}
+]]></style>
+  <style type="text/css"><![CDATA[
+  div
+    {
+      color: green;
+      font: 100px/1 Ahem; /* computes to 100px/100px */
+      height: 300px;
+      width: 200px;
+    }
+
+  div
+    {
+      background: red url("support/left-center-200x300.png");
+      direction: ltr;
+      text-align: center;
+      writing-mode: vertical-lr;
+    }
+  ]]></style>
+ </head>
+
+ <body>
+
+  <p>Test passes if there is a filled green square and <strong>no red</strong>.</p>
+
+  <div>C</div>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/text-align-vlr-011.xht
@@ -0,0 +1,48 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Writing Modes Test: 'text-align: center' - 'vertical-lr' and 'direction: rtl'</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+  <link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#vertical-layout" title="7.1 Principles of Layout in Vertical Writing Modes" />
+  <link rel="match" href="text-align-vlr-009-ref.xht" />
+
+  <meta content="ahem image" name="flags" />
+  <meta content="This test checks that 'text-align: center' centers an inline box within a line box with respect to the line box's logical left and right sides (line-left and line-right sides)." name="assert" />
+
+<style type="text/css"><![CDATA[
+@font-face {
+  font-family: Ahem;
+  src: url("../../../fonts/Ahem.ttf");
+}
+]]></style>
+  <style type="text/css"><![CDATA[
+  div
+    {
+      color: green;
+      font: 100px/1 Ahem; /* computes to 100px/100px */
+      height: 300px;
+      width: 200px;
+    }
+
+  div
+    {
+      background: red url("support/left-center-200x300.png");
+      direction: rtl;
+      text-align: center;
+      writing-mode: vertical-lr;
+    }
+  ]]></style>
+ </head>
+
+ <body>
+
+  <p>Test passes if there is a filled green square and <strong>no red</strong>.</p>
+
+  <div>C</div>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/text-align-vlr-013.xht
@@ -0,0 +1,46 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Writing Modes Test: 'text-align: center' - 'vertical-lr' and initial, default 'direction'</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+  <link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#vertical-layout" title="7.1 Principles of Layout in Vertical Writing Modes" />
+  <link rel="match" href="text-align-vlr-009-ref.xht" />
+
+  <meta content="ahem image" name="flags" />
+
+<style type="text/css"><![CDATA[
+@font-face {
+  font-family: Ahem;
+  src: url("../../../fonts/Ahem.ttf");
+}
+]]></style>
+  <style type="text/css"><![CDATA[
+  div
+    {
+      color: green;
+      font: 100px/1 Ahem; /* computes to 100px/100px */
+      height: 300px;
+      width: 200px;
+    }
+
+  div
+    {
+      background: red url("support/left-center-200x300.png");
+      text-align: center;
+      writing-mode: vertical-lr;
+    }
+  ]]></style>
+ </head>
+
+ <body>
+
+  <p>Test passes if there is a filled green square and <strong>no red</strong>.</p>
+
+  <div>C</div>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/text-align-vlr-015.xht
@@ -0,0 +1,47 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Writing Modes Test: 'text-align: right' - 'vertical-lr' and 'direction: ltr'</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+  <link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#vertical-layout" title="7.1 Principles of Layout in Vertical Writing Modes" />
+  <link rel="match" href="direction-vlr-003-ref.xht" />
+
+  <meta content="ahem image" name="flags" />
+
+<style type="text/css"><![CDATA[
+@font-face {
+  font-family: Ahem;
+  src: url("../../../fonts/Ahem.ttf");
+}
+]]></style>
+  <style type="text/css"><![CDATA[
+  div
+    {
+      color: green;
+      font: 100px/1 Ahem; /* computes to 100px/100px */
+      height: 300px;
+      width: 200px;
+    }
+
+  div
+    {
+      background: red url("support/left-bottom-200x300.png");
+      direction: ltr;
+      text-align: right;
+      writing-mode: vertical-lr;
+    }
+  ]]></style>
+ </head>
+
+ <body>
+
+  <p>Test passes if there is a filled green square and <strong>no red</strong>.</p>
+
+  <div>B</div>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/text-align-vlr-017.xht
@@ -0,0 +1,48 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Writing Modes Test: 'text-align: right' - 'vertical-lr' and 'direction: rtl'</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+  <link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#vertical-layout" title="7.1 Principles of Layout in Vertical Writing Modes" />
+  <link rel="match" href="direction-vlr-003-ref.xht" />
+
+  <meta content="ahem image" name="flags" />
+  <meta content="This test checks that 'text-align: right' aligns an inline box within a line box with respect to the line box's logical right side (line-right side). Here, 'direction: rtl' has no impact, no influence on such alignment." name="assert" />
+
+<style type="text/css"><![CDATA[
+@font-face {
+  font-family: Ahem;
+  src: url("../../../fonts/Ahem.ttf");
+}
+]]></style>
+  <style type="text/css"><![CDATA[
+  div
+    {
+      color: green;
+      font: 100px/1 Ahem; /* computes to 100px/100px */
+      height: 300px;
+      width: 200px;
+    }
+
+  div
+    {
+      background: red url("support/left-bottom-200x300.png");
+      direction: rtl;
+      text-align: right;
+      writing-mode: vertical-lr;
+    }
+  ]]></style>
+ </head>
+
+ <body>
+
+  <p>Test passes if there is a filled green square and <strong>no red</strong>.</p>
+
+  <div>B</div>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/text-align-vlr-019.xht
@@ -0,0 +1,47 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Writing Modes Test: 'text-align: right' - 'vertical-lr' and initial, default 'direction'</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+  <link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#vertical-layout" title="7.1 Principles of Layout in Vertical Writing Modes" />
+  <link rel="match" href="direction-vlr-003-ref.xht" />
+
+  <meta content="ahem image" name="flags" />
+  <meta content="This test checks that 'text-align: right' aligns an inline box within a line box with respect to such line box's logical right side (line-right side)." name="assert" />
+
+<style type="text/css"><![CDATA[
+@font-face {
+  font-family: Ahem;
+  src: url("../../../fonts/Ahem.ttf");
+}
+]]></style>
+  <style type="text/css"><![CDATA[
+  div
+    {
+      color: green;
+      font: 100px/1 Ahem; /* computes to 100px/100px */
+      height: 300px;
+      width: 200px;
+    }
+
+  div
+    {
+      background: red url("support/left-bottom-200x300.png");
+      text-align: right;
+      writing-mode: vertical-lr;
+    }
+  ]]></style>
+ </head>
+
+ <body>
+
+  <p>Test passes if there is a filled green square and <strong>no red</strong>.</p>
+
+  <div>B</div>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/text-align-vrl-002.xht
@@ -0,0 +1,48 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Writing Modes Test: 'text-align: left' - 'vertical-rl' and 'direction: ltr'</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+  <link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#vertical-layout" title="7.1 Principles of Layout in Vertical Writing Modes" />
+  <link rel="match" href="direction-vrl-004-ref.xht" />
+
+  <meta content="ahem image" name="flags" />
+  <meta content="This test checks that 'text-align: left' aligns an inline box within a line box with respect to such line box's logical left side (line-left side)." name="assert" />
+
+<style type="text/css"><![CDATA[
+@font-face {
+  font-family: Ahem;
+  src: url("../../../fonts/Ahem.ttf");
+}
+]]></style>
+  <style type="text/css"><![CDATA[
+  div
+    {
+      color: green;
+      font: 100px/1 Ahem; /* computes to 100px/100px */
+      height: 300px;
+      width: 200px;
+    }
+
+  div
+    {
+      background: red url("support/right-top-200x300.png");
+      direction: ltr;
+      text-align: left;
+      writing-mode: vertical-rl;
+    }
+  ]]></style>
+ </head>
+
+ <body>
+
+  <p>Test passes if there is a filled green square and <strong>no red</strong>.</p>
+
+  <div>T</div>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/text-align-vrl-004.xht
@@ -0,0 +1,48 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Writing Modes Test: 'text-align: left' - 'vertical-rl' and 'direction: rtl'</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+  <link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#vertical-layout" title="7.1 Principles of Layout in Vertical Writing Modes" />
+  <link rel="match" href="direction-vrl-004-ref.xht" />
+
+  <meta content="ahem image" name="flags" />
+  <meta content="This test checks that 'text-align: left' aligns an inline box within a line box with respect to the line box's logical left side (line-left side). Here, 'direction: rtl' has no impact, no influence on such alignment." name="assert" />
+
+<style type="text/css"><![CDATA[
+@font-face {
+  font-family: Ahem;
+  src: url("../../../fonts/Ahem.ttf");
+}
+]]></style>
+  <style type="text/css"><![CDATA[
+  div
+    {
+      color: green;
+      font: 100px/1 Ahem; /* computes to 100px/100px */
+      height: 300px;
+      width: 200px;
+    }
+
+  div
+    {
+      background: red url("support/right-top-200x300.png");
+      direction: rtl;
+      text-align: left;
+      writing-mode: vertical-rl;
+    }
+  ]]></style>
+ </head>
+
+ <body>
+
+  <p>Test passes if there is a filled green square and <strong>no red</strong>.</p>
+
+  <div>T</div>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/text-align-vrl-006.xht
@@ -0,0 +1,47 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Writing Modes Test: 'text-align: left' - 'vertical-rl' and initial, default 'direction'</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+  <link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#vertical-layout" title="7.1 Principles of Layout in Vertical Writing Modes" />
+  <link rel="match" href="direction-vrl-004-ref.xht" />
+
+  <meta content="ahem image" name="flags" />
+  <meta content="This test checks that 'text-align: left' aligns an inline box within a line box with respect to such line box's logical left side (line-left side)." name="assert" />
+
+<style type="text/css"><![CDATA[
+@font-face {
+  font-family: Ahem;
+  src: url("../../../fonts/Ahem.ttf");
+}
+]]></style>
+  <style type="text/css"><![CDATA[
+  div
+    {
+      color: green;
+      font: 100px/1 Ahem; /* computes to 100px/100px */
+      height: 300px;
+      width: 200px;
+    }
+
+  div
+    {
+      background: red url("support/right-top-200x300.png");
+      text-align: left;
+      writing-mode: vertical-rl;
+    }
+  ]]></style>
+ </head>
+
+ <body>
+
+  <p>Test passes if there is a filled green square and <strong>no red</strong>.</p>
+
+  <div>T</div>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/text-align-vrl-008-ref.xht
@@ -0,0 +1,22 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Reftest Reference</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+
+  <meta name="flags" content="image" />
+
+ </head>
+
+ <body>
+
+  <p>Test passes if there is a filled green square and <strong>no red</strong>.</p>
+
+  <div><img src="support/right-center-green-200x300.png" width="200" height="300" alt="Image download support must be enabled" /></div>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/text-align-vrl-008.xht
@@ -0,0 +1,48 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Writing Modes Test: 'text-align: center' - 'vertical-rl' and 'direction: ltr'</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+  <link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#vertical-layout" title="7.1 Principles of Layout in Vertical Writing Modes" />
+  <link rel="match" href="text-align-vrl-008-ref.xht" />
+
+  <meta content="ahem image" name="flags" />
+  <meta content="This test checks that 'text-align: center' centers an inline box within a line box with respect to such line box's logical left and right sides (line-left and line-right sides)." name="assert" />
+
+<style type="text/css"><![CDATA[
+@font-face {
+  font-family: Ahem;
+  src: url("../../../fonts/Ahem.ttf");
+}
+]]></style>
+  <style type="text/css"><![CDATA[
+  div
+    {
+      color: green;
+      font: 100px/1 Ahem; /* computes to 100px/100px */
+      height: 300px;
+      width: 200px;
+    }
+
+  div
+    {
+      background: red url("support/right-center-200x300.png");
+      direction: ltr;
+      text-align: center;
+      writing-mode: vertical-rl;
+    }
+  ]]></style>
+ </head>
+
+ <body>
+
+  <p>Test passes if there is a filled green square and <strong>no red</strong>.</p>
+
+  <div>C</div>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/text-align-vrl-010.xht
@@ -0,0 +1,49 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Writing Modes Test: 'text-align: center' - 'vertical-rl' and 'direction: rtl'</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+  <link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#vertical-layout" title="7.1 Principles of Layout in Vertical Writing Modes" />
+  <link rel="match" href="text-align-vrl-008-ref.xht" />
+
+  <meta content="ahem image" name="flags" />
+  <meta content="This test checks that 'text-align: center' centers an inline box within a line box with respect to the line box's logical left and right sides (line-left and line-right sides)." name="assert" />
+
+<style type="text/css"><![CDATA[
+@font-face {
+  font-family: Ahem;
+  src: url("../../../fonts/Ahem.ttf");
+}
+]]></style>
+  <style type="text/css"><![CDATA[
+  div
+    {
+      color: green;
+      font: 100px/1 Ahem; /* computes to 100px/100px */
+      height: 300px;
+      width: 200px;
+    }
+
+  div
+    {
+      background: red url("support/right-center-200x300.png");
+      direction: rtl;
+      text-align: center;
+      writing-mode: vertical-rl;
+    }
+
+  ]]></style>
+ </head>
+
+ <body>
+
+  <p>Test passes if there is a filled green square and <strong>no red</strong>.</p>
+
+  <div>C</div>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/text-align-vrl-012.xht
@@ -0,0 +1,47 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Writing Modes Test: 'text-align: center' - 'vertical-rl' and initial, default 'direction'</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+  <link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#vertical-layout" title="7.1 Principles of Layout in Vertical Writing Modes" />
+  <link rel="match" href="text-align-vrl-008-ref.xht" />
+
+  <meta content="ahem image" name="flags" />
+  <meta content="This test checks that 'text-align: center' centers an inline box within a line box with respect to the line box's logical left and right sides (line-left and line-right sides)." name="assert" />
+
+<style type="text/css"><![CDATA[
+@font-face {
+  font-family: Ahem;
+  src: url("../../../fonts/Ahem.ttf");
+}
+]]></style>
+  <style type="text/css"><![CDATA[
+  div
+    {
+      color: green;
+      font: 100px/1 Ahem; /* computes to 100px/100px */
+      height: 300px;
+      width: 200px;
+    }
+
+  div
+    {
+      background: red url("support/right-center-200x300.png");
+      text-align: center;
+      writing-mode: vertical-rl;
+    }
+  ]]></style>
+ </head>
+
+ <body>
+
+  <p>Test passes if there is a filled green square and <strong>no red</strong>.</p>
+
+  <div>C</div>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/text-align-vrl-014.xht
@@ -0,0 +1,48 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Writing Modes Test: 'text-align: right' - 'vertical-rl' and 'direction: ltr'</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+  <link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#vertical-layout" title="7.1 Principles of Layout in Vertical Writing Modes" />
+  <link rel="match" href="direction-vrl-002-ref.xht" />
+
+  <meta content="ahem image" name="flags" />
+  <meta content="This test checks that 'text-align: right' aligns an inline box within a line box with respect to such line box's logical right side (line-right side)." name="assert" />
+
+<style type="text/css"><![CDATA[
+@font-face {
+  font-family: Ahem;
+  src: url("../../../fonts/Ahem.ttf");
+}
+]]></style>
+  <style type="text/css"><![CDATA[
+  div
+    {
+      color: green;
+      font: 100px/1 Ahem; /* computes to 100px/100px */
+      height: 300px;
+      width: 200px;
+    }
+
+  div
+    {
+      background: red url("support/right-bottom-200x300.png");
+      direction: ltr;
+      text-align: right;
+      writing-mode: vertical-rl;
+    }
+  ]]></style>
+ </head>
+
+ <body>
+
+  <p>Test passes if there is a filled green square and <strong>no red</strong>.</p>
+
+  <div>B</div>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/text-align-vrl-016.xht
@@ -0,0 +1,48 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Writing Modes Test: 'text-align: right' - 'vertical-rl' and 'direction: rtl'</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+  <link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#vertical-layout" title="7.1 Principles of Layout in Vertical Writing Modes" />
+  <link rel="match" href="direction-vrl-002-ref.xht" />
+
+  <meta content="ahem image" name="flags" />
+  <meta content="This test checks that 'text-align: right' aligns an inline box within a line box with respect to the line box's logical right side (line-right side). Here, 'direction: rtl' has no impact, no influence on such alignment." name="assert" />
+
+<style type="text/css"><![CDATA[
+@font-face {
+  font-family: Ahem;
+  src: url("../../../fonts/Ahem.ttf");
+}
+]]></style>
+  <style type="text/css"><![CDATA[
+  div
+    {
+      color: green;
+      font: 100px/1 Ahem; /* computes to 100px/100px */
+      height: 300px;
+      width: 200px;
+    }
+
+  div
+    {
+      background: red url("support/right-bottom-200x300.png");
+      direction: rtl;
+      text-align: right;
+      writing-mode: vertical-rl;
+    }
+  ]]></style>
+ </head>
+
+ <body>
+
+  <p>Test passes if there is a filled green square and <strong>no red</strong>.</p>
+
+  <div>B</div>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/text-align-vrl-018.xht
@@ -0,0 +1,47 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Writing Modes Test: 'text-align: right' - 'vertical-rl' and initial, default 'direction'</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+  <link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#vertical-layout" title="7.1 Principles of Layout in Vertical Writing Modes" />
+  <link rel="match" href="direction-vrl-002-ref.xht" />
+
+  <meta content="ahem image" name="flags" />
+  <meta content="This test checks that 'text-align: right' aligns an inline box within a line box with respect to such line box's logical right side (line-right side)." name="assert" />
+
+<style type="text/css"><![CDATA[
+@font-face {
+  font-family: Ahem;
+  src: url("../../../fonts/Ahem.ttf");
+}
+]]></style>
+  <style type="text/css"><![CDATA[
+  div
+    {
+      color: green;
+      font: 100px/1 Ahem; /* computes to 100px/100px */
+      height: 300px;
+      width: 200px;
+    }
+
+  div
+    {
+      background: red url("support/right-bottom-200x300.png");
+      text-align: right;
+      writing-mode: vertical-rl;
+    }
+  ]]></style>
+ </head>
+
+ <body>
+
+  <p>Test passes if there is a filled green square and <strong>no red</strong>.</p>
+
+  <div>B</div>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/text-baseline-slr-009-ref.xht
@@ -0,0 +1,35 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+ <title>CSS Reftest Reference</title>
+ <link rel="author" title="Hajime Shiozawa" href="mailto:hajime.shiozawa@gmail.com" />
+ <meta name="flags" content="image" />
+ <style type="text/css"><![CDATA[
+
+  img
+ {
+  padding-left: 78px;
+  vertical-align: top;
+ }
+
+ img + br + img
+ {
+  padding-left: 30px;
+ }
+
+ img + br + img + br + img
+ {
+  padding-left: 102px;
+ }
+ ]]></style>
+
+</head>
+
+<body>
+
+<p>Test passes if the <strong>right edge</strong> of an irregular polygon is straight and unbroken.</p>
+
+<div><img src="support/swatch-fuchsia.png" width="48" height="60" alt="Image download support must be enabled" /><br /><img src="support/swatch-fuchsia.png" width="96" height="120" alt="Image download support must be enabled" /><br /><img src="support/swatch-fuchsia.png" width="24" height="30" alt="Image download support must be enabled" /></div>
+
+</body>
+</html>
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/text-baseline-slr-009.xht
@@ -0,0 +1,45 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+  <head>
+    <title>CSS Writing Modes Test: text baseline alignment - alphabetical alignment with vertical layout</title>
+    <link rel="author" title="Hajime Shiozawa" href="mailto:hajime.shiozawa@gmail.com" />
+    <link rel="reviewer" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" /> <!-- 2015-12-05 -->
+    <link rel="help" title="4.2. Text Baseline" href="http://www.w3.org/TR/css-writing-modes-3/#text-baselines" />
+    <link rel="match" href="text-baseline-slr-009-ref.xht" />
+    <meta name="assert" content="When 'writing-mode' is 'sideways-lr', then the alphabetic baseline is used as the dominant baseline." />
+    <meta name="flags" content="ahem" />
+<style type="text/css"><![CDATA[
+@font-face {
+  font-family: Ahem;
+  src: url("../../../fonts/Ahem.ttf");
+}
+]]></style>
+    <style type="text/css"><![CDATA[
+    div#slr
+    {
+      color: fuchsia;
+      font: 60px/1.5 Ahem; /* computes to 60px/90px */
+      writing-mode: sideways-lr;
+    }
+
+    span#fuchsia120
+    {
+      font-size: 2em; /* computes to 120px */
+    }
+
+    span#fuchsia30
+    {
+      font-size: 0.5em; /* computes to 30px */
+    }
+    ]]></style>
+
+  </head>
+
+  <body>
+
+  <p>Test passes if the <strong>right edge</strong> of an irregular polygon is straight and unbroken.</p>
+
+  <div id="slr"><span id="fuchsia30">É</span><span id="fuchsia120">É</span>É</div>
+
+  </body>
+</html>
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/text-baseline-srl-008.xht
@@ -0,0 +1,45 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+  <head>
+    <title>CSS Writing Modes Test: text baseline alignment - alphabetical alignment with vertical layout</title>
+    <link rel="author" title="Hajime Shiozawa" href="mailto:hajime.shiozawa@gmail.com" />
+    <link rel="reviewer" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" /> <!-- 2015-12-05 -->
+    <link rel="help" title="4.2. Text Baseline" href="http://www.w3.org/TR/css-writing-modes-3/#text-baselines" />
+    <link rel="match" href="text-baseline-vrl-006-ref.xht" />
+    <meta name="assert" content="When 'writing-mode' is 'sideways-rl', then the alphabetic baseline is used as the dominant baseline." />
+    <meta name="flags" content="ahem" />
+<style type="text/css"><![CDATA[
+@font-face {
+  font-family: Ahem;
+  src: url("../../../fonts/Ahem.ttf");
+}
+]]></style>
+    <style type="text/css"><![CDATA[
+    div#srl
+    {
+      color: fuchsia;
+      font: 60px/1.5 Ahem; /* computes to 60px/90px */
+      writing-mode: sideways-rl;
+    }
+
+    span#fuchsia120
+    {
+      font-size: 2em; /* computes to 120px */
+    }
+
+    span#fuchsia30
+    {
+      font-size: 0.5em; /* computes to 30px */
+    }
+    ]]></style>
+
+  </head>
+
+  <body>
+
+  <p>Test passes if the <strong>left edge</strong> of an irregular polygon is straight and unbroken.</p>
+
+  <div id="srl">É<span id="fuchsia120">É</span><span id="fuchsia30">É</span></div>
+
+  </body>
+</html>
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/text-baseline-vlr-003.xht
@@ -0,0 +1,47 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+  <head>
+    <title>CSS Writing Modes Test: text baseline alignment - central alignment with vertical layout</title>
+    <link rel="author" title="Hajime Shiozawa" href="mailto:hajime.shiozawa@gmail.com" />
+    <link rel="reviewer" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" /> <!-- 2015-09-26 -->
+    <link rel="help" title="4.2. Text Baseline" href="http://www.w3.org/TR/css-writing-modes-3/#text-baselines" />
+    <link rel="match" href="text-baseline-vrl-002-ref.xht" />
+    <meta name="assert" content="This test checks the generation of text baseline. When 'writing-mode' is 'vertical-lr' and when 'text-orientation' is 'mixed', then the central baseline is used as the dominant baseline." />
+    <meta name="flags" content="ahem" />
+<style type="text/css"><![CDATA[
+@font-face {
+  font-family: Ahem;
+  src: url("../../../fonts/Ahem.ttf");
+}
+]]></style>
+    <style type="text/css"><![CDATA[
+    div#lr-mixed
+    {
+      color: orange;
+      font: 60px/1.5 Ahem; /* computes to 60px/90px */
+      writing-mode: vertical-lr;
+      text-orientation: mixed;
+    }
+
+    span#blue120
+    {
+      color: blue;
+      font-size: 2em; /* computes to 120px */
+    }
+
+    span#orange30
+    {
+      font-size: 0.5em; /* computes to 30px */
+    }
+    ]]></style>
+
+  </head>
+
+  <body>
+
+  <p>Test passes if 2 orange squares are centered with respect to a blue square.</p>
+
+  <div id="lr-mixed">A<span id="blue120">B</span><span id="orange30">O</span></div>
+
+  </body>
+</html>
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/text-baseline-vlr-005.xht
@@ -0,0 +1,47 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+  <head>
+    <title>CSS Writing Modes Test: text baseline alignment - central alignment with vertical layout</title>
+    <link rel="author" title="Hajime Shiozawa" href="mailto:hajime.shiozawa@gmail.com" />
+    <link rel="reviewer" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" /> <!-- 2015-09-26 -->
+    <link rel="help" title="4.2. Text Baseline" href="http://www.w3.org/TR/css-writing-modes-3/#text-baselines" />
+    <link rel="match" href="text-baseline-vrl-002-ref.xht" />
+    <meta name="assert" content="This test checks the generation of text baseline. When 'writing-mode' is 'vertical-lr' and when 'text-orientation' is 'upright', then the central baseline is used as the dominant baseline." />
+    <meta name="flags" content="ahem" />
+<style type="text/css"><![CDATA[
+@font-face {
+  font-family: Ahem;
+  src: url("../../../fonts/Ahem.ttf");
+}
+]]></style>
+    <style type="text/css"><![CDATA[
+    div#lr-upright
+    {
+      color: orange;
+      font: 60px/1.5 Ahem; /* computes to 60px/90px */
+      writing-mode: vertical-lr;
+      text-orientation: upright;
+    }
+
+    span#blue120
+    {
+      color: blue;
+      font-size: 2em; /* computes to 120px */
+    }
+
+    span#orange30
+    {
+      font-size: 0.5em; /* computes to 30px */
+    }
+    ]]></style>
+
+  </head>
+
+  <body>
+
+  <p>Test passes if 2 orange squares are centered with respect to a blue square.</p>
+
+  <div id="lr-upright">A<span id="blue120">B</span><span id="orange30">O</span></div>
+
+  </body>
+</html>
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/text-baseline-vlr-007.xht
@@ -0,0 +1,46 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+  <head>
+    <title>CSS Writing Modes Test: text baseline alignment - alphabetical alignment with vertical layout</title>
+    <link rel="author" title="Hajime Shiozawa" href="mailto:hajime.shiozawa@gmail.com" />
+    <link rel="reviewer" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" /> <!-- 2015-09-26 -->
+    <link rel="help" title="4.2. Text Baseline" href="http://www.w3.org/TR/css-writing-modes-3/#text-baselines" />
+    <link rel="match" href="text-baseline-vrl-006-ref.xht" />
+    <meta name="assert" content="This test checks the generation of text baseline. When 'writing-mode' is 'vertical-lr' and when 'text-orientation' is 'sideways', then the alphabetical baseline is used as the dominant baseline." />
+    <meta name="flags" content="ahem" />
+<style type="text/css"><![CDATA[
+@font-face {
+  font-family: Ahem;
+  src: url("../../../fonts/Ahem.ttf");
+}
+]]></style>
+    <style type="text/css"><![CDATA[
+    div#lr-sideways
+    {
+      color: fuchsia;
+      font: 60px/1.5 Ahem; /* computes to 60px/90px */
+      writing-mode: vertical-lr;
+      text-orientation: sideways;
+    }
+
+    span#fuchsia120
+    {
+      font-size: 2em; /* computes to 120px */
+    }
+
+    span#fuchsia30
+    {
+      font-size: 0.5em; /* computes to 30px */
+    }
+    ]]></style>
+
+  </head>
+
+  <body>
+
+  <p>Test passes if the <strong>left edge</strong> of an irregular polygon is straight and unbroken.</p>
+
+  <div id="lr-sideways">É<span id="fuchsia120">É</span><span id="fuchsia30">É</span></div>
+
+  </body>
+</html>
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/text-baseline-vrl-002-ref.xht
@@ -0,0 +1,39 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+  <title>CSS Reftest Reference</title>
+  <link rel="author" title="Hajime Shiozawa" href="mailto:hajime.shiozawa@gmail.com" />
+  <link rel="reviewer" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" /> <!-- 2015-01-29 -->
+  <meta name="flags" content="image" />
+  <style type="text/css"><![CDATA[
+    img
+    {
+      vertical-align: top;
+    }
+
+    img
+    {
+      padding-left: 60px;
+    }
+
+    img + br + img
+    {
+      padding-left: 30px;
+    }
+
+    img + br + img + br + img
+    {
+      padding-left: 75px;
+    }
+  ]]></style>
+
+</head>
+
+<body>
+
+<p>Test passes if 2 orange squares are centered with respect to a blue square.</p>
+
+<div><img src="support/swatch-orange.png" width="60" height="60" alt="Image download support must be enabled" /><br /><img src="support/swatch-blue.png" width="120" height="120" alt="Image download support must be enabled" /><br /><img src="support/swatch-orange.png" width="30" height="30" alt="Image download support must be enabled" /></div>
+
+</body>
+</html>
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/text-baseline-vrl-002.xht
@@ -0,0 +1,47 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+  <head>
+    <title>CSS Writing Modes Test: text baseline alignment - central alignment with vertical layout</title>
+    <link rel="author" title="Hajime Shiozawa" href="mailto:hajime.shiozawa@gmail.com" />
+    <link rel="reviewer" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" /> <!-- 2015-09-26 -->
+    <link rel="help" title="4.2. Text Baseline" href="http://www.w3.org/TR/css-writing-modes-3/#text-baselines" />
+    <link rel="match" href="text-baseline-vrl-002-ref.xht" />
+    <meta name="assert" content="This test checks the generation of text baseline. When 'writing-mode' is 'vertical-rl' and when 'text-orientation' is 'mixed', then the central baseline is used as the dominant baseline." />
+    <meta name="flags" content="ahem" />
+<style type="text/css"><![CDATA[
+@font-face {
+  font-family: Ahem;
+  src: url("../../../fonts/Ahem.ttf");
+}
+]]></style>
+    <style type="text/css"><![CDATA[
+    div#rl-mixed
+    {
+      color: orange;
+      font: 60px/1.5 Ahem; /* computes to 60px/90px */
+      writing-mode: vertical-rl;
+      text-orientation: mixed;
+    }
+
+    span#blue120
+    {
+      color: blue;
+      font-size: 2em; /* computes to 120px */
+    }
+
+    span#orange30
+    {
+      font-size: 0.5em; /* computes to 30px */
+    }
+    ]]></style>
+
+  </head>
+
+  <body>
+
+  <p>Test passes if 2 orange squares are centered with respect to a blue square.</p>
+
+  <div id="rl-mixed">A<span id="blue120">B</span><span id="orange30">O</span></div>
+
+  </body>
+</html>
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/text-baseline-vrl-004.xht
@@ -0,0 +1,47 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+  <head>
+    <title>CSS Writing Modes Test: text baseline alignment - central alignment with vertical layout</title>
+    <link rel="author" title="Hajime Shiozawa" href="mailto:hajime.shiozawa@gmail.com" />
+    <link rel="reviewer" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" /> <!-- 2015-09-26 -->
+    <link rel="help" title="4.2. Text Baseline" href="http://www.w3.org/TR/css-writing-modes-3/#text-baselines" />
+    <link rel="match" href="text-baseline-vrl-002-ref.xht" />
+    <meta name="assert" content="This test checks the generation of text baseline. When 'writing-mode' is 'vertical-rl' and when 'text-orientation' is 'upright', then the central baseline is used as the dominant baseline." />
+    <meta name="flags" content="ahem" />
+<style type="text/css"><![CDATA[
+@font-face {
+  font-family: Ahem;
+  src: url("../../../fonts/Ahem.ttf");
+}
+]]></style>
+    <style type="text/css"><![CDATA[
+    div#rl-upright
+    {
+      color: orange;
+      font: 60px/1.5 Ahem; /* computes to 60px/90px */
+      writing-mode: vertical-rl;
+      text-orientation: upright;
+    }
+
+    span#blue120
+    {
+      color: blue;
+      font-size: 2em; /* computes to 120px */
+    }
+
+    span#orange30
+    {
+      font-size: 0.5em; /* computes to 30px */
+    }
+    ]]></style>
+
+  </head>
+
+  <body>
+
+  <p>Test passes if 2 orange squares are centered with respect to a blue square.</p>
+
+  <div id="rl-upright">A<span id="blue120">B</span><span id="orange30">O</span></div>
+
+  </body>
+</html>
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/text-baseline-vrl-006-ref.xht
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+  <title>CSS Reftest Reference</title>
+  <link rel="author" title="Hajime Shiozawa" href="mailto:hajime.shiozawa@gmail.com" />
+  <link rel="reviewer" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" /> <!-- 2015-01-29 -->
+  <meta name="flags" content="image" />
+  <style type="text/css"><![CDATA[
+
+  img
+  {
+    padding-left: 54px;
+    vertical-align: top;
+  }
+  ]]></style>
+
+  </head>
+
+  <body>
+
+  <p>Test passes if the <strong>left edge</strong> of an irregular polygon is straight and unbroken.</p>
+
+  <div><img src="support/swatch-fuchsia.png" width="48" height="60" alt="Image download support must be enabled" /><br /><img src="support/swatch-fuchsia.png" width="96" height="120" alt="Image download support must be enabled" /><br /><img src="support/swatch-fuchsia.png" width="24" height="30" alt="Image download support must be enabled" /></div>
+
+  </body>
+</html>
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/text-baseline-vrl-006.xht
@@ -0,0 +1,46 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+  <head>
+    <title>CSS Writing Modes Test: text baseline alignment - alphabetical alignment with vertical layout</title>
+    <link rel="author" title="Hajime Shiozawa" href="mailto:hajime.shiozawa@gmail.com" />
+    <link rel="reviewer" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" /> <!-- 2015-09-26 -->
+    <link rel="help" title="4.2. Text Baseline" href="http://www.w3.org/TR/css-writing-modes-3/#text-baselines" />
+    <link rel="match" href="text-baseline-vrl-006-ref.xht" />
+    <meta name="assert" content="This test checks the generation of text baseline. When 'writing-mode' is 'vertical-rl' and when 'text-orientation' is 'sideways', then the alphabetical baseline is used as the dominant baseline." />
+    <meta name="flags" content="ahem" />
+<style type="text/css"><![CDATA[
+@font-face {
+  font-family: Ahem;
+  src: url("../../../fonts/Ahem.ttf");
+}
+]]></style>
+    <style type="text/css"><![CDATA[
+    div#rl-sideways
+    {
+      color: fuchsia;
+      font: 60px/1.5 Ahem; /* computes to 60px/90px */
+      writing-mode: vertical-rl;
+      text-orientation: sideways;
+    }
+
+    span#fuchsia120
+    {
+      font-size: 2em; /* computes to 120px */
+    }
+
+    span#fuchsia30
+    {
+      font-size: 0.5em; /* computes to 30px */
+    }
+    ]]></style>
+
+  </head>
+
+  <body>
+
+  <p>Test passes if the <strong>left edge</strong> of an irregular polygon is straight and unbroken.</p>
+
+  <div id="rl-sideways">É<span id="fuchsia120">É</span><span id="fuchsia30">É</span></div>
+
+  </body>
+</html>
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/text-combine-upright-decorations-001.html
@@ -0,0 +1,71 @@
+<!DOCTYPE html>
+<title>CSS Writing Modes Test: The resulting composition is treated as a signel glyph for decorations</title>
+<link rel="help" href="https://drafts.csswg.org/css-writing-modes-3/#text-combine-layout" title="9.1.2. Layout Rules">
+<link rel="match" href="reference/text-combine-upright-decorations-001.html">
+<meta name="assert" content="The resulting composition is treated as a signel glyph for decorations">
+<meta name="flags" content="ahem">
+<link rel="author" title="Koji Ishii" href="mailto:kojiishi@gmail.com">
+<style type="text/css">
+@font-face {
+  font-family: Ahem;
+  src: url("../../../fonts/Ahem.ttf");
+}
+</style>
+<style>
+#container {
+    font: 50px/1 Ahem;
+}
+.vlr {
+    writing-mode:vertical-lr;
+}
+.vrl {
+    writing-mode:vertical-rl;
+}
+.test, .ref {
+    border:solid thin;
+    margin:.2em;
+}
+p {
+    margin:0 .5em;
+}
+.tcy {
+    text-combine-upright:all;
+}
+.underline {
+    text-decoration:underline;
+}
+.overline {
+    text-decoration:overline;
+}
+.emphasis {
+    text-emphasis:filled;
+}
+</style>
+<p>This test asserts the resulting composition is treated as a single glyph for decorations.
+<p>Test passes if the following two boxes in each row are identical.
+<div id=container>
+    <div class=vlr>
+        <div class=test>
+            <p class=underline>X<span class=tcy>&#xA0;</span>X
+            <p class=overline>X<span class=tcy>&#xA0;</span>X
+            <p class=emphasis>X<span class=tcy>X</span>X
+        </div>
+        <div class=ref>
+            <p class=underline>X&#xA0;X
+            <p class=overline>X&#xA0;X
+            <p class=emphasis>XXX
+        </div>
+    </div>
+    <div class=vrl>
+        <div class=test>
+            <p class=underline>X<span class=tcy>&#xA0;</span>X
+            <p class=overline>X<span class=tcy>&#xA0;</span>X
+            <p class=emphasis>X<span class=tcy>X</span>X
+        </div>
+        <div class=ref>
+            <p class=underline>X&#xA0;X
+            <p class=overline>X&#xA0;X
+            <p class=emphasis>XXX
+        </div>
+    </div>
+</div>
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/text-combine-upright-inherit-all-001.html
@@ -0,0 +1,23 @@
+<!DOCTYPE html>
+<title>CSS Writing Modes Test: text-combine-upright:all inherits</title>
+<link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#text-combine-upright">
+<link rel="match" href="reference/text-combine-upright-inherit-all-001.html">
+<meta name="assert" content="This test checks text-combine-upright:all inherits">
+<link rel="author" title="Koji Ishii" href="mailto:kojiishi@gmail.com">
+<style>
+#container {
+    font-size:50px;
+}
+.vrl {
+    writing-mode:vertical-rl;
+}
+.tcy {
+    text-combine-upright:all;
+}
+</style>
+<p>Test passes if all two-digit numbers are <b>upright</b> in <b>horizontal</b> flow.
+<div id=container>
+    <div>66</div>
+    <div class=vrl><span class=tcy>66</span></div>
+    <div class=vrl><span class=tcy><span>66</span></span></div>
+</div>
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/text-combine-upright-inherit-all-002.html
@@ -0,0 +1,40 @@
+<!DOCTYPE html>
+<html>
+<head>
+    <title>CSS Writing Modes Test: text-combine-upright :all</title>
+    <link rel="author" title="Shinsuke Matsuki" href="mailto:shinsuke.matsuki@access-company.com">
+    <link rel="author" title="Koji Ishii" href="mailto:kojiishi@gmail.com">
+    <link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#text-combine-upright">
+    <link rel="match" href="reference/text-combine-upright-inherit-all-002.html">
+    <meta name="assert" content="This test checks text-combine-upright:all inherits through the containment hierarchy and interrupted (by a box boundary) text runs">
+    <style>
+    #container {
+        font-size:50px;
+    }
+    .vrl {
+        writing-mode:vertical-rl;
+    }
+    .tcy {
+        text-combine-upright:all;
+    }
+    </style>
+</head>
+<body>
+    <p>Test passes if the <b>line breaks</b> before <q>56</q>, and all digits are in<b>upright</b> in <b>horizontal</b> flow.
+    <div id=container>
+        <div class="vrl tcy">
+            <table>
+                <tr>
+                    <td>
+                        <div style="display: inline-table">
+                            <div style="display: inline-block">
+                                <div>12<span>56</span></div>
+                            </div>
+                        </div>
+                    </td>
+                </tr>
+            </table>
+        </div>
+    </div>
+</body>
+</html>
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/text-combine-upright-layout-rules-001.html
@@ -0,0 +1,39 @@
+<!DOCTYPE html>
+<html>
+<head>
+<meta charset="utf-8">
+<title>CSS Writing Modes: Layout rules of text-combine-upright</title>
+<link rel="author" title="Masataka Yakura" href="https://google.com/+MasatakaYakura">
+<link rel="author" title="Koji Ishii" href="mailto:kojiishi@gmail.com">
+<link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#text-combine-layout">
+<link rel="match" href="reference/text-combine-upright-layout-rules-001-ref.html">
+<meta name="assert" content="Anything outside the 1em-composition does not affect layout.">
+<meta name="flags" content="ahem">
+<style type="text/css">
+@font-face {
+  font-family: Ahem;
+  src: url("../../../fonts/Ahem.ttf");
+}
+</style>
+<style>
+#container {
+  writing-mode: vertical-rl;
+  font: 50px/1 Ahem;
+}
+#container > div {
+  margin:.2em;
+}
+.tcy {
+  text-combine-upright: all;
+  color:transparent;
+}
+</style>
+</head>
+<body>
+<p>Test passes if there are 2 <strong>identical</strong> hollow squares.</p>
+<div id="container">
+  <div>AAA<br>A<span class="tcy">12345</span>A<br>AAA</div>
+  <div>AAA<br>A A<br>AAA</div>
+</div>
+</body>
+</html>
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/text-combine-upright-line-breaking-rules-001-ref.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<html>
+<head>
+<meta charset="utf-8">
+<title>CSS Writing Modes: line-breaking-rules</title>
+<link rel="author" title="Shinsuke Matsuki" href="mailto:shinsuke.matsuki@access-company.com">
+<link rel="author" title="Koji Ishii" href="mailto:kojiishi@gmail.com">
+<style>
+@font-face {
+    font-family: "orientation";
+    src: url("support/adobe-fonts/CSSHWOrientationTest.otf");
+}
+.vrl {
+    border:solid;
+    font-family:orientation;
+    font-size:60px;
+    height:2em;
+    margin:.2em;
+    writing-mode:vertical-rl;
+}
+.tcy {
+    text-combine-upright:all;
+}
+.ref {
+  white-space: nowrap;
+}
+</style>
+</head>
+<body>
+<p>Test passes two blocks look identical.
+If the right most -moz-columns do not match, the test is invalid.</p>
+<div class="vrl ref">ああああああああ<br>あああああああ<br>「<span class=tcy>12</span></div>
+<div class="vrl ref">ああああああああ<br>あああああああ<br>「<span class=tcy>12</span></div>
+</body>
+</html>
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/text-combine-upright-line-breaking-rules-001.html
@@ -0,0 +1,38 @@
+<!DOCTYPE html>
+<html>
+<head>
+<meta charset="utf-8">
+<title>CSS Writing Modes: line-breaking-rules</title>
+<link rel="author" title="Shinsuke Matsuki" href="mailto:shinsuke.matsuki@access-company.com">
+<link rel="author" title="Koji Ishii" href="mailto:kojiishi@gmail.com">
+<link rel="help" href="https://drafts.csswg.org/css-writing-modes-3/#text-combine-layout" title="9.1.2. Layout Rules">
+<link rel="match" href="text-combine-upright-line-breaking-rules-001-ref.html">
+<meta name="assert" content="The bracket should be combined with following characters.">
+<style>
+@font-face {
+    font-family: "orientation";
+    src: url("support/adobe-fonts/CSSHWOrientationTest.otf");
+}
+.vrl {
+    border:solid;
+    font-family:orientation;
+    font-size:60px;
+    height:2em;
+    margin:.2em;
+    writing-mode:vertical-rl;
+}
+.tcy {
+    text-combine-upright:all;
+}
+.ref {
+  white-space: nowrap;
+}
+</style>
+</head>
+<body>
+<p>Test passes two blocks look identical.
+If the right most -moz-columns do not match, the test is invalid.</p>
+<div class=vrl>あああああああああああああああ「<span class=tcy>12</span></div>
+<div class="vrl ref">ああああああああ<br>あああああああ<br>「<span class=tcy>12</span></div>
+</body>
+</html>
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/text-combine-upright-value-all-001.html
@@ -0,0 +1,38 @@
+<!DOCTYPE html>
+<html>
+<head>
+<meta charset="utf-8">
+<title>CSS Writing Modes: text-combine-upright: all</title>
+<link rel="author" title="Masataka Yakura" href="https://google.com/+MasatakaYakura">
+<link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#text-combine-upright">
+<link rel="match" href="reference/text-combine-upright-value-single-character.html">
+<meta name="assert" content="'text-combine-upright: all' rotates the composition even if tate-chu-yoko">
+<meta name="flags" content="font">
+<style>
+@font-face {
+  font-family: tcu-font;
+  src: url("support/tcu-font.woff");
+}
+
+.test {
+  writing-mode: vertical-rl;
+  font-size: 5em;
+  font-family: tcu-font;
+}
+
+.tcy {
+  text-combine-upright: all;
+}
+</style>
+</head>
+<body>
+
+<p>Test passes if there are 2 <strong>identical</strong> white triangles.</p>
+
+<div class="test">
+  <p><span class="tcy">2</span></p>
+  <p>3</p>
+</div>
+
+</body>
+</html>
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/text-combine-upright-value-all-002.html
@@ -0,0 +1,41 @@
+<!DOCTYPE html>
+<html>
+<head>
+<meta charset="utf-8">
+<title>CSS Writing Modes: text-combine-upright: all</title>
+<link rel="author" title="Masataka Yakura" href="https://google.com/+MasatakaYakura">
+<link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#text-combine-upright">
+<link rel="match" href="reference/vertical-ahem-1x1-ref.html">
+<link rel="mismatch" href="reference/horizontal-ahem-1x1-notref.html">
+<meta name="assert" content="'text-combine-upright: all' combines all characters inside the element which the declaration applied horizontally.">
+<meta name="flags" content="ahem">
+<style type="text/css">
+@font-face {
+  font-family: Ahem;
+  src: url("../../../fonts/Ahem.ttf");
+}
+</style>
+<style>
+.test {
+  writing-mode: vertical-rl;
+  font-size: 5em;
+  line-height: 1;
+  font-family: Ahem;
+}
+
+.tcy {
+  text-combine-upright: all;
+}
+</style>
+</head>
+<body>
+
+<p>Test passes if there are 2 <strong>identical</strong> black squares.</p>
+
+<div class="test">
+  <p><span class="tcy">ABC</span></p>
+  <p>x</p>
+</div>
+
+</body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/text-combine-upright-value-all-003.html
@@ -0,0 +1,41 @@
+<!DOCTYPE html>
+<html>
+<head>
+<meta charset="utf-8">
+<title>CSS Writing Modes: text-combine-upright: all</title>
+<link rel="author" title="Masataka Yakura" href="https://google.com/+MasatakaYakura">
+<link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#text-combine-upright">
+<link rel="match" href="reference/vertical-ahem-1x1-ref.html">
+<link rel="mismatch" href="reference/horizontal-ahem-1x1-notref.html">
+<meta name="assert" content="'text-combine-upright: all' combines all characters inside the element which the declaration applied horizontally.">
+<meta name="flags" content="ahem">
+<style type="text/css">
+@font-face {
+  font-family: Ahem;
+  src: url("../../../fonts/Ahem.ttf");
+}
+</style>
+<style>
+.test {
+  writing-mode: vertical-rl;
+  font-size: 5em;
+  line-height: 1;
+  font-family: Ahem;
+}
+
+.tcy {
+  text-combine-upright: all;
+}
+</style>
+</head>
+<body>
+
+<p>Test passes if there are 2 <strong>identical</strong> black squares.</p>
+
+<div class="test">
+  <p><span class="tcy">ABCDE</span></p>
+  <p>x</p>
+</div>
+
+</body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/text-combine-upright-value-digits2-001.html
@@ -0,0 +1,38 @@
+<!DOCTYPE html>
+<html>
+<head>
+<meta charset="utf-8">
+<title>CSS Writing Modes: text-combine-upright: digits 2</title>
+<link rel="author" title="Masataka Yakura" href="https://google.com/+MasatakaYakura">
+<link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#text-combine-upright">
+<link rel="match" href="reference/text-combine-upright-value-single-character.html">
+<meta name="assert" content="the 'digits' values in text-combine-upright rotates the composition even if there is only one character inside tate-chu-yoko.">
+<meta name="flags" content="font">
+<style>
+@font-face {
+  font-family: tcu-font;
+  src: url("support/tcu-font.woff");
+}
+
+.test {
+  writing-mode: vertical-rl;
+  font-size: 5em;
+  font-family: tcu-font;
+}
+
+.tcy {
+  text-combine-upright: digits 2;
+}
+</style>
+</head>
+<body>
+
+<p>Test passes if there are 2 <strong>identical</strong> white triangles.</p>
+
+<div class="test">
+  <p><span class="tcy">2</span></p>
+  <p>3</p>
+</div>
+
+</body>
+</html>
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/text-combine-upright-value-digits2-002.html
@@ -0,0 +1,41 @@
+<!DOCTYPE html>
+<html>
+<head>
+<meta charset="utf-8">
+<title>CSS Writing Modes: text-combine-upright: digits 2 + two digits</title>
+<link rel="author" title="Masataka Yakura" href="https://google.com/+MasatakaYakura">
+<link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#text-combine-upright">
+<link rel="match" href="reference/vertical-ahem-1x1-ref.html">
+<link rel="mismatch" href="reference/horizontal-ahem-1x1-notref.html">
+<meta name="assert" content="'text-combine-upright: digits 2' combines two ASCII digits horizontally.">
+<meta name="flags" content="ahem">
+<style type="text/css">
+@font-face {
+  font-family: Ahem;
+  src: url("../../../fonts/Ahem.ttf");
+}
+</style>
+<style>
+.test {
+  writing-mode: vertical-rl;
+  font-size: 5em;
+  line-height: 1;
+  font-family: Ahem;
+}
+
+.tcy {
+  text-combine-upright: digits 2;
+}
+</style>
+</head>
+<body>
+
+<p>Test passes if there are 2 <strong>identical</strong> black squares.</p>
+
+<div class="test">
+  <p><span class="tcy">12</span></p>
+  <p>x</p>
+</div>
+
+</body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/text-combine-upright-value-digits2-003.html
@@ -0,0 +1,41 @@
+<!DOCTYPE html>
+<html>
+<head>
+<meta charset="utf-8">
+<title>CSS Writing Modes: text-combine-upright: digits 2 + three digits</title>
+<link rel="author" title="Masataka Yakura" href="https://google.com/+MasatakaYakura">
+<link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#text-combine-upright">
+<link rel="match" href="reference/vertical-ahem-1x3-ref.html">
+<link rel="mismatch" href="reference/horizontal-ahem-1x3-notref.html">
+<meta name="assert" content="'text-combine-upright: digits 2' does not combine digits that are greater than two.">
+<meta name="flags" content="ahem">
+<style type="text/css">
+@font-face {
+  font-family: Ahem;
+  src: url("../../../fonts/Ahem.ttf");
+}
+</style>
+<style>
+.test {
+  writing-mode: vertical-rl;
+  font-size: 5em;
+  line-height: 1;
+  font-family: Ahem;
+}
+
+.tcy {
+  text-combine-upright: digits 2;
+}
+</style>
+</head>
+<body>
+
+<p>Test passes if there are 2 <strong>identical</strong> black rectangles.</p>
+
+<div class="test">
+  <p><span class="tcy">123</span></p>
+  <p>xxx</p>
+</div>
+
+</body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/text-combine-upright-value-digits3-001.html
@@ -0,0 +1,41 @@
+<!DOCTYPE html>
+<html>
+<head>
+<meta charset="utf-8">
+<title>CSS Writing Modes: text-combine-upright: digits 3 + two digits</title>
+<link rel="author" title="Masataka Yakura" href="https://google.com/+MasatakaYakura">
+<link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#text-combine-upright">
+<link rel="match" href="reference/vertical-ahem-1x1-ref.html">
+<link rel="mismatch" href="reference/horizontal-ahem-1x1-notref.html">
+<meta name="assert" content="'text-combine-upright: digits 3' combines two ASCII digits horizontally.">
+<meta name="flags" content="ahem">
+<style type="text/css">
+@font-face {
+  font-family: Ahem;
+  src: url("../../../fonts/Ahem.ttf");
+}
+</style>
+<style>
+.test {
+  writing-mode: vertical-rl;
+  font-size: 5em;
+  line-height: 1;
+  font-family: Ahem;
+}
+
+.tcy {
+  text-combine-upright: digits 3;
+}
+</style>
+</head>
+<body>
+
+<p>Test passes if there are 2 <strong>identical</strong> black squares.</p>
+
+<div class="test">
+  <p><span class="tcy">12</span></p>
+  <p>x</p>
+</div>
+
+</body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/text-combine-upright-value-digits3-002.html
@@ -0,0 +1,41 @@
+<!DOCTYPE html>
+<html>
+<head>
+<meta charset="utf-8">
+<title>CSS Writing Modes: text-combine-upright: digits 3 + three digits</title>
+<link rel="author" title="Masataka Yakura" href="https://google.com/+MasatakaYakura">
+<link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#text-combine-upright">
+<link rel="match" href="reference/vertical-ahem-1x1-ref.html">
+<link rel="mismatch" href="reference/horizontal-ahem-1x1-notref.html">
+<meta name="assert" content="'text-combine-upright: digits 3' combines three ASCII digits horizontally.">
+<meta name="flags" content="ahem">
+<style type="text/css">
+@font-face {
+  font-family: Ahem;
+  src: url("../../../fonts/Ahem.ttf");
+}
+</style>
+<style>
+.test {
+  writing-mode: vertical-rl;
+  font-size: 5em;
+  line-height: 1;
+  font-family: Ahem;
+}
+
+.tcy {
+  text-combine-upright: digits 3;
+}
+</style>
+</head>
+<body>
+
+<p>Test passes if there are 2 <strong>identical</strong> black squares.</p>
+
+<div class="test">
+  <p><span class="tcy">123</span></p>
+  <p>x</p>
+</div>
+
+</body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/text-combine-upright-value-digits3-003.html
@@ -0,0 +1,41 @@
+<!DOCTYPE html>
+<html>
+<head>
+<meta charset="utf-8">
+<title>CSS Writing Modes: text-combine-upright: digits 3 + four digits</title>
+<link rel="author" title="Masataka Yakura" href="https://google.com/+MasatakaYakura">
+<link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#text-combine-upright">
+<link rel="match" href="reference/vertical-ahem-1x4-ref.html">
+<link rel="mismatch" href="reference/horizontal-ahem-1x4-notref.html">
+<meta name="assert" content="'text-combine-upright: digits 3' does not combine digits that are greater than three.">
+<meta name="flags" content="ahem">
+<style type="text/css">
+@font-face {
+  font-family: Ahem;
+  src: url("../../../fonts/Ahem.ttf");
+}
+</style>
+<style>
+.test {
+  writing-mode: vertical-rl;
+  font-size: 5em;
+  line-height: 1;
+  font-family: Ahem;
+}
+
+.tcy {
+  text-combine-upright: digits 3;
+}
+</style>
+</head>
+<body>
+
+<p>Test passes if there are 2 <strong>identical</strong> black rectangles.</p>
+
+<div class="test">
+  <p><span class="tcy">1234</span></p>
+  <p>xxxx</p>
+</div>
+
+</body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/text-combine-upright-value-digits4-001.html
@@ -0,0 +1,41 @@
+<!DOCTYPE html>
+<html>
+<head>
+<meta charset="utf-8">
+<title>CSS Writing Modes: text-combine-upright: digits 4 + three digits</title>
+<link rel="author" title="Masataka Yakura" href="https://google.com/+MasatakaYakura">
+<link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#text-combine-upright">
+<link rel="match" href="reference/vertical-ahem-1x1-ref.html">
+<link rel="mismatch" href="reference/horizontal-ahem-1x1-notref.html">
+<meta name="assert" content="'text-combine-upright: digits 4' combines three ASCII digits horizontally.">
+<meta name="flags" content="ahem">
+<style type="text/css">
+@font-face {
+  font-family: Ahem;
+  src: url("../../../fonts/Ahem.ttf");
+}
+</style>
+<style>
+.test {
+  writing-mode: vertical-rl;
+  font-size: 5em;
+  line-height: 1;
+  font-family: Ahem;
+}
+
+.tcy {
+  text-combine-upright: digits 4;
+}
+</style>
+</head>
+<body>
+
+<p>Test passes if there are 2 <strong>identical</strong> black squares.</p>
+
+<div class="test">
+  <p><span class="tcy">123</span></p>
+  <p>x</p>
+</div>
+
+</body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/text-combine-upright-value-digits4-002.html
@@ -0,0 +1,41 @@
+<!DOCTYPE html>
+<html>
+<head>
+<meta charset="utf-8">
+<title>CSS Writing Modes: text-combine-upright: digits 4 + four digits</title>
+<link rel="author" title="Masataka Yakura" href="https://google.com/+MasatakaYakura">
+<link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#text-combine-upright">
+<link rel="match" href="reference/vertical-ahem-1x1-ref.html">
+<link rel="mismatch" href="reference/horizontal-ahem-1x1-notref.html">
+<meta name="assert" content="'text-combine-upright: digits 4' combines four ASCII digits horizontally.">
+<meta name="flags" content="ahem">
+<style type="text/css">
+@font-face {
+  font-family: Ahem;
+  src: url("../../../fonts/Ahem.ttf");
+}
+</style>
+<style>
+.test {
+  writing-mode: vertical-rl;
+  font-size: 5em;
+  line-height: 1;
+  font-family: Ahem;
+}
+
+.tcy {
+  text-combine-upright: digits 4;
+}
+</style>
+</head>
+<body>
+
+<p>Test passes if there are 2 <strong>identical</strong> black squares.</p>
+
+<div class="test">
+  <p><span class="tcy">1234</span></p>
+  <p>x</p>
+</div>
+
+</body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/text-combine-upright-value-digits4-003.html
@@ -0,0 +1,41 @@
+<!DOCTYPE html>
+<html>
+<head>
+<meta charset="utf-8">
+<title>CSS Writing Modes: text-combine-upright: digits 4 + five digits</title>
+<link rel="author" title="Masataka Yakura" href="https://google.com/+MasatakaYakura">
+<link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#text-combine-upright">
+<link rel="match" href="reference/vertical-ahem-1x5-ref.html">
+<link rel="mismatch" href="reference/horizontal-ahem-1x5-notref.html">
+<meta name="assert" content="'text-combine-upright: digits 4' does not combine digits that are greater than four.">
+<meta name="flags" content="ahem">
+<style type="text/css">
+@font-face {
+  font-family: Ahem;
+  src: url("../../../fonts/Ahem.ttf");
+}
+</style>
+<style>
+.test {
+  writing-mode: vertical-rl;
+  font-size: 5em;
+  line-height: 1;
+  font-family: Ahem;
+}
+
+.tcy {
+  text-combine-upright: digits 4;
+}
+</style>
+</head>
+<body>
+
+<p>Test passes if there are 2 <strong>identical</strong> black rectangles.</p>
+
+<div class="test">
+  <p><span class="tcy">12345</span></p>
+  <p>xxxxx</p>
+</div>
+
+</body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/text-combine-upright-value-none-001.html
@@ -0,0 +1,41 @@
+<!DOCTYPE html>
+<html>
+<head>
+<meta charset="utf-8">
+<title>CSS Writing Modes: text-combine-upright: none</title>
+<link rel="author" title="Masataka Yakura" href="https://google.com/+MasatakaYakura">
+<link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#text-combine-upright">
+<link rel="match" href="reference/vertical-ahem-1x3-ref.html">
+<link rel="mismatch" href="reference/horizontal-ahem-1x3-notref.html">
+<meta name="assert" content="'text-combine-upright: none' does not combine any characters in any circumstance.">
+<meta name="flags" content="ahem">
+<style type="text/css">
+@font-face {
+  font-family: Ahem;
+  src: url("../../../fonts/Ahem.ttf");
+}
+</style>
+<style>
+.test {
+  writing-mode: vertical-rl;
+  font-size: 5em;
+  line-height: 1;
+  font-family: Ahem;
+}
+
+.tcy {
+  text-combine-upright: none;
+}
+</style>
+</head>
+<body>
+
+<p>Test passes if there are 2 <strong>identical</strong> black rectangles.</p>
+
+<div class="test">
+  <p><span class="tcy">A01</span></p>
+  <p>xxx</p>
+</div>
+
+</body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/text-indent-vlr-003-ref.xht
@@ -0,0 +1,29 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Reftest Reference</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+
+  <meta content="image" name="flags" />
+
+  <style type="text/css"><![CDATA[
+    img#green-square
+    {
+      position: relative;
+      top: 80px;
+    }
+  ]]></style>
+ </head>
+
+ <body>
+
+  <p><img src="support/pass-cdts-abs-pos-non-replaced.png" width="246" height="36" alt="Image download support must be enabled" /></p>
+
+  <div><img id="green-square" src="support/swatch-green.png" width="80" height="80" alt="Image download support must be enabled" /></div>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/text-indent-vlr-003.xht
@@ -0,0 +1,48 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Writing Modes Test: 'text-indent' with absolute unit, 'direction: ltr' in 'vertical-lr' writing-mode (orthogonal)</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+  <link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#logical-direction-layout" title="7.4 Flow-Relative Mappings" />
+  <link rel="match" href="text-indent-vlr-003-ref.xht" />
+
+  <meta content="ahem image" name="flags" />
+  <meta content="This test checks that 'text-indent' will indent the first line of text at line-start. Text of a line box in 'direction: ltr' and with 'writing-mode: vertical-lr' starts at top toward the bottom and progress toward the bottom." name="assert" />
+
+<style type="text/css"><![CDATA[
+@font-face {
+  font-family: Ahem;
+  src: url("../../../fonts/Ahem.ttf");
+}
+]]></style>
+  <style type="text/css"><![CDATA[
+  div
+    {
+      color: green;
+      font: 80px/1 Ahem; /* computes to 80px/80px */
+      height: 320px;
+      width: 320px;
+    }
+
+  div
+    {
+      background: red url("support/bg-red-1col-2row-320x320.png");
+      direction: ltr;
+      text-indent: 80px;
+      writing-mode: vertical-lr;
+    }
+  ]]></style>
+ </head>
+
+ <body>
+
+  <p><img src="support/pass-cdts-abs-pos-non-replaced.png" width="246" height="36" alt="Image download support must be enabled" /></p>
+
+  <div>A</div>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/text-indent-vlr-005-ref.xht
@@ -0,0 +1,29 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Reftest Reference</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+
+  <meta content="image" name="flags" />
+
+  <style type="text/css"><![CDATA[
+    img#green-square
+    {
+      position: relative;
+      top: 160px;
+    }
+  ]]></style>
+ </head>
+
+ <body>
+
+  <p><img src="support/pass-cdts-abs-pos-non-replaced.png" width="246" height="36" alt="Image download support must be enabled" /></p>
+
+  <div><img id="green-square" src="support/swatch-green.png" width="80" height="80" alt="Image download support must be enabled" /></div>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/text-indent-vlr-005.xht
@@ -0,0 +1,48 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Writing Modes Test: 'text-indent' with absolute unit, 'direction: rtl' in 'vertical-lr' writing-mode (orthogonal)</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+  <link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#logical-direction-layout" title="7.4 Flow-Relative Mappings" />
+  <link rel="match" href="text-indent-vlr-005-ref.xht" />
+
+  <meta content="ahem image" name="flags" />
+  <meta content="This test checks that 'text-indent' will indent the first line of text at line-start. Text of a line box in 'direction: rtl' and with 'writing-mode: vertical-lr' starts at bottom toward the top and progress toward the top." name="assert" />
+
+<style type="text/css"><![CDATA[
+@font-face {
+  font-family: Ahem;
+  src: url("../../../fonts/Ahem.ttf");
+}
+]]></style>
+  <style type="text/css"><![CDATA[
+  div
+    {
+      color: green;
+      font: 80px/1 Ahem; /* computes to 80px/80px */
+      height: 320px;
+      width: 320px;
+    }
+
+  div
+    {
+      background: red url("support/bg-red-1col-3row-320x320.png");
+      direction: rtl;
+      text-indent: 80px;
+      writing-mode: vertical-lr;
+    }
+  ]]></style>
+ </head>
+
+ <body>
+
+  <p><img src="support/pass-cdts-abs-pos-non-replaced.png" width="246" height="36" alt="Image download support must be enabled" /></p>
+
+  <div>A</div>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/text-indent-vlr-007.xht
@@ -0,0 +1,54 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Writing Modes Test: 'text-indent' with percentage unit, 'direction: ltr' in 'vertical-lr' writing-mode (orthogonal)</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+  <link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#logical-direction-layout" title="7.4 Flow-Relative Mappings" />
+  <link rel="match" href="text-indent-vlr-003-ref.xht" />
+
+  <meta content="ahem image" name="flags" />
+  <meta content="This test checks that 'text-indent' set with a percentage unit will be a percentage of the containing block height." name="assert" />
+
+<style type="text/css"><![CDATA[
+@font-face {
+  font-family: Ahem;
+  src: url("../../../fonts/Ahem.ttf");
+}
+]]></style>
+  <style type="text/css"><![CDATA[
+  div#containing-block
+    {
+      color: green;
+      font: 80px/1 Ahem; /* computes to 80px/80px */
+      height: 320px;
+      width: 160px;
+    }
+
+  div#containing-block
+    {
+      background: red url("support/bg-red-1col-2row-320x320.png");
+      direction: ltr;
+      writing-mode: vertical-lr;
+    }
+
+  div#child
+    {
+      text-indent: 25%;
+    }
+  ]]></style>
+ </head>
+
+ <body>
+
+  <p><img src="support/pass-cdts-abs-pos-non-replaced.png" width="246" height="36" alt="Image download support must be enabled" /></p>
+
+  <div id="containing-block">
+    <div id="child">A</div>
+  </div>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/text-indent-vlr-009.xht
@@ -0,0 +1,54 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Writing Modes Test: 'text-indent' with percentage unit, 'direction: rtl' in 'vertical-lr' writing-mode (orthogonal)</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+  <link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#logical-direction-layout" title="7.4 Flow-Relative Mappings" />
+  <link rel="match" href="text-indent-vlr-005-ref.xht" />
+
+  <meta content="ahem image" name="flags" />
+  <meta content="This test checks that 'text-indent' set with a percentage unit will be a percentage of the containing block height. 'text-indent' will indent the first line of text at line-start. Text of a line box in 'direction: rtl' and with 'writing-mode: vertical-lr' starts at bottom toward the top and progress toward the top." name="assert" />
+
+<style type="text/css"><![CDATA[
+@font-face {
+  font-family: Ahem;
+  src: url("../../../fonts/Ahem.ttf");
+}
+]]></style>
+  <style type="text/css"><![CDATA[
+  div#containing-block
+    {
+      color: green;
+      font: 80px/1 Ahem; /* computes to 80px/80px */
+      height: 320px;
+      width: 160px;
+    }
+
+  div#containing-block
+    {
+      background: red url("support/bg-red-1col-3row-320x320.png");
+      direction: rtl;
+      writing-mode: vertical-lr;
+    }
+
+  div#child
+    {
+      text-indent: 25%;
+    }
+  ]]></style>
+ </head>
+
+ <body>
+
+  <p><img src="support/pass-cdts-abs-pos-non-replaced.png" width="246" height="36" alt="Image download support must be enabled" /></p>
+
+  <div id="containing-block">
+    <div id="child">A</div>
+  </div>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/text-indent-vlr-011-ref.xht
@@ -0,0 +1,38 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Reftest Reference</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+
+  <meta content="image" name="flags" />
+
+  <style type="text/css"><![CDATA[
+  div
+    {
+      margin-left: 8px;
+    }
+
+  img
+    {
+      vertical-align: top;
+    }
+
+  img#green-square
+    {
+      position: relative;
+      left: 16px; /* p's margin-left (1em) */
+      top: 80px;
+    }
+  ]]></style>
+ </head>
+
+ <body>
+
+  <div><img src="support/pass-cdts-abs-pos-non-replaced.png" width="246" height="36" alt="Image download support must be enabled" /><img id="green-square" src="support/swatch-green.png" width="80" height="80" alt="Image download support must be enabled" /></div>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/text-indent-vlr-011.xht
@@ -0,0 +1,52 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Writing Modes Test: 'text-indent' with absolute unit, 'direction: ltr' in 'vertical-lr' writing-mode (non-orthogonal)</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+  <link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#logical-direction-layout" title="7.4 Flow-Relative Mappings" />
+  <link rel="match" href="text-indent-vlr-011-ref.xht" />
+
+  <meta content="ahem image" name="flags" />
+  <meta content="This test checks that 'text-indent' will indent the first line of text at line-start. Text of a line box in 'direction: ltr' and with 'writing-mode: vertical-lr' starts at top toward the bottom and progress toward the bottom." name="assert" />
+
+<style type="text/css"><![CDATA[
+@font-face {
+  font-family: Ahem;
+  src: url("../../../fonts/Ahem.ttf");
+}
+]]></style>
+  <style type="text/css"><![CDATA[
+  html
+    {
+      writing-mode: vertical-lr;
+    }
+
+  div
+    {
+      color: green;
+      font: 80px/1 Ahem; /* computes to 80px/80px */
+      height: 320px;
+      width: 320px;
+    }
+
+  div
+    {
+      background: red url("support/bg-red-1col-2row-320x320.png");
+      direction: ltr;
+      text-indent: 80px;
+    }
+  ]]></style>
+ </head>
+
+ <body>
+
+  <p><img src="support/pass-cdts-abs-pos-non-replaced.png" width="246" height="36" alt="Image download support must be enabled" /></p>
+
+  <div>A</div>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/text-indent-vlr-013-ref.xht
@@ -0,0 +1,38 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Reftest Reference</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+
+  <meta content="image" name="flags" />
+
+  <style type="text/css"><![CDATA[
+  div
+    {
+      margin-left: 8px;
+    }
+
+  img
+    {
+      vertical-align: top;
+    }
+
+  img#green-square
+    {
+      position: relative;
+      left: 16px; /* p's margin-left (1em) */
+      top: 160px;
+    }
+  ]]></style>
+ </head>
+
+ <body>
+
+  <div><img src="support/pass-cdts-abs-pos-non-replaced.png" width="246" height="36" alt="Image download support must be enabled" /><img id="green-square" src="support/swatch-green.png" width="80" height="80" alt="Image download support must be enabled" /></div>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/text-indent-vlr-013.xht
@@ -0,0 +1,52 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Writing Modes Test: 'text-indent' with absolute unit, 'direction: rtl' in 'vertical-lr' writing-mode (non-orthogonal)</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+  <link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#logical-direction-layout" title="7.4 Flow-Relative Mappings" />
+  <link rel="match" href="text-indent-vlr-013-ref.xht" />
+
+  <meta content="ahem image" name="flags" />
+  <meta content="This test checks that 'text-indent' will indent the first line of text at line-start. Text of a line box in 'direction: rtl' and with 'writing-mode: vertical-lr' starts at bottom toward the top and progress toward the top." name="assert" />
+
+<style type="text/css"><![CDATA[
+@font-face {
+  font-family: Ahem;
+  src: url("../../../fonts/Ahem.ttf");
+}
+]]></style>
+  <style type="text/css"><![CDATA[
+  html
+    {
+      writing-mode: vertical-lr;
+    }
+
+  div
+    {
+      color: green;
+      font: 80px/1 Ahem; /* computes to 80px/80px */
+      height: 320px;
+      width: 320px;
+    }
+
+  div
+    {
+      background: red url("support/bg-red-1col-3row-320x320.png");
+      direction: rtl;
+      text-indent: 80px;
+    }
+  ]]></style>
+ </head>
+
+ <body>
+
+  <p><img src="support/pass-cdts-abs-pos-non-replaced.png" width="246" height="36" alt="Image download support must be enabled" /></p>
+
+  <div>A</div>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/text-indent-vlr-015.xht
@@ -0,0 +1,58 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Writing Modes Test: 'text-indent' with percentage unit, 'direction: ltr' in 'vertical-lr' writing-mode (non-orthogonal)</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+  <link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#logical-direction-layout" title="7.4 Flow-Relative Mappings" />
+  <link rel="match" href="text-indent-vlr-011-ref.xht" />
+
+  <meta content="ahem image" name="flags" />
+  <meta content="This test checks that 'text-indent' set with a percentage unit will be a percentage of the containing block height." name="assert" />
+
+<style type="text/css"><![CDATA[
+@font-face {
+  font-family: Ahem;
+  src: url("../../../fonts/Ahem.ttf");
+}
+]]></style>
+  <style type="text/css"><![CDATA[
+  html
+    {
+      writing-mode: vertical-lr;
+    }
+
+  div#containing-block
+    {
+      color: green;
+      font: 80px/1 Ahem; /* computes to 80px/80px */
+      height: 320px;
+      width: 160px;
+    }
+
+  div#containing-block
+    {
+      background: red url("support/bg-red-1col-2row-320x320.png");
+      direction: ltr;
+    }
+
+  div#child
+    {
+      text-indent: 25%;
+    }
+  ]]></style>
+ </head>
+
+ <body>
+
+  <p><img src="support/pass-cdts-abs-pos-non-replaced.png" width="246" height="36" alt="Image download support must be enabled" /></p>
+
+  <div id="containing-block">
+    <div id="child">A</div>
+  </div>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/text-indent-vlr-017.xht
@@ -0,0 +1,58 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Writing Modes Test: 'text-indent' with percentage unit, 'direction: rtl' in 'vertical-lr' writing-mode (non-orthogonal)</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+  <link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#logical-direction-layout" title="7.4 Flow-Relative Mappings" />
+  <link rel="match" href="text-indent-vlr-013-ref.xht" />
+
+  <meta content="ahem image" name="flags" />
+  <meta content="This test checks that 'text-indent' set with a percentage unit will be a percentage of the containing block height. 'text-indent' will indent the first line of text at line-start. Text of a line box in 'direction: rtl' and with 'writing-mode: vertical-lr' starts at bottom toward the top and progress toward the top." name="assert" />
+
+<style type="text/css"><![CDATA[
+@font-face {
+  font-family: Ahem;
+  src: url("../../../fonts/Ahem.ttf");
+}
+]]></style>
+  <style type="text/css"><![CDATA[
+  html
+    {
+      writing-mode: vertical-lr;
+    }
+
+  div#containing-block
+    {
+      color: green;
+      font: 80px/1 Ahem; /* computes to 80px/80px */
+      height: 320px;
+      width: 160px;
+    }
+
+  div#containing-block
+    {
+      background: red url("support/bg-red-1col-3row-320x320.png");
+      direction: rtl;
+    }
+
+  div#child
+    {
+      text-indent: 25%;
+    }
+  ]]></style>
+ </head>
+
+ <body>
+
+  <p><img src="support/pass-cdts-abs-pos-non-replaced.png" width="246" height="36" alt="Image download support must be enabled" /></p>
+
+  <div id="containing-block">
+    <div id="child">A</div>
+  </div>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/text-indent-vrl-002-ref.xht
@@ -0,0 +1,30 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Reftest Reference</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+
+  <meta content="image" name="flags" />
+
+  <style type="text/css"><![CDATA[
+    img#green-square
+    {
+      left: 240px;
+      position: relative;
+      top: 80px;
+    }
+  ]]></style>
+ </head>
+
+ <body>
+
+  <p><img src="support/pass-cdts-abs-pos-non-replaced.png" width="246" height="36" alt="Image download support must be enabled" /></p>
+
+  <div><img id="green-square" src="support/swatch-green.png" width="80" height="80" alt="Image download support must be enabled" /></div>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/text-indent-vrl-002.xht
@@ -0,0 +1,49 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Writing Modes Test: 'text-indent' with absolute unit, 'direction: ltr' in 'vertical-rl' writing-mode (orthogonal)</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+  <link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#logical-direction-layout" title="7.4 Flow-Relative Mappings" />
+  <link rel="match" href="text-indent-vrl-002-ref.xht" />
+
+
+  <meta content="ahem image" name="flags" />
+  <meta content="This test checks that 'text-indent' will indent the first line of text at line-start. Text of a line box in 'direction: ltr' and with 'writing-mode: vertical-rl' starts at top toward the bottom and progress toward the bottom." name="assert" />
+
+<style type="text/css"><![CDATA[
+@font-face {
+  font-family: Ahem;
+  src: url("../../../fonts/Ahem.ttf");
+}
+]]></style>
+  <style type="text/css"><![CDATA[
+  div
+    {
+      color: green;
+      font: 80px/1 Ahem; /* computes to 80px/80px */
+      height: 320px;
+      width: 320px;
+    }
+
+  div
+    {
+      background: red url("support/bg-red-4col-2row-320x320.png");
+      direction: ltr;
+      text-indent: 80px;
+      writing-mode: vertical-rl;
+    }
+  ]]></style>
+ </head>
+
+ <body>
+
+  <p><img src="support/pass-cdts-abs-pos-non-replaced.png" width="246" height="36" alt="Image download support must be enabled" /></p>
+
+  <div>A</div>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/text-indent-vrl-004-ref.xht
@@ -0,0 +1,30 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Reftest Reference</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+
+  <meta content="image" name="flags" />
+
+  <style type="text/css"><![CDATA[
+    img#green-square
+    {
+      left: 240px;
+      position: relative;
+      top: 160px;
+    }
+  ]]></style>
+ </head>
+
+ <body>
+
+  <p><img src="support/pass-cdts-abs-pos-non-replaced.png" width="246" height="36" alt="Image download support must be enabled" /></p>
+
+  <div><img id="green-square" src="support/swatch-green.png" width="80" height="80" alt="Image download support must be enabled" /></div>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/text-indent-vrl-004.xht
@@ -0,0 +1,48 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Writing Modes Test: 'text-indent' with absolute unit, 'direction: rtl' in 'vertical-rl' writing-mode (orthogonal)</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+  <link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#logical-direction-layout" title="7.4 Flow-Relative Mappings" />
+  <link rel="match" href="text-indent-vrl-004-ref.xht" />
+
+  <meta content="ahem image" name="flags" />
+  <meta content="This test checks that 'text-indent' will indent the first line of text at line-start. Text of a line box in 'direction: rtl' and with 'writing-mode: vertical-rl' starts at bottom toward the top and progress toward the top." name="assert" />
+
+<style type="text/css"><![CDATA[
+@font-face {
+  font-family: Ahem;
+  src: url("../../../fonts/Ahem.ttf");
+}
+]]></style>
+  <style type="text/css"><![CDATA[
+  div
+    {
+      color: green;
+      font: 80px/1 Ahem; /* computes to 80px/80px */
+      height: 320px;
+      width: 320px;
+    }
+
+  div
+    {
+      background: red url("support/bg-red-4col-3row-320x320.png");
+      direction: rtl;
+      text-indent: 80px;
+      writing-mode: vertical-rl;
+    }
+  ]]></style>
+ </head>
+
+ <body>
+
+  <p><img src="support/pass-cdts-abs-pos-non-replaced.png" width="246" height="36" alt="Image download support must be enabled" /></p>
+
+  <div>A</div>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/text-indent-vrl-006.xht
@@ -0,0 +1,54 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Writing Modes Test: 'text-indent' with percentage unit, 'direction: ltr' in 'vertical-rl' writing-mode (orthogonal)</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+  <link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#logical-direction-layout" title="7.4 Flow-Relative Mappings" />
+  <link rel="match" href="abs-pos-non-replaced-vlr-009-ref.xht" />
+
+  <meta content="ahem image" name="flags" />
+  <meta content="This test checks that 'text-indent' set with a percentage unit will be a percentage of the containing block height." name="assert" />
+
+<style type="text/css"><![CDATA[
+@font-face {
+  font-family: Ahem;
+  src: url("../../../fonts/Ahem.ttf");
+}
+]]></style>
+  <style type="text/css"><![CDATA[
+  div#containing-block
+    {
+      color: green;
+      font: 80px/1 Ahem; /* computes to 80px/80px */
+      height: 320px;
+      width: 160px;
+    }
+
+  div#containing-block
+    {
+      background: red url("support/bg-red-4col-2row-320x320.png") top right;
+      direction: ltr;
+      writing-mode: vertical-rl;
+    }
+
+  div#child
+    {
+      text-indent: 25%;
+    }
+  ]]></style>
+ </head>
+
+ <body>
+
+  <p><img src="support/pass-cdts-abs-pos-non-replaced.png" width="246" height="36" alt="Image download support must be enabled" /></p>
+
+  <div id="containing-block">
+    <div id="child">A</div>
+  </div>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/text-indent-vrl-008-ref.xht
@@ -0,0 +1,30 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Reftest Reference</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+
+  <meta content="image" name="flags" />
+
+  <style type="text/css"><![CDATA[
+    img#green-square
+    {
+      left: 80px;
+      position: relative;
+      top: 160px;
+    }
+  ]]></style>
+ </head>
+
+ <body>
+
+  <p><img src="support/pass-cdts-abs-pos-non-replaced.png" width="246" height="36" alt="Image download support must be enabled" /></p>
+
+  <div><img id="green-square" src="support/swatch-green.png" width="80" height="80" alt="Image download support must be enabled" /></div>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/text-indent-vrl-008.xht
@@ -0,0 +1,54 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Writing Modes Test: 'text-indent' with percentage unit, 'direction: rtl' in 'vertical-rl' writing-mode (orthogonal)</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+  <link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#logical-direction-layout" title="7.4 Flow-Relative Mappings" />
+  <link rel="match" href="text-indent-vrl-008-ref.xht" />
+
+  <meta content="ahem image" name="flags" />
+  <meta content="This test checks that 'text-indent' set with a percentage unit will be a percentage of the containing block height. 'text-indent' will indent the first line of text at line-start. Text of a line box in 'direction: rtl' and with 'writing-mode: vertical-rl' starts at bottom toward the top and progress toward the top." name="assert" />
+
+<style type="text/css"><![CDATA[
+@font-face {
+  font-family: Ahem;
+  src: url("../../../fonts/Ahem.ttf");
+}
+]]></style>
+  <style type="text/css"><![CDATA[
+  div#containing-block
+    {
+      color: green;
+      font: 80px/1 Ahem; /* computes to 80px/80px */
+      height: 320px;
+      width: 160px;
+    }
+
+  div#containing-block
+    {
+      background: red url("support/bg-red-4col-3row-320x320.png") top right;
+      direction: rtl;
+      writing-mode: vertical-rl;
+    }
+
+  div#child
+    {
+      text-indent: 25%;
+    }
+  ]]></style>
+ </head>
+
+ <body>
+
+  <p><img src="support/pass-cdts-abs-pos-non-replaced.png" width="246" height="36" alt="Image download support must be enabled" /></p>
+
+  <div id="containing-block">
+    <div id="child">A</div>
+  </div>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/text-indent-vrl-010-ref.xht
@@ -0,0 +1,43 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Reftest Reference</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+
+  <meta content="image" name="flags" />
+
+  <style type="text/css"><![CDATA[
+  body
+    {
+      direction: rtl;
+    }
+
+  div
+    {
+      margin-right: 8px;
+    }
+
+  img
+    {
+      vertical-align: top;
+    }
+
+  img#green-square
+    {
+      position: relative;
+      right: 16px; /* p's margin-left (1em) */
+      top: 80px;
+    }
+  ]]></style>
+ </head>
+
+ <body>
+
+  <div><img src="support/pass-cdts-abs-pos-non-replaced.png" width="246" height="36" alt="Image download support must be enabled" /><img id="green-square" src="support/swatch-green.png" width="80" height="80" alt="Image download support must be enabled" /></div>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/text-indent-vrl-010.xht
@@ -0,0 +1,52 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Writing Modes Test: 'text-indent' with absolute unit, 'direction: ltr' in 'vertical-rl' writing-mode (non-orthogonal)</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+  <link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#logical-direction-layout" title="7.4 Flow-Relative Mappings" />
+  <link rel="match" href="text-indent-vrl-010-ref.xht" />
+
+  <meta content="ahem image" name="flags" />
+  <meta content="This test checks that 'text-indent' will indent the first line of text at line-start. Text of a line box in 'direction: ltr' and with 'writing-mode: vertical-rl' starts at top toward the bottom and progress toward the bottom." name="assert" />
+
+<style type="text/css"><![CDATA[
+@font-face {
+  font-family: Ahem;
+  src: url("../../../fonts/Ahem.ttf");
+}
+]]></style>
+  <style type="text/css"><![CDATA[
+  html
+    {
+      writing-mode: vertical-rl;
+    }
+
+  div
+    {
+      color: green;
+      font: 80px/1 Ahem; /* computes to 80px/80px */
+      height: 320px;
+      width: 320px;
+    }
+
+  div
+    {
+      background: red url("support/bg-red-4col-2row-320x320.png");
+      direction: ltr;
+      text-indent: 80px;
+    }
+  ]]></style>
+ </head>
+
+ <body>
+
+  <p><img src="support/pass-cdts-abs-pos-non-replaced.png" width="246" height="36" alt="Image download support must be enabled" /></p>
+
+  <div>A</div>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/text-indent-vrl-012-ref.xht
@@ -0,0 +1,43 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Reftest Reference</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+
+  <meta content="image" name="flags" />
+
+  <style type="text/css"><![CDATA[
+  body
+    {
+      direction: rtl;
+    }
+
+  div
+    {
+      margin-right: 8px;
+    }
+
+  img
+    {
+      vertical-align: top;
+    }
+
+  img#green-square
+    {
+      position: relative;
+      right: 16px; /* p's margin-left (1em) */
+      top: 160px;
+    }
+  ]]></style>
+ </head>
+
+ <body>
+
+  <div><img src="support/pass-cdts-abs-pos-non-replaced.png" width="246" height="36" alt="Image download support must be enabled" /><img id="green-square" src="support/swatch-green.png" width="80" height="80" alt="Image download support must be enabled" /></div>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/text-indent-vrl-012.xht
@@ -0,0 +1,52 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Writing Modes Test: 'text-indent' with absolute unit, 'direction: rtl' in 'vertical-rl' writing-mode (non-orthogonal)</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+  <link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#logical-direction-layout" title="7.4 Flow-Relative Mappings" />
+  <link rel="match" href="text-indent-vrl-012-ref.xht" />
+
+  <meta content="ahem image" name="flags" />
+  <meta content="This test checks that 'text-indent' will indent the first line of text at line-start. Text of a line box in 'direction: rtl' and with 'writing-mode: vertical-rl' starts at bottom toward the top and progress toward the top." name="assert" />
+
+<style type="text/css"><![CDATA[
+@font-face {
+  font-family: Ahem;
+  src: url("../../../fonts/Ahem.ttf");
+}
+]]></style>
+  <style type="text/css"><![CDATA[
+  html
+    {
+      writing-mode: vertical-rl;
+    }
+
+  div
+    {
+      color: green;
+      font: 80px/1 Ahem; /* computes to 80px/80px */
+      height: 320px;
+      width: 320px;
+    }
+
+  div
+    {
+      background: red url("support/bg-red-4col-3row-320x320.png");
+      direction: rtl;
+      text-indent: 80px;
+    }
+  ]]></style>
+ </head>
+
+ <body>
+
+  <p><img src="support/pass-cdts-abs-pos-non-replaced.png" width="246" height="36" alt="Image download support must be enabled" /></p>
+
+  <div>A</div>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/text-indent-vrl-014.xht
@@ -0,0 +1,58 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Writing Modes Test: 'text-indent' with percentage unit, 'direction: ltr' in 'vertical-rl' writing-mode (non-orthogonal)</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+  <link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#logical-direction-layout" title="7.4 Flow-Relative Mappings" />
+  <link rel="match" href="text-indent-vrl-010-ref.xht" />
+
+  <meta content="ahem image" name="flags" />
+  <meta content="This test checks that 'text-indent' set with a percentage unit will be a percentage of the containing block height." name="assert" />
+
+<style type="text/css"><![CDATA[
+@font-face {
+  font-family: Ahem;
+  src: url("../../../fonts/Ahem.ttf");
+}
+]]></style>
+  <style type="text/css"><![CDATA[
+  html
+    {
+      writing-mode: vertical-rl;
+    }
+
+  div#containing-block
+    {
+      color: green;
+      font: 80px/1 Ahem; /* computes to 80px/80px */
+      height: 320px;
+      width: 160px;
+    }
+
+  div#containing-block
+    {
+      background: red url("support/bg-red-4col-2row-320x320.png") top right;
+      direction: ltr;
+    }
+
+  div#child
+    {
+      text-indent: 25%;
+    }
+  ]]></style>
+ </head>
+
+ <body>
+
+  <p><img src="support/pass-cdts-abs-pos-non-replaced.png" width="246" height="36" alt="Image download support must be enabled" /></p>
+
+  <div id="containing-block">
+    <div id="child">A</div>
+  </div>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/text-indent-vrl-016.xht
@@ -0,0 +1,58 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Writing Modes Test: 'text-indent' with percentage unit, 'direction: rtl' in 'vertical-rl' writing-mode (non-orthogonal)</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+  <link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#logical-direction-layout" title="7.4 Flow-Relative Mappings" />
+  <link rel="match" href="text-indent-vrl-012-ref.xht" />
+
+  <meta content="ahem image" name="flags" />
+  <meta content="This test checks that 'text-indent' set with a percentage unit will be a percentage of the containing block height. 'text-indent' will indent the first line of text at line-start. Text of a line box in 'direction: rtl' and with 'writing-mode: vertical-rl' starts at bottom toward the top and progress toward the top." name="assert" />
+
+<style type="text/css"><![CDATA[
+@font-face {
+  font-family: Ahem;
+  src: url("../../../fonts/Ahem.ttf");
+}
+]]></style>
+  <style type="text/css"><![CDATA[
+  html
+    {
+      writing-mode: vertical-rl;
+    }
+
+  div#containing-block
+    {
+      color: green;
+      font: 80px/1 Ahem; /* computes to 80px/80px */
+      height: 320px;
+      width: 160px;
+    }
+
+  div#containing-block
+    {
+      background: red url("support/bg-red-4col-3row-320x320.png") top right;
+      direction: rtl;
+    }
+
+  div#child
+    {
+      text-indent: 25%;
+    }
+  ]]></style>
+ </head>
+
+ <body>
+
+  <p><img src="support/pass-cdts-abs-pos-non-replaced.png" width="246" height="36" alt="Image download support must be enabled" /></p>
+
+  <div id="containing-block">
+    <div id="child">A</div>
+  </div>
+
+ </body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/text-orientation-016-ref.xht
@@ -0,0 +1,48 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Reftest Reference</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+
+  <meta content="image" name="flags" />
+
+  <style type="text/css"><![CDATA[
+  div
+    {
+      border-bottom: blue solid 15px;
+      border-top: blue solid 15px;
+      margin-top: 8px;
+      width: 200px;
+    }
+
+  img
+    {
+      vertical-align: top;
+    }
+  ]]></style>
+
+ </head>
+
+ <body>
+
+  <p>Test passes if both blue-and-yellow rectangles are <strong>identical</strong>.</p>
+
+  <div><img src="support/swatch-blue.png" width="14" height="40" alt="Image download support must be enabled" /><img src="support/swatch-yellow.png" width="8" height="40" alt="Image download support must be enabled" /><img src="support/swatch-blue.png" width="58" height="40" alt="Image download support must be enabled" /><img src="support/swatch-yellow.png" width="16" height="40" alt="Image download support must be enabled" /><img src="support/swatch-blue.png" width="104" height="40" alt="Image download support must be enabled" />
+
+<img src="support/swatch-blue.png" width="14" height="40" alt="Image download support must be enabled" /><img src="support/swatch-yellow.png" width="16" height="40" alt="Image download support must be enabled" /><img src="support/swatch-blue.png" width="50" height="40" alt="Image download support must be enabled" /><img src="support/swatch-yellow.png" width="16" height="40" alt="Image download support must be enabled" /><img src="support/swatch-blue.png" width="104" height="40" alt="Image download support must be enabled" />
+
+<img src="support/swatch-blue.png" width="14" height="40" alt="Image download support must be enabled" /><img src="support/swatch-yellow.png" width="16" height="40" alt="Image download support must be enabled" /><img src="support/swatch-blue.png" width="58" height="40" alt="Image download support must be enabled" /><img src="support/swatch-yellow.png" width="8" height="40" alt="Image download support must be enabled" /><img src="support/swatch-blue.png" width="104" height="40" alt="Image download support must be enabled" /></div>
+
+
+  <div><img src="support/swatch-blue.png" width="14" height="40" alt="Image download support must be enabled" /><img src="support/swatch-yellow.png" width="8" height="40" alt="Image download support must be enabled" /><img src="support/swatch-blue.png" width="58" height="40" alt="Image download support must be enabled" /><img src="support/swatch-yellow.png" width="16" height="40" alt="Image download support must be enabled" /><img src="support/swatch-blue.png" width="104" height="40" alt="Image download support must be enabled" />
+
+<img src="support/swatch-blue.png" width="14" height="40" alt="Image download support must be enabled" /><img src="support/swatch-yellow.png" width="16" height="40" alt="Image download support must be enabled" /><img src="support/swatch-blue.png" width="50" height="40" alt="Image download support must be enabled" /><img src="support/swatch-yellow.png" width="16" height="40" alt="Image download support must be enabled" /><img src="support/swatch-blue.png" width="104" height="40" alt="Image download support must be enabled" />
+
+<img src="support/swatch-blue.png" width="14" height="40" alt="Image download support must be enabled" /><img src="support/swatch-yellow.png" width="16" height="40" alt="Image download support must be enabled" /><img src="support/swatch-blue.png" width="58" height="40" alt="Image download support must be enabled" /><img src="support/swatch-yellow.png" width="8" height="40" alt="Image download support must be enabled" /><img src="support/swatch-blue.png" width="104" height="40" alt="Image download support must be enabled" /></div>
+
+ </body>
+</html>
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/text-orientation-016.xht
@@ -0,0 +1,86 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Writing Modes Test: text-orientation - sideways</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+  <link rel="help" title="5.1. Orienting Text: the 'text-orientation' property" href="http://www.w3.org/TR/css-writing-modes-3/#text-orientation" />
+  <link rel="match" href="text-orientation-016-ref.xht" />
+
+  <meta content="ahem image" name="flags" />
+  <meta content="This test checks that sideways-oriented latin text is baseline-aligned alphabetically within the line box and not baseline-aligned centrally. This test uses exclusively 'p' and 'É' glyphs to verify this." name="assert" />
+
+<style type="text/css"><![CDATA[
+@font-face {
+  font-family: Ahem;
+  src: url("../../../fonts/Ahem.ttf");
+}
+]]></style>
+  <style type="text/css"><![CDATA[
+  div
+    {
+      border-bottom: blue solid 15px;
+      border-top: blue solid 15px;
+    }
+
+  div#test
+    {
+      background-color: blue;
+      color: yellow;
+      font-family: Ahem;
+      font-size: 20px;
+      line-height: 2;
+      text-orientation: sideways;
+      writing-mode: vertical-rl;
+    }
+
+  span#p80
+    {
+      font-size: 4em; /* computes to 80px */
+    }
+
+  span#p40
+    {
+      font-size: 2em; /* computes to 40px */
+    }
+
+  span#E10
+    {
+      font-size: 0.5em; /* computes to 10px */
+    }
+
+  span#E20
+    {
+      font-size: 1em; /* computes to 20px */
+    }
+
+  div#reference
+    {
+      margin-top: 8px;
+      width: 200px;
+    }
+
+  img
+    {
+      vertical-align: top;
+    }
+  ]]></style>
+ </head>
+
+ <body>
+
+  <p>Test passes if both blue-and-yellow rectangles are <strong>identical</strong>.</p>
+
+  <div id="test"><span id="p80">p</span><span id="p40">p</span><br /><span id="E10">ÉÉÉÉ</span><span id="E20">ÉÉÉÉ</span></div>
+
+  <div id="reference"><img src="support/swatch-blue.png" width="14" height="40" alt="Image download support must be enabled" /><img src="support/swatch-yellow.png" width="8" height="40" alt="Image download support must be enabled" /><img src="support/swatch-blue.png" width="58" height="40" alt="Image download support must be enabled" /><img src="support/swatch-yellow.png" width="16" height="40" alt="Image download support must be enabled" /><img src="support/swatch-blue.png" width="104" height="40" alt="Image download support must be enabled" />
+
+<img src="support/swatch-blue.png" width="14" height="40" alt="Image download support must be enabled" /><img src="support/swatch-yellow.png" width="16" height="40" alt="Image download support must be enabled" /><img src="support/swatch-blue.png" width="50" height="40" alt="Image download support must be enabled" /><img src="support/swatch-yellow.png" width="16" height="40" alt="Image download support must be enabled" /><img src="support/swatch-blue.png" width="104" height="40" alt="Image download support must be enabled" />
+
+<img src="support/swatch-blue.png" width="14" height="40" alt="Image download support must be enabled" /><img src="support/swatch-yellow.png" width="16" height="40" alt="Image download support must be enabled" /><img src="support/swatch-blue.png" width="58" height="40" alt="Image download support must be enabled" /><img src="support/swatch-yellow.png" width="8" height="40" alt="Image download support must be enabled" /><img src="support/swatch-blue.png" width="104" height="40" alt="Image download support must be enabled" /></div>
+
+ </body>
+</html>
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/text-orientation-mixed-srl-016-ref.xht
@@ -0,0 +1,40 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Reftest Reference</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+
+  <style type="text/css"><![CDATA[
+  @font-face
+    {
+      font-family: "mplus-1p-regular";
+      src: url("support/mplus-1p-regular.woff") format("woff");
+      /* filesize: 803300 bytes (784.5 KBytes) */
+    }
+
+  div
+    {
+      border: gray solid 1px;
+      font: bold 26px/32px "mplus-1p-regular";
+      margin-bottom: 4px;
+      text-orientation: sideways;
+      writing-mode: vertical-rl;
+    }
+  ]]></style>
+
+ </head>
+
+ <body>
+
+  <p>Test passes if the glyphs in both rectangles have the <strong>same order</strong>, the <strong>same orientation</strong> and the <strong>same layout</strong>.</p>
+
+  <div>月火水Abc<br />def木金土</div>
+
+  <div>月火水Abc<br />def木金土</div>
+
+ </body>
+</html>
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/text-orientation-mixed-srl-016.xht
@@ -0,0 +1,55 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Writing Modes Test: 'writing-mode: sideways-rl' - 'text-orientation: mixed' has no effect</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+  <link rel="help" title="5.1. Orienting Text: the 'text-orientation' property" href="http://www.w3.org/TR/css-writing-modes-3/#text-orientation" />
+  <link rel="match" href="text-orientation-mixed-srl-016-ref.xht" />
+
+  <meta name="flags" content="" />
+  <meta name="assert" content="This test checks that when 'writing-mode' is set to 'sideways-rl', then a 'text-orientation: mixed' declaration has no effect: the alphabetical baseline is used as the dominant baseline because the typographic mode for 'sideways-rl' is horizontal and 'text-orientation' has no effect on boxes in horizontal typographic modes." />
+
+  <style type="text/css"><![CDATA[
+  @font-face
+    {
+      font-family: "mplus-1p-regular";
+      src: url("support/mplus-1p-regular.woff") format("woff");
+      /* filesize: 803300 bytes (784.5 KBytes) */
+    }
+
+  div
+    {
+      border: gray solid 1px;
+      font: bold 26px/32px "mplus-1p-regular";
+      margin-bottom: 4px;
+    }
+
+  div#test-srl
+    {
+      writing-mode: sideways-rl;
+      text-orientation: mixed;
+    }
+
+  div#ref-vrl-sideways
+    {
+      text-orientation: sideways;
+      writing-mode: vertical-rl;
+    }
+  ]]></style>
+
+ </head>
+
+ <body>
+
+  <p>Test passes if the glyphs in both rectangles have the <strong>same order</strong>, the <strong>same orientation</strong> and the <strong>same layout</strong>.</p>
+
+  <div id="test-srl">月火水Abc<br />def木金土</div>
+
+  <div id="ref-vrl-sideways">月火水Abc<br />def木金土</div>
+
+ </body>
+</html>
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/text-orientation-mixed-vlr-100-ref.html
@@ -0,0 +1,49 @@
+<!DOCTYPE html>
+<meta charset="utf-8">
+<title>CSS Writing Modes Test: writing-mode: vertical-lr; text-orientation: mixed.</title>
+<meta name="flags" content="font">
+<link rel="author" title="Koji Ishii" href="mailto:kojiishi@gmail.com">
+<style>
+@font-face {
+    font-family: "orientation";
+    src: url("support/adobe-fonts/CSSHWOrientationTest.otf");
+}
+html {
+    writing-mode: vertical-lr;
+}
+.test {
+    font: 20px/1 "orientation";
+    height: 17em;
+    text-orientation: mixed;
+}
+.line {
+    white-space: pre;
+}
+</style>
+<body>
+<div id="container">
+<div>U+0020-007E<div class="test">
+<div class="line">AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA</div>
+<div class="line">AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA</div>
+<div class="line">AAAAAAAAAAAAAAAAAAAAAAAAAAAAA</div>
+</div></div>
+<div>U+3000-30FF<div class="test">
+<div class="line">国国国国国国国国国国国国国国国国国国国国国国国国国国国国国国国国</div>
+<div class="line">国国国国国国国国国国国国国国国国国国国国国国国国国国国国国国国国</div>
+<div class="line">国国国国国国国国国国国国国国国国国国国国国国国国国国国国国国国国</div>
+<div class="line">国国国国国国国国国国国国国国国国国国国国国国国国国国国国国国国国</div>
+<div class="line">国国国国国国国国国国国国国国国国国国国国国国国国国国国国国国国国</div>
+<div class="line">国国国国国国国国国国国国国国国国国国国国国国国国国国国国国国国国</div>
+<div class="line">国国国国国国国国国国国国国国国国国国国国国国国国国国国国国国国国</div>
+<div class="line">国国国国国国国国国国国国国国国国国国国国国</div>
+</div></div>
+<div>U+4E00-4E1F<div class="test">
+<div class="line">国国国国国国国国国国国国国国国国国国国国国国国国国国国国国国国国</div>
+</div></div>
+<div>U+FF01-FF60<div class="test">
+<div class="line">国国国国国国国国国国国国A国国国国国国国国国国国国国国AAA国国</div>
+<div class="line">国国国国国国国国国国国国国国国国国国国国国国国国国国国国国国国国</div>
+<div class="line">国国国国国国国国国国国国国国国国国国国国国国国国国国国国国国国国</div>
+</div></div>
+</div>
+</body>
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/text-orientation-mixed-vlr-100.html
@@ -0,0 +1,51 @@
+<!DOCTYPE html>
+<meta charset="utf-8">
+<title>CSS Writing Modes Test: writing-mode: vertical-lr; text-orientation: mixed.</title>
+<link rel="match" href="text-orientation-mixed-vlr-100-ref.html">
+<link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#text-orientation">
+<meta name="flags" content="font">
+<link rel="author" title="Koji Ishii" href="mailto:kojiishi@gmail.com">
+<style>
+@font-face {
+    font-family: "orientation";
+    src: url("support/adobe-fonts/CSSHWOrientationTest.otf");
+}
+html {
+    writing-mode: vertical-lr;
+}
+.test {
+    font: 20px/1 "orientation";
+    height: 17em;
+    text-orientation: mixed;
+}
+.line {
+    white-space: pre;
+}
+</style>
+<body>
+<div id="container">
+<div>U+0020-007E<div class="test">
+<div class="line"> !&#34;#$%&amp;&#39;()*+,-./0123456789:;=?@A</div>
+<div class="line">BCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`a</div>
+<div class="line">bcdefghijklmnopqrstuvwxyz{|}~</div>
+</div></div>
+<div>U+3000-30FF<div class="test">
+<div class="line"> 、。〃〄々〆〇〈〉《》「」『』【】〒〓〔〕〖〗〘〙〚〛〜〝〞〟</div>
+<div class="line">〠〡〢〣〤〥〦〧〨〩〰〱〲〳〴〵〶〷〸〹〺〻〼〽〾〿ぁあぃいぅう</div>
+<div class="line">ぇえぉおかがきぎくぐけげこごさざしじすずせぜそぞただちぢっつづて</div>
+<div class="line">でとどなにぬねのはばぱひびぴふぶぷへべぺほぼぽまみむめもゃやゅゆ</div>
+<div class="line">ょよらりるれろゎわゐゑをんゔゕゖ゛゜ゝゞゟ゠ァアィイゥウェエォオ</div>
+<div class="line">カガキギクグケゲコゴサザシジスズセゼソゾタダチヂッツヅテデトドナ</div>
+<div class="line">ニヌネノハバパヒビピフブプヘベペホボポマミムメモャヤュユョヨラリ</div>
+<div class="line">ルレロヮワヰヱヲンヴヵヶヷヸヹヺ・ーヽヾヿ</div>
+</div></div>
+<div>U+4E00-4E1F<div class="test">
+<div class="line">一丁丂七丄丅丆万丈三上下丌不与丏丐丑丒专且丕世丗丘丙业丛东丝丞丟</div>
+</div></div>
+<div>U+FF01-FF60<div class="test">
+<div class="line">!"#$%&'()*+,-./0123456789:;<=>?@</div>
+<div class="line">ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`</div>
+<div class="line">abcdefghijklmnopqrstuvwxyz{|}~⦅⦆</div>
+</div></div>
+</div>
+</body>
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/text-orientation-mixed-vrl-100-ref.html
@@ -0,0 +1,49 @@
+<!DOCTYPE html>
+<meta charset="utf-8">
+<title>CSS Writing Modes Test: writing-mode: vertical-rl; text-orientation: mixed.</title>
+<meta name="flags" content="font">
+<link rel="author" title="Koji Ishii" href="mailto:kojiishi@gmail.com">
+<style>
+@font-face {
+    font-family: "orientation";
+    src: url("support/adobe-fonts/CSSHWOrientationTest.otf");
+}
+html {
+    writing-mode: vertical-rl;
+}
+.test {
+    font: 20px/1 "orientation";
+    height: 17em;
+    text-orientation: mixed;
+}
+.line {
+    white-space: pre;
+}
+</style>
+<body>
+<div id="container">
+<div>U+0020-007E<div class="test">
+<div class="line">AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA</div>
+<div class="line">AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA</div>
+<div class="line">AAAAAAAAAAAAAAAAAAAAAAAAAAAAA</div>
+</div></div>
+<div>U+3000-30FF<div class="test">
+<div class="line">国国国国国国国国国国国国国国国国国国国国国国国国国国国国国国国国</div>
+<div class="line">国国国国国国国国国国国国国国国国国国国国国国国国国国国国国国国国</div>
+<div class="line">国国国国国国国国国国国国国国国国国国国国国国国国国国国国国国国国</div>
+<div class="line">国国国国国国国国国国国国国国国国国国国国国国国国国国国国国国国国</div>
+<div class="line">国国国国国国国国国国国国国国国国国国国国国国国国国国国国国国国国</div>
+<div class="line">国国国国国国国国国国国国国国国国国国国国国国国国国国国国国国国国</div>
+<div class="line">国国国国国国国国国国国国国国国国国国国国国国国国国国国国国国国国</div>
+<div class="line">国国国国国国国国国国国国国国国国国国国国国</div>
+</div></div>
+<div>U+4E00-4E1F<div class="test">
+<div class="line">国国国国国国国国国国国国国国国国国国国国国国国国国国国国国国国国</div>
+</div></div>
+<div>U+FF01-FF60<div class="test">
+<div class="line">国国国国国国国国国国国国A国国国国国国国国国国国国国国AAA国国</div>
+<div class="line">国国国国国国国国国国国国国国国国国国国国国国国国国国国国国国国国</div>
+<div class="line">国国国国国国国国国国国国国国国国国国国国国国国国国国国国国国国国</div>
+</div></div>
+</div>
+</body>
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/text-orientation-mixed-vrl-100.html
@@ -0,0 +1,51 @@
+<!DOCTYPE html>
+<meta charset="utf-8">
+<title>CSS Writing Modes Test: writing-mode: vertical-rl; text-orientation: mixed.</title>
+<link rel="match" href="text-orientation-mixed-vrl-100-ref.html">
+<link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#text-orientation">
+<meta name="flags" content="font">
+<link rel="author" title="Koji Ishii" href="mailto:kojiishi@gmail.com">
+<style>
+@font-face {
+    font-family: "orientation";
+    src: url("support/adobe-fonts/CSSHWOrientationTest.otf");
+}
+html {
+    writing-mode: vertical-rl;
+}
+.test {
+    font: 20px/1 "orientation";
+    height: 17em;
+    text-orientation: mixed;
+}
+.line {
+    white-space: pre;
+}
+</style>
+<body>
+<div id="container">
+<div>U+0020-007E<div class="test">
+<div class="line"> !&#34;#$%&amp;&#39;()*+,-./0123456789:;=?@A</div>
+<div class="line">BCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`a</div>
+<div class="line">bcdefghijklmnopqrstuvwxyz{|}~</div>
+</div></div>
+<div>U+3000-30FF<div class="test">
+<div class="line"> 、。〃〄々〆〇〈〉《》「」『』【】〒〓〔〕〖〗〘〙〚〛〜〝〞〟</div>
+<div class="line">〠〡〢〣〤〥〦〧〨〩〰〱〲〳〴〵〶〷〸〹〺〻〼〽〾〿ぁあぃいぅう</div>
+<div class="line">ぇえぉおかがきぎくぐけげこごさざしじすずせぜそぞただちぢっつづて</div>
+<div class="line">でとどなにぬねのはばぱひびぴふぶぷへべぺほぼぽまみむめもゃやゅゆ</div>
+<div class="line">ょよらりるれろゎわゐゑをんゔゕゖ゛゜ゝゞゟ゠ァアィイゥウェエォオ</div>
+<div class="line">カガキギクグケゲコゴサザシジスズセゼソゾタダチヂッツヅテデトドナ</div>
+<div class="line">ニヌネノハバパヒビピフブプヘベペホボポマミムメモャヤュユョヨラリ</div>
+<div class="line">ルレロヮワヰヱヲンヴヵヶヷヸヹヺ・ーヽヾヿ</div>
+</div></div>
+<div>U+4E00-4E1F<div class="test">
+<div class="line">一丁丂七丄丅丆万丈三上下丌不与丏丐丑丒专且丕世丗丘丙业丛东丝丞丟</div>
+</div></div>
+<div>U+FF01-FF60<div class="test">
+<div class="line">!"#$%&'()*+,-./0123456789:;<=>?@</div>
+<div class="line">ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`</div>
+<div class="line">abcdefghijklmnopqrstuvwxyz{|}~⦅⦆</div>
+</div></div>
+</div>
+</body>
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/text-orientation-sideways-vlr-100-ref.html
@@ -0,0 +1,49 @@
+<!DOCTYPE html>
+<meta charset="utf-8">
+<title>CSS Writing Modes Test: writing-mode: vertical-lr; text-orientation: sideways.</title>
+<meta name="flags" content="font">
+<link rel="author" title="Koji Ishii" href="mailto:kojiishi@gmail.com">
+<style>
+@font-face {
+    font-family: "orientation";
+    src: url("support/adobe-fonts/CSSHWOrientationTest.otf");
+}
+html {
+    writing-mode: vertical-lr;
+}
+.test {
+    font: 20px/1 "orientation";
+    height: 17em;
+    text-orientation: sideways;
+}
+.line {
+    white-space: pre;
+}
+</style>
+<body>
+<div id="container">
+<div>U+0020-007E<div class="test">
+<div class="line">AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA</div>
+<div class="line">AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA</div>
+<div class="line">AAAAAAAAAAAAAAAAAAAAAAAAAAAAA</div>
+</div></div>
+<div>U+3000-30FF<div class="test">
+<div class="line">AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA</div>
+<div class="line">AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA</div>
+<div class="line">AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA</div>
+<div class="line">AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA</div>
+<div class="line">AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA</div>
+<div class="line">AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA</div>
+<div class="line">AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA</div>
+<div class="line">AAAAAAAAAAAAAAAAAAAAA</div>
+</div></div>
+<div>U+4E00-4E1F<div class="test">
+<div class="line">AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA</div>
+</div></div>
+<div>U+FF01-FF60<div class="test">
+<div class="line">AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA</div>
+<div class="line">AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA</div>
+<div class="line">AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA</div>
+</div></div>
+</div>
+</body>
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/text-orientation-sideways-vlr-100.html
@@ -0,0 +1,51 @@
+<!DOCTYPE html>
+<meta charset="utf-8">
+<title>CSS Writing Modes Test: writing-mode: vertical-lr; text-orientation: sideways.</title>
+<link rel="match" href="text-orientation-sideways-vlr-100-ref.html">
+<link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#text-orientation">
+<meta name="flags" content="font">
+<link rel="author" title="Koji Ishii" href="mailto:kojiishi@gmail.com">
+<style>
+@font-face {
+    font-family: "orientation";
+    src: url("support/adobe-fonts/CSSHWOrientationTest.otf");
+}
+html {
+    writing-mode: vertical-lr;
+}
+.test {
+    font: 20px/1 "orientation";
+    height: 17em;
+    text-orientation: sideways;
+}
+.line {
+    white-space: pre;
+}
+</style>
+<body>
+<div id="container">
+<div>U+0020-007E<div class="test">
+<div class="line"> !&#34;#$%&amp;&#39;()*+,-./0123456789:;=?@A</div>
+<div class="line">BCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`a</div>
+<div class="line">bcdefghijklmnopqrstuvwxyz{|}~</div>
+</div></div>
+<div>U+3000-30FF<div class="test">
+<div class="line"> 、。〃〄々〆〇〈〉《》「」『』【】〒〓〔〕〖〗〘〙〚〛〜〝〞〟</div>
+<div class="line">〠〡〢〣〤〥〦〧〨〩〰〱〲〳〴〵〶〷〸〹〺〻〼〽〾〿ぁあぃいぅう</div>
+<div class="line">ぇえぉおかがきぎくぐけげこごさざしじすずせぜそぞただちぢっつづて</div>
+<div class="line">でとどなにぬねのはばぱひびぴふぶぷへべぺほぼぽまみむめもゃやゅゆ</div>
+<div class="line">ょよらりるれろゎわゐゑをんゔゕゖ゛゜ゝゞゟ゠ァアィイゥウェエォオ</div>
+<div class="line">カガキギクグケゲコゴサザシジスズセゼソゾタダチヂッツヅテデトドナ</div>
+<div class="line">ニヌネノハバパヒビピフブプヘベペホボポマミムメモャヤュユョヨラリ</div>
+<div class="line">ルレロヮワヰヱヲンヴヵヶヷヸヹヺ・ーヽヾヿ</div>
+</div></div>
+<div>U+4E00-4E1F<div class="test">
+<div class="line">一丁丂七丄丅丆万丈三上下丌不与丏丐丑丒专且丕世丗丘丙业丛东丝丞丟</div>
+</div></div>
+<div>U+FF01-FF60<div class="test">
+<div class="line">!"#$%&'()*+,-./0123456789:;<=>?@</div>
+<div class="line">ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`</div>
+<div class="line">abcdefghijklmnopqrstuvwxyz{|}~⦅⦆</div>
+</div></div>
+</div>
+</body>
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/text-orientation-sideways-vrl-100-ref.html
@@ -0,0 +1,49 @@
+<!DOCTYPE html>
+<meta charset="utf-8">
+<title>CSS Writing Modes Test: writing-mode: vertical-rl; text-orientation: sideways.</title>
+<meta name="flags" content="font">
+<link rel="author" title="Koji Ishii" href="mailto:kojiishi@gmail.com">
+<style>
+@font-face {
+    font-family: "orientation";
+    src: url("support/adobe-fonts/CSSHWOrientationTest.otf");
+}
+html {
+    writing-mode: vertical-rl;
+}
+.test {
+    font: 20px/1 "orientation";
+    height: 17em;
+    text-orientation: sideways;
+}
+.line {
+    white-space: pre;
+}
+</style>
+<body>
+<div id="container">
+<div>U+0020-007E<div class="test">
+<div class="line">AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA</div>
+<div class="line">AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA</div>
+<div class="line">AAAAAAAAAAAAAAAAAAAAAAAAAAAAA</div>
+</div></div>
+<div>U+3000-30FF<div class="test">
+<div class="line">AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA</div>
+<div class="line">AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA</div>
+<div class="line">AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA</div>
+<div class="line">AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA</div>
+<div class="line">AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA</div>
+<div class="line">AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA</div>
+<div class="line">AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA</div>
+<div class="line">AAAAAAAAAAAAAAAAAAAAA</div>
+</div></div>
+<div>U+4E00-4E1F<div class="test">
+<div class="line">AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA</div>
+</div></div>
+<div>U+FF01-FF60<div class="test">
+<div class="line">AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA</div>
+<div class="line">AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA</div>
+<div class="line">AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA</div>
+</div></div>
+</div>
+</body>
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/text-orientation-sideways-vrl-100.html
@@ -0,0 +1,51 @@
+<!DOCTYPE html>
+<meta charset="utf-8">
+<title>CSS Writing Modes Test: writing-mode: vertical-rl; text-orientation: sideways.</title>
+<link rel="match" href="text-orientation-sideways-vrl-100-ref.html">
+<link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#text-orientation">
+<meta name="flags" content="font">
+<link rel="author" title="Koji Ishii" href="mailto:kojiishi@gmail.com">
+<style>
+@font-face {
+    font-family: "orientation";
+    src: url("support/adobe-fonts/CSSHWOrientationTest.otf");
+}
+html {
+    writing-mode: vertical-rl;
+}
+.test {
+    font: 20px/1 "orientation";
+    height: 17em;
+    text-orientation: sideways;
+}
+.line {
+    white-space: pre;
+}
+</style>
+<body>
+<div id="container">
+<div>U+0020-007E<div class="test">
+<div class="line"> !&#34;#$%&amp;&#39;()*+,-./0123456789:;=?@A</div>
+<div class="line">BCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`a</div>
+<div class="line">bcdefghijklmnopqrstuvwxyz{|}~</div>
+</div></div>
+<div>U+3000-30FF<div class="test">
+<div class="line"> 、。〃〄々〆〇〈〉《》「」『』【】〒〓〔〕〖〗〘〙〚〛〜〝〞〟</div>
+<div class="line">〠〡〢〣〤〥〦〧〨〩〰〱〲〳〴〵〶〷〸〹〺〻〼〽〾〿ぁあぃいぅう</div>
+<div class="line">ぇえぉおかがきぎくぐけげこごさざしじすずせぜそぞただちぢっつづて</div>
+<div class="line">でとどなにぬねのはばぱひびぴふぶぷへべぺほぼぽまみむめもゃやゅゆ</div>
+<div class="line">ょよらりるれろゎわゐゑをんゔゕゖ゛゜ゝゞゟ゠ァアィイゥウェエォオ</div>
+<div class="line">カガキギクグケゲコゴサザシジスズセゼソゾタダチヂッツヅテデトドナ</div>
+<div class="line">ニヌネノハバパヒビピフブプヘベペホボポマミムメモャヤュユョヨラリ</div>
+<div class="line">ルレロヮワヰヱヲンヴヵヶヷヸヹヺ・ーヽヾヿ</div>
+</div></div>
+<div>U+4E00-4E1F<div class="test">
+<div class="line">一丁丂七丄丅丆万丈三上下丌不与丏丐丑丒专且丕世丗丘丙业丛东丝丞丟</div>
+</div></div>
+<div>U+FF01-FF60<div class="test">
+<div class="line">!"#$%&'()*+,-./0123456789:;<=>?@</div>
+<div class="line">ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`</div>
+<div class="line">abcdefghijklmnopqrstuvwxyz{|}~⦅⦆</div>
+</div></div>
+</div>
+</body>
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/text-orientation-upright-srl-018.xht
@@ -0,0 +1,55 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Writing Modes Test: 'writing-mode: sideways-rl' - 'text-orientation: upright' has no effect</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+  <link rel="help" title="5.1. Orienting Text: the 'text-orientation' property" href="http://www.w3.org/TR/css-writing-modes-3/#text-orientation" />
+  <link rel="match" href="text-orientation-mixed-srl-016-ref.xht" />
+
+  <meta name="flags" content="" />
+  <meta name="assert" content="This test checks that when 'writing-mode' is set to 'sideways-rl', then a 'text-orientation: upright' declaration has no effect: the alphabetical baseline is used as the dominant baseline and all the glyphs remain rotated 90 degrees clockwise. The typographic mode for 'sideways-rl' is horizontal and 'text-orientation' has no effect on boxes in horizontal typographic modes." />
+
+  <style type="text/css"><![CDATA[
+  @font-face
+    {
+      font-family: "mplus-1p-regular";
+      src: url("support/mplus-1p-regular.woff") format("woff");
+      /* filesize: 803300 bytes (784.5 KBytes) */
+    }
+
+  div
+    {
+      border: gray solid 1px;
+      font: bold 26px/32px "mplus-1p-regular";
+      margin-bottom: 4px;
+    }
+
+  div#test-srl
+    {
+      writing-mode: sideways-rl;
+      text-orientation: upright;
+    }
+
+  div#ref-vrl-sideways
+    {
+      text-orientation: sideways;
+      writing-mode: vertical-rl;
+    }
+  ]]></style>
+
+ </head>
+
+ <body>
+
+  <p>Test passes if the glyphs in both rectangles have the <strong>same order</strong>, the <strong>same orientation</strong> and the <strong>same layout</strong>.</p>
+
+  <div id="test-srl">月火水Abc<br />def木金土</div>
+
+  <div id="ref-vrl-sideways">月火水Abc<br />def木金土</div>
+
+ </body>
+</html>
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/text-orientation-upright-vlr-100-ref.html
@@ -0,0 +1,49 @@
+<!DOCTYPE html>
+<meta charset="utf-8">
+<title>CSS Writing Modes Test: writing-mode: vertical-lr; text-orientation: upright.</title>
+<meta name="flags" content="font">
+<link rel="author" title="Koji Ishii" href="mailto:kojiishi@gmail.com">
+<style>
+@font-face {
+    font-family: "orientation";
+    src: url("support/adobe-fonts/CSSHWOrientationTest.otf");
+}
+html {
+    writing-mode: vertical-lr;
+}
+.test {
+    font: 20px/1 "orientation";
+    height: 17em;
+    text-orientation: upright;
+}
+.line {
+    white-space: pre;
+}
+</style>
+<body>
+<div id="container">
+<div>U+0020-007E<div class="test">
+<div class="line">国国国国国国国国国国国国国国国国国国国国国国国国国国国国国国国国</div>
+<div class="line">国国国国国国国国国国国国国国国国国国国国国国国国国国国国国国国国</div>
+<div class="line">国国国国国国国国国国国国国国国国国国国国国国国国国国国国国</div>
+</div></div>
+<div>U+3000-30FF<div class="test">
+<div class="line">国国国国国国国国国国国国国国国国国国国国国国国国国国国国国国国国</div>
+<div class="line">国国国国国国国国国国国国国国国国国国国国国国国国国国国国国国国国</div>
+<div class="line">国国国国国国国国国国国国国国国国国国国国国国国国国国国国国国国国</div>
+<div class="line">国国国国国国国国国国国国国国国国国国国国国国国国国国国国国国国国</div>
+<div class="line">国国国国国国国国国国国国国国国国国国国国国国国国国国国国国国国国</div>
+<div class="line">国国国国国国国国国国国国国国国国国国国国国国国国国国国国国国国国</div>
+<div class="line">国国国国国国国国国国国国国国国国国国国国国国国国国国国国国国国国</div>
+<div class="line">国国国国国国国国国国国国国国国国国国国国国</div>
+</div></div>
+<div>U+4E00-4E1F<div class="test">
+<div class="line">国国国国国国国国国国国国国国国国国国国国国国国国国国国国国国国国</div>
+</div></div>
+<div>U+FF01-FF60<div class="test">
+<div class="line">国国国国国国国国国国国国国国国国国国国国国国国国国国国国国国国国</div>
+<div class="line">国国国国国国国国国国国国国国国国国国国国国国国国国国国国国国国国</div>
+<div class="line">国国国国国国国国国国国国国国国国国国国国国国国国国国国国国国国国</div>
+</div></div>
+</div>
+</body>
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/text-orientation-upright-vlr-100.html
@@ -0,0 +1,51 @@
+<!DOCTYPE html>
+<meta charset="utf-8">
+<title>CSS Writing Modes Test: writing-mode: vertical-lr; text-orientation: upright.</title>
+<link rel="match" href="text-orientation-upright-vlr-100-ref.html">
+<link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#text-orientation">
+<meta name="flags" content="font">
+<link rel="author" title="Koji Ishii" href="mailto:kojiishi@gmail.com">
+<style>
+@font-face {
+    font-family: "orientation";
+    src: url("support/adobe-fonts/CSSHWOrientationTest.otf");
+}
+html {
+    writing-mode: vertical-lr;
+}
+.test {
+    font: 20px/1 "orientation";
+    height: 17em;
+    text-orientation: upright;
+}
+.line {
+    white-space: pre;
+}
+</style>
+<body>
+<div id="container">
+<div>U+0020-007E<div class="test">
+<div class="line"> !&#34;#$%&amp;&#39;()*+,-./0123456789:;=?@A</div>
+<div class="line">BCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`a</div>
+<div class="line">bcdefghijklmnopqrstuvwxyz{|}~</div>
+</div></div>
+<div>U+3000-30FF<div class="test">
+<div class="line"> 、。〃〄々〆〇〈〉《》「」『』【】〒〓〔〕〖〗〘〙〚〛〜〝〞〟</div>
+<div class="line">〠〡〢〣〤〥〦〧〨〩〰〱〲〳〴〵〶〷〸〹〺〻〼〽〾〿ぁあぃいぅう</div>
+<div class="line">ぇえぉおかがきぎくぐけげこごさざしじすずせぜそぞただちぢっつづて</div>
+<div class="line">でとどなにぬねのはばぱひびぴふぶぷへべぺほぼぽまみむめもゃやゅゆ</div>
+<div class="line">ょよらりるれろゎわゐゑをんゔゕゖ゛゜ゝゞゟ゠ァアィイゥウェエォオ</div>
+<div class="line">カガキギクグケゲコゴサザシジスズセゼソゾタダチヂッツヅテデトドナ</div>
+<div class="line">ニヌネノハバパヒビピフブプヘベペホボポマミムメモャヤュユョヨラリ</div>
+<div class="line">ルレロヮワヰヱヲンヴヵヶヷヸヹヺ・ーヽヾヿ</div>
+</div></div>
+<div>U+4E00-4E1F<div class="test">
+<div class="line">一丁丂七丄丅丆万丈三上下丌不与丏丐丑丒专且丕世丗丘丙业丛东丝丞丟</div>
+</div></div>
+<div>U+FF01-FF60<div class="test">
+<div class="line">!"#$%&'()*+,-./0123456789:;<=>?@</div>
+<div class="line">ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`</div>
+<div class="line">abcdefghijklmnopqrstuvwxyz{|}~⦅⦆</div>
+</div></div>
+</div>
+</body>
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/text-orientation-upright-vrl-100-ref.html
@@ -0,0 +1,49 @@
+<!DOCTYPE html>
+<meta charset="utf-8">
+<title>CSS Writing Modes Test: writing-mode: vertical-rl; text-orientation: upright.</title>
+<meta name="flags" content="font">
+<link rel="author" title="Koji Ishii" href="mailto:kojiishi@gmail.com">
+<style>
+@font-face {
+    font-family: "orientation";
+    src: url("support/adobe-fonts/CSSHWOrientationTest.otf");
+}
+html {
+    writing-mode: vertical-rl;
+}
+.test {
+    font: 20px/1 "orientation";
+    height: 17em;
+    text-orientation: upright;
+}
+.line {
+    white-space: pre;
+}
+</style>
+<body>
+<div id="container">
+<div>U+0020-007E<div class="test">
+<div class="line">国国国国国国国国国国国国国国国国国国国国国国国国国国国国国国国国</div>
+<div class="line">国国国国国国国国国国国国国国国国国国国国国国国国国国国国国国国国</div>
+<div class="line">国国国国国国国国国国国国国国国国国国国国国国国国国国国国国</div>
+</div></div>
+<div>U+3000-30FF<div class="test">
+<div class="line">国国国国国国国国国国国国国国国国国国国国国国国国国国国国国国国国</div>
+<div class="line">国国国国国国国国国国国国国国国国国国国国国国国国国国国国国国国国</div>
+<div class="line">国国国国国国国国国国国国国国国国国国国国国国国国国国国国国国国国</div>
+<div class="line">国国国国国国国国国国国国国国国国国国国国国国国国国国国国国国国国</div>
+<div class="line">国国国国国国国国国国国国国国国国国国国国国国国国国国国国国国国国</div>
+<div class="line">国国国国国国国国国国国国国国国国国国国国国国国国国国国国国国国国</div>
+<div class="line">国国国国国国国国国国国国国国国国国国国国国国国国国国国国国国国国</div>
+<div class="line">国国国国国国国国国国国国国国国国国国国国国</div>
+</div></div>
+<div>U+4E00-4E1F<div class="test">
+<div class="line">国国国国国国国国国国国国国国国国国国国国国国国国国国国国国国国国</div>
+</div></div>
+<div>U+FF01-FF60<div class="test">
+<div class="line">国国国国国国国国国国国国国国国国国国国国国国国国国国国国国国国国</div>
+<div class="line">国国国国国国国国国国国国国国国国国国国国国国国国国国国国国国国国</div>
+<div class="line">国国国国国国国国国国国国国国国国国国国国国国国国国国国国国国国国</div>
+</div></div>
+</div>
+</body>
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/text-orientation-upright-vrl-100.html
@@ -0,0 +1,51 @@
+<!DOCTYPE html>
+<meta charset="utf-8">
+<title>CSS Writing Modes Test: writing-mode: vertical-rl; text-orientation: upright.</title>
+<link rel="match" href="text-orientation-upright-vrl-100-ref.html">
+<link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#text-orientation">
+<meta name="flags" content="font">
+<link rel="author" title="Koji Ishii" href="mailto:kojiishi@gmail.com">
+<style>
+@font-face {
+    font-family: "orientation";
+    src: url("support/adobe-fonts/CSSHWOrientationTest.otf");
+}
+html {
+    writing-mode: vertical-rl;
+}
+.test {
+    font: 20px/1 "orientation";
+    height: 17em;
+    text-orientation: upright;
+}
+.line {
+    white-space: pre;
+}
+</style>
+<body>
+<div id="container">
+<div>U+0020-007E<div class="test">
+<div class="line"> !&#34;#$%&amp;&#39;()*+,-./0123456789:;=?@A</div>
+<div class="line">BCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`a</div>
+<div class="line">bcdefghijklmnopqrstuvwxyz{|}~</div>
+</div></div>
+<div>U+3000-30FF<div class="test">
+<div class="line"> 、。〃〄々〆〇〈〉《》「」『』【】〒〓〔〕〖〗〘〙〚〛〜〝〞〟</div>
+<div class="line">〠〡〢〣〤〥〦〧〨〩〰〱〲〳〴〵〶〷〸〹〺〻〼〽〾〿ぁあぃいぅう</div>
+<div class="line">ぇえぉおかがきぎくぐけげこごさざしじすずせぜそぞただちぢっつづて</div>
+<div class="line">でとどなにぬねのはばぱひびぴふぶぷへべぺほぼぽまみむめもゃやゅゆ</div>
+<div class="line">ょよらりるれろゎわゐゑをんゔゕゖ゛゜ゝゞゟ゠ァアィイゥウェエォオ</div>
+<div class="line">カガキギクグケゲコゴサザシジスズセゼソゾタダチヂッツヅテデトドナ</div>
+<div class="line">ニヌネノハバパヒビピフブプヘベペホボポマミムメモャヤュユョヨラリ</div>
+<div class="line">ルレロヮワヰヱヲンヴヵヶヷヸヹヺ・ーヽヾヿ</div>
+</div></div>
+<div>U+4E00-4E1F<div class="test">
+<div class="line">一丁丂七丄丅丆万丈三上下丌不与丏丐丑丒专且丕世丗丘丙业丛东丝丞丟</div>
+</div></div>
+<div>U+FF01-FF60<div class="test">
+<div class="line">!"#$%&'()*+,-./0123456789:;<=>?@</div>
+<div class="line">ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`</div>
+<div class="line">abcdefghijklmnopqrstuvwxyz{|}~⦅⦆</div>
+</div></div>
+</div>
+</body>
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/vertical-alignment-002-ref.xht
@@ -0,0 +1,39 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+  <title>CSS Reftest Reference</title>
+  <link rel="author" title="Hajime Shiozawa" href="mailto:hajime.shiozawa@gmail.com" />
+  <link rel="reviewer" title="G?rard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" /> <!-- 2015-09-03 -->
+  <meta name="flags" content="image" />
+  <style type="text/css"><![CDATA[
+    img
+    {
+      vertical-align: top;
+    }
+
+    img#blue
+    {
+      padding-left: 60px; /* = the position of blue square */
+    }
+
+    img#orange
+    {
+      margin-top: 30px;
+    }
+
+  ]]></style>
+
+</head>
+
+<body>
+
+<p>Test passes if the right edge of an blue square is aligned with the left edge of a orange square.</p>
+
+<div>
+   <img id="blue" src="support/swatch-blue.png" width="60" height="60" alt="Image download support must be enabled" /><!--
+--><img id="orange" src="support/swatch-orange.png" width="30" height="30" alt="Image download support must be enabled" />
+</div>
+
+
+</body>
+</html>
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/vertical-alignment-002.xht
@@ -0,0 +1,44 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+  <head>
+    <title>CSS Writing Modes Test: vertical-align - 'top' and vertical-rl writing-mode</title>
+    <link rel="author" title="Hajime Shiozawa" href="mailto:hajime.shiozawa@gmail.com" />
+    <link rel="reviewer" title="G?rard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" /> <!-- 2015-09-03 -->
+    <link rel="help" title="7.5 Line-Relative Mappings" href="http://www.w3.org/TR/css-writing-modes-3/#line-mappings" />
+    <link rel="help" title="10.8.1 Leading and half-leading" href="http://www.w3.org/TR/2011/REC-CSS2-20110607/visudet.html#leading" />
+    <meta name="assert" content="This test checks the position of inline non-replaced box with vertical align property. When 'writing-mode' is 'vertical-rl', 'vertical-align' is 'top', the physical right (logical top) edge of an inline non-replaced box is aligned with the physical right (logical top) edge of its line box." />
+    <link rel="match" href="vertical-alignment-002-ref.xht" />
+    <meta name="flags" content="ahem" />
+<style type="text/css"><![CDATA[
+@font-face {
+  font-family: Ahem;
+  src: url("../../../fonts/Ahem.ttf");
+}
+]]></style>
+    <style type="text/css"><![CDATA[
+    div#rl
+    {
+      writing-mode: vertical-rl;
+      font: 60px/3 Ahem; /* computes to 60px/180px */
+      color: blue;
+    }
+
+    span#orange
+    {
+      font-size: 0.5em;
+      color: orange;
+      vertical-align: top;
+      margin-top: -1em;
+    }
+    ]]></style>
+
+  </head>
+
+  <body>
+
+  <p>Test passes if the right edge of an blue square is aligned with the left edge of a orange square.</p>
+
+  <div id="rl">A<span id="orange">O</span></div>
+
+  </body>
+</html>
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/vertical-alignment-003.xht
@@ -0,0 +1,44 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+  <head>
+    <title>CSS Writing Modes Test: vertical-align - 'top' and vertical-lr writing-mode</title>
+    <link rel="author" title="Hajime Shiozawa" href="mailto:hajime.shiozawa@gmail.com" />
+    <link rel="reviewer" title="G?rard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" /> <!-- 2015-09-03 -->
+    <link rel="help" title="7.5 Line-Relative Mappings" href="http://www.w3.org/TR/css-writing-modes-3/#line-mappings" />
+    <link rel="help" title="10.8.1 Leading and half-leading" href="http://www.w3.org/TR/2011/REC-CSS2-20110607/visudet.html#leading" />
+    <meta name="assert" content="This test checks the position of inline non-replaced box with vertical align property. When 'writing-mode' is 'vertical-lr', 'vertical-align' is 'top', the physical right (logical top) edge of an inline non-replaced box is aligned with the physical right (logical top) edge of its line box." />
+    <link rel="match" href="vertical-alignment-002-ref.xht" />
+    <meta name="flags" content="ahem" />
+<style type="text/css"><![CDATA[
+@font-face {
+  font-family: Ahem;
+  src: url("../../../fonts/Ahem.ttf");
+}
+]]></style>
+    <style type="text/css"><![CDATA[
+    div#lr
+    {
+      writing-mode: vertical-lr;
+      font: 60px/3 Ahem; /* computes to 60px/180px */
+      color: blue;
+    }
+
+    span#orange
+    {
+      font-size: 0.5em;
+      color: orange;
+      vertical-align: top;
+      margin-top: -1em;
+    }
+    ]]></style>
+
+  </head>
+
+  <body>
+
+  <p>Test passes if the right edge of an blue square is aligned with the left edge of a orange square.</p>
+
+  <div id="lr">A<span id="orange">O</span></div>
+
+  </body>
+</html>
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/vertical-alignment-004-ref.xht
@@ -0,0 +1,33 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+  <title>CSS Reftest Reference</title>
+  <link rel="author" title="Hajime Shiozawa" href="mailto:hajime.shiozawa@gmail.com" />
+  <link rel="reviewer" title="G?rard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" /> <!-- 2015-09-01 -->
+  <meta name="flags" content="image" />
+  <style type="text/css"><![CDATA[
+    img
+    {
+      vertical-align: top;
+    }
+
+    img
+    {
+      padding-left: 60px; /* =  position of orange squares */
+    }
+
+  ]]></style>
+
+</head>
+
+<body>
+
+<p>Test passes if the <strong>left edge</strong> of an irregular orange polygon is straight and unbroken.</p>
+
+<div>
+   <img src="support/swatch-orange.png" width="60" height="60" alt="Image download support must be enabled" /><br/><!--
+--><img src="support/swatch-orange.png" width="30" height="30" alt="Image download support must be enabled" />
+</div>
+
+</body>
+</html>
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/vertical-alignment-004.xht
@@ -0,0 +1,43 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+  <head>
+    <title>CSS Writing Modes Test: vertical-align - 'text-top' and vertical-rl writing-mode</title>
+    <link rel="author" title="Hajime Shiozawa" href="mailto:hajime.shiozawa@gmail.com" />
+    <link rel="reviewer" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" /> <!-- 2015-09-01 -->
+    <link rel="help" title="7.5 Line-Relative Mappings" href="http://www.w3.org/TR/css-writing-modes-3/#line-mappings" />
+    <link rel="help" title="10.8.1 Leading and half-leading" href="http://www.w3.org/TR/2011/REC-CSS2-20110607/visudet.html#leading" />
+    <meta name="assert" content="This test checks the position of an inline non-replaced box with vertical align property. When 'writing-mode' is 'vertical-rl', 'vertical-align' is 'text-top', the physical right (logical top) edge of an inline non-replaced box is aligned with the right side (logical top) of parent's content area." />
+    <link rel="match" href="vertical-alignment-004-ref.xht" />
+    <meta name="flags" content="ahem" />
+<style type="text/css"><![CDATA[
+@font-face {
+  font-family: Ahem;
+  src: url("../../../fonts/Ahem.ttf");
+}
+]]></style>
+    <style type="text/css"><![CDATA[
+    div#rl
+    {
+      color: orange;
+      font: 60px/3 Ahem; /* computes to 60px/180px */
+      writing-mode: vertical-rl;
+    }
+
+    span#orange30
+    {
+      font-size: 0.5em; /* computes to 30px */
+      vertical-align: text-top;
+    }
+
+    ]]></style>
+
+  </head>
+
+  <body>
+
+  <p>Test passes if the <strong>left edge</strong> of an irregular orange polygon is straight and unbroken.</p>
+
+  <div id="rl">A<span id="orange30">O</span></div>
+
+  </body>
+</html>
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/vertical-alignment-005.xht
@@ -0,0 +1,43 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+  <head>
+    <title>CSS Writing Modes Test: vertical-align - 'text-top' and vertical-lr writing-mode</title>
+    <link rel="author" title="Hajime Shiozawa" href="mailto:hajime.shiozawa@gmail.com" />
+    <link rel="reviewer" title="G?rard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" /> <!-- 2015-09-03 -->
+    <link rel="help" title="7.5 Line-Relative Mappings" href="http://www.w3.org/TR/css-writing-modes-3/#line-mappings" />
+    <link rel="help" title="10.8.1 Leading and half-leading" href="http://www.w3.org/TR/2011/REC-CSS2-20110607/visudet.html#leading" />
+    <meta name="assert" content="This test checks the position of an inline non-replaced box with vertical align property. When 'writing-mode' is 'vertical-lr', 'vertical-align' is 'text-top', the physical right (logical top) edge of an inline non-replaced box is aligned with the right side (logical top) of parent's content area." />
+    <link rel="match" href="vertical-alignment-004-ref.xht" />
+    <meta name="flags" content="ahem" />
+<style type="text/css"><![CDATA[
+@font-face {
+  font-family: Ahem;
+  src: url("../../../fonts/Ahem.ttf");
+}
+]]></style>
+    <style type="text/css"><![CDATA[
+    div#lr
+    {
+      color: orange;
+      font: 60px/3 Ahem; /* computes to 60px/180px */
+      writing-mode: vertical-lr;
+    }
+
+    span#orange30
+    {
+      font-size: 0.5em; /* computes to 30px */
+      vertical-align: text-top;
+    }
+
+    ]]></style>
+
+  </head>
+
+  <body>
+
+  <p>Test passes if the <strong>left edge</strong> of an irregular orange polygon is straight and unbroken.</p>
+
+  <div id="lr">A<span id="orange30">O</span></div>
+
+  </body>
+</html>
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/vertical-alignment-006-ref.xht
@@ -0,0 +1,37 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+  <title>CSS Reftest Reference</title>
+  <link rel="author" title="Hajime Shiozawa" href="mailto:hajime.shiozawa@gmail.com" />
+  <link rel="reviewer" title="G?rard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" /> <!-- 2015-09-03 -->
+  <meta name="flags" content="image" />
+  <style type="text/css"><![CDATA[
+    img
+    {
+      vertical-align: top;
+    }
+
+    img
+    {
+      padding-left: 60px; /* = the position of first orange square */
+    }
+
+    img + br + img
+    {
+      padding-left: 90px; /* = the position of second orange square*/
+    }
+  ]]></style>
+
+</head>
+
+<body>
+
+<p>Test passes if the <strong>right edge</strong> of an irregular orange polygon is straight and unbroken.</p>
+
+<div>
+   <img src="support/swatch-orange.png" width="60" height="60" alt="Image download support must be enabled" /><br/><!--
+--><img src="support/swatch-orange.png" width="30" height="30" alt="Image download support must be enabled" />
+</div>
+
+</body>
+</html>
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/vertical-alignment-006.xht
@@ -0,0 +1,43 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+  <head>
+    <title>CSS Writing Modes Test: vertical-align - 'text-bottom' and vertical-rl writing-mode</title>
+    <link rel="author" title="Hajime Shiozawa" href="mailto:hajime.shiozawa@gmail.com" />
+    <link rel="reviewer" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" /> <!-- 2015-09-03 -->
+    <link rel="help" title="7.5 Line-Relative Mappings" href="http://www.w3.org/TR/css-writing-modes-3/#line-mappings" />
+    <link rel="help" title="10.8.1 Leading and half-leading" href="http://www.w3.org/TR/2011/REC-CSS2-20110607/visudet.html#leading" />
+    <meta name="assert" content="This test checks the position of an inline non-replaced box with vertical align property. When 'writing-mode' is 'vertical-rl', 'vertical-align' is 'text-bottom', the physical left (logical bottom) edge of an inline non-replaced box is aligned with the left side (logical bottom) of parent's content area." />
+    <link rel="match" href="vertical-alignment-006-ref.xht" />
+    <meta name="flags" content="ahem" />
+<style type="text/css"><![CDATA[
+@font-face {
+  font-family: Ahem;
+  src: url("../../../fonts/Ahem.ttf");
+}
+]]></style>
+    <style type="text/css"><![CDATA[
+    div#rl
+    {
+      color: orange;
+      font: 60px/3 Ahem; /* computes to 60px/180px */
+      writing-mode: vertical-rl;
+    }
+
+    span#orange30
+    {
+      font-size: 0.5em; /* computes to 30px */
+      vertical-align: text-bottom;
+    }
+
+    ]]></style>
+
+  </head>
+
+  <body>
+
+  <p>Test passes if the <strong>right edge</strong> of an irregular orange polygon is straight and unbroken.</p>
+
+  <div id="rl">A<span id="orange30">O</span></div>
+
+  </body>
+</html>
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/vertical-alignment-007.xht
@@ -0,0 +1,43 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+  <head>
+    <title>CSS Writing Modes Test: vertical-align - 'text-bottom' and vertical-lr writing-mode</title>
+    <link rel="author" title="Hajime Shiozawa" href="mailto:hajime.shiozawa@gmail.com" />
+    <link rel="reviewer" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" /> <!-- 2015-09-03 -->
+    <link rel="help" title="7.5 Line-Relative Mappings" href="http://www.w3.org/TR/css-writing-modes-3/#line-mappings" />
+    <link rel="help" title="10.8.1 Leading and half-leading" href="http://www.w3.org/TR/2011/REC-CSS2-20110607/visudet.html#leading" />
+    <meta name="assert" content="This test checks the position of an inline non-replaced box with vertical align property. When 'writing-mode' is 'vertical-lr', 'vertical-align' is 'text-bottom', the physical left (logical bottom) edge of an inline non-replaced box is aligned with the left side (logical bottom) of parent's content area." />
+    <link rel="match" href="vertical-alignment-006-ref.xht" />
+    <meta name="flags" content="ahem" />
+<style type="text/css"><![CDATA[
+@font-face {
+  font-family: Ahem;
+  src: url("../../../fonts/Ahem.ttf");
+}
+]]></style>
+    <style type="text/css"><![CDATA[
+    div#lr
+    {
+      color: orange;
+      font: 60px/3 Ahem; /* computes to 60px/180px */
+      writing-mode: vertical-lr;
+    }
+
+    span#orange30
+    {
+      font-size: 0.5em; /* computes to 30px */
+      vertical-align: text-bottom;
+    }
+
+    ]]></style>
+
+  </head>
+
+  <body>
+
+  <p>Test passes if the <strong>right edge</strong> of an irregular orange polygon is straight and unbroken.</p>
+
+  <div id="lr">A<span id="orange30">O</span></div>
+
+  </body>
+</html>
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/vertical-alignment-008-ref.xht
@@ -0,0 +1,27 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+  <title>CSS Reftest Reference</title>
+  <link rel="author" title="Hajime Shiozawa" href="mailto:hajime.shiozawa@gmail.com" />
+  <link rel="reviewer" title="G?rard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" /> <!-- 2015-09-03 -->
+  <meta name="flags" content="image" />
+  <style type="text/css"><![CDATA[
+    img#orange
+    {
+      padding-left: 30px;
+    }
+  ]]></style>
+
+</head>
+
+<body>
+
+<p>Test passes if the left edge of an blue square is aligned with the right edge of a orange square.</p>
+
+<div>
+  <img id="orange" src="support/swatch-orange.png" width="30" height="30" alt="Image download support must be enabled" /><!--
+--><img src="support/swatch-blue.png" width="60" height="60" alt="Image download support must be enabled" />
+</div>
+
+</body>
+</html>
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/vertical-alignment-008.xht
@@ -0,0 +1,45 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+  <head>
+   <title>CSS Writing Modes Test: vertical-align - 'bottom' and vertical-rl writing-mode</title>
+   <link rel="author" title="Hajime Shiozawa" href="mailto:hajime.shiozawa@gmail.com" />
+   <link rel="reviewer" title="G?rard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" /> <!-- 2015-09-03 -->
+   <link rel="help" title="7.5 Line-Relative Mappings" href="http://www.w3.org/TR/css-writing-modes-3/#line-mappings" />
+   <link rel="help" title="10.8.1 Leading and half-leading" href="http://www.w3.org/TR/2011/REC-CSS2-20110607/visudet.html#leading" />
+   <meta name="assert" content="This test checks the position of inline non-replaced box with vertical align property. When 'writing-mode' is 'vertical-rl', 'vertical-align' is 'bottom', the physical left (logical bottom) edge of an inline non-replaced box is aligned with the physical left (logical bottom) edge of its line box." />
+    <link rel="match" href="vertical-alignment-008-ref.xht" />
+    <meta name="flags" content="ahem" />
+<style type="text/css"><![CDATA[
+@font-face {
+  font-family: Ahem;
+  src: url("../../../fonts/Ahem.ttf");
+}
+]]></style>
+    <style type="text/css"><![CDATA[
+    div#rl
+    {
+      writing-mode: vertical-rl;
+      font: 60px/3 Ahem; /* computes to 60px/180px */
+      color: blue;
+    }
+
+    span#orange
+    {
+      font-size: 0.5em;
+      color: orange;
+      vertical-align: bottom;
+      margin-top: -1em;
+    }
+
+    ]]></style>
+
+  </head>
+
+  <body>
+
+  <p>Test passes if the left edge of an blue square is aligned with the right edge of a orange square.</p>
+
+  <div id="rl">A<span id="orange">O</span></div>
+
+  </body>
+</html>
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/vertical-alignment-009.xht
@@ -0,0 +1,45 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+  <head>
+    <title>CSS Writing Modes Test: vertical-align - 'bottom' and vertical-lr writing-mode</title>
+    <link rel="author" title="Hajime Shiozawa" href="mailto:hajime.shiozawa@gmail.com" />
+    <link rel="reviewer" title="G?rard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" /> <!-- 2015-09-03 -->
+    <link rel="help" title="7.5 Line-Relative Mappings" href="http://www.w3.org/TR/css-writing-modes-3/#line-mappings" />
+    <link rel="help" title="10.8.1 Leading and half-leading" href="http://www.w3.org/TR/2011/REC-CSS2-20110607/visudet.html#leading" />
+    <meta name="assert" content="This test checks the position of inline non-replaced box with vertical align property. When 'writing-mode' is 'vertical-lr', 'vertical-align' is 'bottom', the physical left (logical bottom) edge of an inline non-replaced box is aligned with the physical left (logical bottom) edge of its line box." />
+    <link rel="match" href="vertical-alignment-008-ref.xht" />
+    <meta name="flags" content="ahem" />
+<style type="text/css"><![CDATA[
+@font-face {
+  font-family: Ahem;
+  src: url("../../../fonts/Ahem.ttf");
+}
+]]></style>
+    <style type="text/css"><![CDATA[
+    div#lr
+    {
+      writing-mode: vertical-lr;
+      font: 60px/3 Ahem; /* computes to 60px/180px */
+      color: blue;
+    }
+
+    span#orange
+    {
+      font-size: 0.5em;
+      color: orange;
+      vertical-align: bottom;
+      margin-top: -1em;
+    }
+
+    ]]></style>
+
+  </head>
+
+  <body>
+
+  <p>Test passes if the left edge of an blue square is aligned with the right edge of a orange square.</p>
+
+  <div id="lr">A<span id="orange">O</span></div>
+
+  </body>
+</html>
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/vertical-alignment-slr-029.xht
@@ -0,0 +1,46 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+  <head>
+    <title>CSS Writing Modes Test: vertical-align - 'top' and sideways-lr writing-mode</title>
+    <link rel="author" title="Hajime Shiozawa" href="mailto:hajime.shiozawa@gmail.com" />
+    <link rel="reviewer" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" /> <!-- 2015-12-11 -->
+    <link rel="help" title="7.5 Line-Relative Mappings" href="http://www.w3.org/TR/css-writing-modes-3/#line-mappings" />
+    <link rel="help" title="10.8.1 Leading and half-leading" href="http://www.w3.org/TR/2011/REC-CSS2-20110607/visudet.html#leading" />
+    <meta name="assert" content="This test checks the position of inline non-replaced box with vertical align property. When 'writing-mode' is 'sideways-lr', 'vertical-align' is 'top', the physical left (logical top) edge of an inline non-replaced box is aligned with the physical left (logical top) edge of its line box." />
+    <link rel="match" href="vertical-alignment-008-ref.xht" />
+    <meta name="flags" content="ahem" />
+<style type="text/css"><![CDATA[
+@font-face {
+  font-family: Ahem;
+  src: url("../../../fonts/Ahem.ttf");
+}
+]]></style>
+    <style type="text/css"><![CDATA[
+    div#slr
+    {
+      writing-mode: sideways-lr;
+      font: 60px/3 Ahem; /* computes to 60px/180px */
+      color: blue;
+      margin-top: 46px; /* 30px (height of orange square) + 16px (p's margin-bottom) */
+    }
+
+    span#orange
+    {
+      font-size: 0.5em;
+      color: orange;
+      vertical-align: top;
+      margin-bottom: -2em;
+    }
+
+    ]]></style>
+
+  </head>
+
+  <body>
+
+  <p>Test passes if the left edge of an blue square is aligned with the right edge of a orange square.</p>
+
+  <div id="slr">A<span id="orange">O</span></div>
+
+  </body>
+</html>
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/vertical-alignment-slr-031.xht
@@ -0,0 +1,45 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+  <head>
+    <title>CSS Writing Modes Test: vertical-align - 'text-top' and sideways-lr writing-mode</title>
+    <link rel="author" title="Hajime Shiozawa" href="mailto:hajime.shiozawa@gmail.com" />
+    <link rel="reviewer" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" /> <!-- 2015-12-11 -->
+    <link rel="help" title="7.5 Line-Relative Mappings" href="http://www.w3.org/TR/css-writing-modes-3/#line-mappings" />
+    <link rel="help" title="10.8.1 Leading and half-leading" href="http://www.w3.org/TR/2011/REC-CSS2-20110607/visudet.html#leading" />
+    <meta name="assert" content="This test checks the position of an inline non-replaced box with vertical align property. When 'writing-mode' is 'sideways-lr', 'vertical-align' is 'text-top', the physical left (logical top) edge of an inline non-replaced box is aligned with the left side (logical top) of parent's content area." />
+    <link rel="match" href="vertical-alignment-006-ref.xht" />
+    <meta name="flags" content="ahem" />
+<style type="text/css"><![CDATA[
+@font-face {
+  font-family: Ahem;
+  src: url("../../../fonts/Ahem.ttf");
+}
+]]></style>
+    <style type="text/css"><![CDATA[
+    div#slr
+    {
+      color: orange;
+      font: 60px/3 Ahem; /* computes to 60px/180px */
+      writing-mode: sideways-lr;
+      margin-top: 76px; /* 60px (height of A) + 16px (p's margin-bottom) */
+    }
+
+    span#orange30
+    {
+      margin-bottom: -3em; /* computes to -90px */
+      font-size: 0.5em; /* computes to 30px */
+      vertical-align: text-top;
+    }
+
+    ]]></style>
+
+  </head>
+
+  <body>
+
+  <p>Test passes if the <strong>right edge</strong> of an irregular orange polygon is straight and unbroken.</p>
+
+  <div id="slr">A<span id="orange30">O</span></div>
+
+  </body>
+</html>
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/vertical-alignment-slr-033.xht
@@ -0,0 +1,45 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+  <head>
+    <title>CSS Writing Modes Test: vertical-align - 'text-bottom' and sideways-lr writing-mode</title>
+    <link rel="author" title="Hajime Shiozawa" href="mailto:hajime.shiozawa@gmail.com" />
+    <link rel="reviewer" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" /> <!-- 2015-12-11 -->
+    <link rel="help" title="7.5 Line-Relative Mappings" href="http://www.w3.org/TR/css-writing-modes-3/#line-mappings" />
+    <link rel="help" title="10.8.1 Leading and half-leading" href="http://www.w3.org/TR/2011/REC-CSS2-20110607/visudet.html#leading" />
+    <meta name="assert" content="This test checks the position of an inline non-replaced box with vertical align property. When 'writing-mode' is 'sideways-lr', 'vertical-align' is 'text-bottom', the physical right (logical bottom) edge of an inline non-replaced box is aligned with the right side (logical bottom) of parent's content area." />
+    <link rel="match" href="vertical-alignment-004-ref.xht" />
+    <meta name="flags" content="ahem" />
+<style type="text/css"><![CDATA[
+@font-face {
+  font-family: Ahem;
+  src: url("../../../fonts/Ahem.ttf");
+}
+]]></style>
+    <style type="text/css"><![CDATA[
+    div#slr
+    {
+      color: orange;
+      font: 60px/3 Ahem; /* computes to 60px/180px */
+      writing-mode: sideways-lr;
+      margin-top: 76px; /* 60px (height of A) + 16px (p's margin-bottom) */
+    }
+
+    span#orange30
+    {
+      margin-bottom: -3em; /* computes to -90px */
+      font-size: 0.5em; /* computes to 30px */
+      vertical-align: text-bottom;
+    }
+
+    ]]></style>
+
+  </head>
+
+  <body>
+
+  <p>Test passes if the <strong>left edge</strong> of an irregular orange polygon is straight and unbroken.</p>
+
+  <div id="slr">A<span id="orange30">O</span></div>
+
+  </body>
+</html>
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/vertical-alignment-slr-035.xht
@@ -0,0 +1,45 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+  <head>
+    <title>CSS Writing Modes Test: vertical-align - 'bottom' and sideways-lr writing-mode</title>
+    <link rel="author" title="Hajime Shiozawa" href="mailto:hajime.shiozawa@gmail.com" />
+    <link rel="reviewer" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" /> <!-- 2015-12-11 -->
+    <link rel="help" title="7.5 Line-Relative Mappings" href="http://www.w3.org/TR/css-writing-modes-3/#line-mappings" />
+    <link rel="help" title="10.8.1 Leading and half-leading" href="http://www.w3.org/TR/2011/REC-CSS2-20110607/visudet.html#leading" />
+    <meta name="assert" content="This test checks the position of inline non-replaced box with vertical align property. When 'writing-mode' is 'sideways-lr', 'vertical-align' is 'bottom', the physical right (logical bottom) edge of an inline non-replaced box is aligned with the physical right (logical bottom) edge of its line box." />
+    <link rel="match" href="vertical-alignment-002-ref.xht" />
+    <meta name="flags" content="ahem" />
+<style type="text/css"><![CDATA[
+@font-face {
+  font-family: Ahem;
+  src: url("../../../fonts/Ahem.ttf");
+}
+]]></style>
+    <style type="text/css"><![CDATA[
+    div#slr
+    {
+      writing-mode: sideways-lr;
+      font: 60px/3 Ahem; /* computes to 60px/180px */
+      color: blue;
+      margin-top: 46px; /* 30px (height of orange square) + 16px (p's margin-bottom) */
+    }
+
+    span#orange
+    {
+      font-size: 0.5em;
+      color: orange;
+      vertical-align: bottom;
+      margin-bottom: -2em; /* computes to -60px */
+    }
+    ]]></style>
+
+  </head>
+
+  <body>
+
+  <p>Test passes if the right edge of an blue square is aligned with the left edge of a orange square.</p>
+
+  <div id="slr">A<span id="orange">O</span></div>
+
+  </body>
+</html>
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/vertical-alignment-slr-041.xht
@@ -0,0 +1,42 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+  <head>
+    <title>CSS Writing Modes Test: vertical-align - 'middle' and sideways-lr writing-mode</title>
+    <link rel="author" title="Hajime Shiozawa" href="mailto:hajime.shiozawa@gmail.com" />
+    <link rel="reviewer" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" /> <!-- 2015-12-11 -->
+    <link rel="help" title="7.5 Line-Relative Mappings" href="http://www.w3.org/TR/css-writing-modes-3/#line-mappings" />
+    <link rel="help" title="10.8.1 Leading and half-leading" href="http://www.w3.org/TR/2011/REC-CSS2-20110607/visudet.html#leading" />
+    <meta name="assert" content="This test checks the position of inline non-replaced box with vertical align property. When 'writing-mode' is 'sideways-lr', 'text-orientation' is 'mixed', 'vertical-align' is 'middle', the vertical midpoint of the box is aligned with the alphabetic baseline of the parent box plus half the x-height of the parent." />
+    <link rel="match" href="vertical-alignment-slr-049-ref.xht" />
+    <meta name="flags" content="ahem" />
+<style type="text/css"><![CDATA[
+@font-face {
+  font-family: Ahem;
+  src: url("../../../fonts/Ahem.ttf");
+}
+]]></style>
+    <style type="text/css"><![CDATA[
+    div#slr
+    {
+      writing-mode: sideways-lr;
+      font: 100px/3 Ahem; /* computes to 100px/300px */
+      color: blue;
+    }
+
+    span
+    {
+      font-size: 0.8em;
+      vertical-align: middle;
+    }
+    ]]></style>
+
+  </head>
+
+  <body>
+
+  <p>Test passes if the <strong>left edge</strong> of an irregular polygon is straight and unbroken.</p>
+
+  <div id="slr">X<span>X</span></div>
+
+  </body>
+</html>
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/vertical-alignment-slr-049-ref.xht
@@ -0,0 +1,31 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+  <title>CSS Reftest Reference</title>
+  <link rel="author" title="Hajime Shiozawa" href="mailto:hajime.shiozawa@gmail.com" />
+  <link rel="reviewer" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" /> <!-- 2015-12-11 -->
+  <meta name="flags" content="image" />
+  <style type="text/css"><![CDATA[
+    img
+    {
+      padding-left: 100px;
+      vertical-align: top;
+    }
+    img + br + img
+    {
+      padding-left: 100px;
+    }
+  ]]></style>
+
+</head>
+
+<body>
+
+<p>Test passes if the <strong>left edge</strong> of an irregular polygon is straight and unbroken.</p>
+
+<div>
+  <img src="support/swatch-blue.png" width="80" height="80" alt="Image download support must be enabled" /><br /><img src="support/swatch-blue.png" width="100" height="100" alt="Image download support must be enabled" />
+</div>
+
+</body>
+</html>
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/vertical-alignment-srl-028.xht
@@ -0,0 +1,44 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+  <head>
+    <title>CSS Writing Modes Test: vertical-align - 'top' and sideways-rl writing-mode</title>
+    <link rel="author" title="Hajime Shiozawa" href="mailto:hajime.shiozawa@gmail.com" />
+    <link rel="reviewer" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" /> <!-- 2015-12-11 -->
+    <link rel="help" title="7.5 Line-Relative Mappings" href="http://www.w3.org/TR/css-writing-modes-3/#line-mappings" />
+    <link rel="help" title="10.8.1 Leading and half-leading" href="http://www.w3.org/TR/2011/REC-CSS2-20110607/visudet.html#leading" />
+    <meta name="assert" content="This test checks the position of inline non-replaced box with vertical align property. When 'writing-mode' is 'sideways-rl', 'vertical-align' is 'top', the physical right (logical top) edge of an inline non-replaced box is aligned with the physical right (logical top) edge of its line box." />
+    <link rel="match" href="vertical-alignment-002-ref.xht" />
+    <meta name="flags" content="ahem" />
+<style type="text/css"><![CDATA[
+@font-face {
+  font-family: Ahem;
+  src: url("../../../fonts/Ahem.ttf");
+}
+]]></style>
+    <style type="text/css"><![CDATA[
+    div#srl
+    {
+      writing-mode: sideways-rl;
+      font: 60px/3 Ahem; /* computes to 60px/180px */
+      color: blue;
+    }
+
+    span#orange
+    {
+      font-size: 0.5em;
+      color: orange;
+      vertical-align: top;
+      margin-top: -1em;
+    }
+    ]]></style>
+
+  </head>
+
+  <body>
+
+  <p>Test passes if the right edge of an blue square is aligned with the left edge of a orange square.</p>
+
+  <div id="srl">A<span id="orange">O</span></div>
+
+  </body>
+</html>
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/vertical-alignment-srl-030.xht
@@ -0,0 +1,43 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+  <head>
+    <title>CSS Writing Modes Test: vertical-align - 'text-top' and sideways-rl writing-mode</title>
+    <link rel="author" title="Hajime Shiozawa" href="mailto:hajime.shiozawa@gmail.com" />
+    <link rel="reviewer" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" /> <!-- 2015-12-11 -->
+    <link rel="help" title="7.5 Line-Relative Mappings" href="http://www.w3.org/TR/css-writing-modes-3/#line-mappings" />
+    <link rel="help" title="10.8.1 Leading and half-leading" href="http://www.w3.org/TR/2011/REC-CSS2-20110607/visudet.html#leading" />
+    <meta name="assert" content="This test checks the position of an inline non-replaced box with vertical align property. When 'writing-mode' is 'sideways-rl', 'vertical-align' is 'text-top', the physical right (logical top) edge of an inline non-replaced box is aligned with the right side (logical top) of parent's content area." />
+    <link rel="match" href="vertical-alignment-004-ref.xht" />
+    <meta name="flags" content="ahem" />
+<style type="text/css"><![CDATA[
+@font-face {
+  font-family: Ahem;
+  src: url("../../../fonts/Ahem.ttf");
+}
+]]></style>
+    <style type="text/css"><![CDATA[
+    div#srl
+    {
+      color: orange;
+      font: 60px/3 Ahem; /* computes to 60px/180px */
+      writing-mode: sideways-rl;
+    }
+
+    span#orange30
+    {
+      font-size: 0.5em; /* computes to 30px */
+      vertical-align: text-top;
+    }
+
+    ]]></style>
+
+  </head>
+
+  <body>
+
+  <p>Test passes if the <strong>left edge</strong> of an irregular orange polygon is straight and unbroken.</p>
+
+  <div id="srl">A<span id="orange30">O</span></div>
+
+  </body>
+</html>
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/vertical-alignment-srl-032.xht
@@ -0,0 +1,43 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+  <head>
+    <title>CSS Writing Modes Test: vertical-align - 'text-bottom' and sideways-rl writing-mode</title>
+    <link rel="author" title="Hajime Shiozawa" href="mailto:hajime.shiozawa@gmail.com" />
+    <link rel="reviewer" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" /> <!-- 2015-12-11 -->
+    <link rel="help" title="7.5 Line-Relative Mappings" href="http://www.w3.org/TR/css-writing-modes-3/#line-mappings" />
+    <link rel="help" title="10.8.1 Leading and half-leading" href="http://www.w3.org/TR/2011/REC-CSS2-20110607/visudet.html#leading" />
+    <meta name="assert" content="This test checks the position of an inline non-replaced box with vertical align property. When 'writing-mode' is 'vertical-rl', 'vertical-align' is 'text-bottom', the physical left (logical bottom) edge of an inline non-replaced box is aligned with the left side (logical bottom) of parent's content area." />
+    <link rel="match" href="vertical-alignment-006-ref.xht" />
+    <meta name="flags" content="ahem" />
+<style type="text/css"><![CDATA[
+@font-face {
+  font-family: Ahem;
+  src: url("../../../fonts/Ahem.ttf");
+}
+]]></style>
+    <style type="text/css"><![CDATA[
+    div#srl
+    {
+      color: orange;
+      font: 60px/3 Ahem; /* computes to 60px/180px */
+      writing-mode: sideways-rl;
+    }
+
+    span#orange30
+    {
+      font-size: 0.5em; /* computes to 30px */
+      vertical-align: text-bottom;
+    }
+
+    ]]></style>
+
+  </head>
+
+  <body>
+
+  <p>Test passes if the <strong>right edge</strong> of an irregular orange polygon is straight and unbroken.</p>
+
+  <div id="srl">A<span id="orange30">O</span></div>
+
+  </body>
+</html>
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/vertical-alignment-srl-034.xht
@@ -0,0 +1,45 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+  <head>
+   <title>CSS Writing Modes Test: vertical-align - 'bottom' and sideways-rl writing-mode</title>
+   <link rel="author" title="Hajime Shiozawa" href="mailto:hajime.shiozawa@gmail.com" />
+   <link rel="reviewer" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" /> <!-- 2015-12-11 -->
+   <link rel="help" title="7.5 Line-Relative Mappings" href="http://www.w3.org/TR/css-writing-modes-3/#line-mappings" />
+   <link rel="help" title="10.8.1 Leading and half-leading" href="http://www.w3.org/TR/2011/REC-CSS2-20110607/visudet.html#leading" />
+   <meta name="assert" content="This test checks the position of inline non-replaced box with vertical align property. When 'writing-mode' is 'sideways-rl', 'vertical-align' is 'bottom', the physical left (logical bottom) edge of an inline non-replaced box is aligned with the physical left (logical bottom) edge of its line box." />
+    <link rel="match" href="vertical-alignment-008-ref.xht" />
+    <meta name="flags" content="ahem" />
+<style type="text/css"><![CDATA[
+@font-face {
+  font-family: Ahem;
+  src: url("../../../fonts/Ahem.ttf");
+}
+]]></style>
+    <style type="text/css"><![CDATA[
+    div#srl
+    {
+      writing-mode: sideways-rl;
+      font: 60px/3 Ahem; /* computes to 60px/180px */
+      color: blue;
+    }
+
+    span#orange
+    {
+      font-size: 0.5em;
+      color: orange;
+      vertical-align: bottom;
+      margin-top: -1em;
+    }
+
+    ]]></style>
+
+  </head>
+
+  <body>
+
+  <p>Test passes if the left edge of an blue square is aligned with the right edge of a orange square.</p>
+
+  <div id="srl">A<span id="orange">O</span></div>
+
+  </body>
+</html>
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/vertical-alignment-srl-040.xht
@@ -0,0 +1,42 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+  <head>
+    <title>CSS Writing Modes Test: vertical-align - 'middle' and sideways-rl writing-mode</title>
+    <link rel="author" title="Hajime Shiozawa" href="mailto:hajime.shiozawa@gmail.com" />
+    <link rel="reviewer" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" /> <!-- 2015-12-11 -->
+    <link rel="help" title="7.5 Line-Relative Mappings" href="http://www.w3.org/TR/css-writing-modes-3/#line-mappings" />
+    <link rel="help" title="10.8.1 Leading and half-leading" href="http://www.w3.org/TR/2011/REC-CSS2-20110607/visudet.html#leading" />
+    <meta name="assert" content="This test checks the position of inline non-replaced box with vertical align property. When 'writing-mode' is 'sideways-rl' and 'vertical-align' is 'middle', the vertical midpoint of the box is aligned with the alphabetic baseline of the parent box plus half the x-height of the parent." />
+    <link rel="match" href="vertical-alignment-vrl-026-ref.xht" />
+    <meta name="flags" content="ahem" />
+<style type="text/css"><![CDATA[
+@font-face {
+  font-family: Ahem;
+  src: url("../../../fonts/Ahem.ttf");
+}
+]]></style>
+    <style type="text/css"><![CDATA[
+    div#srl
+    {
+      writing-mode: sideways-rl;
+      font: 100px/3 Ahem; /* computes to 100px/300px */
+      color: blue;
+    }
+
+    span
+    {
+      font-size: 0.8em;
+      vertical-align: middle;
+    }
+    ]]></style>
+
+  </head>
+
+  <body>
+
+  <p>Test passes if the <strong>right edge</strong> of an irregular polygon is straight and unbroken.</p>
+
+  <div id="srl">X<span>X</span></div>
+
+  </body>
+</html>
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/vertical-alignment-vlr-023.xht
@@ -0,0 +1,43 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+  <head>
+    <title>CSS Writing Modes Test: vertical-align - 'middle' and vertical-lr writing-mode</title>
+    <link rel="author" title="Hajime Shiozawa" href="mailto:hajime.shiozawa@gmail.com" />
+    <link rel="reviewer" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" /> <!-- 2015-10-29 -->
+    <link rel="help" title="7.5 Line-Relative Mappings" href="http://www.w3.org/TR/css-writing-modes-3/#line-mappings" />
+    <link rel="help" title="10.8.1 Leading and half-leading" href="http://www.w3.org/TR/2011/REC-CSS2-20110607/visudet.html#leading" />
+    <meta name="assert" content="This test checks the position of inline non-replaced box with vertical align property. When 'writing-mode' is 'vertical-lr', 'text-orientation' is 'upright', 'vertical-align' is 'middle', the vertical midpoint of the box is aligned with the central baseline of the parent box plus half the x-height of the parent." />
+    <link rel="match" href="vertical-alignment-vrl-022-ref.xht" />
+    <meta name="flags" content="ahem" />
+<style type="text/css"><![CDATA[
+@font-face {
+  font-family: Ahem;
+  src: url("../../../fonts/Ahem.ttf");
+}
+]]></style>
+    <style type="text/css"><![CDATA[
+    div#lr-upright
+    {
+      writing-mode: vertical-lr;
+      font: 100px/3 Ahem; /* computes to 100px/300px */
+      color: blue;
+      text-orientation: upright;
+    }
+
+    span
+    {
+      font-size: 0.2em;
+      vertical-align: middle;
+    }
+    ]]></style>
+
+  </head>
+
+  <body>
+
+  <p>Test passes if the <strong>right edge</strong> of an irregular polygon is straight and unbroken.</p>
+
+  <div id="lr-upright">X<span>X</span></div>
+
+  </body>
+</html>
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/vertical-alignment-vlr-025.xht
@@ -0,0 +1,43 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+  <head>
+    <title>CSS Writing Modes Test: vertical-align - 'middle' and vertical-lr writing-mode</title>
+    <link rel="author" title="Hajime Shiozawa" href="mailto:hajime.shiozawa@gmail.com" />
+    <link rel="reviewer" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" /> <!-- 2015-10-31 -->
+    <link rel="help" title="7.5 Line-Relative Mappings" href="http://www.w3.org/TR/css-writing-modes-3/#line-mappings" />
+    <link rel="help" title="10.8.1 Leading and half-leading" href="http://www.w3.org/TR/2011/REC-CSS2-20110607/visudet.html#leading" />
+    <meta name="assert" content="This test checks the position of inline non-replaced box with vertical align property. When 'writing-mode' is 'vertical-lr', 'text-orientation' is 'mixed', 'vertical-align' is 'middle', the vertical midpoint of the box is aligned with the central baseline of the parent box plus half the x-height of the parent." />
+    <link rel="match" href="vertical-alignment-vrl-022-ref.xht" />
+    <meta name="flags" content="ahem" />
+<style type="text/css"><![CDATA[
+@font-face {
+  font-family: Ahem;
+  src: url("../../../fonts/Ahem.ttf");
+}
+]]></style>
+    <style type="text/css"><![CDATA[
+    div#lr-mixed
+    {
+      writing-mode: vertical-lr;
+      font: 100px/3 Ahem; /* computes to 100px/300px */
+      color: blue;
+      text-orientation: mixed;
+    }
+
+    span
+    {
+      font-size: 0.2em;
+      vertical-align: middle;
+    }
+    ]]></style>
+
+  </head>
+
+  <body>
+
+  <p>Test passes if the <strong>right edge</strong> of an irregular polygon is straight and unbroken.</p>
+
+  <div id="lr-mixed">X<span>X</span></div>
+
+  </body>
+</html>
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/vertical-alignment-vlr-027.xht
@@ -0,0 +1,43 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+  <head>
+    <title>CSS Writing Modes Test: vertical-align - 'middle' and vertical-lr writing-mode</title>
+    <link rel="author" title="Hajime Shiozawa" href="mailto:hajime.shiozawa@gmail.com" />
+    <link rel="reviewer" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" /> <!-- 2015-10-29 -->
+    <link rel="help" title="7.5 Line-Relative Mappings" href="http://www.w3.org/TR/css-writing-modes-3/#line-mappings" />
+    <link rel="help" title="10.8.1 Leading and half-leading" href="http://www.w3.org/TR/2011/REC-CSS2-20110607/visudet.html#leading" />
+    <meta name="assert" content="This test checks the position of inline non-replaced box with vertical align property. When 'writing-mode' is 'vertical-lr', 'text-orientation' is 'sideways', 'vertical-align' is 'middle', the vertical midpoint of the box is aligned with the alphabetic baseline of the parent box plus half the x-height of the parent." />
+    <link rel="match" href="vertical-alignment-vrl-026-ref.xht" />
+    <meta name="flags" content="ahem" />
+<style type="text/css"><![CDATA[
+@font-face {
+  font-family: Ahem;
+  src: url("../../../fonts/Ahem.ttf");
+}
+]]></style>
+    <style type="text/css"><![CDATA[
+    div#lr-sideways
+    {
+      writing-mode: vertical-lr;
+      font: 100px/3 Ahem; /* computes to 100px/300px */
+      color: blue;
+      text-orientation: sideways;
+    }
+
+    span
+    {
+      font-size: 0.8em;
+      vertical-align: middle;
+    }
+    ]]></style>
+
+  </head>
+
+  <body>
+
+  <p>Test passes if the <strong>right edge</strong> of an irregular polygon is straight and unbroken.</p>
+
+  <div id="lr-sideways">X<span>X</span></div>
+
+  </body>
+</html>
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/vertical-alignment-vrl-022-ref.xht
@@ -0,0 +1,31 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+  <title>CSS Reftest Reference</title>
+  <link rel="author" title="Hajime Shiozawa" href="mailto:hajime.shiozawa@gmail.com" />
+    <link rel="reviewer" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" /> <!-- 2015-10-26 -->
+  <meta name="flags" content="image" />
+  <style type="text/css"><![CDATA[
+    img
+    {
+      padding-left: 100px;
+      vertical-align: top;
+    }
+    img + br + img
+    {
+      padding-left: 180px; /* 100 px (padding-left) + 80 px (the position of small blue box)*/
+    }
+  ]]></style>
+
+</head>
+
+<body>
+
+<p>Test passes if the <strong>right edge</strong> of an irregular polygon is straight and unbroken.</p>
+
+<div>
+  <img class="blue" src="support/swatch-blue.png" width="100" height="100" alt="Image download support must be enabled" /><br/><img class="blue" src="support/swatch-blue.png" width="20" height="20" alt="Image download support must be enabled" />
+</div>
+
+</body>
+</html>
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/vertical-alignment-vrl-022.xht
@@ -0,0 +1,43 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+  <head>
+    <title>CSS Writing Modes Test: vertical-align - 'middle' and vertical-rl writing-mode</title>
+    <link rel="author" title="Hajime Shiozawa" href="mailto:hajime.shiozawa@gmail.com" />
+    <link rel="reviewer" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" /> <!-- 2015-10-26 -->
+    <link rel="help" title="7.5 Line-Relative Mappings" href="http://www.w3.org/TR/css-writing-modes-3/#line-mappings" />
+    <link rel="help" title="10.8.1 Leading and half-leading" href="http://www.w3.org/TR/2011/REC-CSS2-20110607/visudet.html#leading" />
+    <meta name="assert" content="This test checks the position of inline non-replaced box with vertical align property. When 'writing-mode' is 'vertical-rl', 'text-orientation' is 'upright', 'vertical-align' is 'middle', the vertical midpoint of the box is aligned with the central baseline of the parent box plus half the x-height of the parent." />
+    <link rel="match" href="vertical-alignment-vrl-022-ref.xht" />
+    <meta name="flags" content="ahem" />
+<style type="text/css"><![CDATA[
+@font-face {
+  font-family: Ahem;
+  src: url("../../../fonts/Ahem.ttf");
+}
+]]></style>
+    <style type="text/css"><![CDATA[
+    div#rl-upright
+    {
+      writing-mode: vertical-rl;
+      font: 100px/3 Ahem; /* computes to 100px/300px */
+      color: blue;
+      text-orientation: upright;
+    }
+
+    span
+    {
+      font-size: 0.2em;
+      vertical-align: middle;
+    }
+    ]]></style>
+
+  </head>
+
+  <body>
+
+  <p>Test passes if the <strong>right edge</strong> of an irregular polygon is straight and unbroken.</p>
+
+  <div id="rl-upright">X<span>X</span></div>
+
+  </body>
+</html>
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/vertical-alignment-vrl-024.xht
@@ -0,0 +1,43 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+  <head>
+    <title>CSS Writing Modes Test: vertical-align - 'middle' and vertical-rl writing-mode</title>
+    <link rel="author" title="Hajime Shiozawa" href="mailto:hajime.shiozawa@gmail.com" />
+    <link rel="reviewer" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" /> <!-- 2015-10-31 -->
+    <link rel="help" title="7.5 Line-Relative Mappings" href="http://www.w3.org/TR/css-writing-modes-3/#line-mappings" />
+    <link rel="help" title="10.8.1 Leading and half-leading" href="http://www.w3.org/TR/2011/REC-CSS2-20110607/visudet.html#leading" />
+    <meta name="assert" content="This test checks the position of inline non-replaced box with vertical align property. When 'writing-mode' is 'vertical-rl', 'text-orientation' is 'mixed', 'vertical-align' is 'middle', the vertical midpoint of the box is aligned with the central baseline of the parent box plus half the x-height of the parent." />
+    <link rel="match" href="vertical-alignment-vrl-022-ref.xht" />
+    <meta name="flags" content="ahem" />
+<style type="text/css"><![CDATA[
+@font-face {
+  font-family: Ahem;
+  src: url("../../../fonts/Ahem.ttf");
+}
+]]></style>
+    <style type="text/css"><![CDATA[
+    div#rl-mixed
+    {
+      writing-mode: vertical-rl;
+      font: 100px/3 Ahem; /* computes to 100px/300px */
+      color: blue;
+      text-orientation: mixed;
+    }
+
+    span
+    {
+      font-size: 0.2em;
+      vertical-align: middle;
+    }
+    ]]></style>
+
+  </head>
+
+  <body>
+
+  <p>Test passes if the <strong>right edge</strong> of an irregular polygon is straight and unbroken.</p>
+
+  <div id="rl-mixed">X<span>X</span></div>
+
+  </body>
+</html>
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/vertical-alignment-vrl-026-ref.xht
@@ -0,0 +1,31 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+  <title>CSS Reftest Reference</title>
+  <link rel="author" title="Hajime Shiozawa" href="mailto:hajime.shiozawa@gmail.com" />
+  <link rel="reviewer" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" /> <!-- 2015-10-26 -->
+  <meta name="flags" content="image" />
+  <style type="text/css"><![CDATA[
+    img
+    {
+      padding-left: 100px;
+      vertical-align: top;
+    }
+    img + br + img
+    {
+      padding-left: 120px;
+    }
+  ]]></style>
+
+</head>
+
+<body>
+
+<p>Test passes if the <strong>right edge</strong> of an irregular polygon is straight and unbroken.</p>
+
+<div>
+  <img class="blue" src="support/swatch-blue.png" width="100" height="100" alt="Image download support must be enabled" /><br/><img class="blue" src="support/swatch-blue.png" width="80" height="80" alt="Image download support must be enabled" />
+</div>
+
+</body>
+</html>
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/vertical-alignment-vrl-026.xht
@@ -0,0 +1,43 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+  <head>
+    <title>CSS Writing Modes Test: vertical-align - 'middle' and vertical-rl writing-mode</title>
+    <link rel="author" title="Hajime Shiozawa" href="mailto:hajime.shiozawa@gmail.com" />
+    <link rel="reviewer" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" /> <!-- 2015-10-26 -->
+    <link rel="help" title="7.5 Line-Relative Mappings" href="http://www.w3.org/TR/css-writing-modes-3/#line-mappings" />
+    <link rel="help" title="10.8.1 Leading and half-leading" href="http://www.w3.org/TR/2011/REC-CSS2-20110607/visudet.html#leading" />
+    <meta name="assert" content="This test checks the position of inline non-replaced box with vertical align property. When 'writing-mode' is 'vertical-rl', 'text-orientation' is 'sideways, 'vertical-align' is 'middle', the vertical midpoint of the box is aligned with the alphabetic baseline of the parent box plus half the x-height of the parent." />
+    <link rel="match" href="vertical-alignment-vrl-026-ref.xht" />
+    <meta name="flags" content="ahem" />
+<style type="text/css"><![CDATA[
+@font-face {
+  font-family: Ahem;
+  src: url("../../../fonts/Ahem.ttf");
+}
+]]></style>
+    <style type="text/css"><![CDATA[
+    div#rl-sideways
+    {
+      writing-mode: vertical-rl;
+      font: 100px/3 Ahem; /* computes to 100px/300px */
+      color: blue;
+      text-orientation: sideways;
+    }
+
+    span
+    {
+      font-size: 0.8em;
+      vertical-align: middle;
+    }
+    ]]></style>
+
+  </head>
+
+  <body>
+
+  <p>Test passes if the <strong>right edge</strong> of an irregular polygon is straight and unbroken.</p>
+
+  <div id="rl-sideways">X<span>X</span></div>
+
+  </body>
+</html>
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/wm-propagation-body-003-ref.xht
@@ -0,0 +1,37 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Reftest Reference</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+
+  <meta content="image" name="flags" />
+
+  <style type="text/css"><![CDATA[
+  img
+    {
+      vertical-align: top;
+    }
+
+  img + img
+    {
+      padding-left: 1em;
+    }
+  ]]></style>
+ </head>
+
+ <body>
+
+  <div><img src="support/swatch-orange.png" width="100" height="100" alt="Image download support must be enabled" /><img src="support/wm-propagation-body-003-exp-res.png" width="340" height="37" alt="Image download support must be enabled" /></div>
+
+  <!--
+  The image says:
+  Test passes if there is an orange square
+  in the <strong>upper-left corner</strong> of the page.
+  -->
+
+ </body>
+</html>
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/wm-propagation-body-006.xht
@@ -0,0 +1,51 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Writing Modes Test: 'writing-mode: vertical-rl' set to body element propagates to viewport</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+  <link rel="help" href="https://www.w3.org/TR/css-writing-modes-3/#principal-flow" title="8. The Principal Writing Mode" />
+  <link rel="bookmark" href="https://bugzilla.mozilla.org/show_bug.cgi?id=1102175" title="Bug 1102175: &lt;body&gt; with writing-mode: vertical-rl does not align children to the right " />
+  <link rel="match" href="block-flow-direction-025-ref.xht" />
+
+  <meta name="flags" content="image" />
+  <meta name="assert" content="This test checks that when the root element has a &lt;body&gt; child element, then the principal writing mode is instead taken from the values of writing-mode and direction on the first such child element instead of taken from the root element." />
+
+  <style type="text/css"><![CDATA[
+  html
+    {
+      writing-mode: horizontal-tb;
+    }
+
+  body
+    {
+      writing-mode: vertical-rl;
+    }
+
+  div
+    {
+      background-color: blue;
+      height: 100px;
+      width: 100px;
+    }
+  ]]></style>
+
+ </head>
+
+ <body>
+
+  <div></div>
+
+  <p><img src="support/block-flow-direction-025-exp-res.png" width="359" height="36" alt="Image download support must be enabled" /></p>
+
+  <!--
+  The image says:
+  Test passes if there is a blue square in the
+  <strong>upper-right corner</strong> of the page.
+  -->
+
+ </body>
+</html>
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/wm-propagation-body-008.xht
@@ -0,0 +1,49 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Writing Modes Test: 'writing-mode: sideways-rl' set to body element propagates to viewport</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+  <link rel="help" href="https://www.w3.org/TR/css-writing-modes-3/#principal-flow" title="8. The Principal Writing Mode" />
+  <link rel="match" href="block-flow-direction-025-ref.xht" />
+
+  <meta name="flags" content="image" />
+  <meta name="assert" content="This test checks that when the root element has a &lt;body&gt; child element, then the principal writing mode is instead taken from the values of writing-mode and direction on the first such child element instead of taken from the root element." />
+
+  <style type="text/css"><![CDATA[
+  html
+    {
+      writing-mode: horizontal-tb;
+    }
+
+  body
+    {
+      writing-mode: sideways-rl;
+    }
+
+  div
+    {
+      background-color: blue;
+      height: 100px;
+      width: 100px;
+    }
+  ]]></style>
+ </head>
+
+ <body>
+
+  <div></div>
+
+  <p><img src="support/block-flow-direction-025-exp-res.png" width="359" height="36" alt="Image download support must be enabled" /></p>
+
+  <!--
+  The image says:
+  Test passes if there is a blue square in the
+  <strong>upper-right corner</strong> of the page.
+  -->
+
+ </body>
+</html>
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/wm-propagation-body-010.xht
@@ -0,0 +1,48 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Writing Modes Test: 'writing-mode: horizontal-tb' set to body element propagates to viewport</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+  <link rel="help" href="https://www.w3.org/TR/css-writing-modes-3/#principal-flow" title="8. The Principal Writing Mode" />
+  <link rel="match" href="wm-propagation-body-003-ref.xht" />
+
+  <meta name="flags" content="image" />
+  <meta name="assert" content="This test checks that when the root element has a &lt;body&gt; child element, then the principal writing mode is instead taken from the values of writing-mode and direction on the first such child element instead of taken from the root element." />
+
+  <style type="text/css"><![CDATA[
+  html
+    {
+      writing-mode: vertical-rl;
+    }
+
+  body
+    {
+      writing-mode: horizontal-tb;
+    }
+
+  img#orange-square
+    {
+      height: 100px;
+      padding-right: 1em;
+      vertical-align: top;
+      width: 100px;
+    }
+  ]]></style>
+ </head>
+
+ <body>
+
+  <div><img id="orange-square" src="support/swatch-orange.png" alt="Image download support must be enabled" /><img src="support/wm-propagation-body-003-exp-res.png" width="340" height="37" alt="Image download support must be enabled" /></div>
+
+  <!--
+  The image says:
+  Test passes if there is an orange square
+  in the <strong>upper-left corner</strong> of the page.
+  -->
+
+ </body>
+</html>
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/wm-propagation-body-011.xht
@@ -0,0 +1,49 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Writing Modes Test: 'writing-mode: vertical-lr' set to body element propagates to viewport</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+  <link rel="help" href="https://www.w3.org/TR/css-writing-modes-3/#principal-flow" title="8. The Principal Writing Mode" />
+  <link rel="match" href="wm-propagation-body-003-ref.xht" />
+
+  <meta name="flags" content="image" />
+  <meta name="assert" content="This test checks that when the root element has a &lt;body&gt; child element, then the principal writing mode is instead taken from the values of writing-mode and direction on the first such child element instead of taken from the root element." />
+
+  <style type="text/css"><![CDATA[
+  html
+    {
+      writing-mode: vertical-rl;
+    }
+
+  body
+    {
+      writing-mode: vertical-lr;
+    }
+
+  div
+    {
+      background-color: orange;
+      height: 100px;
+      width: 100px;
+    }
+  ]]></style>
+ </head>
+
+ <body>
+
+  <div></div>
+
+  <p><img src="support/wm-propagation-body-003-exp-res.png" width="340" height="37" alt="Image download support must be enabled" /></p>
+
+  <!--
+  The image says:
+  Test passes if there is an orange square
+  in the <strong>upper-left corner</strong> of the page.
+  -->
+
+ </body>
+</html>
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/wm-propagation-body-015.xht
@@ -0,0 +1,50 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+  <title>CSS Writing Modes Test: 'writing-mode: vertical-rl' set to body element propagates to viewport</title>
+
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+  <link rel="help" href="https://www.w3.org/TR/css-writing-modes-3/#principal-flow" title="8. The Principal Writing Mode" />
+  <link rel="match" href="block-flow-direction-025-ref.xht" />
+
+  <meta name="flags" content="image" />
+  <meta name="assert" content="This test checks that when the root element has a &lt;body&gt; child element, then the principal writing mode is instead taken from the values of writing-mode and direction on the first such child element instead of taken from the root element." />
+
+  <style type="text/css"><![CDATA[
+  html
+    {
+      writing-mode: vertical-lr;
+    }
+
+  body
+    {
+      writing-mode: vertical-rl;
+    }
+
+  div
+    {
+      background-color: blue;
+      height: 100px;
+      width: 100px;
+    }
+  ]]></style>
+
+ </head>
+
+ <body>
+
+  <div></div>
+
+  <p><img src="support/block-flow-direction-025-exp-res.png" width="359" height="36" alt="Image download support must be enabled" /></p>
+
+  <!--
+  The image says:
+  Test passes if there is a blue square in the
+  <strong>upper-right corner</strong> of the page.
+  -->
+
+ </body>
+</html>
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/writing-mode-horizontal-001l.html
@@ -0,0 +1,32 @@
+<!DOCTYPE html>
+<html>
+<head>
+<meta charset="utf-8">
+<title>CSS Writing Modes: text-combine-upright in horizontal writing mode</title>
+<link rel="author" title="Masataka Yakura" href="http://google.com/+MasatakaYakura">
+<link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#text-combine-upright">
+<link rel="match" href="reference/writing-mode-horizontal-001l-ref.html">
+<meta name="assert" content="text-combine-upright does not have an effect in horizontal writing modes.">
+<style>
+.test {
+  writing-mode: horizontal-tb;
+  font-size: 5em;
+  line-height: 1;
+}
+
+.tcy {
+  text-combine-upright: all;
+}
+</style>
+</head>
+<body>
+
+<p>Test passes if the following texts are identical:</p>
+
+<div class="test">
+  <p><span class="tcy">2014</span></p>
+  <p>2014</p>
+</div>
+
+</body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/writing-mode-horizontal-001r.html
@@ -0,0 +1,33 @@
+<!DOCTYPE html>
+<html>
+<head>
+<meta charset="utf-8">
+<title>CSS Writing Modes: text-combine-upright in horizontal writing mode</title>
+<link rel="author" title="Masataka Yakura" href="http://google.com/+MasatakaYakura">
+<link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#text-combine-upright">
+<link rel="match" href="reference/writing-mode-horizontal-001r-ref.html">
+<meta name="assert" content="text-combine-upright does not have an effect in horizontal writing modes.">
+<style>
+.test {
+  writing-mode: horizontal-tb;
+  font-size: 5em;
+  line-height: 1;
+  direction: rtl;
+}
+
+.tcy {
+  text-combine-upright: all;
+}
+</style>
+</head>
+<body>
+
+<p>Test passes if the following texts are identical:</p>
+
+<div class="test">
+  <p><span class="tcy">2014</span></p>
+  <p>2014</p>
+</div>
+
+</body>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/writing-mode-vertical-lr-002.xht
@@ -0,0 +1,51 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+    <title>CSS Test: writing-mode: vertical-lr - basic inline case</title>
+    <link rel="author" title="Yoshifumi Kawai" href="mailto:kawai@est.co.jp" />
+    <link rel="reviewer" title="Elika J. Etemad" href="http://fantasai.inkedblade.net/contact"/>
+    <link rel="help" title="CSS3 Writing modes: 3.1. Block Flow Direction: the 'writing-mode' property" href="http://www.w3.org/TR/css-writing-modes-3/#propdef-writing-mode" />
+    <link rel="match" href="reftest/writing-mode-vertical-lr-002-ref.xht"/>
+    <meta name="flags" content="ahem" />
+    <meta content="This tests the block flow direction. The writing mode is vertical, and the block flow is left to right." />
+<style type="text/css"><![CDATA[
+@font-face {
+  font-family: Ahem;
+  src: url("../../../fonts/Ahem.ttf");
+}
+]]></style>
+    <style type="text/css"><![CDATA[
+        div
+        {
+            background: yellow;
+            color: blue;
+            font: 20px/1 Ahem;
+            height: 6em;
+            margin: 10px;
+            white-space: pre;
+            width: 6em;
+        }
+
+        #test
+        {
+            writing-mode: vertical-lr;
+        }
+    ]]></style>
+</head>
+<body>
+    <p>The upper block is identical to the lower block including each character positions.</p>
+    <div id="test">a bc
+d e fg
+hi
+j klm
+n oq r
+st uv</div>
+<div id="control">adhjns
+  i  t
+be ko
+c  lqu
+ f m v
+ g  r</div>
+</body>
+</html>
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/writing-mode-vertical-rl-001.xht
@@ -0,0 +1,51 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+    <title>CSS Test: writing-mode: vertical-rl - basic inline case</title>
+    <link rel="author" title="Yoshifumi Kawai" href="mailto:kawai@est.co.jp" />
+    <link rel="reviewer" title="Elika J. Etemad" href="http://fantasai.inkedblade.net/contact"/>
+    <link rel="help" title="CSS3 Writing modes: 3.1. Block Flow Direction: the 'writing-mode' property" href="http://www.w3.org/TR/css-writing-modes-3/#propdef-writing-mode" />
+    <link rel="match" href="reftest/writing-mode-vertical-rl-001-ref.xht"/>
+    <meta name="flags" content="ahem" />
+    <meta content="This tests the block flow direction. The writing mode is vertical, and the block flow is right to left." />
+<style type="text/css"><![CDATA[
+@font-face {
+  font-family: Ahem;
+  src: url("../../../fonts/Ahem.ttf");
+}
+]]></style>
+    <style type="text/css"><![CDATA[
+        div
+        {
+            background: yellow;
+            color: blue;
+            font: 20px/1 Ahem;
+            height: 6em;
+            margin: 10px;
+            white-space: pre;
+            width: 6em;
+        }
+
+        #test
+        {
+            writing-mode: vertical-rl;
+        }
+    ]]></style>
+</head>
+<body>
+    <p>The upper block is identical to the lower block including each character positions.</p>
+    <div id="test">ab cd
+e fg h
+i jkl
+mn
+o q rs
+t uv</div>
+<div id="control">tomiea
+  n  b
+uq jf
+v  kgc
+ r l d
+ s  h</div>
+</body>
+</html>
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/writing-mode-vertical-rl-002.xht
@@ -0,0 +1,50 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+    <title>CSS Test: writing-mode: vertical-rl - basic inline case</title>
+    <link rel="author" title="Yoshifumi Kawai" href="mailto:kawai@est.co.jp" />
+    <link rel="reviewer" title="Elika J. Etemad" href="http://fantasai.inkedblade.net/contact"/>
+    <link rel="help" title="CSS3 Writing modes: 3.1. Block Flow Direction: the 'writing-mode' property" href="http://www.w3.org/TR/css-writing-modes-3/#propdef-writing-mode" />
+    <link rel="match" href="reftest/writing-mode-vertical-rl-002-ref.xht"/>
+    <meta name="flags" content="ahem" />
+    <meta content="This tests the block flow direction. The writing mode is vertical, and the block flow is right to left." />
+<style type="text/css"><![CDATA[
+@font-face {
+  font-family: Ahem;
+  src: url("../../../fonts/Ahem.ttf");
+}
+]]></style>
+    <style type="text/css"><![CDATA[
+        div
+        {
+            background: yellow;
+            color: blue;
+            font: 20px/1 Ahem;
+            height: 6em;
+            margin: 10px;
+            width: 6em;
+        }
+
+        #test
+        {
+            writing-mode: vertical-rl;
+        }
+    ]]></style>
+</head>
+<body>
+    <p>The upper block is identical to the lower block including each character positions.</p>
+    <div id="test">ab cd
+e fg h
+i jkl
+mn o q
+rs t
+uv</div>
+<div id="control">urmiea
+vsn&nbsp;&nbsp;x
+&nbsp;&nbsp;&nbsp;jf
+&nbsp;tokgc
+&nbsp;&nbsp;&nbsp;l d
+&nbsp;&nbsp;q h</div>
+</body>
+</html>
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/writing-mode-vertical-rl-003-ref.htm
@@ -0,0 +1,78 @@
+<!DOCTYPE html>
+<html>
+<head>
+    <title>CSS Reftest Reference</title>
+    <link rel="author" title="KISAKA Toshihiro" href="mailto:toshihiro@kisaka.jp">
+    <meta name="flags" content="ahem">
+<style type="text/css">
+@font-face {
+  font-family: Ahem;
+  src: url("../../../fonts/Ahem.ttf");
+}
+</style>
+    <style type="text/css">
+        div {
+            writing-mode: vertical-rl;
+        }
+
+        div p {
+            background: yellow;
+            color: blue;
+            font: 20px/1 Ahem;
+            height: 6em;
+            margin: 10px;
+            white-space: pre;
+            width: 6em;
+        }
+
+        div p:nth-child(2) {
+            background: pink;
+        }
+    </style>
+</head>
+<body>
+    <p>Upper three blocks are identical to the lower three blocks including each character positions.</p>
+
+    <div>
+        <p>ab cd
+e fg h
+i jkl
+mn
+o q rs
+t uv</p>
+        <p> h  s
+d l r
+cgk  v
+ fj qu
+b  n
+aeimot</p>
+        <p>ab cd
+e fg h
+i jkl
+mn
+o q rs
+t uv</p>
+    </div>
+
+    <div>
+        <p>ab cd
+e fg h
+i jkl
+mn
+o q rs
+t uv</p>
+        <p> h  s
+d l r
+cgk  v
+ fj qu
+b  n
+aeimot</p>
+        <p>ab cd
+e fg h
+i jkl
+mn
+o q rs
+t uv</p>
+    </div>
+</body>
+</html>
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css-writing-modes-3/writing-mode-vertical-rl-003.htm
@@ -0,0 +1,88 @@
+<!DOCTYPE html>
+<html>
+<head>
+    <title>CSS Writing Modes Test: writing-mode: horizontal-tb nested in vertical-rl</title>
+    <link rel="author" title="KISAKA Toshihiro" href="mailto:toshihiro@kisaka.jp">
+    <!-- You must have at least one spec link, but may have as many as are covered in the test. -->
+    <!-- Be sure to make the main testing area first in the order -->
+    <link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#writing-mode">
+    <!-- The match link is only required if this is a reftest -->
+    <link rel="match" href="writing-mode-vertical-rl-003-ref.htm">
+    <meta name="flags" content="ahem">
+    <meta name="assert" content="when child block has its own writing-mode, child block's writing-mode overwrites parent block's writing-mode.">
+<style type="text/css">
+@font-face {
+  font-family: Ahem;
+  src: url("../../../fonts/Ahem.ttf");
+}
+</style>
+    <style type="text/css">
+        div {
+            writing-mode: vertical-rl;
+        }
+
+        div p {
+            background: yellow;
+            color: blue;
+            font: 20px/1 Ahem;
+            height: 6em;
+            margin: 10px;
+            white-space: pre;
+            width: 6em;
+        }
+
+        div p:nth-child(2) {
+            background: pink;
+        }
+
+        p#test {
+            writing-mode: horizontal-tb;
+        }
+    </style>
+</head>
+<body>
+    <p>Upper three blocks are identical to the lower three blocks including each character positions.</p>
+
+    <div>
+        <p>ab cd
+e fg h
+i jkl
+mn
+o q rs
+t uv</p>
+        <p id="test">ab cd
+e fg h
+i jkl
+mn
+o q rs
+t uv</p>
+        <p>ab cd
+e fg h
+i jkl
+mn
+o q rs
+t uv</p>
+    </div>
+
+    <div>
+        <p>ab cd
+e fg h
+i jkl
+mn
+o q rs
+t uv</p>
+        <p> h  s
+d l r
+cgk  v
+ fj qu
+b  n
+aeimot</p>
+        <p>ab cd
+e fg h
+i jkl
+mn
+o q rs
+t uv</p>
+    </div>
+</body>
+</html>
new file mode 100644
--- /dev/null
+++ b/layout/reftests/w3c-css/received/css21/reference/ref-filled-green-100px-square.xht
@@ -0,0 +1,19 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+ <head>
+  <title>CSS Reftest Reference</title>
+  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+  <style type="text/css"><![CDATA[
+  div
+  {
+  background-color: green;
+  height: 100px;
+  width: 100px;
+  }
+  ]]></style>
+ </head>
+ <body>
+  <p>Test passes if there is a filled green square and <strong>no red</strong>.</p>
+  <div></div>
+ </body>
+</html>