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.
Created attachment 137443 [details] Patch
(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.
Comment on attachment 137443 [details] Patch so blur and spread can't be fractions?
(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 :)
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.
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!
Created attachment 137547 [details] Patch for landing
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
Created attachment 137561 [details] Patch for landing
Comment on attachment 137561 [details] Patch for landing This is still going to fail with the newest Chromium changes. Circling around...
Created attachment 137575 [details] Patch for landing
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
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
Comment on attachment 137575 [details] Patch for landing Clearing flags on attachment: 137575 Committed r114520: <http://trac.webkit.org/changeset/114520>
All reviewed patches have been landed. Closing bug.