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