<?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>5415</bug_id>
          
          <creation_ts>2005-10-18 11:49:26 -0700</creation_ts>
          <short_desc>Left border of selection highlight leaves behind a trail</short_desc>
          <delta_ts>2005-10-25 01:45:49 -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>Layout and Rendering</component>
          <version>420+</version>
          <rep_platform>Mac</rep_platform>
          <op_sys>OS X 10.4</op_sys>
          <bug_status>VERIFIED</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>mitz</reporter>
          <assigned_to name="Dave Hyatt">hyatt</assigned_to>
          <cc>ap</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>22224</commentid>
    <comment_count>0</comment_count>
    <who name="">mitz</who>
    <bug_when>2005-10-18 11:49:26 -0700</bug_when>
    <thetext>Summary: with certain fonts, contracting the selection by moving its start rightwards leaves trails of the 
highlight behind.

To reproduce: open the testcase in Safari. Click and drag in one motion from the end of the line to its 
beginning (extending the selection leftwards) and all the way back to the end (contracting the 
selection).

Expected result: no trails left behind.

Actual result: when the left border of the highlight is moving to the right, it leaves behind 1px-wide 
trails.

I think this happens because the clipping rect for the redraw is determined by WebCore using integral 
coordinates and drawing the highlight is done in WebTextRenderer using non-integral coordinates (or 
perhaps applying a different rounding rule).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>22226</commentid>
    <comment_count>1</comment_count>
      <attachid>4402</attachid>
    <who name="">mitz</who>
    <bug_when>2005-10-18 11:50:49 -0700</bug_when>
    <thetext>Created attachment 4402
testcase</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>22548</commentid>
    <comment_count>2</comment_count>
      <attachid>4448</attachid>
    <who name="">mitz</who>
    <bug_when>2005-10-23 09:13:41 -0700</bug_when>
    <thetext>Created attachment 4448
extended testcase

Added RTL case.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>22549</commentid>
    <comment_count>3</comment_count>
      <attachid>4449</attachid>
    <who name="">mitz</who>
    <bug_when>2005-10-23 09:25:31 -0700</bug_when>
    <thetext>Created attachment 4449
proposed patch

This patch fixes the trails bug in the CoreGraphics code path for LTR and RTL
text (highlighting for RTL text was entirely broken very recently) and in the
ATSUI code path for LTR text (highlighting and hit-testing RTL text in the
ATSUI path is broken and I&apos;ll open a separate bug for it. I already have a
patch).

This patch eliminates the single-character-range special case in the rounding
hack. One layout test is affected:
fast/text/international/bidi-explicit-embedding . The new results should
replace the current expected results.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>22793</commentid>
    <comment_count>4</comment_count>
      <attachid>4449</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2005-10-23 15:25:44 -0700</bug_when>
    <thetext>Comment on attachment 4449
proposed patch

Looks good. r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>22826</commentid>
    <comment_count>5</comment_count>
    <who name="David Harrison">harrison</who>
    <bug_when>2005-10-24 12:40:10 -0700</bug_when>
    <thetext>Committed.  Test case added as WebCore/manual-tests/drag_select_highlighting.html</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="0"
              isprivate="0"
          >
            <attachid>4402</attachid>
            <date>2005-10-18 11:50:49 -0700</date>
            <delta_ts>2005-10-23 09:13:41 -0700</delta_ts>
            <desc>testcase</desc>
            <filename>highlighting.html</filename>
            <type>text/html</type>
            <size>325</size>
            <attacher>mitz</attacher>
            
              <data encoding="base64">PGh0bWw+CjxoZWFkPgo8dGl0bGU+SGlnaGxpZ2h0IGxlYXZlcyB0cmFpbHM8L3RpdGxlPgo8L2hl
