<?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>23605</bug_id>
          
          <creation_ts>2009-01-28 15:50:10 -0800</creation_ts>
          <short_desc>positionForCoordinates() cursor placement does not match IE/FF</short_desc>
          <delta_ts>2009-02-13 11:27:02 -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>HTML Editing</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Mac</rep_platform>
          <op_sys>OS X 10.5</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>DUPLICATE</resolution>
          <dup_id>23607</dup_id>
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          <dependson>23607</dependson>
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Eric Seidel (no email)">eric</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>jparent</cc>
    
    <cc>justin.garcia</cc>
    
    <cc>ojan</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>107422</commentid>
    <comment_count>0</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2009-01-28 15:50:10 -0800</bug_when>
    <thetext>positionForCoordinates() cursor placement does not match IE/FF

If you click above/blow a line of text in an editable region, we place the cursor at the start or end of that line.  FF and IE both do what Word/TextMate do, and place the cursor at the corresponding x offset in the line.  TextEdit matches our behavior and places the cursor at the end of the line.

In addition, we decided to test padding/margin behavior while here, and found that FF and IE and Safari all disagree:

// When clicking between divs separated by margins in an editable
// text region, the browsers differ in behavior:
// FF3: vertical padding box + some sort of overhang decent?
// IE6/IE7: vertical padding box
// IE8 b2: margin box
// Safari3: margin box (but cursor goes at end of line)

We&apos;ve fully shaved the yak, and written the end-all-be-all of clicking test cases.  See attached.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>107423</commentid>
    <comment_count>1</comment_count>
      <attachid>27130</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2009-01-28 15:51:24 -0800</bug_when>
    <thetext>Created attachment 27130
test case (js only, needs to be in editing/selection/resources)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>107434</commentid>
    <comment_count>2</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2009-01-28 16:16:30 -0800</bug_when>
    <thetext>This can be fixed at the same time as fixing bug 23607.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>109709</commentid>
    <comment_count>3</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2009-02-13 11:27:02 -0800</bug_when>
    <thetext>This will be fixed by bug 23607, duping.

