Diff
Modified: trunk/Source/WebCore/ChangeLog (154527 => 154528)
--- trunk/Source/WebCore/ChangeLog 2013-08-23 22:44:15 UTC (rev 154527)
+++ trunk/Source/WebCore/ChangeLog 2013-08-23 22:57:07 UTC (rev 154528)
@@ -1,3 +1,23 @@
+2013-08-23 Beth Dakin <[email protected]>
+
+ REGRESSION (r132545): Some PDFs generated by WebKit are blank when viewed in
+ Adobe Reader
+ https://bugs.webkit.org/show_bug.cgi?id=120240
+ -and corresponding-
+ <rdar://problem/14634453>
+
+ Reviewed by Anders Carlsson.
+
+ This patch makes it so that we don’t use the infinite rect for the PDF context,
+ and it adds WebCoreSystemInterface API to find out if the current content is the
+ PDF context.
+
+ * WebCore.exp.in:
+ * platform/graphics/cg/GraphicsContextCG.cpp:
+ (WebCore::GraphicsContext::clipOut):
+ * platform/mac/WebCoreSystemInterface.h:
+ * platform/mac/WebCoreSystemInterface.mm:
+
2013-08-23 Eric Carlson <[email protected]>
[Mac] some track language tags are not recognized
Modified: trunk/Source/WebCore/WebCore.exp.in (154527 => 154528)
--- trunk/Source/WebCore/WebCore.exp.in 2013-08-23 22:44:15 UTC (rev 154527)
+++ trunk/Source/WebCore/WebCore.exp.in 2013-08-23 22:57:07 UTC (rev 154528)
@@ -1709,6 +1709,7 @@
_stringIsCaseInsensitiveEqualToString
_suggestedFilenameWithMIMEType
_wkCGContextGetShouldSmoothFonts
+_wkCGContextIsPDFContext
_wkCGContextResetClip
_wkCGPatternCreateWithImageAndTransform
_wkCTRunGetInitialAdvance
Modified: trunk/Source/WebCore/platform/graphics/cg/GraphicsContextCG.cpp (154527 => 154528)
--- trunk/Source/WebCore/platform/graphics/cg/GraphicsContextCG.cpp 2013-08-23 22:44:15 UTC (rev 154527)
+++ trunk/Source/WebCore/platform/graphics/cg/GraphicsContextCG.cpp 2013-08-23 22:57:07 UTC (rev 154528)
@@ -838,9 +838,10 @@
// FIXME: Using CGRectInfinite is much faster than getting the clip bounding box. However, due
// to <rdar://problem/12584492>, CGRectInfinite can't be used with an accelerated context that
- // has certain transforms that aren't just a translation or a scale.
+ // has certain transforms that aren't just a translation or a scale. And due to <rdar://problem/14634453>
+ // we cannot use it in for a printing context either.
const AffineTransform& ctm = getCTM();
- bool canUseCGRectInfinite = !isAcceleratedContext() || (!ctm.b() && !ctm.c());
+ bool canUseCGRectInfinite = !wkCGContextIsPDFContext(platformContext()) && (!isAcceleratedContext() || (!ctm.b() && !ctm.c()));
CGRect rects[2] = { canUseCGRectInfinite ? CGRectInfinite : CGContextGetClipBoundingBox(platformContext()), rect };
CGContextBeginPath(platformContext());
CGContextAddRects(platformContext(), rects, 2);
Modified: trunk/Source/WebCore/platform/mac/WebCoreSystemInterface.h (154527 => 154528)
--- trunk/Source/WebCore/platform/mac/WebCoreSystemInterface.h 2013-08-23 22:44:15 UTC (rev 154527)
+++ trunk/Source/WebCore/platform/mac/WebCoreSystemInterface.h 2013-08-23 22:57:07 UTC (rev 154528)
@@ -202,6 +202,7 @@
extern void (*wkSetBaseCTM)(CGContextRef, CGAffineTransform);
extern void (*wkSetPatternPhaseInUserSpace)(CGContextRef, CGPoint);
extern CGAffineTransform (*wkGetUserToBaseCTM)(CGContextRef);
+extern bool (*wkCGContextIsPDFContext)(CGContextRef);
extern void (*wkSetUpFontCache)();
extern void (*wkSignalCFReadStreamEnd)(CFReadStreamRef stream);
extern void (*wkSignalCFReadStreamError)(CFReadStreamRef stream, CFStreamError *error);
Modified: trunk/Source/WebCore/platform/mac/WebCoreSystemInterface.mm (154527 => 154528)
--- trunk/Source/WebCore/platform/mac/WebCoreSystemInterface.mm 2013-08-23 22:44:15 UTC (rev 154527)
+++ trunk/Source/WebCore/platform/mac/WebCoreSystemInterface.mm 2013-08-23 22:57:07 UTC (rev 154528)
@@ -92,6 +92,7 @@
void (*wkSetBaseCTM)(CGContextRef, CGAffineTransform);
void (*wkSetPatternPhaseInUserSpace)(CGContextRef, CGPoint point);
CGAffineTransform (*wkGetUserToBaseCTM)(CGContextRef);
+bool (*wkCGContextIsPDFContext)(CGContextRef);
void (*wkSetUpFontCache)();
void (*wkSignalCFReadStreamEnd)(CFReadStreamRef stream);
void (*wkSignalCFReadStreamHasBytes)(CFReadStreamRef stream);
Modified: trunk/Source/WebKit/mac/ChangeLog (154527 => 154528)
--- trunk/Source/WebKit/mac/ChangeLog 2013-08-23 22:44:15 UTC (rev 154527)
+++ trunk/Source/WebKit/mac/ChangeLog 2013-08-23 22:57:07 UTC (rev 154528)
@@ -1,3 +1,19 @@
+2013-08-23 Beth Dakin <[email protected]>
+
+ REGRESSION (r132545): Some PDFs generated by WebKit are blank when viewed in
+ Adobe Reader
+ https://bugs.webkit.org/show_bug.cgi?id=120240
+ -and corresponding-
+ <rdar://problem/14634453>
+
+ Reviewed by Anders Carlsson.
+
+ Hook up new WebSystemInterface API to find out if the current context is the PDF
+ context.
+
+ * WebCoreSupport/WebSystemInterface.mm:
+ (InitWebCoreSystemInterface):
+
2013-08-20 Pratik Solanki <[email protected]>
<https://webkit.org/b/120029> Document::markers() should return a reference
Modified: trunk/Source/WebKit/mac/WebCoreSupport/WebSystemInterface.mm (154527 => 154528)
--- trunk/Source/WebKit/mac/WebCoreSupport/WebSystemInterface.mm 2013-08-23 22:44:15 UTC (rev 154527)
+++ trunk/Source/WebKit/mac/WebCoreSupport/WebSystemInterface.mm 2013-08-23 22:57:07 UTC (rev 154528)
@@ -99,6 +99,7 @@
INIT(SetNSURLConnectionDefersCallbacks);
INIT(SetNSURLRequestShouldContentSniff);
INIT(SetPatternPhaseInUserSpace);
+ INIT(CGContextIsPDFContext);
INIT(GetUserToBaseCTM);
INIT(SetUpFontCache);
INIT(SignalCFReadStreamEnd);
Modified: trunk/Source/WebKit2/ChangeLog (154527 => 154528)
--- trunk/Source/WebKit2/ChangeLog 2013-08-23 22:44:15 UTC (rev 154527)
+++ trunk/Source/WebKit2/ChangeLog 2013-08-23 22:57:07 UTC (rev 154528)
@@ -1,3 +1,19 @@
+2013-08-23 Beth Dakin <[email protected]>
+
+ REGRESSION (r132545): Some PDFs generated by WebKit are blank when viewed in
+ Adobe Reader
+ https://bugs.webkit.org/show_bug.cgi?id=120240
+ -and corresponding-
+ <rdar://problem/14634453>
+
+ Reviewed by Anders Carlsson.
+
+ Hook up new WebSystemInterface API to find out if the current context is the PDF
+ context.
+
+ * WebProcess/WebCoreSupport/mac/WebSystemInterface.mm:
+ (InitWebCoreSystemInterface):
+
2013-08-23 Alexey Proskuryakov <[email protected]>
[WK2] Assertion failures when loading XSL stylesheets with NetworkProcess
Modified: trunk/Source/WebKit2/WebProcess/WebCoreSupport/mac/WebSystemInterface.mm (154527 => 154528)
--- trunk/Source/WebKit2/WebProcess/WebCoreSupport/mac/WebSystemInterface.mm 2013-08-23 22:44:15 UTC (rev 154527)
+++ trunk/Source/WebKit2/WebProcess/WebCoreSupport/mac/WebSystemInterface.mm 2013-08-23 22:57:07 UTC (rev 154528)
@@ -72,6 +72,7 @@
INIT(SignedPublicKeyAndChallengeString);
INIT(GetPreferredExtensionForMIMEType);
INIT(GetUserToBaseCTM);
+ INIT(CGContextIsPDFContext);
INIT(GetWheelEventDeltas);
INIT(GetNSEventKeyChar);
INIT(HitTestMediaUIPart);
Modified: trunk/WebKitLibraries/ChangeLog (154527 => 154528)
--- trunk/WebKitLibraries/ChangeLog 2013-08-23 22:44:15 UTC (rev 154527)
+++ trunk/WebKitLibraries/ChangeLog 2013-08-23 22:57:07 UTC (rev 154528)
@@ -1,3 +1,17 @@
+2013-08-23 Beth Dakin <[email protected]>
+
+ REGRESSION (r132545): Some PDFs generated by WebKit are blank when viewed in
+ Adobe Reader
+ https://bugs.webkit.org/show_bug.cgi?id=120240
+ -and corresponding-
+ <rdar://problem/14634453>
+
+ Reviewed by Anders Carlsson.
+
+ * WebKitSystemInterface.h:
+ * libWebKitSystemInterfaceLion.a:
+ * libWebKitSystemInterfaceMountainLion.a:
+
2013-08-23 Alex Christensen <[email protected]>
Re-separating Win32 and Win64 builds.
Modified: trunk/WebKitLibraries/WebKitSystemInterface.h (154527 => 154528)
--- trunk/WebKitLibraries/WebKitSystemInterface.h 2013-08-23 22:44:15 UTC (rev 154527)
+++ trunk/WebKitLibraries/WebKitSystemInterface.h 2013-08-23 22:57:07 UTC (rev 154528)
@@ -209,6 +209,7 @@
BOOL WKCGContextIsBitmapContext(CGContextRef context);
+bool WKCGContextIsPDFContext(CGContextRef context);
void WKGetWheelEventDeltas(NSEvent *, float *deltaX, float *deltaY, BOOL *continuous);
Modified: trunk/WebKitLibraries/libWebKitSystemInterfaceLion.a
(Binary files differ)
Modified: trunk/WebKitLibraries/libWebKitSystemInterfaceMountainLion.a
(Binary files differ)