[webkit-dev] Regression fallout from change to make Frames start with an empty document

Maciej Stachowiak mjs at apple.com
Sat May 12 01:14:53 PDT 2007

My change to make Frames start with an empty document instead of  
creating one on demand caused some regressions (mostly in areas of  
the code that are not under automated test). I still think it is a  
fundamentally sound change and I'll try to fix the open regressions  
ASAP (hopefully I can figure out how to make test cases for these as  

REGRESSION (r21367): Local css ignored until page is refreshed

REGRESSION:  Load never completes for nonexistent unqualified domain  

REGRESSION: Assertion failure in  
WebCore::FrameLoader::restoreScrollPositionAndViewState() going back  
from fark.com Photoshop contest

REGRESSION: Crash when starting Webkit with JavaScript disabled

REGRESSION: Progress bar never completes on link click that downloads

This also broke the Qt and Gdk ports. I will help to fix those but I  
could use someone who can easily build and test these ports to help  
me out. I think there are two basic problems:

1) Frame::init() needs to be called every time a new Frame is  
allocated, after it is attached to the frame tree.

2) FrameLoaderClient::committedLoad must ensure it calls  
FrameLoader::setEncoding before passing the first data chunk to the  
document. I think this is actually a remaining architectural problem  
with the loader, we are counting on the client to do too much in this  
case to have things work properly - I'd like to unwind this logic at  
some point to not rely on the client so much. In the short run, just  
adding the call is likely to just work.

Sorry about the breakage. I think this change will still be good in  
the long run.


More information about the webkit-dev mailing list