Title: [188063] trunk/Source/WebKit/mac
Revision
188063
Author
ander...@apple.com
Date
2015-08-06 14:38:18 -0700 (Thu, 06 Aug 2015)

Log Message

Crashes when calling swizzled setNeedsDisplayInRect: on heartbeat thread
https://bugs.webkit.org/show_bug.cgi?id=147746
rdar://problem/18698271

Reviewed by Dan Bernstein.

Back off if someone is calling our swizzled setNeedsDisplayInRect on a non-main thread.

* WebView/WebHTMLView.mm:
(setNeedsDisplayInRect):

Modified Paths

Diff

Modified: trunk/Source/WebKit/mac/ChangeLog (188062 => 188063)


--- trunk/Source/WebKit/mac/ChangeLog	2015-08-06 21:36:00 UTC (rev 188062)
+++ trunk/Source/WebKit/mac/ChangeLog	2015-08-06 21:38:18 UTC (rev 188063)
@@ -1,3 +1,16 @@
+2015-08-06  Anders Carlsson  <ander...@apple.com>
+
+        Crashes when calling swizzled setNeedsDisplayInRect: on heartbeat thread
+        https://bugs.webkit.org/show_bug.cgi?id=147746
+        rdar://problem/18698271
+
+        Reviewed by Dan Bernstein.
+
+        Back off if someone is calling our swizzled setNeedsDisplayInRect on a non-main thread.
+
+        * WebView/WebHTMLView.mm:
+        (setNeedsDisplayInRect):
+
 2015-08-05  Filip Pizlo  <fpi...@apple.com>
 
         Unreviewed, roll out http://trac.webkit.org/changeset/187972.

Modified: trunk/Source/WebKit/mac/WebView/WebHTMLView.mm (188062 => 188063)


--- trunk/Source/WebKit/mac/WebView/WebHTMLView.mm	2015-08-06 21:36:00 UTC (rev 188062)
+++ trunk/Source/WebKit/mac/WebView/WebHTMLView.mm	2015-08-06 21:38:18 UTC (rev 188063)
@@ -334,7 +334,7 @@
 
 static void setNeedsDisplayInRect(NSView *self, SEL cmd, NSRect invalidRect)
 {
-    if (![self _drawnByAncestor]) {
+    if (![NSThread isMainThread] || ![self _drawnByAncestor]) {
         wtfCallIMP<id>(oldSetNeedsDisplayInRectIMP, self, cmd, invalidRect);
         return;
     }
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to