<?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>23860</bug_id>
          
          <creation_ts>2009-02-09 17:57:44 -0800</creation_ts>
          <short_desc>Resync some graphics/skia files with their chromium counterparts</short_desc>
          <delta_ts>2009-02-18 14:05:54 -0800</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>PC</rep_platform>
          <op_sys>Other</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="Evan Stade">estade</reporter>
          <assigned_to name="Evan Stade">estade</assigned_to>
          
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>109070</commentid>
    <comment_count>0</comment_count>
    <who name="Evan Stade">estade</who>
    <bug_when>2009-02-09 17:57:44 -0800</bug_when>
    <thetext>These files have gotten out of sync and I suspect they are currently quite buggy. 

The original chromium changelists that caused this were http://codereview.chromium.org/17633 and http://codereview.chromium.org/17454 .</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>109072</commentid>
    <comment_count>1</comment_count>
      <attachid>27511</attachid>
    <who name="Evan Stade">estade</who>
    <bug_when>2009-02-09 17:58:29 -0800</bug_when>
    <thetext>Created attachment 27511
patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>109734</commentid>
    <comment_count>2</comment_count>
      <attachid>27511</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2009-02-13 14:24:51 -0800</bug_when>
    <thetext>Comment on attachment 27511
patch

Looks fine

+    // Current path in global coordinates.

isn&apos;t actually right, is it?

If you change the current matrix, we don&apos;t update the path.  So won&apos;t currentPath() do the wrong thing?

