[webkit-changes] cvs commit: WebKit/WebCoreSupport.subproj WebBridge.m

Timothy thatcher at opensource.apple.com
Sat Nov 12 17:03:43 PST 2005


thatcher    05/11/12 17:03:43

  Modified:    .        Tag: Safari-1-3-branch ChangeLog
               WebCoreSupport.subproj Tag: Safari-1-3-branch WebBridge.m
  Log:
          Merged fix from TOT to Safari-1-3-branch
          Vicki thinks this fixes <rdar://problem/3562729> location.replace with dynamically written frameset doesn't change view (3621)
  
      2005-08-01  Geoffrey Garen  <ggaren at apple.com>
  
          Fixed <rdar://problem/3572585> window.open fails if name param = the name of a window just closed in same function
  
          Reviewed by darin.
  
          Test cases added:
  
          * manual-tests/open-after-close.html: Added.
          * manual-tests/resources/open-after-close-popup.html: Added.
  
          * WebCoreSupport.subproj/WebBridge.m:
          (-[WebBridge closeWindowSoon]): We now remove a WebView from WebViewSets when the WebView is *scheduled* to close.
  
  Revision  Changes    Path
  No                   revision
  
  
  No                   revision
  
  
  1.3120.2.19 +19 -0     WebKit/ChangeLog
  
  Index: ChangeLog
  ===================================================================
  RCS file: /cvs/root/WebKit/ChangeLog,v
  retrieving revision 1.3120.2.18
  retrieving revision 1.3120.2.19
  diff -u -r1.3120.2.18 -r1.3120.2.19
  --- ChangeLog	11 Nov 2005 05:12:35 -0000	1.3120.2.18
  +++ ChangeLog	13 Nov 2005 01:03:28 -0000	1.3120.2.19
  @@ -1,6 +1,25 @@
   2005-11-10  Timothy Hatcher  <timothy at apple.com>
   
           Merged fix from TOT to Safari-1-3-branch
  +        Vicki thinks this fixes <rdar://problem/3562729> location.replace with dynamically written frameset doesn't change view (3621)
  +
  +    2005-08-01  Geoffrey Garen  <ggaren at apple.com>
  +
  +        Fixed <rdar://problem/3572585> window.open fails if name param = the name of a window just closed in same function
  +
  +        Reviewed by darin.
  +
  +        Test cases added:
  +
  +        * manual-tests/open-after-close.html: Added.
  +        * manual-tests/resources/open-after-close-popup.html: Added.
  +
  +        * WebCoreSupport.subproj/WebBridge.m:
  +        (-[WebBridge closeWindowSoon]): We now remove a WebView from WebViewSets when the WebView is *scheduled* to close.
  +
  +2005-11-10  Timothy Hatcher  <timothy at apple.com>
  +
  +        Merged fix from TOT to Safari-1-3-branch
   
       2005-10-12  Vicki Murley  <vicki at apple.com>
   
  
  
  
  No                   revision
  
  
  No                   revision
  
  
  1.340.6.5 +14 -1     WebKit/WebCoreSupport.subproj/WebBridge.m
  
  Index: WebBridge.m
  ===================================================================
  RCS file: /cvs/root/WebKit/WebCoreSupport.subproj/WebBridge.m,v
  retrieving revision 1.340.6.4
  retrieving revision 1.340.6.5
  diff -u -r1.340.6.4 -r1.340.6.5
  --- WebBridge.m	4 Nov 2005 08:07:39 -0000	1.340.6.4
  +++ WebBridge.m	13 Nov 2005 01:03:42 -0000	1.340.6.5
  @@ -324,7 +324,20 @@
   
   - (void)closeWindowSoon
   {
  -    [[_frame webView] performSelector:@selector(_closeWindow) withObject:nil afterDelay:0.0];
  +    WebView *parentWebView = [_frame webView];
  +
  +    // 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.
  +
  +    // 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 performSelector:@selector(_closeWindow) withObject:nil afterDelay:0.0];
   }
   
   - (NSWindow *)window
  
  
  



More information about the webkit-changes mailing list