[webkit-dev] Determine whether all resources have been successfully loaded

Plessl Christian christian at plesslweb.ch
Sat Aug 4 04:36:31 PDT 2007


Hi Darin

Thanks a lot for your insightful reply.

You are perfectly right, in general there is no specific point in  
time when a web page can be considered as fully loaded, since new  
loads can be triggered by JavaScript etc. For my specific application  
that converts HTML pages to PDF I will have to find a good heuristic  
to determine the point where I will start the PDF generation.

>> 1) didFinishLoadingFromDataSource is also called for the _missing_  
>> resource. I would have expected that didFailLoadingWithError is  
>> called
>
> I don't think this is a bug.
> When confronted with a bad URL, I presume the web server passes  
> back an error page. From the point of view of the WebKit API,  
> loading that error page is a successful load

Good point, I did not think about missing resources like that. Your  
suggestion to evaluate the NSHTTPURLResponse seems like a good  
solution to the problem.

>> 2) didFinishLoadForFrame myFrame is called, before all resources  
>> of frame f2 have been loaded
>
> This might be a bug.
>
> I believe the design is that each frame is independent and parent  
> frames don't necessarily wait for subframes. But I could be wrong.  
> It might be a bug.

I will file a bug report after I have checked that the same error is  
still present in the latest version of WebKit.

What is the simplest way to check this? Will downloading the nightly  
webkit build and setting the DYLD_FRAMEWORK_PATH to /Applications/ 
WebKit.app/Contents/Resources/ work?

>> 3) didFinishLoadForFrame is called although the load was not  
>> successfull although. This contradicts Apple's documentation that  
>> says: "This method is invoked when a location request for frame  
>> has successfully; that is, when all the resources are done  
>> loading." (Although the first part of this sentence is unclear and  
>> incomplete)
>
> That documentation seems pretty unclear, and quite possibly wrong.  
> You can report bugs in the Apple documentation at <http:// 
> bugreport.apple.com>.

I will report a bug with Apple.

Thanks a lot for your help,
  Christian

--
Christian Plessl christian at plesslweb.ch http://plesslweb.ch




More information about the webkit-dev mailing list