Steps to reproduce: 1) With a debug build of TOT WebKit and Safari 2.0.4, open the URL. Wait for it to finish loading. 2) Close the window. 3) Open a new window a load the same URL in it. While waiting for it to finish loading, do not move the window or Safari to the background. Expected result: The page should finish loading in step 3. Actual result: In step 3, the page does not finish loading and the window remains blank until you move the window or Safari to the background. This forces redisplay (to update active state), which makes the page resume loading and finally finish. Regression: Regressed in <http://trac.webkit.org/projects/webkit/changeset/20410>. Notes: Seems to affect only debug builds and only with Tiger Safari.
<rdar://problem/5086424>
I didn't debug this through, but it seems like FrameView::needsLayout() would have been a more appropriate place to add the root->needsLayout() check in r20410. That would have matched more closely the behavior prior to r20324. FrameView::layoutPending() should only be about layout scheduling.
Created attachment 13797 [details] Move the root->needsLayout() check to FrameView::needsLayout() I tried the link from bug 13155 a few times to verify that this does not bring back the assertion failure.
(In reply to comment #3) > I tried the link from bug 13155 a few times to verify that this does not bring > back the assertion failure. There is another way this assertion is hit that hasn't been fixed yet. (I filed a Radar for it, but didn't file a corresponding Bugzilla bug yet.) Here are the steps to reproduce. 1. Open Safari/WebKit. 2. Go to: http://ln-s.net/ 3. Click in the text field. 4. Hit Enter.
Comment on attachment 13797 [details] Move the root->needsLayout() check to FrameView::needsLayout() r=me
Landed in r20474.