Fix for 3873234, Safari UI is unresponsive when parsing multiple HTML docs and 38732...
authorhyatt <hyatt@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Wed, 10 Nov 2004 03:46:05 +0000 (03:46 +0000)
committerhyatt <hyatt@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Wed, 10 Nov 2004 03:46:05 +0000 (03:46 +0000)
loading large local files.

        Reviewed by mjs

        * WebCoreSupport.subproj/WebBridge.m:
        (-[WebBridge tokenizerProcessedData]):
        * WebView.subproj/WebDataSource.m:
        (-[WebDataSource _receivedMainResourceError:complete:]):
        (-[WebDataSource isLoading]):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@7965 268f45cc-cd09-0410-ab3c-d52691b4dbfc

WebKit/ChangeLog
WebKit/WebCoreSupport.subproj/WebBridge.m
WebKit/WebView.subproj/WebDataSource.m

index 48fcf55cc727ae638087a8ea2a04a2f386a16bfe..63ef6a0e95e38afdbb4198dec076dc6608d433f6 100644 (file)
@@ -1,3 +1,16 @@
+2004-11-09  David Hyatt  <hyatt@apple.com>
+
+       Fix for 3873234, Safari UI is unresponsive when parsing multiple HTML docs and 3873233, Safari hangs when
+       loading large local files.
+       
+        Reviewed by mjs
+
+        * WebCoreSupport.subproj/WebBridge.m:
+        (-[WebBridge tokenizerProcessedData]):
+        * WebView.subproj/WebDataSource.m:
+        (-[WebDataSource _receivedMainResourceError:complete:]):
+        (-[WebDataSource isLoading]):
+
 2004-11-09  Richard Williamson   <rjw@apple.com>
 
         Fixed <rdar://problem/3870964> 8A300: Safari not recognizing a PDF link (it displays raw data)
index 85ae5e3794cad1b116bc95bf0c91509f4ddf7c70..dd32d9c3bf72c7bc7196abc0e79bbb338b5e1011 100644 (file)
@@ -772,6 +772,11 @@ NSString *WebPluginContainerKey =   @"WebPluginContainer";
     }
 }
 
+- (void)tokenizerProcessedData
+{
+    [_frame _checkLoadComplete];
+}
+
 // OK to be an NSString rather than an NSURL.
 // This URL is only used for coloring visited links.
 - (NSString *)requestedURLString
index f26471dfe2309f24dce89f60a669a29819592b07..ae2625938339fb2fb70c2cdf762b21bf66504f27 100644 (file)
 {
     if (isComplete) {
         // Can't call [self _bridge] because we might not have commited yet
-        [[[self webFrame] _bridge] end];
+        [[[self webFrame] _bridge] stop];
     }        
     [[self webFrame] _receivedMainResourceError:error];
     [[self _webView] _mainReceivedError:error
         if ([_private->subresourceClients count]) {
             return YES;
         }
+        if (![[[self webFrame] _bridge] doneProcessingData])
+            return YES;
     }
-    
+
     // Put in the auto-release pool because it's common to call this from a run loop source,
     // and then the entire list of frames lasts until the next autorelease.
     NSAutoreleasePool *pool = [NSAutoreleasePool new];