Bug 138672

Summary: Tests ported from W3C canvas tests suites need to be fixed for WebKit
Product: WebKit Reporter: Said Abou-Hallawa <sabouhallawa>
Component: CanvasAssignee: Said Abou-Hallawa <sabouhallawa>
Status: NEW ---    
Severity: Normal    
Priority: P2    
Version: 528+ (Nightly build)   
Hardware: Unspecified   
OS: Unspecified   
Bug Depends on: 138324    
Bug Blocks:    
Attachments:
Description Flags
Patch darin: review-

Description Said Abou-Hallawa 2014-11-12 14:42:57 PST
Trying to fix https://bugs.webkit.org/show_bug.cgi?id=138324 to port the w3c canvas tests, these tests are failing in WebKit:

imported/w3c/canvas/2d.composite.uncovered.pattern.destination-atop.html
imported/w3c/canvas/2d.pattern.crosscanvas.html
imported/w3c/canvas/2d.composite.uncovered.pattern.source-out.html
imported/w3c/canvas/2d.composite.canvas.destination-over.html
imported/w3c/canvas/2d.pattern.paint.repeat.coord2.html
imported/w3c/canvas/2d.imageData.create1.zero.html
imported/w3c/canvas/2d.composite.image.source-over.html
imported/w3c/canvas/2d.drawImage.negativesource.html
imported/w3c/canvas/2d.composite.uncovered.pattern.copy.html
imported/w3c/canvas/2d.drawImage.negativedir.html
imported/w3c/canvas/2d.drawImage.3arg.html
imported/w3c/canvas/2d.line.cap.round.html
imported/w3c/canvas/2d.gradient.radial.nonfinite.html
imported/w3c/canvas/2d.composite.uncovered.image.copy.html
imported/w3c/canvas/2d.pattern.paint.repeatx.outside.html
imported/w3c/canvas/2d.pattern.modify.image2.html
imported/w3c/canvas/2d.pattern.paint.repeaty.outside.html
imported/w3c/canvas/2d.path.rect.winding.html
imported/w3c/canvas/2d.composite.image.source-out.html
imported/w3c/canvas/2d.composite.uncovered.image.destination-atop.html
imported/w3c/canvas/2d.pattern.paint.norepeat.coord2.html
imported/w3c/canvas/2d.pattern.repeat.empty.html
imported/w3c/canvas/2d.composite.image.source-atop.html
imported/w3c/canvas/2d.composite.canvas.source-in.html
imported/w3c/canvas/2d.gradient.linear.nonfinite.html
imported/w3c/canvas/2d.pattern.paint.repeatx.coord1.html
imported/w3c/canvas/2d.composite.image.destination-out.html
imported/w3c/canvas/2d.composite.canvas.destination-atop.html
imported/w3c/canvas/2d.drawImage.null.html
imported/w3c/canvas/2d.composite.globalAlpha.imagepattern.html
imported/w3c/canvas/2d.pattern.paint.norepeat.coord1.html
imported/w3c/canvas/2d.pattern.modify.image1.html
imported/w3c/canvas/2d.pattern.paint.repeat.coord1.html
imported/w3c/canvas/2d.drawImage.animated.poster.html
imported/w3c/canvas/2d.drawImage.9arg.sourcepos.html
imported/w3c/canvas/2d.composite.operation.clear.html
imported/w3c/canvas/2d.composite.uncovered.image.destination-in.html
imported/w3c/canvas/2d.composite.image.destination-atop.html
imported/w3c/canvas/2d.composite.canvas.source-over.html
imported/w3c/canvas/2d.pattern.repeat.null.html
imported/w3c/canvas/2d.imageData.get.nonfinite.html
imported/w3c/canvas/2d.shadow.pattern.alpha.html
imported/w3c/canvas/2d.composite.uncovered.image.source-out.html
imported/w3c/canvas/2d.composite.canvas.destination-out.html
imported/w3c/canvas/2d.drawImage.9arg.destsize.html
imported/w3c/canvas/2d.imageData.object.ctor.html
imported/w3c/canvas/2d.composite.canvas.source-atop.html
imported/w3c/canvas/2d.composite.image.lighter.html
imported/w3c/canvas/2d.gradient.object.invalidoffset.html
imported/w3c/canvas/2d.shadow.pattern.transparent.2.html
imported/w3c/canvas/2d.drawImage.9arg.basic.html
imported/w3c/canvas/2d.composite.uncovered.pattern.destination-in.html
imported/w3c/canvas/2d.pattern.paint.norepeat.basic.html
imported/w3c/canvas/2d.composite.canvas.xor.html
imported/w3c/canvas/2d.pattern.image.incomplete.html
imported/w3c/canvas/2d.composite.canvas.lighter.html
imported/w3c/canvas/2d.shadow.pattern.transparent.1.html
imported/w3c/canvas/2d.composite.canvas.source-out.html
imported/w3c/canvas/2d.pattern.basic.type.html
imported/w3c/canvas/2d.pattern.image.incomplete.omitted.html
imported/w3c/canvas/2d.shadow.image.scale.html
imported/w3c/canvas/2d.composite.image.destination-over.html
imported/w3c/canvas/2d.composite.operation.darker.html
imported/w3c/canvas/2d.drawImage.broken.html
imported/w3c/canvas/2d.drawImage.9arg.destpos.html
imported/w3c/canvas/2d.imageData.create2.nonfinite.html
imported/w3c/canvas/2d.shadow.pattern.basic.html
imported/w3c/canvas/2d.composite.image.copy.html
imported/w3c/canvas/2d.drawImage.floatsource.html
imported/w3c/canvas/2d.shadow.image.transparent.2.html
imported/w3c/canvas/2d.pattern.paint.repeat.outside.html
imported/w3c/canvas/2d.fillStyle.parse.rgba-eof.html
imported/w3c/canvas/2d.shadow.image.basic.html
imported/w3c/canvas/2d.drawImage.9arg.sourcesize.html
imported/w3c/canvas/2d.pattern.paint.norepeat.outside.html
imported/w3c/canvas/2d.shadow.image.alpha.html
imported/w3c/canvas/2d.pattern.paint.norepeat.coord3.html
imported/w3c/canvas/2d.imageData.put.nonfinite.html
imported/w3c/canvas/2d.pattern.paint.repeaty.basic.html
imported/w3c/canvas/2d.pattern.image.null.html
imported/w3c/canvas/2d.pattern.paint.repeat.coord3.html
imported/w3c/canvas/2d.composite.image.source-in.html
imported/w3c/canvas/2d.composite.uncovered.pattern.source-in.html
imported/w3c/canvas/2d.pattern.image.incomplete.empty.html
imported/w3c/canvas/2d.fillStyle.parse.rgb-eof.html
imported/w3c/canvas/2d.pattern.paint.repeat.basic.html
imported/w3c/canvas/2d.pattern.paint.orientation.image.html
imported/w3c/canvas/2d.composite.uncovered.image.source-in.html
imported/w3c/canvas/2d.pattern.paint.repeatx.basic.html
imported/w3c/canvas/2d.composite.canvas.copy.html
imported/w3c/canvas/2d.composite.image.xor.html
imported/w3c/canvas/2d.composite.image.destination-in.html
imported/w3c/canvas/2d.drawImage.incomplete.html
imported/w3c/canvas/2d.drawImage.5arg.html
imported/w3c/canvas/2d.imageData.put.null.html
imported/w3c/canvas/2d.pattern.paint.repeaty.coord1.html
imported/w3c/canvas/2d.pattern.basic.image.html
imported/w3c/canvas/2d.composite.canvas.destination-in.html
Comment 1 Said Abou-Hallawa 2014-11-12 15:13:46 PST
More failures:

