Eric mentioned the do-webcore-rename script, but Maciej pointed out that I could be even more specific about what it does.

The script renames both files and identifiers. It renames all files and identifiers that end in "Impl" to remove "Impl", which is something we want to do to make DOM classes all have shorter and more pleasant names. The concept here is that if there are C++ bindings, they will be classes with the same name but in a different namespace. Before, C++ bindings were in the same namespace, so we needed the "Impl" suffix. The exceptions to this rule are these class names:

    ArrayImpl
    AtomicString
    KWQValueListImpl
    KWQPtrListImpl
    QualifiedNameImpl
    StringImpl
    RectImpl

and these other identifiers:

    featureImpl
    nameImpl
    namespaceURIImpl
    nodeImpl
    qualifiedNameImpl
    strImpl
    versionImpl

In addition, we're doing some other renames at the same time.

    uint => unsigned
    MacFrame => FrameMac
    createAttrImplIfNeeded => createAttrIfNeeded

Avoid name conflicts for classes that would conflict otherwise.

    MouseEvent => PlatformMouseEvent
    WheelEvent => PlatformWheelEvent

Enumeration constants that would conflict otherwise:

    Document => Document_
    Event => Event_

Change JavaScript wrappers to have a "JS" prefix (but only ones we can do with a global replace; some are harder):

    HTMLCollection => JSHTMLCollection
    HTMLSelectCollection => JSHTMLSelectCollection
    HTMLSelectElement => JSHTMLSelectElement
    HTMLElement => JSHTMLElement
    HTMLDocument => JSHTMLDocument
    DOMParser => JSDOMParser
    XSLTProcessor => JSXSLTProcessor

File renames for files that already contain only a single class or single non-class purpose:

    dom2_rangeimpl => Range
    dom2_viewsimpl => AbstractView
    dom_position => Position
    html_canvasimpl => HTMLCanvasElement
    html_documentimpl => HTMLDocument
    jsediting => JSEditor
    render_arena => RenderArena
    render_box => RenderBox
    render_br => RenderBR
    render_canvas => RenderCanvas
    render_canvasimage => RenderCanvasImage
    render_flexbox => RenderFlexibleBox
    render_flow => RenderFlow
    render_image => RenderImage
    render_inline => RenderInline
    render_layer => RenderLayer
    render_object => RenderObject
    render_theme => RenderTheme
    render_theme_mac => RenderThemeMac
    visible_text => TextIterator
    xmlserializer => JSXMLSerializer
    xslt_processorimpl => XSLTProcessorImpl
    kentities => HTMLEntityNames
    khtmlentities => HTMLEntityNames
    xsl_stylesheetimpl => XSLStyleSheet
    doctypes => DocTypeStrings
    text_affinity => TextAffinity
    edit_actions => EditAction
    html_interchange => HTMLInterchange
    text_granularity => TextGranularity
    domparser => JSDOMParser
    htmlfactory => HTMLElementFactory
    css_grammar => CSSGrammar
    css_computedstyle => CSSComputedStyleDeclaration
    cssproperties => CSSPropertyNames
    cssvalues => CSSValueStrings

De-KWQ and De-Q-ification of platform classes that aren't really the same as the corresponding Qt or KDE classes or that have nothing to do with KWQ:

    KWQ_BLOCK_EXCEPTIONS => BEGIN_BLOCK_OBJC_EXCEPTIONS
    KWQ_UNBLOCK_EXCEPTIONS => END_BLOCK_OBJC_EXCEPTIONS
    KWQReportBlockedException => ReportBlockedObjCException
    KWQExceptions => BlockExceptions
    KWQAccObject => WebCoreAXObject
    KWQAccObjectID => WebCoreAXID
    KWQAccObjectCache => AccessibilityObjectCache
    KWQValueList => DeprecatedValueList
    QValueList => DeprecatedValueList
    QString => DeprecatedString
    QCString => DeprecatedCString
    Array => DeprecatedArray
    ByteArray => DeprecatedByteArray
    KURL => DeprecatedURL
    QStringList => DeprecatedStringList
    KWQPtrList => DeprecatedPtrList
    QPtrList => DeprecatedPtrList
    KWQListImpl => DeprecatedPtrListImpl
    KWQValueListImpl => DeprecatedValueListImpl
    QPtrQueue => DeprecatedPtrQueue
    KWQValueListNodeImpl => DeprecatedValueListImplNode
    KWQValueListIteratorImpl => DeprecatedValueListImplIterator
    KWQListIteratorImpl => DeprecatedPtrListImplIterator
    QPtrListIterator => DeprecatedPtrListIterator
    QValueListConstIterator => DeprecatedValueListConstIterator
    QValueListIterator => DeprecatedValueListIterator
    QValueListNode => DeprecatedValueListNode
    KWQClipboard => ClipboardMac
    KWQTextField => WebCoreTextField
    KWQTextArea => WebCoreTextArea
    KWQTextAreaTextView => WebCoreTextView
    KWQRenderTreeDebug => RenderTreeAsText
    QRegExp => RegularExpression
    KWQRegExp => RegularExpression
    KJavaAppletWidget => JavaAppletWidget
    KWQKJavaAppletWidget => JavaAppletWidget
    KSVGCSSParser => SVGCSSParser

Use standard "AX" terminology instead of "Acc" terminology:

    accObjectID => axObjectID
    setAccObjectID => setAXObjectID
    removeAccObjectID => removeAXObjectID

Match our newer naming scheme for an enumeration:

    ETextGranularity => TextGranularity
    LINE_BOUNDARY => LineBoundary
    PARAGRAPH_BOUNDARY => ParagraphBoundary
    DOCUMENT_BOUNDARY => DocumentBoundary

Please let me know if you have specific objections to any of these specific changes or other ideas for changes to do.

Even though Eric announced we'd do the change tonight, I'm waiting for some mail from Maciej before I do this; we may change our plans or postpone to next week.

    -- Darin

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

Reply via email to