Don't pretend the root's background is white
authorAryeh Gregor <AryehGregor+gitcommit@gmail.com>
Fri, 16 Sep 2011 12:59:05 -0600
changeset 587 846e125a5e07
parent 586 3c450adef205
child 588 11bb09aa6b33
Don't pretend the root's background is white

Fixes: http://www.w3.org/Bugs/Public/show_bug.cgi?id=14068
conformancetest/data.js
editing.html
implementation.js
source.html
--- a/conformancetest/data.js	Fri Sep 16 12:43:38 2011 -0600
+++ b/conformancetest/data.js	Fri Sep 16 12:59:05 2011 -0600
@@ -2,99 +2,99 @@
 ["foo[]bar",
 	[["stylewithcss","false"],["backcolor","#00FFFF"]],
 	"foo[]bar",
-	{"stylewithcss":[null,false,null,null,false,null],"backcolor":[false,null,"rgb(255, 255, 255)",false,null,"rgb(0, 255, 255)"]}],
+	{"stylewithcss":[null,false,null,null,false,null],"backcolor":[false,null,"rgba(0, 0, 0, 0)",false,null,"rgb(0, 255, 255)"]}],
 ["foo[]bar",
 	[["stylewithcss","true"],["backcolor","#00FFFF"]],
 	"foo[]bar",
-	{"stylewithcss":[null,false,null,null,true,null],"backcolor":[false,null,"rgb(255, 255, 255)",false,null,"rgb(0, 255, 255)"]}],
+	{"stylewithcss":[null,false,null,null,true,null],"backcolor":[false,null,"rgba(0, 0, 0, 0)",false,null,"rgb(0, 255, 255)"]}],
 ["<span>foo</span>{}<span>bar</span>",
 	[["stylewithcss","false"],["backcolor","#00FFFF"]],
 	"<span>foo</span>{}<span>bar</span>",
-	{"stylewithcss":[null,true,null,null,false,null],"backcolor":[false,null,"rgb(255, 255, 255)",false,null,"rgb(0, 255, 255)"]}],
+	{"stylewithcss":[null,true,null,null,false,null],"backcolor":[false,null,"rgba(0, 0, 0, 0)",false,null,"rgb(0, 255, 255)"]}],
 ["<span>foo</span>{}<span>bar</span>",
 	[["stylewithcss","true"],["backcolor","#00FFFF"]],
 	"<span>foo</span>{}<span>bar</span>",
-	{"stylewithcss":[null,false,null,null,true,null],"backcolor":[false,null,"rgb(255, 255, 255)",false,null,"rgb(0, 255, 255)"]}],
+	{"stylewithcss":[null,false,null,null,true,null],"backcolor":[false,null,"rgba(0, 0, 0, 0)",false,null,"rgb(0, 255, 255)"]}],
 ["<span>foo[</span><span>]bar</span>",
 	[["stylewithcss","false"],["backcolor","#00FFFF"]],
 	"<span>foo[</span><span>]bar</span>",
-	{"stylewithcss":[null,true,null,null,false,null],"backcolor":[false,null,"rgb(255, 255, 255)",false,null,"rgb(0, 255, 255)"]}],
+	{"stylewithcss":[null,true,null,null,false,null],"backcolor":[false,null,"rgba(0, 0, 0, 0)",false,null,"rgb(0, 255, 255)"]}],
 ["<span>foo[</span><span>]bar</span>",
 	[["stylewithcss","true"],["backcolor","#00FFFF"]],
 	"<span>foo[</span><span>]bar</span>",
-	{"stylewithcss":[null,false,null,null,true,null],"backcolor":[false,null,"rgb(255, 255, 255)",false,null,"rgb(0, 255, 255)"]}],
+	{"stylewithcss":[null,false,null,null,true,null],"backcolor":[false,null,"rgba(0, 0, 0, 0)",false,null,"rgb(0, 255, 255)"]}],
 ["foo[bar]baz",
 	[["stylewithcss","false"],["backcolor","#00FFFF"]],
 	"foo<span style=\"background-color:rgb(0, 255, 255)\">[bar]</span>baz",
-	{"stylewithcss":[null,true,null,null,false,null],"backcolor":[false,null,"rgb(255, 255, 255)",false,null,"rgb(0, 255, 255)"]}],
+	{"stylewithcss":[null,true,null,null,false,null],"backcolor":[false,null,"rgba(0, 0, 0, 0)",false,null,"rgb(0, 255, 255)"]}],
 ["foo[bar]baz",
 	[["stylewithcss","true"],["backcolor","#00FFFF"]],
 	"foo<span style=\"background-color:rgb(0, 255, 255)\">[bar]</span>baz",
-	{"stylewithcss":[null,false,null,null,true,null],"backcolor":[false,null,"rgb(255, 255, 255)",false,null,"rgb(0, 255, 255)"]}],
+	{"stylewithcss":[null,false,null,null,true,null],"backcolor":[false,null,"rgba(0, 0, 0, 0)",false,null,"rgb(0, 255, 255)"]}],
 ["foo]bar[baz",
 	[["stylewithcss","false"],["backcolor","#00FFFF"]],
 	"foo<span style=\"background-color:rgb(0, 255, 255)\">[bar]</span>baz",
-	{"stylewithcss":[null,true,null,null,false,null],"backcolor":[false,null,"rgb(255, 255, 255)",false,null,"rgb(0, 255, 255)"]}],
+	{"stylewithcss":[null,true,null,null,false,null],"backcolor":[false,null,"rgba(0, 0, 0, 0)",false,null,"rgb(0, 255, 255)"]}],
 ["foo]bar[baz",
 	[["stylewithcss","true"],["backcolor","#00FFFF"]],
 	"foo<span style=\"background-color:rgb(0, 255, 255)\">[bar]</span>baz",
-	{"stylewithcss":[null,false,null,null,true,null],"backcolor":[false,null,"rgb(255, 255, 255)",false,null,"rgb(0, 255, 255)"]}],
+	{"stylewithcss":[null,false,null,null,true,null],"backcolor":[false,null,"rgba(0, 0, 0, 0)",false,null,"rgb(0, 255, 255)"]}],
 ["foo[bar<i>baz]qoz</i>quz",
 	[["stylewithcss","false"],["backcolor","#00FFFF"]],
 	"foo<span style=\"background-color:rgb(0, 255, 255)\">[bar</span><i><span style=\"background-color:rgb(0, 255, 255)\">baz]</span>qoz</i>quz",
-	{"stylewithcss":[null,true,null,null,false,null],"backcolor":[false,null,"rgb(255, 255, 255)",false,null,"rgb(0, 255, 255)"]}],
+	{"stylewithcss":[null,true,null,null,false,null],"backcolor":[false,null,"rgba(0, 0, 0, 0)",false,null,"rgb(0, 255, 255)"]}],
 ["foo[bar<i>baz]qoz</i>quz",
 	[["stylewithcss","true"],["backcolor","#00FFFF"]],
 	"foo<span style=\"background-color:rgb(0, 255, 255)\">[bar</span><i><span style=\"background-color:rgb(0, 255, 255)\">baz]</span>qoz</i>quz",
-	{"stylewithcss":[null,false,null,null,true,null],"backcolor":[false,null,"rgb(255, 255, 255)",false,null,"rgb(0, 255, 255)"]}],
+	{"stylewithcss":[null,false,null,null,true,null],"backcolor":[false,null,"rgba(0, 0, 0, 0)",false,null,"rgb(0, 255, 255)"]}],
 ["<table><tbody><tr><td>foo<td>b[a]r<td>baz</table>",
 	[["stylewithcss","false"],["backcolor","#00FFFF"]],
 	"<table><tbody><tr><td>foo</td><td>b<span style=\"background-color:rgb(0, 255, 255)\">[a]</span>r</td><td>baz</td></tr></tbody></table>",
-	{"stylewithcss":[null,true,null,null,false,null],"backcolor":[false,null,"rgb(255, 255, 255)",false,null,"rgb(0, 255, 255)"]}],
+	{"stylewithcss":[null,true,null,null,false,null],"backcolor":[false,null,"rgba(0, 0, 0, 0)",false,null,"rgb(0, 255, 255)"]}],
 ["<table><tbody><tr><td>foo<td>b[a]r<td>baz</table>",
 	[["stylewithcss","true"],["backcolor","#00FFFF"]],
 	"<table><tbody><tr><td>foo</td><td>b<span style=\"background-color:rgb(0, 255, 255)\">[a]</span>r</td><td>baz</td></tr></tbody></table>",
-	{"stylewithcss":[null,false,null,null,true,null],"backcolor":[false,null,"rgb(255, 255, 255)",false,null,"rgb(0, 255, 255)"]}],
+	{"stylewithcss":[null,false,null,null,true,null],"backcolor":[false,null,"rgba(0, 0, 0, 0)",false,null,"rgb(0, 255, 255)"]}],
 ["<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table>",
 	[["stylewithcss","false"],["backcolor","#00FFFF"]],
 	"<table><tbody><tr><td>foo</td>{<td><span style=\"background-color:rgb(0, 255, 255)\">bar</span></td>}<td>baz</td></tr></tbody></table>",
-	{"stylewithcss":[null,true,null,null,false,null],"backcolor":[false,null,"rgb(255, 255, 255)",false,null,"rgb(0, 255, 255)"]}],
+	{"stylewithcss":[null,true,null,null,false,null],"backcolor":[false,null,"rgba(0, 0, 0, 0)",false,null,"rgb(0, 255, 255)"]}],
 ["<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table>",
 	[["stylewithcss","true"],["backcolor","#00FFFF"]],
 	"<table><tbody><tr><td>foo</td>{<td><span style=\"background-color:rgb(0, 255, 255)\">bar</span></td>}<td>baz</td></tr></tbody></table>",
-	{"stylewithcss":[null,false,null,null,true,null],"backcolor":[false,null,"rgb(255, 255, 255)",false,null,"rgb(0, 255, 255)"]}],
+	{"stylewithcss":[null,false,null,null,true,null],"backcolor":[false,null,"rgba(0, 0, 0, 0)",false,null,"rgb(0, 255, 255)"]}],
 ["<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table>",
 	[["stylewithcss","false"],["backcolor","#00FFFF"]],
 	"<table><tbody><tr>{<td><span style=\"background-color:rgb(0, 255, 255)\">foo</span></td><td><span style=\"background-color:rgb(0, 255, 255)\">bar</span></td>}<td>baz</td></tr></tbody></table>",
-	{"stylewithcss":[null,true,null,null,false,null],"backcolor":[false,null,"rgb(255, 255, 255)",false,null,"rgb(0, 255, 255)"]}],
+	{"stylewithcss":[null,true,null,null,false,null],"backcolor":[false,null,"rgba(0, 0, 0, 0)",false,null,"rgb(0, 255, 255)"]}],
 ["<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table>",
 	[["stylewithcss","true"],["backcolor","#00FFFF"]],
 	"<table><tbody><tr>{<td><span style=\"background-color:rgb(0, 255, 255)\">foo</span></td><td><span style=\"background-color:rgb(0, 255, 255)\">bar</span></td>}<td>baz</td></tr></tbody></table>",
-	{"stylewithcss":[null,false,null,null,true,null],"backcolor":[false,null,"rgb(255, 255, 255)",false,null,"rgb(0, 255, 255)"]}],
+	{"stylewithcss":[null,false,null,null,true,null],"backcolor":[false,null,"rgba(0, 0, 0, 0)",false,null,"rgb(0, 255, 255)"]}],
 ["<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table>",
 	[["stylewithcss","false"],["backcolor","#00FFFF"]],
 	"<table><tbody>{<tr><td><span style=\"background-color:rgb(0, 255, 255)\">foo</span></td><td><span style=\"background-color:rgb(0, 255, 255)\">bar</span></td><td><span style=\"background-color:rgb(0, 255, 255)\">baz</span></td></tr>}</tbody></table>",
-	{"stylewithcss":[null,true,null,null,false,null],"backcolor":[false,null,"rgb(255, 255, 255)",false,null,"rgb(0, 255, 255)"]}],
+	{"stylewithcss":[null,true,null,null,false,null],"backcolor":[false,null,"rgba(0, 0, 0, 0)",false,null,"rgb(0, 255, 255)"]}],
 ["<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table>",
 	[["stylewithcss","true"],["backcolor","#00FFFF"]],
 	"<table><tbody>{<tr><td><span style=\"background-color:rgb(0, 255, 255)\">foo</span></td><td><span style=\"background-color:rgb(0, 255, 255)\">bar</span></td><td><span style=\"background-color:rgb(0, 255, 255)\">baz</span></td></tr>}</tbody></table>",
-	{"stylewithcss":[null,false,null,null,true,null],"backcolor":[false,null,"rgb(255, 255, 255)",false,null,"rgb(0, 255, 255)"]}],
+	{"stylewithcss":[null,false,null,null,true,null],"backcolor":[false,null,"rgba(0, 0, 0, 0)",false,null,"rgb(0, 255, 255)"]}],
 ["<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table>",
 	[["stylewithcss","false"],["backcolor","#00FFFF"]],
 	"<table>{<tbody><tr><td><span style=\"background-color:rgb(0, 255, 255)\">foo</span></td><td><span style=\"background-color:rgb(0, 255, 255)\">bar</span></td><td><span style=\"background-color:rgb(0, 255, 255)\">baz</span></td></tr></tbody>}</table>",
-	{"stylewithcss":[null,true,null,null,false,null],"backcolor":[false,null,"rgb(255, 255, 255)",false,null,"rgb(0, 255, 255)"]}],
+	{"stylewithcss":[null,true,null,null,false,null],"backcolor":[false,null,"rgba(0, 0, 0, 0)",false,null,"rgb(0, 255, 255)"]}],
 ["<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table>",
 	[["stylewithcss","true"],["backcolor","#00FFFF"]],
 	"<table>{<tbody><tr><td><span style=\"background-color:rgb(0, 255, 255)\">foo</span></td><td><span style=\"background-color:rgb(0, 255, 255)\">bar</span></td><td><span style=\"background-color:rgb(0, 255, 255)\">baz</span></td></tr></tbody>}</table>",
-	{"stylewithcss":[null,false,null,null,true,null],"backcolor":[false,null,"rgb(255, 255, 255)",false,null,"rgb(0, 255, 255)"]}],
+	{"stylewithcss":[null,false,null,null,true,null],"backcolor":[false,null,"rgba(0, 0, 0, 0)",false,null,"rgb(0, 255, 255)"]}],
 ["{<table><tr><td>foo<td>bar<td>baz</table>}",
 	[["stylewithcss","false"],["backcolor","#00FFFF"]],
 	"{<table><tbody><tr><td><span style=\"background-color:rgb(0, 255, 255)\">foo</span></td><td><span style=\"background-color:rgb(0, 255, 255)\">bar</span></td><td><span style=\"background-color:rgb(0, 255, 255)\">baz</span></td></tr></tbody></table>}",
-	{"stylewithcss":[null,true,null,null,false,null],"backcolor":[false,null,"rgb(255, 255, 255)",false,null,"rgb(0, 255, 255)"]}],
+	{"stylewithcss":[null,true,null,null,false,null],"backcolor":[false,null,"rgba(0, 0, 0, 0)",false,null,"rgb(0, 255, 255)"]}],
 ["{<table><tr><td>foo<td>bar<td>baz</table>}",
 	[["stylewithcss","true"],["backcolor","#00FFFF"]],
 	"{<table><tbody><tr><td><span style=\"background-color:rgb(0, 255, 255)\">foo</span></td><td><span style=\"background-color:rgb(0, 255, 255)\">bar</span></td><td><span style=\"background-color:rgb(0, 255, 255)\">baz</span></td></tr></tbody></table>}",
-	{"stylewithcss":[null,false,null,null,true,null],"backcolor":[false,null,"rgb(255, 255, 255)",false,null,"rgb(0, 255, 255)"]}],
+	{"stylewithcss":[null,false,null,null,true,null],"backcolor":[false,null,"rgba(0, 0, 0, 0)",false,null,"rgb(0, 255, 255)"]}],
 ["<p style=\"background-color: rgb(0, 255, 255)\">foo[bar]baz</p>",
 	[["stylewithcss","false"],["backcolor","#00FFFF"]],
 	"<p style=\"background-color:rgb(0, 255, 255)\">foo[bar]baz</p>",
@@ -194,11 +194,11 @@
 ["fo[o<span style=background-color:tan>b]ar</span>baz",
 	[["stylewithcss","false"],["backcolor","#00FFFF"]],
 	"fo<span style=\"background-color:rgb(0, 255, 255)\">[o</span><span style=\"background-color:rgb(210, 180, 140)\"><span style=\"background-color:rgb(0, 255, 255)\">b]</span>ar</span>baz",
-	{"stylewithcss":[null,true,null,null,false,null],"backcolor":[true,null,"rgb(255, 255, 255)",false,null,"rgb(0, 255, 255)"]}],
+	{"stylewithcss":[null,true,null,null,false,null],"backcolor":[true,null,"rgba(0, 0, 0, 0)",false,null,"rgb(0, 255, 255)"]}],
 ["fo[o<span style=background-color:tan>b]ar</span>baz",
 	[["stylewithcss","true"],["backcolor","#00FFFF"]],
 	"fo<span style=\"background-color:rgb(0, 255, 255)\">[o</span><span style=\"background-color:rgb(210, 180, 140)\"><span style=\"background-color:rgb(0, 255, 255)\">b]</span>ar</span>baz",
-	{"stylewithcss":[null,false,null,null,true,null],"backcolor":[true,null,"rgb(255, 255, 255)",false,null,"rgb(0, 255, 255)"]}],
+	{"stylewithcss":[null,false,null,null,true,null],"backcolor":[true,null,"rgba(0, 0, 0, 0)",false,null,"rgb(0, 255, 255)"]}],
 ["foo<span style=background-color:tan>ba[r</span>b]az",
 	[["stylewithcss","false"],["backcolor","#00FFFF"]],
 	"foo<span style=\"background-color:rgb(210, 180, 140)\">ba<span style=\"background-color:rgb(0, 255, 255)\">[r</span></span><span style=\"background-color:rgb(0, 255, 255)\">b]</span>az",
@@ -210,11 +210,11 @@
 ["fo[o<span style=background-color:tan>bar</span>b]az",
 	[["stylewithcss","false"],["backcolor","#00FFFF"]],
 	"fo<span style=\"background-color:rgb(0, 255, 255)\">[obarb]</span>az",
-	{"stylewithcss":[null,true,null,null,false,null],"backcolor":[true,null,"rgb(255, 255, 255)",false,null,"rgb(0, 255, 255)"]}],
+	{"stylewithcss":[null,true,null,null,false,null],"backcolor":[true,null,"rgba(0, 0, 0, 0)",false,null,"rgb(0, 255, 255)"]}],
 ["fo[o<span style=background-color:tan>bar</span>b]az",
 	[["stylewithcss","true"],["backcolor","#00FFFF"]],
 	"fo<span style=\"background-color:rgb(0, 255, 255)\">[obarb]</span>az",
-	{"stylewithcss":[null,false,null,null,true,null],"backcolor":[true,null,"rgb(255, 255, 255)",false,null,"rgb(0, 255, 255)"]}],
+	{"stylewithcss":[null,false,null,null,true,null],"backcolor":[true,null,"rgba(0, 0, 0, 0)",false,null,"rgb(0, 255, 255)"]}],
 ["foo[<span style=background-color:tan>b]ar</span>baz",
 	[["stylewithcss","false"],["backcolor","#00FFFF"]],
 	"foo[<span style=\"background-color:rgb(210, 180, 140)\"><span style=\"background-color:rgb(0, 255, 255)\">b]</span>ar</span>baz",
@@ -6206,55 +6206,55 @@
 ["foo[]bar",
 	[["stylewithcss","false"],["hilitecolor","#00FFFF"]],
 	"foo[]bar",
-	{"stylewithcss":[null,false,null,null,false,null],"hilitecolor":[false,null,"rgb(255, 255, 255)",false,null,"rgb(0, 255, 255)"]}],
+	{"stylewithcss":[null,false,null,null,false,null],"hilitecolor":[false,null,"rgba(0, 0, 0, 0)",false,null,"rgb(0, 255, 255)"]}],
 ["<span>foo</span>{}<span>bar</span>",
 	[["stylewithcss","false"],["hilitecolor","#00FFFF"]],
 	"<span>foo</span>{}<span>bar</span>",
-	{"stylewithcss":[null,false,null,null,false,null],"hilitecolor":[false,null,"rgb(255, 255, 255)",false,null,"rgb(0, 255, 255)"]}],
+	{"stylewithcss":[null,false,null,null,false,null],"hilitecolor":[false,null,"rgba(0, 0, 0, 0)",false,null,"rgb(0, 255, 255)"]}],
 ["<span>foo[</span><span>]bar</span>",
 	[["stylewithcss","false"],["hilitecolor","#00FFFF"]],
 	"<span>foo[</span><span>]bar</span>",
-	{"stylewithcss":[null,false,null,null,false,null],"hilitecolor":[false,null,"rgb(255, 255, 255)",false,null,"rgb(0, 255, 255)"]}],
+	{"stylewithcss":[null,false,null,null,false,null],"hilitecolor":[false,null,"rgba(0, 0, 0, 0)",false,null,"rgb(0, 255, 255)"]}],
 ["foo[bar]baz",
 	[["stylewithcss","false"],["hilitecolor","#00FFFF"]],
 	"foo<span style=\"background-color:rgb(0, 255, 255)\">[bar]</span>baz",
-	{"stylewithcss":[null,false,null,null,false,null],"hilitecolor":[false,null,"rgb(255, 255, 255)",false,null,"rgb(0, 255, 255)"]}],
+	{"stylewithcss":[null,false,null,null,false,null],"hilitecolor":[false,null,"rgba(0, 0, 0, 0)",false,null,"rgb(0, 255, 255)"]}],
 ["foo]bar[baz",
 	[["stylewithcss","false"],["hilitecolor","#00FFFF"]],
 	"foo<span style=\"background-color:rgb(0, 255, 255)\">[bar]</span>baz",
-	{"stylewithcss":[null,false,null,null,false,null],"hilitecolor":[false,null,"rgb(255, 255, 255)",false,null,"rgb(0, 255, 255)"]}],
+	{"stylewithcss":[null,false,null,null,false,null],"hilitecolor":[false,null,"rgba(0, 0, 0, 0)",false,null,"rgb(0, 255, 255)"]}],
 ["{<p><p> <p>foo</p>}",
 	[["stylewithcss","false"],["hilitecolor","#00FFFF"]],
 	"{<p></p><p><span style=\"background-color:rgb(0, 255, 255)\"> </span></p><p><span style=\"background-color:rgb(0, 255, 255)\">foo</span></p>}",
-	{"stylewithcss":[null,false,null,null,false,null],"hilitecolor":[false,null,"rgb(255, 255, 255)",false,null,"rgb(0, 255, 255)"]}],
+	{"stylewithcss":[null,false,null,null,false,null],"hilitecolor":[false,null,"rgba(0, 0, 0, 0)",false,null,"rgb(0, 255, 255)"]}],
 ["foo[bar<i>baz]qoz</i>quz",
 	[["stylewithcss","false"],["hilitecolor","#00FFFF"]],
 	"foo<span style=\"background-color:rgb(0, 255, 255)\">[bar</span><i><span style=\"background-color:rgb(0, 255, 255)\">baz]</span>qoz</i>quz",
-	{"stylewithcss":[null,false,null,null,false,null],"hilitecolor":[false,null,"rgb(255, 255, 255)",false,null,"rgb(0, 255, 255)"]}],
+	{"stylewithcss":[null,false,null,null,false,null],"hilitecolor":[false,null,"rgba(0, 0, 0, 0)",false,null,"rgb(0, 255, 255)"]}],
 ["<table><tbody><tr><td>foo<td>b[a]r<td>baz</table>",
 	[["stylewithcss","false"],["hilitecolor","#00FFFF"]],
 	"<table><tbody><tr><td>foo</td><td>b<span style=\"background-color:rgb(0, 255, 255)\">[a]</span>r</td><td>baz</td></tr></tbody></table>",
-	{"stylewithcss":[null,false,null,null,false,null],"hilitecolor":[false,null,"rgb(255, 255, 255)",false,null,"rgb(0, 255, 255)"]}],
+	{"stylewithcss":[null,false,null,null,false,null],"hilitecolor":[false,null,"rgba(0, 0, 0, 0)",false,null,"rgb(0, 255, 255)"]}],
 ["<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table>",
 	[["stylewithcss","false"],["hilitecolor","#00FFFF"]],
 	"<table><tbody><tr><td>foo</td>{<td><span style=\"background-color:rgb(0, 255, 255)\">bar</span></td>}<td>baz</td></tr></tbody></table>",
-	{"stylewithcss":[null,false,null,null,false,null],"hilitecolor":[false,null,"rgb(255, 255, 255)",false,null,"rgb(0, 255, 255)"]}],
+	{"stylewithcss":[null,false,null,null,false,null],"hilitecolor":[false,null,"rgba(0, 0, 0, 0)",false,null,"rgb(0, 255, 255)"]}],
 ["<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table>",
 	[["stylewithcss","false"],["hilitecolor","#00FFFF"]],
 	"<table><tbody><tr>{<td><span style=\"background-color:rgb(0, 255, 255)\">foo</span></td><td><span style=\"background-color:rgb(0, 255, 255)\">bar</span></td>}<td>baz</td></tr></tbody></table>",
-	{"stylewithcss":[null,false,null,null,false,null],"hilitecolor":[false,null,"rgb(255, 255, 255)",false,null,"rgb(0, 255, 255)"]}],
+	{"stylewithcss":[null,false,null,null,false,null],"hilitecolor":[false,null,"rgba(0, 0, 0, 0)",false,null,"rgb(0, 255, 255)"]}],
 ["<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table>",
 	[["stylewithcss","false"],["hilitecolor","#00FFFF"]],
 	"<table><tbody>{<tr><td><span style=\"background-color:rgb(0, 255, 255)\">foo</span></td><td><span style=\"background-color:rgb(0, 255, 255)\">bar</span></td><td><span style=\"background-color:rgb(0, 255, 255)\">baz</span></td></tr>}</tbody></table>",
-	{"stylewithcss":[null,false,null,null,false,null],"hilitecolor":[false,null,"rgb(255, 255, 255)",false,null,"rgb(0, 255, 255)"]}],
+	{"stylewithcss":[null,false,null,null,false,null],"hilitecolor":[false,null,"rgba(0, 0, 0, 0)",false,null,"rgb(0, 255, 255)"]}],
 ["<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table>",
 	[["stylewithcss","false"],["hilitecolor","#00FFFF"]],
 	"<table>{<tbody><tr><td><span style=\"background-color:rgb(0, 255, 255)\">foo</span></td><td><span style=\"background-color:rgb(0, 255, 255)\">bar</span></td><td><span style=\"background-color:rgb(0, 255, 255)\">baz</span></td></tr></tbody>}</table>",
-	{"stylewithcss":[null,false,null,null,false,null],"hilitecolor":[false,null,"rgb(255, 255, 255)",false,null,"rgb(0, 255, 255)"]}],
+	{"stylewithcss":[null,false,null,null,false,null],"hilitecolor":[false,null,"rgba(0, 0, 0, 0)",false,null,"rgb(0, 255, 255)"]}],
 ["{<table><tr><td>foo<td>bar<td>baz</table>}",
 	[["stylewithcss","false"],["hilitecolor","#00FFFF"]],
 	"{<table><tbody><tr><td><span style=\"background-color:rgb(0, 255, 255)\">foo</span></td><td><span style=\"background-color:rgb(0, 255, 255)\">bar</span></td><td><span style=\"background-color:rgb(0, 255, 255)\">baz</span></td></tr></tbody></table>}",
-	{"stylewithcss":[null,false,null,null,false,null],"hilitecolor":[false,null,"rgb(255, 255, 255)",false,null,"rgb(0, 255, 255)"]}],
+	{"stylewithcss":[null,false,null,null,false,null],"hilitecolor":[false,null,"rgba(0, 0, 0, 0)",false,null,"rgb(0, 255, 255)"]}],
 ["<p style=\"background-color: rgb(0, 255, 255)\">foo[bar]baz</p>",
 	[["stylewithcss","false"],["hilitecolor","#00FFFF"]],
 	"<p style=\"background-color:rgb(0, 255, 255)\">foo[bar]baz</p>",
@@ -6306,7 +6306,7 @@
 ["fo[o<span style=background-color:tan>b]ar</span>baz",
 	[["stylewithcss","false"],["hilitecolor","#00FFFF"]],
 	"fo<span style=\"background-color:rgb(0, 255, 255)\">[o</span><span style=\"background-color:rgb(210, 180, 140)\"><span style=\"background-color:rgb(0, 255, 255)\">b]</span>ar</span>baz",
-	{"stylewithcss":[null,false,null,null,false,null],"hilitecolor":[true,null,"rgb(255, 255, 255)",false,null,"rgb(0, 255, 255)"]}],
+	{"stylewithcss":[null,false,null,null,false,null],"hilitecolor":[true,null,"rgba(0, 0, 0, 0)",false,null,"rgb(0, 255, 255)"]}],
 ["foo<span style=background-color:tan>ba[r</span>b]az",
 	[["stylewithcss","false"],["hilitecolor","#00FFFF"]],
 	"foo<span style=\"background-color:rgb(210, 180, 140)\">ba<span style=\"background-color:rgb(0, 255, 255)\">[r</span></span><span style=\"background-color:rgb(0, 255, 255)\">b]</span>az",
@@ -6314,7 +6314,7 @@
 ["fo[o<span style=background-color:tan>bar</span>b]az",
 	[["stylewithcss","false"],["hilitecolor","#00FFFF"]],
 	"fo<span style=\"background-color:rgb(0, 255, 255)\">[obarb]</span>az",
-	{"stylewithcss":[null,false,null,null,false,null],"hilitecolor":[true,null,"rgb(255, 255, 255)",false,null,"rgb(0, 255, 255)"]}],
+	{"stylewithcss":[null,false,null,null,false,null],"hilitecolor":[true,null,"rgba(0, 0, 0, 0)",false,null,"rgb(0, 255, 255)"]}],
 ["foo[<span style=background-color:tan>b]ar</span>baz",
 	[["stylewithcss","false"],["hilitecolor","#00FFFF"]],
 	"foo[<span style=\"background-color:rgb(210, 180, 140)\"><span style=\"background-color:rgb(0, 255, 255)\">b]</span>ar</span>baz",
@@ -6350,27 +6350,27 @@
 ["<font size=6>[foo]</font>",
 	[["stylewithcss","false"],["hilitecolor","#00FFFF"]],
 	"<span style=\"background-color:rgb(0, 255, 255)\"><font size=\"6\">[foo]</font></span>",
-	{"stylewithcss":[null,false,null,null,false,null],"hilitecolor":[false,null,"rgb(255, 255, 255)",false,null,"rgb(0, 255, 255)"]}],
+	{"stylewithcss":[null,false,null,null,false,null],"hilitecolor":[false,null,"rgba(0, 0, 0, 0)",false,null,"rgb(0, 255, 255)"]}],
 ["<span style=font-size:xx-large>[foo]</span>",
 	[["stylewithcss","false"],["hilitecolor","#00FFFF"]],
 	"<span style=\"background-color:rgb(0, 255, 255)\"><span style=\"font-size:xx-large\">[foo]</span></span>",
-	{"stylewithcss":[null,false,null,null,false,null],"hilitecolor":[false,null,"rgb(255, 255, 255)",false,null,"rgb(0, 255, 255)"]}],
+	{"stylewithcss":[null,false,null,null,false,null],"hilitecolor":[false,null,"rgba(0, 0, 0, 0)",false,null,"rgb(0, 255, 255)"]}],
 ["<font size=6>foo[bar]baz</font>",
 	[["stylewithcss","false"],["hilitecolor","#00FFFF"]],
 	"<font size=\"6\">foo<span style=\"background-color:rgb(0, 255, 255)\">[bar]</span>baz</font>",
-	{"stylewithcss":[null,false,null,null,false,null],"hilitecolor":[false,null,"rgb(255, 255, 255)",false,null,"rgb(0, 255, 255)"]}],
+	{"stylewithcss":[null,false,null,null,false,null],"hilitecolor":[false,null,"rgba(0, 0, 0, 0)",false,null,"rgb(0, 255, 255)"]}],
 ["<span style=font-size:xx-large>foo[bar]baz</span>",
 	[["stylewithcss","false"],["hilitecolor","#00FFFF"]],
 	"<span style=\"font-size:xx-large\">foo<span style=\"background-color:rgb(0, 255, 255)\">[bar]</span>baz</span>",
-	{"stylewithcss":[null,false,null,null,false,null],"hilitecolor":[false,null,"rgb(255, 255, 255)",false,null,"rgb(0, 255, 255)"]}],
+	{"stylewithcss":[null,false,null,null,false,null],"hilitecolor":[false,null,"rgba(0, 0, 0, 0)",false,null,"rgb(0, 255, 255)"]}],
 ["[foo<font size=6>bar</font>baz]",
 	[["stylewithcss","false"],["hilitecolor","#00FFFF"]],
 	"<span style=\"background-color:rgb(0, 255, 255)\">[foo<font size=\"6\">bar</font>baz]</span>",
-	{"stylewithcss":[null,false,null,null,false,null],"hilitecolor":[false,null,"rgb(255, 255, 255)",false,null,"rgb(0, 255, 255)"]}],
+	{"stylewithcss":[null,false,null,null,false,null],"hilitecolor":[false,null,"rgba(0, 0, 0, 0)",false,null,"rgb(0, 255, 255)"]}],
 ["[foo<span style=font-size:xx-large>bar</span>baz]",
 	[["stylewithcss","false"],["hilitecolor","#00FFFF"]],
 	"<span style=\"background-color:rgb(0, 255, 255)\">[foo<span style=\"font-size:xx-large\">bar</span>baz]</span>",
-	{"stylewithcss":[null,false,null,null,false,null],"hilitecolor":[false,null,"rgb(255, 255, 255)",false,null,"rgb(0, 255, 255)"]}],
+	{"stylewithcss":[null,false,null,null,false,null],"hilitecolor":[false,null,"rgba(0, 0, 0, 0)",false,null,"rgb(0, 255, 255)"]}],
 ["foo[]bar<p>extra",
 	[["stylewithcss","false"],["indent",""]],
 	"<blockquote>foo[]bar</blockquote><p>extra</p>",
@@ -16098,7 +16098,7 @@
 ["foo[]bar",
 	[["backcolor","#00FFFF"],["inserttext","a"]],
 	"foo<span style=\"background-color:rgb(0, 255, 255)\">a[]</span>bar",
-	{"backcolor":[false,null,"rgb(255, 255, 255)",false,null,"rgb(0, 255, 255)"],"inserttext":[null,null,null,null,null,null]}],
+	{"backcolor":[false,null,"rgba(0, 0, 0, 0)",false,null,"rgb(0, 255, 255)"],"inserttext":[null,null,null,null,null,null]}],
 ["foo[]bar",
 	[["createlink","http://www.google.com/"],["inserttext","a"]],
 	"foo<a href=\"http://www.google.com/\">a[]</a>bar",
@@ -16118,7 +16118,7 @@
 ["foo[]bar",
 	[["hilitecolor","#00FFFF"],["inserttext","a"]],
 	"foo<span style=\"background-color:rgb(0, 255, 255)\">a[]</span>bar",
-	{"hilitecolor":[false,null,"rgb(255, 255, 255)",false,null,"rgb(0, 255, 255)"],"inserttext":[null,null,null,null,null,null]}],
+	{"hilitecolor":[false,null,"rgba(0, 0, 0, 0)",false,null,"rgb(0, 255, 255)"],"inserttext":[null,null,null,null,null,null]}],
 ["foo[]bar",
 	[["superscript",""],["subscript",""],["inserttext","a"]],
 	"foo<sub>a[]</sub>bar",
@@ -16194,11 +16194,11 @@
 ["foo[]bar",
 	[["hilitecolor","aqua"],["backcolor","tan"],["inserttext","a"]],
 	"foo<span style=\"background-color:rgb(210, 180, 140)\">a[]</span>bar",
-	{"hilitecolor":[false,null,"rgb(255, 255, 255)",false,null,"rgb(210, 180, 140)"],"backcolor":[false,null,"rgb(255, 255, 255)",false,null,"rgb(210, 180, 140)"],"inserttext":[null,null,null,null,null,null]}],
+	{"hilitecolor":[false,null,"rgba(0, 0, 0, 0)",false,null,"rgb(210, 180, 140)"],"backcolor":[false,null,"rgba(0, 0, 0, 0)",false,null,"rgb(210, 180, 140)"],"inserttext":[null,null,null,null,null,null]}],
 ["foo[]bar",
 	[["backcolor","tan"],["hilitecolor","aqua"],["inserttext","a"]],
 	"foo<span style=\"background-color:rgb(0, 255, 255)\">a[]</span>bar",
-	{"backcolor":[false,null,"rgb(255, 255, 255)",false,null,"rgb(0, 255, 255)"],"hilitecolor":[false,null,"rgb(255, 255, 255)",false,null,"rgb(0, 255, 255)"],"inserttext":[null,null,null,null,null,null]}],
+	{"backcolor":[false,null,"rgba(0, 0, 0, 0)",false,null,"rgb(0, 255, 255)"],"hilitecolor":[false,null,"rgba(0, 0, 0, 0)",false,null,"rgb(0, 255, 255)"],"inserttext":[null,null,null,null,null,null]}],
 ["foo<b>[bar]</b>baz",
 	[["delete",""],["inserttext","a"]],
 	"foo<b>a[]</b>baz",
--- a/editing.html	Fri Sep 16 12:43:38 2011 -0600
+++ b/editing.html	Fri Sep 16 12:59:05 2011 -0600
@@ -2002,11 +2002,28 @@
     any fully transparent value, and <var title="">node</var>'s <a class=external data-anolis-spec=domcore href=http://dvcs.w3.org/hg/domcore/raw-file/tip/Overview.html#concept-tree-parent title=concept-tree-parent>parent</a> is an
     <code class=external data-anolis-spec=domcore><a href=http://dvcs.w3.org/hg/domcore/raw-file/tip/Overview.html#element>Element</a></code>, set <var title="">node</var> to its <a class=external data-anolis-spec=domcore href=http://dvcs.w3.org/hg/domcore/raw-file/tip/Overview.html#concept-tree-parent title=concept-tree-parent>parent</a>.
 
-    <li>If the <a href=http://dev.w3.org/csswg/cssom/#resolved-value>resolved value</a> of "background-color" on <var title="">node</var> is
-    a fully transparent value, return "rgb(255, 255, 255)".
-
-    <li>Otherwise, return the <a href=http://dev.w3.org/csswg/cssom/#resolved-value>resolved value</a> of "background-color" for
-    <var title="">node</var>.
+    <li>
+    <div class=comments>
+    <p>What happens if everything's background is fully transparent?  See <a href="http://www.w3.org/Bugs/Public/show_bug.cgi?id=14068">bug</a>.  If you
+    do queryCommandValue() for backColor/hiliteColor when no backgrounds are
+    set anywhere, so it goes up to the root element, no two engines agree.
+    IE10PP2 just returns a random-looking number (16777215).  Firefox 8.0a2
+    returns "transparent", Chrome 15 dev returns "rgba(0, 0, 0, 0)", and Opera
+    11.50 returns "rgb(255, 255, 255)".
+
+    <p>Opera's behavior is incorrect.  The current page might be an iframe, in
+    which case the background really will be transparent and the (inaccessible)
+    background color of the parent page will show through.  Also, the user
+    might have changed their preferences, but I'm not too worried about that.
+
+    <p>So instead we just return the value as-is.  This means that it will be
+    fully transparent, which is perhaps somewhat useless information, but it's
+    the best we can do.  More generally, any non-opaque value is not going to
+    tell you what you actually want, namely "what color is the user actually
+    seeing?"  We have no realistic way to work around this in the general case.
+    </div>
+
+    <p>Return the <a href=http://dev.w3.org/csswg/cssom/#resolved-value>resolved value</a> of "background-color" for <var title="">node</var>.
   </ol>
 
   <li>If <var title="">command</var> is "subscript" or "superscript":
--- a/implementation.js	Fri Sep 16 12:43:38 2011 -0600
+++ b/implementation.js	Fri Sep 16 12:59:05 2011 -0600
@@ -2063,16 +2063,7 @@
 			node = node.parentNode;
 		}
 
