summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authortc@google.com <tc@google.com@0039d316-1c4b-4281-b951-d872f2087c98>2008-12-15 20:34:03 +0000
committertc@google.com <tc@google.com@0039d316-1c4b-4281-b951-d872f2087c98>2008-12-15 20:34:03 +0000
commit80d676726524bbd6586ecf42b99094b041d73270 (patch)
tree1414a1d6e36ccc19cf858b68b986ff05ab87ac8c
parentbbbd545cc226d409d131afb806e1ae5df3e5aa73 (diff)
downloadchromium_src-80d676726524bbd6586ecf42b99094b041d73270.zip
chromium_src-80d676726524bbd6586ecf42b99094b041d73270.tar.gz
chromium_src-80d676726524bbd6586ecf42b99094b041d73270.tar.bz2
fix box shadows
We need to apply the context transform to the shadow before rendering it. There's also a weird case where we have to flip the y offset if we're not applying the transform. I'm not sure why this is necessary, but it allows us to pass canvas-shadow tests. BUG=5503 Review URL: http://codereview.chromium.org/14125 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@7002 0039d316-1c4b-4281-b951-d872f2087c98
-rwxr-xr-x[-rw-r--r--]webkit/data/layout_tests/platform/chromium-win/LayoutTests/fast/box-shadow/border-radius-big-expected.checksum2
-rwxr-xr-x[-rw-r--r--]webkit/data/layout_tests/platform/chromium-win/LayoutTests/fast/box-shadow/border-radius-big-expected.pngbin3304 -> 3360 bytes
-rwxr-xr-x[-rw-r--r--]webkit/data/layout_tests/platform/chromium-win/LayoutTests/fast/box-shadow/border-radius-big-expected.txt26
-rwxr-xr-x[-rw-r--r--]webkit/data/layout_tests/platform/chromium-win/LayoutTests/fast/repaint/box-shadow-dynamic-expected.checksum2
-rwxr-xr-x[-rw-r--r--]webkit/data/layout_tests/platform/chromium-win/LayoutTests/fast/repaint/box-shadow-dynamic-expected.pngbin3583 -> 3630 bytes
-rwxr-xr-x[-rw-r--r--]webkit/data/layout_tests/platform/chromium-win/LayoutTests/fast/repaint/box-shadow-dynamic-expected.txt28
-rwxr-xr-x[-rw-r--r--]webkit/data/layout_tests/platform/chromium-win/LayoutTests/fast/repaint/box-shadow-h-expected.checksum2
-rwxr-xr-x[-rw-r--r--]webkit/data/layout_tests/platform/chromium-win/LayoutTests/fast/repaint/box-shadow-h-expected.pngbin7711 -> 8291 bytes
-rwxr-xr-x[-rw-r--r--]webkit/data/layout_tests/platform/chromium-win/LayoutTests/fast/repaint/box-shadow-h-expected.txt278
-rwxr-xr-x[-rw-r--r--]webkit/data/layout_tests/platform/chromium-win/LayoutTests/fast/repaint/box-shadow-v-expected.checksum2
-rwxr-xr-x[-rw-r--r--]webkit/data/layout_tests/platform/chromium-win/LayoutTests/fast/repaint/box-shadow-v-expected.pngbin7711 -> 8291 bytes
-rwxr-xr-x[-rw-r--r--]webkit/data/layout_tests/platform/chromium-win/LayoutTests/fast/repaint/box-shadow-v-expected.txt278
-rw-r--r--webkit/port/platform/graphics/skia/GraphicsContextSkia.cpp31
-rw-r--r--webkit/tools/layout_tests/test_lists/tests_fixable.txt8
14 files changed, 335 insertions, 322 deletions
diff --git a/webkit/data/layout_tests/platform/chromium-win/LayoutTests/fast/box-shadow/border-radius-big-expected.checksum b/webkit/data/layout_tests/platform/chromium-win/LayoutTests/fast/box-shadow/border-radius-big-expected.checksum
index 1d77c31..884b58e 100644..100755
--- a/webkit/data/layout_tests/platform/chromium-win/LayoutTests/fast/box-shadow/border-radius-big-expected.checksum
+++ b/webkit/data/layout_tests/platform/chromium-win/LayoutTests/fast/box-shadow/border-radius-big-expected.checksum
@@ -1 +1 @@
-c2f9652a96207a9f1a4566c50333258d \ No newline at end of file
+af0701c6e8e8478be62d4a88a1d75ce6 \ No newline at end of file
diff --git a/webkit/data/layout_tests/platform/chromium-win/LayoutTests/fast/box-shadow/border-radius-big-expected.png b/webkit/data/layout_tests/platform/chromium-win/LayoutTests/fast/box-shadow/border-radius-big-expected.png
index 8be3aed..fe220f9 100644..100755
--- a/webkit/data/layout_tests/platform/chromium-win/LayoutTests/fast/box-shadow/border-radius-big-expected.png
+++ b/webkit/data/layout_tests/platform/chromium-win/LayoutTests/fast/box-shadow/border-radius-big-expected.png
Binary files differ
diff --git a/webkit/data/layout_tests/platform/chromium-win/LayoutTests/fast/box-shadow/border-radius-big-expected.txt b/webkit/data/layout_tests/platform/chromium-win/LayoutTests/fast/box-shadow/border-radius-big-expected.txt
index fe7a86e..c533296 100644..100755
--- a/webkit/data/layout_tests/platform/chromium-win/LayoutTests/fast/box-shadow/border-radius-big-expected.txt
+++ b/webkit/data/layout_tests/platform/chromium-win/LayoutTests/fast/box-shadow/border-radius-big-expected.txt
@@ -1,13 +1,13 @@
-layer at (0,0) size 800x600
- RenderView at (0,0) size 800x600
-layer at (0,0) size 800x600
- RenderBlock {HTML} at (0,0) size 800x600
- RenderBody {BODY} at (8,8) size 784x552
- RenderBlock {P} at (0,0) size 784x20
- RenderText {#text} at (0,0) size 28x19
- text run at (0,0) width 28: "This:"
- RenderBlock {DIV} at (40,60) size 60x60 [bgcolor=#008000]
- RenderBlock {P} at (0,160) size 784x20
- RenderText {#text} at (0,0) size 125x19
- text run at (0,0) width 125: "Should look like this:"
- RenderBlock {DIV} at (40,220) size 60x60 [bgcolor=#008000]
+layer at (0,0) size 800x600
+ RenderView at (0,0) size 800x600
+layer at (0,0) size 800x600
+ RenderBlock {HTML} at (0,0) size 800x600
+ RenderBody {BODY} at (8,8) size 784x552
+ RenderBlock {P} at (0,0) size 784x20
+ RenderText {#text} at (0,0) size 28x19
+ text run at (0,0) width 28: "This:"
+ RenderBlock {DIV} at (40,60) size 60x60 [bgcolor=#008000]
+ RenderBlock {P} at (0,160) size 784x20
+ RenderText {#text} at (0,0) size 125x19
+ text run at (0,0) width 125: "Should look like this:"
+ RenderBlock {DIV} at (40,220) size 60x60 [bgcolor=#008000]
diff --git a/webkit/data/layout_tests/platform/chromium-win/LayoutTests/fast/repaint/box-shadow-dynamic-expected.checksum b/webkit/data/layout_tests/platform/chromium-win/LayoutTests/fast/repaint/box-shadow-dynamic-expected.checksum
index c3edbee..878c6e1 100644..100755
--- a/webkit/data/layout_tests/platform/chromium-win/LayoutTests/fast/repaint/box-shadow-dynamic-expected.checksum
+++ b/webkit/data/layout_tests/platform/chromium-win/LayoutTests/fast/repaint/box-shadow-dynamic-expected.checksum
@@ -1 +1 @@
-b2e9e80244cff722a8d5e3187235e592 \ No newline at end of file
+1223542069056c98192afcc9d3e69cf7 \ No newline at end of file
diff --git a/webkit/data/layout_tests/platform/chromium-win/LayoutTests/fast/repaint/box-shadow-dynamic-expected.png b/webkit/data/layout_tests/platform/chromium-win/LayoutTests/fast/repaint/box-shadow-dynamic-expected.png
index 1b101a7..046357e 100644..100755
--- a/webkit/data/layout_tests/platform/chromium-win/LayoutTests/fast/repaint/box-shadow-dynamic-expected.png
+++ b/webkit/data/layout_tests/platform/chromium-win/LayoutTests/fast/repaint/box-shadow-dynamic-expected.png
Binary files differ
diff --git a/webkit/data/layout_tests/platform/chromium-win/LayoutTests/fast/repaint/box-shadow-dynamic-expected.txt b/webkit/data/layout_tests/platform/chromium-win/LayoutTests/fast/repaint/box-shadow-dynamic-expected.txt
index ccc55f9..9aea841 100644..100755
--- a/webkit/data/layout_tests/platform/chromium-win/LayoutTests/fast/repaint/box-shadow-dynamic-expected.txt
+++ b/webkit/data/layout_tests/platform/chromium-win/LayoutTests/fast/repaint/box-shadow-dynamic-expected.txt
@@ -1,14 +1,14 @@
-layer at (0,0) size 800x600
- RenderView at (0,0) size 800x600
-layer at (0,0) size 800x300
- RenderBlock {HTML} at (0,0) size 800x300
- RenderBody {BODY} at (8,16) size 784x276
- RenderBlock {P} at (0,0) size 784x20
- RenderText {#text} at (0,0) size 365x19
- text run at (0,0) width 365: "Tests the repainting of box shadows when boxes are resized."
- RenderBlock {DIV} at (0,36) size 70x120
- RenderBlock {DIV} at (10,20) size 50x50 [bgcolor=#FFFF77]
- RenderBlock {DIV} at (10,0) size 30x50
- RenderBlock {DIV} at (0,156) size 70x120
- RenderBlock {DIV} at (10,20) size 50x50 [bgcolor=#FFFF77]
- RenderBlock {DIV} at (10,0) size 30x50
+layer at (0,0) size 800x600
+ RenderView at (0,0) size 800x600
+layer at (0,0) size 800x300
+ RenderBlock {HTML} at (0,0) size 800x300
+ RenderBody {BODY} at (8,16) size 784x276
+ RenderBlock {P} at (0,0) size 784x20
+ RenderText {#text} at (0,0) size 365x19
+ text run at (0,0) width 365: "Tests the repainting of box shadows when boxes are resized."
+ RenderBlock {DIV} at (0,36) size 70x120
+ RenderBlock {DIV} at (10,20) size 50x50 [bgcolor=#FFFF77]
+ RenderBlock {DIV} at (10,0) size 30x50
+ RenderBlock {DIV} at (0,156) size 70x120
+ RenderBlock {DIV} at (10,20) size 50x50 [bgcolor=#FFFF77]
+ RenderBlock {DIV} at (10,0) size 30x50
diff --git a/webkit/data/layout_tests/platform/chromium-win/LayoutTests/fast/repaint/box-shadow-h-expected.checksum b/webkit/data/layout_tests/platform/chromium-win/LayoutTests/fast/repaint/box-shadow-h-expected.checksum
index 67b6953..d2477ad 100644..100755
--- a/webkit/data/layout_tests/platform/chromium-win/LayoutTests/fast/repaint/box-shadow-h-expected.checksum
+++ b/webkit/data/layout_tests/platform/chromium-win/LayoutTests/fast/repaint/box-shadow-h-expected.checksum
@@ -1 +1 @@
-ad189a9dccf4e425c05f92160ee71d42 \ No newline at end of file
+f3db54e8a0de8f7d888fd115c4041097 \ No newline at end of file
diff --git a/webkit/data/layout_tests/platform/chromium-win/LayoutTests/fast/repaint/box-shadow-h-expected.png b/webkit/data/layout_tests/platform/chromium-win/LayoutTests/fast/repaint/box-shadow-h-expected.png
index 416d913..4ba60eb 100644..100755
--- a/webkit/data/layout_tests/platform/chromium-win/LayoutTests/fast/repaint/box-shadow-h-expected.png
+++ b/webkit/data/layout_tests/platform/chromium-win/LayoutTests/fast/repaint/box-shadow-h-expected.png
Binary files differ
diff --git a/webkit/data/layout_tests/platform/chromium-win/LayoutTests/fast/repaint/box-shadow-h-expected.txt b/webkit/data/layout_tests/platform/chromium-win/LayoutTests/fast/repaint/box-shadow-h-expected.txt
index d68580e..adee5c2 100644..100755
--- a/webkit/data/layout_tests/platform/chromium-win/LayoutTests/fast/repaint/box-shadow-h-expected.txt
+++ b/webkit/data/layout_tests/platform/chromium-win/LayoutTests/fast/repaint/box-shadow-h-expected.txt
@@ -1,139 +1,139 @@
-layer at (0,0) size 800x600
- RenderView at (0,0) size 800x600
-layer at (0,0) size 800x521
- RenderBlock {HTML} at (0,0) size 800x8
- RenderBody {BODY} at (8,8) size 784x0
- RenderBlock (floating) {DIV} at (0,0) size 115x513
- RenderBlock {DIV} at (10,10) size 40x40 [bgcolor=#FFFF77]
- RenderTable {TABLE} at (10,290) size 40x40 [bgcolor=#FFFF77]
- RenderBlock (anonymous) at (0,340) size 115x65
- RenderHTMLCanvas {CANVAS} at (10,10) size 40x40 [bgcolor=#FFFF77]
- RenderText {#text} at (0,0) size 0x0
- RenderBlock {P} at (0,421) size 115x20
- RenderText {#text} at (0,0) size 44x19
- text run at (0,0) width 44: "Lorem "
- RenderInline {SPAN} at (0,0) size 35x19
- RenderText {#text} at (44,0) size 35x19
- text run at (44,0) width 35: "ipsum"
- RenderText {#text} at (79,0) size 36x19
- text run at (79,0) width 36: " dolor"
- RenderBlock {P} at (0,457) size 115x40
- RenderText {#text} at (0,0) size 79x19
- text run at (0,0) width 79: "Lorem ipsum"
- RenderBR {BR} at (79,0) size 0x19
- RenderText {#text} at (0,20) size 82x19
- text run at (0,20) width 82: "dolor sit amet"
- RenderBlock (floating) {DIV} at (125,0) size 115x457
- RenderBlock {DIV} at (10,10) size 40x40 [bgcolor=#FFFF77]
- RenderTable {TABLE} at (10,290) size 40x40 [bgcolor=#FFFF77]
- RenderBlock (anonymous) at (0,340) size 115x65
- RenderHTMLCanvas {CANVAS} at (10,10) size 40x40 [bgcolor=#FFFF77]
- RenderText {#text} at (0,0) size 0x0
- RenderBlock {P} at (0,421) size 115x20
- RenderText {#text} at (0,0) size 44x19
- text run at (0,0) width 44: "Lorem "
- RenderInline {SPAN} at (0,0) size 35x19
- RenderText {#text} at (44,0) size 35x19
- text run at (44,0) width 35: "ipsum"
- RenderText {#text} at (79,0) size 36x19
- text run at (79,0) width 36: " dolor"
- RenderBlock (floating) {DIV} at (250,0) size 115x457
- RenderBlock {DIV} at (10,10) size 40x40 [bgcolor=#FFFF77]
- RenderTable {TABLE} at (10,290) size 40x40 [bgcolor=#FFFF77]
- RenderBlock (anonymous) at (0,340) size 115x65
- RenderHTMLCanvas {CANVAS} at (10,10) size 40x40 [bgcolor=#FFFF77]
- RenderText {#text} at (0,0) size 0x0
- RenderBlock {P} at (0,421) size 115x20
- RenderText {#text} at (0,0) size 44x19
- text run at (0,0) width 44: "Lorem "
- RenderInline {SPAN} at (0,0) size 35x19
- RenderText {#text} at (44,0) size 35x19
- text run at (44,0) width 35: "ipsum"
- RenderText {#text} at (79,0) size 36x19
- text run at (79,0) width 36: " dolor"
- RenderBlock (floating) {DIV} at (375,0) size 115x457
- RenderBlock {DIV} at (10,10) size 40x40 [bgcolor=#FFFF77]
- RenderTable {TABLE} at (10,290) size 40x40 [bgcolor=#FFFF77]
- RenderBlock (anonymous) at (0,340) size 115x65
- RenderHTMLCanvas {CANVAS} at (10,10) size 40x40 [bgcolor=#FFFF77]
- RenderText {#text} at (0,0) size 0x0
- RenderBlock {P} at (0,421) size 115x20
- RenderText {#text} at (0,0) size 44x19
- text run at (0,0) width 44: "Lorem "
- RenderInline {SPAN} at (0,0) size 35x19
- RenderText {#text} at (44,0) size 35x19
- text run at (44,0) width 35: "ipsum"
- RenderText {#text} at (79,0) size 36x19
- text run at (79,0) width 36: " dolor"
- RenderBlock (floating) {DIV} at (500,0) size 115x457
- RenderBlock {DIV} at (10,10) size 40x40 [bgcolor=#FFFF77]
- RenderTable {TABLE} at (10,290) size 40x40 [bgcolor=#FFFF77]
- RenderBlock (anonymous) at (0,340) size 115x65
- RenderHTMLCanvas {CANVAS} at (10,10) size 40x40 [bgcolor=#FFFF77]
- RenderText {#text} at (0,0) size 0x0
- RenderBlock {P} at (0,421) size 115x20
- RenderText {#text} at (0,0) size 44x19
- text run at (0,0) width 44: "Lorem "
- RenderInline {SPAN} at (0,0) size 35x19
- RenderText {#text} at (44,0) size 35x19
- text run at (44,0) width 35: "ipsum"
- RenderText {#text} at (79,0) size 36x19
- text run at (79,0) width 36: " dolor"
-layer at (18,248) size 40x40
- RenderBlock {DIV} at (10,240) size 40x40 [bgcolor=#FFFF77]
-layer at (143,248) size 40x40
- RenderBlock {DIV} at (10,240) size 40x40 [bgcolor=#FFFF77]
-layer at (268,248) size 40x40
- RenderBlock {DIV} at (10,240) size 40x40 [bgcolor=#FFFF77]
-layer at (393,248) size 40x40
- RenderBlock {DIV} at (10,240) size 40x40 [bgcolor=#FFFF77]
-layer at (518,248) size 40x40
- RenderBlock {DIV} at (10,240) size 40x40 [bgcolor=#FFFF77]
-layer at (8,68) size 60x60
- RenderBlock (relative positioned) {DIV} at (0,60) size 60x60
-layer at (18,78) size 40x40
- RenderBlock (positioned) {DIV} at (10,10) size 40x40 [bgcolor=#FFFF77]
-layer at (8,128) size 60x60
- RenderBlock (relative positioned) {DIV} at (0,120) size 60x60
-layer at (18,138) size 40x40 backgroundClip at (13,133) size 5x5 clip at (13,133) size 5x5 outlineClip at (13,133) size 5x5
- RenderBlock (positioned) {DIV} at (10,10) size 40x40 [bgcolor=#FFFF77]
-layer at (18,198) size 40x40
- RenderBlock {DIV} at (10,190) size 40x40 [bgcolor=#FFFF77]
-layer at (133,68) size 60x60
- RenderBlock (relative positioned) {DIV} at (0,60) size 60x60
-layer at (143,78) size 40x45
- RenderBlock (positioned) {DIV} at (10,10) size 40x40 [bgcolor=#FFFF77]
-layer at (133,128) size 60x60
- RenderBlock (relative positioned) {DIV} at (0,120) size 60x60
-layer at (143,138) size 40x45 backgroundClip at (138,178) size 5x5 clip at (138,178) size 5x5 outlineClip at (138,178) size 5x5
- RenderBlock (positioned) {DIV} at (10,10) size 40x40 [bgcolor=#FFFF77]
-layer at (143,198) size 40x45
- RenderBlock {DIV} at (10,190) size 40x40 [bgcolor=#FFFF77]
-layer at (258,68) size 60x60
- RenderBlock (relative positioned) {DIV} at (0,60) size 60x60
-layer at (268,78) size 45x45
- RenderBlock (positioned) {DIV} at (10,10) size 40x40 [bgcolor=#FFFF77]
-layer at (258,128) size 60x60
- RenderBlock (relative positioned) {DIV} at (0,120) size 60x60
-layer at (268,138) size 45x45 backgroundClip at (308,178) size 5x5 clip at (308,178) size 5x5 outlineClip at (308,178) size 5x5
- RenderBlock (positioned) {DIV} at (10,10) size 40x40 [bgcolor=#FFFF77]
-layer at (268,198) size 45x45
- RenderBlock {DIV} at (10,190) size 40x40 [bgcolor=#FFFF77]
-layer at (383,68) size 60x60
- RenderBlock (relative positioned) {DIV} at (0,60) size 60x60
-layer at (393,78) size 45x40
- RenderBlock (positioned) {DIV} at (10,10) size 40x40 [bgcolor=#FFFF77]
-layer at (383,128) size 60x60
- RenderBlock (relative positioned) {DIV} at (0,120) size 60x60
-layer at (393,138) size 45x40 backgroundClip at (433,133) size 5x5 clip at (433,133) size 5x5 outlineClip at (433,133) size 5x5
- RenderBlock (positioned) {DIV} at (10,10) size 40x40 [bgcolor=#FFFF77]
-layer at (393,198) size 45x40
- RenderBlock {DIV} at (10,190) size 40x40 [bgcolor=#FFFF77]
-layer at (508,68) size 60x60
- RenderBlock (relative positioned) {DIV} at (0,60) size 60x60
-layer at (518,78) size 45x45
- RenderBlock (positioned) {DIV} at (10,10) size 40x40 [bgcolor=#FFFF77]
-layer at (508,128) size 60x60
- RenderBlock (relative positioned) {DIV} at (0,120) size 60x60
-layer at (518,198) size 45x45
- RenderBlock {DIV} at (10,190) size 40x40 [bgcolor=#FFFF77]
+layer at (0,0) size 800x600
+ RenderView at (0,0) size 800x600
+layer at (0,0) size 800x521
+ RenderBlock {HTML} at (0,0) size 800x8
+ RenderBody {BODY} at (8,8) size 784x0
+ RenderBlock (floating) {DIV} at (0,0) size 115x513
+ RenderBlock {DIV} at (10,10) size 40x40 [bgcolor=#FFFF77]
+ RenderTable {TABLE} at (10,290) size 40x40 [bgcolor=#FFFF77]
+ RenderBlock (anonymous) at (0,340) size 115x65
+ RenderHTMLCanvas {CANVAS} at (10,10) size 40x40 [bgcolor=#FFFF77]
+ RenderText {#text} at (0,0) size 0x0
+ RenderBlock {P} at (0,421) size 115x20
+ RenderText {#text} at (0,0) size 44x19
+ text run at (0,0) width 44: "Lorem "
+ RenderInline {SPAN} at (0,0) size 35x19
+ RenderText {#text} at (44,0) size 35x19
+ text run at (44,0) width 35: "ipsum"
+ RenderText {#text} at (79,0) size 36x19
+ text run at (79,0) width 36: " dolor"
+ RenderBlock {P} at (0,457) size 115x40
+ RenderText {#text} at (0,0) size 79x19
+ text run at (0,0) width 79: "Lorem ipsum"
+ RenderBR {BR} at (79,0) size 0x19
+ RenderText {#text} at (0,20) size 82x19
+ text run at (0,20) width 82: "dolor sit amet"
+ RenderBlock (floating) {DIV} at (125,0) size 115x457
+ RenderBlock {DIV} at (10,10) size 40x40 [bgcolor=#FFFF77]
+ RenderTable {TABLE} at (10,290) size 40x40 [bgcolor=#FFFF77]
+ RenderBlock (anonymous) at (0,340) size 115x65
+ RenderHTMLCanvas {CANVAS} at (10,10) size 40x40 [bgcolor=#FFFF77]
+ RenderText {#text} at (0,0) size 0x0
+ RenderBlock {P} at (0,421) size 115x20
+ RenderText {#text} at (0,0) size 44x19
+ text run at (0,0) width 44: "Lorem "
+ RenderInline {SPAN} at (0,0) size 35x19
+ RenderText {#text} at (44,0) size 35x19
+ text run at (44,0) width 35: "ipsum"
+ RenderText {#text} at (79,0) size 36x19
+ text run at (79,0) width 36: " dolor"
+ RenderBlock (floating) {DIV} at (250,0) size 115x457
+ RenderBlock {DIV} at (10,10) size 40x40 [bgcolor=#FFFF77]
+ RenderTable {TABLE} at (10,290) size 40x40 [bgcolor=#FFFF77]
+ RenderBlock (anonymous) at (0,340) size 115x65
+ RenderHTMLCanvas {CANVAS} at (10,10) size 40x40 [bgcolor=#FFFF77]
+ RenderText {#text} at (0,0) size 0x0
+ RenderBlock {P} at (0,421) size 115x20
+ RenderText {#text} at (0,0) size 44x19
+ text run at (0,0) width 44: "Lorem "
+ RenderInline {SPAN} at (0,0) size 35x19
+ RenderText {#text} at (44,0) size 35x19
+ text run at (44,0) width 35: "ipsum"
+ RenderText {#text} at (79,0) size 36x19
+ text run at (79,0) width 36: " dolor"
+ RenderBlock (floating) {DIV} at (375,0) size 115x457
+ RenderBlock {DIV} at (10,10) size 40x40 [bgcolor=#FFFF77]
+ RenderTable {TABLE} at (10,290) size 40x40 [bgcolor=#FFFF77]
+ RenderBlock (anonymous) at (0,340) size 115x65
+ RenderHTMLCanvas {CANVAS} at (10,10) size 40x40 [bgcolor=#FFFF77]
+ RenderText {#text} at (0,0) size 0x0
+ RenderBlock {P} at (0,421) size 115x20
+ RenderText {#text} at (0,0) size 44x19
+ text run at (0,0) width 44: "Lorem "
+ RenderInline {SPAN} at (0,0) size 35x19
+ RenderText {#text} at (44,0) size 35x19
+ text run at (44,0) width 35: "ipsum"
+ RenderText {#text} at (79,0) size 36x19
+ text run at (79,0) width 36: " dolor"
+ RenderBlock (floating) {DIV} at (500,0) size 115x457
+ RenderBlock {DIV} at (10,10) size 40x40 [bgcolor=#FFFF77]
+ RenderTable {TABLE} at (10,290) size 40x40 [bgcolor=#FFFF77]
+ RenderBlock (anonymous) at (0,340) size 115x65
+ RenderHTMLCanvas {CANVAS} at (10,10) size 40x40 [bgcolor=#FFFF77]
+ RenderText {#text} at (0,0) size 0x0
+ RenderBlock {P} at (0,421) size 115x20
+ RenderText {#text} at (0,0) size 44x19
+ text run at (0,0) width 44: "Lorem "
+ RenderInline {SPAN} at (0,0) size 35x19
+ RenderText {#text} at (44,0) size 35x19
+ text run at (44,0) width 35: "ipsum"
+ RenderText {#text} at (79,0) size 36x19
+ text run at (79,0) width 36: " dolor"
+layer at (18,248) size 40x40
+ RenderBlock {DIV} at (10,240) size 40x40 [bgcolor=#FFFF77]
+layer at (143,248) size 40x40
+ RenderBlock {DIV} at (10,240) size 40x40 [bgcolor=#FFFF77]
+layer at (268,248) size 40x40
+ RenderBlock {DIV} at (10,240) size 40x40 [bgcolor=#FFFF77]
+layer at (393,248) size 40x40
+ RenderBlock {DIV} at (10,240) size 40x40 [bgcolor=#FFFF77]
+layer at (518,248) size 40x40
+ RenderBlock {DIV} at (10,240) size 40x40 [bgcolor=#FFFF77]
+layer at (8,68) size 60x60
+ RenderBlock (relative positioned) {DIV} at (0,60) size 60x60
+layer at (18,78) size 40x40
+ RenderBlock (positioned) {DIV} at (10,10) size 40x40 [bgcolor=#FFFF77]
+layer at (8,128) size 60x60
+ RenderBlock (relative positioned) {DIV} at (0,120) size 60x60
+layer at (18,138) size 40x40 backgroundClip at (13,133) size 5x5 clip at (13,133) size 5x5 outlineClip at (13,133) size 5x5
+ RenderBlock (positioned) {DIV} at (10,10) size 40x40 [bgcolor=#FFFF77]
+layer at (18,198) size 40x40
+ RenderBlock {DIV} at (10,190) size 40x40 [bgcolor=#FFFF77]
+layer at (133,68) size 60x60
+ RenderBlock (relative positioned) {DIV} at (0,60) size 60x60
+layer at (143,78) size 40x45
+ RenderBlock (positioned) {DIV} at (10,10) size 40x40 [bgcolor=#FFFF77]
+layer at (133,128) size 60x60
+ RenderBlock (relative positioned) {DIV} at (0,120) size 60x60
+layer at (143,138) size 40x45 backgroundClip at (138,178) size 5x5 clip at (138,178) size 5x5 outlineClip at (138,178) size 5x5
+ RenderBlock (positioned) {DIV} at (10,10) size 40x40 [bgcolor=#FFFF77]
+layer at (143,198) size 40x45
+ RenderBlock {DIV} at (10,190) size 40x40 [bgcolor=#FFFF77]
+layer at (258,68) size 60x60
+ RenderBlock (relative positioned) {DIV} at (0,60) size 60x60
+layer at (268,78) size 45x45
+ RenderBlock (positioned) {DIV} at (10,10) size 40x40 [bgcolor=#FFFF77]
+layer at (258,128) size 60x60
+ RenderBlock (relative positioned) {DIV} at (0,120) size 60x60
+layer at (268,138) size 45x45 backgroundClip at (308,178) size 5x5 clip at (308,178) size 5x5 outlineClip at (308,178) size 5x5
+ RenderBlock (positioned) {DIV} at (10,10) size 40x40 [bgcolor=#FFFF77]
+layer at (268,198) size 45x45
+ RenderBlock {DIV} at (10,190) size 40x40 [bgcolor=#FFFF77]
+layer at (383,68) size 60x60
+ RenderBlock (relative positioned) {DIV} at (0,60) size 60x60
+layer at (393,78) size 45x40
+ RenderBlock (positioned) {DIV} at (10,10) size 40x40 [bgcolor=#FFFF77]
+layer at (383,128) size 60x60
+ RenderBlock (relative positioned) {DIV} at (0,120) size 60x60
+layer at (393,138) size 45x40 backgroundClip at (433,133) size 5x5 clip at (433,133) size 5x5 outlineClip at (433,133) size 5x5
+ RenderBlock (positioned) {DIV} at (10,10) size 40x40 [bgcolor=#FFFF77]
+layer at (393,198) size 45x40
+ RenderBlock {DIV} at (10,190) size 40x40 [bgcolor=#FFFF77]
+layer at (508,68) size 60x60
+ RenderBlock (relative positioned) {DIV} at (0,60) size 60x60
+layer at (518,78) size 45x45
+ RenderBlock (positioned) {DIV} at (10,10) size 40x40 [bgcolor=#FFFF77]
+layer at (508,128) size 60x60
+ RenderBlock (relative positioned) {DIV} at (0,120) size 60x60
+layer at (518,198) size 45x45
+ RenderBlock {DIV} at (10,190) size 40x40 [bgcolor=#FFFF77]
diff --git a/webkit/data/layout_tests/platform/chromium-win/LayoutTests/fast/repaint/box-shadow-v-expected.checksum b/webkit/data/layout_tests/platform/chromium-win/LayoutTests/fast/repaint/box-shadow-v-expected.checksum
index 67b6953..d2477ad 100644..100755
--- a/webkit/data/layout_tests/platform/chromium-win/LayoutTests/fast/repaint/box-shadow-v-expected.checksum
+++ b/webkit/data/layout_tests/platform/chromium-win/LayoutTests/fast/repaint/box-shadow-v-expected.checksum
@@ -1 +1 @@
-ad189a9dccf4e425c05f92160ee71d42 \ No newline at end of file
+f3db54e8a0de8f7d888fd115c4041097 \ No newline at end of file
diff --git a/webkit/data/layout_tests/platform/chromium-win/LayoutTests/fast/repaint/box-shadow-v-expected.png b/webkit/data/layout_tests/platform/chromium-win/LayoutTests/fast/repaint/box-shadow-v-expected.png
index 416d913..4ba60eb 100644..100755
--- a/webkit/data/layout_tests/platform/chromium-win/LayoutTests/fast/repaint/box-shadow-v-expected.png
+++ b/webkit/data/layout_tests/platform/chromium-win/LayoutTests/fast/repaint/box-shadow-v-expected.png
Binary files differ
diff --git a/webkit/data/layout_tests/platform/chromium-win/LayoutTests/fast/repaint/box-shadow-v-expected.txt b/webkit/data/layout_tests/platform/chromium-win/LayoutTests/fast/repaint/box-shadow-v-expected.txt
index d68580e..adee5c2 100644..100755
--- a/webkit/data/layout_tests/platform/chromium-win/LayoutTests/fast/repaint/box-shadow-v-expected.txt
+++ b/webkit/data/layout_tests/platform/chromium-win/LayoutTests/fast/repaint/box-shadow-v-expected.txt
@@ -1,139 +1,139 @@
-layer at (0,0) size 800x600
- RenderView at (0,0) size 800x600
-layer at (0,0) size 800x521
- RenderBlock {HTML} at (0,0) size 800x8
- RenderBody {BODY} at (8,8) size 784x0
- RenderBlock (floating) {DIV} at (0,0) size 115x513
- RenderBlock {DIV} at (10,10) size 40x40 [bgcolor=#FFFF77]
- RenderTable {TABLE} at (10,290) size 40x40 [bgcolor=#FFFF77]
- RenderBlock (anonymous) at (0,340) size 115x65
- RenderHTMLCanvas {CANVAS} at (10,10) size 40x40 [bgcolor=#FFFF77]
- RenderText {#text} at (0,0) size 0x0
- RenderBlock {P} at (0,421) size 115x20
- RenderText {#text} at (0,0) size 44x19
- text run at (0,0) width 44: "Lorem "
- RenderInline {SPAN} at (0,0) size 35x19
- RenderText {#text} at (44,0) size 35x19
- text run at (44,0) width 35: "ipsum"
- RenderText {#text} at (79,0) size 36x19
- text run at (79,0) width 36: " dolor"
- RenderBlock {P} at (0,457) size 115x40
- RenderText {#text} at (0,0) size 79x19
- text run at (0,0) width 79: "Lorem ipsum"
- RenderBR {BR} at (79,0) size 0x19
- RenderText {#text} at (0,20) size 82x19
- text run at (0,20) width 82: "dolor sit amet"
- RenderBlock (floating) {DIV} at (125,0) size 115x457
- RenderBlock {DIV} at (10,10) size 40x40 [bgcolor=#FFFF77]
- RenderTable {TABLE} at (10,290) size 40x40 [bgcolor=#FFFF77]
- RenderBlock (anonymous) at (0,340) size 115x65
- RenderHTMLCanvas {CANVAS} at (10,10) size 40x40 [bgcolor=#FFFF77]
- RenderText {#text} at (0,0) size 0x0
- RenderBlock {P} at (0,421) size 115x20
- RenderText {#text} at (0,0) size 44x19
- text run at (0,0) width 44: "Lorem "
- RenderInline {SPAN} at (0,0) size 35x19
- RenderText {#text} at (44,0) size 35x19
- text run at (44,0) width 35: "ipsum"
- RenderText {#text} at (79,0) size 36x19
- text run at (79,0) width 36: " dolor"
- RenderBlock (floating) {DIV} at (250,0) size 115x457
- RenderBlock {DIV} at (10,10) size 40x40 [bgcolor=#FFFF77]
- RenderTable {TABLE} at (10,290) size 40x40 [bgcolor=#FFFF77]
- RenderBlock (anonymous) at (0,340) size 115x65
- RenderHTMLCanvas {CANVAS} at (10,10) size 40x40 [bgcolor=#FFFF77]
- RenderText {#text} at (0,0) size 0x0
- RenderBlock {P} at (0,421) size 115x20
- RenderText {#text} at (0,0) size 44x19
- text run at (0,0) width 44: "Lorem "
- RenderInline {SPAN} at (0,0) size 35x19
- RenderText {#text} at (44,0) size 35x19
- text run at (44,0) width 35: "ipsum"
- RenderText {#text} at (79,0) size 36x19
- text run at (79,0) width 36: " dolor"
- RenderBlock (floating) {DIV} at (375,0) size 115x457
- RenderBlock {DIV} at (10,10) size 40x40 [bgcolor=#FFFF77]
- RenderTable {TABLE} at (10,290) size 40x40 [bgcolor=#FFFF77]
- RenderBlock (anonymous) at (0,340) size 115x65
- RenderHTMLCanvas {CANVAS} at (10,10) size 40x40 [bgcolor=#FFFF77]
- RenderText {#text} at (0,0) size 0x0
- RenderBlock {P} at (0,421) size 115x20
- RenderText {#text} at (0,0) size 44x19
- text run at (0,0) width 44: "Lorem "
- RenderInline {SPAN} at (0,0) size 35x19
- RenderText {#text} at (44,0) size 35x19
- text run at (44,0) width 35: "ipsum"
- RenderText {#text} at (79,0) size 36x19
- text run at (79,0) width 36: " dolor"
- RenderBlock (floating) {DIV} at (500,0) size 115x457
- RenderBlock {DIV} at (10,10) size 40x40 [bgcolor=#FFFF77]
- RenderTable {TABLE} at (10,290) size 40x40 [bgcolor=#FFFF77]
- RenderBlock (anonymous) at (0,340) size 115x65
- RenderHTMLCanvas {CANVAS} at (10,10) size 40x40 [bgcolor=#FFFF77]
- RenderText {#text} at (0,0) size 0x0
- RenderBlock {P} at (0,421) size 115x20
- RenderText {#text} at (0,0) size 44x19
- text run at (0,0) width 44: "Lorem "
- RenderInline {SPAN} at (0,0) size 35x19
- RenderText {#text} at (44,0) size 35x19
- text run at (44,0) width 35: "ipsum"
- RenderText {#text} at (79,0) size 36x19
- text run at (79,0) width 36: " dolor"
-layer at (18,248) size 40x40
- RenderBlock {DIV} at (10,240) size 40x40 [bgcolor=#FFFF77]
-layer at (143,248) size 40x40
- RenderBlock {DIV} at (10,240) size 40x40 [bgcolor=#FFFF77]
-layer at (268,248) size 40x40
- RenderBlock {DIV} at (10,240) size 40x40 [bgcolor=#FFFF77]
-layer at (393,248) size 40x40
- RenderBlock {DIV} at (10,240) size 40x40 [bgcolor=#FFFF77]
-layer at (518,248) size 40x40
- RenderBlock {DIV} at (10,240) size 40x40 [bgcolor=#FFFF77]
-layer at (8,68) size 60x60
- RenderBlock (relative positioned) {DIV} at (0,60) size 60x60
-layer at (18,78) size 40x40
- RenderBlock (positioned) {DIV} at (10,10) size 40x40 [bgcolor=#FFFF77]
-layer at (8,128) size 60x60
- RenderBlock (relative positioned) {DIV} at (0,120) size 60x60
-layer at (18,138) size 40x40 backgroundClip at (13,133) size 5x5 clip at (13,133) size 5x5 outlineClip at (13,133) size 5x5
- RenderBlock (positioned) {DIV} at (10,10) size 40x40 [bgcolor=#FFFF77]
-layer at (18,198) size 40x40
- RenderBlock {DIV} at (10,190) size 40x40 [bgcolor=#FFFF77]
-layer at (133,68) size 60x60
- RenderBlock (relative positioned) {DIV} at (0,60) size 60x60
-layer at (143,78) size 40x45
- RenderBlock (positioned) {DIV} at (10,10) size 40x40 [bgcolor=#FFFF77]
-layer at (133,128) size 60x60
- RenderBlock (relative positioned) {DIV} at (0,120) size 60x60
-layer at (143,138) size 40x45 backgroundClip at (138,178) size 5x5 clip at (138,178) size 5x5 outlineClip at (138,178) size 5x5
- RenderBlock (positioned) {DIV} at (10,10) size 40x40 [bgcolor=#FFFF77]
-layer at (143,198) size 40x45
- RenderBlock {DIV} at (10,190) size 40x40 [bgcolor=#FFFF77]
-layer at (258,68) size 60x60
- RenderBlock (relative positioned) {DIV} at (0,60) size 60x60
-layer at (268,78) size 45x45
- RenderBlock (positioned) {DIV} at (10,10) size 40x40 [bgcolor=#FFFF77]
-layer at (258,128) size 60x60
- RenderBlock (relative positioned) {DIV} at (0,120) size 60x60
-layer at (268,138) size 45x45 backgroundClip at (308,178) size 5x5 clip at (308,178) size 5x5 outlineClip at (308,178) size 5x5
- RenderBlock (positioned) {DIV} at (10,10) size 40x40 [bgcolor=#FFFF77]
-layer at (268,198) size 45x45
- RenderBlock {DIV} at (10,190) size 40x40 [bgcolor=#FFFF77]
-layer at (383,68) size 60x60
- RenderBlock (relative positioned) {DIV} at (0,60) size 60x60
-layer at (393,78) size 45x40
- RenderBlock (positioned) {DIV} at (10,10) size 40x40 [bgcolor=#FFFF77]
-layer at (383,128) size 60x60
- RenderBlock (relative positioned) {DIV} at (0,120) size 60x60
-layer at (393,138) size 45x40 backgroundClip at (433,133) size 5x5 clip at (433,133) size 5x5 outlineClip at (433,133) size 5x5
- RenderBlock (positioned) {DIV} at (10,10) size 40x40 [bgcolor=#FFFF77]
-layer at (393,198) size 45x40
- RenderBlock {DIV} at (10,190) size 40x40 [bgcolor=#FFFF77]
-layer at (508,68) size 60x60
- RenderBlock (relative positioned) {DIV} at (0,60) size 60x60
-layer at (518,78) size 45x45
- RenderBlock (positioned) {DIV} at (10,10) size 40x40 [bgcolor=#FFFF77]
-layer at (508,128) size 60x60
- RenderBlock (relative positioned) {DIV} at (0,120) size 60x60
-layer at (518,198) size 45x45
- RenderBlock {DIV} at (10,190) size 40x40 [bgcolor=#FFFF77]
+layer at (0,0) size 800x600
+ RenderView at (0,0) size 800x600
+layer at (0,0) size 800x521
+ RenderBlock {HTML} at (0,0) size 800x8
+ RenderBody {BODY} at (8,8) size 784x0
+ RenderBlock (floating) {DIV} at (0,0) size 115x513
+ RenderBlock {DIV} at (10,10) size 40x40 [bgcolor=#FFFF77]
+ RenderTable {TABLE} at (10,290) size 40x40 [bgcolor=#FFFF77]
+ RenderBlock (anonymous) at (0,340) size 115x65
+ RenderHTMLCanvas {CANVAS} at (10,10) size 40x40 [bgcolor=#FFFF77]
+ RenderText {#text} at (0,0) size 0x0
+ RenderBlock {P} at (0,421) size 115x20
+ RenderText {#text} at (0,0) size 44x19
+ text run at (0,0) width 44: "Lorem "
+ RenderInline {SPAN} at (0,0) size 35x19
+ RenderText {#text} at (44,0) size 35x19
+ text run at (44,0) width 35: "ipsum"
+ RenderText {#text} at (79,0) size 36x19
+ text run at (79,0) width 36: " dolor"
+ RenderBlock {P} at (0,457) size 115x40
+ RenderText {#text} at (0,0) size 79x19
+ text run at (0,0) width 79: "Lorem ipsum"
+ RenderBR {BR} at (79,0) size 0x19
+ RenderText {#text} at (0,20) size 82x19
+ text run at (0,20) width 82: "dolor sit amet"
+ RenderBlock (floating) {DIV} at (125,0) size 115x457
+ RenderBlock {DIV} at (10,10) size 40x40 [bgcolor=#FFFF77]
+ RenderTable {TABLE} at (10,290) size 40x40 [bgcolor=#FFFF77]
+ RenderBlock (anonymous) at (0,340) size 115x65
+ RenderHTMLCanvas {CANVAS} at (10,10) size 40x40 [bgcolor=#FFFF77]
+ RenderText {#text} at (0,0) size 0x0
+ RenderBlock {P} at (0,421) size 115x20
+ RenderText {#text} at (0,0) size 44x19
+ text run at (0,0) width 44: "Lorem "
+ RenderInline {SPAN} at (0,0) size 35x19
+ RenderText {#text} at (44,0) size 35x19
+ text run at (44,0) width 35: "ipsum"
+ RenderText {#text} at (79,0) size 36x19
+ text run at (79,0) width 36: " dolor"
+ RenderBlock (floating) {DIV} at (250,0) size 115x457
+ RenderBlock {DIV} at (10,10) size 40x40 [bgcolor=#FFFF77]
+ RenderTable {TABLE} at (10,290) size 40x40 [bgcolor=#FFFF77]
+ RenderBlock (anonymous) at (0,340) size 115x65
+ RenderHTMLCanvas {CANVAS} at (10,10) size 40x40 [bgcolor=#FFFF77]
+ RenderText {#text} at (0,0) size 0x0
+ RenderBlock {P} at (0,421) size 115x20
+ RenderText {#text} at (0,0) size 44x19
+ text run at (0,0) width 44: "Lorem "
+ RenderInline {SPAN} at (0,0) size 35x19
+ RenderText {#text} at (44,0) size 35x19
+ text run at (44,0) width 35: "ipsum"
+ RenderText {#text} at (79,0) size 36x19
+ text run at (79,0) width 36: " dolor"
+ RenderBlock (floating) {DIV} at (375,0) size 115x457
+ RenderBlock {DIV} at (10,10) size 40x40 [bgcolor=#FFFF77]
+ RenderTable {TABLE} at (10,290) size 40x40 [bgcolor=#FFFF77]
+ RenderBlock (anonymous) at (0,340) size 115x65
+ RenderHTMLCanvas {CANVAS} at (10,10) size 40x40 [bgcolor=#FFFF77]
+ RenderText {#text} at (0,0) size 0x0
+ RenderBlock {P} at (0,421) size 115x20
+ RenderText {#text} at (0,0) size 44x19
+ text run at (0,0) width 44: "Lorem "
+ RenderInline {SPAN} at (0,0) size 35x19
+ RenderText {#text} at (44,0) size 35x19
+ text run at (44,0) width 35: "ipsum"
+ RenderText {#text} at (79,0) size 36x19
+ text run at (79,0) width 36: " dolor"
+ RenderBlock (floating) {DIV} at (500,0) size 115x457
+ RenderBlock {DIV} at (10,10) size 40x40 [bgcolor=#FFFF77]
+ RenderTable {TABLE} at (10,290) size 40x40 [bgcolor=#FFFF77]
+ RenderBlock (anonymous) at (0,340) size 115x65
+ RenderHTMLCanvas {CANVAS} at (10,10) size 40x40 [bgcolor=#FFFF77]
+ RenderText {#text} at (0,0) size 0x0
+ RenderBlock {P} at (0,421) size 115x20
+ RenderText {#text} at (0,0) size 44x19
+ text run at (0,0) width 44: "Lorem "
+ RenderInline {SPAN} at (0,0) size 35x19
+ RenderText {#text} at (44,0) size 35x19
+ text run at (44,0) width 35: "ipsum"
+ RenderText {#text} at (79,0) size 36x19
+ text run at (79,0) width 36: " dolor"
+layer at (18,248) size 40x40
+ RenderBlock {DIV} at (10,240) size 40x40 [bgcolor=#FFFF77]
+layer at (143,248) size 40x40
+ RenderBlock {DIV} at (10,240) size 40x40 [bgcolor=#FFFF77]
+layer at (268,248) size 40x40
+ RenderBlock {DIV} at (10,240) size 40x40 [bgcolor=#FFFF77]
+layer at (393,248) size 40x40
+ RenderBlock {DIV} at (10,240) size 40x40 [bgcolor=#FFFF77]
+layer at (518,248) size 40x40
+ RenderBlock {DIV} at (10,240) size 40x40 [bgcolor=#FFFF77]
+layer at (8,68) size 60x60
+ RenderBlock (relative positioned) {DIV} at (0,60) size 60x60
+layer at (18,78) size 40x40
+ RenderBlock (positioned) {DIV} at (10,10) size 40x40 [bgcolor=#FFFF77]
+layer at (8,128) size 60x60
+ RenderBlock (relative positioned) {DIV} at (0,120) size 60x60
+layer at (18,138) size 40x40 backgroundClip at (13,133) size 5x5 clip at (13,133) size 5x5 outlineClip at (13,133) size 5x5
+ RenderBlock (positioned) {DIV} at (10,10) size 40x40 [bgcolor=#FFFF77]
+layer at (18,198) size 40x40
+ RenderBlock {DIV} at (10,190) size 40x40 [bgcolor=#FFFF77]
+layer at (133,68) size 60x60
+ RenderBlock (relative positioned) {DIV} at (0,60) size 60x60
+layer at (143,78) size 40x45
+ RenderBlock (positioned) {DIV} at (10,10) size 40x40 [bgcolor=#FFFF77]
+layer at (133,128) size 60x60
+ RenderBlock (relative positioned) {DIV} at (0,120) size 60x60
+layer at (143,138) size 40x45 backgroundClip at (138,178) size 5x5 clip at (138,178) size 5x5 outlineClip at (138,178) size 5x5
+ RenderBlock (positioned) {DIV} at (10,10) size 40x40 [bgcolor=#FFFF77]
+layer at (143,198) size 40x45
+ RenderBlock {DIV} at (10,190) size 40x40 [bgcolor=#FFFF77]
+layer at (258,68) size 60x60
+ RenderBlock (relative positioned) {DIV} at (0,60) size 60x60
+layer at (268,78) size 45x45
+ RenderBlock (positioned) {DIV} at (10,10) size 40x40 [bgcolor=#FFFF77]
+layer at (258,128) size 60x60
+ RenderBlock (relative positioned) {DIV} at (0,120) size 60x60
+layer at (268,138) size 45x45 backgroundClip at (308,178) size 5x5 clip at (308,178) size 5x5 outlineClip at (308,178) size 5x5
+ RenderBlock (positioned) {DIV} at (10,10) size 40x40 [bgcolor=#FFFF77]
+layer at (268,198) size 45x45
+ RenderBlock {DIV} at (10,190) size 40x40 [bgcolor=#FFFF77]
+layer at (383,68) size 60x60
+ RenderBlock (relative positioned) {DIV} at (0,60) size 60x60
+layer at (393,78) size 45x40
+ RenderBlock (positioned) {DIV} at (10,10) size 40x40 [bgcolor=#FFFF77]
+layer at (383,128) size 60x60
+ RenderBlock (relative positioned) {DIV} at (0,120) size 60x60
+layer at (393,138) size 45x40 backgroundClip at (433,133) size 5x5 clip at (433,133) size 5x5 outlineClip at (433,133) size 5x5
+ RenderBlock (positioned) {DIV} at (10,10) size 40x40 [bgcolor=#FFFF77]
+layer at (393,198) size 45x40
+ RenderBlock {DIV} at (10,190) size 40x40 [bgcolor=#FFFF77]
+layer at (508,68) size 60x60
+ RenderBlock (relative positioned) {DIV} at (0,60) size 60x60
+layer at (518,78) size 45x45
+ RenderBlock (positioned) {DIV} at (10,10) size 40x40 [bgcolor=#FFFF77]
+layer at (508,128) size 60x60
+ RenderBlock (relative positioned) {DIV} at (0,120) size 60x60
+layer at (518,198) size 45x45
+ RenderBlock {DIV} at (10,190) size 40x40 [bgcolor=#FFFF77]
diff --git a/webkit/port/platform/graphics/skia/GraphicsContextSkia.cpp b/webkit/port/platform/graphics/skia/GraphicsContextSkia.cpp
index 6bd586d..fd7968b2 100644
--- a/webkit/port/platform/graphics/skia/GraphicsContextSkia.cpp
+++ b/webkit/port/platform/graphics/skia/GraphicsContextSkia.cpp
@@ -930,21 +930,42 @@ void GraphicsContext::setPlatformFillColor(const Color& color)
}
void GraphicsContext::setPlatformShadow(const IntSize& size,
- int blur,
+ int blur_int,
const Color& color)
{
if (paintingDisabled())
return;
+ double width = size.width();
+ double height = size.height();
+ double blur = blur_int;
+
+ if (!m_common->state.shadowsIgnoreTransforms) {
+ AffineTransform transform = getCTM();
+ transform.map(width, height, &width, &height);
+
+ // Transform for the blur
+ double a = transform.a() * transform.a() + transform.b() * transform.b();
+ double b = transform.a() * transform.c() + transform.b() * transform.d();
+ double c = b;
+ double d = transform.c() * transform.c() + transform.d() * transform.d();
+ double eigenvalue = sqrt(0.5 * ((a + d) - sqrt(4 * b * c + (a - d) * (a - d))));
+ blur *= eigenvalue;
+ } else {
+ // This is weird, but shadows get dropped in the wrong direction for
+ // canvas elements without this.
+ height = -height;
+ }
+
SkColor c;
if (color.isValid())
c = color.rgb();
else
c = SkColorSetARGB(0xFF/3, 0, 0, 0); // "std" apple shadow color.
- SkDrawLooper* dl = new SkBlurDrawLooper(SkIntToScalar(blur),
- SkIntToScalar(size.width()),
- SkIntToScalar(-size.height()),
- c);
+
+ // TODO(tc): Should we have a max value for the blur? CG clamps at 1000.0
+ // for perf reasons.
+ SkDrawLooper* dl = new SkBlurDrawLooper(blur, width, height, c);
platformContext()->setDrawLooper(dl);
dl->unref();
}
diff --git a/webkit/tools/layout_tests/test_lists/tests_fixable.txt b/webkit/tools/layout_tests/test_lists/tests_fixable.txt
index 6d631b1..1438ba7 100644
--- a/webkit/tools/layout_tests/test_lists/tests_fixable.txt
+++ b/webkit/tools/layout_tests/test_lists/tests_fixable.txt
@@ -2120,14 +2120,6 @@ WIN : LayoutTests/fast/text/international/002.html = FAIL
WIN : LayoutTests/fast/text/international/003.html = FAIL
WIN : LayoutTests/fast/text/international/wrap-CJK-001.html = FAIL
-// TODO(tc): Regression due to shadow changes.
-LayoutTests/fast/box-shadow/basic-shadows.html = FAIL
-LayoutTests/fast/box-shadow/border-radius-big.html = FAIL
-LayoutTests/fast/repaint/box-shadow-dynamic.html = FAIL
-LayoutTests/fast/repaint/box-shadow-h.html = FAIL
-LayoutTests/fast/repaint/box-shadow-v.html = FAIL
-
// 2008/12/13 - Turning off some Friday night test regressions until they can be looked at.
WIN : LayoutTests/fast/css/beforeSelectorOnCodeElement.html = CRASH
DEBUG WIN : LayoutTests/svg/dynamic-updates/SVGForeignObjectElement-svgdom-height-prop.html = CRASH
-