<?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>52159</bug_id>
          
          <creation_ts>2011-01-10 11:27:35 -0800</creation_ts>
          <short_desc>[chromium] simplify complex glyph positioning code</short_desc>
          <delta_ts>2011-01-10 11:58:18 -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>New Bugs</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Other</rep_platform>
          <op_sys>OS X 10.5</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 Martin">evan</reporter>
          <assigned_to name="Evan Martin">evan</assigned_to>
          <cc>simonjam</cc>
    
    <cc>tony</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>331750</commentid>
    <comment_count>0</comment_count>
    <who name="Evan Martin">evan</who>
    <bug_when>2011-01-10 11:27:35 -0800</bug_when>
    <thetext>[chromium] simplify complex glyph positioning code</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>331752</commentid>
    <comment_count>1</comment_count>
      <attachid>78416</attachid>
    <who name="Evan Martin">evan</who>
    <bug_when>2011-01-10 11:28:51 -0800</bug_when>
    <thetext>Created attachment 78416
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>331772</commentid>
    <comment_count>2</comment_count>
    <who name="Evan Martin">evan</who>
    <bug_when>2011-01-10 11:40:29 -0800</bug_when>
    <thetext>CC someone who touched this code recently</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>331782</commentid>
    <comment_count>3</comment_count>
      <attachid>78416</attachid>
    <who name="Tony Chang">tony</who>
    <bug_when>2011-01-10 11:47:24 -0800</bug_when>
    <thetext>Comment on attachment 78416
Patch

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

&gt; WebCore/platform/graphics/chromium/ComplexTextControllerLinux.cpp:335
&gt; +    if (isRTL) {
&gt; +        for (size_t i = 0; i &lt; m_item.num_glyphs; ++i) {
&gt; +            m_xPositions[i] += width;
&gt;          }
&gt;      }

Nit: {} are optional.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>331795</commentid>
    <comment_count>4</comment_count>
    <who name="Evan Martin">evan</who>
    <bug_when>2011-01-10 11:58:18 -0800</bug_when>
    <thetext>Committed r75400: &lt;http://trac.webkit.org/changeset/75400&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>78416</attachid>
            <date>2011-01-10 11:28:51 -0800</date>
            <delta_ts>2011-01-10 11:47:24 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-52159-20110110112836.patch</filename>
            <type>text/plain</type>
            <size>6167</size>
            <attacher name="Evan Martin">evan</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYkNvcmUvQ2hhbmdlTG9nIGIvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXgg
