<?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>98876</bug_id>
          
          <creation_ts>2012-10-10 01:02:29 -0700</creation_ts>
          <short_desc>[Qt] REGRESSION (r130851): fast/text/word-space-with-kerning.html fails</short_desc>
          <delta_ts>2012-10-23 05:12:14 -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>Tools / Tests</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>
          
          <blocked>79666</blocked>
    
    <blocked>98317</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Zoltan Arvai">zarvai</reporter>
          <assigned_to name="Allan Sandfeld Jensen">allan.jensen</assigned_to>
          <cc>allan.jensen</cc>
    
    <cc>enrica</cc>
    
    <cc>hausmann</cc>
    
    <cc>mitz</cc>
    
    <cc>noam</cc>
    
    <cc>ossy</cc>
    
    <cc>pierre.rossi</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>738702</commentid>
    <comment_count>0</comment_count>
    <who name="Zoltan Arvai">zarvai</who>
    <bug_when>2012-10-10 01:02:29 -0700</bug_when>
    <thetext>fast/text/word-space-with-kerning.html looks differently from reference html after r130851:
http://build.webkit.org/results/Qt%20Linux%20Release/r130865%20%2853124%29/results.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>738716</commentid>
    <comment_count>1</comment_count>
    <who name="Zoltan Arvai">zarvai</who>
    <bug_when>2012-10-10 01:13:02 -0700</bug_when>
    <thetext>An other bot that stores results for longer time:
http://build.webkit.sed.hu/results/x86-64%20Linux%20Qt%20Release/r130851%20%2843632%29/results.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>738738</commentid>
    <comment_count>2</comment_count>
    <who name="Zoltan Arvai">zarvai</who>
    <bug_when>2012-10-10 01:36:15 -0700</bug_when>
    <thetext>Skipped on Qt in https://trac.webkit.org/changeset/130873.
Please unskip it with the proper fix.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>748417</commentid>
    <comment_count>3</comment_count>
    <who name="Allan Sandfeld Jensen">allan.jensen</who>
    <bug_when>2012-10-23 02:39:18 -0700</bug_when>
    <thetext>It seems the problem is that our version of Font::floatWidthForComplexText, when used on a string such as &quot; b &quot;, applies word-spacing both before and after the word, while the layout assumes we only apply word-spacing once.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>748441</commentid>
    <comment_count>4</comment_count>
      <attachid>170104</attachid>
    <who name="Allan Sandfeld Jensen">allan.jensen</who>
    <bug_when>2012-10-23 03:04:27 -0700</bug_when>
    <thetext>Created attachment 170104
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>748447</commentid>
    <comment_count>5</comment_count>
    <who name="Allan Sandfeld Jensen">allan.jensen</who>
    <bug_when>2012-10-23 03:11:38 -0700</bug_when>
    <thetext>Btw, quick note. The problem is only related to kerning because kerning enables complex font-path. The problem happens in many more similar cases if we disable simple font-path completely and always choose complex. 

This means more tests are likely to have been influence by this bug if they caused complex font-path due to some other mechanism.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>748483</commentid>
    <comment_count>6</comment_count>
      <attachid>170104</attachid>
    <who name="Simon Hausmann">hausmann</who>
    <bug_when>2012-10-23 04:21:09 -0700</bug_when>
    <thetext>Comment on attachment 170104
Patch

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

&gt; Source/WebCore/platform/graphics/qt/FontQt.cpp:216
&gt; +    // RenderBlockLineLayout expects us to only add word-spacing for trailing spaces, not for leading spaces.
&gt; +    if (treatAsSpace(run[0]))
&gt; +        return width + run.expansion() - m_wordSpacing;