-		// "If the resolved value of "background-color" on node is a fully
-		// transparent value, return "rgb(255, 255, 255)"."
-		if (getComputedStyle(node).backgroundColor == "rgba(0, 0, 0, 0)"
-        || getComputedStyle(node).backgroundColor === ""
-        || getComputedStyle(node).backgroundColor == "transparent") {
-			return "rgb(255, 255, 255)";
-		}
-
-		// "Otherwise, return the resolved value of "background-color" for
-		// node."
+		// "Return the resolved value of "background-color" for node."
 		return getComputedStyle(node).backgroundColor;
 	}
 
--- a/source.html	Fri Sep 16 12:43:38 2011 -0600
+++ b/source.html	Fri Sep 16 12:59:05 2011 -0600
@@ -1982,11 +1982,29 @@
     any fully transparent value, and <var>node</var>'s [[parent]] is an
     [[element]], set <var>node</var> to its [[parent]].
 
-    <li>If the [[resval]] of "background-color" on <var>node</var> is
-    a fully transparent value, return "rgb(255, 255, 255)".
-
-    <li>Otherwise, return the [[resval]] of "background-color" for
-    <var>node</var>.
+    <li>
+    <div class=comments>
+    <p>What happens if everything's background is fully transparent?  See <a
+    href=http://www.w3.org/Bugs/Public/show_bug.cgi?id=14068>bug</a>.  If you
+    do queryCommandValue() for backColor/hiliteColor when no backgrounds are
+    set anywhere, so it goes up to the root element, no two engines agree.
+    IE10PP2 just returns a random-looking number (16777215).  Firefox 8.0a2
+    returns "transparent", Chrome 15 dev returns "rgba(0, 0, 0, 0)", and Opera
+    11.50 returns "rgb(255, 255, 255)".
+
+    <p>Opera's behavior is incorrect.  The current page might be an iframe, in
+    which case the background really will be transparent and the (inaccessible)
+    background color of the parent page will show through.  Also, the user
+    might have changed their preferences, but I'm not too worried about that.
+
+    <p>So instead we just return the value as-is.  This means that it will be
+    fully transparent, which is perhaps somewhat useless information, but it's
+    the best we can do.  More generally, any non-opaque value is not going to
+    tell you what you actually want, namely "what color is the user actually
+    seeing?"  We have no realistic way to work around this in the general case.
+    </div>
+
+    <p>Return the [[resval]] of "background-color" for <var>node</var>.
   </ol>
 
   <li>If <var>command</var> is "subscript" or "superscript":