Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

script: Implement enough 2D canvas support to render basic SVGs such as #5016

Closed
wants to merge 1 commit into from

Conversation

@jdm
Copy link
Member

jdm commented Feb 22, 2015

the tiger.

Rebased from #4623.

@hoppipolla-critic-bot
Copy link

hoppipolla-critic-bot commented Feb 22, 2015

Critic review: https://critic.hoppipolla.co.uk/r/4057

This is an external review system which you may optionally use for the code review of your pull request.

In order to help critic track your changes, please do not make in-place history rewrites (e.g. via git rebase -i or git commit --amend) when updating this pull request.

bors-servo pushed a commit that referenced this pull request Feb 22, 2015
the tiger.

Rebased from #4623.
@Ms2ger
Copy link
Contributor

Ms2ger commented Feb 22, 2015

/html/dom/interfaces.html
-------------------------
PASS expected FAIL CanvasRenderingContext2D interface: operation scale(unrestricted double,unrestricted double)
PASS expected FAIL CanvasRenderingContext2D interface: operation translate(unrestricted double,unrestricted double)
PASS expected FAIL CanvasRenderingContext2D interface: operation transform(unrestricted double,unrestricted double,unrestricted double,unrestricted double,unrestricted double,unrestricted double)
PASS expected FAIL CanvasRenderingContext2D interface: operation setTransform(unrestricted double,unrestricted double,unrestricted double,unrestricted double,unrestricted double,unrestricted double)
PASS expected FAIL CanvasRenderingContext2D interface: attribute strokeStyle
PASS expected FAIL CanvasRenderingContext2D interface: attribute fillStyle
PASS expected FAIL CanvasRenderingContext2D interface: operation beginPath()
PASS expected FAIL CanvasRenderingContext2D interface: operation fill(Path2D,CanvasFillRule)
PASS expected FAIL CanvasRenderingContext2D interface: operation closePath()
PASS expected FAIL CanvasRenderingContext2D interface: operation moveTo(unrestricted double,unrestricted double)
PASS expected FAIL CanvasRenderingContext2D interface: operation bezierCurveTo(unrestricted double,unrestricted double,unrestricted double,unrestricted double,unrestricted double,unrestricted double)
PASS expected FAIL CanvasRenderingContext2D interface: document.createElement("canvas").getContext("2d") must inherit property "scale" with the proper type (7)
PASS expected FAIL CanvasRenderingContext2D interface: calling scale(unrestricted double,unrestricted double) on document.createElement("canvas").getContext("2d") with too few arguments must throw TypeError
PASS expected FAIL CanvasRenderingContext2D interface: document.createElement("canvas").getContext("2d") must inherit property "translate" with the proper type (9)
PASS expected FAIL CanvasRenderingContext2D interface: calling translate(unrestricted double,unrestricted double) on document.createElement("canvas").getContext("2d") with too few arguments must throw TypeError
PASS expected FAIL CanvasRenderingContext2D interface: document.createElement("canvas").getContext("2d") must inherit property "transform" with the proper type (10)
PASS expected FAIL CanvasRenderingContext2D interface: calling transform(unrestricted double,unrestricted double,unrestricted double,unrestricted double,unrestricted double,unrestricted double) on document.createElement("canvas").getContext("2d") with too few arguments must throw TypeError
PASS expected FAIL CanvasRenderingContext2D interface: document.createElement("canvas").getContext("2d") must inherit property "setTransform" with the proper type (11)
PASS expected FAIL CanvasRenderingContext2D interface: calling setTransform(unrestricted double,unrestricted double,unrestricted double,unrestricted double,unrestricted double,unrestricted double) on document.createElement("canvas").getContext("2d") with too few arguments must throw TypeError
PASS expected FAIL CanvasRenderingContext2D interface: document.createElement("canvas").getContext("2d") must inherit property "beginPath" with the proper type (28)
PASS expected FAIL CanvasRenderingContext2D interface: document.createElement("canvas").getContext("2d") must inherit property "fill" with the proper type (29)
PASS expected FAIL CanvasRenderingContext2D interface: calling fill(CanvasFillRule) on document.createElement("canvas").getContext("2d") with too few arguments must throw TypeError
PASS expected FAIL CanvasRenderingContext2D interface: document.createElement("canvas").getContext("2d") must inherit property "fill" with the proper type (30)
PASS expected FAIL CanvasRenderingContext2D interface: document.createElement("canvas").getContext("2d") must inherit property "closePath" with the proper type (70)
PASS expected FAIL CanvasRenderingContext2D interface: document.createElement("canvas").getContext("2d") must inherit property "moveTo" with the proper type (71)
PASS expected FAIL CanvasRenderingContext2D interface: calling moveTo(unrestricted double,unrestricted double) on document.createElement("canvas").getContext("2d") with too few arguments must throw TypeError
PASS expected FAIL CanvasRenderingContext2D interface: document.createElement("canvas").getContext("2d") must inherit property "bezierCurveTo" with the proper type (74)
PASS expected FAIL CanvasRenderingContext2D interface: calling bezierCurveTo(unrestricted double,unrestricted double,unrestricted double,unrestricted double,unrestricted double,unrestricted double) on document.createElement("canvas").getContext("2d") with too few arguments must throw TypeError
PASS expected FAIL CanvasGradient interface: existence and properties of interface object
PASS expected FAIL CanvasGradient interface: existence and properties of interface prototype object
PASS expected FAIL CanvasGradient interface: existence and properties of interface prototype object's "constructor" property
PASS expected FAIL CanvasPattern interface: existence and properties of interface object
PASS expected FAIL CanvasPattern interface: existence and properties of interface prototype object
PASS expected FAIL CanvasPattern interface: existence and properties of interface prototype object's "constructor" property
/html/semantics/embedded-content/the-canvas-element/2d.type.prototype.html
--------------------------------------------------------------------------
PASS expected FAIL window.CanvasRenderingContext2D.prototype are not [[Writable]] and not [[Configurable]], and its methods are [[Configurable]].
/html/semantics/embedded-content/the-img-element/update-the-source-set.html
---------------------------------------------------------------------------
FAIL <picture>foo<img src="data:,a" data-expect="data:,a"></picture>
FAIL <picture><!--foo--><img src="data:,a" data-expect="data:,a"></picture>
FAIL <picture><br><img src="data:,a" data-expect="data:,a"></picture>
FAIL <picture><p></p><img src="data:,a" data-expect="data:,a"></picture>
FAIL <picture><video><source srcset="data:,b"></video><img src="data:,a" data-expect="data:,a"></picture>
FAIL <picture><span><source srcset="data:,b"></span><img src="data:,a" data-expect="data:,a"></picture>
FAIL <picture><svg><source srcset="data:,b"></svg><img src="data:,a" data-expect="data:,a"></picture>
FAIL <picture><svg><source srcset="data:,b"><img src="data:,a" data-expect="data:,b"></svg></picture>
FAIL <picture><svg><font><source srcset="data:,b"></font></svg><font><img src="data:,a" data-expect="data:,a"></font></picture>
FAIL <picture><svg><!--<font face> tag breaks out of svg--><font face=""></font><source srcset="data:,b"></svg><img src="data:,a" data-expect="data:,b"></picture>
FAIL <picture><img src="data:,a"><img src="data:,b" data-expect="data:,b"></picture>
FAIL <picture><source><img src="data:,a" data-expect="data:,a"></picture>
FAIL <picture><source src="data:,b"><img src="data:,a" data-expect="data:,a"></picture>
FAIL <picture><source srcset=""><img src="data:,a" data-expect="data:,a"></picture>
FAIL <picture><source srcset=", ,"><img src="data:,a" data-expect="data:,a"></picture>
FAIL <picture><source srcset="data:,b 1x 1x"><img src="data:,a" data-expect="data:,a"></picture>
FAIL <picture><source srcset="data:,b" media=""><img src="data:,a" data-expect="data:,b"></picture>
FAIL <picture><source srcset="data:,b" media="all"><img src="data:,a" data-expect="data:,b"></picture>
FAIL <picture><source srcset="data:,b" media="all and (min-width:0)"><img src="data:,a" data-expect="data:,b"></picture>
FAIL <picture><source srcset="data:,b" media="all and !"><img src="data:,a" data-expect="data:,a"></picture>
FAIL <picture><source srcset="data:,b" media="all and (!)"><img src="data:,a" data-expect="data:,a"></picture>
FAIL <picture><source srcset="data:,b" media="not all"><img src="data:,a" data-expect="data:,a"></picture>
FAIL <picture><source srcset="data:,b" media="not all and (min-width:0)"><img src="data:,a" data-expect="data:,a"></picture>
FAIL <picture><source srcset="data:,b" media="not all and (max-width:0)"><img src="data:,a" data-expect="data:,b"></picture>
FAIL <picture><source srcset="data:,b" media="not all and !"><img src="data:,a" data-expect="data:,a"></picture>
FAIL <picture><source srcset="data:,b" media="not all and (!)"><img src="data:,a" data-expect="data:,a"></picture>
FAIL <picture><source srcset="data:,b" media="all, !"><img src="data:,a" data-expect="data:,b"></picture>
FAIL <picture><source srcset="data:,b" media=","><img src="data:,a" data-expect="data:,a"></picture>
FAIL <picture><source srcset="data:,b" media=", all"><img src="data:,a" data-expect="data:,b"></picture>
FAIL <picture><source srcset="data:,b" type=""><img src="data:,a" data-expect="data:,b"></picture>
FAIL <picture><source srcset="data:,b" type=" "><img src="data:,a" data-expect="data:,b"></picture>
FAIL <picture><source srcset="data:,b" type="image/gif"><img src="data:,a" data-expect="data:,b"></picture>
FAIL <picture><source srcset="data:,b" type=" image/gif"><img src="data:,a" data-expect="data:,b"></picture>
FAIL <picture><source srcset="data:,b" type="image/gif "><img src="data:,a" data-expect="data:,b"></picture>
FAIL <picture><source srcset="data:,b" type="image/gif;"><img src="data:,a" data-expect="data:,b"></picture>
FAIL <picture><source srcset="data:,b" type="image/gif;encodings"><img src="data:,a" data-expect="data:,b"></picture>
FAIL <picture><source srcset="data:,b" type="image/gif;encodings="><img src="data:,a" data-expect="data:,b"></picture>
FAIL <picture><source srcset="data:,b" type="image/gif;encodings=foobar"><img src="data:,a" data-expect="data:,b"></picture>
FAIL <picture><source srcset="data:,b" type="image/png"><img src="data:,a" data-expect="data:,b"></picture>
FAIL <picture><source srcset="data:,b" type="image/jpeg"><img src="data:,a" data-expect="data:,b"></picture>
FAIL <picture><source srcset="data:,b" type="image/svg+xml"><img src="data:,a" data-expect="data:,b"></picture>
FAIL <picture><source srcset="data:,b" type="image/x-icon"><img src="data:,a" data-expect="data:,b"></picture>
FAIL <picture><source srcset="data:,b" type="text/xml"><img src="data:,a" data-expect="data:,a"></picture>
FAIL <picture><source srcset="data:,b" type="text/html"><img src="data:,a" data-expect="data:,a"></picture>
FAIL <picture><source srcset="data:,b" type="text/plain"><img src="data:,a" data-expect="data:,a"></picture>
FAIL <picture><source srcset="data:,b" type="text/css"><img src="data:,a" data-expect="data:,a"></picture>
FAIL <picture><source srcset="data:,b" type="video/mp4"><img src="data:,a" data-expect="data:,a"></picture>
FAIL <picture><source srcset="data:,b" type="video/ogg"><img src="data:,a" data-expect="data:,a"></picture>
FAIL <picture><source srcset="data:,b" type="video/webm"><img src="data:,a" data-expect="data:,a"></picture>
FAIL <picture><source srcset="data:,b" type="unknown/unknown"><img src="data:,a" data-expect="data:,a"></picture>
FAIL <picture><source srcset="data:,b" type="application/octet-stream"><img src="data:,a" data-expect="data:,a"></picture>
FAIL <picture><source srcset="data:,b" type="application/x-shockwave-flash"><img src="data:,a" data-expect="data:,a"></picture>
FAIL <picture><source srcset="data:,b" type="image\gif"><img src="data:,a" data-expect="data:,a"></picture>
FAIL <picture><source srcset="data:,b" type="gif"><img src="data:,a" data-expect="data:,a"></picture>
FAIL <picture><source srcset="data:,b" type=".gif"><img src="data:,a" data-expect="data:,a"></picture>
FAIL <picture><source srcset="data:,b" type="*"><img src="data:,a" data-expect="data:,a"></picture>
FAIL <picture><source srcset="data:,b" type="*/*"><img src="data:,a" data-expect="data:,a"></picture>
FAIL <picture><source srcset="data:,b" type="image/*"><img src="data:,a" data-expect="data:,a"></picture>
FAIL <picture><source srcset="data:,b" type=","><img src="data:,a" data-expect="data:,a"></picture>
FAIL <picture><source srcset="data:,b" type="image/gif, image/png"><img src="data:,a" data-expect="data:,a"></picture>
FAIL <picture><source srcset="data:,b" type="image/gif image/png"><img src="data:,a" data-expect="data:,a"></picture>
FAIL <picture><source srcset="data:,b" type="image/foobarbaz"><img src="data:,a" data-expect="data:,a"></picture>
FAIL <picture><img src="data:,a" data-expect="data:,a">foo</picture>
FAIL <picture><img src="data:,a" data-expect="data:,a"><br></picture>
FAIL <picture><img src="data:,a" data-expect="data:,a"><!--foo--></picture>
FAIL <picture><img src="data:,a" data-expect="data:,a"><img src="data:,b"></picture>
FAIL <picture><img data-expect=""><img src="data:,b"></picture>
FAIL <picture><img src="data:,a" data-expect="data:,a"><source srcset="data:,b"></picture>
FAIL <picture><img data-expect=""><source srcset="data:,b"></picture>
FAIL <picture><span><source srcset="data:,b"><img data-expect=""></span></picture>
FAIL <picture><span><source srcset="data:,b"><img src="data:,a" data-expect="data:,a"></span></picture>
FAIL <picture><source srcset="data:,b"><span><img src="data:,a" data-expect="data:,a"></span></picture>
FAIL <picture><source srcset="data:,b"><img data-expect="data:,b"></picture>
/workers/semantics/interface-objects/001.worker
-----------------------------------------------
PASS expected FAIL The CanvasGradient interface object should be exposed.
PASS expected FAIL The CanvasPattern interface object should be exposed.
ALERT: TEST-UNEXPECTED-FAIL | CanvasGradient is in [object Object]: If this is failing: DANGER, are you sure you want to expose the new interface CanvasGradient to all webpages as a property on the window? Do not make a change to this file without review from jdm or Ms2ger for that specific change!
ALERT: TEST-UNEXPECTED-FAIL | CanvasPattern is in [object Object]: If this is failing: DANGER, are you sure you want to expose the new interface CanvasPattern to all webpages as a property on the window? Do not make a change to this file without review from jdm or Ms2ger for that specific change!
@jdm jdm force-pushed the jdm:canvas-for-svg branch 3 times, most recently from 7b5baeb to 03a95c2 Feb 22, 2015
bors-servo pushed a commit that referenced this pull request Feb 22, 2015
the tiger.