YWQ+Cjxib2R5Pgo8cD5EcmFnIGFjcm9zcyB0aGUgZm9sbG93aW5nIGxpbmUgZnJvbSByaWdodCB0
byBsZWZ0IGFuZCBhbGwgdGhlIHdheSBiYWNrLjwvcD4KPHAgc3R5bGU9ImZvbnQtZmFtaWx5OidM
dWNpZGEgR3JhbmRlJzsgZm9udC1zaXplOjEycHg7Ij4KQ3VyYWJpdHVyIHByZXRpdW0sIHF1YW0g
cXVpcyBzZW1wZXIgbWFsZXN1YWRhLCBlc3QgbGliZXJvIGZldWdpYXQgbGliZXJvLCB2ZWwgZnJp
bmdpbGxhIG9yY2kgbmliaCBzZWQgbmVxdWUuCjwvcD4KPC9ib2R5Pg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>4448</attachid>
            <date>2005-10-23 09:13:41 -0700</date>
            <delta_ts>2005-10-23 09:13:41 -0700</delta_ts>
            <desc>extended testcase</desc>
            <filename>highlight-trails.html</filename>
            <type>text/html</type>
            <size>635</size>
            <attacher>mitz</attacher>
            
              <data encoding="base64">PGh0bWw+CjxoZWFkPgo8dGl0bGU+SGlnaGxpZ2h0IGxlYXZlcyB0cmFpbHM8L3RpdGxlPgo8L2hl
YWQ+Cjxib2R5Pgo8cD5EcmFnIGFjcm9zcyB0aGUgZm9sbG93aW5nIGxpbmUgZnJvbSByaWdodCB0
byBsZWZ0IGFuZCBhbGwgdGhlIHdheSBiYWNrLjwvcD4KPHAgc3R5bGU9ImZvbnQtZmFtaWx5OidM
dWNpZGEgR3JhbmRlJzsgZm9udC1zaXplOjEycHg7Ij4KQ3VyYWJpdHVyIHByZXRpdW0sIHF1YW0g
cXVpcyBzZW1wZXIgbWFsZXN1YWRhLCBlc3QgbGliZXJvIGZldWdpYXQgbGliZXJvLCB2ZWwgZnJp
bmdpbGxhIG9yY2kgbmliaCBzZWQgbmVxdWUuCjwvcD4KPHA+RHJhZyBhY3Jvc3MgdGhlIGZvbGxv
d2luZyBsaW5lIGZyb20gbGVmdCB0byByaWdodCBhbmQgYWxsIHRoZSB3YXkgYmFjay48L3A+Cjxw
IHN0eWxlPSJmb250LWZhbWlseTonTHVjaWRhIEdyYW5kZSc7IGZvbnQtc2l6ZToxMnB4OyB0ZXh0
LWFsaWduOmxlZnQ7IGRpcmVjdGlvbjpydGw7IHVuaWNvZGUtYmlkaTpiaWRpLW92ZXJyaWRlOyI+
CkN1cmFiaXR1ciBwcmV0aXVtLCBxdWFtIHF1aXMgc2VtcGVyIG1hbGVzdWFkYSwgZXN0IGxpYmVy
byBmZXVnaWF0IGxpYmVybywgdmVsIGZyaW5naWxsYSBvcmNpIG5pYmggc2VkIG5lcXVlLgo8L3A+
CjwvYm9keT4=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>4449</attachid>
            <date>2005-10-23 09:25:31 -0700</date>
            <delta_ts>2005-10-23 15:25:44 -0700</delta_ts>
            <desc>proposed patch</desc>
            <filename>5415_r1.patch</filename>
            <type>text/plain</type>
            <size>4266</size>
            <attacher>mitz</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYlRleHRSZW5kZXJlci5tCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KUkNTIGZpbGU6IC9jdnMvcm9vdC9X
