Bug 16577

Summary: Merge Cairo enhancements from Apollo project
Product: WebKit Reporter: Brent Fulgham <bfulgham>
Component: WebCore Misc.Assignee: Alp Toker <alp>
Status: RESOLVED FIXED    
Severity: Normal CC: alp
Priority: P2 Keywords: Cairo
Version: 528+ (Nightly build)   
Hardware: All   
OS: All   
Attachments:
Description Flags
Patch to flesh-out the Cairo implementation
alp: review-
Cairo graphics fixes zecke: review+

Description Brent Fulgham 2007-12-22 20:28:03 PST
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
Comment 1 Brent Fulgham 2007-12-22 20:29:12 PST
Created attachment 18064 [details]
Patch to flesh-out the Cairo implementation

Patch extends the Cairo implementation with additional functionality missing in the current implementation.
Comment 2 Eric Seidel 2007-12-22 20:38:26 PST
Comment on attachment 18064 [details]
Patch to flesh-out the Cairo implementation

This patch will need to update copyrights as well in order to be considered for landing.
Comment 3 Mark Rowe (bdash) 2007-12-22 20:43:49 PST
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.
Comment 4 Alp Toker 2007-12-22 21:59:33 PST
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!
Comment 5 Alp Toker 2007-12-22 22:00:24 PST
Comment on attachment 18064 [details]
Patch to flesh-out the Cairo implementation

r- for now based on inclusion of needless APOLLO-only changes in the patch.
Comment 6 Alp Toker 2007-12-23 01:15:05 PST
Created attachment 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.
Comment 7 Holger Freyther 2007-12-23 16:21:02 PST
Comment on attachment 18069 [details]
Cairo graphics fixes

Looks sane.
Comment 8 Alp Toker 2007-12-23 17:12:15 PST
Landed in r28969.