[webkit-changes] cvs commit: WebKit/WebCoreSupport.subproj
WebBridge.m
Geoffrey
ggaren at opensource.apple.com
Mon Nov 7 13:18:04 PST 2005
ggaren 05/11/07 13:18:03
Modified: . ChangeLog
WebCoreSupport.subproj WebBridge.m
Log:
Darin reviewed this a while back.
- Fixed <rdar://problem/4161660> window.close followed by window.print
in onload handler crashes Safari in KJS::ScopeChain::bottom
(redmccombstoyota.com)
Added a call to stopLoading inside closeWindowSoon to prevent load
events from firing after a window has torn down.
Manual test case: WebCore/manual-tests/window-close-during-parsing.html
* WebCoreSupport.subproj/WebBridge.m:
(-[WebBridge closeWindowSoon]):
Revision Changes Path
1.3368 +16 -0 WebKit/ChangeLog
Index: ChangeLog
===================================================================
RCS file: /cvs/root/WebKit/ChangeLog,v
retrieving revision 1.3367
retrieving revision 1.3368
diff -u -r1.3367 -r1.3368
--- ChangeLog 4 Nov 2005 01:38:21 -0000 1.3367
+++ ChangeLog 7 Nov 2005 21:17:54 -0000 1.3368
@@ -1,3 +1,19 @@
+2005-11-07 Geoffrey Garen <ggaren at apple.com>
+
+ Darin reviewed this a while back.
+
+ - Fixed <rdar://problem/4161660> window.close followed by window.print
+ in onload handler crashes Safari in KJS::ScopeChain::bottom
+ (redmccombstoyota.com)
+
+ Added a call to stopLoading inside closeWindowSoon to prevent load
+ events from firing after a window has torn down.
+
+ Manual test case: WebCore/manual-tests/window-close-during-parsing.html
+
+ * WebCoreSupport.subproj/WebBridge.m:
+ (-[WebBridge closeWindowSoon]):
+
2005-11-03 Timothy Hatcher <timothy at apple.com>
Reviewed by Darin and Vicki.
1.373 +7 -1 WebKit/WebCoreSupport.subproj/WebBridge.m
Index: WebBridge.m
===================================================================
RCS file: /cvs/root/WebKit/WebCoreSupport.subproj/WebBridge.m,v
retrieving revision 1.372
retrieving revision 1.373
diff -u -r1.372 -r1.373
--- WebBridge.m 7 Oct 2005 18:31:49 -0000 1.372
+++ WebBridge.m 7 Nov 2005 21:18:03 -0000 1.373
@@ -351,14 +351,20 @@
// We need to remove the parent WebView from WebViewSets here, before it actually
// closes, to make sure that JavaScript code that executes before it closes
- // can't find it. Otherwise, window.open will select a closed WebView instead of opening a new one.
+ // can't find it. Otherwise, window.open will select a closed WebView instead of
+ // opening a new one <rdar://problem/3572585>.
+ // We also need to stop the load to prevent further parsing or JavaScript execution
+ // after the window has torn down <rdar://problem/4161660>.
+
// FIXME: This code assumes that the UI delegate will respond to a webViewClose
// message by actually closing the WebView. Safari guarantees this behavior, but other apps might not.
// This approach is an inherent limitation of not making a close execute immediately
// after a call to window.close.
[WebViewSets removeWebView:parentWebView fromSetNamed:[parentWebView groupName]];
+
+ [parentWebView stopLoading:self];
[parentWebView performSelector:@selector(_closeWindow) withObject:nil afterDelay:0.0];
}
More information about the webkit-changes
mailing list