RESOLVED FIXED 46538
Canvas: Crash when setting a font with size in 'ex' units
https://bugs.webkit.org/show_bug.cgi?id=46538
Summary Canvas: Crash when setting a font with size in 'ex' units
Andreas Kling
Reported Saturday, September 25, 2010 12:40:41 AM UTC
This test on the IE9 test center reveals a bug in WebKit: http://samples.msdn.microsoft.com/ietestcenter/html5/canvas/canvas-text-font-002.htm The problem is in CSSPrimitiveValue::computeLengthDouble() which assumes the passed-in style has a usable font().
Attachments
Proposed patch (4.17 KB, patch)
2010-09-26 08:23 PDT, Andreas Kling
no flags
Proposed patch v2 (1.59 KB, patch)
2010-09-27 05:04 PDT, Andreas Kling
no flags
Alexey Proskuryakov
Comment 1 Sunday, September 26, 2010 12:13:25 AM UTC
Not a regression from Safari 5.0.2, but crashing on an ietestcenter test is not good.
mitz
Comment 2 Sunday, September 26, 2010 12:32:30 AM UTC
I think this can be fixed by calling newStyle->font().update() after setting the font description on the newStyle.
Andreas Kling
Comment 3 Sunday, September 26, 2010 4:23:12 PM UTC
Created attachment 68848 [details] Proposed patch Patch using mitz's suggestion.
Andreas Kling
Comment 4 Sunday, September 26, 2010 6:39:42 PM UTC
Comment on attachment 68848 [details] Proposed patch Clearing flags on attachment: 68848 Committed r68343: <http://trac.webkit.org/changeset/68343>
Andreas Kling
Comment 5 Sunday, September 26, 2010 6:39:52 PM UTC
All reviewed patches have been landed. Closing bug.
WebKit Review Bot
Comment 6 Sunday, September 26, 2010 7:15:01 PM UTC
http://trac.webkit.org/changeset/68343 might have broken GTK Linux 32-bit Release
Andreas Kling
Comment 7 Sunday, September 26, 2010 8:31:03 PM UTC
Reopening since this broke GTK+.
Andreas Kling
Comment 8 Monday, September 27, 2010 9:22:29 AM UTC
CC'ing GTK+ people for a look..
Andreas Kling
Comment 9 Monday, September 27, 2010 1:04:57 PM UTC
Created attachment 68898 [details] Proposed patch v2 Essentially the same patch, except do the update() even if !canvas()->computedStyle() (I guess if the element isn't attached to the document.) Tested on Qt and GTK+.
WebKit Commit Bot
Comment 10 Monday, September 27, 2010 7:13:24 PM UTC
Comment on attachment 68898 [details] Proposed patch v2 Rejecting patch 68898 from commit-queue. Failed to run "['./WebKitTools/Scripts/webkit-patch', '--status-host=queues.webkit.org', 'apply-attachment', '--force-clean', '--non-interactive', '--quiet', 68898]" exit_code: 2 Cleaning working directory Updating working directory Failed to run "['WebKitTools/Scripts/update-webkit']" exit_code: 2 Full output: http://queues.webkit.org/results/4033166
Eric Seidel (no email)
Comment 11 Monday, September 27, 2010 7:32:21 PM UTC
Comment on attachment 68898 [details] Proposed patch v2 False rejection. Bug in the queue. One of the cluster nodes seems stuck.
WebKit Commit Bot
Comment 12 Monday, September 27, 2010 8:13:37 PM UTC
Comment on attachment 68898 [details] Proposed patch v2 Rejecting patch 68898 from commit-queue. Failed to run "['./WebKitTools/Scripts/webkit-patch', '--status-host=queues.webkit.org', 'apply-attachment', '--force-clean', '--non-interactive', '--quiet', 68898]" exit_code: 2 Cleaning working directory Updating working directory Failed to run "['WebKitTools/Scripts/update-webkit']" exit_code: 2 Full output: http://queues.webkit.org/results/4074125
Eric Seidel (no email)
Comment 13 Monday, September 27, 2010 8:30:00 PM UTC
Comment on attachment 68898 [details] Proposed patch v2 One of the cq nodes is misbehaving. It should right itself shortly. I can't access it to manually reboot it at this time.
WebKit Commit Bot
Comment 14 Monday, September 27, 2010 9:14:50 PM UTC
Comment on attachment 68898 [details] Proposed patch v2 Rejecting patch 68898 from commit-queue. Failed to run "['./WebKitTools/Scripts/webkit-patch', '--status-host=queues.webkit.org', 'apply-attachment', '--force-clean', '--non-interactive', '--quiet', 68898]" exit_code: 2 Cleaning working directory Updating working directory Failed to run "['WebKitTools/Scripts/update-webkit']" exit_code: 2 Full output: http://queues.webkit.org/results/4066158
Eric Seidel (no email)
Comment 15 Monday, September 27, 2010 9:15:57 PM UTC
Sorry. Will wait until I know the CQ node is healthy again.
Eric Seidel (no email)
Comment 16 Monday, September 27, 2010 9:26:13 PM UTC
Comment on attachment 68898 [details] Proposed patch v2 I repaired one of them just now. Git got very upset by some test rebaselinings this morning. It was failing to update.
Eric Seidel (no email)
Comment 17 Tuesday, September 28, 2010 2:51:58 AM UTC
Comment on attachment 68898 [details] Proposed patch v2 Please leave the string "Reviewed by NOBODY (OOPS!)." in your ChangeLog if you want this to be handled by the commit-queue.
Andreas Kling
Comment 18 Tuesday, September 28, 2010 3:25:51 PM UTC
Andreas Kling
Comment 19 Tuesday, September 28, 2010 3:30:33 PM UTC
Comment on attachment 68898 [details] Proposed patch v2 > Please leave the string "Reviewed by NOBODY (OOPS!)." in your ChangeLog if you want this to be handled by the commit-queue. D'oh! Thanks Eric.
Note You need to log in before you can comment on or make changes to this bug.