Summary

Maciej Stachowiak mjs@apple.com
Thu, 20 Feb 2003 14:29:14 -0800


On Wednesday, February 19, 2003, at 12:49  PM, Dirk Mueller wrote:

> Hi,
>
> below some random bits I remember, please add or correct parts. its 
> going to
> be huge, but please take a minute to skim through it, thanks.
>
> - Common codebase: My impression was that we're not going to work on 
> this
>   goal before Safari 1.0 (or even Safari 1.0.1 / 1.1). This is what
>   we feared but expected. Many things have to be sorted out, like 
> extracting
>   bits in _darwin.cpp and _x11.cpp files that are plain unportable.
>   (The biggest change seems to be the misc/decoder and rendering/font 
> to
>   me, everything else should disappear in the near or middle future 
> anyway).
>
>   re: rendering/font.cpp: its clear that we never reach a common 
> codebase
>   here. I'll just rename our file to font_x11.cpp soon in CVS, Safari
>   can just fork the complete file and name it font_darwin.cpp or 
> whatever.

I think we'd prefer to stick with ifdefs to forking the whole file, 
even if you guys don't want to merge the ifdefs. It seems to me there 
is more common code than different code in this file (and other files 
with local changes), and duplicating changes to the common part will be 
wasteful and error-prone.

Also, "darwin" doesn't seem like quite the right parallel to "x11", 
since you can build an X11-based khtml on Darwin, and Darwin doesn't 
actually include the Mac OS window system (Quartz) that Safari depends 
on. If we go this way, how about "quartz" as a parallel name? I am not 
sure that is quite right either though, since not all our changes are 
window-system related -- which is why we went with APPLE_CHANGES for 
the #define name.

> - Common user agent string: It was accepted to share a common
>   part in the user agent string to allow sites that want to
>   create a khtml-specific version of their webpage to recognize
>   Safari and Konqueror to be the same browser, essentially.
>
>   This way linux-centric sites (which do optimize for Konqueror
>   sometimes) and mac-centric sites (which will obviously optimize
>   for Safari) can still be equally browsed with both browsers.
>
>   In an ideal world we could share a String with Mozilla
>   (to be recognizeable as "DOM-browser") though..

The idea we came up with was the change the part of our user agent 
string that says "(like Gecko)" to "(khtml, like Gecko)". That would 
allow identification of all khtml-based browsers and still allow most 
sites to detect us as a DOM-compliant browser. Does that sound like a 
reasonable choice for a common element?

Regards,

Maciej