Adobe Reader
https://bugs.webkit.org/show_bug.cgi?id=120240
-and corresponding-
<rdar://problem/
14634453>
Reviewed by Anders Carlsson.
Source/WebCore:
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:
Source/WebKit/mac:
Hook up new WebSystemInterface API to find out if the current context is the PDF
context.
* WebCoreSupport/WebSystemInterface.mm:
(InitWebCoreSystemInterface):
Source/WebKit2:
Hook up new WebSystemInterface API to find out if the current context is the PDF
context.
* WebProcess/WebCoreSupport/mac/WebSystemInterface.mm:
(InitWebCoreSystemInterface):
WebKitLibraries:
* WebKitSystemInterface.h:
* libWebKitSystemInterfaceLion.a:
* libWebKitSystemInterfaceMountainLion.a:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@154528
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
+2013-08-23 Beth Dakin <bdakin@apple.com>
+
+ 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 <eric.carlson@apple.com>
[Mac] some track language tags are not recognized
_stringIsCaseInsensitiveEqualToString
_suggestedFilenameWithMIMEType
_wkCGContextGetShouldSmoothFonts
+_wkCGContextIsPDFContext
_wkCGContextResetClip
_wkCGPatternCreateWithImageAndTransform
_wkCTRunGetInitialAdvance
// 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);
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);
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);
+2013-08-23 Beth Dakin <bdakin@apple.com>
+
+ 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 <psolanki@apple.com>
<https://webkit.org/b/120029> Document::markers() should return a reference
INIT(SetNSURLConnectionDefersCallbacks);
INIT(SetNSURLRequestShouldContentSniff);
INIT(SetPatternPhaseInUserSpace);
+ INIT(CGContextIsPDFContext);
INIT(GetUserToBaseCTM);
INIT(SetUpFontCache);
INIT(SignalCFReadStreamEnd);
+2013-08-23 Beth Dakin <bdakin@apple.com>
+
+ 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 <ap@apple.com>
[WK2] Assertion failures when loading XSL stylesheets with NetworkProcess
INIT(SignedPublicKeyAndChallengeString);
INIT(GetPreferredExtensionForMIMEType);
INIT(GetUserToBaseCTM);
+ INIT(CGContextIsPDFContext);
INIT(GetWheelEventDeltas);
INIT(GetNSEventKeyChar);
INIT(HitTestMediaUIPart);
+2013-08-23 Beth Dakin <bdakin@apple.com>
+
+ 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 <achristensen@apple.com>
Re-separating Win32 and Win64 builds.
BOOL WKCGContextIsBitmapContext(CGContextRef context);
+bool WKCGContextIsPDFContext(CGContextRef context);
void WKGetWheelEventDeltas(NSEvent *, float *deltaX, float *deltaY, BOOL *continuous);