[webkit-dev] specifics about what do-webcore-rename will do

Mike Emmel mike.emmel at gmail.com
Sat Mar 18 09:24:29 PST 2006


Would it be possible for you to post some high level comments on the
design changes that are taking place some times its difficult to
reverse engineer the reasoning from the source code. I for example amd
not clear what the final plan is for KWQ it looks like it will
completely disappear in favor of platform but ...

Mike


On 3/17/06, Darin Adler <darin at apple.com> wrote:
> 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
> webkit-dev at opendarwin.org
> http://www.opendarwin.org/mailman/listinfo/webkit-dev
>



More information about the webkit-dev mailing list