Title: [170308] trunk/Source/WebCore
Revision
170308
Author
[email protected]
Date
2014-06-23 12:02:23 -0700 (Mon, 23 Jun 2014)

Log Message

Catch Obj-C exceptions thrown by _linenPatternImage
https://bugs.webkit.org/show_bug.cgi?id=134202

Reviewed by Geoffrey Garen.

Catch Objective-C exceptions thrown by _linenPatternImage and
-[NSImage CGImageForProposedRect:context:hints:].

* platform/mac/ScrollbarThemeMac.mm:
(WebCore::linenBackgroundColor):

Modified Paths

Diff

Modified: trunk/Source/WebCore/ChangeLog (170307 => 170308)


--- trunk/Source/WebCore/ChangeLog	2014-06-23 19:00:34 UTC (rev 170307)
+++ trunk/Source/WebCore/ChangeLog	2014-06-23 19:02:23 UTC (rev 170308)
@@ -1,5 +1,18 @@
 2014-06-23  Simon Fraser  <[email protected]>
 
+        Catch Obj-C exceptions thrown by _linenPatternImage
+        https://bugs.webkit.org/show_bug.cgi?id=134202
+
+        Reviewed by Geoffrey Garen.
+
+        Catch Objective-C exceptions thrown by _linenPatternImage and
+        -[NSImage CGImageForProposedRect:context:hints:].
+
+        * platform/mac/ScrollbarThemeMac.mm:
+        (WebCore::linenBackgroundColor):
+
+2014-06-23  Simon Fraser  <[email protected]>
+
         CSS clip property should make layers non-opaque
         https://bugs.webkit.org/show_bug.cgi?id=134147
         <rdar://problem/17324579>

Modified: trunk/Source/WebCore/platform/mac/ScrollbarThemeMac.mm (170307 => 170308)


--- trunk/Source/WebCore/platform/mac/ScrollbarThemeMac.mm	2014-06-23 19:00:34 UTC (rev 170307)
+++ trunk/Source/WebCore/platform/mac/ScrollbarThemeMac.mm	2014-06-23 19:02:23 UTC (rev 170308)
@@ -520,8 +520,15 @@
 #if ENABLE(RUBBER_BANDING)
 static RetainPtr<CGColorRef> linenBackgroundColor()
 {
-    NSImage *image = [NSColor _linenPatternImage];
-    CGImageRef cgImage = [image CGImageForProposedRect:NULL context:NULL hints:nil];
+    NSImage *image = nil;
+    CGImageRef cgImage = nullptr;
+    BEGIN_BLOCK_OBJC_EXCEPTIONS;
+    image = [NSColor _linenPatternImage];
+    cgImage = [image CGImageForProposedRect:NULL context:NULL hints:nil];
+    END_BLOCK_OBJC_EXCEPTIONS;
+    
+    if (!cgImage)
+        return nullptr;
 
     RetainPtr<CGPatternRef> pattern = adoptCF(wkCGPatternCreateWithImageAndTransform(cgImage, CGAffineTransformIdentity, wkPatternTilingNoDistortion));
     RetainPtr<CGColorSpaceRef> colorSpace = adoptCF(CGColorSpaceCreatePattern(0));
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to