ZWJLaXQvV2ViQ29yZVN1cHBvcnQuc3VicHJvai9XZWJUZXh0UmVuZGVyZXIubSx2CnJldHJpZXZp
bmcgcmV2aXNpb24gMS4xOTkKZGlmZiAtcCAtdSAtcjEuMTk5IFdlYlRleHRSZW5kZXJlci5tCi0t
LSBXZWJUZXh0UmVuZGVyZXIubQkyMSBPY3QgMjAwNSAxNjozNToyNSAtMDAwMAkxLjE5OQorKysg
V2ViVGV4dFJlbmRlcmVyLm0JMjMgT2N0IDIwMDUgMTY6MDE6NDQgLTAwMDAKQEAgLTI1MSw3ICsy
NTEsNyBAQCBzdGF0aWMgT1NTdGF0dXMgb3ZlcnJpZGVMYXlvdXRPcGVyYXRpb24oCiAgICAgICAg
ICAgICBsYXN0QWRqdXN0ZWRQb3MgPSBsYXN0QWRqdXN0ZWRQb3MgKyB3aWR0aDsKICAgICAgICAg
ICAgIGlmIChpc1JvdW5kaW5nSGFja0NoYXJhY3RlcihuZXh0Q2gpKQogICAgICAgICAgICAgICAg
IGlmICghaXNMYXN0Q2hhcgotICAgICAgICAgICAgICAgICAgICAgICAgfHwgKHN0eWxlLT5hcHBs
eVJ1blJvdW5kaW5nICYmIChydW4tPmxlbmd0aCA9PSAxIHx8IHJ1bi0+dG8gLSBydW4tPmZyb20g
PiAxKSkKKyAgICAgICAgICAgICAgICAgICAgICAgIHx8IHN0eWxlLT5hcHBseVJ1blJvdW5kaW5n
CiAgICAgICAgICAgICAgICAgICAgICAgICB8fCAocnVuLT50byA8IChpbnQpcnVuLT5sZW5ndGgg
JiYgaXNSb3VuZGluZ0hhY2tDaGFyYWN0ZXIoY2hhcmFjdGVyc1tydW4tPnRvXSkpKQogICAgICAg
ICAgICAgICAgICAgICBsYXN0QWRqdXN0ZWRQb3MgPSBjZWlsZihsYXN0QWRqdXN0ZWRQb3MpOwog
ICAgICAgICAgICAgbGF5b3V0UmVjb3Jkc1tpXS5yZWFsUG9zID0gRmxvYXRUb0ZpeGVkKGxhc3RB
ZGp1c3RlZFBvcyk7CkBAIC04NjUsMTQgKzg2NSwyMCBAQCBzdGF0aWMgdm9pZCBkcmF3R2x5cGhz
KE5TRm9udCAqZm9udCwgTlNDCiAgICAgCiAgICAgYWR2YW5jZVdpZHRoSXRlcmF0b3IoJml0LCBy
dW4tPmZyb20sIDAsIDAsIDApOwogICAgIGZsb2F0IGJlZm9yZVdpZHRoID0gaXQucnVuV2lkdGhT
b0ZhcjsKKyAgICAvLyBhcHBseSByb3VuZGluZyBhcyBpZiB0aGlzIGlzIHRoZSBlbmQgb2YgdGhl
IHJ1biwgc2luY2UgdGhhdCdzIGhvdyBSZW5kZXJUZXh0OjpzZWxlY3Rpb25SZWN0KCkgd29ya3MK
KyAgICBpZiAoKHN0eWxlLT5hcHBseVdvcmRSb3VuZGluZyAmJiBpc1JvdW5kaW5nSGFja0NoYXJh
Y3RlcihydW4tPmNoYXJhY3RlcnNbcnVuLT5mcm9tXSkpCisgICAgICAgICAgICB8fCBzdHlsZS0+
YXBwbHlSdW5Sb3VuZGluZykKKyAgICAgICAgYmVmb3JlV2lkdGggPSBjZWlsZihiZWZvcmVXaWR0
aCk7CiAgICAgYWR2YW5jZVdpZHRoSXRlcmF0b3IoJml0LCBydW4tPnRvLCAwLCAwLCAwKTsKICAg
ICBmbG9hdCBiYWNrZ3JvdW5kV2lkdGggPSBpdC5ydW5XaWR0aFNvRmFyIC0gYmVmb3JlV2lkdGg7
CiAgICAgaWYgKHN0eWxlLT5ydGwpIHsKICAgICAgICAgYWR2YW5jZVdpZHRoSXRlcmF0b3IoJml0
LCBydW4tPmxlbmd0aCwgMCwgMCwgMCk7Ci0gICAgICAgIGZsb2F0IGFmdGVyV2lkdGggPSBpdC5y
dW5XaWR0aFNvRmFyOwotICAgICAgICBbTlNCZXppZXJQYXRoIGZpbGxSZWN0Ok5TTWFrZVJlY3Qo
Z2VvbWV0cnktPnBvaW50LnggKyBhZnRlcldpZHRoLCB5UG9zLCBiYWNrZ3JvdW5kV2lkdGgsIGhl
aWdodCldOworICAgICAgICBmbG9hdCB0b3RhbFdpZHRoID0gaXQucnVuV2lkdGhTb0ZhcjsKKyAg
ICAgICAgaWYgKHN0eWxlLT5hcHBseVJ1blJvdW5kaW5nKQorICAgICAgICAgICAgdG90YWxXaWR0
aCA9IGNlaWxmKHRvdGFsV2lkdGgpOworICAgICAgICBbTlNCZXppZXJQYXRoIGZpbGxSZWN0Ok5T
TWFrZVJlY3QoZ2VvbWV0cnktPnBvaW50LnggKyByb3VuZGYodG90YWxXaWR0aCAtIGJhY2tncm91
bmRXaWR0aCAtIGJlZm9yZVdpZHRoKSwgeVBvcywgcm91bmRmKGJhY2tncm91bmRXaWR0aCksIGhl
aWdodCldOwogICAgIH0gZWxzZSB7Ci0gICAgICAgIFtOU0JlemllclBhdGggZmlsbFJlY3Q6TlNN
YWtlUmVjdChnZW9tZXRyeS0+cG9pbnQueCArIGJlZm9yZVdpZHRoLCB5UG9zLCBiYWNrZ3JvdW5k
V2lkdGgsIGhlaWdodCldOworICAgICAgICBbTlNCZXppZXJQYXRoIGZpbGxSZWN0Ok5TTWFrZVJl
Y3QoZ2VvbWV0cnktPnBvaW50LnggKyByb3VuZGYoYmVmb3JlV2lkdGgpLCB5UG9zLCByb3VuZGYo
YmFja2dyb3VuZFdpZHRoKSwgaGVpZ2h0KV07CiAgICAgfQogfQogCkBAIC0xMzkxLDE1ICsxMzk3
LDE5IEBAIHN0YXRpYyBXZWJDb3JlVGV4dFJ1biBhcHBseU1pcnJvcmluZ1RvUnUKICAgICBlbHNl
IHdoaWxlIChqIDwgY291bnQgLSAxICYmIGxheW91dFJlY29yZHNbal0ub3JpZ2luYWxPZmZzZXQg
Pj0gc2l6ZW9mKFVuaUNoYXIpICogYVJ1bi0+ZnJvbSkKICAgICAgICAgICAgIGorKzsKICAgICAK
LSAgICBmbG9hdCBiYWNrZ3JvdW5kV2lkdGggPSBGaXhlZFRvRmxvYXQobGF5b3V0UmVjb3Jkc1tq
XS5yZWFsUG9zIC0gbGF5b3V0UmVjb3Jkc1tpXS5yZWFsUG9zKTsKKyAgICBmbG9hdCBiZWZvcmVX
aWR0aCA9IEZpeGVkVG9GbG9hdChsYXlvdXRSZWNvcmRzW2ldLnJlYWxQb3MpOworICAgIGlmICgo
c3R5bGUtPmFwcGx5V29yZFJvdW5kaW5nICYmIGlzUm91bmRpbmdIYWNrQ2hhcmFjdGVyKHJ1bi0+
Y2hhcmFjdGVyc1tydW4tPmZyb21dKSkgfHwgc3R5bGUtPmFwcGx5UnVuUm91bmRpbmcpCisgICAg
ICAgIGJlZm9yZVdpZHRoID0gY2VpbGYoYmVmb3JlV2lkdGgpOworICAgIGZsb2F0IGFmdGVyV2lk
dGggPSBGaXhlZFRvRmxvYXQobGF5b3V0UmVjb3Jkc1tqXS5yZWFsUG9zKTsKKyAgICBmbG9hdCBi
YWNrZ3JvdW5kV2lkdGggPSBhZnRlcldpZHRoIC0gYmVmb3JlV2lkdGg7CiAKLSAgICBzZWxlY3Rl
ZExlZnRYID0gZ2VvbWV0cnktPnBvaW50LnggKyBGaXhlZFRvRmxvYXQobGF5b3V0UmVjb3Jkc1tp
XS5yZWFsUG9zKTsKKyAgICBzZWxlY3RlZExlZnRYID0gZ2VvbWV0cnktPnBvaW50LnggKyBiZWZv
cmVXaWR0aDsKICAgICAKICAgICBbc3R5bGUtPmJhY2tncm91bmRDb2xvciBzZXRdOwogCiAgICAg
ZmxvYXQgeVBvcyA9IGdlb21ldHJ5LT51c2VGb250TWV0cmljc0ZvclNlbGVjdGlvbllBbmRIZWln
aHQgPyBnZW9tZXRyeS0+cG9pbnQueSAtIFtzZWxmIGFzY2VudF0gOiBnZW9tZXRyeS0+c2VsZWN0
aW9uWTsKICAgICBmbG9hdCBoZWlnaHQgPSBnZW9tZXRyeS0+dXNlRm9udE1ldHJpY3NGb3JTZWxl
Y3Rpb25ZQW5kSGVpZ2h0ID8gW3NlbGYgbGluZVNwYWNpbmddIDogZ2VvbWV0cnktPnNlbGVjdGlv
bkhlaWdodDsKLSAgICBbTlNCZXppZXJQYXRoIGZpbGxSZWN0Ok5TTWFrZVJlY3Qoc2VsZWN0ZWRM
ZWZ0WCwgeVBvcywgYmFja2dyb3VuZFdpZHRoLCBoZWlnaHQpXTsKKyAgICBbTlNCZXppZXJQYXRo
IGZpbGxSZWN0Ok5TTWFrZVJlY3Qocm91bmRmKHNlbGVjdGVkTGVmdFgpLCB5UG9zLCByb3VuZGYo
YmFja2dyb3VuZFdpZHRoKSwgaGVpZ2h0KV07CiAKICAgICBkaXNwb3NlQVRTVUxheW91dFBhcmFt
ZXRlcnMoJnBhcmFtcyk7CiAKQEAgLTE4NDcsNyArMTg1Nyw3IEBAIHN0YXRpYyB1bnNpZ25lZCBh
ZHZhbmNlV2lkdGhJdGVyYXRvcihXaWQKICAgICAgICAgLy8gQ2hlY2sgdG8gc2VlIGlmIHRoZSBu
ZXh0IGNoYXJhY3RlciBpcyBhICJyb3VuZGluZyBoYWNrIGNoYXJhY3RlciIsIGlmIHNvLCBhZGp1
c3QKICAgICAgICAgLy8gd2lkdGggc28gdGhhdCB0aGUgdG90YWwgcnVuIHdpZHRoIHdpbGwgYmUg
b24gYW4gaW50ZWdlciBib3VuZGFyeS4KICAgICAgICAgaWYgKChzdHlsZS0+YXBwbHlXb3JkUm91
bmRpbmcgJiYgY3VycmVudENoYXJhY3RlciA8IHJ1bi0+bGVuZ3RoICYmIGlzUm91bmRpbmdIYWNr
Q2hhcmFjdGVyKCpjcCkpCi0gICAgICAgICAgICAgICAgfHwgKHN0eWxlLT5hcHBseVJ1blJvdW5k
aW5nICYmIGN1cnJlbnRDaGFyYWN0ZXIgPj0gKHVuc2lnbmVkKXJ1bi0+dG8gJiYgKHJ1bi0+bGVu
Z3RoID09IDEgfHwgcnVuLT50byAtIHJ1bi0+ZnJvbSA+IDEpKSkgeworICAgICAgICAgICAgICAg
IHx8IChzdHlsZS0+YXBwbHlSdW5Sb3VuZGluZyAmJiBjdXJyZW50Q2hhcmFjdGVyID49ICh1bnNp
Z25lZClydW4tPnRvKSkgewogICAgICAgICAgICAgZmxvYXQgdG90YWxXaWR0aCA9IGl0ZXJhdG9y
LT53aWR0aFRvU3RhcnQgKyBydW5XaWR0aFNvRmFyICsgd2lkdGg7CiAgICAgICAgICAgICB3aWR0
aCArPSBjZWlsZih0b3RhbFdpZHRoKSAtIHRvdGFsV2lkdGg7CiAgICAgICAgIH0K
</data>
<flag name="review"
          id="769"
          type_id="1"
          status="+"
          setter="darin"
    />
          </attachment>
      

    </bug>

</bugzilla>