Title: [125616] branches/safari-536.26-branch/Source/WebKit2
Revision
125616
Author
[email protected]
Date
2012-08-14 15:47:27 -0700 (Tue, 14 Aug 2012)

Log Message

Merged r125319.  <rdar://problem/12092509>

Modified Paths

Diff

Modified: branches/safari-536.26-branch/Source/WebKit2/ChangeLog (125615 => 125616)


--- branches/safari-536.26-branch/Source/WebKit2/ChangeLog	2012-08-14 22:34:01 UTC (rev 125615)
+++ branches/safari-536.26-branch/Source/WebKit2/ChangeLog	2012-08-14 22:47:27 UTC (rev 125616)
@@ -1,3 +1,20 @@
+2012-08-14  Lucas Forschler  <[email protected]>
+
+    Merge r125319.
+
+    2012-08-09  Jer Noble  <[email protected]>
+
+            Crash exiting from HTML5 FS mode to normal mode via ESC key
+            https://bugs.webkit.org/show_bug.cgi?id=93663
+
+            Reviewed by Eric Carlson.
+
+            Crash is due to a refcount underrun with _watchdogTimer due to adopting an autoreleased NSTimer.
+            Use the non-autoreleased NSTimer creation method and manually add to the main NSRunLoop.
+
+            * UIProcess/mac/WKFullScreenWindowController.mm:
+            (-[WKFullScreenWindowController cancelOperation:]):
+
 2012-08-10  Lucas Forschler  <[email protected]>
 
     Merge r124799.
@@ -47075,3 +47092,4 @@
 
 == Rolled over to ChangeLog-2011-06-04 ==
 .
+.

Modified: branches/safari-536.26-branch/Source/WebKit2/UIProcess/mac/WKFullScreenWindowController.mm (125615 => 125616)


--- branches/safari-536.26-branch/Source/WebKit2/UIProcess/mac/WKFullScreenWindowController.mm	2012-08-14 22:34:01 UTC (rev 125615)
+++ branches/safari-536.26-branch/Source/WebKit2/UIProcess/mac/WKFullScreenWindowController.mm	2012-08-14 22:47:27 UTC (rev 125616)
@@ -145,8 +145,10 @@
 
     // If the page doesn't respond in DefaultWatchdogTimerInterval seconds, it could be because
     // the WebProcess has hung, so exit anyway.
-    if (!_watchdogTimer)
-        _watchdogTimer = adoptNS([NSTimer scheduledTimerWithTimeInterval:DefaultWatchdogTimerInterval target:self selector:@selector(exitFullScreen) userInfo:nil repeats:NO]);
+    if (!_watchdogTimer) {
+        _watchdogTimer = adoptNS([[NSTimer alloc] initWithFireDate:nil interval:DefaultWatchdogTimerInterval target:self selector:@selector(exitFullScreen) userInfo:nil repeats:NO]);
+        [[NSRunLoop mainRunLoop] addTimer:_watchdogTimer.get() forMode:NSDefaultRunLoopMode];
+    }
 }
 
 #pragma mark -
_______________________________________________
webkit-changes mailing list
[email protected]
http://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to