Title: [151046] branches/safari-537.43-branch/Source/WebCore
Revision
151046
Author
[email protected]
Date
2013-05-31 15:13:45 -0700 (Fri, 31 May 2013)

Log Message

Merged r151042.  <rdar://problem/13812355>

Modified Paths

Diff

Modified: branches/safari-537.43-branch/Source/WebCore/ChangeLog (151045 => 151046)


--- branches/safari-537.43-branch/Source/WebCore/ChangeLog	2013-05-31 22:08:16 UTC (rev 151045)
+++ branches/safari-537.43-branch/Source/WebCore/ChangeLog	2013-05-31 22:13:45 UTC (rev 151046)
@@ -1,5 +1,22 @@
 2013-05-31  Lucas Forschler  <[email protected]>
 
+        Merge r151042
+
+    2013-05-31  Anders Carlsson  <[email protected]>
+
+            Take the normal NSView code path when drawing into an inclusive layer
+            https://bugs.webkit.org/show_bug.cgi?id=117094
+            <rdar://problem/13812355>
+
+            Reviewed by Sam Weinig.
+
+            For now, take the normal code path when drawing into an inclusive layer.
+
+            * platform/mac/WidgetMac.mm:
+            (WebCore::Widget::paint):
+
+2013-05-31  Lucas Forschler  <[email protected]>
+
         Merge r150836
 
     2013-05-28  Chris Fleizach  <[email protected]>

Modified: branches/safari-537.43-branch/Source/WebCore/platform/mac/WidgetMac.mm (151045 => 151046)


--- branches/safari-537.43-branch/Source/WebCore/platform/mac/WidgetMac.mm	2013-05-31 22:08:16 UTC (rev 151045)
+++ branches/safari-537.43-branch/Source/WebCore/platform/mac/WidgetMac.mm	2013-05-31 22:13:45 UTC (rev 151046)
@@ -54,6 +54,9 @@
 
 @interface NSView (Widget)
 - (void)visibleRectDidChange;
+#if __MAC_OS_X_VERSION_MIN_REQUIRED >= 1090
+- (BOOL)_hasCanDrawSubviewsIntoLayerOrAncestor;
+#endif
 @end
 
 namespace WebCore {
@@ -208,9 +211,14 @@
     // code, which can deref it.
     RefPtr<Widget> protectedThis(this);
 
+    BOOL hasCanDrawSubviewsIntoLayerOrAncestor = NO;
+#if __MAC_OS_X_VERSION_MIN_REQUIRED >= 1090
+    hasCanDrawSubviewsIntoLayerOrAncestor = [view _hasCanDrawSubviewsIntoLayerOrAncestor];
+#endif
+    
     NSGraphicsContext *currentContext = [NSGraphicsContext currentContext];
-    if (currentContext == [[view window] graphicsContext] || ![currentContext isDrawingToScreen]) {
-        // This is the common case of drawing into a window or printing.
+    if (currentContext == [[view window] graphicsContext] || ![currentContext isDrawingToScreen] || hasCanDrawSubviewsIntoLayerOrAncestor) {
+        // This is the common case of drawing into a window or an inclusive layer, or printing.
         BEGIN_BLOCK_OBJC_EXCEPTIONS;
         [view displayRectIgnoringOpacity:[view convertRect:r fromView:[view superview]]];
         END_BLOCK_OBJC_EXCEPTIONS;
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to