Summary: | Cairo build does not work as it is in the tree | ||||||
---|---|---|---|---|---|---|---|
Product: | WebKit | Reporter: | Daniel Zucker <zucker> | ||||
Component: | Platform | Assignee: | Nobody <webkit-unassigned> | ||||
Status: | RESOLVED FIXED | ||||||
Severity: | Normal | CC: | a.butenka, bfulgham | ||||
Priority: | P2 | ||||||
Version: | 528+ (Nightly build) | ||||||
Hardware: | PC | ||||||
OS: | Windows Vista | ||||||
Attachments: |
|
Description
Daniel Zucker
2008-04-11 15:10:07 PDT
Created attachment 20487 [details]
fix for Cairo build
this is needed for Cairo build to work
Comment on attachment 20487 [details]
fix for Cairo build
This patch seems to use tabs for indentation. Please only use 4 spaces for indentation.
@@ -1665,6 +1666,7 @@ HRESULT STDMETHODCALLTYPE WebFrame::spoo
/* [in] */ UINT endPage,
/* [retval][out] */ void* ctx)
{
+#if !PLATFORM(CAIRO)
if (!printDC || !ctx) {
ASSERT_NOT_REACHED();
return E_POINTER;
@@ -1748,8 +1750,11 @@ HRESULT STDMETHODCALLTYPE WebFrame::spoo
CGContextEndPage(pctx);
CGContextRestoreGState(pctx);
}
-
return S_OK;
+#else
+ notImplemented();
+ return E_NOTIMPL;
+#endif //!PLATFORM(CAIRO)
}
Can we move most of spoolPages down into WebCore? You should talk to Alp Toker, who I think was working on a cross-platform printing abstraction.
void DrawTextAtPoint(CGContextRef cgContext, LPCTSTR text, int length, POINT point, const WebFontDescription& description, CGColorRef color, int underlinedIndex, bool drawAsPassword)
{
+#if !PLATFORM(CAIRO)
GraphicsContext context(cgContext);
String drawString(text, length);
if (drawAsPassword)
drawString = drawString.impl()->secure(WebCore::bullet);
WebCoreDrawTextAtPoint(context, drawString, point, makeFont(description), color, underlinedIndex);
+#else
+ notImplemented();
+#endif //!Platform(CAIRO)
}
Seems like this whole function will have to be compiled out for Cairo, since you won't have a CGContextRef type.
I think we can/should rework WebDragClient to use the new ImageBuffer abstraction so that we can remove the CG-specific code from it.
builds fine now. Equivalents of these patches are all in the tree now. |