As part of reorganizing WebCore, we'd like to change some of our namespacing conventions. Currently we use a mix of naming schemes:

remnants of the KDE C++ DOM API are in namespace DOM::
implementation files for the DOM are in namespace DOM::
many layout engine internal files (such as the render tree) are in namespace khtml::
some classes are in no namespace, but with a KHTML prefix
some classes are in no namespace but with a KWQ prefix
some classes are in no namespace and use the Q or K prefixes from KDE
some classes are in no namespace but with a WebCore prefix
the JS DOM bindings code is in namespace KJS:: (despite not being part of KJS itself)
SVG code uses various other namespaces and prefixes (KSVG, KCanvas, etc)

As an alternative to this scheme, we came up with the following:

- Use WebCore:: as the single namespace in WebCore. This will let us avoid namespace gunk in the core code. - Drop KWQ and KHTML prefixes from classes that have them, use plain names - For K and Q classes, we could leave the K or Q if they are still much like the original, otherwise rename to plain name in WebCore:: - Platform API code could use a different namespace (for example C++ DOM API could be in namespace DOM, autogenerated JS bindings might be in its own namespace to avoid conflicts eventually, ObjC classes for OS X could use WebCore prefix instead)

Basically the short version of this is, use namespace WebCore for everuthing internal.

We also considered other possibilities for the namespace to use for everything:

- khtml
- KHTML
- WebKit
- KXML

So far, WebCore:: has been the opinion leader.

Any thoughts in this?

Regards,
Maciej

_______________________________________________
webkit-dev mailing list
[email protected]
http://www.opendarwin.org/mailman/listinfo/webkit-dev

Reply via email to