RESOLVED DUPLICATE of bug 20373 20520
GraphicsContext needs to support Gradients and Patterns part2
https://bugs.webkit.org/show_bug.cgi?id=20520
Summary GraphicsContext needs to support Gradients and Patterns part2
Eric Seidel (no email)
Reported 2008-08-25 22:36:03 PDT
This is just a place for me to post patches for 20373 without turning that bug into a bajillion patches long.
Attachments
A bit further with the patch for krit (43.00 KB, patch)
2008-08-25 22:36 PDT, Eric Seidel (no email)
no flags
Update SVG to use new fill/stroke functions (4.25 KB, patch)
2008-08-25 22:36 PDT, Eric Seidel (no email)
no flags
Attempt to make SVG work with Gradient (29.53 KB, patch)
2008-08-25 22:36 PDT, Eric Seidel (no email)
no flags
Attempt to clean up SVG gradient code (10.78 KB, patch)
2008-08-25 22:36 PDT, Eric Seidel (no email)
no flags
Make Gradients not crash for <canvas> (671 bytes, patch)
2008-08-25 22:36 PDT, Eric Seidel (no email)
no flags
Fix SVG Gradients -- we only regress 3 tests now (3.42 KB, patch)
2008-08-26 17:58 PDT, Eric Seidel (no email)
no flags
Make more of the CG code cross-platform (11.97 KB, patch)
2008-08-26 17:58 PDT, Eric Seidel (no email)
no flags
Fix flipped fill and stroke for canvas (1.16 KB, patch)
2008-08-27 01:25 PDT, Eric Seidel (no email)
no flags
Fix SVG radial gradients to pass full-pservers-grad-13-b.html (1.68 KB, patch)
2008-08-27 01:26 PDT, Eric Seidel (no email)
no flags
Fix SVG gradients to pass full-pservers-grad-16-b.html (973 bytes, patch)
2008-08-27 01:26 PDT, Eric Seidel (no email)
no flags
Update a few copyright headers (7.12 KB, patch)
2008-08-27 03:43 PDT, Eric Seidel (no email)
no flags
Fix one more copy/paste error causing canvas tests to fail (3.25 KB, patch)
2008-08-27 03:43 PDT, Eric Seidel (no email)
no flags
Eric Seidel (no email)
Comment 1 2008-08-25 22:36:37 PDT
Created attachment 22991 [details] A bit further with the patch for krit WebCore/WebCore.xcodeproj/project.pbxproj | 4 + .../js/JSCanvasRenderingContext2DCustom.cpp | 4 +- WebCore/css/CSSGradientValue.cpp | 10 +- WebCore/css/CSSGradientValue.h | 2 +- WebCore/html/CanvasGradient.cpp | 4 +- WebCore/html/CanvasGradient.h | 8 +- WebCore/html/CanvasPattern.cpp | 2 +- WebCore/html/CanvasPattern.h | 6 +- WebCore/html/CanvasRenderingContext2D.cpp | 195 +------------------- WebCore/html/CanvasRenderingContext2D.h | 6 - WebCore/html/CanvasStyle.cpp | 6 + WebCore/html/CanvasStyle.h | 3 +- WebCore/platform/graphics/GeneratedImage.h | 10 +- WebCore/platform/graphics/Generator.h | 4 +- WebCore/platform/graphics/Gradient.h | 14 ++- WebCore/platform/graphics/GraphicsContext.cpp | 38 +++- WebCore/platform/graphics/GraphicsContext.h | 38 +++-- WebCore/platform/graphics/GraphicsContextPrivate.h | 33 +++- WebCore/platform/graphics/Path.h | 8 +- WebCore/platform/graphics/Pattern.h | 15 +- .../graphics/cairo/GraphicsContextCairo.cpp | 17 ++- WebCore/platform/graphics/cg/GraphicsContextCG.cpp | 107 ++++++++++-- WebCore/platform/graphics/qt/GraphicsContextQt.cpp | 28 ++-- WebCore/platform/graphics/wx/GraphicsContextWx.cpp | 16 +- 24 files changed, 281 insertions(+), 297 deletions(-)
Eric Seidel (no email)
Comment 2 2008-08-25 22:36:40 PDT
Created attachment 22992 [details] Update SVG to use new fill/stroke functions .../JavaScriptCore.xcodeproj/project.pbxproj | 3 -- WebCore/svg/graphics/SVGPaintServer.h | 7 ---- WebCore/svg/graphics/cg/SVGPaintServerCg.cpp | 32 +------------------ .../svg/graphics/cg/SVGPaintServerGradientCg.cpp | 14 ++------ 4 files changed, 6 insertions(+), 50 deletions(-)
Eric Seidel (no email)
Comment 3 2008-08-25 22:36:43 PDT
Created attachment 22993 [details] Attempt to make SVG work with Gradient WebCore/platform/graphics/Gradient.h | 2 +- WebCore/platform/graphics/GraphicsContext.cpp | 30 ++++ WebCore/platform/graphics/GraphicsContext.h | 1 + WebCore/platform/graphics/GraphicsTypes.h | 2 +- WebCore/platform/graphics/cg/GraphicsContextCG.cpp | 78 +++++++--- WebCore/rendering/SVGRenderTreeAsText.cpp | 1 - WebCore/svg/GradientAttributes.h | 14 ++- WebCore/svg/LinearGradientAttributes.h | 15 ++- WebCore/svg/RadialGradientAttributes.h | 15 ++- WebCore/svg/SVGGradientElement.cpp | 2 +- WebCore/svg/SVGLinearGradientElement.cpp | 9 +- WebCore/svg/SVGLinearGradientElement.h | 2 - WebCore/svg/SVGRadialGradientElement.cpp | 5 +- WebCore/svg/graphics/SVGPaintServer.h | 2 +- WebCore/svg/graphics/SVGPaintServerGradient.cpp | 17 +-- WebCore/svg/graphics/SVGPaintServerGradient.h | 39 +---- .../svg/graphics/cg/SVGPaintServerGradientCg.cpp | 163 ++------------------ 17 files changed, 156 insertions(+), 241 deletions(-)
Eric Seidel (no email)
Comment 4 2008-08-25 22:36:46 PDT
Created attachment 22994 [details] Attempt to clean up SVG gradient code WebCore/platform/graphics/FloatSize.h | 6 + WebCore/svg/graphics/SVGPaintServerGradient.h | 3 - .../svg/graphics/cg/SVGPaintServerGradientCg.cpp | 164 ++++++++++---------- 3 files changed, 90 insertions(+), 83 deletions(-)
Eric Seidel (no email)
Comment 5 2008-08-25 22:36:48 PDT
Created attachment 22995 [details] Make Gradients not crash for <canvas> WebCore/platform/graphics/cg/GraphicsContextCG.cpp | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-)
Dirk Schulze
Comment 6 2008-08-25 23:04:49 PDT
*** This bug has been marked as a duplicate of 20373 ***
Eric Seidel (no email)
Comment 7 2008-08-26 17:58:02 PDT
Created attachment 23011 [details] Fix SVG Gradients -- we only regress 3 tests now WebCore/platform/graphics/cg/GraphicsContextCG.cpp | 2 +- WebCore/svg/RadialGradientAttributes.h | 6 +++--- .../svg/graphics/cg/SVGPaintServerGradientCg.cpp | 20 +++++++++++++------- 3 files changed, 17 insertions(+), 11 deletions(-)
Eric Seidel (no email)
Comment 8 2008-08-26 17:58:04 PDT
Created attachment 23012 [details] Make more of the CG code cross-platform WebCore/svg/graphics/cg/CgSupport.cpp | 93 +++++++++++--------- WebCore/svg/graphics/cg/CgSupport.h | 16 ++-- WebCore/svg/graphics/cg/RenderPathCg.cpp | 23 ++--- .../svg/graphics/cg/SVGPaintServerGradientCg.cpp | 5 +- WebCore/svg/graphics/cg/SVGResourceClipperCg.cpp | 49 +++++------ 5 files changed, 90 insertions(+), 96 deletions(-)
Dirk Schulze
Comment 9 2008-08-26 23:26:56 PDT
Tested it on Cairo. Only copied the whole code of Cg to Cairo. Works great. I had to modify applyStrokeStyleToContext() a bit but thats all. applyStrokeStyleToContext(), makeMapBetweenRects(), handleBoundingBoxModeAndGradientTransformation() and renderPath() can be moved to a more global class. Only problem: We have to reset the CTM after drawing a gradient with boundingbox, otherwise you get a very big stroke if you apply a stroke to the shape (At least in Cairo).
Eric Seidel (no email)
Comment 10 2008-08-27 01:25:59 PDT
Created attachment 23017 [details] Fix flipped fill and stroke for canvas WebCore/html/CanvasStyle.cpp | 8 ++++---- 1 files changed, 4 insertions(+), 4 deletions(-)
Eric Seidel (no email)
Comment 11 2008-08-27 01:26:01 PDT
Created attachment 23018 [details] Fix SVG radial gradients to pass full-pservers-grad-13-b.html WebCore/svg/RadialGradientAttributes.h | 17 ++++++++++++++++- WebCore/svg/SVGRadialGradientElement.cpp | 1 + 2 files changed, 17 insertions(+), 1 deletions(-)
Eric Seidel (no email)
Comment 12 2008-08-27 01:26:04 PDT
Created attachment 23019 [details] Fix SVG gradients to pass full-pservers-grad-16-b.html WebCore/svg/GradientAttributes.h | 10 ++++++++-- 1 files changed, 8 insertions(+), 2 deletions(-)
Eric Seidel (no email)
Comment 13 2008-08-27 01:41:09 PDT
http://www.w3.org/Graphics/SVG/Test/20061213/htmlEmbedHarness/full-pservers-grad-17-b.html is still broken even with these patches. I'm not sure why it's broken. I'm also not sure I care. As soon as I fix the <canvas> stuff to work with patterns, I plan to break out the <canvas> pieces of these patches into a coherent patch and post it for review. The SVG stuff can come later.
Eric Seidel (no email)
Comment 14 2008-08-27 02:28:56 PDT
I ran this canvas test suite I found online: http://philip.html5.org/tests/canvas/suite/tests/ http://philip.html5.org/tests/canvas/suite/tests/reportgen.html?10000,0 And this is the difference in test output result I get between Safari 4.0dp and Safari 4.0dp + my patched canvas: I/we need to investigate each of the new fails needs to be investigated before I'm ready to post this patch for review. I guess more interesting would be to compare before this patch and after this patch, instead of Safari 4.0dp vs. TOT + this patch. --- old_canvas_status.txt 2008-08-27 02:22:54.000000000 -0700 +++ new_canvas_status.txt 2008-08-27 02:21:52.000000000 -0700 @@ -1,4 +1,4 @@ -- ua: "Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_5_4; en-us) AppleWebKit/526.11 (KHTML, like Gecko) Version/4.0dp1 Safari/526.11.2" +- ua: "Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_5_4; en-us) AppleWebKit/528.2+ (KHTML, like Gecko) Version/4.0dp1 Safari/526.11.2" results: - id: fallback.basic status: PASS @@ -20,7 +20,7 @@ notes: '%3Cli%3EPassed%3C/li%3E' - id: type.prototype status: FAIL - notes: '%3Cli%3EFailed%20assertion%3A%20window.HTMLCanvasElement.prototype%3C/li%3E%3Cli%3EFailed%20assertion%3A%20window.HTMLCanvasElement.prototype%3C/li%3E%3Cli%3EAborted%20with%20exception%3A%20Undefined%20value%3C/li%3E' + notes: '%3Cli%3EFailed%20assertion%3A%20window.HTMLCanvasElement.prototype%3C/li%3E%3Cli%3EFailed%20assertion%3A%20window.HTMLCanvasElement.prototype%3C/li%3E%3Cli%3EAborted%20with%20exception%3A%20Result%20of%20expression%20%27window.HTMLCanvasElement.prototype%27%20%5Bundefined%5D%20is%20not%20an%20object.%3C/li%3E' - id: type.replace status: PASS notes: '%3Cli%3EPassed%3C/li%3E' @@ -118,8 +118,8 @@ status: PASS notes: '%3Cli%3EPassed%3C/li%3E' - id: initial.reset.gradient - status: PASS - notes: '%3Cli%3EPassed%3C/li%3E' + status: FAIL + notes: '%3Cli%3EFailed%20assertion%3A%20got%20pixel%20%5B255%2C0%2C0%2C255%5D%20at%20%2850%2C25%29%2C%20expected%20%5B0%2C255%2C0%2C255%5D%3C/li%3E' - id: initial.reset.pattern status: PASS notes: '%3Cli%3EPassed%3C/li%3E' @@ -175,38 +175,38 @@ status: PASS notes: '%3Cli%3EPassed%3C/li%3E' - id: security.drawImage.image - status: PASS - notes: '%3Cli%3EPassed%3C/li%3E' + status: FAIL + notes: '%3Cli%3EFailed%20assertion%3A%20should%20throw%20exception%3A%20canvas.toDataURL%28%29%3C/li%3E%3Cli%3EFailed%20assertion%3A%20should%20throw%20exception%3A%20ctx.getImageData%280%2C%200%2C%201%2C%201%29%3C/li%3E' - id: security.drawImage.canvas - status: PASS - notes: '%3Cli%3EPassed%3C/li%3E' + status: FAIL + notes: '%3Cli%3EFailed%20assertion%3A%20should%20throw%20exception%3A%20canvas.toDataURL%28%29%3C/li%3E%3Cli%3EFailed%20assertion%3A%20should%20throw%20exception%3A%20ctx.getImageData%280%2C%200%2C%201%2C%201%29%3C/li%3E' - id: security.pattern.create status: PASS notes: '%3Cli%3EPassed%3C/li%3E' - id: security.pattern.cross - status: PASS - notes: '%3Cli%3EPassed%3C/li%3E' + status: FAIL + notes: '%3Cli%3EAborted%20with%20exception%3A%20INVALID_STATE_ERR%3A%20DOM%20Exception%2011%3C/li%3E' - id: security.pattern.canvas.timing status: PASS notes: '%3Cli%3EPassed%3C/li%3E' - id: security.pattern.image.fillStyle - status: PASS - notes: '%3Cli%3EPassed%3C/li%3E' + status: FAIL + notes: '%3Cli%3EAborted%20with%20exception%3A%20INVALID_STATE_ERR%3A%20DOM%20Exception%2011%3C/li%3E' - id: security.pattern.canvas.fillStyle status: FAIL notes: '%3Cli%3EFailed%20assertion%3A%20should%20throw%20exception%3A%20canvas.toDataURL%28%29%3C/li%3E%3Cli%3EFailed%20assertion%3A%20should%20throw%20exception%3A%20ctx.getImageData%280%2C%200%2C%201%2C%201%29%3C/li%3E' - id: security.pattern.image.strokeStyle - status: PASS - notes: '%3Cli%3EPassed%3C/li%3E' + status: FAIL + notes: '%3Cli%3EAborted%20with%20exception%3A%20INVALID_STATE_ERR%3A%20DOM%20Exception%2011%3C/li%3E' - id: security.pattern.canvas.strokeStyle - status: PASS - notes: '%3Cli%3EPassed%3C/li%3E' + status: FAIL + notes: '%3Cli%3EFailed%20assertion%3A%20should%20throw%20exception%3A%20canvas.toDataURL%28%29%3C/li%3E%3Cli%3EFailed%20assertion%3A%20should%20throw%20exception%3A%20ctx.getImageData%280%2C%200%2C%201%2C%201%29%3C/li%3E' - id: security.dataURI status: FAIL notes: '%3Cli%3EAborted%20with%20exception%3A%20SECURITY_ERR%3A%20DOM%20Exception%2018%3C/li%3E' - id: security.reset - status: PASS - notes: '%3Cli%3EPassed%3C/li%3E' + status: FAIL + notes: '%3Cli%3EFailed%20assertion%3A%20should%20throw%20exception%3A%20canvas.toDataURL%28%29%3C/li%3E%3Cli%3EFailed%20assertion%3A%20should%20throw%20exception%3A%20canvas.toDataURL%28%29%3C/li%3E' - id: 2d.getcontext.exists status: PASS notes: '%3Cli%3EPassed%3C/li%3E' @@ -218,7 +218,7 @@ notes: '%3Cli%3EPassed%3C/li%3E' - id: 2d.type.prototype status: FAIL - notes: '%3Cli%3EFailed%20assertion%3A%20window.CanvasRenderingContext2D.prototype%3C/li%3E%3Cli%3EFailed%20assertion%3A%20window.CanvasRenderingContext2D.prototype%3C/li%3E%3Cli%3EAborted%20with%20exception%3A%20Undefined%20value%3C/li%3E' + notes: '%3Cli%3EFailed%20assertion%3A%20window.CanvasRenderingContext2D.prototype%3C/li%3E%3Cli%3EFailed%20assertion%3A%20window.CanvasRenderingContext2D.prototype%3C/li%3E%3Cli%3EAborted%20with%20exception%3A%20Result%20of%20expression%20%27window.CanvasRenderingContext2D.prototype%27%20%5Bundefined%5D%20is%20not%20an%20object.%3C/li%3E' - id: 2d.type.replace status: PASS notes: '%3Cli%3EPassed%3C/li%3E' @@ -362,13 +362,13 @@ notes: '%3Cli%3EPassed%3C/li%3E' - id: 2d.transformation.setTransform.skewed status: FAIL - notes: '%3Cli%3EAborted%20with%20exception%3A%20Value%20undefined%20does%20not%20allow%20function%20calls.%3C/li%3E' + notes: '%3Cli%3EAborted%20with%20exception%3A%20Result%20of%20expression%20%27ctx.setTransform%27%20%5Bundefined%5D%20is%20not%20a%20function.%3C/li%3E' - id: 2d.transformation.setTransform.multiple status: FAIL - notes: '%3Cli%3EAborted%20with%20exception%3A%20Value%20undefined%20does%20not%20allow%20function%20calls.%3C/li%3E' + notes: '%3Cli%3EAborted%20with%20exception%3A%20Result%20of%20expression%20%27ctx.setTransform%27%20%5Bundefined%5D%20is%20not%20a%20function.%3C/li%3E' - id: 2d.transformation.setTransform.nonfinite status: FAIL - notes: '%3Cli%3EAborted%20with%20exception%3A%20Value%20undefined%20does%20not%20allow%20function%20calls.%3C/li%3E' + notes: '%3Cli%3EAborted%20with%20exception%3A%20Result%20of%20expression%20%27ctx.setTransform%27%20%5Bundefined%5D%20is%20not%20a%20function.%3C/li%3E' - id: 2d.composite.globalAlpha.range status: PASS notes: '%3Cli%3EPassed%3C/li%3E' @@ -460,17 +460,17 @@ status: PASS notes: '%3Cli%3EPassed%3C/li%3E' - id: 2d.composite.image.source-over - status: PASS - notes: '%3Cli%3EPassed%3C/li%3E' + status: FAIL + notes: '%3Cli%3EFailed%20assertion%3A%20got%20pixel%20%5B0%2C255%2C255%2C127%5D%20at%20%2850%2C25%29%2C%20expected%20%5B218%2C255%2C36%2C223%5D%20+/-%205%3C/li%3E' - id: 2d.composite.image.destination-over - status: PASS - notes: '%3Cli%3EPassed%3C/li%3E' + status: FAIL + notes: '%3Cli%3EFailed%20assertion%3A%20got%20pixel%20%5B0%2C255%2C255%2C127%5D%20at%20%2850%2C25%29%2C%20expected%20%5B109%2C255%2C145%2C223%5D%20+/-%205%3C/li%3E' - id: 2d.composite.image.source-in status: PASS notes: '%3Cli%3EPassed%3C/li%3E' - id: 2d.composite.image.destination-in - status: PASS - notes: '%3Cli%3EPassed%3C/li%3E' + status: FAIL + notes: '%3Cli%3EFailed%20assertion%3A%20got%20pixel%20%5B0%2C255%2C255%2C127%5D%20at%20%2850%2C25%29%2C%20expected%20%5B0%2C255%2C255%2C95%5D%20+/-%205%3C/li%3E' - id: 2d.composite.image.source-out status: PASS notes: '%3Cli%3EPassed%3C/li%3E' @@ -478,38 +478,38 @@ status: PASS notes: '%3Cli%3EPassed%3C/li%3E' - id: 2d.composite.image.source-atop - status: PASS - notes: '%3Cli%3EPassed%3C/li%3E' + status: FAIL + notes: '%3Cli%3EFailed%20assertion%3A%20got%20pixel%20%5B0%2C255%2C255%2C127%5D%20at%20%2850%2C25%29%2C%20expected%20%5B191%2C255%2C63%2C127%5D%20+/-%205%3C/li%3E' - id: 2d.composite.image.destination-atop - status: PASS - notes: '%3Cli%3EPassed%3C/li%3E' + status: FAIL + notes: '%3Cli%3EFailed%20assertion%3A%20got%20pixel%20%5B0%2C255%2C255%2C127%5D%20at%20%2850%2C25%29%2C%20expected%20%5B127%2C255%2C127%2C191%5D%20+/-%205%3C/li%3E' - id: 2d.composite.image.xor status: PASS notes: '%3Cli%3EPassed%3C/li%3E' - id: 2d.composite.image.copy - status: PASS - notes: '%3Cli%3EPassed%3C/li%3E' + status: FAIL + notes: '%3Cli%3EFailed%20assertion%3A%20got%20pixel%20%5B0%2C255%2C255%2C127%5D%20at%20%2850%2C25%29%2C%20expected%20%5B255%2C255%2C0%2C191%5D%20+/-%205%3C/li%3E' - id: 2d.composite.image.lighter - status: PASS - notes: '%3Cli%3EPassed%3C/li%3E' + status: FAIL + notes: '%3Cli%3EFailed%20assertion%3A%20got%20pixel%20%5B0%2C255%2C255%2C127%5D%20at%20%2850%2C25%29%2C%20expected%20%5B191%2C255%2C127%2C255%5D%20+/-%205%3C/li%3E' - id: 2d.composite.canvas.source-over - status: PASS - notes: '%3Cli%3EPassed%3C/li%3E' + status: FAIL + notes: '%3Cli%3EFailed%20assertion%3A%20got%20pixel%20%5B0%2C255%2C255%2C127%5D%20at%20%2850%2C25%29%2C%20expected%20%5B218%2C255%2C36%2C223%5D%20+/-%205%3C/li%3E' - id: 2d.composite.canvas.destination-over status: FAIL notes: '%3Cli%3EFailed%20assertion%3A%20got%20pixel%20%5B219%2C255%2C35%2C222%5D%20at%20%2850%2C25%29%2C%20expected%20%5B109%2C255%2C145%2C223%5D%20+/-%205%3C/li%3E' - id: 2d.composite.canvas.source-in status: FAIL - notes: '%3Cli%3EFailed%20assertion%3A%20got%20pixel%20%5B219%2C255%2C35%2C222%5D%20at%20%2850%2C25%29%2C%20expected%20%5B255%2C255%2C0%2C95%5D%20+/-%205%3C/li%3E' + notes: '%3Cli%3EFailed%20assertion%3A%20got%20pixel%20%5B0%2C255%2C255%2C127%5D%20at%20%2850%2C25%29%2C%20expected%20%5B255%2C255%2C0%2C95%5D%20+/-%205%3C/li%3E' - id: 2d.composite.canvas.destination-in status: FAIL - notes: '%3Cli%3EFailed%20assertion%3A%20got%20pixel%20%5B219%2C255%2C35%2C222%5D%20at%20%2850%2C25%29%2C%20expected%20%5B0%2C255%2C255%2C95%5D%20+/-%205%3C/li%3E' + notes: '%3Cli%3EFailed%20assertion%3A%20got%20pixel%20%5B0%2C255%2C255%2C127%5D%20at%20%2850%2C25%29%2C%20expected%20%5B0%2C255%2C255%2C95%5D%20+/-%205%3C/li%3E' - id: 2d.composite.canvas.source-out status: FAIL notes: '%3Cli%3EFailed%20assertion%3A%20got%20pixel%20%5B219%2C255%2C35%2C222%5D%20at%20%2850%2C25%29%2C%20expected%20%5B255%2C255%2C0%2C95%5D%20+/-%205%3C/li%3E' - id: 2d.composite.canvas.destination-out status: FAIL - notes: '%3Cli%3EFailed%20assertion%3A%20got%20pixel%20%5B219%2C255%2C35%2C222%5D%20at%20%2850%2C25%29%2C%20expected%20%5B0%2C255%2C255%2C31%5D%20+/-%205%3C/li%3E' + notes: '%3Cli%3EFailed%20assertion%3A%20got%20pixel%20%5B0%2C255%2C255%2C127%5D%20at%20%2850%2C25%29%2C%20expected%20%5B0%2C255%2C255%2C31%5D%20+/-%205%3C/li%3E' - id: 2d.composite.canvas.source-atop status: FAIL notes: '%3Cli%3EFailed%20assertion%3A%20got%20pixel%20%5B219%2C255%2C35%2C222%5D%20at%20%2850%2C25%29%2C%20expected%20%5B191%2C255%2C63%2C127%5D%20+/-%205%3C/li%3E' @@ -521,10 +521,10 @@ notes: '%3Cli%3EFailed%20assertion%3A%20got%20pixel%20%5B219%2C255%2C35%2C222%5D%20at%20%2850%2C25%29%2C%20expected%20%5B191%2C255%2C63%2C127%5D%20+/-%205%3C/li%3E' - id: 2d.composite.canvas.copy status: FAIL - notes: '%3Cli%3EFailed%20assertion%3A%20got%20pixel%20%5B219%2C255%2C35%2C222%5D%20at%20%2850%2C25%29%2C%20expected%20%5B255%2C255%2C0%2C191%5D%20+/-%205%3C/li%3E' + notes: '%3Cli%3EFailed%20assertion%3A%20got%20pixel%20%5B0%2C255%2C255%2C127%5D%20at%20%2850%2C25%29%2C%20expected%20%5B255%2C255%2C0%2C191%5D%20+/-%205%3C/li%3E' - id: 2d.composite.canvas.lighter status: FAIL - notes: '%3Cli%3EFailed%20assertion%3A%20got%20pixel%20%5B219%2C255%2C35%2C222%5D%20at%20%2850%2C25%29%2C%20expected%20%5B191%2C255%2C127%2C255%5D%20+/-%205%3C/li%3E' + notes: '%3Cli%3EFailed%20assertion%3A%20got%20pixel%20%5B0%2C255%2C255%2C127%5D%20at%20%2850%2C25%29%2C%20expected%20%5B191%2C255%2C127%2C255%5D%20+/-%205%3C/li%3E' - id: 2d.composite.uncovered.fill.source-in status: FAIL notes: '%3Cli%3EFailed%20assertion%3A%20got%20pixel%20%5B0%2C255%2C0%2C127%5D%20at%20%2850%2C25%29%2C%20expected%20%5B0%2C0%2C0%2C0%5D%20+/-%205%3C/li%3E'
Eric Seidel (no email)
Comment 15 2008-08-27 03:40:18 PDT
Hot! I've fixed the issues in an upcoming patch. We now supposedly pass 3 more tests than the last nightly did. Although security.reset fails. Investigating still. http://philip.html5.org/tests/canvas/suite/tests/
Eric Seidel (no email)
Comment 16 2008-08-27 03:41:11 PDT
security.reset actually passes when run individually. I think it's a timing issue. http://philip.html5.org/tests/canvas/suite/tests/security.reset.html
Eric Seidel (no email)
Comment 17 2008-08-27 03:43:16 PDT
Created attachment 23020 [details] Update a few copyright headers WebCore/html/CanvasRenderingContext2D.cpp | 1 + WebCore/html/CanvasStyle.cpp | 1 + WebCore/platform/graphics/FloatSize.h | 1 + WebCore/platform/graphics/cg/GraphicsContextCG.cpp | 1 + WebCore/svg/GradientAttributes.h | 3 +-- WebCore/svg/LinearGradientAttributes.h | 1 + WebCore/svg/RadialGradientAttributes.h | 3 +-- WebCore/svg/SVGLinearGradientElement.cpp | 3 +-- WebCore/svg/SVGRadialGradientElement.cpp | 3 +-- WebCore/svg/graphics/cg/CgSupport.cpp | 1 + WebCore/svg/graphics/cg/CgSupport.h | 1 + WebCore/svg/graphics/cg/SVGPaintServerCg.cpp | 3 +-- .../svg/graphics/cg/SVGPaintServerGradientCg.cpp | 3 +-- 13 files changed, 13 insertions(+), 12 deletions(-)
Eric Seidel (no email)
Comment 18 2008-08-27 03:43:18 PDT
Created attachment 23021 [details] Fix one more copy/paste error causing canvas tests to fail WebCore/platform/graphics/cg/GraphicsContextCG.cpp | 36 +++++++++---------- 1 files changed, 17 insertions(+), 19 deletions(-)
Note You need to log in before you can comment on or make changes to this bug.