summaryrefslogtreecommitdiffstats
path: root/layout/reftests/css-enabled
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-19 00:47:55 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-19 00:47:55 +0000
commit26a029d407be480d791972afb5975cf62c9360a6 (patch)
treef435a8308119effd964b339f76abb83a57c29483 /layout/reftests/css-enabled
parentInitial commit. (diff)
downloadfirefox-26a029d407be480d791972afb5975cf62c9360a6.tar.xz
firefox-26a029d407be480d791972afb5975cf62c9360a6.zip
Adding upstream version 124.0.1.upstream/124.0.1
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'layout/reftests/css-enabled')
-rw-r--r--layout/reftests/css-enabled/button/button-fieldset-1.html11
-rw-r--r--layout/reftests/css-enabled/button/button-fieldset-2.html11
-rw-r--r--layout/reftests/css-enabled/button/button-fieldset-3.html20
-rw-r--r--layout/reftests/css-enabled/button/button-fieldset-4.html19
-rw-r--r--layout/reftests/css-enabled/button/button-fieldset-legend-1.html11
-rw-r--r--layout/reftests/css-enabled/button/button-fieldset-legend-2.html13
-rw-r--r--layout/reftests/css-enabled/button/button-fieldset-legend-3.html13
-rw-r--r--layout/reftests/css-enabled/button/button-fieldset-legend-4.html13
-rw-r--r--layout/reftests/css-enabled/button/button-fieldset-legend-5.html15
-rw-r--r--layout/reftests/css-enabled/button/button-fieldset-legend-ref-1.html11
-rw-r--r--layout/reftests/css-enabled/button/button-fieldset-legend-ref-2.html13
-rw-r--r--layout/reftests/css-enabled/button/button-fieldset-legend-ref-3.html13
-rw-r--r--layout/reftests/css-enabled/button/button-fieldset-legend-ref-4.html13
-rw-r--r--layout/reftests/css-enabled/button/button-fieldset-legend-ref-5.html15
-rw-r--r--layout/reftests/css-enabled/button/button-fieldset-ref.html11
-rw-r--r--layout/reftests/css-enabled/button/reftest.list9
-rw-r--r--layout/reftests/css-enabled/button/style.css19
-rw-r--r--layout/reftests/css-enabled/fieldset/fieldset-disabled.html7
-rw-r--r--layout/reftests/css-enabled/fieldset/fieldset-enabled.html7
-rw-r--r--layout/reftests/css-enabled/fieldset/fieldset-fieldset-1.html11
-rw-r--r--layout/reftests/css-enabled/fieldset/fieldset-fieldset-2.html11
-rw-r--r--layout/reftests/css-enabled/fieldset/fieldset-fieldset-3.html20
-rw-r--r--layout/reftests/css-enabled/fieldset/fieldset-fieldset-4.html19
-rw-r--r--layout/reftests/css-enabled/fieldset/fieldset-fieldset-ref.html11
-rw-r--r--layout/reftests/css-enabled/fieldset/fieldset-legend-1.html11
-rw-r--r--layout/reftests/css-enabled/fieldset/fieldset-legend-2.html13
-rw-r--r--layout/reftests/css-enabled/fieldset/fieldset-legend-3.html13
-rw-r--r--layout/reftests/css-enabled/fieldset/fieldset-legend-4.html13
-rw-r--r--layout/reftests/css-enabled/fieldset/fieldset-legend-5.html15
-rw-r--r--layout/reftests/css-enabled/fieldset/fieldset-legend-ref-1.html11
-rw-r--r--layout/reftests/css-enabled/fieldset/fieldset-legend-ref-2.html13
-rw-r--r--layout/reftests/css-enabled/fieldset/fieldset-legend-ref-3.html13
-rw-r--r--layout/reftests/css-enabled/fieldset/fieldset-legend-ref-4.html13
-rw-r--r--layout/reftests/css-enabled/fieldset/fieldset-legend-ref-5.html15
-rw-r--r--layout/reftests/css-enabled/fieldset/fieldset-ref.html7
-rw-r--r--layout/reftests/css-enabled/fieldset/reftest.list11
-rw-r--r--layout/reftests/css-enabled/fieldset/style.css16
-rw-r--r--layout/reftests/css-enabled/input/input-fieldset-1.html11
-rw-r--r--layout/reftests/css-enabled/input/input-fieldset-2.html11
-rw-r--r--layout/reftests/css-enabled/input/input-fieldset-3.html20
-rw-r--r--layout/reftests/css-enabled/input/input-fieldset-4.html19
-rw-r--r--layout/reftests/css-enabled/input/input-fieldset-legend-1.html11
-rw-r--r--layout/reftests/css-enabled/input/input-fieldset-legend-2.html13
-rw-r--r--layout/reftests/css-enabled/input/input-fieldset-legend-3.html13
-rw-r--r--layout/reftests/css-enabled/input/input-fieldset-legend-4.html13
-rw-r--r--layout/reftests/css-enabled/input/input-fieldset-legend-5.html15
-rw-r--r--layout/reftests/css-enabled/input/input-fieldset-legend-ref-1.html11
-rw-r--r--layout/reftests/css-enabled/input/input-fieldset-legend-ref-2.html13
-rw-r--r--layout/reftests/css-enabled/input/input-fieldset-legend-ref-3.html13
-rw-r--r--layout/reftests/css-enabled/input/input-fieldset-legend-ref-4.html13
-rw-r--r--layout/reftests/css-enabled/input/input-fieldset-legend-ref-5.html15
-rw-r--r--layout/reftests/css-enabled/input/input-fieldset-ref.html11
-rw-r--r--layout/reftests/css-enabled/input/reftest.list9
-rw-r--r--layout/reftests/css-enabled/input/style.css19
-rw-r--r--layout/reftests/css-enabled/label/label-ref.html7
-rw-r--r--layout/reftests/css-enabled/label/label.html7
-rw-r--r--layout/reftests/css-enabled/label/reftest.list1
-rw-r--r--layout/reftests/css-enabled/label/style.css12
-rw-r--r--layout/reftests/css-enabled/object/object-ref.html7
-rw-r--r--layout/reftests/css-enabled/object/object.html7
-rw-r--r--layout/reftests/css-enabled/object/reftest.list1
-rw-r--r--layout/reftests/css-enabled/object/style.css12
-rw-r--r--layout/reftests/css-enabled/optgroup/optgroup-fieldset-1.html9
-rw-r--r--layout/reftests/css-enabled/optgroup/optgroup-fieldset-ref.html9
-rw-r--r--layout/reftests/css-enabled/optgroup/reftest.list1
-rw-r--r--layout/reftests/css-enabled/optgroup/style.css19
-rw-r--r--layout/reftests/css-enabled/option/option-fieldset-1.html9
-rw-r--r--layout/reftests/css-enabled/option/option-fieldset-ref.html9
-rw-r--r--layout/reftests/css-enabled/option/reftest.list1
-rw-r--r--layout/reftests/css-enabled/option/style.css19
-rw-r--r--layout/reftests/css-enabled/output/output-ref.html7
-rw-r--r--layout/reftests/css-enabled/output/output.html7
-rw-r--r--layout/reftests/css-enabled/output/reftest.list1
-rw-r--r--layout/reftests/css-enabled/output/style.css12
-rw-r--r--layout/reftests/css-enabled/reftest.list10
-rw-r--r--layout/reftests/css-enabled/select/reftest.list9
-rw-r--r--layout/reftests/css-enabled/select/select-fieldset-1.html11
-rw-r--r--layout/reftests/css-enabled/select/select-fieldset-2.html11
-rw-r--r--layout/reftests/css-enabled/select/select-fieldset-3.html20
-rw-r--r--layout/reftests/css-enabled/select/select-fieldset-4.html19
-rw-r--r--layout/reftests/css-enabled/select/select-fieldset-legend-1.html11
-rw-r--r--layout/reftests/css-enabled/select/select-fieldset-legend-2.html13
-rw-r--r--layout/reftests/css-enabled/select/select-fieldset-legend-3.html13
-rw-r--r--layout/reftests/css-enabled/select/select-fieldset-legend-4.html13
-rw-r--r--layout/reftests/css-enabled/select/select-fieldset-legend-5.html15
-rw-r--r--layout/reftests/css-enabled/select/select-fieldset-legend-ref-1.html11
-rw-r--r--layout/reftests/css-enabled/select/select-fieldset-legend-ref-2.html13
-rw-r--r--layout/reftests/css-enabled/select/select-fieldset-legend-ref-3.html13
-rw-r--r--layout/reftests/css-enabled/select/select-fieldset-legend-ref-4.html13
-rw-r--r--layout/reftests/css-enabled/select/select-fieldset-legend-ref-5.html15
-rw-r--r--layout/reftests/css-enabled/select/select-fieldset-ref-disabled.html11
-rw-r--r--layout/reftests/css-enabled/select/select-fieldset-ref.html11
-rw-r--r--layout/reftests/css-enabled/select/style.css23
-rw-r--r--layout/reftests/css-enabled/textarea/reftest.list9
-rw-r--r--layout/reftests/css-enabled/textarea/style.css19
-rw-r--r--layout/reftests/css-enabled/textarea/textarea-fieldset-1.html11
-rw-r--r--layout/reftests/css-enabled/textarea/textarea-fieldset-2.html11
-rw-r--r--layout/reftests/css-enabled/textarea/textarea-fieldset-3.html20
-rw-r--r--layout/reftests/css-enabled/textarea/textarea-fieldset-4.html19
-rw-r--r--layout/reftests/css-enabled/textarea/textarea-fieldset-legend-1.html11
-rw-r--r--layout/reftests/css-enabled/textarea/textarea-fieldset-legend-2.html13
-rw-r--r--layout/reftests/css-enabled/textarea/textarea-fieldset-legend-3.html13
-rw-r--r--layout/reftests/css-enabled/textarea/textarea-fieldset-legend-4.html13
-rw-r--r--layout/reftests/css-enabled/textarea/textarea-fieldset-legend-5.html15
-rw-r--r--layout/reftests/css-enabled/textarea/textarea-fieldset-legend-ref-1.html11
-rw-r--r--layout/reftests/css-enabled/textarea/textarea-fieldset-legend-ref-2.html13
-rw-r--r--layout/reftests/css-enabled/textarea/textarea-fieldset-legend-ref-3.html13
-rw-r--r--layout/reftests/css-enabled/textarea/textarea-fieldset-legend-ref-4.html13
-rw-r--r--layout/reftests/css-enabled/textarea/textarea-fieldset-legend-ref-5.html15
-rw-r--r--layout/reftests/css-enabled/textarea/textarea-fieldset-ref.html11
110 files changed, 1352 insertions, 0 deletions
diff --git a/layout/reftests/css-enabled/button/button-fieldset-1.html b/layout/reftests/css-enabled/button/button-fieldset-1.html
new file mode 100644
index 0000000000..56c6c2812b
--- /dev/null
+++ b/layout/reftests/css-enabled/button/button-fieldset-1.html
@@ -0,0 +1,11 @@
+<!DOCTYPE html>
+<html>
+ <link rel='stylesheet' type='text/css' href='style.css'>
+ <body>
+ <fieldset class="enabled">
+ <fieldset class="enabled">
+ <button class="enabled"></button>
+ </fieldset>
+ </fieldset>
+ </body>
+</html>
diff --git a/layout/reftests/css-enabled/button/button-fieldset-2.html b/layout/reftests/css-enabled/button/button-fieldset-2.html
new file mode 100644
index 0000000000..e8fff16732
--- /dev/null
+++ b/layout/reftests/css-enabled/button/button-fieldset-2.html
@@ -0,0 +1,11 @@
+<!DOCTYPE html>
+<html>
+ <link rel='stylesheet' type='text/css' href='style.css'>
+ <body>
+ <fieldset disabled class="disabled">
+ <fieldset class="disabled">
+ <button class="disabled"></button>
+ </fieldset>
+ </fieldset>
+ </body>
+</html>
diff --git a/layout/reftests/css-enabled/button/button-fieldset-3.html b/layout/reftests/css-enabled/button/button-fieldset-3.html
new file mode 100644
index 0000000000..002881d84c
--- /dev/null
+++ b/layout/reftests/css-enabled/button/button-fieldset-3.html
@@ -0,0 +1,20 @@
+<!DOCTYPE html>
+<html class="reftest-wait">
+ <link rel='stylesheet' type='text/css' href='style.css'>
+ <script>
+ function onloadHandler()
+ {
+ var fieldsets = document.getElementsByTagName('fieldset');
+ fieldsets[1].disabled = true;
+ fieldsets[0].disabled = false;
+ document.documentElement.className='';
+ }
+ </script>
+ <body onload="onloadHandler();">
+ <fieldset disabled class="enabled">
+ <fieldset class="disabled">
+ <button class="disabled"></button>
+ </fieldset>
+ </fieldset>
+ </body>
+</html>
diff --git a/layout/reftests/css-enabled/button/button-fieldset-4.html b/layout/reftests/css-enabled/button/button-fieldset-4.html
new file mode 100644
index 0000000000..ed82a0479b
--- /dev/null
+++ b/layout/reftests/css-enabled/button/button-fieldset-4.html
@@ -0,0 +1,19 @@
+<!DOCTYPE html>
+<html class="reftest-wait">
+ <link rel='stylesheet' type='text/css' href='style.css'>
+ <script>
+ function onloadHandler()
+ {
+ var fieldsets = document.getElementsByTagName('fieldset');
+ fieldsets[0].disabled = false;
+ document.documentElement.className='';
+ }
+ </script>
+ <body onload="onloadHandler();">
+ <fieldset disabled class="enabled">
+ <fieldset class="enabled">
+ <button class="enabled"></button>
+ </fieldset>
+ </fieldset>
+ </body>
+</html>
diff --git a/layout/reftests/css-enabled/button/button-fieldset-legend-1.html b/layout/reftests/css-enabled/button/button-fieldset-legend-1.html
new file mode 100644
index 0000000000..3e9e510eca
--- /dev/null
+++ b/layout/reftests/css-enabled/button/button-fieldset-legend-1.html
@@ -0,0 +1,11 @@
+<!DOCTYPE html>
+<html>
+ <link rel='stylesheet' type='text/css' href='style.css'>
+ <body>
+ <fieldset class="disabled" disabled>
+ <legend id='i'>
+ <button class="enabled"></button>
+ </legend>
+ </fieldset>
+ </body>
+</html>
diff --git a/layout/reftests/css-enabled/button/button-fieldset-legend-2.html b/layout/reftests/css-enabled/button/button-fieldset-legend-2.html
new file mode 100644
index 0000000000..b7fe250fa0
--- /dev/null
+++ b/layout/reftests/css-enabled/button/button-fieldset-legend-2.html
@@ -0,0 +1,13 @@
+<!DOCTYPE html>
+<html>
+ <link rel='stylesheet' type='text/css' href='style.css'>
+ <body>
+ <fieldset class="disabled" disabled>
+ <legend>
+ </legend>
+ <legend>
+ <button class="disabled"></button>
+ </legend>
+ </fieldset>
+ </body>
+</html>
diff --git a/layout/reftests/css-enabled/button/button-fieldset-legend-3.html b/layout/reftests/css-enabled/button/button-fieldset-legend-3.html
new file mode 100644
index 0000000000..f9127b8d5e
--- /dev/null
+++ b/layout/reftests/css-enabled/button/button-fieldset-legend-3.html
@@ -0,0 +1,13 @@
+<!DOCTYPE html>
+<html>
+ <link rel='stylesheet' type='text/css' href='style.css'>
+ <body>
+ <fieldset class="disabled" disabled>
+ <fieldset class="disabled">
+ <legend>
+ <button class="disabled"></button>
+ </legend>
+ </fieldset>
+ </fieldset>
+ </body>
+</html>
diff --git a/layout/reftests/css-enabled/button/button-fieldset-legend-4.html b/layout/reftests/css-enabled/button/button-fieldset-legend-4.html
new file mode 100644
index 0000000000..1e8840ded3
--- /dev/null
+++ b/layout/reftests/css-enabled/button/button-fieldset-legend-4.html
@@ -0,0 +1,13 @@
+<!DOCTYPE html>
+<html>
+ <link rel='stylesheet' type='text/css' href='style.css'>
+ <body>
+ <fieldset class="disabled" disabled>
+ <legend>
+ <fieldset class="enabled">
+ <button class="enabled"></button>
+ </fieldset>
+ </legend>
+ </fieldset>
+ </body>
+</html>
diff --git a/layout/reftests/css-enabled/button/button-fieldset-legend-5.html b/layout/reftests/css-enabled/button/button-fieldset-legend-5.html
new file mode 100644
index 0000000000..29b7a40d66
--- /dev/null
+++ b/layout/reftests/css-enabled/button/button-fieldset-legend-5.html
@@ -0,0 +1,15 @@
+<!DOCTYPE html>
+<html>
+ <link rel='stylesheet' type='text/css' href='style.css'>
+ <body>
+ <fieldset class="disabled" disabled>
+ <legend>
+ <fieldset class="disabled" disabled>
+ <legend>
+ <button class="enabled"></button>
+ </legend>
+ </fieldset>
+ </legend>
+ </fieldset>
+ </body>
+</html>
diff --git a/layout/reftests/css-enabled/button/button-fieldset-legend-ref-1.html b/layout/reftests/css-enabled/button/button-fieldset-legend-ref-1.html
new file mode 100644
index 0000000000..69c8ff5f2b
--- /dev/null
+++ b/layout/reftests/css-enabled/button/button-fieldset-legend-ref-1.html
@@ -0,0 +1,11 @@
+<!DOCTYPE html>
+<html>
+ <link rel='stylesheet' type='text/css' href='style.css'>
+ <body>
+ <fieldset class="ref">
+ <legend>
+ <button class="ref"></button>
+ </legend>
+ </fieldset>
+ </body>
+</html>
diff --git a/layout/reftests/css-enabled/button/button-fieldset-legend-ref-2.html b/layout/reftests/css-enabled/button/button-fieldset-legend-ref-2.html
new file mode 100644
index 0000000000..62dec99da6
--- /dev/null
+++ b/layout/reftests/css-enabled/button/button-fieldset-legend-ref-2.html
@@ -0,0 +1,13 @@
+<!DOCTYPE html>
+<html>
+ <link rel='stylesheet' type='text/css' href='style.css'>
+ <body>
+ <fieldset class="ref">
+ <legend>
+ </legend>
+ <legend>
+ <button class="ref"></button>
+ </legend>
+ </fieldset>
+ </body>
+</html>
diff --git a/layout/reftests/css-enabled/button/button-fieldset-legend-ref-3.html b/layout/reftests/css-enabled/button/button-fieldset-legend-ref-3.html
new file mode 100644
index 0000000000..8807601e09
--- /dev/null
+++ b/layout/reftests/css-enabled/button/button-fieldset-legend-ref-3.html
@@ -0,0 +1,13 @@
+<!DOCTYPE html>
+<html>
+ <link rel='stylesheet' type='text/css' href='style.css'>
+ <body>
+ <fieldset class="ref">
+ <fieldset class="ref">
+ <legend>
+ <button class="ref"></button>
+ </legend>
+ </fieldset>
+ </fieldset>
+ </body>
+</html>
diff --git a/layout/reftests/css-enabled/button/button-fieldset-legend-ref-4.html b/layout/reftests/css-enabled/button/button-fieldset-legend-ref-4.html
new file mode 100644
index 0000000000..df92d4480a
--- /dev/null
+++ b/layout/reftests/css-enabled/button/button-fieldset-legend-ref-4.html
@@ -0,0 +1,13 @@
+<!DOCTYPE html>
+<html>
+ <link rel='stylesheet' type='text/css' href='style.css'>
+ <body>
+ <fieldset class="ref">
+ <legend>
+ <fieldset class="ref">
+ <button class="ref"></button>
+ </fieldset>
+ </legend>
+ </fieldset>
+ </body>
+</html>
diff --git a/layout/reftests/css-enabled/button/button-fieldset-legend-ref-5.html b/layout/reftests/css-enabled/button/button-fieldset-legend-ref-5.html
new file mode 100644
index 0000000000..7520a19bff
--- /dev/null
+++ b/layout/reftests/css-enabled/button/button-fieldset-legend-ref-5.html
@@ -0,0 +1,15 @@
+<!DOCTYPE html>
+<html>
+ <link rel='stylesheet' type='text/css' href='style.css'>
+ <body>
+ <fieldset class="ref">
+ <legend>
+ <fieldset class="ref">
+ <legend>
+ <button class="ref"></button>
+ </legend>
+ </fieldset>
+ </legend>
+ </fieldset>
+ </body>
+</html>
diff --git a/layout/reftests/css-enabled/button/button-fieldset-ref.html b/layout/reftests/css-enabled/button/button-fieldset-ref.html
new file mode 100644
index 0000000000..7941c7ddee
--- /dev/null
+++ b/layout/reftests/css-enabled/button/button-fieldset-ref.html
@@ -0,0 +1,11 @@
+<!DOCTYPE html>
+<html>
+ <link rel='stylesheet' type='text/css' href='style.css'>
+ <body>
+ <fieldset class="ref">
+ <fieldset class="ref">
+ <button class="ref"></button>
+ </fieldset>
+ </fieldset>
+ </body>
+</html>
diff --git a/layout/reftests/css-enabled/button/reftest.list b/layout/reftests/css-enabled/button/reftest.list
new file mode 100644
index 0000000000..a28f72739a
--- /dev/null
+++ b/layout/reftests/css-enabled/button/reftest.list
@@ -0,0 +1,9 @@
+fuzzy(0-1,0-3) == button-fieldset-1.html button-fieldset-ref.html
+== button-fieldset-2.html button-fieldset-ref.html
+fuzzy(0-1,0-7) == button-fieldset-3.html button-fieldset-ref.html
+fuzzy(0-1,0-7) == button-fieldset-4.html button-fieldset-ref.html
+== button-fieldset-legend-1.html button-fieldset-legend-ref-1.html
+fuzzy(0-2,0-4) == button-fieldset-legend-2.html button-fieldset-legend-ref-2.html
+fuzzy(0-1,0-3) == button-fieldset-legend-3.html button-fieldset-legend-ref-3.html
+fuzzy(0-2,0-9) == button-fieldset-legend-4.html button-fieldset-legend-ref-4.html
+fuzzy(0-2,0-5) == button-fieldset-legend-5.html button-fieldset-legend-ref-5.html
diff --git a/layout/reftests/css-enabled/button/style.css b/layout/reftests/css-enabled/button/style.css
new file mode 100644
index 0000000000..3846239d0d
--- /dev/null
+++ b/layout/reftests/css-enabled/button/style.css
@@ -0,0 +1,19 @@
+.ref {
+ background-color: green;
+}
+
+.enabled {
+ background-color: red;
+}
+
+:enabled.enabled {
+ background-color: green;
+}
+
+.disabled {
+ background-color: green;
+}
+
+:enabled.disabled {
+ background-color: red;
+}
diff --git a/layout/reftests/css-enabled/fieldset/fieldset-disabled.html b/layout/reftests/css-enabled/fieldset/fieldset-disabled.html
new file mode 100644
index 0000000000..6cd4fbfead
--- /dev/null
+++ b/layout/reftests/css-enabled/fieldset/fieldset-disabled.html
@@ -0,0 +1,7 @@
+<!DOCTYPE html>
+<html>
+ <link rel='stylesheet' type='text/css' href='style.css'>
+ <body>
+ <fieldset class="disabled" disabled></fieldset>
+ </body>
+</html>
diff --git a/layout/reftests/css-enabled/fieldset/fieldset-enabled.html b/layout/reftests/css-enabled/fieldset/fieldset-enabled.html
new file mode 100644
index 0000000000..32915278e4
--- /dev/null
+++ b/layout/reftests/css-enabled/fieldset/fieldset-enabled.html
@@ -0,0 +1,7 @@
+<!DOCTYPE html>
+<html>
+ <link rel='stylesheet' type='text/css' href='style.css'>
+ <body>
+ <fieldset class="enabled"></fieldset>
+ </body>
+</html>
diff --git a/layout/reftests/css-enabled/fieldset/fieldset-fieldset-1.html b/layout/reftests/css-enabled/fieldset/fieldset-fieldset-1.html
new file mode 100644
index 0000000000..9b1ae9f11d
--- /dev/null
+++ b/layout/reftests/css-enabled/fieldset/fieldset-fieldset-1.html
@@ -0,0 +1,11 @@
+<!DOCTYPE html>
+<html>
+ <link rel='stylesheet' type='text/css' href='style.css'>
+ <body>
+ <fieldset class="enabled">
+ <fieldset class="enabled">
+ <fieldset class="enabled"></fieldset>
+ </fieldset>
+ </fieldset>
+ </body>
+</html>
diff --git a/layout/reftests/css-enabled/fieldset/fieldset-fieldset-2.html b/layout/reftests/css-enabled/fieldset/fieldset-fieldset-2.html
new file mode 100644
index 0000000000..01176a31e7
--- /dev/null
+++ b/layout/reftests/css-enabled/fieldset/fieldset-fieldset-2.html
@@ -0,0 +1,11 @@
+<!DOCTYPE html>
+<html>
+ <link rel='stylesheet' type='text/css' href='style.css'>
+ <body>
+ <fieldset disabled class="disabled">
+ <fieldset class="disabled">
+ <fieldset class="disabled"></fieldset>
+ </fieldset>
+ </fieldset>
+ </body>
+</html>
diff --git a/layout/reftests/css-enabled/fieldset/fieldset-fieldset-3.html b/layout/reftests/css-enabled/fieldset/fieldset-fieldset-3.html
new file mode 100644
index 0000000000..4c09335469
--- /dev/null
+++ b/layout/reftests/css-enabled/fieldset/fieldset-fieldset-3.html
@@ -0,0 +1,20 @@
+<!DOCTYPE html>
+<html class="reftest-wait">
+ <link rel='stylesheet' type='text/css' href='style.css'>
+ <script>
+ function onloadHandler()
+ {
+ var fieldsets = document.getElementsByTagName('fieldset');
+ fieldsets[1].disabled = true;
+ fieldsets[0].disabled = false;
+ document.documentElement.className='';
+ }
+ </script>
+ <body onload="onloadHandler();">
+ <fieldset disabled class="enabled">
+ <fieldset class="disabled">
+ <fieldset class="disabled"></fieldset>
+ </fieldset>
+ </fieldset>
+ </body>
+</html>
diff --git a/layout/reftests/css-enabled/fieldset/fieldset-fieldset-4.html b/layout/reftests/css-enabled/fieldset/fieldset-fieldset-4.html
new file mode 100644
index 0000000000..e655812965
--- /dev/null
+++ b/layout/reftests/css-enabled/fieldset/fieldset-fieldset-4.html
@@ -0,0 +1,19 @@
+<!DOCTYPE html>
+<html class="reftest-wait">
+ <link rel='stylesheet' type='text/css' href='style.css'>
+ <script>
+ function onloadHandler()
+ {
+ var fieldsets = document.getElementsByTagName('fieldset');
+ fieldsets[0].disabled = false;
+ document.documentElement.className='';
+ }
+ </script>
+ <body onload="onloadHandler();">
+ <fieldset disabled class="enabled">
+ <fieldset class="enabled">
+ <fieldset class="enabled"></fieldset>
+ </fieldset>
+ </fieldset>
+ </body>
+</html>
diff --git a/layout/reftests/css-enabled/fieldset/fieldset-fieldset-ref.html b/layout/reftests/css-enabled/fieldset/fieldset-fieldset-ref.html
new file mode 100644
index 0000000000..ade7fc477c
--- /dev/null
+++ b/layout/reftests/css-enabled/fieldset/fieldset-fieldset-ref.html
@@ -0,0 +1,11 @@
+<!DOCTYPE html>
+<html>
+ <link rel='stylesheet' type='text/css' href='style.css'>
+ <body>
+ <fieldset class="ref">
+ <fieldset class="ref">
+ <fieldset class="ref"></fieldset>
+ </fieldset>
+ </fieldset>
+ </body>
+</html>
diff --git a/layout/reftests/css-enabled/fieldset/fieldset-legend-1.html b/layout/reftests/css-enabled/fieldset/fieldset-legend-1.html
new file mode 100644
index 0000000000..04781eb604
--- /dev/null
+++ b/layout/reftests/css-enabled/fieldset/fieldset-legend-1.html
@@ -0,0 +1,11 @@
+<!DOCTYPE html>
+<html>
+ <link rel='stylesheet' type='text/css' href='style.css'>
+ <body>
+ <fieldset class="disabled" disabled>
+ <legend id='i'>
+ <fieldset class="enabled"></fieldset>
+ </legend>
+ </fieldset>
+ </body>
+</html>
diff --git a/layout/reftests/css-enabled/fieldset/fieldset-legend-2.html b/layout/reftests/css-enabled/fieldset/fieldset-legend-2.html
new file mode 100644
index 0000000000..e201ee1664
--- /dev/null
+++ b/layout/reftests/css-enabled/fieldset/fieldset-legend-2.html
@@ -0,0 +1,13 @@
+<!DOCTYPE html>
+<html>
+ <link rel='stylesheet' type='text/css' href='style.css'>
+ <body>
+ <fieldset class="disabled" disabled>
+ <legend>
+ </legend>
+ <legend>
+ <fieldset class="disabled"></fieldset>
+ </legend>
+ </fieldset>
+ </body>
+</html>
diff --git a/layout/reftests/css-enabled/fieldset/fieldset-legend-3.html b/layout/reftests/css-enabled/fieldset/fieldset-legend-3.html
new file mode 100644
index 0000000000..d9ca78dc31
--- /dev/null
+++ b/layout/reftests/css-enabled/fieldset/fieldset-legend-3.html
@@ -0,0 +1,13 @@
+<!DOCTYPE html>
+<html>
+ <link rel='stylesheet' type='text/css' href='style.css'>
+ <body>
+ <fieldset class="disabled" disabled>
+ <fieldset class="disabled">
+ <legend>
+ <fieldset class="disabled"></fieldset>
+ </legend>
+ </fieldset>
+ </fieldset>
+ </body>
+</html>
diff --git a/layout/reftests/css-enabled/fieldset/fieldset-legend-4.html b/layout/reftests/css-enabled/fieldset/fieldset-legend-4.html
new file mode 100644
index 0000000000..67c728ef19
--- /dev/null
+++ b/layout/reftests/css-enabled/fieldset/fieldset-legend-4.html
@@ -0,0 +1,13 @@
+<!DOCTYPE html>
+<html>
+ <link rel='stylesheet' type='text/css' href='style.css'>
+ <body>
+ <fieldset class="disabled" disabled>
+ <legend>
+ <fieldset class="enabled">
+ <fieldset class="enabled"></fieldset>
+ </fieldset>
+ </legend>
+ </fieldset>
+ </body>
+</html>
diff --git a/layout/reftests/css-enabled/fieldset/fieldset-legend-5.html b/layout/reftests/css-enabled/fieldset/fieldset-legend-5.html
new file mode 100644
index 0000000000..c3f82ae2a4
--- /dev/null
+++ b/layout/reftests/css-enabled/fieldset/fieldset-legend-5.html
@@ -0,0 +1,15 @@
+<!DOCTYPE html>
+<html>
+ <link rel='stylesheet' type='text/css' href='style.css'>
+ <body>
+ <fieldset class="disabled" disabled>
+ <legend>
+ <fieldset class="disabled" disabled>
+ <legend>
+ <fieldset class="enabled"></fieldset>
+ </legend>
+ </fieldset>
+ </legend>
+ </fieldset>
+ </body>
+</html>
diff --git a/layout/reftests/css-enabled/fieldset/fieldset-legend-ref-1.html b/layout/reftests/css-enabled/fieldset/fieldset-legend-ref-1.html
new file mode 100644
index 0000000000..83f1925ad7
--- /dev/null
+++ b/layout/reftests/css-enabled/fieldset/fieldset-legend-ref-1.html
@@ -0,0 +1,11 @@
+<!DOCTYPE html>
+<html>
+ <link rel='stylesheet' type='text/css' href='style.css'>
+ <body>
+ <fieldset class="ref">
+ <legend>
+ <fieldset class="ref"></fieldset>
+ </legend>
+ </fieldset>
+ </body>
+</html>
diff --git a/layout/reftests/css-enabled/fieldset/fieldset-legend-ref-2.html b/layout/reftests/css-enabled/fieldset/fieldset-legend-ref-2.html
new file mode 100644
index 0000000000..33fe2455cd
--- /dev/null
+++ b/layout/reftests/css-enabled/fieldset/fieldset-legend-ref-2.html
@@ -0,0 +1,13 @@
+<!DOCTYPE html>
+<html>
+ <link rel='stylesheet' type='text/css' href='style.css'>
+ <body>
+ <fieldset class="ref">
+ <legend>
+ </legend>
+ <legend>
+ <fieldset class="ref"></fieldset>
+ </legend>
+ </fieldset>
+ </body>
+</html>
diff --git a/layout/reftests/css-enabled/fieldset/fieldset-legend-ref-3.html b/layout/reftests/css-enabled/fieldset/fieldset-legend-ref-3.html
new file mode 100644
index 0000000000..7aaff27f19
--- /dev/null
+++ b/layout/reftests/css-enabled/fieldset/fieldset-legend-ref-3.html
@@ -0,0 +1,13 @@
+<!DOCTYPE html>
+<html>
+ <link rel='stylesheet' type='text/css' href='style.css'>
+ <body>
+ <fieldset class="ref">
+ <fieldset class="ref">
+ <legend>
+ <fieldset class="ref"></fieldset>
+ </legend>
+ </fieldset>
+ </fieldset>
+ </body>
+</html>
diff --git a/layout/reftests/css-enabled/fieldset/fieldset-legend-ref-4.html b/layout/reftests/css-enabled/fieldset/fieldset-legend-ref-4.html
new file mode 100644
index 0000000000..9f1a267a6a
--- /dev/null
+++ b/layout/reftests/css-enabled/fieldset/fieldset-legend-ref-4.html
@@ -0,0 +1,13 @@
+<!DOCTYPE html>
+<html>
+ <link rel='stylesheet' type='text/css' href='style.css'>
+ <body>
+ <fieldset class="ref">
+ <legend>
+ <fieldset class="ref">
+ <fieldset class="ref"></fieldset>
+ </fieldset>
+ </legend>
+ </fieldset>
+ </body>
+</html>
diff --git a/layout/reftests/css-enabled/fieldset/fieldset-legend-ref-5.html b/layout/reftests/css-enabled/fieldset/fieldset-legend-ref-5.html
new file mode 100644
index 0000000000..00df3f8348
--- /dev/null
+++ b/layout/reftests/css-enabled/fieldset/fieldset-legend-ref-5.html
@@ -0,0 +1,15 @@
+<!DOCTYPE html>
+<html>
+ <link rel='stylesheet' type='text/css' href='style.css'>
+ <body>
+ <fieldset class="ref">
+ <legend>
+ <fieldset class="ref">
+ <legend>
+ <fieldset class="ref"></fieldset>
+ </legend>
+ </fieldset>
+ </legend>
+ </fieldset>
+ </body>
+</html>
diff --git a/layout/reftests/css-enabled/fieldset/fieldset-ref.html b/layout/reftests/css-enabled/fieldset/fieldset-ref.html
new file mode 100644
index 0000000000..7f66bc698f
--- /dev/null
+++ b/layout/reftests/css-enabled/fieldset/fieldset-ref.html
@@ -0,0 +1,7 @@
+<!DOCTYPE html>
+<html>
+ <link rel='stylesheet' type='text/css' href='style.css'>
+ <body>
+ <fieldset class='ref'></fieldset>
+ </body>
+</html>
diff --git a/layout/reftests/css-enabled/fieldset/reftest.list b/layout/reftests/css-enabled/fieldset/reftest.list
new file mode 100644
index 0000000000..c5b92e083b
--- /dev/null
+++ b/layout/reftests/css-enabled/fieldset/reftest.list
@@ -0,0 +1,11 @@
+== fieldset-enabled.html fieldset-ref.html
+== fieldset-disabled.html fieldset-ref.html
+== fieldset-fieldset-1.html fieldset-fieldset-ref.html
+== fieldset-fieldset-2.html fieldset-fieldset-ref.html
+fuzzy(0-1,0-11) == fieldset-fieldset-3.html fieldset-fieldset-ref.html
+fuzzy(0-1,0-11) == fieldset-fieldset-4.html fieldset-fieldset-ref.html
+== fieldset-legend-1.html fieldset-legend-ref-1.html
+fuzzy(0-1,0-2) == fieldset-legend-2.html fieldset-legend-ref-2.html
+fuzzy(0-2,0-5) == fieldset-legend-3.html fieldset-legend-ref-3.html
+fuzzy(0-2,0-9) == fieldset-legend-4.html fieldset-legend-ref-4.html
+fuzzy(0-2,0-5) == fieldset-legend-5.html fieldset-legend-ref-5.html
diff --git a/layout/reftests/css-enabled/fieldset/style.css b/layout/reftests/css-enabled/fieldset/style.css
new file mode 100644
index 0000000000..7b804aa6f1
--- /dev/null
+++ b/layout/reftests/css-enabled/fieldset/style.css
@@ -0,0 +1,16 @@
+fieldset.enabled {
+ background-color: red;
+}
+
+fieldset:enabled.enabled,
+fieldset.ref {
+ background-color: green;
+}
+
+fieldset.disabled {
+ background-color: green;
+}
+
+fieldset:enabled.disabled {
+ background-color: red;
+}
diff --git a/layout/reftests/css-enabled/input/input-fieldset-1.html b/layout/reftests/css-enabled/input/input-fieldset-1.html
new file mode 100644
index 0000000000..b50f3b0f1d
--- /dev/null
+++ b/layout/reftests/css-enabled/input/input-fieldset-1.html
@@ -0,0 +1,11 @@
+<!DOCTYPE html>
+<html>
+ <link rel='stylesheet' type='text/css' href='style.css'>
+ <body>
+ <fieldset class="enabled">
+ <fieldset class="enabled">
+ <input class="enabled">
+ </fieldset>
+ </fieldset>
+ </body>
+</html>
diff --git a/layout/reftests/css-enabled/input/input-fieldset-2.html b/layout/reftests/css-enabled/input/input-fieldset-2.html
new file mode 100644
index 0000000000..acfbbca5f4
--- /dev/null
+++ b/layout/reftests/css-enabled/input/input-fieldset-2.html
@@ -0,0 +1,11 @@
+<!DOCTYPE html>
+<html>
+ <link rel='stylesheet' type='text/css' href='style.css'>
+ <body>
+ <fieldset disabled class="disabled">
+ <fieldset class="disabled">
+ <input class="disabled">
+ </fieldset>
+ </fieldset>
+ </body>
+</html>
diff --git a/layout/reftests/css-enabled/input/input-fieldset-3.html b/layout/reftests/css-enabled/input/input-fieldset-3.html
new file mode 100644
index 0000000000..de095cee6e
--- /dev/null
+++ b/layout/reftests/css-enabled/input/input-fieldset-3.html
@@ -0,0 +1,20 @@
+<!DOCTYPE html>
+<html class="reftest-wait">
+ <link rel='stylesheet' type='text/css' href='style.css'>
+ <script>
+ function onloadHandler()
+ {
+ var fieldsets = document.getElementsByTagName('fieldset');
+ fieldsets[1].disabled = true;
+ fieldsets[0].disabled = false;
+ document.documentElement.className='';
+ }
+ </script>
+ <body onload="onloadHandler();">
+ <fieldset disabled class="enabled">
+ <fieldset class="disabled">
+ <input class="disabled">
+ </fieldset>
+ </fieldset>
+ </body>
+</html>
diff --git a/layout/reftests/css-enabled/input/input-fieldset-4.html b/layout/reftests/css-enabled/input/input-fieldset-4.html
new file mode 100644
index 0000000000..fa0fe1ac7c
--- /dev/null
+++ b/layout/reftests/css-enabled/input/input-fieldset-4.html
@@ -0,0 +1,19 @@
+<!DOCTYPE html>
+<html class="reftest-wait">
+ <link rel='stylesheet' type='text/css' href='style.css'>
+ <script>
+ function onloadHandler()
+ {
+ var fieldsets = document.getElementsByTagName('fieldset');
+ fieldsets[0].disabled = false;
+ document.documentElement.className='';
+ }
+ </script>
+ <body onload="onloadHandler();">
+ <fieldset disabled class="enabled">
+ <fieldset class="enabled">
+ <input class="enabled">
+ </fieldset>
+ </fieldset>
+ </body>
+</html>
diff --git a/layout/reftests/css-enabled/input/input-fieldset-legend-1.html b/layout/reftests/css-enabled/input/input-fieldset-legend-1.html
new file mode 100644
index 0000000000..d56517ac7d
--- /dev/null
+++ b/layout/reftests/css-enabled/input/input-fieldset-legend-1.html
@@ -0,0 +1,11 @@
+<!DOCTYPE html>
+<html>
+ <link rel='stylesheet' type='text/css' href='style.css'>
+ <body>
+ <fieldset class="disabled" disabled>
+ <legend id='i'>
+ <input class="enabled">
+ </legend>
+ </fieldset>
+ </body>
+</html>
diff --git a/layout/reftests/css-enabled/input/input-fieldset-legend-2.html b/layout/reftests/css-enabled/input/input-fieldset-legend-2.html
new file mode 100644
index 0000000000..d564e14040
--- /dev/null
+++ b/layout/reftests/css-enabled/input/input-fieldset-legend-2.html
@@ -0,0 +1,13 @@
+<!DOCTYPE html>
+<html>
+ <link rel='stylesheet' type='text/css' href='style.css'>
+ <body>
+ <fieldset class="disabled" disabled>
+ <legend>
+ </legend>
+ <legend>
+ <input class="disabled">
+ </legend>
+ </fieldset>
+ </body>
+</html>
diff --git a/layout/reftests/css-enabled/input/input-fieldset-legend-3.html b/layout/reftests/css-enabled/input/input-fieldset-legend-3.html
new file mode 100644
index 0000000000..89c41119f5
--- /dev/null
+++ b/layout/reftests/css-enabled/input/input-fieldset-legend-3.html
@@ -0,0 +1,13 @@
+<!DOCTYPE html>
+<html>
+ <link rel='stylesheet' type='text/css' href='style.css'>
+ <body>
+ <fieldset class="disabled" disabled>
+ <fieldset class="disabled">
+ <legend>
+ <input class="disabled">
+ </legend>
+ </fieldset>
+ </fieldset>
+ </body>
+</html>
diff --git a/layout/reftests/css-enabled/input/input-fieldset-legend-4.html b/layout/reftests/css-enabled/input/input-fieldset-legend-4.html
new file mode 100644
index 0000000000..33eec83fef
--- /dev/null
+++ b/layout/reftests/css-enabled/input/input-fieldset-legend-4.html
@@ -0,0 +1,13 @@
+<!DOCTYPE html>
+<html>
+ <link rel='stylesheet' type='text/css' href='style.css'>
+ <body>
+ <fieldset class="disabled" disabled>
+ <legend>
+ <fieldset class="enabled">
+ <input class="enabled">
+ </fieldset>
+ </legend>
+ </fieldset>
+ </body>
+</html>
diff --git a/layout/reftests/css-enabled/input/input-fieldset-legend-5.html b/layout/reftests/css-enabled/input/input-fieldset-legend-5.html
new file mode 100644
index 0000000000..4226c9672b
--- /dev/null
+++ b/layout/reftests/css-enabled/input/input-fieldset-legend-5.html
@@ -0,0 +1,15 @@
+<!DOCTYPE html>
+<html>
+ <link rel='stylesheet' type='text/css' href='style.css'>
+ <body>
+ <fieldset class="disabled" disabled>
+ <legend>
+ <fieldset class="disabled" disabled>
+ <legend>
+ <input class="enabled">
+ </legend>
+ </fieldset>
+ </legend>
+ </fieldset>
+ </body>
+</html>
diff --git a/layout/reftests/css-enabled/input/input-fieldset-legend-ref-1.html b/layout/reftests/css-enabled/input/input-fieldset-legend-ref-1.html
new file mode 100644
index 0000000000..5511e567b1
--- /dev/null
+++ b/layout/reftests/css-enabled/input/input-fieldset-legend-ref-1.html
@@ -0,0 +1,11 @@
+<!DOCTYPE html>
+<html>
+ <link rel='stylesheet' type='text/css' href='style.css'>
+ <body>
+ <fieldset class="ref">
+ <legend>
+ <input class="ref">
+ </legend>
+ </fieldset>
+ </body>
+</html>
diff --git a/layout/reftests/css-enabled/input/input-fieldset-legend-ref-2.html b/layout/reftests/css-enabled/input/input-fieldset-legend-ref-2.html
new file mode 100644
index 0000000000..4d0658b642
--- /dev/null
+++ b/layout/reftests/css-enabled/input/input-fieldset-legend-ref-2.html
@@ -0,0 +1,13 @@
+<!DOCTYPE html>
+<html>
+ <link rel='stylesheet' type='text/css' href='style.css'>
+ <body>
+ <fieldset class="ref">
+ <legend>
+ </legend>
+ <legend>
+ <input class="ref">
+ </legend>
+ </fieldset>
+ </body>
+</html>
diff --git a/layout/reftests/css-enabled/input/input-fieldset-legend-ref-3.html b/layout/reftests/css-enabled/input/input-fieldset-legend-ref-3.html
new file mode 100644
index 0000000000..15fb4d9cee
--- /dev/null
+++ b/layout/reftests/css-enabled/input/input-fieldset-legend-ref-3.html
@@ -0,0 +1,13 @@
+<!DOCTYPE html>
+<html>
+ <link rel='stylesheet' type='text/css' href='style.css'>
+ <body>
+ <fieldset class="ref">
+ <fieldset class="ref">
+ <legend>
+ <input class="ref">
+ </legend>
+ </fieldset>
+ </fieldset>
+ </body>
+</html>
diff --git a/layout/reftests/css-enabled/input/input-fieldset-legend-ref-4.html b/layout/reftests/css-enabled/input/input-fieldset-legend-ref-4.html
new file mode 100644
index 0000000000..3fdd2b4ddb
--- /dev/null
+++ b/layout/reftests/css-enabled/input/input-fieldset-legend-ref-4.html
@@ -0,0 +1,13 @@
+<!DOCTYPE html>
+<html>
+ <link rel='stylesheet' type='text/css' href='style.css'>
+ <body>
+ <fieldset class="ref">
+ <legend>
+ <fieldset class="ref">
+ <input class="ref">
+ </fieldset>
+ </legend>
+ </fieldset>
+ </body>
+</html>
diff --git a/layout/reftests/css-enabled/input/input-fieldset-legend-ref-5.html b/layout/reftests/css-enabled/input/input-fieldset-legend-ref-5.html
new file mode 100644
index 0000000000..fc2c01f000
--- /dev/null
+++ b/layout/reftests/css-enabled/input/input-fieldset-legend-ref-5.html
@@ -0,0 +1,15 @@
+<!DOCTYPE html>
+<html>
+ <link rel='stylesheet' type='text/css' href='style.css'>
+ <body>
+ <fieldset class="ref">
+ <legend>
+ <fieldset class="ref">
+ <legend>
+ <input class="ref">
+ </legend>
+ </fieldset>
+ </legend>
+ </fieldset>
+ </body>
+</html>
diff --git a/layout/reftests/css-enabled/input/input-fieldset-ref.html b/layout/reftests/css-enabled/input/input-fieldset-ref.html
new file mode 100644
index 0000000000..0108ffc32a
--- /dev/null
+++ b/layout/reftests/css-enabled/input/input-fieldset-ref.html
@@ -0,0 +1,11 @@
+<!DOCTYPE html>
+<html>
+ <link rel='stylesheet' type='text/css' href='style.css'>
+ <body>
+ <fieldset class="ref">
+ <fieldset class="ref">
+ <input class="ref">
+ </fieldset>
+ </fieldset>
+ </body>
+</html>
diff --git a/layout/reftests/css-enabled/input/reftest.list b/layout/reftests/css-enabled/input/reftest.list
new file mode 100644
index 0000000000..4ed82a20e0
--- /dev/null
+++ b/layout/reftests/css-enabled/input/reftest.list
@@ -0,0 +1,9 @@
+== input-fieldset-1.html input-fieldset-ref.html
+== input-fieldset-2.html input-fieldset-ref.html
+fuzzy(0-1,0-7) == input-fieldset-3.html input-fieldset-ref.html
+fuzzy(0-1,0-7) == input-fieldset-4.html input-fieldset-ref.html
+== input-fieldset-legend-1.html input-fieldset-legend-ref-1.html
+fuzzy(0-2,0-4) == input-fieldset-legend-2.html input-fieldset-legend-ref-2.html
+fuzzy(0-2,0-5) == input-fieldset-legend-3.html input-fieldset-legend-ref-3.html
+fuzzy(0-2,0-9) == input-fieldset-legend-4.html input-fieldset-legend-ref-4.html
+fuzzy(0-2,0-5) == input-fieldset-legend-5.html input-fieldset-legend-ref-5.html
diff --git a/layout/reftests/css-enabled/input/style.css b/layout/reftests/css-enabled/input/style.css
new file mode 100644
index 0000000000..3846239d0d
--- /dev/null
+++ b/layout/reftests/css-enabled/input/style.css
@@ -0,0 +1,19 @@
+.ref {
+ background-color: green;
+}
+
+.enabled {
+ background-color: red;
+}
+
+:enabled.enabled {
+ background-color: green;
+}
+
+.disabled {
+ background-color: green;
+}
+
+:enabled.disabled {
+ background-color: red;
+}
diff --git a/layout/reftests/css-enabled/label/label-ref.html b/layout/reftests/css-enabled/label/label-ref.html
new file mode 100644
index 0000000000..0fb84bc0a8
--- /dev/null
+++ b/layout/reftests/css-enabled/label/label-ref.html
@@ -0,0 +1,7 @@
+<!DOCTYPE html>
+<html>
+ <link rel='stylesheet' type='text/css' href='style.css'>
+ <body>
+ <label class="ref">foo</label>
+ </body>
+</html>
diff --git a/layout/reftests/css-enabled/label/label.html b/layout/reftests/css-enabled/label/label.html
new file mode 100644
index 0000000000..7c41405fd0
--- /dev/null
+++ b/layout/reftests/css-enabled/label/label.html
@@ -0,0 +1,7 @@
+<!DOCTYPE html>
+<html>
+ <link rel='stylesheet' type='text/css' href='style.css'>
+ <body>
+ <label>foo</label>
+ </body>
+</html>
diff --git a/layout/reftests/css-enabled/label/reftest.list b/layout/reftests/css-enabled/label/reftest.list
new file mode 100644
index 0000000000..31f85dd948
--- /dev/null
+++ b/layout/reftests/css-enabled/label/reftest.list
@@ -0,0 +1 @@
+== label.html label-ref.html
diff --git a/layout/reftests/css-enabled/label/style.css b/layout/reftests/css-enabled/label/style.css
new file mode 100644
index 0000000000..7f9529ec94
--- /dev/null
+++ b/layout/reftests/css-enabled/label/style.css
@@ -0,0 +1,12 @@
+label {
+ background-color: green;
+}
+
+label:enabled {
+ background-color: red;
+}
+
+/* ref should always be green! */
+.ref:enabled {
+ background-color: green;
+}
diff --git a/layout/reftests/css-enabled/object/object-ref.html b/layout/reftests/css-enabled/object/object-ref.html
new file mode 100644
index 0000000000..10a4da84ab
--- /dev/null
+++ b/layout/reftests/css-enabled/object/object-ref.html
@@ -0,0 +1,7 @@
+<!DOCTYPE html>
+<html>
+ <link rel='stylesheet' type='text/css' href='style.css'>
+ <body>
+ <object class="ref">foo</object>
+ </body>
+</html>
diff --git a/layout/reftests/css-enabled/object/object.html b/layout/reftests/css-enabled/object/object.html
new file mode 100644
index 0000000000..799e0eb98c
--- /dev/null
+++ b/layout/reftests/css-enabled/object/object.html
@@ -0,0 +1,7 @@
+<!DOCTYPE html>
+<html>
+ <link rel='stylesheet' type='text/css' href='style.css'>
+ <body>
+ <object>foo</object>
+ </body>
+</html>
diff --git a/layout/reftests/css-enabled/object/reftest.list b/layout/reftests/css-enabled/object/reftest.list
new file mode 100644
index 0000000000..471500b977
--- /dev/null
+++ b/layout/reftests/css-enabled/object/reftest.list
@@ -0,0 +1 @@
+== object.html object-ref.html
diff --git a/layout/reftests/css-enabled/object/style.css b/layout/reftests/css-enabled/object/style.css
new file mode 100644
index 0000000000..fb18c7a966
--- /dev/null
+++ b/layout/reftests/css-enabled/object/style.css
@@ -0,0 +1,12 @@
+object {
+ background-color: green;
+}
+
+object:enabled {
+ background-color: red;
+}
+
+/* ref should always be green! */
+.ref:enabled {
+ background-color: green;
+}
diff --git a/layout/reftests/css-enabled/optgroup/optgroup-fieldset-1.html b/layout/reftests/css-enabled/optgroup/optgroup-fieldset-1.html
new file mode 100644
index 0000000000..0b7ee5a768
--- /dev/null
+++ b/layout/reftests/css-enabled/optgroup/optgroup-fieldset-1.html
@@ -0,0 +1,9 @@
+<!DOCTYPE html>
+<html>
+ <link rel='stylesheet' type='text/css' href='style.css'>
+ <body>
+ <fieldset disabled class="disabled">
+ <optgroup class="enabled">foo</optgroup>
+ </fieldset>
+ </body>
+</html>
diff --git a/layout/reftests/css-enabled/optgroup/optgroup-fieldset-ref.html b/layout/reftests/css-enabled/optgroup/optgroup-fieldset-ref.html
new file mode 100644
index 0000000000..c8fde1c2b5
--- /dev/null
+++ b/layout/reftests/css-enabled/optgroup/optgroup-fieldset-ref.html
@@ -0,0 +1,9 @@
+<!DOCTYPE html>
+<html>
+ <link rel='stylesheet' type='text/css' href='style.css'>
+ <body>
+ <fieldset class="ref">
+ <optgroup class="ref">foo</optgroup>
+ </fieldset>
+ </body>
+</html>
diff --git a/layout/reftests/css-enabled/optgroup/reftest.list b/layout/reftests/css-enabled/optgroup/reftest.list
new file mode 100644
index 0000000000..89601d319d
--- /dev/null
+++ b/layout/reftests/css-enabled/optgroup/reftest.list
@@ -0,0 +1 @@
+fuzzy(0-1,0-2) == optgroup-fieldset-1.html optgroup-fieldset-ref.html
diff --git a/layout/reftests/css-enabled/optgroup/style.css b/layout/reftests/css-enabled/optgroup/style.css
new file mode 100644
index 0000000000..3846239d0d
--- /dev/null
+++ b/layout/reftests/css-enabled/optgroup/style.css
@@ -0,0 +1,19 @@
+.ref {
+ background-color: green;
+}
+
+.enabled {
+ background-color: red;
+}
+
+:enabled.enabled {
+ background-color: green;
+}
+
+.disabled {
+ background-color: green;
+}
+
+:enabled.disabled {
+ background-color: red;
+}
diff --git a/layout/reftests/css-enabled/option/option-fieldset-1.html b/layout/reftests/css-enabled/option/option-fieldset-1.html
new file mode 100644
index 0000000000..c2d9b7a342
--- /dev/null
+++ b/layout/reftests/css-enabled/option/option-fieldset-1.html
@@ -0,0 +1,9 @@
+<!DOCTYPE html>
+<html>
+ <link rel='stylesheet' type='text/css' href='style.css'>
+ <body>
+ <fieldset disabled class="disabled">
+ <option class="enabled">foo</option>
+ </fieldset>
+ </body>
+</html>
diff --git a/layout/reftests/css-enabled/option/option-fieldset-ref.html b/layout/reftests/css-enabled/option/option-fieldset-ref.html
new file mode 100644
index 0000000000..7d103ce8cb
--- /dev/null
+++ b/layout/reftests/css-enabled/option/option-fieldset-ref.html
@@ -0,0 +1,9 @@
+<!DOCTYPE html>
+<html>
+ <link rel='stylesheet' type='text/css' href='style.css'>
+ <body>
+ <fieldset class="ref">
+ <option class="ref">foo</option>
+ </fieldset>
+ </body>
+</html>
diff --git a/layout/reftests/css-enabled/option/reftest.list b/layout/reftests/css-enabled/option/reftest.list
new file mode 100644
index 0000000000..4a782d2f40
--- /dev/null
+++ b/layout/reftests/css-enabled/option/reftest.list
@@ -0,0 +1 @@
+== option-fieldset-1.html option-fieldset-ref.html
diff --git a/layout/reftests/css-enabled/option/style.css b/layout/reftests/css-enabled/option/style.css
new file mode 100644
index 0000000000..3846239d0d
--- /dev/null
+++ b/layout/reftests/css-enabled/option/style.css
@@ -0,0 +1,19 @@
+.ref {
+ background-color: green;
+}
+
+.enabled {
+ background-color: red;
+}
+
+:enabled.enabled {
+ background-color: green;
+}
+
+.disabled {
+ background-color: green;
+}
+
+:enabled.disabled {
+ background-color: red;
+}
diff --git a/layout/reftests/css-enabled/output/output-ref.html b/layout/reftests/css-enabled/output/output-ref.html
new file mode 100644
index 0000000000..cc4687f54e
--- /dev/null
+++ b/layout/reftests/css-enabled/output/output-ref.html
@@ -0,0 +1,7 @@
+<!DOCTYPE html>
+<html>
+ <link rel='stylesheet' type='text/css' href='style.css'>
+ <body>
+ <output class="ref">foo</output>
+ </body>
+</html>
diff --git a/layout/reftests/css-enabled/output/output.html b/layout/reftests/css-enabled/output/output.html
new file mode 100644
index 0000000000..c264159d4c
--- /dev/null
+++ b/layout/reftests/css-enabled/output/output.html
@@ -0,0 +1,7 @@
+<!DOCTYPE html>
+<html>
+ <link rel='stylesheet' type='text/css' href='style.css'>
+ <body>
+ <output>foo</output>
+ </body>
+</html>
diff --git a/layout/reftests/css-enabled/output/reftest.list b/layout/reftests/css-enabled/output/reftest.list
new file mode 100644
index 0000000000..0f02f9cf9f
--- /dev/null
+++ b/layout/reftests/css-enabled/output/reftest.list
@@ -0,0 +1 @@
+== output.html output-ref.html
diff --git a/layout/reftests/css-enabled/output/style.css b/layout/reftests/css-enabled/output/style.css
new file mode 100644
index 0000000000..ae740e20d4
--- /dev/null
+++ b/layout/reftests/css-enabled/output/style.css
@@ -0,0 +1,12 @@
+output {
+ background-color: green;
+}
+
+output:enabled {
+ background-color: red;
+}
+
+/* ref should always be green! */
+.ref:enabled {
+ background-color: green;
+}
diff --git a/layout/reftests/css-enabled/reftest.list b/layout/reftests/css-enabled/reftest.list
new file mode 100644
index 0000000000..649617cfc4
--- /dev/null
+++ b/layout/reftests/css-enabled/reftest.list
@@ -0,0 +1,10 @@
+include fieldset/reftest.list
+include input/reftest.list
+include button/reftest.list
+include textarea/reftest.list
+include select/reftest.list
+include option/reftest.list
+include optgroup/reftest.list
+include object/reftest.list
+include label/reftest.list
+include output/reftest.list
diff --git a/layout/reftests/css-enabled/select/reftest.list b/layout/reftests/css-enabled/select/reftest.list
new file mode 100644
index 0000000000..694b0ba774
--- /dev/null
+++ b/layout/reftests/css-enabled/select/reftest.list
@@ -0,0 +1,9 @@
+skip-if(ThreadSanitizer) == select-fieldset-1.html select-fieldset-ref.html
+fuzzy(0-1,0-9) == select-fieldset-2.html select-fieldset-ref-disabled.html
+== select-fieldset-3.html select-fieldset-ref-disabled.html
+fuzzy(0-1,0-9) == select-fieldset-4.html select-fieldset-ref.html
+== select-fieldset-legend-1.html select-fieldset-legend-ref-1.html
+fuzzy(0-2,0-4) == select-fieldset-legend-2.html select-fieldset-legend-ref-2.html
+fuzzy(0-2,0-5) == select-fieldset-legend-3.html select-fieldset-legend-ref-3.html
+fuzzy(0-2,0-9) == select-fieldset-legend-4.html select-fieldset-legend-ref-4.html
+fuzzy(0-2,0-5) == select-fieldset-legend-5.html select-fieldset-legend-ref-5.html
diff --git a/layout/reftests/css-enabled/select/select-fieldset-1.html b/layout/reftests/css-enabled/select/select-fieldset-1.html
new file mode 100644
index 0000000000..84874986fe
--- /dev/null
+++ b/layout/reftests/css-enabled/select/select-fieldset-1.html
@@ -0,0 +1,11 @@
+<!DOCTYPE html>
+<html>
+ <link rel='stylesheet' type='text/css' href='style.css'>
+ <body>
+ <fieldset class="enabled">
+ <fieldset class="enabled">
+ <select class="enabled"></select>
+ </fieldset>
+ </fieldset>
+ </body>
+</html>
diff --git a/layout/reftests/css-enabled/select/select-fieldset-2.html b/layout/reftests/css-enabled/select/select-fieldset-2.html
new file mode 100644
index 0000000000..4e34c7fefb
--- /dev/null
+++ b/layout/reftests/css-enabled/select/select-fieldset-2.html
@@ -0,0 +1,11 @@
+<!DOCTYPE html>
+<html>
+ <link rel='stylesheet' type='text/css' href='style.css'>
+ <body>
+ <fieldset disabled class="disabled">
+ <fieldset class="disabled">
+ <select class="disabled"></select>
+ </fieldset>
+ </fieldset>
+ </body>
+</html>
diff --git a/layout/reftests/css-enabled/select/select-fieldset-3.html b/layout/reftests/css-enabled/select/select-fieldset-3.html
new file mode 100644
index 0000000000..c30347271a
--- /dev/null
+++ b/layout/reftests/css-enabled/select/select-fieldset-3.html
@@ -0,0 +1,20 @@
+<!DOCTYPE html>
+<html class="reftest-wait">
+ <link rel='stylesheet' type='text/css' href='style.css'>
+ <script>
+ function onloadHandler()
+ {
+ var fieldsets = document.getElementsByTagName('fieldset');
+ fieldsets[1].disabled = true;
+ fieldsets[0].disabled = false;
+ document.documentElement.className='';
+ }
+ </script>
+ <body onload="onloadHandler();">
+ <fieldset disabled class="enabled">
+ <fieldset class="disabled">
+ <select class="disabled"></select>
+ </fieldset>
+ </fieldset>
+ </body>
+</html>
diff --git a/layout/reftests/css-enabled/select/select-fieldset-4.html b/layout/reftests/css-enabled/select/select-fieldset-4.html
new file mode 100644
index 0000000000..b168a2193c
--- /dev/null
+++ b/layout/reftests/css-enabled/select/select-fieldset-4.html
@@ -0,0 +1,19 @@
+<!DOCTYPE html>
+<html class="reftest-wait">
+ <link rel='stylesheet' type='text/css' href='style.css'>
+ <script>
+ function onloadHandler()
+ {
+ var fieldsets = document.getElementsByTagName('fieldset');
+ fieldsets[0].disabled = false;
+ document.documentElement.className='';
+ }
+ </script>
+ <body onload="onloadHandler();">
+ <fieldset disabled class="enabled">
+ <fieldset class="enabled">
+ <select class="enabled"></select>
+ </fieldset>
+ </fieldset>
+ </body>
+</html>
diff --git a/layout/reftests/css-enabled/select/select-fieldset-legend-1.html b/layout/reftests/css-enabled/select/select-fieldset-legend-1.html
new file mode 100644
index 0000000000..944303b88a
--- /dev/null
+++ b/layout/reftests/css-enabled/select/select-fieldset-legend-1.html
@@ -0,0 +1,11 @@
+<!DOCTYPE html>
+<html>
+ <link rel='stylesheet' type='text/css' href='style.css'>
+ <body>
+ <fieldset class="disabled" disabled>
+ <legend id='i'>
+ <select class="enabled"></select>
+ </legend>
+ </fieldset>
+ </body>
+</html>
diff --git a/layout/reftests/css-enabled/select/select-fieldset-legend-2.html b/layout/reftests/css-enabled/select/select-fieldset-legend-2.html
new file mode 100644
index 0000000000..7a3507be23
--- /dev/null
+++ b/layout/reftests/css-enabled/select/select-fieldset-legend-2.html
@@ -0,0 +1,13 @@
+<!DOCTYPE html>
+<html>
+ <link rel='stylesheet' type='text/css' href='style.css'>
+ <body>
+ <fieldset class="disabled" disabled>
+ <legend>
+ </legend>
+ <legend>
+ <select class="disabled"></select>
+ </legend>
+ </fieldset>
+ </body>
+</html>
diff --git a/layout/reftests/css-enabled/select/select-fieldset-legend-3.html b/layout/reftests/css-enabled/select/select-fieldset-legend-3.html
new file mode 100644
index 0000000000..29a98a88ac
--- /dev/null
+++ b/layout/reftests/css-enabled/select/select-fieldset-legend-3.html
@@ -0,0 +1,13 @@
+<!DOCTYPE html>
+<html>
+ <link rel='stylesheet' type='text/css' href='style.css'>
+ <body>
+ <fieldset class="disabled" disabled>
+ <fieldset class="disabled">
+ <legend>
+ <select class="disabled"></select>
+ </legend>
+ </fieldset>
+ </fieldset>
+ </body>
+</html>
diff --git a/layout/reftests/css-enabled/select/select-fieldset-legend-4.html b/layout/reftests/css-enabled/select/select-fieldset-legend-4.html
new file mode 100644
index 0000000000..4cbc3ca856
--- /dev/null
+++ b/layout/reftests/css-enabled/select/select-fieldset-legend-4.html
@@ -0,0 +1,13 @@
+<!DOCTYPE html>
+<html>
+ <link rel='stylesheet' type='text/css' href='style.css'>
+ <body>
+ <fieldset class="disabled" disabled>
+ <legend>
+ <fieldset class="enabled">
+ <select class="enabled"></select>
+ </fieldset>
+ </legend>
+ </fieldset>
+ </body>
+</html>
diff --git a/layout/reftests/css-enabled/select/select-fieldset-legend-5.html b/layout/reftests/css-enabled/select/select-fieldset-legend-5.html
new file mode 100644
index 0000000000..0218b95481
--- /dev/null
+++ b/layout/reftests/css-enabled/select/select-fieldset-legend-5.html
@@ -0,0 +1,15 @@
+<!DOCTYPE html>
+<html>
+ <link rel='stylesheet' type='text/css' href='style.css'>
+ <body>
+ <fieldset class="disabled" disabled>
+ <legend>
+ <fieldset class="disabled" disabled>
+ <legend>
+ <select class="enabled"></select>
+ </legend>
+ </fieldset>
+ </legend>
+ </fieldset>
+ </body>
+</html>
diff --git a/layout/reftests/css-enabled/select/select-fieldset-legend-ref-1.html b/layout/reftests/css-enabled/select/select-fieldset-legend-ref-1.html
new file mode 100644
index 0000000000..57c42ddc22
--- /dev/null
+++ b/layout/reftests/css-enabled/select/select-fieldset-legend-ref-1.html
@@ -0,0 +1,11 @@
+<!DOCTYPE html>
+<html>
+ <link rel='stylesheet' type='text/css' href='style.css'>
+ <body>
+ <fieldset class="ref">
+ <legend>
+ <select class="ref"></select>
+ </legend>
+ </fieldset>
+ </body>
+</html>
diff --git a/layout/reftests/css-enabled/select/select-fieldset-legend-ref-2.html b/layout/reftests/css-enabled/select/select-fieldset-legend-ref-2.html
new file mode 100644
index 0000000000..d21ba476ee
--- /dev/null
+++ b/layout/reftests/css-enabled/select/select-fieldset-legend-ref-2.html
@@ -0,0 +1,13 @@
+<!DOCTYPE html>
+<html>
+ <link rel='stylesheet' type='text/css' href='style.css'>
+ <body>
+ <fieldset class="ref">
+ <legend>
+ </legend>
+ <legend>
+ <select disabled class="ref"></select>
+ </legend>
+ </fieldset>
+ </body>
+</html>
diff --git a/layout/reftests/css-enabled/select/select-fieldset-legend-ref-3.html b/layout/reftests/css-enabled/select/select-fieldset-legend-ref-3.html
new file mode 100644
index 0000000000..d4b147fa1a
--- /dev/null
+++ b/layout/reftests/css-enabled/select/select-fieldset-legend-ref-3.html
@@ -0,0 +1,13 @@
+<!DOCTYPE html>
+<html>
+ <link rel='stylesheet' type='text/css' href='style.css'>
+ <body>
+ <fieldset class="ref">
+ <fieldset class="ref">
+ <legend>
+ <select disabled class="ref"></select>
+ </legend>
+ </fieldset>
+ </fieldset>
+ </body>
+</html>
diff --git a/layout/reftests/css-enabled/select/select-fieldset-legend-ref-4.html b/layout/reftests/css-enabled/select/select-fieldset-legend-ref-4.html
new file mode 100644
index 0000000000..55df97e20a
--- /dev/null
+++ b/layout/reftests/css-enabled/select/select-fieldset-legend-ref-4.html
@@ -0,0 +1,13 @@
+<!DOCTYPE html>
+<html>
+ <link rel='stylesheet' type='text/css' href='style.css'>
+ <body>
+ <fieldset class="ref">
+ <legend>
+ <fieldset class="ref">
+ <select class="ref"></select>
+ </fieldset>
+ </legend>
+ </fieldset>
+ </body>
+</html>
diff --git a/layout/reftests/css-enabled/select/select-fieldset-legend-ref-5.html b/layout/reftests/css-enabled/select/select-fieldset-legend-ref-5.html
new file mode 100644
index 0000000000..1c3275c90b
--- /dev/null
+++ b/layout/reftests/css-enabled/select/select-fieldset-legend-ref-5.html
@@ -0,0 +1,15 @@
+<!DOCTYPE html>
+<html>
+ <link rel='stylesheet' type='text/css' href='style.css'>
+ <body>
+ <fieldset class="ref">
+ <legend>
+ <fieldset class="ref">
+ <legend>
+ <select class="ref"></select>
+ </legend>
+ </fieldset>
+ </legend>
+ </fieldset>
+ </body>
+</html>
diff --git a/layout/reftests/css-enabled/select/select-fieldset-ref-disabled.html b/layout/reftests/css-enabled/select/select-fieldset-ref-disabled.html
new file mode 100644
index 0000000000..273223696b
--- /dev/null
+++ b/layout/reftests/css-enabled/select/select-fieldset-ref-disabled.html
@@ -0,0 +1,11 @@
+<!DOCTYPE html>
+<html>
+ <link rel='stylesheet' type='text/css' href='style.css'>
+ <body>
+ <fieldset class="ref">
+ <fieldset class="ref">
+ <select disabled class="ref"></select>
+ </fieldset>
+ </fieldset>
+ </body>
+</html>
diff --git a/layout/reftests/css-enabled/select/select-fieldset-ref.html b/layout/reftests/css-enabled/select/select-fieldset-ref.html
new file mode 100644
index 0000000000..e85e16f6b1
--- /dev/null
+++ b/layout/reftests/css-enabled/select/select-fieldset-ref.html
@@ -0,0 +1,11 @@
+<!DOCTYPE html>
+<html>
+ <link rel='stylesheet' type='text/css' href='style.css'>
+ <body>
+ <fieldset class="ref">
+ <fieldset class="ref">
+ <select class="ref"></select>
+ </fieldset>
+ </fieldset>
+ </body>
+</html>
diff --git a/layout/reftests/css-enabled/select/style.css b/layout/reftests/css-enabled/select/style.css
new file mode 100644
index 0000000000..b79686e37f
--- /dev/null
+++ b/layout/reftests/css-enabled/select/style.css
@@ -0,0 +1,23 @@
+select {
+ -moz-appearance: none;
+}
+
+.ref {
+ background-color: green;
+}
+
+.enabled {
+ background-color: red;
+}
+
+:enabled.enabled {
+ background-color: green;
+}
+
+.disabled {
+ background-color: green;
+}
+
+:enabled.disabled {
+ background-color: red;
+}
diff --git a/layout/reftests/css-enabled/textarea/reftest.list b/layout/reftests/css-enabled/textarea/reftest.list
new file mode 100644
index 0000000000..a5b72e393f
--- /dev/null
+++ b/layout/reftests/css-enabled/textarea/reftest.list
@@ -0,0 +1,9 @@
+fuzzy(0-1,0-5) == textarea-fieldset-1.html textarea-fieldset-ref.html
+fuzzy(0-1,0-5) == textarea-fieldset-2.html textarea-fieldset-ref.html
+== textarea-fieldset-3.html textarea-fieldset-ref.html
+== textarea-fieldset-4.html textarea-fieldset-ref.html
+fuzzy(0-1,0-5) == textarea-fieldset-legend-1.html textarea-fieldset-legend-ref-1.html
+fuzzy(0-1,0-5) == textarea-fieldset-legend-2.html textarea-fieldset-legend-ref-2.html
+fuzzy(0-1,0-5) == textarea-fieldset-legend-3.html textarea-fieldset-legend-ref-3.html
+fuzzy(0-1,0-5) == textarea-fieldset-legend-4.html textarea-fieldset-legend-ref-4.html
+fuzzy(0-1,0-10) == textarea-fieldset-legend-5.html textarea-fieldset-legend-ref-5.html
diff --git a/layout/reftests/css-enabled/textarea/style.css b/layout/reftests/css-enabled/textarea/style.css
new file mode 100644
index 0000000000..3846239d0d
--- /dev/null
+++ b/layout/reftests/css-enabled/textarea/style.css
@@ -0,0 +1,19 @@
+.ref {
+ background-color: green;
+}
+
+.enabled {
+ background-color: red;
+}
+
+:enabled.enabled {
+ background-color: green;
+}
+
+.disabled {
+ background-color: green;
+}
+
+:enabled.disabled {
+ background-color: red;
+}
diff --git a/layout/reftests/css-enabled/textarea/textarea-fieldset-1.html b/layout/reftests/css-enabled/textarea/textarea-fieldset-1.html
new file mode 100644
index 0000000000..6c040b67ea
--- /dev/null
+++ b/layout/reftests/css-enabled/textarea/textarea-fieldset-1.html
@@ -0,0 +1,11 @@
+<!DOCTYPE html>
+<html>
+ <link rel='stylesheet' type='text/css' href='style.css'>
+ <body>
+ <fieldset class="enabled">
+ <fieldset class="enabled">
+ <textarea class="enabled"></textarea>
+ </fieldset>
+ </fieldset>
+ </body>
+</html>
diff --git a/layout/reftests/css-enabled/textarea/textarea-fieldset-2.html b/layout/reftests/css-enabled/textarea/textarea-fieldset-2.html
new file mode 100644
index 0000000000..6c22f2c175
--- /dev/null
+++ b/layout/reftests/css-enabled/textarea/textarea-fieldset-2.html
@@ -0,0 +1,11 @@
+<!DOCTYPE html>
+<html>
+ <link rel='stylesheet' type='text/css' href='style.css'>
+ <body>
+ <fieldset disabled class="disabled">
+ <fieldset class="disabled">
+ <textarea class="disabled"></textarea>
+ </fieldset>
+ </fieldset>
+ </body>
+</html>
diff --git a/layout/reftests/css-enabled/textarea/textarea-fieldset-3.html b/layout/reftests/css-enabled/textarea/textarea-fieldset-3.html
new file mode 100644
index 0000000000..82172c45f4
--- /dev/null
+++ b/layout/reftests/css-enabled/textarea/textarea-fieldset-3.html
@@ -0,0 +1,20 @@
+<!DOCTYPE html>
+<html class="reftest-wait">
+ <link rel='stylesheet' type='text/css' href='style.css'>
+ <script>
+ function onloadHandler()
+ {
+ var fieldsets = document.getElementsByTagName('fieldset');
+ fieldsets[1].disabled = true;
+ fieldsets[0].disabled = false;
+ document.documentElement.className='';
+ }
+ </script>
+ <body onload="onloadHandler();">
+ <fieldset disabled class="enabled">
+ <fieldset class="disabled">
+ <textarea class="disabled"></textarea>
+ </fieldset>
+ </fieldset>
+ </body>
+</html>
diff --git a/layout/reftests/css-enabled/textarea/textarea-fieldset-4.html b/layout/reftests/css-enabled/textarea/textarea-fieldset-4.html
new file mode 100644
index 0000000000..a4ba7a1006
--- /dev/null
+++ b/layout/reftests/css-enabled/textarea/textarea-fieldset-4.html
@@ -0,0 +1,19 @@
+<!DOCTYPE html>
+<html class="reftest-wait">
+ <link rel='stylesheet' type='text/css' href='style.css'>
+ <script>
+ function onloadHandler()
+ {
+ var fieldsets = document.getElementsByTagName('fieldset');
+ fieldsets[0].disabled = false;
+ document.documentElement.className='';
+ }
+ </script>
+ <body onload="onloadHandler();">
+ <fieldset disabled class="enabled">
+ <fieldset class="enabled">
+ <textarea class="enabled"></textarea>
+ </fieldset>
+ </fieldset>
+ </body>
+</html>
diff --git a/layout/reftests/css-enabled/textarea/textarea-fieldset-legend-1.html b/layout/reftests/css-enabled/textarea/textarea-fieldset-legend-1.html
new file mode 100644
index 0000000000..5ab543a864
--- /dev/null
+++ b/layout/reftests/css-enabled/textarea/textarea-fieldset-legend-1.html
@@ -0,0 +1,11 @@
+<!DOCTYPE html>
+<html>
+ <link rel='stylesheet' type='text/css' href='style.css'>
+ <body>
+ <fieldset class="disabled" disabled>
+ <legend id='i'>
+ <textarea class="enabled"></textarea>
+ </legend>
+ </fieldset>
+ </body>
+</html>
diff --git a/layout/reftests/css-enabled/textarea/textarea-fieldset-legend-2.html b/layout/reftests/css-enabled/textarea/textarea-fieldset-legend-2.html
new file mode 100644
index 0000000000..3385d534ba
--- /dev/null
+++ b/layout/reftests/css-enabled/textarea/textarea-fieldset-legend-2.html
@@ -0,0 +1,13 @@
+<!DOCTYPE html>
+<html>
+ <link rel='stylesheet' type='text/css' href='style.css'>
+ <body>
+ <fieldset class="disabled" disabled>
+ <legend>
+ </legend>
+ <legend>
+ <textarea class="disabled"></textarea>
+ </legend>
+ </fieldset>
+ </body>
+</html>
diff --git a/layout/reftests/css-enabled/textarea/textarea-fieldset-legend-3.html b/layout/reftests/css-enabled/textarea/textarea-fieldset-legend-3.html
new file mode 100644
index 0000000000..d3c94ee5d7
--- /dev/null
+++ b/layout/reftests/css-enabled/textarea/textarea-fieldset-legend-3.html
@@ -0,0 +1,13 @@
+<!DOCTYPE html>
+<html>
+ <link rel='stylesheet' type='text/css' href='style.css'>
+ <body>
+ <fieldset class="disabled" disabled>
+ <fieldset class="disabled">
+ <legend>
+ <textarea class="disabled"></textarea>
+ </legend>
+ </fieldset>
+ </fieldset>
+ </body>
+</html>
diff --git a/layout/reftests/css-enabled/textarea/textarea-fieldset-legend-4.html b/layout/reftests/css-enabled/textarea/textarea-fieldset-legend-4.html
new file mode 100644
index 0000000000..8d04971bd8
--- /dev/null
+++ b/layout/reftests/css-enabled/textarea/textarea-fieldset-legend-4.html
@@ -0,0 +1,13 @@
+<!DOCTYPE html>
+<html>
+ <link rel='stylesheet' type='text/css' href='style.css'>
+ <body>
+ <fieldset class="disabled" disabled>
+ <legend>
+ <fieldset class="enabled">
+ <textarea class="enabled"></textarea>
+ </fieldset>
+ </legend>
+ </fieldset>
+ </body>
+</html>
diff --git a/layout/reftests/css-enabled/textarea/textarea-fieldset-legend-5.html b/layout/reftests/css-enabled/textarea/textarea-fieldset-legend-5.html
new file mode 100644
index 0000000000..856023ad9e
--- /dev/null
+++ b/layout/reftests/css-enabled/textarea/textarea-fieldset-legend-5.html
@@ -0,0 +1,15 @@
+<!DOCTYPE html>
+<html>
+ <link rel='stylesheet' type='text/css' href='style.css'>
+ <body>
+ <fieldset class="disabled" disabled>
+ <legend>
+ <fieldset class="disabled" disabled>
+ <legend>
+ <textarea class="enabled"></textarea>
+ </legend>
+ </fieldset>
+ </legend>
+ </fieldset>
+ </body>
+</html>
diff --git a/layout/reftests/css-enabled/textarea/textarea-fieldset-legend-ref-1.html b/layout/reftests/css-enabled/textarea/textarea-fieldset-legend-ref-1.html
new file mode 100644
index 0000000000..d3824560dd
--- /dev/null
+++ b/layout/reftests/css-enabled/textarea/textarea-fieldset-legend-ref-1.html
@@ -0,0 +1,11 @@
+<!DOCTYPE html>
+<html>
+ <link rel='stylesheet' type='text/css' href='style.css'>
+ <body>
+ <fieldset class="ref">
+ <legend>
+ <textarea class="ref"></textarea>
+ </legend>
+ </fieldset>
+ </body>
+</html>
diff --git a/layout/reftests/css-enabled/textarea/textarea-fieldset-legend-ref-2.html b/layout/reftests/css-enabled/textarea/textarea-fieldset-legend-ref-2.html
new file mode 100644
index 0000000000..f508a5d307
--- /dev/null
+++ b/layout/reftests/css-enabled/textarea/textarea-fieldset-legend-ref-2.html
@@ -0,0 +1,13 @@
+<!DOCTYPE html>
+<html>
+ <link rel='stylesheet' type='text/css' href='style.css'>
+ <body>
+ <fieldset class="ref">
+ <legend>
+ </legend>
+ <legend>
+ <textarea class="ref"></textarea>
+ </legend>
+ </fieldset>
+ </body>
+</html>
diff --git a/layout/reftests/css-enabled/textarea/textarea-fieldset-legend-ref-3.html b/layout/reftests/css-enabled/textarea/textarea-fieldset-legend-ref-3.html
new file mode 100644
index 0000000000..799c2b8763
--- /dev/null
+++ b/layout/reftests/css-enabled/textarea/textarea-fieldset-legend-ref-3.html
@@ -0,0 +1,13 @@
+<!DOCTYPE html>
+<html>
+ <link rel='stylesheet' type='text/css' href='style.css'>
+ <body>
+ <fieldset class="ref">
+ <fieldset class="ref">
+ <legend>
+ <textarea class="ref"></textarea>
+ </legend>
+ </fieldset>
+ </fieldset>
+ </body>
+</html>
diff --git a/layout/reftests/css-enabled/textarea/textarea-fieldset-legend-ref-4.html b/layout/reftests/css-enabled/textarea/textarea-fieldset-legend-ref-4.html
new file mode 100644
index 0000000000..83ee46e601
--- /dev/null
+++ b/layout/reftests/css-enabled/textarea/textarea-fieldset-legend-ref-4.html
@@ -0,0 +1,13 @@
+<!DOCTYPE html>
+<html>
+ <link rel='stylesheet' type='text/css' href='style.css'>
+ <body>
+ <fieldset class="ref">
+ <legend>
+ <fieldset class="ref">
+ <textarea class="ref"></textarea>
+ </fieldset>
+ </legend>
+ </fieldset>
+ </body>
+</html>
diff --git a/layout/reftests/css-enabled/textarea/textarea-fieldset-legend-ref-5.html b/layout/reftests/css-enabled/textarea/textarea-fieldset-legend-ref-5.html
new file mode 100644
index 0000000000..dd63a89a21
--- /dev/null
+++ b/layout/reftests/css-enabled/textarea/textarea-fieldset-legend-ref-5.html
@@ -0,0 +1,15 @@
+<!DOCTYPE html>
+<html>
+ <link rel='stylesheet' type='text/css' href='style.css'>
+ <body>
+ <fieldset class="ref">
+ <legend>
+ <fieldset class="ref">
+ <legend>
+ <textarea class="ref"></textarea>
+ </legend>
+ </fieldset>
+ </legend>
+ </fieldset>
+ </body>
+</html>
diff --git a/layout/reftests/css-enabled/textarea/textarea-fieldset-ref.html b/layout/reftests/css-enabled/textarea/textarea-fieldset-ref.html
new file mode 100644
index 0000000000..1cc1d344dc
--- /dev/null
+++ b/layout/reftests/css-enabled/textarea/textarea-fieldset-ref.html
@@ -0,0 +1,11 @@
+<!DOCTYPE html>
+<html>
+ <link rel='stylesheet' type='text/css' href='style.css'>
+ <body>
+ <fieldset class="ref">
+ <fieldset class="ref">
+ <textarea class="ref"></textarea>
+ </fieldset>
+ </fieldset>
+ </body>
+</html>