[webkit-dev] Large patch landing this Friday
Maciej Stachowiak
mjs at apple.com
Mon Mar 20 02:01:25 PST 2006
Hi Mike,
On Mar 20, 2006, at 12:39 AM, Mike Emmel wrote:
> On a related note for linux you have numerous window toolkit
> kde/gtk/wxWindows and maye a few for win32 plus the possibility on the
> mac/win32 kde/gtk port. I think it should be gtk/linux gtk/mac etc
> with the cross platform toolkit dependent code above os specific code.
> So my gtk code should live in a gtk root dir. And we may also have
> generic linux specific code under platform/linux ?
We are trying to keep toolkit/desktop, core operating system, and
graphics API dependencies separate. We haven't fully deployed this in
WebCore, but you can see what the #ifdefs would look like from
JavaScriptCore/kxmlcore/Platform.h.
We'll use PLATFORM(DARWIN), PLATFORM(WIN_OS) and PLATFORM(POSIX) for
actual OS ependencies.
We'll use PLATFORM(MAC), PLATFORM(WIN) and (presumably) PLATFORM
(KDE), PLATFORM(GTK), PLATFORM(WXWIDGETS), PLATFORM(S60), etc for the
toolkit / desktop environment level of platform.
And we'll use PLATFORM(CAIRO), PLATFORM(CG), and whatever else is
needed for graphics toolkit dependencies that aren't necessarily
strictly tied to a corresponding OS or desktop environment.
We're trying to keep subdirectory names in sync with the PLATFORM
identifiers.
Most platform-specific code will be in subdirectories of platform,
for things used by the engine; or in platform-specific subdirectories
of bridge, for interfaces used on different platforms to build a
platform-appropriate API layer on top of WebCore.
Occasionally other directories may have platform-specific
subdirectories or files, for instance RenderThemeMac in rendering.
I hope this helps to explain the design.
Regards,
Maciej
More information about the webkit-dev
mailing list