Bug 13179 - REGRESSION (r20410): In debug builds, loading a certain page is suspended until redisplay is forced
Summary: REGRESSION (r20410): In debug builds, loading a certain page is suspended unt...
Status: RESOLVED FIXED
Alias: None
Product: WebKit
Classification: Unclassified
Component: New Bugs (show other bugs)
Version: 523.x (Safari 3)
Hardware: Mac OS X 10.4
: P1 Normal
Assignee: Nobody
URL: http://digg.com/design
Keywords: InRadar, Regression
Depends on:
Blocks:
 
Reported: 2007-03-24 07:40 PDT by mitz
Modified: 2007-03-24 16:31 PDT (History)
3 users (show)

See Also:


Attachments
Move the root->needsLayout() check to FrameView::needsLayout() (1.82 KB, patch)
2007-03-24 08:53 PDT, mitz
hyatt: review+
Details | Formatted Diff | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description mitz 2007-03-24 07:40:22 PDT
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.
Comment 1 Mark Rowe (bdash) 2007-03-24 07:41:06 PDT
<rdar://problem/5086424>
Comment 2 mitz 2007-03-24 08:44:08 PDT
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.
Comment 3 mitz 2007-03-24 08:53:53 PDT
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.
Comment 4 David Kilzer (:ddkilzer) 2007-03-24 09:04:24 PDT
(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 5 Dave Hyatt 2007-03-24 16:20:21 PDT
Comment on attachment 13797 [details]
Move the root->needsLayout() check to FrameView::needsLayout()

r=me
Comment 6 Dave Hyatt 2007-03-24 16:31:29 PDT
Landed in r20474.