<?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>61238</bug_id>
          
          <creation_ts>2011-05-20 22:56:19 -0700</creation_ts>
          <short_desc>Share more code in PathTraversalState</short_desc>
          <delta_ts>2011-05-20 23:44:24 -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>SVG</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</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>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Dirk Schulze">krit</reporter>
          <assigned_to name="Dirk Schulze">krit</assigned_to>
          <cc>zimmermann</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>407507</commentid>
    <comment_count>0</comment_count>
    <who name="Dirk Schulze">krit</who>
    <bug_when>2011-05-20 22:56:19 -0700</bug_when>
    <thetext>Share more code in PathTraversalState.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>407509</commentid>
    <comment_count>1</comment_count>
      <attachid>94322</attachid>
    <who name="Dirk Schulze">krit</who>
    <bug_when>2011-05-20 23:31:37 -0700</bug_when>
    <thetext>Created attachment 94322
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>407510</commentid>
    <comment_count>2</comment_count>
      <attachid>94322</attachid>
    <who name="Nikolas Zimmermann">zimmermann</who>
    <bug_when>2011-05-20 23:34:40 -0700</bug_when>
    <thetext>Comment on attachment 94322
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=94322&amp;action=review

Looks good, r=me.

&gt; Source/WebCore/platform/graphics/PathTraversalState.cpp:209
&gt; +    if (m_action == TraversalSegmentAtLength
&gt; +        &amp;&amp; m_totalLength &gt;= m_desiredLength)

No need to wrap the line here, eh?

