|Summary:||Merge Cairo enhancements from Apollo project|
|Product:||WebKit||Reporter:||Brent Fulgham <firstname.lastname@example.org>|
|Component:||WebCore Misc.||Assignee:||Alp Toker <email@example.com>|
|Version:||528+ (Nightly build)|
The attached patch extends the Cairo backend, namely providing the missing implementations for: * GraphicsContext::clipOut(const Path&) * GraphicsContext::clipOut(const IntRect&) * GraphicsContext::clipOutEllipseInRect(const IntRect&) * GraphicsContext::fillRoundedRect
Created an attachment (id=18064) [details] Patch to flesh-out the Cairo implementation Patch extends the Cairo implementation with additional functionality missing in the current implementation.
(From update of attachment 18064 [details]) This patch will need to update copyrights as well in order to be considered for landing.
The changes in platform/graphics/Image.cpp shouldn't be there. They were removed from trunk in r27060. I also don't like the addition of the many PLATFORM(APOLLO) ifdefs when that port is not present in SVN. The code these are being added to is virtually free of ifdef's at present, which is the way we prefer things to be.
Eric: There is no problem with the copyright headers here, everything's in order. We will want to boil this patch down to remove the platform-specific parts for now. If we go ahead with a Cairo/Win port, this code will go elsewhere anyway, not in GraphicsContextCairo. The hasAlpha() change is also obsolete IIRC. I'll continue to investigate this patch and verify the correctness of the substantive changes. Thanks!
(From update of attachment 18064 [details]) r- for now based on inclusion of needless APOLLO-only changes in the patch.
Created an attachment (id=18069) [details] Cairo graphics fixes In this patch I've extracted all useful modifications to shared code, modified it to follow coding style, studied and documented the effects in the ChangeLog entry. We only cover GraphicsContextCairo.cpp and ImageSourceCairo.cpp here. There are several other good fixes that still need to be merged in other files from the Apollo port.
(From update of attachment 18069 [details]) Looks sane.