[webkit-reviews] review requested: [Bug 6331] REGRESSION: form events don't fire after back/forward navigation, due to inconsistent load state : [Attachment 5562] Fix

bugzilla-request-daemon at opendarwin.org bugzilla-request-daemon at opendarwin.org
Sun Jan 8 22:22:01 PST 2006


Geoffrey Garen <ggaren at apple.com> has asked Darin Adler <darin at apple.com> for
review:
Bug 6331: REGRESSION: form events don't fire after back/forward navigation, due
to inconsistent load state
http://bugzilla.opendarwin.org/show_bug.cgi?id=6331

Attachment 5562: Fix
http://bugzilla.opendarwin.org/attachment.cgi?id=5562&action=edit

------- Additional Comments from Geoffrey Garen <ggaren at apple.com>
The key to this new patch is:

+    } else if ([_private->subresourceLoaders count] > 0) {
+	 // The main resource loader already finished loading. Set the
cancelled error on the 
+	 // document and let the subresourceLoaders send individual cancelled
messages below.
+	 [self _setMainDocumentError:[self _cancelledError]];
     } else {
-	 // Main handle is already done. Set the cancelled error.
-	 NSError *cancelledError = [NSError
_webKitErrorWithDomain:NSURLErrorDomain
-							     
code:NSURLErrorCancelled
-							       URL:[self
_URL]];
-	 [self _setMainDocumentError:cancelledError];
+	 // If there are no resource loaders, we need to manufacture a
cancelled message.
+	 // (A back/forward navigation has no resource loaders because its
resources are cached.)
+	 [[self _webView] _mainReceivedError:[self _cancelledError]
+			      fromDataSource:self
+				    complete:YES];
     }



More information about the webkit-reviews mailing list