Bug 34454
Summary: | REGRESSION: Assertion failure in manual-tests/hash-ref.html | ||
---|---|---|---|
Product: | WebKit | Reporter: | Brady Eidson <beidson> |
Component: | Page Loading | Assignee: | Nobody <webkit-unassigned> |
Status: | RESOLVED WORKSFORME | ||
Severity: | Normal | CC: | abarth, japhet |
Priority: | P2 | Keywords: | InRadar |
Version: | 528+ (Nightly build) | ||
Hardware: | All | ||
OS: | All |
Brady Eidson
REGRESSION: Assertion failure in manual-tests/hash-ref.html
Run this test after http://trac.webkit.org/changeset/53950 and see the following ASSERT at steps 9 and 10, anytime you're transitioning between history entry #4 and #5
void FrameLoader::navigateWithinDocument(HistoryItem* item)
{
ASSERT(item->documentSequenceNumber() == history()->currentItem()->documentSequenceNumber());
at:
#0 0x101fd0a5a in WebCore::FrameLoader::navigateWithinDocument at FrameLoader.cpp:3700
#1 0x101fd3c86 in WebCore::FrameLoader::loadItem at FrameLoader.cpp:3837
#2 0x10203989c in WebCore::HistoryController::recursiveGoToItem at HistoryController.cpp:585
#3 0x1020399f8 in WebCore::HistoryController::goToItem at HistoryController.cpp:227
#4 0x102437cc0 in WebCore::Page::goToItem at Page.cpp:310
#5 0x102437e78 in WebCore::Page::goBack at Page.cpp:239
#6 0x10181998f in -[WebView goBack] at WebView.mm:3039
#7 0x10180e436 in -[WebView(WebIBActions) goBack:] at WebView.mm:3740
The ASSERTion is that *ANY* inter-document navigation has to be between two history items with the same document. Because of the particular steps in the test, the test manages to create a new document with a "hash-compatible" URL from the previous document. This seems to invalidate the assertion.
Before removing the assertion, though, I think someone should really dig in to the HTML5 traversal spec and determine if the ASSERT is invalid or if previous Safari behavior that was being tested is now invalid per-the-spec and needs to be changed.
Attachments | ||
---|---|---|
Add attachment proposed patch, testcase, etc. |
Brady Eidson
In Radar <rdar://problem/7595691>
Adam Barth
This no longer asserts.