Where do you find that logic in the simple text code path?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>748505</commentid>
    <comment_count>7</comment_count>
    <who name="Allan Sandfeld Jensen">allan.jensen</who>
    <bug_when>2012-10-23 04:52:56 -0700</bug_when>
    <thetext>(In reply to comment #6)
&gt; (From update of attachment 170104 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=170104&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/platform/graphics/qt/FontQt.cpp:216
&gt; &gt; +    // RenderBlockLineLayout expects us to only add word-spacing for trailing spaces, not for leading spaces.
&gt; &gt; +    if (treatAsSpace(run[0]))
&gt; &gt; +        return width + run.expansion() - m_wordSpacing;
&gt; 
&gt; Where do you find that logic in the simple text code path?

I didn&apos;t find it, I just instrumented the code to call both and dumped the results.

&quot;A&quot; was 17px wide by both
&quot; A&quot; was 83px wide by complex, and 23px by simple
&quot; A &quot; was 149px wide by complex, and 89px by simple.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>748508</commentid>
    <comment_count>8</comment_count>
      <attachid>170104</attachid>
    <who name="Simon Hausmann">hausmann</who>
    <bug_when>2012-10-23 04:59:01 -0700</bug_when>
    <thetext>Comment on attachment 170104
Patch

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

&gt;&gt;&gt; Source/WebCore/platform/graphics/qt/FontQt.cpp:216
&gt;&gt;&gt; +        return width + run.expansion() - m_wordSpacing;
&gt;&gt; 
&gt;&gt; Where do you find that logic in the simple text code path?
&gt; 
&gt; I didn&apos;t find it, I just instrumented the code to call both and dumped the results.
&gt; 
&gt; &quot;A&quot; was 17px wide by both
&gt; &quot; A&quot; was 83px wide by complex, and 23px by simple
&gt; &quot; A &quot; was 149px wide by complex, and 89px by simple.

Indeed, that logic existed before r113968 and in that revision was moved into FontQt4.cpp, but it&apos;s missing here.

I personally would prefer if it was written like before also:

    if (treatAsSpace(run[0]))
        width -= m_wordSpacing

and then share the return:

    return width + run.expansion();

But the change seems correct.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>748521</commentid>
    <comment_count>9</comment_count>
    <who name="Allan Sandfeld Jensen">allan.jensen</who>
    <bug_when>2012-10-23 05:12:14 -0700</bug_when>
    <thetext>Committed r132205: &lt;http://trac.webkit.org/changeset/132205&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>170104</attachid>
            <date>2012-10-23 03:04:27 -0700</date>
            <delta_ts>2012-10-23 04:59:00 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-98876-20121023120244.patch</filename>
            <type>text/plain</type>
            <size>3489</size>
            <attacher name="Allan Sandfeld Jensen">allan.jensen</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTMyMDg2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNzZhYThjNDEwM2JkZDc5
MDkwZjA4NzM4NDgxMjU3Mjg0NDU4ZDA5Mi4uZmUzNDU2YTdmNTUwMDMyNjQ1ZTZlYjYxODVkYjAw
NmQyYWQzMzkxMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE3IEBACisyMDEyLTEwLTIzICBBbGxh
biBTYW5kZmVsZCBKZW5zZW4gIDxhbGxhbi5qZW5zZW5AZGlnaWEuY29tPgorCisgICAgICAgIFtR
dF0gUkVHUkVTU0lPTiAocjEzMDg1MSk6IGZhc3QvdGV4dC93b3JkLXNwYWNlLXdpdGgta2Vybmlu
Zy5odG1sIGZhaWxzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD05ODg3NgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAg
ICAgIERvIG5vdCBhZGQgd29yZC1zcGFjaW5nIGZvciBsZWFkaW5nIHNwYWNlLiBUaGlzIG1hdGNo
ZXMgd2hhdCBzaW1wbGUgcGF0aCBmb250LXdpZHRoIGRvZXMuCisKKyAgICAgICAgVGVzdGVkIGJ5
IGV4aXN0aW5nIHRlc3RzLgorCisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvcXQvRm9udFF0
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkZvbnQ6OmZsb2F0V2lkdGhGb3JDb21wbGV4VGV4dCk6
CisKIDIwMTItMTAtMjIgIFZzZXZvbG9kIFZsYXNvdiAgPHZzZXZpa0BjaHJvbWl1bS5vcmc+CiAK
ICAgICAgICAgV2ViIEluc3BlY3RvcjogUHJlcGFyZSBtYXBwaW5ncyB0byBtb3ZpbmcgdWlTb3Vy
Y2VDb2RlcyBjcmVhdGlvbiBvdXQgb2YgdGhlbSB0byB3b3Jrc3BhY2UuCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9xdC9Gb250UXQuY3BwIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvcXQvRm9udFF0LmNwcAppbmRleCBmNWJhY2RkY2MzNWU2
ZTU5ODAzMmY0M2I2NjQwZGE0ODU4ZDM5Y2ZlLi41YjE4ZmJhYmY4N2RlOWIxN2MzMjdlMzQ0YzFh
YzU5MTc0MjJjZGM1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9xdC9Gb250UXQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3F0
L0ZvbnRRdC5jcHAKQEAgLTIxMSw2ICsyMTEsOSBAQCBmbG9hdCBGb250OjpmbG9hdFdpZHRoRm9y
Q29tcGxleFRleHQoY29uc3QgVGV4dFJ1biYgcnVuLCBIYXNoU2V0PGNvbnN0IFNpbXBsZUZvbgog
ICAgIGZsb2F0IHgxID0gbGluZS5jdXJzb3JUb1goMCk7CiAgICAgZmxvYXQgeDIgPSBsaW5lLmN1
cnNvclRvWChydW4ubGVuZ3RoKCkpOwogICAgIGNvbnN0IGZsb2F0IHdpZHRoID0gcUFicyh4MiAt
IHgxKTsKKyAgICAvLyBSZW5kZXJCbG9ja0xpbmVMYXlvdXQgZXhwZWN0cyB1cyB0byBvbmx5IGFk
ZCB3b3JkLXNwYWNpbmcgZm9yIHRyYWlsaW5nIHNwYWNlcywgbm90IGZvciBsZWFkaW5nIHNwYWNl
cy4KKyAgICBpZiAodHJlYXRBc1NwYWNlKHJ1blswXSkpCisgICAgICAgIHJldHVybiB3aWR0aCAr
IHJ1bi5leHBhbnNpb24oKSAtIG1fd29yZFNwYWNpbmc7CiAKICAgICByZXR1cm4gd2lkdGggKyBy
dW4uZXhwYW5zaW9uKCk7CiB9CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9M
YXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggM2EyMzg2MTJmMTk4MmIwZTI0NmEzNjg2ZDE2NjVm
NjAwM2U5ODhiOS4uNDk2ODVmNGM5ZDYwNGQ0OTk5OWFmMjEzMWI3NzM0ZmNlODAxZjJhOCAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwpAQCAtMSwzICsxLDE0IEBACisyMDEyLTEwLTIzICBBbGxhbiBTYW5kZmVsZCBKZW5zZW4gIDxh
bGxhbi5qZW5zZW5AZGlnaWEuY29tPgorCisgICAgICAgIFtRdF0gUkVHUkVTU0lPTiAocjEzMDg1
MSk6IGZhc3QvdGV4dC93b3JkLXNwYWNlLXdpdGgta2VybmluZy5odG1sIGZhaWxzCisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD05ODg3NgorCisgICAgICAg
IFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFVuc2tpcCBwYXNzaW5nIHdv
cmQtd2lkdGggdGVzdHMuCisKKyAgICAgICAgKiBwbGF0Zm9ybS9xdC9UZXN0RXhwZWN0YXRpb25z
OgorCiAyMDEyLTEwLTIyICBWc2V2b2xvZCBWbGFzb3YgIDx2c2V2aWtAY2hyb21pdW0ub3JnPgog
CiAgICAgICAgIFdlYiBJbnNwZWN0b3I6IFByZXBhcmUgbWFwcGluZ3MgdG8gbW92aW5nIHVpU291
cmNlQ29kZXMgY3JlYXRpb24gb3V0IG9mIHRoZW0gdG8gd29ya3NwYWNlLgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvcGxhdGZvcm0vcXQvVGVzdEV4cGVjdGF0aW9ucyBiL0xheW91dFRlc3RzL3Bs
YXRmb3JtL3F0L1Rlc3RFeHBlY3RhdGlvbnMKaW5kZXggNjczMzVkOGQzNzI5ZGQ5ZjYyNDYyMzY4
OTA4ODUwMzBhOGQ2MmVkZi4uY2NiOTA4Mjk5MTJjNGEyNzM0NDg0YzA0MjhmZjc5ZWFiZDg4NTE4
MyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vcXQvVGVzdEV4cGVjdGF0aW9ucwor
KysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9xdC9UZXN0RXhwZWN0YXRpb25zCkBAIC0xNzQwLDcg
KzE3NDAsNiBAQCBmYXN0L3RleHQvd2hpdGVzcGFjZS8wMTYuaHRtbAogZmFzdC90ZXh0L3doaXRl
c3BhY2UvMDI0Lmh0bWwKIGZhc3QvdGV4dC93aWRlLXplcm8td2lkdGgtc3BhY2UuaHRtbAogZmFz
dC90ZXh0L3dvcmQtYnJlYWstc29mdC1oeXBoZW4uaHRtbAotZmFzdC90ZXh0L3dvcmQtc3BhY2Uu
aHRtbAogCiAjIC0tLS0tLS0gZmFpbHVyZXMgZHVlIHRvIG1pc3Npbmcgc3VwcG9ydCBmb3IgcGFy
dGljdWxhciBYU0xUIGZlYXR1cmVzCiAjIHhzbDpvdXRwdXQKQEAgLTE4NjAsMTAgKzE4NTksNiBA
QCBmYXN0L3dyaXRpbmctbW9kZS92ZXJ0aWNhbC1zdWJzdC1mb250LXZlcnQtbm8tZGZsdC5odG1s
CiAjIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD05ODc1MQogZmFzdC94
bWxodHRwcmVxdWVzdC94bWxodHRwcmVxdWVzdC1ub25leGlzdGVudC1maWxlLmh0bWwKIAotIyBb
UXRdIFJFR1JFU1NJT04gKHIxMzA4NTEpOiBmYXN0L3RleHQvd29yZC1zcGFjZS13aXRoLWtlcm5p
bmcuaHRtbCBmYWlscwotIyBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
OTg4NzYKLWZhc3QvdGV4dC93b3JkLXNwYWNlLXdpdGgta2VybmluZy5odG1sCi0KICMgPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0gIwogIyBmYWlsaW5nIHNlY3VyaXR5IHRlc3RzCiAjID09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09ICMK
</data>
<flag name="review"
          id="183597"
          type_id="1"
          status="+"
          setter="hausmann"
    />
          </attachment>
      

    </bug>

</bugzilla>