RESOLVED FIXED Bug 84098
Convert ShadowData and DropShadowFilterOperation to use IntPoint
https://bugs.webkit.org/show_bug.cgi?id=84098
Summary Convert ShadowData and DropShadowFilterOperation to use IntPoint
Levi Weintraub
Reported 2012-04-16 16:47:47 PDT
Currently, ShadowData uses LayoutUnits for its x and y, and DropShadowFilterOperation uses ints. After some thought, I've changed my mind about having ShadowData's location as LayoutUnits for now, since we apply it at paint time to the integer RoundedRect, and we'd just end up rounding or truncating repeatedly. If we want to round this value, it should happen upon assignment, and that could have been done without sub-pixel layout. With that in mind, I'm choosing to not do that for now. I was troubled by the de-coupled coordinates while looking through this code, so I decided that in the spirit of our original tx/ty effort to wrap these values up in an IntPoint.
Attachments
Patch (26.15 KB, patch)
2012-04-16 17:37 PDT, Levi Weintraub
no flags
Patch for landing (26.14 KB, patch)
2012-04-17 09:37 PDT, Levi Weintraub
no flags
Patch for landing (26.94 KB, patch)
2012-04-17 10:59 PDT, Levi Weintraub
no flags
Patch for landing (26.94 KB, patch)
2012-04-17 12:06 PDT, Levi Weintraub
no flags
Archive of layout-test-results from ec2-cq-02 (6.59 MB, application/zip)
2012-04-17 14:32 PDT, WebKit Review Bot
no flags
Levi Weintraub
Comment 1 2012-04-16 17:37:20 PDT
Levi Weintraub
Comment 2 2012-04-16 17:37:32 PDT
(In reply to comment #1) > Created an attachment (id=137443) [details] > Patch The new blend function isn't explicitly necessary. Feedback is welcome if you don't think it makes senes.
Eric Seidel (no email)
Comment 3 2012-04-16 17:43:30 PDT
Comment on attachment 137443 [details] Patch so blur and spread can't be fractions?
Levi Weintraub
Comment 4 2012-04-16 17:46:06 PDT
(In reply to comment #3) > (From update of attachment 137443 [details]) > so blur and spread can't be fractions? Not currently. To be clear, I'm not arguing that this isn't a good change, just that it's orthogonal to what we're focusing on with sub-pixel layout. They could have been floating point before and applied as such. If someone wishes to make that change, I'll be happy to help when this is done :)
Eric Seidel (no email)
Comment 5 2012-04-16 20:41:30 PDT
Comment on attachment 137443 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=137443&action=review OK. > Source/WebCore/platform/graphics/filters/FilterOperation.h:380 > + IntPoint m_location; // FIXME: x and y should location be in Lengths? Not english? > Source/WebCore/rendering/style/ShadowData.cpp:87 > + int shadowLeft = 0; > + int shadowRight = 0; > + int shadowTop = 0; > + int shadowBottom = 0; We really need some sort of Quad for these sets. This comes up often.
Levi Weintraub
Comment 6 2012-04-16 20:45:35 PDT
Comment on attachment 137443 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=137443&action=review >> Source/WebCore/platform/graphics/filters/FilterOperation.h:380 >> + IntPoint m_location; // FIXME: x and y should location be in Lengths? > > Not english? Hehe, sorry... ended up with a hybridized comment! Should be "location should be in Lengths?" >> Source/WebCore/rendering/style/ShadowData.cpp:87 >> + int shadowBottom = 0; > > We really need some sort of Quad for these sets. This comes up often. Agreed! This project has been nothing if not a good tour of code that needs some refactoring!
Levi Weintraub
Comment 7 2012-04-17 09:37:52 PDT
Created attachment 137547 [details] Patch for landing
WebKit Review Bot
Comment 8 2012-04-17 10:46:45 PDT
Comment on attachment 137547 [details] Patch for landing Rejecting attachment 137547 [details] from commit-queue. Failed to run "['/mnt/git/webkit-commit-queue/Tools/Scripts/webkit-patch', '--status-host=queues.webkit.org', '-..." exit_code: 2 Last 500 characters of output: ebCore::FilterOperation::OperationType) make: *** [out/Debug/obj.target/webkit/Source/WebCore/platform/chromium/support/WebFilterOperation.o] Error 1 make: *** Waiting for unfinished jobs.... Failed to run "['Tools/Scripts/build-webkit', '--debug', '--chromium', '--update-chromium']" exit_code: 2 :Color, WebCore::FilterOperation::OperationType) make: *** [out/Debug/obj.target/webkit/Source/WebCore/platform/chromium/support/WebFilterOperation.o] Error 1 make: *** Waiting for unfinished jobs.... Full output: http://queues.webkit.org/results/12417712
Levi Weintraub
Comment 9 2012-04-17 10:59:01 PDT
Created attachment 137561 [details] Patch for landing
Levi Weintraub
Comment 10 2012-04-17 11:03:09 PDT
Comment on attachment 137561 [details] Patch for landing This is still going to fail with the newest Chromium changes. Circling around...
Levi Weintraub
Comment 11 2012-04-17 12:06:48 PDT
Created attachment 137575 [details] Patch for landing
WebKit Review Bot
Comment 12 2012-04-17 14:32:50 PDT
Comment on attachment 137575 [details] Patch for landing Rejecting attachment 137575 [details] from commit-queue. New failing tests: svg/transforms/text-with-pattern-with-svg-transform.svg Full output: http://queues.webkit.org/results/12424164
WebKit Review Bot
Comment 13 2012-04-17 14:32:56 PDT
Created attachment 137605 [details] Archive of layout-test-results from ec2-cq-02 The attached test failures were seen while running run-webkit-tests on the commit-queue. Bot: ec2-cq-02 Port: <class 'webkitpy.common.config.ports.ChromiumXVFBPort'> Platform: Linux-2.6.35-28-virtual-x86_64-with-Ubuntu-10.10-maverick
Levi Weintraub
Comment 14 2012-04-18 10:05:14 PDT
Comment on attachment 137575 [details] Patch for landing Clearing flags on attachment: 137575 Committed r114520: <http://trac.webkit.org/changeset/114520>
Levi Weintraub
Comment 15 2012-04-18 10:05:23 PDT
All reviewed patches have been landed. Closing bug.
Note You need to log in before you can comment on or make changes to this bug.