imported/w3c/canvas/security.drawImage.canvas.html
imported/w3c/canvas/security.drawImage.image.html
imported/w3c/canvas/security.pattern.canvas.fillStyle.html
imported/w3c/canvas/security.pattern.canvas.strokeStyle.html
imported/w3c/canvas/security.pattern.create.html
imported/w3c/canvas/security.pattern.cross.html
imported/w3c/canvas/security.pattern.image.fillStyle.html
imported/w3c/canvas/security.pattern.image.strokeStyle.html
imported/w3c/canvas/security.reset.html
Comment 2 Said Abou-Hallawa 2014-11-12 15:25:48 PST
One more failure

imported/w3c/canvas/security.pattern.canvas.timing.html
Comment 3 Said Abou-Hallawa 2014-11-12 18:44:20 PST
Two more failures:

imported/w3c/canvas/2d.drawImage.negativedest.html
imported/w3c/canvas/2d.drawImage.nowrap.html
Comment 4 Said Abou-Hallawa 2014-11-14 20:44:48 PST
Created attachment 241656 [details]
Patch
Comment 5 Darin Adler 2014-11-16 19:57:01 PST
Comment on attachment 241656 [details]
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=241656&action=review

> LayoutTests/imported/w3c/ChangeLog:10
> +          - missing png file which is referenced by four test files.

Good to fix.

> LayoutTests/imported/w3c/ChangeLog:11
> +          - missing closing parenthesis in two other tests files.

I don’t think this is correct.

> LayoutTests/imported/w3c/canvas/2d.fillStyle.parse.rgb-eof.html:26
> -ctx.fillStyle = 'rgb(0, 255, 0';
> +ctx.fillStyle = 'rgb(0, 255, 0)';

I think this omitted parenthesis is intentional. Note that name of the test with its suffix "-eof". If lack of parenthesis wasn’t the thing being tested, then what does the “eof” in the test’s name mean?

> LayoutTests/imported/w3c/canvas/2d.fillStyle.parse.rgba-eof.html:26
> -ctx.fillStyle = 'rgba(0, 255, 0, 1';
> +ctx.fillStyle = 'rgba(0, 255, 0, 1)';

I think this omitted parenthesis is intentional. Note that name of the test with its suffix "-eof". If lack of parenthesis wasn’t the thing being tested, then what does the “eof” in the test’s name mean?