Also WebKit style has {
+SkPath PlatformContextSkia::currentPath() const {
on its own line.

r- for the concerns about currentPath() doing the wrong thing if you have changed the current transform since setting the path.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>109739</commentid>
    <comment_count>3</comment_count>
    <who name="Evan Stade">estade</who>
    <bug_when>2009-02-13 14:33:06 -0800</bug_when>
    <thetext>(In reply to comment #2)
&gt; (From update of attachment 27511 [review])
&gt; Looks fine
&gt; 
&gt; +    // Current path in global coordinates.
&gt; 
&gt; isn&apos;t actually right, is it?
&gt; 
&gt; If you change the current matrix, we don&apos;t update the path.  So won&apos;t
&gt; currentPath() do the wrong thing?
&gt; 
&gt; Also WebKit style has {
&gt; +SkPath PlatformContextSkia::currentPath() const {
&gt; on its own line.
&gt; 
&gt; r- for the concerns about currentPath() doing the wrong thing if you have
&gt; changed the current transform since setting the path.
&gt; 

That is actually what this patch is fixing. The path is only supposed to be transformed at the time when it is added. That is, we *do* want these two code paths to do different things:

* context-&gt;addPathPoints(a)
* context-&gt;appendTransform(t)
* context-&gt;addPathPoints(b)
========== vs. ===========
* context-&gt;appendTransform(t)
* context-&gt;addPathPoints(a)
* context-&gt;addPathPoints(b)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>109746</commentid>
    <comment_count>4</comment_count>
      <attachid>27669</attachid>
    <who name="Evan Stade">estade</who>
    <bug_when>2009-02-13 15:15:28 -0800</bug_when>
    <thetext>Created attachment 27669
fix curly brace</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>110107</commentid>
    <comment_count>5</comment_count>
      <attachid>27669</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2009-02-18 12:05:56 -0800</bug_when>
    <thetext>Comment on attachment 27669
fix curly brace

I would name currentPath() to currentPathInLocalCoordinates() then you don&apos;t need the comment and all the callsites are clear.

I would add a comment next to m_path explaining how it&apos;s stored transformed to global coordinates *at time of setting* and that currentPathInLocalCoordinates applies the inverse globalTransform at time of getting so that getCTM().transform(currerntPathInLocalCoordinates()) works.

WebKit uses localPath instead of local_path and inverseMatrix instead of inverse_matrix.

r- for the style issues.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>110109</commentid>
    <comment_count>6</comment_count>
      <attachid>27760</attachid>
    <who name="Evan Stade">estade</who>
    <bug_when>2009-02-18 12:18:40 -0800</bug_when>
    <thetext>Created attachment 27760
try3

changed currentPath() to currentPathInLocalCoordinates(), fixed local variable naming style issues</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>110110</commentid>
    <comment_count>7</comment_count>
      <attachid>27760</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2009-02-18 12:20:05 -0800</bug_when>
    <thetext>Comment on attachment 27760
try3

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>110119</commentid>
    <comment_count>8</comment_count>
    <who name="Darin Fisher (:fishd, Google)">fishd</who>
    <bug_when>2009-02-18 14:05:54 -0800</bug_when>
    <thetext>Landed as http://trac.webkit.org/changeset/41064</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>27511</attachid>
            <date>2009-02-09 17:58:29 -0800</date>
            <delta_ts>2009-02-13 15:15:28 -0800</delta_ts>
            <desc>patch</desc>
            <filename>resync.diff</filename>
            <type>text/plain</type>
            <size>3776</size>
            <attacher name="Evan Stade">estade</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA0MDgwMSkKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMjAgQEAKKzIwMDktMDItMDkgIEV2YW4gU3RhZGUgIDxlc3RhZGVAY2hyb21pdW0u
b3JnPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFJl
c3luYyBzb21lIGZpbGVzIGluIHBsYXRmb3JtL2dyYXBoaWNzL3NraWEuCisKKyAgICAgICAgVGhp
cyBjb21lcyBmcm9tIGNocm9taXVtIHBhdGNoZXMgPGh0dHA6Ly9jb2RlcmV2aWV3LmNocm9taXVt
Lm9yZy8xNzYzMz4KKyAgICAgICAgYW5kIDxodHRwOi8vY29kZXJldmlldy5jaHJvbWl1bS5vcmcv
MTc0NTQ+CisKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9za2lhL0dyYXBoaWNzQ29udGV4
dFNraWEuY3BwOgorICAgICAgICAoV2ViQ29yZTo6R3JhcGhpY3NDb250ZXh0OjpjbGlwUGF0aCk6
CisgICAgICAgIChXZWJDb3JlOjpHcmFwaGljc0NvbnRleHQ6OmZpbGxQYXRoKToKKyAgICAgICAg
KiBwbGF0Zm9ybS9ncmFwaGljcy9za2lhL1BsYXRmb3JtQ29udGV4dFNraWEuY3BwOgorICAgICAg
ICAoUGxhdGZvcm1Db250ZXh0U2tpYTo6YWRkUGF0aCk6CisgICAgICAgIChQbGF0Zm9ybUNvbnRl
eHRTa2lhOjpjdXJyZW50UGF0aCk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3Mvc2tpYS9Q
bGF0Zm9ybUNvbnRleHRTa2lhLmg6CisKIDIwMDktMDItMDkgIEVyaWMgU2VpZGVsICA8ZXJpY0B3
ZWJraXQub3JnPgogCiAgICAgICAgIFJldmlld2VkIGJ5IFNhbSBXZWluaWcuCkluZGV4OiBXZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL3NraWEvR3JhcGhpY3NDb250ZXh0U2tpYS5jcHAKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9za2lhL0dyYXBoaWNzQ29udGV4dFNr
aWEuY3BwCShyZXZpc2lvbiA0MDc4MikKKysrIFdlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvc2tp
YS9HcmFwaGljc0NvbnRleHRTa2lhLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNDA3LDggKzQwNyw3
IEBAIHZvaWQgR3JhcGhpY3NDb250ZXh0OjpjbGlwUGF0aChXaW5kUnVsZSAKICAgICBpZiAocGFp
bnRpbmdEaXNhYmxlZCgpKQogICAgICAgICByZXR1cm47CiAKLSAgICBjb25zdCBTa1BhdGgqIG9s
ZFBhdGggPSBwbGF0Zm9ybUNvbnRleHQoKS0+Y3VycmVudFBhdGgoKTsKLSAgICBTa1BhdGggcGF0
aCgqb2xkUGF0aCk7CisgICAgU2tQYXRoIHBhdGggPSBwbGF0Zm9ybUNvbnRleHQoKS0+Y3VycmVu
dFBhdGgoKTsKICAgICBwYXRoLnNldEZpbGxUeXBlKGNsaXBSdWxlID09IFJVTEVfRVZFTk9ERCA/
IFNrUGF0aDo6a0V2ZW5PZGRfRmlsbFR5cGUgOiBTa1BhdGg6OmtXaW5kaW5nX0ZpbGxUeXBlKTsK
ICAgICBwbGF0Zm9ybUNvbnRleHQoKS0+Y2FudmFzKCktPmNsaXBQYXRoKHBhdGgpOwogfQpAQCAt
Njc4LDcgKzY3Nyw3IEBAIHZvaWQgR3JhcGhpY3NDb250ZXh0OjpmaWxsUGF0aCgpCiAgICAgaWYg
KHBhaW50aW5nRGlzYWJsZWQoKSkKICAgICAgICAgcmV0dXJuOwogCi0gICAgY29uc3QgU2tQYXRo
JiBwYXRoID0gKnBsYXRmb3JtQ29udGV4dCgpLT5jdXJyZW50UGF0aCgpOworICAgIFNrUGF0aCBw
YXRoID0gcGxhdGZvcm1Db250ZXh0KCktPmN1cnJlbnRQYXRoKCk7CiAgICAgaWYgKCFpc1BhdGhT
a2lhU2FmZShnZXRDVE0oKSwgcGF0aCkpCiAgICAgICByZXR1cm47CiAKQEAgLTY4OCw3ICs2ODcs
NyBAQCB2b2lkIEdyYXBoaWNzQ29udGV4dDo6ZmlsbFBhdGgoKQogICAgIGlmIChjb2xvclNwYWNl
ID09IFNvbGlkQ29sb3JTcGFjZSAmJiAhZmlsbENvbG9yKCkuYWxwaGEoKSkKICAgICAgICAgcmV0
dXJuOwogCi0gICAgcGxhdGZvcm1Db250ZXh0KCktPnNldEZpbGxSdWxlKHN0YXRlLmZpbGxSdWxl
ID09IFJVTEVfRVZFTk9ERCA/CisgICAgcGF0aC5zZXRGaWxsVHlwZShzdGF0ZS5maWxsUnVsZSA9
PSBSVUxFX0VWRU5PREQgPwogICAgICAgICBTa1BhdGg6OmtFdmVuT2RkX0ZpbGxUeXBlIDogU2tQ
YXRoOjprV2luZGluZ19GaWxsVHlwZSk7CiAKICAgICBTa1BhaW50IHBhaW50OwpJbmRleDogV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9za2lhL1BsYXRmb3JtQ29udGV4dFNraWEuY3BwCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFdlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvc2tpYS9QbGF0Zm9ybUNvbnRleHRT
a2lhLmNwcAkocmV2aXNpb24gNDA3ODIpCisrKyBXZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3Nr
aWEvUGxhdGZvcm1Db250ZXh0U2tpYS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTQ2Myw3ICs0NjMs
MTYgQEAgdm9pZCBQbGF0Zm9ybUNvbnRleHRTa2lhOjpiZWdpblBhdGgoKQogCiB2b2lkIFBsYXRm
b3JtQ29udGV4dFNraWE6OmFkZFBhdGgoY29uc3QgU2tQYXRoJiBwYXRoKQogewotICAgIG1fcGF0
aC5hZGRQYXRoKHBhdGgpOworICAgIG1fcGF0aC5hZGRQYXRoKHBhdGgsIG1fY2FudmFzLT5nZXRU
b3RhbE1hdHJpeCgpKTsKK30KKworU2tQYXRoIFBsYXRmb3JtQ29udGV4dFNraWE6OmN1cnJlbnRQ
YXRoKCkgY29uc3QgeworICAgIFNrUGF0aCBsb2NhbF9wYXRoID0gbV9wYXRoOworICAgIGNvbnN0
IFNrTWF0cml4JiBtYXRyaXggPSBtX2NhbnZhcy0+Z2V0VG90YWxNYXRyaXgoKTsKKyAgICBTa01h
dHJpeCBpbnZlcnNlX21hdHJpeDsKKyAgICBtYXRyaXguaW52ZXJ0KCZpbnZlcnNlX21hdHJpeCk7
CisgICAgbG9jYWxfcGF0aC50cmFuc2Zvcm0oaW52ZXJzZV9tYXRyaXgpOworICAgIHJldHVybiBs
b2NhbF9wYXRoOwogfQogCiB2b2lkIFBsYXRmb3JtQ29udGV4dFNraWE6OnNldEZpbGxSdWxlKFNr
UGF0aDo6RmlsbFR5cGUgZnIpCkluZGV4OiBXZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3NraWEv
UGxhdGZvcm1Db250ZXh0U2tpYS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3Mvc2tpYS9QbGF0Zm9ybUNvbnRleHRTa2lhLmgJKHJldmlzaW9uIDQwNzgyKQorKysgV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9za2lhL1BsYXRmb3JtQ29udGV4dFNraWEuaAkod29ya2lu
ZyBjb3B5KQpAQCAtMTM1LDcgKzEzNSw4IEBAIHB1YmxpYzoKIAogICAgIHZvaWQgYmVnaW5QYXRo
KCk7CiAgICAgdm9pZCBhZGRQYXRoKGNvbnN0IFNrUGF0aCYpOwotICAgIGNvbnN0IFNrUGF0aCog
Y3VycmVudFBhdGgoKSBjb25zdCB7IHJldHVybiAmbV9wYXRoOyB9CisgICAgLy8gUmV0dXJucyB0
aGUgY3VycmVudCBwYXRoIGluIGxvY2FsIGNvb3JkaW5hdGVzLgorICAgIFNrUGF0aCBjdXJyZW50
UGF0aCgpIGNvbnN0OwogCiAgICAgU2tDb2xvciBmaWxsQ29sb3IoKSBjb25zdDsKIApAQCAtMTg2
LDcgKzE4Nyw3IEBAIHByaXZhdGU6CiAgICAgLy8gbVN0YXRlU3RhY2suYmFjaygpLgogICAgIFN0
YXRlKiBtX3N0YXRlOwogCi0gICAgLy8gQ3VycmVudCBwYXRoLgorICAgIC8vIEN1cnJlbnQgcGF0
aCBpbiBnbG9iYWwgY29vcmRpbmF0ZXMuCiAgICAgU2tQYXRoIG1fcGF0aDsKIAogI2lmIGRlZmlu
ZWQoX19saW51eF9fKQo=
</data>
<flag name="review"
          id="13318"
          type_id="1"
          status="-"
          setter="eric"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>27669</attachid>
            <date>2009-02-13 15:15:28 -0800</date>
            <delta_ts>2009-02-18 12:18:40 -0800</delta_ts>
            <desc>fix curly brace</desc>
            <filename>resync2.diff</filename>
            <type>text/plain</type>
            <size>3861</size>
            <attacher name="Evan Stade">estade</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA0MDk5MikKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMjEgQEAKKzIwMDktMDItMTMgIEV2YW4gU3RhZGUgIDxlc3RhZGVAY2hyb21pdW0u
b3JnPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMzg2MAorICAgICAgICBSZXN5
bmMgc29tZSBncmFwaGljcy9za2lhIGZpbGVzIHdpdGggdGhlaXIgY2hyb21pdW0gY291bnRlcnBh
cnRzCisKKyAgICAgICAgVGhpcyBjb21lcyBmcm9tIGNocm9taXVtIHBhdGNoZXMgPGh0dHA6Ly9j
b2RlcmV2aWV3LmNocm9taXVtLm9yZy8xNzYzMz4KKyAgICAgICAgYW5kIDxodHRwOi8vY29kZXJl
dmlldy5jaHJvbWl1bS5vcmcvMTc0NTQ+CisKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9z
a2lhL0dyYXBoaWNzQ29udGV4dFNraWEuY3BwOgorICAgICAgICAoV2ViQ29yZTo6R3JhcGhpY3ND
b250ZXh0OjpjbGlwUGF0aCk6CisgICAgICAgIChXZWJDb3JlOjpHcmFwaGljc0NvbnRleHQ6OmZp
bGxQYXRoKToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9za2lhL1BsYXRmb3JtQ29udGV4
dFNraWEuY3BwOgorICAgICAgICAoUGxhdGZvcm1Db250ZXh0U2tpYTo6YWRkUGF0aCk6CisgICAg
ICAgIChQbGF0Zm9ybUNvbnRleHRTa2lhOjpjdXJyZW50UGF0aCk6CisgICAgICAgICogcGxhdGZv
cm0vZ3JhcGhpY3Mvc2tpYS9QbGF0Zm9ybUNvbnRleHRTa2lhLmg6CisKIDIwMDktMDItMTMgIEFk
YW0gVHJlYXQgIDxhZGFtLnRyZWF0QHRvcmNobW9iaWxlLmNvbT4KIAogICAgICAgICBDYXVnaHQg
YnkgRGFyaW4gQWRsZXIuCkluZGV4OiBXZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3NraWEvR3Jh
cGhpY3NDb250ZXh0U2tpYS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9za2lhL0dyYXBoaWNzQ29udGV4dFNraWEuY3BwCShyZXZpc2lvbiA0MDk1NykKKysrIFdl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvc2tpYS9HcmFwaGljc0NvbnRleHRTa2lhLmNwcAkod29y
a2luZyBjb3B5KQpAQCAtNDA3LDggKzQwNyw3IEBAIHZvaWQgR3JhcGhpY3NDb250ZXh0OjpjbGlw
UGF0aChXaW5kUnVsZSAKICAgICBpZiAocGFpbnRpbmdEaXNhYmxlZCgpKQogICAgICAgICByZXR1
cm47CiAKLSAgICBjb25zdCBTa1BhdGgqIG9sZFBhdGggPSBwbGF0Zm9ybUNvbnRleHQoKS0+Y3Vy
cmVudFBhdGgoKTsKLSAgICBTa1BhdGggcGF0aCgqb2xkUGF0aCk7CisgICAgU2tQYXRoIHBhdGgg
PSBwbGF0Zm9ybUNvbnRleHQoKS0+Y3VycmVudFBhdGgoKTsKICAgICBwYXRoLnNldEZpbGxUeXBl
KGNsaXBSdWxlID09IFJVTEVfRVZFTk9ERCA/IFNrUGF0aDo6a0V2ZW5PZGRfRmlsbFR5cGUgOiBT
a1BhdGg6OmtXaW5kaW5nX0ZpbGxUeXBlKTsKICAgICBwbGF0Zm9ybUNvbnRleHQoKS0+Y2FudmFz
KCktPmNsaXBQYXRoKHBhdGgpOwogfQpAQCAtNjc4LDcgKzY3Nyw3IEBAIHZvaWQgR3JhcGhpY3ND
b250ZXh0OjpmaWxsUGF0aCgpCiAgICAgaWYgKHBhaW50aW5nRGlzYWJsZWQoKSkKICAgICAgICAg
cmV0dXJuOwogCi0gICAgY29uc3QgU2tQYXRoJiBwYXRoID0gKnBsYXRmb3JtQ29udGV4dCgpLT5j
dXJyZW50UGF0aCgpOworICAgIFNrUGF0aCBwYXRoID0gcGxhdGZvcm1Db250ZXh0KCktPmN1cnJl
bnRQYXRoKCk7CiAgICAgaWYgKCFpc1BhdGhTa2lhU2FmZShnZXRDVE0oKSwgcGF0aCkpCiAgICAg
ICByZXR1cm47CiAKQEAgLTY4OCw3ICs2ODcsNyBAQCB2b2lkIEdyYXBoaWNzQ29udGV4dDo6Zmls
bFBhdGgoKQogICAgIGlmIChjb2xvclNwYWNlID09IFNvbGlkQ29sb3JTcGFjZSAmJiAhZmlsbENv
bG9yKCkuYWxwaGEoKSkKICAgICAgICAgcmV0dXJuOwogCi0gICAgcGxhdGZvcm1Db250ZXh0KCkt
PnNldEZpbGxSdWxlKHN0YXRlLmZpbGxSdWxlID09IFJVTEVfRVZFTk9ERCA/CisgICAgcGF0aC5z
ZXRGaWxsVHlwZShzdGF0ZS5maWxsUnVsZSA9PSBSVUxFX0VWRU5PREQgPwogICAgICAgICBTa1Bh
dGg6OmtFdmVuT2RkX0ZpbGxUeXBlIDogU2tQYXRoOjprV2luZGluZ19GaWxsVHlwZSk7CiAKICAg
ICBTa1BhaW50IHBhaW50OwpJbmRleDogV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9za2lhL1Bs
YXRmb3JtQ29udGV4dFNraWEuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3Mvc2tpYS9QbGF0Zm9ybUNvbnRleHRTa2lhLmNwcAkocmV2aXNpb24gNDA5NTcpCisrKyBX
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3NraWEvUGxhdGZvcm1Db250ZXh0U2tpYS5jcHAJKHdv
cmtpbmcgY29weSkKQEAgLTQ2Myw3ICs0NjMsMTcgQEAgdm9pZCBQbGF0Zm9ybUNvbnRleHRTa2lh
OjpiZWdpblBhdGgoKQogCiB2b2lkIFBsYXRmb3JtQ29udGV4dFNraWE6OmFkZFBhdGgoY29uc3Qg
U2tQYXRoJiBwYXRoKQogewotICAgIG1fcGF0aC5hZGRQYXRoKHBhdGgpOworICAgIG1fcGF0aC5h
ZGRQYXRoKHBhdGgsIG1fY2FudmFzLT5nZXRUb3RhbE1hdHJpeCgpKTsKK30KKworU2tQYXRoIFBs
YXRmb3JtQ29udGV4dFNraWE6OmN1cnJlbnRQYXRoKCkgY29uc3QKK3sKKyAgICBTa1BhdGggbG9j
YWxfcGF0aCA9IG1fcGF0aDsKKyAgICBjb25zdCBTa01hdHJpeCYgbWF0cml4ID0gbV9jYW52YXMt
PmdldFRvdGFsTWF0cml4KCk7CisgICAgU2tNYXRyaXggaW52ZXJzZV9tYXRyaXg7CisgICAgbWF0
cml4LmludmVydCgmaW52ZXJzZV9tYXRyaXgpOworICAgIGxvY2FsX3BhdGgudHJhbnNmb3JtKGlu
dmVyc2VfbWF0cml4KTsKKyAgICByZXR1cm4gbG9jYWxfcGF0aDsKIH0KIAogdm9pZCBQbGF0Zm9y
bUNvbnRleHRTa2lhOjpzZXRGaWxsUnVsZShTa1BhdGg6OkZpbGxUeXBlIGZyKQpJbmRleDogV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9za2lhL1BsYXRmb3JtQ29udGV4dFNraWEuaAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBXZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3NraWEvUGxhdGZvcm1Db250ZXh0U2tp
YS5oCShyZXZpc2lvbiA0MDk1NykKKysrIFdlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvc2tpYS9Q
bGF0Zm9ybUNvbnRleHRTa2lhLmgJKHdvcmtpbmcgY29weSkKQEAgLTEzNSw3ICsxMzUsOCBAQCBw
dWJsaWM6CiAKICAgICB2b2lkIGJlZ2luUGF0aCgpOwogICAgIHZvaWQgYWRkUGF0aChjb25zdCBT
a1BhdGgmKTsKLSAgICBjb25zdCBTa1BhdGgqIGN1cnJlbnRQYXRoKCkgY29uc3QgeyByZXR1cm4g
Jm1fcGF0aDsgfQorICAgIC8vIFJldHVybnMgdGhlIGN1cnJlbnQgcGF0aCBpbiBsb2NhbCBjb29y
ZGluYXRlcy4KKyAgICBTa1BhdGggY3VycmVudFBhdGgoKSBjb25zdDsKIAogICAgIFNrQ29sb3Ig
ZmlsbENvbG9yKCkgY29uc3Q7CiAKQEAgLTE4Niw3ICsxODcsNyBAQCBwcml2YXRlOgogICAgIC8v
IG1TdGF0ZVN0YWNrLmJhY2soKS4KICAgICBTdGF0ZSogbV9zdGF0ZTsKIAotICAgIC8vIEN1cnJl
bnQgcGF0aC4KKyAgICAvLyBDdXJyZW50IHBhdGggaW4gZ2xvYmFsIGNvb3JkaW5hdGVzLgogICAg
IFNrUGF0aCBtX3BhdGg7CiAKICNpZiBkZWZpbmVkKF9fbGludXhfXykK
</data>
<flag name="review"
          id="13436"
          type_id="1"
          status="-"
          setter="eric"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>27760</attachid>
            <date>2009-02-18 12:18:40 -0800</date>
            <delta_ts>2009-02-18 12:20:05 -0800</delta_ts>
            <desc>try3</desc>
            <filename>resync3.diff</filename>
            <type>text/plain</type>
            <size>4178</size>
            <attacher name="Evan Stade">estade</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA0MDk5MikKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMjEgQEAKKzIwMDktMDItMTMgIEV2YW4gU3RhZGUgIDxlc3RhZGVAY2hyb21pdW0u
b3JnPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMzg2MAorICAgICAgICBSZXN5
bmMgc29tZSBncmFwaGljcy9za2lhIGZpbGVzIHdpdGggdGhlaXIgY2hyb21pdW0gY291bnRlcnBh
cnRzCisKKyAgICAgICAgVGhpcyBjb21lcyBmcm9tIGNocm9taXVtIHBhdGNoZXMgPGh0dHA6Ly9j
b2RlcmV2aWV3LmNocm9taXVtLm9yZy8xNzYzMz4KKyAgICAgICAgYW5kIDxodHRwOi8vY29kZXJl
dmlldy5jaHJvbWl1bS5vcmcvMTc0NTQ+CisKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9z
a2lhL0dyYXBoaWNzQ29udGV4dFNraWEuY3BwOgorICAgICAgICAoV2ViQ29yZTo6R3JhcGhpY3ND
b250ZXh0OjpjbGlwUGF0aCk6CisgICAgICAgIChXZWJDb3JlOjpHcmFwaGljc0NvbnRleHQ6OmZp
bGxQYXRoKToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9za2lhL1BsYXRmb3JtQ29udGV4
dFNraWEuY3BwOgorICAgICAgICAoUGxhdGZvcm1Db250ZXh0U2tpYTo6YWRkUGF0aCk6CisgICAg
ICAgIChQbGF0Zm9ybUNvbnRleHRTa2lhOjpjdXJyZW50UGF0aCk6CisgICAgICAgICogcGxhdGZv
cm0vZ3JhcGhpY3Mvc2tpYS9QbGF0Zm9ybUNvbnRleHRTa2lhLmg6CisKIDIwMDktMDItMTMgIEFk
YW0gVHJlYXQgIDxhZGFtLnRyZWF0QHRvcmNobW9iaWxlLmNvbT4KIAogICAgICAgICBDYXVnaHQg
YnkgRGFyaW4gQWRsZXIuCkluZGV4OiBXZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3NraWEvR3Jh
cGhpY3NDb250ZXh0U2tpYS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9za2lhL0dyYXBoaWNzQ29udGV4dFNraWEuY3BwCShyZXZpc2lvbiA0MDk1NykKKysrIFdl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvc2tpYS9HcmFwaGljc0NvbnRleHRTa2lhLmNwcAkod29y
a2luZyBjb3B5KQpAQCAtNDA3LDggKzQwNyw3IEBAIHZvaWQgR3JhcGhpY3NDb250ZXh0OjpjbGlw
UGF0aChXaW5kUnVsZSAKICAgICBpZiAocGFpbnRpbmdEaXNhYmxlZCgpKQogICAgICAgICByZXR1
cm47CiAKLSAgICBjb25zdCBTa1BhdGgqIG9sZFBhdGggPSBwbGF0Zm9ybUNvbnRleHQoKS0+Y3Vy
cmVudFBhdGgoKTsKLSAgICBTa1BhdGggcGF0aCgqb2xkUGF0aCk7CisgICAgU2tQYXRoIHBhdGgg
PSBwbGF0Zm9ybUNvbnRleHQoKS0+Y3VycmVudFBhdGhJbkxvY2FsQ29vcmRpbmF0ZXMoKTsKICAg
ICBwYXRoLnNldEZpbGxUeXBlKGNsaXBSdWxlID09IFJVTEVfRVZFTk9ERCA/IFNrUGF0aDo6a0V2
ZW5PZGRfRmlsbFR5cGUgOiBTa1BhdGg6OmtXaW5kaW5nX0ZpbGxUeXBlKTsKICAgICBwbGF0Zm9y
bUNvbnRleHQoKS0+Y2FudmFzKCktPmNsaXBQYXRoKHBhdGgpOwogfQpAQCAtNjc4LDcgKzY3Nyw3
IEBAIHZvaWQgR3JhcGhpY3NDb250ZXh0OjpmaWxsUGF0aCgpCiAgICAgaWYgKHBhaW50aW5nRGlz
YWJsZWQoKSkKICAgICAgICAgcmV0dXJuOwogCi0gICAgY29uc3QgU2tQYXRoJiBwYXRoID0gKnBs
YXRmb3JtQ29udGV4dCgpLT5jdXJyZW50UGF0aCgpOworICAgIFNrUGF0aCBwYXRoID0gcGxhdGZv
cm1Db250ZXh0KCktPmN1cnJlbnRQYXRoSW5Mb2NhbENvb3JkaW5hdGVzKCk7CiAgICAgaWYgKCFp
c1BhdGhTa2lhU2FmZShnZXRDVE0oKSwgcGF0aCkpCiAgICAgICByZXR1cm47CiAKQEAgLTY4OCw3
ICs2ODcsNyBAQCB2b2lkIEdyYXBoaWNzQ29udGV4dDo6ZmlsbFBhdGgoKQogICAgIGlmIChjb2xv
clNwYWNlID09IFNvbGlkQ29sb3JTcGFjZSAmJiAhZmlsbENvbG9yKCkuYWxwaGEoKSkKICAgICAg
ICAgcmV0dXJuOwogCi0gICAgcGxhdGZvcm1Db250ZXh0KCktPnNldEZpbGxSdWxlKHN0YXRlLmZp
bGxSdWxlID09IFJVTEVfRVZFTk9ERCA/CisgICAgcGF0aC5zZXRGaWxsVHlwZShzdGF0ZS5maWxs
UnVsZSA9PSBSVUxFX0VWRU5PREQgPwogICAgICAgICBTa1BhdGg6OmtFdmVuT2RkX0ZpbGxUeXBl
IDogU2tQYXRoOjprV2luZGluZ19GaWxsVHlwZSk7CiAKICAgICBTa1BhaW50IHBhaW50OwpAQCAt
MTA2OCw3ICsxMDY3LDcgQEAgdm9pZCBHcmFwaGljc0NvbnRleHQ6OnN0cm9rZVBhdGgoKQogICAg
IGlmIChwYWludGluZ0Rpc2FibGVkKCkpCiAgICAgICAgIHJldHVybjsKIAotICAgIGNvbnN0IFNr
UGF0aCYgcGF0aCA9ICpwbGF0Zm9ybUNvbnRleHQoKS0+Y3VycmVudFBhdGgoKTsKKyAgICBjb25z
dCBTa1BhdGgmIHBhdGggPSAqcGxhdGZvcm1Db250ZXh0KCktPmN1cnJlbnRQYXRoSW5Mb2NhbENv
b3JkaW5hdGVzKCk7CiAgICAgaWYgKCFpc1BhdGhTa2lhU2FmZShnZXRDVE0oKSwgcGF0aCkpCiAg
ICAgICAgIHJldHVybjsKIApJbmRleDogV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9za2lhL1Bs
YXRmb3JtQ29udGV4dFNraWEuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3Mvc2tpYS9QbGF0Zm9ybUNvbnRleHRTa2lhLmNwcAkocmV2aXNpb24gNDA5NTcpCisrKyBX
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3NraWEvUGxhdGZvcm1Db250ZXh0U2tpYS5jcHAJKHdv
cmtpbmcgY29weSkKQEAgLTQ2Myw3ICs0NjMsMTcgQEAgdm9pZCBQbGF0Zm9ybUNvbnRleHRTa2lh
OjpiZWdpblBhdGgoKQogCiB2b2lkIFBsYXRmb3JtQ29udGV4dFNraWE6OmFkZFBhdGgoY29uc3Qg
U2tQYXRoJiBwYXRoKQogewotICAgIG1fcGF0aC5hZGRQYXRoKHBhdGgpOworICAgIG1fcGF0aC5h
ZGRQYXRoKHBhdGgsIG1fY2FudmFzLT5nZXRUb3RhbE1hdHJpeCgpKTsKK30KKworU2tQYXRoIFBs
YXRmb3JtQ29udGV4dFNraWE6OmN1cnJlbnRQYXRoSW5Mb2NhbENvb3JkaW5hdGVzKCkgY29uc3QK
K3sKKyAgICBTa1BhdGggbG9jYWxQYXRoID0gbV9wYXRoOworICAgIGNvbnN0IFNrTWF0cml4JiBt
YXRyaXggPSBtX2NhbnZhcy0+Z2V0VG90YWxNYXRyaXgoKTsKKyAgICBTa01hdHJpeCBpbnZlcnNl
TWF0cml4OworICAgIG1hdHJpeC5pbnZlcnQoJmludmVyc2VNYXRyaXgpOworICAgIGxvY2FsUGF0
aC50cmFuc2Zvcm0oaW52ZXJzZU1hdHJpeCk7CisgICAgcmV0dXJuIGxvY2FsUGF0aDsKIH0KIAog
dm9pZCBQbGF0Zm9ybUNvbnRleHRTa2lhOjpzZXRGaWxsUnVsZShTa1BhdGg6OkZpbGxUeXBlIGZy
KQpJbmRleDogV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9za2lhL1BsYXRmb3JtQ29udGV4dFNr
aWEuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3NraWEvUGxhdGZv
cm1Db250ZXh0U2tpYS5oCShyZXZpc2lvbiA0MDk1NykKKysrIFdlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3Mvc2tpYS9QbGF0Zm9ybUNvbnRleHRTa2lhLmgJKHdvcmtpbmcgY29weSkKQEAgLTEzNSw3
ICsxMzUsNyBAQCBwdWJsaWM6CiAKICAgICB2b2lkIGJlZ2luUGF0aCgpOwogICAgIHZvaWQgYWRk
UGF0aChjb25zdCBTa1BhdGgmKTsKLSAgICBjb25zdCBTa1BhdGgqIGN1cnJlbnRQYXRoKCkgY29u
c3QgeyByZXR1cm4gJm1fcGF0aDsgfQorICAgIFNrUGF0aCBjdXJyZW50UGF0aEluTG9jYWxDb29y
ZGluYXRlcygpIGNvbnN0OwogCiAgICAgU2tDb2xvciBmaWxsQ29sb3IoKSBjb25zdDsKIApAQCAt
MTg2LDcgKzE4Niw3IEBAIHByaXZhdGU6CiAgICAgLy8gbVN0YXRlU3RhY2suYmFjaygpLgogICAg
IFN0YXRlKiBtX3N0YXRlOwogCi0gICAgLy8gQ3VycmVudCBwYXRoLgorICAgIC8vIEN1cnJlbnQg
cGF0aCBpbiBnbG9iYWwgY29vcmRpbmF0ZXMuCiAgICAgU2tQYXRoIG1fcGF0aDsKIAogI2lmIGRl
ZmluZWQoX19saW51eF9fKQo=
</data>
<flag name="review"
          id="13495"
          type_id="1"
          status="+"
          setter="eric"
    />
          </attachment>
      

    </bug>

</bugzilla>