*** This bug has been marked as a duplicate of 23607 ***</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>27130</attachid>
            <date>2009-01-28 15:51:24 -0800</date>
            <delta_ts>2009-01-28 15:51:24 -0800</delta_ts>
            <desc>test case (js only, needs to be in editing/selection/resources)</desc>
            <filename>click-in-margins-inside-editable-div.js</filename>
            <type>application/x-javascript</type>
            <size>4170</size>
            <attacher name="Eric Seidel (no email)">eric</attacher>
            
              <data encoding="base64">ZGVzY3JpcHRpb24oIiIpCgpkb2N1bWVudC5ib2R5LnN0eWxlLm1hcmdpbiA9IDA7Cgp2YXIgZGl2
ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7CmRpdi5zdHlsZS5jc3NUZXh0ID0gImZv
bnQtZmFtaWx5OiBhaGVtOyBmb250LXNpemU6IDIwcHg7IC13ZWJraXQtdGV4dC1maWxsLWNvbG9y
OiB5ZWxsb3c7IHdpZHRoOiA0MHB4OyBoZWlnaHQ6IDE5MHB4OyBwYWRkaW5nOiAyMHB4OyBiYWNr
Z3JvdW5kLWNvbG9yOiBncmVlbjsiOwpkaXYuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKCnZhciBm
aXJzdFRleHQgPSBkb2N1bWVudC5jcmVhdGVUZXh0Tm9kZSgiWFgiKTsKdmFyIGZpcnN0RGl2ID0g
ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7CmZpcnN0RGl2LmFwcGVuZENoaWxkKGZpcnN0
VGV4dCk7CmZpcnN0RGl2LnN0eWxlLmNzc1RleHQgPSAicGFkZGluZy1ib3R0b206IDE5cHg7IGJv
cmRlci1ib3R0b206IDFweCBzb2xpZCBwaW5rOyBtYXJnaW4tYm90dG9tOiAyMHB4IjsKZGl2LmFw
cGVuZENoaWxkKGZpcnN0RGl2KTsKCnZhciBzZWNvbmRUZXh0ID0gZG9jdW1lbnQuY3JlYXRlVGV4
dE5vZGUoIllZIik7CnZhciBzZWNvbmREaXYgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYi
KTsKc2Vjb25kRGl2LnN0eWxlLmNzc1RleHQgPSAibWFyZ2luLXRvcDogNTBweCI7CnNlY29uZERp
di5hcHBlbmRDaGlsZChzZWNvbmRUZXh0KTsKZGl2LmFwcGVuZENoaWxkKHNlY29uZERpdik7Cgpk
b2N1bWVudC5ib2R5Lmluc2VydEJlZm9yZShkaXYsIGRvY3VtZW50LmJvZHkuZmlyc3RDaGlsZCk7
CgpmdW5jdGlvbiBvYmplY3RBc1N0cmluZyhvYmplY3QsIHByb3BlcnRpZXMpIHsKICAgIHZhciBy
ZXN1bHQgPSAiWyI7CiAgICBmb3IgKHZhciB4ID0gMDsgeCA8IHByb3BlcnRpZXMubGVuZ3RoOyB4
KyspIHsKICAgICAgICB2YXIgcHJvcGVydHkgPSBwcm9wZXJ0aWVzW3hdOwogICAgICAgIGlmICh4
ICE9IDApCiAgICAgICAgICAgIHJlc3VsdCArPSAiICI7CgogICAgICAgIHZhciB2YWx1ZSA9IG9i
amVjdFtwcm9wZXJ0eV07CiAgICAgICAgaWYgKHZhbHVlICYmIHZhbHVlLm5vZGVUeXBlKSAvLyB0
ZXh0Tm9kZQogICAgICAgICAgICB2YWx1ZSA9IHZhbHVlICsgIiggIiArIHZhbHVlLm5vZGVWYWx1
ZSArICIgKSI7CgogICAgICAgIHJlc3VsdCArPSBwcm9wZXJ0eSArICI6ICIgKyB2YWx1ZTsKICAg
IH0KICAgIHJlc3VsdCArPSAnXSc7CiAgICByZXR1cm4gcmVzdWx0Owp9CgpmdW5jdGlvbiBzZWxl
Y3Rpb25Bc1N0cmluZyhzZWwpCnsKICAgIHZhciBwcm9wZXJ0aWVzID0gWydhbmNob3JOb2RlJywg
J2FuY2hvck9mZnNldCcsICdmb2N1c05vZGUnLCAnZm9jdXNPZmZzZXQnLCAnaXNDb2xsYXBzZWQn
XTsgICAKICAgIHJldHVybiBvYmplY3RBc1N0cmluZyhzZWwsIHByb3BlcnRpZXMpOwp9CgpmdW5j
dGlvbiBhc3NlcnRSYW5nZShub2RlLCBvZmZzZXQpIHsKICAgIHZhciBzZWwgPSB3aW5kb3cuZ2V0
U2VsZWN0aW9uKCk7CiAgICBpZiAoc2VsLmFuY2hvck5vZGUgPT0gbm9kZQogICAgICAgICYmIHNl
bC5mb2N1c05vZGUgPT0gbm9kZQogICAgICAgICYmIHNlbC5hbmNob3JPZmZzZXQgPT0gb2Zmc2V0
CiAgICAgICAgJiYgc2VsLmZvY3VzT2Zmc2V0ID09IG9mZnNldAogICAgICAgICYmIHNlbC5pc0Nv
bGxhcHNlZCkgewogICAgICAgIHRlc3RQYXNzZWQoIlNlbGVjdGlvbiBpcyBhdCBub2RlOiAiICsg
bm9kZSArICIgb2Zmc2V0OiAiICsgb2Zmc2V0KTsKICAgIH0gZWxzZSB7CiAgICAgICAgdGVzdEZh
aWxlZCgiU2VsZWN0aW9uIGlzICIgKyBzZWxlY3Rpb25Bc1N0cmluZyhzZWwpICsgIiBzaG91bGQg
YmUgYXQgbm9kZTogIiArIG5vZGUgKyAiIG9mZnNldDogIiArIG9mZnNldCk7CiAgICB9CiAgICAK
fQoKZnVuY3Rpb24gY2xpY2soeCwgeSkgewogICAgaWYgKHdpbmRvdy5ldmVudFNlbmRlcikgewog
ICAgICAgIGV2ZW50U2VuZGVyLm1vdXNlTW92ZVRvKHgsIHkpOwogICAgICAgIGV2ZW50U2VuZGVy
Lm1vdXNlRG93bigpOwogICAgICAgIGV2ZW50U2VuZGVyLm1vdXNlVXAoKTsKICAgICAgICByZXR1
cm4gdHJ1ZTsKICAgIH0KfQoKZnVuY3Rpb24gY2xpY2tTaG91bGRSZXN1bHRJblJhbmdlKHgsIHks
IG5vZGUsIG9mZnNldCkgewogICAgaWYgKHdpbmRvdy5ldmVudFNlbmRlcikgewogICAgICAgIGNs
aWNrKHgsIHkpOwogICAgICAgIGFzc2VydFJhbmdlKG5vZGUsIG9mZnNldCk7CiAgICB9IGVsc2Ug
ewogICAgICAgIHRlc3RzLnB1c2goewogICAgICAgICAgICB0ZXN0RnVuY3Rpb246IGZ1bmN0aW9u
KCkgeyBhc3NlcnRSYW5nZShub2RlLCBvZmZzZXQpOyB9LAogICAgICAgICAgICBjbGlja1N0cmlu
ZzogIiAiICsgeCArICIsICIgKyB5IH0KICAgICAgICApCiAgICB9Cn0KCmZ1bmN0aW9uIHByaW50
Q2xpY2tTdHJpbmdGb3JXYWl0aW5nVGVzdCgpCnsKICAgIGlmICghdGVzdHNbdGVzdEluZGV4XSkK
ICAgICAgICByZXR1cm47CiAgICBkZWJ1ZygiV2FpdGluZyBmb3IgY2xpY2sgQCAiICsgdGVzdHNb
dGVzdEluZGV4XS5jbGlja1N0cmluZyk7Cn0KCnZhciB0ZXN0SW5kZXggPSAwOwp2YXIgdGVzdHMg
PSBbXTsKZnVuY3Rpb24gcnVuSW50ZXJhY3RpdmVUZXN0c0lmTmVlZGVkKCkKewogICAgdGVzdElu
ZGV4ID0gMDsKICAgIHByaW50Q2xpY2tTdHJpbmdGb3JXYWl0aW5nVGVzdCgpOwogICAgZG9jdW1l
bnQuYm9keS5hZGRFdmVudExpc3RlbmVyKCJtb3VzZXVwIiwgZnVuY3Rpb24oKSB7CiAgICAgICAg
ZGVidWcoIkdvdCBjbGljayBAICIgKyBldmVudC5jbGllbnRYICsgIiwgIiArIGV2ZW50LmNsaWVu
dFkpOwogICAgICAgIHZhciB0ZXN0ID0gdGVzdHNbdGVzdEluZGV4XTsKICAgICAgICBpZiAodGVz
dCkgewogICAgICAgICAgICB0ZXN0LnRlc3RGdW5jdGlvbigpOwogICAgICAgICAgICB0ZXN0SW5k
ZXgrKzsKICAgICAgICAgICAgcHJpbnRDbGlja1N0cmluZ0ZvcldhaXRpbmdUZXN0KCk7CiAgICAg
ICAgfQogICAgfSwgZmFsc2UpOwp9CgovLyBXaGVuIGNsaWNraW5nIGJldHdlZW4gZGl2cyBzZXBh
cmF0ZWQgYnkgbWFyZ2lucyBpbiBhbiBlZGl0YWJsZQovLyB0ZXh0IHJlZ2lvbiwgdGhlIGJyb3dz
ZXJzIGRpZmZlciBpbiBiZWhhdmlvcjoKLy8gRkYzOiB2ZXJ0aWNhbCBwYWRkaW5nIGJveCArIHNv
bWUgc29ydCBvZiBvdmVyaGFuZyBkZWNlbnQ/Ci8vIElFNi9JRTc6IHZlcnRpY2FsIHBhZGRpbmcg
Ym94Ci8vIElFOCBiMjogbWFyZ2luIGJveAovLyBTYWZhcmkzOiBtYXJnaW4gYm94IChidXQgY3Vy
c29yIGdvZXMgYXQgZW5kIG9mIGxpbmUpCgpjbGlja1Nob3VsZFJlc3VsdEluUmFuZ2UoMTAsIDEw
LCBmaXJzdFRleHQsIDApOwpjbGlja1Nob3VsZFJlc3VsdEluUmFuZ2UoNDAsIDEwLCBmaXJzdFRl
eHQsIDEpOwpjbGlja1Nob3VsZFJlc3VsdEluUmFuZ2UoNzAsIDEwLCBmaXJzdFRleHQsIDIpOwoK
Y2xpY2tTaG91bGRSZXN1bHRJblJhbmdlKDEwLCAzMCwgZmlyc3RUZXh0LCAwKTsKY2xpY2tTaG91
bGRSZXN1bHRJblJhbmdlKDcwLCAzMCwgZmlyc3RUZXh0LCAyKTsKCmNsaWNrU2hvdWxkUmVzdWx0
SW5SYW5nZSgxMCwgNTAsIGZpcnN0VGV4dCwgMCk7CmNsaWNrU2hvdWxkUmVzdWx0SW5SYW5nZSg0
MCwgNTAsIGZpcnN0VGV4dCwgMSk7CmNsaWNrU2hvdWxkUmVzdWx0SW5SYW5nZSg3MCwgNTAsIGZp
cnN0VGV4dCwgMik7CgovLyBXZSdyZSBnb2luZyB0byBmb2xsb3cgSUUgNydzIGJlaGF2aW9yIGFu
ZCB1c2UgdGhlIHBhZGRpbmcgYm94IGhlaWdodAovLyBmb3IgZGV0ZXJtaW5pbmcgaWYgdGhlIGNs
aWNrIGJlbG93IGEgZGl2IChpbiB0aGUgcGFkZGluZy9tYXJnaW4gcmVnaW9uKQpjbGlja1Nob3Vs
ZFJlc3VsdEluUmFuZ2UoMTAsIDcwLCBzZWNvbmRUZXh0LCAwKTsKY2xpY2tTaG91bGRSZXN1bHRJ
blJhbmdlKDQwLCA3MCwgc2Vjb25kVGV4dCwgMSk7CmNsaWNrU2hvdWxkUmVzdWx0SW5SYW5nZSg3
MCwgNzAsIHNlY29uZFRleHQsIDIpOwoKY2xpY2tTaG91bGRSZXN1bHRJblJhbmdlKDEwLCAxMTAs
IHNlY29uZFRleHQsIDApOwpjbGlja1Nob3VsZFJlc3VsdEluUmFuZ2UoNDAsIDExMCwgc2Vjb25k
VGV4dCwgMSk7CmNsaWNrU2hvdWxkUmVzdWx0SW5SYW5nZSg3MCwgMTEwLCBzZWNvbmRUZXh0LCAy
KTsKCnJ1bkludGVyYWN0aXZlVGVzdHNJZk5lZWRlZCgpOwoKdmFyIHN1Y2Nlc3NmdWxseVBhcnNl
ZCA9IHRydWU7
</data>

          </attachment>
      

    </bug>

</bugzilla>