Bug 16577 - Merge Cairo enhancements from Apollo project
Summary: Merge Cairo enhancements from Apollo project
Alias: None
Product: WebKit
Classification: Unclassified
Component: WebCore Misc. (show other bugs)
Version: 528+ (Nightly build)
Hardware: All All
: P2 Normal
Assignee: Alp Toker
Keywords: Cairo
Depends on:
Reported: 2007-12-22 20:28 PST by Brent Fulgham
Modified: 2007-12-23 17:12 PST (History)
1 user (show)

See Also:

Patch to flesh-out the Cairo implementation (15.63 KB, patch)
2007-12-22 20:29 PST, Brent Fulgham
alp: review-
Details | Formatted Diff | Diff
Cairo graphics fixes (6.47 KB, patch)
2007-12-23 01:15 PST, Alp Toker
zecke: review+
Details | Formatted Diff | Diff

Note You need to log in before you can comment on or make changes to this bug.
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 (no email) 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.

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.