Bug 41484

Summary: [Qt] Clamp color stops passed to QGradient to 1.0
Product: WebKit Reporter: Andreas Kling <kling>
Component: WebCore Misc.Assignee: QtWebKit Unassigned <webkit-qt-unassigned>
Status: RESOLVED FIXED    
Severity: Normal CC: commit-queue, hausmann
Priority: P2 Keywords: Qt, QtTriaged
Version: 528+ (Nightly build)   
Hardware: All   
OS: All   
Bug Depends on:    
Bug Blocks: 35784    
Attachments:
Description Flags
Proposed patch
vestbo: review-, vestbo: commit-queue-
Proposed patch v2 none

Andreas Kling
Reported 2010-07-01 14:15:55 PDT
The conversion between HTML5 gradients and QRadialGradient values can overflow a tiny bit (1.00000002 anyone?) QGradient::addColorStop() will silently (release builds) ignore these color stops.
Attachments
Proposed patch (1.34 KB, patch)
2010-07-01 14:18 PDT, Andreas Kling
vestbo: review-
vestbo: commit-queue-
Proposed patch v2 (1.33 KB, patch)
2010-07-01 14:24 PDT, Andreas Kling
no flags
Andreas Kling
Comment 1 2010-07-01 14:18:49 PDT
Created attachment 60285 [details] Proposed patch
Andreas Kling
Comment 2 2010-07-01 14:20:16 PDT
Oops, that's QGradient::setColorAt(). addColorStop() is the CanvasGradient counterpart.
Tor Arne Vestbø
Comment 3 2010-07-01 14:24:20 PDT
Comment on attachment 60285 [details] Proposed patch qMin(lastStop, 1.0f)
Andreas Kling
Comment 4 2010-07-01 14:24:47 PDT
Created attachment 60287 [details] Proposed patch v2 *cough* Updated to use qMin() for less fugliness.
Tor Arne Vestbø
Comment 5 2010-07-01 14:27:03 PDT
Comment on attachment 60287 [details] Proposed patch v2 <3
Andreas Kling
Comment 6 2010-07-01 14:28:00 PDT
(In reply to comment #5) > <3 <3
WebKit Commit Bot
Comment 7 2010-07-01 20:51:37 PDT
Comment on attachment 60287 [details] Proposed patch v2 Clearing flags on attachment: 60287 Committed r62353: <http://trac.webkit.org/changeset/62353>
WebKit Commit Bot
Comment 8 2010-07-01 20:51:43 PDT
All reviewed patches have been landed. Closing bug.
Andreas Kling
Comment 9 2010-07-26 05:57:55 PDT
Adding as release blocker since it fixes display artifacts on some popular canvas demos.
Simon Hausmann
Comment 10 2010-07-26 06:55:35 PDT
Revision r62353 cherry-picked into qtwebkit-2.0 with commit 6621e196cc9e867434eab580b02fe1dee1d9141e
Note You need to log in before you can comment on or make changes to this bug.