Rebased from #4623.
@jdm jdm added S-tests-failed and removed S-awaiting-merge labels Feb 22, 2015
@jdm
Copy link
Member Author

jdm commented Feb 22, 2015

---- canvas_transform_a.html == canvas_transform_ref.html stdout ----
    thread 'canvas_transform_a.html == canvas_transform_ref.html' panicked at 'assertion failed: `(left == right) && (right == left)` (left: `ExitStatus(1)`, right: `ExitStatus(0)`)', /Users/servo/buildbot/slave/mac2/build/tests/reftest.rs:272

I can't reproduce this locally :(

@jdm jdm mentioned this pull request Feb 22, 2015
@jdm jdm force-pushed the jdm:canvas-for-svg branch from 03a95c2 to ee1680c Feb 22, 2015
@jdm jdm added S-awaiting-merge and removed S-tests-failed labels Feb 22, 2015
bors-servo pushed a commit that referenced this pull request Feb 22, 2015
the tiger.

Rebased from #4623.
@jdm jdm force-pushed the jdm:canvas-for-svg branch from ee1680c to 55a0ee6 Feb 23, 2015
@jdm

This comment has been minimized.

Copy link
Owner

jdm commented on 55a0ee6 Feb 23, 2015

r+

@bors-servo

This comment has been minimized.

Copy link
Contributor

bors-servo commented on 55a0ee6 Feb 23, 2015

saw approval from jdm
at jdm@55a0ee6

This comment has been minimized.

Copy link
Contributor

bors-servo replied Feb 23, 2015

merging jdm/servo/canvas-for-svg = 55a0ee6 into auto

This comment has been minimized.

Copy link
Contributor

bors-servo replied Feb 23, 2015

jdm/servo/canvas-for-svg = 55a0ee6 merged ok, testing candidate = 2e1adb3

This comment has been minimized.

Copy link
Contributor

bors-servo replied Feb 23, 2015

fast-forwarding master to auto = 2e1adb3

bors-servo pushed a commit that referenced this pull request Feb 23, 2015
the tiger.

Rebased from #4623.
@bors-servo bors-servo closed this Feb 23, 2015
@jdm jdm deleted the jdm:canvas-for-svg branch Aug 4, 2015
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Linked issues

Successfully merging this pull request may close these issues.

None yet

5 participants
You can’t perform that action at this time.