&gt; Source/WebCore/platform/graphics/PathTraversalState.cpp:214
&gt; +    if ((m_action == TraversalPointAtLength
&gt; +        || m_action == TraversalNormalAngleAtLength)
&gt; +        &amp;&amp; m_totalLength &gt;= m_desiredLength) {

Ditto?

&gt; Source/WebCore/platform/graphics/PathTraversalState.h:50
&gt; +    void finalizeSegmentCalculation();

How about &quot;processSegment&quot; ?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>407511</commentid>
    <comment_count>3</comment_count>
    <who name="Dirk Schulze">krit</who>
    <bug_when>2011-05-20 23:44:24 -0700</bug_when>
    <thetext>Committed r87011: &lt;http://trac.webkit.org/changeset/87011&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>94322</attachid>
            <date>2011-05-20 23:31:37 -0700</date>
            <delta_ts>2011-05-20 23:34:39 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-61238-20110521083134.patch</filename>
            <type>text/plain</type>
            <size>6029</size>
            <attacher name="Dirk Schulze">krit</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDg3MDEwKQorKysgU291cmNlL1dlYkNvcmUvQ2hhbmdl
TG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMjIgQEAKKzIwMTEtMDUtMjAgIERpcmsgU2No
dWx6ZSAgPGtyaXRAd2Via2l0Lm9yZz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9P
UFMhKS4KKworICAgICAgICBTaGFyZSBtb3JlIGNvZGUgaW4gUGF0aFRyYXZlcnNhbFN0YXRlCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD02MTIzOAorCisg
ICAgICAgIFNoYXJlIG1vcmUgY29kZSBiZXR3ZWVuIFNWR1BhdGhUcmF2ZXJzYWxTdGF0ZUJ1aWxk
ZXIgYW5kIFBhdGggaW4gUGF0aFRyYXZlcnNhbFN0YXRlLgorCisgICAgICAgIE5vIGNoYW5nZSBp
biBmdW5jdGlvbmFsaXR5LCBzbyBubyBuZXcgdGVzdHMuCisKKyAgICAgICAgKiBwbGF0Zm9ybS9n
cmFwaGljcy9QYXRoLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OnBhdGhMZW5ndGhBcHBsaWVyRnVu
Y3Rpb24pOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL1BhdGhUcmF2ZXJzYWxTdGF0ZS5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpQYXRoVHJhdmVyc2FsU3RhdGU6OmZpbmFsaXplU2VnbWVu
dENhbGN1bGF0aW9uKToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9QYXRoVHJhdmVyc2Fs
U3RhdGUuaDoKKyAgICAgICAgKiBzdmcvU1ZHUGF0aFRyYXZlcnNhbFN0YXRlQnVpbGRlci5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpTVkdQYXRoVHJhdmVyc2FsU3RhdGVCdWlsZGVyOjpjb250aW51
ZUNvbnN1bWluZyk6CisKIDIwMTEtMDUtMjEgIE5pa29sYXMgWmltbWVybWFubiAgPG56aW1tZXJt
YW5uQHJpbS5jb20+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgUm9iIEJ1aXMuCkluZGV4OiBTb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9QYXRoLmNwcAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9QYXRoLmNwcAkocmV2aXNpb24gODY5NzIpCisr
KyBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9QYXRoLmNwcAkod29ya2luZyBjb3B5
KQpAQCAtNDYsNyArNDYsNiBAQCBzdGF0aWMgdm9pZCBwYXRoTGVuZ3RoQXBwbGllckZ1bmN0aW9u
KHZvCiAgICAgUGF0aFRyYXZlcnNhbFN0YXRlJiB0cmF2ZXJzYWxTdGF0ZSA9ICpzdGF0aWNfY2Fz
dDxQYXRoVHJhdmVyc2FsU3RhdGUqPihpbmZvKTsKICAgICBpZiAodHJhdmVyc2FsU3RhdGUubV9z
dWNjZXNzKQogICAgICAgICByZXR1cm47Ci0gICAgdHJhdmVyc2FsU3RhdGUubV9wcmV2aW91cyA9
IHRyYXZlcnNhbFN0YXRlLm1fY3VycmVudDsKICAgICBGbG9hdFBvaW50KiBwb2ludHMgPSBlbGVt
ZW50LT5wb2ludHM7CiAgICAgZmxvYXQgc2VnbWVudExlbmd0aCA9IDA7CiAgICAgc3dpdGNoIChl
bGVtZW50LT50eXBlKSB7CkBAIC02NywyMCArNjYsNyBAQCBzdGF0aWMgdm9pZCBwYXRoTGVuZ3Ro
QXBwbGllckZ1bmN0aW9uKHZvCiAgICAgICAgICAgICBicmVhazsKICAgICB9CiAgICAgdHJhdmVy
c2FsU3RhdGUubV90b3RhbExlbmd0aCArPSBzZWdtZW50TGVuZ3RoOyAKLSAgICBpZiAoKHRyYXZl
cnNhbFN0YXRlLm1fYWN0aW9uID09IFBhdGhUcmF2ZXJzYWxTdGF0ZTo6VHJhdmVyc2FsUG9pbnRB
dExlbmd0aCB8fCAKLSAgICAgICAgIHRyYXZlcnNhbFN0YXRlLm1fYWN0aW9uID09IFBhdGhUcmF2
ZXJzYWxTdGF0ZTo6VHJhdmVyc2FsTm9ybWFsQW5nbGVBdExlbmd0aCkgJiYKLSAgICAgICAgKHRy
YXZlcnNhbFN0YXRlLm1fdG90YWxMZW5ndGggPj0gdHJhdmVyc2FsU3RhdGUubV9kZXNpcmVkTGVu
Z3RoKSkgewotICAgICAgICBGbG9hdFNpemUgY2hhbmdlID0gdHJhdmVyc2FsU3RhdGUubV9jdXJy
ZW50IC0gdHJhdmVyc2FsU3RhdGUubV9wcmV2aW91czsKLSAgICAgICAgZmxvYXQgc2xvcGUgPSBh
dGFuMmYoY2hhbmdlLmhlaWdodCgpLCBjaGFuZ2Uud2lkdGgoKSk7Ci0KLSAgICAgICAgaWYgKHRy
YXZlcnNhbFN0YXRlLm1fYWN0aW9uID09IFBhdGhUcmF2ZXJzYWxTdGF0ZTo6VHJhdmVyc2FsUG9p
bnRBdExlbmd0aCkgewotICAgICAgICAgICAgZmxvYXQgb2Zmc2V0ID0gdHJhdmVyc2FsU3RhdGUu
bV9kZXNpcmVkTGVuZ3RoIC0gdHJhdmVyc2FsU3RhdGUubV90b3RhbExlbmd0aDsKLSAgICAgICAg
ICAgIHRyYXZlcnNhbFN0YXRlLm1fY3VycmVudC5tb3ZlKG9mZnNldCAqIGNvc2Yoc2xvcGUpLCBv
ZmZzZXQgKiBzaW5mKHNsb3BlKSk7Ci0gICAgICAgIH0gZWxzZQotICAgICAgICAgICAgdHJhdmVy
c2FsU3RhdGUubV9ub3JtYWxBbmdsZSA9IHJhZDJkZWcoc2xvcGUpOwotCi0gICAgICAgIHRyYXZl
cnNhbFN0YXRlLm1fc3VjY2VzcyA9IHRydWU7Ci0gICAgfQorICAgIHRyYXZlcnNhbFN0YXRlLmZp
bmFsaXplU2VnbWVudENhbGN1bGF0aW9uKCk7CiB9CiAKIGZsb2F0IFBhdGg6Omxlbmd0aCgpIGNv
bnN0CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9QYXRoVHJhdmVyc2Fs
U3RhdGUuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L1BhdGhUcmF2ZXJzYWxTdGF0ZS5jcHAJKHJldmlzaW9uIDg2OTcyKQorKysgU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvUGF0aFRyYXZlcnNhbFN0YXRlLmNwcAkod29ya2luZyBjb3B5
KQpAQCAtMjAzLDUgKzIwMywyNiBAQCBmbG9hdCBQYXRoVHJhdmVyc2FsU3RhdGU6OmN1YmljQmV6
aWVyVG8oCiAgICAgcmV0dXJuIGRpc3RhbmNlOwogfQogCit2b2lkIFBhdGhUcmF2ZXJzYWxTdGF0
ZTo6ZmluYWxpemVTZWdtZW50Q2FsY3VsYXRpb24oKQoreworICAgIGlmIChtX2FjdGlvbiA9PSBU
cmF2ZXJzYWxTZWdtZW50QXRMZW5ndGgKKyAgICAgICAgJiYgbV90b3RhbExlbmd0aCA+PSBtX2Rl
c2lyZWRMZW5ndGgpCisgICAgICAgIG1fc3VjY2VzcyA9IHRydWU7CisgICAgICAgIAorICAgIGlm
ICgobV9hY3Rpb24gPT0gVHJhdmVyc2FsUG9pbnRBdExlbmd0aAorICAgICAgICB8fCBtX2FjdGlv
biA9PSBUcmF2ZXJzYWxOb3JtYWxBbmdsZUF0TGVuZ3RoKQorICAgICAgICAmJiBtX3RvdGFsTGVu
Z3RoID49IG1fZGVzaXJlZExlbmd0aCkgeworICAgICAgICBGbG9hdFNpemUgY2hhbmdlID0gbV9j
dXJyZW50IC0gbV9wcmV2aW91czsKKyAgICAgICAgZmxvYXQgc2xvcGUgPSBhdGFuMmYoY2hhbmdl
LmhlaWdodCgpLCBjaGFuZ2Uud2lkdGgoKSk7CisgICAgICAgIGlmIChtX2FjdGlvbiA9PSBUcmF2
ZXJzYWxQb2ludEF0TGVuZ3RoKSB7CisgICAgICAgICAgICBmbG9hdCBvZmZzZXQgPSBtX2Rlc2ly
ZWRMZW5ndGggLSBtX3RvdGFsTGVuZ3RoOworICAgICAgICAgICAgbV9jdXJyZW50Lm1vdmUob2Zm
c2V0ICogY29zZihzbG9wZSksIG9mZnNldCAqIHNpbmYoc2xvcGUpKTsKKyAgICAgICAgfSBlbHNl
CisgICAgICAgICAgICBtX25vcm1hbEFuZ2xlID0gcmFkMmRlZyhzbG9wZSk7CisgICAgICAgIG1f
c3VjY2VzcyA9IHRydWU7CisgICAgfQorICAgIG1fcHJldmlvdXMgPSBtX2N1cnJlbnQ7Cit9CisK
IH0KIApJbmRleDogU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvUGF0aFRyYXZlcnNh
bFN0YXRlLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
UGF0aFRyYXZlcnNhbFN0YXRlLmgJKHJldmlzaW9uIDg2OTcyKQorKysgU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvUGF0aFRyYXZlcnNhbFN0YXRlLmgJKHdvcmtpbmcgY29weSkKQEAg
LTQ2LDYgKzQ2LDggQEAgcHVibGljOgogICAgIGZsb2F0IGxpbmVUbyhjb25zdCBGbG9hdFBvaW50
Jik7CiAgICAgZmxvYXQgcXVhZHJhdGljQmV6aWVyVG8oY29uc3QgRmxvYXRQb2ludCYgbmV3Q29u
dHJvbCwgY29uc3QgRmxvYXRQb2ludCYgbmV3RW5kKTsKICAgICBmbG9hdCBjdWJpY0JlemllclRv
KGNvbnN0IEZsb2F0UG9pbnQmIG5ld0NvbnRyb2wxLCBjb25zdCBGbG9hdFBvaW50JiBuZXdDb250
cm9sMiwgY29uc3QgRmxvYXRQb2ludCYgbmV3RW5kKTsKKyAgICAKKyAgICB2b2lkIGZpbmFsaXpl
U2VnbWVudENhbGN1bGF0aW9uKCk7CiAKIHB1YmxpYzoKICAgICBQYXRoVHJhdmVyc2FsQWN0aW9u
IG1fYWN0aW9uOwpJbmRleDogU291cmNlL1dlYkNvcmUvc3ZnL1NWR1BhdGhUcmF2ZXJzYWxTdGF0
ZUJ1aWxkZXIuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3N2Zy9TVkdQYXRoVHJh
dmVyc2FsU3RhdGVCdWlsZGVyLmNwcAkocmV2aXNpb24gODY5NzMpCisrKyBTb3VyY2UvV2ViQ29y
ZS9zdmcvU1ZHUGF0aFRyYXZlcnNhbFN0YXRlQnVpbGRlci5jcHAJKHdvcmtpbmcgY29weSkKQEAg
LTY2LDI0ICs2Niw3IEBAIHZvaWQgU1ZHUGF0aFRyYXZlcnNhbFN0YXRlQnVpbGRlcjo6c2V0RGUK
IGJvb2wgU1ZHUGF0aFRyYXZlcnNhbFN0YXRlQnVpbGRlcjo6Y29udGludWVDb25zdW1pbmcoKQog
ewogICAgIEFTU0VSVChtX3RyYXZlcnNhbFN0YXRlKTsgICAgCi0gICAgaWYgKG1fdHJhdmVyc2Fs
U3RhdGUtPm1fYWN0aW9uID09IFBhdGhUcmF2ZXJzYWxTdGF0ZTo6VHJhdmVyc2FsU2VnbWVudEF0
TGVuZ3RoCi0gICAgICAgICYmIG1fdHJhdmVyc2FsU3RhdGUtPm1fdG90YWxMZW5ndGggPj0gbV90
cmF2ZXJzYWxTdGF0ZS0+bV9kZXNpcmVkTGVuZ3RoKQotICAgICAgICBtX3RyYXZlcnNhbFN0YXRl
LT5tX3N1Y2Nlc3MgPSB0cnVlOwotICAgIAotICAgIGlmICgobV90cmF2ZXJzYWxTdGF0ZS0+bV9h
Y3Rpb24gPT0gUGF0aFRyYXZlcnNhbFN0YXRlOjpUcmF2ZXJzYWxQb2ludEF0TGVuZ3RoCi0gICAg
ICAgICB8fCBtX3RyYXZlcnNhbFN0YXRlLT5tX2FjdGlvbiA9PSBQYXRoVHJhdmVyc2FsU3RhdGU6
OlRyYXZlcnNhbE5vcm1hbEFuZ2xlQXRMZW5ndGgpCi0gICAgICAgICYmIG1fdHJhdmVyc2FsU3Rh
dGUtPm1fdG90YWxMZW5ndGggPj0gbV90cmF2ZXJzYWxTdGF0ZS0+bV9kZXNpcmVkTGVuZ3RoKSB7
Ci0gICAgICAgIEZsb2F0U2l6ZSBjaGFuZ2UgPSBtX3RyYXZlcnNhbFN0YXRlLT5tX2N1cnJlbnQg
LSBtX3RyYXZlcnNhbFN0YXRlLT5tX3ByZXZpb3VzOwotICAgICAgICBmbG9hdCBzbG9wZSA9IGF0
YW4yZihjaGFuZ2UuaGVpZ2h0KCksIGNoYW5nZS53aWR0aCgpKTsKLSAgICAgICAgaWYgKG1fdHJh
dmVyc2FsU3RhdGUtPm1fYWN0aW9uID09IFBhdGhUcmF2ZXJzYWxTdGF0ZTo6VHJhdmVyc2FsUG9p
bnRBdExlbmd0aCkgewotICAgICAgICAgICAgZmxvYXQgb2Zmc2V0ID0gbV90cmF2ZXJzYWxTdGF0
ZS0+bV9kZXNpcmVkTGVuZ3RoIC0gbV90cmF2ZXJzYWxTdGF0ZS0+bV90b3RhbExlbmd0aDsKLSAg
ICAgICAgICAgIG1fdHJhdmVyc2FsU3RhdGUtPm1fY3VycmVudC5tb3ZlKG9mZnNldCAqIGNvc2Yo
c2xvcGUpLCBvZmZzZXQgKiBzaW5mKHNsb3BlKSk7Ci0gICAgICAgIH0gZWxzZQotICAgICAgICAg
ICAgbV90cmF2ZXJzYWxTdGF0ZS0+bV9ub3JtYWxBbmdsZSA9IHJhZDJkZWcoc2xvcGUpOwotICAg
ICAgICBtX3RyYXZlcnNhbFN0YXRlLT5tX3N1Y2Nlc3MgPSB0cnVlOwotICAgIH0KLSAgICBtX3Ry
YXZlcnNhbFN0YXRlLT5tX3ByZXZpb3VzID0gbV90cmF2ZXJzYWxTdGF0ZS0+bV9jdXJyZW50Owot
CisgICAgbV90cmF2ZXJzYWxTdGF0ZS0+ZmluYWxpemVTZWdtZW50Q2FsY3VsYXRpb24oKTsKICAg
ICByZXR1cm4gIW1fdHJhdmVyc2FsU3RhdGUtPm1fc3VjY2VzczsKIH0KIAo=
</data>
<flag name="review"
          id="87613"
          type_id="1"
          status="+"
          setter="zimmermann"
    />
          </attachment>
      

    </bug>

</bugzilla>