<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<!DOCTYPE bugzilla SYSTEM "https://bugs.webkit.org/page.cgi?id=bugzilla.dtd">

<bugzilla version="5.0.4.1"
          urlbase="https://bugs.webkit.org/"
          
          maintainer="admin@webkit.org"
>

    <bug>
          <bug_id>45359</bug_id>
          
          <creation_ts>2010-09-07 19:35:25 -0700</creation_ts>
          <short_desc>Rename poorly-named POD* classes</short_desc>
          <delta_ts>2010-09-08 11:17:55 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>WebCore Misc.</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>ASSIGNED</bug_status>
          <resolution></resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>44729</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Kenneth Russell">kbr</reporter>
          <assigned_to name="Kenneth Russell">kbr</assigned_to>
          <cc>abarth</cc>
    
    <cc>cmarrin</cc>
    
    <cc>darin</cc>
    
    <cc>fishd</cc>
    
    <cc>jamesr</cc>
    
    <cc>senorblanco</cc>
    
    <cc>simon.fraser</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>275551</commentid>
    <comment_count>0</comment_count>
    <who name="Kenneth Russell">kbr</who>
    <bug_when>2010-09-07 19:35:25 -0700</bug_when>
    <thetext>The PODArena, PODRedBlackTree and PODIntervalTree classes recently added for https://bugs.webkit.org/show_bug.cgi?id=44729 are poorly named; they do not strictly allocate and operate upon only Plain Old Data. It has been pointed out that the naming convention does not add any value; the classes should be renamed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>275828</commentid>
    <comment_count>1</comment_count>
    <who name="Chris Marrin">cmarrin</who>
    <bug_when>2010-09-08 07:37:07 -0700</bug_when>
    <thetext>I want to put in my vote for either getting rid of the prefix entirely. If it&apos;s unsavory to have a simple Arena class (because of the Arena.h file elsewhere) then perhaps it can be called RBTreeArena or something like that.

Just some thoughts.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>275888</commentid>
    <comment_count>2</comment_count>
    <who name="Darin Fisher (:fishd, Google)">fishd</who>
    <bug_when>2010-09-08 09:41:43 -0700</bug_when>
    <thetext>Another suggestion:

  PODArena -&gt; ObjectArena (since it only knows how to allocate objects of a fixed type)
  PODRedBlackTree -&gt; RedBlackTree
  PODIntervalTree -&gt; IntervalTree

One question is what to do with PODInterval.  We could rename that Interval, but then it seems like we might be taking over a name that is quite generic sounding for this specific use.  Interval cannot be an inner class of IntervalTree since it is a template argument to IntervalTree.  Thoughts?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>275919</commentid>
    <comment_count>3</comment_count>
    <who name="Chris Marrin">cmarrin</who>
    <bug_when>2010-09-08 10:30:57 -0700</bug_when>
    <thetext>(In reply to comment #2)
&gt; Another suggestion:
&gt; 
&gt;   PODArena -&gt; ObjectArena (since it only knows how to allocate objects of a fixed type)
&gt;   PODRedBlackTree -&gt; RedBlackTree
&gt;   PODIntervalTree -&gt; IntervalTree
&gt; 
&gt; One question is what to do with PODInterval.  We could rename that Interval, but then it seems like we might be taking over a name that is quite generic sounding for this specific use.  Interval cannot be an inner class of IntervalTree since it is a template argument to IntervalTree.  Thoughts?

Currently these classes have a specific use. They are used for an accelerated 2D tesselator, right? Perhaps we could identify them as such, e.g., TessArena, TessRBTree, TessIntervalTree. Or is that too specific for their ultimate purpose? BTW, I think renaming RedBlackTree to RBTree is reasonable. It seems to be a common shorthand.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>275954</commentid>
    <comment_count>4</comment_count>
    <who name="Darin Fisher (:fishd, Google)">fishd</who>
    <bug_when>2010-09-08 11:17:55 -0700</bug_when>
    <thetext>That suggestion sounds pretty good to me, but I defer to Ken in case I&apos;m overlooking some intended use cases.  Giving them a &quot;namespace&quot; like that means that we would also not need to prematurely add code to call destructors since we would very clearly be making these data structures domain specific (minimizing the risk of misuse).</thetext>
  </long_desc>
      
      

    </bug>

</bugzilla>