[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