FOUC

David Hyatt hyatt@apple.com
Sat, 11 Jan 2003 15:26:29 -0800


We removed the blockBidi code because it was causing problems e.g., 
when scripts requested the width/height of images within inline flow.  
Because layout was being blocked from happening, the render objects 
didn't have the right dimensions.

We removed it, and in our page load tests we saw no change in 
performance.  It may be that this problem is alleviated in many cases 
by delaying render object construction until CSS files have loaded.

The removal of blockBidi had nothing to do with the FOUC fixes, though, 
so you could treat that as a separate patch.

dave

On Saturday, January 11, 2003, at 09:44 AM, Antti Koivisto wrote:

> Hello,
>
> Here is a patch that contains Apples FOUC fixes ported to the current 
> CVS
> HEAD. It seems to work nicely.
>
> I didn't try to improve it in any way. The (rather ugly) isInline() 
> stuff
> is included, as is the removal of blockBidi. Those need still be 
> addressed
> before commiting it to CVS.
>
>
>   antti
>
> Quoting David Hyatt <hyatt@apple.com>:
>
>> Let me know if I can help in any way, even if it's just to verify
>> whether or not a particular code fix had anything to do with FOUC. :)
>>
>> Dave
>>
>> On Friday, January 10, 2003, at 02:38 AM, Alexander Kellett wrote:
>>
>>> (not sure that this message will get through to the list
>>>  mklingens just told me about this list, which i'd not
>>>  even realized existed :) )
>>>
>>> Hiya David,
>>>
>>> David Hyatt wrote:
>>>> I noticed that Alexander Kel is attempting to merge the FOUC fixes
>>>> into
>>>> KHTML.  His patch is including some fixes that did not have to do
>> with
>>>> FOUC (in particular some of the setParent hackery for pseudo
>>>> elements... that actually had to do with the arena allocation and 
>>>> not
>>>> with FOUC).
>>>
>>> As you probably guessed by knowledge of the khtml code base
>>> is minimal and i'm using the patch splitup mainly as an excuse
>>> to learn some more about it. I realized only after stepping away
>>> from the computer last night that the setParent stuff logically
>>> had nothing to do with FOUC, just that i searched for "assert"
>>> in the hope of fixing nvidia.com - which crashes with the patchset
>>> im using.
>>>
>>>> I wish I could give you a single patch that consisted only of FOUC
>>>> fixes, but it was a very incremental addition in our code base, and
>> so
>>>> it was broken up into a single initial patch and many many bug fixes
>>>> that followed. :(
>>>
>>> Thought that may be the case as the current patch set i've got
>>> seems to logically implement the feature (and a nice feature it is!)
>>> yet there remains a crash point, probably fixed be the later stuff.
>>> I'm going to try to find the crash fix anyway. This is really
>>> interesting
>>> work and I really need a short break from my current project anyway 
>>> :)
>>>
>>> In other words, i'm not part of the khtml team, and am just
>>> enjoying messing around with the code for the moment :)
>>>
>>> mvg,
>>> Alex
>>>
>>> --   
>>> "[...] Konqueror open source project. Weighing in at less than
>>>             one tenth the size of another open source renderer"
>>> Apple,  Jan 2003 (http://www.apple.com/safari/)
>>
>> _______________________________________________
>> Khtml-devel@mail.kde.org
>> http://mail.kde.org/mailman/listinfo/khtml-devel
>>
>
> <fouc2.diff>