Title: [125319] trunk/Source/WebKit2
- Revision
- 125319
- Author
- [email protected]
- Date
- 2012-08-10 13:16:45 -0700 (Fri, 10 Aug 2012)
Log Message
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:]):
Modified Paths
Diff
Modified: trunk/Source/WebKit2/ChangeLog (125318 => 125319)
--- trunk/Source/WebKit2/ChangeLog 2012-08-10 20:13:02 UTC (rev 125318)
+++ trunk/Source/WebKit2/ChangeLog 2012-08-10 20:16:45 UTC (rev 125319)
@@ -1,3 +1,16 @@
+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 Rafael Brandao <[email protected]>
[Qt] WebViewLoadFavIcon::test_favIconLoad() fails
Modified: trunk/Source/WebKit2/UIProcess/mac/WKFullScreenWindowController.mm (125318 => 125319)
--- trunk/Source/WebKit2/UIProcess/mac/WKFullScreenWindowController.mm 2012-08-10 20:13:02 UTC (rev 125318)
+++ trunk/Source/WebKit2/UIProcess/mac/WKFullScreenWindowController.mm 2012-08-10 20:16:45 UTC (rev 125319)
@@ -144,8 +144,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