<?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>29247</bug_id>
          
          <creation_ts>2009-09-14 11:08:08 -0700</creation_ts>
          <short_desc>document.caretRangeFromPoint() should check whether the point is within frameview&apos;s boundary before taking scroll offset into consideration</short_desc>
          <delta_ts>2009-09-14 14:53:54 -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>DOM</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>DUPLICATE</resolution>
          <dup_id>29245</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>
          
          
          <everconfirmed>0</everconfirmed>
          <reporter name="Xiaomei Ji">xji</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>jshin</cc>
    
    <cc>mjs</cc>
    
    <cc>sam</cc>
    
    <cc>xji</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>147114</commentid>
    <comment_count>0</comment_count>
      <attachid>39555</attachid>
    <who name="Xiaomei Ji">xji</who>
    <bug_when>2009-09-14 11:08:08 -0700</bug_when>
    <thetext>Created attachment 39555
caretRangeFromPointWithScroll.html

document.caretRangeFromPoint() might return a null range which should not. 
Please see attached file caretRangeFromPointWithScroll.html for detailed
explanation.

The problem probably is at:
    IntPoint point = roundedIntPoint(FloatPoint(x * zoomFactor, y * zoomFactor)) + view()-&gt;scrollOffset();

    if (!frameView-&gt;boundsRect().contains(point))
        return 0;

Which should be:

    IntPoint point = roundedIntPoint(FloatPoint(x * zoomFactor, y * zoomFactor));

    if (!frameView-&gt;boundsRect().contains(point))
        return 0;

    point += view()-&gt;scrollOffset();
    // Then, hit test.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>147188</commentid>
    <comment_count>1</comment_count>
    <who name="Sam Weinig">sam</who>
    <bug_when>2009-09-14 14:28:06 -0700</bug_when>
    <thetext>Is this a dup of bug 29245?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>147196</commentid>
    <comment_count>2</comment_count>
    <who name="Xiaomei Ji">xji</who>
    <bug_when>2009-09-14 14:53:54 -0700</bug_when>
    <thetext>

*** This bug has been marked as a duplicate of bug 29245 ***</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>39555</attachid>
            <date>2009-09-14 11:08:08 -0700</date>
            <delta_ts>2009-09-14 11:08:08 -0700</delta_ts>
            <desc>caretRangeFromPointWithScroll.html</desc>
            <filename>caretRangeFromPointWithScroll.html</filename>
            <type>text/html</type>
            <size>1537</size>
            <attacher name="Xiaomei Ji">xji</attacher>
            
              <data encoding="base64">PEhUTUw+CjxIRUFEPgo8VElUTEU+ZG9jdW1lbnQuY2FyZXRSYW5nZUZyb21Qb2ludCgpIE1ldGhv
ZDwvVElUTEU+CjxTQ1JJUFQgTEFOR1VBR0U9IkphdmFTY3JpcHQiPgpmdW5jdGlvbiBzaG93RWxl
bVVuZGVybmVhdGhXaXRob3V0U2Nyb2xsKCkgewogICAgZG9jdW1lbnQuYWxsLm15U3Bhbi5pbm5l
clRleHQgPSAiIjsKICAgIHZhciByYW5nZSA9IGRvY3VtZW50LmNhcmV0UmFuZ2VGcm9tUG9pbnQo
ZXZlbnQuY2xpZW50WCwgZXZlbnQuY2xpZW50WSk7CiAgICB2YXIgb2Zmc2V0ID0gMDsKICAgIGlm
IChyYW5nZSkKICAgICAgb2Zmc2V0ID0gcmFuZ2Uuc3RhcnRPZmZzZXQ7CiAgICBlbHNlIHsKICAg
ICAgYWxlcnQoInJhbmdlIGlzIG51bGwiKTsKICAgICAgcmV0dXJuOwogICAgfQoKICAgIHZhciBj
aGlsZCA9IGV2ZW50LnRhcmdldC5maXJzdENoaWxkOwogICAgcmFuZ2UgPSBjaGlsZC5vd25lckRv
Y3VtZW50LmNyZWF0ZVJhbmdlKCk7CiAgICByYW5nZS5zZWxlY3ROb2RlKGNoaWxkKTsKICAgIHZh
ciBzdHIgPSByYW5nZS50b1N0cmluZygpOwoKICAgIGRvY3VtZW50LmFsbC5teVNwYW4uaW5uZXJU
ZXh0ID0gIng6ICIgKyBldmVudC5jbGllbnRYICsgIjt5OiAiICsgZXZlbnQuY2xpZW50WSArICI7
IHN0aXJuZzogIiArIHJhbmdlLnRvU3RyaW5nKCkgKyAiOyAgIG9mZnNldCA9ICIgKyBvZmZzZXQ7
Cn0KZG9jdW1lbnQub25jbGljayA9IHNob3dFbGVtVW5kZXJuZWF0aFdpdGhvdXRTY3JvbGw7Cjwv
U0NSSVBUPgo8L0hFQUQ+CjxCT0RZPgo8SDEgSUQ9ImhlYWRlciI+ZG9jdW1lbnQuY2FyZXRSYW5n
ZUZyb21Qb2ludCgpIE1ldGhvZDwvSDE+CjxIUj4KPFAgc3R5bGU9IndoaXRlLXNwYWNlOm5vd3Jh
cCI+VGhpcyBpcyB0byB0ZXN0IGRvY3VtZW50LmNhcmV0UmFuZ2VGcm9tUG9pbnQoKSBpbiBhIHNj
cm9sbGVkIHBhZ2UuIEkgdGhpbmsgdGhlIG9mZnNldCBpbiB0aGUgcmV0dXJuZWQgcmFuZ2Ugc2hv
dWxkIGJlIHRoZSBjaGFyYWN0ZXIvY2FyZXQgb2Zmc2V0IGluIHRoZSBlbGVtZW50LCBub3QgcmVs
YXRpdmUgdG8gdGhlIHZpZXdwb2ludC4gCjxQPlBsZWFzZSByZXNpemUgdGhlIHdpbmRvdyB0byBi
ZSA8c3BhbiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjpyZWQiPnZlcnkgbmFycm93PC9zcGFuPiBo
b3Jpem9udGFsbHkuIFRoZW4sIHNjcm9sbCB0aGUgcGFnZSB0byB0aGUgdmVyeSByaWdodC4gQ2xp
Y2sgYW55d2hlcmUgaW4gdGhlIGxhc3Qgd29yZCAidmlld3BvaW50IiBpbiBhYm92ZSBzZW50ZW5j
ZS4gWW91IHdpbGwgc2VlICJyYW5nZSBpcyBudWxsIiBhbGVydC4gIFdoaWNoIGlzIGNhdXNlZCBi
eSB0aGUgZm9sbG93aW5nIGNoZWNrIGluIERvY3VtZW50LmNhcmV0UmFuZ2VGcm9tUG9pbnQoKQo8
cHJlPgogICAgaWYgKCFmcmFtZVZpZXctPmJvdW5kc1JlY3QoKS5jb250YWlucyhwb2ludCkpCiAg
ICAgICAgcmV0dXJuIDA7CjwvcHJlPgo8QlI+PEJSPlJlc3VsdDogPFNQQU4gSUQ9Im15U3BhbiIg
U1RZTEU9ImZvbnQtd2VpZ2h0OmJvbGQiPjwvU1BBTj4iLjwvUD4KPC9CT0RZPgo8L0hUTUw+Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>