[webkit-dev] platform/ reorganization
Darin Adler
darin at apple.com
Fri Nov 16 09:58:25 PST 2007
On Nov 16, 2007, at 4:20 AM, Nikolas Zimmermann wrote:
> platform/bidi:
Seems fine to break things down into logical groups. Generally I think
a directory is warranted if the number of files is large.
It's important to look at who the clients are of these files, in
addition to the filenames and concepts.
> BidiContext.cpp
> BidiContext.h
> BidiResolver.h
These bidi files are exclusively used by text graphics machinery. Thus
I think it might make sense to move them into the graphics area. But
another possibility would be to consider these abstract text
operations and put these there, along with String.
> UnicodeRange.cpp
> UnicodeRange.h
This is primitive, and in my mind very closely related to String.
Currently used only by SVG. I suggest keeping this with String.
> Font.cpp
> Font.h
> FontCache.cpp
> FontCache.h
> FontData.cpp
> FontData.h
> FontDescription.h
> FontFallbackList.cpp
> FontFallbackList.h
> FontFamily.cpp
> FontFamily.h
> FontSelector.h
> GlyphBuffer.h
> GlyphPageTreeNode.cpp
> GlyphPageTreeNode.h
> GlyphWidthMap.cpp
> GlyphWidthMap.h
This is all clearly part of the graphics sub-system. It should go into
graphics or into a subdirectory of graphics.
> TextBoundaries.h
> TextBoundariesICU.cpp
> TextBreakIterator.h
> TextBreakIteratorICU.cpp
> TextBreakIteratorInternalICU.h
> TextCodec.cpp
> TextCodec.h
> TextCodecICU.cpp
> TextCodecICU.h
> TextCodecLatin1.cpp
> TextCodecLatin1.h
> TextCodecUTF16.cpp
> TextCodecUTF16.h
> TextCodecUserDefined.cpp
> TextCodecUserDefined.h
> TextDecoder.cpp
> TextDecoder.h
> TextDirection.h
> TextEncoding.cpp
> TextEncoding.h
> TextEncodingRegistry.cpp
> TextEncodingRegistry.h
> TextStream.cpp
> TextStream.h
I think these classes should go wherever String goes.
The boundaries, break iterator, and bidi classes and functions are a
little higher level in my mind, and have more to do with editing, but
they don't have anything to do with graphics and I don't think they're
a big enough category to deserve a directory of their own.
> TextStyle.h
This is part of the graphics sub-system. It should go into the same
place as Font.h, etc.
> I'd actually vote for a single directory platform/text, containing
> all of the above files.
I don't think the graphics files belong with the basic text operations.
I think that String, StringImpl, AtomicString, CString,
RegularExpression, Base64, and SegmentedString belong in the same
place as the codec functions.
StringTruncator belongs with the other text graphics functions like
FontDescription and GlyphBuffer.
I think that all the DeprecatedXXX classes should go into a single
directory instead of sitting at the top level.
I'd suggest moving the text drawing functions into either platform/
graphics or platform/graphics/text. And the more basic text functions
into platform/text. Many of the more basic text functions are also
possible candidates for moving to WTF in the future if we find they
are needed outside WebCore.
I don't want to make the hierarchy too deep; as long as the file names
are clear, it's no great tragedy to have a directory with quite a few
files in it. So we could definitely consider just putting the text
graphics functions all into the top level of the graphics directory.
-- Darin
More information about the webkit-dev
mailing list