Diff
Modified: branches/safari-601.1-branch/Source/WebCore/ChangeLog (187319 => 187320)
--- branches/safari-601.1-branch/Source/WebCore/ChangeLog 2015-07-24 07:54:29 UTC (rev 187319)
+++ branches/safari-601.1-branch/Source/WebCore/ChangeLog 2015-07-24 07:54:33 UTC (rev 187320)
@@ -1,5 +1,20 @@
2015-07-24 Matthew Hanson <[email protected]>
+ Merge r187215. rdar://problem/21032083
+
+ 2015-07-22 James Savage <[email protected]>
+
+ Use updated CoreAnimation snapshot SPI.
+ https://bugs.webkit.org/show_bug.cgi?id=147197
+ <rdar://problem/21032083>
+
+ Reviewed by Tim Horton.
+ Patch by James Savage.
+
+ * platform/spi/cocoa/QuartzCoreSPI.h:
+
+2015-07-24 Matthew Hanson <[email protected]>
+
Merge r187203. rdar://problem/21012688
2015-07-22 Dean Jackson <[email protected]>
Modified: branches/safari-601.1-branch/Source/WebCore/platform/spi/cocoa/QuartzCoreSPI.h (187319 => 187320)
--- branches/safari-601.1-branch/Source/WebCore/platform/spi/cocoa/QuartzCoreSPI.h 2015-07-24 07:54:29 UTC (rev 187319)
+++ branches/safari-601.1-branch/Source/WebCore/platform/spi/cocoa/QuartzCoreSPI.h 2015-07-24 07:54:33 UTC (rev 187320)
@@ -32,6 +32,7 @@
#include <QuartzCore/CARenderServer.h>
#ifdef __OBJC__
+#import <QuartzCore/CADisplay.h>
#import <QuartzCore/CALayerHost.h>
#import <QuartzCore/CALayerPrivate.h>
@@ -149,7 +150,7 @@
uint32_t slotId, int32_t ox, int32_t oy, const CATransform3D *);
#if USE(IOSURFACE)
-EXTERN_C void CARenderServerRenderLayerWithTransform(mach_port_t server_port, uint32_t client_id, uint64_t layer_id, IOSurfaceRef iosurface, int32_t ox, int32_t oy, const CATransform3D *matrix);
+EXTERN_C void CARenderServerRenderDisplayLayerWithTransformAndTimeOffset(mach_port_t server_port, CFStringRef display_name, uint32_t client_id, uint64_t layer_id, IOSurfaceRef iosurface, int32_t ox, int32_t oy, const CATransform3D *matrix, CFTimeInterval offset);
#endif
Modified: branches/safari-601.1-branch/Source/WebKit2/ChangeLog (187319 => 187320)
--- branches/safari-601.1-branch/Source/WebKit2/ChangeLog 2015-07-24 07:54:29 UTC (rev 187319)
+++ branches/safari-601.1-branch/Source/WebKit2/ChangeLog 2015-07-24 07:54:33 UTC (rev 187320)
@@ -1,5 +1,22 @@
2015-07-24 Matthew Hanson <[email protected]>
+ Merge r187215. rdar://problem/21032083
+
+ 2015-07-22 James Savage <[email protected]>
+
+ Use updated CoreAnimation snapshot SPI.
+ https://bugs.webkit.org/show_bug.cgi?id=147197
+ <rdar://problem/21032083>
+
+ Reviewed by Tim Horton.
+ Patch by James Savage.
+
+ * Platform/spi/ios/UIKitSPI.h:
+ * UIProcess/API/Cocoa/WKWebView.mm:
+ (-[WKWebView _snapshotRect:intoImageOfWidth:completionHandler:]):
+
+2015-07-24 Matthew Hanson <[email protected]>
+
Merge r187212. rdar://problem/21945775
2015-07-22 Timothy Horton <[email protected]>
Modified: branches/safari-601.1-branch/Source/WebKit2/Platform/spi/ios/UIKitSPI.h (187319 => 187320)
--- branches/safari-601.1-branch/Source/WebKit2/Platform/spi/ios/UIKitSPI.h 2015-07-24 07:54:29 UTC (rev 187319)
+++ branches/safari-601.1-branch/Source/WebKit2/Platform/spi/ios/UIKitSPI.h 2015-07-24 07:54:33 UTC (rev 187320)
@@ -247,6 +247,11 @@
- (void)_handleKeyUIEvent:(UIEvent *)event;
@end
+@class CADisplay;
+@interface UIScreen (Details)
+- (CADisplay *)_display;
+@end
+
@interface UIScrollView (Details)
- (void)_stopScrollingAndZoomingAnimations;
- (void)_zoomToCenter:(CGPoint)center scale:(CGFloat)scale duration:(CFTimeInterval)duration force:(BOOL)force;
Modified: branches/safari-601.1-branch/Source/WebKit2/UIProcess/API/Cocoa/WKWebView.mm (187319 => 187320)
--- branches/safari-601.1-branch/Source/WebKit2/UIProcess/API/Cocoa/WKWebView.mm 2015-07-24 07:54:29 UTC (rev 187319)
+++ branches/safari-601.1-branch/Source/WebKit2/UIProcess/API/Cocoa/WKWebView.mm 2015-07-24 07:54:33 UTC (rev 187320)
@@ -2890,14 +2890,13 @@
#if USE(IOSURFACE)
// If we are parented and thus won't incur a significant penalty from paging in tiles, snapshot the view hierarchy directly.
- if (self.window) {
+ if (CADisplay *display = self.window.screen._display) {
auto surface = WebCore::IOSurface::create(WebCore::expandedIntSize(WebCore::FloatSize(imageSize)), WebCore::ColorSpaceDeviceRGB);
CGFloat imageScaleInViewCoordinates = imageWidth / rectInViewCoordinates.size.width;
CATransform3D transform = CATransform3DMakeScale(imageScaleInViewCoordinates, imageScaleInViewCoordinates, 1);
transform = CATransform3DTranslate(transform, -rectInViewCoordinates.origin.x, -rectInViewCoordinates.origin.y, 0);
- CARenderServerRenderLayerWithTransform(MACH_PORT_NULL, self.layer.context.contextId, reinterpret_cast<uint64_t>(self.layer), surface->surface(), 0, 0, &transform);
+ CARenderServerRenderDisplayLayerWithTransformAndTimeOffset(MACH_PORT_NULL, (CFStringRef)display.name, self.layer.context.contextId, reinterpret_cast<uint64_t>(self.layer), surface->surface(), 0, 0, &transform, 0);
completionHandler(surface->createImage().get());
-
return;
}
#endif