Yjc3YWE1OTZmN2FiYTE3NGFlYTIzZWNkYjQzMGRmODkzYzEwYjNjYS4uNjljYmI0ZmI4YjU4OWU5
OGI2ZDRmNjdhNjQxY2Y0YTIyMGQyNmVmMyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9DaGFuZ2VMb2cK
KysrIGIvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxOCBAQAorMjAxMS0wMS0xMCAgRXZh
biBNYXJ0aW4gIDxldmFuQGNocm9taXVtLm9yZz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JP
RFkgKE9PUFMhKS4KKworICAgICAgICBbY2hyb21pdW1dIHNpbXBsaWZ5IGNvbXBsZXggZ2x5cGgg
cG9zaXRpb25pbmcgY29kZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9NTIxNTkKKworICAgICAgICBCZWZvcmUsIHdlIGhhZCByb3VnaGx5IHNhbWUgY29k
ZSBkdXBsaWNhdGVkIGZvciBSVEwgYW5kIExUUi4KKyAgICAgICAgTm93LCB1c2UgdGhlIHNhbWUg
Y29kZSBmb3IgYm90aCBkaXJlY3Rpb25zIGJ5IGJlaW5nIGNhcmVmdWwgYWJvdXQKKyAgICAgICAg
ZmxpcHBpbmcgc2lnbnMgd2hlcmUgYXBwcm9wcmlhdGUuCisKKyAgICAgICAgKiBwbGF0Zm9ybS9n
cmFwaGljcy9jaHJvbWl1bS9Db21wbGV4VGV4dENvbnRyb2xsZXJMaW51eC5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpDb21wbGV4VGV4dENvbnRyb2xsZXI6OnNoYXBlR2x5cGhzKToKKyAgICAgICAg
KFdlYkNvcmU6OkNvbXBsZXhUZXh0Q29udHJvbGxlcjo6c2V0R2x5cGhYUG9zaXRpb25zKToKKwog
MjAxMS0wMS0wNiAgTWFydGluIFJvYmluc29uICA8bXJvYmluc29uQGlnYWxpYS5jb20+CiAKICAg
ICAgICAgUmV2aWV3ZWQgYnkgRXJpYyBTZWlkZWwuCmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL2Nocm9taXVtL0NvbXBsZXhUZXh0Q29udHJvbGxlckxpbnV4LmNwcCBiL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vQ29tcGxleFRleHRDb250cm9sbGVyTGlu
dXguY3BwCmluZGV4IGI1ZWRhOTMyNWFiNGY2NjU4MTJjNDhhYzExMDdiNmEzYWZjNTIzMzEuLjk1
MjU1ZjU5NTgzYjVjOTVlMzJmNTY0ZWJjN2I2NGY2NjJkODJkYzggMTAwNjQ0Ci0tLSBhL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vQ29tcGxleFRleHRDb250cm9sbGVyTGludXgu
Y3BwCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vQ29tcGxleFRleHRD
b250cm9sbGVyTGludXguY3BwCkBAIC0yNzMsNyArMjczLDcgQEAgdm9pZCBDb21wbGV4VGV4dENv
bnRyb2xsZXI6OnNoYXBlR2x5cGhzKCkKIHsKICAgICAvLyBIQl9TaGFwZUl0ZW0oKSByZXNldHMg
bV9pdGVtLm51bV9nbHlwaHMuIElmIHRoZSBwcmV2aW91cyBjYWxsIHRvCiAgICAgLy8gSEJfU2hh
cGVJdGVtKCkgdXNlZCBsZXNzIHNwYWNlIHRoYW4gd2FzIGF2YWlsYWJsZSwgdGhlIGNhcGFjaXR5
IG9mCi0gICAgLy8gdGhlIGFycmF5IG1heSBiZSBsYXJnZXIgdGhhbiB0aGUgY3VycmVudCB2YWx1
ZSBvZiBtX2l0ZW0ubnVtX2dseXBocy4gCisgICAgLy8gdGhlIGFycmF5IG1heSBiZSBsYXJnZXIg
dGhhbiB0aGUgY3VycmVudCB2YWx1ZSBvZiBtX2l0ZW0ubnVtX2dseXBocy4KICAgICAvLyBTbywg
d2UgbmVlZCB0byByZXNldCB0aGUgbnVtX2dseXBocyB0byB0aGUgY2FwYWNpdHkgb2YgdGhlIGFy
cmF5LgogICAgIG1faXRlbS5udW1fZ2x5cGhzID0gbV9nbHlwaHNBcnJheUNhcGFjaXR5OwogICAg
IHJlc2V0R2x5cGhBcnJheXMoKTsKQEAgLTI5MSw2MiArMjkxLDUwIEBAIHZvaWQgQ29tcGxleFRl
eHRDb250cm9sbGVyOjpzaGFwZUdseXBocygpCiAKIHZvaWQgQ29tcGxleFRleHRDb250cm9sbGVy
OjpzZXRHbHlwaFhQb3NpdGlvbnMoYm9vbCBpc1JUTCkKIHsKKyAgICBjb25zdCBkb3VibGUgcnRs
RmxpcCA9IGlzUlRMID8gLTEgOiAxOwogICAgIGRvdWJsZSBwb3NpdGlvbiA9IDA7Ci0gICAgLy8g
bG9nQ2x1c3RlcnNJbmRleCBpbmRleGVzIGxvZ0NsdXN0ZXJzIGZvciB0aGUgZmlyc3QgKG9yIGxh
c3Qgd2hlbgotICAgIC8vIFJUTCkgY29kZXBvaW50IG9mIHRoZSBjdXJyZW50IGdseXBoLiAgRWFj
aCB0aW1lIHdlIGFkdmFuY2UgYSBnbHlwaCwKLSAgICAvLyB3ZSBza2lwIG92ZXIgYWxsIHRoZSBj
b2RlcG9pbnRzIHRoYXQgY29udHJpYnV0ZWQgdG8gdGhlIGN1cnJlbnQKLSAgICAvLyBnbHlwaC4K
KworICAgIC8vIGxvZ0NsdXN0ZXJzSW5kZXggaW5kZXhlcyBsb2dDbHVzdGVycyBmb3IgdGhlIGZp
cnN0IGNvZGVwb2ludCBvZiB0aGUgY3VycmVudCBnbHlwaC4KKyAgICAvLyBFYWNoIHRpbWUgd2Ug
YWR2YW5jZSBhIGdseXBoLCB3ZSBza2lwIG92ZXIgYWxsIHRoZSBjb2RlcG9pbnRzIHRoYXQgY29u
dHJpYnV0ZWQgdG8gdGhlIGN1cnJlbnQgZ2x5cGguCiAgICAgaW50IGxvZ0NsdXN0ZXJzSW5kZXgg
PSAwOwogCi0gICAgaWYgKGlzUlRMKSB7Ci0gICAgICAgIGxvZ0NsdXN0ZXJzSW5kZXggPSBtX2l0
ZW0ubnVtX2dseXBocyAtIDE7Ci0KLSAgICAgICAgLy8gR2x5cGhzIGFyZSBzdG9yZWQgaW4gbG9n
aWNhbCBvcmRlciwgYnV0IGZvciBsYXlvdXQgcHVycG9zZXMgd2UKLSAgICAgICAgLy8gYWx3YXlz
IGdvIGxlZnQgdG8gcmlnaHQuCi0gICAgICAgIGZvciAoaW50IGkgPSBtX2l0ZW0ubnVtX2dseXBo
cyAtIDE7IGkgPj0gMDsgLS1pKSB7Ci0gICAgICAgICAgICBpZiAoIW1fY3VycmVudEZvbnREYXRh
LT5pc1plcm9XaWR0aFNwYWNlR2x5cGgobV9nbHlwaHMxNltpXSkpIHsKLSAgICAgICAgICAgICAg
ICAvLyBXaGl0ZXNwYWNlIG11c3QgYmUgbGFpZCBvdXQgaW4gbG9naWNhbCBvcmRlciwgc28gd2hl
biBpbnNlcnRpbmcKLSAgICAgICAgICAgICAgICAvLyBzcGFjZXMgaW4gUlRMIChidXQgaXRlcmF0
aW5nIGluIExUUiBvcmRlcikgd2UgbXVzdCBpbnNlcnQgc3BhY2VzCi0gICAgICAgICAgICAgICAg
Ly8gX2JlZm9yZV8gdGhlIG5leHQgZ2x5cGguCi0gICAgICAgICAgICAgICAgaWYgKHN0YXRpY19j
YXN0PHVuc2lnbmVkPihpICsgMSkgPj0gbV9pdGVtLm51bV9nbHlwaHMgfHwgbV9pdGVtLmF0dHJp
YnV0ZXNbaSArIDFdLmNsdXN0ZXJTdGFydCkKLSAgICAgICAgICAgICAgICAgICAgcG9zaXRpb24g
Kz0gbV9sZXR0ZXJTcGFjaW5nOwotCi0gICAgICAgICAgICAgICAgcG9zaXRpb24gKz0gZGV0ZXJt
aW5lV29yZEJyZWFrU3BhY2luZyhsb2dDbHVzdGVyc0luZGV4KTsKLSAgICAgICAgICAgIH0KLQot
ICAgICAgICAgICAgbV9nbHlwaHMxNltpXSA9IG1faXRlbS5nbHlwaHNbaV07Ci0gICAgICAgICAg
ICBkb3VibGUgb2Zmc2V0WCA9IHRydW5jYXRlRml4ZWRQb2ludFRvSW50ZWdlcihtX2l0ZW0ub2Zm
c2V0c1tpXS54KTsKLSAgICAgICAgICAgIG1feFBvc2l0aW9uc1tpXSA9IG1fb2Zmc2V0WCArIHBv
c2l0aW9uICsgb2Zmc2V0WDsKLQotICAgICAgICAgICAgd2hpbGUgKGxvZ0NsdXN0ZXJzSW5kZXgg
PiAwICYmIGxvZ0NsdXN0ZXJzKClbbG9nQ2x1c3RlcnNJbmRleF0gPT0gaSkKLSAgICAgICAgICAg
ICAgICBsb2dDbHVzdGVyc0luZGV4LS07Ci0KLSAgICAgICAgICAgIGlmICghbV9jdXJyZW50Rm9u
dERhdGEtPmlzWmVyb1dpZHRoU3BhY2VHbHlwaChtX2dseXBoczE2W2ldKSkKLSAgICAgICAgICAg
ICAgICBwb3NpdGlvbiArPSB0cnVuY2F0ZUZpeGVkUG9pbnRUb0ludGVnZXIobV9pdGVtLmFkdmFu
Y2VzW2ldKTsKLSAgICAgICAgfQotICAgIH0gZWxzZSB7Ci0gICAgICAgIGZvciAoc2l6ZV90IGkg
PSAwOyBpIDwgbV9pdGVtLm51bV9nbHlwaHM7ICsraSkgewotICAgICAgICAgICAgbV9nbHlwaHMx
NltpXSA9IG1faXRlbS5nbHlwaHNbaV07Ci0gICAgICAgICAgICBkb3VibGUgb2Zmc2V0WCA9IHRy
dW5jYXRlRml4ZWRQb2ludFRvSW50ZWdlcihtX2l0ZW0ub2Zmc2V0c1tpXS54KTsKLSAgICAgICAg
ICAgIG1feFBvc2l0aW9uc1tpXSA9IG1fb2Zmc2V0WCArIHBvc2l0aW9uICsgb2Zmc2V0WDsKKyAg
ICAvLyBJdGVyYXRlIHRocm91Z2ggdGhlIGdseXBocyBpbiBsb2dpY2FsIG9yZGVyLCBmbGlwcGlu
ZyBmb3IgUlRMIHdoZXJlIG5lY2Vzc2FyeS4KKyAgICAvLyBJbiBSVEwgbW9kZSBhbGwgdmFyaWFi
bGVzIGFyZSBwb3NpdGl2ZSBleGNlcHQgbV94UG9zaXRpb25zLCB3aGljaCBzdGFydHMgZnJvbSBt
X29mZnNldFggYW5kIHJ1bnMgbmVnYXRpdmUuCisgICAgLy8gSXQgaXMgZml4ZWQgdXAgaW4gYSBz
ZWNvbmQgcGFzcyBiZWxvdy4KKyAgICBmb3IgKHNpemVfdCBpID0gMDsgaSA8IG1faXRlbS5udW1f
Z2x5cGhzOyArK2kpIHsKKyAgICAgICAgd2hpbGUgKHN0YXRpY19jYXN0PHVuc2lnbmVkPihsb2dD
bHVzdGVyc0luZGV4KSA8IG1faXRlbS5pdGVtLmxlbmd0aCAmJiBsb2dDbHVzdGVycygpW2xvZ0Ns
dXN0ZXJzSW5kZXhdIDwgaSkKKyAgICAgICAgICAgIGxvZ0NsdXN0ZXJzSW5kZXgrKzsKIAotICAg
ICAgICAgICAgaWYgKG1fY3VycmVudEZvbnREYXRhLT5pc1plcm9XaWR0aFNwYWNlR2x5cGgobV9n
bHlwaHMxNltpXSkpCi0gICAgICAgICAgICAgICAgY29udGludWU7CisgICAgICAgIC8vIElmIHRo
ZSBjdXJyZW50IGdseXBoIGlzIGp1c3QgYWZ0ZXIgYSBzcGFjZSwgYWRkIGluIHRoZSB3b3JkIHNw
YWNpbmcuCisgICAgICAgIHBvc2l0aW9uICs9IGRldGVybWluZVdvcmRCcmVha1NwYWNpbmcobG9n
Q2x1c3RlcnNJbmRleCk7CiAKLSAgICAgICAgICAgIGRvdWJsZSBhZHZhbmNlID0gdHJ1bmNhdGVG
aXhlZFBvaW50VG9JbnRlZ2VyKG1faXRlbS5hZHZhbmNlc1tpXSk7CisgICAgICAgIG1fZ2x5cGhz
MTZbaV0gPSBtX2l0ZW0uZ2x5cGhzW2ldOworICAgICAgICBkb3VibGUgb2Zmc2V0WCA9IHRydW5j
YXRlRml4ZWRQb2ludFRvSW50ZWdlcihtX2l0ZW0ub2Zmc2V0c1tpXS54KTsKKyAgICAgICAgZG91
YmxlIGFkdmFuY2UgPSB0cnVuY2F0ZUZpeGVkUG9pbnRUb0ludGVnZXIobV9pdGVtLmFkdmFuY2Vz
W2ldKTsKKyAgICAgICAgaWYgKGlzUlRMKQorICAgICAgICAgICAgb2Zmc2V0WCAtPSBhZHZhbmNl
OwogCi0gICAgICAgICAgICBhZHZhbmNlICs9IGRldGVybWluZVdvcmRCcmVha1NwYWNpbmcobG9n
Q2x1c3RlcnNJbmRleCk7CisgICAgICAgIG1feFBvc2l0aW9uc1tpXSA9IG1fb2Zmc2V0WCArIChw
b3NpdGlvbiAqIHJ0bEZsaXApICsgb2Zmc2V0WDsKIAotICAgICAgICAgICAgaWYgKG1faXRlbS5h
dHRyaWJ1dGVzW2ldLmNsdXN0ZXJTdGFydCkKLSAgICAgICAgICAgICAgICBhZHZhbmNlICs9IG1f
bGV0dGVyU3BhY2luZzsKKyAgICAgICAgaWYgKG1fY3VycmVudEZvbnREYXRhLT5pc1plcm9XaWR0
aFNwYWNlR2x5cGgobV9nbHlwaHMxNltpXSkpCisgICAgICAgICAgICBjb250aW51ZTsKIAotICAg
ICAgICAgICAgd2hpbGUgKHN0YXRpY19jYXN0PHVuc2lnbmVkPihsb2dDbHVzdGVyc0luZGV4KSA8
IG1faXRlbS5pdGVtLmxlbmd0aCAmJiBsb2dDbHVzdGVycygpW2xvZ0NsdXN0ZXJzSW5kZXhdID09
IGkpCi0gICAgICAgICAgICAgICAgbG9nQ2x1c3RlcnNJbmRleCsrOworICAgICAgICAvLyBBdCB0
aGUgZW5kIG9mIGVhY2ggY2x1c3RlciwgYWRkIGluIHRoZSBsZXR0ZXIgc3BhY2luZy4KKyAgICAg
ICAgaWYgKGkgKyAxID09IG1faXRlbS5udW1fZ2x5cGhzIHx8IG1faXRlbS5hdHRyaWJ1dGVzW2kg
KyAxXS5jbHVzdGVyU3RhcnQpCisgICAgICAgICAgICBwb3NpdGlvbiArPSBtX2xldHRlclNwYWNp
bmc7CiAKLSAgICAgICAgICAgIHBvc2l0aW9uICs9IGFkdmFuY2U7CisgICAgICAgIHBvc2l0aW9u
ICs9IGFkdmFuY2U7CisgICAgfQorICAgIGNvbnN0IGRvdWJsZSB3aWR0aCA9IHBvc2l0aW9uOwor
CisgICAgLy8gTm93IHRoYXQgd2UndmUgY29tcHV0ZWQgdGhlIHRvdGFsIHdpZHRoLCBkbyBhbm90
aGVyIHBhc3MgdG8gZml4IHBvc2l0aW9uaW5nIGZvciBSVEwuCisgICAgaWYgKGlzUlRMKSB7Cisg
ICAgICAgIGZvciAoc2l6ZV90IGkgPSAwOyBpIDwgbV9pdGVtLm51bV9nbHlwaHM7ICsraSkgewor
ICAgICAgICAgICAgbV94UG9zaXRpb25zW2ldICs9IHdpZHRoOwogICAgICAgICB9CiAgICAgfQot
ICAgIG1fcGl4ZWxXaWR0aCA9IHN0ZDo6bWF4KHBvc2l0aW9uLCAwLjApOworCisgICAgbV9waXhl
bFdpZHRoID0gc3RkOjptYXgod2lkdGgsIDAuMCk7CiAgICAgbV9vZmZzZXRYICs9IG1fcGl4ZWxX
aWR0aDsKIH0KIAo=
</data>
<flag name="review"
          id="69725"
          type_id="1"
          status="+"
          setter="tony"
    />
          </attachment>
      

    </bug>

</bugzilla>