Bug 34479

Summary: [Qt] Canvas and CSS: blur option in shadow not working
Product: WebKit Reporter: Chang Shu <cshu>
Component: Layout and RenderingAssignee: Ariya Hidayat <ariya.hidayat>
Status: RESOLVED FIXED    
Severity: Normal CC: abarth, ariya.hidayat, cshu, eric, evandromyller, hongqn, j, kling, krit, laszlo.gombos, manuel.lazzari, nancy.piedra, noam, webkit.review.bot
Priority: P2 Keywords: HTML5, Qt, QtTriaged
Version: 528+ (Nightly build)   
Hardware: All   
OS: All   
Bug Depends on: 19728, 43952, 43980, 44006, 44015, 44025, 44031, 44091, 44094, 44222, 44369, 44380, 44464, 44488, 46327, 48223, 49490, 49491, 49878, 50104, 51161    
Bug Blocks: 35808, 50849    
Attachments:
Description Flags
patch
none
Patch
none
Patch 2 none

Chang Shu
Reported 2010-02-02 08:19:09 PST
QtLauncher fails the following test case but Safari works fine. http://waplabdc.nokia-boston.com/browser/users/ligman/canvas tests/shadow/shadow_offsetX.html
Attachments
patch (6.68 KB, text/plain)
2010-07-14 12:52 PDT, qi
no flags
Patch (14.64 KB, patch)
2010-08-13 05:44 PDT, Ariya Hidayat
no flags
Patch 2 (8.60 KB, patch)
2010-08-13 09:04 PDT, Ariya Hidayat
no flags
Chang Shu
Comment 1 2010-03-08 13:30:16 PST
LayoutTests/fast/canvas/canvas-incremental-repaint.html
Tor Arne Vestbø
Comment 2 2010-03-10 06:40:21 PST
Please follow the QtWebKit bug reporting guidelines when reporting bugs. See http://trac.webkit.org/wiki/QtWebKitBugs Specifically: - The 'QtWebKit' component should only be used for bugs/features in the public QtWebKit API layer, not to signify that the bug is specific to the Qt port of WebKit http://trac.webkit.org/wiki/QtWebKitBugs#Component - Add the keyword 'Qt' to signal that it's a Qt-related bug http://trac.webkit.org/wiki/QtWebKitBugs#Keywords
qi
Comment 3 2010-03-10 13:27:18 PST
Copy some comments about blur and shadow from bug 34477: 1. By the way, today, I found the similar issue with “blur”. The “blur” is one property of “shadow”. Currently, “shadow” is implemented in GraphicsContextQt.cpp. Since, everything (text, image, line, rect, etc) can have “shadow”, we draw “shadow” for each one, but we didn’t apply the “blur” pattern for “shadow” now. I am not sure, GraphicsContextQt should draw the “shadow” or let lower level like QBrush to draw “shadow”. Anyway, currently I find it is difficult to draw a “blur” “shadow” now in GraphicsContextQt. 2. Does QT have a "blur" or "shadow" function? In this case, "canvas" can draw a image, rect, line, text, etc. And, each of them can have a "shadow" and "shadow" can be "blur". I searched in QT, I found QGraphicsBlurEffect and QGraphicsDropShadowEffect (QGraphicsEffect)looks for this purpose. But they suppose to be taken by QGraphicsItem, it looks heavy and not for this purpose. Not sure, QT has function for our purpose. 3. I found class "QPixmapDropShadowFilter" pretty much meet our requirement for shadow and blur, but unfortunately it is private class.
Chang Shu
Comment 4 2010-04-01 10:48:46 PDT
This issue depends on the support from Qt. I found one open bug in Qt that requires support for text shadow: http://bugreports.qt.nokia.com/browse/QTBUG-5087 Set this webkit bug to resolved.
Chang Shu
Comment 5 2010-04-16 11:36:17 PDT
There is a possibility to implement blur in qtwebkit. So we reopen this bug.
qi
Comment 6 2010-07-14 12:52:52 PDT
qi
Comment 7 2010-07-14 12:57:19 PDT
Comment on attachment 61551 [details] patch This is mistake
Ariya Hidayat
Comment 8 2010-08-12 12:19:09 PDT
Add and assign to myself. Chang Su: feel free to take it over if you are working on this again :)
Ariya Hidayat
Comment 9 2010-08-12 13:20:05 PDT
I am afraid the current situation with shadow painting in GraphicsContextQt is a bit of a mess. I will start by posting patches which cleans up and refactors the code. Also, hopefully one small patch at a time is easier to review.
Ariya Hidayat
Comment 10 2010-08-12 13:29:52 PDT
Same problem with CSS, adjust the title to point this out.
Ariya Hidayat
Comment 11 2010-08-13 05:44:21 PDT
Simon Hausmann
Comment 12 2010-08-13 06:37:22 PDT
Comment on attachment 64327 [details] Patch Nice cleanup!
Chang Shu
Comment 13 2010-08-13 06:49:14 PDT
Awesome! Simon, can you cherry-pick this to 2.1 once it's in? Thanks!
Chang Shu
Comment 14 2010-08-13 06:52:56 PDT
Btw, this patch must make some philip's tests work (LayoutTests/canvas/philip/tests). Can you identify them and remove them from skip list?
Ariya Hidayat
Comment 15 2010-08-13 06:58:51 PDT
> Btw, this patch must make some philip's tests > work(LayoutTests/canvas/philip/tests). > Can you identify them and remove them from skip list? Of course, once I'm done with it :) The first patch is only cleanup and does not add anything yet.
Chang Shu
Comment 16 2010-08-13 07:27:59 PDT
My bad, I didn't realize this is the 1st patch. :)
Ariya Hidayat
Comment 17 2010-08-13 09:04:44 PDT
Created attachment 64350 [details] Patch 2
Ariya Hidayat
Comment 18 2010-08-13 09:05:48 PDT
Hmm, accidently obsolete patch 1 :( For reference, it was already r+ by hausmann.
Ariya Hidayat
Comment 19 2010-08-13 10:26:20 PDT
Patch 1: Manually committed r65331: http://trac.webkit.org/changeset/65331
WebKit Review Bot
Comment 20 2010-08-13 10:49:26 PDT
http://trac.webkit.org/changeset/65331 might have broken Qt Linux Release
Ariya Hidayat
Comment 21 2010-08-13 11:22:07 PDT
Few tests I missed in Patch 1: canvas/philip/tests/2d.shadow.enable.blur.html canvas/philip/tests/2d.shadow.offset.positiveX.html canvas/philip/tests/2d.shadow.offset.positiveY.html fast/canvas/canvas-shadow.html
Ariya Hidayat
Comment 22 2010-08-13 22:57:41 PDT
Instead of polluting this bug, I'll create new bug entries for the small patchsets and make this one as a master bug.
Ariya Hidayat
Comment 23 2010-08-21 16:54:45 PDT
*** Bug 42156 has been marked as a duplicate of this bug. ***
Ariya Hidayat
Comment 24 2010-12-21 08:32:12 PST
*** Bug 49131 has been marked as a duplicate of this bug. ***
Noam Rosenthal
Comment 25 2012-07-11 14:13:18 PDT
Time to close this.
Note You need to log in before you can comment on or make changes to this bug.