Summary: | [Qt] Canvas and CSS: blur option in shadow not working | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Product: | WebKit | Reporter: | Chang Shu <cshu> | ||||||||
Component: | Layout and Rendering | Assignee: | 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
Chang Shu
2010-02-02 08:19:09 PST
LayoutTests/fast/canvas/canvas-incremental-repaint.html 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 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. 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. There is a possibility to implement blur in qtwebkit. So we reopen this bug. Created attachment 61551 [details]
patch
Comment on attachment 61551 [details]
patch
This is mistake
Add and assign to myself. Chang Su: feel free to take it over if you are working on this again :) 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. Same problem with CSS, adjust the title to point this out. Created attachment 64327 [details]
Patch
Comment on attachment 64327 [details]
Patch
Nice cleanup!
Awesome! Simon, can you cherry-pick this to 2.1 once it's in? Thanks! Btw, this patch must make some philip's tests work (LayoutTests/canvas/philip/tests). Can you identify them and remove them from skip list? > 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.
My bad, I didn't realize this is the 1st patch. :) Created attachment 64350 [details]
Patch 2
Hmm, accidently obsolete patch 1 :( For reference, it was already r+ by hausmann. Patch 1: Manually committed r65331: http://trac.webkit.org/changeset/65331 http://trac.webkit.org/changeset/65331 might have broken Qt Linux Release 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 Instead of polluting this bug, I'll create new bug entries for the small patchsets and make this one as a master bug. *** Bug 42156 has been marked as a duplicate of this bug. *** *** Bug 49131 has been marked as a duplicate of this bug. *** Time to close this. |