Fixed: <rdar://problem/
4038529> Infinite progress bar loading webcams and other sites that use multipart/x-mixed-replace
The previous patch I landed prevented us from loading multipart/x-mixed-replace but did not always update the progress bar accordingly.
This stops websites from having seemingly infinite progress in the browser UI.
* WebCoreSupport.subproj/WebSubresourceClient.m:
(-[WebSubresourceClient didReceiveResponse:]): If this is "multipart/x-mixed-replace", remove the WebBaseResourceHandleDelegate client from
the datasource's subresource array, otherwise -[WebDataSource isLoading] incorrectly returns YES. Also it's possible at this point in
time we're done loading now (loaded everything else except for the multipart/x-mixed-replace content) so go ahead and check to see if
in fact we're complete.
* WebView.subproj/WebMainResourceClient.m:
(-[WebMainResourceClient connection:didReceiveResponse:]): ditto
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@8800
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
+2005-03-05 Kevin Decker <kdecker@apple.com>
+
+ Reviewed by Darin.
+
+ Fixed: <rdar://problem/4038529> Infinite progress bar loading webcams and other sites that use multipart/x-mixed-replace
+
+ The previous patch I landed prevented us from loading multipart/x-mixed-replace but did not always update the progress bar accordingly.
+ This stops websites from having seemingly infinite progress in the browser UI.
+
+ * WebCoreSupport.subproj/WebSubresourceClient.m:
+ (-[WebSubresourceClient didReceiveResponse:]): If this is "multipart/x-mixed-replace", remove the WebBaseResourceHandleDelegate client from
+ the datasource's subresource array, otherwise -[WebDataSource isLoading] incorrectly returns YES. Also it's possible at this point in
+ time we're done loading now (loaded everything else except for the multipart/x-mixed-replace content) so go ahead and check to see if
+ in fact we're complete.
+ * WebView.subproj/WebMainResourceClient.m:
+ (-[WebMainResourceClient connection:didReceiveResponse:]): ditto
+
2005-03-05 Richard Williamson <rjw@apple.com>
Fixed panther build problem. Shouldn't include
// essentially an infinite load and therefore a memory leak. Both this code and code in
// WebMainRecoureClient must be removed once multipart/x-mixed-replace is fully implemented.
if ([[r MIMEType] isEqualToString:@"multipart/x-mixed-replace"]) {
+ [dataSource _removeSubresourceClient:self];
+ [[[dataSource _webView] mainFrame] _checkLoadComplete];
[self cancelWithError:[NSError _webKitErrorWithDomain:NSURLErrorDomain
code:NSURLErrorUnsupportedURL
URL:[r URL]]];
// essentially an infinite load and therefore a memory leak. Both this code and code in
// WebMainRecoureClient must be removed once multipart/x-mixed-replace is fully implemented.
if ([[r MIMEType] isEqualToString:@"multipart/x-mixed-replace"]) {
+ [dataSource _removeSubresourceClient:self];
+ [[[dataSource _webView] mainFrame] _checkLoadComplete];
[self cancelWithError:[NSError _webKitErrorWithDomain:NSURLErrorDomain
code:NSURLErrorUnsupportedURL
URL:[r URL]]];
// essentially an infinite load and therefore a memory leak. Both this code and code in
// SubresourceClient must be removed once multipart/x-mixed-replace is fully implemented.
if ([[r MIMEType] isEqualToString:@"multipart/x-mixed-replace"]) {
+ [dataSource _removeSubresourceClient:self];
+ [[[dataSource _webView] mainFrame] _checkLoadComplete];
[self cancelWithError:[NSError _webKitErrorWithDomain:NSURLErrorDomain
code:NSURLErrorUnsupportedURL
URL:[r URL]]];
// essentially an infinite load and therefore a memory leak. Both this code and code in
// SubresourceClient must be removed once multipart/x-mixed-replace is fully implemented.
if ([[r MIMEType] isEqualToString:@"multipart/x-mixed-replace"]) {
+ [dataSource _removeSubresourceClient:self];
+ [[[dataSource _webView] mainFrame] _checkLoadComplete];
[self cancelWithError:[NSError _webKitErrorWithDomain:NSURLErrorDomain
code:NSURLErrorUnsupportedURL
URL:[r URL]]];